This'll be just a brief update, more to reassure everyone that work is still ongoing and the quiet periods between posts here are the places where I'm writing code. So, here's what I've been doing in the last week:
1. Reworked the timing code to get more accurate clockspeed stats out of the core.
2. Put some more functionality in the MCM wrapper to make debugging easier.
3. Altered the MemoryMap class to use an Indexer instead of Peek/Poke/Deek/Doke methods.
At that point, I noticed the interfaces to the MemoryMap and CPUCore objects were getting a bit messy, so I've been cleaning things up and getting everything back on a proper object-oriented footing, where stuff that should really be hidden behind an encapsulation interface is now tucked-away out of sight. This is mostly invisible implementation-structure stuff, but the payoff is that there's less complexity to the outer facade that the core exposes.
Another couple of days doing this sort of 'scaffold rearrangement' should see the end of it, and then I can return to the exciting part, which is getting actual 6502 instructions implemented. At the moment I have just enough to allow the VIC-20 ROM to execute, but there's a lot more to do before the instruction set is complete - and that's without the 'undocumented' opcodes, which will also be in there when it's all done.
1. Reworked the timing code to get more accurate clockspeed stats out of the core.
2. Put some more functionality in the MCM wrapper to make debugging easier.
3. Altered the MemoryMap class to use an Indexer instead of Peek/Poke/Deek/Doke methods.
At that point, I noticed the interfaces to the MemoryMap and CPUCore objects were getting a bit messy, so I've been cleaning things up and getting everything back on a proper object-oriented footing, where stuff that should really be hidden behind an encapsulation interface is now tucked-away out of sight. This is mostly invisible implementation-structure stuff, but the payoff is that there's less complexity to the outer facade that the core exposes.
Another couple of days doing this sort of 'scaffold rearrangement' should see the end of it, and then I can return to the exciting part, which is getting actual 6502 instructions implemented. At the moment I have just enough to allow the VIC-20 ROM to execute, but there's a lot more to do before the instruction set is complete - and that's without the 'undocumented' opcodes, which will also be in there when it's all done.

2 comments:
Nice to know you're still making progress, even if you're refactoring at the moment. Can't wait to see some source, perhaps even some snippets posted in the blog to illustrate posts such as this one?
All time well spent even if it's not the exciting stuff that you want to be doing ;)
Post a Comment