VDC I/O Ports and Registers.

Summary
VDC I/O Ports and Registers.
Ports.
videoportVDC port
video_regVDC register latch
video_dataVDC data
VDC status flags.Description of the status flags returned by reading video_reg.
VDC_STATUS_SPR_COLLISIONSet when the sprite #0 collision detection interrupt occurs.
VDC_STATUS_SPR_OVERFLOWSet when the sprite overflow interrupt occurs.
VDC_STATUS_HBLANKSet when the horizontal blank interrupt occurs.
VDC_STATUS_SATB_DMA_ENDSet when the VRAM to SATB DMA transfer completion interrupt occurs.
VDC_STATUS_VRAM_DMA_ENDSet when the VRAM to VRAM DMA transfer completion interrupt occurs.
VDC_STATUS_VBLANKSet when the vertical blank interrupt occurs.
VDC_STATUS_BUSYSet when the VDC is waiting for a CPU access slot during the active display area.
VDC registers.
Registers.
VDC_MAWRMemory Address Write Register
VDC_MARRMemory Address Read Register
VDC_DATAVRAM Data register
VDC_CRControl Register
VDC_RCRRaster Compare Register
VDC_BXRBackground X Scroll Register
VDC_BYRBackground Y Scroll Register
VDC_MWRMemory Width Register (MWR)
VDC_HSRHorizontal Synchro Register
VDC_HDRHorizontal Display Register
VDC_VSRVertical Synchro Register
VDC_VDRVertical Display Register
VDC_VCRVertical Display End Position Register
VDC_DMA_CRDMA Control Register
VDC_DMA_SRCDMA Source Address Register
VDC_DMA_DSTDMA Destination Address Register
VDC_DMA_LENDMA Transfer Length Register
VDC_SAT_SRCVRAM-SAT Source Address Register
Control Register Flags.
VDC_CR_SPR_COLLISION_ENABLEEnables sprite collision interrupt.
VDC_CR_SPR_OVERFLOW_ENABLEEnables sprite overflow interrupt.
VDC_CR_HBLANK_ENABLEEnables horizontal blank interrupt.
VDC_CR_VBLANK_ENABLEEnables vertical blank interrupt.
VDC_CR_SPR_ENABLEEnables sprites layer.
VDC_CR_BG_ENABLEEnables background layer.
VDC_CR_RW_INC_1Read/write address auto-increment by 1 word.
VDC_CR_RW_INC_32Read/write address auto-increment by 32 words.
VDC_CR_RW_INC_64Read/write address auto-increment by 64 words.
VDC_CR_RW_INC_128Read/write address auto-increment by 128 words.
Background Map Virtual Size.
VDC_BG_32x3232x32 virtual background map.
VDC_BG_64x3264x32 virtual background map.
VDC_BG_128x32128x32 virtual background map.
VDC_BG_32x6432x64 virtual background map.
VDC_BG_64x6464x64 virtual background map.
VDC_BG_128x64128x64 virtual background map.
DMA Control Register Flags.
VDC_DMA_SATB_ENABLEEnables VRAM to SATB end of transfer interrupt.
VDC_DMA_VRAM_ENABLEEnables VRAM to VRAM end of transfer interrupt.
VDC_DMA_SRC_INCSource address direction (increment).
VDC_DMA_SRC_DECSource address direction (decrement).
VDC_DMA_DST_INCDestination address direction (increment).
VDC_DMA_DST_DECDestination address direction (decrement).
VDC_DMA_SAT_AUTOEnable SAT DMA auto-transfer.
VDC resgister copy in zero-page.
vdc_dispVDC display flag.
vdc_crlCopy of the VDC control register LSB.
vdc_crhCopy of the VDC control register MSB.
vdc_srCopy of the VDC status register.
vdc_riCopy of the VDC register index.
VDC Helper Macros.
VDC_HSR_dbCompute the value of the VDC_HSR register for a given horizontal screen resolution.
VDC_HDR_dbCompute the value of the VDC_HDR register for a given horizontal screen resolution.
vdc_regInitialize VDC register.
vdc_setregSet VDC register from value in A.
vdc_dataSet VDC data.
vdc_enable_displayEnable background tiles and sprites display.
vdc_disable_displayDisable background tiles and sprites display.
vdc_set_crSet VDC control registers
vdc_wait_vsyncWait for VSYNC.
Default VDC values.
VDC_DEFAULT_BG_SIZEDefault virtual background map size.
VDC_DEFAULT_TILE_ADDRDefault tile address.
VDC_DEFAULT_XRESDefault horizontal resolution.
VDC_DEFAULT_SAT_ADDRDefault SAT VRAM offset.

