[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