mirror of https://github.com/a2-4am/4cade.git
add mega-attract filters and hotkey for SHR-only slideshow
This commit is contained in:
parent
7a59ebb830
commit
21547db0f7
11
src/4cade.a
11
src/4cade.a
|
@ -123,6 +123,17 @@ ResetVector ; 6 bytes, copied to $100
|
||||||
; add new files above here
|
; add new files above here
|
||||||
!source "src/hw.vbl.a"
|
!source "src/hw.vbl.a"
|
||||||
!source "src/ui.wait.a"
|
!source "src/ui.wait.a"
|
||||||
|
|
||||||
|
gMegaAttractModeFilter ; module types to include in mega-attract mode
|
||||||
|
!byte %11111111
|
||||||
|
; |||||||+- bit 0 include self-running demos
|
||||||
|
; ||||||+-- bit 1 include HGR title slideshows
|
||||||
|
; |||||+--- bit 2 include HGR action slideshows
|
||||||
|
; ||||+---- bit 3 include DHGR title slideshows
|
||||||
|
; |||+----- bit 4 include DHGR action slideshows
|
||||||
|
; ||+------ bit 5 include SHR box art slideshows
|
||||||
|
; |+------- bit 6 include GR action slideshows
|
||||||
|
; +-------- bit 7 include DGR action slideshows
|
||||||
gSearchStore
|
gSearchStore
|
||||||
!word $6000
|
!word $6000
|
||||||
gSlideshowStore
|
gSlideshowStore
|
||||||
|
|
|
@ -199,6 +199,16 @@ HAS_VIDHD = %00010000
|
||||||
SUPPORTS_SHR = %00110000
|
SUPPORTS_SHR = %00110000
|
||||||
CHEATS_ENABLED = %00001000
|
CHEATS_ENABLED = %00001000
|
||||||
|
|
||||||
|
; AND masks for gMegaAttractModeFilter
|
||||||
|
ATTRACT_DEMO = %00000001
|
||||||
|
ATTRACT_HGR_TITLE = %00000010
|
||||||
|
ATTRACT_HGR_ACTION = %00000100
|
||||||
|
ATTRACT_DHGR_TITLE = %00001000
|
||||||
|
ATTRACT_DHGR_ACTION = %00010000
|
||||||
|
ATTRACT_SHR = %00100000
|
||||||
|
ATTRACT_GR = %01000000
|
||||||
|
ATTRACT_DGR = %10000000
|
||||||
|
|
||||||
PRELAUNCH_STANDARD_SIZE = 61 ; LoadStandardPrelaunch, eventually to be determined at build-time
|
PRELAUNCH_STANDARD_SIZE = 61 ; LoadStandardPrelaunch, eventually to be determined at build-time
|
||||||
|
|
||||||
; shared symbols for prelaunch and effects to call ProRWTS2 functions
|
; shared symbols for prelaunch and effects to call ProRWTS2 functions
|
||||||
|
|
|
@ -8,6 +8,16 @@
|
||||||
; - MiniAttractMode
|
; - MiniAttractMode
|
||||||
; - RunAttractModule
|
; - RunAttractModule
|
||||||
|
|
||||||
|
kAttractModeFilters
|
||||||
|
!byte ATTRACT_DEMO
|
||||||
|
!byte ATTRACT_HGR_TITLE
|
||||||
|
!byte ATTRACT_HGR_ACTION
|
||||||
|
!byte ATTRACT_DHGR_TITLE
|
||||||
|
!byte ATTRACT_DHGR_ACTION
|
||||||
|
!byte ATTRACT_SHR
|
||||||
|
!byte ATTRACT_GR
|
||||||
|
!byte ATTRACT_DGR
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
; MegaAttractMode
|
; MegaAttractMode
|
||||||
; main entry point for Mega Attract Mode, which endlessly cycles through
|
; main entry point for Mega Attract Mode, which endlessly cycles through
|
||||||
|
@ -47,6 +57,16 @@ MegaAttractMode
|
||||||
ldy #1
|
ldy #1
|
||||||
lda (PTR),y
|
lda (PTR),y
|
||||||
tax ; X = module type
|
tax ; X = module type
|
||||||
|
and #$F0
|
||||||
|
cmp #$30
|
||||||
|
bne +
|
||||||
|
txa
|
||||||
|
and #$0F
|
||||||
|
tay
|
||||||
|
lda gMegaAttractModeFilter ; do we want to display this module type
|
||||||
|
and kAttractModeFilters, y
|
||||||
|
beq MegaAttractMode
|
||||||
|
+
|
||||||
+LD16 @mname ; A/Y = address of module name
|
+LD16 @mname ; A/Y = address of module name
|
||||||
jsr RunAttractModule
|
jsr RunAttractModule
|
||||||
lda KBD
|
lda KBD
|
||||||
|
|
|
@ -8,6 +8,15 @@
|
||||||
; - SHRSingle
|
; - SHRSingle
|
||||||
;
|
;
|
||||||
|
|
||||||
|
AllSHRSlideshow
|
||||||
|
clc
|
||||||
|
lda MachineStatus ; only show SHR on IIgs or if we have a VidHD card
|
||||||
|
and #SUPPORTS_SHR
|
||||||
|
beq SHRRTS
|
||||||
|
lda #ATTRACT_SHR
|
||||||
|
sta gMegaAttractModeFilter
|
||||||
|
jmp MegaAttractMode
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
; SHRSlideshow
|
; SHRSlideshow
|
||||||
; execute a slideshow of super hi-res artwork
|
; execute a slideshow of super hi-res artwork
|
||||||
|
|
|
@ -21,6 +21,7 @@ kInputCheat = 8
|
||||||
kInputError = 9
|
kInputError = 9
|
||||||
kInputJoystick = 10
|
kInputJoystick = 10
|
||||||
kInputQuit = 11
|
kInputQuit = 11
|
||||||
|
kInputSHR = 12
|
||||||
|
|
||||||
InputDispatchTableLo
|
InputDispatchTableLo
|
||||||
!byte <OnSearch
|
!byte <OnSearch
|
||||||
|
@ -35,6 +36,7 @@ InputDispatchTableLo
|
||||||
!byte <OnError
|
!byte <OnError
|
||||||
!byte <Joystick
|
!byte <Joystick
|
||||||
!byte <OnQuit
|
!byte <OnQuit
|
||||||
|
!byte <AllSHRSlideshow
|
||||||
InputDispatchTableHi
|
InputDispatchTableHi
|
||||||
!byte >OnSearch
|
!byte >OnSearch
|
||||||
!byte >OnClear
|
!byte >OnClear
|
||||||
|
@ -48,8 +50,9 @@ InputDispatchTableHi
|
||||||
!byte >OnError
|
!byte >OnError
|
||||||
!byte >Joystick
|
!byte >Joystick
|
||||||
!byte >OnQuit
|
!byte >OnQuit
|
||||||
|
!byte >AllSHRSlideshow
|
||||||
|
|
||||||
kNumInputKeys = 12
|
kNumInputKeys = 13
|
||||||
; number of entries in next 2 tables (each)
|
; number of entries in next 2 tables (each)
|
||||||
InputKeys
|
InputKeys
|
||||||
!byte $83 ; Ctrl-C = toggle cheat mode
|
!byte $83 ; Ctrl-C = toggle cheat mode
|
||||||
|
@ -66,6 +69,7 @@ InputKeys
|
||||||
; or switch to mega attract mode
|
; or switch to mega attract mode
|
||||||
!byte $90 ; Ctrl-P = launch joystick calibration program
|
!byte $90 ; Ctrl-P = launch joystick calibration program
|
||||||
!byte $91 ; Ctrl-Q = quit
|
!byte $91 ; Ctrl-Q = quit
|
||||||
|
!byte $80 ; Ctrl-@ = SHR-only slideshow
|
||||||
InputKeyDispatch
|
InputKeyDispatch
|
||||||
!byte kInputCheat
|
!byte kInputCheat
|
||||||
!byte kInputCredits
|
!byte kInputCredits
|
||||||
|
@ -79,6 +83,7 @@ InputKeyDispatch
|
||||||
!byte kInputClear
|
!byte kInputClear
|
||||||
!byte kInputJoystick
|
!byte kInputJoystick
|
||||||
!byte kInputQuit
|
!byte kInputQuit
|
||||||
|
!byte kInputSHR
|
||||||
|
|
||||||
.noKeyMatch
|
.noKeyMatch
|
||||||
jsr IsSearchKey
|
jsr IsSearchKey
|
||||||
|
@ -112,6 +117,7 @@ SearchMode
|
||||||
txs
|
txs
|
||||||
stx gGameToLaunch ; $FFFF = no game selected
|
stx gGameToLaunch ; $FFFF = no game selected
|
||||||
stx gGameToLaunch+1
|
stx gGameToLaunch+1
|
||||||
|
stx gMegaAttractModeFilter ; $FF = all module types
|
||||||
jsr ReloadSearchIndex
|
jsr ReloadSearchIndex
|
||||||
jsr Home ; clear screen (switches to text mode)
|
jsr Home ; clear screen (switches to text mode)
|
||||||
stx OffscreenPage ; don't show text page 2 by accident
|
stx OffscreenPage ; don't show text page 2 by accident
|
||||||
|
|
Loading…
Reference in New Issue