Hi banedon,
just saw this thread. Therefor I want to share my expierence with the G540 and GALs.
I have as well a Genius G540 programmer and as you said the manual is rather ridiculous and the GUI has some tweaks. However it does it's job. As you already found out you need to disable the ENCRYPTION step when programming GALs. This encryption step does not what it should. It was meant to write the security fuse but it does it the wrong way. So this option is unusable and for hobbyists not even necessary.
Another pitfall is that the G540 effectively does only the D-Type Lattice GALs. Other GALs should work according to the handbook, but he does not set the correct programming voltage, which especially for the older non-typed GALs of Lattice and other vendors and as well for some A and B type GALs is required. If set wrong they will not be programmed or even erased. NS Type-none/A/B and Lattice type-A definitively don't work. Only reading works for all types as this has been standardized to use a VEE voltage of 12.5V. I would suspect that half of your problem lies in the fact that you use a B-Type GAL. That's what is my experience YMMV. When my old PC that held my homebrew GAL programmer (built after a project form the german heise magazine from the early '90s) broke, I still had a lot of B-type GALs sitting around. After I found out about that issue I got a bunch of new D-Type GALs in PDIP from China/ebay etc. and threw away my stock of old none/A/B-type GALs. At a price around 2USD per piece this was no big investment. That was last november and every since I have my working environment and programmed quite some GALs for my projects.
As a GAL assembler I use a modified version of galasm from Alessandro Zummo which is available as source
https://github.com/daveho/GALasmThe reason I had to modify the source was because I wanted to compile it on my Mac. Also there is a flaw with filenames I had to fix. So nothing that cannot be done with a decent knowledge of C (my knowledge of C-language is extremely basic and I still managed to do so). In any case, the syntax for the input files of galasm is simple and it comes with enough examples to cover all topics. It does not have any macros, so you have to write all terms in full length (sometimes you often use the same term for multiple outputs, this is where macros are very handy). "galasm" is a command line tool and works on Linux, MacOSX and Windows once you have compiled it. If you have a MAC I can support you. I successfully programmed simple and complex designs for the GAL16V8, GAL20V8 and GAL22V10 and also some registered designs for the GAL22V10.
So in other words my workflow looks as follows
I mostly use vi, TextEdit or TextWrangler on my Mac or sometimes TextPad on my virtual windows to create the source file for galasm
I use "galsm" to convert the source to the .jed output file
Then I switch to my Virtual Windows XP where I have installed the software for the G540 and programm the GALs using the Jedec file created in the previous step
I never had problems with the ZIF socket of the G540, in fact I think the quality of the ZIF socket is comparable to the ZIF socket of the ALL-01 programmer, I had access to long time ago. You need to place your ICs carefully. If you're in a hurry or under stress it will not work. That was the same when using the ALL-01.
A word about ATMEL CPLDs. All cheap programmers, and the Genuis G540 belongs to this category as well most Chinese programmers from TOP and GENIUS, do not support the ATMEL CPLDs. If they claim they do this is an utter lie. So to be able to program ATMEL CPLDs you need a proper officially supported environment. The officially supported programmers are listed in the following PDF
http://www.atmel.com/Images/doc0433.pdfSome of them can be found in the bay, but the cheap ones require a parallel port.
Regards
Peter