Naomi CF boot: Difference between revisions
From pcbotaku
Jump to navigationJump to search
Created page with "category:Naomi The following is copy/pasted, unconfirmed, and believed to be incomplete, but probably a nice starting point. # Read ATA IDENTIFY DEVICE data. # Read 2 byte..." |
No edit summary |
||
| Line 3: | Line 3: | ||
The following is copy/pasted, unconfirmed, and believed to be incomplete, but probably a nice starting point. | The following is copy/pasted, unconfirmed, and believed to be incomplete, but probably a nice starting point. | ||
# Read ATA IDENTIFY DEVICE data. | #Read ATA IDENTIFY DEVICE data. | ||
#Read 2 bytes of the CF serial number (offset +0x24 in the identify structure). [This means games are locked to a specific card, i.e. copying data from one official Sega card to another official Sega card most likely won't work, unless by extreme coincidence the 2 bytes read have identical values.] | |||
# Read 2 bytes of the CF serial number (offset +0x24 in the identify structure). | #Use these 2 bytes as a word, and add 0x20 to the value. This resulting value will give the location of the xor "key" data sector. | ||
[This means games are locked to a specific card, i.e. copying data from one official Sega card to another official Sega card most likely won't work, unless by extreme coincidence the 2 bytes read have identical values.] | #Go to that sector, and xor this data (byte by byte) with the data in encrypted sector 0x277. | ||
#Use the same two bytes of the serial number as above as a word, but this time add 0x19. | |||
# Use these 2 bytes as a word, and add 0x20 to the value. This resulting value will give the location of the xor "key" data sector. | #Go to that sector, compute a sum of 16-bit words, accumulating in a 32-bit dword. | ||
#This value must match the 32-bit dword stored at offset 0x38 in sector 0x1D7. | |||
# Go to that sector, and xor this data (byte by byte) with the data in encrypted sector 0x277. | #The 8-byte manufacturer ID must match a specific value. [Hagiwara Sys-Com cards only.] | ||
# Use the same two bytes of the serial number as above as a word, but this time add 0x19. | |||
# Go to that sector, compute a sum of 16-bit words, accumulating in a 32-bit dword. | |||
# This value must match the 32-bit dword stored at offset 0x38 in sector 0x1D7. | |||
# The 8-byte manufacturer ID must match a specific value. [Hagiwara Sys-Com cards only.] | |||
Revision as of 10:02, 24 April 2011
The following is copy/pasted, unconfirmed, and believed to be incomplete, but probably a nice starting point.
- Read ATA IDENTIFY DEVICE data.
- Read 2 bytes of the CF serial number (offset +0x24 in the identify structure). [This means games are locked to a specific card, i.e. copying data from one official Sega card to another official Sega card most likely won't work, unless by extreme coincidence the 2 bytes read have identical values.]
- Use these 2 bytes as a word, and add 0x20 to the value. This resulting value will give the location of the xor "key" data sector.
- Go to that sector, and xor this data (byte by byte) with the data in encrypted sector 0x277.
- Use the same two bytes of the serial number as above as a word, but this time add 0x19.
- Go to that sector, compute a sum of 16-bit words, accumulating in a 32-bit dword.
- This value must match the 32-bit dword stored at offset 0x38 in sector 0x1D7.
- The 8-byte manufacturer ID must match a specific value. [Hagiwara Sys-Com cards only.]