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:
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user