dos33fsprogs/ootw
2019-08-15 23:55:43 -04:00
..
intro_graphics ootw: intro: clean up the mess that accumulated when getting things to fit 2019-03-03 11:36:51 -05:00
ootw_audio ootw: working on some audio? 2019-07-22 01:04:37 -04:00
ootw_graphics ootw: alien disintegration works! 2019-08-15 16:27:02 -04:00
alien.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
audio.s ootw: getting silly with audio 2019-07-15 01:24:29 -04:00
blast.s ootw: alien disintegration works! 2019-08-15 16:27:02 -04:00
charger.s ootw: c4: implement gun charger 2019-08-14 13:59:58 -04:00
collision.s ootw: alien disintegration works! 2019-08-15 16:27:02 -04:00
compress_test.s
door.s ootw: c4: can blast open doors now 2019-08-15 15:12:34 -04:00
earthquake.s ootw: move earthquake framebuffer really high 2019-03-18 21:29:32 -04:00
empty.dsk ootw: revamp loader, add ability to run checkpoint4 2019-07-31 14:56:56 -04:00
FAQ ootw: update FAQ 2019-08-11 13:05:08 -04:00
friend.s ootw: initial friend implementation 2019-07-19 11:13:29 -04:00
gr_copy_offset.s ootw: c2: pre-load dome in advance 2019-07-12 13:12:06 -04:00
gr_copy.s
gr_fast_clear.s
gr_hlin.s ootw: c4: initial laser support 2019-08-09 21:46:04 -04:00
gr_make_quake.s ootw: move earthquake framebuffer really high 2019-03-18 21:29:32 -04:00
gr_offsets_hl.s ootw: split off hl offsets 2019-07-12 00:59:42 -04:00
gr_offsets.s ootw: split off hl offsets 2019-07-12 00:59:42 -04:00
gr_overlay.s
gr_pageflip.s
gr_plot.s
gr_putsprite_crop.s ootw: putsprite_crop now crops off top of screen too 2019-08-09 14:28:50 -04:00
gr_putsprite_flipped.s
gr_putsprite.s
gr_run_sequence.s ootw: add back intro, skip ifescape pressed 2019-07-20 12:17:25 -04:00
gr_twoscreen_scroll.s ootw: c4: falling into pit more or less works 2019-08-09 13:58:58 -04:00
gr_unrle.s
gr_vlin.s ootw: laser 2019-07-18 21:01:54 -04:00
gun.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
hardware.inc
hello.bas ootw: update disk for release 2019-08-15 23:55:43 -04:00
intro_data_01.s
intro_data_04.s
intro_data_06.s
intro_data_08.s ootw: intro: success! 2019-03-02 13:37:17 -05:00
intro_data_09.s ootw: intro: success! 2019-03-02 13:37:17 -05:00
intro.s ootw: intro2 working 2019-03-20 14:41:31 -04:00
keyboard.s ootw: c4: charging gun now works 2019-08-14 15:38:36 -04:00
laser.s ootw: alien disintegration works! 2019-08-15 16:27:02 -04:00
loader.s ootw: c5: add level5 (this is probably a mistake) 2019-08-08 15:38:10 -04:00
lz4_decode.s
Makefile ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
ootw_beast.s ootw: some more moving files around 2019-03-30 22:26:15 -04:00
ootw_c1_arrival.s ootw: underwater scene is playable 2019-07-31 00:11:30 -04:00
ootw_c1_cavern.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
ootw_c1_mesa.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
ootw_c1_pool.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
ootw_c1_rope.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
ootw_c1.s ootw: climb out of the pool 2019-07-29 15:02:58 -04:00
ootw_c2_cage.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
ootw_c2_elevator.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
ootw_c2_intro.s ootw: add back intro, skip ifescape pressed 2019-07-20 12:17:25 -04:00
ootw_c2_jail.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
ootw_c2_miners.s ootw: more work on cage end 2019-07-19 21:01:42 -04:00
ootw_c2.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
ootw_c3_vent.s ootw: c3: fix issue where not show falling in because PHYSICIST_Y was negative 2019-08-15 23:53:59 -04:00
ootw_c3.s ootw: c3: go to level4 at end 2019-08-10 15:50:16 -04:00
ootw_c4_action.s ootw: c4: action sequence hooked up 2019-08-14 09:45:13 -04:00
ootw_c4_city.s ootw: fix up things after c4 changes 2019-08-15 23:49:36 -04:00
ootw_c4.s ootw: c4: can collide with locked doors now 2019-08-15 13:38:11 -04:00
ootw_c5_cave.s ootw: c4: can finish level 2019-08-09 15:00:34 -04:00
ootw_c5.s ootw: c4: blast stopped by doors now 2019-08-15 14:24:46 -04:00
ootw_cut_beast.s ootw: move some files around to make it more consistent 2019-03-30 22:24:19 -04:00
ootw_cut_slug.s ootw: move some files around to make it more consistent 2019-03-30 22:24:19 -04:00
ootw_sluggy.s ootw: some more moving files around 2019-03-30 22:26:15 -04:00
ootw.dsk ootw: update disk for release 2019-08-15 23:55:43 -04:00
physicist.s ootw: c4: can collide with locked doors now 2019-08-15 13:38:11 -04:00
random16.s
README ootw: change the keyboard controls 2019-03-23 13:20:43 -04:00
shield.s ootw: c4: shields now more or less OK 2019-08-14 12:21:45 -04:00
text_print.s ootw: c3: "implement" checkpoint3 2019-07-12 13:40:29 -04:00
TODO ootw: update TODO 2019-08-15 17:10:15 -04:00
zp.inc ootw: c4: can blast open doors now 2019-08-15 15:12:34 -04: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

+ 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