Copy Link
Add to Bookmark
Report

Sega Saturn hacking docs (part 7)

SegaSaturn's profile picture
Published in 
SegaSaturn
 · 4 years ago
Sega Saturn hacking docs (part 7)
Pin it

Finding Data


(Last Updated December 25, 2002)

List of updates
-December 25, 2002 - First release

Introduction
First of all, as with all my hacking docs this is a WIP(Work-in-progress). I'm sure there will be info that will be inaccurate. But that's what you people reading this are for(so you can help me fix my mistakes ;), right?

Please, if you want to copy portions (whole or in part) of this document, please, at least email me and ask. Linking is fine, just mention where the original doc was found.

Getting Started
This document basically uses Magic School Lunar as a good example of how to go about searching a game for various data.

Simple is Fast
It's funny how people forget that simple approaches can sometimes reap huge rewards. This is especially true with Saturn hacking. One thing I always do when I look at a new game is search through the file/directory listing and see if the developers left any nice clues. Here's what I found off the bat with MSL:

Volume in drive F is MAHOU_GAKUEN_LUNAR

Volume Serial Number is B98C-5260

 
Directory of F:\

03/10/1997 05:00 AM 156,912 0
03/10/1997 08:09 AM 253,104 1
06/10/1997 03:05 AM 323,424 2
03/10/1997 05:04 AM 44,848 3
03/10/1997 05:04 AM 116,144 4
21/09/1997 07:37 AM 151 ABSTRACT.TXT
31/08/1997 03:48 PM 2,048 ASCII.FNT
[snip]


The initial program always starts with 0/A/etc. and is always at the top of the list. It just so happens with MSL that they labelled all the programs components by number. So basically "0" is our initial program. "1", "2", "3", and "4" are loaded at a later time.

Hmm... Now I wonder what "ASCII.FNT" could be... ASCII font perhaps? :)

 
17/09/1997 01:23 PM 53,498 KANJI.FNT


And this one would probably be the kanji.

It would now be appropriate to look at the fonts, and note any special order, etc. A quick look at ASCII.FNT reveals it's a mixture of 8x16 and 8x8 fonts.

Looking at KANJI.FNT reveals it's 16x16, and appears to be in shift-jis order. There also appears to be some kind of garbage near the beginning of the file. After looking at the file in Hex Workshop, it's discovered that the beginning of the file is really just a shift-jis table of values. We now know that whatever text is displayed with this font is going to be in shift-jis.

A painful process
The next step would be trying to find any and all text. Since we know the text is probably in shift-jis, we just need some text to search. Load up MSL on a Saturn(or if you enjoy pain, an emulator) and go to a part in the game where dialogue text is showing. Write down 3 or 4 characters (don't pick kanji characters) find out their equivalents in shift jis. I usually use this shift-jis table:

http://www.rtpro.yamaha.co.jp/RT/docs/misc/kanji-sjis.html

Now make an image of the cd using cdrwin. Load the resulting image in Hex Workshop and search for those 3 or 4 kana you wrote down the values for. You should have only 1, possibly two results if you're lucky. If not, start up the game again and write down a few more kana and try again.

Now you should only have one result. Look at the offset where the data is. Write this down. Now grab a calculator and divide the offset by 2352. This should give you which sector the data is located at.

Now run a program like isobuster, load up the image, and look for a file which has a starting sector that's the closest to our offset, yet is less than it.

Load up that file in Hex Workshop(or equivalent) and make sure that those same 3 or 4 kana you chose are indeed in that file. If they are, that's your file. It turns out in MSL's case, S*.FLD files contain the game's dialogue.

Questions
If there's an important topic I may have missed feel free to email and ask.

Special Thanks
-The Saturn fans that keep the system alive
-Artemio Urbina for his hacking help
-SkankinMonkey for being ereet
-Sega for making one of my all-time favourite systems.

Cyber Warrior X
cwx@softhome.net

Source: http://www.cyberwarriorx.com

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT