1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 19:29:37 +00:00
cc65/libsrc/pet/clrscr.s
cuz 37178d5141 Make screensize() fetch the values dynamically instead of using variables
that are set on startup. This is needed to support the C128, which can switch
the screen size at runtime.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-04-09 19:34:57 +00:00

50 lines
586 B
ArmAsm

;
; Ullrich von Bassewitz, 26.11.1998
;
; void clrscr (void);
;
.export _clrscr
.import plot
.importzp ptr1
.include "pet.inc"
_clrscr:
; Set the screen base address
lda #$00
sta ptr1
lda #$80
sta ptr1+1
; Determine, how many pages to fill
ldx #4
lda SCR_LINELEN ; Check length of one line
cmp #40+1
bcc L1
ldx #8
; Clear the screen
L1: lda #$20 ; Screen code for blank
ldy #$00
L2: sta (ptr1),y
iny
bne L2
inc ptr1+1
dex
bne L2
; Set the cursor to 0/0
lda #0
sta CURS_X
sta CURS_Y
jmp plot
rts