-
Notifications
You must be signed in to change notification settings - Fork 0
/
changes.txt
309 lines (233 loc) · 10.1 KB
/
changes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
Bekannte Fehler:
================
Žnderungen:
===========
12.7.90
- Laderfunktionen EMIT, KEY und KEY? auf BIOS umgestellt
- Laderfunktionen mssen Register d0-d7/a0-a5 retten.
- EXIT ge„ndert, funktionierte nicht
22.7.90
- Lader bergibt zus„tzlich Zeiger auf Tabelle mit den
Startbl”cken der einzelnen Ger„te fr R/W. Auf diese Tabelle wird
von F68K mit ROOTTABLE zugegriffen.
- Wenn WARNING eingeschaltet wird, wird nicht mehr mit FIND,
sondern mit VOCSEARCH nur noch das CURRENT-Vokabular durchsucht.
- ?LEAVE aus dem Kernel entfernt
- Lader stellt Floatstack nicht mehr zur Verfgung.
6.8.90
- DEFER im Kern ge„ndert. Jetzt auch ROMf„hig.
- BLOCK defered, mit (BLOCK vorbesetzt
- PAUSE eingefhrt (defered), mit NOOP vorbesetzt
3.9.90
- LOAD defered, mit (LOAD vorbesetzt
- (LOAD fhrt BLOCK nicht mehr aus, sondern setzt nur BLK
- SOURCE fhrt nicht mehr BLOCK, sondern (BLOCK aus
28.9.90
- Aufrufe der Laderfunktionen sichern Register selbst. Laderfunktionen
mssen Stack nicht mehr selbst korrigieren.
16.10.90
- USER-Variable CAPS eingefhrt, die angibt, ob in NAME CAPITALIZE
ausgefhrt werden soll.
- Fehler in BLOCK beseitigt. Wenn der Block nicht gelesen werden kann,
ist der Stack sauber.
- Wie LOAD und BLOCK ist jetzt auch BUFFER deferred und mit
(BUFFER vorbesetzt.
- Empfehlung aus Berlin, USER-Variablen ber off(DT,us.l) zu adressieren
wurde geprft. Geht nicht, da off nur 8 Bit breit sein darf.
17.10.90
- Fehlerhaftes 'C,' korrigiert. Hatte zuvor den DP um 2 erh”ht.
27.1.91
- Kernel und Lader ge„ndert. I/O-Funktionen bergeben Parameter jetzt
auf dem Returnstack, um mit C besser konform zu sein.
14.2.91
- Fehlerhaftes FLIT korrigiert
19.2.91
- VALUE, LOCAL und TO in den Kern bernommen. (ANSI!)
19.5.91
- BEXTEND und BREDUCE korrigiert!
19.5.91
- OSEXPECT korrigiert. Jetzt kein Backspace ber dn linken Rand mehr m”glich.
Abschliežendes NULL-Byte ist verschwunden. Wenn EXPECT direkt mit <Return>
beendet wird, bleibt der Puffer unberhrt!
19.5.91
- R> und >R sind nicht mehr restrict.
3.6.91
- Vergeleiche(0=,<, etc.) beschleunigt
4.6.91
- Kontrollstrukturen den g„ngigen Gepflogenheiten angepažt:
BEGIN ... AGAIN
BEGIN ... WHILE ... REPEAT
BEGIN ... WHILE ... WHILE ... (WHILE) ... REPEAT THEN (THEN)
BEGIN ... WHILE ... AGAIN THEN
BEGIN ... UNTIL
BEGIN ... WHILE ... UNTIL THEN (! von dpANS nicht vorgesehen !)
BEGIN ... WHILE ... WHILE ... (WHILE) ... UNTIL THEN THEN (THEN)
4.6.91
- C-Lader wegen fehlerhafter oder fehlender Bibliotheken jetzt in Turbo-C.
Sozobon ist damit Mega-OUT.
12.6.91
- WICHTIGE LADER-KERNEL-ŽNDERUNG:
Der Lader bergibt nicht mehr alle Parameter einzeln, sondern fažt diese
in einem Parameterfeld zusammen, das F68K dann bergeben wird.
In diesem Parameterfeld ist Platz fr einen kompletten Registersatz,
der von F68K bei deer Initialisierung dort abgelegt wird. Damit hat
der Lader vollst„ndigen Zugriff auf seine eigene Laufzeitumgebung, wenn
er beim I/O aufgerufen wird.
12.6.91
- READSYS un WRITESYS werden jetzt auch wie schon KEY, EMIT, etc. nicht
mehr direkt, sondern in den Tabellen READSYSES und WRITESYSES bergeben.
12.6.91
- Die Adressen in den Tabellen KEYS, KEY?S, EMITS, R/WS, READSYSES und
WRITESYSES werden bei der Initialisierung nicht mehr in relative
F68K-Adressen umgesetzt, da sie ohnehin nicht direkt via EXECUTE ausgefhrt
werden drfen, sondern immer etwas Interfacing durch KEY, KEY?, EMIT, R/W,
READSYS und WRITESYS brauchen! Also:
(KEY) @ EXECUTE
ist verboten!!!!
12.6.91
- Aufgrund der obigen Žnderung wurden (KEY) etc. in ^KEY etc. umbenannt.
12.6.91
- Es wird vom Assembler kein Standard-GEMDOS-Header mehr erzeugt.
Stattdessen, erzeugt der Assembler den dokumentierten Header selbst. In den
ersten zwei Byte, in der alten Doku als 'jump' bezeichnet, steht aber jetzt
'JP' (was das blož heižen soll?), was vom Lader als Magic-Number geprft
werden kann. SAVE wurde dementsprechend bereits ge„ndert.
12.6.91
- VER eingefhrt. VER liefert das datum der Kernelversion im amerikanischen
Datumsformat Monat-Tag-Jahr in BCD-Darstellung. Wenn also der Kern z.B. vom
12.6.91 ist erh„lt man:
HEX VER . --> 61291
13.6.91
- Lader kommt nun auch mit Diskettenwechseln im Laufwerk A: klar. Vorher
aber CHANGEMEDIUM oder CM nicht vergessen!!
14.6.91
- VER noch einmal ge„ndert. Es liefert jetzt eine BCD-Zahl, die das Datum
in der Reihenfolge Jahr-Monat-Tag enth„lt. Damit kann man mit > und < die
Versionsdaten vergleichen (oder?).
14.6.91: 19910614
14.6.91
- USE des FIFI durch ein viiiel einfacheres ersetzt. es existiert nun ein
Stream USESTREAM, der von dem Blockstream, der durch USE ausgew„hlt wird,
belegt wird. USE ist damit auch kein definierendes Wort mehr.
20.6.91
- INTERPRET umgestellt. Es fhrt jetzt nach 'NAME NULLSTR? IF EXIT THEN'
das DEFER-Wort PARSER in seiner Schleife aus. PARSER kann mit
INTERPRETER oder COMPILER besetzt sein. '[' und ']' schalten den
PARSER-Vektor um:
: [ 0 STATE ! ['] INTERPRETER IS PARSER ;
: ] -1 STATE ! ['] COMPILER IS PARSER ;
26.6.91
- LOCALs im Kern allozieren jetzt den Platz fr den Zeiger auf die Daten
im Datensegment. Dadurch entsteht zwar eine Indirektion beim Zugriff
mehr, dafr ist das Codesegment aber wieder ROM-f„hig
- Fehler in DIGIT? beseitigt. @@@@ ist jetzt nicht mehr &9999.
31.7.91
- in CLEAR-BUFFER L”schen der Variablen LASTBLK hinzugefgt, die die
Nummer des zuletzt benutzten Blocks enth„lt um (BLOCK z.B. fr
LOAD etwas zu beschleunigen.
10.8.91
- DODEFER, die DEFER Laufzeitroutine, erneut ge„ndert, da sie nicht
funktionierte. Damit verbunden wurde auch ein 'R>->R'-P„„rchen
aus AFTER_LOAD: in RAW.SCR entfernt.
- Wirkung von LASTBUF und LASTBLK in (BLOCK ausgeschaltet, da sie zu
Inkonsistenzen fhrte.
- AGAIN sichtbar gemacht. Der Header hatte gefehlt.
- UNLOOP eingefhrt:
... DO ... IF UNLOOP EXIT THEN ... LOOP ...
11.8.91
- CHAR und [CHAR] in den Kernel bernommen. Alle Quellen
angepasst. ASCII taucht nicht mehr auf.
- CELLS, CELL+, CHARS, CHAR+ in den Kernel aufgenommen.
Einige '4+' in CELL+ gewandelt.
18.8.91
- DEVICE1.SCR verkleinert und in DEV.SCR umbenannt, damit es besser
auf eine Standarddiskette passt.
- (KEY), (EMIT), (KEY?), (R/W), (READSYS) und (WRITESYS) wieder
eingefhrt, um Vektorisierund aud High Level zu erm”glichen.
Die Vektoren sind mit LOADERKEY, LOADEREMIT ... usw. vorbesetzt.
Diese wiederrum werten die Vektoren ^KEY, ^EMIT ... usw. aus.
In diesen Uservariablen k”nnen die Funktionsadressen aus den
Tabellen KEYS, EMITS ... usw. stehen. Damit hat man eine
zweistufige Vektorisierung.
- kleine Sch”nheitkorrekturen am Lader.
21.8.91
- >R und R> sind aufgrund der neuen Interpreterstruktur wieder
restrict.
??.??.??
- Fehler im Blockstreamsystem beseitigt. Filenamen werden vor ihrer
Bearbeitung nach HERE kopiert, da kompilierte Filenamen zu
ROO-Code (Run Once Only) gefhrt haben.
19.9.91
- PUSH, SAVEAREA und EVALUATE dem Kernel zugefgt.
21.9.91
- Fehler in BUSE korrigiert. Bei 'nicht gefunden' wurde ein Wert
zu wenig abger„umt: NIP ---> NIP NIP
- Sch”nheitskorrekturen 4 <--> CELL
- PUSH aus Highlevel-Quellen auskommentiert.
- kleine Fehler in ANS-LOCALS und ANS-LOCALS_(TO) korrigiert, die
durch šbernahme von LOCAL in den Kernel entstanden sind.
- Optimierungen im Kernel:
bsr --> bsr.s
jsr --> bsr(.s)
- FENCE keine USER-Variable mehr.
- Fehler in PWD korrigiert. Es blieb ein Wert (directory @) auf
dem Stack liegen.
23.9.91
- Fehler in DIR beseitigt. Wenn Zeilverzeichnis nicht gefunden wurde,
blieb ein Wert auf dem Stack liegen.
- SAVE korrigiert. Flags von WRITESYS wurden nicht entfernt.
- SAVE in SAVE-SYSTEM umbenannt.
- BRANCH und ?BRANCH zwecks gesteigerter Kompatibilit„t zu anderen
Systemen (bigForth, ForthMacs) jetzt IMMEDIATE. Dadurch Žnderungen in
CASE und UCS (POSTPONE).
4.10.91
- Disassembler von Reinhard Scharnagl provisorisch aufgenommen
- ANSI-Worte BL, 2DROP, 2DUP, 2OVER und 2SWAP in den Kernel aufgenommen
14.11.91
- Beim Aufruf der Laderfunktionen wird als unterster Wert auf dem
(Return-)Stack die absolute Adresse des FORTHPARAS-Struktur mit an
den Lader bergeben. Damit sollte jeder Lader in der Lage sein, seine
eigene laufzeitumgebung wiederherzustellen
- FIND ist DEFERed und mit (FIND vorbesetzt
19.11.91
- VOC' und [VOC'] eingefhrt, um Vokabularadressen festzustellen
(z.B. fr VOCSEARCH)
- Blockstream SYSTEM/TERMINAL angelegt, in dem einige einfache
Zeichenfunktionen definiert sind. Darunter sind die Variablen ROWS
und COLUMNS, die die Terminalausmasse enthalten. Ausgebende Funktionen
sollten sich daran orientieren.
- .LAST repariert
31.1.92
- F-EDIT Editor von Markus Redeker fest ins System aufgenommen.
- neue Anpassung STANDARD-EDIT fr F-EDIT erstellt
- F-EDIT ist in /SYSTEM/F-EDIT und wird von /SYSTEM/LOADME
in der Form STANDARD-EDIT mit eingebunden
- STAMP in F-EDIT ge„ndert. Die ID wird nun mit einem Zeichen
Abstand vom rechten Rand in den Block eingefgt. Daduch bleibt
eine dort m”gliche ')' als Kommentarzeilenende erhalten.
- ATARI-EDIT korrigiert 2069 statt 2096 (oder umgekehrt?)
- TOS-Ordner OLDSRC angelegt, in dem alte Sourcen weiterhin
mit ausgeliefert werden.
- alten Editor FULLSCREEN-EDITOR in die Datei OLDSRC/EDITOR.EXP
exportiert und /SYSTEM/FULLSCREEN-EDITOR gel”scht.
01.04.92
- UNLOOP korrigiert. Bernd Paysan hat entdeckt, daž die
Register D6/D7 nicht ordnungsgem„ž restauriert wurden.
18.04.92
- CASE-Konstruktion, wie sei beim LMI-System vorkommt, ins
/SYSTEM-Verzeichnis bernommen. Wird standardm„žig mitgeladen.
Vorsicht mit dem alten CASE in /UTILITY/CASE!!
- Disassembler aus dem /SYSTEM-Verzeichnis entfernt und
ind /UTILITY-Verzeichnis verlegt. Ein Disassembler ist
nicht umbedingt Systembestandteil
- 'ž' aus dem Disassembler entfernt und durch '&' ersetzt.
Manche Terminals machen mit dem 'ž' Schwierigkeiten
20.4.92
- .R aufgep„ppelt. Stammte noch aus FFORTH-Zeiten und funktionierte
nicht so richtig (vorzeichenlos, fhrende Nullen)
21.4.92
- CASE in /SYSTEM/CASE 'ansikonformisiert'. Der Vergleichsparameter
wird auf dem Datenstack, nicht auf dem Returnstack gefhrt.
- in Floatanbindung /UTILITY/FLOAT/FLOAT-BINDING die neue Version
des CASE eingesetzt. Den alten CASE-Quelltext /UTILITY/CASE nach
oldsrc\case.exp exportiert und im FIFI gel”scht.