News: 11 March 2016 - Forum Rules

Author Topic: dissassembler genesis  (Read 854 times)

Gilberto9

  • Jr. Member
  • **
  • Posts: 27
  • Hack is good
    • View Profile
    • My Channel YouTube
dissassembler genesis
« on: October 18, 2021, 10:03:51 pm »
hello guys, does anyone know how to disassemble a genesis rom using IDA PRO ?? I need tips on how to install on Windows 10 , and what options to do to unmount the sega rom , please :-[
Game good

FAST6191

  • Hero Member
  • *****
  • Posts: 3357
    • View Profile
Re: dissassembler genesis
« Reply #1 on: October 19, 2021, 05:06:34 am »
"unmount"
If by that you mean unpack aka explode the ROM into all the nice files with file names and extensions and directories then you don't. Ignoring the odd piece of homebrew then anything prior to the DS that used a cartridge would not be expected to use a file system. If it is a floppy disc or CD (or other optical media) then that is a different matter, and PC has a few things as well depending upon how you want to look at it.
If it is a megacd game then that might be a different matter as that is CD based, and generally lacks the tricky aspects of later systems like the PS1.

You might get lucky and find someone pulled apart a game before you and documented it https://datacrystal.romhacking.net/wiki/Category:Sega_Genesis_games or previously did a disassembly (very few other than some Sonic stuff from what I have seen).

IDA is not that commonly used around here (other than the free PC version it is rather expensive) but it is the gold standard for such things, and used by later console hackers quite extensively.
It will include disassemblers for popular processors, which includes the 68000 (commonly shortened to 68K) main processor of the megadrive and the Z80 of the audio* aspects of the console, though you can also define your own.
Most people will then enhance it or augment it with so called modules. These do things like define known memory addresses in the hardware that the baseline disassembler will have no idea about as anybody designing hardware the 68K or whatever can put things at whatever address they like which does not have to be the same as the megadrive.
You would then want to go looking to see what modules have already been made for the megadrive/genesis (probably want to try both terms just in case) and if none exist then you get to write your own or deal with the lack of niceties that such things afford.

*while today most audio is simple midi type formats and wave type files with possibly the odd loop command then back then audio was a big deal and your game's composer was quite often a programmer of considerable skill in their own right and games had serious code governing their audio. The z80 is also a full processor that powered some older consoles all by itself. I will leave you to discover the world of megadrive audio by yourself though. Theoretically the z80 could be used as extra non audio processing for the game but that would be very rare.


As far as I am aware then megadrive games are just as prone to incbin style data, code and whatnot jumble as anything else and there is no mandated format used by the majority of the library. Offhand I don't have any simple binary finding tricks like I do for the GBA (though I am sure the megadrive/genesis technical documents, http://techdocs.exodusemulator.com/Console/SegaMegaDrive/Documentation.html , will detail where the first instruction comes from and you can follow that along a bit, or find where the current instruction is on an emulator and be reasonably sure what surrounds it is code and what format the code is in).

IDA does have further options to do things like rip memory from another program (which very much includes the ability to say grab this section of memory from this emulator as that is the emulated console's memory) and do work on that (quite nice if running programs handle any decryption or compression), and maybe also act as a debugger (though I don't know if any megadrive/genesis emulators are particularly amenable to this) but I would stick to other things for the time being.

Sanedan56

  • Jr. Member
  • **
  • Posts: 86
    • View Profile
Re: dissassembler genesis
« Reply #2 on: October 19, 2021, 04:00:12 pm »
You need to buy Ida Pro at the site. Then you would need to get the plugins and loader at https://github.com/lab313ru/smd_ida_tools2.
After that you need to load the rom in Ida, and then choose the rom you want to disassemble.
Next is to get of Gensr57shell(https://www.romhacking.net/utilities/1123/).
Finally you would use the debugger of choice on the Tools tab(68k debug or z80 debug).


tryphon

  • Hero Member
  • *****
  • Posts: 736
    • View Profile
Re: dissassembler genesis
« Reply #3 on: October 21, 2021, 04:58:39 am »
I tried to switch on ghidra, which is free, and I'd say it's not worse than IDA.