From 496a28ff583b7ab51d8aa9f8018c3b4672f15b69 Mon Sep 17 00:00:00 2001 From: Kevin Cathcart Date: Sun, 22 Jul 2018 22:37:20 -0400 Subject: [PATCH] update status screen icon examples --- fileselect.asm | 95 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 58 insertions(+), 37 deletions(-) diff --git a/fileselect.asm b/fileselect.asm index 3e48861..544e664 100644 --- a/fileselect.asm +++ b/fileselect.asm @@ -1,6 +1,9 @@ !ExtendedPlayerName = "$700500" ;FS prefix means file_select, since these defines and macros are specific to this screen +!FS_INVENTORY_SWAP = "$70038C" +!FS_INVENTORY_SWAP_2 = "$70038E" + !FS_COLOR_BROWN = "$0000" ;(only used for: Shovel, hammer, powder) !FS_COLOR_RED = "$0400" @@ -12,6 +15,8 @@ !FS_COLOR_BW = "$1C00" macro fs_draw8x8(screenrow,screencol) + ;Note due to XKAS's screwy math this formula is misleading. + ;in normal math we have $1004+2*col+$40*row STA.w *$20+*2+$1004 endmacro macro fs_draw16x8(screenrow,screencol) @@ -19,73 +24,89 @@ macro fs_draw16x8(screenrow,screencol) INC A %fs_draw8x8(,+1) endmacro -macro fs_draw8x16block(screenrow,screencol) +macro fs_draw8x16(screenrow,screencol) %fs_draw8x8(,) !ADD #$0010 %fs_draw8x8(+1,) endmacro -macro fs_draw16x16block(screenrow,screencol) +macro fs_draw16x16(screenrow,screencol) %fs_draw16x8(,) !ADD #$000F %fs_draw16x8(+1,) endmacro -macro fs_draw16x16strip(screenrow,screencol) - %fs_draw16x8(,) - INC A - %fs_draw16x8(+1,) -endmacro DrawPlayerFile: - PHX : PHY : PHP - - SEP #$10 ; 8-bit index registers + PHX : PHY LDA !ExtendedPlayerName+$00 : ORA.w #!FS_COLOR_BW - %fs_draw8x16block(6,3) + %fs_draw8x16(6,3) LDA !ExtendedPlayerName+$02 : ORA.w #!FS_COLOR_BW - %fs_draw8x16block(6,5) + %fs_draw8x16(6,5) LDA !ExtendedPlayerName+$04 : ORA.w #!FS_COLOR_BW - %fs_draw8x16block(6,7) + %fs_draw8x16(6,7) LDA !ExtendedPlayerName+$06 : ORA.w #!FS_COLOR_BW - %fs_draw8x16block(6,9) + %fs_draw8x16(6,9) LDA !ExtendedPlayerName+$08 : ORA.w #!FS_COLOR_BW - %fs_draw8x16block(9,3) + %fs_draw8x16(9,3) LDA !ExtendedPlayerName+$0A : ORA.w #!FS_COLOR_BW - %fs_draw8x16block(9,5) + %fs_draw8x16(9,5) LDA !ExtendedPlayerName+$0C : ORA.w #!FS_COLOR_BW - %fs_draw8x16block(9,7) + %fs_draw8x16(9,7) LDA !ExtendedPlayerName+$0E : ORA.w #!FS_COLOR_BW - %fs_draw8x16block(9,9) + %fs_draw8x16(9,9) ; ;bow -; LDA !INVENTORY_SWAP_2 : ORA.w #$0040 : BEQ + -; LDX $700340 : BEQ ++ -; LDA.w #$0208|FS_COLOR_YELLOW ;Bow + silvers -; %fs_draw16x16strip(2,12) -; LDA.w #$020A|FS_COLOR_RED ;Bow + silvers (Arrow Tail) -; %fs_draw8x8(3,12) +; LDA.l !FS_INVENTORY_SWAP_2 : AND.w #$0040 : BEQ + +; LDA.l $700340 : AND.w #$00FF : BEQ ++ +; LDA.w #$0201|!FS_COLOR_YELLOW : %fs_draw8x8(2,12) +; LDA.w #$0204|!FS_COLOR_YELLOW : %fs_draw8x8(2,13) +; LDA.w #$0203|!FS_COLOR_RED : %fs_draw8x8(3,12) +; LDA.w #$0212|!FS_COLOR_YELLOW : %fs_draw8x8(3,13) ; BRA .bow_end ; ++ -; LDA #$020B|FS_COLOR_RED ; Silver arrows -; BRA .draw_bow +; LDA #$0214|!FS_COLOR_RED : %fs_draw8x8(2,13) +; LDA.w #$0213|!FS_COLOR_RED : %fs_draw8x8(3,12) +; BRA .bow_end ; + -; LDA.w #$0204|FS_COLOR_GRAY ; No Bow -; LDX $700340 : BEQ .draw_bow -; LDA.w #$0204|FS_COLOR_YELLOW ; Bow -; .draw_bow -; %fs_draw16x16strip(?,?) +; LDA.l $700340 : AND.w #$00FF : BEQ ++ +; LDA.w #$0201|!FS_COLOR_YELLOW : %fs_draw16x16(2,12) +; BRA .bow_end +; ++ +; LDA.w #$0201|!FS_COLOR_GRAY : %fs_draw16x16(2,12) ; .bow_end - +; ; ;hookshot -; LDA.w #$0214|FS_COLOR_GRAY -; LDX $700343 : BEQ + -; LDA.w #$0214|FS_COLOR_RED +; LDA.l $700342 : AND.w #$00FF : BEQ + +; LDA.w #$0215|!FS_COLOR_RED +; BRA .draw_hook ; + -; %fs_draw16x16strip(2,16) +; LDA.w #$0215|!FS_COLOR_GRAY +; .draw_hook +; %fs_draw8x8(2,17) +; !ADD.w #$0230-$0215 ;hookshot handle +; %fs_draw8x8(3,16) +; +; ;powder +; LDA !FS_INVENTORY_SWAP : AND.w #$0010 : BEQ + +; LDA.w #$020A|!FS_COLOR_BROWN +; BRA .draw_powder +; + +; LDA.w #$020A|!FS_COLOR_GRAY +; .draw_powder +; %fs_draw16x16(2,20) +; +; ;mushroom +; LDA !FS_INVENTORY_SWAP : AND.w #$0020 : BEQ + +; LDA.w #$0262|!FS_COLOR_RED +; BRA .draw_shroom +; + +; LDA.w #$0262|!FS_COLOR_GRAY +; .draw_shroom +; %fs_draw16x16(2,22) - PLP : PLY : PLX + PLY : PLX LDA.w #$0004 : STA $02 ; thing we wrote over RTL ;--------------------------------------------------------------------------------