Information on Phantasy Star Collection for Sega Saturn

Discuss anything related to the Phantasy Star series

Information on Phantasy Star Collection for Sega Saturn

Postby TrekkiesUnite118 » Thu Aug 22, 2019 6:09 am

Not sure if this is the right place but I figured I'd post this here if anyone was interested in this kind of info:

The 4 games seem work like this:
  • Each game has it's own dedicated EXE (PS1.EXE, PS2.EXE, PS3.EXE, and PS4.EXE)
  • Each game has it's own directory, PS1, PS2, PS3, and PS4. These hold PCM files for the games sound effects and music, as well as the original game ROM.
  • Phantasy Star 4 is the one outlier since it's ROM is too big to fit into RAM, so the game is broken up into different files and one massive file that data is loaded from.
  • When each game is running, the EXE is loaded into HWRAM and the original Game ROM is loaded in it's entirety into LWRAM, again PS4 being the exception here.
  • The EXE has multiple pointers in it that point to specific LWRAM offsets for data from the game's rom.
So what looks like was done is that the games were ported to the Saturn hardware similar to Sonic Jam, but instead of having the data there in individual files, the original ROMS are used instead for the game data. So it should be possible to translate these games by swapping out the ROMs and then updating the pointers in the EXEs to point to correct offsets in the English ROM. To test this theory I tried it out with Phantasy Star II and got the following results:

Image

Image

Unfortunately the game crashed at this point, but it still proves that this should work as I probably missed an offset or changed something incorrectly.

So next I tried making a Java program that would scan the Saturn EXE for Phantasy Star II looking for pointers that are in the address range of the Genesis ROM file. Upon finding them I had it check the Japanese ROM file to figure out what data was at those values, and then scan the US ROM file to find similar data. Then I had the code update the pointers to align with the US ROM. This worked pretty well and after some tinkering to figure out some pointers that my code didn't adjust properly, I was able to get these results:

ImageImage
ImageImage
Image

However, there's a snag. First as you can see the characters are all called " ". So something is off there. But the bigger issue is that the US version of the game implemented Nemesis Compression on the background tile graphics to free up space for the English Script. The Japanese version didn't do this. So the US ROM's tile data for the maps is compressed and the Saturn code doesn't know what to do with it. So while the game runs and doesn't crash as far as I can tell, you have no background tiles:

Image

So I'd imagine what would be required here is a Saturn implementation of the Nemesis decompression code and then an ASM hack to redirect any attempts to read that data to the new Nemesis Decompression code.

So basically it shouldn't be too hard for someone to translate these if they wanted too as long as they had a good understanding of both the JP and US ROM files and how they differ. The hard parts here would be getting a Nemesis decompressor for the Saturn (though this might exist already for Phantasy Star 4 as well as the Mickey and Donald collection and possibly Sonic Jam), and dealing with the mess that is Phantasy Star 4 in this collection.
User avatar
TrekkiesUnite118
Pinchant
Pinchant
 
Posts: 1
Joined: Thu Aug 22, 2019 5:28 am

Re: Information on Phantasy Star Collection for Sega Saturn

Postby Zucca » Tue Aug 27, 2019 9:47 am

WOW!

Firstly: I didn't knew about the Nemesis Compression at all. :o I have only known about Kosinski compression. Probably because there's no mention about Nemesis on PSII tcrf wiki page. :think:

Secondly: Awesome work!

So I'd imagine what would be required here is a Saturn implementation of the Nemesis decompression code
Hmm. Do these games run on some emulator or translation layer on some of the Saturn's CPUs? Or do they directly utilize the m68k (audio) CPU, like Mega Drive does (but in this case Z80 CPU) when it is playing Master System games?
I am NaN!
User avatar
Zucca
Neifirst
Neifirst
 
Posts: 1916
Joined: Sun Sep 23, 2007 7:06 pm
Location: Rasi, Kouvola, Finland


Return to Phantasy Star

Who is online

Users browsing this forum: No registered users and 13 guests

cron