Ports.

videoport

videoport = $0000

VDC port

video_reg

video_reg = videoport

VDC register latch

  • Writing the lower five bits of video_reg $0000 selects which register will be accessed at video_data_l ($0002) and video_data_h ($0003).  Only registers $00 to $02 and $05 to $13 are valid; selecting registers $03, $04 or $14 to $1F and trying to access them has no effect (see VDC registers).
  • Reading video_reg $0000 returns a set of status flags (see VDC status flags).

video_data

video_data = videoport+2

VDC data

Data to be read or written to the a VDC register.

VDC status flags.

Description of the status flags returned by reading video_reg.

bit 15-07unused
bit 6busy flag (VDC_STATUS_BUSY)
bit 5vertical blanking flag (VDC_STATUS_VBLANK)
bit 4VRAM to VRAM DMA end of transfer flag (VDC_STATUS_VRAM_DMA_END)
bit 3VRAM to SATB DMA end of transfer flag (VDC_STATUS_SATB_DMA_END)
bit 2scanline interrupt flag (VDC_STATUS_HBLANK)
bit 1sprite overflow flag (VDC_STATUS_SPR_OVERFLOW)
bit 0sprite collision flag (VDC_STATUS_SPR_COLLISION)

VDC_STATUS_SPR_COLLISION

VDC_STATUS_SPR_COLLISION = %00000001

Set when the sprite #0 collision detection interrupt occurs.  The collision happens if any of the opaque pixel of sprite #0 is overlapping any other sprites.

VDC_STATUS_SPR_OVERFLOW

VDC_STATUS_SPR_OVERFLOW = %00000010

Set when the sprite overflow interrupt occurs.  More precisely, when there are more than 16 sprites on a scanline.

VDC_STATUS_HBLANK

VDC_STATUS_HBLANK = %00000100

Set when the horizontal blank interrupt occurs.  This interrupt is triggered when the scanline matches the value stored in VDC register $06.

VDC_STATUS_SATB_DMA_END

VDC_STATUS_SATB_DMA_END = %00001000

Set when the VRAM to SATB DMA transfer completion interrupt occurs.

VDC_STATUS_VRAM_DMA_END

VDC_STATUS_VRAM_DMA_END = %00010000

Set when the VRAM to VRAM DMA transfer completion interrupt occurs.

VDC_STATUS_VBLANK

VDC_STATUS_VBLANK = %00100000

Set when the vertical blank interrupt occurs.

VDC_STATUS_BUSY

VDC_STATUS_BUSY = %01000000

Set when the VDC is waiting for a CPU access slot during the active display area.

VDC registers.

