This Forth system is based on an old fig-Forth derivative for Zilog Z80.
I did some modifications I liked:
- Don't mark end of word name with
+0x80. You can use Unicode in word names if you like. It's (still) case sensitive unlike most of Forth systems. - All words are lowercase. I find it more aesthetically pleasing.
- Compiled by the standard GNU Assembler.
- Python is used as a macro generator. It can generate assembly from word definitions like
word("FIRST:first", ": ufirst @ ;s"), which makes reading and modyfiying source code easier. - With Python used for generating word definitions it's possible to generate graph of dependencies between words.
- Cleanup of hacks for defining vocabularies that were used in the Forth system on which it's based. Now
forthis the last word and its copied to RAM, socurrentaddress can change witin it. - More standard
wordsinstead ofVLIST. Addedvocs. - Restore fig-Forth
createand<builds. - Simpler
sp!andrp!. - Linux terminal CLS.
- Using IX for return stack pointer.
sysdumpandsysloadto dump and load system state.- Added
rdrop,cmove>andrecurse. - 16-bit unsigned bit shifts:
2u*,2u/andcell,cell+,cells.
RAM image has base address 0x8400 and can be loaded by SCM or HLOAD enabled BASIC for RC2014.