Hallo Besucher, der Thread wurde 9k mal aufgerufen und enthält 47 Antworten

letzter Beitrag von -trb- am

Umbau C128 auf SRAM

  • Hallo Leute,


    nachdem ich schon in einem anderen Thread darüber geschrieben habe, hier noch meine letzten Ergebnisse dazu. Da ich gerade an den SRAM64 Platinen arbeite und ich alles nötige dazu gerade da hatte, habe ich mir meinen C128 genommen und erst einmal alle 16 RAM-Bausteine ausgelötet und alles gesockelt. Anschließend habe ich mit Hilfe eines Steckboards getestet ob ich den C128 nicht auch mit SRAM zum laufen bekomme. Hier lohnt es sich wohl am meisten, wenn hier die DRAMs ausfallen. Mit einem weiteren AND-Gatter sollte es gehen dachte ich. Leider wollte der C128 dann nicht starten, eventuell liegt es an meinem Versuchsaufbau? :nixwiss:


    Als ich noch /CAS1 OR /RAS = A16_RAM statt /CAS1 = A16_RAM gemacht hatte startete der C128. Also mit :



    (/CAS0 OR /RAS) AND (/CAS1 OR /RAS) = /CS_RAM und /CAS1 OR /RAS = A16_RAM


    scheint der C128 zu laufen. Leider konnte ich das ganze noch nicht weiter testen, da ich CHECK64 nicht im C128 Diagnosemodus an diesem C128 zum laufen bekomme. Hätte ich vorher besser testen sollen, selbst mit DRAMs geht es nicht. CHECK64 geht an einem anderen C128 in diesem Modus einwandfrei.



    Hier noch Bilder von meinem Test vom 3.Feb.:




    Hier noch den Schaltplan:


    Wer sich also daran machen möchte, hier ist alles nötige. Ich selbst werde nicht vor Sommer dazu kommen.

  • Versuch nochmal nur /CAS1 (oder /CAS2) als Adressleitung A16 zu nehmen. /RAS ist zu diesem Zeitpunkt immer LOW und wenn es HIGH ist ist auch /CS_RAM HIGH, es dürfte also nicht nötig sein.


    Wenn wirklich nicht geht, dann sollte man sich die /CAS-Signale mal auf dem Oszi ansehen.

    Deinen Vorschlag hatte ich damals als erstes ausprobiert, weil ich es genauso sehe wie Du. Aber der Bildschirm blieb leider schwarz. Ich habe mir auch /GCAS1 vom 74LS32 (U9) geholt Adressleitung für A16, aber auch damit ist der Rechner nicht gestartet. Daher habe ich das mit dem OR ausprobiert und der Rechner startet.


    Aber bei diesem Rechner startet CHECK64 nicht im C128 Diagnosemodus. Der C64 Diagnosemodus geht. Da Scheint etwas nicht in Ordnung zu sein. Da mein CHECK64 an einem anderen C128 einwandfrei funktioniert. Leider ist der funktionierende C128 ein Desktop (Plastik) und ich habe keine Lust den ganzen Rechner zu zerlegen und da auch alles zu Sockeln.


    Wenn es sich zeitlich ergibt, werde ich mal mit dem Oszi den C128 unter die Lupe nehmen. Aber das geht zZ bei mir leider nicht.


    Daher werde ich meine Zeit jetzt den SRAM64 Varianten widmen, damit wenigstens etwas fertig wird.

  • hallo gerrit und knusis,


    durch den pegel wechsel von a16, welcher ja erst nach /cas1 oder /cas2 signal erfolgt,
    entsteht ja eine zusätzliche verzögerungszeit am sram und die daten kommen dann wohl zuspät.


    ich würde, zum testen, zuerst a16 an einen festen pegel legen und die schaltung nur mit einem
    /cas1 oder /cas2 verdrahten. die andere ram-bank original lassen.


    falls es nun, nur mit einer 64KB-sram-bank funktioniert, wird es wohl, wie ich vermute an a16 liegen
    und man muss dafür sorgen das a16 früher stabiel anliegt.


    gruß
    helmut

  • durch den pegel wechsel von a16, welcher ja erst nach /cas1 oder /cas2 signal erfolgt,
    entsteht ja eine zusätzliche verzögerungszeit am sram und die daten kommen dann wohl zuspät.

    Wenn ich /CAS1 direkt nehme, dann liegt das eher an als /CS da die Signale für /CS noch durch 2 Gatter müssen da /CS nach meinem Vorschlag (/CAS0 AND /CAS1) OR /RAS ist. Klar, das sind nur ein paar ns, aber bei schnellem SRAM sollte das reichen.

  • Helmut, Der C128 hat keine /cas2. Du meinst /cas0 und /cas1.

    ja

    aber bei schnellem SRAM sollte das reichen.

    da es aber probleme gibt, würde ich es erstmal, ohne a16 mit beiden 64KB-banks, testen.


    die zeit, ca. 1 minute, würde ich mir nehmen.


    falls der rechner mit einer sram-bank und einer der original dram-banks funktioniert muss es ja wohl an der a16 liegen.

    Wenn ich /CAS1 direkt nehme

    für a16, dann dürfte es bei zugriff auf bank-0 mit /cas0 keine probleme geben, da ja /cas1 immer high ist.


    aber bei zugriff auf bank-1 mit /cas1 könnte es timing probleme geben.
    deswegen würde ich es erstmal einfach, mit nur einer sram-bank, testen.


    gruß
    helmut

  • Geniale sache knusis :verehr: . Habe auch noch ein paar 128er rumliegen wobei ich einen noch garnicht getestet habe ob der läuft :rolleyes:

    Bitte nicht übertreiben. Eigentlich basiert das Ganze auf die Idee von Gerrit. Also wenn Lobhudelei, dann bitte ihm :prof:
    Ich habe nur etwas einfaches gesucht, womit ich KiCAD lernen kann und recht schnell ein Erfolgserlebnis haben werde.

  • Bitte nicht übertreiben. Eigentlich basiert das Ganze auf die Idee von Gerrit. Also wenn Lobhudelei, dann bitte ihm :prof: Ich habe nur etwas einfaches gesucht, womit ich KiCAD lernen kann und recht schnell ein Erfolgserlebnis haben werde.

    Das weiß ich, die platinen-umsetzung mit sammelbestellung gebührt nochmal extra lob. Selbstverständlich gilt das lob gleichermaßen auch an gerrit der stets hilft mit unendlichem wissen und maximaler trefferquote :verehr:

  • Selbstverständlich gilt das lob gleichermaßen auch an gerrit der stets hilft mit unendlichem wissen und maximaler trefferquot

    Äh, danke.... Wobei das SRAM-Projekt durch das Ansehen einer Seite zum Ersatz der 4116 DRAMs in einem ZX-Spectrum durch ein SRAM entstanden ist. Da kam der Gedanke 'das müsste im C64 eigentlich auch gehen' und der Test mit einer leicht abgewandelten Schaltung auf Lochraster.



    Bevor ich mich dem Thema wieder widmen kann muss ich erst den 128 wieder zu 100% zum laufen bekommen. Dann kann ich diese Test von Helmut und Gerrit wiederholen, da ich die schon in ähnlicher Form ausprobiert hatte.

    Ok... dann probier mal meinen Vorschlag nochmal durch, also erst /CAS0 und /CAS1 durch ein AND und dann mit /RAS verodern und eines der /CAS direkt an A16. Falls das nicht will, schick es durch ein freies TTL-Gatter als Treiber, vielleicht passt der Pegel nicht.

  • Es gibt etwas Neues zu berichten!


    Ich war wieder an der SRAM128 dran. Da meine erste C128-Platine immer noch nicht richtig geht und ich im Moment keine Zeit zur Fehlersuche habe. Habe ich kurzfristig eine andere C128-Platine alle DRAMs gesockelt und ein angepasstes Design getestet. Durch meine Erfahrung mit den SRAM64 habe ich das Design vereinfacht und brauche nur ein einziges NAND.


    (/CAS0 NAND /CAS1) = CE2 und /RAS = /CE1 und /CS0 = A16 bzw. /CS1 = A16



    Auf dem Steckbrett läuft es fehlerfrei. Auch der Ultimax-RAM-Checker findet über Stunden keine Probleme bei den unteren 64k. Ich müsste jetzt noch die 74LS257 Sockeln und testen ob das Design mit den Fairchild 74LS257 funktioniert.


    Das Ganze hat mich zumindest so motiviert, dass ich letzte Nacht eine Platine entworfen habe und heute Morgen in Auftrag gegeben habe. Mehr dazu wenn die Platinen gekommen sind und ich diese ausführlich getestet habe. Frühestens Mitte Februar wird es wohl soweit sein.

  • Das Zusammenlöten der SRAM128-Platine ist zu Ende und die Platine läuft wie sie es soll. Als besonderes Feature habe ich per Lötbrücken die Platine so konfigurierbar gemacht, dass diese nur eine RAM-Bank ersetzen kann bzw. das ganze DRAM. Im letzteren Fall muss noch eine Leitung von der anderen RAM-Bank das ~CASRAMx Signal geholt werden. Dafür ist die Platine nur so groß wie eine einzelne RAM-Bank. Je nach DRAM-Defekt muss also nur eine Bank ausgelötet werden, wenn man nicht mehr machen möchte. :)


    Anbei noch einpaar Bilder mit Check64 und dem Ultimax-RAM-Checker (testet nur RAM-Bank0) man beachte, die RAM-Bank1 kann leer bleiben. Der C128 läuft trotzdem. ;)