mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-10 23:54:33 +00:00
kfest18: flip pages
This commit is contained in:
parent
2a975d56fc
commit
f838c48968
@ -8,6 +8,8 @@ CURRENT_OFFSET = $EF
|
|||||||
|
|
||||||
SET_GR = $C050 ; Enable graphics
|
SET_GR = $C050 ; Enable graphics
|
||||||
FULLGR = $C052 ; Full screen, no text
|
FULLGR = $C052 ; Full screen, no text
|
||||||
|
PAGE0 = $C054 ; Page0
|
||||||
|
PAGE1 = $C055 ; Page1
|
||||||
LORES = $C056 ; Enable LORES graphics
|
LORES = $C056 ; Enable LORES graphics
|
||||||
|
|
||||||
|
|
||||||
@ -42,6 +44,7 @@ WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
|
|||||||
; Clear Page1
|
; Clear Page1
|
||||||
lda #$4
|
lda #$4
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
|
lda #$00
|
||||||
jsr clear_gr
|
jsr clear_gr
|
||||||
|
|
||||||
; draw border line
|
; draw border line
|
||||||
@ -118,9 +121,44 @@ loopB:
|
|||||||
.align $100
|
.align $100
|
||||||
|
|
||||||
|
|
||||||
|
;================================================
|
||||||
|
; Display Loop
|
||||||
|
;================================================
|
||||||
|
; each scan line 65 cycles
|
||||||
|
; 1 cycle each byte (40cycles) + 25 for horizontal
|
||||||
|
; Total of 12480 cycles to draw screen
|
||||||
|
; Vertical blank = 4550 cycles (70 scan lines)
|
||||||
|
; Total of 17030 cycles to get back to where was
|
||||||
|
|
||||||
|
; We want to alternate between page1 and page2 every 65 cycles
|
||||||
|
; vblank = 4550 cycles to do scrolling
|
||||||
|
|
||||||
display_loop:
|
display_loop:
|
||||||
|
|
||||||
|
ldy #96 ; 2
|
||||||
|
|
||||||
|
outer_loop:
|
||||||
|
|
||||||
|
ldx #25 ; 130 cycles with PAGE0 ; 2
|
||||||
|
page0_loop:
|
||||||
|
dex ; 2
|
||||||
|
bne page0_loop ; 2/3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
|
||||||
|
ldx #25 ; 130 cycles with PAGE1 ; 2
|
||||||
|
page1_loop:
|
||||||
|
dex ; 2
|
||||||
|
bne page1_loop ; 2/3
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
|
||||||
|
dey ; 2
|
||||||
|
bne outer_loop ; 2/3
|
||||||
|
|
||||||
|
jmp display_loop ; 3
|
||||||
|
|
||||||
|
; We have 4550 cycles in the vblank, use them wisely
|
||||||
|
|
||||||
|
|
||||||
ldy CURRENT_OFFSET
|
ldy CURRENT_OFFSET
|
||||||
ldx #0
|
ldx #0
|
||||||
data_loop:
|
data_loop:
|
||||||
|
Loading…
Reference in New Issue
Block a user