diff --git a/res/attract.conf b/res/attract.conf index 27431ab3a..6ad7d63ce 100644 --- a/res/attract.conf +++ b/res/attract.conf @@ -1,42 +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 # 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] \ No newline at end of file diff --git a/src/4cade.a b/src/4cade.a index 96579e8f2..a18ecf544 100644 --- a/src/4cade.a +++ b/src/4cade.a @@ -14,7 +14,8 @@ ror MachineStatus ; now bit 6 = 1 if 128K ; bit 7 = 1 if joystick - +READ_ROM_WRITE_RAM1 + jsr init ; initialize ProRWTS2 (bye bye ProDOS) + +READ_RAM1_WRITE_RAM1 ldx #$00 ; relocate rest of program to RAM bank 1 in language card @FM lda FirstMover,x sta $D000,x @@ -27,8 +28,6 @@ inc @FM+5 bne @FM + - jsr init ; initialize ProRWTS2 (bye bye ProDOS) - +READ_RAM1_WRITE_RAM1 jmp Start @no64K @@ -43,12 +42,16 @@ @s_no64K !raw "REQUIRES 64K" @no64Klen=*-@s_no64K + ; ProRWTS2 has its own function to relocate itself + !source "src/prorwts2.a" ; these routines will only be called once, from main memory, before relocating to language card +ProRWTSBuffer !source "src/hw.memcheck.a" !source "src/hw.joystick.a" !source "src/hw.normfast.a" - ; ProRWTS2 has its own function to relocate itself - !source "src/prorwts2.a" +*=ProRWTSBuffer+512 ; ProRWTS needs a 512-byte buffer for its init function + ; so we reuse as much of the 1-time code as possible + ; and fill the rest with zeros FirstMover !pseudopc $D000 {