WIP to find crashing problem generating eturtle.exe
[hf86v099.git] / whatsnew.eng
1 ASM sources are greatly polished. More explanations are added as\r
2 comments. Split environmental variable 'systemID' into 'CPU' and\r
3 'Model'. Most hForth source files can be used with other CPUs\r
4 without modification by using conditional compilation (see\r
5 COREEXT.F and DOUBLE.F for example). Thanks Neal Crook for comments\r
6 and many valuable suggestions. Now all ASM sources can be assembled\r
7 by TASM 1.0 and MASM 6.11. Many typographical errors are corrected.\r
8 \r
9 Control structure words are all revised. Control-flow stack is\r
10 implemented on data stack. Control-flow stack item is represented by\r
11 two data stack items as below:\r
12 \r
13 Control-flow stack item     Representation (parameter and type)\r
14 -----------------------    -------------------------------------\r
15      dest                    control-flow destination      0\r
16      orig                    control-flow origin           1\r
17      of-sys                  OF origin                     2\r
18      case-sys                x (any value)                 3\r
19      do-sys                  ?DO origin           DO destination\r
20      colon-sys               xt of current definition     -1\r
21 \r
22 hForth can detect a nonsense clause such as "BEGIN IF AGAIN THEN"\r
23 easily. CS-ROLL and CS-PICK can be applied to the list of dests and\r
24 origs only. This can be verified by checking whether the ORed type\r
25 is 1. I can not think of a control-structure-mismatch that current\r
26 hForth cannot catch.\r
27 \r
28 Some bugs are fixed including RESTORE-INPUT.\r
29 \r
30 \r
31 Changes from 0.9.9\r
32 \r
33 1997. 6. 30.\r
34       Add TRHOW after FLUSH-FILE in SAVE-BUFFERS and BYE in MSDOS.F.\r
35 \r
36 1997. 6. 23.\r
37       Fix pack" in HF86ROM.ASM and HF86RAM.ASM.\r
38       Fix SIO.F according to new EXE program structure.\r
39 \r
40 Changes from 0.9.7\r
41 \r
42 1997. 5. 26.\r
43       MSDOS.F: Fix RESTORE-INPUT to restore BLK correctly.\r
44 1997. 2. 28.\r
45       Facelift to be used with other CPUs.\r
46 1997. 2. 19.\r
47       Split environmental variable systemID into CPU and Model.\r
48 1997. 2. 6.\r
49       Add Neal Crook's microdebugger and comments on assembly definitions.\r
50 1997. 1. 25.\r
51       Add $THROWMSG macro and revise accordingly.\r
52 1997. 1. 18.\r
53       Remove 'NullString' from assembly source.\r
54 1996. 12. 18.\r
55       Revise 'head,'.\r
56 1996. 12. 14.\r
57       DOSEXEC.F: Revise (DOSEXEC) in MSDOS.F.\r
58 1996. 12. 6.\r
59       OPTIONAL.F: Fix 'compiles>' for colon-sys.\r
60 1996. 11. 29.\r
61       OPTIONAL.F: Remove PICK which was added in assembly source.\r
62       OPTIONAL.F: Revise CASE, ENDCASE, OF, ENDOF, RETRY for\r
63                 control-flow stack.\r
64       OPTIONAL.F: Revise '.xt' due to the removal of 'do."' and change\r
65                 of 'doS"'.\r
66 1996. 12. 3.\r
67       Revise PICK to catch stack underflow.\r
68 1996. 11. 29.\r
69       Implement control-flow stack on data stack. Control-flow stack\r
70               item consists of two data stack items, one for value\r
71               and one for the type of control-flow stack item.\r
72       control-flow stack item   data stack representation\r
73               dest            control-flow_destination        0\r
74               orig            control-flow_origin             1\r
75               of-sys          OF_origin                       2\r
76               case-sys        x (any value)                   3\r
77               do-sys          ?DO_origin         DO_destination\r
78               colon-sys       xt_of_current_definition       -1\r
79       Add PICK.\r
80       'bal' is now the depth of control-flow stack.\r
81       Drop 'lastXT'.\r
82       Introduce 'notNONAME?'\r
83       Add 'bal+' and 'bal-'. Drop  'orig+', 'orig-', 'dest+', 'dest-',\r
84               'dosys+', and 'dosys-'.\r
85       Revise ':NONAME', ':', ';', 'linkLast', 'head,', RECURSE, 'DOES>',\r
86               CONSTANT, CREATE, VALUE, VARIABLE, and QUIT.\r
87               This change makes RECURSE work properly in ':NONAME ... ;'\r
88               and '... DOES> ... ;'.\r
89       Revise 'rake', AGAIN, AHEAD, IF, THEN, +LOOP, BEGIN, DO, ELSE, LOOP,\r
90               UNTIL, and WHILE.\r
91       Revise SLITERAL, '."', 'doS"' to allow a string larger than\r
92               max char size.\r
93       Revise $INSTR and remove 'do."'.\r
94       Revise 'pack"'.\r
95       ASM8086.F: Revise ';CODE' for control-flow stack.\r
96       COREEXT.F: Provide CODE definition of ROLL.\r
97       COREEXT.F: Revise '?DO' for control-flow stack.\r
98       COREEXT.F: Revise 'C"' to catch exception -24 'parsed string overflow'.\r
99 1996. 8. 17.\r
100       HF86EXE.ASM: Revise MAX-UD.\r
101 1996. 8. 10.\r
102       HF86EXE.ASM: Replace 'COMPILE,' with 'code,' in the definition of\r
103                 'compileCREATE'.\r
104 1996. 7. 19.\r
105       DOUBLE.F: Fix 'M+'. Thanks M. Edward Borasky.\r
106 1996. 6. 19.\r
107       Fix '/STRING'.\r
108 1996. 4. 15.\r
109       ASM8086.F: ';CODE' is fixed. END-CODE is changed.\r
110 1996. 3. 1.\r
111       MSDOS.F: Shift value of 'ior' of FILE words to system THROW code area,\r
112                 i.e. -4096..-256 .\r
113       MSDOS.F: Remove subtle bug in 'SAVE-SYSTEM-AS'.\r
114 \r
115 Changes from 0.9.6\r
116 \r
117 1996. 2. 10.\r
118       Revise FM/MOD and SM/REM to catch result-out-of-range error in\r
119               '80000. 2 FM/MOD'.\r
120 1996. 1. 19.\r
121       Rename 'x,' to 'code,'; 'x@' to 'code@'; 'x!' to 'code!';\r
122               'xb@' to 'codeB@' and 'xb!' to 'codeB!'.\r
123 1996. 1. 7\r
124       Rename non-Standard 'parse-word' to PARSE-WORD.\r
125 1995. 12. 2\r
126       Drop '?doLIST' and revise 'optiCOMPILE,'.\r
127 1995. 11. 28\r
128       Drop 'LIT,:' all together.\r
129       Return CELLS to non-IMMEDIATE definition.\r
130 \r
131 Changes from 0.9.5\r
132 \r
133 1995. 11. 27.\r
134     In ASM8086.F\r
135     ';CODE' is redefined following the change of 'DOES>' and 'doCREATE'.\r
136 1995. 11. 25.\r
137     Add RETRY described by Dr. Astle in Forth Dimensions 17(4), 19-21 (1995).\r
138 1995. 11. 25.\r
139     Make 'lastXT' VALUE word.\r
140 1995. 11. 24.\r
141     For RAM model only\r
142         Replace 'xhere' with HERE.\r
143         Revise doVALUE, VALUE, TO, and all $VALUE macros.\r
144 1995. 11. 23.\r
145     Revise doCREATE, CREATE, pipe, DOES>, and >BODY.\r
146     'pipe' is no longer processor-dependent.\r
147 1995. 11. 17.\r
148     Move ERASE to ASM8086.F.\r