diff options
Diffstat (limited to 'home.asm')
-rw-r--r-- | home.asm | 398 |
1 files changed, 12 insertions, 386 deletions
@@ -179,394 +179,20 @@ IsInArray:: .InArray: scf ret - -INCLUDE "home/math.asm" - -Function31e2:: ; 31e2 (0:31e2) - ld a, [wOptions] - bit 4, a - ret nz - ld a, [wTextboxFlags] - bit 1, a - ret z - push hl - push de - push bc - ld hl, hOAMUpdate - ld a, [hl] - push af - ld [hl], a - ld a, [wTextboxFlags] - bit 0, a - jr z, .asm_3205 - ld a, [wOptions] - and $7 - jr .asm_3207 - -.asm_3205 - ld a, $1 -.asm_3207 - ld [wTextDelayFrames], a -.asm_320a - call GetJoypad - ld a, [wc1d6] - and a - jr nz, .asm_3224 - ld a, [hJoyDown] - bit 0, a - jr z, .asm_321b - jr .asm_321f - -.asm_321b - bit 1, a - jr z, .asm_3224 -.asm_321f - call DelayFrame - jr .asm_322a - -.asm_3224 - ld a, [wTextDelayFrames] - and a - jr nz, .asm_320a -.asm_322a - pop af - ld [hOAMUpdate], a - pop bc - pop de - pop hl - ret - -Function3231:: -.asm_3231 - ld a, [hli] - ld [de], a - inc de - ld a, h - cp b - jr nz, .asm_3231 - ld a, l - cp c - jr nz, .asm_3231 - ret - -PrintNum:: ; 323d (0:323d) - push bc - bit 5, b - jr z, .asm_324f - bit 7, b - jr nz, .asm_324a - bit 6, b - jr z, .asm_324f -.asm_324a - ld a, $f0 - ld [hli], a - res 5, b -.asm_324f - xor a - ld [hPrintNum1], a - ld [hMultiplicand], a - ld [hStringCmpString2], a - ld a, b - and $f - cp $1 - jr z, .asm_3277 - cp $2 - jr z, .asm_326e - ld a, [de] - ld [hQuotient], a - inc de - ld a, [de] - ld [hPrintNum3], a - inc de - ld a, [de] - ld [hPrintNum4], a - jr .asm_327a - -.asm_326e - ld a, [de] - ld [hStringCmpString2], a - inc de - ld a, [de] - ld [hPrintNum4], a - jr .asm_327a - -.asm_3277 - ld a, [de] - ld [hPrintNum4], a -.asm_327a - push de - ld d, b - ld a, c - swap a - and $f - ld e, a - ld a, c - and $f - ld b, a - ld c, $0 - cp $2 - jr z, .asm_32f2 - cp $3 - jr z, .asm_32e2 - cp $4 - jr z, .asm_32d1 - cp $5 - jr z, .asm_32c0 - cp $6 - jr z, .asm_32ae - ld a, $f - ld [hMultiplier], a - ld a, $42 - ld [hPrintNum6], a - ld a, $40 - ld [hPrintNum7], a - call Function3341 - call Function33c0 -.asm_32ae - ld a, $1 - ld [hPrintNum5], a - ld a, $86 - ld [hPrintNum6], a - ld a, $a0 - ld [hPrintNum7], a - call Function3341 - call Function33c0 -.asm_32c0 - xor a - ld [hRemainder], a - ld a, $27 - ld [hMathBuffer], a - ld a, $10 - ld [hPrintNum7], a - call Function3341 - call Function33c0 -.asm_32d1 - xor a - ld [hMultiplier], a - ld a, $3 - ld [hPrintNum6], a - ld a, $e8 - ld [hPrintNum7], a - call Function3341 - call Function33c0 -.asm_32e2 - xor a - ld [hMultiplier], a - xor a - ld [hMathBuffer], a - ld a, $64 - ld [hPrintNum7], a - call Function3341 - call Function33c0 -.asm_32f2 - dec e - jr nz, .asm_32f9 - ld a, $f6 - ld [hPastLeadingZeroes], a -.asm_32f9 - ld c, $0 - ld a, [hPrintNum4] -.asm_32fd - cp $a - jr c, .asm_3306 - sub $a - inc c - jr .asm_32fd - -.asm_3306 - ld b, a - ld a, [hPrintNum1] - or c - jr nz, .asm_3311 - call Function33ba - jr .asm_3323 - -.asm_3311 - call Function3330 - push af - ld a, $f6 - add c - ld [hl], a - pop af - ld [hDividend], a - inc e - dec e - jr nz, .asm_3323 - inc hl - ld [hl], $e8 -.asm_3323 - call Function33c0 - call Function3330 - ld a, $f6 - add b - ld [hli], a - pop de - pop bc - ret - -Function3330:: ; 3330 (0:3330) - push af - ld a, [hPastLeadingZeroes] - and a - jr nz, .asm_333f - bit 5, d - jr z, .asm_333f - ld a, $f0 - ld [hli], a - res 5, d -.asm_333f - pop af - ret - -Function3341:: ; 3341 (0:3341) - dec e - jr nz, .asm_3348 - ld a, $f6 - ld [hProduct], a -.asm_3348 - ld c, $0 -.asm_334a - ld a, [hPrintNum5] - ld b, a - ld a, [hMultiplicand] - ld [hPrintNum8], a - cp b - jr c, .asm_339a - sub b - ld [hPrintNum2], a - ld a, [hPrintNum6] - ld b, a - ld a, [hPrintNum3] - ld [hPrintNum9], a - cp b - jr nc, .asm_336c - ld a, [hPrintNum2] - or $0 - jr z, .asm_3396 - dec a - ld [hPrintNum2], a - ld a, [hStringCmpString2] -.asm_336c - sub b - ld [hPrintNum3], a - ld a, [hPrintNum7] - ld b, a - ld a, [hPrintNum4] - ld [hPrintNum10], a - cp b - jr nc, .asm_338c - ld a, [hStringCmpString2] - and a - jr nz, .asm_3387 - ld a, [hQuotient] - and a - jr z, .asm_3392 - dec a - ld [hMultiplicand], a - xor a -.asm_3387 - dec a - ld [hPrintNum3], a - ld a, [hPrintNum4] -.asm_338c - sub b - ld [hPrintNum4], a - inc c - jr .asm_334a - -.asm_3392 - ld a, [hPrintNum9] - ld [hStringCmpString2], a -.asm_3396 - ld a, [hPrintNum8] - ld [hPrintNum2], a -.asm_339a - ld a, [hDividend] - or c - jr z, Function33ba - ld a, [hPrintNum1] - and a - jr nz, .asm_33ad - bit 5, d - jr z, .asm_33ad - ld a, $f0 - ld [hli], a - res 5, d -.asm_33ad - ld a, $f6 - add c - ld [hl], a - ld [hPrintNum1], a - inc e - dec e - ret nz - inc hl - ld [hl], $e8 - ret - -Function33ba:: ; 33ba (0:33ba) - bit 7, d - ret z - ld [hl], $f6 - ret - -Function33c0:: ; 33c0 (0:33c0) - bit 7, d - jr nz, .asm_33cc - bit 6, d - jr z, .asm_33cc - ld a, [hProduct] + +SkipNames:: +; Skip a names. + ld bc, NAME_LENGTH and a ret z -.asm_33cc - inc hl - ret - -Function33ce:: -; Print c-digit hex number from de to hl -.asm_33ce - push bc - call Function33d7 - pop bc - dec c - jr nz, .asm_33ce - ret - -Function33d7:: ; 33d7 (0:33d7) - ld a, [de] - swap a - and $f - call Function33e9 - ld [hli], a - ld a, [de] - and $f - call Function33e9 - ld [hli], a - inc de - ret - -Function33e9:: ; 33e9 (0:33e9) - ld bc, .digits - add c - ld c, a - ld a, $0 - adc b - ld b, a - ld a, [bc] +.loop + add hl, bc + dec a + jr nz, .loop ret -.digits db "0123456789ABCDEF" - -FarPrintText:: - ld [wBuffer], a - ld a, [hROMBank] - push af - ld a, [wBuffer] - rst Bankswitch - call PrintText - pop af - rst Bankswitch - ret +INCLUDE "home/math.asm" +INCLUDE "home/print_text.asm" Function3414:: ld a, [hROMBank] @@ -1668,7 +1294,7 @@ PrintBCDNumber:: ; 3ade (0:3ade) inc hl .asm_3b0e ld [hl], $f6 - call Function31e2 + call PrintLetterDelay inc hl .asm_3b14 ret @@ -1689,7 +1315,7 @@ Function3b15:: ; 3b15 (0:3b15) .asm_3b29 add $f6 ld [hli], a - jp Function31e2 + jp PrintLetterDelay .asm_3b2f bit 7, b |