DEC VT340 Internals

In early 2017 there was some discussion on the SIMH mailing list regarding the simulation of various DEC VT-series terminals. Part of that discussion related to the ROMs and architecture inside DEC’s VT340 terminal.

According to that discussion the firmware for the VT340 includes the following:

  • 512 x 8 2804 EEPROM on E80
  • 32K x 8 27256 UV EPROM on E49
  • ROMs in the cartridge that plugs in through the back panel

This page captures some information about the internals of the VT340.

27256 EPROM at E49

I have dumped the content of the 27256 EPROM. Download it here -> E49 CG EPROM.

XICOR EEPROM at E80

I haven’t dumped E80, as the XICOR X2804AP-45 is soldered in to the board.

ROMs in the cartridge

The ROM cartridge is a plastic enclosure that houses a single PCB with 5 surface-mount ROMs.

The cartridge is glued or plastic-welded closed (it has no fasteners or clips). With brute force I was able to open it, with minimal damage to the housing.

Inside are 5 x Intel N27C256 surface-mount ROMs in PLCC packaging, soldered to the PCB, and numbered E1 through E5.

Here are some pictures of the cartridge internals:

ROMs E1 and E2 share one address bus and one data bus. ROMs E3, E4 and E5 share a second address bus and a second data bus. There are no other components in the ROM cartridge.

I removed the cartridge socket from a VT340 main board, then used this socket to connect the cartridge to an Arduino Mega 2560. Using the Arduino Sketch below, I was then able to then dump the ROM contents out via the Mega 2560’s Serial Port at 115,200 baud in Intel Hex format. The Sketch will dump either the E1/E2 ROMs, or the E3/E4/E5 ROMs, depending on which address and data bus the Mega 2560 is currently wired to. The connections required are listed in the cartridge-internal-wiring Word document and at the top of the Arduino Sketch source file (see the links below). The output stream from the Serial Port including some headings to identify the ROM number (E1, E2, etc) that follows.

The cartridge has 60 pins, all of which are small pads on the upper surface of the PCB. They are arranged as two staggered rows each of 30 pads. The odd-numbered Pins are closest to the edge of the PCB, with Pin 1 being at the E1 end of the PCB. The even-numbered Pins are inboard from the edge of the PCB, with Pin 2 being at the E1 end of the PCB. On the cartridge socket, the odd numbered pins are the outboard row.

The following files may be useful if you want to know more about the process that I used to dump the ROM contents:

VT340 Schematic (link to Bitsavers)
Cartridge connector pinout (extracted from the above schematic)
Word document showing cartridge internal wiring (buzzed out by hand)
27C256 PLCC EPROM pinout (from Fairchild NM27C256 datasheet)
Program (Sketch) downloaded to the Arduino Mega 2560 (plain text file)
Arduino Mega pinout diagram

Here are some pictures of the ROM Cartridge connected up to the Arduino Mega 2560:

Here are the ROM contents, in Intel Hex format:

E1 ROM in Intel Hex format
E2 ROM in Intel Hex format
E3 ROM in Intel Hex format
E4 ROM in Intel Hex format
E5 ROM in Intel Hex format

Here are the ROM contents, in Binary format:

E1 ROM in binary format (Checksum = 0xBF64, CRC-16 = 5D72)
E2 ROM in binary format (Checksum = 0x6517, CRC-16 = C093)
E3 ROM in binary format (Checksum = 0x58F0, CRC-16 = A63A)
E4 ROM in binary format (Checksum = 0x9E0D, CRC-16 = 166E)
E5 ROM in binary format (Checksum = 0xCABA, CRC-16 = CD49)

Photos of VT340 internals

Below are some photos of the insides of a VT340, including some photos of both sides of the logic board and RGB driver board.

Revision history

16 April 2017: Posted initial version.

26 April 2017: Updated to include the process for dumping the ROM cartridge contents, including the ROM data obtained using that process.