Solo Forth development history in 2016-10

Description of the page content

Solo Forth development history in 2016-10.



Update the generic include files.


Add first-udg and udg-row[.

Fix load-app to be compatible with refill.


Update the README with DOS support details.

Add exec-bench. This bench compares the execution time of executing two pieces of code depending on a flag, using three methods:

Improve the output of exec-bench.


Rename xstack to allocate-xstack; add allot-xstack.

Add benchmarks for fetching variables.


Add fetch-bench.

Make (pixel-addr) deferred; add set-pixel-bench.

Improve pixels; add pixels-bench.

Improve doc of attr and related words.

Add bitmap>attr-addr and pixel-attr-addr.


Add store-bench.

Improve and fix some library comments and doc.


Add unfinished 128K sounds of explosions.

Update and fix some comments.

Update README.


Split benchmarks library disk into three disks. This way they fit the 636-KiB TR-DOS disks.

Release version 0.10.0.

Prepare development of next version.

Update Vim syntax file.


Remove the old unused code of the old search order.

Make Z80 registers and flags uppercase in kernel's comments.

Fix description of the header structure.

Delete disk images and temporary files.

Fix requiring gcd, % and u%.

Add u>ud.

Add extra-memory and related words. These new words manage a virtual 64-KiB continuous space, built from 4 memory banks. In order to use this method to expand the 16 KiB available to the dictionary headers, the code has to be integrated into the kernel, and probably rewritten in Z80.


Move extra-memory and a>e to the kernel. First step to make find-name-from work with extra memory.


Update the Fuse boot files.

Add the base code of the extra memory system. The extra memory system is not finished yet. It's deactivated with conditional compilation in the kernel.

Add word-length-mask.


Fix bugs in the extra memory system. Not finished yet.

Fix \, which used span instead of #tib. This bug has been invisible for a long time, because \ is not used in the command line.

Fix extra memory version of name>string, add ecount.

Add !e, c!e to the kernel; adapt ,np.

Add eplace, adapt header,. Now the word names are properly stored into extra memory.

Improve np0, header,; add euppers; adapt alias!.

Rewrite @e and !e in Z80.

Fix some library requirements. Fix block title of the calculator module: it caused >= and other calculator operators be found by need instead of the integer ones, because the calculator module is before the integer operators in the library disk.

This problem affected the "tt" sample game, which also lacked need randomize.

Rewrite c!bank, !bank, @bank and c@bank in Z80.

Rewrite c!bank, !bank, @bank and c@bank in Z80. Also, fix version number, whose minor number was increased by mistake, instead of the prerelese number, in the last commits.