I’ve been working on adding some stuff into Reality Boy lately, and while I’m working on it, I’d like to try to track down a few of the bugs. One of them is Golf crashing when you start the game, and possibly related is the crash in Red Alarm (moving in the game) and 3D Tetris (intro). It seems very possible that those are caused by bad opcodes or flag handling.
What I’d like is a simple utility that’ll allow you to set the value of the registers and flags, select the opcode to execute, and have it show you the results (registers and flags). This would be very helpful to do a quick sanity check on the CPU emulation to make sure it’s identical on the VB and RB.
It shouldn’t take much time to put together, but I’ve still got a few things to do in RB before I get around to making this utility, but if someone wants to do it (or already has one made), let me know and I’ll wait for yours.
Nevermind… hopefully nobody started working on this… I was able to track down the bad opcode and it’s all good :). It would still be a nice utility, but it’s much less important now since I don’t know of any other bugs that are likely caused by bad opcodes.
good to hear that you’re working on reality boy! make sure to fix that saving bug, alright? 😀
Could you refresh my memory on what that is? RunnerPack mentioned it, but I tried searching the forum a couple days ago but couldn’t find it.
when adding save support to blox 2, i noticed, that only the first half of the save ram is initialized when reality boy loads a *.ram file, the second half is just empty. this always messes up saves when anything was written in the second half of the save ram, like best results for one of the later levels or a game in progress.
EDIT: found the thread:
I’ll check it tonight… do you happen to have a ROM available that shows the problem, so I can quickly test it?
i’ll email you a save file for the blox 2 demo in a minute. it has a saved game, which is stored at the end of the save ram. if the language selection screen appears after the ipd/focus screen, then the save file is corrupt. (at startup, a checksum is calculated over the whole save ram and compared to one stored at the beginning of the save file, if it does not match, for example because the save file has not been completey loaded into ram by the emu, save ram gets cleared.)
btw, what are you adding? are you going to work on sound support? debug functionality? cheat codes? save states? maybe even a nice red dragon-esque menu? wouldn’t it be nice to merge both projects? red dragon has many features i am missing in reality boy.
I’m not sure if you forgot to send the email, or if it got blocked for some reason, but I was able to find the bug and fix it, and I tested it w/ one of my apps. And I’ve got lots of fun stuff (and other less fun stuff) in this build :). I do agree about the Red Dragon menu, although I don’t have any plans on doing anything with that right now.