Starting a Sega Saturn translation/hack.

TheXev

New Member
I have decided to begin a project for translating a curtain Saturn game (which shall rename nameless for now) completely into English. I want to test a few of my hacks on a real Saturn, but I cannot keep making 1:1 changes forever, and I have a serious need recompile the ISO now. Is there a way I can extract the ISO from the original CD’s, insert my changes files, then burn the image so I can perform swap trick? I was thinking that perhaps if I extracted the image in ISO/WAV format, then opened the ISO in WinISO, drop in my file changes, then burn everything that it might work, but I still have the feeling that it wouldn’t be that easy. Has anyone here ever recompiled a Saturn image after making file changes that actually works?

TheXev
 

TakaIsSilly

New Member
I was thinking that perhaps if I extracted the image in ISO/WAV format, then opened the ISO in WinISO, drop in my file changes, then burn everything that it might work, but I still have the feeling that it wouldn't be that easy.

It is. As long as you don't change the IP.BIN (aka first sector) and the order of the files (ie, the first file is the executable) it is a ordinary Mode 1 data track.
 

Taelon

Member
Taka, you say the order of the files matters because the Saturn will execute the first file it finds. I'm not sure this is correct - can you confirm this?

On the Dreamcast, the name of the first executable to look for is stored in the IP.BIN - it doesn't matter where in the data track, or in the alphabetical order of files, it actually is. I would assume the Saturn handles this the same way...
 

TakaIsSilly

New Member
Taka, you say the order of the files matters because the Saturn will execute the first file it finds. I'm not sure this is correct - can you confirm this?


Yes.

On the Dreamcast, the name of the first executable to look for is stored in the IP.BIN - it doesn't matter where in the data track, or in the alphabetical order of files, it actually is. I would assume the Saturn handles this the same way...


In a nutshell, no. In a couple more words, you can mess with lots of stuff, but not give a straight "boot X file from CD". Most games and CD's you'll see all work under the premise the binary is at the top of the hierarchy.
 

MasterAkumaMatata

Staff member
I believe TakaIsSilly is right. In my little , I realized that the Saturn boots from the first file in alpha-numberic order. Compare these two IP's and see for yourself:

NesterDC IP.BIN



SFA2 IP.BIN (Saturn)



NesterDC's IP specifies 1ST_READ.BIN, but SFA2's IP doesn't seem to specify what file to boot from, so it's pretty logical that Saturn games boot from the first file by alpha-numeric order as ExCyber pointed out in my little <a href="http://www.litespeedcomputers.com/sx/forums/index.php?act=ST&f=5&t=4092">SFA2 experiment
.
 

antime

Extra Hard Mid Boss
Originally posted by MasterAkumaMatata@Apr 3, 2003 @ 02:00 PM

I believe TakaIsSilly is right. In my little SFA2 experiment, I realized that the Saturn boots from the first file in alpha-numberic order.

It boots the first file in the root directory, which due to the way the CD build tools work often is the first in alphabetic order. But it doesn't have to be. The Saturn's IP is fully documented and there is no place to specify a filename. I believe you can instruct the BIOS to not load any file which can be desirable if your AIP (application initial program) contains a filesystem driver or something similar. This will also minimise the time the SEGA logo is displayed when booting.
 

TheXev

New Member
Well, it has been awhile since I've replyed to this thread. My WinISO idea seems to be total crap, as I can't get any of the CD's to start with swap trick. I think that the IP isen't working right on the disc. Is there a program i can use that will insert a working IP into the ISO image? I am currently looking for one.
 

TheXev

New Member
Okay, i did a check, and the IP.bin is in the modded disc exactly were its supposed to be.. so.. why doesn't the game load? WHY?? lol
 

antime

Extra Hard Mid Boss
"My program doesn't work, fix it please!"

Did you try to boot a self-made CD?

How did you build the CD?

What changes did you make?

What are the symptoms? ("Isn't working right" doesn't give us much of a clue)

If you want to edit the IP, any hex editor will do.
 

slinga

Member
Instead of using WinISO or whatever your using try this:

1) Dump the game to your hard drive.

2) Rip the ip.bin. I don't see a need in creating your own ip.bin.

3) Get the buildcd files (I think you can get them from Phoenix emu).

4) Edit the cti file to include every file on the cd.

5) Make the iso.

If all that works, and the game boots, you'll be able to edit the files you need to without messing up the booting. And my advice to translators, if the game already has English fonts, like I think most Japanese games do, just load the game in the new saturn emulator (the leaked one). Quit after you enter your character's name and save. Go into your winnt directory, and remove the backup file you created. Then, load the game again and name your character something else. Again get the backup file, and use hex workshop or something similiar that let's you compare two files. The only differences between the two files should be the name of the character you created. From that you can derive the font tables. I tried this for Fire Pro Wrestling, but editing the save file seemed to corrupt the backup. And there were changes in multiple places.
 

