1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-25 13:29:41 +00:00
cc65/asminc/pce.inc

90 lines
2.6 KiB
PHP
Raw Normal View History

2015-07-12 12:27:24 +00:00
;
; PCE definitions. By Groepaz/Hitmem.
;
2015-08-29 13:58:57 +00:00
; FIXME: optimize zeropage usage
CURS_X = $30
CURS_Y = $31
SCREEN_PTR = $32 ;2
CRAM_PTR = $34 ;2
CHARCOLOR = $36
RVS = $37
BGCOLOR = $38
tickcount = $39 ;4
; FIXME: screen dimensions my change according to selected video mode
screenrows = (224/8)
charsperline = 61
CH_HLINE = 1
CH_VLINE = 2
; huc6270 - Video Display Controller (vdc)
2015-08-29 13:58:57 +00:00
VDC_MAWR = 0 ; Memory Address Write Register
VDC_MARR = 1 ; Memory Address Read Register
VDC_VWR = 2 ; VRAM Write Register
VDC_VRR = 3 ; VRAM Read Register
VDC_CR = 4 ; Control Register
VDC_RCR = 5 ; Raster Counter Register
VDC_BXR = 6 ; Background X-Scroll Register
VDC_BYR = 7 ; Background Y-Scroll Register
VDC_MWR = 8 ; Memory-access Width Register
VDC_HSR = 9 ; Horizontal Sync Register (?)
VDC_HDR = 10 ; Horizontal Display Register (?)
VDC_VPR = 11 ; (unknown)
VDC_VDW = 12 ; (unknown use)
VDC_VCR = 13 ; (unknown use)
VDC_DCR = 14 ; (DMA) Control Register
VDC_SOUR = 15 ; (DMA) Source Register
VDC_DESR = 16 ; (DMA) Destination Register
VDC_LENR = 17 ; (DMA) Length Register
VDC_SATB = 18 ; Sprite Attribute Table
2015-07-15 11:18:12 +00:00
; VDC port
; Note: absolute addressing mode must be used when writing to this port
2015-07-12 12:27:24 +00:00
VDC_CTRL = $0000
VDC_DATA_LO = $0002
VDC_DATA_HI = $0003
; huc6260 - Video Color Encoder (vce)
; The DAC has a palette of 512 colours.
; bitmap of the palette data is this: 0000000gggrrrbbb.
; You can read and write the DAC-registers.
2015-08-29 13:58:57 +00:00
VCE = $0400 ; base
2015-07-14 15:22:47 +00:00
2015-08-29 13:58:57 +00:00
VCE_CTRL = $0400 ; write$00 to reset
VCE_ADDR_LO = $0402 ; LSB of byte offset into palette
VCE_ADDR_HI = $0403 ; MSB of byte offset into palette
VCE_DATA_LO = $0404 ; LSB of 16-bit palette data
VCE_DATA_HI = $0405 ; MSB of 16-bit palette data
2015-07-14 15:22:47 +00:00
; programmable sound generator (PSG)
2015-08-29 13:58:57 +00:00
PSG = $0800 ; base
2015-07-14 15:22:47 +00:00
; timer
2015-08-29 13:58:57 +00:00
TIMER = $0c00 ; base
2015-07-14 15:22:47 +00:00
2015-07-12 12:27:24 +00:00
TIMER_COUNT = $0c00
TIMER_CTRL = $0c01
2015-07-12 12:27:24 +00:00
JOY_CTRL = $1000
2015-07-12 12:27:24 +00:00
IRQ_MASK = $1402
IRQ_STATUS = $1403
CDR_MEM_DISABLE = $1803
CDR_MEM_ENABLE = $1807
2015-07-12 12:27:24 +00:00
; Write VDC register
.macro VREG arg1,arg2
st0 #arg1
st1 #<(arg2)
st2 #>(arg2)
.endmacro