
Workshop: Flipper-Software selbst brennen
Gerald Pienkowski
Neue Software für die alte Hardware
Beinahe alle elektronischen Solide State Flipper
haben ihre Software auf EPROMs gespeichert. EPROM steht für Erasable
Programmable Read Only Memory und sind integrierte Schaltungen (ICs), die
sich mit etwas Aufwand immer wieder löschen und neu beschreiben lassen. Sie
eignen sich vor allem für Geräte, die man in relativ kleinen Auflage herstellt
sind also ideal für Spielautomaten wie Flipper. EPROMs sind nicht mehr ganz
zeitgemäss und wurden grösstenteils von einfacher zu handhabenden
Flash-Speichern abgelöst. Die Williams Pinball 2000 Geräte haben daher keine
EPROMs mehr.
Neue EPROMs sind leer, also unbeschrieben. Mit EPROM-Schreibgeräten
lassen sich darauf Daten abspeichern, man spricht vom Brennen der Software. In
unserem Falle ist das die Programmlogik, Sounds und die Grafiken der DotMatrix
Geräten. Der Speicher ist nicht flüchtig, das bedeutet, dass selbst wenn die Batterien
im Flipper leer sind, die Programmdaten erhalten bleiben. Man kann den Speicher
löschen, indem man das Sichtfenster des Chips mit Ultraviolettem Licht
(UV-Licht) bestrahlt. Daher ist es wichtig, dass dieses Fenster im normalen
Betrieb immer mit einem Aufkleber verdeckt ist. Beim eingebauten Chip im
Flipper verhindert ein Etikett mit Flippername, Chip- und Versionsnummer den
versehentlichen Verlust der Programmdaten. Elektronische Flipper haben
gewöhnlich einen EPROM-Chip für die Programmsoftware und Displaygrafiken, sowie
mindestens ein EPROM für die Musik und den digitalisierten Sound. Bei
WPC-Geräten ist die Programmlogik auf dem CPU-Board, die Klänge auf der
Soundplatine gespeichert. Bei DOTMATRIX Flippern von DE/ SEGA/ STERN/ GOTTLIEB gibt es zusätzlich eine Displayplatine mit eigenem Prozessor, auf der die Grafiken gespeichert sind.
Soll die Software des Fippers nun auf die
neueste Version gebracht werden, lassen sich natürlich die im Flipper
eingebauten Chips wiederverwenden. Nachdem der Aufkleber entfernt ist, kann man
die EPROMs mit UV-Licht löschen und neu brennen. Da jedoch beim Brennen immer
wieder mal Probleme auftauchen, empfiehlt es sich, neue oder andere Chips zu
verwenden und die alten erst dann zu ersetzen, wenn das Schreiben wirklich
erfolgreich war. Sonst könnte der Automat unter Umständen gar nicht mehr funktionieren
und Panik ausbrechen.
Was man braucht
Zum Brennen benötigt man neben einem Windows 9x/NT
Computer einige Hardware:
-
Den eigentlichen Brenner, entweder als
Bausatz oder fertig gelötet; beides gibt es bei batronix.com.
-
Ein paralleles Verlängerungskaben
(25-poliger Sub-D Stecker), bei dem sämtliche Kontakte durchgeschalten sind.
Bei minderwertigen Kabeln sind aus Kostengründen oft nur die zum Drucken
notwendigen Leitungen enthalten.
-
Ein Netzteil, das relativ sauberen
Gleichstrom zwischen 14 und 20 Volt bei 100 mA liefert. Billige Trafos mit 12 V
bei 500 mA Last genügen meist diesen Anforderungen.

