dos33fsprogs/ootw/README
Vince Weaver 448f16e947 ootw: change the keyboard controls
a bit more awkward, but something that will actually work on a II+
2019-03-23 13:20:43 -04:00

129 lines
3.3 KiB
Plaintext

Another / Out-of-This World Demake for Apple II+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
by Vince "Deater" Weaver (vince@deater.net)
http://www.deater.net/weave/vmwprod/ootw/
Disk and LZ4 routines by qkumba
+ The game "Another World" was released in 1991.
Written by Eric Chahi.
It was eventually ported to many systems (I played it on IBM PC).
It even got an Apple IIgs port (the IIgs is 16-bit with fancy
graphics and sound). However you couldn't play it on
earlier Apple II systems... until now.
+ I was inspired to do this by this amazing PICO-8 version of:
https://liquidream.itch.io/another-world-survival
and thought the Apple II lo-res palette (15 colors, 40x48 graphics)
might be just barely enough to do it justice.
==================
Game controls:
==================
Keyboard:
Note, Apple II has simplistic keyboard support.
In general it's not possible to read more than one key at a time.
Additionally, on older models there's no auto-repeat unless you
hold down the REPT key, which makes running difficult.
This means it's really not possible to use the keyboard the
same way as the original game.
D -> - move right (twice to run)
A <- - move left (twice to run)
W up - jump
S down - crouch / pickup
space - kick / gun
During the intro, you can press R to make it repeat forever.
Joystick support: none yet?
==================
Development notes:
==================
Ootw Memory map:
00 zero page
01 stack
02 ????
03 nibble table/disk data
04-07 GR page0
08-0b GR page1
0c-0f background ($c00 = disk load buffer)
10-13 background overlay
14-16 loader
17-bf program-data (41.25k)
bc-bf earthquake background (shifted)
c0-cf I/O
d0-ff ROM
Intro Memory map:
00 zero page
01 stack
02 ????
03 nibble table/disk data
04-07 GR page0
08-0b GR page1
0c-0f offscreen data ($c00 = disk load buffer)
10-13 offscreen data2
14-16 loader
17-89 program/compressed-data (30.25k)
90-bf currently decompressed level data (12k)
c0-cf I/O
d0-ff ROM
Intro Memory squeeze!
10,748 over all graphics in
10,734 over remove extraneous blank bg image
8,658 over re-arrange memory map, 42k avail now
8,562 over move gr_make_quake out of common code
8,374 over remove extraneous code (mostly put_sprite_flipped)
5,469 over allow changing bg on fly in sequence
4,122 over modify cyan frames to be on fly
2,749 over do same for zappo routines
2,493 over squish disk loader vars to page 3
2,165 over horrible hack to auto-go to next image in sequence
2,114 over move bg loading into seq
2,053 over make elevator indicator a loop
1,347 over use LZ4 instead of RLE
Gave up, see if we can compress in chunks and decompress, sort of like
my chiptune player does.
Let's take a 12k region of memory = $3000
$C000 - $3000 = starting at $9000
ID1 = 1461 2143\
ID2 = 1759 2687|--- together in 01
ID3 = 1195 1879/
ID4 = 2514 8280\--- in 04
ID5 = 1947 3492/
ID6 = 2584 3610\ --- in 06
ID7 = 2834 3606/
ID8 = 3705 4918 | -- in 08
ID9 = 4494 5901\ -- in 09
ID10 = 3397 5558/
===== ======
25890 12k
ootw memory squeeze:
after full rope sequence in: 23065
make transparent overlays: 13971
add end-of-l1 cutscene: 26464
make transparent overlays: 17821
add in rest of end cutscene 23906
make those transparent 21236
ootw2 memory squeeze:
before intro 3872
after intro 9234