mirror of
https://github.com/a2-4am/4cade.git
synced 2025-04-07 16:39:56 +00:00
captive demos work
This commit is contained in:
parent
1998cdbc53
commit
c937771198
3
Makefile
3
Makefile
@ -40,6 +40,8 @@ dsk: md asm
|
||||
$(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/DHGR" "build/DHGR" >>build/log
|
||||
rsync -aP res/ss/* build/SS >>build/log
|
||||
$(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/SS" "build/SS" >>build/log
|
||||
rsync -aP res/demo/* build/DEMO >>build/log
|
||||
$(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/DEMO" "build/DEMO" >>build/log
|
||||
# bin/do2po.py res/dsk/ build/po/
|
||||
# rsync -a res/dsk/*.po build/po/
|
||||
# bin/extract.py build/po/ | sh >build/log
|
||||
@ -62,6 +64,7 @@ md:
|
||||
mkdir -p build/HGR
|
||||
mkdir -p build/DHGR
|
||||
mkdir -p build/SS
|
||||
mkdir -p build/DEMO
|
||||
|
||||
clean:
|
||||
rm -rf build/
|
||||
|
@ -1 +1 @@
|
||||
#
# Mega-Attract-Mode configuration file
#
# Mega-Attract-Mode is split into modules. Each module can be a
# short slideshow or a self-running demo (like a game's built-in
# 'attract mode'). Modules are run in the order listed here, one
# after the next, until interrupted by user input. The last-run
# module is tracked in the master prefs file.
#
# Format:
# key=value
#
# value must be one of
# 1 for HGR slideshow (key is a file containing a list of HGR graphics)
# 2 for DHGR slideshow (key is a file containing a list of DHGR graphics)
# 3 for self-running demo (key is an executable binary file)
#
# Blank lines and lines beginning with '#' are ignored (like this one!)
# A line beginning with '[' terminates the parsing
#
FAVORITES.CONF=1
AB.CONF=1
BRODERBUND.CONF=1
DHGR.CONF=2
ACTIVISION.CONF=1
CD.CONF=1
ATARI.CONF=1
EFG.CONF=1
SIERRA.CONF=1
DATAMOST.CONF=1
HIJKL.CONF=1
DATASOFT.CONF=1
MNO.CONF=1
MICROFUN.CONF=1
PQR.CONF=1
PICCADILLY.CONF=1
S.CONF=1
SIRIUS.CONF=1
TUVWYXZ.CONF=1
[eof]
|
||||
#
# Mega-Attract-Mode configuration file
#
# Mega-Attract-Mode is split into modules. Each module can be a
# short slideshow or a self-running demo (like a game's built-in
# 'attract mode'). Modules are run in the order listed here, one
# after the next, until interrupted by user input. The last-run
# module is tracked in the master prefs file.
#
# Format:
# key=value
#
# value must be one of
# 1 for HGR slideshow (key is a file containing a list of HGR graphics)
# 2 for DHGR slideshow (key is a file containing a list of DHGR graphics)
# 3 for self-running demo (key is an executable binary file)
#
# Blank lines and lines beginning with '#' are ignored (like this one!)
# A line beginning with '[' terminates the parsing
#
SHORT.CONF=1
WAVY.NAVY=3
FAVORITES.CONF=1
AB.CONF=1
BRODERBUND.CONF=1
DHGR.CONF=2
ACTIVISION.CONF=1
CD.CONF=1
ATARI.CONF=1
EFG.CONF=1
SIERRA.CONF=1
DATAMOST.CONF=1
HIJKL.CONF=1
DATASOFT.CONF=1
MNO.CONF=1
MICROFUN.CONF=1
PQR.CONF=1
PICCADILLY.CONF=1
S.CONF=1
SIRIUS.CONF=1
TUVWYXZ.CONF=1
[eof]
|
BIN
res/demo/WAVY.NAVY
Normal file
BIN
res/demo/WAVY.NAVY
Normal file
Binary file not shown.
BIN
res/demo/WAVY.NAVY.LOADER
Normal file
BIN
res/demo/WAVY.NAVY.LOADER
Normal file
Binary file not shown.
2
res/demo/_FileInformation.txt
Normal file
2
res/demo/_FileInformation.txt
Normal file
@ -0,0 +1,2 @@
|
||||
WAVY.NAVY=Type(06),AuxType(0800),Access(C3)
|
||||
#WAVY.NAVY.1=Type(06),AuxType(0000),Access(C3)
|
3
res/notes/sneakers.txt
Normal file
3
res/notes/sneakers.txt
Normal file
@ -0,0 +1,3 @@
|
||||
$53A4 is (very near to) the start of the attract mode cycle.
|
||||
$4072 is immediately after it detects a keypress (space only!)
|
||||
And $4065 is the code that detects the keypress in case we want to expand it to any key.
|
10
res/notes/wavy-navy.txt
Normal file
10
res/notes/wavy-navy.txt
Normal file
@ -0,0 +1,10 @@
|
||||
Demo mode starts immediately on program start
|
||||
|
||||
$1547 after demo player dies
|
||||
9 bytes available
|
||||
|
||||
$9E8 after user hits any key in demo mode
|
||||
6 bytes available
|
||||
|
||||
09E8: 20F2098D47.. -> AD88C04C00D0
|
||||
1547: 20A61120BF12 -> AD88C04C00D0
|
@ -1,3 +1,4 @@
|
||||
SHORT.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
AB.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIVISION.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ATARI.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
|
@ -1 +1 @@
|
||||
#
# slideshow of favorite title screens
#
WAVY.NAVY
NIBBLER
SNAKE.BYTE
DAVIDS.MAGIC
CRAZY.MAZY
SPYS.DEMISE
DIG.DUG
MR.ROBOT
PAPERBOY
TUBEWAY
PRINCEUNP
LOST.TOMB
MOON.PATROL
DROL
HERO
MONTEZUMA
DUNG.BEETLES
SWASHBUCKLER
POOYAN
TAPPER
GOONIES
PLASMANIA
PITFALL.II
ALCAZAR
SABOTAGE
FROGGER
GORGON
CONAN
NIGHT.MISSION
DINO.EGGS
FALCONS
BRUCE.LEE
BCS.QUEST
JOUST
[eof]
|
||||
#
# slideshow of favorite title screens
#
MR.ROBOT
NIBBLER
SNAKE.BYTE
DAVIDS.MAGIC
CRAZY.MAZY
SPYS.DEMISE
WAVY.NAVY
DIG.DUG
PAPERBOY
TUBEWAY
PRINCEUNP
LOST.TOMB
MOON.PATROL
DROL
HERO
MONTEZUMA
DUNG.BEETLES
SWASHBUCKLER
POOYAN
TAPPER
GOONIES
PLASMANIA
PITFALL.II
ALCAZAR
SABOTAGE
FROGGER
GORGON
CONAN
NIGHT.MISSION
DINO.EGGS
FALCONS
BRUCE.LEE
BCS.QUEST
JOUST
[eof]
|
1
res/ss/short.conf
Normal file
1
res/ss/short.conf
Normal file
@ -0,0 +1 @@
|
||||
BRUCE.LEE
AQUATRON
[eof]
|
38
src/4cade.a
38
src/4cade.a
@ -62,7 +62,9 @@ FirstMover
|
||||
!pseudopc $D000 {
|
||||
!zone
|
||||
Reenter ; self-running demos should call this to exit back to 4cade
|
||||
; TODO
|
||||
txs
|
||||
+READ_RAM1_WRITE_RAM1
|
||||
jmp Main
|
||||
Start
|
||||
lda hddopendir+1
|
||||
ldy hddopendir+3
|
||||
@ -88,6 +90,7 @@ Start
|
||||
+LDAY SRC
|
||||
+STAY gSlideshowStore ; save pointer to free space for next store
|
||||
|
||||
Main
|
||||
bit $C010
|
||||
jsr BlankHGR
|
||||
jsr AttractMode
|
||||
@ -161,8 +164,37 @@ AttractMode
|
||||
jmp BlankHGR
|
||||
|
||||
@SelfRunningDemo
|
||||
; TODO
|
||||
rts
|
||||
jsr ResetPath
|
||||
+LDADDR kDemoDirectory
|
||||
jsr AddToPath
|
||||
+LDADDR kPathSeparator
|
||||
jsr AddToPath
|
||||
+LDAY @key
|
||||
jsr AddToPath
|
||||
jsr LoadFile ; load attract module configuration file
|
||||
!word gPathname
|
||||
ldx #(@end-@start-1)
|
||||
- lda @start,x
|
||||
sta $100,x
|
||||
dex
|
||||
bpl -
|
||||
jmp $100
|
||||
@start
|
||||
; this runs from main memory
|
||||
+READ_ROM_NO_WRITE
|
||||
jsr $FE89
|
||||
jsr $FE93
|
||||
sta $C000
|
||||
sta $C002
|
||||
sta $C004
|
||||
sta $C00C
|
||||
sta $C00E
|
||||
jsr $FB2F
|
||||
jsr $FC58
|
||||
ldx #$FF
|
||||
txs
|
||||
jmp (ldrlo2)
|
||||
@end
|
||||
|
||||
HGRLoad
|
||||
ldx $C000
|
||||
|
@ -26,6 +26,10 @@ kAttractModeSlideshowDirectory
|
||||
!byte 2
|
||||
!raw "SS"
|
||||
|
||||
kDemoDirectory
|
||||
!byte 4
|
||||
!raw "DEMO"
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; ResetPath
|
||||
; reset gPathname to length 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user