VDC Registers. 00 - 0F : 4x Sprite control Byte 0: Y Byte 1: X Byte 2: (this byte is write only) Bit 0: shift sprite 1 pixel to the right Bit 1: shift even rows 1 pixel to the right Bit 2: double pixel size Bit 3..5: color (543 = BGR) Byte 3: unused 10 - 3F : 12x Character Byte 0: Y Byte 1: X Byte 2: (char * 8) - (Y / 2) Byte 3: Bit 0: 9th bit of char Bit 1..3: color (321 = BGR) 40 - 7F : 4x Quad character Bytes like characters 80 - 9F : 4x Sprite shape Each byte is one row of 8 pixels, bit 0 is the left-most pixel A0 : Control Bit 0: Enable horizontal interrupt Bit 1: 1 = Strobe X,Y beam location into $A4,$A5. 0 = $A4,$A5 latched Bit 2: Enable sound interrupt Bit 3: Grid control (0=Off/1=On) Bit 4: Enable external input overlap interrupt (G7400) Bit 5: Foreground (0=Off/1=On) (characters and sprites) Bit 6: Dot Grid (0=Off/1=On) Bit 7: Grid fill Mode (0=Off/1=On) A1 : Status (reading this register clears bit 2 and 6 and the interrupt output) Bit 0: 1 = Horizontal scan active, 0 = HBLANK Bit 1: Position Strobe Status. 1 = Follow Beam, 0 = Latched Bit 2: Sound register empty Bit 3: This bit is normally 0 and goes to 1 for 40us at the start of VBLANK Bit 4..5: unused Bit 6: External input overlap (G7400) Bit 7: Character overlap A2 : Collision (reading this register clears it) Bit 0: Sprite 0 Bit 1: Sprite 1 Bit 2: Sprite 2 Bit 3: Sprite 3 Bit 4: Vertical grid Bit 5: Horizontal grid and dots grid Bit 6: External video input (G7400) Bit 7: Characters A3 : Color (this register is write only) Bit 0..2: Grid color (210 = RGB) Bit 3..5: Background color (543 = RGB) Bit 6: Grid luminance (0=dim/1=bright) Bit 7: unused A4 : Y position (to read this register, A5 must be read first) A5 : X position A7 - A9 : Sound shift register (these registers are write only) AA : Sound control Bit 0..3: Sound volume Bit 4 : Enable noise generation Bit 5 : Shift frequency, 0 = 983Hz, 1 = 3933Hz Bit 6 : Recirculation bit. 0 = play once , 1 = loop Bit 7 : Sound enable. 0 = sound off, 1 = sound on C0 - C8 : Horizontal grid lines (8) Each byte is one column Bit 0..7 is horizontal line 0..7 D0 - D8 : 9th line of horizontal grid lines Each byte is one segment Bit 0 is horizontal line 8 E0 - E9 : Vertical grid lines (10) Each byte is one vertical line Each bit is one vertical segment