mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-20 03:35:24 +00:00
106 lines
2.8 KiB
Plaintext
106 lines
2.8 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:
|
|
==================
|
|
Use WASD keys to move, also arrow keys where available.
|
|
This is tricky as the original Apple II keyboard is very
|
|
simplistic so it's hard to get auto-repeat or multi keypress.
|
|
Spacebar is action.
|
|
|
|
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 earthquake background (shifted) background
|
|
14-16 loader
|
|
17-bf program-data (42.25k)
|
|
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
|
|
|