mirror of
https://github.com/a2-4am/4cade.git
synced 2024-12-24 07:29:26 +00:00
add credits page
This commit is contained in:
parent
6d4ba20fc2
commit
3a19f4b901
2
Makefile
2
Makefile
@ -84,6 +84,7 @@ dsk: md asm
|
|||||||
cp res/_FileInformation.txt build/ >>build/log
|
cp res/_FileInformation.txt build/ >>build/log
|
||||||
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "build/LAUNCHER.SYSTEM" >>build/log
|
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "build/LAUNCHER.SYSTEM" >>build/log
|
||||||
cp res/prefs.conf build/PREFS.CONF >>build/log
|
cp res/prefs.conf build/PREFS.CONF >>build/log
|
||||||
|
cp res/credits.txt build/CREDITS >>build/log
|
||||||
bin/padto 512 build/PREFS.CONF
|
bin/padto 512 build/PREFS.CONF
|
||||||
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/TITLE" >>build/log
|
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/TITLE" >>build/log
|
||||||
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/COVER" >>build/log
|
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/COVER" >>build/log
|
||||||
@ -92,6 +93,7 @@ dsk: md asm
|
|||||||
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/ATTRACT.CONF" >>build/log
|
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/ATTRACT.CONF" >>build/log
|
||||||
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/FX.CONF" >>build/log
|
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/FX.CONF" >>build/log
|
||||||
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/DFX.CONF" >>build/log
|
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "res/DFX.CONF" >>build/log
|
||||||
|
$(CADIUS) ADDFILE build/"$(DISK)" "/${VOLUME}/" "build/CREDITS" >>build/log
|
||||||
rsync -aP res/title.hgr/* build/TITLE.HGR >>build/log
|
rsync -aP res/title.hgr/* build/TITLE.HGR >>build/log
|
||||||
bin/buildfileinfo.py build/TITLE.HGR "06" "4000" >>build/log
|
bin/buildfileinfo.py build/TITLE.HGR "06" "4000" >>build/log
|
||||||
$(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/TITLE.HGR" "build/TITLE.HGR" >>build/log
|
$(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/TITLE.HGR" "build/TITLE.HGR" >>build/log
|
||||||
|
@ -7,3 +7,4 @@ FX.CONF=Type(04),AuxType(8000),Access(C3)
|
|||||||
DFX.CONF=Type(04),AuxType(8000),Access(C3)
|
DFX.CONF=Type(04),AuxType(8000),Access(C3)
|
||||||
COVER=Type(06),AuxType(2000),Access(C3)
|
COVER=Type(06),AuxType(2000),Access(C3)
|
||||||
TITLE=Type(06),AuxType(2000),Access(C3)
|
TITLE=Type(06),AuxType(2000),Access(C3)
|
||||||
|
CREDITS=Type(04),AuxType(8000),Access(C3)
|
||||||
|
1
res/credits.txt
Normal file
1
res/credits.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
T O T A L
R E P L A Y
~
revision 01 / serial number 190720
~
design & interface * * * * * * * * * 4am
ports & rwts * * * * * * * * * * *qkumba
testing & moral support* * * * * crayone
testing w/o moral support* * * * option8
~
https://archive.org/TotalReplay
[eof]
|
@ -66,6 +66,7 @@ RestoreStackNextTime
|
|||||||
; these routines will only be called after relocating to language card
|
; these routines will only be called after relocating to language card
|
||||||
!source "src/ui.search.mode.a"
|
!source "src/ui.search.mode.a"
|
||||||
!source "src/ui.browse.mode.a"
|
!source "src/ui.browse.mode.a"
|
||||||
|
!source "src/ui.credits.a"
|
||||||
!source "src/ui.attract.mode.a"
|
!source "src/ui.attract.mode.a"
|
||||||
!source "src/ui.attract.hgr.a"
|
!source "src/ui.attract.hgr.a"
|
||||||
!source "src/ui.attract.dhgr.a"
|
!source "src/ui.attract.dhgr.a"
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
; D000..E200 - persistent data structures (gGlobalPrefsStore, gGamesListStore)
|
; D000..E200 - persistent data structures (gGlobalPrefsStore, gGamesListStore)
|
||||||
; ...end of data and start of code are approximate, in between is unused...
|
; ...end of data and start of code are approximate, in between is unused...
|
||||||
; ...if they ever overlap, things will go boom...
|
; ...if they ever overlap, things will go boom...
|
||||||
; E900..FFFB - main program code
|
; E600..FFFB - main program code
|
||||||
; FFFC..FFFF - reset and other vectors
|
; FFFC..FFFF - reset and other vectors
|
||||||
;
|
;
|
||||||
; LC RAM BANK 2
|
; LC RAM BANK 2
|
||||||
|
@ -57,6 +57,14 @@ BrowseMode
|
|||||||
ldx #kBrowseTab
|
ldx #kBrowseTab
|
||||||
bne @BrowseDispatch ; always branches
|
bne @BrowseDispatch ; always branches
|
||||||
+
|
+
|
||||||
|
cmp #$BF ; '?' display scredits
|
||||||
|
bne +
|
||||||
|
- ldx #kBrowseCredits
|
||||||
|
bne @BrowseDispatch ; always branches
|
||||||
|
+
|
||||||
|
cmp #$AF ; '/' also displays credits
|
||||||
|
beq -
|
||||||
|
|
||||||
and #$7F ; strip high bit for search characters
|
and #$7F ; strip high bit for search characters
|
||||||
jsr IsSearchKey
|
jsr IsSearchKey
|
||||||
beq +
|
beq +
|
||||||
@ -174,6 +182,7 @@ kBrowseNext = 2
|
|||||||
kBrowseExitToSearch = 3
|
kBrowseExitToSearch = 3
|
||||||
kBrowseTab = 4
|
kBrowseTab = 4
|
||||||
kBrowseLaunch = 5
|
kBrowseLaunch = 5
|
||||||
|
kBrowseCredits = 6
|
||||||
|
|
||||||
.BrowseDispatchTable
|
.BrowseDispatchTable
|
||||||
!word .OnSearch
|
!word .OnSearch
|
||||||
@ -182,6 +191,7 @@ kBrowseLaunch = 5
|
|||||||
!word SearchMode
|
!word SearchMode
|
||||||
!word .OnTab
|
!word .OnTab
|
||||||
!word .OnLaunch
|
!word .OnLaunch
|
||||||
|
!word Credits
|
||||||
|
|
||||||
BrowseSelectedIndex
|
BrowseSelectedIndex
|
||||||
!byte $FF
|
!byte $FF
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
; - LoadTitleOffscreen
|
; - LoadTitleOffscreen
|
||||||
; - LoadCoverOffscreen
|
; - LoadCoverOffscreen
|
||||||
; - DrawSearchBarOffscreen
|
; - DrawSearchBarOffscreen
|
||||||
|
; - ClearOffscreen
|
||||||
; - ShowOtherPage
|
; - ShowOtherPage
|
||||||
; - ToggleOffscreenPage
|
; - ToggleOffscreenPage
|
||||||
; - CoverFade
|
; - CoverFade
|
||||||
@ -301,11 +302,15 @@ ExecuteTransitionAndWait
|
|||||||
; Y = 0
|
; Y = 0
|
||||||
; Z = 1
|
; Z = 1
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
ClearOffscreen
|
||||||
|
jsr GetOffscreenAddress
|
||||||
|
+HIDE_NEXT_2_BYTES
|
||||||
.ClearHGR1
|
.ClearHGR1
|
||||||
|
lda #$20
|
||||||
|
sta @a+2
|
||||||
ldx #$20
|
ldx #$20
|
||||||
stx @a+2
|
lda #$80
|
||||||
lda #0
|
ldy #0
|
||||||
tay
|
|
||||||
@a sta $2000,y
|
@a sta $2000,y
|
||||||
iny
|
iny
|
||||||
bne @a
|
bne @a
|
||||||
|
92
src/ui.credits.a
Normal file
92
src/ui.credits.a
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
;license:MIT
|
||||||
|
;(c) 2018-9 by 4am
|
||||||
|
;
|
||||||
|
; credits page
|
||||||
|
;
|
||||||
|
; Public functions
|
||||||
|
; - Credits
|
||||||
|
|
||||||
|
!zone {
|
||||||
|
|
||||||
|
Credits
|
||||||
|
; clobbers all
|
||||||
|
jsr .LoadCredits
|
||||||
|
jsr ClearOffscreen
|
||||||
|
lda OffscreenPage
|
||||||
|
ror ; draw on offscreen page
|
||||||
|
+LDADDR $8000
|
||||||
|
jsr .DrawPage
|
||||||
|
jsr ShowOtherPage
|
||||||
|
jsr WaitForKeyFor30Seconds
|
||||||
|
jsr ShowOtherPage
|
||||||
|
bit CLEARKBD
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.LoadCredits
|
||||||
|
; [private] clobbers all
|
||||||
|
+LDADDR .CreditsFile
|
||||||
|
+
|
||||||
|
jsr SetPath
|
||||||
|
jsr LoadFile ; loads at $8000
|
||||||
|
rts
|
||||||
|
.CreditsFile
|
||||||
|
!byte 7
|
||||||
|
!text "CREDITS"
|
||||||
|
|
||||||
|
.DrawPage
|
||||||
|
; A/Y contains address of character buffer
|
||||||
|
; carry bit clear -> draw on page 1
|
||||||
|
; carry bit set -> draw on page 2
|
||||||
|
; drawing starts at VTAB 0, HTAB 0
|
||||||
|
; clobbers PTR
|
||||||
|
; clobbers A/X/Y
|
||||||
|
; preserves all flags, by a quirk of implementation
|
||||||
|
php
|
||||||
|
ldx #0
|
||||||
|
stx VTAB
|
||||||
|
+STAY PTR
|
||||||
|
@drawLine
|
||||||
|
ldy #0
|
||||||
|
sty HTAB
|
||||||
|
@parseLine
|
||||||
|
lda (PTR),y
|
||||||
|
cmp #$5B ; '[' at beginning on line
|
||||||
|
bne + ; ends the parsing
|
||||||
|
tya
|
||||||
|
beq @donePage
|
||||||
|
+ cmp #$0D
|
||||||
|
beq @doneParsingLine
|
||||||
|
cmp #$2A
|
||||||
|
bne +
|
||||||
|
lda #$10
|
||||||
|
sta (PTR),y ; asterisk -> dot, small
|
||||||
|
+ cmp #$7E
|
||||||
|
bne +
|
||||||
|
lda #$11
|
||||||
|
sta (PTR),y ; tilde -> dot, medium
|
||||||
|
+ iny
|
||||||
|
bne @parseLine
|
||||||
|
@doneParsingLine
|
||||||
|
sty SAVE
|
||||||
|
cpy #0
|
||||||
|
beq @skip
|
||||||
|
ldx SAVE
|
||||||
|
+LDAY PTR
|
||||||
|
plp
|
||||||
|
php
|
||||||
|
jsr DrawBuffer
|
||||||
|
@skip inc SAVE ; skip carriage return
|
||||||
|
lda SAVE ; advance PTR to start of next line
|
||||||
|
clc
|
||||||
|
adc PTR
|
||||||
|
sta PTR
|
||||||
|
bcc +
|
||||||
|
inc PTR+1
|
||||||
|
+ inc VTAB ; this will print 255 lines if you give it
|
||||||
|
bne @drawLine ; 255 lines, so don't do that
|
||||||
|
@donePage
|
||||||
|
plp
|
||||||
|
rts
|
||||||
|
|
||||||
|
}
|
@ -74,6 +74,15 @@ SearchMode
|
|||||||
ldx #kInputTab
|
ldx #kInputTab
|
||||||
bne @InputDispatch ; always branches
|
bne @InputDispatch ; always branches
|
||||||
+
|
+
|
||||||
|
|
||||||
|
cmp #$BF ; '?' display scredits
|
||||||
|
bne +
|
||||||
|
- ldx #kInputCredits
|
||||||
|
bne @InputDispatch ; always branches
|
||||||
|
+
|
||||||
|
cmp #$AF ; '/' also displays credits
|
||||||
|
beq -
|
||||||
|
|
||||||
and #$7F ; strip high bit for search characters
|
and #$7F ; strip high bit for search characters
|
||||||
jsr IsSearchKey
|
jsr IsSearchKey
|
||||||
beq +
|
beq +
|
||||||
@ -291,6 +300,7 @@ kInputBack = 2
|
|||||||
kInputBrowse = 3
|
kInputBrowse = 3
|
||||||
kInputTab = 4
|
kInputTab = 4
|
||||||
kInputLaunch = 5
|
kInputLaunch = 5
|
||||||
|
kInputCredits = 6
|
||||||
|
|
||||||
.InputDispatchTable
|
.InputDispatchTable
|
||||||
!word .OnSearch
|
!word .OnSearch
|
||||||
@ -299,5 +309,6 @@ kInputLaunch = 5
|
|||||||
!word BrowseMode
|
!word BrowseMode
|
||||||
!word .OnTab
|
!word .OnTab
|
||||||
!word .OnLaunch
|
!word .OnLaunch
|
||||||
|
!word Credits
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user