GABI - GAL-Brenner-Interface























Was ist ein GAL?
Um die verschiedensten Funktionen innerhalb einer Hardwarekomponente zu realisieren, steht heutzutage eine Unzahl von standardisierten Baulemeneten zur Verfügung. Oft ist es jedoch möglich, eine Menge der gewünschten Funktionen zu realisieren, ohne dazu die eigentlich erforderlichen Bauelemente verwenden zu müssen: durch den Einsatz von GALs. Dies sind kleine, weitgehend frei programmierbare Logik-ICs in DIL- oder PLCC-Bauform, die mit einem GAL-Programmierer "gebrannt" werden. Dabei ist es auch möglich, ein GAL erneut zu programmieren; so ist ein GAL z.B. für ein Hardware-Update durchaus wiederverwendbar.
Wichtig für all dies ist natürlich, daß sich ein GAL-Programmiergerät für die verschiedensten GAL-Typen (GAL16v8, GAL20v8, GAL22v10, A-, B-, C- und D-Typen) verwenden läßt. Das gilt natürlich besonders für die Programmierspannung (Edit-Spannung).
Insgesamt sind GALs sehr praktisch, weil sie flexibel sind, eine Menge Platz auf einer Platine sparen können und dadurch den Bestückungsaufwand deutlich reduzieren. Nicht zuletzt sind GALs relativ billig.

Praktischer Nutzen
Da GALs aus den oben genannten Gründen von den Hardwareentwicklern gerne genutzt werden und ihre Programmierung auch für den Durchschnittsbastler problemlos möglich ist, kann auch für letzteren die Anschaffung eines "GAL-Brenners" durchaus interessant sein, zumal sich die Kosten für Hard- und Software in moderaten Grenzen halten. So könnte man auf diese Weise z.B. einen HBS-CPU-Speeder in die Lage versetzen, eine FPU anzusprechen, deren Sockel bislang leer geblieben ist. Oder Besitzer einer PAK68/3 (Prozessor-Austausch-Karte) könnten so die GALs auf den neusten Stand bringen. Ähnliches gilt für die, die sich dazu noch einer FRAK (Fast-RAM-Karte für die PAK68/3) erfreuen. Auch ein HD-Modul eignet sich ideal für eine GAL-Anwendung.
Hardware-Entwicklern muß man an dieser Stelle sicher nicht erläutern, was man alles mit einem GAL-Entwicklungssystem wie GABI machen kann. Sie werden sich hauptsächlich für den Funktionsumfang von GABI und JEDI interessieren, und der kann sich sehen lassen.

Hardware-Voraussetzungen
Wer GABI einsetzen will, sollte möglichst über einen Atari-Computer verfügen, denn dafür ist GABI entwickelt worden. Die GABI-Software hat zwar eine Hardwaretreiber-Schnittstelle, allerdings besteht der im Lieferumfang enthaltene ST-Hardwaretreiber auf einem Soundchip und einem MFP unter den für Atari-Computer üblichen Adressen. Mittlerweile gibt es auch einen Hardwaretreiber für den Milan. Für TOS-Emulatoren auf anderen Hardwareplattformen gilt grundsätzlich, daß mit einem passenden Hardwaretreiber die GABI-Hardware ebenso angesprochen werden könnte. Allerdings setzen hier Timingprobleme in der Regel unüberwindware Schwierigkeiten. Wer inzwischen auf einen MAC oder PC umgestiegen ist wird eventuell stören, zum Brennen immer einen anderen Rechner und das 'Turnschuh-Netzwerk' in Anspruch nehmen zu müssen. Auch hier gibt es Lösung: GABI-Software kann mit passendem Hardwaretreiber auf dem Emulator-Rechner (GABI-SW ist weiterhin eine TOS-Anwendung) über eine serielle Verbindung die GABI-Hardware an einem original-Atari fernsteuern. Damit bleibt also wenigstens die Entwicklungsumgebung auf dem anderen System. Wird eine komplett andere Plattform genutzt, so ist grundsätzlich der Einsatz der GABI-Hardware an einer Standard-Parallelschnittstelle möglich, allerdings fehlt in diesem Fall die passende GABI-Software, die es nur für TOS-Systeme gibt.
Dafür ist GABI nicht wählerisch, was die Betriebssystemvarianten angeht. Getestet ist das System mit diversen Atari-TOS-Versionen, aber auch unter MagiC-Atari, dem weit verbreiteten Multitasking-Betriebssystem. Auch schnelle Prozessoren können GABI nicht abschrecken. Ideal ist sowieso die "Reaktivierung" eines älteren Ataris als "Brennrechner". Entwickler wissen diesen "Trick" sehr zu schätzen.

