mirror of
https://github.com/cc65/cc65.git
synced 2024-12-23 19:29:37 +00:00
37178d5141
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
50 lines
586 B
ArmAsm
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
|
|
|