It has most of the functionality I wanted when I started.
You can see the disassembler at work here (disassembling a chunk of the Tape
I/O routine).
Like the assembler, it is primitive but works.
I still have plenty of space left in the ROM (620 bytes), so
I think I will have some 16 bit routines in the ROM to do multiply and divide
definitely, add, subtract maybe and so on, which will come in useful for any
HLL I write (or indeed anything else).
This will probably be a FORTH sort of thing where it takes
values off the stack and processes them.
Then after that, maybe a boot up message and sound f/x –
this isn’t really much use but does have the advantage that if I need that
space, for bugs for example, I can take it out again, or truncate it.
I have been surprised by the relative efficiency of the code
; I wasn’t even sure I’d get the assembler into the 2k of Monitor space I have.
It’s partly learning the style of coding for these processors.
Competition of the
Day
In the 7 lines of code shown there is a significant (read
I’ve done something really dumb) bug which will stop the tape system (but
nothing else) from working.
What is it ?
No comments:
Post a Comment