Little Project: GAL/SPLD programmer

Discussions about Sinclair ZX80 and ZX81 Hardware
Post Reply
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Little Project: GAL/SPLD programmer

Post by mrtinb »

I've simplified Bruce Abbott's GAL/SPLD programmer which he simplified from Manfred Winterhoff's GALBlast.

It will be connected to DOS PC with printerport. A micro-USB socket for 5V and a DC socket for 12V.

There's no switches as I take the Sinclair way: Plug in 5V when needed and plug in 12V when needed. :)

Components not mounted yet. Wires have been wrapped.

I want to program SPLDs for faster prototyping.

Image

Image

Image

Image
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: Little Project: GAL/SPLD programmer

Post by Andy Rea »

Cool little project, the ability to program gals is awesome, and very often you can combine the function of 3 or 4 74series chips greatly reducing the hip cont of endless projects.

Regards Andy
what's that Smell.... smells like fresh flux and solder fumes...
daybyter
Posts: 17
Joined: Wed Nov 23, 2016 11:03 pm

Re: Little Project: GAL/SPLD programmer

Post by daybyter »

I do understand, that you want to minimize the number of complex IC's, but I also think that an Arduino plus step-up leads to an overall simpler design?
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Little Project: GAL/SPLD programmer

Post by mrtinb »

I am thinking of using Arduino in some of my design.

The problem with Arduino is that it is a microcontroller and not a logic circuit. It's sometime to slow to read and write the pins. So I would not trust it to the address decoding. Maybe activate it when it's allowed to speak. :)
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
daybyter
Posts: 17
Joined: Wed Nov 23, 2016 11:03 pm

Re: Little Project: GAL/SPLD programmer

Post by daybyter »

Interesting argument. I'm working on a eprom writer (struggling with too many distractions, though), and I've never thought about this problem. A 16 MHz 328 Arduino seems to be faster than a parallel connection, I thought? And if it was too slow, just use a stm32?
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Little Project: GAL/SPLD programmer

Post by mrtinb »

My experience here is sparse. Maybe some of the experienced circuit masters can tell when a micro controller is fast enough to act as logic circuit.
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
1024MAK
Posts: 5103
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Little Project: GAL/SPLD programmer

Post by 1024MAK »

In general, trying to interface micro-controllers to a CPU is not easy, as the micro-controller has to execute instructions far faster than the CPU it is trying to communicate with. As although a 1980's CPU appears slow in comparison, the micro-controller has to keep up with the actual bus transactions exactly, or it goes wrong very quickly.

So let's look at what the micro-controller has to do (and keep in mind that this is all done in software on the micro-controller):-
  • Detect when the CPU sets up it's bus for a bus-cycle, testing the relevant CPU control line(s),
  • Grab the address, but only once it's stable,
  • Work out if the address is in the range that the micro-controller should respond to,
  • Wait for the data bus to become stable, then grab the data.
Transferring data back to the CPU is a bit tricker, as the micro-controller has to switch it's port pins from input to output and get the correct data on these pins before the CPU read cycle ends.

If you are using a micro-controller to grab data from a Centronics port, it's a bit easier. As then it only has to watch the handshaking/status bits (/strobe). Then grab the data. Then send an acknowledgement signal. But, if it is doing anything that is timing critical, then you have to be careful that one task does not upset the careful timing of the other task.

As to the speed of micro-controllers vs. logic, well logic wins every time. Even more so if using logic inside a programmable logic chip such as CPLD or FPGA.

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
daybyter
Posts: 17
Joined: Wed Nov 23, 2016 11:03 pm

Re: Little Project: GAL/SPLD programmer

Post by daybyter »

Uh...maybe there is some misunderstanding. I do not want replace a GAL by an Arduino. I just want to program the logic chip with the Arduino. Transfer the data via USB from PC go Arduino and then let the Arduino program the logic IC.
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Little Project: GAL/SPLD programmer

Post by mrtinb »

Programming this GAL is done by another man’s reverse engineering, and he has made software for this. I will use his software and is not interested in creating the software from scratch for an Arduino.

You are more than welcome to do so. Beware that these GAL PAL PLDs are getting rarer and therefore more expensive.

Maybe there is a better alternative?
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
daybyter
Posts: 17
Joined: Wed Nov 23, 2016 11:03 pm

Re: Little Project: GAL/SPLD programmer

Post by daybyter »

If you don't want to go the diy route, the tl866cs seems to be the most cost-effective solution?
Post Reply