mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-03 12:31:32 +00:00
kfest: have raster2 clearning the fb
This commit is contained in:
parent
c4db51fcd2
commit
d5d3319631
@ -1,6 +1,7 @@
|
|||||||
; Kansasfest HackFest Entry
|
; Kansasfest HackFest Entry
|
||||||
|
|
||||||
; Zero Page
|
; Zero Page
|
||||||
|
FRAMEBUFFER = $00 ; $00 - $10
|
||||||
DRAW_PAGE = $EE
|
DRAW_PAGE = $EE
|
||||||
CURRENT_OFFSET = $EF
|
CURRENT_OFFSET = $EF
|
||||||
OFFSET_GOVERNOR = $F0
|
OFFSET_GOVERNOR = $F0
|
||||||
@ -56,31 +57,57 @@ WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
|
|||||||
jsr hline
|
jsr hline
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;==================
|
;==================
|
||||||
; Draw Temp Rasters
|
; Draw Temp Rasters
|
||||||
;==================
|
;==================
|
||||||
lda #$0
|
|
||||||
sta DRAW_PAGE
|
|
||||||
lda #$b1
|
|
||||||
ldy #10
|
|
||||||
jsr hline
|
|
||||||
lda #$3f
|
|
||||||
ldy #12
|
|
||||||
jsr hline
|
|
||||||
|
|
||||||
lda #$4
|
ldx #19 ; 2
|
||||||
sta DRAW_PAGE
|
raster_loop:
|
||||||
lda #$f3
|
lda #00 ; 2
|
||||||
ldy #10
|
sta $600,X ; 5
|
||||||
jsr hline
|
lda #01 ; 2
|
||||||
lda #$1b
|
sta $680,X ; 5
|
||||||
ldy #12
|
lda #02 ; 2
|
||||||
jsr hline
|
sta $700,X ; 5
|
||||||
|
lda #03 ; 2
|
||||||
|
sta $780,X ; 5
|
||||||
|
lda #04 ; 2
|
||||||
|
sta $428,X ; 5
|
||||||
|
lda #05 ; 2
|
||||||
|
sta $4a8,X ; 5
|
||||||
|
lda #06 ; 2
|
||||||
|
sta $528,X ; 5
|
||||||
|
lda #07 ; 2
|
||||||
|
sta $5a8,X ; 5
|
||||||
|
|
||||||
|
lda #08
|
||||||
|
sta $A00,X
|
||||||
|
lda #09
|
||||||
|
sta $A80,X
|
||||||
|
lda #10
|
||||||
|
sta $B00,X
|
||||||
|
lda #11
|
||||||
|
sta $B80,X
|
||||||
|
lda #12
|
||||||
|
sta $828,X
|
||||||
|
lda #13
|
||||||
|
sta $8a8,X
|
||||||
|
lda #14
|
||||||
|
sta $928,X
|
||||||
|
lda #15
|
||||||
|
sta $9a8,X
|
||||||
|
|
||||||
|
dex ; 2
|
||||||
|
bpl raster_loop ; 2nt/3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;=====================================
|
||||||
; temporarily draw HELLO
|
; temporarily draw HELLO
|
||||||
|
;=====================================
|
||||||
|
|
||||||
ldy CURRENT_OFFSET
|
ldy CURRENT_OFFSET
|
||||||
ldx #0
|
ldx #0
|
||||||
@ -221,18 +248,21 @@ page1_loop: ; delay 115+(7 loop)+4 (bit)+4(extra)
|
|||||||
; We have 4550 cycles in the vblank, use them wisely
|
; We have 4550 cycles in the vblank, use them wisely
|
||||||
;======================================================
|
;======================================================
|
||||||
|
|
||||||
; delay 2717 (4550 +1 from falltrough, -2 for loadup, -1832 for scroll)
|
; delay 1738 (4550 +1 from falltrough, -2 for loadup, -2661 scroll -3)
|
||||||
|
; - 147
|
||||||
|
|
||||||
; Try X=8 Y=59 cycles=2715
|
; Try X=9 Y=34 cycles=1735 R3
|
||||||
|
|
||||||
; waste 2 cycles
|
; waste 2 cycles
|
||||||
|
lda DRAW_PAGE ; 3
|
||||||
;lda DRAW_PAGE ; 3
|
;lda DRAW_PAGE ; 3
|
||||||
;lda DRAW_PAGE ; 3
|
; nop ; 2
|
||||||
nop ; 2
|
|
||||||
|
|
||||||
ldy #59 ; 2
|
|
||||||
|
|
||||||
|
ldy #34 ; 2
|
||||||
loop5:
|
loop5:
|
||||||
ldx #8 ; 2
|
ldx #9 ; 2
|
||||||
loop6:
|
loop6:
|
||||||
dex ; 2
|
dex ; 2
|
||||||
bne loop6 ; 2nt/3
|
bne loop6 ; 2nt/3
|
||||||
@ -241,57 +271,73 @@ loop6:
|
|||||||
bne loop5 ; 2nt/3
|
bne loop5 ; 2nt/3
|
||||||
|
|
||||||
|
|
||||||
|
;==================
|
||||||
|
; Clear Framebuffer
|
||||||
|
;==================
|
||||||
|
; 4 + 16*9 - 1 = 147
|
||||||
|
|
||||||
; jmp display_loop ; 3
|
lda #0 ; 2
|
||||||
|
ldx #15 ; 2
|
||||||
|
clear_fb_loop:
|
||||||
|
sta FRAMEBUFFER,X ; 4
|
||||||
|
dex ; 2
|
||||||
|
bpl clear_fb_loop ; 2nt/3
|
||||||
|
|
||||||
|
|
||||||
;================================
|
;==================
|
||||||
; SCROLL THE TEXT
|
; Set Rasterbar
|
||||||
;================================
|
;==================
|
||||||
; 5+ 40*(36 + 9)+5+3 -1 + 20
|
|
||||||
; 12+40*(45) + 19 = 1832
|
|
||||||
|
|
||||||
ldy CURRENT_OFFSET ; 3
|
|
||||||
ldx #0 ; 2
|
|
||||||
data_loop:
|
|
||||||
lda words,Y ; 4+
|
|
||||||
sta $6d0,X ; 5
|
|
||||||
|
|
||||||
lda words2,Y ; 4+
|
;==================
|
||||||
sta $750,X ; 5
|
; Draw Rasterbars
|
||||||
|
;==================
|
||||||
|
|
||||||
lda words3,Y ; 4+
|
; 2 + YSIZE*[(8*16) + 5] - 1
|
||||||
sta $ad0,X ; 5
|
; 2 + (20*133) -1
|
||||||
|
; 2661 cycles
|
||||||
|
|
||||||
lda words4,Y ; 4+
|
ldx #19 ; 2
|
||||||
sta $b50,X ; 5
|
raster_loop2:
|
||||||
|
lda FRAMEBUFFER ; 3
|
||||||
|
sta $600,X ; 5
|
||||||
|
lda FRAMEBUFFER+1 ; 3
|
||||||
|
sta $680,X ; 5
|
||||||
|
lda FRAMEBUFFER+2 ; 3
|
||||||
|
sta $700,X ; 5
|
||||||
|
lda FRAMEBUFFER+3 ; 3
|
||||||
|
sta $780,X ; 5
|
||||||
|
lda FRAMEBUFFER+4 ; 3
|
||||||
|
sta $428,X ; 5
|
||||||
|
lda FRAMEBUFFER+5 ; 3
|
||||||
|
sta $4a8,X ; 5
|
||||||
|
lda FRAMEBUFFER+6 ; 3
|
||||||
|
sta $528,X ; 5
|
||||||
|
lda FRAMEBUFFER+7 ; 3
|
||||||
|
sta $5a8,X ; 5
|
||||||
|
|
||||||
iny ; 2
|
lda FRAMEBUFFER+8
|
||||||
inx ; 2
|
sta $A00,X
|
||||||
cpx #40 ; 2
|
lda FRAMEBUFFER+9
|
||||||
bne data_loop ; 2nt/3
|
sta $A80,X
|
||||||
|
lda FRAMEBUFFER+10
|
||||||
|
sta $B00,X
|
||||||
|
lda FRAMEBUFFER+11
|
||||||
|
sta $B80,X
|
||||||
|
lda FRAMEBUFFER+12
|
||||||
|
sta $828,X
|
||||||
|
lda FRAMEBUFFER+13
|
||||||
|
sta $8a8,X
|
||||||
|
lda FRAMEBUFFER+14
|
||||||
|
sta $928,X
|
||||||
|
lda FRAMEBUFFER+15
|
||||||
|
sta $9a8,X
|
||||||
|
|
||||||
inc OFFSET_GOVERNOR ; 5
|
dex ; 2
|
||||||
|
bpl raster_loop2 ; 2nt/3
|
||||||
|
|
||||||
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:
|
all_done:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
jmp display_loop ; 3
|
jmp display_loop ; 3
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user