Summary
Registers.
VDC_MAWRMemory Address Write Register
VDC_MARRMemory Address Read Register
VDC_DATAVRAM Data register
VDC_CRControl Register
VDC_RCRRaster Compare Register
VDC_BXRBackground X Scroll Register
VDC_BYRBackground Y Scroll Register
VDC_MWRMemory Width Register (MWR)
VDC_HSRHorizontal Synchro Register
VDC_HDRHorizontal Display Register
VDC_VSRVertical Synchro Register
VDC_VDRVertical Display Register
VDC_VCRVertical Display End Position Register
VDC_DMA_CRDMA Control Register
VDC_DMA_SRCDMA Source Address Register
VDC_DMA_DSTDMA Destination Address Register
VDC_DMA_LENDMA Transfer Length Register
VDC_SAT_SRCVRAM-SAT Source Address Register
Control Register Flags.
VDC_CR_SPR_COLLISION_ENABLEEnables sprite collision interrupt.
VDC_CR_SPR_OVERFLOW_ENABLEEnables sprite overflow interrupt.
VDC_CR_HBLANK_ENABLEEnables horizontal blank interrupt.
VDC_CR_VBLANK_ENABLEEnables vertical blank interrupt.
VDC_CR_SPR_ENABLEEnables sprites layer.
VDC_CR_BG_ENABLEEnables background layer.
VDC_CR_RW_INC_1Read/write address auto-increment by 1 word.
VDC_CR_RW_INC_32Read/write address auto-increment by 32 words.
VDC_CR_RW_INC_64Read/write address auto-increment by 64 words.
VDC_CR_RW_INC_128Read/write address auto-increment by 128 words.
Background Map Virtual Size.
VDC_BG_32x3232x32 virtual background map.
VDC_BG_64x3264x32 virtual background map.
VDC_BG_128x32128x32 virtual background map.
VDC_BG_32x6432x64 virtual background map.
VDC_BG_64x6464x64 virtual background map.
VDC_BG_128x64128x64 virtual background map.
DMA Control Register Flags.
VDC_DMA_SATB_ENABLEEnables VRAM to SATB end of transfer interrupt.
VDC_DMA_VRAM_ENABLEEnables VRAM to VRAM end of transfer interrupt.
VDC_DMA_SRC_INCSource address direction (increment).
VDC_DMA_SRC_DECSource address direction (decrement).
VDC_DMA_DST_INCDestination address direction (increment).
VDC_DMA_DST_DECDestination address direction (decrement).
VDC_DMA_SAT_AUTOEnable SAT DMA auto-transfer.
VDC resgister copy in zero-page.
vdc_dispVDC display flag.
vdc_crlCopy of the VDC control register LSB.
vdc_crhCopy of the VDC control register MSB.
vdc_srCopy of the VDC status register.
vdc_riCopy of the VDC register index.
VDC Helper Macros.
VDC_HSR_dbCompute the value of the VDC_HSR register for a given horizontal screen resolution.
VDC_HDR_dbCompute the value of the VDC_HDR register for a given horizontal screen resolution.
vdc_regInitialize VDC register.
vdc_setregSet VDC register from value in A.
vdc_dataSet VDC data.
vdc_enable_displayEnable background tiles and sprites display.
vdc_disable_displayDisable background tiles and sprites display.
vdc_set_crSet VDC control registers
vdc_wait_vsyncWait for VSYNC.
Default VDC values.
VDC_DEFAULT_BG_SIZEDefault virtual background map size.
VDC_DEFAULT_TILE_ADDRDefault tile address.
VDC_DEFAULT_XRESDefault horizontal resolution.
VDC_DEFAULT_SAT_ADDRDefault SAT VRAM offset.

Registers.

VDC_MAWR

VDC_MAWR = $00

Memory Address Write Register

Detail

Set the word offset in VRAM where data written to VDC_DATA will be stored.  The value of this register is automatically incremented after a write to the MSB of VDC_DATA.  The increment value is set via bits 11 and 12 of VDC_CR.

VDC_MARR

VDC_MARR = $01

Memory Address Read Register

Detail

Set the word offset in VRAM from where data will be read.  Just like VDC_MAWR, this register is automatically incremented after a read to the high byte of VDC_DATA and the increment is set via bits 11 and 12 of VDC_CR.

VDC_DATA

VDC_DATA = $02

VRAM Data register

Detail

  • Writing to LSB (video_data_l), the CPU data is stored in the write latch.  When the MSB is written (video_data_h), the whole 16 bits from the write latch and the MSB are transfered to the memory location set with VDC_MAWRVDC_MAWR is then automatically incremented according to the value set in the control register VDC_CR.
  • Reading the LSB (video_data_l) will store the LSB of the read buffer, and reading the MSG (video_data_h) will store the MSB of the read buffer.  VDC_MARR is then incremented by the factor set in VDC_CR, and a word is read of VRAM at the location set by VDC_MARR is read and stored in the read buffer.

VDC_CR

VDC_CR = $05

Control Register

Detail

Enables or disables VDC interrupts, background or sprite display, and set the read and write auto-increment.  See Control Register Flags for a complete description.

Value

bit 15-13Unused
bit 12-11Read/Write auto-increment value VDC_CR_RW_INC_1, VDC_CR_RW_INC_32, VDC_CR_RW_INC_64, VDC_CR_RW_INC_128
bit 10DRAM refresh enable (unused)
bit 9-8DISP terminal output mode (unused)
bit 7Background enable VDC_CR_BG_ENABLE
bit 6Sprite enable VDC_CR_SPR_ENABLE
bit 5-4External sync (unused)
bit 3Enable interrupt for vertical blanking VDC_CR_VBLANK_ENABLE
bit 2Enable interrupt for raster compare VDC_CR_HBLANK_ENABLE
bit 1Enable interrupt for sprite overflow VDC_CR_SPR_OVERFLOW_ENABLE
bit 0Enable interrupt for sprite #0 collision VDC_CR_SPR_COLLISION_ENABLE

