The first step is to create a simple trace utility that will let you run some assembly language code showing the effected registers and memory as the program runs. This is the equivalent of using a debugger to single-step through the code. One alternative to this would be to use an existing emulator that contains a debugger, but there are three reasons why I am not going this route. First, a trace utility would be fun to write. Second, I ultimately want my emulator to also be an IDE so development tools like the trace would be great to have. Finally, going with the existing emulator would require writing for a specific platform which at a minimum means a bunch of boilerplate code obfuscating the code. Writing a trace utility should not take too long, probability only one or two posts.
For the pure 8 bit version of LCG we need 8-bit multiply which is something that the 6502 does not do. Software multiply is possible so we will look at a couple of ways of doing this before implementing our 8-bit LCG.
Before getting to the 16-bit version of LCG we will have to take a look at how to perform multibyte math and then expand my multiply routine to 16-bits which is a bit of work.
Finally we will implement the 16 bit version of LCG and the most basic version of PCG.
No comments:
Post a Comment