16

I am looking for a disassembler that supports Sega Genesis ROMs. Ideally, any 68000 disassembler should be able to do this (IDA Pro supposedly does an amazing job but their demo version does not support the 68000). Are there any dissemblers that specifically support Genesis games (take information from the ROM header, etc.)?

I'm open to any suggestions, but bonus points if the program works on Mac OS.

user3840170
  • 23,072
  • 4
  • 91
  • 150
JAL
  • 9,502
  • 14
  • 57
  • 120
  • Mods: If you feel that this question is better suited over at ReverseEngineering.SE, feel free to migrate. – JAL Nov 04 '16 at 16:10
  • 2
    Personally I think it's fine here, but if I migrate it I'll have a better chance of beating you in this week's league tables... Decisions... – wizzwizz4 Nov 04 '16 at 23:03
  • 1
    I'm not posting this as an answer because I haven't used it myself, but Exodus is supposed to have a decent disassembler. – Stephen Kitt Nov 05 '16 at 14:18
  • @StephenKitt Exodus looks promising! Any other ideas that work on Mac (I know I didn't specify this requirement in my original question)? – JAL Nov 05 '16 at 15:28
  • @wizzwizz4 You're up by 400 rep and it's Saturday. Chances are you're still going to beat me :) – JAL Nov 05 '16 at 16:55
  • @JAL None of the emulators I've seen available on macOS have a decent debugger and/or disassembler. (I haven't checked disassemblers specifically, I was checking emulators because they tend to have good support for their target platforms and some of them have very good debuggers and disassemblers.) – Stephen Kitt Nov 07 '16 at 15:31

3 Answers3

6

DGEN emulator has a starscream 68k core with a builtin dissasembler and debugger . ` might be the key to break into it once rom is running. It's also easy to recompile with SDL as the gfx/audio interface so you brew your own debug focused emulator, slap on a Python interface or similar and you got yourself a stew!

wizzwizz4
  • 18,543
  • 10
  • 78
  • 144
  • Welcome to Retrocomputing Stack Exchange. Thanks for the answer. I've edited it to make the key clearer. If you think my edit changes your answer too much you can roll it back by clicking on the date / time above my username then clicking the relevant button on the Revisions page. – wizzwizz4 Dec 09 '16 at 07:33
  • Hey Trevor, thanks for your answer! It does look like dgen would work for my needs, but I can't seem to figure out how to build the source with debugger support. Downloading a snapshot of the source, building it on my Intel Mac, and pressing ``` logs the message "Debugger support not built in." Any ideas? – JAL Dec 09 '16 at 18:11
  • When I run ./configure --enable-debug --enable-debugger, make fails as well. – JAL Dec 09 '16 at 18:16
  • So I've just done this but used virtual box + ubuntu. – Trevor Nunes Dec 09 '16 at 21:57
  • the ` key is the correct one and you get an interactive debug session ... I'll try and built it on MAC. autotools crapping out on me so might just rebuild what I have on Linux... hold tight. – Trevor Nunes Dec 09 '16 at 21:58
  • that was ugly but got it working in OSX Sierra. – Trevor Nunes Dec 09 '16 at 22:17
  • generated and built in Linux Ubuntu 14.04 then copied source over to OSX ... – Trevor Nunes Dec 09 '16 at 22:17
  • comment out sdl/Makefile line related to font generation .pbm.cpp:

    ./$(PBM2DF) $< $@

    – Trevor Nunes Dec 09 '16 at 22:18
  • This comment window is annoying, I can't hit return without it automatically entering the comment. so I can cleanly do a new line entry to show the steps required. Use libsdl1.2 and have it installed in /usr/local/include/SDL etc. then you just need to ./configure --enable-debugger comment out the sdl/Makefile line above with # then make ... – Trevor Nunes Dec 09 '16 at 22:20
  • @TrevorNunes hey, just seeing these comments now. Will test this weekend and report back, maybe I'll ask a new question. – JAL Dec 22 '16 at 17:33
2

I've done my first shares of Genesis disassembly with Charles Doty's DISASM.exe.

Please, note that you will need to run it in DOSBox.

Olivier
  • 669
  • 6
  • 14
1

If you object using non-demo ida pro, you can try Ghidra tool, which is much like ida pro (and not simply an disassembler!). It is open source and does support 68000.

lvd
  • 10,382
  • 24
  • 62