C128 NetLex

Commodore 128 Bedienungshandbuch
Commodore 128 System Guide



B. Die Speicherverwaltung mit der MMU

B.2.5 Die Speicherseiten-Zeiger

Die Seitenzeiger (s. Bild B.4) sind vier Register, die eine unabhängige Adressierung der beiden untersten Speicherseiten von je 256 Byte erlauben. Dies ist besonders nützlich, denn sie helfen, die Festlegung der Zero Page und des Stapelspeichers auf den physikalischen Adreßbereich $0000-$01FF, wie sie normalerweise für die 6500-Prozessor-Familie gilt, zu beseitigen.

Für die Verschiebung der Zero Page liefert die MMU die beiden Zero Page-Zeiger-Register P0H und P0L (Page 0 Pointer High, Page 0 Pointer Low). Bei einem beliebigen Zero Page-Zugriff ($0000-$00FF) werden die Bits 0 bis 3 des P0H-Registers und die mit dem P0H-Registern korrespondieren Adressen TA16 bis TA19 gesetzt.

In der vorliegenden Version kontrolliert das Bit 0 die Erzeugung des CAS0- oder des CAS1-Signals abhängig davon, ob das Bit 0 = 0 oder 1 ist. Die Bits 1 bis 3 werden ignoriert.

Die restlichen Bits sind 0, sie überdecken die RAM-Bank-Bits. Die ROM-Block- und die I/O-Block-Bits bestimmen, welche physikalische Speicherseite als Zero Page bei allen Zero-Page-Zugriffen erscheint. Wird das P0H-Register beschrieben, wird es solange zwischengespeichert, bis auch das P0L-Register beschrieben wird.

Die Bits 0-7 dieses Registers wirken auf die Adressen TA8-TAl5, wenn auf eine deklarierte Zero Page zugegriffen wird. In diesem Fall wird automatisch auf die Original-Zero Page umgeschaltet. Ein Schreiben in dieses Register erzwingt einen Zero Page-Transfer, sobald der Taktimpuls auf 0 geht. Die beiden Register sind im I/O-Bereich angelegt, und zwar P0L bei $D507 und P0H bei $D508.

Die Register für die Verschiebung der Speicherseite 1 (Stapelspeicher) sind im I/O-Bereich für P1L bei $D509 und P1H bei $D50A angeordnet. Die Funktionen und die korrespodierenden Signale entsprechen denen von P0H und P0L. Die Registerpaare sind nach dem Einschalten oder nach einem System-Reset auf 0 voreingestellt, d.h. Zero Page und Stapelspeicher liegen physikalisch und logisch im Adreßbereich $0000-$01FF.


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


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