Completing a new BASIC interpreter in 2025 (strings, math funcs, cassette)
8 hours ago
- #Intellivision
- #RetroComputing
- #BASIC
- Completion of a BASIC language interpreter for the 1983 Mattel ECS add-on for Intellivision in 2025.
- Implementation of string support with variables A$ and B$, including functions like ASC, CHR$, LEN, LEFT$, RIGHT$, MID$, INSTR, VAL, and STR$.
- Development of a garbage collection system for strings to manage memory efficiently on the slow CP1610 processor.
- Addition of mathematical functions (SIN, COS, ATN, TAN, LOG, EXP, SQR, and power operator) with fixes for precision issues.
- Graphics support with PLOT, PRINT AT, and TIMER commands, leveraging the Intellivision's limited graphics capabilities.
- Cassette and printer support added, including LOAD, SAVE, VERIFY, LLIST, and LPRINT commands, with challenges in hardware interfacing.
- Testing and adaptation of a Reversi game from Tim Hartnell's book to validate the interpreter's functionality.
- Final additions like DRAW, CIRCLE, POINT, POS, LPOS, SPC, TAB, and HEX$ functions to enhance usability.
- Release of the source code on GitHub, totaling 7370 lines of assembler code written over about a month.