GeoRAM

Aus C64-Wiki
Zur Navigation springenZur Suche springen
GeoRAM
512 KByte GEORAM-Modul.
Typ Speichererweiterung
Hersteller Berkeley Softworks
Neupreis ? DM, ca. ? €, US$ 125[1]
Erscheinungsjahr 1990
Produktionsende 1993
Sonstiges Für C64/128


GeoRAM ist eine 512-KByte-Speichererweiterung für den C64 und C128 von Berkeley Softworks bzw. REX Datentechnik. Sie ist ein doppelt hohes Steckmodul für den Expansionsport. Im Gegensatz zur REU ist sie nicht DMA-fähig, sondern blendet jeweils 256 Bytes des erweiterten Speichers in den Adressbereich der CPU ein. Mit GeoRAM ist der Zugriff bis zu 35-mal schneller als bei Standard-GEOS-Plattenzugriffen.

Die Daten werden im ersten I/O-Bereich von $DE00-$DEFF eingeblendet.
Welche "Page" (256 Bytes) eingeblendet wird, bestimmen zwei Register im zweiten I/O-Bereich ab $DF00:

  • Das Register an den geraden Speicherstellen trägt mit seinen unteren sechs Bits zur Auswahl bei.
  • Das Register an den ungeraden Speicherstellen trägt mit seinen unteren fünf Bits zur Auswahl bei.

Insgesamt gibt es also 6 + 5 = 11 Adressbits, also 2 hoch 11 = 2048 einblendbare Speicherseiten. Da vier Seiten einem KByte entsprechen, ergibt das die erwähnten 512 KByte Gesamtspeicher.

Als Programmierer wünscht man sich statt "6 und 5 Bits" Registerbreite eigentlich eher "8 und 3 Bits", da für 8 Bits keine Verschiebeoperationen nötig sind. Möglicherweise wurde "6 und 5" deshalb gewählt, weil dann die Spur- und Sektorwerte einer 1541-Diskette direkt abgebildet werden können: Die Nummer der Spur passt in das 6-Bit-Register und die Nummer des Sektors in das 5-Bit-Register. Die beiden Register als "Track" und "Sector"-Register zu bezeichnen kann dann auch gleich als Eselsbrücke dienen, um sich die Reihenfolge der Register bzw. deren Breite in Bits zu merken.

Nachbauten der GeoRAM erweitern das zweite Register oft auf eine Breite von 6, 7 oder 8 signifikanten Bits und erreichen damit dann Speichergrößen von 1, 2 oder 4 MByte (siehe Tabelle):

RAM (KByte) "Track" ($DFFE) "Sector" ($DFFF)
total signifikante Bits Dezimal Hexadezimal signifikante Bits Dezimal Hexadezimal
512 6 0–63 $00–$3F 5 0–31 $00–$1F
1024 6 0–63 $00–$3F 6 0–63 $00–$3F
2048 6 0–63 $00–$3F 7 0–127 $00–$7F
4096 6 0–63 $00–$3F 8 0–255 $00–$FF

Theoretisch können über die zwei Register sogar 16 MByte adressiert werden, dafür müssten dann beide Register auf jeweils 8 signifikante Bits erweitert werden.

Nachbauten[Bearbeiten | Quelltext bearbeiten]

Quellen[Bearbeiten | Quelltext bearbeiten]

  1. Robert Bixby: "The GEOS Column: Closeup on GEORAM", Compute!'s Gazette, Issue 83, Vol. 8, No. 5, May 1990, p 14

Weblinks[Bearbeiten | Quelltext bearbeiten]

WP-W11.png Wikipedia: GeoRAM