Supplementary note of 17 June 2010
There have been various changes as development has proceeded.
Many of the posts that follow are now just a record of what happened at the time.
If arriving here for the first time, please fast-forward to posts from the end of May 2010 and later.
http://forum.high-logic.com/viewtopic.php?p=13230#p13230
The following post contains a link to download the QPIOC009.TTF file, which file contains the font being used for experiments as at 17 June 2010.
http://forum.high-logic.com/viewtopic.php?p=13288#p13288
William Overington
17 June 2010
The original post follows the next line.
Some readers might like to have a look at a font which I am producing.
It is derived from a copy of my Poetry font.
The font has 48 glyphs in the Private Use Area which represent the programming items for an experimental computing system.
I have completed the artwork for 29 of the glyphs. The following is a link to the most recently completed development stage font.
http://www.users.globalnet.co.uk/~ngo/PPROC005.TTF
Also, there is a typecase_ pdf.
http://www.users.globalnet.co.uk/~ngo/typecase_processor_005_test.pdf
Here is some information about the programming model.
====
Programming model.
Registers ai, hi, p, q, x, y, j, r, g, b.
Memory array mi[1..1023].
The register q is of type Boolean.
All of the other registers are of type integer.
Each item of the memory array is of type integer.
Use text for characters as follows.
U+EC11 if{1}
U+EC21 then{1}
U+EC31 elsif{1}
U+EC41 else{1}
U+EC51 endif{1};
U+EC12 if{2}
U+EC22 then{2}
U+EC32 elsif{2}
U+EC42 else{2}
U+EC52 endif{2};
U+EC70 start;
U+EC7E halt;
U+EC7F finish;
U+ECA1 while{1}
U+ECB1 do(1}
U+ECC1 endwhile{1};
U+ECA2 while{2}
U+ECB2 do{2}
U+ECC2 endwhile{2};
U+ED10 ai:=0;
U+ED11 ai:=ai+hi;
U+ED12 ai:=ai-hi;
U+ED13 ai:=ai*hi;
U+ED14 ai:=ai/hi;
U+ED1A hi:=0;
U+ED1B hi:=10*hi+p;
U+ED1C j:=hi;
U+ED1E mi[j]:=ai;
U+ED1F hi:=mi[j];
U+ED31 q:=ai>0;
U+ED35 q:=ai<0;
U+ED3F q:=not q;
U+ED80 p:=0;
U+ED81 p:=1;
U+ED82 p:=2;
U+ED83 p:=3;
U+ED84 p:=4;
U+ED85 p:=5;
U+ED86 p:=6;
U+ED87 p:=7;
U+ED88 p:=8;
U+ED89 p:=9;
U+EF71 x:=ai;
U+EF72 y:=ai;
U+EF73 r:=ai;
U+EF74 g:=ai;
U+EF75 b:=ai;
U+EF77 putpixel(x,y,r,g,b);
U+EC.. is for control structures of the program.
U+ED.. is for operations upon data.
U+EE.. is for events.
U+EF.. is for functions and graphics.
====
The processor is intended to be used for producing graphics and diagrams. The idea is that the software could be encoded as Unicode characters in a text file. The software would run in a “sandbox” situation. The arrayized if and while statements mean that the program does not need to be compiled, it could run interpretively as each control word would “know” of which level of nesting it is a part.
The system is designed so that if experiments are successful then the system could hopefully be expanded in a later version, adding repeat{1} until{1} endrepeat{1}, using {3}, {4} and so on for greater levels of nesting of control structures, using other “second letter” choices in identifier names for floating point variables, complex numbers, quaternions, characters and strings and adding events, functions and function calling.
William Overington
2 September 2008