The [IMSAI Guy] has posted a follow-up video with all the details of how he programs GAL22V10 chips in the modern era. We noted that this was missing from his stepper motor project a few days ago, and before we could even ask him, he answered. And no, you won’t have to dig that old Intel 486 DX2-66 out of the closet and search eBay for working floppy drives. It turns out the answer is easier than you’d think.
Microchip now owns WinCUPL through its acquisition of Atmel in 2016, and offers WinCUPL as a free download from the Microchip website. This runs only in Windows, although some users report success running under Wine on Linux. This tool will compile the design, but you still need to program the chip. If you’ve done any EEPROM programming lately, chances are you have one of the TL866A MiniPros laying around — this programmer can handle CPLDs, PALs, and GALS as well as EEPROMS. [IMSAI Guy] walks you through the programming procedure, and if you’ve programmed EEPROMs before, the process will be familiar.
For those who prefer the Linux or Mac environment, there are some alternatives. We’ve seen GALasm
used on several projects such as [Ken Yap]’s 8085 Minimax. The GitHub repository for GALasm
states that commercial use is strictly prohibited, so take note if this applies to your project. As for controlling the TL866A, there is a Linux port called minipro
available on GitLab. The remaining hurdle if you want to experiment with these programmable logic chips it to actually get them — many are now obsolete. But it looks like you can still buy Lattice and Microchip (Atmel) ones from various sources. Happy Programming.
I was surprised to see that there’s still a large number of New Old Stock 26V12 GALs purchasable between Arrow and Rochester.
I had to program a 22v10 just two weeks ago. Used my trusty old All-11 programmer.
Hey I have one of those programmers too!
Supports a surprisingly large amount of chips and last time I used it, (7 years ago or so) the software could be coaxed to work on windows xp without too much fuss.
I wonder if I should dig it out and see if the power supply has finally had it though.
It’s great for all the old devices. Mines is the serial port version and works well with a older XP lab computer I keep around. I have quite a few pin adapter modules such as plcc. Good for programming old old cpld’s and eproms
This site has the last version of the software.
http://matthieu.benoit.free.fr/hilosystem_all-11c2_universal_programmer.htm
Hi Sir,
What version of All11 programmer do you have ?
Thanks
I have a parallel port programmer I picked up well after parallel ports weren’t a thing. I wonder if there’s a way to add a blue pill to it to make it useable again.
I had an old chip programmer that used the parallel port. I was able to keep it going even after parallel ports disappeared from our computers by using a nifty PCMCIA-to-parallel port adaptor. Alas computers don’t have PCMCIA ports anymore, and both gadgets are essentially useless.
Even many modern motherboards have LPT headers on them. They don’t usually come with a connector, but it’s easy to buy a bracket.
I think the problem is going to be that it’s an old eeTools ChipMax and their latest (last) software won’t run on anything modern with or without a parallel port. I may have to run a virtual PC on whatever I end up finding a physical PP on. Can’t find much info about the programmer, either. They (eeTools) don’t even have any info on it anymore. At least not that I can find. It really looks like a decent piece of hardware, too.
I have a TL866 plus that I will use, thanks for the information
Don’t mean to whinge about software I didn’t pay for, but WinCUPL is buggy and minipro doesn’t support many GALs.
A PALASM compiler can’t be hard. It ran on basically 1/100 of an Arduino Nano in the Data I/O 29B with the Logicpak. Just feed it a basic text file, or enter on the keypad. MMI gave away the source code. Anything like this that ran on a PDP11 is going to be faster and pretty trivial on an Atmel 8 bit part or any of the ARMs. I have a neuron trying to tell me there was a PLD compiler written in Forth, but its alcohol level has slipped below the danger point.
Anybody made one of there? https://github.com/ole00/afterburner
I made a modified version of the afterburner that worked very well. The software was easy to use as well.
Hello, could you share your modified program please?
I have tried to use the repository program but when I use the command: “./afterburner i -t [GAL_type]” it does not display anything. I don’t know if it’s because I’m using the executable from the “releases” folder
Sorry, it was the hardware I modified, not the software.
Oh I understand, but did you compile the source code or did you use the executable?
I can’t remember now, its been 6 months since I worked on this.
Digital (https://github.com/hneemann/Digital) – a fork of Logisim, can generate JEDEC files for programming GALs.
Digital is similar to Logisim but is a completely independent project.
I utilized Digital and a modified version of ole00’s Afterburner project on GitHub for programming Atmel’s 22V10 using an Arduino. Super easy to build on a breadboard.
The older TL866CS and TL866A programmers can do Lattice’s GAL22V10 but cannot do Atmel’s AT22V10. The newer TL866-II supports Atmel’s devices. That was an unhappy discovery.
Just to add to this, the TL866-II supports the ATF22V10 and ATF16V8, not the older AT22V10 etc.
generally greenpak IC’s are GALs for new designs.
I use this setup too and it works but I wish WinCUPL would be open sourced as there are plenty of bugs that needs fixing. It crashes constantly when opening, saving, compiling and so on.
Turning off the “project” view after opening a file generally helps a lot but is not possible if the application crashes while opening the file. I wish the project view could be hidden by default.
I managed to squeeze a 7 levels brightness control PWM for dimming the display in 4 macrocells (the rest was the drivers for a multiplexed display) in a 22V10 back at my first job. The PWM part is pretty simple: a 3-bit counter with a comparator that turns on when the counter is below or equal to 3 bit logic signal. The PWM clock is a multiple of the refresh rate. The original design had some timer stringed together for a micrcontroller before PWM was a feature and flickers a lot.
The problem with PAL and GAL parts are the very high power consumption. I don’t see a point using them for new designs since CPLD days.
Agree about the high power consumption. Looks like the newer Atmel “Z” series, like the ATF22V10CQZ solves that, for a price.
Been doing exactly that lately. I use some original Lattice GAL22V10 and newer Atmel ATF22V10CQ. Designing and simulating in WinCUPL and programming with my TL-866 II Plus. Works fine.
Currently using a pair of 22V10 to do address decoding and bank switching on a Z80 retro board I’m working on.
I found those old Lattice GAL22V10s to very very sensitive to static and power supply variations. In ancient days we had a big wire wrap ASIC emulator board and lost probably 100 of them before we switched over to some MMI bipolar 22V10s which were rock-solid in the same board.
My 25 year old Allpro 88 programmer didn’t pass self check the last time I tried it. I have a number of PALs and GALs I’d like to be able to program again. What is a recommended programmer? Is the TL866II Plus versatile and supports a wide variety of PALs and GALs? Any downsides?
GALs are great for small-scale glue logic, not for stuff that needs a bunch of chained flip-flops, but great when it’s just a bunch of address decoding and bank switching. And there are only three of them to keep track of.
But I’ve been mostly a Mac guy, so I rejected the whole “you have to use this closed-source software that only runs under DOS” thing, and wrote my own little logic compiler in C, while taking a few liberties with syntax. It looks like I started to pick at cleaning up the code back in January 2020, then got distracted. (Last year really shook up which projects I worked on.)
I use an old Needham’s EMP-31 programmer that I got back in 2001 or so. I thought great, it’s got USB, I’ll be able to keep using it for a long time, right? Not quite. Apparently its proprietary USB pretended to be an old parallel port interface, and it required a Windows driver. Then Needhams got bought out, and all their stuff was immediately EOL’ed, so it never got a 64-bit driver. Now I’m using it with an old XP-32 laptop.
BTW Elm-Chan has a GAL assembler written in C. AFAIR, I must have ported it to my Amiga back when I designed my own GAL programmer from specs.
http://elm-chan.org/fsw_e.html See the very last program.
I was wondering if a Lattice GAL22V10B can be programmed with a Atmel Version WinCUPL file for an Atmel ATF22V10B?
Are they compatible?
I ask since I have found a bag of old Lattice GAL22V10B but the only software I have is Atmel Version WinCUPL.
Hello, I have a new TL866II+ and some Lattice PALCE22V10H chips. I See that the IC select menu have GAL22V10’s B, C, D. Which one is most compatible ? Should I use the lowest possible programming voltage selection ?
I make GAL programmer use by FT2232C USB device.
https://github.com/yamori813/galprog
Hi. I thought I’d revive an ancient thread to shill my https://github.com/simon-frankau/galette , which aims to be galasm compatible, but in a more modern language and with a FOSS license.