menu housekeeping

This commit is contained in:
scawful
2024-12-08 20:12:12 -05:00
parent 70f13ff1c0
commit efcd0f0ac3
3 changed files with 76 additions and 77 deletions

View File

@@ -7,7 +7,7 @@
NothingGFX: NothingGFX:
dw $20F5, $20F5, $20F5, $20F5 dw $20F5, $20F5, $20F5, $20F5
; --------------------------------------------------------- ; ---------------------------------------------------------
BowsGFX: BowsGFX:
@@ -97,7 +97,7 @@ BigChestKeyGFX:
; --------------------------------------------------------- ; ---------------------------------------------------------
MapGFX: MapGFX:
dw $2936, $2937, $2946, $2947 dw $2936, $2937, $2946, $2947
; --------------------------------------------------------- ; ---------------------------------------------------------
@@ -113,7 +113,7 @@ JumpFeatherGFX:
; --------------------------------------------------------- ; ---------------------------------------------------------
BookGFX: BookGFX:
dw $3CA5, $3CA6, $3CD8, $3CD9 dw $3CA5, $3CA6, $3CD8, $3CD9
; --------------------------------------------------------- ; ---------------------------------------------------------
@@ -132,7 +132,7 @@ BottlesGFX:
; --------------------------------------------------------- ; ---------------------------------------------------------
SomariaGFX: SomariaGFX:
dw $24DC, $24DD, $24EC, $24ED dw $24DC, $24DD, $24EC, $24ED
; --------------------------------------------------------- ; ---------------------------------------------------------
@@ -140,7 +140,7 @@ ByrnaGFX:
dw $2CDC, $2CDD, $2CEC, $2CED dw $2CDC, $2CDD, $2CEC, $2CED
FishingRodGFX: FishingRodGFX:
dw $2C82, $2C83, $2C8B, $2C8C dw $2C82, $2C83, $2C8B, $2C8C
PortalRodGFX: PortalRodGFX:
dw $2CF0, $24F1, $30EC, $E4F0 dw $2CF0, $24F1, $30EC, $E4F0
@@ -149,7 +149,7 @@ PortalRodGFX:
; formerly Magic Cape ; formerly Magic Cape
StoneMaskGFX: StoneMaskGFX:
dw $30B4, $30B5, $30C4, $30C5 dw $30B4, $30B5, $30C4, $30C5
; --------------------------------------------------------- ; ---------------------------------------------------------
@@ -172,7 +172,7 @@ MirrorGFX:
dw $2C62, $2C63, $2C72, $2C73 ; Mirror dw $2C62, $2C63, $2C72, $2C73 ; Mirror
; ============================================================================= ; =========================================================
; Collectibles ; Collectibles
; --------------------------------------------------------- ; ---------------------------------------------------------
@@ -218,7 +218,7 @@ DekuStickGFX:
; Equipped Items ; Equipped Items
PegasusBootsGFX: PegasusBootsGFX:
dw $2429, $242A, $242B, $242C ; Pegasus Boots dw $2429, $242A, $242B, $242C ; Pegasus Boots
; --------------------------------------------------------- ; ---------------------------------------------------------
@@ -229,18 +229,18 @@ PowerGloveGFX:
; --------------------------------------------------------- ; ---------------------------------------------------------
FlippersGFX: FlippersGFX:
dw $2C9A, $2C9B, $2C9D, $2C9E dw $2C9A, $2C9B, $2C9D, $2C9E
; --------------------------------------------------------- ; ---------------------------------------------------------
MoonPearlGFX: MoonPearlGFX:
dw $2433, $2434, $2435, $2436 dw $2433, $2434, $2435, $2436
; --------------------------------------------------------- ; ---------------------------------------------------------
SwordGFX: SwordGFX:
dw $2C64, $2CCE, $2C75, $EC64 ; level one dw $2C64, $2CCE, $2C75, $EC64 ; level one
dw $2C64, $2C65, $2C74, $2D26 ; level two dw $2C64, $2C65, $2C74, $2D26 ; level two
dw $248A, $2465, $3C74, $2D48 ; level three dw $248A, $2465, $3C74, $2D48 ; level three
dw $288A, $2865, $2C74, $2D39 ; level four dw $288A, $2865, $2C74, $2D39 ; level four
@@ -259,7 +259,7 @@ TunicGFX:
dw $2468, $6468, $2478, $6478 ; red tunic dw $2468, $6468, $2478, $6478 ; red tunic
; ============================================================================= ; =============================================================================
; Static Text on the Menu ; Static Text on the Menu
SelectItemTXT: SelectItemTXT:
dw $2562, $2554, $255B, $2554 dw $2562, $2554, $255B, $2554
@@ -269,11 +269,11 @@ SelectItemTXT:
QuestStatusTXT: QuestStatusTXT:
dw $2560, $2564, $2554, $2562 dw $2560, $2564, $2554, $2562
dw $2563, $2417, $2562, $2563 dw $2563, $2417, $2562, $2563
dw $2550, $2563, $2564, $2562 dw $2550, $2563, $2564, $2562
AreaNameTXT: AreaNameTXT:
dw $243F, $2550, $2561, $2554 dw $243F, $2550, $2561, $2554
dw $2550, $2417, $255D, $2550 dw $2550, $2417, $255D, $2550
dw $255C, $2554, $241C, $2430 dw $255C, $2554, $241C, $2430
dw $2430, $2430, $2430, $2430 dw $2430, $2430, $2430, $2430
dw $2430, $2430, $2430, $2430 dw $2430, $2430, $2430, $2430

