-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathHISTORY.txt
575 lines (413 loc) · 23.4 KB
/
HISTORY.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
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
\ build 20200514
First working DOSCALL that uses NEXTZXOS primitives.
\ build 20200529
Tentative project branch to use IX as return-stack-pointer (RP).
This test shows that there is no speed nor room improvement in using IX instead of a fixed memory location.
More, I found IX useful as a spare couple of registers, (but see below what IX is useful for now)
\ build 20200608
SP register must be below C000 in INKEY and SELECT too.
Removed floating-point primitives to save room, these will be reintroduced later as libraries to be included.
LOAD now can be interrupted using Break key.
\ build 20200619
Changed behaviour of WORD to return the value of HERE. This is a discontinuity from previous versions.
Removed CALL# from core and left only in Screens library (later in NEEDS library)
Replacing DO with ?DO in TYPE and SPACES
Introducing PICK at Scr# 209, planning to put it in the core.
Fixed ?STACK to ignore errors when DP is beyond S0: purpose is to use higher 8K RAM as vocabulary extension.
\ build 20200624
Removed MOVE-SP, MOVE-RP, MOVE-LIMIT from core and moved to Blocks library at Screen # 220-223
Removed 128-RAM bank switch (BANK!) from core in perspective to abandon all references to non-Next version.
Fixed SEE to detect ?DO when on decompiling.
Fixed BLEEP and introduced some BLEEP-CALC and BEEP-PITCH to cope with it.
Experiment on MMU7 and corrections on MOVE-SP, MOVE-RP, MOVE-LIMIT
Experiment on UPPER with the purpose to make this Forth Case-Insensitive (if one need to).
\ build 20200628
Introducing AUTOEXEC for the first time: now at first startup AUTOEXEC is executed first.
Changed "name" to "Next Forth" and removed references to Microdrive.
Improving MMU7 banking study using words >FAR and moved away previous example from screen #290 to #300
Bakup of first 350 screens to 10001 onward, just to be safe. Accessing high number Screens is much slower.
\ build 20200702
Introduced a quick'n'dirty audible click on KEY.
Word BASIC, on returning to Basic, retuns the value currently on top-of-stack. Useful to return ORIGIN and make faster rebuild.
Test on AUTOEXEC in core, run 11 LOAD. Useful at startup, as already seen..
Verified and corrected words MOVE-SP; copied words MOVE-SP, MOVE-RP, MOVE-LIMIT to screen 220-223: useful to free MMU7 last 8K bank (E000-FFFF)
Introduced screen #100 to compile the whole ASSEMBLER (screens 101-162). And Screen #9 too.
\ build 20200705
Finally fixed AUTOEXEC in core, to correctly run 11 LOAD. This is my definitive choice.
Added NIP and TUCK to core, this will save a few bytes in the future.
SP register to be below C000 in ?TERMINAL and KEY too.
Fixed RND in !blocks.bin library and told Marcus Cruz to correct his GitHub's Afera library.
Improving MMU7 banking using words >FAR <FAR. Moved previous example of FAR-HL from screen #290 to #300
Finally fixed the Z80N NEXTREG op-code to use "N," commaer instead of the duplicated "V,"
Experiment on .RESET to force a soft-reset. Maybe this could become a dot-command if there isn't any yet.
\ build 20200714
Introducing case-insensitive vocabulary search (FIND). Wow! this is an achievement.
Two new words CASEON to enable and CASEOFF to disable case-sensitive.
\ build 20200717
Removed a nasty bug: when you typed LIT alone, the system crashed.
Resolved adding a NOOP after EXECUTE in INTERPRET definition.
This shows how easily we can rebuild this system !
\ build 20200721
Fixed v-Forth name in splash screen.
Restored flashing cursor. Improved SEE.
Fixed CASEOFF and CASEON to accept lower-case input.
\ build 20200808
Introducing FAR address and POINTER based on MMU7.
System now starts with a write-only OPEN#13 stream attached to file "c:/tools\vFORTH/output.txt":
text file to collect any output redirected to device #13 via some 13 SELECT followed by some output word.
See Screen#252 to see an example of it.
This release comes in two version:
- forth15a.bin : as usual
- forth15e.bin : with upper 8K RAM freed to experiment with MMU7.
\ build 20200830
Introduction of LAYER 1,2 graphic resolution, this now allows screen size 1024 bytes, twice than previous releases.
KEY cursor must be displayed via software-loop instead of "flash" attribute (which is no more using LAYER 1,2)
Continuing studying POINTER address for heap memory via MMU7 and experimenting with ASSEMBLER vocabulary on MMU7 page.
\ build 20200907
Faster LOAD of external text source file by disabling echoing to video.
Improvement in DOSCALL to allow A register to be passed along.
\ build 20200912
IX register now holds NEXT address: this makes inner-interpreter 2 T-states faster than before...
Many Library Screens had to be checked to be IX-compliant
Introducing RECURSE in core dictionary.
\ build 20200923
Optimization of some definitions that used IX as temporary register.
To interact with Next's hardware there are new definitions: REG@ and REG!
To better interact with higher RAM there are new definitions: MMU7@ and MMU7!
Implemented a heap-based string S" storage system using FAR on MMU7.
Stable version of POINTER.
\ build 20200928
Test "Heap Memory Management" to store counted-string, i.e. strings 255 bytes in length.
In Screens #80-85 there is some definitions: FAR HP@ POINTER HEAP H" S"
I put in this this release a simple pacman style game written in Forth that explores how to use Heap Memory to store data.
This is the first step into Next's Hardware: hopefully next will be sprites.
\ build 20201017
Now the following word are available: M_P3DOS F_SYNC F_OPEN F_CLOSE F_READ F_WRITE F_SEEK that use RST 8 calls for NextZXOS interaction, fast and neat indeed since there is no more need for BANK paging during DOSCALL.
Screens/Blocks system doesn't need OPEN# from Basic anymore, instead Block's file is opened during COLD or WARM and closed during BYE.
Now CREATE is more ISO compliant and a new MARKER definition is now available.
Also, a better compiled strings are now available to create string to hold a filename. Still, an USE or NEEDS definition is lacking, ... la prochaine fois.
ASSEMBLER vocabulary doesn't occupy Dictionary space anymore, instead it uses some HEAP VOCABULARY extending what I am already doing with HEAP STRINGs.
\ build 20201031
Introducing a new Full-Screen Editor available at startup or after AUTOEXEC. See Screens 190-196.
Line-Editor is moved to Screens 90-95
Renamed IN into >IN to be more ANS compliant.
Defined DEFER, at last.
Documentation upgraded and revised.
\ build 20201115
Bugfix: DO ... +LOOP structure with negative step that crosses the 0 boundary behaves in a buggy way. The bug is in (LOOP) definition that does a JP C instead of a JP M.
Changed STRING" into ," Ã la Forth Inc. style.
Re-introduced PICK INVV TRUV, but plan to move them in include directory.
Introducing a new Full Screen Editor that can be loaded from library.
Attached block-system file !Blocks64.bin has become integral part of this Forth system, since many features come along with it.
20: SEE debugger facility
80: String on Heap Memory Management
90: Line Editor
100: Z80 Assembler
190: Full Screen Editor
But, as already stated, I have plans to move them into include directory.
\ build 20201129
Introducing F_GETLINE and first version of INCLUDE definition. Introducing also
SOURCE-ID user variable to keep track of nested calls to INCLUDE definition.
This - and this is a real big leap - allows interpreting any source file.
AUTOEXEC now loads Screen # 11. This frees the first 3 Screen for any other
purpose.
\ build 20210131
Improved F_GETLINE and EMIT to handle 0x0A more friendly.
The (COMPARE) definition is now case sensitive or not based on CASEON and CASEOFF.
A working LOCATE definition is now available in Screens # 70-76
DOSCALL definition is now removed since a better M_P3DOS is now available.
\ build 20210215
Everything is moved in C:/tools/vForth to avoid future collisions with C:/forth.
Again, introducing example game "Chomp" in blocks 600-670. It's a PacMan style.
Once AUTOEXEC completes its LOAD, give 600 LOAD, then GAME.
Cursor keys (or Cursor Joystick maybe)
It's a work-in-progress though.
\ build 20210328
Using Visual Studio Code with some "Next extension", I've ported the whole source
code into a new project that produce the very same output as before.
This opens the way to change the Forth's core in a more effective way.
\ build 20210407
minor fix and docs.
\ build 20210416
Introducing NEEDS definition and the corresponding inc/ including directory.
( Reading source file via OPEN# stream is now deemed obsolete and deprecated )
\ build 20210425
Bugfix on NEEDS and INCLUDE definitions.
Bugfix on PITCH-BEND (Screen# 52) credits: Derek Bolli).
First experiment on TRACE definitions (Screen# 260)
\ build 20210430
Improved NEEDS to cope with invalid "WinDOS Filename Characters".
introducing (MAP) to help substitute such invalid characters.
Substituting every SWAP DROP sequence by equivalent NIP definition.
VALUE, TO, >FAR and <FAR definition removed from core and available via NEEDS
\ build 20210509
Now unsigned multiplication UM* uses native Z80N opcode "mul".
Now HEAP uses pages $20-$27 instead of $40-47. Anyway this is an easy change.
Improved F_GETLINE and F_INCLUDE
Recompilation of the whole system is now possible simply via 10 LOAD
Added LAYER 2 Color-Picker in Screen # 520 onward.
\ build 20210529
Latest brush hits on F_GETLINE and F_INCLUDE.
Color-Picker in Screen # 520 onward now returns the chosen byte.
\ build 20210606
In addition to inc/ now NEEDS searches lib/ too.
inc/ should hold single word definitions.
lib/ should keep large library files to be included with the same semantic.
In this picture, I moved from inc/ to lib/ the following files:
needs.f
edit.f
see.f
locate.f
bsearch.f
heap.f
assembler.f
dummy.f
Introducing a mixed scaling-operator M*/ as described in https://specnext.dev/blog/2021/06/05/programming-the-80s-way-3/
To be more ANS compliant, I renamed some words:
R to R@ (but I left both in dictionary, for now),
MINUS to NEGATE and DMINUS to DNEGATE.
\ build 20210627
Fixed some bugs in NEEDS. Introducing BOUNDS used by TYPE.
Improved VALUE TO and +TO.
First re-introduction of Floatin-Point Option.
Testing for a "standard" POSTPONE...
\ build 20210708
Introducing IM 2 Interrupt: See Screens# 60-69 for an example.
IM2 Vector Table is placed at $6200-6300 and Interrupt Routine will be at $6363 where is room for an unconditional JUMP to the "Forth Interrupt Handler": this is a word that can be defined to be run during an Interrput allowing some background program-execution, paying attention to not screw the system...
\ build 20210719
Introduced INTERRUPT vocabulary to hold IM 2 Interrupt Service Routine (ISR)
ISR tested to move a couple of sprite (Screen # 412 and https://www.youtube.com/watch?v=gRZfHnZ7eDQ )
Fixed character "£" as invalid "NEXTZXOS Filename Character".
Introducing EDITOR vocabulay to collect some EDITOR words.
\ build 20210814
Introducing a quasi-standard Test Suite (https://forth-standard.org/standard/testsuite)
Large-File Editor (LED) - Improving work-in-progress
\ build 20210824
Fix to 20210814 that has some bug.
Working on LED, i inadvertently messed up normal LOAD and NEEDS.
Sorry for the trouble
\ build 20210828
Migrating standard
;S is obsolete, prefer EXIT
S->D is obsolete, prever S>D
but for backward compatibility both ;S and S->D are available via NEEDS
Improved LEAVE: now it really jumps off the DO-LOOP structure, while until now it just set the loop-limit to current index.
Quasi-standard Test Suite (https://forth-standard.org/standard/testsuite) is quite reliable now: try
NEEDS TESTING
INCLUDE test/core-tests.f
\ build 20210916
Floating-Point Option Library (experimental but useful)
NEEDS FLOATING loads the library that provide a simple interface to the
ZX Spectrum "standard ROM" Floating-Pointer routine (RST $28).
\ build 20211026
Release of 1.51 version. From this version vForth is a "direct-thread" instead of an "indirect-thread" Forth system. It brings a overall 25% speed improvement.
Any Low-Level definition saves two bytes, but any non Low-Level definitions needs one additional byte because CFA does not contain an address anymore, instead CFA contains the real machine-code to be executed. For non Low-level definitions CFA is a three byte instruction "CALL aaaa" to the ;CODE part routine that handles that kind of definition.
Some definitions have been speed-improved and space-improved using alternate registers: REG! REG@ FILL +ORIGIN P! P@ 2! DNEGATE D+ CMOVE> CMOVE (COMPARE)
\ build 20211104
Bug-fix of INCLUDE and NEEDS eventually. There was a bug in that when a NEEDS was encountered the interpreter skipped the rest of the line.
\ build 20211119
Introducing LED, a "Large file EDitor", that uses all RAM available to edit very large text files, 85 characters per line. It comes along with a new CAT definitions to inspect directory content.
\ build 20211205
Better standard behavior for DO-LOOP and BEGIN-WHILE-REPEAT.
Some minor improvement.
\ build 20220102
Release of 1.52 version. From this version vForth has a standard VARIABLE behavior.
This should preserve any previous code written using the old behavior, but care must be taken to verify any old syntax.
PDF documentation has reached 100 pages, this is quite an anchivement.
Some minor improvement on M_P3DOS definition.
\ build 20220214
There is almost no change in the core.
This version introduces a GRAPHICS.f library that can be loaded via NEEDS GRAPHICS
and makes available PLOT, DRAW-LINE and CIRCLE for *every* Graphic-Mode available
using LAYERx words.
This GRAPHICS libary is a valuable piece of code that is a good example of
vector-call via DEFER and IS along with the use of DOES> to create very compact
and fast code.
\ build 20220214
Slight modification in illegal filename character map.
Improvement in GRAPHICS libary that now can handle every Graphic-Mode.
\ build 20220306
Improving GRAPHICS
\ build 20220425
Introducing REMOUNT definition: now to copy a file to SD Card you don't need to switch to Basic anymore.
You can even change the BLOCKs file used by changing the content of BLK-FNAME that is a zero-padded counted-string.
Clarified the color definitions (INK/PAPER...)
Now there are two distinct Basic Loader to better handle the two flavors Direct vs Indirect Threaded.
In the documentation, introduction of a simple word categorization to help the navigation across the vocabulary
\ build 20220508
In this build I managed to speed-improve a couple of definitions and at the same time
to reduce the lenght of the total compiled code, saving 16 bytes.
\ build 20220528
Just a little improvement on ?TERMINAL definition.
Introducing example to create "dot" commands using Forth ASSEMBLER dictionary.
\ build 20220626
Improved ms a word that waits a given number of milliseconds.
\ build 20220730
Introducing RND that works as old-standard Spectrum (but faster).
Now KEY doesn't show a flashing cursor anymore, then introducing CURS to do that.
BLANKS is renamed in the standard BLANK
First working implementation of EVALUATE (not yet recursive)
\ build 20220827
Now MOUSE works: There is a nice "color-picker" demo that use it to move around a fancy arrow-cursor.
New AY library to interact with AY-3-8910 programmable sound generator chip.
There are a couple of tester that I want to turn into demo.
I've published a 30" YouTube video that show how it appears https://youtu.be/WCDoWvQhipE
and another 20" video that show interaction between mouse and AY https://youtu.be/4S8Dqyr9P8o
LSHFIT and RSHIFT now use the Z80N's new BSLADE,B and BSRLDE,B op-codes.
At last, I realized : do not needs to be immediate. Here is the correct version.
More documentation improvement.
\ build 20221010
Improved SEE definition: now it correctly handle HEAP data.
\ build 20221116
Better standard on number formatting words <# # SIGN #> and D.R
Begin of POC to turn vForth into a "dot-command".
Introducing ASSEMBLER vocabulary in PDF documentation.
Faster RND (converted in assembler exploiting MUL and ADDHL,A
\ build 20230101
PDF Manual is now over 100 pages.
Minor fixing here and there.
Happy new year !
\ build 20230106
Using new Z80N op-codes to improve definitions 0< U< S>D and USER code part.
This means that every USER variable access is slightly faster.
\ build 20230108
This is the last build for version 1.52.
In preparation of version 1.6, I'm checking backward compatibility of
some machine code definition available via NEEDS
Suddenly discovered that stream OPEN#ed source don't work anymore.
Removing -LOAD for now.
\ VERSION 1.6
\ build 20230116
This version uses registers DE to hold the value of Return Stack Pointer.
This means that registers DE are dedicated to the internal virtual machine
along with registers BC, SP and IX, leaving only A and HL and all alternate
registers for working operations.
I claim that this lead to a further +12% speed improvement to be added to the
previous +16% improvement already gained against the indirect threaded version.
This means that from the indirect threaded version I boosted +30% !
Screen 358 contains a small speed-test workbench that performs as much
some scaling operation in 5.12 sec.
7.516 iterations with Indirect Threaded Version (v1.52)
8.744 iterations with Direct Threaded version (v1.52)
9.773 iterations with latest version (v1.6)
\ VERSION 1.7
\ build 20230321
With this new subversion I ventured to split the dictionary in two parts:
name-space and code-space. In this way I'm using higher 8k-ram pages fitted
at MMU7 to keep the linked list of definitions names, while the actual compiled
code is stored in lower memory as usual.
The total effect is:
1. There is much more memory available for real programs, say two times more.
2. There is no more fear in create long-name definitions.
3. The HEAP facility is still available
\ build 20230416
This build improves GRAPHICS.f : some definitios now are coded in machine code
in particular the ones that handle LAYER 2
\ MIT License
Following Rob Probin's suggestion a MIT License has been added to this software.
\ build 20230619
Improvement on MOUSE central-wheel click recognition.
Experiments on AFX sound file format, how to play 9 channel-voices at unison.
Introducing $ hex-prefix in NUMBER parser, following Rob Probin's suggestion
\ build 20230626
Introducing % binary-prefix in NUMBER parser along with $ hex-prefix.
Documentation explains the dictionary structure splitted into name-space
and code-space.
\ build 20230809
Removing a minor vocabulary bug sprouted on VERSION 1.7.
Introducing DIR definition and simple VIEW <filename>.
Improved a small demo to experiment AFX sound file format.
After moving all strings to HEAP, the binary core now less than 7.5 KBytes.
I'm thinking to port this Forth environment in a "dot" command like .forth
\ build 20231004
First viable DOT-COMMAND version.
Part of library must be revised to cope with a dot-command.
Tested DEMO : chomp-chomp.f and BMP-DEMO.f
Interrupts and Mouse needs more debug/testing.
\ build 20231014
Better working DOT-COMMAND version. Better DIR.
Part of library must be revised to cope with a dot-command.
Tested INTERRUPTS and MOUSE, and lib/mouse-tester.f
and demo/fedora.f
\ build 20231112
First proposal of ZAP definition to create standalone executable of a
vForth game or program. The purpose is to create a Basic program that loads
a few binary memory images that contains the current state of the whole
vForth system that can be resumed later
\ build 20231119
improved stability of dot-command disabling interrupts during I/O
\ build 20231228
introducing new OS oriented definitions: CD, PWD, TOUCH, UNLINK.
Improved DIR definition: now output is sorted and can be paused using [EDIT].
Improved LED: now RAM pages are politely asked from OS.
\ build 20240101
fixed version of EVALUATE that copes with nested calls.
dot-version argument is used as auto-start filename.
introducing support for decimal prefix, such as #128 or #-30.
Fixed some minor issues.
\ build 20240108
introducing -?EXECUTE for simple conditional execution (Rob Probin's suggestion)
introducing "load-a-matic" technique via 20 LOAD on Screens #20-#25.
introducing SCREEN-TO-FILE and SCREEN-FROM-FILE for import/export of
Screens, so you can use Jari Komppa .sync utility to move a single piece around
instead of the whole binary file !Blocks-64.bin (that would take many minutes).
\ build 20240119
introducing F_GETFREE to ask the OS for disk free space.
Then now, AUTOEXEC shows disk free space.
\ build 20240127
RPI0 experimental tool available within vForth system to interact with the
Raspberry Pi Zero accelerator available inside the ZX Spectrum Next.
Once loaded, you can type RPI0 to start a two-way communication stream turning
your machine in a simple terminal connected with the accelerator via UART.
The rationale is as follows.
A main loop continuously polls the keyboard and the RPi0 UART, then any key
pressed is immediately transmitted, any byte read from RPi0 UART is immediately
sent to screen (which is notoriously slow).
[ENTER] key has a peculiar behavior such that once "0x0D" is transmitted to
RPi0, up to 8192 bytes are "fast read" from UART and - only then - slowly sent
to screen from a buffer allowing long output without loss.
Other keys works as follows:
[BREAK] quit to prompt
[TRUE VIDEO] transmits 0x04, EOT or ^D that normally produces a normal exit
from whatever you where in.
[INV VIDEO] transmits 0x05, EOT or ^E
[CAPS LOCK] toggles caps lock and sends nothing.
[EDIT] transmits 0x07, BEL or ^G
[DELETE] transmits 0x08, BS or ^H and it is the normal back-space key.
[LEFT] transmits 0x08, BS or ^H same as [DELETE]
[RIGHT] transmits 0x09, LF or ^I
[DOWN] transmits 0x0A, BS or ^J
[UP] transmits 0x0B, VT or ^K
[EXTENDED] transmits 0x0E, S0 or ^N
[GRAPH] transmits 0x0F, SI or ^O
[<>] transmits 0x18, CAN or ^X that helps to emulate CTRL-X key-press.
[<=] transmits 0x1A, SUB or ^Z that helps to emulate CTRL-Z key-press.
[AT] transmits 0x1B ESC or ^[ that helps to emulate escape sequences
[>=] transmits 0x03, ETX or ^C that helps to emulate CTRL-C key-press.
Remaining ASCII characters ~ | \ [ ] { } are produced via SYMBOL-SHIFT as usual.
\ build 20240229
Improvement on RPI0 introducing ASK definition to make RPi0 perform a script.
Succeeded in recompile v-Forth 1.7 in itself again using src/F17e.f source.
\ build 20240420
Shorter binary, squeezed some 22 bytes. Hadn't much time lately.
\ build 20240616
Documentation for RPi0 definition and a couple of examples of use of new
definitions ASK, SEND and THIS to easily interact with RPi0's Bash Shell
New proposal for ZAP and ZAP" definitions to create standalone executable.
Improved lib/mouse-tester.f and MOUSE documentation.
Improved dot-command compatibility for LAYERS.
\ build 20240809
At last, fixed CLS for all graphics mode available now.
Improved documentation for exception handler (CATCH THROW and ABORT")
Added annotations about back-ported version to Microdrive and DISCiPLE
\ build 20240815
Optimization of a few low-level definitions and reduced the core-code some 20 bytes.
Re-check why LAYERs don't work well in dot-version.
\ build 20240922 Version 1.8.
From this version DOES> is standard and works as direct-vectored so that <BUILDS
is deprecated and CREATE should be used instead.
This way new definitions built using DOES> will run slightly faster because
the indirect pointer decoding is substituted by a direct CALL op-code.
\ build 20250101
Just a little optimization. Introducing PERSISTANCE to save and restore your
last session: useful for dot version