Little Project: GAL/SPLD programmer

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

Little Project: GAL/SPLD programmer

Post by mrtinb » Mon May 21, 2018 11:13 pm

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
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube

User avatar
Andy Rea
Posts: 1490
Joined: Fri May 09, 2008 2:48 pm
Location: notts UK

Re: Little Project: GAL/SPLD programmer

Post by Andy Rea » Tue May 22, 2018 8:25 pm

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
6 x ZX81, 1 x TS1500 , 1 x +3e, 1 x timex 2040 printer, 1 x timex 2020 cassette deck, siclair printer and some spectrum

daybyter
Posts: 17
Joined: Wed Nov 23, 2016 11:03 pm

Re: Little Project: GAL/SPLD programmer

Post by daybyter » Wed May 23, 2018 7:35 pm

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: 757
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Little Project: GAL/SPLD programmer

Post by mrtinb » Wed May 23, 2018 8:49 pm

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
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 » Thu May 24, 2018 2:14 am

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: 757
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Little Project: GAL/SPLD programmer

Post by mrtinb » Thu May 24, 2018 6:58 am

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
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube

User avatar
1024MAK
Posts: 2074
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 » Fri May 25, 2018 2:49 pm

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

daybyter
Posts: 17
Joined: Wed Nov 23, 2016 11:03 pm

Re: Little Project: GAL/SPLD programmer

Post by daybyter » Fri May 25, 2018 7:36 pm

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: 757
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Little Project: GAL/SPLD programmer

Post by mrtinb » Fri May 25, 2018 8:08 pm

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
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 » Sat May 26, 2018 6:43 pm

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

Post Reply