mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-27 02:31:00 +00:00
fireworks: allow pause between lines
This commit is contained in:
parent
1fa0db0016
commit
1dda82e43e
@ -15,6 +15,7 @@ GBASH = $27
|
|||||||
BASL = $28
|
BASL = $28
|
||||||
BASH = $29
|
BASH = $29
|
||||||
FRAME = $60
|
FRAME = $60
|
||||||
|
WAITING = $62
|
||||||
LETTERL = $63
|
LETTERL = $63
|
||||||
LETTERH = $64
|
LETTERH = $64
|
||||||
LETTERX = $65
|
LETTERX = $65
|
||||||
@ -78,6 +79,7 @@ setup_background:
|
|||||||
lda #0
|
lda #0
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
sta STATE
|
sta STATE
|
||||||
|
sta WAITING
|
||||||
init_letters:
|
init_letters:
|
||||||
lda #<letters
|
lda #<letters
|
||||||
sta LETTERL
|
sta LETTERL
|
||||||
@ -205,24 +207,23 @@ display_loop:
|
|||||||
; 152 * 65 = 9880
|
; 152 * 65 = 9880
|
||||||
; -12 for HIRES/PAGE0 at top
|
; -12 for HIRES/PAGE0 at top
|
||||||
; -5 for LORES+ldy+br fallthrough at bottom
|
; -5 for LORES+ldy+br fallthrough at bottom
|
||||||
; -121 for move_letters
|
; -132 for move_letters
|
||||||
; 9742
|
; 9731
|
||||||
|
|
||||||
bit HIRES ; 4
|
bit HIRES ; 4
|
||||||
bit PAGE0 ; 4
|
bit PAGE0 ; 4
|
||||||
bit FULLGR ; 4
|
bit FULLGR ; 4
|
||||||
;===========
|
;===========
|
||||||
; 12
|
; 12
|
||||||
jsr move_letters ; 6+110
|
jsr move_letters ; 6+126
|
||||||
|
|
||||||
; Try X=9 Y=191 cycles=9742
|
; Try X=242 Y=8 cycles=9729 R2
|
||||||
|
|
||||||
; lda DRAW_PAGE ; nop ; 3
|
nop ; 2
|
||||||
; nop ; 2
|
|
||||||
|
|
||||||
|
|
||||||
ldy #191 ; 2
|
ldy #8 ; 2
|
||||||
hgloop1:ldx #9 ; 2
|
hgloop1:ldx #242 ; 2
|
||||||
hgloop2:dex ; 2
|
hgloop2:dex ; 2
|
||||||
bne hgloop2 ; 2nt/3
|
bne hgloop2 ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
@ -390,9 +391,9 @@ restart:
|
|||||||
eor #$C0
|
eor #$C0
|
||||||
sta sound1+2
|
sta sound1+2
|
||||||
|
|
||||||
lda sound2+2
|
; lda sound2+2
|
||||||
eor #$C0
|
; eor #$C0
|
||||||
sta sound2+2
|
; sta sound2+2
|
||||||
|
|
||||||
lda sound3+2
|
lda sound3+2
|
||||||
eor #$C0
|
eor #$C0
|
||||||
|
@ -585,7 +585,9 @@ explosion_erase_waste:
|
|||||||
; waste 2176-4 = 2172
|
; waste 2176-4 = 2172
|
||||||
|
|
||||||
sound2:
|
sound2:
|
||||||
bit SPEAKER ; 4
|
; bit SPEAKER ; 4
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
|
||||||
; Try X=47 Y=9 cycles=2170 R2
|
; Try X=47 Y=9 cycles=2170 R2
|
||||||
|
|
||||||
|
@ -1,19 +1,28 @@
|
|||||||
;===============================================
|
;===============================================
|
||||||
; Move Letters
|
; Move Letters
|
||||||
;===============================================
|
;===============================================
|
||||||
; Normal P0 =13+2+22+41+37 = 115
|
; Normal P0 =6+13+2+22+46+37 = 126
|
||||||
; Normal P1 =13+2+22+41+37 = 115
|
; Normal P1 =6+13+2+22+46+37 = 126
|
||||||
; End of line =13+2+22+41+9+(28) = 115
|
; End of line =6+13+2+22+46+9+(28) = 126
|
||||||
; done entirely =13+5+(6+37+26+28) = 115
|
; Next line =6+13+5+14+34+(26+28) = 126
|
||||||
; Next line =13+5+9+34+(26+28) = 115
|
; done entirely =6+13+5+(6+42+26+28) = 126
|
||||||
|
; Waiting =6+7+(11+6+42+26+28) = 126
|
||||||
|
|
||||||
|
; all forced to be 126
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; all forced to be 115
|
|
||||||
|
|
||||||
move_letters:
|
move_letters:
|
||||||
|
ldy WAITING ; 3
|
||||||
|
beq not_waiting ; 3
|
||||||
|
;============
|
||||||
|
; 6
|
||||||
|
|
||||||
|
;-1
|
||||||
|
dec WAITING ; 5
|
||||||
|
jmp wait_it_out ; 3
|
||||||
|
;===========
|
||||||
|
; 7
|
||||||
|
|
||||||
|
not_waiting:
|
||||||
; load letter from pointer, save into LETTER
|
; load letter from pointer, save into LETTER
|
||||||
|
|
||||||
ldy #0 ; 2
|
ldy #0 ; 2
|
||||||
@ -59,6 +68,9 @@ letter_page1:
|
|||||||
|
|
||||||
;============================
|
;============================
|
||||||
letter_erase:
|
letter_erase:
|
||||||
|
ldy LETTERX ; nop ; 3
|
||||||
|
nop ; nop ; 5
|
||||||
|
|
||||||
ldy #0 ; erase old char with space ; 2
|
ldy #0 ; erase old char with space ; 2
|
||||||
lda #' '|$80 ; 2
|
lda #' '|$80 ; 2
|
||||||
ldy LETTERX ; 3
|
ldy LETTERX ; 3
|
||||||
@ -75,7 +87,7 @@ letter_erase:
|
|||||||
cmp LETTERD ; 3
|
cmp LETTERD ; 3
|
||||||
beq letter_next ; 3
|
beq letter_next ; 3
|
||||||
;===========
|
;===========
|
||||||
; 41
|
; 46
|
||||||
|
|
||||||
;-1
|
;-1
|
||||||
lda #0 ; 2
|
lda #0 ; 2
|
||||||
@ -107,11 +119,14 @@ letter_special:
|
|||||||
|
|
||||||
|
|
||||||
; -1
|
; -1
|
||||||
|
and #$7f ; clear top ; 2
|
||||||
|
sta WAITING ; this is waiting value ; 3
|
||||||
|
|
||||||
ldy #1 ; otherwise, Y,X pair ; 2
|
ldy #1 ; otherwise, Y,X pair ; 2
|
||||||
lda (LETTERL),Y ; get Y, put in LETTERY ; 5
|
lda (LETTERL),Y ; get Y, put in LETTERY ; 5
|
||||||
sta LETTERY ; 3
|
sta LETTERY ; 3
|
||||||
;===========
|
;===========
|
||||||
; 9
|
; 14
|
||||||
|
|
||||||
iny ; get dest ; 2
|
iny ; get dest ; 2
|
||||||
lda (LETTERL),Y ; 5
|
lda (LETTERL),Y ; 5
|
||||||
@ -129,11 +144,18 @@ letter_special:
|
|||||||
|
|
||||||
;===========
|
;===========
|
||||||
; 34
|
; 34
|
||||||
|
|
||||||
|
wait_it_out:
|
||||||
|
; wait 11
|
||||||
|
inc BLARGH ; 5
|
||||||
|
lda LETTERH ; 3
|
||||||
|
lda LETTERH ; 3
|
||||||
|
|
||||||
letter_done:
|
letter_done:
|
||||||
lda LETTERH ; 3
|
lda LETTERH ; 3
|
||||||
lda LETTERH ; 3
|
lda LETTERH ; 3
|
||||||
|
|
||||||
waste_37:
|
waste_42:
|
||||||
ldx #0 ; 2
|
ldx #0 ; 2
|
||||||
inc BLARGH ; 5
|
inc BLARGH ; 5
|
||||||
inc BLARGH ; 5
|
inc BLARGH ; 5
|
||||||
@ -142,6 +164,7 @@ waste_37:
|
|||||||
inc BLARGH ; 5
|
inc BLARGH ; 5
|
||||||
inc BLARGH ; 5
|
inc BLARGH ; 5
|
||||||
inc BLARGH ; 5
|
inc BLARGH ; 5
|
||||||
|
inc BLARGH ; 5
|
||||||
waste_26:
|
waste_26:
|
||||||
ldx #0 ; 2
|
ldx #0 ; 2
|
||||||
ldx #0 ; 2
|
ldx #0 ; 2
|
||||||
@ -171,7 +194,7 @@ letters:
|
|||||||
.byte 22+128,28,"CODE BY",128
|
.byte 22+128,28,"CODE BY",128
|
||||||
|
|
||||||
.byte 23,28, "DEATER",128
|
.byte 23,28, "DEATER",128
|
||||||
.byte 23+128,28,"DEATER",128
|
.byte 23+128,28,"DEATER",198
|
||||||
|
|
||||||
.byte 22,28, " ",128
|
.byte 22,28, " ",128
|
||||||
.byte 22+128,28," ",128
|
.byte 22+128,28," ",128
|
||||||
@ -183,7 +206,7 @@ letters:
|
|||||||
.byte 22+128,28,"FIREWORKS",128
|
.byte 22+128,28,"FIREWORKS",128
|
||||||
|
|
||||||
.byte 23,28, "FOZZTEXX",128
|
.byte 23,28, "FOZZTEXX",128
|
||||||
.byte 23+128,28,"FOZZTEXX",128
|
.byte 23+128,28,"FOZZTEXX",198
|
||||||
|
|
||||||
.byte 22,28, " ",128
|
.byte 22,28, " ",128
|
||||||
.byte 22+128,28," ",128
|
.byte 22+128,28," ",128
|
||||||
|
Loading…
Reference in New Issue
Block a user