View File

@@ -324,36 +324,35 @@ HUD_UpdateHearts:
; Draws hearts in a painfully slow loop ; Draws hearts in a painfully slow loop
LDX.w #$0000 LDX.w #$0000
.next_heart .next_heart
LDA.b $00 : CMP.w #$0008 : BCC .less_than_one_heart LDA.b $00 : CMP.w #$0008 : BCC .less_than_one_heart
; Notice no SEC was needed since carry is assumedly set. ; Notice no SEC was needed since carry is assumedly set.
SBC.w #$0008 : STA.b $00 SBC.w #$0008 : STA.b $00
LDY.w #$0004 LDY.w #$0004
JSR .draw_heart JSR .draw_heart
INX #2 INX #2
BRA .next_heart BRA .next_heart
.less_than_one_heart
.less_than_one_heart
CMP.w #$0005 : BCC .half_heart_or_less CMP.w #$0005 : BCC .half_heart_or_less
LDY.w #$0004 LDY.w #$0004
BRA .draw_heart BRA .draw_heart
.half_heart_or_less
.half_heart_or_less
CMP.w #$0001 : BCC .empty_heart CMP.w #$0001 : BCC .empty_heart
LDY.w #$0002 LDY.w #$0002
BRA .draw_heart BRA .draw_heart
.empty_heart
.empty_heart
RTS RTS
.draw_heart .draw_heart
; Compare number of hearts so far on current line to 10 ; Compare number of hearts so far on current line to 10
CPX.w #$0014 : BCC .no_line_change CPX.w #$0014 : BCC .no_line_change
; if not, we have to move down one tile in the tilemap ; if not, we have to move down one tile in the tilemap
LDX.w #$0000 LDX.w #$0000
LDA.b $07 : CLC : ADC.w #$0040 : STA.b $07 LDA.b $07 : CLC : ADC.w #$0040 : STA.b $07
.no_line_change
.no_line_change
LDA.b [$0A], Y : TXY : STA.b [$07], Y LDA.b [$0A], Y : TXY : STA.b [$07], Y
RTS RTS
} }
@@ -362,26 +361,26 @@ HUD_UpdateHearts:
HexToDecimal: HexToDecimal:
{ {
REP #$30 REP #$30
STZ $0003 STZ $0003
LDX.w #$0000 LDX.w #$0000
LDY.w #$0002 LDY.w #$0002
.next_digit .next_digit
CMP $F9F9, Y : BCC .next_lowest_10s_place CMP $F9F9, Y : BCC .next_lowest_10s_place
SEC : SBC $F9F9, Y SEC : SBC $F9F9, Y
INC $03, X INC $03, X
BRA .next_digit BRA .next_digit
.next_lowest_10s_place .next_lowest_10s_place
INX : DEY #2 INX : DEY #2
BPL .next_digit BPL .next_digit
STA $05 STA $05
SEP #$30 SEP #$30
LDX.b #$02 LDX.b #$02
.set_next_digit_tile .set_next_digit_tile
LDA $03, X : CMP.b #$7F LDA $03, X : CMP.b #$7F
BEQ .blank_digit BEQ .blank_digit
ORA.b #$90 ORA.b #$90
.blank_digit .blank_digit
STA $03, X STA $03, X
DEX : BPL .set_next_digit_tile DEX : BPL .set_next_digit_tile
RTS RTS

View File

@@ -358,7 +358,7 @@ DrawCollectibleNamesAndCount:
RTS RTS
} }
DrawGoldstarName: DrawGoldstarName:
{ {
REP #$30 REP #$30
LDX.w #$0000 LDX.w #$0000
@@ -370,7 +370,7 @@ DrawGoldstarName:
RTS RTS
} }
DrawMushroomName: DrawMushroomName:
{ {
REP #$30 REP #$30
LDX.w #$0000 LDX.w #$0000
@@ -387,15 +387,15 @@ DrawMushroomName:
DrawLocationName: DrawLocationName:
{ {
REP #$30 REP #$30
LDA $1B ; check if indoors or outdoors LDA $1B ; check if indoors or outdoors
AND.w #$00FF ; isolate bit AND.w #$00FF ; isolate bit
CMP.w #$01 ; if 1, then indoors CMP.w #$01 ; if 1, then indoors
BEQ .indoors BEQ .indoors
LDA.b $8A LDA.b $8A
ASL #5 ASL #5
LDY.w #$000 LDY.w #$000
TAX TAX
.draw_overworld_loop .draw_overworld_loop
LDA.w OverworldLocationNames, X ; Load your text character LDA.w OverworldLocationNames, X ; Load your text character
@@ -412,8 +412,8 @@ DrawLocationName:
.draw_indoors_loop .draw_indoors_loop
LDA.w DungeonLocationNames, Y : STA.w $12CC, X LDA.w DungeonLocationNames, Y : STA.w $12CC, X
INY : INY INY : INY
INX : INX : CPX #$0020 : BCC .draw_indoors_loop INX : INX : CPX #$0020 : BCC .draw_indoors_loop
RTS RTS
} }
@@ -467,23 +467,23 @@ Menu_DrawAreaNameTXT:
; ========================================================= ; =========================================================
; Player's Name ; Player's Name
; $3D9-$3E4: See appendix for listing of character codes. ; $3D9-$3E4: See appendix for listing of character codes.
; Note each of the six letters is represented by a 16-bit number. ; Note each of the six letters is represented by a 16-bit number.
; ;
; 00-A 01-B 02-C 03-D 04-E 05-F 06=G 07-H ; 00-A 01-B 02-C 03-D 04-E 05-F 06=G 07-H
; 08-I^ 09-J 0A-K 0B-L 0C-M 0D-N OE-O OF-P ; 08-I^ 09-J 0A-K 0B-L 0C-M 0D-N OE-O OF-P
; 10-?? 20-Q 21-R 22-S 23-T 24-U 25-V ; 10-?? 20-Q 21-R 22-S 23-T 24-U 25-V
; 26-W 27-X 28-Y 29-Z ; 26-W 27-X 28-Y 29-Z
; ;
; 2A-a 2B-b-2C-c 2D-d 2E-e 2F-f 40-g 41-h ; 2A-a 2B-b-2C-c 2D-d 2E-e 2F-f 40-g 41-h
; 42-k 43-j 44-i 45-l 46-m 47-n 48-o 49-p ; 42-k 43-j 44-i 45-l 46-m 47-n 48-o 49-p
; 4A-q 4B-r 4C-s 4D-t 4E-u 4F-v 60-w 61-x 62-y 63-z ; 4A-q 4B-r 4C-s 4D-t 4E-u 4F-v 60-w 61-x 62-y 63-z
; ;
; 64-0 65-1 66-2 67-3 68-4 69-5 6A-6 6B-7 6C-8 6D-9 6E-"?" 6F-"!" ; 64-0 65-1 66-2 67-3 68-4 69-5 6A-6 6B-7 6C-8 6D-9 6E-"?" 6F-"!"
; 80-"-" ; 80-"-"
; 81-"." ; 81-"."
; 82-"," ; 82-","
; 85-"(" 86-")" ; 85-"(" 86-")"
; ;
; B1-blank^ ; B1-blank^
; ;
@@ -505,30 +505,30 @@ Menu_DrawCharacterName:
REP #$30 REP #$30
LDX.w #$C LDX.w #$C
.draw_name_loop .draw_name_loop
; Player's Name in memory, indexed by X ; Player's Name in memory, indexed by X
LDA.l $7EF3D9, X LDA.l $7EF3D9, X
; Check if the character is the special encoding for "I" first.
CMP.w #$AF : BEQ .fix_i
; Check if it is the gap between the P and Q characters ; Check if the character is the special encoding for "I" first.
CMP.w #$AF : BEQ .fix_i
; Check if it is the gap between the P and Q characters
CMP.w #$10 : BCC .write_to_screen ; handle P, Q gap CMP.w #$10 : BCC .write_to_screen ; handle P, Q gap
SBC.b #$10 SBC.b #$10
CLC CLC
CMP.w #$2A : BCS .fix_lowercase CMP.w #$2A : BCS .fix_lowercase
.write_to_screen .write_to_screen
CLC : ADC #$2550 : STA.w $134C, X CLC : ADC #$2550 : STA.w $134C, X
DEX : DEX : BPL .draw_name_loop DEX : DEX : BPL .draw_name_loop
RTS RTS
.fix_i .fix_i
LDA.w #$08 : BRA .write_to_screen LDA.w #$08 : BRA .write_to_screen
.fix_lowercase .fix_lowercase
; TODO: Convert the lowercase value of 2A or greater inside of the ; TODO: Convert the lowercase value of 2A or greater inside of the
; accumulator and convert it to an uppercase value. ; accumulator and convert it to an uppercase value.
LDA.w #$1D : BRA .write_to_screen LDA.w #$1D : BRA .write_to_screen
} }