1
0
mirror of https://github.com/cc65/cc65.git synced 2025-08-08 06:25:17 +00:00

optimized clrscr for size

This commit is contained in:
mrdudz
2015-10-06 19:33:43 +02:00
parent 23473641f4
commit ee54f7f40c

View File

@@ -2,22 +2,36 @@
.export soft80_kclrscr .export soft80_kclrscr
.import soft80_kplot .import soft80_kplot
.import __bgcolor .import __bgcolor
.importzp ptr1
.include "c64.inc" .include "c64.inc"
.include "soft80.inc" .include "soft80.inc"
soft80_kclrscr: soft80_kclrscr:
lda #<soft80_bitmap
sta ptr1
lda #>soft80_bitmap
sta ptr1+1
lda #$ff lda #$ff
ldx #$00 ldx #$1f
lp1: @lp2:
.repeat $1f,page ldy #0
sta soft80_bitmap+(page*$100),x @lp1:
.endrepeat sta (ptr1),y
iny
bne @lp1
inc ptr1+1
dex
bne @lp2
;ldx #$00
@lp3:
sta soft80_bitmap+$1e40,x sta soft80_bitmap+$1e40,x
inx inx
bne lp1 bne @lp3
sei sei
ldy $01 ldy $01
@@ -27,28 +41,12 @@ lp1:
lda CHARCOLOR lda CHARCOLOR
and #$f0 and #$f0
ora __bgcolor ora __bgcolor
jsr clear ; clear vram
;ldx #$00 inc $01 ; -> $35
lp2:
sta soft80_vram,x
sta soft80_vram+$100,x
sta soft80_vram+$200,x
sta soft80_vram+$2e8,x
inx
bne lp2
inc $01
lda __bgcolor lda __bgcolor
;ldx #$00 jsr clear ; clear color ram
lp3:
sta soft80_colram,x
sta soft80_colram+$100,x
sta soft80_colram+$200,x
sta soft80_colram+$2e8,x
inx
bne lp3
sty $01 sty $01
cli cli
@@ -58,6 +56,16 @@ lp3:
clc clc
jmp soft80_kplot jmp soft80_kplot
; clear loop for colram and vram
clear:
;ldx #$00
@lp1:
sta soft80_colram,x
sta soft80_colram+$100,x
sta soft80_colram+$200,x
sta soft80_colram+$2e8,x
inx
bne @lp1
rts