Nice article and neat project. Well worth reading for those not familiar with this domain.
I worked extensively with the 6502 three decades ago, including designing and building a robotic system controlled by a couple dozen 6502 nodes on an RS422 network. Coincidentally, that system was implemented in Forth. I wrote the interpreter, editor and other tools from scratch.
The only comment/clarification I will make is that most projects of the kind you undertook would start with manual memory allocation rather than just using variables in assembler. What I mean by this is that he developer would sit down with paper and pencil and create a memory map as well as a register strategy in order to optimize for execution time, compactness, etc. When you are resource constrained like that you don't leave anything to chance. You literally count clock cycles, pack bytes and bits and optimize everything.
Good job. Love to read about "down to the metal" work. Most programmers today are isolated from truly understanding what the hardware is capable of beneath the layers and layers of libraries and class hierarchies.
I worked extensively with the 6502 three decades ago, including designing and building a robotic system controlled by a couple dozen 6502 nodes on an RS422 network. Coincidentally, that system was implemented in Forth. I wrote the interpreter, editor and other tools from scratch.
The only comment/clarification I will make is that most projects of the kind you undertook would start with manual memory allocation rather than just using variables in assembler. What I mean by this is that he developer would sit down with paper and pencil and create a memory map as well as a register strategy in order to optimize for execution time, compactness, etc. When you are resource constrained like that you don't leave anything to chance. You literally count clock cycles, pack bytes and bits and optimize everything.
Good job. Love to read about "down to the metal" work. Most programmers today are isolated from truly understanding what the hardware is capable of beneath the layers and layers of libraries and class hierarchies.