From a7b7c290f4b255c2370c9782beec4cef7f1fa62e Mon Sep 17 00:00:00 2001 From: 4am Date: Sun, 11 Aug 2019 16:18:27 -0400 Subject: [PATCH] add Space Eggs self-running demo --- res/attract.conf | 2 +- res/attract/SPACE.EGGS | 2 +- res/demo/SPACE.EGGS | Bin 0 -> 142 bytes res/demo/SPACE.EGGS.1 | Bin 0 -> 25856 bytes res/demo/_FileInformation.txt | 2 ++ res/notes/demos/space-eggs.txt | 6 ++++++ 6 files changed, 10 insertions(+), 2 deletions(-) create mode 100755 res/demo/SPACE.EGGS create mode 100755 res/demo/SPACE.EGGS.1 create mode 100644 res/notes/demos/space-eggs.txt diff --git a/res/attract.conf b/res/attract.conf index 344d20d01..5aa1eb4c8 100644 --- a/res/attract.conf +++ b/res/attract.conf @@ -1 +1 @@ -# # Mega-Attract-Mode configuration file # # set 1 FAVORITES1.CONF=1 ACTIONHIJ1.CONF=2 JUNGLE.HUNT=0 DHGR1.CONF=3 ACTIONPOP.CONF=2 SAMMY.LIGHTFOOT=0 OTHER4.CONF=1 SHR1.CONF=5 # set 2 FAVORITES4.CONF=1 PITFALL.II=0 SYNERGIST.CONF=1 SPCARTOON.1.=0 ACTIONMNO1.CONF=2 CONAN=0 DHGR2.CONF=3 ACTIONCLR1.CONF=2 ATARI.CONF=1 SNEAKERS=0 SHR2.CONF=5 # set 3 IDSI.CONF=1 HARD.HAT.MACK=0 BALLY.CONF=1 MR.DO.CONF=2 BURGERTIME=0 DHGR3.CONF=3 ACTIONS3.CONF=2 GUMBALL=0 S3.CONF=1 STARGATE=0 SHR3.CONF=5 # set 4 FAVORITES3.CONF=1 BOUNCING.KMNGAS=0 BRODERBUND.CONF=1 ACTIONCLR2.CONF=2 LADY.TUT=0 DHGR4.CONF=3 ACTIONAB1.CONF=2 CD2.CONF=1 SPYS.DEMISE=0 SHR4.CONF=5 # set 5 T1.CONF=1 MR.COOL=0 SIRIUS.CONF=1 SPCARTOON.2.=0 ACTIONCLR3.CONF=2 CIDER.SPIDER=0 ACTDHGR1.CONF=4 ACTIONAB2.CONF=2 AB2.CONF=1 SPARE.CHANGE=0 SHR5.CONF=5 # set 6 MATTEL.CONF=1 THUNDERBOMBS=0 FAVORITES2.CONF=1 ACTIONBURG.CONF=2 VINDICATOR=0 ACTDHGR2.CONF=4 ACTIONEFG2.CONF=2 S1.CONF=1 LODE.RUNNER=0 SHR6.CONF=5 # set 7 EFG2.CONF=1 REPTON=0 DATAMOST.CONF=1 ACTIONCLR4.CONF=2 AGENT.USA=0 ACTDHGR3.CONF=4 ACTIONMNO3.CONF=2 MNO.CONF=1 AQUATRON=0 SHR7.CONF=5 # set 8 SIERRA.CONF=1 POOYAN=0 CD1.CONF=1 SPCARTOON.3.=0 ACTIONPQR1.CONF=2 ALIEN.DOWNPOUR=0 ACTDHGR4.CONF=4 ACTIONT1.CONF=2 BOLO=0 T2.CONF=1 BUZZARD.BAIT=0 SHR8.CONF=5 # set 9 MICROFUN.CONF=1 GAMMA.GOBLINS=0 OTHER2.CONF=1 ACTIONCLR5.CONF=2 CEILING.ZERO=0 ACTDHGR5.CONF=4 ACTIONPQR2.CONF=2 P2.CONF=1 ROBOTRON=0 SHR9.CONF=5 # set 10 SYNAPSE.CONF=1 WARP.DESTROYER=0 PICCADILLY.CONF=1 ACTIONT3.CONF=2 WAVY.NAVY=0 ACTDHGR6.CONF=4 ACTIONT2.CONF=2 CD3.CONF=1 TRACK.AND.FIELD=0 SHR10.CONF=5 # set 11 DATAEAST.CONF=1 PEST.PATROL=0 EA.CONF=1 SPCARTOON.4.=0 ACTIONMNO2.CONF=2 CHOPLIFTER=0 ACTDHGR7.CONF=4 ACTIONEFG1.CONF=2 HIJKL2.CONF=1 GOONIES=0 SHR11.CONF=5 # set 12 SEGA.CONF=1 LOST.TOMB=0 HIJKL.CONF=1 ACTIONEFG3.CONF=2 KARATEKA=0 ACTDHGR8.CONF=4 ACTIONS2.CONF=2 S2.CONF=1 SNAKE.BYTE=0 SHR12.CONF=5 # set 13 ACTIVISION.CONF=1 DINO.EGGS=0 TAITO.CONF=1 ACTIONHIJ2.CONF=2 ALIEN.RAIN=0 ACTDHGR9.CONF=4 ACTIONCD2.CONF=2 GEBELLI.CONF=1 SERPENTINE=0 SHR13.CONF=5 # set 14 PENGUIN.CONF=1 PACMAN=0 DATASOFT.CONF=1 SPCARTOON.5.=0 ACTIONAB3.CONF=2 FLIP.OUT=0 ACTDHGR10.CONF=4 ACTIONCD1.CONF=2 QR.CONF=1 PLASMANIA=0 SHR14.CONF=5 # set 15 SUBLOGIC.CONF=1 HIGH.RISE=0 EFG1.CONF=1 ACTIONS1.CONF=2 ORILEYS.MINE=0 ACTDHGR11.CONF=4 ACTIONCD3.CONF=2 OTHER1.CONF=1 SPY.HUNTER=0 SHR15.CONF=5 # set 16 EPYX.CONF=1 NIBBLER=0 AB1.CONF=1 ACTIONPQR3.CONF=2 ALIEN.AMBUSH=0 ACTDHGR12.CONF=4 ACTIONCAPT.CONF=2 TUBEWAY=0 SHR16.CONF=5 # set 17 P1.CONF=1 PIEMAN=0 OTHER3.CONF=1 SPCARTOON.6.=0 ACTIONHIJ3.CONF=2 CHAMP.LODERUN=0 ACTDHGR13.CONF=4 AB3.CONF=1 ACTIONAB4.CONF=2 FIREBIRD=0 SHR17.CONF=5 # set 18 # 1 DIG.DUG=0 # 1 FALCONS=0 # 2 STAR.BLAZER=0 # 4 # 1 # 2 # 0 # 5 [eof] # Mega-Attract-Mode is split into modules. Each module can be a short # slideshow, a self-running demo (like a game's built-in 'attract mode'), or # even just a single screenshot. 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 global prefs file. # # The same format is used by the per-game attract mode configuration files. # # Format: # key=value # # |key| must be unique within this file # # |value| must be one of # 0 = self-running demo (|key| is an executable binary file in /DEMO/) # 1 = HGR title slideshow (|key| is a file in /SS/ containing files in /TITLE.HGR/) # 2 = HGR action slideshow (|key| is a file in /SS/ containing files in /ACTION.HGR/) # 3 = DHGR title slideshow (|key| is a file in /SS/ containing files in /TITLE.DHGR/) # 4 = DHGR action slideshow (|key| is a file in /SS/ containing files in /ACTION.DHGR/) # 5 = SHR box art slideshow (|key| is a file in /SS/ containing files in /ARTWORK.SHR/) # 6 = GR action slideshow (|key| is a file in /SS/ containing files in /ACTION.GR/) # A = single HGR file (|key| is arbitrary path from program root directory) # B = single DHGR file (|key| is arbitrary path from program root directory) # C = single SHR file (|key| is arbitrary path from program root directory) # D = single GR file (|key| is arbitrary path from program root directory) # # Blank lines and lines beginning with '#' are ignored (like this one!) # A line beginning with '[' terminates the parsing \ No newline at end of file +# # Mega-Attract-Mode configuration file # SPACE.EGGS=0 # set 1 FAVORITES1.CONF=1 ACTIONHIJ1.CONF=2 JUNGLE.HUNT=0 DHGR1.CONF=3 ACTIONPOP.CONF=2 SAMMY.LIGHTFOOT=0 OTHER4.CONF=1 SHR1.CONF=5 # set 2 FAVORITES4.CONF=1 PITFALL.II=0 SYNERGIST.CONF=1 SPCARTOON.1.=0 ACTIONMNO1.CONF=2 CONAN=0 DHGR2.CONF=3 ACTIONCLR1.CONF=2 ATARI.CONF=1 SNEAKERS=0 SHR2.CONF=5 # set 3 IDSI.CONF=1 HARD.HAT.MACK=0 BALLY.CONF=1 MR.DO.CONF=2 BURGERTIME=0 DHGR3.CONF=3 ACTIONS3.CONF=2 GUMBALL=0 S3.CONF=1 STARGATE=0 SHR3.CONF=5 # set 4 FAVORITES3.CONF=1 BOUNCING.KMNGAS=0 BRODERBUND.CONF=1 ACTIONCLR2.CONF=2 LADY.TUT=0 DHGR4.CONF=3 ACTIONAB1.CONF=2 CD2.CONF=1 SPYS.DEMISE=0 SHR4.CONF=5 # set 5 T1.CONF=1 MR.COOL=0 SIRIUS.CONF=1 SPCARTOON.2.=0 ACTIONCLR3.CONF=2 CIDER.SPIDER=0 ACTDHGR1.CONF=4 ACTIONAB2.CONF=2 AB2.CONF=1 SPARE.CHANGE=0 SHR5.CONF=5 # set 6 MATTEL.CONF=1 THUNDERBOMBS=0 FAVORITES2.CONF=1 ACTIONBURG.CONF=2 VINDICATOR=0 ACTDHGR2.CONF=4 ACTIONEFG2.CONF=2 S1.CONF=1 LODE.RUNNER=0 SHR6.CONF=5 # set 7 EFG2.CONF=1 REPTON=0 DATAMOST.CONF=1 ACTIONCLR4.CONF=2 AGENT.USA=0 ACTDHGR3.CONF=4 ACTIONMNO3.CONF=2 MNO.CONF=1 AQUATRON=0 SHR7.CONF=5 # set 8 SIERRA.CONF=1 POOYAN=0 CD1.CONF=1 SPCARTOON.3.=0 ACTIONPQR1.CONF=2 ALIEN.DOWNPOUR=0 ACTDHGR4.CONF=4 ACTIONT1.CONF=2 BOLO=0 T2.CONF=1 BUZZARD.BAIT=0 SHR8.CONF=5 # set 9 MICROFUN.CONF=1 GAMMA.GOBLINS=0 OTHER2.CONF=1 ACTIONCLR5.CONF=2 CEILING.ZERO=0 ACTDHGR5.CONF=4 ACTIONPQR2.CONF=2 P2.CONF=1 ROBOTRON=0 SHR9.CONF=5 # set 10 SYNAPSE.CONF=1 WARP.DESTROYER=0 PICCADILLY.CONF=1 ACTIONT3.CONF=2 WAVY.NAVY=0 ACTDHGR6.CONF=4 ACTIONT2.CONF=2 CD3.CONF=1 TRACK.AND.FIELD=0 SHR10.CONF=5 # set 11 DATAEAST.CONF=1 PEST.PATROL=0 EA.CONF=1 SPCARTOON.4.=0 ACTIONMNO2.CONF=2 CHOPLIFTER=0 ACTDHGR7.CONF=4 ACTIONEFG1.CONF=2 HIJKL2.CONF=1 GOONIES=0 SHR11.CONF=5 # set 12 SEGA.CONF=1 LOST.TOMB=0 HIJKL.CONF=1 ACTIONEFG3.CONF=2 KARATEKA=0 ACTDHGR8.CONF=4 ACTIONS2.CONF=2 S2.CONF=1 SNAKE.BYTE=0 SHR12.CONF=5 # set 13 ACTIVISION.CONF=1 DINO.EGGS=0 TAITO.CONF=1 ACTIONHIJ2.CONF=2 ALIEN.RAIN=0 ACTDHGR9.CONF=4 ACTIONCD2.CONF=2 GEBELLI.CONF=1 SERPENTINE=0 SHR13.CONF=5 # set 14 PENGUIN.CONF=1 PACMAN=0 DATASOFT.CONF=1 SPCARTOON.5.=0 ACTIONAB3.CONF=2 FLIP.OUT=0 ACTDHGR10.CONF=4 ACTIONCD1.CONF=2 QR.CONF=1 PLASMANIA=0 SHR14.CONF=5 # set 15 SUBLOGIC.CONF=1 HIGH.RISE=0 EFG1.CONF=1 ACTIONS1.CONF=2 ORILEYS.MINE=0 ACTDHGR11.CONF=4 ACTIONCD3.CONF=2 OTHER1.CONF=1 SPY.HUNTER=0 SHR15.CONF=5 # set 16 EPYX.CONF=1 NIBBLER=0 AB1.CONF=1 ACTIONPQR3.CONF=2 ALIEN.AMBUSH=0 ACTDHGR12.CONF=4 ACTIONCAPT.CONF=2 TUBEWAY=0 SHR16.CONF=5 # set 17 P1.CONF=1 PIEMAN=0 OTHER3.CONF=1 SPCARTOON.6.=0 ACTIONHIJ3.CONF=2 CHAMP.LODERUN=0 ACTDHGR13.CONF=4 AB3.CONF=1 ACTIONAB4.CONF=2 FIREBIRD=0 SHR17.CONF=5 # set 18 # 1 DIG.DUG=0 # 1 FALCONS=0 # 2 STAR.BLAZER=0 # 4 # 1 # 2 # 0 # 5 [eof] # Mega-Attract-Mode is split into modules. Each module can be a short # slideshow, a self-running demo (like a game's built-in 'attract mode'), or # even just a single screenshot. 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 global prefs file. # # The same format is used by the per-game attract mode configuration files. # # Format: # key=value # # |key| must be unique within this file # # |value| must be one of # 0 = self-running demo (|key| is an executable binary file in /DEMO/) # 1 = HGR title slideshow (|key| is a file in /SS/ containing files in /TITLE.HGR/) # 2 = HGR action slideshow (|key| is a file in /SS/ containing files in /ACTION.HGR/) # 3 = DHGR title slideshow (|key| is a file in /SS/ containing files in /TITLE.DHGR/) # 4 = DHGR action slideshow (|key| is a file in /SS/ containing files in /ACTION.DHGR/) # 5 = SHR box art slideshow (|key| is a file in /SS/ containing files in /ARTWORK.SHR/) # 6 = GR action slideshow (|key| is a file in /SS/ containing files in /ACTION.GR/) # A = single HGR file (|key| is arbitrary path from program root directory) # B = single DHGR file (|key| is arbitrary path from program root directory) # C = single SHR file (|key| is arbitrary path from program root directory) # D = single GR file (|key| is arbitrary path from program root directory) # # Blank lines and lines beginning with '#' are ignored (like this one!) # A line beginning with '[' terminates the parsing \ No newline at end of file diff --git a/res/attract/SPACE.EGGS b/res/attract/SPACE.EGGS index 1b9e6de8e..8fdc73c31 100644 --- a/res/attract/SPACE.EGGS +++ b/res/attract/SPACE.EGGS @@ -1 +1 @@ -# # Attract mode for Space Eggs # ACTION.HGR/SPACE.EGGS=A [eof] \ No newline at end of file +# # Attract mode for Space Eggs # ACTION.HGR/SPACE.EGGS=A SPACE.EGGS=0 [eof] \ No newline at end of file diff --git a/res/demo/SPACE.EGGS b/res/demo/SPACE.EGGS new file mode 100755 index 0000000000000000000000000000000000000000..3e15aa41b4fcc4aceef0f879efad6860f3f090f3 GIT binary patch literal 142 zcmY#j*nc9CS%G2ysdO-z4<^e&zyI9 zjv;fvr`8Rv8(TNEZtksM>8)U0`JtDAX{B2)Bh%XO18aj0tPMEe)8N6}$jsowz{1GD i!65bjKah50;0DtP|ABy!fhRb?(b-kc)!jW<&kz897&VXp literal 0 HcmV?d00001 diff --git a/res/demo/SPACE.EGGS.1 b/res/demo/SPACE.EGGS.1 new file mode 100755 index 0000000000000000000000000000000000000000..bc90a430397519a8fe35d62906382a4b93a5b079 GIT binary patch literal 25856 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 EAEAEAEAEAEA to avoid clobbering stack +$4B00: AD61C0 -> AD00C0 to change button press detection to keypress detection +$4B06: 4C3E48 -> 4C0001 to exit on keypress +$4BD6: 4CB04B -> CEFF4B10034C00014CB04B to decrement custom counter after demo cycle and eventually exit +$4BFF: FF -> 02 to initialize custom counter +no sound