Umbau des Maxon-GAL-Prommers Berlin, 12.06.1993 ============================ Dieser GAL-Prommer ist leider etwas schlampig gebaut und wird von Maxon immer noch unver„ndert verkauft, obwohl er etliche neue GALs nicht programmieren kann bzw. sie sogar zerst”rt. Da es mit der Entwicklung meines eigenen GAL-Programmers noch etwas dauern wird, hier fr alle unermdlichen Bastler die Anleitung, wie man den Maxon-GAL-Prommer (Atari-Version) modifizieren muž, damit er auch die neuen 16v8/20v8-GAL Typen programmieren kann, also z.B. die A- und B-Typen. Man sollte aber nur GALs von National Semiconductor (NS), SGS/Thomson (ST) und Lattice (L) hiermit programmieren. Es gibt noch andere Firmen, die GALs herstellen, die aber nicht kompatibel zu den eben genannten sind. Insbesondere sind die PALCEs von AMD zwar funktionskompatibel, aber nicht programmierkompatibel. Ich habe die Modifikationen an einem Nachbau des Maxon-Teils vorgenommen. Dieser Nachbau ist mit einer wesentlich vereinfachten Leiterplatte ausgestattet, so daž ich nicht genau sagen kann, wo die Leiterzge sind, die man aufknabbern muž. Ich schreibe hier, was ich gemacht habe. Bei mir funktioniert es. Ich bernehme aber keinerlei Haftung fr die Richtigkeit dieser Anleitung oder die Fehlerfreiheit des Programms. Jeder bastelt und benutzt auf eigene Gefahr. Wer mit GALs arbeitet, sollte von Hardware einigermažen Ahnung haben. Deshalb (und weil ich nichts dafr haben will) ist diese Anleitung etwas kurz und nur Text. Zum Umbau sollte man sich auf jeden Fall den Original-Schaltplan greifen. Ich m”chte nicht allzu viele oder ausfhrliche Fragen hierzu beantworten mssen. Nach dem hier beschriebenen Modifikationen kann der Prommer NICHT mehr von der Maxon-Soft angesteuert werden, sondern nur noch von dem in diesem Archiv enthaltenen Programm. Das Programm kann die von der Maxon-Soft erstellten JEDEC-Files lesen (Achtung: Der GAL-Assembler in der Maxon-Soft, der die JEDEC-Files erstellt, ist auch nicht fehlerfrei). Meine Soft hat eine zugegebenermažen saum„žige Oberfl„che, sollte aber unter allen TOS-Versionen und allen Bildschirmgr”žen ab 640*400 funktionieren. Mit MultiTOS/MinT k”nnte es Žrger geben. Wenn jemand die Soft (geschrieben in Omikron.Basic) verbessern will, kann er sich gerne melden. Der Autor --------- Diese Anleitung und das Programm wurden erstellt von Harun Scheutzow. Ich bin per Email unter Harun Scheutzow @B im Mausnetz oder Harun_Scheutzow@B.maus.de aus dem Internet zu erreichen. Meine Postanschrift: Harun Scheutzow Dresdener Straže 83 D-10179 Berlin Hardwareumbauten ---------------- M”glicherweise muž der GAL-Sockel ausgel”tet werden und nach dem Umbau wieder eingel”tet werden. Ich beziehe mich bei GAL-Pinnummern immer auf den GAL-Sockel numeriert fr 24polige GALs. GAL pin16, 17, 18, 19, 20 von GND abtrennen, so daž jedes Pin einzeln liegt. Jetzt wird jedes Pin einzeln ber einen Widerstand von etwa 10kOhm bis 22kOhm an GND gelegt. So werden die Forderungen fr die Belegung der GAL-Ausg„nge erfllt, besonders wichtig bei Lattice-GALs. Die Leitung zu GAL pin21 wird aufgetrennt. Die Trennstelle wird mit einem 10kOhm-Widerstand berbrckt. Gleiches wird fr GAL pin22 durchgefhrt. Die Leitung zu GAL pin2 direkt vor dem GAL pin auf trennen. Die Trennstelle wird mit einem 100Ohm-Widerstand berbrckt. Direkt vom GAL pin2 wird ein 10nF-Kondensator gegen GND geschaltet. Diese Prozedur wird fr GAL pin3 entsprechend wiederholt. So wird die Forderung fr die Flankensteilheit (oder auch Flachheit) beim Anstieg und Abfall der Programmierspannung erfllt, wichtig bei NS-GALs. Aužerdem sollte noch ein 10kOhm-Widerstand vom GAL pin3 nach GND eingel”tet werden, aber NICHT direkt am GAL pin3, sondern auf der anderen Seite der eben beschriebenen Trennstelle. Folgendes ist evtl. nicht so wichtig, dient aber dem Schutz des GALs, da manche STs auf dem BUSY-Eingang 16mA liefern, wenn man ihn auf L zieht. Die Leitung vom GAL-Prommer zum Computer-BUSY (vom GAL pin15 geht es los) wird aufgetrennt und ein Gatter eines 7407 eingefgt, Eingang zum GAL pin15. GAL pin15 wird mit einem 10kOhm-Widerstand mit +5V verbunden. Jetzt kommen die beiden Žnderungen, die eine Inkompatibilit„t zur Maxon-Soft erzeugen. Der ganze Wust am GAL pin11 wird umgebaut. Der PNP-Transistor T2 und sein Basiswiderstand R2 (10kOhm) werden entfernt. Der Widerstand R1 (4.7kOhm, BasisR des Transistors T1) wird auf der Seite des IC3 4094 (er geht an pin13) ausgel”tet. Dieses ausgel”tete Ende wird mit der Leitung D2 vom Druckerportanschluž verbunden, die vorher an den Emitter von T2 ging. Es wird ein Widerstand mit 10kOhm vom GAL pin11 nach GAL pin24 eingesetzt. Jetzt braucht der Prommer nur noch eine variable Spannungserzeugung, fr die man sich folgendes an Bauelementen beschaffen sollte: CMOS-Schaltkreis 4028 4 Dioden 1N4148 (oder „hnlich) Trimmpotis mit 10 oder 20 G„ngen mit 47kOhm, 100kOhm, zwei Stck 220kOhm Diese Schaltung realisiert einen 3Bit-bin„r zu 1 aus 8 Dekoder. Die CMOS-Ausg„nge funktionieren zusammen mit den Dioden und Rs als Stromquellen. Von den Trimmpotis wird nur der eine Anschluž und der Schleifer benutzt, der andere Anschluž bleibt offen. Es gilt folgende Bezeichnung: Name Wert Funktion RX1 220kOhm Abgleich 15.75Volt RX2 220kOhm Abgleich 14.50Volt RX3 100kOhm Abgleich 14.00Volt RX4 47kOhm Abgleich 12.00Volt Die Dioden werden als D1..D4 bezeichnet. Verdrahtung: 4028 pin8 -- 4028 pin11 -- GND auf Prommer 4028 pin16 -- +5V auf der Prommer 4028 pin10 -- IC3 (4094 fr Steuerung) pin12 auf Prommer 4028 pin12 -- IC2 (4094 fr Adressen) pin11 auf Prommer 4028 pin13 -- IC3 (4094 fr Steuerung) pin11 auf Prommer RX4 D4 |======|--------o 4028 pin1 -----|>|-----^ | RX2 | D2 |======|--------o 4028 pin2 -----|>|-----^ | RX1 | D1 |======|--------o 4028 pin14 ----|>|-----^ | RX3 | D3 |======|--------o--- IC5 (TL497) pin 1 auf Prommer 4028 pin15 ----|>|-----^ Der Abgleich erfolgt mit einem Voltmeter und einer versteckten Funktion des Programmierprogramms. Die Software ------------ Das Programmierprogramm kann JEDEC-Files in GALs programmieren sowie den GAL-Inhalt (falls das GAL nicht geschtzt ist) auslesen und als JEDEC-File bereitstellen. Die Prfsumme fr JEDEC-Files wird ignoriert und auch nicht errechnet. Ein einfacher Texteditor zur Modifikation der JEDEC-Files ist vorhanden. Die ganze Bedienung erfolgt ber die Tastatur. Mit der HELP-Taste erh„lt man eine kurze Hilfe. Nach dem Drcken der ESC-Taste kann man eine zweistellige Hexzahl eingeben, die als ASCII-Code eines Zeichens in den Text geschrieben wird. Der GAL-Prommer sollte beim Start des Programms schon angeschlossen sein, andernfalls ist es sehr empfehlenswert, den GAL-Typ nach Anschliežen des Prommers noch mal neu einzustellen, bevor ein GAL gesteckt wird. Mit ALT-E wird der angezeigte Text gel”scht. Mit ALT-Q wird das Programm verlassen. ALT-S und ALT-L Speichern bzw. Laden den angezeigten (JEDEC-)Text. Mit ALT-C kann zwischen zwei Texten gewechselt werden. Alle Operationen beziehen sich immer auf den aktuell angezeigten Text. ALT-G fhrt in das GAL-Men, in dem alle Kommandos durch einfache Tastendrcke ausgel”st werden. Sollte selbsterkl„rend sein. Ob ein GAL ein A-Typ oder ein normales ist, erkennt die Soft selbst. Die Programmierspannung fr das GAL erkennt die Soft ebenfalls und stellt sie entsprechend ein. Es gibt keinen Menpunkt zum L”schen eines GALs, da es vor einem Programmieren immer automatisch gel”scht wird (so schreiben es die Hersteller vor). Im GAL-Men gibt es zwei versteckte Menpunkte. Einer ist D wie Debug, mit dem man die Ausgabe zus„tzlicher Infos ber das GAL an- und ausschalten kann. Der zweite verstecke Menpunkt ist J wie Justieren, mit dem die Programmierspannungen an den Potis RX? eingestellt werden k”nnen. Sollte alles selbsterkl„rend sein. Achso: Syntax-Fehler im JEDEC-File fhren zwar nicht zu Abstrzen, werden aber auch nicht angezeigt. Es ist dann eben Mll im GAL. Wer also im JEDEC-File wtet, sollte wissen, was er tut. Fortsetzung ----------- Eigentlich wollte ich keine neuen Versionen mehr produzieren, aber da "die Anderen" mit ihren GEM-konformen C-Programmen noch nicht fertig sind, hier jetzt eine neue Version am 09.06.1994. GA_80.PRG wurde mit einer 3.60er Version des Omikron-Compilers bersetzt und sollte auch unter Mag!X als Single-Applikation laufen. Es drften keine zerst”rten MCBs mehr auftreten (das war nicht meine Schuld, sondern "Methode" des Omikron.Basic). Aužerdem ist nun endlich Pin11 des GAL-Sockels bei der "[J]ustieren"-Funktion auch auf Masse (GND, 0V), wenn er es sein soll. Das hatte beim GA_71.PRG doch manchen Nutzer zu Recht etwas verwirrt. Fred Hullerum @MS (aus dem Internet: Fred_Hullerum@MS) hat diesen Umbau vorgenommen und mir folgenden Text zur Verfgung gestellt, den ich an dieser Stelle gern weitergebe: -->> Es gibt mindestens zwei Schaltpl„ne des GAL-Prommers (und wohl auch mindestens zwei MAXON-Platinenversionen). Du scheinst das Schaltbild der "alten" Version 1.0 fr Deinen Nachbau benutzt zu haben. Dort sind die PINs 16 - 20 des GAL noch direkt mit GND verbunden. Weil ich noch die "alte" Platinenversion V1.0 habe, war das Ausl”ten des TEXTOOL-Sockels unvermeidlich. Im Schaltbild zur Version 1.0C des 1992 upgedateten Handbuches finden sich bereits die von Dir vorgeschlagenen Widerst„nde (5x10k-Array) von den Pins 16- 20 nach GND und auch der Widerstand von GAL PIN 3 nach GND (10k, er heiát "R20"). Das Layout meiner Platine V1.0 (und wohl auch aller brigen MAXON Platinen der V1.0) weicht in (mindestens) _zwei_ Punkten von den - insoweit bereinstimmenden - Schaltpl„nen ab. Deshalb ist es total richtig und wichtig, worauf Du hingewiesen hast: Immer den Schaltplan neben sich haben. Ich will das erg„nzen: Dem Platinenlayout kein Vertrauen schenken, sondern Leiterbahnen verfolgen! Besonders der zweite Layoutfehler ist fatal; wer sich auf den Bestckungsaufdruck der V1.0-Platine verl„át, muá damit rechnen, daá hinterher der Prommer fr 16V8-GALs unbrauchbar ist: Layoutfehler Nr. 1 (wohl nicht so schlimm): Laut Schaltplan ist PIN 14 von IC3 mit dem GAL PIN 22 verbunden. R3 (1k) h„ngt mit der einen Seite an dieser Verbindung, die andere Seite geht an die Basis von T3. Anders die Platine V1.0: Von PIN 14 des IC3 geht es lediglich nach R3, auf der anderen Seite von R3 geht es weiter sowohl an die Basis von T3 als auch an GAL PIN 22. Der Schaltplan ist richtig. Layoutfehler Nr. 2 (fatal): Auf dem Bestckungsaufdruck der Platine sind "R1" und "R2" miteinander vertauscht! Ich denke mal, daá fast alle Leute, die sich den Bausatz aufgebaut haben (auch ich), brav nach Bestckungsplan vorgegangen sind und sich damit den Fehler eingehandelt haben. Das ist bisher nicht aufgefallen, weil das Ding trotzdem lief; es wird nur im Umbaufall fatal. Wer also T2 und "R2" ausbaut und das eine Ende von "R1" an D2 vom Druckerport legt, wird niemals T1 leitend kriegen, denn das Signal vom Druckerport geht "ins Leere" (an die Basis des ausgel”teten Transistors T2). Also kontrollieren: D2 vom Druckerport muá ber den Vorwiderstand R1 wirklich an die Basis von T1 ran. Das geht am besten, indem man R1 dort einl”tet, wo laut Bestckungsaufdruck "R2" sitzt. <<-- Viel Spaž!