mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-29 21:31:53 +00:00
mist: meche age possible
This commit is contained in:
parent
b3852655cf
commit
3e9fe63615
150
mist/meche.s
Normal file
150
mist/meche.s
Normal file
@ -0,0 +1,150 @@
|
||||
; Mechanical Engineer (meche) island
|
||||
|
||||
; by deater (Vince Weaver) <vince@deater.net>
|
||||
|
||||
; Zero Page
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
|
||||
|
||||
meche_start:
|
||||
;===================
|
||||
; init screen
|
||||
jsr TEXT
|
||||
jsr HOME
|
||||
bit KEYRESET
|
||||
|
||||
bit SET_GR
|
||||
bit PAGE0
|
||||
bit LORES
|
||||
bit FULLGR
|
||||
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
|
||||
; init cursor
|
||||
|
||||
lda #20
|
||||
sta CURSOR_X
|
||||
sta CURSOR_Y
|
||||
|
||||
;=================
|
||||
; init vars
|
||||
; FIXME: we could be re-called from other books
|
||||
; so don't set location here
|
||||
|
||||
lda #0
|
||||
sta LOCATION
|
||||
lda #DIRECTION_E
|
||||
sta DIRECTION
|
||||
|
||||
|
||||
lda LOCATION
|
||||
bne not_first_time
|
||||
|
||||
not_first_time:
|
||||
|
||||
|
||||
; set up initial location
|
||||
|
||||
jsr change_location
|
||||
|
||||
lda #1
|
||||
sta CURSOR_VISIBLE ; visible at first
|
||||
|
||||
|
||||
|
||||
game_loop:
|
||||
;=================
|
||||
; reset things
|
||||
;=================
|
||||
|
||||
lda #0
|
||||
sta IN_SPECIAL
|
||||
sta IN_RIGHT
|
||||
sta IN_LEFT
|
||||
|
||||
;====================================
|
||||
; copy background to current page
|
||||
;====================================
|
||||
|
||||
jsr gr_copy_to_current
|
||||
|
||||
;====================================
|
||||
; handle special-case forground logic
|
||||
;====================================
|
||||
|
||||
|
||||
nothing_special:
|
||||
|
||||
;====================================
|
||||
; draw pointer
|
||||
;====================================
|
||||
|
||||
jsr draw_pointer
|
||||
|
||||
;====================================
|
||||
; page flip
|
||||
;====================================
|
||||
|
||||
jsr page_flip
|
||||
|
||||
;====================================
|
||||
; handle keypress/joystick
|
||||
;====================================
|
||||
|
||||
jsr handle_keypress
|
||||
|
||||
|
||||
;====================================
|
||||
; inc frame count
|
||||
;====================================
|
||||
|
||||
inc FRAMEL
|
||||
bne room_frame_no_oflo
|
||||
inc FRAMEH
|
||||
room_frame_no_oflo:
|
||||
|
||||
jmp game_loop
|
||||
|
||||
|
||||
;==========================
|
||||
; includes
|
||||
;==========================
|
||||
|
||||
.include "gr_copy.s"
|
||||
.include "gr_offsets.s"
|
||||
.include "gr_pageflip.s"
|
||||
.include "gr_putsprite_crop.s"
|
||||
.include "text_print.s"
|
||||
.include "gr_fast_clear.s"
|
||||
.include "decompress_fast_v2.s"
|
||||
.include "keyboard.s"
|
||||
.include "draw_pointer.s"
|
||||
|
||||
.include "audio.s"
|
||||
|
||||
.include "graphics_meche/meche_graphics.inc"
|
||||
|
||||
|
||||
; puzzles
|
||||
|
||||
; linking books
|
||||
|
||||
; .include "link_book_mist.s"
|
||||
|
||||
.include "common_sprites.inc"
|
||||
|
||||
.include "leveldata_meche.inc"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;.align $100
|
||||
audio_red_page:
|
||||
.incbin "audio/red_page.btc"
|
||||
audio_link_noise:
|
||||
.incbin "audio/link_noise.btc"
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
;; LZSA addresses
|
||||
NIBCOUNT = $00
|
||||
WHICH_LOAD = $05
|
||||
|
||||
;; Zero page monitor routines addresses
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user