]> git.sur5r.net Git - cc65/blob - libsrc/creativision/clrscr.s
ef800a9bdbdaea0958d6f4278ee2369f95528eaa
[cc65] / libsrc / creativision / clrscr.s
1 ;*
2 ;* clrscr
3 ;*
4 ;* NB: All screen functions assume Graphics Mode 1 in a default configuration.
5 ;* Therefore, this is hard coded to use $1000-$12FF as screen VRAM.
6
7     .export     _clrscr
8     .include    "creativision.inc"
9     
10 _clrscr:
11
12     sei         ; Disable interrupts. Default INT handler reads VDP_STATUS
13                 ; and would lose any setup done here.
14                 
15     lda         #$00    ; VRAM offset low
16     sta         VDP_CONTROL_W
17     
18     lda         #$50    ; VRAM offset high ($10 OR $40)
19     sta         VDP_CONTROL_W
20     
21     lda         #$C0    ; Space from ROM setup
22     
23     ldx         #0
24     ldy         #3
25     
26 L1:     sta             VDP_DATA_W
27     inx
28     bne         L1
29     dey
30     bne         L1
31     
32     cli                         ; Let interrupts go again
33     
34     lda         #0
35     sta         CURSOR_X
36     sta         CURSOR_Y
37     sta         <SCREEN_PTR
38     lda         #$10
39     sta         >SCREEN_PTR
40     
41     rts