mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-12-03 01:54:28 +13:00
disasm of number printing functions and other minor changes
hg-commit-id: ca84e561db2c
This commit is contained in:
parent
8573d9f7bd
commit
1440cf9321
|
|
@ -780,6 +780,12 @@ H_DIVISOR EQU $FF99 ; 1 byte
|
||||||
H_QUOTIENT EQU $FF95 ; 4 bytes, big endian order
|
H_QUOTIENT EQU $FF95 ; 4 bytes, big endian order
|
||||||
H_REMAINDER EQU $FF99 ; 1 byte
|
H_REMAINDER EQU $FF99 ; 1 byte
|
||||||
|
|
||||||
|
; used to convert numbers to decimal
|
||||||
|
H_PASTLEADINGZEROES EQU $FF95 ; flag to indicate that a nonzero digit has been printed
|
||||||
|
H_NUMTOPRINT EQU $FF96 ; 3 bytes, big endian order
|
||||||
|
H_POWEROFTEN EQU $FF99 ; 3 bytes, big endian order
|
||||||
|
H_SAVEDNUMTOPRINT EQU $FF9C ; 3 bytes, big endian order (to back out of a subtraction)
|
||||||
|
|
||||||
; is automatic background transfer during V-blank enabled?
|
; is automatic background transfer during V-blank enabled?
|
||||||
; if nonzero, yes
|
; if nonzero, yes
|
||||||
; if zero, no
|
; if zero, no
|
||||||
|
|
|
||||||
425
main.asm
425
main.asm
|
|
@ -2846,7 +2846,85 @@ SwitchToMapRomBank: ; 12BC
|
||||||
pop hl
|
pop hl
|
||||||
ret
|
ret
|
||||||
|
|
||||||
INCBIN "baserom.gbc",$12DA,$1627 - $12DA
|
INCBIN "baserom.gbc",$12DA,$15CD - $12DA
|
||||||
|
|
||||||
|
; function to print a BCD (Binary-coded decimal) number
|
||||||
|
; de = address of BCD number
|
||||||
|
; hl = destination address
|
||||||
|
; c = flags and length
|
||||||
|
; bit 7: if set, do not print leading zeroes
|
||||||
|
; if unset, print leading zeroes
|
||||||
|
; bit 6: if set, left-align the string (do not pad empty digits with spaces)
|
||||||
|
; if unset, right-align the string
|
||||||
|
; bit 5: if set, print currency symbol at the beginning of the string
|
||||||
|
; if unset, do not print the currency symbol
|
||||||
|
; bits 0-4: length of BCD number in bytes
|
||||||
|
; Note that bits 5 and 7 are modified during execution. The above reflects
|
||||||
|
; their meaning at the beginning of the functions's execution.
|
||||||
|
PrintBCDNumber: ; 15CD
|
||||||
|
ld b,c ; save flags in b
|
||||||
|
res 7,c
|
||||||
|
res 6,c
|
||||||
|
res 5,c ; c now holds the length
|
||||||
|
bit 5,b
|
||||||
|
jr z,.loop\@
|
||||||
|
bit 7,b
|
||||||
|
jr nz,.loop\@
|
||||||
|
ld [hl],$f0 ; currency symbol
|
||||||
|
inc hl
|
||||||
|
.loop\@
|
||||||
|
ld a,[de]
|
||||||
|
swap a
|
||||||
|
call PrintBCDDigit ; print upper digit
|
||||||
|
ld a,[de]
|
||||||
|
call PrintBCDDigit ; print lower digit
|
||||||
|
inc de
|
||||||
|
dec c
|
||||||
|
jr nz,.loop\@
|
||||||
|
bit 7,b ; were any non-zero digits printed?
|
||||||
|
jr z,.done\@ ; if so, we are done
|
||||||
|
.numberEqualsZero\@ ; if every digit of the BCD number is zero
|
||||||
|
bit 6,b ; left or right alignment?
|
||||||
|
jr nz,.skipRightAlignmentAdjustment\@
|
||||||
|
dec hl ; if the string is right-aligned, it needs to be moved back one space
|
||||||
|
.skipRightAlignmentAdjustment\@
|
||||||
|
bit 5,b
|
||||||
|
jr z,.skipCurrencySymbol\@
|
||||||
|
ld [hl],$f0 ; currency symbol
|
||||||
|
inc hl
|
||||||
|
.skipCurrencySymbol\@
|
||||||
|
ld [hl],"0"
|
||||||
|
call PrintLetterDelay
|
||||||
|
inc hl
|
||||||
|
.done\@
|
||||||
|
ret
|
||||||
|
|
||||||
|
PrintBCDDigit: ; 1604
|
||||||
|
and a,%00001111
|
||||||
|
and a
|
||||||
|
jr z,.zeroDigit\@
|
||||||
|
.nonzeroDigit\@
|
||||||
|
bit 7,b ; have any non-space characters been printed?
|
||||||
|
jr z,.outputDigit\@
|
||||||
|
; if bit 7 is set, then no numbers have been printed yet
|
||||||
|
bit 5,b ; print the currency symbol?
|
||||||
|
jr z,.skipCurrencySymbol\@
|
||||||
|
ld [hl],$f0 ; currency symbol
|
||||||
|
inc hl
|
||||||
|
res 5,b
|
||||||
|
.skipCurrencySymbol\@
|
||||||
|
res 7,b ; unset 7 to indicate that a nonzero digit has been reached
|
||||||
|
.outputDigit\@
|
||||||
|
add a,"0"
|
||||||
|
ld [hli],a
|
||||||
|
jp PrintLetterDelay
|
||||||
|
.zeroDigit\@
|
||||||
|
bit 7,b ; either printing leading zeroes or already reached a nonzero digit?
|
||||||
|
jr z,.outputDigit\@ ; if so, print a zero digit
|
||||||
|
bit 6,b ; left or right alignment?
|
||||||
|
ret nz
|
||||||
|
inc hl ; if right-aligned, "print" a space by advancing the pointer
|
||||||
|
ret
|
||||||
|
|
||||||
;XXX what does this do
|
;XXX what does this do
|
||||||
;XXX what points to this
|
;XXX what points to this
|
||||||
|
|
@ -3376,7 +3454,7 @@ Char55: ; 0x1a7c
|
||||||
ld b,h
|
ld b,h
|
||||||
ld c,l
|
ld c,l
|
||||||
ld hl,Char55Text
|
ld hl,Char55Text
|
||||||
call $1B40
|
call TextCommandProcessor
|
||||||
ld h,b
|
ld h,b
|
||||||
ld l,c
|
ld l,c
|
||||||
pop de
|
pop de
|
||||||
|
|
@ -3602,7 +3680,7 @@ TextCommand02: ; 1BA5
|
||||||
ld h,b
|
ld h,b
|
||||||
ld l,c
|
ld l,c
|
||||||
ld c,a
|
ld c,a
|
||||||
call $15cd
|
call PrintBCDNumber
|
||||||
ld b,h
|
ld b,h
|
||||||
ld c,l
|
ld c,l
|
||||||
pop hl
|
pop hl
|
||||||
|
|
@ -3690,7 +3768,7 @@ TextCommand09: ; 1BFF
|
||||||
swap a
|
swap a
|
||||||
set 6,a
|
set 6,a
|
||||||
ld b,a
|
ld b,a
|
||||||
call $3c5f
|
call PrintNumber
|
||||||
ld b,h
|
ld b,h
|
||||||
ld c,l
|
ld c,l
|
||||||
pop hl
|
pop hl
|
||||||
|
|
@ -6348,136 +6426,265 @@ PrintText: ; 3C49
|
||||||
pop hl
|
pop hl
|
||||||
FuncCoord 1,14
|
FuncCoord 1,14
|
||||||
ld bc,Coord ;$C4B9
|
ld bc,Coord ;$C4B9
|
||||||
jp $1B40
|
jp TextCommandProcessor
|
||||||
|
|
||||||
Func3C5F: ; 3C5F
|
; converts a big-endian binary number into decimal and prints it
|
||||||
|
; INPUT:
|
||||||
|
; b = flags and number of bytes
|
||||||
|
; bit 7: if set, do not print leading zeroes
|
||||||
|
; if unset, print leading zeroes
|
||||||
|
; bit 6: if set, left-align the string (do not pad empty digits with spaces)
|
||||||
|
; if unset, right-align the string
|
||||||
|
; bits 4-5: unused
|
||||||
|
; bits 0-3: number of bytes (only 1 - 3 bytes supported)
|
||||||
|
; c = number of decimal digits
|
||||||
|
; de = address of the number (big-endian)
|
||||||
|
PrintNumber: ; 3C5F
|
||||||
push bc
|
push bc
|
||||||
xor a
|
xor a
|
||||||
ld [$FF95],a
|
ld [H_PASTLEADINGZEROES],a
|
||||||
ld [$FF96],a
|
ld [H_NUMTOPRINT],a
|
||||||
ld [$FF97],a
|
ld [H_NUMTOPRINT + 1],a
|
||||||
ld a,b
|
ld a,b
|
||||||
and $F
|
and a,%00001111
|
||||||
cp 1
|
cp a,1
|
||||||
jr z,.next\@
|
jr z,.oneByte\@
|
||||||
cp 2
|
cp a,2
|
||||||
jr z,.next2\@
|
jr z,.twoBytes\@
|
||||||
|
.threeBytes\@
|
||||||
ld a,[de]
|
ld a,[de]
|
||||||
ld [$FF96],a
|
ld [H_NUMTOPRINT],a
|
||||||
inc de
|
inc de
|
||||||
ld a,[de]
|
ld a,[de]
|
||||||
ld [$FF97],a
|
ld [H_NUMTOPRINT + 1],a
|
||||||
inc de
|
inc de
|
||||||
ld a,[de]
|
ld a,[de]
|
||||||
ld [$FF98],a
|
ld [H_NUMTOPRINT + 2],a
|
||||||
jr .next3\@
|
jr .checkNumDigits\@
|
||||||
|
.twoBytes\@
|
||||||
.next2\@
|
|
||||||
ld a,[de]
|
ld a,[de]
|
||||||
ld [$FF97],a
|
ld [H_NUMTOPRINT + 1],a
|
||||||
inc de
|
inc de
|
||||||
ld a,[de]
|
ld a,[de]
|
||||||
ld [$FF98],a
|
ld [H_NUMTOPRINT + 2],a
|
||||||
jr .next3\@
|
jr .checkNumDigits\@
|
||||||
|
.oneByte\@
|
||||||
.next\@
|
|
||||||
ld a,[de]
|
ld a,[de]
|
||||||
ld [$FF98],a
|
ld [H_NUMTOPRINT + 2],a
|
||||||
|
.checkNumDigits\@
|
||||||
.next3\@
|
|
||||||
push de
|
push de
|
||||||
ld d,b
|
ld d,b
|
||||||
ld a,c
|
ld a,c
|
||||||
ld b,a
|
ld b,a
|
||||||
xor a
|
xor a
|
||||||
ld c,a
|
ld c,a
|
||||||
ld a,b
|
ld a,b ; a = number of decimal digits
|
||||||
cp 2
|
cp a,2
|
||||||
jr z,.next4\@
|
jr z,.tensPlace\@
|
||||||
cp 3
|
cp a,3
|
||||||
jr z,.next5\@
|
jr z,.hundredsPlace\@
|
||||||
cp 4
|
cp a,4
|
||||||
jr z,.next6\@
|
jr z,.thousandsPlace\@
|
||||||
cp 5
|
cp a,5
|
||||||
jr z,.next7\@
|
jr z,.tenThousandsPlace\@
|
||||||
cp 6
|
cp a,6
|
||||||
jr z,.next8\@
|
jr z,.hundredThousandsPlace\@
|
||||||
ld a,$F
|
.millionsPlace\@
|
||||||
ld [$FF99],a
|
ld a,1000000 >> 16
|
||||||
ld a,$42
|
ld [H_POWEROFTEN],a
|
||||||
ld [$FF9A],a
|
ld a,(1000000 >> 8) & $FF
|
||||||
ld a,$40
|
ld [H_POWEROFTEN + 1],a
|
||||||
ld [$FF9B],a
|
ld a,1000000 & $FF
|
||||||
call $3D25
|
ld [H_POWEROFTEN + 2],a
|
||||||
call $3D89
|
call PrintNumber_PrintDigit
|
||||||
.next8\@
|
call PrintNumber_AdvancePointer
|
||||||
ld a,1
|
.hundredThousandsPlace\@
|
||||||
ld [$FF99],a
|
ld a,100000 >> 16
|
||||||
ld a,$86
|
ld [H_POWEROFTEN],a
|
||||||
ld [$FF9A],a
|
ld a,(100000 >> 8) & $FF
|
||||||
ld a,$A0
|
ld [H_POWEROFTEN + 1],a
|
||||||
ld [$FF9B],a
|
ld a,100000 & $FF
|
||||||
call $3D25
|
ld [H_POWEROFTEN + 2],a
|
||||||
call $3D89
|
call PrintNumber_PrintDigit
|
||||||
.next7\@
|
call PrintNumber_AdvancePointer
|
||||||
|
.tenThousandsPlace\@
|
||||||
xor a
|
xor a
|
||||||
ld [$FF99],a
|
ld [H_POWEROFTEN],a
|
||||||
ld a,$27
|
ld a,10000 >> 8
|
||||||
ld [$FF9A],a
|
ld [H_POWEROFTEN + 1],a
|
||||||
ld a,$10
|
ld a,10000 & $FF
|
||||||
ld [$FF9B],a
|
ld [H_POWEROFTEN + 2],a
|
||||||
call $3D25
|
call PrintNumber_PrintDigit
|
||||||
call $3D89
|
call PrintNumber_AdvancePointer
|
||||||
.next6\@
|
.thousandsPlace\@
|
||||||
xor a
|
xor a
|
||||||
ld [$FF99],a
|
ld [H_POWEROFTEN],a
|
||||||
ld a,3
|
ld a,1000 >> 8
|
||||||
ld [$FF9A],a
|
ld [H_POWEROFTEN + 1],a
|
||||||
ld a,$E8
|
ld a,1000 & $FF
|
||||||
ld [$FF9B],a
|
ld [H_POWEROFTEN + 2],a
|
||||||
call $3D25
|
call PrintNumber_PrintDigit
|
||||||
call $3D89
|
call PrintNumber_AdvancePointer
|
||||||
.next5\@
|
.hundredsPlace\@
|
||||||
xor a
|
xor a
|
||||||
ld [$FF99],a
|
ld [H_POWEROFTEN],a
|
||||||
xor a
|
xor a
|
||||||
ld [$FF9A],a
|
ld [H_POWEROFTEN + 1],a
|
||||||
ld a,$64
|
ld a,100
|
||||||
ld [$FF9B],a
|
ld [H_POWEROFTEN + 2],a
|
||||||
call $3D25
|
call PrintNumber_PrintDigit
|
||||||
call $3D89
|
call PrintNumber_AdvancePointer
|
||||||
.next4\@
|
.tensPlace\@
|
||||||
ld c,0
|
ld c,00
|
||||||
ld a,[$FF98]
|
ld a,[H_NUMTOPRINT + 2]
|
||||||
.next10\@
|
.loop\@
|
||||||
cp $A
|
cp a,10
|
||||||
jr c,.next9\@
|
jr c,.underflow\@
|
||||||
sub $A
|
sub a,10
|
||||||
inc c
|
inc c
|
||||||
jr .next10\@
|
jr .loop\@
|
||||||
.next9\@
|
.underflow\@
|
||||||
ld b,a
|
ld b,a
|
||||||
ld a,[$FF95]
|
ld a,[H_PASTLEADINGZEROES]
|
||||||
or c
|
or c
|
||||||
ld [$FF95],a
|
ld [H_PASTLEADINGZEROES],a
|
||||||
jr nz,.next11\@
|
jr nz,.pastLeadingZeroes\@
|
||||||
call $3D83
|
call PrintNumber_PrintLeadingZero
|
||||||
jr .next12\@
|
jr .advancePointer\@
|
||||||
.next11\@
|
.pastLeadingZeroes\@
|
||||||
ld a,$F6
|
ld a,"0"
|
||||||
add a,c
|
add c
|
||||||
ld [hl],a
|
ld [hl],a
|
||||||
.next12\@
|
.advancePointer\@
|
||||||
call $3D89
|
call PrintNumber_AdvancePointer
|
||||||
ld a,$F6
|
.onesPlace\@
|
||||||
add a,b
|
ld a,"0"
|
||||||
|
add b
|
||||||
ld [hli],a
|
ld [hli],a
|
||||||
pop de
|
pop de
|
||||||
dec de
|
dec de
|
||||||
pop bc
|
pop bc
|
||||||
ret
|
ret
|
||||||
|
|
||||||
INCBIN "baserom.gbc",$3D25,$3DAB - $3D25
|
; prints a decimal digit
|
||||||
|
; This works by repeatedely subtracting a power of ten until the number becomes negative.
|
||||||
|
; The number of subtractions it took in order to make the number negative is the digit for the current number place.
|
||||||
|
; The last value that the number had before becoming negative is kept as the new value of the number.
|
||||||
|
; A more succinct description is that the number is divided by a power of ten
|
||||||
|
; and the quotient becomes the digit while the remainder is stored as the new value of the number.
|
||||||
|
PrintNumber_PrintDigit: ; 3D25
|
||||||
|
ld c,0 ; counts number of loop iterations to determine the decimal digit
|
||||||
|
.loop\@
|
||||||
|
ld a,[H_POWEROFTEN]
|
||||||
|
ld b,a
|
||||||
|
ld a,[H_NUMTOPRINT]
|
||||||
|
ld [H_SAVEDNUMTOPRINT],a
|
||||||
|
cp b
|
||||||
|
jr c,.underflow0\@
|
||||||
|
sub b
|
||||||
|
ld [H_NUMTOPRINT],a
|
||||||
|
ld a,[H_POWEROFTEN + 1]
|
||||||
|
ld b,a
|
||||||
|
ld a,[H_NUMTOPRINT + 1]
|
||||||
|
ld [H_SAVEDNUMTOPRINT + 1],a
|
||||||
|
cp b
|
||||||
|
jr nc,.noBorrowForByte1\@
|
||||||
|
.byte1BorrowFromByte0\@
|
||||||
|
ld a,[H_NUMTOPRINT]
|
||||||
|
or a,0
|
||||||
|
jr z,.underflow1\@
|
||||||
|
dec a
|
||||||
|
ld [H_NUMTOPRINT],a
|
||||||
|
ld a,[H_NUMTOPRINT + 1]
|
||||||
|
.noBorrowForByte1\@
|
||||||
|
sub b
|
||||||
|
ld [H_NUMTOPRINT + 1],a
|
||||||
|
ld a,[H_POWEROFTEN + 2]
|
||||||
|
ld b,a
|
||||||
|
ld a,[H_NUMTOPRINT + 2]
|
||||||
|
ld [H_SAVEDNUMTOPRINT + 2],a
|
||||||
|
cp b
|
||||||
|
jr nc,.noBorrowForByte2\@
|
||||||
|
.byte2BorrowFromByte1\@
|
||||||
|
ld a,[H_NUMTOPRINT + 1]
|
||||||
|
and a
|
||||||
|
jr nz,.finishByte2BorrowFromByte1\@
|
||||||
|
.byte2BorrowFromByte0\@
|
||||||
|
ld a,[H_NUMTOPRINT]
|
||||||
|
and a
|
||||||
|
jr z,.underflow2\@
|
||||||
|
dec a
|
||||||
|
ld [H_NUMTOPRINT],a
|
||||||
|
xor a
|
||||||
|
.finishByte2BorrowFromByte1\@
|
||||||
|
dec a
|
||||||
|
ld [H_NUMTOPRINT + 1],a
|
||||||
|
ld a,[H_NUMTOPRINT + 2]
|
||||||
|
.noBorrowForByte2\@
|
||||||
|
sub b
|
||||||
|
ld [H_NUMTOPRINT + 2],a
|
||||||
|
inc c
|
||||||
|
jr .loop\@
|
||||||
|
.underflow2\@
|
||||||
|
ld a,[H_SAVEDNUMTOPRINT + 1]
|
||||||
|
ld [H_NUMTOPRINT + 1],a
|
||||||
|
.underflow1\@
|
||||||
|
ld a,[H_SAVEDNUMTOPRINT]
|
||||||
|
ld [H_NUMTOPRINT],a
|
||||||
|
.underflow0\@
|
||||||
|
ld a,[H_PASTLEADINGZEROES]
|
||||||
|
or c
|
||||||
|
jr z,PrintNumber_PrintLeadingZero
|
||||||
|
ld a,"0"
|
||||||
|
add c
|
||||||
|
ld [hl],a
|
||||||
|
ld [H_PASTLEADINGZEROES],a
|
||||||
|
ret
|
||||||
|
|
||||||
|
; prints a leading zero unless they are turned off in the flags
|
||||||
|
PrintNumber_PrintLeadingZero: ; 3D83
|
||||||
|
bit 7,d ; print leading zeroes?
|
||||||
|
ret z
|
||||||
|
ld [hl],"0"
|
||||||
|
ret
|
||||||
|
|
||||||
|
; increments the pointer unless leading zeroes are not being printed,
|
||||||
|
; the number is left-aligned, and no nonzero digits have been printed yet
|
||||||
|
PrintNumber_AdvancePointer: ; 3D89
|
||||||
|
bit 7,d ; print leading zeroes?
|
||||||
|
jr nz,.incrementPointer\@
|
||||||
|
bit 6,d ; left alignment or right alignment?
|
||||||
|
jr z,.incrementPointer\@
|
||||||
|
ld a,[H_PASTLEADINGZEROES]
|
||||||
|
and a
|
||||||
|
ret z
|
||||||
|
.incrementPointer\@
|
||||||
|
inc hl
|
||||||
|
ret
|
||||||
|
|
||||||
|
; calls a function from a table of function pointers
|
||||||
|
; INPUT:
|
||||||
|
; a = index within table
|
||||||
|
; hl = address of function pointer table
|
||||||
|
CallFunctionInTable: ; 3D97
|
||||||
|
push hl
|
||||||
|
push de
|
||||||
|
push bc
|
||||||
|
add a
|
||||||
|
ld d,0
|
||||||
|
ld e,a
|
||||||
|
add hl,de
|
||||||
|
ld a,[hli]
|
||||||
|
ld h,[hl]
|
||||||
|
ld l,a
|
||||||
|
ld de,.returnAddress\@
|
||||||
|
push de
|
||||||
|
jp [hl]
|
||||||
|
.returnAddress\@
|
||||||
|
pop bc
|
||||||
|
pop de
|
||||||
|
pop hl
|
||||||
|
ret
|
||||||
|
|
||||||
IsInArray: ; 3DAB
|
IsInArray: ; 3DAB
|
||||||
; searches an array at hl for the value in a.
|
; searches an array at hl for the value in a.
|
||||||
|
|
@ -36322,7 +36529,7 @@ ENDC
|
||||||
ld hl,$C3A9
|
ld hl,$C3A9
|
||||||
ld de,$D11E
|
ld de,$D11E
|
||||||
ld bc,$8103
|
ld bc,$8103
|
||||||
call $3C5F
|
call PrintNumber
|
||||||
FuncCoord 5,2
|
FuncCoord 5,2
|
||||||
ld hl,Coord
|
ld hl,Coord
|
||||||
ld de,$CF4B
|
ld de,$CF4B
|
||||||
|
|
@ -36334,7 +36541,7 @@ ENDC
|
||||||
ld hl,$C420
|
ld hl,$C420
|
||||||
ld de,$CD4C
|
ld de,$CD4C
|
||||||
ld bc,$8205
|
ld bc,$8205
|
||||||
jp $3C5F
|
jp PrintNumber
|
||||||
|
|
||||||
FuncCoord 5,10
|
FuncCoord 5,10
|
||||||
ld hl,Coord
|
ld hl,Coord
|
||||||
|
|
@ -36347,7 +36554,7 @@ ENDC
|
||||||
ld hl,$C471
|
ld hl,$C471
|
||||||
ld de,$D11E
|
ld de,$D11E
|
||||||
ld bc,$8103
|
ld bc,$8103
|
||||||
call $3C5F
|
call PrintNumber
|
||||||
FuncCoord 5,12
|
FuncCoord 5,12
|
||||||
ld hl,Coord
|
ld hl,Coord
|
||||||
ld de,$CD6D
|
ld de,$CD6D
|
||||||
|
|
@ -36359,7 +36566,7 @@ ENDC
|
||||||
ld hl,$C4E8
|
ld hl,$C4E8
|
||||||
ld de,$CD59
|
ld de,$CD59
|
||||||
ld bc,$8205
|
ld bc,$8205
|
||||||
jp $3C5F
|
jp PrintNumber
|
||||||
|
|
||||||
OTString67E5: ; 67E5
|
OTString67E5: ; 67E5
|
||||||
db "──",$74,$F2,$4E
|
db "──",$74,$F2,$4E
|
||||||
|
|
@ -46263,17 +46470,17 @@ GetPrizeMenuId: ; 14:678E
|
||||||
ld c,(1 << 7 | 2)
|
ld c,(1 << 7 | 2)
|
||||||
; Function $15CD displays BCD value (same routine
|
; Function $15CD displays BCD value (same routine
|
||||||
; used by text-command $02)
|
; used by text-command $02)
|
||||||
call $15CD ; Print_BCD
|
call PrintBCDNumber ; Print_BCD
|
||||||
ld de,$D143
|
ld de,$D143
|
||||||
FuncCoord 13,7
|
FuncCoord 13,7
|
||||||
ld hl,Coord
|
ld hl,Coord
|
||||||
ld c,(%1 << 7 | 2)
|
ld c,(%1 << 7 | 2)
|
||||||
call $15CD
|
call PrintBCDNumber
|
||||||
ld de,$D145
|
ld de,$D145
|
||||||
FuncCoord 13,9
|
FuncCoord 13,9
|
||||||
ld hl,Coord
|
ld hl,Coord
|
||||||
ld c,(1 << 7 | 2)
|
ld c,(1 << 7 | 2)
|
||||||
jp $15CD
|
jp PrintBCDNumber
|
||||||
|
|
||||||
PrizeDifferentMenuPtrs: ; 14:6843
|
PrizeDifferentMenuPtrs: ; 14:6843
|
||||||
dw PrizeMenuMon1Entries
|
dw PrizeMenuMon1Entries
|
||||||
|
|
@ -46364,7 +46571,7 @@ PrintPrizePrice: ; 14:687A
|
||||||
ld hl,Coord
|
ld hl,Coord
|
||||||
ld de,W_PLAYERCOINS1
|
ld de,W_PLAYERCOINS1
|
||||||
ld c,%10000010
|
ld c,%10000010
|
||||||
call $15CD
|
call PrintBCDNumber
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.CoinText\@ ; 14:68A5
|
.CoinText\@ ; 14:68A5
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue