File: clrscr.s

package info (click to toggle)
cc65 2.19-2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 20,268 kB
  • sloc: ansic: 117,151; asm: 66,339; pascal: 4,248; makefile: 1,009; perl: 607
file content (41 lines) | stat: -rw-r--r-- 948 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
;*
;* clrscr
;*
;* NB: All screen functions assume Graphics Mode 1 in a default configuration.
;* Therefore, this is hard coded to use $1000-$12FF as screen VRAM.

        .export         _clrscr
        .include        "creativision.inc"

_clrscr:

        sei             ; Disable interrupts. Default INT handler reads VDP_STATUS
                        ; and would lose any setup done here.

        lda     #$00    ; VRAM offset low
        sta     VDP_CONTROL_W

        lda     #$50    ; VRAM offset high ($10 OR $40)
        sta     VDP_CONTROL_W

        lda     #$40    ; Space char from ROM setup

        ldx     #0
        ldy     #3

L1:     sta     VDP_DATA_W
        inx
        bne     L1
        dey
        bne     L1

        cli             ; Let interrupts go again

        lda     #0
        sta     CURSOR_X
        sta     CURSOR_Y
        sta     SCREEN_PTR
        lda     #$10
        sta     SCREEN_PTR+1

        rts