Speichererweiterung

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Beispiel einer externen Speichererweiterung: REU - Commdore 1750.

Eine Speichererweiterung erweitert den Arbeitsspeicher (RAM) eines Computersystems oder eines Gerät der Computertechnik wie z.B. Drucker.


Intern oder Extern[Bearbeiten | Quelltext bearbeiten]

Externe Speichererweiterung: GeoRAM von Berkeley Softworks (1989).
Externe Speichererweiterung: EAMLink von CMD (1990).

Es wird unterschieden zwischen interne und externe Speichererweiterungen:

  • Interne Speichererweiterungen werden durch Öffnen des Geräts auf der Hauptplatine auf entsprechend vorgesehene Sockel oder über Zwischenplatinen eingebaut. Bei älteren Geräten, wie auch bei den Heimcomputern oder früheren PCs, werden üblicherweise RAM-Chips durch solche größerer Kapazität ausgetauscht, was mehr oder weniger aufwändig ist (Lötarbeiten, Anpassungen von Lötbrücken oder Jumper bzw. fliegende Verdrahtung und ergänzende Schaltungslogik, Zwischenplatinen usw.).
  • Externe Speichererweiterungen werden als Steckmodul über eine entsprechende Erweiterungsschnittstelle mit dem Gerät verbunden.

Beim C64[Bearbeiten | Quelltext bearbeiten]

Für den C64/128 gibt es eine Vielzahl von Speichererweiterungen.

Zu den bekannteren externen, also als Steckmodul ausgeführten Speichererweiterungen gehören die REU von Commodore (ab 1985), das GeoRAM von Berkeley Softworks (ab 1989) oder das RAMLink von CMD (ab 1990). Da in den 1980er-Jahren externe Speichererweiterungen relativ teuer und für einfache Anwender nicht einfach zu nutzen waren, fanden sie nur in geringen Stückzahlen Verbreitung.

Auch einige Steckmodule für Anwendungen sowie Freezer beinhalten (eine dann meist kleine) Speichererweiterung. So beinhaltet z.B. das Pagefox-Modul ein 32-KByte-RAM, mit dem einige Funktionen erst möglich wurden. Ebenso enthält das Action Replay-Modul einen RAM-Chip, der dessen Freezer einige Funktionalitäten wie den im Freezer nutzbaren Monitor erlaubt, die z.B. beim Final Cartridge 3 (das kein weiteres RAM hat) fehlen.

Ferner gab es einige interne RAM-Erweiterungen für den C64, die teilweise auch schnelles Bankswitching erlauben. Da diese Erweiterungen jedoch als Zwischensockel ausgelegt werden mussten und die ICs beim C64 normalerweise direkt verlötet sind, haben diese Erweiterungen keine große Verbreitung erfahren.

Während bei aktuellen Geräten wie PCs Speichererweiterungen weitgehend automatisch erkannt werden und entsprechend nutzbar sind, war dies bei den früheren Systemen nicht immer der Fall. Beim C64 unterstützt der eingebaute KERNAL keinerlei Speichererweiterungen von Haus aus. Zur Nutzung des erweiterten Speichers bringt z.B. die RAMLink eine eigene Firmware mit, die eine Ramdisk zur Verfügung stellt. Die REU und die GeoRAM währenddessen kommen ohne eigene Firmware und sind entsprechend auf spezielle Unterstützung der jeweiligen ausgeführten Software angewiesen. Für GEOS sind entsprechende Treiber verfügbar; außerdem gibt es für die meisten Erweiterungen passende mehr oder weniger gute Ramdisk-Implementierungen. Ferner ist natürlich die Nutzung in eigenen Programmen für den entsprechend geneigten Programmierer möglich.

Speichererweiterungen benötigten zu ihrer Steuerung einige Register (typischerweise im I/O-Bereich). In seltenen Fällen kann es dazu kommen, dass bestehende Software diese Register unzulässig beschreibt und dann abstürzt.


Speichererweiterungen für den C64

