CoCo VGA

The COCOVGA project provides VGA output for 6847 based systems. This is a collaborative project with Brendan Donahe.

This first iteration of the board operates in tandem with the MC6847. The VDG operates normally, and provides it’s usual video output to existing RF boxes and composite display options that are part of the system.

An Altera Cyclone IV FPGA monitors the buses and control signals of the MC6847 through level shifting ICs, and generates VGA video at the correct scan rate.

Though this version requires a 6847 IC to be present, we will be extending the design to fully replace the VDG in the future. We are proceeding with the “bus monitoring” version now in order to make a working VGA option available to users as soon as possible.

NTSC composite color artifacts are supported for the high resolution modes for programs that depend on them (most games on the CoCo1 and 2 for example).

At this point in the project, we have functioning development prototype boards, and working FPGA code (aside from a few issues that need to be worked out).

Design of production boards for some machines is already underway while the FPGA code is being developed further.

The first boards will be designed to fit early American CoCo2 motherboards, to be followed by boards specifically designed to fit other systems.

Here are some pictures of the prototype board and of our initial output. There is a lot of code development yet to be done, but we’re off to a great start.

20151013_095948
Prototype development board, with test points
MC6847 FPGA VGA DEV BOARD 062315
Board view in Eagle (prototype)
20151009_220616
Initial output, alphanumeric screen (prototype)

Video showing simulated early NTSC artifacts (prototype board)

Update 2017

We have come a long way since the initial prototype you see above on this page.
Since then I’ve designed our first production board that we are now on the verge of releasing for early American motherboard CoCo2’s (vertical RF modulator).

20160719_182542.jpg

20160719_182606

All of the standard 6847 video modes are supported, as well as a couple of new ones. In addition to the new video modes, all modes also have color palettes that can be set by the user. Color artifacts for the CoCo’s PMODE4 screen are simulated in several different selectable formats, and those artifact colors can be set by palette register as well if desired.

One of the new modes is VG6, a 128×96, 16-color mode. This mode gives 6847 machines some much improved graphics, especially considering that we can use whatever 16 colors we wish to on a screen. We can map any color from our output palette of 512 colors to a screen color via register settings.

Here are some early screen shots using VG6 with adaptive palettes.

Dragon
Flowers
Swirl
Picard2
MyPic

Lotus
Various 16-color images in VG6 mode displaying on the COCOVGA (CoCo2)

Another new mode implemented on our first model for release is a new Alphanumerics mode. This new mode is a 64×32 column text mode which rivals, and which I think actually outdoes the 80 column mode on the CoCo3. It can actually display more characters than an 80×24 screen, and is also in output in clean, clear VGA.

Here is a video of Brendan demonstrating the new mode…

As we moved closer to actually producing and distributing some of these VGA solutions to interested parties, it became clear that we needed to work on the rest of an installation package. A good way was needed to get the VGA generated by the video board through the CoCo’s case. Also, another feature Brendan and I wanted to add to the system was some simple manual controls for changing some of the video settings.

The solution I came up with is a small output board, with a mini-din connector and two pushbuttons. Dubbed ‘Button boards’, these mount to the CoCo top shell and plug into the VGA board via ribbon cable.

I wanted to make the installation as easy to do cleanly as possible, so I went with a mini-din connector, reasoning that round holes would be easier to do for most people (including me). This does require making a special VGA cable, but the system has worked very well so far.

20171011_181019.jpg
CoCoVGA ‘button boards’

Brendan requested a hardware debounce on the switches, so that’s the extra circuitry you see on the boards.

Here are some pics of a button board installed…

20170903_123905.jpg

20170903_123949
Button board installed in CoCo2 top shell

Update: October 2017

As of our initial release which occurred at the 2017 Tandy Assembly, Brendan and I are providing these to interested parties as we have boards available.  Development is continuing, with other versions to fit the many form factors needed for the different motherboards out there are being designed, as well as pursuit of various improvements/enhancements we have thought of to add to the system.

See much more about the COCOVGA at the official site

1 thought on “CoCo VGA”

Leave a Reply