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.

:boards:ecb:vdu:ecb-vdu-1a-19sep2010.zip

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

Version 1A board:

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_boards_ecb_vdu_ecb_vdu_1a-19sep2010.jpg

Version 1 board:

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_boards_ecb_vdu_ecb-vdu.jpg

Gallery

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.

FormatFrame RateInterlaceField RateLines/FrameLine Rate
PAL252/15062515625
NTSC302/16052515750

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

There isn't a RESET select jumper on this board. RESET is configured for LEGACY mode. To run in KONTRON mode the trace from pin 15 IC26 (74LS241) to ECB connector C31 should be cut and pin 15 IC26 should be connected to ECB connector C26
  • P3 - Parallel printer.
  • P4 - PS/2 keyboard.
  • P5 - PS/2 mouse.
  • K3 - Light pen input.

Keyboard wiring

Version 1

Version 1a / 2

P4 and P5 version 2 board

PS/2 Plug (MINI-DIN6)PurposeVDU KBD P4
Pin 1PB0 - KBDATPin 3
Pin 2Not Used-
Pin 3GNDPin 5
Pin 4VCC (+5v)Pin 7
Pin 5PB1 - KBCLKPin 8
Pin 6Not 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)ADDRESSFONTFORMATDISPLAYFONT DETAILS
ON*ON*ON*0000-07FFh110×880×24/25VDU-DW.ROM - DAN WERNER ENGLISH
ONONOFF0800-0FFFh210×880×24/2580Z.ROM - K&P 80 GERMAN
ONOFFON1000-17FFh38×880×308X8_80X30B.ROM - THIN ENGLISH
ONOFFOFF1800-1FFFh4
OFFONON2000-27FFh5
OFFONOFF2800-2FFFh6
OFFOFFON3000-37FFh7
OFFOFFOFF3800-3FFFh8

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
00017.2MHz3.6MHz1.8MHz1.4MHz0.95MHz
01016.9Mhz4.6Mhz2.3MHz1.8MHz1.22MHz
10018MHz4MHz2MHz1.6MHz1.07MHzDefault
11018MHz5.4MHz2.7MHz2.2MHz1.43MHz


Ports

The ECB-VDU has an fixed port address F0-F7h.

ADDRESSDEVICEPURPOSE
F0h6545 VDUREAD VDU
F1h6545 VDUWRITE VDU
F2h6545 VDUVDU STATUS/REGISTER
F3h6545 VDUVDU DATA REGISTER
F4h8255 PPIPPI PORT A
F5h8255 PPIPPI PORT B
F6h8255 PPIPPI PORT C
F7h8255 PPIPPI 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

FilenameFilesizeLast modified
datasheets-6545-6845.zip6.9 MiB2019/02/25 07:41
ecb-vdu-1a-19sep2010.jpg72.1 KiB2019/02/26 08:56
ecb-vdu-1a-19sep2010.zip136.1 KiB2019/02/26 08:56
ecb-vdu-kbd1.png226.8 KiB2019/04/02 09:47
ecb-vdu.jpg93.5 KiB2018/12/25 20:37
ecb_vdu.zip2.0 MiB2018/12/03 09:17
ecb_vdu_1a-19sep2010.jpg649.8 KiB2019/02/28 06:37
ecb_vdu_versions.png141.1 KiB2019/02/26 09:11
n8vem-vdu-back-300dpi.jpg545.2 KiB2018/12/24 10:35
n8vem-vdu-front-300dpi.jpg762.8 KiB2018/12/24 10:35
p5-p4-v2.png22.3 KiB2020/08/14 02:44
printing_vdu_v1-brd-full.pdf444.1 KiB2018/12/24 10:35
printing_vdu_v1-sch.pdf189.9 KiB2018/12/24 10:35
printing_vdu_v2-brd.pdf1016.7 KiB2018/12/03 09:01
printing_vdu_v2-sch.pdf248.7 KiB2018/12/03 09:00
vdu-parts.txt2.0 KiB2018/12/24 10:51
vdu_board_completed.jpeg216.0 KiB2018/12/24 10:35
vdu_running.jpg903.6 KiB2018/12/24 10:36
FilenameFilesizeLast modified
html-files.zip859.8 KiB2018/12/24 11:12
kup80zlib.zip1.9 KiB2018/12/24 11:11
my_understanding_of_the_n8vem_vdu_board.doc2.4 MiB2018/12/24 11:13
vdu-dw.zip961.0 B2018/12/24 11:13
vdu_font_edit.zip218.4 KiB2018/12/24 11:13

Legacy Archive

boards/ecb/vdu/start.txt · Last modified: 2020/08/14 02:46 by tastypies
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0