mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-13 07:29:54 +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 \
|
pt3_lib_play_frame.s pt3_lib_write_frame.s \
|
||||||
interrupt_handler.s \
|
interrupt_handler.s \
|
||||||
missing.s k_40_48d.inc create_update_type1.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 \
|
starbase_action.s starbase_laser.s starbase_blast.s \
|
||||||
gr_run_sequence.s \
|
gr_run_sequence.s \
|
||||||
graphics/starbase/starbase.inc \
|
graphics/starbase/starbase.inc \
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
TODO if time:
|
||||||
|
+ better star animation
|
||||||
|
+ star fade in to book?
|
||||||
|
|
||||||
|
|
||||||
General:
|
General:
|
||||||
+ get music working
|
+ get music working
|
||||||
|
|
||||||
@ -8,17 +13,14 @@ OPENER:
|
|||||||
MISSING:
|
MISSING:
|
||||||
+ Add colored bars for accent?
|
+ Add colored bars for accent?
|
||||||
|
|
||||||
PACKAGE:
|
PACKAGE: 01234567890123456789012345678901234567
|
||||||
+ Implement
|
+ "MEANWHILE AT A DISTANT STARBASE PRISON"
|
||||||
|
"AN INTERESTING PACKAGE IS RECEIVED"
|
||||||
|
|
||||||
STARBASE:
|
STARBASE:
|
||||||
+ Keyboard emulation
|
+ Keyboard emulation
|
||||||
|
|
||||||
+ change colors of shield? laser? blast?
|
+ change colors of shield? laser? blast?
|
||||||
|
|
||||||
+ room0 -- done
|
+ room0 -- done
|
||||||
|
|
||||||
|
|
||||||
+ room1 - run in
|
+ room1 - run in
|
||||||
- duck, start shield
|
- duck, start shield
|
||||||
- blash shield, alien
|
- blash shield, alien
|
||||||
@ -39,7 +41,7 @@ ESCAPE:
|
|||||||
+ Keyboard emulation
|
+ Keyboard emulation
|
||||||
|
|
||||||
READING:
|
READING:
|
||||||
+ Add message of some sort?
|
+ "FINALLY I CAN READ SOME BOOKS IN PEACE"
|
||||||
|
|
||||||
CREDITS:
|
CREDITS:
|
||||||
+ implement text
|
+ 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:
|
kick1:
|
||||||
|
.if 0
|
||||||
.byte 5,8
|
.byte 5,8
|
||||||
.byte $aa,$8a,$8a,$aa,$aa
|
.byte $aa,$8a,$8a,$aa,$aa
|
||||||
.byte $aa,$bb,$88,$8a,$aa
|
.byte $aa,$bb,$88,$8a,$aa
|
||||||
@ -293,6 +294,7 @@ kick1:
|
|||||||
.byte $aa,$aa,$22,$aa,$aa
|
.byte $aa,$aa,$22,$aa,$aa
|
||||||
.byte $aa,$22,$a2,$6a,$aa
|
.byte $aa,$22,$a2,$6a,$aa
|
||||||
.byte $af,$f2,$5a,$56,$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:
|
astro_falling:
|
||||||
|
.if 0
|
||||||
.byte 5,8
|
.byte 5,8
|
||||||
.byte $aa,$aa,$aa,$aa,$aa
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
.byte $aa,$aa,$8a,$8a,$aa
|
.byte $aa,$aa,$8a,$8a,$aa
|
||||||
@ -330,7 +333,7 @@ astro_falling:
|
|||||||
.byte $aa,$aa,$aa,$22,$22
|
.byte $aa,$aa,$aa,$22,$22
|
||||||
.byte $6a,$26,$22,$a2,$aa
|
.byte $6a,$26,$22,$a2,$aa
|
||||||
.byte $f5,$f2,$aa,$aa,$aa
|
.byte $f5,$f2,$aa,$aa,$aa
|
||||||
|
.endif
|
||||||
|
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
@ -396,6 +399,7 @@ collapse_progression:
|
|||||||
.word collapse5 ; 16
|
.word collapse5 ; 16
|
||||||
|
|
||||||
collapse1:
|
collapse1:
|
||||||
|
.if 0
|
||||||
.byte 4,8
|
.byte 4,8
|
||||||
.byte $8a,$8a,$aa,$aa
|
.byte $8a,$8a,$aa,$aa
|
||||||
.byte $ab,$88,$aa,$aa
|
.byte $ab,$88,$aa,$aa
|
||||||
@ -405,9 +409,10 @@ collapse1:
|
|||||||
.byte $aa,$22,$aa,$aa
|
.byte $aa,$22,$aa,$aa
|
||||||
.byte $aa,$a2,$2a,$aa
|
.byte $aa,$a2,$2a,$aa
|
||||||
.byte $aa,$fa,$f2,$aa
|
.byte $aa,$fa,$f2,$aa
|
||||||
|
.endif
|
||||||
|
|
||||||
collapse2:
|
collapse2:
|
||||||
|
.if 0
|
||||||
.byte 5,8
|
.byte 5,8
|
||||||
.byte $aa,$aa,$aa,$aa,$aa
|
.byte $aa,$aa,$aa,$aa,$aa
|
||||||
.byte $b8,$88,$aa,$aa,$aa
|
.byte $b8,$88,$aa,$aa,$aa
|
||||||
@ -417,10 +422,11 @@ collapse2:
|
|||||||
.byte $aa,$bb,$22,$2a,$aa
|
.byte $aa,$bb,$22,$2a,$aa
|
||||||
.byte $aa,$ab,$aa,$a2,$2a
|
.byte $aa,$ab,$aa,$a2,$2a
|
||||||
.byte $aa,$aa,$aa,$fa,$f2
|
.byte $aa,$aa,$aa,$fa,$f2
|
||||||
|
.endif
|
||||||
|
|
||||||
|
|
||||||
collapse3:
|
collapse3:
|
||||||
|
.if 0
|
||||||
.byte 6,8
|
.byte 6,8
|
||||||
.byte $aa,$aa,$aa,$aa,$aa,$aa
|
.byte $aa,$aa,$aa,$aa,$aa,$aa
|
||||||
.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,$22,$2a,$aa,$aa
|
||||||
.byte $aa,$bb,$a2,$22,$22,$fa
|
.byte $aa,$bb,$a2,$22,$22,$fa
|
||||||
.byte $aa,$ab,$aa,$aa,$a2,$ff
|
.byte $aa,$ab,$aa,$aa,$a2,$ff
|
||||||
|
.endif
|
||||||
|
|
||||||
collapse4:
|
collapse4:
|
||||||
|
.if 0
|
||||||
.byte 7,8
|
.byte 7,8
|
||||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||||
.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 $88,$bb,$22,$2a,$aa,$aa,$aa
|
||||||
.byte $aa,$aa,$bb,$22,$22,$2a,$fa
|
.byte $aa,$aa,$bb,$22,$22,$2a,$fa
|
||||||
.byte $aa,$aa,$aa,$bb,$aa,$a2,$ff
|
.byte $aa,$aa,$aa,$bb,$aa,$a2,$ff
|
||||||
|
.endif
|
||||||
|
|
||||||
collapse5:
|
collapse5:
|
||||||
|
.if 0
|
||||||
.byte 8,8
|
.byte 8,8
|
||||||
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
.byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||||
.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 $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa
|
||||||
.byte $88,$b8,$22,$b2,$22,$bb,$2a,$aa
|
.byte $88,$b8,$22,$b2,$22,$bb,$2a,$aa
|
||||||
.byte $a8,$ab,$aa,$aa,$bb,$b2,$22,$ff
|
.byte $a8,$ab,$aa,$aa,$bb,$b2,$22,$ff
|
||||||
|
.endif
|
||||||
|
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
@ -571,12 +580,13 @@ jump8:
|
|||||||
|
|
||||||
; 9x40
|
; 9x40
|
||||||
astronaut_spike_sprite:
|
astronaut_spike_sprite:
|
||||||
|
.if 0
|
||||||
.byte 3,4
|
.byte 3,4
|
||||||
.byte $AA,$11,$AA
|
.byte $AA,$11,$AA
|
||||||
.byte $2A,$82,$2A
|
.byte $2A,$82,$2A
|
||||||
.byte $BB,$A8,$BB
|
.byte $BB,$A8,$BB
|
||||||
.byte $BB,$AA,$BB
|
.byte $BB,$AA,$BB
|
||||||
|
.endif
|
||||||
|
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
@ -603,6 +613,7 @@ crouch_shooting:
|
|||||||
;=====================
|
;=====================
|
||||||
|
|
||||||
crouch_kicking:
|
crouch_kicking:
|
||||||
|
.if 0
|
||||||
.byte 5,8
|
.byte 5,8
|
||||||
.byte $AA,$AA,$aa,$aa,$aa
|
.byte $AA,$AA,$aa,$aa,$aa
|
||||||
.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,$aa,$bb,$22
|
||||||
.byte $AA,$AA,$2a,$bb,$a2
|
.byte $AA,$AA,$2a,$bb,$a2
|
||||||
.byte $5A,$56,$A2,$f2,$f2
|
.byte $5A,$56,$A2,$f2,$f2
|
||||||
|
.endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -30,11 +30,37 @@ handle_keypress:
|
|||||||
lda ASTRONAUT_STATE
|
lda ASTRONAUT_STATE
|
||||||
bmi no_keypress ; ignore keypress if dying/action
|
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
|
lda KEYPRESS ; 4
|
||||||
bmi keypress ; 3
|
bmi keypress ; 3
|
||||||
|
.endif
|
||||||
|
|
||||||
no_keypress:
|
no_keypress:
|
||||||
bit KEYRESET ; clear
|
bit KEYRESET ; clear
|
||||||
; avoid keeping old keys around
|
; avoid keeping old keys around
|
||||||
|
done_keycount:
|
||||||
rts ; nothing pressed, return
|
rts ; nothing pressed, return
|
||||||
|
|
||||||
keypress:
|
keypress:
|
||||||
@ -420,3 +446,23 @@ change_state_clear_gait:
|
|||||||
lda #0
|
lda #0
|
||||||
sta GAIT
|
sta GAIT
|
||||||
jmp done_keypress
|
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
|
; Initialize some variables
|
||||||
|
|
||||||
|
lda #<starbase_keypresses
|
||||||
|
sta KEYPTRL
|
||||||
|
lda #>starbase_keypresses
|
||||||
|
sta KEYPTRH
|
||||||
|
lda #1
|
||||||
|
sta KEY_COUNTDOWN
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
; Run the "intro"
|
; Run the "intro"
|
||||||
;=======================
|
;=======================
|
||||||
|
@ -513,9 +513,8 @@ c4_room0_cover:
|
|||||||
lda #>causeway_door_cover
|
lda #>causeway_door_cover
|
||||||
sta INH
|
sta INH
|
||||||
|
|
||||||
jsr put_sprite
|
; jsr put_sprite
|
||||||
|
|
||||||
; jmp c4_no_fg_cover
|
|
||||||
|
|
||||||
c4_no_fg_cover:
|
c4_no_fg_cover:
|
||||||
|
|
||||||
@ -906,5 +905,8 @@ star_sequence:
|
|||||||
.word star_wipe5_rle
|
.word star_wipe5_rle
|
||||||
.byte 20
|
.byte 20
|
||||||
.word empty_rle
|
.word empty_rle
|
||||||
|
.byte 20
|
||||||
|
.word empty_rle
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
|
|
||||||
|
@ -104,6 +104,9 @@ DONE_PLAYING = $88
|
|||||||
DONE_SONG = $89
|
DONE_SONG = $89
|
||||||
PT3_TEMP = $8A
|
PT3_TEMP = $8A
|
||||||
|
|
||||||
|
KEYPTRL = $90
|
||||||
|
KEYPTRH = $91
|
||||||
|
KEY_COUNTDOWN = $92
|
||||||
|
|
||||||
; More zero-page addresses
|
; More zero-page addresses
|
||||||
; we try not to conflict with anything DOS, MONITOR or BASIC related
|
; we try not to conflict with anything DOS, MONITOR or BASIC related
|
||||||
|
Loading…
x
Reference in New Issue
Block a user