Sachen gibts - oder: Unerwartete Probleme beim Sichern des CharGEN ROMs eines Apple II Clones

  • Da ich einen alten Apple][+ DIY Clone auf Upper/Lower Case aufrüsten wollte, stellte ich beim einsetzen eines diesbezüglich gebrannten Upper/Lower Case Roms fest, dass die Adressierung des CharGEN Roms (obwohl schon vom Typ 2716) auf meinem Board offensichtlich nicht dem Standard entspricht (nach ersten Analysen unterscheidet sich die Adressierung geringfügig). Um zur weiteren Analyse den Inhalt des vorhandenen ROMs (NEC D2716D aus ´81) zu sichern und gleich gegen eine CMOS Variante (27C16) zu ersetzen, musste ich leider feststellen, dass die Kopie der Daten nicht fehlerfrei war. Erst nach einigen weiteren Fehlversuchen ist mir letztlich auch aufgefallen, dass das Problem seine Ursache beim Auslesen des ROMS auf meinem TL866A hat (der aber sonst fehlerfrei funktioniert). Ein Verify direkt nach dem Auslesen zeigte bereits zwischen 9 und 21 Differenzen auf.

    Im Mainboard funktionierte das ROM allerdings immer wieder fehlerfrei und ohne Ausfälle.

    So etwas ist mir bisher noch nicht passiert, aber man lernt ja immer noch dazu. Lange rede, kurzer Sinn:

    Als Fehlerursache habe ich das alte EPROM ausgemacht. Offensichtlich ist die Stromaufnahme höher als normal, was sich auch in der erhöhten Verlustwärme anzeigt. Die erhöhte Stromaufnahme führt deshalb auch offensichtlich zu folgendem Phänomen: Betrieb im Mainboard -> fehlerfrei; aber Auslesen im TL866 nie fehlerfrei möglich. Ich nehme an, dass dieses ROM im TL866 zu Störungen auf dem Powerrail der Versorgungsspannung führt (durch eine Strombegrenzung), welches in der Folge dann ein sicheres Auslesen verhindert. Auf dem Mainboard hingegen gibt es keine Strombegrenzung.

    Aufgrund des Tips eines Freundes konnte ich das Problem dann aber doch noch wie folgt lösen:

    1. Leere bootfähige Dosdiskette erstellen
    2. Mit den fehlerhaften Daten eine neues CharGen ROM brennen und gegen das bisherige problematische ROM tauschen. Die Zeichendarstellung hatte nun zwar ein paar Pixelfehler, aber man konnte alles noch lesen
    3. ROM E0 entfernen und das Problem-ROM (CharGEN Rom) dort einsetzen
    4. Booten. Nach dem Booten landen wir ggf. direkt im Monitor, da das E0 Rom ja fehlt, bzw. einen inkorrekten Inhalt aufweist (ist ja jetzt das CharGEN ROM). Mit Ctrl-C + Return zurück an den Basic Prompt.
    5. Am Basic-Prompt: BSAVE TEST.BIN, A$E000, L$7FF eingeben und bestätigen. Der inhalt des CharGen ROMs, das gerade im Steckplatz des E0-Roms steckt wird auf Diskette geschrieben.
    6. Ausschalten. Alles wieder dahin wo es hin soll. E0 Rom wieder zurück und CharGEN Rom wieder in seinen steckplatz- das temporäre ROM mit den Pixelfehlern (siehe 2.) zur Seite legen oder gleich löschen.
    7. Neu booten und ADTpro laden, um das image der Diskette auf der sich TEST.BIN befindet zum PC zu übertragen
    8. Mit Ciderpress das Image öffnen und die BIN-Datei extrahieren
    9. Mit der BIN Datei ein neues Eprom brennen und gegen das fehlerbehaftete tauschen - voila, das wars!

    Falls jemand auch so einen Clone mit einer abweichendenCharGEN Adressierung besitzt (die gibt es offenbar öfter als man denkt), findet ihr im Anhang das verifizierte BIN-File des CharGen Roms. Aktuell leider nur die UpperCase Variante, aber besser als gar keine Darstellung, wenn das ROM mal sterben sollte.



    • Offizieller Beitrag

    Interessante Geschichte. Mich würde da die Stromaufnahme des EPROMs interssieren.


    Nebenbei erinnerte mich das an den Tip, EPROMs, die beim Auslesen inkonsistente Daten liefern, mit verminderter Betriebsspannung zu lesen. Einfach VCC über eine Diode anlegen, womit die Spannung um 0,7V sinkt. Das soll schon oft geholfen haben, doch noch die korrekten Daten auszulesen.

  • Ich rege mal an, daß wir im Forum eine Rubrik: Werkstatt Tipps anlegen, wo z.B. solche Dinge wie fehlerhafte EPROMs oder auch andere Sachen abgelegt werden können. Das könnte ggf. hilfreich sein... oder was meint Ihr?

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Ja gerne... wer kann da was eintragen oder die Unterrubrik erstellen? Kann ich das selber?

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

    Einmal editiert, zuletzt von tokabln ()

  • Interessante Geschichte. Mich würde da die Stromaufnahme des EPROMs interssieren.


    Nebenbei erinnerte mich das an den Tip, EPROMs, die beim Auslesen inkonsistente Daten liefern, mit verminderter Betriebsspannung zu lesen. Einfach VCC über eine Diode anlegen, womit die Spannung um 0,7V sinkt. Das soll schon oft geholfen haben, doch noch die korrekten Daten auszulesen.

    Um die effektive Stromaufnahme zu messen, müsste man zuerst noch einen Adapter bauen. Glücklicherweise lässt aber der TL866 eine Absenkung/Anhebung von VCC um 0,5V Schritte bereits zu. Habe deshalb das Problem-Rom gerade nochmal mit verschiedenen VCCs zwischen 4.0-5.5 gelesen.

    Ergebnis: mit Verringerung der Versorgungsspannung nehmen die Lesefehler deutlich zu, was dem Tip mit der Absenkung in meinem Falle wiederspricht. Bei 4 Volt VCC ist quasi nichts brauchbares zu lesen. Bei 4.5 Volt ca. 31 Fehler. Bei 5V ca. 19 Fehler. Bei VCC von 5.5 Volt hatte ich nur noch 3 Differenzen zum ursprünglichen Dump. Höher als 5,5Volt wollte ich aber nicht gehen, da ich das Surren der induktivitäten im Schaltregler des VCC (im TL866) bei 5,5V schon deutlich gehört habe.

    • Offizieller Beitrag

    5. Am Basic-Prompt: BSAVE TEST.BIN, A$E000, L$7FF eingeben und bestätigen. Der inhalt des CharGen ROMs, das gerade im Steckplatz des E0-Roms steckt wird auf Diskette geschrieben.

    Woher weisst du denn, ob das EPROM im Rechner fehlerfrei gelesen wurde?

    Bei einem CharROM sieht man seltene Pixelfehler nicht immer.

    Ich würde wenigstens das EPROM mehrfach auslesen und später vergleichen.

  • Ich habe mal die Zeichen-ROMs meines Apple II und meines ITT2020 mit dem MFA ausgelesen, weil meine Eprommer nichts mit den RO3-2513 anfangen können/konnten. Mit einem kleinen MBASIC-Programm habe ich über zwei parallele Ausgabekarten und eine Eingabekarte die Signale gesteuert, die Adressen angelegt und die Ergebnisse abgespeichert, dann auf dem PC in ein binäres Format konvertiert.


    Da der Zeichengenerator intern 6-Bit-Adressen verwendet, sind in den anhängenden .bin Dateien die beiden oberen Bits jedes Byte auf 0 gesetzt.



    Mein Apple II hat auf einer kleinen Platine das Zeichen-ROM des Apple I und das Ergänzungs-ROM für Kleinbuchstaben.


  • Tolle Idee... würdest Du Dein Setup und den MFA Code teilen?

    Würde mich echt interessieren und ich kann sicher etwas lernen.

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • 5. Am Basic-Prompt: BSAVE TEST.BIN, A$E000, L$7FF eingeben und bestätigen. Der inhalt des CharGen ROMs, das gerade im Steckplatz des E0-Roms steckt wird auf Diskette geschrieben.

    Woher weisst du denn, ob das EPROM im Rechner fehlerfrei gelesen wurde?

    Bei einem CharROM sieht man seltene Pixelfehler nicht immer.

    Ich würde wenigstens das EPROM mehrfach auslesen und später vergleichen.

    Ja, das ist in der Tat und ganz nüchtern fachlich betrachtet ein berechtigter Einwand. Natürlich kann man durch das einmalige Lesen keinen Rückschluß ziehen, dass ein auf solche Weise gezogener Dump verifiziert sei. Aber: brennt man diesen Dump nun, wie bei meiner Vorgehensweise, in ein neues Eprom und überprüft die Konsistenz der ausgegebenen Zeichensätze, sollte dies als quasi-objektiver Beleg für ein erfolgreiches Auslesen ausreichen.

    Natürlich kann aber auch eine solche Vorgehensweise (optische Überprüfung des Ergebnisses zur Validierung) nicht per Se als fehlerfrei gelten. Ich habe den ausgegebenen Zeichensatz aber mehrfach untersucht und keinen fehlenden oder überzähligen Pixel gefunden.

    Einmal editiert, zuletzt von db7is ()

    • Offizieller Beitrag

    Ja gerne... wer kann da was eintragen oder die Unterrubrik erstellen? Kann ich das selber?

    Kriegst gleich 'ne PM.

    Denn Feindschaft wird durch Feindschaft nimmermehr gestillt; Versöhnlichkeit schafft Ruh’ – ein Satz, der immer gilt. Man denkt oft nicht daran, sich selbst zurückzuhalten; Wer aber daran denkt, der lässt den Zorn erkalten. Sprüche von Buddha, aus dem ‹Dhammapada›.


    Mein Netz: Acorn | Atari | Milan | Amiga | Apple //e und IIGS | Macintosh | SUN Sparc | NeXT |SGI | IBM RS/6000 | DEC Vaxstation und Decstation| Raspberry Pi | PCs mit OS/2, BeOS, Linux, AROS, Windows, BSD | Stand-alone: Apple //c und III | Commodore 128D | Sinclair QL | Amstrad | PDAs

  • Prima und Danke...

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::


  • 5. Am Basic-Prompt: BSAVE TEST.BIN, A$E000,L$800 eingeben und bestätigen. Der inhalt des CharGen ROMs, das gerade im Steckplatz des E0-Roms steckt wird auf Diskette geschrieben.


    Für ein 2716 (2k) sollte die Länge $800 sein, sonst hat man nachher nur 2047 Bytes auf die Diskette geschrieben.

    Einmal editiert, zuletzt von hzs90 ()

  • Unerwartete Probleme beim Sichern des CharGEN ROMs eines Apple II ROMs Clones hast du das problem behoben und wie?

    Einmal editiert, zuletzt von Holger () aus folgendem Grund: Schriftgröße angepasst.

    • Offizieller Beitrag

    Unerwartete Probleme beim Sichern des CharGEN ROMs eines Apple II ROMs Clones hast du das problem behoben und wie?

    Steht doch im Thread - einfach lesen. Die China Prommer sind nicht the yellow of the egg... Und EPROMs werden manchmal schlapp, da stimmen die H/L-Pegel nicht mehr. Funktioniert in der Schaltung, aber nicht im Eprommer... Versorgungsspannung reduzieren hilft da manchmal.

  • Zitat von mikemcbike

    Steht doch im Thread - einfach lesen. Die China Prommer sind nicht the yellow of the egg... Und EPROMs werden manchmal schlapp, da stimmen die H/L-Pegel nicht mehr. Funktioniert in der Schaltung, aber nicht im Eprommer... Versorgungsspannung reduzieren hilft da manchmal.


    Soweit ich das gelesen habe, war doch die Lösung, dass der auszulesende Chip in einen anderen EPROM-Sockel auf der Originalplatine gesteckt wurde und dort mittels eines Basicprogrammes ausgelesen und auf Diskette geschrieben wurde. Alternaitv wurde auch das Auslesen mittels eines MFA-Computers beschrieben.


    Früher hätte ich das wahrscheinlich auch mittels Originalsystem gemacht. Heute würde ich eher einen Arduino Mega oder ähnliches nehmen und ein kleines Programm schreiben, mit dem ich so ein EPROM auslesen und gleich auf einen PC mittels USB übertragen kann.