Saturn Initial IP Offset from Sega Saturn Header?

VGKintsugi

Member
Registered
Joined
Jul 31, 2019
Messages
10
I started working on a Sega Saturn loader for Ghidra. Viewing an ISO in a hex editor, offset 0x00 has the "SEGA SEGASATURN" signature, offset 0xE0 has the size of the initial binary, and offset 0xF0 has the address to write the initial binary to. However, it's not clear to me where in the ISO the initial binary exists. Doing some tests within Yabause's debugger I found the initial IP at 0xC000 and 0x1C000. Is there something in the header that tells me this information?
 
If memory serves right, it is after the security header - it differs from game to game. But the dev documents should have it explained somewhere, and one of the dev kits should have a sample header to use.
 
Thanks for the quick reply. I think I see where I got confused. I was mixing up the initial IP with the first file executed off of the CD. The initial IP is included with the Sega Saturn header. It starts at offset 0xe20 - 0xf00, depending on how many 0x20 region codes are present.

So I have that piece figured out. I still need to figure out to determine what the first file on the ISO is. Probably some ISO parsing libraries available.
 
Back
Top Bottom