add Spy's Demise captive demo

This commit is contained in:
4am 2018-11-14 14:04:57 -05:00
parent 0c556bb3ad
commit 3b9e8f5afb
3 changed files with 34 additions and 2 deletions

View File

@ -1,3 +1,34 @@
# List of candidates for self-running 'captive' demos
#
# Not all games are good candidates. Some have no demo mode at all.
# Others technically have one but it's visually uninteresting or too short.
# Others are ruled out by technical constraints. Due to the architecture of
# the launcher, all captive demos must run entirely in main memory (48K).
# NO languard card, NO auxmem!
#
# We have enough disk space that we don't worry too much about it. (Wow.)
# Generally we start with an uncompressed ProDOS port of the entire game
# and whittle it down to just the files it needs for its demo mode, then
# apply patches so that it
#
# - returns control after the natural end of the demo cycle
# - returns control on any keypress
# - returns control on any button press (note: some games don't support
# joystick buttons at all, and we don't add button support, but if you
# can start the game by pressing a button, we need to ensure that that
# returns control instead)
# - disables all sound output
#
# 'Returning control' involves activating RAM bank 1 read access and
# jumping to $D000 (labeled as |Reenter| in the source code). The launcher
# puts this code at $0100 before executing a captive demo, so generally
# you can just put 'JMP $0100' anywhere. If a particular game overwrites
# this area of the stack page, you will need to find 6 bytes for the
# 'LDA $C088 / JMP $D000' instructions yourself.
#
# Notes on completed and in-progress captive demos are in res/notes/
#
# TODO
Agent USA
Alien Ambush
@ -5,7 +36,6 @@ Alien Downpour
Alien Rain
Apple Cider Spider
Aquatron
Arkanoid
Bouncing Kamungas
Buzzard Bait
Canyon Climber
@ -34,7 +64,6 @@ Pac-Man
Pie-Man
Plasmania [priority]
Pooyan [priority]
Prince of Persia
Repton
Ribbit
Robotron 2084
@ -69,5 +98,7 @@ Spare Change
Wavy Navy
# obvious candidates that we're skipping
Arkanoid (requires 64K)
Drol (attract mode is minimal)
Mr. Do (attract mode requires 64K)
Prince of Persia (requires 128K)

Binary file not shown.

View File

@ -3,3 +3,4 @@ no support for joystick buttons
$60D1: E0D0F0 -> 4C0001 to exit when user presses key during title page (context is 4C0A61AE00C010DFE0D0F020)
$69B9: 68688D -> 4C0001 to exit when user presses key during demo (context is 49FF8527E636AD00C0100868688D10C0)
$6D70: 4C4A60 -> 4C0001 to exit after demo cycle ends (context is A517C901D0034C4A60201662A529)