| Home | Forums | What's new | Resources | |
| Saturn Boot Process |
| Mask of Destiny - Aug 14, 2005 |
| Mask of Destiny | Aug 15, 2005 | ||||||
It's a 4 bit parallel protocol with 2 bits for handshaking. I think I gave you source for it a while back. After I got it working I realized that my handshaking was quite innefficient so if I should be able to get a decent speedup with a rewrite. It needs it anyway to fix some initial sync issues.
Figured as much. Oh well. <!--QuoteBegin-c gfm2 Unless I'm wrong, you'd still need a modchip (or swap trick) for the Saturn to even read anything off the disc and go through the boot process. Then again this is not my area of expertise. [/quote] From what I've gathered, the first 16 sectors are accessible before the security ring check. The software in the boot ROM loads the IP.BIN from these sectors and checks it for validity before doing the security ring authorization. So if I can find an exploitable bug in that initial code, I can at least get small programs running. My transfer software is quite small and would fit easily in the first 16 sectors giving me access to a lot more data off of the attached PC. It's not a good solution for an end-product (apart from little demos anyway), but it will speed up development. | |||||||
| CyberWarriorX | Aug 15, 2005 | ||||||
Yes they certainly are. All other sectors are inaccessible until a disc is authenticated, no matter what you do. The thing to note here is that all you need is "a disc". It can even be an audio cd if you so choose. An interesting thing I learned about the cd block is that the only time the ring is ever checked is if a saturn disc(original or not) is in. Regular data, audio, and mixed mode discs automatically pass authentication(the cd block will also return a value depending on what kind of disc is detected). One has to wonder what the cd block checks so that it's able to tell the difference between a regular data disc and a saturn disc. I already checked the ip checking code myself for any exploitable flaws, and I certainly didn't see any(kudos to sega on that one). That being said, anything mapped to 0x22000000 can get away with just a simple ip check(that's the exploit the AR carts use). Cyber Warrior X | |||||||
| Mask of Destiny | Aug 15, 2005 | |||||||||
Interesting. My guess would be it checks for "SEGA SEGASATURN" at the beginning of the first sector. Should be easy enough to test if you have a PAR. I might take a whack at it anyway, I need to brush up on my SuperH assembly. However, since you've taken a look at it, do you mind revealing the approximate offset where the code lives in ROM? Also, do you know if the security and area codes are checked by a byte by byte comparison or some sort of checksum (this wouldn't seem to be particularly helpful for the task at hand, but I would like to be able to eliminate as much Sega IP from any homebrew I do as possible)? | ||||||||||
| CyberWarriorX | Aug 16, 2005 | |||
It was about 0x00001A4A on the rom I used. The comparisons were more along the lines of a long-word by long-word check, but yeah, it certainly makes sure it matches. Cyber Warrior X | ||||