CBM8296 BASIC/Kernal ROM auslesen und durch EPROM ersetzen

    • Offizieller Beitrag

    Hi,
    ich möchte in einem CBM8296 das BASIC/Kernal ROM (UE7) durch ein EPROM ersetzen. Das ROM ist vom Typ 23128 also ein 16k x 8bit. Das PIN-Layout sieht wie ein EPROM 27128 aus - habe ich auch mit dem Schaltplan verglichen. Ein Datenblatt zum TMM23128 steht auch 'PIN Compatible with TMM27128' ob das aber auch für das MOS23128 gilt?
    Mit meinem EPROMer bekomme ich eine Fehlermeldung, wenn ich den 23128 als 27128 lesen will. Der 23128 ist aber evtl. defekt.
    Frage:

    • Kann der 23128 durch ein 27128 ersetzt werden?
    • Wenn ja, gibt's 27128 Typen die nicht funktionieren?
  • Könnte eventuell ein Timing-Problem sein, vielleicht ist das verwendete EPROM zu langsam?

  • Laut Datenblatt soll Vpp des 27128 (Pin 1) im Lesebetrieb an Vcc liegen (gegenüber an Pin 28). Laut Schaltplan des 8296 ist Pin 1 aber N.C., also nicht angeschlossen. Evtl. ist das das Problem, das sich durch Einlöten einer Drahtbrücke auf der Unterseite der 8296-Platine beheben ließe.

    • Offizieller Beitrag

    Da der Rechner beim Einschalten klingelt und den CRTC initialisiert, funktioniert auf jeden Fall das Lesen des Bereichs $Fxx und des Editor-Roms in $Exx.
    Am Timing wird es vermutlich auch nicht liegen, da ich mit zwei Eproms von verschiedenen Herstellern das gleiche Ergebnis hatte.
    Daher vermute ich eher ein Problem mit der Adressierung.


    Achja: Auslesen des Original-Roms mit dem Eprommer hat bei mir auch nicht funktioniert.

  • Gestern konnte ich ein originales MOS ROM 324746-01 mit meinem ALL-03 EPROM-Brenner einlesen. Das eingelesene Abbild habe ich dann in ein Fujitsu MBM27128 NMOS EPROM gebrannt und im 8296 getestet: der funktioniert damit einwandfrei. Andere Typen von 27128 habe ich leider zum Vergleich nicht da.


    Allerdings ist mir aufgefallen, dass die Position von 4KB-Seiten innerhalb des 16KB-EPROMS sich zu dem 324746-01.bin-Abbild auf zimmers unterscheidet. Der Inhalt ist identisch, aber anders angeordnet. Wenn man also das Abbild von zimmers in ein EPROM brennen würde, würde das im 8296 nicht laufen.


    Ich habe dann noch Edilberts Quelltext des 8296-Betriebssystems so angepasst, dass es direkt zwei EPROM-Images als Ergebnis der Assemblierung ausspuckt, damit kann man nun das Betriebssystem nach Herzenslust patchen:
    https://github.com/Edilbert/C8296

  • Das Auslesen des ROMs und das Funktionieren des EPROMs scheinen mir stark abhängig vom Chip und Brenner zu sein.
    Ich habe mit dem Brenner Batronix Batego II folgendes ausprobiert:
    Auslesen des ROM Chips in der Konfiguration EPROM 27128. Keine Konfiguration funktionierte. Der Brenner meldete immer dass einige Pins nicht korrekt verbunden seien.
    Dies ist nun nicht so wichtig, da ich ja das ROM Image sowieso auf einer Datei habe.
    Dann habe ich das vorhandene 16K Image des BASIC/KERNAL ROMS doppelt auf ein Thomson M27C256B gebrannt (ich hatte keinen 27128 parat).
    So etwas klappt im Commodore 128 ohne Probleme, im C8296 funktionierte der EPROM aber leider nicht.
    Beim Einschalten klingelt er, aber es kommt kein Bild ?(
    Ich werde mal versuchen den EPROM-Typ von Nils zu bekommen, mal sehen, ob das etwas bringt.
    Ich fände es schon schön, einen Austausch-EPROM zu haben, im Kernal gibt es viel zu verbessern.

  • Läuft der 8296 denn, wenn Du probehalber am EPROM Pin 1 mit Pin 28 brückst? Das muss ja nicht gleich verlötet sein, für ein Einschalttest sollte "irgendwie antüdeln" schon reichen.

  • Ich habe die Forschung weiter vorangetrieben!
    Das Auslesen des Original-ROMs hat jetzt nach Update der Brenner Software geklappt.
    Die erste Überraschung: Das ROM Image enthält die Pages nicht in aufsteigender Reihenfolge $B000,$C000,$D000,$F000 ($E000 ist ja ein eigener 2332 ROM) wie ich vermutet hatte, sondern beginnt mit $C000. Damit konnte mein 27256 ja gar nicht funktionieren, denn den hatte ich in der obigen Reihenfolge mit Daten versehen. Ich werde das Image jetzt weiter untersuchen und einen neuen Brennversuch damit starten. Vielleicht kommt jetzt der Durchbruch?
    Viele Grüße

  • Die zuvor beschriebenen Phänomene lassen sich jetzt gut erklären:
    Nils hatte ja schon festgestellt, dass die Zimmer ROM Images keine lineare Anordnung der 4K Blöcke aufwiesen.
    VICE macht es leider anders und hat mich und vielleicht andere dadurch irritiert.
    Christian bemerkte zu recht, dass $E000 und $F000 funktionieren müsste, da der CBM ja noch klingelt, bevor er sich aufhängt.
    Das passt, weil diese beiden Bereiche die einzigen sind, die nicht verschoben sind.
    Jetzt fehlt nur noch der Test mit einem EPROM, das in der gewünschten Reihenfolge belegt wird.
    Ergebnis folgt ...

  • Mein EPROM 27256 steckt jetzt statt des 23128 ROM in meinem 8296-D und es funktioniert alles ohne Hardware Basteleien!
    Ich habe gleich die ersten kleinen Patches vorgenommen, damit der DOS Parser D0-D9 (für das petSD) akzeptiert.
    Weiter wird der Bildschirm im TIM besser genutzt, indem beim Memory Display und Modifikation 16 Bytes pro Zeile angezeigt und geändert werden können.
    Dazu brauchte ich nur 4 Bytes zu ändern. Das Projekt "Verbessertes Betriebssystem für den 8296" werde ich demnächst auf Github veröffentlichen.
    Mitarbeit ist gern gesehen :)

    • Offizieller Beitrag

    Das hört sich echt gut an. :thumbup:
    D0 - D9 ist schonmal eine prima Arbeitserleichterung für petSD und XD-2031.
    Da ich noch im Büro bin habe ich gerade keinen CBM zur Hand ...
    Wie sieht es mit den Gerätenummern (standard U8 - U15) eigentlich da aus ?
    Das Commodore Flyer Modem verwendet standardmässig U7. Das wird, glaube ich, von den Basic4 Diskettenbefehlen auch nicht akzeptiert, oder doch ?

  • Da wir ja jetzt gemeinsam das Problem gelöst haben, wie ein EPROM im Commodore 8296 verwendet werden kann, habe ich jetzt den Maschinensprache Monitor TIM etwas optimiert.
    Das Original war hastig programmiert, es war leicht, es so zu optimieren, dass ca. 70 Bytes frei wurden, ohne die Funktionalität einzuschränken.
    Die habe ich dann verwendet, um den Memory Dump/Modifier auf den 80 Spalten Bildschirm zu erweitern und noch einen Textdump hinzuzufügen.
    Der Source Code und das EPROM Image wird bis morgen auf Github/Edilbert/C8296 veröffentlicht.

    • Offizieller Beitrag

    Hallo BlackSmurf, for(;;), und Toast_r,
    vielen Dank für die Informationen und eure Forschungsarbeit.


    Ich habe einen CBM8296 jetzt komplett auf EPROMS umgestellt. Den Editor habe ich mit den Sourcen aus Steve Gray's 'PET/CBM Editor ROMs' Projekt (incl. der Wedge von Niels) generiert und den 27C128 mit dem Basic/Kernal von Github/Edilbert/C8296 gefüllt.


    Das passt ausgezeichnet zusammen :thumbup:



    Gruß
    Jürgen

  • hallo jürgen, nils und christian,


    ich hatte viele (verschiedene) EPROM programmer. und mitarbeiter.


    die (die mitarbeiter und die programmer) hatten öfters probleme mit dem auslesen von EPROMs, PROMs und ROMs.
    wenn es darum ging original ROMs auszulesen und diese in EPROMs zu kopieren.
    besonders auch wenn man bei einer reparatur kein passendes EPROM hatte.
    habe oft nur größere und neuere typen eigekauft, wegen lagerhaltung, stückzahlen
    und oft sogar günstiger als die älteren und auch oft geringerer stromverbrauch (da C Version) usw.


    ich habe mir ausleseadapter gebaut für jeden EPROM / ROM typen.


    sockel oben, alle pins so verdrahtet, nur zum auslesen! (so wie es in den geräten / rechnern selbst verdrahtet ist)
    sockel unten, die programmierpins usw. nicht mit durchgeführt!


    WICHTIG, im programmer, zum auslesen, nur einen HERSTELLERNEUTRALEN typen auswählen!!!!!!!!!!!!!!!


    da sonnst der programmer versucht mit 12V an A9 die IC-ID auszulesen!!!!!
    oder die versorgungsspannung wird von 5V auf z.b 6V erhöht usw.!!!!
    DAS VERTRAGEN VIELE ROMs UND ALTE EPROMs NICHT!!!!!!


    oder im adapter, für A9, eine schutzschaltung mit diode und widerstand einbauen.


    dann funktioniert es mit dem auslesen immer.



    z.b. ein ROM/EPROM 23/25/2764 auslesen und in ein 27c256 brennen:


    1. das z.b. 2764 eprom mit dem 2764 adapter als herstellerneutralen (nur wenn adapter ohne A9 schutzschaltung) 27c256 auslesen.
    wichtig: immer mit der eprom größe auslesen in die es auch programmiert wird. so sind alle daten automatisch vervielfältigt.


    2. eprom hersteller auswählen und in das eprom 27c256 brennen.


    gruß
    helmut


    edit.........


    ich hatte mir auch einen universal adapter mit DIP-schaltern gebaut.
    auch mit inverter für CS low oder high select für spezielle ROMs usw.
    da hatte ich einen adapter für alle typen.

    8 Mal editiert, zuletzt von axorp ()