Hardware-Features
Die GABI-Hardware ist ein komplett neu entwickelter GAL-Programmierer. Das Schaltungsdesign ist auf dem modernsten Stand und so "sauber" wie möglich. Der komplett aufgebaute "GAL-Brenner" (als Fertiggerät wie auch als Bausatz erhältlich) paßt genau in das Gehäuse des Maxon-GAL-Prommers früherer Tage. Wer den also noch besitzt, hat schon das passende Gehäuse.
Für die Stromversorgung benötigt GABI (stabilisierte) +5V, die problemlos über die Tastatur (Jostick-Port) erfolgen kann, ohne daß dabei Qualitätseinbußen für die Programmierspannung (der Edit-Spannung) zu befürchten sind. Die Edit-Spannung ist extra stabilisiert und läßt sich von 8,75 Volt bis 16,50 Volt in 0,25 Volt-Stufen über die Software einstellen, so daß GABI auch für zukünftige GAL-Typen bestens gerüstet ist. Der Abgleich der Spannung erfolgt über nur zwei Trimmer. Dieser ist natürlich bei den Bausätzen noch vor dem ersten Arbeiten an GALs zu erledigen, beim Fertiggerät ist der Abgleich bereits durchgeführt.
GABI kann mehrere GAL-Typen programmieren: Es werden GAL16v8, GAL20v8, aber auch GAL22v10 (Lattice und Kompatible) des Normaltyps sowie der Typen A, B, C und auch D unterstützt. Angeschlossen wird GABI an den Parallelport (Druckerschnittstelle) des Computers, wo sie auch automatisch beim Programmstart erkannt wird.

Praktische Handhabung
Sie haben noch nie ein GAL programmiert? Das trifft wohl auf die meisten Atari-Anwender zu, macht aber gar nichts, denn mit GABI ist's kinderleicht: Zunächst versorgen Sie die GABI-Hardware mit Strom, indem Sie den entsprechenden Stecker z.B. in den freien Anschluß für Josticks stecken (ein separates Netzteil mit stabilisierter Ausgangsspannung von +5V ist ebenfalls verwendbar). Dann schließen Sie GABI an den Parallelport an. Nun wird die GABI-Software gestartet, die die GABI-Hardware auch gleich am Druckerport erkennt. Sollten Sie vergessen haben, den Druckerumschalter in die korrekte Position zu bringen, dann haben Sie bei der entsprechenden Fehlermeldung die Gelegenheit dazu.
Bevor Sie jetzt das zu programmierende GAL einlegen, ist über das Popup rechts von "Typ" der GAL-Typ entsprechend einzustellen. Die GALs werden übrigens bündig mit Pin 1 (links neben der Kerbe) in Richtung zum Hebel des TEXTOOL-Sockels eingelegt (Vorsicht! Beim Maxon-Prommer werden die GALs mittig eingelegt!). Über "Laden" oder Anklicken des Pfadfeldes kann nun eine JEDEC-Datei geladen und über "Programmieren" ins GAL übertragen werden - so einfach kann's gehen. Genaueres gibts im Abschnitt "Die Software" weiter unten. Alles geht recht flott. Zu erwähnen wäre hier nur noch, daß während des Programmiervorgangs möglichst nicht exzessiv die Maus bewegt wird, da GABI prinzipbedingt recht nahe an der Hardware arbeitet und der Tastaturprozessor sich dann vernachläßigt vorkommt und Ärger macht.

Die Hardware als Selbstbauprojekt
Die GABI-Hardware gibt es auch als Bausatz. Und wer hier und da schon praktische Erfahrungen mit dem Lötkolben gesammelt hat, wird auch in der Lage sein, sich diesen "GAL-Brenner" selbst zusammenzubauen. Da gibts zum einen für DM 59,- das Selbstbauprojekt, bestehend aus der Platine, der Anleitung und einer Diskette mit der GABI-Software. Hier muß man die benötigten Teile aus der eigenen Schublade oder bei einem geeigneten Anbieter selber zusammensuchen, bevor man mit dem Aufbau des Geräts beginnt. Wer keinen gut sortierten Vorrat an Elektronikbauteilen hat und sich das Suchen beim Fachhändler ersparen will, kann für DM 99,- den Komplettbausatz erwerben. Da kann dann der Lötkolben sofort in Aktion treten: Die Platine wird nach Anleitung bestückt, einschließlich der mitgelieferten Anschlußkabel für den Parallelport und die Stromversorgung. Nun ist noch der Spannungsabgleich fällig, dann ist GABI schon einsatzbereit, allerdings etwas nackt; es fehlt noch ein passendes Gehäuse. Besitzt man noch einen alten "Maxon-Prommer", kann man sich problemlos dieses Gehäuses bedienen. Ein passendes "Zuhause" für GABI gibts aber auch oft im Elektronikladen um die Ecke. Da müssen dann nur noch die Öffnungen für die Anschlußkabel, den TEXTOOL-Sockel und die LEDs geschnitten bzw. gebohrt werden. GABI ins vorbereitete Gehäuse - und fertig ist der Profi-GAL-Brenner für den Atari ST, STE, TT, Falcon, Milan oder Hades.