TakaIsSilly

New Member
3) Get the buildcd files (I think you can get them from Phoenix emu).


One of the tools on that pack (stripiso.exe) doesn't run in Windows XP (and I assume in 2000 as well). f you search for it, there's a "revenge of stripiso" for nt systems, but it seems to be broken for Mode1 tracks. So you need to rebuild the cd using mkisofs... I spoke about that in another thread. On the up side, mkisofs is mutch faster, aside from some pretty messy command line options.
 

TheXev

New Member
Yeah, the actually hacking of the game is going well, but this game doesn't run fully in the leaked emu (yet). I've been using a one to one hex replacement + CDMage replacement so far, and the CD boots fine in swap trick. Today I find out if the game has a built in 16x8 font, and I think it does, so wish me luck
If that’s the case, I’ll need to find a way to switch that font for use in the dialog font.

What game am I working on? I'll announce it when I have more positive results, although if anyone follows my post around here, they can probably figure it out.
 

M3d10n

New Member
Ahh... it's *that* game.

You're doing something I believe most people thinked about, but never actually tried, since even if the existance of the english PSX version makes the translation a lot easier, it also takes away some of the motivation to keep the project going, since:

a) You'll be relying on someone else's translation, so the satisfaction factor is greatly reduced

b) The game already exists in english, but in another plataform, thus it's not that exciting to most people.

I truly hope you succeed on this, since I find the Saturn much more polish-looking, AND I guess you'll keep the original speech. :)

Too bad that the game you are working on won't run in any emulator. Girigiri won't get into the game due the video streams, I think.

Maybe you can try corrupting the videos in the game's CD image, and see if the game will auto-skip them when running in GiriGiri. Many games do that. If so, you'll have a very powerfull way to test your translation, running the game off the HD.
 

TheXev

New Member
Well, after my results last night, I don't mind announcing my project now, as it looks like I may need a bit of help.





Pics taken off my Sega Saturn via my ATI TV Wonder VE.

I believe they speak well enough for themselves.

Here are the main things I have been able to figure out:

The Load/Save menu uses a 16x8 font, as shown in both pictures. This is good, meaning that there is a 16x8 font already programmed for the game.

The dialog menu’s for Grandia are using a 16x16 font all of the time, and the 16 by 8 font isn’t automatic, which is what I was really hoping for but didn’t actually expect.



The command menu seems to have some odd encoding on the characters, although Jewelry was the only one that came out fine. I will defiantly have to find a way to decompile the code in order to finish though, as I had to swash names and cut a letter of Feena’s name so Sue wouldn’t be “Su.”

The main reason I took up this translations project was because the PSX version sucks, simply put. You could put the Japanese voices back in, but unless you are playing it on a PS2, it hitches a lot more and far worse then the Saturn version in almost very location possible. I think the textures seem slightly shaper to me, and they don’t suffer from PSX artifacts (textures not lining up with polygons). The only thing the PSX version has over the Saturn release is the movie frame rate. When I get my PSOne back, I’ll take some comparison screen shots. If you are going to play the PSX version, play it on the PS2, as the artifacts don’t occur as much, textures look sharper, and hitching is wayyy less noticeable.

I will use the PSX version dialog to test things in the game, but I am going to have my friend look at the scripts and see how well they were done (they seem okay to me though), and if they are pretty bad, I will beg and plead him to help me translate the game.
(he helped me ID menu strings though)

Anyone know of a good decompiler for the SH2, I have yet to find one.
 

TheXev

New Member
Well, I have used IDA in the past, and I tested it with the Saturn code, but here is the kicker, there is no SH2 support, SH1,, SH3 and SH4 are there, but none worked (tried SH4 support on some Dreamcast files, nothing was detected as an executable. Anyone have better luck?

Another thing is, I want to be able to recompile the code, so does anyone have a compiler for the Saturn that will work with decompiled code?

*PS, is anyone else having problems accessing my images? They don’t seem to be loading, even for me*
 

antime

Extra Hard Mid Boss
The SH series is upward compatible, ie. a program compiled for the SH1 is a legal SH4 program. You probably forgot to set the endianness correctly. Also, IDA won't be able to detect an executable format, because there isn't any. Just load it as a pure binary and set the addresses correctly.

If the disassembly you get is Hitachi-syntax assembler you can use GAS to assemble it.
 

TheXev

New Member
A bit more progress on the menu (not possable without CyberWarriorX's help!)



I having problems getting IDA to decompile code that is nothing more then a listing of HEX values, but I hopefully have help with that. I am also searching for "GAS" but have yet to find it.
 
Top