diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index b09b28a..15c8fe3 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -134,7 +134,6 @@ incsrc glitched.asm incsrc hardmode.asm incsrc goalitem.asm incsrc quickswap.asm -incsrc endingsequence.asm incsrc cuccostorm.asm incsrc retro.asm incsrc controllerjank.asm @@ -177,7 +176,11 @@ incsrc utilities.asm incsrc inventory.asm org $A38000 +incsrc stats/credits.asm ; Statically mapped incsrc stats/main.asm +incsrc stats/statConfig.asm +FontTable: +incsrc stats/fonttable.asm org $B08000 ; bank $30 incsrc tables.asm @@ -259,11 +262,14 @@ if !FEATURE_NEW_TEXT incbin "data/newfont.bin" NewFontInverted: incbin "data/newfont_inverted.bin" - - org $8CD7DF - incbin "data/text_unscramble1.bin" - org $8CE4D5 - incbin "data/text_unscramble2.bin" + SmallCharacters: + incbin "data/smallchars.2bpp" + org $8CD7DF + incsrc data/playernamecharmap.asm + org $8CE73D + incbin data/playernamestripes_1.bin + org $8CE911 + incbin data/playernamestripes_2.bin endif org $B28000 diff --git a/data/creditscharmapbighi.txt b/data/creditscharmapbighi.txt index e7f81bc..4ace488 100644 --- a/data/creditscharmapbighi.txt +++ b/data/creditscharmapbighi.txt @@ -35,8 +35,45 @@ W=73 X=74 Y=75 Z=76 -'=77 -.=A0 -/=A2 -:=A3 -_=A6 \ No newline at end of file +a=A0 +b=A1 +c=A2 +d=A3 +e=A4 +f=A5 +g=A6 +h=A7 +i=A8 +j=A9 +k=AA +l=AB +m=AC +n=AD +o=AE +p=AF +q=B0 +r=B1 +s=B2 +t=B3 +u=B4 +v=B5 +w=B6 +x=B7 +y=B8 +z=B9 +'=D9 +"=DA +/=DB +.=DC +:=DD +_=DE +^=DF +&=E0 +#=E1 +@=E2 +>=E3 +?=E4 +!=E5 +~=E6 +,=E7 +-=E8 diff --git a/data/creditscharmapbiglo.txt b/data/creditscharmapbiglo.txt index 6e70494..1d9fc90 100644 --- a/data/creditscharmapbiglo.txt +++ b/data/creditscharmapbiglo.txt @@ -35,8 +35,45 @@ W=99 X=9A Y=9B Z=9C -'=9d -.=C0 -/=C2 -:=C3 -_=C6 \ No newline at end of file +a=BB +b=BC +c=BD +d=BE +e=BF +f=C0 +g=C1 +h=C2 +i=C3 +j=C4 +k=C5 +l=C6 +m=C7 +n=C8 +o=C9 +p=CA +q=CB +r=CC +s=CD +t=CE +u=CF +v=D0 +w=D1 +x=D2 +y=D3 +z=D4 +'=EC +"=ED +/=EE +.=EF +:=F0 +_=F1 +^=F2 +&=F3 +#=F4 +@=F5 +>=F6 +?=F7 +!=F8 +~=F9 +,=FA +-=FB diff --git a/data/creditscharmapsmall_green.txt b/data/creditscharmapsmall_green.txt index e86db3d..34d1d8e 100644 --- a/data/creditscharmapsmall_green.txt +++ b/data/creditscharmapsmall_green.txt @@ -24,4 +24,5 @@ V=4D W=4E X=4F Y=50 -Z=51 \ No newline at end of file +Z=51 +.=52 diff --git a/data/creditscharmapsmall_yellow.txt b/data/creditscharmapsmall_yellow.txt index ee3714d..5723ffc 100644 --- a/data/creditscharmapsmall_yellow.txt +++ b/data/creditscharmapsmall_yellow.txt @@ -24,4 +24,5 @@ V=2F W=30 X=31 Y=32 -Z=33 \ No newline at end of file +Z=33 +'=35 diff --git a/data/i18n_en.bin b/data/i18n_en.bin index fbd7ded..e134789 100644 Binary files a/data/i18n_en.bin and b/data/i18n_en.bin differ diff --git a/data/newfont.bin b/data/newfont.bin index ee9a452..44d2946 100644 Binary files a/data/newfont.bin and b/data/newfont.bin differ diff --git a/data/playernamecharmap.asm b/data/playernamecharmap.asm new file mode 100644 index 0000000..f26c390 --- /dev/null +++ b/data/playernamecharmap.asm @@ -0,0 +1,59 @@ +db $00, $01, $02, $03, $04, $CC, $CC ; あ い う え お ⎵ ⎵ +db $15, $16, $17, $1D, $1E, $CC ; が ぎ ぐ げ ご ⎵ +db $50, $51, $52, $53, $54, $CC, $CC ; ア イ ウ エ オ ⎵ ⎵ +db $D0, $D1, $D2, $D3, $D4, $CC ; a b c d e ⎵ +db $AA, $AB, $AC, $AD, $CC, $CC ; A B C D ⎵ ⎵ + +db $08, $09, $0A, $0B, $0C, $CC, $CC ; か き く け こ ⎵ ⎵ +db $1F, $25, $26, $27, $2D, $CC ; ざ じ ず ぜ ぞ ⎵ +db $58, $59, $5A, $5B, $5C, $CC, $CC ; カ キ ク ケ コ ⎵ ⎵ +db $D5, $D6, $D7, $D8, $D9, $CC ; ザ ジ ズ ゼ ゾ ⎵ +db $AE, $AF, $B0, $B1, $CC, $CC ; E F G H ⎵ ⎵ + +db $10, $11, $12, $13, $14, $CC, $CC ; さ し す せ そ ⎵ ⎵ +db $2E, $2F, $35, $36, $37, $CC ; だ ぢ づ で ど ⎵ +db $60, $61, $62, $63, $64, $CC, $CC ; サ シ ス セ ソ ⎵ ⎵ +db $DA, $DB, $DC, $DD, $DE, $CC ; ダ ヂ ヅ デ ド ⎵ +db $B2, $B3, $B4, $B5, $CC, $CC ; I J K L ⎵ ⎵ + +db $18, $19, $1A, $1B, $1C, $CC, $CC ; た ち つ て と ⎵ ⎵ +db $3D, $3E, $3F, $40, $41, $CC ; ば び ぶ べ ぼ ⎵ +db $68, $69, $6A, $6B, $6C, $CC, $CC ; タ チ ツ テ ト ⎵ ⎵ +db $DF, $E0, $E1, $E2, $E3, $CC ; バ ビ ブ ベ ボ ⎵ +db $B6, $B7, $B8, $B9, $CC, $CC ; M N O P ⎵ ⎵ + +db $20, $21, $22, $23, $24, $CC, $CC ; な に ぬ ね の ⎵ ⎵ +db $42, $43, $44, $45, $46, $CC ; ぱ ぴ ぷ ぺ ぽ ⎵ +db $70, $71, $72, $73, $74, $CC, $CC ; ナ ニ ヌ ネ ノ ⎵ ⎵ +db $E4, $E5, $E6, $E7, $E8, $CC ; パ ピ プ ペ ポ ⎵ +db $BA, $BB, $BC, $BD, $CC, $CC ; Q R S T ⎵ ⎵ + +db $28, $29, $2A, $2B, $2C, $CC, $CC ; は ひ ふ へ ほ ⎵ ⎵ +db $65, $66, $67, $6D, $6E, $CC +db $78, $79, $7A, $7B, $7C, $CC, $CC ; ハ ヒ フ ヘ ホ ⎵ ⎵ +db $E9, $EA, $EB, $EC, $C6, $CC ; ァ ィ ゥ ェ ォ ⎵ +db $BE, $BF, $C0, $C1, $CC, $CC ; U V W X ⎵ ⎵ + +db $30, $31, $32, $33, $34, $CC, $CC ; ま み む め も ⎵ ⎵ +db $6F, $75, $76, $77, $7D, $CC ; ザ ジ ズ ゼ ゾ ⎵ +db $80, $81, $82, $83, $84, $CC, $CC ; マ ミ ム メ モ ⎵ ⎵ +db $CC, $CC, $CC, $CC, $9A, $CC ; ャ ュ ョ ⎵ ッ ⎵ +db $C2, $C3, $C9, $CE, $CC, $CC ; Y Z - 〜 ⎵ ⎵ + +db $05, $CC, $06, $CC, $07, $CC, $CC ; や ⎵ ゆ ⎵ よ ⎵ ⎵ +db $7E, $7F, $85, $86, $87, $CC ; ダ ヂ ヅ デ ド ⎵ +db $55, $CC, $56, $CC, $57, $CC, $CC ; ヤ ⎵ ユ ⎵ ヨ ⎵ ⎵ +db $A0, $A1, $A2, $A3, $A4, $CC ; ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ +db $CC, $CC, $CC, $CC, $CC, $CC ; ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ + +db $38, $39, $3A, $3B, $3C, $CC, $CC ; ら り る れ ろ ⎵ ⎵ +db $8D, $8E, $8F, $90, $91, $CC ; バ ビ ブ ベ ボ ⎵ +db $88, $89, $8A, $8B, $8C, $CC, $CC ; ラ リ ル レ ロ ⎵ ⎵ +db $A5, $A6, $A7, $A8, $A9, $CC ; ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ +db $CA, $CB, $CD, $CD, $CC, $CC ; 🡄 🡆 END ⎵ ⎵ + +db $0D, $0E, $0F, $CC, $C9, $CC, $CC ; わ を ん ⎵ - ⎵ ⎵ +db $92, $93, $94, $95, $96, $CC ; パ ピ プ ペ ポ ⎵ +db $5D, $5E, $5F, $CC, $C9, $CC, $CC ; ワ ヲ ン ⎵ - ⎵ ⎵ +db $CC, $CC, $CC, $CC, $CC, $CC ; ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ +db $CC, $CC, $CC, $CC, $CC, $CC ; ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ diff --git a/data/playernamecharmap.bin b/data/playernamecharmap.bin new file mode 100644 index 0000000..dc8fdfd Binary files /dev/null and b/data/playernamecharmap.bin differ diff --git a/data/playernamestripes_1.bin b/data/playernamestripes_1.bin new file mode 100644 index 0000000..c151bcd Binary files /dev/null and b/data/playernamestripes_1.bin differ diff --git a/data/playernamestripes_2.asm b/data/playernamestripes_2.asm new file mode 100644 index 0000000..8ba38bf --- /dev/null +++ b/data/playernamestripes_2.asm @@ -0,0 +1,72 @@ +dw $E164, $3900 ; VRAM $C9C2 | 58 bytes | Horizontal +dw $1CA2, $0188, $1CA3, $0188, $1CA4, $0188, $0188, $0188 +dw $0188, $0188, $1DA0, $0188, $1DA1, $0188, $1DA2, $0188 +dw $1DA3, $0188, $1DA4, $0188, $0188, $0188, $1D4A, $0188 +dw $1D4B, $0188, $1D4C, $0188, $1D4D + +dw $0165, $3900 ; VRAM $CA02 | 58 bytes | Horizontal +dw $1CB2, $0188, $1CB3, $0188, $1CB4, $0188, $0188, $0188 +dw $0188, $0188, $1DB0, $0188, $1DB1, $0188, $1DB2, $0188 +dw $1DB3, $0188, $1DB4, $0188, $0188, $0188, $1D5A, $0188 +dw $1D5B, $0188, $1D5C, $0188, $1D5D + +dw $2165, $3900 ; VRAM $CA42 | 58 bytes | Horizontal +dw $1CAA, $0188, $1CAB, $0188, $1CAC, $0188, $0188, $0188 +dw $0188, $0188, $1DA5, $0188, $1DA6, $0188, $1DA7, $0188 +dw $1DA8, $0188, $1DA9, $0188, $0188, $0188, $1D4E, $0188 +dw $1D4F, $0188, $1D60, $0188, $1D61 + +dw $4165, $3900 ; VRAM $CA82 | 58 bytes | Horizontal +dw $1CBA, $0188, $1CBB, $0188, $1CBC, $0188, $0188, $0188 +dw $0188, $0188, $1DB5, $0188, $1DB6, $0188, $1DB7, $0188 +dw $1DB8, $0188, $1DB9, $0188, $0188, $0188, $1D5E, $0188 +dw $1D5F, $0188, $1D70, $0188, $1D71 + +dw $6165, $3900 ; VRAM $CAC2 | 58 bytes | Horizontal +dw $1CC2, $0188, $1CC3, $0188, $1CC4, $0188, $0188, $0188 +dw $0188, $0188, $1DAA, $0188, $1DAB, $0188, $1DAC, $0188 +dw $1DAD, $0188, $1DAE, $0188, $0188, $0188, $1D62, $0188 +dw $1D63, $0188, $1D64, $0188, $1D65 + +dw $8165, $3900 ; VRAM $CB02 | 58 bytes | Horizontal +dw $1CD2, $0188, $1CD3, $0188, $1CD4, $0188, $0188, $0188 +dw $0188, $0188, $1DBA, $0188, $1DBB, $0188, $1DBC, $0188 +dw $1DBD, $0188, $1DBE, $0188, $0188, $0188, $1D72, $0188 +dw $1D73, $0188, $1D74, $0188, $1D75 + +dw $A165, $3900 ; VRAM $CB42 | 58 bytes | Horizontal +dw $1CCA, $0188, $1CCB, $0188, $1CCC, $0188, $0188, $0188 +dw $0188, $0188, $1DAF, $0188, $1DC0, $0188, $1DC1, $0188 +dw $1DC2, $0188, $1DC3, $0188, $0188, $0188, $1D66, $0188 +dw $1D67, $0188, $1D68, $0188, $1D69 + +dw $C165, $3900 ; VRAM $CB82 | 58 bytes | Horizontal +dw $1CDA, $0188, $1CDB, $0188, $1CDC, $0188, $0188, $0188 +dw $0188, $0188, $1DBF, $0188, $1DD0, $0188, $1DD1, $0188 +dw $1DD2, $0188, $1DD3, $0188, $0188, $0188, $1D76, $0188 +dw $1D77, $0188, $1D78, $0188, $1D79 + +dw $E165, $3900 ; VRAM $CBC2 | 58 bytes | Horizontal +dw $1CE2, $0188, $1CE3, $0188, $1CE4, $0188, $0188, $0188 +dw $0188, $0188, $1DC4, $0188, $1DC5, $0188, $1DC6, $0188 +dw $1DC7, $0188, $1DC8, $0188, $0188, $0188, $1D6A, $0188 +dw $1D6B, $0188, $1D6C, $0188, $1D6D + +dw $0166, $3900 ; VRAM $CC02 | 58 bytes | Horizontal +dw $1CF2, $0188, $1CF3, $0188, $1CF4, $0188, $0188, $0188 +dw $0188, $0188, $1DD4, $0188, $1DD5, $0188, $1DD6, $0188 +dw $1DD7, $0188, $1DD8, $0188, $0188, $0188, $1D7A, $0188 +dw $1D7B, $0188, $1D7C, $0188, $1D7D + +; dw $2166, $3900 ; VRAM $CC42 | 58 bytes | Horizontal +; dw $1CEA, $0188, $1CEB, $0188, $1CEC, $0188, $0188, $0188 +; dw $0188, $0188, $1DC9, $0188, $1DCA, $0188, $1DCB, $0188 +; dw $1DCC, $0188, $1D86, $0188, $0188, $0188, $1D6E, $0188 +; dw $1D6F, $0188, $1D80, $0188, $1D81 +; +; dw $4166, $3900 ; VRAM $CC82 | 58 bytes | Horizontal +; dw $1CFA, $0188, $1CFB, $0188, $1CFC, $0188, $0188, $0188 +; dw $0188, $0188, $1DD9, $0188, $1DDA, $0188, $1DDB, $0188 +; dw $1DDC, $0188, $1D96, $0188, $0188, $0188, $1D7E, $0188 +; dw $1D7F, $0188, $1D90, $0188, $1D91 + diff --git a/data/playernamestripes_2.bin b/data/playernamestripes_2.bin new file mode 100644 index 0000000..0443104 Binary files /dev/null and b/data/playernamestripes_2.bin differ diff --git a/data/playernamestripes_3.asm b/data/playernamestripes_3.asm new file mode 100644 index 0000000..00436f0 --- /dev/null +++ b/data/playernamestripes_3.asm @@ -0,0 +1,72 @@ +dw $E164, $3900 ; VRAM $C9C2 | 58 bytes | Horizontal +dw $1CA2, $0188, $1CA3, $0188, $1CA4, $0188, $0188, $0188 +dw $0188, $0188, $1DA0, $0188, $1DA1, $0188, $1DA2, $0188 +dw $1DA3, $0188, $1DA4, $0188, $0188, $0188, $1D4A, $0188 +dw $1D4B, $0188, $1D4C, $0188, $1D4D + +dw $0165, $3900 ; VRAM $CA02 | 58 bytes | Horizontal +dw $1CB2, $0188, $1CB3, $0188, $1CB4, $0188, $0188, $0188 +dw $0188, $0188, $1DB0, $0188, $1DB1, $0188, $1DB2, $0188 +dw $1DB3, $0188, $1DB4, $0188, $0188, $0188, $1D5A, $0188 +dw $1D5B, $0188, $1D5C, $0188, $1D5D + +dw $2165, $3900 ; VRAM $CA42 | 58 bytes | Horizontal +dw $1CAA, $0188, $1CAB, $0188, $1CAC, $0188, $0188, $0188 +dw $0188, $0188, $1DA5, $0188, $1DA6, $0188, $1DA7, $0188 +dw $1DA8, $0188, $1DA9, $0188, $0188, $0188, $1D4E, $0188 +dw $1D4F, $0188, $1D60, $0188, $1D61 + +dw $4165, $3900 ; VRAM $CA82 | 58 bytes | Horizontal +dw $1CBA, $0188, $1CBB, $0188, $1CBC, $0188, $0188, $0188 +dw $0188, $0188, $1DB5, $0188, $1DB6, $0188, $1DB7, $0188 +dw $1DB8, $0188, $1DB9, $0188, $0188, $0188, $1D5E, $0188 +dw $1D5F, $0188, $1D70, $0188, $1D71 + +dw $6165, $3900 ; VRAM $CAC2 | 58 bytes | Horizontal +dw $1CC2, $0188, $1CC3, $0188, $1CC4, $0188, $0188, $0188 +dw $0188, $0188, $1DAA, $0188, $1DAB, $0188, $1DAC, $0188 +dw $1DAD, $0188, $1DAE, $0188, $0188, $0188, $1D62, $0188 +dw $1D63, $0188, $1D64, $0188, $1D65 + +dw $8165, $3900 ; VRAM $CB02 | 58 bytes | Horizontal +dw $1CD2, $0188, $1CD3, $0188, $1CD4, $0188, $0188, $0188 +dw $0188, $0188, $1DBA, $0188, $1DBB, $0188, $1DBC, $0188 +dw $1DBD, $0188, $1DBE, $0188, $0188, $0188, $1D72, $0188 +dw $1D73, $0188, $1D74, $0188, $1D75 + +dw $A165, $3900 ; VRAM $CB42 | 58 bytes | Horizontal +dw $1CCA, $0188, $1CCB, $0188, $1CCC, $0188, $0188, $0188 +dw $0188, $0188, $1DAF, $0188, $1DC0, $0188, $1DC1, $0188 +dw $1DC2, $0188, $1DC3, $0188, $0188, $0188, $1D66, $0188 +dw $1D67, $0188, $1D68, $0188, $1D69 + +dw $C165, $3900 ; VRAM $CB82 | 58 bytes | Horizontal +dw $1CDA, $0188, $1CDB, $0188, $1CDC, $0188, $0188, $0188 +dw $0188, $0188, $1DBF, $0188, $1DD0, $0188, $1DD1, $0188 +dw $1DD2, $0188, $1DD3, $0188, $0188, $0188, $1D76, $0188 +dw $1D77, $0188, $1D78, $0188, $1D79 + +dw $E165, $3900 ; VRAM $CBC2 | 58 bytes | Horizontal +dw $1CE2, $0188, $1CE3, $0188, $1CE4, $0188, $0188, $0188 +dw $0188, $0188, $1DC4, $0188, $1DC5, $0188, $1DC6, $0188 +dw $1DC7, $0188, $1DC8, $0188, $0188, $0188, $1D6A, $0188 +dw $1D6B, $0188, $1D6C, $0188, $1D6D + +dw $0166, $3900 ; VRAM $CC02 | 58 bytes | Horizontal +dw $1CF2, $0188, $1CF3, $0188, $1CF4, $0188, $0188, $0188 +dw $0188, $0188, $1DD4, $0188, $1DD5, $0188, $1DD6, $0188 +dw $1DD7, $0188, $1DD8, $0188, $0188, $0188, $1D7A, $0188 +dw $1D7B, $0188, $1D7C, $0188, $1D7D + +dw $2166, $3900 ; VRAM $CC42 | 58 bytes | Horizontal +dw $1CEA, $0188, $1CEB, $0188, $1CEC, $0188, $0188, $0188 +dw $0188, $0188, $1DC9, $0188, $1DCA, $0188, $1DCB, $0188 +dw $1DCC, $0188, $1D86, $0188, $0188, $0188, $1D6E, $0188 +dw $1D6F, $0188, $1D80, $0188, $1D81 + +dw $4166, $3900 ; VRAM $CC82 | 58 bytes | Horizontal +dw $1CFA, $0188, $1CFB, $0188, $1CFC, $0188, $0188, $0188 +dw $0188, $0188, $1DD9, $0188, $1DDA, $0188, $1DDB, $0188 +dw $1DDC, $0188, $1D96, $0188, $0188, $0188, $1D7E, $0188 +dw $1D7F, $0188, $1D90, $0188, $1D91 + diff --git a/data/playernamestripes_4.asm b/data/playernamestripes_4.asm new file mode 100644 index 0000000..a53fbde --- /dev/null +++ b/data/playernamestripes_4.asm @@ -0,0 +1,25 @@ +dw $2362, $3900 ; VRAM $C446 | 58 bytes | Horizontal +dw $1C48, $0188, $1C49, $0188, $1C4A, $0188, $1C4B, $0188 +dw $1C4C, $0188, $0188, $0188, $0188, $0188, $1CC5, $0188 +dw $1CC6, $0188, $1CC7, $0188, $1CCD, $0188, $1CCE, $0188 +dw $0188, $0188, $1CE8, $0188, $1CE9 + +dw $4362, $3900 ; VRAM $C486 | 58 bytes | Horizontal +dw $1C58, $0188, $1C59, $0188, $1C5A, $0188, $1C5B, $0188 +dw $1C5C, $0188, $0188, $0188, $0188, $0188, $1CD5, $0188 +dw $1CD6, $0188, $1CD7, $0188, $1CDD, $0188, $1CDE, $0188 +dw $0188, $0188, $1CF8, $0188, $1CF9 + +dw $6362, $3900 ; VRAM $C4C6 | 58 bytes | Horizontal +dw $1C60, $0188, $1C61, $0188, $1C62, $0188, $1C63, $0188 +dw $1C64, $0188, $0188, $0188, $0188, $0188, $1CCF, $0188 +dw $1CE5, $0188, $1CE6, $0188, $1CE7, $0188, $1CED, $0188 +dw $0188, $0188, $1D00, $0188, $1D01 + + +dw $8362, $3900 ; VRAM $C506 | 58 bytes | Horizontal +dw $1C70, $0188, $1C71, $0188, $1C72, $0188, $1C73, $0188 +dw $1C74, $0188, $0188, $0188, $0188, $0188, $1CDF, $0188 +dw $1CF5, $0188, $1CF6, $0188, $1CF7, $0188, $1CFD, $0188 +dw $0188, $0188, $1D10, $0188, $1D11 + diff --git a/data/smallchars.2bpp b/data/smallchars.2bpp new file mode 100644 index 0000000..1b55941 Binary files /dev/null and b/data/smallchars.2bpp differ diff --git a/data/text_unscramble1.bin b/data/text_unscramble1.bin deleted file mode 100644 index 161009c..0000000 Binary files a/data/text_unscramble1.bin and /dev/null differ diff --git a/data/text_unscramble2.bin b/data/text_unscramble2.bin deleted file mode 100644 index dc4632b..0000000 Binary files a/data/text_unscramble2.bin and /dev/null differ diff --git a/dialog.asm b/dialog.asm index f226987..ab0957d 100644 --- a/dialog.asm +++ b/dialog.asm @@ -141,10 +141,15 @@ FreeDungeonItemNotice: LDA.w ScratchBufferNV+1 ASL : TAX REP #$20 - LDA.l DungeonItemIDMap,X : CMP.w DungeonID : BNE + - SEP #$20 - %CopyDialog(Notice_Self) - JMP.w .done + LDA.l DungeonItemIDMap,X : CMP.w #$0003 : BCC .hc_sewers + CMP.w DungeonID : BNE + + BRA .self_notice + .hc_sewers + LDA.w DungeonID : CMP.b #$0003 : BCS + + .self_notice + SEP #$20 + %CopyDialog(Notice_Self) + JMP.w .done + SEP #$20 LDA.w ScratchBufferNV+1 diff --git a/endingsequence.asm b/endingsequence.asm deleted file mode 100644 index 83f506b..0000000 --- a/endingsequence.asm +++ /dev/null @@ -1,22 +0,0 @@ -;================================================================================ -; Dialog Pointer Override -;-------------------------------------------------------------------------------- -EndingSequenceTableOverride: - PHY - PHX - TYX - LDA.l EndingSequenceText, X - PLX - STA.w $1008, X - PLY -RTL -;-------------------------------------------------------------------------------- -EndingSequenceTableLookupOverride: - PHY - PHX - TYX - LDA.l EndingSequenceText, X : AND.w #$00FF - PLX - PLY -RTL -;-------------------------------------------------------------------------------- diff --git a/events.asm b/events.asm index df6d675..e8088a3 100644 --- a/events.asm +++ b/events.asm @@ -1,10 +1,15 @@ OnPrepFileSelect: - LDA.b GameSubMode : CMP.b #$03 : BNE + - LDA.b #$06 : STA.b NMISTRIPES ; thing we wrote over - RTL - + - JSL.l LoadAlphabetTilemap - JML.l LoadFullItemTiles + LDA.b GameSubMode : CMP.b #$03 : BNE + + LDA.b #$06 : STA.b NMISTRIPES ; thing we wrote over + RTL + + + PHA : PHX + REP #$10 + JSL.l LoadAlphabetTilemap + JSL.l LoadFullItemTiles + SEP #$10 + PLX : PLA +RTL ;-------------------------------------------------------------------------------- OnDrawHud: JSL.l DrawChallengeTimer ; this has to come before NewDrawHud because the timer overwrites the compass counter diff --git a/fastcredits.asm b/fastcredits.asm index c1f59ae..f2db46f 100644 --- a/fastcredits.asm +++ b/fastcredits.asm @@ -10,13 +10,13 @@ FlagFastCredits: AND.b Joy1B_All TSB.b FastCreditsActive - LDA.b #$10 + LDA.b #$20 AND.b Joy1A_New EOR.b FastCreditsActive STA.b FastCreditsActive LDA.b FastCreditsActive - AND.b #$50 + AND.b #$60 BEQ .slow LDA.b #$01 @@ -36,7 +36,7 @@ FastCreditsCutsceneTimer: INC JSR IsFastCredits - BEQ .slow + BCC .slow INC INC @@ -92,7 +92,7 @@ FastCreditsCutsceneScroll: LDA.w #$0000 ++ JSR IsFastCredits - BEQ .slow + BCC .slow AND.w #$FFFF ; get sign of A BPL .positive @@ -112,11 +112,6 @@ FastCreditsCutsceneScroll: .slow RTS - - - - - FastCreditsCutsceneUnderworldX: JSR FastCreditsCutsceneScrollX CLC @@ -136,14 +131,18 @@ FastCreditsCutsceneUnderworldY: FastTextScroll: + LDA.b FrameCounter + SEP #$10 JSR IsFastCredits - BEQ .slow + BCC .slow AND.w #$0000 + REP #$10 RTL .slow AND.w #$0003 + REP #$10 RTL DumbFlagForMSU: @@ -152,9 +151,7 @@ DumbFlagForMSU: RTL IsFastCredits: - PHA - LDA.b FastCreditsActive - AND.w #$0050 - PLA + LDY.b FastCreditsActive + CPY.b #$20 RTS diff --git a/fileselect.asm b/fileselect.asm index 592cebb..6a8f143 100644 --- a/fileselect.asm +++ b/fileselect.asm @@ -1,6 +1,4 @@ - ;FS prefix means file_select, since these defines and macros are specific to this screen - !FS_COLOR_BROWN = $0000 ;(only used for: Shovel, hammer, powder) !FS_COLOR_RED = $0400 !FS_COLOR_YELLOW = $0800 @@ -371,8 +369,8 @@ DrawPlayerFileShared: LDA.l EquipmentSRAM+$0130 : AND.w #$00FF JSL.l HexToDec - LDA.l HexToDecDigit4 : AND.w #$00FF : ORA.w #!FS_COLOR_BW|$02A0 : %fs_draw8x8(11,26) - LDA.l HexToDecDigit5 : AND.w #$00FF : ORA.w #!FS_COLOR_BW|$02A0 : %fs_draw8x8(11,27) + LDA.l HexToDecDigit4 : AND.w #$00FF : ORA.w #!FS_COLOR_BW|$02E0 : %fs_draw8x8(11,26) + LDA.l HexToDecDigit5 : AND.w #$00FF : ORA.w #!FS_COLOR_BW|$02E0 : %fs_draw8x8(11,27) ; Boots %fs_drawItemBasic(EquipmentSRAM+$15,3,28,FileSelectItems_boots) @@ -418,52 +416,52 @@ DrawPlayerFileShared: ; Crystals LDA.l EquipmentSRAM+$3A : AND.w #$0002 : BEQ + - LDA.w #$0297|!FS_COLOR_BLUE + LDA.w #$02D7|!FS_COLOR_BLUE BRA ++ + - LDA.w #$0287|!FS_COLOR_GRAY + LDA.w #$02C7|!FS_COLOR_GRAY ++ : %fs_draw16x8(13,18) LDA.l EquipmentSRAM+$3A : AND.w #$0010 : BEQ + - LDA.w #$0297|!FS_COLOR_BLUE + LDA.w #$02D7|!FS_COLOR_BLUE BRA ++ + - LDA.w #$0287|!FS_COLOR_GRAY + LDA.w #$02C7|!FS_COLOR_GRAY ++ : %fs_draw16x8(12,19) LDA.l EquipmentSRAM+$3A : AND.w #$0040 : BEQ + - LDA.w #$0297|!FS_COLOR_BLUE + LDA.w #$02D7|!FS_COLOR_BLUE BRA ++ + - LDA.w #$0287|!FS_COLOR_GRAY + LDA.w #$02C7|!FS_COLOR_GRAY ++ : %fs_draw16x8(13,20) LDA.l EquipmentSRAM+$3A : AND.w #$0020 : BEQ + - LDA.w #$0297|!FS_COLOR_BLUE + LDA.w #$02D7|!FS_COLOR_BLUE BRA ++ + - LDA.w #$0287|!FS_COLOR_GRAY + LDA.w #$02C7|!FS_COLOR_GRAY ++ : %fs_draw16x8(12,21) LDA.l EquipmentSRAM+$3A : AND.w #$0004 : BEQ + - LDA.w #$0297|!FS_COLOR_RED + LDA.w #$02D7|!FS_COLOR_RED BRA ++ + - LDA.w #$0287|!FS_COLOR_GRAY + LDA.w #$02C7|!FS_COLOR_GRAY ++ : %fs_draw16x8(13,22) LDA.l EquipmentSRAM+$3A : AND.w #$0001 : BEQ + - LDA.w #$0297|!FS_COLOR_RED + LDA.w #$02D7|!FS_COLOR_RED BRA ++ + - LDA.w #$0287|!FS_COLOR_GRAY + LDA.w #$02C7|!FS_COLOR_GRAY ++ : %fs_draw16x8(12,23) LDA.l EquipmentSRAM+$3A : AND.w #$0008 : BEQ + - LDA.w #$0297|!FS_COLOR_BLUE + LDA.w #$02D7|!FS_COLOR_BLUE BRA ++ + - LDA.w #$0287|!FS_COLOR_GRAY + LDA.w #$02C7|!FS_COLOR_GRAY ++ : %fs_draw16x8(13,24) @@ -473,157 +471,157 @@ RTS FileSelectItems: .empty_bow ;for an eventual update for retro mode - dw #$0201|!FS_COLOR_YELLOW, #$02B8|!FS_COLOR_YELLOW, #$02B7|!FS_COLOR_YELLOW, #$0212|!FS_COLOR_YELLOW + dw #$0241|!FS_COLOR_YELLOW, #$02F8|!FS_COLOR_YELLOW, #$02F7|!FS_COLOR_YELLOW, #$0252|!FS_COLOR_YELLOW .bow - dw #$0201|!FS_COLOR_YELLOW, #$0202|!FS_COLOR_YELLOW, #$0211|!FS_COLOR_YELLOW, #$0212|!FS_COLOR_YELLOW + dw #$0241|!FS_COLOR_YELLOW, #$0242|!FS_COLOR_YELLOW, #$0251|!FS_COLOR_YELLOW, #$0252|!FS_COLOR_YELLOW .silver_bow - dw #$0201|!FS_COLOR_YELLOW, #$0204|!FS_COLOR_YELLOW, #$0203|!FS_COLOR_RED, #$0212|!FS_COLOR_YELLOW + dw #$0241|!FS_COLOR_YELLOW, #$0244|!FS_COLOR_YELLOW, #$0243|!FS_COLOR_RED, #$0252|!FS_COLOR_YELLOW .regular_arrow ;for an eventual update for retro mode - dw #$0200|!FS_COLOR_YELLOW, #$02BA|!FS_COLOR_YELLOW, #$02B9|!FS_COLOR_RED, #$0200|!FS_COLOR_YELLOW + dw #$0240|!FS_COLOR_YELLOW, #$02FA|!FS_COLOR_YELLOW, #$02F9|!FS_COLOR_RED, #$0240|!FS_COLOR_YELLOW .silver_arrow - dw #$0200|!FS_COLOR_YELLOW, #$0214|!FS_COLOR_YELLOW, #$0213|!FS_COLOR_RED, #$0200|!FS_COLOR_YELLOW + dw #$0240|!FS_COLOR_YELLOW, #$0254|!FS_COLOR_YELLOW, #$0253|!FS_COLOR_RED, #$0240|!FS_COLOR_YELLOW .blue_boomerang - dw #$0205|!FS_COLOR_BLUE, #$0206|!FS_COLOR_BLUE, #$0200|!FS_COLOR_BW, #$0216|!FS_COLOR_BLUE + dw #$0245|!FS_COLOR_BLUE, #$0246|!FS_COLOR_BLUE, #$0240|!FS_COLOR_BW, #$0256|!FS_COLOR_BLUE .red_boomerang - dw #$0205|!FS_COLOR_RED, #$0206|!FS_COLOR_RED, #$0200|!FS_COLOR_BW, #$0216|!FS_COLOR_RED + dw #$0245|!FS_COLOR_RED, #$0246|!FS_COLOR_RED, #$0240|!FS_COLOR_BW, #$0256|!FS_COLOR_RED .both_boomerang - dw #$02B6|!FS_COLOR_BLUE, #$02B6|!FS_COLOR_RED, #$02B6|!FS_COLOR_BLUE|!FS_VFLIP, #$02B6|!FS_COLOR_RED|!FS_VFLIP + dw #$02F6|!FS_COLOR_BLUE, #$02F6|!FS_COLOR_RED, #$02F6|!FS_COLOR_BLUE|!FS_VFLIP, #$02F6|!FS_COLOR_RED|!FS_VFLIP .hookshot - dw #$0200|!FS_COLOR_RED, #$0215|!FS_COLOR_RED, #$0230|!FS_COLOR_RED, #$0200|!FS_COLOR_BW + dw #$0240|!FS_COLOR_RED, #$0255|!FS_COLOR_RED, #$0270|!FS_COLOR_RED, #$0240|!FS_COLOR_BW .bombs - dw #$020C|!FS_COLOR_BLUE, #$020D|!FS_COLOR_BLUE, #$021C|!FS_COLOR_BLUE, #$021C|!FS_COLOR_BLUE|!FS_HFLIP + dw #$024C|!FS_COLOR_BLUE, #$024D|!FS_COLOR_BLUE, #$025C|!FS_COLOR_BLUE, #$025C|!FS_COLOR_BLUE|!FS_HFLIP .fire_rod - dw #$0220|!FS_COLOR_RED, #$0210|!FS_COLOR_RED, #$0230|!FS_COLOR_RED, #$0231|!FS_COLOR_RED + dw #$0260|!FS_COLOR_RED, #$0250|!FS_COLOR_RED, #$0270|!FS_COLOR_RED, #$0271|!FS_COLOR_RED .ice_rod - dw #$0220|!FS_COLOR_BLUE, #$0221|!FS_COLOR_BLUE, #$0230|!FS_COLOR_BLUE, #$0231|!FS_COLOR_BLUE + dw #$0260|!FS_COLOR_BLUE, #$0261|!FS_COLOR_BLUE, #$0270|!FS_COLOR_BLUE, #$0271|!FS_COLOR_BLUE .bombos - dw #$0207|!FS_COLOR_YELLOW, #$0217|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0217|!FS_COLOR_YELLOW, #$0207|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP + dw #$0247|!FS_COLOR_YELLOW, #$0257|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0257|!FS_COLOR_YELLOW, #$0247|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP .ether - dw #$0208|!FS_COLOR_YELLOW, #$0218|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0218|!FS_COLOR_YELLOW, #$0208|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP + dw #$0248|!FS_COLOR_YELLOW, #$0258|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0258|!FS_COLOR_YELLOW, #$0248|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP .quake - dw #$0209|!FS_COLOR_YELLOW, #$0219|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0219|!FS_COLOR_YELLOW, #$0209|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP + dw #$0249|!FS_COLOR_YELLOW, #$0259|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0259|!FS_COLOR_YELLOW, #$0249|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP .lamp - dw #$022C|!FS_COLOR_RED, #$022C|!FS_COLOR_RED|!FS_HFLIP, #$023C|!FS_COLOR_RED, #$023D|!FS_COLOR_RED + dw #$026C|!FS_COLOR_RED, #$026C|!FS_COLOR_RED|!FS_HFLIP, #$027C|!FS_COLOR_RED, #$027D|!FS_COLOR_RED .hammer - dw #$0222|!FS_COLOR_BROWN, #$0223|!FS_COLOR_BROWN, #$0232|!FS_COLOR_BROWN, #$0233|!FS_COLOR_BROWN + dw #$0262|!FS_COLOR_BROWN, #$0263|!FS_COLOR_BROWN, #$0272|!FS_COLOR_BROWN, #$0273|!FS_COLOR_BROWN .bugnet - dw #$0228|!FS_COLOR_YELLOW, #$0229|!FS_COLOR_YELLOW, #$0238|!FS_COLOR_YELLOW, #$0239|!FS_COLOR_YELLOW + dw #$0268|!FS_COLOR_YELLOW, #$0269|!FS_COLOR_YELLOW, #$0278|!FS_COLOR_YELLOW, #$0279|!FS_COLOR_YELLOW .shovel - dw #$0224|!FS_COLOR_BROWN, #$0225|!FS_COLOR_BROWN, #$0234|!FS_COLOR_BROWN, #$0235|!FS_COLOR_BROWN + dw #$0264|!FS_COLOR_BROWN, #$0265|!FS_COLOR_BROWN, #$0274|!FS_COLOR_BROWN, #$0275|!FS_COLOR_BROWN .flute - dw #$0226|!FS_COLOR_BLUE, #$0227|!FS_COLOR_BLUE, #$0236|!FS_COLOR_BLUE, #$0237|!FS_COLOR_BLUE + dw #$0266|!FS_COLOR_BLUE, #$0267|!FS_COLOR_BLUE, #$0276|!FS_COLOR_BLUE, #$0277|!FS_COLOR_BLUE .book - dw #$022A|!FS_COLOR_GREEN, #$022B|!FS_COLOR_GREEN, #$023A|!FS_COLOR_GREEN, #$023B|!FS_COLOR_GREEN + dw #$026A|!FS_COLOR_GREEN, #$026B|!FS_COLOR_GREEN, #$027A|!FS_COLOR_GREEN, #$027B|!FS_COLOR_GREEN .redcane - dw #$021D|!FS_COLOR_RED, #$021E|!FS_COLOR_RED, #$022D|!FS_COLOR_RED, #$022E|!FS_COLOR_RED + dw #$025D|!FS_COLOR_RED, #$025E|!FS_COLOR_RED, #$026D|!FS_COLOR_RED, #$026E|!FS_COLOR_RED .bluecane - dw #$021D|!FS_COLOR_BLUE, #$021E|!FS_COLOR_BLUE, #$022D|!FS_COLOR_BLUE, #$022E|!FS_COLOR_BLUE + dw #$025D|!FS_COLOR_BLUE, #$025E|!FS_COLOR_BLUE, #$026D|!FS_COLOR_BLUE, #$026E|!FS_COLOR_BLUE .cape - dw #$0248|!FS_COLOR_RED, #$0249|!FS_COLOR_RED, #$0258|!FS_COLOR_RED, #$0259|!FS_COLOR_RED + dw #$0288|!FS_COLOR_RED, #$0289|!FS_COLOR_RED, #$0298|!FS_COLOR_RED, #$0299|!FS_COLOR_RED .mirror - dw #$024A|!FS_COLOR_BLUE, #$024B|!FS_COLOR_BLUE, #$025A|!FS_COLOR_BLUE, #$025B|!FS_COLOR_BLUE + dw #$028A|!FS_COLOR_BLUE, #$028B|!FS_COLOR_BLUE, #$029A|!FS_COLOR_BLUE, #$029B|!FS_COLOR_BLUE .flippers - dw #$020E|!FS_COLOR_BLUE, #$020F|!FS_COLOR_BLUE, #$021F|!FS_COLOR_BLUE|!FS_HFLIP, #$021F|!FS_COLOR_BLUE + dw #$024E|!FS_COLOR_BLUE, #$024F|!FS_COLOR_BLUE, #$025F|!FS_COLOR_BLUE|!FS_HFLIP, #$025F|!FS_COLOR_BLUE .boots - dw #$024C|!FS_COLOR_BOOTS, #$024D|!FS_COLOR_BOOTS, #$025C|!FS_COLOR_BOOTS, #$025D|!FS_COLOR_BOOTS + dw #$028C|!FS_COLOR_BOOTS, #$028D|!FS_COLOR_BOOTS, #$029C|!FS_COLOR_BOOTS, #$029D|!FS_COLOR_BOOTS .pearl - dw #$0264|!FS_COLOR_RED, #$0265|!FS_COLOR_RED, #$0274|!FS_COLOR_RED, #$0275|!FS_COLOR_RED + dw #$02A4|!FS_COLOR_RED, #$02A5|!FS_COLOR_RED, #$02B4|!FS_COLOR_RED, #$02B5|!FS_COLOR_RED .no_pendant - dw #$0285|!FS_COLOR_GRAY, #$0286|!FS_COLOR_GRAY, #$02B2|!FS_COLOR_GRAY, #$0296|!FS_COLOR_GRAY + dw #$02C5|!FS_COLOR_GRAY, #$02C6|!FS_COLOR_GRAY, #$02F2|!FS_COLOR_GRAY, #$02D6|!FS_COLOR_GRAY .green_pendant - dw #$0285|!FS_COLOR_GREEN, #$0286|!FS_COLOR_GREEN, #$0295|!FS_COLOR_GREEN, #$0296|!FS_COLOR_GREEN + dw #$02C5|!FS_COLOR_GREEN, #$02C6|!FS_COLOR_GREEN, #$02D5|!FS_COLOR_GREEN, #$02D6|!FS_COLOR_GREEN .blue_pendant - dw #$0285|!FS_COLOR_BLUE, #$0286|!FS_COLOR_BLUE, #$0295|!FS_COLOR_BLUE, #$0296|!FS_COLOR_BLUE + dw #$02C5|!FS_COLOR_BLUE, #$02C6|!FS_COLOR_BLUE, #$02D5|!FS_COLOR_BLUE, #$02D6|!FS_COLOR_BLUE .red_pendant - dw #$0285|!FS_COLOR_RED, #$0286|!FS_COLOR_RED, #$0295|!FS_COLOR_RED, #$0296|!FS_COLOR_RED + dw #$02C5|!FS_COLOR_RED, #$02C6|!FS_COLOR_RED, #$02D5|!FS_COLOR_RED, #$02D6|!FS_COLOR_RED .gloves - dw #$024E|!FS_COLOR_BROWN, #$024F|!FS_COLOR_BROWN, #$025E|!FS_COLOR_BROWN, #$025F|!FS_COLOR_BROWN + dw #$028E|!FS_COLOR_BROWN, #$028F|!FS_COLOR_BROWN, #$029E|!FS_COLOR_BROWN, #$029F|!FS_COLOR_BROWN .mitts - dw #$0260|!FS_COLOR_YELLOW, #$0261|!FS_COLOR_YELLOW, #$0270|!FS_COLOR_YELLOW, #$0271|!FS_COLOR_YELLOW + dw #$02A0|!FS_COLOR_YELLOW, #$02A1|!FS_COLOR_YELLOW, #$02B0|!FS_COLOR_YELLOW, #$02B1|!FS_COLOR_YELLOW .mushroom - dw #$0262|!FS_COLOR_RED, #$0263|!FS_COLOR_RED, #$0272|!FS_COLOR_RED, #$0273|!FS_COLOR_RED + dw #$02A2|!FS_COLOR_RED, #$02A3|!FS_COLOR_RED, #$02B2|!FS_COLOR_RED, #$02B3|!FS_COLOR_RED .powder - dw #$020A|!FS_COLOR_BROWN, #$020B|!FS_COLOR_BROWN, #$021A|!FS_COLOR_BROWN, #$021B|!FS_COLOR_BROWN + dw #$024A|!FS_COLOR_BROWN, #$024B|!FS_COLOR_BROWN, #$025A|!FS_COLOR_BROWN, #$025B|!FS_COLOR_BROWN .fighters_sword - dw #$0266|!FS_COLOR_BLUE, #$0267|!FS_COLOR_BLUE, #$0276|!FS_COLOR_BLUE, #$0277|!FS_COLOR_BLUE + dw #$02A6|!FS_COLOR_BLUE, #$02A7|!FS_COLOR_BLUE, #$02B6|!FS_COLOR_BLUE, #$02B7|!FS_COLOR_BLUE .master_sword - dw #$0268|!FS_COLOR_BLUE, #$0269|!FS_COLOR_BLUE, #$0278|!FS_COLOR_RED, #$0279|!FS_COLOR_BLUE + dw #$02A8|!FS_COLOR_BLUE, #$02A9|!FS_COLOR_BLUE, #$02B8|!FS_COLOR_RED, #$02B9|!FS_COLOR_BLUE .tempered_sword - dw #$0268|!FS_COLOR_RED, #$0269|!FS_COLOR_RED, #$0278|!FS_COLOR_GREEN, #$026A|!FS_COLOR_RED + dw #$02A8|!FS_COLOR_RED, #$02A9|!FS_COLOR_RED, #$02B8|!FS_COLOR_GREEN, #$02AA|!FS_COLOR_RED .gold_sword - dw #$0268|!FS_COLOR_YELLOW, #$0269|!FS_COLOR_YELLOW, #$0278|!FS_COLOR_BLUE, #$027A|!FS_COLOR_YELLOW + dw #$02A8|!FS_COLOR_YELLOW, #$02A9|!FS_COLOR_YELLOW, #$02B8|!FS_COLOR_BLUE, #$02BA|!FS_COLOR_YELLOW .fighters_shield - dw #$026B|!FS_COLOR_BLUE, #$026B|!FS_COLOR_BLUE|!FS_HFLIP, #$027B|!FS_COLOR_BLUE, #$027B|!FS_COLOR_BLUE|!FS_HFLIP + dw #$02AB|!FS_COLOR_BLUE, #$02AB|!FS_COLOR_BLUE|!FS_HFLIP, #$02BB|!FS_COLOR_BLUE, #$02BB|!FS_COLOR_BLUE|!FS_HFLIP .fire_shield - dw #$026C|!FS_COLOR_BOOTS, #$026C|!FS_COLOR_BOOTS|!FS_HFLIP, #$027C|!FS_COLOR_BOOTS, #$027C|!FS_COLOR_BOOTS|!FS_HFLIP + dw #$02AC|!FS_COLOR_BOOTS, #$02AC|!FS_COLOR_BOOTS|!FS_HFLIP, #$02BC|!FS_COLOR_BOOTS, #$02BC|!FS_COLOR_BOOTS|!FS_HFLIP .mirror_shield - dw #$026D|!FS_COLOR_YELLOW, #$026E|!FS_COLOR_YELLOW, #$027D|!FS_COLOR_YELLOW, #$027E|!FS_COLOR_YELLOW + dw #$02AD|!FS_COLOR_YELLOW, #$02AE|!FS_COLOR_YELLOW, #$02BD|!FS_COLOR_YELLOW, #$02BE|!FS_COLOR_YELLOW .green_mail - dw #$026F|!FS_COLOR_GREEN, #$026F|!FS_COLOR_GREEN|!FS_HFLIP, #$027F|!FS_COLOR_GREEN, #$02B3|!FS_COLOR_GREEN + dw #$02AF|!FS_COLOR_GREEN, #$02AF|!FS_COLOR_GREEN|!FS_HFLIP, #$02BF|!FS_COLOR_GREEN, #$02F3|!FS_COLOR_GREEN .blue_mail - dw #$026F|!FS_COLOR_BLUE, #$026F|!FS_COLOR_BLUE|!FS_HFLIP, #$027F|!FS_COLOR_BLUE, #$02B4|!FS_COLOR_BLUE + dw #$02AF|!FS_COLOR_BLUE, #$02AF|!FS_COLOR_BLUE|!FS_HFLIP, #$02BF|!FS_COLOR_BLUE, #$02F4|!FS_COLOR_BLUE .red_mail - dw #$026F|!FS_COLOR_RED, #$026F|!FS_COLOR_RED|!FS_HFLIP, #$027F|!FS_COLOR_RED, #$02B5|!FS_COLOR_RED + dw #$02AF|!FS_COLOR_RED, #$02AF|!FS_COLOR_RED|!FS_HFLIP, #$02BF|!FS_COLOR_RED, #$02F5|!FS_COLOR_RED .heart_piece_0_of_4 - dw #$0280|!FS_COLOR_RED, #$0280|!FS_COLOR_RED|!FS_HFLIP, #$0290|!FS_COLOR_RED, #$0290|!FS_COLOR_RED|!FS_HFLIP + dw #$02C0|!FS_COLOR_RED, #$02C0|!FS_COLOR_RED|!FS_HFLIP, #$02D0|!FS_COLOR_RED, #$02D0|!FS_COLOR_RED|!FS_HFLIP .heart_piece_1_of_4 - dw #$0281|!FS_COLOR_RED, #$0280|!FS_COLOR_RED|!FS_HFLIP, #$0290|!FS_COLOR_RED, #$0290|!FS_COLOR_RED|!FS_HFLIP + dw #$02C1|!FS_COLOR_RED, #$02C0|!FS_COLOR_RED|!FS_HFLIP, #$02D0|!FS_COLOR_RED, #$02D0|!FS_COLOR_RED|!FS_HFLIP .heart_piece_2_of_4 - dw #$0281|!FS_COLOR_RED, #$0280|!FS_COLOR_RED|!FS_HFLIP, #$0291|!FS_COLOR_RED, #$0290|!FS_COLOR_RED|!FS_HFLIP + dw #$02C1|!FS_COLOR_RED, #$02C0|!FS_COLOR_RED|!FS_HFLIP, #$02D1|!FS_COLOR_RED, #$02D0|!FS_COLOR_RED|!FS_HFLIP .heart_piece_3_of_4 - dw #$0281|!FS_COLOR_RED, #$0281|!FS_COLOR_RED|!FS_HFLIP, #$0291|!FS_COLOR_RED, #$0290|!FS_COLOR_RED|!FS_HFLIP + dw #$02C1|!FS_COLOR_RED, #$02C1|!FS_COLOR_RED|!FS_HFLIP, #$02D1|!FS_COLOR_RED, #$02D0|!FS_COLOR_RED|!FS_HFLIP .empty_bottle - dw #$0240|!FS_COLOR_BW, #$0241|!FS_COLOR_BW, #$0250|!FS_COLOR_BW, #$0251|!FS_COLOR_BW + dw #$0280|!FS_COLOR_BW, #$0281|!FS_COLOR_BW, #$0290|!FS_COLOR_BW, #$0291|!FS_COLOR_BW .red_potion - dw #$0242|!FS_COLOR_RED, #$0242|!FS_COLOR_RED|!FS_HFLIP, #$0252|!FS_COLOR_RED, #$0243|!FS_COLOR_RED + dw #$0282|!FS_COLOR_RED, #$0282|!FS_COLOR_RED|!FS_HFLIP, #$0292|!FS_COLOR_RED, #$0283|!FS_COLOR_RED .green_potion - dw #$0242|!FS_COLOR_GREEN, #$0242|!FS_COLOR_GREEN|!FS_HFLIP, #$0252|!FS_COLOR_GREEN, #$0244|!FS_COLOR_GREEN + dw #$0282|!FS_COLOR_GREEN, #$0282|!FS_COLOR_GREEN|!FS_HFLIP, #$0292|!FS_COLOR_GREEN, #$0284|!FS_COLOR_GREEN .blue_potion - dw #$0242|!FS_COLOR_BLUE, #$0242|!FS_COLOR_BLUE|!FS_HFLIP, #$0252|!FS_COLOR_BLUE, #$0245|!FS_COLOR_BLUE + dw #$0282|!FS_COLOR_BLUE, #$0282|!FS_COLOR_BLUE|!FS_HFLIP, #$0292|!FS_COLOR_BLUE, #$0285|!FS_COLOR_BLUE .fairy_bottle - dw #$0247|!FS_COLOR_YELLOW|!FS_HFLIP, #$0247|!FS_COLOR_YELLOW, #$0256|!FS_COLOR_BLUE, #$0257|!FS_COLOR_BLUE + dw #$0287|!FS_COLOR_YELLOW|!FS_HFLIP, #$0287|!FS_COLOR_YELLOW, #$0296|!FS_COLOR_BLUE, #$0297|!FS_COLOR_BLUE .bee_bottle - dw #$0240|!FS_COLOR_BW, #$0241|!FS_COLOR_BW, #$0254|!FS_COLOR_YELLOW, #$0255|!FS_COLOR_YELLOW + dw #$0280|!FS_COLOR_BW, #$0281|!FS_COLOR_BW, #$0294|!FS_COLOR_YELLOW, #$0295|!FS_COLOR_YELLOW .good_bee_bottle - dw #$0240|!FS_COLOR_BW, #$0241|!FS_COLOR_BW, #$0254|!FS_COLOR_YELLOW, #$0246|!FS_COLOR_YELLOW + dw #$0280|!FS_COLOR_BW, #$0281|!FS_COLOR_BW, #$0294|!FS_COLOR_YELLOW, #$0286|!FS_COLOR_YELLOW ;-------------------------------------------------------------------------------- FileSelectDrawHudBar: - LDA.w #$029B|!FS_COLOR_GREEN : %fs_draw16x8(0,10) + LDA.w #$02DB|!FS_COLOR_GREEN : %fs_draw16x8(0,10) LDA.l DisplayRupeesSRAM JSL.l HUDHex4Digit_Long - LDA.b Scrap04 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,9) - LDA.b Scrap05 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,10) - LDA.b Scrap06 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,11) - LDA.b Scrap07 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,12) + LDA.b Scrap04 : AND.w #$00FF : !ADD.w #$0250+!FS_COLOR_BW : %fs_draw8x8(1,9) + LDA.b Scrap05 : AND.w #$00FF : !ADD.w #$0250+!FS_COLOR_BW : %fs_draw8x8(1,10) + LDA.b Scrap06 : AND.w #$00FF : !ADD.w #$0250+!FS_COLOR_BW : %fs_draw8x8(1,11) + LDA.b Scrap07 : AND.w #$00FF : !ADD.w #$0250+!FS_COLOR_BW : %fs_draw8x8(1,12) - LDA.w #$028B|!FS_COLOR_BLUE : %fs_draw16x8(0,14) + LDA.w #$02CB|!FS_COLOR_BLUE : %fs_draw16x8(0,14) LDA.l BombsEquipmentSRAM : AND.w #$00FF JSL.l HUDHex2Digit_Long - TYA : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,14) - TXA : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,15) + TYA : AND.w #$00FF : !ADD.w #$0250+!FS_COLOR_BW : %fs_draw8x8(1,14) + TXA : AND.w #$00FF : !ADD.w #$0250+!FS_COLOR_BW : %fs_draw8x8(1,15) LDA.l BowTrackingSRAM : AND.w #$0040 : BEQ + - LDA.w #$0299|!FS_COLOR_RED : %fs_draw16x8(0,17) + LDA.w #$02D9|!FS_COLOR_RED : %fs_draw16x8(0,17) BRA ++ + - LDA.w #$0289|!FS_COLOR_BROWN : %fs_draw16x8(0,17) + LDA.w #$02C9|!FS_COLOR_BROWN : %fs_draw16x8(0,17) ++ LDA.l CurrentArrowsSRAM : AND.w #$00FF JSL.l HUDHex2Digit_Long - TYA : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,17) - TXA : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,18) + TYA : AND.w #$00FF : !ADD.w #$0250+!FS_COLOR_BW : %fs_draw8x8(1,17) + TXA : AND.w #$00FF : !ADD.w #$0250+!FS_COLOR_BW : %fs_draw8x8(1,18) RTS ;-------------------------------------------------------------------------------- AltBufferTable: @@ -758,44 +756,61 @@ RTL ;-------------------------------------------------------------------------------- LoadFullItemTiles: - PHA : PHX - LDA.w DMAP0 : PHA ; preserve DMA parameters - LDA.w BBAD0 : PHA ; preserve DMA parameters - LDA.w A1T0L : PHA ; preserve DMA parameters - LDA.w A1T0H : PHA ; preserve DMA parameters - LDA.w A1B0 : PHA ; preserve DMA parameters - LDA.w DAS0L : PHA ; preserve DMA parameters - LDA.w DAS0H : PHA ; preserve DMA parameters - ;-------------------------------------------------------------------------------- - LDA.b #$80 : STA.w VMAIN ; write read increment on $2119 - LDA.b #$01 : STA.w DMAP0 ; set DMA transfer direction A -> B, bus A auto increment, double-byte mode - LDA.b #$18 : STA.w BBAD0 ; set bus B destination to VRAM register - - LDA.b #$00 : STA.w VMADDL ; write VRAM destination address - LDA.b #$30 : STA.w VMADDH ; write VRAM destination address - - LDA.b #$31 : STA.w A1B0 ; set bus A source bank - LDA.b #FileSelectNewGraphics : STA.w A1T0L ; set bus A source address to ROM - LDA.b #FileSelectNewGraphics>>8 : STA.w A1T0H ; set bus A source address to ROM - - LDA.w INIDISP : PHA : LDA.b #$80 : STA.w INIDISP ; save screen state & turn screen off - - STZ.w DAS0L : LDA.b #$10 : STA.w DAS0H ; set transfer size to 0x1000 - LDA.b #$01 : STA.w MDMAEN ; begin DMA transfer - - PLA : STA.w INIDISP ; put screen back however it was before - ;-------------------------------------------------------------------------------- - PLA : STA.w DAS0H ; restore DMA parameters - PLA : STA.w DAS0L ; restore DMA parameters - PLA : STA.w A1B0 ; restore DMA parameters - PLA : STA.w A1T0H ; restore DMA parameters - PLA : STA.w A1T0L ; restore DMA parameters - PLA : STA.w BBAD0 ; restore DMA parameters - PLA : STA.w DMAP0 ; restore DMA parameters - PLX : PLA + LDA.b #$80 : STA.w VMAIN + LDA.b #$01 : STA.w DMAP0 + LDA.b #$18 : STA.w BBAD0 + LDX.w #$3200 : STX.w VMADDL + LDA.b #FileSelectNewGraphics>>16 : STA.w A1B0 + LDX.w #FileSelectNewGraphics : STX.w A1T0L + LDX.w #$0C00 : STX.w DAS0L + LDA.b #$01 : STA.w MDMAEN RTL ;-------------------------------------------------------------------------------- +; z colon @ +; length $340 +; target vram $6C00 +; NewFont+$400 +LoadLowerCaseLettersSymbols: + LDA.b #$80 : STA.w VMAIN + LDA.b #$01 : STA.w DMAP0 + LDA.b #$18 : STA.w BBAD0 + ; Lower case letters + LDA.b #NewFont>>16 : STA.w A1B0 + LDX.w #NewFont+$400 : STX.w A1T0L + LDX.w #$0400 : STX.w DAS0L + LDX.w #$2D00 : STX.w VMADDL + LDA.b #$01 : STA.w MDMAEN + + ; : @ # + LDA.b #NewFont>>16 : STA.w A1B0 + LDX.w #NewFont+$A80 : STX.w A1T0L + LDA.b #NewFont>>16 : STA.w A1B1 + LDX.w #NewFont+$B80 : STX.w A1T1L + LDX.w #$0030 : STX.w DAS0L : STX.w DAS1L + + LDX.w #$2E50 : STX.w VMADDL + LDA.b #$01 : STA.w MDMAEN + LDX.w #$2ED0 : STX.w VMADDL + LDA.b #$02 : STA.w MDMAEN +RTL +;-------------------------------------------------------------------------------- +LoadFileSelectVanillaItems: + REP #$10 + LDA.b #$80 : STA.w VMAIN + LDA.b #$01 : STA.w DMAP0 + LDA.b #$18 : STA.w BBAD0 + + ; Lower case letters + LDA.b #DecompBuffer2>>16 : STA.w A1B0 + LDX.w #DecompBuffer2 : STX.w A1T0L + LDX.w #$0600 : STX.w DAS0L + LDX.w #$2F00 : STX.w VMADDL + LDA.b #$01 : STA.w MDMAEN + + SEP #$10 +RTL +;-------------------------------------------------------------------------------- SetFileSelectPalette: LDA.b GameMode : CMP.b #$04 : BNE + ; load the vanilla file select screen BG3 palette for naming screen @@ -839,7 +854,7 @@ DrawPlayerFile_credits: LDA.l EquipmentSRAM+$2C : AND.w #$00FF : LSR #3 : STA.b Scrap02 %fs_LDY_screenpos(0,20) - LDA.w #$028F|!FS_COLOR_RED + LDA.w #$02CF|!FS_COLOR_RED LDX.w #$000A .nextHeart diff --git a/hashalphabet.asm b/hashalphabet.asm index 5e4c4e4..dd22373 100644 --- a/hashalphabet.asm +++ b/hashalphabet.asm @@ -69,110 +69,88 @@ RTL ; DMAAlphabetTilemap: ;-------------------------------------------------------------------------------- DMAAlphabetTilemap: - PHA : PHX - LDA.w DMAP0 : PHA ; preserve DMA parameters - LDA.w BBAD0 : PHA ; preserve DMA parameters - LDA.w A1T0L : PHA ; preserve DMA parameters - LDA.w A1T0H : PHA ; preserve DMA parameters - LDA.w A1B0 : PHA ; preserve DMA parameters - LDA.w DAS0L : PHA ; preserve DMA parameters - LDA.w DAS0H : PHA ; preserve DMA parameters - ;-------------------------------------------------------------------------------- - LDA.b #$01 : STA.w DMAP0 ; set DMA transfer direction A -> B, bus A auto increment, double-byte mode - LDA.b #$80 : STA.w VMAIN ; write read increment on $2119 - LDA.b #$18 : STA.w BBAD0 ; set bus B destination to VRAM register - - LDA.b #$60 : STA.w VMADDL ; write VRAM destination address - STA.w VMADDH ; write VRAM destination address - - LDA.b #BigRAM : STA.w A1T0L ; set bus A source address to WRAM - LDA.b #BigRAM>>8 : STA.w A1T0H ; set bus A source address to WRAM - LDA.b #BigRAM>>16 : STA.w A1B0 ; set bus A source bank - - LDA.b #$80 : STA.w DAS0L : STZ.w DAS0H ; set transfer size to 0x40 - - LDA.w INIDISP : PHA : LDA.b #$80 : STA.w INIDISP ; save screen state & turn screen off - LDA.b #$01 : STA.w MDMAEN ; begin DMA transfer - PLA : STA.w INIDISP ; put screen back however it was before - ;-------------------------------------------------------------------------------- - PLA : STA.w DAS0H ; restore DMA parameters - PLA : STA.w DAS0L ; restore DMA parameters - PLA : STA.w A1B0 ; restore DMA parameters - PLA : STA.w A1T0H ; restore DMA parameters - PLA : STA.w A1T0L ; restore DMA parameters - PLA : STA.w BBAD0 ; restore DMA parameters - PLA : STA.w DMAP0 ; restore DMA parameters - PLX : PLA + PHA : PHX + REP #$10 + LDA.b #$01 : STA.w DMAP0 + LDA.b #$80 : STA.w VMAIN + LDA.b #$18 : STA.w BBAD0 + LDX.w #$6060 : STX.w VMADDL + LDA.b #BigRAM>>16 : STA.w A1B0 + LDX.w #BigRAM : STX.w A1T0L + LDX.w #$0080 : STX.w DAS0L + LDA.b #$01 : STA.w MDMAEN + SEP #$10 + PLX : PLA RTS ;-------------------------------------------------------------------------------- HashAlphabetTilesWithBlank: ;BLANK -dw #$0186|!FS_COLOR_BW, #$0186|!FS_COLOR_BW, #$0196|!FS_COLOR_BW, #$0196|!FS_COLOR_BW +dw #$0188, #$0188, #$0188, #$0188 HashAlphabetTiles: ;BOW -dw #$0201|!FS_COLOR_YELLOW, #$0202|!FS_COLOR_YELLOW, #$0211|!FS_COLOR_YELLOW, #$0212|!FS_COLOR_YELLOW +dw #$0241|!FS_COLOR_YELLOW, #$0242|!FS_COLOR_YELLOW, #$0251|!FS_COLOR_YELLOW, #$0252|!FS_COLOR_YELLOW ;BOOM -dw #$0205|!FS_COLOR_BLUE, #$0206|!FS_COLOR_BLUE, #$0200|!FS_COLOR_BW, #$0216|!FS_COLOR_BLUE +dw #$0245|!FS_COLOR_BLUE, #$0246|!FS_COLOR_BLUE, #$0240|!FS_COLOR_BW, #$0256|!FS_COLOR_BLUE ;HOOK -dw #$0200|!FS_COLOR_RED, #$0215|!FS_COLOR_RED, #$0230|!FS_COLOR_RED, #$0200|!FS_COLOR_BW +dw #$0240|!FS_COLOR_RED, #$0255|!FS_COLOR_RED, #$0270|!FS_COLOR_RED, #$0240|!FS_COLOR_BW ;BOMB -dw #$020C|!FS_COLOR_BLUE, #$020D|!FS_COLOR_BLUE, #$021C|!FS_COLOR_BLUE, #$021C|!FS_COLOR_BLUE|!FS_HFLIP +dw #$024C|!FS_COLOR_BLUE, #$024D|!FS_COLOR_BLUE, #$025C|!FS_COLOR_BLUE, #$025C|!FS_COLOR_BLUE|!FS_HFLIP ;SHROOM -dw #$0262|!FS_COLOR_RED, #$0263|!FS_COLOR_RED, #$0272|!FS_COLOR_RED, #$0273|!FS_COLOR_RED +dw #$02A2|!FS_COLOR_RED, #$02A3|!FS_COLOR_RED, #$02B2|!FS_COLOR_RED, #$02B3|!FS_COLOR_RED ;POWDER -dw #$020A|!FS_COLOR_BROWN, #$020B|!FS_COLOR_BROWN, #$021A|!FS_COLOR_BROWN, #$021B|!FS_COLOR_BROWN +dw #$024A|!FS_COLOR_BROWN, #$024B|!FS_COLOR_BROWN, #$025A|!FS_COLOR_BROWN, #$025B|!FS_COLOR_BROWN ;ROD -dw #$0220|!FS_COLOR_BLUE, #$0221|!FS_COLOR_BLUE, #$0230|!FS_COLOR_BLUE, #$0231|!FS_COLOR_BLUE +dw #$0260|!FS_COLOR_BLUE, #$0261|!FS_COLOR_BLUE, #$0270|!FS_COLOR_BLUE, #$0271|!FS_COLOR_BLUE ;PENDANT -dw #$0285|!FS_COLOR_GREEN, #$0286|!FS_COLOR_GREEN, #$0295|!FS_COLOR_GREEN, #$0296|!FS_COLOR_GREEN +dw #$02C5|!FS_COLOR_GREEN, #$02C6|!FS_COLOR_GREEN, #$02D5|!FS_COLOR_GREEN, #$02D6|!FS_COLOR_GREEN ;BOMBOS -dw #$0207|!FS_COLOR_YELLOW, #$0217|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0217|!FS_COLOR_YELLOW, #$0207|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP +dw #$0247|!FS_COLOR_YELLOW, #$0257|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0257|!FS_COLOR_YELLOW, #$0247|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP ;ETHER -dw #$0208|!FS_COLOR_YELLOW, #$0218|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0218|!FS_COLOR_YELLOW, #$0208|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP +dw #$0248|!FS_COLOR_YELLOW, #$0258|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0258|!FS_COLOR_YELLOW, #$0248|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP ;QUAKE -dw #$0209|!FS_COLOR_YELLOW, #$0219|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0219|!FS_COLOR_YELLOW, #$0209|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP +dw #$0249|!FS_COLOR_YELLOW, #$0259|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP, #$0259|!FS_COLOR_YELLOW, #$0249|!FS_COLOR_YELLOW|!FS_HFLIP|!FS_VFLIP ;LAMP -dw #$022C|!FS_COLOR_RED, #$022C|!FS_COLOR_RED|!FS_HFLIP, #$023C|!FS_COLOR_RED, #$023D|!FS_COLOR_RED +dw #$026C|!FS_COLOR_RED, #$026C|!FS_COLOR_RED|!FS_HFLIP, #$027C|!FS_COLOR_RED, #$027D|!FS_COLOR_RED ;HAMMER -dw #$0222|!FS_COLOR_BROWN, #$0223|!FS_COLOR_BROWN, #$0232|!FS_COLOR_BROWN, #$0233|!FS_COLOR_BROWN +dw #$0262|!FS_COLOR_BROWN, #$0263|!FS_COLOR_BROWN, #$0272|!FS_COLOR_BROWN, #$0273|!FS_COLOR_BROWN ;SHOVEL -dw #$0224|!FS_COLOR_BROWN, #$0225|!FS_COLOR_BROWN, #$0234|!FS_COLOR_BROWN, #$0235|!FS_COLOR_BROWN +dw #$0264|!FS_COLOR_BROWN, #$0265|!FS_COLOR_BROWN, #$0274|!FS_COLOR_BROWN, #$0275|!FS_COLOR_BROWN ;FLUTE -dw #$0226|!FS_COLOR_BLUE, #$0227|!FS_COLOR_BLUE, #$0236|!FS_COLOR_BLUE, #$0237|!FS_COLOR_BLUE +dw #$0266|!FS_COLOR_BLUE, #$0267|!FS_COLOR_BLUE, #$0276|!FS_COLOR_BLUE, #$0277|!FS_COLOR_BLUE ;NET -dw #$0228|!FS_COLOR_YELLOW, #$0229|!FS_COLOR_YELLOW, #$0238|!FS_COLOR_YELLOW, #$0239|!FS_COLOR_YELLOW +dw #$0268|!FS_COLOR_YELLOW, #$0269|!FS_COLOR_YELLOW, #$0278|!FS_COLOR_YELLOW, #$0279|!FS_COLOR_YELLOW ;BOOK -dw #$022A|!FS_COLOR_GREEN, #$022B|!FS_COLOR_GREEN, #$023A|!FS_COLOR_GREEN, #$023B|!FS_COLOR_GREEN +dw #$026A|!FS_COLOR_GREEN, #$026B|!FS_COLOR_GREEN, #$027A|!FS_COLOR_GREEN, #$027B|!FS_COLOR_GREEN ;BOTTLE -dw #$0240|!FS_COLOR_BW, #$0241|!FS_COLOR_BW, #$0250|!FS_COLOR_BW, #$0251|!FS_COLOR_BW +dw #$0280|!FS_COLOR_BW, #$0281|!FS_COLOR_BW, #$0290|!FS_COLOR_BW, #$0291|!FS_COLOR_BW ;POTION -dw #$0242|!FS_COLOR_GREEN, #$0242|!FS_COLOR_GREEN|!FS_HFLIP, #$0252|!FS_COLOR_GREEN, #$0253|!FS_COLOR_GREEN +dw #$0282|!FS_COLOR_GREEN, #$0282|!FS_COLOR_GREEN|!FS_HFLIP, #$0292|!FS_COLOR_GREEN, #$0293|!FS_COLOR_GREEN ;CANE -dw #$021D|!FS_COLOR_RED, #$021E|!FS_COLOR_RED, #$022D|!FS_COLOR_RED, #$022E|!FS_COLOR_RED +dw #$025D|!FS_COLOR_RED, #$025E|!FS_COLOR_RED, #$026D|!FS_COLOR_RED, #$026E|!FS_COLOR_RED ;CAPE -dw #$0248|!FS_COLOR_RED, #$0249|!FS_COLOR_RED, #$0258|!FS_COLOR_RED, #$0259|!FS_COLOR_RED +dw #$0288|!FS_COLOR_RED, #$0289|!FS_COLOR_RED, #$0298|!FS_COLOR_RED, #$0299|!FS_COLOR_RED ;MIRROR -dw #$024A|!FS_COLOR_BLUE, #$024B|!FS_COLOR_BLUE, #$025A|!FS_COLOR_BLUE, #$025B|!FS_COLOR_BLUE +dw #$028A|!FS_COLOR_BLUE, #$028B|!FS_COLOR_BLUE, #$029A|!FS_COLOR_BLUE, #$029B|!FS_COLOR_BLUE ;BOOTS -dw #$024C|!FS_COLOR_BOOTS, #$024D|!FS_COLOR_BOOTS, #$025C|!FS_COLOR_BOOTS, #$025D|!FS_COLOR_BOOTS +dw #$028C|!FS_COLOR_BOOTS, #$028D|!FS_COLOR_BOOTS, #$029C|!FS_COLOR_BOOTS, #$029D|!FS_COLOR_BOOTS ;GLOVES -dw #$024E|!FS_COLOR_BROWN, #$024F|!FS_COLOR_BROWN, #$025E|!FS_COLOR_BROWN, #$025F|!FS_COLOR_BROWN +dw #$028E|!FS_COLOR_BROWN, #$028F|!FS_COLOR_BROWN, #$029E|!FS_COLOR_BROWN, #$029F|!FS_COLOR_BROWN ;FLIPPERS -dw #$020E|!FS_COLOR_BLUE, #$020F|!FS_COLOR_BLUE, #$021F|!FS_COLOR_BLUE|!FS_HFLIP, #$021F|!FS_COLOR_BLUE +dw #$024E|!FS_COLOR_BLUE, #$024F|!FS_COLOR_BLUE, #$025F|!FS_COLOR_BLUE|!FS_HFLIP, #$025F|!FS_COLOR_BLUE ;PEARL -dw #$0264|!FS_COLOR_RED, #$0265|!FS_COLOR_RED, #$0274|!FS_COLOR_RED, #$0275|!FS_COLOR_RED +dw #$02A4|!FS_COLOR_RED, #$02A5|!FS_COLOR_RED, #$02B4|!FS_COLOR_RED, #$02B5|!FS_COLOR_RED ;SHIELD -dw #$026D|!FS_COLOR_YELLOW, #$026E|!FS_COLOR_YELLOW, #$027D|!FS_COLOR_YELLOW, #$027E|!FS_COLOR_YELLOW +dw #$02AD|!FS_COLOR_YELLOW, #$02AE|!FS_COLOR_YELLOW, #$02BD|!FS_COLOR_YELLOW, #$02BE|!FS_COLOR_YELLOW ;TUNIC -dw #$026F|!FS_COLOR_GREEN, #$026F|!FS_COLOR_GREEN|!FS_HFLIP, #$027F|!FS_COLOR_GREEN, #$027F|!FS_COLOR_GREEN|!FS_HFLIP +dw #$02AF|!FS_COLOR_GREEN, #$02AF|!FS_COLOR_GREEN|!FS_HFLIP, #$02BF|!FS_COLOR_GREEN, #$02BF|!FS_COLOR_GREEN|!FS_HFLIP ;HEART -dw #$0281|!FS_COLOR_RED, #$0281|!FS_COLOR_RED|!FS_HFLIP, #$0291|!FS_COLOR_RED, #$0291|!FS_COLOR_RED|!FS_HFLIP +dw #$02C1|!FS_COLOR_RED, #$02C1|!FS_COLOR_RED|!FS_HFLIP, #$02D1|!FS_COLOR_RED, #$02D1|!FS_COLOR_RED|!FS_HFLIP ;MAP -dw #$0282|!FS_COLOR_YELLOW, #$0283|!FS_COLOR_YELLOW, #$0292|!FS_COLOR_YELLOW, #$0293|!FS_COLOR_YELLOW +dw #$02C2|!FS_COLOR_YELLOW, #$02C3|!FS_COLOR_YELLOW, #$02D2|!FS_COLOR_YELLOW, #$02D3|!FS_COLOR_YELLOW ;COMPASS -dw #$0284|!FS_COLOR_RED, #$0284|!FS_COLOR_RED|!FS_HFLIP, #$0294|!FS_COLOR_RED, #$0294|!FS_COLOR_RED|!FS_HFLIP +dw #$02C4|!FS_COLOR_RED, #$02C4|!FS_COLOR_RED|!FS_HFLIP, #$02D4|!FS_COLOR_RED, #$02D4|!FS_COLOR_RED|!FS_HFLIP ;KEY -dw #$022F|!FS_COLOR_YELLOW|!FS_HFLIP, #$022F|!FS_COLOR_YELLOW, #$023E|!FS_COLOR_YELLOW, #$023F|!FS_COLOR_YELLOW +dw #$026F|!FS_COLOR_YELLOW|!FS_HFLIP, #$026F|!FS_COLOR_YELLOW, #$027E|!FS_COLOR_YELLOW, #$027F|!FS_COLOR_YELLOW ;-------------------------------------------------------------------------------- FileSelect_PlayerSelectText_Top: ;db $60, $62, $00, $37 diff --git a/hooks.asm b/hooks.asm index 19f823e..24ac714 100644 --- a/hooks.asm +++ b/hooks.asm @@ -211,6 +211,10 @@ RTL ;Just in case anybody ever removes the previous hook org $80E55D ; <- 0655D - Bank00.asm : 5473 (LDA.w #$7000 : STA $2116) LDA.w #$2000 ; Load file select screen graphics to VRAM word addres 0x2000 instead of 0x7000 ;-------------------------------------------------------------------------------- +org $80E568 : LDX.w #$0EFF ; Load full decompressed character set into VRAM +;-------------------------------------------------------------------------------- +org $80E581 : JSL.l LoadFileSelectVanillaItems : BRA + : NOP #13 : + +;-------------------------------------------------------------------------------- org $80833A ; <- 0033A - Bank00.asm : 481 (LDA.w #$007F) LDA.w #$0180 ; change which character is used as the blank character for the select screen ;-------------------------------------------------------------------------------- @@ -233,6 +237,7 @@ db $3D org $8CD6BD ; <- Y position table for Death Counts db $51 ;-------------------------------------------------------------------------------- +org $8CD55F : LDA.w #$0600 ; Hearts tile offset ;================================================================================ ; Name Entry Screen @@ -589,6 +594,7 @@ NOP #4 org $81ED75 ; <- ED75 - Bank01.asm : 13963 (JSL Dungeon_SaveRoomQuadrantData) JSL IncrementBigChestCounter ;-------------------------------------------------------------------------------- +org $8EE67A : STA.l PostGameCounter : BRA + : NOP #18 : + ;================================================================================ ; DialogOverride @@ -618,7 +624,7 @@ org $8EED15 ; <- PC 0x76D15 - Bank0E.asm : 3282 (LDA $E924, Y : STA $1008, X) JSL EndingSequenceTableOverride : NOP #2 ;-------------------------------------------------------------------------------- org $8EED2A ; <- PC 0x76D2A - Bank0E.asm : 3295 (LDA $E924, Y : AND.w #$00FF) -JSL EndingSequenceTableLookupOverride : NOP #2 +JSL EndingSequenceTableLookupOverride : NOP #7 ;-------------------------------------------------------------------------------- ;================================================================================ @@ -1385,9 +1391,6 @@ org $8DFC37 ; <- 6FC37 - headsup_display.asm : 828 (LDA.w #$28F7) JSL DrawMagicHeader BRA + : NOP #15 : + ;-------------------------------------------------------------------------------- -org $8DFB29 ; <- headsup_display.asm : 688 (LDA.b #$86 : STA $7EC71E) -JSL DrawHUDArrows : BRA + : NOP #18 : + -;-------------------------------------------------------------------------------- org $81CF67 ; <- CF67 - Bank01.asm : 11625 (STA $7EF36F) JSL DecrementSmallKeys ;-------------------------------------------------------------------------------- @@ -1400,8 +1403,8 @@ LDX.w #HUD_TileMap org $8DFA9C ; <- 6FA9C - headsup_display.asm : 629 (MVN $0D, $7E ; $Transfer 0x014A bytes from $6FE77 -> $7EC700) MVN $A17E ;-------------------------------------------------------------------------------- -org $8DFB1F ; 6FB1F - headsup_display.asm : 681 (LDA $7EF340 : BEQ .hastNoBow) -JSL CheckHUDSilverArrows +org $8DFB1F : JSL CheckHUDSilverArrows +org $8DFB29 : BRA UpdateHUDBuffer_update_item_check_arrows ;-------------------------------------------------------------------------------- org $8DF1AB JSR.w RebuildHUD_update @@ -2379,40 +2382,33 @@ org $8DB516 : db $40 ; chain chomp ;-------------------------------------------------------------------------------- ; Keep Firebar Damage on Same Layer ;-------------------------------------------------------------------------------- -org $86F425 -Sprite_AttemptDamageToPlayerPlusRecoilLong: - -org $9ED1B6 -JSL NewFireBarDamage +org $9ED1B6 : JSL NewFireBarDamage ;================================================================================ ; Remove heart beeps from 1/2 max HP org $8DDB60 db $00, $00 - +;================================================================================ +; Credits +;================================================================================ +org $8EE651 : JSL LoadCreditsTiles +org $8EEDAF : JSL NearEnding +org $8EEDD9 : JSL EndingItems +org $8EE828 : JSL PreparePointer : LDA.b [CreditsPtr],Y : NOP +org $8EE83F : LDA.b [CreditsPtr],Y : NOP +org $8EE853 +LDA.b [CreditsPtr],Y : NOP : AND.w #$00FF : ASL A : JSL CheckFontTable +org $8EE86D : JSL RenderCreditsStatCounter : JMP.w AfterDeathCounterOutput +org $82857D : JSL LoadOverworldCreditsTiles ;================================================================================ ; Fast credits - -org $8EC2B1 -JSL FlagFastCredits - -org $82A096 -JSL DumbFlagForMSU - -org $8EC3AF -JSL FastCreditsScrollOW : JMP.w $0EC3C7 - -org $8EC41F -JSL FastCreditsCutsceneUnderworldY - -org $8EC42C -JSL FastCreditsCutsceneUnderworldX - -org $8EC488 -JSL FastCreditsCutsceneTimer - -org $8EE773 -JSL FastTextScroll : NOP +org $8EC2B1 : JSL FlagFastCredits +org $82A096 : JSL DumbFlagForMSU +org $8EC3AF : JSL FastCreditsScrollOW : JMP.w $0EC3C7 +org $8EC41F : JSL FastCreditsCutsceneUnderworldY +org $8EC42C : JSL FastCreditsCutsceneUnderworldX +org $8EC488 : JSL FastCreditsCutsceneTimer +org $8EE773 : JSL FastTextScroll : NOP ;================================================================================ org $81FFEE : JSL IncrementDamageTakenCounter_Eight ; overworld pit diff --git a/newhud.asm b/newhud.asm index d83d514..3573596 100644 --- a/newhud.asm +++ b/newhud.asm @@ -227,8 +227,6 @@ NewHUD_DrawItemCounter: LDA.b $06 : TAX : STX.w HUDGoalIndicator+$04 LDA.b $07 : TAX : STX.w HUDGoalIndicator+$06 - - ;================================================================================ DrawMagicMeter_mp_tilemap = $0DFE0F NewHUD_DrawMagicMeter: diff --git a/newitems.asm b/newitems.asm index 510ea11..72a9568 100644 --- a/newitems.asm +++ b/newitems.asm @@ -316,14 +316,14 @@ ItemBehavior: JMP.w .increment_map .bow_and_arrows - BIT.b #$40 : BEQ + + LDA.l BowTracking : BIT.b #$40 : BEQ + LDA.l SilverArrowsUseRestriction : BNE + LDA.b #03 : STA.l BowEquipment ; set bow to silver + RTS .silver_bow - LDA.b #$04 : ORA.l BowTracking : STA.l BowTracking + LDA.b #$40 : ORA.l BowTracking : STA.l BowTracking LDA.l SilverArrowsUseRestriction : BNE .noequip LDA.l SilverArrowsAutoEquip : AND.b #$01 : BEQ .noequip LDA.l ArrowsFiller : BNE + ; check arrows @@ -333,7 +333,6 @@ ItemBehavior: ++ STA.l BowEquipment .noequip - LDA.l BowTracking : ORA.b #$40 : STA.l BowTracking ; mark silver bow on y-toggle RTS .bombs_50 @@ -720,8 +719,7 @@ ResolveLootID: LDA.l ProgressiveBowReplacement JMP.w .get_item + - TAX - LDA.b #$80 : STA.l BowTrackingFlags + LDA.l BowEquipment : TAX LDA.w ResolveLootID_bows_ids,X JMP.w .get_item @@ -731,14 +729,13 @@ ResolveLootID: LDA.l ProgressiveBowReplacement JMP.w .get_item + - TAX - LDA.b #$20 : STA.l BowTrackingFlags + LDA.l BowEquipment : TAX LDA.w ResolveLootID_bows_ids,X JMP.w .get_item .bows ..ids - db $3A, $3B, $3B + db $3A, $3B, $3B, $3B, $3B .null_chest ; JSL ChestItemServiceRequest @@ -799,6 +796,7 @@ HandleBowTracking: LDA.b #$20 .done ORA.l BowTracking : STA.l BowTracking + LDA.w ItemReceiptID RTS ;-------------------------------------------------------------------------------- ;Return BowEquipment but also draw silver arrows if you have the upgrade even if you don't have the bow @@ -1076,5 +1074,5 @@ dw $0008 ; CT dw $0006 ; DP dw $0004 ; EP dw $0002 ; HC -dw $0000 ; SW +dw $0000 ; Sewers diff --git a/playername.asm b/playername.asm index 426d61c..58ef1bc 100644 --- a/playername.asm +++ b/playername.asm @@ -26,7 +26,7 @@ WriteCharacterToPlayerName: RTL ReadCharacterFromPlayerName: ;Only for use on Name Screen - LDA.l ExtendedFileNameSRAM, X + LDA.l ExtendedFileNameSRAM, X CPX.w #$0008 : !BGE + LDA.l FileNameVanillaSRAM, X ;what we wrote over + @@ -59,7 +59,7 @@ db $98, $a0, $a8, $b0 db $c0, $c8, $d0, $d8 -NumberStripes: +NewNameStripes: dw $AB66, $1100 ; 0-4 top dw $1D40, $0188, $1D41, $0188, $1D42, $0188, $1D43, $0188 dw $1D44 @@ -72,15 +72,36 @@ dw $1D49 dw $0B67, $1100 ; 5-9 bottom dw $1D55, $0188, $1D56, $0188, $1D57, $0188, $1D58, $0188 dw $1D59 + +; Move JP characters where a-z are to column where second END button was +dw $B162, $1100 +dw $1CEE, $0188, $1CEF, $0188, $1D05, $0188, $1D06, $0188 +dw $1D07 +dw $D162, $1100 +dw $1CFE, $0188, $1CFF, $0188, $1D15, $0188, $1D16, $0188 +dw $1D17 +dw $F162, $1100 +dw $1D0D, $0188, $1D0E, $0188, $1D0F, $0188, $1D20, $0188 +dw $1D21 +dw $1163, $1100 +dw $1D1D, $0188, $1D1E, $0188, $1D1F, $0188, $1D30, $0188 +dw $1D31 +dw $3163, $1100 +dw $1D22, $0188, $1D23, $0188, $1D24, $0188, $1D25, $0188 +dw $1D26 +dw $5163, $1100 +dw $1D32, $0188, $1D33, $0188, $1D34, $0188, $1D35, $0188 +dw $1D36 + db $80 ; termination -TransferNumericStripes: +TransferNewNameStripes: REP #$30 LDA.w GameMode : CMP.w #$0204 : BNE .exit SEP #$20 - LDA.b #NumberStripes>>0 : STA.b $00 - LDA.b #NumberStripes>>8 : STA.b $01 - LDA.b #NumberStripes>>16 : STA.b $02 : STA.w DMA1ADDRB + LDA.b #NewNameStripes>>0 : STA.b $00 + LDA.b #NewNameStripes>>8 : STA.b $01 + LDA.b #NewNameStripes>>16 : STA.b $02 : STA.w DMA1ADDRB STZ.b $06 : LDY.w #$0000 .check_next LDA.b [$00],Y : BPL .next_stripe diff --git a/stats/credits.asm b/stats/credits.asm index b4016f8..9661e5c 100644 --- a/stats/credits.asm +++ b/stats/credits.asm @@ -530,7 +530,7 @@ CreditsLineBlank: %blankline() -%bigcredits("AND...") +%bigcredits("AND&") %blankline() diff --git a/stats/font.gb b/stats/font.gb deleted file mode 100755 index 9894dc4..0000000 Binary files a/stats/font.gb and /dev/null differ diff --git a/stats/fonttable.asm b/stats/fonttable.asm new file mode 100644 index 0000000..342073d --- /dev/null +++ b/stats/fonttable.asm @@ -0,0 +1,268 @@ +; Small letters red +dw $39E0 ; A ; $00 +dw $39E1 ; B ; +dw $39E2 ; C ; +dw $39E3 ; D ; +dw $39E4 ; E ; +dw $39E5 ; F ; +dw $39E6 ; G ; +dw $39E7 ; H ; +dw $39E8 ; I ; +dw $39E9 ; J ; +dw $39EA ; K ; +dw $39EB ; L ; +dw $39EC ; M ; +dw $39ED ; N ; +dw $39EE ; O ; +dw $39EF ; P ; +dw $39F0 ; Q ; +dw $39F1 ; R ; +dw $39F2 ; S ; +dw $39F3 ; T ; +dw $39F4 ; U ; +dw $39F5 ; V ; +dw $39F6 ; W ; +dw $39F7 ; X ; +dw $39F8 ; Y ; +dw $39F9 ; Z ; $19 + ; +; Small letters yellow ; +dw $2DE0 ; A ; $1A +dw $2DE1 ; B ; +dw $2DE2 ; C ; +dw $2DE3 ; D ; +dw $2DE4 ; E ; +dw $2DE5 ; F ; +dw $2DE6 ; G ; +dw $2DE7 ; H ; +dw $2DE8 ; I ; +dw $2DE9 ; J ; +dw $2DEA ; K ; +dw $2DEB ; L ; +dw $2DEC ; M ; +dw $2DED ; N ; +dw $2DEE ; O ; +dw $2DEF ; P ; +dw $2DF0 ; Q ; +dw $2DF1 ; R ; +dw $2DF2 ; S ; +dw $2DF3 ; T ; +dw $2DF4 ; U ; +dw $2DF5 ; V ; +dw $2DF6 ; W ; +dw $2DF7 ; X ; +dw $2DF8 ; Y ; +dw $2DF9 ; Z ; $33 +dw $0000 ; Unused ; +dw $2DFB ; ' ; +dw $0000 ; Unused ; +dw $0000 ; Unused ; + ; +; Small letters green ; +dw $29E0 ; A ; $38 +dw $29E1 ; B ; +dw $29E2 ; C ; +dw $29E3 ; D ; +dw $29E4 ; E ; +dw $29E5 ; F ; +dw $29E6 ; G ; +dw $29E7 ; H ; +dw $29E8 ; I ; +dw $29E9 ; J ; +dw $29EA ; K ; +dw $29EB ; L ; +dw $29EC ; M ; +dw $29ED ; N ; +dw $29EE ; O ; +dw $29EF ; P ; +dw $29F0 ; Q ; +dw $29F1 ; R ; +dw $29F2 ; S ; +dw $29F3 ; T ; +dw $29F4 ; U ; +dw $29F5 ; V ; +dw $29F6 ; W ; +dw $29F7 ; X ; +dw $29F8 ; Y ; +dw $29F9 ; Z ; $51 +dw $29FA ; • ; + ; +; Big characters top ; +dw $3D40 ; 0 ; $53 +dw $3D41 ; 1 ; +dw $3D42 ; 2 ; +dw $3D43 ; 3 ; +dw $3D44 ; 4 ; +dw $3D45 ; 5 ; +dw $3D46 ; 6 ; +dw $3D47 ; 7 ; +dw $3D48 ; 8 ; +dw $3D49 ; 9 ; +dw $3D4A ; A ; +dw $3D4B ; B ; +dw $3D4C ; C ; +dw $3D4D ; D ; +dw $3D4E ; E ; +dw $3D4F ; F ; $62 +dw $3D60 ; G ; +dw $3D61 ; H ; +dw $3D62 ; I ; +dw $3D63 ; J ; +dw $3D64 ; K ; +dw $3D65 ; L ; +dw $3D66 ; M ; +dw $3D67 ; N ; +dw $3D68 ; O ; +dw $3D69 ; P ; +dw $3D6A ; Q ; +dw $3D6B ; R ; +dw $3D6C ; S ; +dw $3D6D ; T ; +dw $3D6E ; U ; +dw $3D6F ; V ; $72 +dw $3D80 ; W ; +dw $3D81 ; X ; +dw $3D82 ; Y ; +dw $3D83 ; Z ; +dw $0000 ; ; +dw $0000 ; ; +; Big characters bottom ; +dw $3D50 ; 0 ; $79 +dw $3D51 ; 1 ; +dw $3D52 ; 2 ; +dw $3D53 ; 3 ; +dw $3D54 ; 4 ; +dw $3D55 ; 5 ; +dw $3D56 ; 6 ; +dw $3D57 ; 7 ; +dw $3D58 ; 8 ; +dw $3D59 ; 9 ; +dw $3D5A ; A ; $83 +dw $3D5B ; B ; +dw $3D5C ; C ; +dw $3D5D ; D ; +dw $3D5E ; E ; +dw $3D5F ; F ; +dw $3D70 ; G ; +dw $3D71 ; H ; +dw $3D72 ; I ; +dw $3D73 ; J ; +dw $3D74 ; K ; +dw $3D75 ; L ; +dw $3D76 ; M ; +dw $3D77 ; N ; +dw $3D78 ; O ; +dw $3D79 ; P ; +dw $3D7A ; Q ; +dw $3D7B ; R ; +dw $3D7C ; S ; +dw $3D7D ; T ; +dw $3D7E ; U ; +dw $3D7F ; V ; $98 +dw $3D90 ; W ; +dw $3D91 ; X ; +dw $3D92 ; Y ; +dw $3D93 ; Z ; $9C +dw $0000 ; ; +dw $0000 ; ; +dw $3D9C ; ; $9F +; Lower case letters top ; +dw $3DA0 ; a ; $A0 +dw $3DA1 ; b ; +dw $3DA2 ; c ; +dw $3DA3 ; d ; +dw $3DA4 ; e ; +dw $3DA5 ; f ; +dw $3DA6 ; g ; +dw $3DA7 ; h ; +dw $3DA8 ; i ; +dw $3DA9 ; j ; +dw $3DAA ; k ; +dw $3DAB ; l ; +dw $3DAC ; m ; +dw $3DAD ; n ; +dw $3DAE ; o ; +dw $3DAF ; p ; +dw $3DC0 ; q ; $B0 +dw $3DC1 ; r ; +dw $3DC2 ; s ; +dw $3DC3 ; t ; +dw $3DC4 ; u ; +dw $3DC5 ; v ; +dw $3DC6 ; w ; +dw $3DC7 ; x ; +dw $3DC8 ; y ; +dw $3DC9 ; z ; +dw $0000 ; ; +; Lower case letters bottom; +dw $3DB0 ; a ; +dw $3DB1 ; b ; +dw $3DB2 ; c ; +dw $3DB3 ; d ; +dw $3DB4 ; e ; +dw $3DB5 ; f ; $C0 +dw $3DB6 ; g ; +dw $3DB7 ; h ; +dw $3DB8 ; i ; +dw $3DB9 ; j ; +dw $3DBA ; k ; +dw $3DBB ; l ; +dw $3DBC ; m ; +dw $3DBD ; n ; +dw $3DBE ; o ; +dw $3DBF ; p ; +dw $3DD0 ; q ; +dw $3DD1 ; r ; +dw $3DD2 ; s ; +dw $3DD3 ; t ; +dw $3DD4 ; u ; +dw $3DD5 ; v ; $D0 +dw $3DD6 ; w ; +dw $3DD7 ; x ; +dw $3DD8 ; y ; +dw $3DD9 ; z ; +dw $0000 ; ; +dw $0000 ; ; +dw $0000 ; ; +dw $0000 ; ; +; Special chars top ; +dw $3D2D ; ' ; $D9 +dw $3D2E ; " ; +dw $3D27 ; / ; +dw $3D8D ; . ; +dw $3DCA ; : ; +dw $3DCD ; _ ; +dw $3D28 ; • ; +dw $3D2F ; ... ; $E0 +dw $3DCC ; # ; +dw $3DCB ; @ ; +dw $3D29 ; |> ; +dw $3D86 ; ? ; +dw $3D87 ; ! ; +dw $3D8E ; ~ ; +dw $3D88 ; , ; +dw $3D89 ; - ; +dw $0000 ; ; +dw $0000 ; ; +dw $0000 ; ; +; Special chars bottom ; +dw $3D3D ; ' ; $EC +dw $3D3E ; " ; +dw $3D37 ; / ; +dw $3D9D ; . ; +dw $3DDA ; : ; $F0 +dw $3DDD ; _ ; +dw $3D38 ; • ; +dw $3D3F ; ... ; +dw $3DDC ; # ; +dw $3DDB ; @ ; +dw $3D39 ; |> ; +dw $3D96 ; ? ; +dw $3D97 ; ! ; +dw $3D9E ; ~ ; +dw $3D98 ; , ; +dw $3D99 ; - ; $FB +dw $0000 ; ; +dw $0000 ; ; +dw $0000 ; ; +dw $0000 ; ; diff --git a/stats/fonttable.bin b/stats/fonttable.bin deleted file mode 100755 index 898e370..0000000 --- a/stats/fonttable.bin +++ /dev/null @@ -1 +0,0 @@ -99999999999999999999999999------------------------------)))))))))))))))))))))))))))@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=======P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=p=q=r=s=t=u=v=w=x=y=z={=|=}=~================================ \ No newline at end of file diff --git a/stats/main.asm b/stats/main.asm index ca06a4b..39368f5 100755 --- a/stats/main.asm +++ b/stats/main.asm @@ -5,16 +5,6 @@ lorom !BLT = "BCC" !BGE = "BCS" -org $A38000 -incsrc stats/credits.asm - -FontGfx: -if !FEATURE_NEW_TEXT - incbin stats/font.2bpp -else - incbin stats/font.gb -endif -FontGfxEnd: ; Custom addresses. Most are arbitrary. Feel free to make sure they're okay or moving them elsewhere within ZP CreditsPtr = $7C ; 3 bytes @@ -210,8 +200,8 @@ macro CountUnits(framesPerUnit, unitCounter) ?end: endmacro -!ColonOffset = $83 -!PeriodOffset = $80 +!ColonOffset = $8A +!PeriodOffset = $4D BlankCreditsTile = $883D RenderCreditsStatCounter: @@ -513,79 +503,47 @@ RenderLineNumber: RTS -LoadModifiedFont: - ; Based on CopyFontToVram(Bank00) - ; copies font graphics to VRAM (for BG3) +LoadCreditsTiles: + JSL.l CopyFontToVRAM ; What we wrote over - ; set name base table to vram $4000 (word) - LDA.b #$02 : STA.w OBSEL + REP #$10 + LDA.b #$80 : STA.w VMAIN + LDA.b #$01 : STA.w DMAP0 + LDA.b #$18 : STA.w BBAD0 - ; increment on writes to $2119 - LDA.b #$80 : STA.w VMAIN + ; Item tiles + LDX.w #$8200 : STX.w VMADDL + LDA.b #FileSelectNewGraphics>>16 : STA.w A1B0 + LDX.w #FileSelectNewGraphics : STX.w A1T0L + LDX.w #$0C00 : STX.w DAS0L + LDA.b #$01 : STA.w MDMAEN - ; set bank of the source address (see below) - LDA.b #FontGfx>>16 : STA.b Scrap02 + ; Small characters A-Z + LDX.w #$7F00 : STX.w VMADDL + LDA.b #SmallCharacters>>16 : STA.w A1B0 + LDX.w #SmallCharacters : STX.w A1T0L + LDX.w #$0200 : STX.w DAS0L + LDA.b #$01 : STA.w MDMAEN - REP #$30 + SEP #$10 +RTL - ; vram target address is $7000 (word) - LDA.w #$7000 : STA.w VMADDL +LoadOverworldCreditsTiles: + JSL.l CopyFontToVRAM ; What we wrote over + REP #$10 - ; $00[3] = $0E8000 (offset for the font data) - LDA.w #FontGfx : STA.b Scrap00 + ; Small characters A-Z + LDA.b #$80 : STA.w VMAIN + LDA.b #$01 : STA.w DMAP0 + LDA.b #$18 : STA.w BBAD0 + LDA.b #SmallCharacters>>16 : STA.w A1B0 + LDX.w #SmallCharacters : STX.w A1T0L + LDX.w #$0200 : STX.w DAS0L + LDX.w #$7F00 : STX.w VMADDL + LDA.b #$01 : STA.w MDMAEN - ; going to write 0x1000 bytes (0x800 words) - LDX.w #FontGfxEnd-FontGfx/2-1 - -.nextWord - - ; read a word from the font data - LDA.b [$00] : STA.w VMDATAL - - ; increment source address by 2 - INC.b Scrap00 : INC.b Scrap00 - - DEX : BPL .nextWord - - SEP #$30 - JSL LoadFullItemTilesCredits - - RTL - -LoadFullItemTilesCredits: - ; Based on CopyFontToVram(Bank00) - ; copies font graphics to VRAM (for BG3) - - ; increment on writes to $2119 - LDA.b #$80 : STA.w VMAIN - - ; set bank of the source address (see below) - LDA.b #FileSelectNewGraphics>>16 : STA.b Scrap02 - - REP #$30 - - ; vram target address is $8000 (word) (Wraps to start of VRAM on normal SNES, but using the correct address so it works on extended VRAM machines) - LDA.w #$8000 : STA.w VMADDL - - ; $00[3] = $0E8000 (offset for the font data) - LDA.w #FileSelectNewGraphics : STA.b Scrap00 - - ; going to write 0x1000 bytes (0x800 words) - LDX.w #$800-1 - - .nextWord - - ; read a word from the font data - LDA.b [$00] : STA.w VMDATAL - - ; increment source address by 2 - INC.b Scrap00 : INC.b Scrap00 - - DEX : BPL .nextWord - - SEP #$30 - - RTL + SEP #$10 +RTL CheckFontTable: TAY @@ -620,39 +578,27 @@ DrawEndingItems: LDA.b #$01 : STA.b NMISTRIPES RTS -FontTable: - incbin stats/fonttable.bin - -CreditsStats: -incsrc stats/statConfig.asm -dw $FFFF - -org $0EEDD9 - JSL EndingItems - -org $0EEDAF - JSL NearEnding - -org $0EE651 - JSL LoadModifiedFont - -org $0EE828 - JSL PreparePointer - LDA.b [CreditsPtr],Y - NOP -org $0EE83F - LDA.b [CreditsPtr],Y - NOP -org $0EE853 - LDA.b [CreditsPtr],Y - NOP - AND.w #$00FF - ASL A - JSL CheckFontTable - -org $0EE86D - JSL RenderCreditsStatCounter - JMP.w AfterDeathCounterOutput - -org $8EE8FD - AfterDeathCounterOutput: +;================================================================================ +; Dialog Pointer Override +;-------------------------------------------------------------------------------- +EndingSequenceTableOverride: + PHY + PHX + TYX + LDA.l EndingSequenceText, X + PLX + STA.w $1008, X + PLY +RTL +;-------------------------------------------------------------------------------- +EndingSequenceTableLookupOverride: + PHX : PHB + PHK : PLB + TYX + LDA.l EndingSequenceText, X : AND.w #$00FF + ASL + TAY + LDA.w FontTable,Y + PLB : PLX +RTL +;-------------------------------------------------------------------------------- diff --git a/stats/statConfig.asm b/stats/statConfig.asm index f100159..3ec3db9 100755 --- a/stats/statConfig.asm +++ b/stats/statConfig.asm @@ -46,6 +46,7 @@ macro AddStat(address, type, shiftRight, bits, digits, xPos, lineNumber) dl
endmacro +CreditsStats: %AddStat(SwordTime, 1, 0, 32, 4, !FIRST_SWORD_X, !FIRST_SWORD_Y) %AddStat(BootsTime, 1, 0, 32, 4, !PEGASUS_BOOTS_X, !PEGASUS_BOOTS_Y) %AddStat(FluteTime, 1, 0, 32, 4, !FLUTE_X, !FLUTE_Y) @@ -65,3 +66,5 @@ endmacro %AddStat(LagTime, 1, 0, 32, 4, !TOTAL_LAG_TIME_X, !TOTAL_LAG_TIME_Y) %AddStat(TotalItemCounter, 0, 0, 16, 3, !COLLECTION_RATE_X, !COLLECTION_RATE_Y) %AddStat(NMIFrames, 1, 0, 32, 4, !TOTAL_TIME_X, !TOTAL_TIME_Y) + +dw $FFFF diff --git a/tables.asm b/tables.asm index f903739..b36fee9 100644 --- a/tables.asm +++ b/tables.asm @@ -1129,16 +1129,16 @@ db $62, $EB, $00, $13, $75, $6B, $71, $6E, $9F, $64, $6B, $71, $6F, $61 db $63, $0B, $00, $13, $9B, $91, $97, $94, $9F, $8A, $91, $97, $95, $87 ; finger webs for sale db $62, $66, $00, $27, $1F, $22, $27, $20, $1E, $2B, $9F, $30, $1E, $1B, $2C, $9F, $1F, $28, $2B, $9F, $2C, $1A, $25, $1E -db $62, $E8, $00, $1F, $76, $6B, $6E, $5D, $77, $6F, $9F, $73, $5D, $70, $61, $6E, $62, $5D, $68, $68 -db $63, $08, $00, $1F, $9C, $91, $94, $83, $9D, $95, $9F, $99, $83, $96, $87, $94, $88, $83, $8E, $8E +db $62, $E8, $00, $1F, $76, $6B, $6E, $5D, $D9, $6F, $9F, $73, $5D, $70, $61, $6E, $62, $5D, $68, $68 +db $63, $08, $00, $1F, $9C, $91, $94, $83, $EC, $95, $9F, $99, $83, $96, $87, $94, $88, $83, $8E, $8E ; the witch and assistant db $62, $64, $00, $2D, $2D, $21, $1E, $9F, $30, $22, $2D, $1C, $21, $9F, $1A, $27, $1D, $9F, $1A, $2C, $2C, $22, $2C, $2D, $1A, $27, $2D db $62, $EB, $00, $13, $69, $5D, $63, $65, $5F, $9F, $6F, $64, $6B, $6C db $63, $0B, $00, $13, $8F, $83, $89, $8B, $85, $9F, $95, $8A, $91, $92 ; twin lumberjacks db $62, $68, $00, $1F, $2D, $30, $22, $27, $9F, $25, $2E, $26, $1B, $1E, $2B, $23, $1A, $1C, $24, $2C -db $62, $E9, $00, $1B, $73, $6B, $6B, $60, $6F, $69, $61, $6A, $77, $6F, $9F, $64, $71, $70 -db $63, $09, $00, $1B, $99, $91, $91, $86, $95, $8F, $87, $90, $9D, $95, $9F, $8A, $97, $96 +db $62, $E9, $00, $1B, $73, $6B, $6B, $60, $6F, $69, $61, $6A, $D9, $6F, $9F, $64, $71, $70 +db $63, $09, $00, $1B, $99, $91, $91, $86, $95, $8F, $87, $90, $EC, $95, $9F, $8A, $97, $96 ; ocarina boy plays again db $62, $64, $00, $2D, $28, $1C, $1A, $2B, $22, $27, $1A, $9F, $1B, $28, $32, $9F, $29, $25, $1A, $32, $2C, $9F, $1A, $20, $1A, $22, $27 db $62, $E9, $00, $19, $64, $5D, $71, $6A, $70, $61, $60, $9F, $63, $6E, $6B, $72, $61 @@ -1166,8 +1166,8 @@ db $63, $0B, $00, $13, $8E, $91, $95, $96, $9F, $99, $91, $91, $86, $95 ; master sword db $62, $66, $00, $27, $1A, $27, $1D, $9F, $2D, $21, $1E, $9F, $26, $1A, $2C, $2D, $1E, $2B, $9F, $2C, $30, $28, $2B, $1D db $62, $A8, $00, $1D, $4A, $43, $3C, $3C, $47, $4A, $9F, $38, $3E, $38, $40, $45, $52, $52, $52 -db $62, $EC, $00, $0F, $62, $6B, $6E, $61, $72, $61, $6E, $78 -db $63, $0C, $00, $0F, $88, $91, $94, $87, $98, $87, $94, $9E +db $62, $EC, $00, $0F, $62, $6B, $6E, $61, $72, $61, $6E, $E5 +db $63, $0C, $00, $0F, $88, $91, $94, $87, $98, $87, $94, $F8 ;-------------------------------------------------------------------------------- ; org $8EECC0 ; PC 0x76CC0 poiters for above scenes ; dw $0000, $003C, $006A, $00AC, $00EA, $012A, $015D, $019D, $01D4, $020C, $0249, $0284, $02B7, $02F1, $0329, $0359, $039C diff --git a/textrenderer.asm b/textrenderer.asm index 73d5c5e..0232d27 100644 --- a/textrenderer.asm +++ b/textrenderer.asm @@ -26,9 +26,7 @@ RenderCharSetColorExtended: RenderCharToMapExtended: phx : tya : asl #2 : tax - lda.l FontProperties, x - and.w #$0001 - bne .uncompressed + lda.l FontProperties, x : bit.w #$0001 : bne .uncompressed .compressed plx lda.w #$0000 @@ -104,9 +102,7 @@ RenderCharThinTable: RenderCharExtended: pha asl : asl : tax - lda.l FontProperties, x - and.w #$00ff - bne .renderUncompressed + lda.l FontProperties, x : and.w #$00ff : bne .renderUncompressed .renderOriginal pla : asl : tax : asl : adc.b Scrap0E @@ -209,39 +205,39 @@ FontProperties: dw $0000, $0000 ; 2E dw $0000, $0000 ; 2F - dw $8001, $0400 ; 30 ; a - dw $8001, $0410 ; 31 - dw $8001, $0420 ; 32 - dw $8001, $0430 ; 33 - dw $8001, $0440 ; 34 - dw $8001, $0450 ; 35 - dw $8001, $0460 ; 36 - dw $8001, $0470 ; 37 - dw $8001, $0480 ; 38 - dw $8001, $0490 ; 39 - dw $8001, $04A0 ; 3A - dw $8001, $04B0 ; 3B - dw $8001, $04C0 ; 3C - dw $8001, $04D0 ; 3D - dw $8001, $04E0 ; 3E - dw $8001, $04F0 ; 3F + dw $0000, $0000 ; 30 + dw $0000, $0000 ; 31 + dw $0000, $0000 ; 32 + dw $0000, $0000 ; 33 + dw $0000, $0000 ; 34 + dw $0000, $0000 ; 35 + dw $0000, $0000 ; 36 + dw $0000, $0000 ; 37 + dw $0000, $0000 ; 38 + dw $0000, $0000 ; 39 + dw $0000, $0000 ; 3A + dw $0000, $0000 ; 3B + dw $0000, $0000 ; 3C + dw $0000, $0000 ; 3D + dw $0000, $0000 ; 3E + dw $0000, $0000 ; 3F - dw $8001, $0600 ; 40 - dw $8001, $0610 ; 41 - dw $8001, $0620 ; 42 - dw $8001, $0630 ; 43 - dw $8001, $0640 ; 44 - dw $8001, $0650 ; 45 - dw $8001, $0660 ; 46 - dw $8001, $0670 ; 47 - dw $8001, $0680 ; 48 - dw $8001, $0690 ; 49 ; z - dw $8001, $06F0 ; 4A ; : - dw $8001, $0A90 ; 4B ; @ (thin) - dw $8001, $0AA0 ; 4C ; # (thin) - dw $0000, $0000 ; 4D - dw $0000, $0000 ; 4E - dw $8001, $0EF0 ; 4F ; + dw $0000, $0000 ; 40 + dw $0000, $0000 ; 41 + dw $0000, $0000 ; 42 + dw $0000, $0000 ; 43 + dw $0000, $0000 ; 44 + dw $0000, $0000 ; 45 + dw $0000, $0000 ; 46 + dw $0000, $0000 ; 47 + dw $0000, $0000 ; 48 + dw $0000, $0000 ; 49 + dw $0000, $0000 ; 4A + dw $0000, $0000 ; 4B + dw $0000, $0000 ; 4C + dw $0000, $0000 ; 4D + dw $0000, $0000 ; 4E + dw $8001, $0DF0 ; 4F ; dw $0000, $0000 ; 50 dw $0000, $0000 ; 51 @@ -318,15 +314,15 @@ FontProperties: dw $0000, $0000 ; 94 dw $0000, $0000 ; 95 dw $0000, $0000 ; 96 - dw $0000, $0000 ; 97 - dw $0000, $0000 ; 98 - dw $0000, $0000 ; 99 - dw $0000, $0000 ; 9A - dw $0000, $0000 ; 9B - dw $0000, $0000 ; 9C - dw $0000, $0000 ; 9D - dw $0000, $0000 ; 9E - dw $0000, $0000 ; 9F + dw $8001, $0AD0 ; 97 ; / + dw $8001, $0AE0 ; 98 ; • + dw $8001, $02A0 ; 99 ; Cursor |> + dw $0000, $0000 ; 9A ; smiley lookin JP char + dw $8001, $06A0 ; 9B ; Link face left + dw $8001, $06B0 ; 9C ; Link face right + dw $8001, $06E0 ; 9D ; ' + dw $8001, $0AF0 ; 9E ; " + dw $8001, $02E0 ; 9F ; ellipsis ... dw $8001, $0800 ; A0 ; 0 dw $8001, $0810 ; A1 @@ -374,43 +370,43 @@ FontProperties: dw $8001, $02B0 ; C9 ; - dw $8000, $0000 ; CA dw $8000, $0000 ; CB - dw $8000, $02E0 ; CC ; ... + dw $0000, $0000 ; CC ; Blank char dw $8001, $02C0 ; CD ; . dw $8001, $02F0 ; CE ; ~ - dw $8000, $0000 ; CF + dw $8000, $0000 ; CF ; - dw $0000, $0000 ; D0 - dw $0000, $0000 ; D1 - dw $8001, $06a0 ; D2 ; Link face left - dw $8001, $06b0 ; D3 ; Link face right - dw $0000, $0000 ; D4 - dw $0000, $0000 ; D5 - dw $0000, $0000 ; D6 - dw $0000, $0000 ; D7 - dw $8001, $06E0 ; D8 ; ' - dw $0000, $0000 ; D9 - dw $0000, $0000 ; DA - dw $0000, $0000 ; DB - dw $0000, $0000 ; DC - dw $0000, $0000 ; DD - dw $0000, $0000 ; DE - dw $0000, $0000 ; DF + dw $8001, $0400 ; D0 ; a + dw $8001, $0410 ; D1 + dw $8001, $0420 ; D2 + dw $8001, $0430 ; D3 + dw $8001, $0440 ; D4 + dw $8001, $0450 ; D5 + dw $8001, $0460 ; D6 + dw $8001, $0470 ; D7 + dw $8001, $0480 ; D8 + dw $8001, $0490 ; D9 + dw $8001, $04A0 ; DA + dw $8001, $04B0 ; DB + dw $8001, $04C0 ; DC + dw $8001, $04D0 ; DD + dw $8001, $04E0 ; DE + dw $8001, $04F0 ; DF - dw $0000, $0000 ; E0 - dw $0000, $0000 ; E1 - dw $0000, $0000 ; E2 - dw $0000, $0000 ; E3 - dw $8001, $02A0 ; E4 ; Cursor |> - dw $0000, $0000 ; E5 - dw $0000, $0000 ; E6 - dw $0000, $0000 ; E7 - dw $0000, $0000 ; E8 - dw $0000, $0000 ; E9 - dw $0000, $0000 ; EA - dw $0000, $0000 ; EB - dw $0000, $0000 ; EC - dw $0000, $0000 ; ED - dw $0000, $0000 ; EE + dw $8001, $0600 ; E0 ; q + dw $8001, $0610 ; E1 + dw $8001, $0620 ; E2 + dw $8001, $0630 ; E3 + dw $8001, $0640 ; E4 + dw $8001, $0650 ; E5 + dw $8001, $0660 ; E6 + dw $8001, $0670 ; E7 + dw $8001, $0680 ; E8 + dw $8001, $0690 ; E9 ; z + dw $8001, $0A80 ; EA ; : + dw $8001, $0A90 ; EB ; @ (thin) + dw $8001, $0AA0 ; EC ; # (thin) + dw $8001, $0A00 ; ED ; _ + dw $0000, $0000 ; EE ; dw $0000, $0000 ; EF dw $0000, $0000 ; F0 @@ -428,4 +424,4 @@ FontProperties: dw $0000, $0000 ; FC dw $0000, $0000 ; FD dw $0000, $0000 ; FE - dw $8001, $0EF0 ; FF ; + dw $8001, $0DF0 ; FF ; diff --git a/utilities.asm b/utilities.asm index 63c11bf..b795183 100644 --- a/utilities.asm +++ b/utilities.asm @@ -383,7 +383,7 @@ LoadItemPalette: RTL TransferVRAMStripes: - JSL.l TransferNumericStripes + JSL.l TransferNewNameStripes JSL.l DoDungeonMapBossIcon LDA.b NMISTRIPES : CMP.b #$01 ; What we wrote over RTL diff --git a/vanillalabels.asm b/vanillalabels.asm index 7bddce4..c2d4538 100644 --- a/vanillalabels.asm +++ b/vanillalabels.asm @@ -26,6 +26,7 @@ GetAnimatedSpriteTile_variable = $80D52D Attract_DecompressStoryGfx = $80D84E InitializeTilesets = $80E1DB LoadSelectScreenGfx = $80E529 +CopyFontToVRAM = $80E596 PrepDungeonExit = $80F945 Mirror_InitHdmaSettings = $80FDEE Dungeon_LoadRoom = $81873A @@ -62,6 +63,7 @@ OAM_AllocateDeferToPlayerLong = $86F86A Player_HaltDashAttackLong = $8791B3 Link_ReceiveItem = $87999D Sprite_CheckIfPlayerPreoccupied = $87F4AA +Sprite_AttemptDamageToPlayerPlusRecoilLong = $886F42 Ancilla_Main = $888242 Ancilla_ReceiveItem = $88C3AE Ancilla_BreakTowerSeal_draw_single_crystal = $88CE93 @@ -106,6 +108,7 @@ HUD_RebuildIndoor_Palace = $8DFA88 HUD_RebuildLong2 = $8DFA88 RebuildHUD_update = $8DFAA5 Messaging_Text = $8EEE10 +AfterDeathCounterOutput = $8E8FD Overworld_TileAttr = $8FFD94 Overworld_DrawPersistentMap16 = $9BC97C Palette_Sword = $9BED03 @@ -128,6 +131,7 @@ Sprite_PlayerCantPassThrough = $9EF4E7 ; Local routines (use JSR) ;=================================================================================================== LoadBackgroundGraphics = $80E649 +LoadBackgroundGraphics_arbitrary = $80E64D RoomTag_PrizeTriggerDoor_open = $81C529 RoomTag_PrizeTriggerDoor_exit = $81C529 RoomTag_GetHeartForPrize = $81C709 @@ -152,6 +156,8 @@ ItemMenu_DrawEquippedYItem = $8DEB3A ItemMenu_DrawEquippedYItem_exit = $8DECE6 ItemMenu_DrawEquipment_dungeonitems = $8DEDCC DrawEquipment = $8DED29 +UpdateHUDBuffer_update_item_check_arrows = $8DFB41 +RenderText_DecompressAndDrawSingle = $8EF4FB DecompressFontGFX = $8EF572 CopyDecompressedCharToTransferBuffer = $8EF5BC CopyDecompressedToFullBuffer = $8EF6A8 @@ -175,3 +181,4 @@ WorldMapIcon_AdjustCoordinate = $8AC59B WorldMap_CalculateOAMCoordinates = $8AC3B1 WorldMap_HandleSpriteBlink = $8AC52E WorldMap_RedXChars = $8ABF70 +TextCharMasks = $8EB844