]> git.sur5r.net Git - cc65/blob - asminc/pce.inc
Fixed _textcolor definition.
[cc65] / asminc / pce.inc
1 ;
2 ; PCE definitions. By Groepaz/Hitmen.
3 ;
4
5 ; FIXME: Screen dimensions can change according to the selected video mode.
6 screenrows      = (224/8)
7 charsperline    = 61
8
9 CH_HLINE        = 1
10 CH_VLINE        = 2
11
12 ; HuC6270 -- Video Display Controller (VDC)
13
14 VDC_MAWR        = 0             ; Memory Address Write Register
15 VDC_MARR        = 1             ; Memory Address Read Register
16 VDC_VWR         = 2             ; VRAM Write Register
17 VDC_VRR         = 2             ; VRAM Read Register
18 VDC_UNK03       = 3             ; (unknown)
19 VDC_UNK04       = 4             ; (unknown)
20 VDC_CR          = 5             ; Control Register
21 VDC_RCR         = 6             ; Raster Counter Register
22 VDC_BXR         = 7             ; Background X-Scroll Register
23 VDC_BYR         = 8             ; Background Y-Scroll Register
24 VDC_MWR         = 9             ; Memory-access Width Register
25 VDC_HSR         = 10            ; Horizontal Sync Register
26 VDC_HDR         = 11            ; Horizontal Display Register
27 VDC_VSR         = 12            ; Vertical sync Register
28 VDC_VDR         = 13            ; Vertical Display register
29 VDC_VCR         = 14            ; Vertical display END position register
30 VDC_DCR         = 15            ; (DMA) Control Register
31 VDC_SOUR        = 16            ; (DMA) Source Register
32 VDC_DESR        = 17            ; (DMA) Destination Register
33 VDC_LENR        = 18            ; (DMA) Length Register
34 VDC_SATB        = 19            ; Sprite Attribute Table
35
36 ; VDC port
37 ; Note:  The zero-page addressing mode is redirected to page $20.
38 ; We avoid it by using mirror locations that are outside of the zero page.
39
40 VDC_CTRL        := $0200
41 VDC_DATA_LO     := $0202
42 VDC_DATA_HI     := $0203
43
44 ; HuC6260 -- Video Color Encoder (VCE)
45
46 ; The DAC has a palette of 512 colours.
47 ; The bitmap of that data is 0000000gggrrrbbb (Green, Red, Blue).
48 ; You can read and write the DAC registers.
49
50 VCE             := $0400        ; base
51
52 VCE_CTRL        := $0400        ; write $00 to reset
53 VCE_ADDR_LO     := $0402        ; LSB of byte offset into palette
54 VCE_ADDR_HI     := $0403        ; MSB of byte offset into palette
55 VCE_DATA_LO     := $0404        ; LSB of 16-bit palette data
56 VCE_DATA_HI     := $0405        ; MSB of 16-bit palette data
57
58 ; Programmable Sound Generator (PSG)
59
60 PSG             := $0800        ; base
61
62 PSG_CHAN_SELECT := $0800
63 PSG_GLOBAL_PAN  := $0801
64 PSG_FREQ_LO     := $0802
65 PSG_FREQ_HI     := $0803
66 PSG_CHAN_CTRL   := $0804
67 PSG_CHAN_PAN    := $0805
68 PSG_CHAN_DATA   := $0806
69 PSG_NOISE       := $0807
70 PSG_LFO_FREQ    := $0808
71 PSG_LFO_CTRL    := $0809
72
73 ; Timer
74
75 TIMER           := $0C00        ; base
76
77 TIMER_COUNT     := $0C00
78 TIMER_CTRL      := $0C01
79
80 JOY_CTRL        := $1000
81
82 IRQ_MASK        := $1402
83 IRQ_STATUS      := $1403
84
85 CDR_MEM_DISABLE := $1803
86 CDR_MEM_ENABLE  := $1807
87
88 ; Write to a VDC register.
89 .macro  VREG    arg1, arg2
90         st0     #arg1
91         st1     #<(arg2)
92         st2     #>(arg2)
93 .endmacro