The N8VEM VDU Board
The VDU provides monitor and keyboard to the N8VEM, for those who want to run without a serial terminal. It emerged as a prototype in mid 2009. The Rev. 1 board came out later in the year, followed by a slightly modified but functionally identical Rev. 2 in June 2010.
The board is fully supported by the current RomWBW firmware, and also by the Cubix and DOS/65 operating systems on the 6x0x processor boards. This may be the main reason for preferring the VDU above the other ‘competing’ alternative boards to add video/keyboard to the N8VEM:
The PropIO board offers crisp VGA. It is built around a modern Propeller microcontroller which also
offers a SD card for mass storage. Not pure retro-technology, though.
The SGC (Sprites, Color Graphics & Sound) board uses a vintage TMS9918 chip, offering typical
home computer video, similar to the old MSX computers. Thus, it’s limited to 40 columns of text.
The uPD7220 GDC uses the vintage uPD7220, which in its days offered very powerful hi-res bitmap
graphics. It is somewhat famous for its use in the Epson QX-10, and importantly, can drive a VGA
monitor. The board should be seen as providing a separate high-end (ie, second) graphics screen
because it does not offer a keyboard connector.
A fast ‘external’ way to add video/keyboard to the N8VEM is Vince Briel’s PockeTerm board. It connects
to the serial port and drives a VGA monitor plus PS/2 keyboard. Propeller based, it has close family ties
to the PropIO board.
The ColorVDU board uses the 8563 video chip as used in the Commodore 128. It was developed during
2011-12. With some add-ons, this can also drive VGA screens.
It very much depends on personal preferences which option is the best. The VDU is best supported by RomWBW and the 6x0x boards software. Also, VDU is the right choice for those who want a real ‘vintage’ 80 column output, using a classic CRT chip, for their N8VEM. Light up the room in a green glow…
The Rev. 1 board
The VDU is a peripheral on the ECB bus, which means that it does not share memory with the CPU board, but is a self-contained package with the CRT driver chip using its own ROM and RAM on-board. The CPU board communicates with the CRT unit through the parallel port of the on-board 8255, a typical feature of many N8VEM boards.
Core of the board is a 6845 or 6545 CRT controller (CRTC). This was a well-known CRTC in its day, and there is an extensive range of derivatives and enhanced versions of this design. Only a few of the 6845 variants can be used: those that support the ‘transparent mode’, i.e., can manage their own memory rather than share it with the CPU. Also, to be able to offer 80 column text, the chips must be 2Mhz parts rather than the more common 1Mhz.
Obtaining a good 6545 or equivalent
Any 6845 style VDC 2 MHz or faster that supports ‘transparent mode’ will work. Confirmed as good in the N8VEM mail group are the SY6545A (Synertek, 2MHz, also SY6845EA, SY6845EB, Synertec SY6545A-1), the UM6845EA (United Microelectronics, 2MHz), and the UM6845EB (United Microelectronics, 3 MHz). Possibly, Rockwell parts R6545 and R6545E meet the requirements but these have not been confirmed to work yet. Unfortunately, the common MC6845 and many clones do not support transparent mode – many of them are 1Mhz parts anyway. The easiest way to find the chip for a few dollars is to look on eBay. Just make sure using the datasheet you have picked one with transparent mode and 2Mhz clock.
P2 is connected to a cinch-style video connector and the 4 relevant wires from a PS/2 keyboard are fed to P4, see the picture.
• P2 –75Ohm video output (pin 1 is signal, 2 is GND)
• P3 – Parallel printer (see below)
• P4 – PS/2 keyboard
• P5 – PS/2 mouse
• P6, P7, P8 – jumpering pulls A13, A12 and A11 of the ROM low.
Pulling pins 2 high could address alternative font definitions stored in the ROM.
Jumpers and settings
• K1 – Character Set A. Default setting: jumper pins 2-3
• K2 – Character Set B. Default setting: jumper pins 1-2
The defaults for K1 and K2 generate a 2Mhz clock for the 6545.
• K3 – Light pen (a connector rather than a jumper, actually, but so far it’s never been used)
The P3 printer port
Although the printer port is present,
it is not yet supported by the current
RomWBW 2.1 firmware. However,
the pinout is shown to the right.
The P4 and 5 keyboard/mouse ports
Note: the Rev.1 board can use the same connecting cable as the Rev.2, just ignore the first row of two pins on the cable’s connector. Also, despite a comment on the N8VEM newsgroup, it’s not a matter of connecting pin numbers one-to-one towards a standard PS/2 connector. The pinout of standard PS/2 connectors is shown in the 3rd figure above for reference.
The mouse port is identical to the keyboard connector. Although the mouse port is present, it is not yet used by any current firmware.
Rev.1: Rev. 2: Standard PS/2 keyboard connector:
The VDU board adds a standard PS/2 keyboard and a video output to the N8VEM. It is a nice add-on for those who want real ‘vintage’ 80 column output, using a classic CRT chip. Light up the room in a green glow…
The VDU card
The Rev. 2 Board
Rev.2 boards are functionally identical to Rev. 1, but a PCB respin cleaned up the trace routing. The 4x2 keyboard and mouse connectors are replaced with 5x2 connectors because 5x2 ribbon cable connectors are easier to find. But actually, you can of course use a 5x2 cable connector on the Rev.1 4x2 header – just ignore the cable’s first row of two pins.
Note: Sometimes, the top line of the screen is invisible or garbled. If this is the case, edit VDU.ASM as follows. The change just causes the VSYNC signal to be generated two lines earlier, shifting the screen down:
.DB 07Fh,50h, 60h, 0Ch, 1Eh, 02h, 18h, 1Ch, 78h, 09h, 60h, 09h, 00h, 00h, 00h, 00h
.DB 07Fh,50h, 60h, 0Ch, 1Eh, 02h, 18h, 1Ah, 78h, 09h, 60h, 09h, 00h, 00h, 00h, 00h
The 6545/6845 CRTC and test software
Driving the CRT: register settings of the 6545
The 6545 is initialised by a number of registers that together define the screen area and the timing of HSYNC and VSYNC signals. Careful reading of the data sheets will make it quite clear how these registers need to be set.
Software to use
A test suite for the VDU can be found in VDU4.zip, found here. Specifically, compile KuPTest3.ASM into VT3.COM, then just run it on your N8VEM. It does not matter which version of ROM or BIOS you use. This will show the font set on the monitor and allow you to type on the keyboard.
Secondly, RomWBW supports the VDU so try booting from N8VEM_VDU.COM. Do keep in mind that the default is still to use the serial port as the computer’s console. So “STAT CON:=CRT:” will switch you to the VDU.
Using PAL and non-standard monitors
Do not spend too much attention to the register-setting problems as discussed in the N8VEM mail group. These problems are in the past. But – if need be: The CRT chip is very flexible. A thorough study of the data sheet will clarify the register settings and how they can be tweaked to generate the right signal for particular monitors. Also, there was some discussion on NTSC vs. PAL in the N8vem mail group, but the VDU itself is not tied to either format and in practice, most monitors just work with the default register initalisation sequence. But if you need to customise, next to changing register settings, you can also change the dot clock from 16 MHz to something more compatible with special monitors.