C64 RAM behalten

Es gibt 15 Antworten in diesem Thema, welches 2.871 mal aufgerufen wurde. Der letzte Beitrag (22. Dezember 2014 um 17:14) ist von lommodore.

  • Hallo!

    Ich hatte eine Idee, mit der man BASIC programmieren kann ohne auf Diskette zu speichern falls ein Neustart/Ausschalten von Nöten ist.
    Wenn man per Kippschalter die Rams an eine Batterie hängt(mit Diode) sollten sie ja eigentlich den Inhalt behalten oder ?
    Wie baue ich das am besten auf?

    MfG
    lommodore

  • Ganz so einfach ist das nicht, da der Cevi DRAMS benutzt, die regelmäßig einen Refresh benötigen.
    EDIT: Und ich denke die Resetroutine wird einige wichtige Zeiger umbiegen / resetten.

    GREETINGS PROFESSOR FALKEN
    A STRANGE GAME.
    THE ONLY WINNING MOVE IS NOT TO PLAY.
    HOW ABOUT A NICE GAME OF CHESS?

  • Da muss man doch den Inhalt immer wieder refreshen, weil es DRAMs sind?
    Da musste wohl noch etwas Logik drum herum.

    Es müsste als externe Cartridge mit batteriegepuffertem SRAM einfacher sein mit ein paar Save/Load Befehlen, vor allem wenn's nur um BASIC-Programme geht.

    ___________________________________________________________
    Meine Kreationen: Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.
    | Bitte melde dich an, um diesen Link zu sehen.
    Avatar: Copyright 2017 by Saiki

  • Mir fällt im Moment noch kein Use-Case ein, wo ein Ausschalten/Neustarten notwendig wird, aber man den Speicherinhalt behalten möchte...

  • Mir fällt im Moment noch kein Use-Case ein, wo ein Ausschalten/Neustarten notwendig wird, aber man den Speicherinhalt behalten möchte...


    Doch, doch, wenn mal wieder ein voll verBIFtes BASIC Programm abgeschmiert hat, möchte mal es vielleicht nochmals nach einem Reset wieder probieren. :bgdev
    Das machen aber die ganzen Multikulti-Module mit dem BASIC Erweiterungsbefehl OLD oder so ja auch nach einem Reset.

    Statt das RAM zu retten, ist aber ein schnelles SRAM Device wohl eher praktikabel vom Aufwand, sofern jemand noch sowas herstellt.
    Gab ja früher auch schon als Bitte melde dich an, um diesen Link zu sehen. z.B. von Bitte melde dich an, um diesen Link zu sehen..

    <Edit> Ansonsten JiffyDOS und SD2IEC Lösung nehmen und Bob is your uncle.

    ___________________________________________________________
    Meine Kreationen: Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.
    | Bitte melde dich an, um diesen Link zu sehen.
    Avatar: Copyright 2017 by Saiki

  • Der Refresh kommt vom Vic, den müßte man also auch unter Spannung halten. Nutzen wird das aber nichts weil beim Reset die Zeiger neu gesetzt werden. Die Rams werden dabei nicht gelöscht, das Programm ist nach einem Reset sogar noch Vollständig Vorhanden, nur Start und Ende sind Gelöscht. Ein kleines Programm könnte Helfen, das im Interrupt die Zeiger ständig in einen geschützten Bereich Kopiert, und nach einem Reset zurückschreibt, es müßte also ein Resetfestes Programm sein. Alternativ ein Old-Programm im Mascjienencode und mit SYS Aufrufen.

    Wem es beim Bit zählen schwindelig wird, der hat zuviel davon.

    Alt werden ist schön, das Altern nicht.

  • Der Refresh kommt vom Vic, den müßte man also auch unter Spannung halten.

    ...und die Takterzeugung auch. Da wäre es einfacher, den Rechner einfach weiterlaufen zu lassen. :D
    Batteriegepuffertes RAM ist nur am Expansionsport sinnvoll machbar (siehe CMD RAMLink und die GeoRAM-Variante BBG/BBU oder wie die hieß).
    Ich würde daher auch eher zu Jiffy und SD2IEC raten.

    Yes, I'm the guy responsible for the Bitte melde dich an, um diesen Link zu sehen. cross assembler. And some Bitte melde dich an, um diesen Link zu sehen..

  • Ich habe ein entsprechendes Modul für den Expansionsport, wo eine 9 V Blockbatterie drin ist, das genau das macht. Dort kann man Programme entsprechend speichern.

    .
    .
    Das ist schmutzig, falsch und moralisch höchst verwerflich - Ich bin dabei!

  • Mit der REU 1750 von Commodore geht das auch.

    Ich habe damals die 5V-Leitung in der REU gleich hinter dem Expansionport-Stecker aufgetrennt und das Modul mit einem externen Netzteil versorgt (damals: ungeregelte 4,5V - nicht nachmachen sondern saubere 5V nehmen!). REU und C128 haben das nicht übel genommen.

    In der REU sind zwar auch dynamische RAMs, aber der Controller sorgt für den Refresh ohne daß der Computer laufen muss.

  • 256k Ram/Rom Karten gab es auch von REX/Dela und co.
    In der 64er war auch eine zum Nachbauen (Schuch/Weis)

  • Schaltplan?

    Hab ich leider nicht - aber ich könnte das Modul mal öffnen und entsprechend Bilder machen, wenn Dir das vielleicht hilft.

    .
    .
    Das ist schmutzig, falsch und moralisch höchst verwerflich - Ich bin dabei!

  • Zitat

    Mit der REU 1750 von Commodore geht das auch.

    Ich habe damals die 5V-Leitung in der REU gleich hinter dem Expansionport-Stecker aufgetrennt und das Modul mit einem externen Netzteil versorgt (damals: ungeregelte 4,5V - nicht nachmachen sondern saubere 5V nehmen!). REU und C128 haben das nicht übel genommen.

    In der REU sind zwar auch dynamische RAMs, aber der Controller sorgt für den Refresh ohne daß der Computer laufen muss.

    Das das ohne den Takt vom 128er klappt, wundert mich jetzt doch.

    Man kann auch das DRAM durch SRAM ersetzen und dieses dann mit einer Batterie versehen.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    RUN