C128 NetLex

Commodore 128 Bedienungshandbuch
Commodore 128 System Guide



B. Die Speicherverwaltung mit der MMU

B.2.4 Das RAM-Konfigurations-Register

Das RAM-Konfigurations-Register setzt die Segmentparameter für den Prozessor und für den Blockzeiger des VIC-Bausteins. Dieses Register ist im I/O-Bereich bei $D506 angelegt (s. Bild B.4).

Die Bits 0 und 1 bestimmen die Größe des auf die einzelnen Speicherbänke aufteilbaren RAMs. Vorausgesetzt, daß ein gemeinsamer RAM-Bereich deklariert wurde, werden die RAM-Bank-Bits des Konfigurations-Registers grundsätzlich überlesen, da die ausgewählte RAM-Bank für nicht-gemeinsame Bereiche genutzt wird (die ROM- und I/O-Bereich-Bits des Konfigurationsregisters (s. Kapitel B.2.1) bleiben jedoch wirksam). Wenn der Wert der Bits 0 und 1 Null ist, werden 1 kByte gemeinsamer RAM eingeschaltet. Ist nur das Bit 0 = 1, werden 4 kByte, ist nur das Bit 1 = 1, werden 8 kByte und sind beide Bits auf 1, werden 16 kByte gemeinsamer RAM-Bereich eingeschaltet. Diese Bits wirken sich im C64-Modus nicht aus. Nach dem Einschalten oder nach einem System-Reset sind beide Bits auf 0 voreingestellt.

Bits 2 und 3 bestimmen, ob und wo ein gemeinsamer Speicherbereich angelegt wird. Sind beide Bits auf 0, wird kein gemeinsamer Bereich eingerichtet. Ist das Bit 2 auf 1 , ist der untere RAM-Bereich als gemeinsamer Bereich deklariert. Ist Bit 3 auf 1, ist der obere RAM-Bereich als gemeinsamer Bereich eingerichtet. Sind beide Bits gesetzt, ist ein Teil des gemeinsamen Bereiches im unteren und der andere Teil im oberen RAM-Bereich angelegt. Beim Einschalten oder nach einem System-Reset sind beide Bits auf 0 gesetzt, so daß kein gemeinsamer Bereich vereinbart ist.

Bei der vorliegenden MMU-Version wird die Auswahl des gemeinsamen Bereiches durch die CAS0- und CAS1-Signale bestimmt. Das CAS0- wird auf 0 und das CAS1-Signal auf 1 gehalten.

Bit 4 und 5 werden z.Z. nicht genutzt, sind aber als Blockzeiger-Bits gedacht. Damit wird es zukünftig möglich sein, bis zu 1 MByte RAM in 256-kByte-Blöcken zu adressieren. Sind beide Bits 0, ist der 1. 256 K-Block aktiviert. ist nur das Bit 4 = 1, ist der 2. Block aktiviert usw. Auf diese Weise lassen sich 4 Blöcke 256 kByte adressieren.

Bits 6 und 7 sind die RAM-Block-Zeiger für den VIC-Baustein. Bei der vorliegenden MMU-Version wird das Bit 7 ignoriert. Das Bit 6 wird dazu benutzt, das CAS0-Signal auf 0 zu legen, wenn Bit 6 = 0 ist bzw., wenn Bit 6 = 1 ist, das CAS1-Signal auf 0 zu legen. So wird entweder Bank 0 oder 1 angewählt.

Beim 2-MHz-Betrieb übernimmt der 80-Zeichen-Baustein die Bildschirm-Steuerfunktionen, wobei der VIC-Baustein abgeschaltet wird. Das Abschalten wird von dem VIC-Baustein selber verursacht, indem das AEC-(Address-Enable-Control) Signal konstant hochgehalten wird.

Zu beachten ist, daß ein VIC-Zyklus erkannt wird, wenn AEC nach 0 gezogen wird. Dieses kann von einem DMA (Direct Memory Access) herrühren, der die ACE-Leitung ebenfalls nach 0 zieht. Jeder DMA veranlaßt die MMU, in die VIC-Konfiguration umzuschalten.


Auszug aus dem Commodore C128 (D) Bedienungshandbuch: Seite B-14 bis B-16


[Seitenanfang] [Infos] [Links] [Lexikon] [Home]
Erstellt von WTE, am 01. März 2012; überarbeitet am 04. Februar 2013