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 (if address bit 1 = 0 then address bits 2 and 3 are "Don't Care") 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) (*) : OR with STB input (pin 3), falling edge latches values until A5 read. A1 : Status (reading this register clears bit 2 and 6 (and 3 and 7) and the interrupt output) Bit 0: set 20 usec before start of Hblank, cleared 5 usec before end of Hblank Bit 1: Position Strobe Status. 1 = Follow Beam, 0 = Latched Bit 2: Sound register empty (?) Bit 3: This bit is set 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 : unused Bit 7 : Sound enable. 0 = sound off, 1 = sound on B0 - BA : equal to A0 - AA 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 (other bits unused) E0 - E9 : Vertical grid lines (10) Each byte is one vertical line Each bit is one vertical segment hor: 9x 9 segments vert: 10x 8 segments