0x2F000 mapped to BEC2F000, executed directly from ROM 0x2F000 hijack exception handler reroute ADDIU SP,SP,FF98 SW T0,0010 (SP) ;store Tns, Ans, and Sns SW T1,0014 (SP) SW T2,0018 (SP) SW T3,001C (SP) SW T4,0020 (SP) SW T5,0024 (SP) SW T6,0028 (SP) SW T7,002C (SP) SW T8,0030 (SP) SW T9,0034 (SP) SW A0,0038 (SP) SW A1,003C (SP) SW A2,0040 (SP) SW A3,0044 (SP) SW S0,0048 (SP) SW S1,004C (SP) SW S2,0050 (SP) SW S3,0054 (SP) SW S4,0058 (SP) SW S5,005C (SP) SW S6,0060 (SP) SW S7,0064 (SP) //0x2F05C: ADDU T0,SP,R0 ADDIU T1,T0,0068 ;T1=SP+68: LUI T2,8000 ORI T2,T2,0180 ;T2=80000180 //0x2F06C: LW T3,0010 (T0) ;T3=previously stored register NOP BEQ T2,T3,+6 ;branch if match found NOP ADDIU T0,T0,0004 ;T0+=4 next register BNE T0,T1,-6 ;loop until match found NOP BGEZ R0,+4 ;skip if no match ever found NOP //0x2F090: LUI T2,A000 ORI T2,T2,0120 ;T2=A0000120 SW T2,0010 (T0) ;replace 80000180 with A0000120 //0x2F09C: LW T0,0010 (SP) LW T1,0014 (SP) LW T2,0018 (SP) LW T3,001C (SP) LW T4,0020 (SP) LW T5,0024 (SP) LW T6,0028 (SP) LW T7,002C (SP) LW T8,0030 (SP) LW T9,0034 (SP) LW A0,0038 (SP) LW A1,003C (SP) LW A2,0040 (SP) LW A3,0044 (SP) LW S0,0048 (SP) LW S1,004C (SP) LW S2,0050 (SP) LW S3,0054 (SP) LW S4,0058 (SP) LW S5,005C (SP) LW S6,0060 (SP) LW S7,0064 (SP) ADDIU SP,SP,0068 ERET ------------ Other Stuff: 0x2FB00 settings 0x70 long 4754 GT //could also be palette... 0101 selected pattern and something? 0307 # patterns, # colors? 00 010101 probably scroll on, menuscroll on, sound on 0x30000 code list 0x0 # games in list 0x4 game codes gamestructure: string: game name, null terminated byte: number of headings under game headingstructure: string: code name, null terminated byte (signed): number of codes following. If a negative value, the code is deactivated note: in both of these lists, 0 is 0, not 1. Nothing denotes the end of the list, but the official utilities always placed a 0. There are either some common phrases that are encoded or some simple rle for the text displayed in headings is used. This list is incomplete - known values: F6 Key F7 Have F8 Lives F9 Energy FA Health FB Activate FC Unlimited FD Player FE Always FF Infinite