Version 2 video board completed, the new one is the one on the left with the square chip and no cassette tape ports.

- mk2 video board.jpg (122.5 KiB) Viewed 50831 times
Lez sent me (via Dave) some extra parts to improve on the original design. The big change is the move to dual ported ram. The square chip is 8k of DP ram. With the VDG on one port and the CPU on the other, there's no need for the buffering to keep the VGD and CPU form interfering with each other.
Snow on the screen from the VGD and CPU attempting simultaneous access won't now happen. The RAM can cope with both sides reading the same address at the same time. If the CPU happens to try and write to a byte that the VDG I reading, Ready is activated and the CPU is held until the VDG is done. If the VDG tries to access a byte the CPU is writing, the ram at 35ns is comfortably fast enough to complete the VDG read after the CPU write is complete, so there's no special action required.
With the extra board space freed up from the removal of the memory buffering, I've added an external character rom. Normally the VDG uses an internal 64 character rom, with inverse for 128 displayable characters. However, only having 64 base characters means there's no room for lower case. The other down side is the size of the characters, to save space, they're based on a 5 x 7 matrix, even though the character cells are 8 pixels by 12 rows.
Half of the 8k eeprom holds a replacement character set, using the full size of the character cell to provide descenders etc. Sitting next to that is a 74LS161 ( I didn't have the HC161 in the box) counter which does the row select, and 2 74HC157's to switch the data path between text modes where the rom is active, and graphic modes where it isn't. There is a pair on on-board jumpers that can be set to enable or disable new characters.

- character rom active.jpg (101.68 KiB) Viewed 50831 times
That's how the display from a few posts previous appears on the new board with the rom engaged.
To get the lower case to appear correctly, all the data is inverted, as the VDG is still in inverse mode when they're displayed. The inverse number set is currently unchanged, but that could be tweaked for adding custom graphics.
As the character set is 4k in size, there's also an option to add a 3rd jumper to open up the other half of the rom for a 2nd set of defined characters.