2018-04-02 19:43:11 +00:00
|
|
|
;license:MIT
|
|
|
|
;(c) 2018 by 4am
|
|
|
|
;
|
|
|
|
; User interface - functions to load and display double hi-res artwork
|
|
|
|
;
|
|
|
|
; Public functions
|
|
|
|
; - DisplayArtwork
|
|
|
|
;
|
2018-04-17 20:25:38 +00:00
|
|
|
|
2018-04-02 19:43:11 +00:00
|
|
|
kArtworkRootDirectory ; length-prefixed pathname of DHGR graphic files
|
|
|
|
!byte 8
|
|
|
|
!raw "ARTWORK/"
|
|
|
|
|
2018-06-20 02:41:48 +00:00
|
|
|
kArtworkGSRootDirectory ; length-prefixed pathname of SHGR graphic files
|
|
|
|
!byte 10
|
|
|
|
!raw "ARTWORKGS/"
|
|
|
|
|
2018-04-02 19:43:11 +00:00
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
; DisplayArtwork
|
|
|
|
; load and display double hi-res artwork, then wait for key or mouse click
|
|
|
|
;
|
|
|
|
; in: WeeGUI initialized
|
|
|
|
; out: all registers and flags clobbered
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
DisplayArtwork
|
2019-01-11 22:32:49 +00:00
|
|
|
WeCanHazSHR
|
|
|
|
ldx #0 ; SMC
|
2021-01-21 06:36:23 +00:00
|
|
|
- jsr ResetPath
|
2018-04-02 19:43:11 +00:00
|
|
|
+LDADDR kArtworkRootDirectory
|
2018-06-20 02:41:48 +00:00
|
|
|
dex
|
|
|
|
bne +
|
2019-01-12 18:49:47 +00:00
|
|
|
lda $C029
|
|
|
|
ora #$40
|
|
|
|
sta $C029 ; set GS NEWVIDEO mode to turn off linearize
|
2018-06-20 02:41:48 +00:00
|
|
|
+LDADDR kArtworkGSRootDirectory
|
|
|
|
+ phx
|
2018-04-02 19:43:11 +00:00
|
|
|
jsr AddToPath
|
|
|
|
|
|
|
|
jsr okvs_get
|
|
|
|
!word gGlobalPrefsStore
|
|
|
|
!word kLastPlayed
|
2018-06-20 02:41:48 +00:00
|
|
|
jsr AddToPath ; gPathname = 'ARTWORK[GS]/<game shortname>'
|
|
|
|
plx
|
|
|
|
phx
|
|
|
|
beq @loadSHR
|
2018-04-02 19:43:11 +00:00
|
|
|
|
2018-04-19 02:01:24 +00:00
|
|
|
jsr LoadDHRFile ; load artwork from file
|
2018-04-02 19:43:11 +00:00
|
|
|
!word gPathname
|
|
|
|
!word kProDOSFileBuffer
|
2018-06-20 02:41:48 +00:00
|
|
|
plx
|
2018-04-19 02:01:24 +00:00
|
|
|
bcc +
|
2021-01-21 06:36:23 +00:00
|
|
|
jmp SoftBell
|
2018-04-19 02:01:24 +00:00
|
|
|
+ sta $C000 ; display double hi-res page 1
|
2018-04-02 19:43:11 +00:00
|
|
|
sta $C00D
|
|
|
|
sta $C05E
|
|
|
|
sta $C001
|
|
|
|
sta $C057
|
|
|
|
sta $C052
|
|
|
|
sta $C054
|
|
|
|
sta $C050
|
2018-06-20 02:41:48 +00:00
|
|
|
bcc @waitKey
|
|
|
|
|
|
|
|
@loadSHR
|
|
|
|
jsr LoadSHRFile ; load artwork from file
|
|
|
|
!word gPathname
|
|
|
|
!word kProDOSFileBuffer
|
|
|
|
plx
|
2021-01-21 06:36:23 +00:00
|
|
|
bcc +
|
|
|
|
ldx #0
|
|
|
|
bra -
|
|
|
|
+ lda $C029
|
2019-01-11 22:32:49 +00:00
|
|
|
ora #$81
|
2018-06-20 02:41:48 +00:00
|
|
|
sta $C029 ; set GS NEWVIDEO mode to turn on SHR mode
|
2018-04-11 19:12:36 +00:00
|
|
|
|
2018-07-06 22:29:15 +00:00
|
|
|
@waitKey
|
|
|
|
phx
|
2018-04-17 20:16:45 +00:00
|
|
|
jsr ClearPendingInput
|
2018-07-06 22:29:15 +00:00
|
|
|
- jsr AnyKeyOrClick
|
|
|
|
bcc -
|
|
|
|
sta $C051 ; back to text
|
2019-07-21 05:38:15 +00:00
|
|
|
sta $C056 ; turn off hires
|
2018-06-20 02:41:48 +00:00
|
|
|
plx
|
|
|
|
bne +
|
|
|
|
lda $C029
|
2019-01-11 22:32:49 +00:00
|
|
|
and #$7F
|
2018-06-20 02:41:48 +00:00
|
|
|
sta $C029 ; back to text GS-style
|
|
|
|
+ jmp ClearPendingInput
|