1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 04:30:10 +00:00
cc65/libsrc/cbm510/clrscr.s
cuz 3aadd7f62b Combine the existing include files, move zp space out of crt0.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@1290 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-26 09:08:52 +00:00

62 lines
941 B
ArmAsm

;
; Ullrich von Bassewitz, 14.09.2001
;
.export _clrscr
.import plot
.include "cbm510.inc"
; ------------------------------------------------------------------------
; void __fastcall__ clrscr (void);
.proc _clrscr
lda #0
sta CURS_X
sta CURS_Y
jsr plot ; Set cursor to top left corner
ldx #$00 ; Count
jsr clearpage
jsr clearpage
jsr clearpage
ldx #<(40*25) ; Count
jsr clearpage ; Clear remainder of last page
jmp plot ; Set screen pointer again
.endproc
.proc clearpage
txa
pha ; Save count
lda #$20 ; Screencode for blank
ldy #$00
@L1: sta (SCREEN_PTR),y
iny
dex
bne @L1
inc SCREEN_PTR+1
pla
tax ; Reload count
lda IndReg
pha
lda #$0F
sta IndReg ; Switch to the system bank
lda CHARCOLOR ; Load color
ldy #$00
@L2: sta (CRAM_PTR),y
iny
dex
bne @L2
inc CRAM_PTR+1
pla
sta IndReg ; Restore the old indirect bank
rts
.endproc