From d054dbbfc817d232c5e7c80981153cec991642e0 Mon Sep 17 00:00:00 2001 From: Karkat Date: Mon, 9 Jul 2018 02:24:24 -0400 Subject: [PATCH] let's dev july 8 2018 not a lot --- LTTP_RND_GeneralBugfixes.asm | 8 ++++- fileselect.asm | 63 ++++++++++++++++++++++++++++++++++++ hooks.asm | 19 +++++++++++ previewdatacopy.asm | 2 +- 4 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 fileselect.asm diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 6d13ed9..f2345e1 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF db #$00 ; expand file to 2mb org $1FFFF8 ; <- FFFF8 timestamp rom -db #$20, #$18, #$06, #$13 ; year/month/day +db #$20, #$18, #$08, #$08 ; year/month/day ;================================================================================ @@ -164,6 +164,7 @@ incsrc compression.asm incsrc retro.asm incsrc dpadinvert.asm incsrc boots.asm +incsrc fileselect.asm warnpc $A58000 ;org $228000 ; contrib area @@ -269,6 +270,11 @@ warnpc $B08000 ;$3F reserved for internal debugging ;$7F5700 - $7F57FF reserved for downstream use ;================================================================================ +;SRAM Map +;$70:0000 ( 4K) Game state +;$70:1000 (20K) Log entries +;$70:6000 ( 8K) Scratch buffers +;================================================================================ ;org $0080DC ; <- 0xDC - Bank00.asm:179 - Kill Music ;db #$A9, #$00, #$EA ;LDA.b #$00 : NOP diff --git a/fileselect.asm b/fileselect.asm new file mode 100644 index 0000000..25c501f --- /dev/null +++ b/fileselect.asm @@ -0,0 +1,63 @@ +;DrawPlayerFile: +; PHX : PHY +; +; ; draw bow +; LDA.w #$21DA : STA $1070 +; LDA.w #$21DB : STA $1072 +; LDA.w #$21EA : STA $10A2 +; LDA.w #$21EB : STA $10A4 +; +; ; draw bow +; LDA.w #$21DA : STA $1070 +; LDA.w #$21DB : STA $1072 +; LDA.w #$21EA : STA $10A2 +; LDA.w #$21EB : STA $10A4 +; +; PLY : PLX +; LDA.w #$0004 : STA $02 ; thing we wrote over +;RTL +AltBufferTable: + + REP #$20 + LDX.w #500 ; 10 rows with 50 bytes (23 tiles * 2 + 4 byte header) + ;fill with the blank character + LDA.w #$0188 + - + STA $1000, X + DEX : DEX : BNE - + + ; set vram offsets + LDA.w #$2861 : STA $1002 ;file 1 top row + + LDA.w #$4861 : STA $1034 ;file 1 bottom row + + LDA.w #$6861 : STA $1066 ;gap row top + LDA.w #$8861 : STA $1098 ;gap row bottom + + LDA.w #$A861 : STA $10CA ;file 2 top row + LDA.w #$C861 : STA $10FC ;file 2 bottom row + + LDA.w #$E861 : STA $112E ;gap row top + LDA.w #$0862 : STA $1160 ;gap row bottom + + LDA.w #$2862 : STA $1192 ;file 3 top row + LDA.w #$4862 : STA $11c4 ;file 3 bottom row + + ; set lengths + LDA.w #$2d00 + STA $1004 ;file 1 top row + STA $1036 ;file 1 bottom row + STA $1068 ;gap row top + STA $109A ;gap row bottom + STA $10CC ;file 2 top row + STA $10FE ;file 2 bottom row + STA $1130 ;gap row top + STA $1162 ;gap row bottom + STA $1194 ;file 3 top row + STA $11c6 ;file 3 bottom row + + ; Set last packet marker + LDA.w #$00FF : STA $11f6 + SEP #$20 + +RTL \ No newline at end of file diff --git a/hooks.asm b/hooks.asm index fe3e4eb..88187ea 100644 --- a/hooks.asm +++ b/hooks.asm @@ -72,6 +72,25 @@ org $09F60B ; <- 4F60B - module_death.asm : 530 (LDA.b #$10 : STA $1C) JSL.l OnQuit ;-------------------------------------------------------------------------------- +;================================================================================ +; Title Screen +;-------------------------------------------------------------------------------- +org $0CCE41 ; <- 64E41 - Bank0C.asm : 1907 (DEC $C8 : BPL .done) +LDA $C8 : EOR.b #$04 : STA $C8 : NOP #2 ; set cursor to only select first file and erase +org $0CCE50 ; <- 64E50 - Bank0C.asm : 1918 (INC $C8) +LDA $C8 : EOR.b #$04 : STA $C8 : NOP #4 ; set cursor to only select first file and erase +org $0CCE0F ; < 64E0F - Bank0C.asm : 1880 (LDX $00 : INX #2 : CPX.w #$0006 : BCC .nextFile) +NOP #9 ; don't draw the other two save files +;-------------------------------------------------------------------------------- +;org $0CD527 ; <- 65527 : Bank0C.asm : 2913 (LDA.w #$0004 : STA $02) [LDA.w #$0006 : STA $02] +;JSL.l DrawPlayerFile : NOP ; hijack hearts draw routine to draw a full inventory + +org $0ccdd5 ; Bank0C.asm:1881 (LDX.w #$00FD) +JSL.l AltBufferTable : NOP #8 ; Selection screen +org $0cd393 ; Bank0c.asm:2674 (LDX.w #$00FD) +JSL.l AltBufferTable : NOP #8 ; Delete screen +;-------------------------------------------------------------------------------- + ;================================================================================ ; Duck Map Load Hook ;-------------------------------------------------------------------------------- diff --git a/previewdatacopy.asm b/previewdatacopy.asm index ca0da9b..8bee1d7 100644 --- a/previewdatacopy.asm +++ b/previewdatacopy.asm @@ -30,7 +30,7 @@ WriteStatusPreview: LDA #$70 : STA $4304 LDA #$80 : STA $4305 ; set transfer size to 0x180 - LDA #$01 : STA $4306 ; STZ $4306 + LDA #$01 : STA $4306 ; STZ $4307 LDA #$01 : STA $420B ; begin DMA transfer ;--------------------------------------------------------------------------------