Handhabung der Software
Den Kern der GABI-Software bildet das GABI.APP. Das Programm läuft ab einer Auflösung von 640x400 Punkten in jeder beliebigen Farbtiefe und übernimmt die Ansteuerung der GABI-Hardware oder eines "Maxon-Prommer-Umbaus nach Harun" Scheutzow (MUnH) am Parallelport eines Ataris. Soll die GABI-Software auf anderen Hardwareplattformen als den ursprünglichen Ataris eingesetzt werden, kann man einen entsprechenden Hardwaretreiber als Zusatzdatei anmelden. Damit kann GABI zum Beispiel auch am Milan betrieben werden.
Auf TOS-Systemen läuft GABI sowohl mit Singletask-Betriebssystemen wie auch im Multitasking-Betrieb. Damit ein Mehrfachstart von GABI.APP unterbunden werden kann, legt das Programm beim Start einen Cookie an. Und damit das auch mit TOS-Versionen kleiner 1.6x funktioniert, muß ggf. das beiliegende COOKIEJR.PRG vorher in den AUTO-Ordner gelegt werden. Beim Start von GABI prüft das Programm das Vorhandensein der GABI-Hardware am Parallelport und beschwert sich bei Mißerfolg. Der MUnH-Prommer kann leider nicht erkannt werden, hier ist Selbstdisziplin gefragt. Hat alles geklappt, präsentiert sich GABI mit einem übersichtlichen Fenster, in dem es seine Funktionen anbietet: Einstellung des GAL-Typs, GAL identifizieren, GAL auslesen, Laden einer JEDEC-Datei (maschienenlesbarer GAL-Inhalt), Programmieren, Vergleichen uvm. Dabei stellt GABI.APP keine Menüzeile zur Verfügung, sondern öffnet bei Bedarf weitere Dialogfelder, z.B. das für die mannigfaltigen Einstellungen. Hier kann man die verwendete Prommer-Hardware auswählen, die Edit-Spannung justieren und die verschiedenen Hinweisfunktionen, wie z.B. die Hinweisbox vor "Programmieren", an- und abstellen, so daß GABI für den Anfänger und Profi ganz nach Geschmack und Sicherheitsbedürfnis erscheint. Und nicht zuletzt läßt sich sogar die Benutzeroberfläche den eigenen Vorstellungen anpassen, z.B. ob in Eingabefeldern das GEM-Klemmbrett verwendet werden soll, ob vor dem Überschreiben einer Datei ein Hinweis erfolgen soll oder die Dialoge an Mausposition erscheinen sollen oder nicht.


Snapshot des GABI-Hauptdialoges

Hat man nun alle gewünschten bzw. erforderlichen Einstellungen getätigt und im Infodialog, der auch direkt nach Programmstart der unregistrierten Version auftaucht, die Registrierungsdaten eingegeben, um aus der öffentlichen die private Version von GABI zu machen, kann es losgehen. Wenn man nun gleich die getätigten Einstellungen sichert, braucht man diese nicht beim nächsten Programmstart noch einmal vornehmen. Zunächst wird mit dem Typ-Popup eingestellt, welcher GAL-Typ bearbeitet werden soll. Jetzt kann ein GAL in den TEXTOOL-Sockel eingelegt werden und z.B. mit "Identifizieren" die UES ausgelesen werden. Mit der Funktion "Auslesen" kann der Inhalt eines GALs in eine JEDEC-Datei geschrieben werden, sofern das GAL nicht auslesegeschützt ist. Nun kann mit dem Button "Laden" eine JEDEC-Datei (GAL-Inhalt) ausgewählt werden, was auch bequem per Drag&Drop möglich ist. Ein Mausklick auf "Programmieren" genügt, und schon tut der GAL-Programmierer seine Arbeit. Nach der Programmierung prüft das Programm automatisch, ob die Inhalte von JEDEC-Datei und GAL übereinstimmen. Mit "Vergleichen" kann man diesen Vorgang jedoch auch separat auslösen, um z.B. zu prüfen, ob ein vorhandenes GAL genau den erwarteten Inhalt hat.
Die JEDEC-Dateien müssen entweder selbst erstellt worden sein, zum Beispiel sehr bequem mit dem GAL-Assembler "JEDI" von Ralf Zimmermann machbar, oder man greift auf öffentliche Dateien zurück, wie zum Beispiel die GAL-Sätze für PAK und FRAK (aktuelle Version immer in der Maus DO2 erhältlich, WRSGAL??.LZH; alternativ auch von der Homepage der Entwickler).
Bei allem, was GABI tut, ist das Programm sehr auskunftsfreudig und meldet dem Anwender in entsprechenden Dialogboxen, was es zu sagen hat. Auf schnellen Ataris braucht man jedoch zuweilen gute Augen, um wirklich alles mitzubekommen. Hier wie auch sonst macht GABI seine Bildschirmausgaben in applikationsmodalen Fenstern, so daß parallel laufende Programme nicht gestört werden.
Aktuelle TOS-Software bietet heutzutage eine Anleitung/Onlinehilfe im ST-Guide-Format oder per BubbleGEM an. Beides gibts derzeit für GABI nicht (die BubbleGEM-Hilfe ist für eine spätere Version geplant). Dieser Mangel ist jedoch leicht zu verschmerzen, da das Programm weitgehend selbsterklärend ist und die der Grundversion beigefügte Kurzanleitung als Datei (GABI.TXT) Anfängern über die wesentlichen Hürden hilft.

