Skip to content

Commit 842cf0a

Browse files
committed
B4DS: Optimize marioCalcStrbForSlot2 code
1 parent 32be410 commit 842cf0a

File tree

1 file changed

+7
-44
lines changed

1 file changed

+7
-44
lines changed

retail/bootloader/source/arm7/mep_patches.s

Lines changed: 7 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -478,68 +478,31 @@ marioCalcStrbForSlot2Func:
478478
ldr r4, =0x01FF8000
479479

480480
mov r2, r5
481-
ldr r3, =0x01000000
481+
mov r3, #0xF
482+
and r2, r3
482483
marioCalcStrbForSlot2_loop:
483-
cmp r2, r3
484-
blt marioCalcStrbForSlot2_2
485-
sub r2, r2, r3
486-
b marioCalcStrbForSlot2_loop
487-
488-
marioCalcStrbForSlot2_2:
489-
ldr r3, =0x00100000
490-
marioCalcStrbForSlot2_loop2:
491-
cmp r2, r3
492-
blt marioCalcStrbForSlot2_3
493-
sub r2, r2, r3
494-
b marioCalcStrbForSlot2_loop2
495-
496-
marioCalcStrbForSlot2_3:
497-
ldr r3, =0x00010000
498-
marioCalcStrbForSlot2_loop3:
499-
cmp r2, r3
500-
blt marioCalcStrbForSlot2_4
501-
sub r2, r2, r3
502-
b marioCalcStrbForSlot2_loop3
503-
504-
marioCalcStrbForSlot2_4:
505-
ldr r3, =0x00001000
506-
marioCalcStrbForSlot2_loop4:
507-
cmp r2, r3
508-
blt marioCalcStrbForSlot2_5
509-
sub r2, r2, r3
510-
b marioCalcStrbForSlot2_loop4
511-
512-
marioCalcStrbForSlot2_5:
513-
ldr r3, =0x00000100
514-
marioCalcStrbForSlot2_loop5:
515-
cmp r2, r3
516-
blt marioCalcStrbForSlot2_loop6
517-
sub r2, r2, r3
518-
b marioCalcStrbForSlot2_loop5
519-
520-
marioCalcStrbForSlot2_loop6:
521484
cmp r2, #0
522485
beq marioCalcStrbForSlot2_writeByte0
523486
cmp r2, #1
524487
beq marioCalcStrbForSlot2_writeByte1
525-
sub r2, r2, #2
526-
b marioCalcStrbForSlot2_loop6
488+
sub r2, #2
489+
b marioCalcStrbForSlot2_loop
527490

528491
marioCalcStrbForSlot2_writeByte0:
529492
strb r0, [r4]
530493
ldrh r0, [r4]
531494

532495
strh r0, [r5]
533-
add r5, r5, #1
496+
add r5, #1
534497
pop {r2-r4, pc}
535498

536499
marioCalcStrbForSlot2_writeByte1:
537500
strb r0, [r4, #1]
538501
ldrh r0, [r4]
539502

540-
sub r5, r5, #1
503+
sub r5, #1
541504
strh r0, [r5]
542-
add r5, r5, #2
505+
add r5, #2
543506

544507
mov r0, #0
545508
strh r0, [r4]

0 commit comments

Comments
 (0)