dos33fsprogs/ootw/README

129 lines
3.3 KiB
Plaintext
Raw Normal View History

2019-03-03 19:05:00 +00:00
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
2019-01-13 06:10:44 +00:00
2019-03-03 19:05:00 +00:00
+ 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).
2019-02-25 17:28:42 +00:00
2019-03-03 19:05:00 +00:00
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.
2019-02-25 17:28:42 +00:00
2019-03-03 19:05:00 +00:00
+ I was inspired to do this by this amazing PICO-8 version of:
https://liquidream.itch.io/another-world-survival
2019-02-25 17:28:42 +00:00
2019-03-03 19:05:00 +00:00
and thought the Apple II lo-res palette (15 colors, 40x48 graphics)
might be just barely enough to do it justice.
2019-02-25 17:28:42 +00:00
2019-03-03 19:05:00 +00:00
==================
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
2019-02-28 02:10:17 +00:00
2019-03-03 19:05:00 +00:00
During the intro, you can press R to make it repeat forever.
2019-02-28 02:10:17 +00:00
2019-03-03 19:05:00 +00:00
Joystick support: none yet?
2019-02-28 02:10:17 +00:00
2019-03-03 19:05:00 +00:00
==================
Development notes:
==================
2019-02-28 02:10:17 +00:00
2019-03-18 05:22:02 +00:00
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
2019-03-18 05:22:02 +00:00
14-16 loader
17-bf program-data (41.25k)
bc-bf earthquake background (shifted)
2019-03-18 05:22:02 +00:00
c0-cf I/O
d0-ff ROM
Intro Memory map:
2019-02-28 02:10:17 +00:00
00 zero page
01 stack
02 ????
2019-03-03 19:05:00 +00:00
03 nibble table/disk data
2019-02-28 02:10:17 +00:00
04-07 GR page0
08-0b GR page1
0c-0f offscreen data ($c00 = disk load buffer)
2019-02-28 02:10:17 +00:00
10-13 offscreen data2
2019-03-01 19:03:20 +00:00
14-16 loader
2019-03-03 19:05:00 +00:00
17-89 program/compressed-data (30.25k)
90-bf currently decompressed level data (12k)
2019-02-28 02:10:17 +00:00
c0-cf I/O
d0-ff ROM
2019-03-18 05:22:02 +00:00
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
2019-03-01 19:03:20 +00:00
2,493 over squish disk loader vars to page 3
2,165 over horrible hack to auto-go to next image in sequence
2019-03-02 03:31:43 +00:00
2,114 over move bg loading into seq
2,053 over make elevator indicator a loop
1,347 over use LZ4 instead of RLE
2019-03-03 19:05:00 +00:00
Gave up, see if we can compress in chunks and decompress, sort of like
my chiptune player does.
2019-03-02 18:37:17 +00:00
Let's take a 12k region of memory = $3000
$C000 - $3000 = starting at $9000
2019-03-02 15:55:32 +00:00
ID1 = 1461 2143\
2019-03-03 19:05:00 +00:00
ID2 = 1759 2687|--- together in 01
2019-03-02 16:42:59 +00:00
ID3 = 1195 1879/
ID4 = 2514 8280\--- in 04
ID5 = 1947 3492/
ID6 = 2584 3610\ --- in 06
ID7 = 2834 3606/
2019-03-02 16:42:59 +00:00
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
2019-03-19 19:31:37 +00:00
add end-of-l1 cutscene: 26464
make transparent overlays: 17821
add in rest of end cutscene 23906
2019-03-20 14:28:28 +00:00
make those transparent 21236
ootw2 memory squeeze:
before intro 3872
after intro 9234