; ; Ullrich von Bassewitz, 14.09.2001 ; .export _clrscr .import plot .include "cbm510.inc" .include "extzp.inc" ; ------------------------------------------------------------------------ ; void 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