[Coco] CoCo 3 Plus in an FPGA

Dave Philipsen dave at davebiz.com
Sat Sep 5 18:41:31 EDT 2015


And just to add a little to what Aaron said, the FPGA is a single chip 
on the DE1 board. You could think of the FPGA as a bucket full of logic 
chips.  The 'programming' that is applied to it is like the wires (or 
traces) that connect all of the chips together.  If I gave you an 
unlimited supply of logic chips and asked you to build a 6809 CPU it 
could be done with a lot of wire and patience. What Gary is doing with 
the programming is designing a complex circuit out of a bunch of fairly 
simple gates (logic elements).  In addition to the FPGA chip the DE1 
board contains some other support chips, connectors, and sockets for 
VGA, sound, SD card, keyboard, etc.  It also contains some expansion 
pins as Aaron explained.  These pins can also be 'programmed' to act in 
different ways.  In theory, it would be possible with some extra 
interfacing to design a CoCo bus connector from the available I/O pins.  
In my opinion it would be very possible since the logic to do that is 
less complex than the GIME chip and since many of the signals that would 
appear on that interface are already available internally (in the FPGA). 
Gary had mentioned to me not too long ago that he had used less than 
half of the available logic elements in the FPGA so apparently there 
would be plenty of 'logic' left to implement an external bus.

As far as implementing things like serial ports, cassette interfaces, 
joystick ports, and the like, the logic elements are there to do it so 
all that is required is to add some hardware to interface that digital 
logic to the outside world.

So if you think about the RS232 port which is on the DE1 board it is not 
necessarily tied to an 'RS232 port' per se internal to the FPGA.  It is 
simply connected to some I/O pins which can be 'programmed' to do what 
ever you want with them.  The port could be synthesized as 6551 UART 
such as is used in the RS232 pak or it could be synthesized as a 
'bit-banger' port as is used on the CoCo 3, or it could be synthesized 
as an 8530, a 16650, 68681, etc., etc. Same is true with the signals 
that are used to drive the VGA interface.  With the proper 
're-programming' and interface circuitry one could easily implement a 
CGA, EGA, Hercules, or other form of display port.  In that case the 
limiting factor might be the frequency of the dot clock.  Going higher 
than 640x480 at 60 Hz might involve some additional hardware or the use 
of PLLs or something (I believe the FPGA has some PLLs onboard).

So to sum it up the CoCo3 FPGA project on the DE1 board has audio 
output, VGA, serial port, PS/2 keyboard, SD card, and probably a few 
other things that we don't even know about yet.  The fact that the DE1 
board has two expansion ports means that other things could be added in 
the future to the project just by simply designing the circuitry for the 
expansion ports and implementing the desired logic.

Gary has mentioned in the past that he will package up the source code 
and make it available.  At that point, if you wanted to have a CoCo 3 
with eight serial ports it would be entirely possible to design such a 
thing and without too much difficulty!  Or perhaps you wanted another 
VGA output, another SD card, a MIDI port, an ethernet port, a WiFi card, 
etc.  They would all be within the realm of possibility if you could 
design the appropriate circuitry and write the code required to 
implement them.  In my opinion the whole project is a very cool idea.  
If you just want a CoCo 3 that runs at 25 MHz (albeit without expansion 
bus) then you just take it as it is.  If you want to customize it and 
make something special then hack away! If Gary does indeed release the 
source at some point then it may be up to some enterprising person to 
come up with a new feature that can be added on in the future.

Dave Philipsen



On , Salvador Garcia wrote:
> Some one correct or confirm my response :-) No, the FPGA does not have
> the 40 pin expansion slot and it does not have the same ports as the
> Color Computer line of computers. The FPGA implementation uses the
> Terasic DE1 which is a field programmable gate array. The gate array
> is "programmed" so that it emulates a Color Computer 3. The ports that
> are available are those that are inherent to the FPGA.
> 
> 
> Here is a page with info:
> 
> 
> http://www.terasic.com.tw/cgi-bin/page/archive.pl?No=83
> 
> 
> 
> Salvador
> 
> 
> 
> -----Original Message-----
> From: Michael Brant <brant.michael.l at gmail.com>
> To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
> Sent: Sat, Sep 5, 2015 11:36 am
> Subject: Re: [Coco] CoCo 3 Plus in an FPGA
> 
> 
> If it has that and the other ports i will be so very interested
> On Sep 5, 2015
> 12:35 PM, "George Ramsower" <georgera at gvtc.com> wrote:
> 
>>  This thing has piqued
> my interest.
>>  Will it have the equivalent of the 40 pin expansion slot?
>> 
>> 
> George R.
>> 
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> 
> https://pairlist5.pair.net/mailman/listinfo/coco
>> 
> 
> --
> Coco mailing
> list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco


More information about the Coco mailing list