mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-25 05:29:34 +00:00
ds: automate astronaut
This commit is contained in:
parent
ad8e0e05c3
commit
245983b771
@ -54,7 +54,7 @@ demosplash.o: demosplash.s \
|
||||
pt3_lib_play_frame.s pt3_lib_write_frame.s \
|
||||
interrupt_handler.s \
|
||||
missing.s k_40_48d.inc create_update_type1.s \
|
||||
starbase.s \
|
||||
starbase.s keyboard.s \
|
||||
starbase_action.s starbase_laser.s starbase_blast.s \
|
||||
gr_run_sequence.s \
|
||||
graphics/starbase/starbase.inc \
|
||||
|
@ -1,3 +1,8 @@
|
||||
TODO if time:
|
||||
+ better star animation
|
||||
+ star fade in to book?
|
||||
|
||||
|
||||
General:
|
||||
+ get music working
|
||||
|
||||
@ -8,17 +13,14 @@ OPENER:
|
||||
MISSING:
|
||||
+ Add colored bars for accent?
|
||||
|
||||
PACKAGE:
|
||||
+ Implement
|
||||
PACKAGE: 01234567890123456789012345678901234567
|
||||
+ "MEANWHILE AT A DISTANT STARBASE PRISON"
|
||||
"AN INTERESTING PACKAGE IS RECEIVED"
|
||||
|
||||
STARBASE:
|
||||
+ Keyboard emulation
|
||||
|
||||
+ change colors of shield? laser? blast?
|
||||
|
||||
+ room0 -- done
|
||||
|
||||
|
||||
+ room1 - run in
|
||||
- duck, start shield
|
||||
- blash shield, alien
|
||||
@ -39,7 +41,7 @@ ESCAPE:
|
||||
+ Keyboard emulation
|
||||
|
||||
READING:
|
||||
+ Add message of some sort?
|
||||
+ "FINALLY I CAN READ SOME BOOKS IN PEACE"
|
||||
|
||||
CREDITS:
|
||||
+ implement text
|
||||
|
@ -282,8 +282,9 @@ astro_run_left9:
|
||||
;=====================
|
||||
;=====================
|
||||
|
||||
; note: he needs to be facing left by default
|
||||
; note: she needs to be facing left by default
|
||||
kick1:
|
||||
.if 0
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
@ -293,6 +294,7 @@ kick1:
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$22,$a2,$6a,$aa
|
||||
.byte $af,$f2,$5a,$56,$aa
|
||||
.endif
|
||||
|
||||
;=====================
|
||||
;=====================
|
||||
@ -318,9 +320,10 @@ shooting1:
|
||||
;=====================
|
||||
;=====================
|
||||
|
||||
; note: he falls into a crouch
|
||||
; note: she falls into a crouch
|
||||
|
||||
astro_falling:
|
||||
.if 0
|
||||
.byte 5,8
|
||||
.byte $aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$8a,$8a,$aa
|
||||
@ -330,7 +333,7 @@ astro_falling:
|
||||
.byte $aa,$aa,$aa,$22,$22
|
||||
.byte $6a,$26,$22,$a2,$aa
|
||||
.byte $f5,$f2,$aa,$aa,$aa
|
||||
|
||||
.endif
|
||||
|
||||
|
||||
;=====================
|
||||
@ -396,6 +399,7 @@ collapse_progression:
|
||||
.word collapse5 ; 16
|
||||
|
||||
collapse1:
|
||||
.if 0
|
||||
.byte 4,8
|
||||
.byte $8a,$8a,$aa,$aa
|
||||
.byte $ab,$88,$aa,$aa
|
||||
@ -405,9 +409,10 @@ collapse1:
|
||||
.byte $aa,$22,$aa,$aa
|
||||
.byte $aa,$a2,$2a,$aa
|
||||
.byte $aa,$fa,$f2,$aa
|
||||
|
||||
.endif
|
||||
|
||||
collapse2:
|
||||
.if 0
|
||||
.byte 5,8
|
||||
.byte $aa,$aa,$aa,$aa,$aa
|
||||
.byte $b8,$88,$aa,$aa,$aa
|
||||
@ -417,10 +422,11 @@ collapse2:
|
||||
.byte $aa,$bb,$22,$2a,$aa
|
||||
.byte $aa,$ab,$aa,$a2,$2a
|
||||
.byte $aa,$aa,$aa,$fa,$f2
|
||||
|
||||
.endif
|
||||
|
||||
|
||||
collapse3:
|
||||
.if 0
|
||||
.byte 6,8
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa
|
||||
@ -430,8 +436,10 @@ collapse3:
|
||||
.byte $aa,$bb,$22,$2a,$aa,$aa
|
||||
.byte $aa,$bb,$a2,$22,$22,$fa
|
||||
.byte $aa,$ab,$aa,$aa,$a2,$ff
|
||||
.endif
|
||||
|
||||
collapse4:
|
||||
.if 0
|
||||
.byte 7,8
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
@ -441,9 +449,10 @@ collapse4:
|
||||
.byte $88,$bb,$22,$2a,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$22,$22,$2a,$fa
|
||||
.byte $aa,$aa,$aa,$bb,$aa,$a2,$ff
|
||||
|
||||
.endif
|
||||
|
||||
collapse5:
|
||||
.if 0
|
||||
.byte 8,8
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
@ -453,7 +462,7 @@ collapse5:
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||
.byte $88,$b8,$22,$b2,$22,$bb,$2a,$aa
|
||||
.byte $a8,$ab,$aa,$aa,$bb,$b2,$22,$ff
|
||||
|
||||
.endif
|
||||
|
||||
|
||||
;=====================
|
||||
@ -571,12 +580,13 @@ jump8:
|
||||
|
||||
; 9x40
|
||||
astronaut_spike_sprite:
|
||||
.if 0
|
||||
.byte 3,4
|
||||
.byte $AA,$11,$AA
|
||||
.byte $2A,$82,$2A
|
||||
.byte $BB,$A8,$BB
|
||||
.byte $BB,$AA,$BB
|
||||
|
||||
.endif
|
||||
|
||||
|
||||
;=====================
|
||||
@ -603,6 +613,7 @@ crouch_shooting:
|
||||
;=====================
|
||||
|
||||
crouch_kicking:
|
||||
.if 0
|
||||
.byte 5,8
|
||||
.byte $AA,$AA,$aa,$aa,$aa
|
||||
.byte $AA,$AA,$aa,$aa,$aa
|
||||
@ -612,7 +623,7 @@ crouch_kicking:
|
||||
.byte $AA,$AA,$aa,$bb,$22
|
||||
.byte $AA,$AA,$2a,$bb,$a2
|
||||
.byte $5A,$56,$A2,$f2,$f2
|
||||
|
||||
.endif
|
||||
|
||||
|
||||
|
||||
|
@ -30,11 +30,37 @@ handle_keypress:
|
||||
lda ASTRONAUT_STATE
|
||||
bmi no_keypress ; ignore keypress if dying/action
|
||||
|
||||
dec KEY_COUNTDOWN
|
||||
lda KEY_COUNTDOWN
|
||||
bne done_keycount
|
||||
|
||||
ldy #0
|
||||
lda (KEYPTRL),Y
|
||||
pha
|
||||
iny
|
||||
lda (KEYPTRL),Y
|
||||
sta KEY_COUNTDOWN
|
||||
|
||||
clc
|
||||
lda KEYPTRL
|
||||
adc #2
|
||||
sta KEYPTRL
|
||||
lda #0
|
||||
adc KEYPTRH
|
||||
sta KEYPTRH
|
||||
|
||||
pla ; restore keypress
|
||||
jmp keypress
|
||||
|
||||
.if 0
|
||||
lda KEYPRESS ; 4
|
||||
bmi keypress ; 3
|
||||
.endif
|
||||
|
||||
no_keypress:
|
||||
bit KEYRESET ; clear
|
||||
; avoid keeping old keys around
|
||||
done_keycount:
|
||||
rts ; nothing pressed, return
|
||||
|
||||
keypress:
|
||||
@ -420,3 +446,23 @@ change_state_clear_gait:
|
||||
lda #0
|
||||
sta GAIT
|
||||
jmp done_keypress
|
||||
|
||||
|
||||
|
||||
starbase_keypresses:
|
||||
.byte 'L',180 ; start charging laser
|
||||
.byte 'L',1 ; release, blasting door
|
||||
.byte 'D',200 ; walk right
|
||||
.byte 'D',50 ; walk right ; into door
|
||||
.byte 'A',1 ; walk right ; turn
|
||||
.byte 'A',50 ; walk right ; walk left
|
||||
.byte 'D',1 ; stop
|
||||
.byte 'D',1 ; turn right
|
||||
.byte 'S',20 ; duck
|
||||
.byte 'L',180 ; start charging
|
||||
.byte 'L',20 ; shoot
|
||||
.byte 'D',1 ; stand
|
||||
.byte 'D',150 ; walk right
|
||||
.byte 'S',20 ; duck
|
||||
.byte 27,5 ; quit
|
||||
|
||||
|
@ -4,6 +4,13 @@ starbase:
|
||||
|
||||
; Initialize some variables
|
||||
|
||||
lda #<starbase_keypresses
|
||||
sta KEYPTRL
|
||||
lda #>starbase_keypresses
|
||||
sta KEYPTRH
|
||||
lda #1
|
||||
sta KEY_COUNTDOWN
|
||||
|
||||
;=======================
|
||||
; Run the "intro"
|
||||
;=======================
|
||||
|
@ -513,9 +513,8 @@ c4_room0_cover:
|
||||
lda #>causeway_door_cover
|
||||
sta INH
|
||||
|
||||
jsr put_sprite
|
||||
; jsr put_sprite
|
||||
|
||||
; jmp c4_no_fg_cover
|
||||
|
||||
c4_no_fg_cover:
|
||||
|
||||
@ -906,5 +905,8 @@ star_sequence:
|
||||
.word star_wipe5_rle
|
||||
.byte 20
|
||||
.word empty_rle
|
||||
|
||||
.byte 20
|
||||
.word empty_rle
|
||||
.byte 0
|
||||
|
||||
|
||||
|
@ -104,6 +104,9 @@ DONE_PLAYING = $88
|
||||
DONE_SONG = $89
|
||||
PT3_TEMP = $8A
|
||||
|
||||
KEYPTRL = $90
|
||||
KEYPTRH = $91
|
||||
KEY_COUNTDOWN = $92
|
||||
|
||||
; More zero-page addresses
|
||||
; we try not to conflict with anything DOS, MONITOR or BASIC related
|
||||
|
Loading…
Reference in New Issue
Block a user