Table of Contents
ECB-VDU
The Video Display Unit (VDU) board is a peripheral that allows direct video display generation. The VDU allows the home brew computer a greater degree of autonomy because it eliminates the dependency on serial terminals and/or external PCs. The VDU uses an SY6545 CRTC to generate a monochrome 80 column by 24 line display compatible with composite monitors.
Features
- Composite video output display format.
- 80×24, 80×25 or 80×30 display format.
- Reprogrammable for NTSC or PAL video output.
- Reprogrammable ROM based character set.
- PS/2 keyboard interface.
- PS/2 mouse interface.
- Parallel printer port interface.
- ROMWBW BIOS support for CP/M.
Acknowledgement
ECB-VDU was developed by Andrew Lynch based on the K&P 80 Column Interface for the Sharp MZ-700.
Hardware Documentation
Additional useful information regarding the ECB-VDU can be found in My Understanding of the N8VEM VDU board by Oscar Vermeulen.
Versions
Three versions of the ECB-VDU design exist:
- Version 1 “Full” (original version)
- Version 1 “A”
- Version 2
Kicad and Gerber manufacturing files have been lost for version 2, although schematics and board files are available in pdf form below. The following files describe the Version 1 “A” board for which Kicad board files are available. Manufacturing Gerber files have been generated for this version. Differences between version 1 “A” and version 2 are described as changes to headers and new pcb routing. i.e no loss of functionality.
Version 1 “A” : ECB-VDU-1A-19Sep2010
PCB Gerber files
The following manufacturing files have been regenerated from the ecb-vdu.zip file set and have been confirmed working.
Schematics
Board Layout
:boards:ecb:vdu:printing_vdu_v1-brd-full.pdf
:boards:ecb:vdu:printing_vdu_v2-brd.pdf
Note: that the ECB-VDU does not support KONTRON reset mode. Using this board requires all other boards to be set to Legacy mode or the board needs to be patched to the KONTRON configuration.
Parts
Parts substitution:
SY6545A
The ECB-VDU incorporates a 6545 CRT controller (CRTC). The 6545 was a popular design and a range of derivatives and enhanced versions of this design were offered by different manufacturers under the 6545 and 6845 designation. For compatibility with this board the CRTC chip must support 'transparent' mode and 2Mhz operation.
Tranparent mode - provides the ability for the processor to access video memory through CRTC registers. The memory on the ECB-VDU board is not directly accessible by any device on the ECB bus.
2Mhz operation - provides ability for 80×25 display.
Known compatible chips are:
- Synertek SY6545A, SY6845EA, SY6845EB, SY6545A-1.
- United Microelectronics UM6845EA (2MHz), UM6845EB (3Mhz)
- Rockwell R6545AP
Chips with unknown compatibility:
- Rockwell R6545, R6545E.
Chips know not to work:
- Motorolla MC6845
A range of data sheets are available here for reference.
Resistor network arrays:
The 1K5 resistor networks are specified as 10 pin units. These are difficult to obtain and 9 pin units can be substituted as the the last resistor is not used. Additionally the value for these pull up resistors are not critical and anything in the range 1K5 to 4K7 should work.
EPROM:
The VDU board was designed for a 27C128 16Kb EPROM. Only 2Kb of the EPROM is used in normal use. Jumpers P6, P7 and P8 allows different character fonts to be selected if they have been programed. Larger capacity EPROM can be used i.e 27C256-32Kb & 27C512-64Kb but the extra space is effectively wasted. When using a 32Kb or 64Kb the additional address lines are connected to VCC (i.e. pulled high) so the font data needs to be programed to be on the correct address boundary. The easiest way to achieve this is duplicate and append the original EPROM image to the size of the EPROM. Electrically erasable EPROM can also be used i.e Winbond W27E257 (32Kb) has been tested and confirmed working.
Pictures
Video Output
The video output format for the ECB-VDU card is set by the ROMWBW bios initialization. The display format is configured for 80×24 line display using the CCIR System B standard which is commonly referred to as “PAL”. Configuration options for “NTSC” format are not available but the “PAL” settings have been reported to work well across all monitors.
Format | Frame Rate | Interlace | Field Rate | Lines/Frame | Line Rate |
---|---|---|---|---|---|
PAL | 25 | 2/1 | 50 | 625 | 15625 |
NTSC | 30 | 2/1 | 60 | 525 | 15750 |
P2 - 2 pin header for 75 Ohm video output for connecting to a cinch-style video connector for composite video output (pin 1 is signal, 2 is GND).
Input/output connectors
- P3 - Parallel printer.
- P4 - PS/2 keyboard.
- P5 - PS/2 mouse.
- K3 - Light pen input.
Keyboard wiring
Version 1
Version 1a / 2
PS/2 Plug (MINI-DIN6) | Purpose | VDU KBD P4 |
---|---|---|
Pin 1 | PB0 - KBDAT | Pin 3 |
Pin 2 | Not Used | - |
Pin 3 | GND | Pin 5 |
Pin 4 | VCC (+5v) | Pin 7 |
Pin 5 | PB1 - KBCLK | Pin 8 |
Pin 6 | Not Used | - |
Jumpers
P6, P7 & P8
Control the font character bank selection by setting address lines A11-A13 high or low. The jumpers are pulled high when not jumpered i.e. no jumpers will result in font 8 being selected. The default* is for font 1 to be selected by jumpering P6, P7 & P8.
P6 (A11) | P7 (A12) | P8 (A13) | ADDRESS | FONT | FORMAT | DISPLAY | FONT DETAILS |
---|---|---|---|---|---|---|---|
ON* | ON* | ON* | 0000-07FFh | 1 | 10×8 | 80×24/25 | VDU-DW.ROM - DAN WERNER ENGLISH |
ON | ON | OFF | 0800-0FFFh | 2 | 10×8 | 80×24/25 | 80Z.ROM - K&P 80 GERMAN |
ON | OFF | ON | 1000-17FFh | 3 | 8×8 | 80×30 | 8X8_80X30B.ROM - THIN ENGLISH |
ON | OFF | OFF | 1800-1FFFh | 4 | |||
OFF | ON | ON | 2000-27FFh | 5 | |||
OFF | ON | OFF | 2800-2FFFh | 6 | |||
OFF | OFF | ON | 3000-37FFh | 7 | |||
OFF | OFF | OFF | 3800-3FFFh | 8 |
K1 & K2
Provide selection for the dot clock rate based on the crystal frequency. The default setting provides a 2Mhz dot clock from a 16Mhz crystal i.e divide by 8. Other options have not been documented.
Defaults:
- K1 - Jumper pins 2-3.
- K2 - Jumper pins 1-2.
A (K1) | B (K2) | C (0) | D (1) | QA (P14) | QB (P13) | QC (P12) | QD (P11) | RCO (P15) | Comment |
---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 1 | 7.2MHz | 3.6MHz | 1.8MHz | 1.4MHz | 0.95MHz | |
0 | 1 | 0 | 1 | 6.9Mhz | 4.6Mhz | 2.3MHz | 1.8MHz | 1.22MHz | |
1 | 0 | 0 | 1 | 8MHz | 4MHz | 2MHz | 1.6MHz | 1.07MHz | Default |
1 | 1 | 0 | 1 | 8MHz | 5.4MHz | 2.7MHz | 2.2MHz | 1.43MHz |
Ports
The ECB-VDU has an fixed port address F0-F7h.
ADDRESS | DEVICE | PURPOSE |
---|---|---|
F0h | 6545 VDU | READ VDU |
F1h | 6545 VDU | WRITE VDU |
F2h | 6545 VDU | VDU STATUS/REGISTER |
F3h | 6545 VDU | VDU DATA REGISTER |
F4h | 8255 PPI | PPI PORT A |
F5h | 8255 PPI | PPI PORT B |
F6h | 8255 PPI | PPI PORT C |
F7h | 8255 PPI | PPI CONTROL PORT |
Firmware
The ECB-VDU requires the EPROM to be programed with font data. A font is 2Kb in size and contains the bit mapped images for 128 unique characters and as the 27C128 font EPROM is 16Kb in size, it can be programed with up to 8 fonts. Font selection can only be changed by setting the address jumpers P6, P7, P8. The ECB-VDU does not support font changes through software or programmable bit mapped graphics. The ECB-VDU cannot display 256 unique characters because it uses bit 7 of each character as an attribute bit. Any character with the attribute set will display as per the cursor mode i.e reversed, slow flash, fast flash.
Different font firmware can be found on the fonts page.
Software
ROMWBW supports the ECB-VDU but does not have the required support included in the default build. A custom build is required to enable the VDU to be setup as the CP/M CRT: device. The following configuration change is required:
SBC_std_cust.asm
VDUENABLE .SET TRUE ; TRUE FOR VDU BOARD VIDEO & KBD SUPPORT
The default screen format is 80×24 but a few other formats are possible i.e. 80×30:
VDUSIZ .EQU V80X30 ; VDU DISPLAY FORMAT V80X24, V80X25, V80X30
Output to the CRT: device can be tested using the CP/M PIP command (Use Ctrl-Z to stop):
B>PIP CRT:=CON:
Input and output can be redirected to the VDU CRT: device with the CP/M STAT command (Revert using STAT CRT:=TTY:):
B>STAT CON:=CRT:
With CP/M's redirection capability, the CRT: device can also be used as the LST: “printer” device.
B>STAT LST:=CRT: or B>PIP LST:=STORY.TXT
Using Ctrl-P will also direct anything output to the terminal the CRT: (VDU).
Additionally, to configure the VDU as primary input and output under CP/M, use the following configuration option:
CRTACT .SET TRUE ; TRUE TO ACTIVATE CRT AT STARTUP (BOOT ON CRT)
ROMWBW also supports activating the CRT: as the primary console at boot-up using JP2 on the SBC V2 (the 1-bit I/O port).
The printer port P3, Mouse port P5 and Light Pen input are currently not supported by ROMWBW.
Programming examples including terminal and test programs can be found on the software page.
Resources
Filename | Filesize | Last modified |
---|---|---|
datasheets-6545-6845.zip | 6.9 MiB | 2019/02/25 07:41 |
ecb-vdu-1a-19sep2010.jpg | 72.1 KiB | 2019/02/26 08:56 |
ecb-vdu-1a-19sep2010.zip | 136.1 KiB | 2019/02/26 08:56 |
ecb-vdu-kbd1.png | 226.8 KiB | 2019/04/02 09:47 |
ecb-vdu.jpg | 93.5 KiB | 2018/12/25 20:37 |
ecb_vdu.zip | 2.0 MiB | 2018/12/03 09:17 |
ecb_vdu_1a-19sep2010.jpg | 649.8 KiB | 2019/02/28 06:37 |
ecb_vdu_versions.png | 141.1 KiB | 2019/02/26 09:11 |
n8vem-vdu-back-300dpi.jpg | 545.2 KiB | 2018/12/24 10:35 |
n8vem-vdu-front-300dpi.jpg | 762.8 KiB | 2018/12/24 10:35 |
p5-p4-v2.png | 22.3 KiB | 2020/08/14 02:44 |
printing_vdu_v1-brd-full.pdf | 444.1 KiB | 2018/12/24 10:35 |
printing_vdu_v1-sch.pdf | 189.9 KiB | 2018/12/24 10:35 |
printing_vdu_v2-brd.pdf | 1016.7 KiB | 2018/12/03 09:01 |
printing_vdu_v2-sch.pdf | 248.7 KiB | 2018/12/03 09:00 |
vdu-parts.txt | 2.0 KiB | 2018/12/24 10:51 |
vdu_board_completed.jpeg | 216.0 KiB | 2018/12/24 10:35 |
vdu_running.jpg | 903.6 KiB | 2018/12/24 10:36 |
Filename | Filesize | Last modified |
---|---|---|
html-files.zip | 859.8 KiB | 2018/12/24 11:12 |
kup80zlib.zip | 1.9 KiB | 2018/12/24 11:11 |
my_understanding_of_the_n8vem_vdu_board.doc | 2.4 MiB | 2018/12/24 11:13 |
vdu-dw.zip | 961.0 B | 2018/12/24 11:13 |
vdu_font_edit.zip | 218.4 KiB | 2018/12/24 11:13 |