dos33fsprogs/ootw/ootw_c2.s

145 lines
2.4 KiB
ArmAsm
Raw Normal View History

2019-01-28 02:37:09 +00:00
; Ootw for Apple II Lores -- Checkpoint2
; by Vince "Deater" Weaver <vince@deater.net>
.include "zp.inc"
.include "hardware.inc"
ootw_c2:
; Initialize some variables
lda #0
sta GAME_OVER
;=======================
; Run the intro
;=======================
; jsr ootw_c2_intro
lda #0
sta CITY_MOVIE_SEEN
2019-01-28 02:37:09 +00:00
;=======================
; Enter the game
;=======================
jsr ootw_cage
2019-07-09 15:23:48 +00:00
;=======================
; Start Level After Cage
2019-07-09 15:23:48 +00:00
;=======================
2019-07-19 17:13:23 +00:00
jsr ootw_jail_init
2019-07-09 15:23:48 +00:00
;=========================
; c2_new_room
;=========================
; enter new room on level2
c2_new_room:
lda #0
sta GAME_OVER
2019-07-09 15:23:48 +00:00
lda WHICH_JAIL
cmp #7
2019-07-09 15:23:48 +00:00
bcs elevator_room ; bge
jail_room:
jsr ootw_jail
jmp c2_check_done
elevator_room:
jsr ootw_elevator
c2_check_done:
lda GAME_OVER
cmp #$ff
beq quit_level
2019-07-09 15:23:48 +00:00
; only exit if done level
; FIXME: or quit pressed?
lda WHICH_JAIL
cmp #11
bne c2_new_room
2019-01-28 02:37:09 +00:00
;===========================
; quit_level
;===========================
quit_level:
jsr TEXT
jsr HOME
lda KEYRESET ; clear strobe
lda #0
sta DRAW_PAGE
lda #<end_message
sta OUTL
lda #>end_message
sta OUTH
jsr move_and_print
jsr move_and_print
wait_loop:
lda KEYPRESS
bpl wait_loop
lda KEYRESET ; clear strobe
jmp ootw_c2
end_message:
.byte 8,10,"PRESS RETURN TO CONTINUE",0
.byte 11,20,"ACCESS CODE: RAGE",0
.include "ootw_c2_cage.s"
2019-03-21 02:46:18 +00:00
.include "ootw_c2_jail.s"
2019-07-09 15:23:48 +00:00
.include "ootw_c2_elevator.s"
.include "ootw_c2_intro.s"
2019-01-28 02:37:09 +00:00
.include "text_print.s"
.include "gr_pageflip.s"
.include "gr_unrle.s"
.include "gr_fast_clear.s"
.include "gr_copy.s"
2019-07-12 16:52:39 +00:00
.include "gr_copy_offset.s"
2019-01-28 02:37:09 +00:00
.include "gr_putsprite.s"
.include "gr_putsprite_flipped.s"
.include "gr_putsprite_crop.s"
2019-01-28 02:37:09 +00:00
.include "gr_offsets.s"
2019-07-12 04:59:42 +00:00
.include "gr_offsets_hl.s"
.include "gr_run_sequence.s"
.include "gr_overlay.s"
2019-07-19 00:10:09 +00:00
.include "gr_vlin.s"
2019-01-28 02:37:09 +00:00
.include "random16.s"
.include "keyboard.s"
2019-07-18 17:53:52 +00:00
.include "physicist.s"
.include "alien.s"
2019-07-19 15:13:29 +00:00
.include "friend.s"
2019-07-18 17:53:52 +00:00
2019-07-15 16:03:54 +00:00
; background miners
.include "ootw_c2_miners.s"
2019-01-28 02:37:09 +00:00
; room backgrounds
2019-07-19 01:01:54 +00:00
.include "ootw_graphics/l2cage/ootw_c2_cage.inc"
2019-03-21 02:46:18 +00:00
.include "ootw_graphics/l2jail/ootw_c2_jail.inc"
2019-01-28 02:37:09 +00:00
; sprites
2019-03-10 05:29:54 +00:00
.include "ootw_graphics/sprites/sprites_physicist.inc"
2019-07-18 17:53:52 +00:00
.include "ootw_graphics/sprites/sprites_alien.inc"
2019-07-19 15:13:29 +00:00
.include "ootw_graphics/sprites/sprites_friend.inc"
; intro
.include "ootw_graphics/l2intro/ootw_l2intro.inc"
2019-07-12 04:43:23 +00:00
; city movie
.include "ootw_graphics/city/city_movie.inc"
2019-07-20 01:30:23 +00:00
; laser movie
.include "ootw_graphics/l2laser/ootw_c2_laser.inc"
2019-07-15 16:03:54 +00:00