mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-27 17:29:49 +00:00
monkey: print current active verb
This commit is contained in:
parent
1ac4e8d995
commit
2cb849dfd2
@ -30,7 +30,7 @@ monkey.o: monkey.s zp.inc hardware.inc common_defines.inc \
|
|||||||
common_sprites.inc \
|
common_sprites.inc \
|
||||||
keyboard.s joystick.s \
|
keyboard.s joystick.s \
|
||||||
leveldata_monkey.inc \
|
leveldata_monkey.inc \
|
||||||
monkey_actions.s \
|
monkey_actions.s update_bottom.s \
|
||||||
guy.brush
|
guy.brush
|
||||||
ca65 -o monkey.o monkey.s -l monkey.lst
|
ca65 -o monkey.o monkey.s -l monkey.lst
|
||||||
|
|
||||||
|
@ -57,6 +57,9 @@ monkey_start:
|
|||||||
lda #0
|
lda #0
|
||||||
sta ANIMATE_FRAME
|
sta ANIMATE_FRAME
|
||||||
|
|
||||||
|
lda #VERB_WALK
|
||||||
|
sta CURRENT_VERB
|
||||||
|
|
||||||
game_loop:
|
game_loop:
|
||||||
;=================
|
;=================
|
||||||
; reset things
|
; reset things
|
||||||
@ -95,25 +98,7 @@ game_loop:
|
|||||||
|
|
||||||
jmp nothing_special
|
jmp nothing_special
|
||||||
|
|
||||||
fg_draw_blue_page:
|
|
||||||
; jsr draw_blue_page
|
|
||||||
jmp nothing_special
|
|
||||||
|
|
||||||
fg_draw_red_page:
|
|
||||||
; jsr draw_red_page
|
|
||||||
jmp nothing_special
|
|
||||||
|
|
||||||
animate_projector:
|
|
||||||
; jsr draw_projection
|
|
||||||
jmp nothing_special
|
|
||||||
|
|
||||||
animate_trap:
|
|
||||||
; jsr draw_trap
|
|
||||||
jmp nothing_special
|
|
||||||
|
|
||||||
animate_gate_s:
|
|
||||||
; jsr update_gate_s
|
|
||||||
jmp nothing_special
|
|
||||||
|
|
||||||
animate_gate_n:
|
animate_gate_n:
|
||||||
; jsr update_gate_n
|
; jsr update_gate_n
|
||||||
@ -243,68 +228,6 @@ really_exit:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;====================================
|
|
||||||
;====================================
|
|
||||||
; update bottom of screen
|
|
||||||
;====================================
|
|
||||||
;====================================
|
|
||||||
update_bottom:
|
|
||||||
|
|
||||||
ldx #0
|
|
||||||
|
|
||||||
bottom_loop:
|
|
||||||
lda bottom_strings,X
|
|
||||||
sta OUTL
|
|
||||||
lda bottom_strings+1,X
|
|
||||||
sta OUTH
|
|
||||||
|
|
||||||
jsr move_and_print
|
|
||||||
|
|
||||||
inx
|
|
||||||
inx
|
|
||||||
|
|
||||||
cpx #18
|
|
||||||
bne bottom_loop
|
|
||||||
|
|
||||||
rts
|
|
||||||
|
|
||||||
;0123456789012345678901234567890123456789
|
|
||||||
;
|
|
||||||
;GIVE PICK UP USE
|
|
||||||
;OPEN LOOK AT PUSH
|
|
||||||
;CLOSE TALK TO PULL
|
|
||||||
|
|
||||||
bottom_strings:
|
|
||||||
.word bottom_give
|
|
||||||
.word bottom_open
|
|
||||||
.word bottom_close
|
|
||||||
.word bottom_pick_up
|
|
||||||
.word bottom_look_at
|
|
||||||
.word bottom_talk_to
|
|
||||||
.word bottom_use
|
|
||||||
.word bottom_push
|
|
||||||
.word bottom_pull
|
|
||||||
|
|
||||||
bottom_give: .byte 0,21,"GIVE ",0
|
|
||||||
bottom_open: .byte 0,22,"OPEN ",0
|
|
||||||
bottom_close: .byte 0,23,"CLOSE",0
|
|
||||||
bottom_pick_up: .byte 6,21,"PICK UP",0
|
|
||||||
bottom_look_at: .byte 6,22,"LOOK AT",0
|
|
||||||
bottom_talk_to: .byte 6,23,"TALK TO",0
|
|
||||||
bottom_use: .byte 15,21,"USE ",0
|
|
||||||
bottom_push: .byte 15,22,"PUSH",0
|
|
||||||
bottom_pull: .byte 15,23,"PULL",0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;==========================
|
;==========================
|
||||||
; includes
|
; includes
|
||||||
;==========================
|
;==========================
|
||||||
@ -331,3 +254,4 @@ bottom_pull: .byte 15,23,"PULL",0
|
|||||||
.include "guy.brush"
|
.include "guy.brush"
|
||||||
|
|
||||||
.include "monkey_actions.s"
|
.include "monkey_actions.s"
|
||||||
|
.include "update_bottom.s"
|
||||||
|
@ -1,3 +1,33 @@
|
|||||||
|
;=============================
|
||||||
|
; normal_text
|
||||||
|
;=============================
|
||||||
|
; modify so print normal text
|
||||||
|
normal_text:
|
||||||
|
|
||||||
|
; want ora #$80
|
||||||
|
lda #$09
|
||||||
|
sta ps_smc1
|
||||||
|
|
||||||
|
lda #$80
|
||||||
|
sta ps_smc1+1
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
;=============================
|
||||||
|
; inverse_text
|
||||||
|
;=============================
|
||||||
|
; modify so print inverse text
|
||||||
|
inverse_text:
|
||||||
|
|
||||||
|
; want and #$3f
|
||||||
|
lda #$29
|
||||||
|
sta ps_smc1
|
||||||
|
|
||||||
|
lda #$3f
|
||||||
|
sta ps_smc1+1
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
;================================
|
;================================
|
||||||
; move_and_print
|
; move_and_print
|
||||||
|
112
monkey/update_bottom.s
Normal file
112
monkey/update_bottom.s
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
;====================================
|
||||||
|
;====================================
|
||||||
|
; update bottom of screen
|
||||||
|
;====================================
|
||||||
|
;====================================
|
||||||
|
update_bottom:
|
||||||
|
|
||||||
|
; draw first line
|
||||||
|
; it's verb followed by noun
|
||||||
|
|
||||||
|
jsr normal_text
|
||||||
|
|
||||||
|
; first clear line
|
||||||
|
lda #<clear_line
|
||||||
|
sta OUTL
|
||||||
|
lda #>clear_line
|
||||||
|
sta OUTH
|
||||||
|
jsr move_and_print
|
||||||
|
|
||||||
|
lda CURRENT_VERB
|
||||||
|
asl
|
||||||
|
tay
|
||||||
|
lda verb_names,Y
|
||||||
|
sta OUTL
|
||||||
|
lda verb_names+1,Y
|
||||||
|
sta OUTH
|
||||||
|
|
||||||
|
jsr move_and_print
|
||||||
|
|
||||||
|
|
||||||
|
lda CURRENT_NOUN
|
||||||
|
bmi no_noun
|
||||||
|
|
||||||
|
no_noun:
|
||||||
|
|
||||||
|
|
||||||
|
;========================
|
||||||
|
; draw command bars
|
||||||
|
|
||||||
|
jsr inverse_text
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
bottom_loop:
|
||||||
|
lda bottom_strings,X
|
||||||
|
sta OUTL
|
||||||
|
lda bottom_strings+1,X
|
||||||
|
sta OUTH
|
||||||
|
|
||||||
|
jsr move_and_print
|
||||||
|
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
|
||||||
|
cpx #18
|
||||||
|
bne bottom_loop
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
;0123456789012345678901234567890123456789
|
||||||
|
;
|
||||||
|
;GIVE PICK UP USE
|
||||||
|
;OPEN LOOK AT PUSH
|
||||||
|
;CLOSE TALK TO PULL
|
||||||
|
|
||||||
|
bottom_strings:
|
||||||
|
.word bottom_give
|
||||||
|
.word bottom_open
|
||||||
|
.word bottom_close
|
||||||
|
.word bottom_pick_up
|
||||||
|
.word bottom_look_at
|
||||||
|
.word bottom_talk_to
|
||||||
|
.word bottom_use
|
||||||
|
.word bottom_push
|
||||||
|
.word bottom_pull
|
||||||
|
|
||||||
|
bottom_give: .byte 0,21,"GIVE ",0
|
||||||
|
bottom_open: .byte 0,22,"OPEN ",0
|
||||||
|
bottom_close: .byte 0,23,"CLOSE",0
|
||||||
|
bottom_pick_up: .byte 6,21,"PICK UP",0
|
||||||
|
bottom_look_at: .byte 6,22,"LOOK AT",0
|
||||||
|
bottom_talk_to: .byte 6,23,"TALK TO",0
|
||||||
|
bottom_use: .byte 15,21,"USE ",0
|
||||||
|
bottom_push: .byte 15,22,"PUSH",0
|
||||||
|
bottom_pull: .byte 15,23,"PULL",0
|
||||||
|
|
||||||
|
|
||||||
|
verb_names:
|
||||||
|
|
||||||
|
.word verb_give
|
||||||
|
.word verb_open
|
||||||
|
.word verb_close
|
||||||
|
.word verb_pick_up
|
||||||
|
.word verb_look_at
|
||||||
|
.word verb_talk_to
|
||||||
|
.word verb_use
|
||||||
|
.word verb_push
|
||||||
|
.word verb_pull
|
||||||
|
.word verb_walk
|
||||||
|
|
||||||
|
verb_give: .byte 15,20,"GIVE ",0
|
||||||
|
verb_open: .byte 15,20,"OPEN ",0
|
||||||
|
verb_close: .byte 14,20,"CLOSE ",0
|
||||||
|
verb_pick_up: .byte 12,20,"PICK UP ",0
|
||||||
|
verb_look_at: .byte 12,20,"LOOK AT ",0
|
||||||
|
verb_talk_to: .byte 12,20,"TALK TO ",0
|
||||||
|
verb_use: .byte 16,20,"USE ",0
|
||||||
|
verb_push: .byte 15,20,"PUSH ",0
|
||||||
|
verb_pull: .byte 15,20,"PULL ",0
|
||||||
|
verb_walk: .byte 12,20,"WALK TO ",0
|
||||||
|
|
||||||
|
clear_line: .byte 12,20," ",0
|
@ -76,8 +76,9 @@ LOCATION = $81 ; location on the map
|
|||||||
|
|
||||||
GUYBRUSH_X = $82 ; location of protagonist
|
GUYBRUSH_X = $82 ; location of protagonist
|
||||||
GUYBRUSH_Y = $83
|
GUYBRUSH_Y = $83
|
||||||
CURRENT_VERB = $84
|
|
||||||
|
|
||||||
|
CURRENT_VERB = $84 ; current verb
|
||||||
|
CURRENT_NOUN = $85 ; current noun
|
||||||
|
|
||||||
; done game puzzle state
|
; done game puzzle state
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user