Gestern schon gebastelt, aber erst heute Abend programmiert bekommen...
Mein erstes FlashROM für den Amiga500 (passt auch beim 600er und evt. auch beim 2000er)
Das Projekt ist von OlegMishin und in seinem GitHub hinterlegt. Es ist die Version mit 40Pins.
Den Programmieradapter dafür hatte ich schon kürzlich gebastelt.
Für das eigentliche FlashROM fehlten mir die 29F800 - Chips, die sind gestern endlich eingetroffen und da hab ich gleich mal ein Muster aufgebaut.
Erst mal den Flashchip unterm Mikroskop auf der Vorderseite eingelötet (0,5mm Pinabstand).
Dann auf der Rückseite die Widerstandsnetzwerke.
Zum Schluß die Pinheader.

Achtet mal auf die beiden Jumper auf der Rückseite. Mit denen kann man einstellen, ob ein A500 Ref5-Board oder ein Ref6-Board (und höher) damit bestückt werden soll.
Da ich dieses FlashROM für einen A500 Ref5 - Board nutzen wollte, habe ich die Jumper gleich auf Ref5 gestellt.
Das wird später noch wichtig beim Versuch den Chip zu programmieren, wie ich schon vorab verraten kann.
So... den fertigen Chip in den Programmieradapter gesteckt, die 4 Zusatzleitungen mit Dupontkabeln durchverbunden und versucht den Chip zu programmieren.

Beim verwendeten Flashchip handelt es sich lt. Aufdruck um einen Fairchild MBM29F800BA. Den muss man auch genau so in der TL866-Software einstellen.
Dann sollte der Chip eigentlich programmiert werden können... aber leider... funktionierte es nicht.
Es fing schon damit an, dass die DeviceID falsch angezeigt wurde -> FF00 FF22 . Lt. Datenblatt sollte das 0004 2258 sein. 
OK, dann halt das CheckID-Häckchen ausgemacht.
Beim Programmierversuch wurde der Chip noch erfolgreich gelöscht, aber schon beim Programmieren des ersten Byte kam ein Verifyerror.

Ich hatte gestern abend noch einige Möglichkeiten durchprobiert, die Issues im GitHub studiert, doch alle Versuche endeten mit demselben Programmierfehler.
Sollten mir die Chinesen mal wieder defekte bzw. "umgelabelte" Chips geschickt haben? 
Etwas frustriert ging ich nach dem Mißerfolg gestern Abend erst mal ins Bett.
Heute Abend habe ich mir das FlashROM nochmal genau angeschaut und einfach auf Vermutung mal die Jumper auf der Unterseite auf Ref6 umgestellt.
Nochmal probiert zu Flashen .... und HURRAAAA!, jetzt funktionierte es auf Anhieb.

Auch die korrekte DeviceID wurde nun angezeigt.
Blöde ist halt nur, dass im GitHub von OlegMishin mit keiner Silbe auf diese Falle hingewiesen wird. Ich habe das durch Zufall (oder besser gesagt Try&Error) herausgefunden.
Aber funktionierte das FlashROM nun auch in meinem A500 mit Ref5-Board?
Das musste natürlich getestet werden. Also nach dem erfolgreichen Programmieren die Jumper wieder auf Ref5 zurückgestellt.
Das bisherige M27C160 EPROM mit dem unschönen Oops-Hack aus dem A500 ausgebaut und gegen das neue FlashROM getauscht.
Hier mal der Vergleich:

Und so sieht das FlashROM in meinem A500 aus:

Und was soll ich sagen... das FlashROM macht seinen Job gut.
Es wurden zwei Kickstarts einprogrammiert. Kick1.3ide und Kick3.1ide (gepatchte Versionen mit IDE-Treiber)
Zum Umschalten braucht man nur einen Schalter an A18 und GND anzuschließen (oder testweise halt einen Jumper aufstecken).
Es funktioniert.
Links Kick1.3ide mit Jumper auf A18 und GND, Rechts Kick3.1ide mit offenem A18

So... nun weis ich wie es gemacht werden muss.
Da ich noch ein paar Platinen und Chips da sind, werden demnächst weitere FlashROMs gebastelt