This commit is contained in:
4am 2018-11-01 20:06:32 -04:00
parent 73f8a2d635
commit dc9a72de43
7 changed files with 31 additions and 4 deletions

View File

@ -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 # #SHORT.CONF=1 FAVORITES.CONF=1 WAVY.NAVY=3 AB.CONF=1 DHGR.CONF=2 BRODERBUND.CONF=1 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 T.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 SNEAKERS=3 FAVORITES.CONF=1 WAVY.NAVY=3 AB.CONF=1 DHGR.CONF=2 BRODERBUND.CONF=1 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 T.CONF=1 [eof]

BIN
res/demo/SNEAKERS Normal file

Binary file not shown.

BIN
res/demo/SNEAKERS.1 Normal file

Binary file not shown.

View File

@ -1,2 +1,4 @@
SNEAKERS=Type(06),AuxType(0800),Access(C3)
SNEAKERS.1=Type(06),AuxType(0000),Access(C3)
WAVY.NAVY=Type(06),AuxType(0800),Access(C3)
WAVY.NAVY.1=Type(06),AuxType(0000),Access(C3)

17
res/notes/lode-runner.txt Normal file
View File

@ -0,0 +1,17 @@
TWO DIFFERENT MODES
#1 title screen / high scores screen
$61F6 is after key is pressed
$6201 is after button is pressed
#2 demo player playing real levels
$6056 starts attract mode (after title screen has been shown long enough)
$69B8 checks for key (or button)
$69CD is after key/button is detected [9 bytes available]
$61F3 is after demo player has died, high score screen has been shown, jumps back to $6008 to display title screen again [3 bytes available]
$61FB: F0 -> 24
$61FD: F0 -> 24
$6201: A2008696E886 -> AD88C04C00D0
$61F4: 0860 -> 0162
$69CD: 46AC46 -> 4C0162

View File

@ -1,3 +1,9 @@
$53A4 is (very near to) the start of the attract mode cycle.
$54AA is at the very end of the attract mode cycle (it jumps back to $53A4) but there are only 3 bytes available.
$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.
$0100: AD88C04C00D0
$54AA: 4CAA53 -> 4C0001
$4068: C9A0F006A9008D10C0 -> 10034C0001EAEAA900

View File

@ -154,9 +154,11 @@ AttractMode
sta $bf00,x
dex
bpl -
jmp $100 ; jump to pre-launch code
jmp $106 ; jump to pre-launch code
@prelaunch ; this runs from main memory
+READ_ROM_NO_WRITE
lda $C088 ; entry point used by some self-running demos
jmp Reenter
+READ_ROM_NO_WRITE ; entry point to launch game (called above)
jsr $FE89 ; initialize machine like a cold boot
jsr $FE93 ; (many games assume a 'clean slate')
sta $C000
@ -168,7 +170,7 @@ AttractMode
jsr $FC58
ldx #$FF
txs
jmp (ldrlo2) ; jump to entry point
jmp (ldrlo2) ; jump to game
@end_prelaunch
@Slideshow