Workshop: Flipper-Software selbst brennen
Gerald Pienkowski Neue Software für die alte Hardware
Flippern macht mehr Spass mir der aktuellen
Software. Um ein neues EPROM zu brennen gibt es spezielle Brenner. Doch zu den vielen hundert Euro teuren Geräten gibt es eine Alternative: die Brenner von André Bauer (Batronix)
sind ausgesprochen günstig und praktisch bewährt. Lesen Sie hier, wie man praktisch sämtliche Flipper seit
1985 auf den aktuellen Stand bringt. 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:
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: 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. 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 |