VDC_RCR

VDC_RCR = $06

Raster Compare Register

Detail

Set the scanline on which the horizontal scanline interrupt should be raised.  The first scanline of the display area is the number 64.  Valid RCR register values range from 64 to 326.

Value

bit 15-10Unused
bit 9-0Scanline number.

VDC_BXR

VDC_BXR = $07

Background X Scroll Register

Detail

Horizontal screen position in the virtual background map.

Value

bit 15-10Unused
bit 9-0Horizontal scroll position.

VDC_BYR

VDC_BYR = $08

Background Y Scroll Register

Detail

Vertical screen position in the virtual background map.

Value

bit 15-9Unused
bit 8-0Vertical scroll position.

VDC_MWR

VDC_MWR = $09

Memory Width Register (MWR)

Detail

Set virtual background map size.

Value

bit 15-8Unused
bit 7CG Mode
bit 4-6Background Map Virtual Size
bit 3-2Sprite Dot Period
bit 0-1VRAM Dot Width

VDC_HSR

VDC_HSR = $0A

Horizontal Synchro Register

Detail

Set horizontal synchro width and start position.

Value

bit 15Unused
bit 14-8Horizontal Display Start (HDS)
bit 7-5Unused
bit 4-0Horizontal Sync Width (HSW)

VDC_HDR

VDC_HDR = $0B

Horizontal Display Register

Detail

Set horizontal display width and end position.

Value

bit 15Unused
bit 14-8Horizontal Display End (HDE)
bit 7Unused
bit 6-0Horizontal Display Width (HDW)

VDC_VSR

VDC_VSR = $0C

Vertical Synchro Register

Detail

Set vertical synchro width and start position.

Value

bit 15-8Vertical Display Start (VDS)
bit 7-5Unused
bit 4-0Vertical Synchro Width (VSW)

VDC_VDR

VDC_VDR = $0D

Vertical Display Register

Detail

Set vertical display width.

Value

bit 15-9Unused
bit 8-0Vertical Display Width (VDR)

VDC_VCR

VDC_VCR = $0E

Vertical Display End Position Register

Value

bit 15-9Unused
bit 8-0Vertical Display End Position (VCR)

VDC_DMA_CR

VDC_DMA_CR = $0F

DMA Control Register

Detail

Enables or disables VRAM to VRAM or VRAM to SATB end of transfer interrupts.  Set source and destination direction (increment or decrement), and enable or disable SATB DMA automatic transfer (see DMA Control Register Flags).

Value

bit 15-5Unused
bit 4SATB DMA auto-transfer enable flag <VDC_DMA_SATB_AUTO>
bit 3Destination address increment direction VDC_DMA_DST_INC, VDC_DMA_DST_DEC
bit 3Source address increment direction VDC_DMA_SRC_INC, VDC_DMA_SRC_DEC
bit 1VRAM to VRAM end of transfer interrupt enable flag VDC_DMA_VRAM_ENABLE
bit 0VRAM to SATB end of transfer interrupt enable flag VDC_DMA_SATB_ENABLE

VDC_DMA_SRC

VDC_DMA_SRC = $10

DMA Source Address Register

VDC_DMA_DST

VDC_DMA_DST = $11

DMA Destination Address Register

VDC_DMA_LEN

VDC_DMA_LEN = $12

DMA Transfer Length Register

VDC_SAT_SRC

VDC_SAT_SRC = $13

VRAM-SAT Source Address Register

Control Register Flags.

VDC_CR_SPR_COLLISION_ENABLE

VDC_CR_SPR_COLLISION_ENABLE = $0001

Enables sprite collision interrupt.

VDC_CR_SPR_OVERFLOW_ENABLE

VDC_CR_SPR_OVERFLOW_ENABLE = $0002

Enables sprite overflow interrupt.

VDC_CR_HBLANK_ENABLE

VDC_CR_HBLANK_ENABLE = $0004

Enables horizontal blank interrupt.

VDC_CR_VBLANK_ENABLE

VDC_CR_VBLANK_ENABLE = $0008

Enables vertical blank interrupt.

VDC_CR_SPR_ENABLE

VDC_CR_SPR_ENABLE = $0040

Enables sprites layer.

VDC_CR_BG_ENABLE

VDC_CR_BG_ENABLE = $0080

Enables background layer.

