1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-22 12:30:41 +00:00
cc65/libsrc/cbm610/clrscr.s
cuz a7042ddbe4 Complete redesign of the CBM610 support.
Use wrappers to call the kernal in bank 15 instead of implementing kernal
functionality within the cc65 libs (eats performance but is much smaller and
simpler).
Improved startup/shutdown code allows a return to the system bank without
calling the BASIC cold start vector.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2793 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-20 23:13:26 +00:00

44 lines
577 B
ArmAsm

;
; Ullrich von Bassewitz, 22.09.1998
;
; void clrscr (void);
;
.export _clrscr
.import plot
.import CURS_X: zp, CURS_Y: zp, CharPtr: zp
.include "cbm610.inc"
.proc _clrscr
lda #0
sta CURS_X
sta CURS_Y
jsr plot ; Set cursor to top left corner
lda IndReg
pha
lda #$0F
sta IndReg ; Switch to the system bank
ldx #8
ldy #$00
lda #$20 ; Screencode for blank
L1: sta (CharPtr),y
iny
bne L1
inc CharPtr+1
dex
bne L1
pla
sta IndReg ; Restore old indirect segment
jmp plot ; Set screen pointer again
.endproc