Welcome, Guest!

Here are some links you may find helpful

Saturn Initial IP Offset from Sega Saturn Header?

VGKintsugi

Member
Original poster
Registered
Jul 31, 2019
10
26
3
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?
 

Druid II

Well-known member
Registered
Jun 5, 2019
105
68
28
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.
 

VGKintsugi

Member
Original poster
Registered
Jul 31, 2019
10
26
3
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.
 

Make a donation