2019-03-20 15:53:13 +00:00
|
|
|
; Ootw Level 1 for Apple II Lores
|
2019-01-17 21:58:19 +00:00
|
|
|
|
2019-01-18 16:33:23 +00:00
|
|
|
; by Vince "Deater" Weaver <vince@deater.net>
|
2019-01-13 06:10:44 +00:00
|
|
|
|
|
|
|
.include "zp.inc"
|
|
|
|
.include "hardware.inc"
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-16 03:44:57 +00:00
|
|
|
ootw:
|
2019-01-17 22:14:19 +00:00
|
|
|
; Initialize some variables
|
|
|
|
|
2019-01-16 03:44:57 +00:00
|
|
|
lda #0
|
2019-01-17 21:58:19 +00:00
|
|
|
sta GAME_OVER
|
2019-01-18 05:18:06 +00:00
|
|
|
sta EQUAKE_PROGRESS
|
|
|
|
sta EARTH_OFFSET
|
2019-03-15 16:28:46 +00:00
|
|
|
sta PHYSICIST_STATE
|
2019-01-20 06:02:41 +00:00
|
|
|
sta WHICH_CAVE
|
2019-01-25 02:41:01 +00:00
|
|
|
sta BEAST_OUT
|
2019-01-16 03:44:57 +00:00
|
|
|
|
2019-03-16 20:21:41 +00:00
|
|
|
lda #1
|
|
|
|
sta BEFORE_SWING
|
|
|
|
|
2019-01-17 22:14:19 +00:00
|
|
|
lda #22
|
|
|
|
sta PHYSICIST_Y
|
|
|
|
lda #20
|
|
|
|
sta PHYSICIST_X
|
|
|
|
|
|
|
|
lda #1
|
|
|
|
sta DIRECTION
|
|
|
|
|
2019-01-18 05:27:32 +00:00
|
|
|
lda #40
|
|
|
|
sta BOULDER_Y
|
|
|
|
|
2019-01-18 20:16:37 +00:00
|
|
|
;=======================
|
|
|
|
; Initialize the slugs
|
|
|
|
;=======================
|
|
|
|
|
2019-01-21 04:46:05 +00:00
|
|
|
jsr init_slugs
|
2019-01-18 21:04:52 +00:00
|
|
|
|
2019-01-21 04:46:05 +00:00
|
|
|
;=======================
|
|
|
|
; Enter the game
|
|
|
|
;=======================
|
2019-01-18 21:04:52 +00:00
|
|
|
|
2019-01-17 21:58:19 +00:00
|
|
|
jsr ootw_pool
|
2019-01-16 03:44:57 +00:00
|
|
|
|
|
|
|
;===========================
|
|
|
|
; quit_level
|
|
|
|
;===========================
|
2019-03-20 15:53:13 +00:00
|
|
|
lda GAME_OVER ; see why we quit
|
|
|
|
cmp #$ff
|
|
|
|
beq l1_quit_or_died
|
|
|
|
|
|
|
|
;====================
|
|
|
|
; go to next level
|
|
|
|
l1_defeated:
|
|
|
|
lda #2 ; go to next level
|
|
|
|
sta WHICH_LOAD
|
|
|
|
rts
|
|
|
|
|
|
|
|
;========================
|
|
|
|
; print death message
|
|
|
|
; then restart
|
|
|
|
l1_quit_or_died:
|
2019-01-16 03:44:57 +00:00
|
|
|
jsr TEXT
|
|
|
|
jsr HOME
|
|
|
|
lda KEYRESET ; clear strobe
|
|
|
|
|
2019-01-16 05:28:23 +00:00
|
|
|
lda #0
|
|
|
|
sta DRAW_PAGE
|
|
|
|
|
|
|
|
lda #<end_message
|
|
|
|
sta OUTL
|
|
|
|
lda #>end_message
|
|
|
|
sta OUTH
|
|
|
|
|
|
|
|
jsr move_and_print
|
|
|
|
jsr move_and_print
|
|
|
|
|
2019-01-16 03:44:57 +00:00
|
|
|
wait_loop:
|
|
|
|
lda KEYPRESS
|
|
|
|
bpl wait_loop
|
|
|
|
|
|
|
|
lda KEYRESET ; clear strobe
|
|
|
|
|
|
|
|
jmp ootw
|
|
|
|
|
|
|
|
|
2019-01-16 05:28:23 +00:00
|
|
|
end_message:
|
|
|
|
.byte 8,10,"PRESS RETURN TO CONTINUE",0
|
|
|
|
.byte 11,20,"ACCESS CODE: IH8S",0
|
2019-01-16 03:44:57 +00:00
|
|
|
|
2019-01-19 04:23:18 +00:00
|
|
|
.include "ootw_rope.s"
|
2019-01-17 21:58:19 +00:00
|
|
|
.include "ootw_pool.s"
|
|
|
|
.include "ootw_cavern.s"
|
2019-01-20 06:45:51 +00:00
|
|
|
.include "ootw_mesa.s"
|
2019-01-17 21:58:19 +00:00
|
|
|
.include "physicist.s"
|
2019-01-20 04:51:58 +00:00
|
|
|
.include "sluggy.s"
|
2019-01-20 06:05:52 +00:00
|
|
|
.include "earthquake.s"
|
2019-01-16 05:28:23 +00:00
|
|
|
.include "text_print.s"
|
2019-01-13 06:10:44 +00:00
|
|
|
.include "gr_pageflip.s"
|
|
|
|
.include "gr_unrle.s"
|
|
|
|
.include "gr_fast_clear.s"
|
|
|
|
.include "gr_copy.s"
|
2019-03-01 16:53:56 +00:00
|
|
|
.include "gr_make_quake.s"
|
2019-01-14 04:37:49 +00:00
|
|
|
.include "gr_putsprite.s"
|
2019-03-01 17:04:29 +00:00
|
|
|
.include "gr_putsprite_flipped.s"
|
2019-01-14 04:37:49 +00:00
|
|
|
.include "gr_offsets.s"
|
2019-01-18 05:18:06 +00:00
|
|
|
.include "random16.s"
|
2019-01-19 03:27:01 +00:00
|
|
|
.include "keyboard.s"
|
2019-03-19 04:31:18 +00:00
|
|
|
.include "gr_overlay.s"
|
2019-03-22 05:14:33 +00:00
|
|
|
.include "gr_putsprite_crop.s"
|
2019-03-19 04:31:18 +00:00
|
|
|
|
2019-01-23 04:00:59 +00:00
|
|
|
; room backgrounds
|
2019-03-08 15:58:43 +00:00
|
|
|
.include "ootw_graphics/pool/ootw_pool.inc"
|
2019-03-08 17:19:55 +00:00
|
|
|
.include "ootw_graphics/caves/ootw_cavern.inc"
|
|
|
|
.include "ootw_graphics/caves/ootw_cavern2.inc"
|
|
|
|
.include "ootw_graphics/caves/ootw_cavern3.inc"
|
|
|
|
.include "ootw_graphics/rope/ootw_rope.inc"
|
2019-03-16 20:00:42 +00:00
|
|
|
.include "ootw_graphics/rope/ootw_swing.inc"
|
2019-03-08 17:19:55 +00:00
|
|
|
.include "ootw_graphics/underwater/ootw_underwater.inc"
|
2019-01-23 04:00:59 +00:00
|
|
|
; sprites
|
2019-03-23 19:07:13 +00:00
|
|
|
.include "ootw_graphics/sprites/sprites_ootw.inc"
|
2019-03-10 05:29:54 +00:00
|
|
|
.include "ootw_graphics/sprites/sprites_physicist.inc"
|
2019-03-23 19:07:13 +00:00
|
|
|
.include "ootw_graphics/sprites/sprites_slugs.inc"
|
|
|
|
.include "ootw_graphics/sprites/sprites_beast.inc"
|
2019-01-23 04:00:59 +00:00
|
|
|
; cutscenes
|
2019-01-24 21:55:53 +00:00
|
|
|
.include "cutscene_slug.s"
|
|
|
|
.include "cutscene_beast.s"
|
2019-03-19 16:06:36 +00:00
|
|
|
.include "ootw_graphics/endl1/ootw_l1end.inc"
|