Multi-region saturn disks

I have a Japanese import game (Tama) and I was surprised to find that it would work in my US Saturn with no adaptor. So I looked at the boot sector on the disk. Well instead of just one letter, starting at byte 64 was the sequence: JTUBKAEL

And starting at byte 3584 were eight corresponding messages:

For JAPAN.

For TAIWAN and PHILIPINES.

For USA and CANADA.

For BRAZIL.

For KOREA.

For ASIA PAL area.

For EUROPE.

For LATIN AMERICA.

So I decided to see if this would work on another import disk. First I added the other seven letters after the J at byte 64. Then I added the other seven strings after the "For JAPAN." (Yes, you have to do both.) Finally I noticed that there were a few bytes after the "For JAPAN." and I moved this to the end of the eight messages. (The game wouldn't boot without it.) And it worked perfectly. Yay.

It seems like this would make the perfect all-region hack. Except when I tried this on another game (Princess Crown) there wasn't room for the other seven messages. There was a bunch of code following the "For JAPAN." You can still replace "JAPAN" with something else, but is there any way to do a universal region hack that will work with all games?
 
Unless someone has added something to the Satconv source I don't think you can make games 'all regions'. You can remove additional regions, but not add them.

Die Hard Trilogy and Virtua Racing are also 'universal'.
 
Seems you've found something interesting.

I've quickly looked at this and maybe you're true.

I'll continue to study that.

In response to mal : did you see the source code of satconv ??? It seems that it was made quickly.

Logic would like to change strings "For Japan....." or "For Taiwan..." (etc) by the apropriate string you have specified. Satconv doesn't made this change.
 
Hnn... I'll give my humble opinion on this. If you use only _one_ country letter, the boot seems to ignore the "for something" string. That is not the case with several letters.

My personal experience was Linkle Liver Story. I was unable to boot copies that had a ET country codes ("old" SatConv didn't deleted other letters, and the LLS rip that floats around must be a HK version, since it carried a UT country code and a "For TAIWAN and PHILIPINES"). I ended up reverse-engennering SatConv, and making TSatC, my own patcher, that "correctly" pached ISO's to my understanding, since it booted LLS, and all was well with the world :p

In the light of the given event, I would figure that there is extra code where it expects the letters to be in a given _order_, given by the strings down there, or vice versa. I really don't see why they would have done that, and honestly, my poor 4x burner is not up to the task of burning a CDRW times enough to check my theory. If someone has the time, go ahead ^^;
 
In the light of the given event, I would figure that there is extra code where it expects the letters to be in a given _order_, given by the strings down there, or vice versa.

I'm not 100% sure, but it seems that "JTUBKAEL" is the One True Order, as that's also what's in the Action Replay 4M Plus carts.
 
Question here is: why does it need the extra patch (if it really does)? We all know SatConv works, and it doesn't touch it, so I assume there are, at least, 2 possible cases covered in the boot sequence.
 
Hmm, I was thinking that maybe the BIOS calculates the entry vector of the AIP ("application initial program", the potentially game-specific part of the bootstrap) based on the number of area symbols, but if that was true I think LLS wouldn't work by deleting the additional symbol if it was normally there...
 
Quote: from ExCyber on 12:25 am on April 4, 2002

I'm not 100% sure, but it seems that "JTUBKAEL" is the One True Order, as that's also what's in the Action Replay 4M Plus carts.


That's the order they're given in Sega's docs.
 
Yes, you do need to change both. I tried just changing the letters and it didn't work. Wasted a CDR because of that...

TakaIsSilly: I don't know where you got your copy of Linkle Liver Story but I just checked an original import disc of this game from Japan, and it has the JT (japan/taiwan) country codes.
 
Hn... it was a rip that was floating around here 2 years ago... maybe it was JT (al least it would make sense given the "magical order")... But just to check, it _does_ say "For TAIWAN and PHILIPINES", right?

Anyway, we seems to arive at an agrement here:

1) If there is only one letter in the country code, the game will boot, if the machine is correctly localized. The "For ..." stuff is ignored.

2) If there is a "JTUBKAEL" code, the game _needs_ The whole 8 "For" strings.

3) Finnaly, if there is a "short" code like "JT" it seems to jam when changed to a "ET"...

Maybe the awnser is in the LLS "short" format...
 
Sega Technical Bulletin #SOA-12 says that..

"In the IP.BIN file, at address 40H, all games must have the appropriate area symbols for the region in which the game is to be released, along with the corresponding area code at address E00H. [..] Please make sure that the area symbols and area codes match in order [..]"

Technical bulletin #11 contains some details about the system id and #31 says that the KBAL area codes were deprecated.
 
Okay, I think the problem with a "universal" patch for Saturn discs is that some games will need the AIP relocated in order to make it work. This could lead to problems similar to those with scdconv, though I think SuperH lends itself more to relocatable code than 68000 does...
 
Back
Top