home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
FORTH-83
/
F83V2-80.ARK
/
README.80
< prev
next >
Wrap
Text File
|
1987-02-05
|
18KB
|
406 lines
.POá3
WELCOMEáTOáFORTHáá
Thi≤áá i≤á ßá publiπá domaiεá system¼áá anΣá ma∙á bσá freel∙ ì
distributeΣ anΣ copied¼á a≤ lonτ a≤ thσ author≤ arσ giveεá credi⌠ ì
anΣá n∩ copyrigh⌠ noticσ i≤ placeΣ upoε it«á Iµ wσ catcΦá someonσ ì
sellinτ thi≤ systeφ a≤ thei≥ owε proprietar∙ product¼á witΦ thei≥ ì
copyrigh⌠ noticσ ¼ wσ wil∞ d∩ ou≥ bes⌠ t∩ makσ theφ regre⌠ i⌠ fo≥ ì
thσá res⌠á oµ thei≥ lives«á Yo⌡ havσ beeεá warned!íá
Thi≤á FortΦá use≤ thσ file≤ oµ thσá hos⌠á operatinτá system« ì
AlthougΦá thi≤ reduce≤ performance¼á i⌠ i≤ mucΦ morσ portablσ anΣ ì
morσ convenien⌠ fo≥ novices«á Thσ usσ oµ file≤ wil∞ bσá describeΣ ì
later.
Thi≤á disδ contain≤ somσ Huffmaε encodeΣ files«á The∙á allo≈ ì
thσá systeφá t∩ fi⌠ oε onσ flopp∙ disk«á You≥ firs⌠ tasδá i≤á t∩ ì
expanΣá theφá int∩ thσ sourcσ file≤ fo≥ thσ system«á Thσá Huffmaε ì
file≤ anΣ thei≥ expansion≤ are║
M80.HUF --> META80.BLK
K80.HUF --> KERNEL80.BLK
E80.HUF --> EXTEND80.BLK
C80.HUF --> CPU8080.BLK
UT.HUF --> UTILITY.BLK
HF.HUF --> HUFFMAN.BLK
CK.HUF --> CLOCK.BLK
FX.HUF --> F83-FIXS.TXT
Iε additioε therσ arσ ß fe≈ noε-compresseΣ files«á Thesσ arσ thσ ì
following:
README.80 This file which you are hopefully reading.
RUNME.COM Thσ filσ tha⌠ yo⌡ wil∞ ruε t∩ creatσ thσ BL╦ files.
EXPAND80.BLK The file used to expand the HUF files.
Iεá orde≥á t∩ recove≥ thσ actua∞ sourcσá code¼á simpl∙á typσ ì
RUNM┼á anΣá follo≈á thσá directions«áá Iµá al∞á goe≤á well¼á thσ ì
correspondinτá BL╦ file≤ wil∞ bσ created«á Yo⌡ shoulΣ oµá coursσ ì
makσá backu≡á copie≤ oµ thσ expandeΣ sourcσ codσ a≤á sooεá a≤á i⌠ ì
exists«á Wσ apologizσ fo≥ thσ timσ thσ expansioε takes¼ bu⌠ sucΦ ì
i≤ life«á Yo⌡ arσ no≈ iε ß positioε t∩ modif∙ anΣ regeneratσ thσ ì
system.
T∩á d∩á so¼á yo⌡ shoulΣ pu⌠ META80.BL╦ anΣá KERNEL80.BL╦á oε ì
drivσ B:¼ anΣ pu⌠ F83.COM oε drivσ A:« Makσ surσ therσ i≤ rooφ oε ì
A║á fo≥ thσ ne≈ KERNEL.COM¼á theε loτ ont∩ drivσ B║á anΣ typσ thσ ì
following:
B>A:F8│ META80.BL╦ ¿ ruε F8│ oε META80.BL╦ )
O╦ ¿ load≤ metß compile≥ anΣ generate≤ KERNEL.COM )
BY┼ ¿ returε t∩ CP/═ )
No≈ yo⌡ havσ ß ne≈ KERNEL.COM oε A║ anΣ yo⌡ arσ read∙ t∩ adΣ ìèthσ selecteΣ extension≤ anΣ makσ ß ne≈ F83.COM ¿ yo⌡ diΣ bacδá u≡ ì
thσá olΣ onσ didn'⌠ you?)«á Pu⌠á EXTEND80.BLK¼á CPU8080.BLK¼á anΣ ì
UTILITY.BLK on A: with KERNEL.COM and type the following:
A>KERNEL EXTEND80.BL╦ ¿ ruε KERNEL80 oε EXTEND80.BL╦ )
OK ¿ load≤ al∞ extension≤ anΣ create≤ ne≈ versioε oµ F83.COM )
BY┼ ¿ returε t∩ CP/═ )
Yo⌡á caε havσ ß printou⌠ oµ thesσ instruction≤ b∙ usinτ Contro∞ ╨ ì
anΣ enterinτ TYP┼ README.80
Iεá wha⌠á follow≤á thσ <CR╛ symbo∞ represent≤á thσá carriagσ ì
returεá ke∙á oεá you≥ terminal«á T∩ ente≥á FortΦá froφá thσá CP/═ ì
environment¼á inser⌠á thσá disδ containinτ thσ F83.COM filσá int∩ ì
drivσ ┴ oµ you≥ computer¼á (afte≥ bootinτ i⌠ oµ course⌐ anΣá typσ ì
F83<CR>
áááááFortháwilláreplyáwith:
8080áForthá83áModelá2.0.0
Modifiedá01Apr84
FortΦá i≤ abou⌠ teε year≤ olΣ no≈ (iε 1983⌐ bu⌠ somσ oµá thσ ì
feature≤á oµ F8│ arσ relativel∙ ne≈ t∩ thi≤ Publiπá Domaiεá FortΦ ì
Model.
áá
Thσ VIE╫ commanΣ i≤ onσ oµ thσ best«á VIE╫ <word╛ <CR╛á wil∞ ì
finΣá thσ screeε tha⌠ contain≤ thσ codσ fo≥ thσ <word>¼á provideΣ ì
tha⌠á thσá filσ tha⌠ contain≤ <word╛ i≤ oε thσá currentl∙á loggeΣ ì
disδá drive«á Iµ yo⌡ caε fi⌠ al∞ oµ thσ sourcσ codσ oεá ßá singlσ ì
drive¼á VIE╫ work≤ great¼á anΣ take≤ carσ oµ openinτ thσ filσ anΣ ì
displayinτá thσ screeε fo≥ you«á ┴ recen⌠ additioε t∩ thσ systeφ ì
i≤ thσ worΣ FI╪ whicΦ combine≤ thσ functioε oµ VIE╫ witΦ tha⌠á oµ ì
thσá editor«á T∩ usσ i⌠ typσ FI╪ <word╛ <CR╛ anΣ thσ screeε upoε ì
whicΦ tha⌠ worΣ reside≤ wil∞ bσ madσ availablσ fo≥ editing¼á witΦ ì
thσ editinτ curso≥ placeΣ followinτ thσ firs⌠ occurancσ oµ <word╛ ì
on that screen.
Wσá havσá als∩á trieΣ t∩ makσ extensivσ usσá oµá thσá shado≈ ì
screeεá concept«á Iε thi≤ regard¼á thσ worΣ ┴ move≤ yo⌡ froφá thσ ì
curren⌠á screeεá t∩á it≤ associateΣá shado≈á screen«á Thσá SHADO╫ ì
vocabular∙á contain≤á ßá buncΦá oµá word≤á tha⌠á arσá helpfu∞á iε ì
maintaininτá shado≈ screens«á COP┘ allow≤ yo⌡ t∩ cop∙ no⌠ onl∙á ß ì
screen¼á bu⌠ als∩ it≤ associateΣ shadow«á SHO╫ allow≤ yo⌡ t∩ lis⌠ ì
eacΦá sourcσ screeε acros≤ froφ it≤ shado≈ wheε yo⌡ wan⌠ t∩ prin⌠ ì
them«á Finall∙á CONVE┘ allow≤ yo⌡ t∩ movσ group≤ oµá screen≤á anΣ ì
thei≥á associateΣá shadows«á T∩ seσ wha⌠ word≤ arσ iε thσá SHADO╫ ì
vocabular∙ simpl∙ typσ SHADO╫ WORDS<CR>
Therσá i≤á als∩á ß decompile≥á presen⌠á whicΦá reverse≤á thσ ì
compilinτá process¼á producinτ sourcσ codσ froφ objec⌠ code«á Thσ ì
use≥á interfacσ t∩ i⌠ i≤ thσ worΣ SE┼ <name╛ wherσ <name╛ i≤á thσ ì
namσ oµ ß FortΦ worΣ yo⌡ wisΦ t∩ decompile« Whilσ thσ informatioε ì
SE┼ give≤ yo⌡ i≤ no⌠ a≤ completσ a≤ tha⌠ giveε b∙ VIEW¼á ßá leas⌠ ì
i⌠ i≤ alway≤ available¼ anΣ no⌠ dependen⌠ upoε whethe≥ o≥ no⌠ thσ ìècorrec⌠ filσ i≤ presen⌠ oε thσ currentl∙ loggeΣ disδ drive« Fo≥ ß ì
rea∞á experiencσá tr∙ decompilinτ thσ word≤ STATUS¼á whicΦá i≤á ß ì
DEFERreΣá word¼áá iσá aεá executioεá vector«áá SE┼á call≤á itselµ ì
recursivel∙ iε thi≤ casσ anΣ track≤ dowε thσ definition« Thi≤ caε ì
bσ quitσ handy.
T∩á seσ ß lis⌠ oµ thσ word≤ tha⌠ arσ iε thσ dictionar∙á typσ ì
WORDS« Yo⌡ wil∞ seσ lot≤ oµ words« EacΦ i≤ ß commanΣ anΣ eacΦ caε ì
bσ VIEWed«á WORD╙ wil∞ sto≡ iµ yo⌡ hi⌠ an∙ key«á Yo⌡ caε looδá a⌠ ì
thσ worΣ SHO╫ b∙ typinτ VIE╫ SHOW«á Assuminτ al∞ i≤ wel∞ yo⌡ wil∞ ì
seσá ß FortΦ screeε containinτ thσ definitioε oµ SHO╫ alonτá witΦ ì
somσ othe≥ words« Typσ ┴ ╠ (cr⌐ anΣ yo⌡ wil∞ bσ rewardeΣ witΦ thσ ì
Shado≈ screeε tha⌠ goe≤ witΦ it« ┴ ╠ (cr⌐ wil∞ Alternatσ Lis⌠ yo⌡ ì
bacδ t∩ thσ origina∞ screeε oµ code«á Looδ a⌠ i⌠ anΣ wheε yo⌡ seσ ì
ß worΣ tha⌠ doesn'⌠ seeφ full∙ selµ evident¼ VIE╫ i⌠ anΣ reaΣ thσ ì
shado≈á screen«á Thσá worΣ SHO╫ anΣ it≤ sourcσ codσ tha⌠ wσá havσ ì
beeε viewing¼á i≤ ß commanΣ tha⌠ print≤ ou⌠ threσ sourcσá screen≤ ì
alonτá witΦá threσ shadow≤ fo≥ ß tota∞ oµ si° screen≤á pe≥á page« ì
Therσá arσá tw∩á version≤á oµ SHOW«á Thσ vocabular∙á yo⌡á arσá iε ì
determine≤á ho≈á SHO╫ wil∞ prin⌠ out«á Iµ yo⌡ arσ iεá thσá SHADO╫ ì
vocabulary¼á si° screen≤ oµ codσ anΣ shadow≤ wil∞ print«á Iµá yo⌡ ì
arσ iε FORT╚ ╢ screen≤ oµ codσ wil∞ bσ printed.
No≈ fo≥ somσ morσ commands«á ╬ i≤ nex⌠ screeε anΣ ╠ i≤ list« ì
╬ ╠ list≤ thσ nex⌠ screeε anΣ ┬ ╠ list≤ thσ nex⌠ screeεá back«á ╬ ì
E─ wil∞ edi⌠ thσ nex⌠ screeε etc« No≈ let≤ printou⌠ ß fe≈ screen≤ ì
tha⌠á wil∞á detai∞á somσ oµ thσ edito≥ commands«á Mos⌠á arσá froφ ì
Startinτ FortΦ bu⌠ somσ arσ ne≈ ones.
Typeáthis:áEDITORáVIEWáJOIN<CR>
Yo⌡ arσ lookinτ a⌠ ß screeε oµ editinτ commands«á Let≤ g∩ t∩ ì
thσ shado≈ witΦ thσ ┴ ╠ commanΣ anΣ d∩ somσ exploring«á Whilσá wσ ì
arσá iεá thσá shadow≤ let≤ looδ a⌠ thσ nex⌠ fivσá o≥á si°á shado≈ ì
screen≤á tha⌠á shoulΣ bσ edito≥ words«á Usσ ╬ L«á Iµ yo⌡á havσá ß ì
printe≥á yo⌡á ma∙ prin⌠ thesσ screen≤ no≈ a≤ follows«á Typσá VIE╫ ì
WIP┼á fo≥ example«á Iµ wipσ i≤ thσ firs⌠ oµ ╢ screen≤á oµá edito≥ ì
word≤ remembe≥ thσ screeε number«á Iµ fo≥ instancσ i⌠ wa≤ 8░ theε ì
typσ 8░ 8╡ SHADO╫ SHOW<CR>
No≈á ßá brieµ worΣ abou⌠ ou≥ mas≤á storagσá interface«á Ou≥ ì
FortΦá 8│ systeφ run≤ a≤ ß gues⌠ unde≥ ß hos⌠ system'≤á operatinτ ì
system«á Becausσá oµá this¼á wσ usσ thσ host'≤á filσá systeφá t∩ ì
contaiεá ou≥ screeε files«á Screen≤ arσ implementeΣ a≤ 1╦ block≤ ì
withiεá ß random acces≤ file«á Screen≤ arσ stil∞ treateΣá a≤á 1╢ ì
line≤á oµ 6┤ character≤ wheε editing¼á witΦ n∩ embeddeΣá carriagσ ì
return≤ o≥ linσ feeds«á Iε orde≥ t∩ acces≤ ß screeε filσ i⌠ mus⌠ ì
firs⌠ bσ opened«á Thi≤ caε bσ donσ iε tw∩ ways« Thσ mos⌠ commoε ì
i≤á t∩á specif∙ thσ namσ oµ thσ screeε filσ oε thσ executσá line« ì
Thu≤á iµ yo⌡ wanteΣ t∩ opeε MY.BL╦ yo⌡ coulΣ firσ u≡á FortΦá witΦ ì
the following:
A>F83 MY.BLK<CR>
.paèOncσá yo⌡ arσ iε Forth¼á yo⌡ caε opeε othe≥ file≤ witΦ thσá FortΦ ì
worΣ OPE╬ <name╛ wherσ <name╛ i≤ thσ namσ oµ thσ filσ yo⌡ wisΦ t∩ ì
open«á OPE╬ i≤ ß defininτ word¼á anΣ create≤ ß dictionar∙á entr∙ ì
usinτ thσ filσ name«á Oncσ ß filσ i≤ openeΣ BLOC╦ reference≤ arσ ì
relativσá t∩ thσ beginninτ oµ thσ currentl∙ opeε file«á Afte≥á ß ì
filσá ha≤ beeε openeΣ witΦ OPEN¼á i⌠ ma∙ bσ reopeneΣ b∙ executinτ ì
thσá filσá name«á Thi≤ i≤ ver∙ fast¼á sincσ onl∙á ßá pointe≥á i≤ ì
changeΣá iεá memory«á Onσ note¼á blocδ ░ i≤ stil∞ treateΣá a≤á ß ì
special case, and hence can't be loaded.
FORTH EXAMPLES
Wσá woulΣá likσ t∩ answe≥ somσ oµ thσ mos⌠ frequentl∙á askeΣ ì
question≤á abou⌠ thσ F8│ systeφ a⌠ thi≤ point«á Thσ bes⌠ wa∙á t∩ ì
gaiε familiarit∙ witΦ thσ systeφ i≤ t∩ firσ i⌠ u≡ anΣ tr∙ ou⌠ thσ ì
followinτ examples«á Wσ wil∞ indicatσ thσ tex⌠ tha⌠ yo⌡ typσá iε ì
a≤ uppe≥ casσ text«á Thσ tex⌠ iε parenthese≤ arσ ou≥ comment≤ oε ì
what is going on. The <CR> indicates carriage return, as usual.
F83<CR> ( fire up forth from the CP/M environment )
8080áForthá83áModelá2.0.0 ( Forth's reply and )
Modifiedá01Apr84 ( sign on message )
WORDS<CR>
empty mark hello ....
10 CREATE-FILE SAMPLE.BLK<CR> ( Creates a file called SAMPLE.BLK )
( which is 10 screens big. )
1 LIST<CR>
Scr# 1
0
1
2 ( This will be a blank screen )
...
15
( Now we will edit screen 1 with the default dumb terminal )
( editor which is pre-installed for you. Your first task is )
( to install the cursor addressing routines to make the editor )
( more convenient to use )
1 EDIT<CR>
Enter your id: ..........
( Your id is a 10 character string that will automatically )
( be placed in the upper right hand corner of line 0 of the )
( current screen you are editing if you modify that screen )
( I usually enter the date and my initials as follows: )
10MAR84HHL<CR>
( The screen will be blanked and listed, you should have )
¿ ß resul⌠ simila≥ t∩ ▒ LIS╘ above¼á bu⌠ witΦ thσ linσ )
( number also appearing on the right hand side of the screen )
( Now we will enter the source code necessary to install )
( the cursor routine drivers for an ADM-3A terminal )
.paè0 NEW<CR>
( This allows us to enter multiple lines of text. The text )
( input is terminated with a null line. After each line is )
( entered, it is redisplayed for you )
\ CURSOR ROUTINES FOR AN ADM-3A TERMINAL<CR>
( it is best to use line 0 for a comment )
EDITOR DEFINITIONS<CR>
( This will add the following definitions to the editor )
: ADM-AT<CR>
27 EMIT ASCII = EMIT 32 + EMIT 32 + EMIT ;<CR>
: ADM-DARK<CR>
CONTROL Z EMIT ;<CR>
: ADM-3A<CR>
['] .ALL IS .SCREEN <CR>
['] ADM-AT IS AT <CR>
['] ADM-DARK IS DARK <CR>
['] NOOP IS -LINE <CR>
['] (BLOT) IS BLOT ; <CR>
ADM-3A <CR>
<CR>
DONE<CR>
1 modified
¿ Typinτ tha⌠ las⌠ <CR╛ wil∞ returε yo⌡ t∩ Forth« The DONE )
( command will write the text you entered to the disk, and )
( exit from the editing environment )
( To install the ADM-3A drivers you need now just type: )
1 LOAD<CR>
( Now the editor will work the way it was intended to )
( with the current screen image always displayed at the )
( top of the screen, and the line you are entering at the )
( bottom of the screen. To make sure type: )
1 EDIT<CR>
( The screen should be blanked, and the text you just )
( entered will be displayed at the top of the screen. )
( The current line will be displayed at the bottom of the )
( screen with a ^ pointing to the current editing cursor )
( position. The terminal's cursor will be below the )
( line, and ready for an editing command. )
DONE<CR>
1 Unmodified
( Will again leave the editor and return to Forth )
( Now we will save the system and leave Forth )
SAVE-SYSTEM F.COM<CR>
( That will save the current system as a file called )
( F.COM on the currently logged drive. )
BYE<CR>
( This exits Forth and returns to CP/M. Now if you use )
( F.COM instead of F83.COM you will have your terminal )
( routines installed at boot up time. )
.paè Notσá tha⌠á thσá abovσ routine≤ arσ designeΣ fo≥á aεá ADM-3┴ ì
terminal¼á anΣá wil∞ no⌠ worδ iµ you≥ termina∞ i≤ no⌠ aεá ADM-3A« ì
Yo⌡á wil∞á havσ t∩ consul⌠ you≥ termina∞ manua∞ fo≥á thσá correc⌠ ì
escapσá sequence≤á requireΣ iε orde≥ t∩ positioε thσá curso≥á anΣ ì
implemen⌠ thσ othe≥ specia∞ function≤ required«á ┴ bette≥ wa∙ t∩ ì
d∩á thσá abovσá i≤ t∩ recompilσá thσá entirσá system¼á witΦá you≥ ì
termina∞á routine≤á installeΣ a≤ thσ defaul⌠ insteaΣ oµ thσá DUM┬ ì
termina∞á routine≤á supplieΣá witΦá thσá system«áá Iεá orde≥á t∩ ì
accomplisΦ thi≤ yo⌡ shoulΣ cop∙ thσ screeε yo⌡ jus⌠ entereΣá int∩ ì
thσ UTILITY.BL╦ filσ anΣ recompilσ thσ systeφ a≤ describeΣ above« ì
Thσá followinτá illustrate≤ ho≈ t∩ d∩ this¼á usinτ thσá multifilσ ì
utility words implemented in F83.
F83 UTILITY.BLK<CR>
( files up F83 and opens UTILITY.BLK as the default file. )
¿ Makσ surσ tha⌠ UTILITY.BL╦ i≤ oε thσ currentl∙ loggeΣ )
( drive )
( Now find a blank or irelevant screen at the end of the )
( editors set of screens, on top of which we are going to )
( put the screen we just entered. Suppose it is screen )
( number 32. You should now type: )
FROM SAMPLE.BLK 1 32 COPY<CR>
( This will copy screen 1 from SAMPLE.BLK to screen 32 of )
( the current file. Note that SAMPLE.BLK must also be on )
( the currently logged drive. )
( You can now recompile the high level portion of the )
( by leaving Forth and typeing the following: )
BYE<CR> ( leave Forth )
KERNEL EXTEND80.BLK<CR>
START<CR>
( Of course all of the necessary files should be present )
( on the currently logged drive in order for this to work )
Iµá yo⌡á arσ ne≈ t∩ FortΦ you≥ bes⌠ be⌠ i≤ t∩á purchasσá thσ ì
booδá STARTIN╟á FORT╚á b∙ LE╧ BRODIE«á I⌠ cost≤á abou⌠á seventeeε ì
dollar≤á anΣ i≤ availablσ a⌠ mos⌠ largσ booδ stores«á Oε pagσá 8┤ ì
yo⌡ wil∞ finΣ thσ command≤ fo≥ thσ linσ editor«á Anothe≥ valuablσ ì
referencσ i≤ thσ ne≈ booδ b∙ MARTIN TRACY calleΣ FORTH TOOLS« I⌠ ì
i≤á availablσ froφ MicroMotion¼á 1207╖ Wilshirσ Blvd«á Suitσ 506¼ ì
Wes⌠ Lo≤ Angeles¼á C┴ 90025«á Thσ pricσ fo≥ thσ booδ i≤á $20.00« ì
Thσ F8│ mode∞ follow≤ botΦ thσ booδ anΣ thσ FortΦ 8│ standard«
Thσ FortΦ Interes⌠ Grou≡ ¿ FI╟ ⌐ ha≤ chapter≤ iε man∙ areas« ì
Iεá thσá Saεá Francisc∩ Ba∙ Area¼á meeting≤ arσ helΣ oεá thσá 4tΦ ì
Saturda∙ oµ eacΦ month¼á currentl∙ a⌠ Chabo⌠ Collegσ iεá Hayward¼ ì
CA«á Cal∞á thσá FI╟á ho⌠á linσ iµ yo⌡ wisΦ t∩á doublσá checδá thσ ì
locatioε pΦ 962-865│ o≥ thσ FI╟ Treσ BB╙ (30░ baud⌐ a⌠ 538-3580.
HenryáLaxenááááááááááááááááááááááááááááááááááMikeáPerry
1259áCornelláAvenueáááááááááááááááááááááááááá1125áBancroftáWay
Berkeley,áCAá94706áááááááááááááááááááááááááááBerkeley,áCAá94702
.paè
áááááááááááááSystemáMemoryáMapáá
Thσá memor∙ ma≡ wil∞ var∙ somewha⌠ witΦ CPU¼á anΣá operatinτ ì
system¼á anΣá options«á Fo≥ CP/═ oε thσ 808░ witΦ 64╦ oµá memory¼ ì
witΦ fou≥ blocδ buffer≤ anΣ al∞ utilities¼á i⌠ i≤ a≤á follows║á ¿ ì
al∞ addresse≤ iε hexadecimal)
ááááá0100ááááááJumpátoácoldástart
ááááá0104ááááááJumpátoáwarmástart
ááááá0108á----
áááááááááááááááDictionaryáwitháalláutilitiesáloaded.
ááááá5E75á----áHERE
áááááááááááááááFreeáspace.
áááááD10Eá----áSP0,áTIB
ááááááááááááááá|áTextáInputáBuffer
áááááááááááááááV
áááááááááááááááááááááááááááá^
áááááááááááááááReturnáStacká|
áááááD1D6á----áRP0,á>BUFFERS
áááááááááááááááBlockáBufferáPointeráTable
áááááD200á----áFIRST
áááááááááááááááBlockáBuffers
áááááE200á----áLIMIT
.PAèáááááááááááááStandardáSystemáDocumentationáRequirement
1.ááTheáásystemáádictionaryáspaceáisáCPUáádependantááandáácanáábeáì
determinedábyátypeingáHEREáU.á<CR>
2.áTheáapplicationádictionaryáspaceáisáalsoáCPUádependantáandááisáì
theáádifferenceáábetweenáátheáátopááofáátheáádictionaryááandáátheáì
beginningáofátheáparameterástack.ááTheálocationáofátheááparameteráì
stackáávariesádependingáonátheáamountáofámemoryáavailableátoáátheáì
machine.áááTheáapplicationádictionaryáspaceácanábeádeterminedáábyáì
typingáSP@áHEREá-áU.á<CR>
3.áTheádataástackáspaceáisátheásameáasátheádictionaryáspace.
4.ááTheáreturnástackáspaceáwasáarbitrarilyásetáatá256ábytes.áááItáì
canábeáalteredábyáremeta-compilingátheásystem.
5.ááNoáámassáástorageáblockárangesáareáreservedáábyáátheáásystem,áì
otheráthanátheácontentsáofátheáfilesáthatáareádistributed.
6.áTheáuseráhasáavailableátoáhimáblocksá0áthruá65534.ááNoteááthatáì
blockáá0áámayáánotábeáusedáforáloading.ááBlockáánumberáá65535ááisáì
reservedátoáindicateátheábufferáisámissing.
7.áAnyáasciiáterminaláshouldáworkáwitháthisásystem.ááIfátheááuseráì
hasááaáácursorááaddressableáterminal,átheáeditoráácanáábeááeasilyáì
modifiedátoátakeáadvantageáofátheáterminal'sácharacteristics.
8.áSystemáactionátakenáuponáerroráconditions:
ááááá'á<name>á[']á<name>áánotáfoundáresultsáiná?áerrorámessage
ááááá
ááá */ */MOD / /MOD MOD UM/MOD all division by 0 errors result
in a 0 quotient
: in the case of an error, a ? error message will be printed
DO if a nesting error occurs, the system will crash. (if you
are lucky)
EXECUTE if addr is not a compilation address, the system
will crash. see DO
EXIT if the top of the return stack does not contain a valid
return point, the system will crash. see DO
FORGET <name> if <name> is not found, a ? error message is
printed. If the compilation vocabulary is forgotten, the
system will crash. see DO
FORTH-83 if the error condition occurs, that this is not a
standard system, I don't want to hear about it and I hope
the system not only crashes, but burns.
LOAD if u is zero, the system will crash. see DOè