Skip to content

Releases: adumont/cerberus2080

AlexFORTH v0.06 - Cerberus2080

15 May 17:40
Compare
Choose a tag to compare
Pre-release

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

25 Feb 18:47
Compare
Choose a tag to compare

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.

For more info check the README in the repo.

FORTH v0.04

20 Nov 20:27
Compare
Choose a tag to compare

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.

For more info check the README in the repo.

BIOS and FORTH v0.03

09 Nov 16:45
Compare
Choose a tag to compare
BIOS and FORTH v0.03 Pre-release
Pre-release

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!

More info in the repo.

BIOS and FORTH v0.02

31 Oct 18:26
Compare
Choose a tag to compare
BIOS and FORTH v0.02 Pre-release
Pre-release

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!

More info in the repo.

BIOS and FORTH v0.01

17 Oct 16:40
Compare
Choose a tag to compare
BIOS and FORTH v0.01 Pre-release
Pre-release

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.