Hello,
Solved !!!Finally I solved the issue... the root cause was to a missing accent to the preparing device for writing... It's saying clear also on
http://www.bhabbott.net.nz/atfblast.html on programming procedure on point 6 (6.) to erase the GAL if after reading not all bits are '1'.
Firstly maybe for more of us, erasing means all bits shall be zeros ('0') because I condtioned with zeros, Erased GAL with ones and after that again conditioned with zeros and tried to write for example all with ones... but not in this PLD case, here Erase GALL means all bits shall be ones ('1'), which also the "Erase GAL" button is doing.
Why I did this mistake?
![Banging Head |O](https://www.eevblog.com/forum/Smileys/default/bangheadonwall.gif)
because ATMEL recommends to condition with zeros twice before programming but nothing about Erasing with ones between conditioning and new programming...
![Wink ;)](https://www.eevblog.com/forum/Smileys/default/wink.gif)
So be carrefull here...
Second, I think point 6. and recommendation from ATMEL to condition two times with zeros ('0', Conditio.JED) and after that Erase GAL which will put all bits to one ('1', Erase GAL button)
ARE A MUST and shoul be underlined on reference and application doc.
![ThumbsUp :-+](https://www.eevblog.com/forum/Smileys/default/icon_smile_thumbsup.gif)
The rest of the circuit and appl from Bruce (bhabbott) and marinovsoft are working fine with and without proposed ACK pin buffer. So both sheme proposed are fine. I tested on Win XP on desktop with integrated LPT port, but will try also on Win7 and Win10 with USB to LPT addapter.
So, in the end, be patient to do an Erase GAL with ones before each new writing process. As I saw it is not accepted to do Erase GAL -> write file_A content-> write file_B content. You have to do Erase GAL -> write file_A -> Erase GAL -> write file_B.
I am aware I wrote so many times same idea but maybe causing I lost so many nights with this programmer until worked fine..
For any questions please Reply.
![](http://)