ROM:00273594 sub_273594 ; CODE XREF: sub_287E14+Ep ROM:00273594 ADD R2, R0, #0 ROM:00273596 MOV R0, #0 ROM:00273598 LSL R3, R2, #0x1C ROM:0027359A BNE def_2735CA ROM:0027359C ASR R2, R2, #4 ROM:0027359E CMP R2, #0x10 ROM:002735A0 BCS def_2735CA ROM:002735A2 ADR R3, jpt_2735A8 ROM:002735A4 LDRB R3, [R3,R2] ROM:002735A6 LSL R3, R3, #1 ROM:002735A8 ADD PC, R3 ROM:002735A8 ; --------------------------------------------------------------------------- ROM:002735AA ALIGN 4 ROM:002735AC jpt_2735A8 DCB 9 ; DATA XREF: sub_273594+Eo ROM:002735AD DCB 8 ROM:002735AE DCB 9 ROM:002735AF DCB 0xA ROM:002735B0 DCB 9 ROM:002735B1 DCB 9 ROM:002735B2 DCB 0xA ROM:002735B3 DCB 0xA ROM:002735B4 DCB 9 ROM:002735B5 DCB 9 ROM:002735B6 DCB 9 ROM:002735B7 DCB 0x1B ROM:002735B8 DCB 0x1B ROM:002735B9 DCB 0x1B ROM:002735BA DCB 0x1B ROM:002735BB DCB 0x1B ROM:002735BC ; --------------------------------------------------------------------------- ROM:002735BC ROM:002735BC case_1 ; CODE XREF: sub_273594+14j ROM:002735BC ; jumptable 002735A8 entry 1 ROM:002735BC MOV R0, #1 ROM:002735BE ROM:002735BE def_2735CA ; CODE XREF: sub_273594+6j ROM:002735BE ; sub_273594+Cj ... ROM:002735BE ; jumptable 002735A8 default entry ROM:002735BE ; jumptable 002735A8 entries 0,2,4,5,8-10 ROM:002735BE BX LR ROM:002735C0 ; --------------------------------------------------------------------------- ROM:002735C0 ROM:002735C0 case_7 ; CODE XREF: sub_273594+14j ROM:002735C0 ; jumptable 002735A8 entries 3,6,7 ROM:002735C0 CMP R1, #0x10 ROM:002735C2 BCS def_2735CA ROM:002735C4 ADR R3, jpt_2735CA ROM:002735C6 LDRB R3, [R3,R1] ROM:002735C8 LSL R3, R3, #1 ROM:002735CA ADD PC, R3 ROM:002735CA ; --------------------------------------------------------------------------- ROM:002735CC jpt_2735CA DCB 8 ; DATA XREF: sub_273594+30o ROM:002735CD DCB 7 ROM:002735CE DCB 7 ROM:002735CF DCB 8 ROM:002735D0 DCB 8 ROM:002735D1 DCB 7 ROM:002735D2 DCB 8 ROM:002735D3 DCB 8 ROM:002735D4 DCB 8 ROM:002735D5 DCB 8 ROM:002735D6 DCB 8 ROM:002735D7 DCB 7 ROM:002735D8 DCB 8 ROM:002735D9 DCB 7 ROM:002735DA DCB 8 ROM:002735DB DCB 8 ROM:002735DC ; --------------------------------------------------------------------------- ROM:002735DC ROM:002735DC case_13 ; CODE XREF: sub_273594+36j ROM:002735DC ; jumptable 002735CA entries 1,2,5,11,13 ROM:002735DC BX LR ROM:002735DE ; --------------------------------------------------------------------------- ROM:002735DE ROM:002735DE case_14 ; CODE XREF: sub_273594+36j ROM:002735DE ; jumptable 002735CA entries 0,3,4,6-10,12,14,15 ROM:002735DE MOV R0, #1 ROM:002735E0 ROM:002735E0 loc_2735E0 ; CODE XREF: sub_273594+54j ROM:002735E0 BX LR ROM:002735E2 ; --------------------------------------------------------------------------- ROM:002735E2 ROM:002735E2 case_15 ; CODE XREF: sub_273594+14j ROM:002735E2 ; jumptable 002735A8 entries 11-15 ROM:002735E2 CMP R1, #7 ROM:002735E4 BEQ loc_2735EA ROM:002735E6 CMP R1, #0xF ROM:002735E8 BNE loc_2735E0 ROM:002735EA ROM:002735EA loc_2735EA ; CODE XREF: sub_273594+50j ROM:002735EA MOV R0, #1 ROM:002735EC BX LR ROM:002735EC ; End of function sub_273594 ----------------routine 2---------------------------------------------- ROM:00287E74 sub_287E74 ; CODE XREF: sub_26A7A4+28p ROM:00287E74 ; sub_27B3EC+2Ap ... ROM:00287E74 PUSH {R4-R6,LR} ROM:00287E76 ADD R4, R2, #0 ROM:00287E78 ADD R5, R3, #0 ROM:00287E7A LDR R6, =0xA0963C ROM:00287E7C LDR R2, [R6] ROM:00287E7E CMP R2, #0 ROM:00287E80 BEQ loc_287EA6 --change to B to bypass below: 0xdo11 becomes 0xe011 ROM:00287E82 BL sub_273594 --calls above routine ROM:00287E86 CMP R0, #0 ROM:00287E88 BEQ loc_287EA6 ROM:00287E8A LDRB R0, [R4] ROM:00287E8C CMP R0, #0 ROM:00287E8E BEQ loc_287EA6 ROM:00287E90 LDR R1, [R5,#0x28] ROM:00287E92 LDR R2, [R5,#8] ROM:00287E94 ADD R2, R1, R2 ROM:00287E96 SUB R2, #0x10 ROM:00287E98 LDRB R2, [R2,#0xF] ROM:00287E9A CMP R2, #5 ROM:00287E9C BNE loc_287EB2 ROM:00287E9E LSL R0, R0, #0x19 ROM:00287EA0 BPL loc_287EAC ROM:00287EA2 MOV R0, #1 ROM:00287EA4 STR R0, [R6,#8] ROM:00287EA6 ROM:00287EA6 loc_287EA6 ; CODE XREF: sub_287E74+Cj ROM:00287EA6 ; sub_287E74+14j ... ROM:00287EA6 POP {R4-R6} ROM:00287EA8 POP {R3} ROM:00287EAA BX R3 ROM:00287EAC ; --------------------------------------------------------------------------- ROM:00287EAC ROM:00287EAC loc_287EAC ; CODE XREF: sub_287E74+2Cj ROM:00287EAC MOV R0, #0 ROM:00287EAE STR R0, [R6,#8] ROM:00287EB0 B loc_287EA6 ROM:00287EB2 ; --------------------------------------------------------------------------- ROM:00287EB2 ROM:00287EB2 loc_287EB2 ; CODE XREF: sub_287E74+28j ROM:00287EB2 CMP R2, #0x16 ROM:00287EB4 BNE loc_287EA6 ROM:00287EB6 LDRB R1, [R1,#0x16] ROM:00287EB8 LSL R2, R1, #0x1E ROM:00287EBA BPL loc_287EA6 ROM:00287EBC MOV R2, #2 ROM:00287EBE BIC R1, R2 ROM:00287EC0 AND R0, R2 ROM:00287EC2 ORR R0, R1 ROM:00287EC4 STRB R0, [R4] ROM:00287EC6 B loc_287EA6 ROM:00287EC6 ; End of function sub_287E74 --------------------routine 3------------------------------------------ ROM:002AA220 sub_2AA220 ; CODE XREF: sub_2AACC8+3A2p ROM:002AA220 PUSH {R3,R4,R7,LR} ROM:002AA222 ADD R1, R0, #0 ROM:002AA224 MOV R3, #0 ROM:002AA226 MOV R0, #0 ROM:002AA228 ROM:002AA228 loc_2AA228 ; CODE XREF: sub_2AA220+22j ROM:002AA228 LDRB R2, [R1,R0] ROM:002AA22A CMP R2, #0xCC ROM:002AA22C BNE loc_2AA23E ROM:002AA22E ADD R2, R1, R0 ROM:002AA230 LDRB R4, [R2,#1] ROM:002AA232 CMP R4, #0x95 ROM:002AA234 BNE loc_2AA23E ROM:002AA236 LDRB R2, [R2,#2] ROM:002AA238 CMP R2, #0x69 ROM:002AA23A BNE loc_2AA23E ROM:002AA23C MOV R3, #1 ROM:002AA23E ROM:002AA23E loc_2AA23E ; CODE XREF: sub_2AA220+Cj ROM:002AA23E ; sub_2AA220+14j ... ROM:002AA23E ADD R0, #1 ROM:002AA240 CMP R0, #0x5E ROM:002AA242 BLT loc_2AA228 ROM:002AA244 CMP R3, #0 ROM:002AA246 BEQ loc_2AA252 --could change this to branch: 0xd004 change to 0xe004 ROM:002AA248 LDRB R0, [R1,#8] ROM:002AA24A MOV R3, SP ROM:002AA24C MOV R2, #0x93 ROM:002AA24E BL sub_2AD804 ROM:002AA252 ROM:002AA252 loc_2AA252 ; CODE XREF: sub_2AA220+26j ROM:002AA252 POP {R3,R4,R7} ROM:002AA254 POP {R3} ROM:002AA256 BX R3 ROM:002AA256 ; End of function sub_2AA220 ROM:002AA256 -------------------routine 4-------------------------------------------- ROM:002AB9EC sub_2AB9EC ; CODE XREF: sub_2A8564+2Ep ROM:002AB9EC ROM:002AB9EC var_1C = -0x1C ROM:002AB9EC var_18 = -0x18 ROM:002AB9EC ROM:002AB9EC PUSH {R0-R7,LR} ROM:002AB9EE SUB SP, SP, #4 ROM:002AB9F0 ADD R7, R1, #0 ROM:002AB9F2 MOV R6, #0 ROM:002AB9F4 LDR R4, =0xA06FFC ROM:002AB9F6 LDR R2, =0x9662E8 ROM:002AB9F8 LDR R1, =0xA06BE8 ROM:002AB9FA STR R2, [R1,#0xC] ROM:002AB9FC LDR R2, =0x97E2E8 ROM:002AB9FE STR R2, [R4,#0x28] ROM:002ABA00 MOV R3, #0xFE ROM:002ABA02 AND R0, R3 ROM:002ABA04 LDR R3, =unk_3E6E44 ROM:002ABA06 STR R0, [R3] ROM:002ABA08 MOV R5, #0 ROM:002ABA0A CMP R0, #8 ROM:002ABA0C BEQ loc_2ABA1A ROM:002ABA0E CMP R0, #9 ROM:002ABA10 BEQ loc_2ABA1A ROM:002ABA12 CMP R0, #0 ROM:002ABA14 BEQ loc_2ABA1A ROM:002ABA16 CMP R0, #1 ROM:002ABA18 BNE loc_2ABA22 ROM:002ABA1A ROM:002ABA1A loc_2ABA1A ; CODE XREF: sub_2AB9EC+20j ROM:002ABA1A ; sub_2AB9EC+24j ... ROM:002ABA1A MOV R0, #1 ROM:002ABA1C STR R0, [R1] ROM:002ABA1E STR R0, [R1,#4] ROM:002ABA20 B loc_2ABA26 ROM:002ABA22 ; --------------------------------------------------------------------------- ROM:002ABA22 ROM:002ABA22 loc_2ABA22 ; CODE XREF: sub_2AB9EC+2Cj ROM:002ABA22 STR R5, [R1] ROM:002ABA24 STR R5, [R1,#4] ROM:002ABA26 ROM:002ABA26 loc_2ABA26 ; CODE XREF: sub_2AB9EC+34j ROM:002ABA26 ADD R0, R2, #0 ROM:002ABA28 MOVL R1, 0x400 ROM:002ABA2C BL sub_25F76C ROM:002ABA30 LDR R0, =0xA06FFC ROM:002ABA32 MOV R1, #0 ROM:002ABA34 ADD R0, #0x2C ROM:002ABA36 MOV R2, #0 ROM:002ABA38 STMIA R0!, {R1,R2} ROM:002ABA3A STMIA R0!, {R1,R2} ROM:002ABA3C LDR R0, [R4,#0x28] ROM:002ABA3E MOV R2, #4 ROM:002ABA40 LDRB R1, [R0] ROM:002ABA42 ORR R1, R2 ROM:002ABA44 STRB R1, [R0] ROM:002ABA46 LDR R0, [R4,#0x28] ROM:002ABA48 MOV R3, #1 ROM:002ABA4A ADD R0, #1 ROM:002ABA4C LDRB R1, [R0] ROM:002ABA4E ORR R1, R3 ROM:002ABA50 STRB R1, [R0] ROM:002ABA52 LDR R0, [R4,#0x28] ROM:002ABA54 MOV R3, #2 ROM:002ABA56 ADD R0, #0xE ROM:002ABA58 LDRB R1, [R0] ROM:002ABA5A ORR R1, R3 ROM:002ABA5C STRB R1, [R0] ROM:002ABA5E LDR R0, [R4,#0x28] ROM:002ABA60 MOV R3, #0x10 ROM:002ABA62 ADD R0, #2 ROM:002ABA64 LDRB R1, [R0] ROM:002ABA66 ORR R1, R3 ROM:002ABA68 STRB R1, [R0] ROM:002ABA6A LDR R0, [R4,#0x28] ROM:002ABA6C ADD R0, #5 ROM:002ABA6E LDRB R1, [R0] ROM:002ABA70 ORR R1, R2 ROM:002ABA72 STRB R1, [R0] ROM:002ABA74 LDR R0, [R4,#0x28] ROM:002ABA76 MOV R2, #0x80 ROM:002ABA78 ADD R0, #6 ROM:002ABA7A LDRB R1, [R0] ROM:002ABA7C ORR R1, R2 ROM:002ABA7E STRB R1, [R0] ROM:002ABA80 LDR R0, [R4,#0x28] ROM:002ABA82 MOV R2, #0x60 ROM:002ABA84 ADD R0, #0x80 ROM:002ABA86 ADD R1, R7, #0 ROM:002ABA88 BL sub_25F810 ROM:002ABA8C ADD R3, R4, #0 ROM:002ABA8E LDR R2, =0x4004 ROM:002ABA90 LDR R1, =0x3FF ROM:002ABA92 LDR R0, [R4,#8] ROM:002ABA94 BL sub_27E118 ROM:002ABA98 LDR R0, [SP,#0x28+var_18] ROM:002ABA9A LDRB R0, [R0] ROM:002ABA9C STRB R0, [R4] ROM:002ABA9E LDR R0, [SP,#0x28+var_1C] ROM:002ABAA0 STR R0, [R4,#8] ROM:002ABAA2 STRB R5, [R4,#4] ROM:002ABAA4 STRB R5, [R4,#5] ROM:002ABAA6 ADD R5, R4, #0 ROM:002ABAA8 ADD R5, #0x20 ROM:002ABAAA B loc_2ABB00 ROM:002ABAAC ; --------------------------------------------------------------------------- ROM:002ABAAC ROM:002ABAAC loc_2ABAAC ; CODE XREF: sub_2AB9EC+11Aj ROM:002ABAAC ADD R0, R4, #0 ROM:002ABAAE BL sub_2B5B54 ROM:002ABAB2 LDR R0, [R4,#8] ROM:002ABAB4 ADD R2, R0, #0 ROM:002ABAB6 ADD R0, #1 ROM:002ABAB8 STR R0, [R4,#8] ROM:002ABABA LDR R1, [R4,#0x28] ROM:002ABABC LDRB R2, [R1,R2] ROM:002ABABE STRB R2, [R5,#5] ROM:002ABAC0 MOVL R2, 0x3000 ROM:002ABAC4 CMP R0, R2 ROM:002ABAC6 BLS loc_2ABAD4 ROM:002ABAC8 MOVL R2, 0x4000 ROM:002ABACC CMP R0, R2 ROM:002ABACE BCS loc_2ABAD4 ROM:002ABAD0 MOV R2, #0x83 ROM:002ABAD2 STRB R2, [R5,#5] ROM:002ABAD4 ROM:002ABAD4 loc_2ABAD4 ; CODE XREF: sub_2AB9EC+DAj ROM:002ABAD4 ; sub_2AB9EC+E2j ROM:002ABAD4 LDRB R2, [R5,#5] ROM:002ABAD6 CMP R2, #0xB7 ROM:002ABAD8 BNE loc_2ABADC ROM:002ABADA LDRB R6, [R1,R0] ROM:002ABADC ROM:002ABADC loc_2ABADC ; CODE XREF: sub_2AB9EC+ECj ROM:002ABADC LDR R1, =0xA823 ROM:002ABADE CMP R0, R1 ROM:002ABAE0 BNE loc_2ABAEE ROM:002ABAE2 ADD R1, R6, #0 ROM:002ABAE4 ADD R0, R4, #0 ROM:002ABAE6 LDRB R2, [R4] ROM:002ABAE8 BL sub_2794A0 ROM:002ABAEC B loc_2ABB00 ROM:002ABAEE ; --------------------------------------------------------------------------- ROM:002ABAEE ROM:002ABAEE loc_2ABAEE ; CODE XREF: sub_2AB9EC+F4j ROM:002ABAEE ADD R0, R4, #0 ROM:002ABAF0 BL sub_2873C4 ROM:002ABAF4 LDR R1, =0x9569 ROM:002ABAF6 LDR R0, [R4,#8] ROM:002ABAF8 CMP R0, R1 ROM:002ABAFA BEQ loc_2ABB08 ROM:002ABAFC CMP R0, #0x93 ROM:002ABAFE BCC loc_2ABB08 ROM:002ABB00 ROM:002ABB00 loc_2ABB00 ; CODE XREF: sub_2AB9EC+BEj ROM:002ABB00 ; sub_2AB9EC+100j ROM:002ABB00 LDR R1, =0xCFFF ROM:002ABB02 LDR R0, [R4,#8] ROM:002ABB04 CMP R0, R1 ROM:002ABB06 BCC loc_2ABAAC ROM:002ABB08 ROM:002ABB08 loc_2ABB08 ; CODE XREF: sub_2AB9EC+10Ej ROM:002ABB08 ; sub_2AB9EC+112j ROM:002ABB08 LDR R1, [R4,#0x28] ROM:002ABB0A MOV R2, #0x60 ROM:002ABB0C ADD R1, #0x80 ROM:002ABB0E ADD R0, R7, #0 ROM:002ABB10 BL sub_25F810 ROM:002ABB14 ADD SP, SP, #0x14 ROM:002ABB16 POP {R4-R7} ROM:002ABB18 POP {R3} ROM:002ABB1A BX R3 ROM:002ABB1A ; End of function sub_2AB9EC -----------------------routine 5-------------------------------------- ROM:002ABFF4 ROM:002ABFF4 loc_2ABFF4 ; CODE XREF: ROM:002ABFEAj ROM:002ABFF4 CMP R5, #0xFF ROM:002ABFF6 BNE loc_2ABFE6 ROM:002ABFF8 LDR R1, =0x93679E ROM:002ABFFA MOV R0, #1 ROM:002ABFFC STRB R0, [R1] ROM:002ABFFE LSL R0, R0, #0x11 ROM:002AC000 BL sub_2A4CD8 ROM:002AC004 ADD R4, R0, #0 ROM:002AC006 MOVL R1, 0x20000 ROM:002AC00A ADD R0, R4, #0 ROM:002AC00C BL sub_25F76C ROM:002AC010 MOVL R1, 0x20000 ROM:002AC014 ADD R0, R4, #0 ROM:002AC016 BL sub_2695C8 ROM:002AC01A ADD R0, R4, #0 ROM:002AC01C BL sub_29D3AC ROM:002AC020 MOVL R0, 0x10000 ROM:002AC024 BL sub_2A4CD8 ROM:002AC028 ADD R4, R0, #0 ROM:002AC02A MOVL R1, 0x10000 ROM:002AC02E ADD R0, R4, #0 ROM:002AC030 BL sub_25F76C ROM:002AC034 MOVL R1, 0x10000 ROM:002AC038 ADD R0, R4, #0 ROM:002AC03A BL sub_2695D0 ROM:002AC03E ADD R0, R4, #0 ROM:002AC040 BL sub_29D3AC ROM:002AC044 MOVL R0, 0x40000 ROM:002AC048 BL sub_2A4CD8 ROM:002AC04C ADD R4, R0, #0 ROM:002AC04E MOVL R1, 0x40000 ROM:002AC052 ADD R0, R4, #0 ROM:002AC054 BL sub_25F76C ROM:002AC058 MOVL R2, 0x40000 ROM:002AC05C ADD R1, R4, #0 ROM:002AC05E MOV R0, #0 ROM:002AC060 BL sub_2695D8 ROM:002AC064 ADD R0, R4, #0 ROM:002AC066 BL sub_29D3AC ROM:002AC06A MOVL R0, 0x10000 ROM:002AC06E BL sub_2A4CD8 ROM:002AC072 ADD R4, R0, #0 ROM:002AC074 MOVL R1, 0x10000 ROM:002AC078 ADD R0, R4, #0 ROM:002AC07A BL sub_25F76C ROM:002AC07E MOVL R1, 0x10000 ROM:002AC082 ADD R0, R4, #0 ROM:002AC084 BL sub_269554 ROM:002AC088 ADD R0, R4, #0 ROM:002AC08A BL sub_29D3AC ROM:002AC08E MOVL R0, 0x10000 ROM:002AC092 BL sub_2A4CD8 ROM:002AC096 ADD R4, R0, #0 ROM:002AC098 MOVL R1, 0x10000 ROM:002AC09C ADD R0, R4, #0 ROM:002AC09E B loc_2AC0B0 ROM:002AC09E ; --------------------------------------------------------------------------- ROM:002AC0A0 dword_2AC0A0 DCD 0x3FA1C8 ; DATA XREF: ROM:002ABCC0r ROM:002AC0A0 ; ROM:loc_2ABD66r ROM:002AC0A4 dword_2AC0A4 DCD 0x9367AC ; DATA XREF: ROM:002ABCC6r ROM:002AC0A4 ; ROM:002ABE80r ... ROM:002AC0A8 dword_2AC0A8 DCD 0x7530 ; DATA XREF: ROM:002ABD68r ROM:002AC0AC dword_2AC0AC DCD 0x93679E ; DATA XREF: ROM:002ABFECr ROM:002AC0AC ; ROM:002ABFF8r ROM:002AC0B0 ; --------------------------------------------------------------------------- ROM:002AC0B0 ROM:002AC0B0 loc_2AC0B0 ; CODE XREF: ROM:002AC09Ej ROM:002AC0B0 BL sub_25F76C ROM:002AC0B4 MOVL R1, 0x10000 ROM:002AC0B8 ADD R0, R4, #0 ROM:002AC0BA BL sub_2695E0 ROM:002AC0BE ADD R0, R4, #0 ROM:002AC0C0 BL sub_29D3AC ROM:002AC0C4 MOVL R0, 0x100000 ROM:002AC0C8 BL sub_2A4CD8 ROM:002AC0CC ADD R4, R0, #0 ROM:002AC0CE MOVL R1, 0x100000 ROM:002AC0D2 ADD R0, R4, #0 ROM:002AC0D4 BL sub_25F76C ROM:002AC0D8 MOVL R2, 0x100000 ROM:002AC0DC ADD R1, R4, #0 ROM:002AC0DE LSL R0, R2, #9 ROM:002AC0E0 BL sub_2695E8 ROM:002AC0E4 MOVL R2, 0x100000 ROM:002AC0E8 ADD R1, R4, #0 ROM:002AC0EA LDR R0, =0x20100000 ROM:002AC0EC BL sub_2695E8 ROM:002AC0F0 MOVL R2, 0x100000 ROM:002AC0F4 ADD R1, R4, #0 ROM:002AC0F6 LDR R0, =0x20200000 ROM:002AC0F8 BL sub_2695E8 ROM:002AC0FC MOVL R2, 0x100000 ROM:002AC100 ADD R1, R4, #0 ROM:002AC102 LDR R0, =0x20300000 ROM:002AC104 BL sub_2695E8 ROM:002AC108 ADD R0, R4, #0 ROM:002AC10A BL sub_29D3AC ROM:002AC10E ROM:002AC10E loc_2AC10E ; CODE XREF: ROM:loc_2AC10Ej ROM:002AC10E B loc_2AC10E ROM:002AC10E ; --------------------------------------------------------------------------- ROM:002AC110 dword_2AC110 DCD 0x20100000 ; DATA XREF: ROM:002AC0EAr ROM:002AC114 dword_2AC114 DCD 0x20200000 ; DATA XREF: ROM:002AC0F6r ROM:002AC118 dword_2AC118 DCD 0x20300000 ; DATA XREF: ROM:002AC102r