mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-28 06:30:18 +00:00
ootw: intro: allow continuing to game
This commit is contained in:
parent
5791937a4e
commit
484579c400
70
ootw/README
70
ootw/README
@ -1,35 +1,52 @@
|
||||
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
|
||||
|
||||
Saw the amazing PICO-8 version of this:
|
||||
+ 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 lo-res pallette might be just barely enough to do
|
||||
it justice.
|
||||
|
||||
Of course you could just play on your IIgs, but what's the fun in that.
|
||||
|
||||
|
||||
|
||||
|
||||
Up to tunnel1, using RLE:
|
||||
35875 INTRO
|
||||
|
||||
using LZ4:
|
||||
|
||||
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:
|
||||
==================
|
||||
|
||||
Memory map:
|
||||
00 zero page
|
||||
01 stack
|
||||
02 ????
|
||||
03 dos33 nibble table
|
||||
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-bf program/data (42.25k)
|
||||
17-89 program/compressed-data (30.25k)
|
||||
90-bf currently decompressed level data (12k)
|
||||
c0-cf I/O
|
||||
d0-ff ROM
|
||||
|
||||
@ -50,19 +67,8 @@ Memory squeeze!
|
||||
2,053 over make elevator indicator a loop
|
||||
1,347 over use LZ4 instead of RLE
|
||||
|
||||
|
||||
|
||||
4000 code
|
||||
|
||||
40000 data
|
||||
|
||||
20000 -> 12000
|
||||
20000 -> 12000
|
||||
24000+20000=44000
|
||||
|
||||
20000 -> 10000
|
||||
20000 -> 10000
|
||||
20000+2000=
|
||||
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
|
||||
@ -70,7 +76,7 @@ Let's take a 12k region of memory = $3000
|
||||
|
||||
|
||||
ID1 = 1461 2143\
|
||||
ID2 = 1759 2687|--- togeter in 01
|
||||
ID2 = 1759 2687|--- together in 01
|
||||
ID3 = 1195 1879/
|
||||
ID4 = 2514 8280\--- in 04
|
||||
ID5 = 1947 3492/
|
||||
@ -82,7 +88,3 @@ ID10 = 3397 5558/
|
||||
===== ======
|
||||
25890 12k
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
10
ootw/TODO
10
ootw/TODO
@ -1,15 +1,5 @@
|
||||
TODO:
|
||||
|
||||
intro:
|
||||
+ keyboard: skip to end, r to repeat forever
|
||||
+ Some bugs to fix at some point
|
||||
-> closing panel at entry to scanner, one frame missing grey line
|
||||
-> on building_car bg there are some grey patches that are
|
||||
grey 10 instead of grey 5
|
||||
|
||||
general:
|
||||
+ move gr_make_quake out of gr_copy
|
||||
|
||||
movement -- note these are hard due to limitations of the Apple II keyboard
|
||||
+ ability to run
|
||||
+ ability to jump
|
||||
|
@ -1,5 +1,5 @@
|
||||
5 HOME
|
||||
10 PRINT "OOTW PROOF-OF-CONCEPT V1.7 BY DEATER"
|
||||
10 PRINT "OOTW PROOF-OF-CONCEPT V1.8 BY DEATER"
|
||||
20 PRINT " DISK,LZ4 BY QKUMBA"
|
||||
25 PRINT " ,"
|
||||
30 PRINT "ORIGINAL BY ERIC CHAHI"
|
||||
|
44
ootw/intro.s
44
ootw/intro.s
@ -6,7 +6,11 @@
|
||||
.include "hardware.inc"
|
||||
|
||||
intro:
|
||||
lda #0
|
||||
sta INTRO_REPEAT
|
||||
bit KEYRESET
|
||||
|
||||
repeat_intro:
|
||||
;===========================
|
||||
; Enable graphics
|
||||
|
||||
@ -1617,11 +1621,43 @@ tunnel1:
|
||||
|
||||
jsr run_sequence
|
||||
|
||||
gone_loop:
|
||||
lda KEYPRESS
|
||||
bpl gone_loop
|
||||
bit KEYRESET
|
||||
;======================
|
||||
; Pause a bit
|
||||
|
||||
ldx #180
|
||||
jsr long_wait
|
||||
|
||||
;gone_loop:
|
||||
; lda KEYPRESS
|
||||
; bpl gone_loop
|
||||
; bit KEYRESET
|
||||
|
||||
; see if R pressed, if so, repeat
|
||||
; otherwise, return and indicate we want to start the game
|
||||
|
||||
lda KEYPRESS
|
||||
bpl check_repeat ; if no keypress, jump ahead
|
||||
|
||||
and #$7f ; clear high bit
|
||||
|
||||
cmp #'R'
|
||||
bne check_repeat
|
||||
|
||||
lda INTRO_REPEAT
|
||||
eor #$1
|
||||
sta INTRO_REPEAT
|
||||
|
||||
|
||||
check_repeat:
|
||||
bit KEYRESET ; reset keyboard strobe
|
||||
lda INTRO_REPEAT
|
||||
beq done_intro
|
||||
|
||||
jmp repeat_intro
|
||||
|
||||
done_intro:
|
||||
lda #1 ; start game
|
||||
sta WHICH_LOAD
|
||||
|
||||
rts
|
||||
|
||||
|
BIN
ootw/ootw.dsk
BIN
ootw/ootw.dsk
Binary file not shown.
@ -70,6 +70,7 @@ BLARGH = $69
|
||||
;DY_F = $6F
|
||||
|
||||
|
||||
INTRO_REPEAT = $7E
|
||||
ZPOS = $78
|
||||
|
||||
REGISTER_DUMP = $70
|
||||
|
Loading…
x
Reference in New Issue
Block a user