• Welcome Back Guest,
    There's currently a few rebranding bugs, one being emails aren't working, we're aware of this and will work on this as we have time. If you need a password reset, please contact us on Discord links in the navbar.

Dreamcast Monkey Ball NAOMI Decompilation Project

Yoshimaster96

New member
Joined
Mar 13, 2021
Messages
1
I'm considering trying to decompile Monkey Ball for the Sega NAOMI arcade system.

So far (thanks in large part to the debug mode left in the game), I have about 20% of the functions labeled. You can find the Ghidra project and everything else done so far here.

However there are a couple challenges.

First, emulators for the Sega NAOMI system (as well as the Dreamcast and other derivatives such as Atomiswave) have very poor debugger support. Memory poke/peek and memory/code breakpoint support is nonexistent in Demul, and is very poor in NullDC. I can use Cheat Engine to get around the memory poke/peek issue, but the latter has no solution currently.

Second, no part of the Sega NAOMI SDK has ever been discovered or leaked. This is unfortunate as it means that the libraries will have to be decompiled as well, and we can only guess at the names (just as is the case for the rest of the game). It also means setting up a build system will be a challenging task.

I'd imagine it'd be best to make this a team effort, so hopefully I can figure out a way to make that happen. For the time being though, I do wanna get more of a codebase going before considering that.
 
Last edited:
emulators for the Sega NAOMI system (as well as the Dreamcast and other derivatives such as Atomiswave) have very poor debugger support
I wonder why not try MAME in the first place if you want to debug arcade game?

I can use Cheat Engine to get around the memory poke/peek issue
for demul you may use any Hex editor with process RAM open feature, smth like WinHEX - Open Memory - select demul process in the list - go to 2C000000 offset which is start of DC/Naomi main RAM, and then view or edit it.
 
Yeah that was gonna be my question too. Is the end goal here getting it working on Dreamcast? I am asking because of the Dreamcast flare above, but we don't have a Naomi flare here or any Sega Arcade system flares here. So I can see why you would choose to use Dreamcast since the same family of system architecture.

I know Monkey Ball is considered one of the lower end games for the Naomi in terms of how graphicaly complex it is and as such would be a good game to try and backport to the console.
 
Yeah that was gonna be my question too. Is the end goal here getting it working on Dreamcast? I am asking because of the Dreamcast flare above, but we don't have a Naomi flare here or any Sega Arcade system flares here. So I can see why you would choose to use Dreamcast since the same family of system architecture.

I know Monkey Ball is considered one of the lower end games for the Naomi in terms of how graphicaly complex it is and as such would be a good game to try and backport to the console.
It would be amazing to port Monkey Ball to DC and it could open the gates to more Naomi to DC ports. Moneky Ball seems pretty viable, i dont know why Sega did not make a cheap´port to DC back in the day, at least just japan exclusive....It would had decent sales, i´d bet it wouldn´t be that expensive to port.
 
Last edited:
Yeah, would be very cool to have naomi monkey ball on dreamcast... I thought I saw a video in the last six months, someone had taken some level geometry from monkey ball and stuck it into a dreamcast demo that just showed a very simple level, not sure if its the same person as the starter of this topic...
 
Yeah, would be very cool to have naomi monkey ball on dreamcast... I thought I saw a video in the last six months, someone had taken some level geometry from monkey ball and stuck it into a dreamcast demo that just showed a very simple level, not sure if its the same person as the starter of this topic...
Where can we find that?
 
I'm considering trying to decompile Monkey Ball for the Sega NAOMI arcade system.

So far (thanks in large part to the debug mode left in the game), I have about 20% of the functions labeled. You can find the Ghidra project and everything else done so far here.
I'm sorry your project hasn't made any progress in a while but would you be willing to show us how to split an encrypted Naomi rom like you've done? I'd like to disassemble DOA2, or just properly split the files so I can view balance changes, but I can't even figure out how you got as far as you did.
 
Back
Top Bottom