Speichererweiterungen können dem C64 den erweiterten Speicher auf unterschiedliche Weise bereitstellen.

  • Einblenden eines kleinen wählbaren "Fensters" in ihr RAM im I/O-Bereich des C64 (u.a. GeoRAM). Mit dieser Methode werden Datentransferraten von einigen dutzend KBytes/Sekunde erreicht.
  • Datentransfer von oder in das interne RAM des C64 via DMA (REU). Erreicht fast 1MByte/Sekunde.
  • Bankswitching von größeren Bereichen des internen RAMs (nur interne RAM-Erweiterungen). Der gewählte Speicherbereich steht Programmen instantan zur Verfügung.
  • Einige der aufwendigeren Steckmodule stellen einen eigenen Prozessor bereit, der einen größeren Program Counter als der 16-bittige des 6510 im C64 bereitstellt und so weiteres RAM direkt ansprechen kann (u.a. SuperCPU).

Aufgrund der inneren Architektur und den am Expansionsport verfügbaren Leitungen ist ein Austausch oder echtes Bankswitching von größeren Bereichen des für die CPU des C64 sichtbaren RAMs für ein Expansionsport-Modul nicht mit guter Kompatibilität mit bestehenden Programmen möglich.

Tabelle 1 - Speichererweiterungen
Name Firma Veröffentlichung Rechner Speicher Datentransfer-Methode Erweiterungstyp
1700 REU CBM (Commodore Business Machines) 1985 C64/C128 128 KByte DMA mittels REC-Chip Steckmodul
1750 REU CBM (Commodore Business Machines) 1985 C64/C128 512 KByte DMA mittels REC-Chip Steckmodul
1764 REU CBM (Commodore Business Machines) 1985 C64/C128 256 KByte DMA mittels REC-Chip Steckmodul
256-KByte-RAM-Erweiterung Peter Engels, 64'er 07/1987[1] 1987 C64 256 KByte Bank Switching intern
C64 256K Marko Mäkelä[2] 1987 C64 256 KByte Bank Switching intern
c't816 Michael Flamm, René Schneider, c't 06/1987[3] 1987 C64 256 KByte RAM-Disk, direkte Adressierung durch 16-Bit-Prozessor intern
GeoRAM Berkeley Softworks 1989 C64/C128 512 KByte I/O-Bereich Steckmodul
RAMDrive CMD (Creative Micro Designs) C64/C128 1 oder 2 MByte I/O-Bereich, RAM-Disk Steckmodul
RAMLink CMD (Creative Micro Designs) 1990 C64/C128 1 oder 2 MByte I/O-Bereich, RAM-Disk Steckmodul
Super 1750 Clone CLD (Chip Level Designs) 1991 C64/C128 512 KByte DMA mittels REC-Chip Steckmodul
BBGRAM PPI (Performance Peripherals Incorporated) C64/C128 1 oder 2 MByte I/O-Bereich Steckmodul
Flash 8 Roßmöller 1994 C64 256 KByte oder 1 MByte Direkte Adressierung durch externen Prozessor Steckmodul
SuperCPU64 CMD (Creative Micro Designs) 1996 C64 16 MByte Direkte Adressierung durch externen Prozessor Steckmodul
SuperCPU128 CMD (Creative Micro Designs) 1996 C128 16 MByte Direkte Adressierung durch externen Prozessor Steckmodul
CMD 1750/1750XL CMD (Creative Micro Designs) 1997 C64/C128 512 KByte oder 2 MByte DMA mittels REC-Chip Steckmodul
+60K Mr.Fiz/Samar 1997 C64 60 KByte Bank Switching intern
+256K Soci/Singular[4] 1999 C64 256 KByte Bank Switching (kompatibel zu +60K-Erweiterung) intern
NeoRAM Nicolas Welte 2006 C64/C128 2 MByte I/O-Bereich Steckmodul

Die Funktionalität einer REU befindet sich auch in aktuelleren Erweiterungen wie der 1541 Ultimate oder dem Chameleon 64.

Speichererweiterungen für Diskettenlaufwerke[Bearbeiten | Quelltext bearbeiten]

Zahlreiche Hardware-Schnelllader für die Diskettenlaufwerke hatten als zentralen Bestandteil eine RAM-Erweiterung des Laufwerks, um eine komplette Spur im Speicher halten zu können.

Speichererweiterungen für andere CBMs[Bearbeiten | Quelltext bearbeiten]

Weitere externe Speichererweiterung: 16k RAM Cartridge VIC-1111 für VC-20.


Quellen[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

WP-W11.png Wikipedia: Speichererweiterung