0x08000002 unaligned 0x08000004 01010100 andeq r0, r1, r1, lsl 2 0x08000008 00000000 andeq r0, r0, r0 0x0800000c 00000000 andeq r0, r0, r0 0x08000010 01002800 eoreq r0, r8, r1 0x08000014 01000000 andeq r0, r0, r1 0x08000018 00000000 andeq r0, r0, r0 0x0800001c 00000000 andeq r0, r0, r0 0x08000020 60b00000 andeq fp, r0, r0, rrx 0x08000024 00000005 streq r0, [r0, -0] 0x08000028 34000000 andeq r0, r0, r4, lsr r0 0x0800002c 00002800 eoreq r0, r8, r0 0x08000030 1c001900 andseq r0, sb, ip, lsl r0 ;-- section..text: ;-- .text: ;-- pc: ;-- r15: ┌ 160: sym.viDSnips_ShowJpeg (int16_t arg1, int16_t arg2); │ ; arg int16_t arg1 @ r0 │ ; arg int16_t arg2 @ r1 │ 0x08000034 f8b5 push {r3, r4, r5, r6, r7, lr} ; [01] -r-x section size 1856 named .text │ 0x08000036 274d ldr r5, [0x080000d4] ; [0x80000d4:4]=0 │ 0x08000038 c022 movs r2, 0xc0 │ 0x0800003a 0e1c adds r6, r1, 0 ; arg2 │ 0x0800003c 5202 lsls r2, r2, 9 │ 0x0800003e 071c adds r7, r0, 0 ; arg1 │ 0x08000040 0021 movs r1, 0 ; int16_t arg2 │ 0x08000042 281c adds r0, r5, 0 ; int16_t arg1 │ 0x08000044 fff7feff bl memset ; RELOC 32 memset │ 0x08000048 c023 movs r3, 0xc0 │ 0x0800004a 234c ldr r4, [0x080000d8] ; [0x80000d8:4]=0 │ 0x0800004c 9b1b subs r3, r3, r6 │ 0x0800004e 5b10 asrs r3, r3, 1 │ 0x08000050 a381 strh r3, [r4, 0xc] │ 0x08000052 2249 ldr r1, [0x080000dc] ; [0x80000dc:4]=0 ; int16_t arg2 │ 0x08000054 381c adds r0, r7, 0 ; int16_t arg1 │ 0x08000056 fff7feff bl fopen ; RELOC 32 fopen │ 0x0800005a 0021 movs r1, 0 ; int16_t arg2 │ 0x0800005c 0222 movs r2, 2 │ 0x0800005e 2060 str r0, [r4] │ 0x08000060 fff7feff bl fseek ; RELOC 32 fseek │ 0x08000064 2068 ldr r0, [r4] ; int16_t arg1 │ 0x08000066 fff7feff bl ftell ; RELOC 32 ftell │ 0x0800006a 0004 lsls r0, r0, 0x10 │ 0x0800006c 000c lsrs r0, r0, 0x10 ; int16_t arg1 │ 0x0800006e 2081 strh r0, [r4, 8] │ 0x08000070 fff7feff bl malloc ; RELOC 32 malloc │ 0x08000074 0021 movs r1, 0 ; int16_t arg2 │ 0x08000076 6060 str r0, [r4, 4] │ 0x08000078 0022 movs r2, 0 │ 0x0800007a 2068 ldr r0, [r4] ; int16_t arg1 │ 0x0800007c fff7feff bl fseek ; RELOC 32 fseek │ 0x08000080 2289 ldrh r2, [r4, 8] │ 0x08000082 2368 ldr r3, [r4] │ 0x08000084 0121 movs r1, 1 ; int16_t arg2 │ 0x08000086 6068 ldr r0, [r4, 4] ; int16_t arg1 │ 0x08000088 fff7feff bl fread ; RELOC 32 fread │ 0x0800008c a189 ldrh r1, [r4, 0xc] │ 0x0800008e 8022 movs r2, 0x80 │ 0x08000090 4902 lsls r1, r1, 9 │ 0x08000092 331c adds r3, r6, 0 │ 0x08000094 6068 ldr r0, [r4, 4] ; int16_t arg1 │ 0x08000096 6918 adds r1, r5, r1 ; int16_t arg2 │ 0x08000098 5200 lsls r2, r2, 1 │ 0x0800009a fff7feff bl JPEG_DecompressImage ; RELOC 32 JPEG_DecompressImage │ 0x0800009e 104b ldr r3, [0x080000e0] ; [0x80000e0:4]=0 │ 0x080000a0 1b78 ldrb r3, [r3] │ 0x080000a2 002b cmp r3, 0 │ 0x080000a4 01d0 beq swiWaitForVBlank │ 0x080000a6 fff7feff bl PA_CheckLid ; RELOC 32 PA_CheckLid │ ; CODE XREF from sym.viDSnips_ShowJpeg @ 0x80000a4 │ 0x080000aa fff7feff bl swiWaitForVBlank ; RELOC 32 swiWaitForVBlank │ 0x080000ae 0d4b ldr r3, [0x080000e4] ; [0x80000e4:4]=0x40000d4 │ 0x080000b0 2068 ldr r0, [r4] ; int16_t arg1 │ 0x080000b2 1d60 str r5, [r3] │ 0x080000b4 0c4b ldr r3, [0x080000e8] ; [0x80000e8:4]=0 │ 0x080000b6 1a79 ldrb r2, [r3, 4] │ 0x080000b8 0c4b ldr r3, [0x080000ec] ; [0x80000ec:4]=0 │ 0x080000ba 9200 lsls r2, r2, 2 │ 0x080000bc d258 ldr r2, [r2, r3] │ 0x080000be 0c4b ldr r3, [0x080000f0] ; [0x80000f0:4]=0x40000d8 │ 0x080000c0 1a60 str r2, [r3] │ 0x080000c2 0c4a ldr r2, [0x080000f4] ; [0x80000f4:4]=0x8000c000 │ 0x080000c4 0433 adds r3, 4 │ 0x080000c6 1a60 str r2, [r3] │ 0x080000c8 fff7feff bl fclose ; RELOC 32 fclose │ 0x080000cc 6068 ldr r0, [r4, 4] ; int16_t arg1 │ 0x080000ce fff7feff bl free ; RELOC 32 free └ 0x080000d2 f8bd pop {r3, r4, r5, r6, r7, pc} ; DATA XREF from sym.viDSnips_ShowJpeg @ 0x8000036 0x080000d4 0000 movs r0, r0 ; RELOC 32 screenBuf @ 0x08000000 0x080000d6 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowJpeg @ 0x800004a 0x080000d8 0000 movs r0, r0 ; RELOC 32 VDS_v @ 0x08000000 0x080000da 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowJpeg @ 0x8000052 0x080000dc 0000 movs r0, r0 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x080000de 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowJpeg @ 0x800009e 0x080000e0 0000 movs r0, r0 ; RELOC 32 pa_checklid 0x080000e2 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowJpeg @ 0x80000ae 0x080000e4 d400 lsls r4, r2, 3 0x080000e6 0004 lsls r0, r0, 0x10 ; DATA XREF from sym.viDSnips_ShowJpeg @ 0x80000b4 0x080000e8 0000 movs r0, r0 ; RELOC 32 VDS @ 0x08000000 0x080000ea 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowJpeg @ 0x80000b8 0x080000ec 0000 movs r0, r0 ; RELOC 32 PA_DrawBg 0x080000ee 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowJpeg @ 0x80000be 0x080000f0 d800 lsls r0, r3, 3 0x080000f2 0004 lsls r0, r0, 0x10 ; DATA XREF from sym.viDSnips_ShowJpeg @ 0x80000c2 0x080000f4 00c00080 invalid ┌ 126: sym.AS_MP3StreamPlay_Ex (int16_t arg1, int16_t arg2); │ ; arg int16_t arg1 @ r0 │ ; arg int16_t arg2 @ r1 │ 0x080000f8 f8b5 push {r3, r4, r5, r6, r7, lr} │ 0x080000fa 1f4b ldr r3, [0x08000178] ; [0x8000178:4]=0x2fff110 │ 0x080000fc 051c adds r5, r0, 0 ; arg1 │ 0x080000fe 1b69 ldr r3, [r3, 0x10] │ 0x08000100 0f1c adds r7, r1, 0 ; arg2 │ 0x08000102 9a07 lsls r2, r3, 0x1e │ 0x08000104 29d1 bne 0x800015a │ 0x08000106 1d4c ldr r4, [0x0800017c] ; [0x800017c:4]=0 │ 0x08000108 2068 ldr r0, [r4] │ 0x0800010a 0028 cmp r0, 0 │ 0x0800010c 01d0 beq 0x8000112 │ 0x0800010e fff7feff bl fclose ; RELOC 32 fclose │ ; CODE XREF from sym.AS_MP3StreamPlay_Ex @ 0x800010c │ 0x08000112 281c adds r0, r5, 0 ; int16_t arg1 │ 0x08000114 1a49 ldr r1, [0x08000180] ; [0x8000180:4]=0 ; int16_t arg2 │ 0x08000116 fff7feff bl fopen ; RELOC 32 fopen │ 0x0800011a 2060 str r0, [r4] │ 0x0800011c 0028 cmp r0, 0 │ 0x0800011e 1cd0 beq 0x800015a │ 0x08000120 184e ldr r6, [0x08000184] ; [0x8000184:4]=0 │ 0x08000122 3368 ldr r3, [r6] │ 0x08000124 002b cmp r3, 0 │ 0x08000126 19d0 beq 0x800015c │ ; CODE XREF from sym.AS_MP3StreamPlay_Ex @ 0x8000174 │ 0x08000128 0021 movs r1, 0 ; int16_t arg2 │ 0x0800012a 0222 movs r2, 2 │ 0x0800012c fff7feff bl fseek ; RELOC 32 fseek │ 0x08000130 2068 ldr r0, [r4] ; int16_t arg1 │ ;-- reloc.ftell: │ 0x08000132 fff7feff bl ftell ; RELOC 32 ftell │ 0x08000136 104d ldr r5, [0x08000178] ; [0x8000178:4]=0x2fff110 │ 0x08000138 c01b subs r0, r0, r7 │ 0x0800013a 0022 movs r2, 0 │ 0x0800013c a862 str r0, [r5, 0x28] │ 0x0800013e 391c adds r1, r7, 0 ; int16_t arg2 │ 0x08000140 2068 ldr r0, [r4] ; int16_t arg1 │ 0x08000142 fff7feff bl fseek ; RELOC 32 fseek │ 0x08000146 8021 movs r1, 0x80 │ 0x08000148 3068 ldr r0, [r6] ; int16_t arg1 │ 0x0800014a c901 lsls r1, r1, 7 ; int16_t arg2 │ ;-- reloc.AS_MP3FillBuffer: │ 0x0800014c fff7feff bl AS_MP3FillBuffer ; RELOC 32 AS_MP3FillBuffer │ 0x08000150 3323 movs r3, 0x33 ; '3' │ 0x08000152 0122 movs r2, 1 │ 0x08000154 ea54 strb r2, [r5, r3] │ 0x08000156 2023 movs r3, 0x20 │ 0x08000158 eb62 str r3, [r5, 0x2c] │ ; CODE XREFS from sym.AS_MP3StreamPlay_Ex @ 0x8000104, 0x800011e │ 0x0800015a f8bd pop {r3, r4, r5, r6, r7, pc} │ ; CODE XREF from sym.AS_MP3StreamPlay_Ex @ 0x8000126 │ 0x0800015c 8021 movs r1, 0x80 │ 0x0800015e 0420 movs r0, 4 ; int16_t arg1 │ 0x08000160 c901 lsls r1, r1, 7 ; int16_t arg2 │ ;-- reloc.memalign: │ 0x08000162 fff7feff bl memalign ; RELOC 32 memalign │ 0x08000166 044a ldr r2, [0x08000178] ; [0x8000178:4]=0x2fff110 │ 0x08000168 8023 movs r3, 0x80 │ 0x0800016a 9b01 lsls r3, r3, 6 │ 0x0800016c 3060 str r0, [r6] │ 0x0800016e 1062 str r0, [r2, 0x20] │ 0x08000170 5362 str r3, [r2, 0x24] │ 0x08000172 2068 ldr r0, [r4] └ 0x08000174 d8e7 b 0x8000128 0x08000176 c046 mov r8, r8 ; DATA XREFS from sym.AS_MP3StreamPlay_Ex @ 0x80000fa, 0x8000136, 0x8000166 0x08000178 10f1ff02 adds.w r2, r0, 0xff ; DATA XREF from sym.AS_MP3StreamPlay_Ex @ 0x8000106 0x0800017c 0000 movs r0, r0 ; RELOC 32 mp3file 0x0800017e 0000 movs r0, r0 ; DATA XREF from sym.AS_MP3StreamPlay_Ex @ 0x8000114 0x08000180 0000 movs r0, r0 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x08000182 0000 movs r0, r0 ; DATA XREF from sym.AS_MP3StreamPlay_Ex @ 0x8000120 0x08000184 0000 movs r0, r0 ; RELOC 32 VDS_a @ 0x08000000 0x08000186 0000 movs r0, r0 ┌ 126: sym.viDSnips_ShowDebug (int16_t arg1); │ ; arg int16_t arg1 @ r0 │ ; var int16_t var_0h @ sp+0x0 │ 0x08000188 30b5 push {r4, r5, lr} │ 0x0800018a 83b0 sub sp, 0xc │ 0x0800018c 041c adds r4, r0, 0 ; arg1 │ 0x0800018e fff7feff bl PA_ResetBgSysScreen ; RELOC 32 PA_ResetBgSysScreen │ 0x08000192 201c adds r0, r4, 0 ; int16_t arg1 │ 0x08000194 0021 movs r1, 0 │ 0x08000196 fff7feff bl PA_LoadDefaultText ; RELOC 32 PA_LoadDefaultText │ 0x0800019a 201c adds r0, r4, 0 ; int16_t arg1 │ 0x0800019c 0021 movs r1, 0 │ 0x0800019e 0022 movs r2, 0 │ 0x080001a0 194b ldr r3, [0x08000208] ; [0x8000208:4]=4 │ ;-- reloc.PA_OutputSimpleText: │ 0x080001a2 fff7feff bl PA_OutputSimpleText ; RELOC 32 PA_OutputSimpleText │ 0x080001a6 194d ldr r5, [0x0800020c] ; [0x800020c:4]=0 │ 0x080001a8 201c adds r0, r4, 0 ; int16_t arg1 │ 0x080001aa ab89 ldrh r3, [r5, 0xc] │ 0x080001ac 0121 movs r1, 1 │ 0x080001ae 0093 str r3, [sp] │ 0x080001b0 0122 movs r2, 1 │ 0x080001b2 174b ldr r3, [0x08000210] ; [0x8000210:4]=16 │ 0x080001b4 fff7feff bl PA_OutputText ; RELOC 32 PA_OutputText │ 0x080001b8 eb89 ldrh r3, [r5, 0xe] │ 0x080001ba 201c adds r0, r4, 0 ; int16_t arg1 │ 0x080001bc 0093 str r3, [sp] │ 0x080001be 0121 movs r1, 1 │ 0x080001c0 0222 movs r2, 2 │ 0x080001c2 144b ldr r3, [0x08000214] ; [0x8000214:4]=32 │ 0x080001c4 fff7feff bl PA_OutputText ; RELOC 32 PA_OutputText │ 0x080001c8 2b8a ldrh r3, [r5, 0x10] │ 0x080001ca 201c adds r0, r4, 0 ; int16_t arg1 │ 0x080001cc 0093 str r3, [sp] │ 0x080001ce 0121 movs r1, 1 │ 0x080001d0 0322 movs r2, 3 │ 0x080001d2 114b ldr r3, [0x08000218] ; [0x8000218:4]=48 │ 0x080001d4 fff7feff bl PA_OutputText ; RELOC 32 PA_OutputText │ 0x080001d8 104b ldr r3, [0x0800021c] ; [0x800021c:4]=0 │ 0x080001da 201c adds r0, r4, 0 ; int16_t arg1 │ 0x080001dc db88 ldrh r3, [r3, 6] │ 0x080001de 0121 movs r1, 1 │ 0x080001e0 0093 str r3, [sp] │ 0x080001e2 0522 movs r2, 5 │ 0x080001e4 0e4b ldr r3, [0x08000220] ; [0x8000220:4]=64 │ 0x080001e6 fff7feff bl PA_OutputText ; RELOC 32 PA_OutputText │ 0x080001ea 0e4d ldr r5, [0x08000224] ; [0x8000224:4]=0 │ 0x080001ec 1e24 movs r4, 0x1e │ ; CODE XREF from sym.viDSnips_ShowDebug @ 0x8000200 │ 0x080001ee 2b78 ldrb r3, [r5] │ 0x080001f0 002b cmp r3, 0 │ 0x080001f2 01d0 beq 0x80001f8 │ 0x080001f4 fff7feff bl PA_CheckLid ; RELOC 32 PA_CheckLid │ ; CODE XREF from sym.viDSnips_ShowDebug @ 0x80001f2 │ 0x080001f8 013c subs r4, 1 │ 0x080001fa fff7feff bl swiWaitForVBlank ; RELOC 32 swiWaitForVBlank │ 0x080001fe 002c cmp r4, 0 │ 0x08000200 f5d1 bne 0x80001ee │ 0x08000202 03b0 add sp, 0xc └ 0x08000204 30bd pop {r4, r5, pc} 0x08000206 c046 mov r8, r8 ; DATA XREF from sym.viDSnips_ShowDebug @ 0x80001a0 0x08000208 0400 movs r4, r0 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x0800020a 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowDebug @ 0x80001a6 0x0800020c 0000 movs r0, r0 ; RELOC 32 VDS_header @ 0x08000000 0x0800020e 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowDebug @ 0x80001b2 0x08000210 1000 movs r0, r2 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x08000212 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowDebug @ 0x80001c2 0x08000214 2000 movs r0, r4 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x08000216 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowDebug @ 0x80001d2 0x08000218 3000 movs r0, r6 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x0800021a 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowDebug @ 0x80001d8 0x0800021c 0000 movs r0, r0 ; RELOC 32 VDS @ 0x08000000 0x0800021e 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowDebug @ 0x80001e4 0x08000220 4000 lsls r0, r0, 1 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x08000222 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowDebug @ 0x80001ea 0x08000224 0000 movs r0, r0 ; RELOC 32 pa_checklid 0x08000226 0000 movs r0, r0 ┌ 604: sym.viDSnips_Play (int16_t arg1); │ ; arg int16_t arg1 @ r0 │ 0x08000228 f8b5 push {r3, r4, r5, r6, r7, lr} │ 0x0800022a 5f46 mov r7, fp │ 0x0800022c 5646 mov r6, sl │ 0x0800022e 4d46 mov r5, sb │ 0x08000230 4446 mov r4, r8 │ 0x08000232 f0b4 push {r4, r5, r6, r7} │ 0x08000234 061c adds r6, r0, 0 ; arg1 │ 0x08000236 9348 ldr r0, [0x08000484] ; [0x8000484:4]=0 │ 0x08000238 0024 movs r4, 0 │ 0x0800023a 037a ldrb r3, [r0, 8] │ 0x0800023c 8046 mov r8, r0 │ 0x0800023e 002b cmp r3, 0 │ 0x08000240 06d1 bne 0x8000250 │ ; CODE XREFS from sym.viDSnips_Play @ 0x800028c, 0x8000422, 0x800042a │ 0x08000242 201c adds r0, r4, 0 │ 0x08000244 3cbc pop {r2, r3, r4, r5} │ 0x08000246 9046 mov r8, r2 │ 0x08000248 9946 mov sb, r3 │ 0x0800024a a246 mov sl, r4 │ 0x0800024c ab46 mov fp, r5 │ 0x0800024e f8bd pop {r3, r4, r5, r6, r7, pc} │ ; CODE XREF from sym.viDSnips_Play @ 0x8000240 │ 0x08000250 0079 ldrb r0, [r0, 4] ; int16_t arg1 │ ;-- reloc.PA_ClearTextBg: │ 0x08000252 fff7feff bl PA_ClearTextBg ; RELOC 32 PA_ClearTextBg │ 0x08000256 8c49 ldr r1, [0x08000488] ; [0x8000488:4]=0 │ 0x08000258 301c adds r0, r6, 0 ; int16_t arg1 │ ;-- reloc.fopen: │ 0x0800025a fff7feff bl fopen ; RELOC 32 fopen │ 0x0800025e 8b49 ldr r1, [0x0800048c] ; [0x800048c:4]=0 │ 0x08000260 8b4a ldr r2, [0x08000490] ; [0x8000490:4]=0 │ 0x08000262 0860 str r0, [r1] │ 0x08000264 031c adds r3, r0, 0 │ 0x08000266 9246 mov sl, r2 │ 0x08000268 101c adds r0, r2, 0 ; int16_t arg1 │ 0x0800026a 8946 mov sb, r1 │ 0x0800026c 0122 movs r2, 1 │ 0x0800026e 1c21 movs r1, 0x1c │ 0x08000270 fff7feff bl fread ; RELOC 32 fread │ 0x08000274 5046 mov r0, sl ; int16_t arg1 │ 0x08000276 8749 ldr r1, [0x08000494] ; [0x8000494:4]=80 │ 0x08000278 0822 movs r2, 8 │ 0x0800027a fff7feff bl strncmp ; RELOC 32 strncmp │ 0x0800027e 041e subs r4, r0, 0 │ 0x08000280 03d1 bne 0x800028a │ 0x08000282 5046 mov r0, sl │ 0x08000284 0389 ldrh r3, [r0, 8] │ 0x08000286 022b cmp r3, 2 ; 2 │ 0x08000288 01d0 beq 0x800028e │ ; CODE XREF from sym.viDSnips_Play @ 0x8000280 │ 0x0800028a 834c ldr r4, [0x08000498] ; [0x8000498:4]=0xffff │ 0x0800028c d9e7 b 0x8000242 │ ; CODE XREF from sym.viDSnips_Play @ 0x8000288 │ 0x0800028e fa20 movs r0, 0xfa │ 0x08000290 8001 lsls r0, r0, 6 ; int16_t arg1 │ 0x08000292 fff7feff bl malloc ; RELOC 32 malloc │ 0x08000296 4946 mov r1, sb │ 0x08000298 4a46 mov r2, sb │ 0x0800029a 4860 str r0, [r1, 4] │ 0x0800029c 5481 strh r4, [r2, 0xa] │ 0x0800029e 5046 mov r0, sl │ 0x080002a0 8389 ldrh r3, [r0, 0xc] │ 0x080002a2 c022 movs r2, 0xc0 │ 0x080002a4 d31a subs r3, r2, r3 │ 0x080002a6 5b10 asrs r3, r3, 1 │ 0x080002a8 5246 mov r2, sl │ 0x080002aa 8b81 strh r3, [r1, 0xc] │ 0x080002ac 0868 ldr r0, [r1] ; int16_t arg1 │ 0x080002ae 5169 ldr r1, [r2, 0x14] │ 0x080002b0 0022 movs r2, 0 │ ;-- reloc.fseek: │ 0x080002b2 fff7feff bl fseek ; RELOC 32 fseek │ 0x080002b6 4346 mov r3, r8 │ 0x080002b8 1c80 strh r4, [r3] │ 0x080002ba 4046 mov r0, r8 │ 0x080002bc 0123 movs r3, 1 │ 0x080002be c022 movs r2, 0xc0 │ 0x080002c0 4380 strh r3, [r0, 2] │ 0x080002c2 0021 movs r1, 0 │ 0x080002c4 1202 lsls r2, r2, 8 │ 0x080002c6 7548 ldr r0, [0x0800049c] ; [0x800049c:4]=0 ; int16_t arg1 │ 0x080002c8 fff7feff bl memset ; RELOC 32 memset │ 0x080002cc 744a ldr r2, [0x080004a0] ; [0x80004a0:4]=0 │ 0x080002ce 4146 mov r1, r8 │ 0x080002d0 1460 str r4, [r2] │ 0x080002d2 cc80 strh r4, [r1, 6] │ 0x080002d4 734c ldr r4, [0x080004a4] ; [0x80004a4:4]=0x2fff110 │ 0x080002d6 3023 movs r3, 0x30 ; '0' │ 0x080002d8 e35c ldrb r3, [r4, r3] │ 0x080002da 7348 ldr r0, [0x080004a8] ; [0x80004a8:4]=0x2fff150 │ 0x080002dc da00 lsls r2, r3, 3 │ 0x080002de d31a subs r3, r2, r3 │ 0x080002e0 9b00 lsls r3, r3, 2 │ 0x080002e2 1b18 adds r3, r3, r0 │ 0x080002e4 6022 movs r2, 0x60 ; '`' │ 0x080002e6 5a72 strb r2, [r3, 9] │ 0x080002e8 987a ldrb r0, [r3, 0xa] ; int16_t arg1 │ ;-- reloc.AS_SetMP3Pan: │ 0x080002ea fff7feff bl AS_SetMP3Pan ; RELOC 32 AS_SetMP3Pan │ 0x080002ee 6f4b ldr r3, [0x080004ac] ; [0x80004ac:4]=0x5622 │ 0x080002f0 e26a ldr r2, [r4, 0x2c] │ 0x080002f2 e360 str r3, [r4, 0xc] │ 0x080002f4 8023 movs r3, 0x80 │ 0x080002f6 1343 orrs r3, r2 │ 0x080002f8 e362 str r3, [r4, 0x2c] │ 0x080002fa 6d4b ldr r3, [reloc.PA_VBLCounterOn] ; [0x80004b0:4]=0 │ 0x080002fc 1a7a ldrb r2, [r3, 8] │ 0x080002fe 002a cmp r2, 0 │ 0x08000300 01d1 bne 0x8000306 │ 0x08000302 0122 movs r2, 1 │ 0x08000304 1a72 strb r2, [r3, 8] │ ; CODE XREF from sym.viDSnips_Play @ 0x8000300 │ 0x08000306 5246 mov r2, sl │ 0x08000308 6a4d ldr r5, [reloc.PA_VBLCounter] ; [0x80004b4:4]=0 │ 0x0800030a 9169 ldr r1, [r2, 0x18] │ 0x0800030c 2c6a ldr r4, [r5, 0x20] │ 0x0800030e 0029 cmp r1, 0 │ 0x08000310 00d0 beq 0x8000314 │ 0x08000312 b1e0 b 0x8000478 │ ; CODE XREFS from sym.viDSnips_Play @ 0x8000310, 0x800047e │ 0x08000314 4046 mov r0, r8 │ 0x08000316 4388 ldrh r3, [r0, 2] │ 0x08000318 002b cmp r3, 0 │ 0x0800031a 00d1 bne 0x800031e │ 0x0800031c b0e0 b 0x8000480 │ ; CODE XREF from sym.viDSnips_Play @ 0x800031a │ 0x0800031e 5146 mov r1, sl │ 0x08000320 4046 mov r0, r8 │ 0x08000322 ca89 ldrh r2, [r1, 0xe] │ 0x08000324 0388 ldrh r3, [r0] │ 0x08000326 9a42 cmp r2, r3 │ 0x08000328 00d8 bhi 0x800032c │ 0x0800032a a9e0 b 0x8000480 │ ; CODE XREF from sym.viDSnips_Play @ 0x8000328 │ 0x0800032c 624e ldr r6, [0x080004b8] ; [0x80004b8:4]=8 │ 0x0800032e 6349 ldr r1, [0x080004bc] ; [0x80004bc:4]=0x40000d4 │ 0x08000330 634f ldr r7, [0x080004c0] ; [0x80004c0:4]=0 │ 0x08000332 083e subs r6, 8 │ 0x08000334 8b46 mov fp, r1 │ ; CODE XREF from sym.viDSnips_Play @ 0x80003d2 │ 0x08000336 2b6a ldr r3, [r5, 0x20] │ 0x08000338 0134 adds r4, 1 │ 0x0800033a a342 cmp r3, r4 │ 0x0800033c 76dc bgt 0x800042c │ 0x0800033e 5246 mov r2, sl │ 0x08000340 138a ldrh r3, [r2, 0x10] │ ; CODE XREF from sym.viDSnips_Play @ 0x8000466 │ 0x08000342 e418 adds r4, r4, r3 │ 0x08000344 0221 movs r1, 2 │ 0x08000346 3368 ldr r3, [r6] │ 0x08000348 0122 movs r2, 1 │ 0x0800034a 5b48 ldr r0, [0x080004b8] ; [0x80004b8:4]=8 ; int16_t arg1 │ 0x0800034c fff7feff bl fread ; RELOC 32 fread │ 0x08000350 3289 ldrh r2, [r6, 8] │ 0x08000352 3368 ldr r3, [r6] │ 0x08000354 0121 movs r1, 1 │ 0x08000356 7068 ldr r0, [r6, 4] ; int16_t arg1 │ 0x08000358 fff7feff bl fread ; RELOC 32 fread │ 0x0800035c 7168 ldr r1, [r6, 4] │ 0x0800035e 4f4a ldr r2, [0x0800049c] ; [0x800049c:4]=0 │ 0x08000360 8c46 mov ip, r1 │ 0x08000362 b189 ldrh r1, [r6, 0xc] │ 0x08000364 5346 mov r3, sl │ 0x08000366 4902 lsls r1, r1, 9 │ 0x08000368 8918 adds r1, r1, r2 │ 0x0800036a 6046 mov r0, ip ; int16_t arg1 │ 0x0800036c 5a89 ldrh r2, [r3, 0xa] │ 0x0800036e 9b89 ldrh r3, [r3, 0xc] │ 0x08000370 fff7feff bl JPEG_DecompressImage ; RELOC 32 JPEG_DecompressImage │ 0x08000374 2b6a ldr r3, [r5, 0x20] │ 0x08000376 013c subs r4, 1 │ 0x08000378 9c42 cmp r4, r3 │ 0x0800037a 09dd ble 0x8000390 │ ; CODE XREF from sym.viDSnips_Play @ 0x800038e │ 0x0800037c 3b78 ldrb r3, [r7] │ 0x0800037e 002b cmp r3, 0 │ 0x08000380 01d0 beq swiWaitForVBlank │ 0x08000382 fff7feff bl PA_CheckLid ; RELOC 32 PA_CheckLid │ ; CODE XREF from sym.viDSnips_Play @ 0x8000380 │ 0x08000386 fff7feff bl swiWaitForVBlank ; RELOC 32 swiWaitForVBlank │ 0x0800038a 2b6a ldr r3, [r5, 0x20] │ 0x0800038c 9c42 cmp r4, r3 │ 0x0800038e f5dc bgt 0x800037c │ ; CODE XREF from sym.viDSnips_Play @ 0x800037a │ 0x08000390 3b78 ldrb r3, [r7] │ 0x08000392 002b cmp r3, 0 │ 0x08000394 01d0 beq swiWaitForVBlank │ 0x08000396 fff7feff bl PA_CheckLid ; RELOC 32 PA_CheckLid │ ; CODE XREF from sym.viDSnips_Play @ 0x8000394 │ 0x0800039a fff7feff bl swiWaitForVBlank ; RELOC 32 swiWaitForVBlank │ 0x0800039e 3f48 ldr r0, [0x0800049c] ; [0x800049c:4]=0 │ 0x080003a0 5946 mov r1, fp │ 0x080003a2 0860 str r0, [r1] │ 0x080003a4 4246 mov r2, r8 │ 0x080003a6 1379 ldrb r3, [r2, 4] │ 0x080003a8 4648 ldr r0, [0x080004c4] ; [0x80004c4:4]=0 │ 0x080003aa 9b00 lsls r3, r3, 2 │ 0x080003ac 1b58 ldr r3, [r3, r0] │ 0x080003ae 4649 ldr r1, [0x080004c8] ; [0x80004c8:4]=0x40000d8 │ 0x080003b0 464a ldr r2, [0x080004cc] ; [0x80004cc:4]=0x8000c000 │ 0x080003b2 0b60 str r3, [r1] │ 0x080003b4 464b ldr r3, [0x080004d0] ; [0x80004d0:4]=0x40000dc │ 0x080003b6 4046 mov r0, r8 │ 0x080003b8 1a60 str r2, [r3] │ 0x080003ba 0388 ldrh r3, [r0] │ 0x080003bc 4146 mov r1, r8 │ 0x080003be 0133 adds r3, 1 │ 0x080003c0 1b04 lsls r3, r3, 0x10 │ 0x080003c2 4a88 ldrh r2, [r1, 2] │ 0x080003c4 1b0c lsrs r3, r3, 0x10 │ 0x080003c6 0b80 strh r3, [r1] │ 0x080003c8 002a cmp r2, 0 │ 0x080003ca 03d0 beq 0x80003d4 │ 0x080003cc 5046 mov r0, sl │ 0x080003ce c289 ldrh r2, [r0, 0xe] │ 0x080003d0 9a42 cmp r2, r3 │ 0x080003d2 b0d8 bhi 0x8000336 │ ; CODE XREFS from sym.viDSnips_Play @ 0x80003ca, 0x8000462, 0x8000482 │ 0x080003d4 5146 mov r1, sl │ 0x080003d6 8b69 ldr r3, [r1, 0x18] │ 0x080003d8 002b cmp r3, 0 │ 0x080003da 45d1 bne 0x8000468 │ ; CODE XREF from sym.viDSnips_Play @ 0x8000476 │ 0x080003dc 4246 mov r2, r8 │ 0x080003de 0023 movs r3, 0 │ 0x080003e0 5380 strh r3, [r2, 2] │ 0x080003e2 4b46 mov r3, sb │ 0x080003e4 1868 ldr r0, [r3] ; int16_t arg1 │ 0x080003e6 fff7feff bl fclose ; RELOC 32 fclose │ 0x080003ea 4946 mov r1, sb │ 0x080003ec 4868 ldr r0, [r1, 4] ; int16_t arg1 │ 0x080003ee fff7feff bl free ; RELOC 32 free │ 0x080003f2 2b4a ldr r2, [0x080004a0] ; [0x80004a0:4]=0 │ 0x080003f4 1068 ldr r0, [r2] │ 0x080003f6 0028 cmp r0, 0 │ 0x080003f8 01d0 beq 0x80003fe │ 0x080003fa fff7feff bl free ; RELOC 32 free │ ; CODE XREF from sym.viDSnips_Play @ 0x80003f8 │ 0x080003fe 0024 movs r4, 0 │ ; CODE XREF from sym.viDSnips_Play @ 0x8000416 │ 0x08000400 3b78 ldrb r3, [r7] │ 0x08000402 002b cmp r3, 0 │ 0x08000404 01d0 beq 0x800040a │ 0x08000406 fff7feff bl PA_CheckLid ; RELOC 32 PA_CheckLid │ ; CODE XREF from sym.viDSnips_Play @ 0x8000404 │ 0x0800040a 0134 adds r4, 1 │ 0x0800040c 2404 lsls r4, r4, 0x10 │ 0x0800040e 240c lsrs r4, r4, 0x10 │ 0x08000410 fff7feff bl swiWaitForVBlank ; RELOC 32 swiWaitForVBlank │ 0x08000414 062c cmp r4, 6 ; 6 │ 0x08000416 f3d1 bne 0x8000400 │ 0x08000418 4046 mov r0, r8 │ 0x0800041a 4379 ldrb r3, [r0, 5] │ 0x0800041c 0124 movs r4, 1 │ 0x0800041e 002b cmp r3, 0 │ 0x08000420 00d1 bne 0x8000424 │ 0x08000422 0ee7 b 0x8000242 │ ; CODE XREF from sym.viDSnips_Play @ 0x8000420 │ 0x08000424 0079 ldrb r0, [r0, 4] ; int16_t arg1 │ ;-- reloc.viDSnips_ShowDebug: │ 0x08000426 fff7feff bl viDSnips_ShowDebug ; RELOC 32 viDSnips_ShowDebug @ 0x08000188 - 0x1 │ 0x0800042a 0ae7 b 0x8000242 │ ; CODE XREF from sym.viDSnips_Play @ 0x800033c │ 0x0800042c 3368 ldr r3, [r6] │ 0x0800042e 0221 movs r1, 2 │ 0x08000430 0122 movs r2, 1 │ 0x08000432 2148 ldr r0, [0x080004b8] ; [0x80004b8:4]=8 ; int16_t arg1 │ 0x08000434 fff7feff bl fread ; RELOC 32 fread │ 0x08000438 3289 ldrh r2, [r6, 8] │ 0x0800043a 3368 ldr r3, [r6] │ 0x0800043c 0121 movs r1, 1 │ 0x0800043e 7068 ldr r0, [r6, 4] ; int16_t arg1 │ ;-- reloc.fread: │ 0x08000440 fff7feff bl fread ; RELOC 32 fread │ 0x08000444 4346 mov r3, r8 │ 0x08000446 1a88 ldrh r2, [r3] │ 0x08000448 4046 mov r0, r8 │ 0x0800044a 0132 adds r2, 1 │ 0x0800044c 1204 lsls r2, r2, 0x10 │ 0x0800044e 120c lsrs r2, r2, 0x10 │ 0x08000450 0280 strh r2, [r0] │ 0x08000452 5146 mov r1, sl │ 0x08000454 0b8a ldrh r3, [r1, 0x10] │ 0x08000456 c188 ldrh r1, [r0, 6] │ 0x08000458 0131 adds r1, 1 │ 0x0800045a c180 strh r1, [r0, 6] │ 0x0800045c 5046 mov r0, sl │ 0x0800045e c189 ldrh r1, [r0, 0xe] │ 0x08000460 9142 cmp r1, r2 │ 0x08000462 b7d0 beq 0x80003d4 │ 0x08000464 e418 adds r4, r4, r3 │ 0x08000466 6ce7 b 0x8000342 │ ; CODE XREF from sym.viDSnips_Play @ 0x80003da │ 0x08000468 0e4b ldr r3, [0x080004a4] ; [0x80004a4:4]=0x2fff110 │ 0x0800046a 1022 movs r2, 0x10 │ 0x0800046c da62 str r2, [r3, 0x2c] │ 0x0800046e 194b ldr r3, [reloc.mp3file] ; [0x80004d4:4]=0 │ 0x08000470 1868 ldr r0, [r3] ; int16_t arg1 │ ;-- reloc.fclose: │ 0x08000472 fff7feff bl fclose ; RELOC 32 fclose │ 0x08000476 b1e7 b 0x80003dc │ ; CODE XREF from sym.viDSnips_Play @ 0x8000312 │ 0x08000478 301c adds r0, r6, 0 ; int16_t arg1 │ ;-- reloc.AS_MP3StreamPlay_Ex: │ 0x0800047a fff7feff bl AS_MP3StreamPlay_Ex ; RELOC 32 AS_MP3StreamPlay_Ex @ 0x080000f8 - 0x1 │ 0x0800047e 49e7 b 0x8000314 │ ; CODE XREFS from sym.viDSnips_Play @ 0x800031c, 0x800032a │ 0x08000480 0f4f ldr r7, [0x080004c0] ; [0x80004c0:4]=0 └ 0x08000482 a7e7 b 0x80003d4 ; DATA XREF from sym.viDSnips_Play @ 0x8000236 0x08000484 0000 movs r0, r0 ; RELOC 32 VDS @ 0x08000000 0x08000486 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Play @ 0x8000256 0x08000488 0000 movs r0, r0 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x0800048a 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Play @ 0x800025e 0x0800048c 0000 movs r0, r0 ; RELOC 32 VDS_v @ 0x08000000 0x0800048e 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Play @ 0x8000260 0x08000490 0000 movs r0, r0 ; RELOC 32 VDS_header @ 0x08000000 0x08000492 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Play @ 0x8000276 0x08000494 5000 lsls r0, r2, 1 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x08000496 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Play @ 0x800028a 0x08000498 ffff0000 invalid ; DATA XREFS from sym.viDSnips_Play @ 0x80002c6, 0x800035e, 0x800039e 0x0800049c 0000 movs r0, r0 ; RELOC 32 screenBuf @ 0x08000000 0x0800049e 0000 movs r0, r0 ; DATA XREFS from sym.viDSnips_Play @ 0x80002cc, 0x80003f2 0x080004a0 0000 movs r0, r0 ; RELOC 32 VDS_a @ 0x08000000 0x080004a2 0000 movs r0, r0 ; DATA XREFS from sym.viDSnips_Play @ 0x80002d4, 0x8000468 0x080004a4 10f1ff02 adds.w r2, r0, 0xff ; DATA XREF from sym.viDSnips_Play @ 0x80002da 0x080004a8 50f1ff02 adcs r2, r0, 0xff ; DATA XREF from sym.viDSnips_Play @ 0x80002ee 0x080004ac 2256 ldrsb r2, [r4, r0] 0x080004ae 0000 movs r0, r0 ;-- reloc.PA_VBLCounterOn: ; DATA XREF from sym.viDSnips_Play @ 0x80002fa 0x080004b0 0000 movs r0, r0 ; RELOC 32 PA_VBLCounterOn 0x080004b2 0000 movs r0, r0 ;-- reloc.PA_VBLCounter: ; DATA XREF from sym.viDSnips_Play @ 0x8000308 0x080004b4 0000 movs r0, r0 ; RELOC 32 PA_VBLCounter 0x080004b6 0000 movs r0, r0 ; DATA XREFS from sym.viDSnips_Play @ 0x800032c, 0x800034a, 0x8000432 0x080004b8 0800 movs r0, r1 ; RELOC 32 VDS_v @ 0x08000000 0x080004ba 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Play @ 0x800032e 0x080004bc d400 lsls r4, r2, 3 0x080004be 0004 lsls r0, r0, 0x10 ; DATA XREFS from sym.viDSnips_Play @ 0x8000330, 0x8000480 0x080004c0 0000 movs r0, r0 ; RELOC 32 pa_checklid 0x080004c2 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Play @ 0x80003a8 0x080004c4 0000 movs r0, r0 ; RELOC 32 PA_DrawBg 0x080004c6 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Play @ 0x80003ae 0x080004c8 d800 lsls r0, r3, 3 0x080004ca 0004 lsls r0, r0, 0x10 ; DATA XREF from sym.viDSnips_Play @ 0x80003b0 0x080004cc 00c00080 invalid ; DATA XREF from sym.viDSnips_Play @ 0x80003b4 0x080004d0 dc00 lsls r4, r3, 3 0x080004d2 0004 lsls r0, r0, 0x10 ;-- reloc.mp3file: ; DATA XREF from sym.viDSnips_Play @ 0x800046e 0x080004d4 0000 movs r0, r0 ; RELOC 32 mp3file 0x080004d6 0000 movs r0, r0 ┌ 264: sym.viDSnips_CheckLicence (int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4); │ ; arg int16_t arg1 @ r0 │ ; arg int16_t arg2 @ r1 │ ; arg int16_t arg3 @ r2 │ ; arg int16_t arg4 @ r3 │ 0x080004d8 f0b5 push {r4, r5, r6, r7, lr} │ 0x080004da 5746 mov r7, sl │ 0x080004dc 4e46 mov r6, sb │ 0x080004de 4546 mov r5, r8 │ 0x080004e0 e0b4 push {r5, r6, r7} │ 0x080004e2 041c adds r4, r0, 0 ; arg1 │ 0x080004e4 0e1c adds r6, r1, 0 ; arg2 │ 0x080004e6 0020 movs r0, 0 │ 0x080004e8 002c cmp r4, 0 │ 0x080004ea 14d0 beq 0x8000516 │ 0x080004ec 3c4b ldr r3, [0x080005e0] ; [0x80005e0:4]=0 │ 0x080004ee 1d68 ldr r5, [r3] │ 0x080004f0 002d cmp r5, 0 │ 0x080004f2 10d0 beq 0x8000516 │ 0x080004f4 3b4b ldr r3, [0x080005e4] ; [0x80005e4:4]=0 │ 0x080004f6 1b68 ldr r3, [r3] │ 0x080004f8 9846 mov r8, r3 │ 0x080004fa 0029 cmp r1, 0 │ 0x080004fc 10d0 beq 0x8000520 │ 0x080004fe 1a1c adds r2, r3, 0 │ 0x08000500 5742 rsbs r7, r2, 0 │ 0x08000502 5741 adcs r7, r2 │ 0x08000504 002f cmp r7, 0 │ 0x08000506 0bd1 bne 0x8000520 │ 0x08000508 081c adds r0, r1, 0 ; int16_t arg1 │ 0x0800050a fff7feff bl strlen ; RELOC 32 strlen │ 0x0800050e 031c adds r3, r0, 0 │ 0x08000510 381c adds r0, r7, 0 │ 0x08000512 082b cmp r3, 8 ; 8 │ 0x08000514 06d0 beq 0x8000524 │ ; CODE XREFS from sym.viDSnips_CheckLicence @ 0x80004ea, 0x80004f2, 0x8000522, 0x80005ce, 0x80005d8 │ 0x08000516 1cbc pop {r2, r3, r4} │ 0x08000518 9046 mov r8, r2 ; arg3 │ 0x0800051a 9946 mov sb, r3 ; arg4 │ 0x0800051c a246 mov sl, r4 │ 0x0800051e f0bd pop {r4, r5, r6, r7, pc} │ ; CODE XREFS from sym.viDSnips_CheckLicence @ 0x80004fc, 0x8000506 │ 0x08000520 0020 movs r0, 0 │ 0x08000522 f8e7 b 0x8000516 │ ; CODE XREF from sym.viDSnips_CheckLicence @ 0x8000514 │ 0x08000524 201c adds r0, r4, 0 ; int16_t arg1 │ 0x08000526 fff7feff bl strlen ; RELOC 32 strlen │ 0x0800052a 8246 mov sl, r0 │ 0x0800052c 281c adds r0, r5, 0 ; int16_t arg1 │ 0x0800052e fff7feff bl strlen ; RELOC 32 strlen │ 0x08000532 071c adds r7, r0, 0 │ 0x08000534 4046 mov r0, r8 ; int16_t arg1 │ ;-- reloc.strlen: │ 0x08000536 fff7feff bl strlen ; RELOC 32 strlen │ 0x0800053a 3b1c adds r3, r7, 0 │ 0x0800053c 5344 add r3, sl │ 0x0800053e 1b18 adds r3, r3, r0 │ 0x08000540 5b03 lsls r3, r3, 0xd │ 0x08000542 0122 movs r2, 1 ; int16_t arg3 │ 0x08000544 1b0c lsrs r3, r3, 0x10 │ 0x08000546 9a46 mov sl, r3 │ 0x08000548 131c adds r3, r2, 0 │ 0x0800054a 5344 add r3, sl │ 0x0800054c db00 lsls r3, r3, 3 ; int16_t arg4 │ 0x0800054e 181c adds r0, r3, 0 ; int16_t arg1 │ 0x08000550 9946 mov sb, r3 │ ;-- reloc.malloc: │ 0x08000552 fff7feff bl malloc ; RELOC 32 malloc │ 0x08000556 4a46 mov r2, sb ; int16_t arg3 │ 0x08000558 071c adds r7, r0, 0 │ 0x0800055a 0021 movs r1, 0 ; int16_t arg2 │ 0x0800055c fff7feff bl memset ; RELOC 32 memset │ 0x08000560 211c adds r1, r4, 0 ; int16_t arg2 │ 0x08000562 381c adds r0, r7, 0 ; int16_t arg1 │ 0x08000564 fff7feff bl strcat ; RELOC 32 strcat │ 0x08000568 291c adds r1, r5, 0 ; int16_t arg2 │ 0x0800056a 381c adds r0, r7, 0 ; int16_t arg1 │ 0x0800056c fff7feff bl strcat ; RELOC 32 strcat │ 0x08000570 381c adds r0, r7, 0 ; int16_t arg1 │ 0x08000572 4146 mov r1, r8 ; int16_t arg2 │ ;-- reloc.strcat: │ 0x08000574 fff7feff bl strcat ; RELOC 32 strcat │ 0x08000578 0023 movs r3, 0 │ 0x0800057a 9a45 cmp sl, r3 │ 0x0800057c 2dd0 beq 0x80005da │ 0x0800057e 3c1c adds r4, r7, 0 │ 0x08000580 0120 movs r0, 1 │ 0x08000582 0125 movs r5, 1 │ 0x08000584 0834 adds r4, 8 │ ; CODE XREF from sym.viDSnips_CheckLicence @ 0x80005a2 │ 0x08000586 c000 lsls r0, r0, 3 │ 0x08000588 3b1c adds r3, r7, 0 │ ; CODE XREF from sym.viDSnips_CheckLicence @ 0x8000596 │ 0x0800058a 195c ldrb r1, [r3, r0] │ 0x0800058c 1a78 ldrb r2, [r3] │ 0x0800058e 4a40 eors r2, r1 │ 0x08000590 1a70 strb r2, [r3] │ 0x08000592 0133 adds r3, 1 │ 0x08000594 a342 cmp r3, r4 │ 0x08000596 f8d1 bne 0x800058a │ 0x08000598 0135 adds r5, 1 │ 0x0800059a 2d06 lsls r5, r5, 0x18 │ 0x0800059c 2d0e lsrs r5, r5, 0x18 │ 0x0800059e 281c adds r0, r5, 0 │ 0x080005a0 aa45 cmp sl, r5 │ 0x080005a2 f0da bge 0x8000586 │ ; CODE XREF from sym.viDSnips_CheckLicence @ 0x80005de │ 0x080005a4 3d1c adds r5, r7, 0 │ ; CODE XREF from sym.viDSnips_CheckLicence @ 0x80005b6 │ 0x080005a6 2878 ldrb r0, [r5] ; int16_t arg1 │ 0x080005a8 1a21 movs r1, 0x1a ; int16_t arg2 │ ;-- reloc.__aeabi_uidivmod: │ 0x080005aa fff7feff bl __aeabi_uidivmod ; RELOC 32 __aeabi_uidivmod │ 0x080005ae 4131 adds r1, 0x41 │ 0x080005b0 2970 strb r1, [r5] │ 0x080005b2 0135 adds r5, 1 │ 0x080005b4 a542 cmp r5, r4 │ 0x080005b6 f6d1 bne 0x80005a6 │ 0x080005b8 381c adds r0, r7, 0 ; int16_t arg1 │ 0x080005ba 311c adds r1, r6, 0 ; int16_t arg2 │ 0x080005bc 0822 movs r2, 8 ; int16_t arg3 │ ;-- reloc.strncmp: │ 0x080005be fff7feff bl strncmp ; RELOC 32 strncmp │ 0x080005c2 0028 cmp r0, 0 │ 0x080005c4 04d0 beq 0x80005d0 │ 0x080005c6 381c adds r0, r7, 0 ; int16_t arg1 │ 0x080005c8 fff7feff bl free ; RELOC 32 free │ 0x080005cc 0020 movs r0, 0 │ 0x080005ce a2e7 b 0x8000516 │ ; CODE XREF from sym.viDSnips_CheckLicence @ 0x80005c4 │ 0x080005d0 381c adds r0, r7, 0 ; int16_t arg1 │ ;-- reloc.free: │ 0x080005d2 fff7feff bl free ; RELOC 32 free │ 0x080005d6 0120 movs r0, 1 │ 0x080005d8 9de7 b 0x8000516 │ ; CODE XREF from sym.viDSnips_CheckLicence @ 0x800057c │ 0x080005da 3c1c adds r4, r7, 0 │ 0x080005dc 0834 adds r4, 8 └ 0x080005de e1e7 b 0x80005a4 ; DATA XREF from sym.viDSnips_CheckLicence @ 0x80004ec 0x080005e0 0000 movs r0, r0 ; RELOC 32 ICEDADDY_REGISTRATION_name 0x080005e2 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_CheckLicence @ 0x80004f4 0x080005e4 0000 movs r0, r0 ; RELOC 32 ICEDADDY_REGISTRATION_email 0x080005e6 0000 movs r0, r0 ┌ 72: sym.viDSnips_ShowSplash (); │ 0x080005e8 10b5 push {r4, lr} │ 0x080005ea 114c ldr r4, [0x08000630] ; [0x8000630:4]=0 │ 0x080005ec c022 movs r2, 0xc0 │ 0x080005ee 0021 movs r1, 0 │ 0x080005f0 5202 lsls r2, r2, 9 │ 0x080005f2 201c adds r0, r4, 0 │ ;-- reloc.memset: │ 0x080005f4 fff7feff bl memset ; RELOC 32 memset │ 0x080005f8 8022 movs r2, 0x80 │ 0x080005fa c023 movs r3, 0xc0 │ 0x080005fc 0d48 ldr r0, [reloc..data] ; [0x8000634:4]=0 │ 0x080005fe 211c adds r1, r4, 0 │ 0x08000600 5200 lsls r2, r2, 1 │ ;-- reloc.JPEG_DecompressImage: │ 0x08000602 fff7feff bl JPEG_DecompressImage ; RELOC 32 JPEG_DecompressImage │ 0x08000606 0c4b ldr r3, [0x08000638] ; [0x8000638:4]=0 │ 0x08000608 1b78 ldrb r3, [r3] │ 0x0800060a 002b cmp r3, 0 │ 0x0800060c 01d0 beq swiWaitForVBlank │ 0x0800060e fff7feff bl PA_CheckLid ; RELOC 32 PA_CheckLid │ ; CODE XREF from sym.viDSnips_ShowSplash @ 0x800060c │ 0x08000612 fff7feff bl swiWaitForVBlank ; RELOC 32 swiWaitForVBlank │ 0x08000616 094b ldr r3, [0x0800063c] ; [0x800063c:4]=0x40000d4 │ 0x08000618 1c60 str r4, [r3] │ 0x0800061a 094b ldr r3, [0x08000640] ; [0x8000640:4]=0 │ 0x0800061c 1a79 ldrb r2, [r3, 4] │ 0x0800061e 094b ldr r3, [reloc.PA_DrawBg] ; [0x8000644:4]=0 │ 0x08000620 9200 lsls r2, r2, 2 │ 0x08000622 d258 ldr r2, [r2, r3] │ 0x08000624 084b ldr r3, [0x08000648] ; [0x8000648:4]=0x40000d8 │ 0x08000626 1a60 str r2, [r3] │ 0x08000628 084a ldr r2, [0x0800064c] ; [0x800064c:4]=0x8000c000 │ 0x0800062a 0433 adds r3, 4 │ 0x0800062c 1a60 str r2, [r3] └ 0x0800062e 10bd pop {r4, pc} ; DATA XREF from sym.viDSnips_ShowSplash @ 0x80005ea 0x08000630 0000 movs r0, r0 ; RELOC 32 screenBuf @ 0x08000000 0x08000632 0000 movs r0, r0 ;-- reloc..data: ; DATA XREF from sym.viDSnips_ShowSplash @ 0x80005fc 0x08000634 0000 movs r0, r0 ; RELOC 32 .data @ 0x08000774 0x08000636 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowSplash @ 0x8000606 0x08000638 0000 movs r0, r0 ; RELOC 32 pa_checklid 0x0800063a 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowSplash @ 0x8000616 0x0800063c d400 lsls r4, r2, 3 0x0800063e 0004 lsls r0, r0, 0x10 ; DATA XREF from sym.viDSnips_ShowSplash @ 0x800061a 0x08000640 0000 movs r0, r0 ; RELOC 32 VDS @ 0x08000000 0x08000642 0000 movs r0, r0 ;-- reloc.PA_DrawBg: ; DATA XREF from sym.viDSnips_ShowSplash @ 0x800061e 0x08000644 0000 movs r0, r0 ; RELOC 32 PA_DrawBg 0x08000646 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_ShowSplash @ 0x8000624 0x08000648 d800 lsls r0, r3, 3 0x0800064a 0004 lsls r0, r0, 0x10 ; DATA XREF from sym.viDSnips_ShowSplash @ 0x8000628 0x0800064c 00c00080 invalid ┌ 248: sym.viDSnips_Init (int16_t arg1, int16_t arg2); │ ; arg int16_t arg1 @ r0 │ ; arg int16_t arg2 @ r1 │ ; var int16_t var_0h @ sp+0x0 │ 0x08000650 70b5 push {r4, r5, r6, lr} │ 0x08000652 041c adds r4, r0, 0 ; arg1 │ 0x08000654 82b0 sub sp, 8 │ 0x08000656 0d1c adds r5, r1, 0 ; arg2 │ ;-- reloc.PA_ResetBgSysScreen: │ 0x08000658 fff7feff bl PA_ResetBgSysScreen ; RELOC 32 PA_ResetBgSysScreen │ 0x0800065c 201c adds r0, r4, 0 ; int16_t arg1 │ 0x0800065e 0321 movs r1, 3 ; int16_t arg2 │ ;-- reloc.PA_Init16bitBg: │ 0x08000660 fff7feff bl PA_Init16bitBg ; RELOC 32 PA_Init16bitBg │ 0x08000664 384e ldr r6, [0x08000748] ; [0x8000748:4]=0 │ 0x08000666 394b ldr r3, [reloc.ICEDADDY_REGISTRATION_viDSnips_Key] ; [0x800074c:4]=0 │ 0x08000668 3471 strb r4, [r6, 4] │ 0x0800066a 7571 strb r5, [r6, 5] │ 0x0800066c 1968 ldr r1, [r3] ; int16_t arg2 │ 0x0800066e 3848 ldr r0, [0x08000750] ; [0x8000750:4]=92 ; int16_t arg1 │ ;-- reloc.viDSnips_CheckLicence: │ 0x08000670 fff7feff bl viDSnips_CheckLicence ; RELOC 32 viDSnips_CheckLicence @ 0x080004d8 - 0x1 │ 0x08000674 041c adds r4, r0, 0 │ 0x08000676 7072 strb r0, [r6, 9] │ 0x08000678 0028 cmp r0, 0 │ 0x0800067a 0ad0 beq 0x8000692 │ 0x0800067c 354b ldr r3, [reloc.Pad] ; [0x8000754:4]=0 │ 0x0800067e 1a79 ldrb r2, [r3, 4] │ 0x08000680 002a cmp r2, 0 │ 0x08000682 02d0 beq 0x800068a │ 0x08000684 5b79 ldrb r3, [r3, 5] │ 0x08000686 002b cmp r3, 0 │ 0x08000688 29d1 bne 0x80006de │ ; CODE XREFS from sym.viDSnips_Init @ 0x8000682, 0x80006dc, 0x8000746 │ 0x0800068a 0123 movs r3, 1 │ 0x0800068c 3372 strb r3, [r6, 8] │ 0x0800068e 02b0 add sp, 8 │ 0x08000690 70bd pop {r4, r5, r6, pc} │ ; CODE XREF from sym.viDSnips_Init @ 0x800067a │ 0x08000692 3079 ldrb r0, [r6, 4] ; int16_t arg1 │ 0x08000694 0021 movs r1, 0 ; int16_t arg2 │ 0x08000696 fff7feff bl PA_LoadDefaultText ; RELOC 32 PA_LoadDefaultText │ 0x0800069a fff7feff bl viDSnips_ShowSplash ; RELOC 32 viDSnips_ShowSplash @ 0x080005e8 - 0x1 │ 0x0800069e 3079 ldrb r0, [r6, 4] ; int16_t arg1 │ 0x080006a0 0021 movs r1, 0 ; int16_t arg2 │ 0x080006a2 1f22 movs r2, 0x1f │ 0x080006a4 0023 movs r3, 0 │ 0x080006a6 0094 str r4, [sp] │ 0x080006a8 fff7feff bl PA_CreateTextPal ; RELOC 32 PA_CreateTextPal │ 0x080006ac 3079 ldrb r0, [r6, 4] ; int16_t arg1 │ 0x080006ae 0a21 movs r1, 0xa ; int16_t arg2 │ 0x080006b0 1322 movs r2, 0x13 │ 0x080006b2 294b ldr r3, [0x08000758] ; [0x8000758:4]=104 │ 0x080006b4 fff7feff bl PA_OutputText ; RELOC 32 PA_OutputText │ 0x080006b8 3079 ldrb r0, [r6, 4] ; int16_t arg1 │ 0x080006ba 0a21 movs r1, 0xa ; int16_t arg2 │ 0x080006bc 1522 movs r2, 0x15 │ 0x080006be 274b ldr r3, [0x0800075c] ; [0x800075c:4]=120 │ 0x080006c0 fff7feff bl PA_OutputText ; RELOC 32 PA_OutputText │ 0x080006c4 264d ldr r5, [reloc.pa_checklid] ; [0x8000760:4]=0 │ 0x080006c6 7824 movs r4, 0x78 ; 'x' │ ; CODE XREF from sym.viDSnips_Init @ 0x80006da │ 0x080006c8 2b78 ldrb r3, [r5] │ 0x080006ca 002b cmp r3, 0 │ 0x080006cc 01d0 beq 0x80006d2 │ 0x080006ce fff7feff bl PA_CheckLid ; RELOC 32 PA_CheckLid │ ; CODE XREF from sym.viDSnips_Init @ 0x80006cc │ 0x080006d2 013c subs r4, 1 │ 0x080006d4 fff7feff bl swiWaitForVBlank ; RELOC 32 swiWaitForVBlank │ 0x080006d8 002c cmp r4, 0 │ 0x080006da f5d1 bne 0x80006c8 │ 0x080006dc d5e7 b 0x800068a │ ; CODE XREF from sym.viDSnips_Init @ 0x8000688 │ 0x080006de 3079 ldrb r0, [r6, 4] ; int16_t arg1 │ 0x080006e0 0021 movs r1, 0 ; int16_t arg2 │ ;-- reloc.PA_LoadDefaultText: │ 0x080006e2 fff7feff bl PA_LoadDefaultText ; RELOC 32 PA_LoadDefaultText │ ;-- reloc.viDSnips_ShowSplash: │ 0x080006e6 fff7feff bl viDSnips_ShowSplash ; RELOC 32 viDSnips_ShowSplash @ 0x080005e8 - 0x1 │ 0x080006ea 1f23 movs r3, 0x1f │ 0x080006ec 3079 ldrb r0, [r6, 4] ; int16_t arg1 │ 0x080006ee 0021 movs r1, 0 ; int16_t arg2 │ 0x080006f0 0093 str r3, [sp] │ 0x080006f2 0022 movs r2, 0 │ 0x080006f4 0023 movs r3, 0 │ ;-- reloc.PA_CreateTextPal: │ 0x080006f6 fff7feff bl PA_CreateTextPal ; RELOC 32 PA_CreateTextPal │ 0x080006fa 3079 ldrb r0, [r6, 4] ; int16_t arg1 │ 0x080006fc 0221 movs r1, 2 ; int16_t arg2 │ 0x080006fe 1222 movs r2, 0x12 │ 0x08000700 184b ldr r3, [0x08000764] ; [0x8000764:4]=136 │ 0x08000702 fff7feff bl PA_OutputText ; RELOC 32 PA_OutputText │ 0x08000706 184b ldr r3, [reloc.ICEDADDY_REGISTRATION_name] ; [0x8000768:4]=0 │ 0x08000708 184c ldr r4, [reloc..rodata.str1.4] ; [0x800076c:4]=152 │ 0x0800070a 1b68 ldr r3, [r3] │ 0x0800070c 3079 ldrb r0, [r6, 4] ; int16_t arg1 │ 0x0800070e 0421 movs r1, 4 ; int16_t arg2 │ 0x08000710 0093 str r3, [sp] │ 0x08000712 1422 movs r2, 0x14 │ 0x08000714 231c adds r3, r4, 0 │ 0x08000716 fff7feff bl PA_OutputText ; RELOC 32 PA_OutputText │ 0x0800071a 154b ldr r3, [reloc.ICEDADDY_REGISTRATION_email] ; [0x8000770:4]=0 │ 0x0800071c 3079 ldrb r0, [r6, 4] ; int16_t arg1 │ 0x0800071e 1b68 ldr r3, [r3] │ 0x08000720 0421 movs r1, 4 ; int16_t arg2 │ 0x08000722 0093 str r3, [sp] │ 0x08000724 1622 movs r2, 0x16 │ 0x08000726 231c adds r3, r4, 0 │ ;-- reloc.PA_OutputText: │ 0x08000728 fff7feff bl PA_OutputText ; RELOC 32 PA_OutputText │ 0x0800072c 9624 movs r4, 0x96 │ 0x0800072e 0c4d ldr r5, [reloc.pa_checklid] ; [0x8000760:4]=0 │ 0x08000730 6400 lsls r4, r4, 1 │ ; CODE XREF from sym.viDSnips_Init @ 0x8000744 │ 0x08000732 2b78 ldrb r3, [r5] │ 0x08000734 002b cmp r3, 0 │ 0x08000736 01d0 beq 0x800073c │ ;-- reloc.PA_CheckLid: │ 0x08000738 fff7feff bl PA_CheckLid ; RELOC 32 PA_CheckLid │ ; CODE XREF from sym.viDSnips_Init @ 0x8000736 │ 0x0800073c 013c subs r4, 1 │ ;-- reloc.swiWaitForVBlank: │ 0x0800073e fff7feff bl swiWaitForVBlank ; RELOC 32 swiWaitForVBlank │ 0x08000742 002c cmp r4, 0 │ 0x08000744 f5d1 bne 0x8000732 └ 0x08000746 a0e7 b 0x800068a ; DATA XREF from sym.viDSnips_Init @ 0x8000664 0x08000748 0000 movs r0, r0 ; RELOC 32 VDS @ 0x08000000 0x0800074a 0000 movs r0, r0 ;-- reloc.ICEDADDY_REGISTRATION_viDSnips_Key: ; DATA XREF from sym.viDSnips_Init @ 0x8000666 0x0800074c 0000 movs r0, r0 ; RELOC 32 ICEDADDY_REGISTRATION_viDSnips_Key 0x0800074e 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Init @ 0x800066e 0x08000750 5c00 lsls r4, r3, 1 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x08000752 0000 movs r0, r0 ;-- reloc.Pad: ; DATA XREF from sym.viDSnips_Init @ 0x800067c 0x08000754 0000 movs r0, r0 ; RELOC 32 Pad 0x08000756 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Init @ 0x80006b2 0x08000758 6800 lsls r0, r5, 1 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x0800075a 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Init @ 0x80006be 0x0800075c 7800 lsls r0, r7, 1 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x0800075e 0000 movs r0, r0 ;-- reloc.pa_checklid: ; DATA XREFS from sym.viDSnips_Init @ 0x80006c4, 0x800072e 0x08000760 0000 movs r0, r0 ; RELOC 32 pa_checklid 0x08000762 0000 movs r0, r0 ; DATA XREF from sym.viDSnips_Init @ 0x8000700 0x08000764 8800 lsls r0, r1, 2 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x08000766 0000 movs r0, r0 ;-- reloc.ICEDADDY_REGISTRATION_name: ; DATA XREF from sym.viDSnips_Init @ 0x8000706 0x08000768 0000 movs r0, r0 ; RELOC 32 ICEDADDY_REGISTRATION_name 0x0800076a 0000 movs r0, r0 ;-- reloc..rodata.str1.4: ; DATA XREF from sym.viDSnips_Init @ 0x8000708 0x0800076c 9800 lsls r0, r3, 2 ; RELOC 32 .rodata.str1.4 @ 0x080090fc 0x0800076e 0000 movs r0, r0 ;-- reloc.ICEDADDY_REGISTRATION_email: ; DATA XREF from sym.viDSnips_Init @ 0x800071a 0x08000770 0000 movs r0, r0 ; RELOC 32 ICEDADDY_REGISTRATION_email 0x08000772 0000 movs r0, r0