A game based on the Ougon Yuusha Goldran anime series.
Interrupt Handler#
A generic error handler for displaying an error message, called by interrupt vectors.
To activate it, we can replace one of the function calls for page 0 to instead call one of the interrupt vectors, by applying patch 00004a10 = 02 00.
Error strings:
BAS ERROR
ADDRESS ERROR
ILLEGAL INSTRUCTION
ZERO DIVIDE
PRIVILEGE VIOLATION
LINE 1010 EMULATOR
LINE 1111 EMULATOR
ADDRESS BOUNDS ERROR
#0 WINDOW TOO MANY OPEN/CLOSE
#1 WINDOW SAVE AREA OVER FLOW
(Source: Original TCRF research)
Sound Test#
The unreferenced function 0000d024 contains a sound test that would have appeared in page 5. The 2 bottom rows display the pen position, either on pad or Storyware.
There's 2 changes that prevent this screen from loading:
- The page address table at offset 0000089a has the same address for page 6 in both indexes 5 and 6. Therefore, switching to page 5 loads the same scene as page 6;
- Function 00000dfa reads the page from its I/O data address, but when the index is 5, it's overridden with index 6:
00000e32 0c 47 00 05 cmpi.w #0x5,D7w
00000e36 66 00 00 06 bne.w LAB_00000e3e
00000e3a 3e 3c 00 06 move.w #0x6,D7w
We can set the correct address on the page address table and turn the above override into a no-op instruction with the following patch:
000008b0 = d0 24
00000e3a = 4e 71 4e 71
Controls:
Right/Left |
Increment / Decrement ID |
Up/Down |
Select entry |
Red Button |
Play |
Pen Button |
Fade-out sound |
(Source: Original TCRF research)