Fix Menu System issues: Journal tilemap, Ocarina selector, and input regression

- Fixed: Journal tilemap not updating by ensuring 5 (Palette/Refresh) flag is set in Menu_Journal and other submenus.
- Fixed: Ocarina menu not clearing main menu selector by realigning Menu_ItemCursorPositions to match Menu_AddressIndex, resolving a data mismatch.
- Fixed: Input entirely breaking in the menu (regression from previous commit) by reverting bash116 update flag from 3 back to 2, which seems to prevent VBlank timing issues.
- Updated Docs/GEMINI.md with recent debugging insights covering processor status mismatch, input polling, VRAM update flags, data table mismatches, and custom NMI handlers.
This commit is contained in:
scawful
2025-11-22 17:50:29 -05:00
parent 2b504d987f
commit 3ceab24c7c
4 changed files with 81 additions and 32 deletions

View File

@@ -7,20 +7,32 @@
Journal_Handler:
{
PHB : PHK : PLB
; Check for L button press
LDA.b $F6 : BIT.b #$20 : BEQ .check_right
; Check timer
LDA.w $0207 : BEQ .process_input
DEC.w $0207
JMP .exit
.process_input
; Check for L button press (using F2 for continuous poll with timer)
LDA.b $F2 : BIT.b #$20 : BEQ .check_right
REP #$30
JSR Journal_PrevPage
JSL Menu_DrawJournal
BRA .draw_page
SEP #$30
LDA.b #$0A : STA.w $0207 ; Set delay
JMP .exit
.check_right
; Check for R button press
LDA.b $F6 : BIT.b #$10 : BEQ .draw_page
LDA.b $F2 : BIT.b #$10 : BEQ .exit
REP #$30
JSR Journal_NextPage
JSL Menu_DrawJournal
.draw_page
SEP #$30
LDA.b #$0A : STA.w $0207 ; Set delay
.exit
SEP #$30
PLB
RTL
@@ -250,6 +262,7 @@ Entry_MakuTree:
Menu_DrawJournal:
{
PHB : PHK : PLB
REP #$30
; Logic to choose background based on page number?
; For now just cycle them 1-2-3-1-2-3