From 5728f3d8456bfd564b4e1c731109d85723ecfff9 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Tue, 3 Dec 2019 10:02:39 -0800 Subject: [PATCH] move some things --- src/4cade.a | 6 +----- src/constants.a | 6 +++--- src/glue.prorwts2.lc2.a | 13 ++++++------- src/ui.common.a | 8 ++++---- src/ui.offscreen.a | 1 + 5 files changed, 15 insertions(+), 19 deletions(-) diff --git a/src/4cade.a b/src/4cade.a index eed22b3e8..c431bc40e 100644 --- a/src/4cade.a +++ b/src/4cade.a @@ -76,15 +76,11 @@ RestoreStackNextTime STACKPTR ldx #$D1 ; SMC, restore stack pointer txs -SwitchToBank1 - +READ_RAM1_WRITE_RAM1 - rts ; and return to caller + jmp SwitchToBank1 ; switch to bank 1 and return to caller ResetVector ; 6 bytes, copied to $100 +READ_RAM1_NO_WRITE jmp Reenter -Ignore rti ; discard IRQs, particular on the IIc - ; these routines will only be called after relocating to language card !source "src/ui.search.mode.a" ; \__ execution falls through !source "src/ui.animation.a" ; / diff --git a/src/constants.a b/src/constants.a index 46a5b3568..bcbf00a67 100644 --- a/src/constants.a +++ b/src/constants.a @@ -9,14 +9,14 @@ ; D000..E635 - persistent data structures (per-game cheat categories, ; gGlobalPrefsStore, gGamesListStore) ; ...unused... -; ECF3..FFF9 - main program code +; ECF2..FFF9 - main program code ; FFFA..FFFF - NMI, reset, IRQ vectors ; ; LC RAM BANK 2 ; D000..D3FF - ProRWTS data ; D400..D66F - ProRWTS code -; D670..DB6B - HGR font code & ProRWTS glue code -; DB6B..DB79 - backup of stack (during gameplay and self-running demos) +; D670..DB5F - HGR font code & ProRWTS glue code +; DB60..DB6E - backup of stack (during gameplay and self-running demos) ; ...unused... ; DBB2..DBFF - (de)acceleration function ; DC00..DFFF - HGR font data diff --git a/src/glue.prorwts2.lc2.a b/src/glue.prorwts2.lc2.a index 76455e2a8..20d631f94 100644 --- a/src/glue.prorwts2.lc2.a +++ b/src/glue.prorwts2.lc2.a @@ -54,16 +54,15 @@ SaveSmallFileInternal +LDADDR gPathname +STAY namlo ; set filename for ProRWTS2 jsr traverse ; go to subdirectory, set up filename for read - ;;if the write address is always a fixed value then we can discard the query - lda #cmdread ; read (instead of write) - sta reqcmd + ;lda #cmdread ; read (instead of write) + ;sta reqcmd lda #0 ; 0 = read into main memory sta sizelo - sta sizehi ; 0 = query load address - jsr hddopendir ; call ProRWTS2 - lda ldrlo2 + ;sta sizehi ; 0 = query load address + ;jsr hddopendir ; call ProRWTS2 + ;lda ldrlo2 sta ldrlo - lda ldrhi2 + lda #$80 ;lda ldrhi2 sta ldrhi lda #cmdwrite ; write (instead of read) sta reqcmd diff --git a/src/ui.common.a b/src/ui.common.a index 3847aca14..135161050 100644 --- a/src/ui.common.a +++ b/src/ui.common.a @@ -57,7 +57,7 @@ Home sta CLOCKCTL ; black border sta CLOCKCTL ; set twice for VidHD @noSHR - ldx #(@end-@start-1) + ldx #(.end-@start-1) - lda @start,x sta $106,x dex @@ -70,12 +70,12 @@ Home sta DHIRESOFF ; get out of DHGR mode jsr $FB3C ;ROM_TEXTish ; clear screen but don't show it jsr ROM_HOME ; HOME - lda $C056 lda PAGE1 lda $C051 ; now show it +SwitchToBank1 +READ_RAM1_WRITE_RAM1 - rts -@end + rts ; and return to caller +.end ;------------------------------------------------------------------------------ ; BlankDHGR diff --git a/src/ui.offscreen.a b/src/ui.offscreen.a index 9de73883b..3e58df17a 100644 --- a/src/ui.offscreen.a +++ b/src/ui.offscreen.a @@ -28,6 +28,7 @@ ; preserves X/Y ;------------------------------------------------------------------------------ GetOffscreenAddress +Ignore = * + 1 ; discard IRQs, particularly on the IIc lda #$40 OffscreenPage = * + 1 bne + ; SMC