Vectron VGA Plus Text Mode simplifies displaying text with retro computers and microcontrollers by hiding the pixel-level details. Supply only row and column positions, and an ASCII character code, to write text to a 40x30 character VGA display.

How It Works

Vectron VGA Plus Text Mode accepts row, column, and character codes into 8-bit flip flop registers from external systems. Using a 6502 processor and pre-programmed ROM chip (code here), these values are translated into a series of pixels to be drawn at x,y coordinates on the screen. Both the program, and the library of available ASCII characters are stored in the ROM. Instructions to draw each pixel are stored in 8-bit flip flop output registers where they can interface with and control a Vectron VGA Plus VGA adapter. Text Mode also handles initialization of a blank screen on the VGA adapter on startup.

To write a single 8x8 character to the screen without Text Mode would require writing 64 individual pixels, and performing all of the associated instructions and data transformations. This would keep a typical 6502 computer pretty busy just writing to the screen, not to mention all of the other things the computer needs to do. Text Mode allows for the same result with just a few instructions from the interfacing device.

At the heart of the design is a 65C02 processor to handle the somewhat complex calculations that would be difficult to perform with only logic chips, and would require a high part count. I think using a microprocessor in this board is well within the bounds of being acceptable for a pure retro computing device, considering that the Commodore 1541 disk drive, for example, also had its own 6502 to handle processing.

An Arudino sketch that can be used to write characters using Text Mode is here. KiCad design files are available here. You will also need a Vectron VGA Plus VGA adapter, which Text Mode was designed to work with.

Media

Vectron VGA Plus Text Mode:

Vectron VGA Plus Text Mode attached to Vectron VGA Plus, with an Arduino Mega 2560 requesting the characters to be written on screen:

All characters in a repeating pattern:

Text mode interface:

Breadboard prototype (with a few components removed to place on the PCB):

Bill of Materials

  • 1 x WDC 65C02 processor
  • 1 x AS6C62256A-70PCN 32KB RAM
  • 1 x AT28C256-15PU 32KB ROM
  • 1 x 8 MHz oscillator
  • 4 x 3.3k ohm resistors
  • 2 x 220 uF capacitors
  • 1 x push button
  • 2 x 7432
  • 1 x 7408
  • 1 x 7404
  • 2 x 74682
  • 1 x 74154
  • 8 x 74374
  • Female headers
  • PCB (KiCad design files)

About the Author

Nick A. Bild, MS