File: vdc.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 (32 lines) | stat: -rw-r--r-- 857 bytes parent folder | download | duplicates (2)
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
        .export         vdc_init

        .include        "pce.inc"

; FIXME: implement selection of different video modes at runtime
HIRES   = 1

vdc_init:
        lda     VDC_CTRL

        VREG    VDC_CR , $0000  ; disable display and interrupts
        VREG    VDC_BXR, $0000  ; no scrolling
        VREG    VDC_BYR, $0000
        VREG    VDC_MWR, $0070  ; 128 x 64 tiles (1024 x 512 pixels)
        VREG    VDC_VSR, $1702  ; CRTC
        VREG    VDC_VDR, $00DF  ; CRTC - VDS
        VREG    VDC_VCR, $000C  ; CRTC - VDE
        VREG    VDC_DCR, $0000

.if      HIRES
        VREG    VDC_HSR, $0C02  ; CRTC
        VREG    VDC_HDR, $043C  ; CRTC - HDS
        lda     #$06
.else
        VREG    VDC_HSR, $0202  ; CRTC
        VREG    VDC_HDR, $041F  ; CRTC - HDS
        lda     #$04
.endif
        sta     VCE_CTRL

        lda     VDC_CTRL
        rts