Sega Saturn hacking docs (part 5)
Fun with Pointers!
(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 will probably be the shortest document of all in the series. As Saturn pointers are insanely easy to learn.
Crash Course
Alright, the first thing you should realize is that pointers (and everything else) are stored in Big Endian format. So basically, if you were running Hex Workshop and were looking for "0x25E00080" in a file, you would literally type "25E00080" in the search window.
Next, there are 2 pointer sizes: 32-bit and 16-bit. 32-bit are usually used to reference actual SH2 memory locations (there are used quite a lot). 16-bit pointers aren't quite as common, and seem to be mostly used for referencing text data.
Lastly, pointers that aren't pointing to actual memory addresses could have any starting point, and/or may have multiple offsets declared somewhere later in the data.
Final Word
Saturn pointers are easy.
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