]> git.sur5r.net Git - cc65/blob - asminc/pce.inc
_tickcount -> tickcount
[cc65] / asminc / pce.inc
1 ;
2 ; PCE definitions. By Groepaz/Hitmem.
3 ;
4
5 ;; FIXME: optimize zeropage usage
6
7 CURS_X      = $30
8 CURS_Y      = $31
9 SCREEN_PTR  = $32       ;2
10 CRAM_PTR    = $34       ;2
11 CHARCOLOR   = $36
12 RVS         = $37
13 BGCOLOR     = $38
14 tickcount   = $39       ;4
15
16 screenrows = (224/8)
17 charsperline = (512/8)
18 xsize = charsperline
19
20 CH_HLINE = 7
21 CH_VLINE = 7
22
23 ; huc6270 - Video Display Controller (vdc)
24
25 VDC_MAWR = 0 ; Memory Address Write Register
26 VDC_MARR = 1 ; Memory Address Read Register
27 VDC_VWR  = 2 ; VRAM Write Register
28 VDC_VRR  = 3 ; VRAM Read Register
29 VDC_CR   = 4 ; Control Register
30 VDC_RCR  = 5 ; Raster Counter Register
31 VDC_BXR  = 6 ; Background X-Scroll Register
32 VDC_BYR  = 7 ; Background Y-Scroll Register
33 VDC_MWR  = 8 ; Memory-access Width Register
34 VDC_HSR  = 9 ; Horizontal Sync Register (?)
35 VDC_HDR  =10 ; Horizontal Display Register (?)
36 VDC_VPR  =11 ; (unknown)
37 VDC_VDW  =12 ; (unknown use)
38 VDC_VCR  =13 ; (unknown use)
39 VDC_DCR  =14 ; (DMA) Control Register
40 VDC_SOUR =15 ; (DMA) Source Register
41 VDC_DESR =16 ; (DMA) Destination Register
42 VDC_LENR =17 ; (DMA) Length Register
43 VDC_SATB =18 ; Sprite Attribute Table
44
45 VDC_CTRL        = $0000
46 VDC_DATA_LO     = $0002
47 VDC_DATA_HI     = $0003
48
49 ; huc6260 - Video Color Encoder (vce)
50
51 ; The DAC has a palette of 512 colours.
52 ; bitmap of the palette data is this: 0000000gggrrrbbb.
53 ; You can read and write the DAC-registers.
54
55 VCE         = $0400 ; base
56
57 VCE_CTRL    = $0400 ; write$00 to reset
58 VCE_ADDR_LO = $0402 ; LSB of byte offset into palette
59 VCE_ADDR_HI = $0403 ; MSB of byte offset into palette
60 VCE_DATA_LO = $0404 ; LSB of 16-bit palette data
61 VCE_DATA_HI = $0405 ; MSB of 16-bit palette data
62
63 ; programmable sound generator (PSG)
64
65 PSG             = $0800 ; base
66
67 ; timer
68
69 TIMER           = $0c00 ; base
70
71 TIMER_COUNT     = $0c00
72 TIMER_CTRL      = $0c01
73
74 JOY_CTRL        = $1000
75
76 IRQ_MASK        = $1402
77 IRQ_STATUS      = $1403
78
79 CDR_MEM_DISABLE = $1803
80 CDR_MEM_ENABLE  = $1807
81
82 ;; lda abs
83 .macro ldaio arg1
84         .byte $ad
85         .word arg1
86 .endmacro
87
88 ;; sta abs
89 .macro staio arg1
90         .byte $8d
91         .word arg1
92 .endmacro
93
94 ;; stz abs
95 .macro stzio arg1
96         .byte $9c
97         .word arg1
98 .endmacro
99
100 ; Write VDC register
101 .macro VREG arg1,arg2
102         st0     #arg1
103         st1     #<(arg2)
104         st2     #>(arg2)
105 .endmacro