mirror of
https://github.com/a2-4am/4cade.git
synced 2025-01-19 17:31:07 +00:00
Merge branch 'master' of https://github.com/a2-4am/4cade
This commit is contained in:
commit
c714a75f7d
@ -105,7 +105,6 @@ LastMover
|
||||
!pseudopc $D600 {
|
||||
!source "src/ui.font.data.a"
|
||||
!source "src/prodos.impl.a"
|
||||
!warn *
|
||||
!if * > $DEFF {
|
||||
!error "code is too large: ends at ", *
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
; D000..E4E9 - persistent data structures (gGlobalPrefsStore, gGamesListStore)
|
||||
; ...end of data and start of code are approximate, in between is unused...
|
||||
; ...if they ever overlap, things will go boom...
|
||||
; EA09..FFF9 - main program code
|
||||
; EA72..FFF9 - main program code
|
||||
; FFFA..FFFF - NMI, reset, IRQ vectors
|
||||
;
|
||||
; LC RAM BANK 2
|
||||
|
@ -172,6 +172,7 @@ gCurrentlyVisibleSlideshowIndex
|
||||
|
||||
Launch
|
||||
+READ_RAM2_WRITE_RAM2
|
||||
jsr SaveOrRestoreScreenHoles ; save screen hole contents
|
||||
ldx #1
|
||||
- lda $100,x
|
||||
sta $DF00,x ; back up stack
|
||||
|
@ -164,41 +164,3 @@ SaveSmallFile
|
||||
jsr hddopendir ; exit via ProRWTS2 (must re-open the file after query)
|
||||
+READ_RAM1_WRITE_RAM1
|
||||
rts
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; SaveOrRestoreScreenHoles
|
||||
; preserve screen hole contents across demo execution
|
||||
; to avoid crashing later on disk access
|
||||
;
|
||||
; in: nothing
|
||||
; out: all flags clobbered
|
||||
; all registers clobbered
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
SaveOrRestoreScreenHoles
|
||||
lda #4
|
||||
sta namhi
|
||||
ldx #0
|
||||
stx namlo
|
||||
sta bloklo
|
||||
-- ldy #$78
|
||||
- lda (namlo),y
|
||||
pha
|
||||
lda holey_stuff,x
|
||||
holepatch ;sta->lda
|
||||
lda (namlo),y
|
||||
pla
|
||||
sta holey_stuff,x
|
||||
inx
|
||||
tya
|
||||
eor #$80
|
||||
tay
|
||||
bmi -
|
||||
iny
|
||||
bpl -
|
||||
inc namhi
|
||||
dec bloklo
|
||||
bne --
|
||||
rts
|
||||
holey_stuff
|
||||
!fill 64
|
||||
|
@ -4,7 +4,6 @@
|
||||
; Pseudo-ProDOS environment
|
||||
;
|
||||
|
||||
!pseudopc $DA00 {
|
||||
;------------------------------------------------------------------------------
|
||||
; ProDOS_enter
|
||||
; intercept certain ProDOS requests
|
||||
@ -547,4 +546,41 @@ ProDOS_prefix=$bfd0
|
||||
}
|
||||
end_promote
|
||||
|
||||
}
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; SaveOrRestoreScreenHoles
|
||||
; preserve screen hole contents across demo execution
|
||||
; to avoid crashing later on disk access
|
||||
;
|
||||
; in: nothing
|
||||
; out: all flags clobbered
|
||||
; all registers clobbered
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
SaveOrRestoreScreenHoles
|
||||
lda #4
|
||||
sta namhi
|
||||
ldx #0
|
||||
stx namlo
|
||||
sta bloklo
|
||||
-- ldy #$78
|
||||
- lda (namlo),y
|
||||
pha
|
||||
lda holey_stuff,x
|
||||
holepatch ;sta->lda
|
||||
lda (namlo),y
|
||||
pla
|
||||
sta holey_stuff,x
|
||||
inx
|
||||
tya
|
||||
eor #$80
|
||||
tay
|
||||
bmi -
|
||||
iny
|
||||
bpl -
|
||||
inc namhi
|
||||
dec bloklo
|
||||
bne --
|
||||
rts
|
||||
holey_stuff
|
||||
!fill 64
|
||||
|
@ -199,8 +199,6 @@ RunAttractModule
|
||||
@key !word $FDFD
|
||||
!word 0
|
||||
|
||||
jsr SaveOrRestoreScreenHoles ; save screen hole contents
|
||||
|
||||
jmp Launch ; will return to caller via |Reenter|
|
||||
|
||||
; not a demo, so maybe a slideshow or single screenshot
|
||||
|
Loading…
x
Reference in New Issue
Block a user