ROM

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Als ROM bezeichnet man einen Speicherchip, der im Betrieb nur zum auslesen gedacht ist, bzw. die im Speicherchip verfügbaren Daten.

Allgemein[Bearbeiten | Quelltext bearbeiten]

Die Abkürzung "ROM" kommt aus dem Englischen und steht für Read-Only Memory; zu deutsch Nur-Lese-Speicher. Hiermit sind Mikrochips eines Computers gemeint, in denen die Daten fest abgelegt sind, so dass der Computer diese Daten nur auslesen aber nicht verändern kann - zum Beispiel ein Betriebssystem (KERNAL des C64), das BIOS oder der Zeichensatz (Zeichenspeicher).

Eine Veränderung der Daten in ROMs ist normalerweise nicht möglich, da die in den Chips abgelegten Daten bei der Herstellung fest verdrahtet werden (ähnlich wie bei einer gepressten CD).

Bei EPROMs (Erasable Programmable Read-Only Memory) erfolgt das Löschen mit UV-Licht (z.B. mit einem speziellen UV-Löschgerät). Zum Beschreiben wird ein spezielles Programmiergerät benötigt (wegen der für die Programmierung notwendigen, wesentlich höheren elektrischen Spannung), weshalb der Chip allerdings aus der Schaltung entnommen werden muss (zumeist gesockelt bzw. gesteckt). Zu C64-Zeiten war z.B. der Tiny-EPROMer ein gängiges Programmiergerät; am PC ist z.B. der TL866[1] eine gängige Lösung.

ROM-Varianten wie das EEPROM (Electrically Erasable Programmable Read-Only Memory) oder Flash-ROM-Chips können häufiger (jedoch begrenzt) gelöscht und wieder beschrieben werden (auch flashen genannt). Heutzutage können beispielsweise BIOS oder Firmwarechips aktualisiert werden, ohne sie auszubauen. Dabei wird die alte Version im Flash-ROM mit einer neuen überschrieben. Tritt bei der Aktualisierung ein Fehler auf, muss das Überschreiben unverzüglich erneut erfolgen, weil sonst die Situation eintreten könnte, dass das Gerät mit der unvollständigen bzw. beschädigten Firmware/BIOS-Software nicht mehr funktioniert.


ROMs des C64[Bearbeiten | Quelltext bearbeiten]

Im C64 finden sich mehrere ROM-Chips:

  • Im KERNAL-ROM finden sich im wesentlichen Routinen, die sich um grundlegende Funktionen kümmern (Initialisierung der Hardware nach dem Einschalten, Ein-/Ausgabe von Zeichen bzw. Bedienung der diversen Anschlüsse). Außerdem wird ein Teil davon auch noch vom Basic-Interpreter verwendet.
  • Im BASIC-ROM findet sich der Basic-Interpreter des C64 (auch zu einem Teil im KERNAL-ROM), der gleichzeitig die normale Benutzerschnittstelle zur Verfügung stellt (siehe Direktmodus).
  • Im CHAR-ROM findet sich die Beschreibung des Zeichensatzes, die vom VIC zur Bildausgabe benutzt wird.

Viele Erweiterungen (wie z.B. Schnelllader) des C64 basieren darauf, einzelne ROM-Chips auszutauschen. Dabei wird typischerweise über eine Adapterplatine ein EPROM anstelle des ersetzten ROMs eingebaut. Falls das EPROM mehrere ROM-Abbilder enthält, gibt es meist einen Umschalter mit dem die ROM-Version gewählt werden kann. Oft schaltet man dabei die höchste Adressleitung und betreibt damit einfaches Bank-Switching.

Die Adapterplatine ist hingegen notwendig, da die meisten Eproms nicht völlig pinkompatibel zu den ursprünglich vorgesehenen Rom-Chips sind.

Auf den früheren C64 Platinen befinden sich drei ROM-Chips mit jeweils 8 kB und 24 pins für das Kernal, Basic und Char-Rom. Auf späteren Platinen (z.B. Assy 250469 im C64-II) wurde dann ein 16 kB Rom mit 28 pins und der Bezeichnung "251913-01" eingesetzt welches Kernel und Basic beinhaltet. Diese Platinen haben somit zwei statt drei ROM-Bausteine.


ROMs des C128[Bearbeiten | Quelltext bearbeiten]

Zusätzlich zur Standardausstattung eines C128:

  • Der Platinensteckplatz U36 ist ein 28-poliger DIP zur freien Verfügung und dient als internes Funktions-ROM.[2][3]


Weblinks[Bearbeiten | Quelltext bearbeiten]

WP-W11.png Wikipedia: ROM
WP-W11.png Wikipedia: EPROM
WP-W11.png Wikipedia: EEPROM
WP-W11.png Wikipedia: Flash-Speicher

Quellen[Bearbeiten | Quelltext bearbeiten]