VDC_CR_RW_INC_1

VDC_CR_RW_INC_1 = $0000

Read/write address auto-increment by 1 word.

VDC_CR_RW_INC_32

VDC_CR_RW_INC_32 = $0800

Read/write address auto-increment by 32 words.

VDC_CR_RW_INC_64

VDC_CR_RW_INC_64 = $1000

Read/write address auto-increment by 64 words.

VDC_CR_RW_INC_128

VDC_CR_RW_INC_128 = $1800

Read/write address auto-increment by 128 words.

Background Map Virtual Size.

VDC_BG_32x32

VDC_BG_32x32 = %00000000

32x32 virtual background map.

VDC_BG_64x32

VDC_BG_64x32 = %00010000

64x32 virtual background map.

VDC_BG_128x32

VDC_BG_128x32 = %00100000

128x32 virtual background map.

VDC_BG_32x64

VDC_BG_32x64 = %01000000

32x64 virtual background map.

VDC_BG_64x64

VDC_BG_64x64 = %01010000

64x64 virtual background map.

VDC_BG_128x64

VDC_BG_128x64 = %01100000

128x64 virtual background map.

DMA Control Register Flags.

VDC_DMA_SATB_ENABLE

VDC_DMA_SATB_ENABLE = %00000001

Enables VRAM to SATB end of transfer interrupt.

VDC_DMA_VRAM_ENABLE

VDC_DMA_VRAM_ENABLE = %00000010

Enables VRAM to VRAM end of transfer interrupt.

VDC_DMA_SRC_INC

VDC_DMA_SRC_INC = %00000000

Source address direction (increment).

VDC_DMA_SRC_DEC

VDC_DMA_SRC_DEC = %00000100

Source address direction (decrement).

VDC_DMA_DST_INC

VDC_DMA_DST_INC = %00000000

Destination address direction (increment).

VDC_DMA_DST_DEC

VDC_DMA_DST_DEC = %00001000

Destination address direction (decrement).

VDC_DMA_SAT_AUTO

VDC_DMA_SAT_AUTO = %00010000

Enable SAT DMA auto-transfer.

VDC resgister copy in zero-page.

vdc_disp

vdc_disp = $20f2

VDC display flag.

vdc_crl

vdc_crl = $20f3

Copy of the VDC control register LSB.

vdc_crh

vdc_crh = $20f4

Copy of the VDC control register MSB.

vdc_sr

vdc_sr = $20f6

Copy of the VDC status register.

vdc_ri

vdc_ri = $20f7

Copy of the VDC register index.

VDC Helper Macros.

VDC_HSR_db

Compute the value of the VDC_HSR register for a given horizontal screen resolution.  This macro outputs the result as 2 .db directives.

Assembly call

VDC_HSR_db xres

Parameters

xresHorizontal screen resolution.

VDC_HDR_db

Compute the value of the VDC_HDR register for a given horizontal screen resolution.  This macro outputs the result as 2 .db directives.

Assembly call

VDC_HDR_db xres

Parameters

xresHorizontal screen resolution.

vdc_reg

Initialize VDC register.

Assembly call

vdc_reg   #VDC_MAWR

Parameters

regVDC register.

vdc_setreg

Set VDC register from value in A.

Assembly call

vdc_setreg

vdc_data

Set VDC data.

Assembly call

vdc_data    <_si
vdc_data    $2210, $3200

vdc_enable_display

Enable background tiles and sprites display.

Assembly call

vdc_enable_display

vdc_disable_display

Disable background tiles and sprites display.

Assembly call

vdc_disable_display

vdc_set_cr

Set VDC control registers

Assembly call

vdc_set_cr flags

Parameters

flagscontrol register flags.

vdc_wait_vsync

Wait for VSYNC.

Default VDC values.

VDC_DEFAULT_BG_SIZE

VDC_DEFAULT_BG_SIZE = VDC_BG_64x64

Default virtual background map size.

VDC_DEFAULT_TILE_ADDR

Default tile address.

VDC_DEFAULT_XRES

VDC_DEFAULT_XRES = 256

Default horizontal resolution.

VDC_DEFAULT_SAT_ADDR

VDC_DEFAULT_SAT_ADDR = $7F00

Default SAT VRAM offset.

