]> git.sur5r.net Git - cc65/blob - libsrc/c1p/clrscr.s
f219a4550a2128c825a0006707df9615c2eaa188
[cc65] / libsrc / c1p / clrscr.s
1 ;\r
2 ; void clrscr (void);\r
3 ;\r
4         .export         _clrscr\r
5         .include        "c1p.inc"\r
6 \r
7 ; Adapted from the Challenger Character Graphics\r
8 ; Reference Manual, "2.3.3 MACHINE LANGUAGE SCREEN CLEAR"\r
9 ; This is self-modifying code!\r
10 BANKS = VIDEORAMSIZE / $100\r
11 \r
12 _clrscr:        LDA #$20 ;' '\r
13                 LDY #BANKS\r
14                 LDX #$00\r
15 STALOC:         STA SCRNBASE,X\r
16                 INX\r
17                 BNE STALOC\r
18                 INC STALOC+2\r
19                 DEY\r
20                 BNE STALOC\r
21                 LDA #>(SCRNBASE) ; load high byte\r
22                 STA STALOC+2     ; restore base address\r
23                 RTS\r