As of right now all of the "emulator" portion of the program is in the C++ DLL while the interface is in C#. I did this so I could at least test that what I had worked before porting it all to C#. The C++ code makes heavy use of pointers and byte/short variables which don't work quite as expected in C# since it bitches about anything that isn't an integer, so porting is going to take a while. I'm not leaving it as C++ because whoever designed the C/C++ compilation model must have been on crack, no matter how nice I try to make it look it still looks like crap.
Here's what I've got done:
- Entire CPU core
- Default memory mapper(can run small demos)
- Scan-line based map renderer(no sprite support yet)
Well that first one is a big milestone, I've never completed the CPU portion of an emulator I've worked on(although FatMan was close). It needs to be rewritten though, right now it's just a giant switch statement, but I want something similar to the OOP/JIT method used in Apex.
VRAM dump screenshot as usual:
Apex is on hold since I've gotten this far in GameKnight. It's not dead, but I won't be working on it till I get something running in GameKnight.