Verschiedene Ausbaustufen
Die GABI-Software wird mit unterschiedlichen Leistungsmerkmalen angeboten. Wer sich den Maxon-Prommer nach Harun's Anleitung umgebaut hat und nicht mehr braucht als das, was die zugehörige Software (GA_80.PRG) konnte, sich aber eine bessere Benutzeroberfläche wünscht, bekommt die entsprechende GABI-Software kostenlos, sobald er/sie sich beim Autor registrieren läßt. Möchte man dazu die Master-MES-Funktionen nutzen, wird ein Anerkennungspreis von 20,- DM fällig.
Beim Erwerb einer GABI-Hardware, egal ob Fertiggerät, Bausatz oder Selbstbauprojekt, ist eine GABI-Software-Registrierung für private Nutzung enthalten. Für kommerzielle Anwender (die GALs nicht nur für den Eigenbedarf programmieren) ist ein Aufschlag von 50,- DM hinzuzurechnen. Dafür bietet die 'Profi-Version' aber auch zwei Features mehr: eine Auto-Zyklus-Funktion (programmieren - vergleichen - schützen in einem Arbeitsgang) und JEDEC-Dateien lassen sich beliebig oft brennen.

Die JEDI-Schnittstelle
Die GABI-Software hat zu alldem noch etwas Besonderes zu bieten: eine Schnittstelle zu JEDI, dem GAL-Assembler von Ralf Zimmermann, der seit der Version 0.40 mit GABI zusammenarbeitet und wie GABI auch GALs vom Typ 22v10 unterstützt.
JEDI ist ein Programm, das es Hardwareentwicklern ermöglicht, ebendiese JEDEC-Dateien zu erstellen, deren Inhalt anschließend mit GABIs Hilfe in die GALs "gebrannt" werden kann. JEDI kann beim Start GABI als Overlay einladen und so GALs direkt bearbeiten, vorausgesetzt man hat sich für GABI registrieren lassen. Auf diese Weise steht dem Hardwareentwickler ein komplettes GAL-Entwicklungssystem zur Verfügung.

Fazit
GABI hat jedem, der GALs programmieren möchte, etwas zu bieten: dem, der gelegentlich die GALs seines Computers updaten möchte und dies bislang mit einem modifizierten "Maxon-Prommer" gemacht hat, oder dem Einsteiger, der mit GABI erstmals so etwas realisieren möchte, bis hin zum Profi, der mit GABI (und JEDI) ein komplettes Entwicklungssystem wünscht, das auch modernen Anforderungen und denen der Zukunft gerecht wird. Als Selbstbauprojekt ist GABI etwas für Bastler; Anwender ohne Lötkolben können ein Fertiggerät erwerben. Die Software ist einerseits für den Normalanwender einfach zu bedienen und bietet andererseits dem Experten Spezialfunktionen, die ihm die Arbeit deutlich erleichtern. Die (noch) fehlende Online-Hilfe kann, wenn überhaupt, eher als Schönheitsfehler gelten.

Michael Kehr


Zuletzt geändert am 08.03.2007, RS
Hinweis: Der obige Artikel entspricht wörtlich nicht mehr dem Original, sondern wurde auf den aktuellen technischen Stand gebracht, um unnötige Verwirrung zu vermeiden.