This volume details the hardware interface between the MN103S CPU and the ROHM BH6590KU servo/signal processor in the GCC-4241N recipient. Mapping these registers is essential for implementing high-gain tracking for Xbox Game Discs (XGD), which have tighter track geometry than standard DVDs [cite: User Summary, Volume I: GDR-8050L Spec].
The BH6590KU manages the laser focus, tracking, and spindle motor control. The MN103S communicates with it through a series of memory-mapped registers and a high-speed serial interface (SPI) [cite: User Summary].
The donor GDR-8050L uses the AN22107A driver. Its high-gain "tuner" routine at 0x90030687 is hardcoded for that specific chip [cite: Volume I: GDR-8050L Spec]. Since the 4241N uses the BH6590KU, we must intercept this call and redirect it to a Servo Shim in our RAM cave that translates the intent into BH6590KU register writes [cite: User Summary, Volume I: GDR-8050L Spec].
The following internal register offsets within the BH6590KU logic control the physical behavior of the laser during tracking [cite: User Summary].
| Parameter | Register Offset | Description |
|---|---|---|
| Focus Gain | 0x0042 |
Adjusts the sensitivity of the lens's vertical movement. |
| Tracking Gain | 0x0044 |
Controls the sensitivity of horizontal track following; critical for XGD [cite: User Summary]. |
| Focus Offset | 0x0048 |
Fine-tunes the focal point for specific media layers (DL) [cite: User Summary]. |
| Tracking Offset | 0x004A |
Corrects lateral alignment errors during high-speed seek. |
This routine is injected at 0x40008600. It mimics the behavior of the donor's 0x90030687 routine but uses native 4241N driver commands [cite: 129_perfect_trampoline_v18.py, Volume I: GDR-8050L Spec].
; MN103S Assembly: BH6590KU High-Gain Shim
; Target: RAM Cave 0x40008600
Servo_HighGain_Shim:
mov 0x0044, d0 ; Target: Tracking Gain Register
mov 0x7F, d1 ; High-Gain Value (Maximum sensitivity)
call Native_SPI_Write; Write to BH6590KU Serial Interface
mov 0x0042, d0 ; Target: Focus Gain Register
mov 0x6A, d1 ; Optimized value for XGD pits
call Native_SPI_Write
ret ; Return to main firmware loop
To enable safe tracking of original Xbox discs, we must hook the native 4241N "Dual Layer Init" routine [cite: User Summary].
| Hook Point | ROM Offset | Description |
|---|---|---|
| DL Servo Init | 0x38B4A |
Initializes the BH6590KU for DVD-9 media. Intercept here to apply XGD gain offsets [cite: User Summary]. |
| Laser Power DAC | 0x3910C |
Adjusts physical laser diode output for high-speed reading. |
Xbox discs (XGD) utilize the same physical layer properties as Dual-Layer DVDs but with a tighter track pitch in the "Game Partition." By triggering the native DL Servo Init (recipient logic) rather than copying the donor's register values, we ensure the BH6590KU performs a safe physical calibration before our high-gain shim applies the final tweaks [cite: User Summary].