Titelbild Game Hero
Diese Seite verwendet eigene Cookies und Cookies von Dritten damit wir die bestmögliche Bedienbarkeit und Funktionalität bieten können. Wenn Sie auf diesen Seiten surfen, stimmen Sie der Verwendung von Cookies zu. Mehr erfahren OK
share

Mehr Speicher im C64-Modus des C128

Was wird benötigt?
Close
LoadingBild wird geladen...
Picture

Der C128 ist ein Multi-Talent, er beherbergt drei verschiedene Computersysteme unter der Haube. Darunter befindet sich auch der C64, der auf seine 64Kb Speicher zugreifen kann. Die 128Kb Speicher des C128 sind für den C64 nicht erreichbar. Es gibt aber noch einen weiteren Speicher im C128, der beiden Systemen zur Verfügung steht: Der Speicher des Video Display Controllers (VDC) der für die 80-Zeichen-Darstellung des C128 zuständig ist.

Je nach Variante ist dieser Speicher 16 oder 64Kb groß. Genauer gesagt, der C128D (Metal) ist mit 64Kb VDC-Speicher ausgestattet, die anderen beiden Varianten mit 16Kb. Die entsprechenden Bausteine können aber ohne Probleme ausgetauscht werden da alle C128-Varianten die 64K adressieren können.
Diesen Speicher machen wir uns hier zunutze und greifen im C64-Modus darauf zu.

Die Vorbereitungen

Der besagte Speicher wird als RAM-Disk installiert. Wir brauchen lediglich ein kleines Programm namens VDC-Ramdisk das wir hier runterladen können.
Das heruntergeladene Paket ist ein selbstextrahierendes Archiv. Mit WinRAR oder einen anderen kompatiblen Packer können wird dieses entpacken.

Es werden zwei Dateien entpackt die wir auf ein .D64-Image (Disketten-Image) kopieren müssen. Dafür eignet sich Dirmaster sehr gut.
Mit Dirmaster erstellen wir ein neues D64-Image (Disk -> New -> D64) und ziehen die zwei entpackten Dateien in das virtuelle Laufwerk.
Hinweis: Die Datei "VDC RAMDISK1.6" sollte an erster Stelle oben liegen.

DirMaster
Klicke auf das Bild zum Vergrößern

Dann speichern wir das ganze in eine D64-Datei ab (Disk -> Save as...) z.B. als vdcramdisk.d64

DirMaster Save
Klicke auf das Bild zum Vergrößern

Nun können wir die soeben erstellte Diskette im Emulator testen oder auf einen echten C128 übertragen. Mit den heutigen Übertragungsmöglichkeiten wie SD2IEC sollte es kein Problem mehr sein die Diskette auf echter Hardware zu kopieren, wer aber dennoch nach eine alternativen Lösung sucht, findet vielleicht hier eine passende Anleitung dazu.

Die VDC-Ramdisk laden

Als erstes müssen wir natürlich in den C64-Modus schalten, beispielsweise mit den Befehl GO64 und bestätigen mit "Y".

GO64
Klicke auf das Bild zum Vergrößern

Jetzt legen wir unsere Diskette ein und laden das Programm mit LOAD"*",8,1
Hinweis: Der Befehl "RUN" muss nach den Ladevorgang nicht eingegeben werden

Anschließend springen wir zur Speicherposition 49152 an der sich das Programm nun befindet mit den Befehl SYS49152

SYS49152
Klicke auf das Bild zum Vergrößern

Das Programm muss nun initialisiert werde, das geschieht mit RINIT. Zu guter Letzt prüfen wir ob die RAM-Disk eingebunden wurde, mit den Befehl RCAT. Es sollte, wie im folgenden Bild zu sehen ist, der Verfügbare Speicherplatz angezeigt werden.

RCAT
Klicke auf das Bild zum Vergrößern
Daten Laden und Speichern

Unser virtuelles Laufwerk besitzt leider keine Geräteadresse. Wir können aber Basic-Programme laden und im VDC-Speicher ablegen oder wenn und die Speicheradresse bekannt ist, Bereiche des Speichers in die RAM-Disk kopieren.
Zuerst löschen wir den Basic-Speicher mit NEW. Unsere RAM-Disk ist von der Löschung nicht betroffen da es sich außerhalb des Basic-Speichers (49162) befindet.

Im folgenden Beispiel wird ein Basic-Programm von Diskette geladen und anschließend mit den Befehl RSAV in die RAM-Disk kopiert. Genau so gut kann man auch einige Zeilen in Basic schreiben und diese dann in die RAM-Disk anlegen:

LOAD"TEST",8

RSAV"TESTDATEI"

RSAV
Klicke auf das Bild zum Vergrößern

Nun kontrollieren wir, mit RCAT, ob die Datei korrekt abgelegt wurde

RCAT
Klicke auf das Bild zum Vergrößern

Wie bereits weiter oben erwähnt, können auch Bereiche aus den Speicher in die Ram-Disk kopiert werden. Dazu benötigt der Befehl RSAV weitere Parameter:

RSAV"Dateiname",startadresse ,endadresse

Zum Abschluss laden wir das von uns in der RAM-Disk abgespeicherte Programm.
Der Befehl RLOA ist dafür zuständig:

RLOA"TESTDATEI"

Zurück
Besucher total: 1810585 Heute: 158