This volume provides the structural mapping of the firmware's dispatchers. It covers the Interrupt Vector Table (IVT) for hardware stability and the primary SCSI Jump Tables required for command redirection and hybrid logic injection [cite: User Summary, 129_perfect_trampoline_v18.py, 4241N_Corrected_Jump_Table.txt].
The IVT resides at the very beginning of the 512KB binary. It manages the CPU's response to asynchronous hardware events. For a stable RAM Cave payload, these vectors must be respected to prevent timing collisions during SHA1/RC4 calculations [cite: User Summary, Volume X: Crypto Engine Analysis].
| Vector Name | ROM Offset | Description / Hybrid Relevance |
|---|---|---|
| Reset Vector | 0x00000000 |
Initial entry point; performs cold boot and register initialization. |
| Timer Interrupt | 0x00000008 |
Drives the servo loop; may need to be suppressed during hash generation [cite: User Summary]. |
| SCSI Bus IRQ | 0x00000010 |
Triggered when a new Command Descriptor Block (CDB) arrives at 0x840. |
| External IRQ | 0x00000018 |
Used for tray sensor monitoring (Auth Reset trigger) [cite: 4241N_Mechanical_Analysis.txt]. |
The MN103S Program Status Word (psw) can be manipulated to mask interrupts during critical security handshakes. This prevents the "jitter" caused by the servo loop from corrupting the 160-bit SHA1 digest [cite: Volume X: Crypto Engine Analysis].
The 4241N firmware uses a set of jump tables to route incoming SCSI commands to their respective handlers. Modifying these is the primary method for injecting hybrid logic [cite: 4241N_Corrected_Jump_Table.txt, 129_perfect_trampoline_v18.py].
Base Offset: 0x721E6 [cite: 4241N_Corrected_Jump_Table.txt]
| OpCode | Target Offset | Handler Description |
|---|---|---|
0x00 |
0x721E6 |
Test Unit Ready (TUR) [cite: gcc_hitachi_flasher.c]. |
0x1B |
0x7222E |
Mechanical / Spindle Control (Hybrid Hook Point) [cite: 4241N_Mechanical_Analysis.txt]. |
Base Offset: 0x72266 [cite: 4241N_Corrected_Jump_Table.txt]
| OpCode | Target Offset | Frankenstein Implementation |
|---|---|---|
0xE7 |
0x72282 |
Vendor Memdump: Pointed to 0x40008200 [cite: 129_perfect_trampoline_v18.py]. |
0xEE |
TBD | Peek: Recommended entry for memory reading [cite: pp_win.c]. |
0xEF |
TBD | Poke: Recommended entry for memory writing [cite: pp_win.c]. |
The Mode Sense (10) command at 0x27198 uses a dedicated table to dispatch mode pages. This is where we catch the Page Code 0x3E console challenge [cite: 129_perfect_trampoline_v18.py].
| Page Code | Table Offset | Description |
|---|---|---|
0x01 |
0x271B0 |
Read/Write Error Recovery Page. |
0x3E |
0x271E0 |
Xbox Security Challenge Page (Hybrid Hook Point) [cite: 129_perfect_trampoline_v18.py]. |
Used by the SCSI interrupt handler to validate that the incoming command has the correct number of bytes (6, 10, or 12) before processing [cite: gcc_hitachi_flasher.c].
; CDB Length Validation Table (ROM)
Offset 0x72000: 06 06 06 06 06 06 06 06 ... (Group 0: 6 Bytes)
Offset 0x72020: 0A 0A 0A 0A 0A 0A 0A 0A ... (Group 1: 10 Bytes)
Offset 0x72040: 0C 0C 0C 0C 0C 0C 0C 0C ... (Group 2: 12 Bytes)