Since succeeding at loading Basic programs into memory, I’ve been forging ahead at attempting to make sense of them. We now have an interpreter that can deal with a (very) modest subset of Sinclair Basic: INK, PAPER, BORDER, NEW, CLS, REM, GO TO, RUN, STOP, RANDOMIZE and CLEAR. As a teensy drawback, the only numbers it can handle right now are literal integers – there’s code in there that can parse almost any numeric expression, but nothing to actually do the maths.
Archive for June, 2006
OpenZXRom now has the all-important tape loading routine in place. There’s quite a lot involved behind the scenes – listening for signal edges, identifying the moment when the leader tone turns into data, keeping track of checksums, picking apart the header block – but it’s all doing it’s job, without a hint of Sinclair code to be found.
It doesn’t do anything after loading the file except sit around and sulk (although machine code programs that borrow the loader routine should be more enlightening) but the fact that it’s starting to do stuff that actually looks and feels like the original ZX ROM is occasion enough to put out a new release, I reckon.