2. Skip to content

2. SEGA Partition Structure

Games on the Ring* series use MBR partitioned drives. The core partition structure is as follows:

Partition Size Format
1 1.5GiB NTFS
2 1.5GiB NTFS
3 remaining space Extended Partition (LBA)
4

Extended partitions are structed by a linked list of partition headers at the beginning of each partition. These headers reserve 3Fh blocks for their information, however only use a single block at the start of this for actual data. SEGA make use of the remaining blocks in the first extended partition header for SEGA boot records.

Partition offset (blocks) Content
0 Extended partition header
1 SEGA Partition Description
2 SEGA Boot Record (1)
3 SEGA Boot Record (2)
4-63 Additional data storage
64-… Actual partition data

Two identical copies of the SEGA Boot Record are present. This is for redundancy; if either is corrupted, an attempt will be made to restore it from the other copy.

2.1 SEGA Partition Description

The SEGA Partition Description (SPD) largely echos the structure laid out by the extended partition headers, however is the table SEGA loaders preferentially read. It takes up all 512 bytes of the block; it’s structure is as follows:

0123456789101112131415CRC32Ver.Slot?Block sizeBlock CountSlot?Block sizeBlock CountSlot?Block sizeBlock Count27 additional repetitions omitted (total 31)Slot?Block sizeBlock Count

The slot content types are:

Value Meaning
10h original0
11h original1
20h patch0
21h patch1
30h os
40h app_data

2.2 SEGA Boot Record

The SEGA Boot Record (SBR) contains detailed information about the content of each slot.

0123456789101112131415CRC32Ver48 bytes of paddingBootslotStatus112 bytes of paddingos slotoriginal0 slotappdata slotpatch0 slotpatch1 slot

2.2.1 Slot information structure

0123456789101112131415IDTimestampVersionsegcountsegsizehwinstantorgtimeorgversionosverossegcount

2.2.2 Timestamp format

2 bytes1 byte1 byte1 byte1 byte1 byte1 byteYearMonthDayHourMinuteSecond