Ghidra-SegaSaturn-Loader icon indicating copy to clipboard operation
Ghidra-SegaSaturn-Loader copied to clipboard

Support for loading binaries extracted from discs.

Open tomsons26 opened this issue 5 years ago • 6 comments

Command & Conquer for the Saturn is a example of a game this plugin can't load. The game needs to be ripped as bin/cue to retain the CD audio it has. It has a single binary called 0_CNCSAT.BIN that holds all the game code.

tomsons26 avatar Nov 24 '19 21:11 tomsons26

Is the audio CD code that important to you? Why not manually load the .BIN file and specify it's load address?

Unfortunately this is a non-trivial issue. ISO files do not contain audio. 0_CNCSAT.BIN is likely to be raw machine code without any type of header specifying where it should be loaded to.

VGKintsugi avatar Nov 25 '19 06:11 VGKintsugi

No. I have it loaded like that. I will miss all the features your plugin provides then tho. The binary does start with the entry point code yea. What information are you reading from the iso, maybe it could be separated out and put alongside the binary for loading the raw file?

tomsons26 avatar Nov 25 '19 17:11 tomsons26

Currently I believe the only feature I have is the memory map. I created a ticket to split the memory map out into a separate script (https://github.com/VGKintsugi/Ghidra-SegaSaturn-Loader/issues/7).

Is there any other feature that would be useful to you?

I will take a look at C&C and try to reproduce your issue. What happens when you rip the disk as ISO format? I was under the impression that ISO format includes all audio. Is that not the case?

VGKintsugi avatar Dec 05 '19 05:12 VGKintsugi

I work in a team reimplementing PC version of Red Alert, eventually we will get to C&C too. Reason i'm looking into the Saturn version is every variation of information helps when doing such a project. Right now the section reconstruction i already mentioned is the only thing i can think of. Well another pesky issue is how SH2 deals with various values, statics, function calls, etc, that being it has a pointer to them instead of accessing it directly but not sure what can be done about that other than manually setting the pointers to const so Ghidra resolves it to the real data. javaw_2019-12-05_20-03-08

Don't have the CD, only the image. Standard ISO format can't store CD Audio. Resaving the image as a ISO strips the audio, trying to load it in ghidra just gives me the filesystem dialog. Maybe it's cause the plugin in dist is still on 9.0.4 technically and 9.1 doesn't want to load that.

tomsons26 avatar Dec 05 '19 17:12 tomsons26

I compiled the extension for Ghidra 9.1.1. Grab it from releases: https://github.com/VGKintsugi/Ghidra-SegaSaturn-Loader/releases/

VGKintsugi avatar Dec 22 '19 02:12 VGKintsugi

Doesn't work with a bin resaved as iso for C&C sadly, ghidra still reads it as a file system.

tomsons26 avatar Dec 22 '19 13:12 tomsons26