2 ; PCE definitions. By Groepaz/Hitmen.
5 ; FIXME: Screen dimensions can change according to the selected video mode.
12 ; HuC6270 -- Video Display Controller (VDC)
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
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.
44 ; HuC6260 -- Video Color Encoder (VCE)
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.
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
58 ; Programmable Sound Generator (PSG)
62 PSG_CHAN_SELECT := $0800
63 PSG_GLOBAL_PAN := $0801
66 PSG_CHAN_CTRL := $0804
68 PSG_CHAN_DATA := $0806
85 CDR_MEM_DISABLE := $1803
86 CDR_MEM_ENABLE := $1807
88 ; Write to a VDC register.
89 .macro VREG arg1, arg2