More like SC-Forth-thousand, am I right?
a day ago
- The Soggy-1000 is a clone of Sega's SG-1000/SC-3000, designed to be compatible with the SG-1000 keyboard and allow safe tinkering.
- The author is porting CamelForth to the Soggy-1000 as part of RetroChallenge 2026/10, aiming for a low-level Forth programming environment on the machine.
- CamelForth was originally CP/M-based, so porting required writing hardware init, a reset handler, moving buffers, and replacing CP/M-specific words like KEY and EMIT.
- The assembler port from Z80MR to zasm hit issues with macros, especially DOCODE handling, string quoting, and conditional directives, requiring macro rewrites.
- Terminal output uses the TMS9918 VDP; scrolling was implemented with a bitmask to align to 32-byte rows instead of using modulo, avoiding a RAM frame buffer.
- A bug in CamelForth's KEY/KEY? handling caused repeated QUIT calls; the author rewrote the keyboard driver, initially just enough to enter a word.
- Future goals include adding TMS99xx/SN76489 words for graphics and sound, and building a useful Soggy Forth cartridge; keyboard handling is the immediate next step.
- The article serves as a primer for the RetroChallenge project, explaining why Forth is well-suited for limited 8-bit hardware.