mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-26 11:30:12 +00:00
kfest: lots of scrolling going on
This commit is contained in:
parent
c2d6a35ae6
commit
127f6bf7c2
@ -3,6 +3,7 @@
|
||||
; Zero Page
|
||||
DRAW_PAGE = $EE
|
||||
CURRENT_OFFSET = $EF
|
||||
OFFSET_GOVERNOR = $F0
|
||||
|
||||
; Soft Switches
|
||||
|
||||
@ -29,6 +30,7 @@ WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
sta CURRENT_OFFSET
|
||||
sta OFFSET_GOVERNOR
|
||||
|
||||
; Clear Page0
|
||||
lda #$00
|
||||
@ -194,18 +196,18 @@ page1_loop: ; delay 115+(7 loop)+4 (bit)+4(extra)
|
||||
; We have 4550 cycles in the vblank, use them wisely
|
||||
;======================================================
|
||||
|
||||
; delay 2737 (4550 +1 from falltrough, -2 for loadup, -1812 for scroll)
|
||||
; delay 2717 (4550 +1 from falltrough, -2 for loadup, -1832 for scroll)
|
||||
|
||||
; Try X=90 Y=6 cycles=2737
|
||||
; Try X=8 Y=59 cycles=2715
|
||||
|
||||
; waste 2 cycles
|
||||
;lda DRAW_PAGE ; 3
|
||||
;lda DRAW_PAGE ; 3
|
||||
; nop ; 2
|
||||
nop ; 2
|
||||
|
||||
ldy #6 ; 2
|
||||
ldy #59 ; 2
|
||||
loop5:
|
||||
ldx #90 ; 2
|
||||
ldx #8 ; 2
|
||||
loop6:
|
||||
dex ; 2
|
||||
bne loop6 ; 2nt/3
|
||||
@ -221,8 +223,8 @@ loop6:
|
||||
;================================
|
||||
; SCROLL THE TEXT
|
||||
;================================
|
||||
; 5+ 40*(36 + 9)+5+3 -1
|
||||
; 12+40*(45) = 1812
|
||||
; 5+ 40*(36 + 9)+5+3 -1 + 20
|
||||
; 12+40*(45) + 19 = 1832
|
||||
|
||||
ldy CURRENT_OFFSET ; 3
|
||||
ldx #0 ; 2
|
||||
@ -244,10 +246,26 @@ data_loop:
|
||||
cpx #40 ; 2
|
||||
bne data_loop ; 2nt/3
|
||||
|
||||
inc CURRENT_OFFSET ; 5
|
||||
inc OFFSET_GOVERNOR ; 5
|
||||
|
||||
lda OFFSET_GOVERNOR ; 3
|
||||
cmp #6 ; 2
|
||||
bne not_yet ; 2
|
||||
|
||||
inc CURRENT_OFFSET ; 5
|
||||
lda #0 ; 2
|
||||
sta OFFSET_GOVERNOR ; 3
|
||||
jmp all_done ; 3
|
||||
not_yet:
|
||||
; 1
|
||||
lda OFFSET_GOVERNOR ; 3
|
||||
lda OFFSET_GOVERNOR ; 3
|
||||
lda OFFSET_GOVERNOR ; 3
|
||||
lda OFFSET_GOVERNOR ; 3
|
||||
|
||||
all_done:
|
||||
|
||||
|
||||
; lda #128
|
||||
; jsr WAIT
|
||||
|
||||
jmp display_loop ; 3
|
||||
|
||||
@ -295,29 +313,67 @@ words:
|
||||
.byte $D1,$00,$D1,$00, $D1,$01,$00, $D1,$01,$00, $D1,$D1,$00, $01,$D1,$01,$00
|
||||
; 1 8 . . .
|
||||
.byte $00,$D1,$00, $D0,$01,$D0,$00, $00,$00,$00, $00,$00,$00, $00,$00,$00, $00,$00
|
||||
; H A V E
|
||||
.byte $D1,$00,$D1,$00, $D0,$01,$D0,$00, $D1,$00,$D1,$00, $D1,$01,$00, $00,$00
|
||||
; Y O U
|
||||
.byte $D1,$00,$D1,$00, $D0,$01,$D0,$00, $D1,$00,$D1,$00, $00,$00
|
||||
; E V E R
|
||||
.byte $D1,$01,$00, $D1,$00,$D1,$00, $D1,$01,$00, $D1,$01,$D1,$00, $00,$00
|
||||
; S E E N
|
||||
.byte $D1,$D1,$00, $D1,$01,$00, $D1,$01,$00, $D1,$00,$D0,$D1,$00, $00,$00
|
||||
; 4 0 x
|
||||
.byte $D1,$00,$D1,$00, $D0,$01,$D0,$00, $D0,$00,$D0,$00
|
||||
; 9 6
|
||||
.byte $D1,$01,$D1,$00, $D1,$01,$01,$00, $00,$00
|
||||
; L O R E S
|
||||
.byte $D1,$00,$00, $D0,$01,$D0,$00, $D1,$01,$D1,$00, $D1,$01,$00, $D1,$D1,$00
|
||||
|
||||
.repeat 202
|
||||
.repeat 100
|
||||
.byte $0
|
||||
.endrep
|
||||
words2:
|
||||
.byte $24,$04,$24,$00, $24,$20,$00, $24,$20,$00, $24,$20,$00, $04,$20,$04,$00, $00,$00
|
||||
.byte $24,$04,$20,$00, $24,$00,$00, $24,$20,$00, $20,$24,$00, $00,$24,$00,$00
|
||||
.byte $00,$24,$00, $04,$20,$04,$00, $20,$20,$00, $20,$20,$00, $20,$20,$00, $00,$00
|
||||
.repeat 202
|
||||
.byte $24,$04,$24,$00, $24,$00,$24,$00, $04,$20,$04,$00, $24,$20,$00, $00,$00
|
||||
.byte $00,$24,$00,$00, $04,$20,$04,$00, $24,$20,$24,$00, $00,$00
|
||||
.byte $24,$20,$00, $04,$20,$04,$00, $24,$20,$00, $24,$04,$20,$00, $00,$00
|
||||
.byte $20,$24,$00, $24,$20,$00, $24,$20,$00, $24,$00,$00,$24,$00, $00,$00
|
||||
.byte $00,$00,$24,$00, $04,$20,$04,$00, $00,$04,$00,$00
|
||||
.byte $00,$00,$24,$00, $24,$20,$24,$00, $00,$00
|
||||
.byte $24,$20,$00, $04,$20,$04,$00, $24,$04,$20,$00, $24,$20,$00, $20,$24,$00
|
||||
|
||||
.repeat 100
|
||||
.byte $0
|
||||
.endrep
|
||||
words3:
|
||||
.byte $C9,$C0,$C9,$00, $C9,$C0,$00, $C9,$00,$00, $C9,$00,$00, $C9,$00,$C9,$00, $00,$00
|
||||
.byte $C9,$C0,$09,$00, $C9,$C0,$00, $C9,$C0,$00, $C9,$C0,$00, $00,$C9,$00,$00
|
||||
.byte $09,$C9,$00, $09,$C0,$09,$00, $00,$00,$00, $00,$00,$00, $00,$00,$00, $00,$00
|
||||
.repeat 202
|
||||
.byte $C9,$C0,$C9,$00, $C9,$C0,$C9,$00, $C9,$00,$C9,$00, $C9,$C0,$00, $00,$00
|
||||
.byte $09,$C0,$09,$00, $c9,$00,$c9,$00, $C9,$00,$C9,$00, $00,$00
|
||||
.byte $C9,$C0,$00, $C9,$00,$C9,$00, $C9,$C0,$00, $C9,$C0,$C9,$00, $00,$00
|
||||
.byte $C9,$C0,$00, $C9,$C0,$00, $C9,$C0,$00, $C9,$09,$00,$C9,$00, $00,$00
|
||||
.byte $C9,$C0,$C9,$00, $C9,$00,$C9,$00, $00,$C0,$00,$00
|
||||
.byte $C9,$C0,$C9,$00, $C9,$C0,$C0,$00, $00,$00
|
||||
.byte $C9,$00,$00, $C9,$00,$C9,$00, $C9,$C0,$C9,$00, $C9,$C0,$00, $C9,$C0,$00
|
||||
|
||||
.repeat 100
|
||||
.byte $0
|
||||
.endrep
|
||||
words4:
|
||||
.byte $06,$00,$06,$00, $06,$00,$00, $06,$00,$00, $06,$00,$00, $06,$00,$06,$00, $00,$00
|
||||
.byte $06,$00,$06,$00, $06,$00,$00, $06,$00,$00, $00,$06,$00, $00,$06,$00,$00
|
||||
.byte $00,$06,$00, $06,$00,$06,$00, $06,$06,$00, $06,$06,$00, $06,$06,$00, $00,$00
|
||||
.repeat 202
|
||||
.byte $06,$00,$06,$00, $06,$00,$06,$00, $00,$06,$00,$00, $06,$00,$00, $00,$00
|
||||
.byte $00,$06,$00,$00, $06,$00,$06,$00, $06,$00,$06,$00, $00,$00
|
||||
.byte $06,$00,$00, $00,$06,$00,$00, $06,$00,$00, $06,$00,$06,$00, $00,$00
|
||||
.byte $00,$06,$00, $06,$00,$00, $06,$00,$00, $06,$00,$00,$06,$00, $00,$00
|
||||
.byte $00,$00,$06,$00, $06,$00,$06,$00, $06,$00,$06,$00
|
||||
.byte $00,$00,$06,$00, $06,$00,$06,$00, $00,$00
|
||||
.byte $06,$00,$00, $06,$00,$06,$00, $06,$00,$06,$00, $06,$00,$00, $00,$04,$00
|
||||
|
||||
.repeat 100
|
||||
.byte $0
|
||||
.endrep
|
||||
|
||||
@ -326,6 +382,18 @@ words4:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; ?
|
||||
|
||||
|
||||
gr_offsets:
|
||||
.word $400,$480,$500,$580,$600,$680,$700,$780
|
||||
.word $428,$4a8,$528,$5a8,$628,$6a8,$728,$7a8
|
||||
|
Loading…
Reference in New Issue
Block a user