This is an enhanced version of the original MK14 VDU which is intended to be used with the MK14E but can be used with an original MK14 as well.
The main driver for this version was to design out the obsolete and very hard to find DM8678CAB Character Generator at the same time a number of other changes have been made:
the again hard to find 74L86 is gone
the Modulator has been dropped and a video output connector added (phono)
the 'b9' to 'b17' configuration links have been made easier to use
the graphics shift register has been changed to a 74LS166
inverted video has been fixed
2732 EPROM based character generator in place of DM8678CAB
inverted characters are now possible by setting either bit 6 or 7
onboard 4MHz clock which can be used instead of the CPU clock, handy if you want to use the CPU with a 4.43 MHz clock e.g. for the cassette interface
The change of shift register for graphics (from 74LS165 to 74LS166) was made because the 74LS166 has a synchronous load input, this enables the characters and graphics to be aligned vertically when both are on the screen, it also fixes the 'jail bars' flaw. I have replaced the CD4040 divider with a 74HCT4040 which considerably simplifies things, there were double inverters and XOR gates that appeared to do nothing but were actually there to increase the fan-out from the CMOS 4040 to the LS TTL, replacing it with an HCT part removes the fan-out issue.
The original VDU required the 'b9' to 'b17' connections to be linked to configure the VDU, I have made this easier by adding links to the most used options and to cover all eventualities both the 8154 ports are brought out on a bank of pads so they can be linked in if required.
The original VDU will only work in a 4K memory space, the MK14E VDU is able to work in the full 64K by setting the additional Page Select lines (not applicable if being used with an original MK14).
If you are interested in the detail of how the board works then I have created a MK14E VDU Operation page.
Fonts
The MK14 VDU displays 32 lines of either 8 - 8x8 pixel graphics or 16 5x7 pixel characters (from the DM8678CAB). Having replaced the DM8678CAB with an EPROM character generator this allows for the full 8x8 pixel map to be used for characters. The 2732 allows for 4 sets of character fonts to be included, I have created an image with the following fonts:
Font A/B Links | Font |
0,0 | original DM8678CAB Font |
0,1 | ZX80 and ZX81 Fonts |
1,0 | ASCII Font |
1,1 | DM8678CAB alphnumerics with games characters |
Only the first 512 bytes of the DM8678CAB Font pages are used. The ZX80/81 fonts are each only 64 characters - bit 7 selects between the two.
The games characters were produced by Ian Reynolds (Realtime on Vintage Radio forum)
I've written a Python program that generates a text file showing the fonts, here it is with the output file:
Links
LK1 | TOP | when fitted feeds TOP to either A8 or A10 |
LK2 | Reverse | reverses the order of the two displayed 256 bytes pages |
LK3 | Graphics/Characters | switches the VDU between Graphics and Character modes of operation, can be tied to either TOP or Flag2 or connected to to 0V to select Characters or left open to select Graphics |
LK4 | Invert Bit | selects a Characters invert bit either bit 6 or 7, or can be linked to 0V if feature not required |
LK5 | On/Off | when fitted connects the VDU On/Off control signal to Flag 1 otherwise the VDU is controlled by toggle switch S2 |
LK6 | Invert | when fitted inverts entire screen |
LK7,8 | Font | these links allow 1 of 4 different character fonts to be selected from the EPROM IC15a |
LK9 | Clock | selects between using the onboard 4MHz clock or the CPU clock |
Schematic
Bill Of Materials
Blank PCB