Flash

Amiga-ROM flashen

Es ist möglich, EPROMs zu verwenden, um deinen Amiga auf das neueste AmigaOS zu aktualisieren. Leider werden diese EPROMs nicht mehr hergestellt, weshalb es zunehmend schwieriger wird, diese Teile auf dem Markt zu finden. Ein weiterer Nachteil ist, dass eine spezielle UV-Lichtquelle erforderlich ist, um EPROMs zu löschen, im Gegensatz zu modernen Flash-ROMs, die elektrisch gelöscht werden können.

Wäre es also nicht besser, stattdessen Flash-ROMs zu verwenden? Sicherlich ja, aber sie sind nicht in DIP-40-Gehäusen erhältlich, die in die Amiga-ROM-Sockel passen.

Der Flash-ROM-Adapter

djbase hat freundlicherweise das Design eines Amiga Flash-ROM-Adapters veröffentlicht. Er kann mit 29F400-, 29F800- oder 29F160-Flash-ROMs bestückt werden. Diese sind bei allen möglichen Elektronikhändlern erhältlich und können bis zu vier Amiga-ROMs in einem einzigen Chip speichern.

Neben der Platine und dem Flash-ROM-Chip benötigst du nur vier SMD-Widerstände, einen SMD-Kondensator und Stiftleisten. Das Problem ist jedoch, dass die Komponenten winzig sind und das Rastermaß der Flash-ROM-Chip-Pins sehr fein ist, weshalb dieses Projekt definitiv nicht für Löt-Anfänger geeignet ist. Vertrau mir. Ich habe drei davon für die Tonne produziert, bevor ich erfolgreich war.

Die Programmier-Hardware

Zur Programmierung verwende ich einen XGecu TL866II Plus Programmer und das SN001 Adapter Kit. djbase bietet außerdem einen speziellen Programmieradapter an, der mit dem TSOP48/SOP44 Base Board des SN001 Adapter Kits verbunden wird.

Beachte, dass du das aktive Base Board (SN001, rot auf dem Foto) benötigst. Das Standard-TSOP48-Base-Board (grün) funktioniert hier nicht.

Dieses Programmieradapter-Sandwich wird in den ZIF-Sockel des TL866-Programmers gesteckt. Der Flash-ROM-Adapter wird in den ZIF-Sockel der Adapterplatine gesetzt und die Stiftleisten beider Platinen werden entsprechend ihrer Beschriftung verbunden. Beachte, dass die aktuelle Revision der Adapter Flash-ROMs bis zum 29F160 unterstützt und fünf Kabel benötigt. Ich verwende noch die vorherige Revision mit nur vier Kabeln, weil sie mir besser gefällt.

Der GND-Pin deines Flash-Boards kann für den Flash-Vorgang offen bleiben. Er wird normalerweise verwendet, um einen Jumper oder Schalter in deinem Amiga anzuschließen, um die ROM-Bank auszuwählen.

Wenn du nicht vorhast, den Flash-ROM-Inhalt nach dem Löten zu ändern, kannst du dir auch den Programmieradapter sparen und stattdessen den SN003-Adapter verwenden (der oft dem SN001-Adapter-Kit beiliegt). Du würdest das Flash-ROM dann vor dem Löten flashen.

Die Binärdatei

Für die Vorbereitung der Binärdatei nutze ich mein Pynaroma-Toolkit. Es kümmert sich um das Zusammenfügen mehrerer ROM-Dateien und das notwendige Byte-Swapping. Um zum Beispiel ein ROM-Image von AmigaOS 2.04 und AmigaOS 3.2.1 für den Amiga 500 zu erstellen, kann diese Befehlszeile verwendet werden:

rom2bin -o flash.bin A500.37.175.rom CDTVA500A600A2000.47.102.rom 

Je nach Flash-ROM-Chip kannst du bis zu vier verschiedene ROM-Dateien zu je 512 KB verwenden. Wenn die ROM-Datei eine Größe von 256 KB hat, denke daran, sie zu duplizieren.

Sobald sich der Adapter im Amiga befindet, kann das gewünschte ROM-Image über die Adressleitungen der Stiftleiste ausgewählt werden (z. B. durch Verwendung von Jumpern oder Schaltern). Beachte, dass die Adresspins des Flash-ROMs durch den Adapter auf High-Pegel gezogen (Pull-Up) werden. Das bedeutet, dass die letzte ROM-Datei der Sequenz verwendet wird, wenn alle Header-Pins offen sind.

Flashen

Für die Programmierung bevorzuge ich die Open-Source-Software minipro gegenüber der Originalsoftware von XGecu, hauptsächlich weil die Originalsoftware nicht für Linux verfügbar ist.

Es ist wichtig, den richtigen Flash-ROM-Typ auszuwählen. Wähle den Typ, den du tatsächlich auf deinen Adapter gelötet hast. Wähle immer das TSOP48-Gehäuse, da der Programmieradapter einen TSOP48-Sockel simuliert.

Ich verwende ein M29F800FT, daher ist die korrekte Geräteeinstellung M29F800FT@TSOP48, und die Befehlszeile zum Flashen der obigen Binärdatei lautet:

minipro --device 'M29F800FT@TSOP48' --write flash.bin 

Das Flash-ROM wird gelöscht (es ist also nicht nötig, es vorher zu löschen), das Image darauf geschrieben und dann in einem letzten Schritt verifiziert.

ROM-Austausch

Das Flash-ROM ist ein Drop-in-Ersatz für das Amiga-ROM. Ich habe das Original-ROM vorsichtig mit einem Schraubendreher mit breiter Klinge aus dem Sockel entfernt.

Danach habe ich den Flash-ROM-Adapter in den Sockel gesteckt. Die richtige Ausrichtung ist entscheidend. Der Adapter wird so eingesetzt, dass die Stiftleiste die gleiche Ausrichtung hat wie die Kerbe des Original-ROMs.

Manchmal sind die Löcher des Sockels zu klein, um die Pins des Adapters aufzunehmen. In diesem Fall ist die einzige Möglichkeit, entweder den Sockel auszutauschen oder ein EPROM zu verwenden.

Wenn du ein Amiga 500 Rev. 5 Mainboard besitzt und mit dem neuen Flash-ROM zufällige Abstürze erlebst, musst du möglicherweise Widerstände in die Adressleitungen einbauen. Dies kann entweder über Widerstandsnetzwerke erfolgen oder durch die Verwendung eines Amiga 500 EPROM-Adapters, der in einigen Amiga-Shops verkauft wird.