mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-20 03:35:24 +00:00
megademo: takeoff
delay is not working :( :(
This commit is contained in:
parent
3a6fba1488
commit
5f802cc085
@ -3,13 +3,10 @@
|
|||||||
; Simple HGR/GR split
|
; Simple HGR/GR split
|
||||||
|
|
||||||
|
|
||||||
; STATE1 = RIDE IN ON BIRD
|
; STATE0 = RIDE IN ON BIRD
|
||||||
; STATE2 = OFF BIRD
|
; STATE2 = BIRD RUNS / WALK INTO SHIP
|
||||||
; STATE3 = BIRD RUNS AWAY
|
; STATE4 = PAUSE / SMOKE OUT BACK
|
||||||
; STATE4 = WALK INTO SHIP
|
; STATE6 = ROTATING / FLAME SPRITES + TREES MOVING/SPEED UP
|
||||||
; STATE5 = PAUSE
|
|
||||||
; STATE6 = SMOKE OUT BACK
|
|
||||||
; STATE7 = ROTATING FLAME SPRITES + TREES MOVING/SPEED UP
|
|
||||||
; also horizon drop away?
|
; also horizon drop away?
|
||||||
|
|
||||||
|
|
||||||
@ -30,7 +27,10 @@ setup_rocket:
|
|||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
|
sta FRAME
|
||||||
|
sta FRAMEH
|
||||||
|
sta XPOS
|
||||||
|
sta STATE
|
||||||
|
|
||||||
;=============================
|
;=============================
|
||||||
; Load graphic hgr
|
; Load graphic hgr
|
||||||
@ -120,7 +120,7 @@ toloopB:dex ; 2
|
|||||||
|
|
||||||
|
|
||||||
;================================================
|
;================================================
|
||||||
; Starring People Loop
|
; Takeoff Loop
|
||||||
;================================================
|
;================================================
|
||||||
; each scan line 65 cycles
|
; each scan line 65 cycles
|
||||||
; 1 cycle each byte (40cycles) + 25 for horizontal
|
; 1 cycle each byte (40cycles) + 25 for horizontal
|
||||||
@ -148,6 +148,16 @@ toloop9:dex ; 2
|
|||||||
dey ; 2
|
dey ; 2
|
||||||
bne toloop8 ; 2nt/3
|
bne toloop8 ; 2nt/3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;===========================
|
||||||
|
; Draw Lores bottom
|
||||||
|
; 144 * 65 = 9360
|
||||||
|
; -4 swith to LORES
|
||||||
|
;====================
|
||||||
|
; 9356
|
||||||
|
|
||||||
|
|
||||||
bit LORES ; 4
|
bit LORES ; 4
|
||||||
|
|
||||||
; Try X=10 Y=167 cycles=9353 R3
|
; Try X=10 Y=167 cycles=9353 R3
|
||||||
@ -162,32 +172,50 @@ toloop7:dex ; 2
|
|||||||
bne toloop6 ; 2nt/3
|
bne toloop6 ; 2nt/3
|
||||||
|
|
||||||
|
|
||||||
;======================================================
|
;======================================================
|
||||||
; We have 4550 cycles in the vblank, use them wisely
|
; We have 4550 cycles in the vblank, use them wisely
|
||||||
;======================================================
|
;======================================================
|
||||||
|
|
||||||
; do_nothing should be 4550
|
; do_nothing should be 4550
|
||||||
|
; -23 state jump
|
||||||
|
; -3589 state
|
||||||
; -10 keypress
|
; -10 keypress
|
||||||
; ===========
|
; ===========
|
||||||
; 4540
|
; 928
|
||||||
|
|
||||||
; Try X=9 Y=89 cycles=4540
|
; Try X=13 Y=13 cycles=924 R4
|
||||||
|
|
||||||
ldy #89 ; 2
|
nop
|
||||||
toloop1:ldx #9 ; 2
|
nop
|
||||||
|
|
||||||
|
ldy #13 ; 2
|
||||||
|
toloop1:ldx #13 ; 2
|
||||||
toloop2:dex ; 2
|
toloop2:dex ; 2
|
||||||
bne toloop2 ; 2nt/3
|
bne toloop2 ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
bne toloop1 ; 2nt/3
|
bne toloop1 ; 2nt/3
|
||||||
|
|
||||||
|
; Set up jump table that runs same speed on 6502 and 65c02
|
||||||
|
ldy STATE ; 3
|
||||||
|
lda to_jump_table+1,y ; 4
|
||||||
|
pha ; 3
|
||||||
|
lda to_jump_table,y ; 4
|
||||||
|
pha ; 3
|
||||||
|
rts ; 6
|
||||||
|
;=============
|
||||||
|
; 23
|
||||||
|
|
||||||
|
to_done_state:
|
||||||
|
|
||||||
|
|
||||||
lda KEYPRESS ; 4
|
lda KEYPRESS ; 4
|
||||||
bpl to_no_keypress ; 3
|
bpl to_no_keypress ; 3
|
||||||
jmp to_start_over
|
jmp to_exit
|
||||||
to_no_keypress:
|
to_no_keypress:
|
||||||
|
|
||||||
jmp to_begin_loop ; 3
|
jmp to_begin_loop ; 3
|
||||||
|
|
||||||
to_start_over:
|
to_exit:
|
||||||
bit KEYRESET ; clear keypress ; 4
|
bit KEYRESET ; clear keypress ; 4
|
||||||
rts ; 6
|
rts ; 6
|
||||||
|
|
||||||
@ -196,3 +224,96 @@ to_start_over:
|
|||||||
;takeoff_hgr:
|
;takeoff_hgr:
|
||||||
;.incbin "takeoff.img.lz4",11
|
;.incbin "takeoff.img.lz4",11
|
||||||
;takeoff_hgr_end:
|
;takeoff_hgr_end:
|
||||||
|
|
||||||
|
to_jump_table:
|
||||||
|
.word (to_state0-1)
|
||||||
|
.word (to_state2-1)
|
||||||
|
.word (to_state0-1)
|
||||||
|
.word (to_state0-1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;============================
|
||||||
|
; state0: Draw+move Bird+Rider
|
||||||
|
;============================
|
||||||
|
; 13 + 2208 + 1365 + 3 = 3589
|
||||||
|
to_state0:
|
||||||
|
|
||||||
|
lda #20 ; 2
|
||||||
|
sta YPOS ; 3
|
||||||
|
|
||||||
|
lda FRAMEH ; 3
|
||||||
|
and #$1 ; 2
|
||||||
|
beq to_bwalk ; 3
|
||||||
|
;===========
|
||||||
|
; 13
|
||||||
|
|
||||||
|
to_bstand:
|
||||||
|
; draw bird/rider standing ; -1
|
||||||
|
lda #>bird_rider_stand_right ; 2
|
||||||
|
sta INH ; 3
|
||||||
|
lda #<bird_rider_stand_right ; 2
|
||||||
|
sta INL ; 3
|
||||||
|
jsr put_sprite ; 6
|
||||||
|
|
||||||
|
jmp to_done_bwalk ; 3
|
||||||
|
;=========
|
||||||
|
; 18 + 2190 = 2208
|
||||||
|
|
||||||
|
|
||||||
|
to_bwalk:
|
||||||
|
; draw bird/rider walking
|
||||||
|
lda #>bird_rider_walk_right ; 2
|
||||||
|
sta INH ; 3
|
||||||
|
lda #<bird_rider_walk_right ; 2
|
||||||
|
sta INL ; 3
|
||||||
|
jsr put_sprite ; 6
|
||||||
|
|
||||||
|
nop ; 2
|
||||||
|
inc TFV_Y ; 5
|
||||||
|
inc TFV_Y ; 5
|
||||||
|
inc TFV_Y ; 5
|
||||||
|
;=========
|
||||||
|
; 33 + 2175 = 2208
|
||||||
|
|
||||||
|
to_done_bwalk:
|
||||||
|
; delay
|
||||||
|
|
||||||
|
; Try X=67 Y=4 cycles=1365
|
||||||
|
|
||||||
|
ldy #4 ; 2
|
||||||
|
toloopV:ldx #67 ; 2
|
||||||
|
toloopW:dex ; 2
|
||||||
|
bne toloopW ; 2nt/3
|
||||||
|
dey ; 2
|
||||||
|
bne toloopV ; 2nt/3
|
||||||
|
|
||||||
|
jmp to_done_state ; 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;============================
|
||||||
|
; state2: Do nothing
|
||||||
|
;============================
|
||||||
|
; 3586 + 3 = 3589
|
||||||
|
to_state2:
|
||||||
|
|
||||||
|
; delay
|
||||||
|
|
||||||
|
; Try X=142 Y=5 cycles=3581 R5
|
||||||
|
nop
|
||||||
|
lda $0
|
||||||
|
|
||||||
|
ldy #5 ; 2
|
||||||
|
toloopZ:ldx #142 ; 2
|
||||||
|
toloopY:dex ; 2
|
||||||
|
bne toloopY ; 2nt/3
|
||||||
|
dey ; 2
|
||||||
|
bne toloopZ ; 2nt/3
|
||||||
|
|
||||||
|
jmp to_done_state ; 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user