I had to ‘cheat’ a little with the VIP loop and mirror the timing values from RealityBoy (Red Dragon and Mednafen seem to use the same code as well) It feels like a really nasty hack and it doesn’t look like it matches most of what I was able to glean from the VB Development Manual. I hope to revisit that later and attempt a more ‘proper’ VIP emulation.
I was just able to successfully run the all the way through the Hello World demo rom and watch it spin the main loop. Next up is the rest of the VIP goo (OBJ, WORLDS and drawing)
Time for another status update. After fighting with a small bug (was using the wrong register in Add-Immediate) I have a ‘working’ CPU core. Next step is the VIP registers. I’m having a hard time finding any real documentation on how these registers are supposed to work though.
I’ve implemented all of the floating point instructions, as well as the custom instructions only used on the virtual boy. I need to take a step back and decide how I want to deal with the bit string operations (which are the only outstanding CPU instruction set)