videoport = $0000
VDC port
video_reg = videoport
VDC register latch
video_data = videoport+2
VDC data
VDC_STATUS_SPR_COLLISION = %00000001
Set when the sprite #0 collision detection interrupt occurs.
VDC_STATUS_SPR_OVERFLOW = %00000010
Set when the sprite overflow interrupt occurs.
VDC_STATUS_HBLANK = %00000100
Set when the horizontal blank interrupt occurs.
VDC_STATUS_SATB_DMA_END = %00001000
Set when the VRAM to SATB DMA transfer completion interrupt occurs.
VDC_STATUS_VRAM_DMA_END = %00010000
Set when the VRAM to VRAM DMA transfer completion interrupt occurs.
VDC_STATUS_VBLANK = %00100000
Set when the vertical blank interrupt occurs.
VDC_STATUS_BUSY = %01000000
Set when the VDC is waiting for a CPU access slot during the active display area.
VDC_MAWR = $00
Memory Address Write Register
VDC_MARR = $01
Memory Address Read Register
VDC_DATA = $02
VRAM Data register
VDC_CR = $05
Control Register
VDC_RCR = $06
Raster Compare Register
VDC_BXR = $07
Background X Scroll Register
VDC_BYR = $08
Background Y Scroll Register
VDC_MWR = $09
Memory Width Register (MWR)
VDC_HSR = $0A
Horizontal Synchro Register
VDC_HDR = $0B
Horizontal Display Register
VDC_VSR = $0C
Vertical Synchro Register
VDC_VDR = $0D
Vertical Display Register
VDC_VCR = $0E
Vertical Display End Position Register
VDC_DMA_CR = $0F
DMA Control Register
VDC_DMA_SRC = $10
DMA Source Address Register
VDC_DMA_DST = $11
DMA Destination Address Register
VDC_DMA_LEN = $12
DMA Transfer Length Register
VDC_SAT_SRC = $13
VRAM-SAT Source Address Register
VDC_CR_SPR_COLLISION_ENABLE = $0001
Enables sprite collision interrupt.
VDC_CR_SPR_OVERFLOW_ENABLE = $0002
Enables sprite overflow interrupt.
VDC_CR_HBLANK_ENABLE = $0004
Enables horizontal blank interrupt.
VDC_CR_VBLANK_ENABLE = $0008
Enables vertical blank interrupt.
VDC_CR_SPR_ENABLE = $0040
Enables sprites layer.
VDC_CR_BG_ENABLE = $0080
Enables background layer.
VDC_CR_RW_INC_1 = $0000
Read/write address auto-increment by 1 word.
VDC_CR_RW_INC_32 = $0800
Read/write address auto-increment by 32 words.
VDC_CR_RW_INC_64 = $1000
Read/write address auto-increment by 64 words.
VDC_CR_RW_INC_128 = $1800
Read/write address auto-increment by 128 words.
VDC_BG_32x32 = %00000000
32x32 virtual background map.
VDC_BG_64x32 = %00010000
64x32 virtual background map.
VDC_BG_128x32 = %00100000
128x32 virtual background map.
VDC_BG_32x64 = %01000000
32x64 virtual background map.
VDC_BG_64x64 = %01010000
64x64 virtual background map.
VDC_BG_128x64 = %01100000
128x64 virtual background map.
VDC_DMA_SATB_ENABLE = %00000001
Enables VRAM to SATB end of transfer interrupt.
VDC_DMA_VRAM_ENABLE = %00000010
Enables VRAM to VRAM end of transfer interrupt.
VDC_DMA_SRC_INC = %00000000
Source address direction (increment).
VDC_DMA_SRC_DEC = %00000100
Source address direction (decrement).
VDC_DMA_DST_INC = %00000000
Destination address direction (increment).
VDC_DMA_DST_DEC = %00001000
Destination address direction (decrement).
VDC_DMA_SAT_AUTO = %00010000
Enable SAT DMA auto-transfer.
vdc_disp = $20f2
VDC display flag.
vdc_crl = $20f3
Copy of the VDC control register LSB.
vdc_crh = $20f4
Copy of the VDC control register MSB.
vdc_sr = $20f6
Copy of the VDC status register.
vdc_ri = $20f7
Copy of the VDC register index.
VDC_DEFAULT_BG_SIZE = VDC_BG_64x64
Default virtual background map size.
VDC_DEFAULT_XRES = 256
Default horizontal resolution.
VDC_DEFAULT_SAT_ADDR = $7F00
Default SAT VRAM offset.
Description of the status flags returned by reading video_reg.
Close