Releases: adumont/cerberus2080
AlexFORTH v0.06 - Cerberus2080
AlexFORTH v0.06 - Cerberus2080
New in this release:
FORTH
Most significant updates to FORTH in release v0.06 are:
Additions:
- ccb0c3b Forth: Support for signed/unsigned output in . and .S
- 2fda196 Forth: small optimization in JUMP
- 947f76f Forth: 3 tail call optimization
- da75ff4 Forth: print_byte fallthrough to print_nibble
- 4a1b5d1 Forth bootstrap: add STRING, CHAR, support LITSTR & CLIT in SEE
- 4bf4d4e Forth bootstrap: add ['] +! and STRING
- 38fce31 Forth: Add U< (unsigned less than)
- 42d710d Forth: format cleanup (space vs tabs indentation)
- 433b420 Forth: primitive STAR_COMMIT_JMP
- d19cd5f Forth: BASE C@ fix in . U. and .S
- bb332c2 Forth: Add (c) and license to bootstrap code
- 0aee79b Forth: Compiler use CLIT instead of LIT when possible
- ad9e53a Forth: Add < <= > >= operator
- 827068e Forth: add support for # $ % o prefixes (for numbers)
- bb629fd Forth: add BASE support in . and .S, and DEC HEX BIN OCT
- 2d654b5 Forth: Add Cross-Compilation of bootstrap.f
- 429f3b4 Forth: differentiate *LOOP and *+LOOP
- 72a889a Forth: Add J (second loop index)
- 5d63560 Forth: add MIN_ROW variable to allow screen split
Fixes
- 0a5b6b6 Forth: Fix FREE
- de555cf Forth: MARKER should target RAM dictionary
- a3272f6 Forth: fix bug in ?DUP
- e97fe58 Forth: fix comparison operators in bootstrap
- cea57a9 Forth: fix mishandling of LOCALS
- 2f05bc4 Forth: Fix stack issue in NUMBER
- 512d8af Forth: Fix /10 by adding 1
- 508e0d2 Forth: Fix FIND was finding HIDDEN words
Other
Mostly cleanup and code optimizations (or removing obsolete words)
- 90f417a Forth: small code cleanup
- 6044ff5 Makefile: add target all
- 453484b Forth: remove useless DEC. word
- dd64e0a Forth: remove LIT, in favor of COMPILE
- e616741 Forth: Remove DEC. from FREE
- 98d5823 Forth: rewrite simpler defword macro
- adefbeb Makefile: new simpler building flow
Emulator
- 22722b7 Emulator: add breakpoint on custom symbol
- 62386b7 Emulator: stops on word BREAK
- 7185a2d Emulator: default file now forth-emu.bin/lbl
Programmer
- 08ceb86 Programmer: now verify the CRC32 against Cerberus2080
BIOS
- 1cc6659 BIOS/Forth: Backspace if $08
- 5eab9f1 BIOS: Fix CPU wasn't in FAST mode by default
- ce98e1b BIOS: serial now at 115200 bauds
You must use this new version of my BIOS (CERBERUS_2080_BIOS.ino.hex).
For more info check the README in the repo., contact me or open a discussion in this repo.
AlexFORTH v0.05 - Cerberus2080
New in this release:
FORTH
Most significant updates to FORTH in release v0.05 are:
Additions:
- 7814da6 Forth: Add .(
- 3788515 Forth: Add VALUE/TO, CONSTANT, DEFER/IS
- 418722f Forth: Add ?DUP
- 83ab33a Forth: Add SP!, RP@ and RP!
- f354777 Forth: Add DEC. (Print unsigned decimal number)
- 5996f6f Forth: Add ?DO
- c0be699 Forth: Add LAST as LATEST @
- 725c243 Forth: Add support for hidden words
- e3bafef Forth: Add PARSE and CHAR
- 797f4bc Forth: use [qQ] to exit WORDS listing, other key to continue
Changes
Most of these changes are optimizations.
- 29b6e74 Forth: Rewrite VARIABLE using CREATE
- 4d6305d Forth: Rename SP to SP@
- bcd2a62 Forth: SP now returns ToS addr (before running SP)
- 4efd892 Forth: rename STATE as ?EXEC
- 3d20f06 Forth: rewrite CREATE/DOES>, more compact format
- 392af12 Forth: small rewrite in VARIABLE
- 50d628c Forth: Shortcuts only available in BOOT mode
- 8960eb1 Forth: rewrite >D
- 0b5171c Forth: Add @ ! , shortcuts in FIND
- d7d4c0f Forth: rearrange words, speed up boot
- 310ee48 Forth: replace OVER OVER with 2DUP
- 2744f0f Forth: rewrite 2DUP and 2DROP as primitives
- df8a98a Forth: Simplifies INPUT addressing code
- 503037c Forth: rewrite REVEAL, HIDE, HIDDEN, UNHIDE as primitive
- 966a42b Forth: Make >CFA a primitive
- 71ba102 Forth: Move DP to zeropage
- 1608c32 Forth: COMPILE as primitive
- c78ec20 Forth: rewrite words STATE and HERE
- f44b960 Forth: make DO LOOP +LOOP precompiled words
- 56c95db Forth: *LOOP rewritten in assembly
- 711f9c3 Forth: update HIDDEN to use HIDE
- 85c67be Forth: name IMMEDIATE and HIDDEN flags
- 20ae531 Forth: reorder words to accelerate bootstrap
Fixes
- d9558ba Forth: fix a wrong comment format
- 13a5655 Forth: fix errata in CREATED macro
- 4eeb3af Forth: Fix branch in *LOOP
- 9e14cd4 Forth: Remove buggy definition of LEAVE
- 7f08080 Forth: Fix wrong end condition in *LOOP
- 0955020 Forth: Fix Words created with CREATE are left hidden
Other
- cd9ef16 Makefile: hint depending on EMULATOR env var
- 3f0063c Add missing LICENSE
- b7009a1 Forth: Display (c)
- 1003ae2 Emulator: use symbol file to initialize memory addresses
- 67de07c Profiler: add -t trace option
- 56d503d Forth: skip clear_screen on boot on emulator
BIOS
No update to BIOS in this release. You must use this BIOS CERBERUS_2080_BIOS.ino.hex from release v0.03.
FORTH v0.04
New in this release:
FORTH
Most significant updates to FORTH in release v0.04 are:
- ae613bc Forth: Add support for comments \ and ( )
- e1321f1 Forth: WORDS: paginate 16 words per page
- 0fdc0dd Forth: Add XOR word
- 670e827 Forth: Add WORDS to list dictionary
- b68705b Forth: rename SEMI as EXIT word in dictionary
- 75e48f6 Forth: fix CRLF in bootstrap code
- 9687a3f Forth: Rename CRLF to CR
- 3330291 Forth: Add shortcuts for : and ; in FIND
- 8c0e698 Forth: fix global labels into local labels
- 8f35fd5 Forth: STATE primitive to replace MODE C@
- 4cca6e6 Forth: Make HERE a primitive, and add DP!
- 801b996 Forth: Replace LIT, 0 with HERE++ (primitive)
- 2e1aceb Forth: Add :NONAME (Anonymous words)
- 6d34be5 Forth: Add FETCH_OK primitive (hidden)
- 3e99bcf Forth: Make CLS, TRUE, FALSE, CLEAR_OK primitives
BIOS
No update to BIOS in this release. You must use BIOS from release v0.03.
BIOS and FORTH v0.03
New in this release:
FORTH
- bbdf84b Forth: Add DUMP ( a1 a2 -- ) rudimentary mem dump
- 75e536b Forth: Add C.
- 07b24f1 Forth: Add DOES>
- 652e5fb Forth: Remove useless rts
- 84765a3 Forth: Add CREATE
- 8222f52 Forth: Make , and C, primitive words
- 9f8c4f6 Forth: rename CREATE/NEXT to CODE/;CODE
- 1d6225e Forth: Add COMPILE and LIT, as alias
- 0500934 Forth: Add 2+ primitive word
- a82d811 Forth: remove useless CLC in 1+
- 0551ce1 Forth: refactor CREATE
- de0fc22 Revert "Forth: fix for Cerberus"
BIOS
- 8a1ff91 BIOS: Add CRC command (crc32)
Other
- 025a0ef Programmer: show file CRC
- f369580 Emulator: better showing of symbols
- 0abebf7 Emulator: show symbols
- ec72d80 Emulator: add more debugging watches
- 83a7c2d programmer: revert to 0.05 delay in send
Remember to use my BIOS!
BIOS and FORTH v0.02
FORTH updates:
- 3a516dc FORTH: show cursor
- 7f1db43 forth: fix backspace bug
- cc61f80 Forth: Moves LOCALs stack below char memory
- a68783d Forth: Add ok prompt
- b247bda Forth: fix locals stack top addr location
- 51ed797 Forth: use WAI in Cerberus2080 only
- 4aeb47d Forth: New CLSCR word to CLear SCReen
- e3d48b9 Forth: don't show ok prompt when defining a new colon word
BIOS updates
- 05617d4 BIOS: Add ASCII dump for 'list' cmd
- 658e7d8 BIOS: Add Page up/down to 'list' to browse memory
- 6de6e6d BIOS: run now takes optional ADDR argument
Remember to use my BIOS!
BIOS and FORTH v0.01
Here goes the first version of my FORTH for the #Cerberus2080.
Known issues:
- buggy behaviour of backspace when line doesn't start at column 0 (after the output of next line) (it works fine, but doesn't render correctly on screen)
- there is no cursor showing on the screen (which is a bit awkward for the user).
Be sure to flash my BIOS on CAT.