Um diese Hardware auch ansprechen zu können,
muss auch noch die richtige Software her. Die gibt es unter www.batronix.com. Der Download ist
kostenlos, den vollen Funktionsumfang beim Brennen erhält man jedoch erst mit
der Lizensierung durch Registrierung bei batronix.com (15 Euro).
Die Software ist in der ressourcenintensiven
Programmiersprache Visual Basic geschrieben; Moderne Rechner werden allerdings
spielend damit fertig. Es genügt ein PC der Pentium-Klasse mit ca. 100 MHz. Je
schneller der Computer, desto flotter geht das Schreiben und desto weniger
Probleme. Mit meinen Gigaherz-Pentium habe ich beim Brenner allerdings erheblich Schwierigkeiten.
Mein alter Rechner (400 MHz) macht keine Probleme.
Kleine EPROM-Kunde
Schliesslich benötigt man noch einen leeren
EPROM-Chip zum Brennen. In Flippern sind verschieden Typen verbaut, je nach
Alter und benötigtem Speicherplatz. Die Chips haben eine Kapazität zwischen 1
Kbyte und 1 Mbyte und besitzen entweder 24, 28 oder 32 Beinchen. Folgende Typen von
EPROMs gibt es:
Type Kapazität
2708 1 KByte (geht nicht mit dem Batronix Brenner)
2716 2 Kbyte (geht nicht mit dem Batronix Brenner)
2732 4 Kbyte (geht nicht mit dem Batronix Brenner)
2764 8 Kbyte
27128 16 Kbyte
27256 32 Kbyte
27512 64 Kbyte
27C64 8 Kbyte
27C128 16 Kbyte
27C256 32 Kbyte
27C512 64 Kbyte
27C1001 128 Kbyte
27C2001 256 Kbyte
27C4001 512 Kbyte
27C8001 1024 Kbyte
27C010 128 Kbyte
27C020 256 Kbyte
27C040 512 Kbyte
27C080 1024 Kbyte
27C801 1024 Kbyte
Die Typenbezeichnung steht klein unter dem
Sichtfenster des IC. Entscheidend ist die Speicherkapazität. Ist im Flipper ein
27C4001 eingebaut, so kann man auch einen 27C040 verwenden. Beide Chips sind
intern unterschiedlich aufgebaut, doch die Pinballmachine schluckt beide.
Durch die vielen Hersteller gibt es eine grosse
Anzahl verschiedener Typen von EPROMS. Es kann durchaus vorkommen, dass der
batronix-Brenner einen bestimmten Chip nicht mag. Da ist weder der Brenner,
noch der IC defekt, das ist einfach Pech :-(.
Die Chips haben unterschiedliche Zugriffszeiten.
Je schneller der EPROM, desto teurer. Glücklicherweise sind Flipper nicht so
anspruchsvoll. 120 oder gar 150 Nanosekunden (ns) genügen; schneller kann es
allemal sein. Die Zahl nach der Typenbezeichnung weist auf die Geschwindigkeit
hin (z.B. 80 für 80 ns, -10 oder -12 für 100, bzw. 120 ns)
Es zeigt sich jedoch, dass man in Geschäft
ohnehin das nehmen muss, was gerade auf Lager ist. EPROMs werden nicht mehr hergestellt, der Preis steigt ständig.
Wichtig ist in erster Linie, den alten Chip durch einen neuen mit gleicher Kapazität zu ersetzten.

Das ist ein 27C040, also ein 4Mbit
EPROM. Die folgende Zahl 12 bedeutet eine Zugriffszeit von 120 ns.
Ausrichtung der Chips
Um die EPROMs in einen Sockel zu stecken, gibt
es prinzipiell ja zwei Möglichkeiten. Aber Vorsicht: nur eine Position ist die
richtige. Der Chip hat an einer Seite eine kleine Einkerbung, eine Nase nach
innen; Auf dieser Seite ist auch der Pin Nr. 1. Die Sockel haben ebenfalls eine Einkerbung. Sockel und Chip müssen diese Einkerbung auf der selben Seite haben.
Auch beim Brennen ist es sehr wichtig, dass die
Chips mit der Nase nach oben, das heisst Richtung Parallelport/Jumper, in den
Sockel stecken. Die verkehrte Richtung kann nicht nur den EPROM zerstören,
sondern auch die Bausteine des Brenners!
EPROMs mit kleinerer Kapazität haben weniger als
32 Pins und passen nicht in den 32-Pin-Sockel des Brenners. Doch auch damit
lässt sich der Brenner problemlos verwenden. Entscheidend ist, den Chip unten
bündig einzusetzen, also an der den Jumpern abgewandten Seite. An der oberen,
der Jumperseite des Brenners, bleiben links und rechts je 2 Pins frei.
Welcher Druckerport ist der richtige?
Zum Anschluss des Brenners brauchen wir den
Druckerport. Nun gibt es inzwischen davon verschiedene Arten: Der alte,
ursprüngliche Parallelport, den Standard Parallel Port (SPP). Eine
leistungsfähigere Variante dieser Schnittstelle ist der Enhanced Parallel
Port (EPP); 1995 folgt der Extended Capability Port (ECP).
Zum Brennen brauchen wir eine gewöhnliche
parallele Schnittstelle, also SPP. Die EPP-Schnittstelle ist leider nicht
kompatibel zum SPP und daher für unsere Zwecke ungeeignet. ECP wiederum ist
eine echte Erweiterung zu SPP und sollte funktionieren. Allerdings existieren
es verschiedene Versionen von ECP; Niemand kann garantiert, dass auch alle
problemlos laufen. Wer auf Nummer sicher gehen will, sollte SPP wählen.
Die Art der parallelen Schnittstelle kann man im
BIOS (Basic Input Output System) des Computer einstellen. In das BIOS gelangt
man, indem man vor dem Hochfahren des Betriebssystems die Enfernen-Taste
drückt. Dort wählen Sie unter Parallel Port Mode den SPP oder den ECP,
auf keinen Fall EPP oder Varianten davon (SPP/EPP oder ECP/EPP). Ändern Sie
Einstellungen des BIOS nur, wenn Sie sich das zutrauen.
Installation
Die Brennersoftware richtet sich in erster Linie
natürlich nicht an Pinheads, sondern an experimentierfreudige Leute, die selbst
Programme schreiben wollen. Die Software heisst Prog-Studio, vor der Version 5.0 trug sie
den Namen Assembler.
Die Installation von Prog-Studio/Assember läuft
problemlos. Danach sollten Sie die Software als erstes registrieren lassen, da
sich sonst nur wenige Byte brennen lassen. Bevor Sie anfangen, treten Sie also
mit André Bauer in Kontakt, um
den Registrierungscode zu erhalten. Auf www.batronix.de
können Sie sich gleich online registrieren lassen (15 Euro).
Um es gleich vorweg zu sagen: Über 90 Prozent
des Funktionsumfangs von Assember ist für unsere Zwecke nicht nötig. Der
Workshop geht daher auch nur auf die Punkte ein, die zur erfolgreichen
Herstellung neuer Flippersoftware nötig ist. Lassen Sie sich von den vielen
Funktionen nicht erschrecken.
Welche Adresse hat mein Parallelport?
Damit die Software den Brenner ansprechen kann,
muss sie wissen, an welcher Adresse der Parelellport liegt. Normalerweise ist
diese Adresse die hexadezimale Zahl 378. Im Assember unter Bearbeiten->Optionen->Programmiergerät
ist daher die Adresse 378h einzustellen.
Gerade bei neueren PCs kann sich die Adresse
durch die PlugAndPlay-Funktion ändern. Um sie herauszufinden, gehen Sie unter
Win 9x folgendermassen vor:
Doppelklicken Sie Arbeitsplatz auf Ihrem Desktop. Dort den Punkt Systemsteuerung,
dort wiederum System. Im aufklappenden Fenster wählen Sie den Reiter Geräte,
dort beim Listenpunkt Anschlüsse auf das Plus (+) klicken und Druckeranschluss
(LPT) wählen. Nach dem Doppelklick erscheint ein neues Fenster, bei dem unter
dem Punkt Resources die aktuellen Einstellungen des PC erscheinen.

In der Systemsteuerung findet sich die
Adresse des Parallelport.
Anschluss des Brenners
Zuerst den Brenner an den Parallelport des
Rechner anschliessen. Die grüne Leuchtdiode neben der Chipfassung fängt leicht
an zu leuchten. Dann das Netzgerät einstecken. Die Diode leuchtet jetzt mit
voller Kraft.Der Brenner ist bereit.
Stellen Sie den Brenner auf keinen Fall auf eine
leitende Unterlage wie einen Metalltisch. Legen Sie am Besten ein Buch o.ä.
darunter.
Brennen
Ruft man die Brennsoftware das allerserste Mal
auf, empfiehlt es sich, unter Ansicht den Modus von MC-Editor auf
Hex-Editor umzustellen. Ansonsten versucht die Software beim Einlesen
eines EPROM, die Informationen in Assembercode umzuwandeln. Dieser Versuch muss
allerdings bei den Flipperdaten in die Hose gehen und endet meist mit einem
Systemabsturz.
Jetzt den Typ des EPROMs wählen. Im Menü den
Punkt IC (Version 4.x), bzw. Brenner (5.x) wählen, dort Typ/IC
wählen und in das Eprom´s Untermenü. Hier den passenden Chip auswählen.
Es poppt ein Fenster hoch, das die richtige Stellung
der Jumper anzeigt. Die vier Jumper genau nach Brennerversion 3.1 (Bild rechte
Seite) einstellen. Jetzt den Chip einsetzen.
Brennen lassen sich nur leere Chips. Um zu
überprüfen, ob er auch wirklich leer ist, wählen Sie Prüfen im Menü IC
bzw. Brenner. Nach dem Prüfungsvorgang erscheint ein Fenster, das den
Zustand anzeigt. Nur wenn hier steht, dass der IC gelöscht ist, kann er neu
geschrieben werden.
Jetzt können wir die Flipperdatei in die
Software einlesen. Nachfolgendes ist in der Version 5.x der Brennsoftware nicht mehr nötig: Wechseln Sie zunächst in den Windows-Explorer und suchen Sie
die zu brennende Datei. Klicken Sie sie mit der rechten Maustaste an und wählen
im Menü den Punkt Umbenennen. Jetzt fügen Sie die vier Zeichen .bin an
den Dateinamen an. Hiess die Datei vorher z.B. FUNH_L9.ROM, heisst sie
jetzt FUNH_L9.ROM.bin.
Im Menü Datei ist der Punkt Daten
laden. Im folgenden Dialogfenster wählen Sie als Dateityp Binär (*.bin;
*._51). Markieren Sie die gewünschte Datei und betätigen Öffnen.
Ist der Chip leer, können wir gleich mit dem
Brennen beginnen. Dazu den Punkt Brennen aus dem IC/Brenner Menü
wählen. Das Brennfenster poppt hoch. Manchmal weicht die letzte zu brennende
Adresse im Punkt Brennen ab. Der Grund ist einfach: Liest man einen
leerer, ungebrannter Chip aus, stehen darin lauter Einsen, hexadezimal ist das
FF je Bytepaar. Steht bei den zu brennenden Daten am Ende FF, brennt die
Software diese Daten gar nicht, da das ja ohnehin der Normalzustand des IC ist.
Daher kann es je nach Datei vorkommen, dass Prog-Studio im Brennfenster das
Ende des Datenbereichs vorschlägt (z.B. 3FFF), sondern einen kleineren Wert
(z.B. 3FA7). Die vorgeschlagene Einstellung kann man problemlos übernehmen.
Nach Klick auf Brennen geht´s los. Kommt sofort eine Fehlermeldung, ist der
Brenner nicht bereit. In diesen Fall Stromversorgung und paralleles
Anschlusskabel prüfen.
Ein Fenster mit Successbalken zeigt den
Fortschritt des Brennvorgang in Prozent an. Während des Schreibens liest die
Software die Daten gleich wieder ein und vergleicht sie. Bei Abweichungen
bricht der Vorgang mit einer Fehlermeldung ab. Dann Chip löschen und noch
einmal versuchen.
Der Schreibvorgang dauert je nach Chiptyp und
Rechnerleistung zwischen 10 Sekunden und 15 Minuten. Ist alles problemlos
verlaufen, erscheint keine Meldung.

Hier erhält ein Addams Family gerade
die Software vom Gold. Gerade bei langsameren PCs sollte während des Brennens
keine andere Software laufen.
Hat es geklappt?
Williams schreibt bei jeder Software noch eine Prüfsumme dazu, die
Checksum. Mit Hilfe der Checksum lässt sich überprüfen, ob das Brennen
erfolgreich war. Der Chip wird augelesen und eine Quersumme über alle Daten
gebildet. Stimmt sie mit der von Williams angegebenen überein, kann man recht
sicher sein, dass alles richtig ist.
Die Batronix-Software unterstützt keine
Checksums. Hier ist die Vorgehensweise anders:
Wählen Sie unmittelbar nach dem Brennvorgang den Punkt Prüfen im Menu IC.
Die Software liest daraufhin den Inhalt des Chips und vergleicht ihn mit der Datei
im Edotor. Ein Fenster poppt auf. Dort ist zu lesen, bis zu welcher Adresse der
Chip beschreiben ist. Darunter sollte stehen: Die Daten des IC entsprechen den
Daten des Editors.
Wichtig: Erscheint die Meldung nicht, hat das
Brennen wahrscheinlich nicht geklappt. In diesem Fall hilft zunächst ein nochmaliger Brennversuch. Die Batronix-Software brennt zum Teil zu schnell, so dass bis zu 5 Brennvorgänge nötig sein können. Wenn das nicht hilft, müssen Sie den EPROM wieder
löschen und sämtliche Daten neu schreiben.
Jetzt ist es an der Zeit, das Sichtfenster des
IC mit einem lichtundurchlässigen Aufkleber zu schützten.
Probleme beim Brennen
Für den Fall, dass Probleme auftreten, hat André
Bauer von Batronix ein sehr aufwendiges Testprogramm geschrieben. Unter http://batronix.com/elektronik/bauanleitungen/eeprommer-hilfe.shtml
können Sie es herunterladen. Damit lassen sich Hardwarefehler des Brenner
ausschliessen. Allerdings sollte man ein Stommessgerät haben und mit dessen
Bedienung vertraut sein.
Folgende Fehler lassen sich mit den Testprogramm
ausfindig machen:
-
Der Parallelport des Rechners ist nicht
auf SPP oder ECP gestellt
-
Das Netzteil liefert nicht den richtigen
Strom, ist nicht richtig eingesteckt oder die Klemmen am Brenner geben keinen
richtigen Kontakt
-
Die Jumper auf dem Brenner haben einen
Wackelkontakt
-
Das Kabel ist zu lang, nicht alle
Leitungen sind durchgeschaltet oder ist geschädigt
-
Software von Tintenstrahldruckern belegt
oft permanent den Druckerport. Solche Software beenden.
Andere Ursachen für Fehler können sein:
-
Während des Brennens läuft andere
Software auf dem Rechner, der zu viel Rechenzeit benötigt (Bildschirmschoner,
Virenscanner etc.)
-
Der EPROM sitzt nicht richtig in der
Fassung des Brenners
-
Falscher Chip in der Software eingestellt
-
Der EPROM verträgt sich nicht mit dem
Brenner oder der Software

Einbau der neuen Chips
Wenn alles geklappt hat, ist der grosse Moment
des Einbaus gekommen.
Zuerst den eingebauten IC vorsichtig entfernen.
Er ist recht fest in Fassung auf der Platine geklemmt. Mit einem flachen, nicht
zu grossen Schraubendreher klappt das ganz gut; Auch ein Fingernagelzwicker
oder eine Nagelschere ist geeignet. Abwechseld von beiden Seiten zwischen
Fassung und Chip eintauchen und mit sachter Drehung den IC lockern. Die
Beinchen sind sehr empfindlich und verbiegen sich bei allzu aprupten Vorgehen.
Der frisch gebrannte Chip kann jetzt eingesetzt
werden. Die Nase des Neuen Chips muss in die selbe Richtung zeigen wie die des
alten.
Einzelne Beine des Chips verbiegen sich nach
aussen, wenn sie nicht richtig zur Fassung ausgerichtet sind. Daher erst Druck
ausüben, wenn Sie sicher sind, dass die Stellung der Beinchen korrekt ist. Im
Fachhandel gibt es spezielles Werkzeug, um die ICs fassungsgerecht vorzubiegen.
Jetzt den Flipper einschalten. Fährt er gar
nicht hoch, kann es an einem schlechten Kontakt zwischen Chip und Fassung
liegen. Die Blinkcodes der Leuchtdioden können eventuell weiterhelfen. Meldet
das Gerät nach dem Hochfahren einen Checksum-Error, hat der Brennvorgang wider
Erwarten doch nicht geklappt oder die Platine ist nicht mit dem IC dieses Herstellers
zufrieden.
Brennen von 8 Mbit Chips
Zum Brennen von 8Mbit EPROMs benötigen wir einen
speziellen Adapter. Der ist recht einfach herzustellen: Stecken Sie zwei
32-polige Präzisionsfassungen zusammen (Fachhandel). Entfernen Sie Pin 1 der
unteren Fassung mit einer Zange; Wenn man von ober auf die Fassung sieht und die
Nase der Fassung nach oben zeigt, ist das das linke obere Pin. Dann einen
kleinen Schalter mit 3 Kontakten nehmen und den mittleren Kontakt mittels einen
kleines Drahtes an den Pin 1 der oberen Fassung löten; die beiden Fassungen
müssen aber noch zusammensteckbar bleiben. Einen der anderen Kontakte des
Schalters mit Pin 16 verlöten (unten links). Den letzten Kontakt mit Pin 32 verbinden
(oben rechts). Die Schaltung mit einem Messgerät überprüfen. Steht der Schalter
jetzt in der Stellung, die Pin 16 mit Pin 1 verbindet, kann man den ersten 512
kByte des 8Mbit Chip lesen und schreiben (hex: 00000-7FFFF). In der anderen
Stellung die anderen 512 kByte (h 80000-FFFFF).

Dank eines selbstgebauten Adapters lassen
sich auch 8Mbit EPROMs verwenden. Bei der aktuellen Version des Brenners ist keine Adapter mehr nötig.
Die derzeitige Version der Brennersoftware ist recht empfindlich bei
den 8Mbit-Chips. Nur einige Typen funktionieren. Ich habe zwei verschiedene
Chips getestet, keine hat funktioniert. Mr. Startek Martin Wiest hat
allerdings mehr Erfahrung und bei ihm hat das Brennen schon öfters geklappt.
Etwas Glück scheint (derzeit) dazuzugehören...
Die Version 4.x der Brennersoftware hat einen
Fehler bei 8Mbit Chips. Das letzte Byte eines 512 kByte-Blockes wird nicht
richtig gelesen. Dieses Byte ist immer FF. Daher muss man mit einem die Datei
zuerst mit einem Hexeditor lesen und das letzte Byte eines Blocks suchen, um
den Wert zu notieren. Den trägt man dann nach dem Einlesen durch Assember
von Hand nach. Der restliche Ablauf ist gleich. Bei der Version 5.x funktioniert das Brennen von 8MBit Chips problemlos.
Bei der aktuellen Version Brenners ist keine Adapter mehr nötig.
Löschen von EPROMS
EPROM Chips lassen sich löschen, indem man das
extra dafür vorgesehene Quarzglas mit UV-Licht bestrahlt. Zu diesem Zweck gibt
es spezielle Löschgeräte. In denen ist eine recht starke Lampe, die grosse
Mengen des ultravioletten Lichts ausstrahlen. Die Bestrahungsdauer liegt je
nach Gerät zwischen 5-25 Minuten. Einfache Geräte kosten neu um die 50 Euro, bei eBay gibt es oft recht bünstige Geräte.
Recht gute Dienste erweisen auch alte
Höhensonnen zur Gesichtsbräunung. Gerade ältere Modelle haben eine sehr hohen
UV-Anteil. Sie sind zwar sonnenbrandgefährlich und krebserregend, doch zum
Löschen von EPROMS eignen sie sich sehr gut. Bei möglichst geringem Abstand
sollten sie Chips etwa 10-40 Minuten bestrahlt werden. Am Besten sollte man die
genaue Zeit durch Ausprobieren ermitteln.
Auch die Sonne eignet sich notfalls zum Löschen
die Dauer der Einstrahlung kann allerdings sehr lange sein. Experimentieren
ist alles ;-).
Fragen, Anregungen, Kritik? Bitte Mailen J
Gerald Pienkowski