thumb_local_start sub_801C6EE: push {r4-r7,lr} mov r0, #0 push {r0} push {r0} push {r0} push {r0} push {r0} push {r0} push {r0} push {r0} push {r0} push {r0} push {r0} push {r0} mov r0, #0 mov r1, #0x12 mov r2, #3 mov r3, #0 mov r4, #0x11 mov r5, #2 bl call_sub_3005EBA ldr r0, off_801C83C // =eStruct2035280 ldr r0, [r0,#0x48] // (dword_20352C8 - 0x2035280) bl sub_800ED90 cmp r3, #0 beq loc_801C818 str r0, [sp] str r1, [sp,#4] str r2, [sp,#8] bl sub_8027D10 ldr r2, off_801C81C // =byte_203EBA0 ldr r3, dword_801C820 // =0x600cb00 mov r4, #8 mov r5, #1 ldr r6, off_801C824 // =dword_86B7AE0 mov r7, #0 bl renderTextGfx_8045F8C mov r7, r0 mov r4, r0 mov r0, #0 mov r1, #0x12 mov r2, #3 ldr r3, off_801C828 // =byte_801D944 bl sub_80018E0 mov r0, #0 mov r1, #0x13 mov r2, #3 ldr r3, off_801C82C // =byte_801D954 mov r4, r7 bl sub_80018E0 // idx ldr r0, [sp] bl getChip8021DA8 // (int chip_idx) -> ChipData* ldrb r1, [r0,#9] mov r2, #2 tst r1, r2 beq loc_801C818 ldr r0, [sp,#4] bl sub_8000C00 mov r4, r0 bl sub_8000C5C mov r3, r0 mov r6, r3 add r2, sp, #0xc lsl r0, r0, #1 add r2, r2, r0 sub r2, #2 ldr r1, dword_801C830 // =0xd1b8 loc_801C786: mov r0, #0xf and r0, r4 lsl r0, r0, #1 add r0, r0, r1 strh r0, [r2] add r0, #1 strh r0, [r2,#0x12] sub r2, #2 lsr r4, r4, #4 sub r3, #1 bne loc_801C786 ldr r0, [sp,#8] cmp r0, #0 beq loc_801C7DE bl sub_8000C00 mov r4, r0 bl sub_8000C5C mov r3, r0 mov r2, r6 lsl r2, r2, #1 add r2, #0xc add r2, sp ldr r1, dword_801C834 // =0xd1ce strh r1, [r2] add r1, #1 strh r1, [r2,#0x12] lsl r0, r0, #1 add r2, r2, r0 add r6, r6, r3 add r6, #1 ldr r1, dword_801C830 // =0xd1b8 loc_801C7C8: mov r0, #0xf and r0, r4 lsl r0, r0, #1 add r0, r0, r1 strh r0, [r2] add r0, #1 strh r0, [r2,#0x12] sub r2, #2 lsr r4, r4, #4 sub r3, #1 bne loc_801C7C8 loc_801C7DE: ldr r0, off_801C83C // =eStruct2035280 ldr r0, [r0,#0x48] // (dword_20352C8 - 0x2035280) ldr r1, [sp] mov r3, #0 bl sub_8012A38 tst r1, r1 beq loc_801C806 mov r2, r6 lsl r2, r2, #1 add r2, #0xc add r2, sp ldr r1, dword_801C838 // =0xd1d2 strh r1, [r2] add r1, #1 strh r1, [r2,#0x12] add r1, #1 strh r1, [r2,#2] add r1, #1 strh r1, [r2,#0x14] loc_801C806: mov r0, r7 // j add r0, #0 // i mov r1, #0x12 // tileBlock32x32 mov r2, #3 // tileIds add r3, sp, #0xc mov r4, #9 mov r5, #2 bl CopyBackgroundTiles loc_801C818: add sp, sp, #0x30 pop {r4-r7,pc} .balign 4, 0 off_801C81C: .word byte_203EBA0 dword_801C820: .word 0x600CB00 off_801C824: .word dword_86B7AE0 off_801C828: .word byte_801D944 off_801C82C: .word byte_801D954 dword_801C830: .word 0xD1B8 dword_801C834: .word 0xD1CE dword_801C838: .word 0xD1D2 off_801C83C: .word eStruct2035280 thumb_func_end sub_801C6EE