Das Gate Datenspeicherung und Datenstrukturen: ArraysArray und Garbage Collection: ... beim CPC 464beim CPC 6128 das Speicher und Peripherie: Das PAL im CPC 6128PAL enthalten Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register, die die Bildschirm-Darstellung und die Speicherkonfiguration beeinflussen. Durch Programmieren dieser Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register kann man festlegen, welcher Bildschirm-Modus dargestellt wird, welche Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarben die einzelnen Die Bildausgabe: Tinten und FarbenTinten haben, ob oben oder unten ein Erläuterung zu den Anschlüssen 40 bis 45: 42 - ROMEN (0)ROM eingeblendet werden soll und, Garbage Collection: ... beim CPC 464beim CPC 6128, wie die zusätzlichen 64kByte RAM verwendet werden.
Die ICs im Überblick: Die ULA 40007, 40008 oder 40010 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40007 und 40008 (CPC 464 und 664) Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40010 (CPC 6128)ULA und Speicher und Peripherie: Das PAL im CPC 6128PAL werden beide durch eine Real: NullNull auf der Adressleitung A15 (zusammen mit Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: IORQ - Input/Output requestIORQ) angesprochen. Daraus ergibt sich die Portadresse hex: &7Fxx (binär: &X0111111xxxxxxxx). Alle Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register in Die ICs im Überblick: Die ULA 40007, 40008 oder 40010 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40007 und 40008 (CPC 464 und 664) Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40010 (CPC 6128)ULA und Speicher und Peripherie: Das PAL im CPC 6128PAL sind nicht lesbar, sondern können nur beschrieben werden. Zur Unterscheidung zwischen diesen beiden ICs und zur Auswahl eines bestimmten Registers in der Die ICs im Überblick: Die ULA 40007, 40008 oder 40010 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40007 und 40008 (CPC 464 und 664) Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40010 (CPC 6128)ULA dienen keine zusätzlichen Adressleitungen, sondern die Port B - Input: &F5xx: Bits 1, 2 und 3: Port C - Output: &F6xx: Bit 6 und 7:Bits 6 und 7 des übergebenen Datenwortes.
+---------------------------------------------------------------------+
| |
|Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 76543210 1. das Gate Datenspeicherung und Datenstrukturen: ArraysArray: |
+------------ ------------------ |
| Datenwort |
| binär Bedeutung der einzelnen Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits im Datenbyte |
+------------ ----------------------------------------- |
| &X0000iiii Wählt das Farbregister für Die Bildausgabe: Tinten und FarbenTinte iiii an |
| &X0001???? Wählt das BORDER-Farbregister an |
| &X010nnnnn Programmiert das gerade angewählte Farbregister |
| mit der Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarbe nnnnn (Paletten-Farbnummer) |
| &X100roumm r=1 => Löscht den 52-Bildschirmzeilen-Zähler |
| (=> Interrupt-Verzögerung) |
| o=1 => Blendet oberes Erläuterung zu den Anschlüssen 40 bis 45: 42 - ROMEN (0)ROM aus |
| u=1 => Blendet unteres Erläuterung zu den Anschlüssen 40 bis 45: 42 - ROMEN (0)ROM aus |
| mm => Bestimmt Bildschirm-Modus |
+---------------------------------------------------------------------+
+---------------------------------------------------------------------+
| |
| 2. das Speicher und Peripherie: Das PAL im CPC 6128PAL: |
| ----------- |
| |
| Steuerung der RAM-Bankauswahl wie folgt. |
| (n)ormale RAM-Bank - (z)usätzliches RAM |
|Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 76543210 0,1,2,3: Die Speicherkonfiguration im Schneider CPC: BlockBlock der jeweiligen Die Speicherkonfiguration im Schneider CPC: BankBank |
+------------ |
| Datenwort CPU-Adressviertel Konfiguration wird normale Lage |
| binär -0- -1- -2- -3- verwendet bei: für Video-RAM|
+------------ ------------------ --------------------- -------------|
| &X11000000 n0 - n1 - n2 - n3 Normalzustand n3=Screen |
| &X11000001 n0 - n1 - n2 - z3 Einleitung: CP/MCP/M: BIOS, BDOS etc. n1=Screen |
| &X11000010 z0 - z1 - z2 - z3 Einleitung: CP/MCP/M: TPA (n1=Screen) |
| &X11000011 n0 - n3 - n2 - z3 Einleitung: CP/MCP/M: n3=Hush-Tabelle (n1=Screen) |
| &X11000100 n0 - z0 - n2 - n3 Bankmanager n3=Screen |
| &X11000101 n0 - z1 - n2 - n3 Bankmanager n3=Screen |
| &X11000110 n0 - z2 - n2 - n3 Bankmanager n3=Screen |
| &X11000111 n0 - z3 - n2 - n3 Bankmanager n3=Screen |
+---------------------------------------------------------------------+
+---------------------------------------------------------------------+
| Queues als verkettete Liste: Anmerkung:ANMERKUNG: Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 5 ist immer 0 (reserviert) |
| Das Z80-Registerpaar LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB'C' enthält ständig die Portadresse und das |
| passende Datenbyte, um mit einem OUT (C),C die momentane Die Speicherkonfiguration im Schneider CPC: BankBank- |
| Konfiguration und Bildschirm-Modus einzustellen. |
+---------------------------------------------------------------------+
Die Die Grafik: FarbenFarbdarstellung des Schneider CPC unterscheidet Die Bildausgabe: Tinten und FarbenTinten (INKs) und zugehörige Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarben (Colours). Im Bildschirmspeicher wird zu jedem Punkt des Bildschirms eine Tintennummer gespeichert. Während der Bildausgabe erzeugt das Gate Datenspeicherung und Datenstrukturen: ArraysArray daraus die zugehörige Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarbe.
Diese Zuordnung ist nicht fest, sondern programmierbar. Dafür benutzt Speicher und Peripherie: Die ULA Die Bildausgabe: Die ULAdie ULA eine sogenannte CLUT (Color Look Up Table), eine Tabelle, in der die Farbzuordnungen gespeichert sind. Beim Schneider CPC wird die CLUT meist als Palette bezeichnet. Sie ist in Registern in der Die ICs im Überblick: Die ULA 40007, 40008 oder 40010 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40007 und 40008 (CPC 464 und 664) Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40010 (CPC 6128)ULA gespeichert, und kann von der Die ICs im Überblick: Die CPU Z80 Das Innenleben der CPC-Rechner: Die CPU Z80 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80CPU programmiert werden.
Um die Farbzuordnung einer Die Bildausgabe: Tinten und FarbenTinte (INK) zu ändern, muss diese zunächst einmal adressiert werden. Das erkennt Speicher und Peripherie: Die ULA Die Bildausgabe: Die ULAdie ULA daran, dass die beiden obersten Datenbits beide nicht gesetzt sind (Kombination '00'). Unabhängig vom dargestellten Bildschirm-Modus können alle 16 Tintennummern (0 bis 15) so programmiert werden. Ist auch Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 4 gesetzt (Tintennummern von 16 bis 31), so wird das Border-Farbregister angewählt, das wie eine eigene Die Bildausgabe: Tinten und FarbenTinte funktioniert.
Danach schreibt man die gewünschte Farbwert in das so angewählte Palettenregister. Diese Die Fließkomma-Routinen: FunktionenFunktion wird durch die Kombination '01' der beiden obersten Datenbits angewählt.
Man muss aber aufpassen: Die Farbnummer, mit der die Palette in der Die ICs im Überblick: Die ULA 40007, 40008 oder 40010 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40007 und 40008 (CPC 464 und 664) Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40010 (CPC 6128)ULA programmiert wird, entspricht NICHT der Farbnummer, die man beispielsweise im INK-Statement in Einleitung: BASIC Anhang: BasicBasic angeben muss. Diese Farbnummern sind nach ihren Grauwerten sortiert und werden vom MAIN FIRMWARE JUMPBLOCK: SCREEN PACK Die Firmware des Schneider CPC: SCREEN PACKScreen Pack über eine Tabelle in die entsprechenden Paletten-Farbnummern übersetzt.
Paletten- Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarb- || Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarb- Paletten-
Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarbe Farb-Nr. Nummer || Nummer Farb-Nr. Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarbe
-----------------------------++-----------------------------------
Schwarz 20 0 || 26 11 Hellweiß
Blau 4 1 || 25 3 Pastell-Gelb
Hellblau 21 2 || 24 10 Hellgelb
Rot 28 3 || 23 27 Pastell-Blaugrün
Magenta 24 4 || 22 25 Pastell-Grün
Hellviolett 29 5 || 21 26 Limonengrün
Hellrot 12 6 || 20 19 Hellblaugrün
Purpur 5 7 || 19 2 Seegrün
Hellmagenta 13 8 || 18 18 Hellgrün
Grün 22 9 || 17 15 Pastell-Magenta
Blaugrün 6 10 || 16 7 Rosa
Himmelblau 23 11 || 15 14 Orange
Gelb 30 12 || 14 31 Pastell-Blau
Weiss 0 13 || 13 0 Weiss
-----------------------------++-----------------------------------
Das Farb-Blinken wird vom MAIN FIRMWARE JUMPBLOCK: SCREEN PACK Die Firmware des Schneider CPC: SCREEN PACKSCREEN PACK software-mäßig realisiert. Dazu hängt es einen BCEF: KL INIT EVENT: EventblockEventblock auf dem FRAME FLYBACK TICKER ein, durch den im SPEED-INK-Rhythmus die Farbzuordnungen für Border und Inks immer wieder umprogrammiert werden. Bei nicht blinkenden Die Bildausgabe: Tinten und FarbenTinten wird dabei einfach zwischen zwei gleichen Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarben 'gewechselt'.
Wird Die Abteilungen des Betriebssystems: Das Screen Packdas SCREEN PACK initialisiert (beim Einschalten des Rechners beispielsweise), so nimmt es folgende Zuordnung von Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarben zu den 16 Die Bildausgabe: Tinten und FarbenTinten und Border vor:
---------+----------------------------------------------------------------------
Die Bildausgabe: Tinten und FarbenTinte: | Border 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
---------+----------------------------------------------------------------------
Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarbe 1: | 1 1 24 20 6 26 0 2 8 10 12 14 16 18 22 1 16
Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarbe 2: | 1 1 24 20 6 26 0 2 8 10 12 14 16 18 22 24 11
---------+----------------------------------------------------------------------
<---- Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 2: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 1: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 0:Mode 2 ----------> <------>
<---- Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 2: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 1: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 0:Mode 1 ------------------> blinkend
<---- Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 2: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 1: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 0:Mode 0 ------------------------------------------------------------------>
Da der Bildschirm zuerst im Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 1 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 2Modus 1 dargestellt wird, können nur die Die Bildausgabe: Tinten und FarbenTinten 0 bis 3 angesprochen werden. Trotzdem werden bei jedem Farbblinken alle 16 Die Bildausgabe: Tinten und FarbenTinten neu 'gefärbt'. Schaltet man auf Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 1 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 2Modus 0 um, so kann man alle 16 Die Bildausgabe: Tinten und FarbenTinten ansprechen. Dass hier, wie in der Tabelle oben angegeben, die letzten beiden Inks blinken, davon kann man sich überzeugen, wenn man im Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 1 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 2Modus 0 'PEN_15' und PEN_14' eingibt.
Speicher und Peripherie: Die ULA Die Bildausgabe: Die ULADie ULA kann natürlich auch von Einleitung: BASIC Anhang: BasicBasic aus via OUT-Statement programmiert werden. Speziell bei den Farbzuordnungen wird man aber nicht lange Freude haben, da diese ja, wie bereits gesagt, vom MAIN FIRMWARE JUMPBLOCK: SCREEN PACK Die Firmware des Schneider CPC: SCREEN PACKSCREEN PACK in regelmäßigen abständen neu programmiert werden. Wenn man aber vorher
SPEED INK 255,255 [ENTER]
eingibt, kann man den Effekt solcher OUT-Statements schon länger bewundern:
OUT &7FFF,&X00010000 : OUT &7FFF,&X01000111 [ENTER]
Das erste OUT wählt das Border-Tintenregister an und das zweite programmiert es mit der Paletten-Farbnummer 7, ein wunderhuebsches Bonbon-Rosa. Danach ist für eine unbestimmte Zeit (maximal 5 Sekunden) der Border in seiner neuen Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarbe zu bewundern, bis der nächste 'Farb-Blink' den alten Zustand wieder herstellt.
Wird Speicher und Peripherie: Die ULA Die Bildausgabe: Die ULAdie ULA mit einem Datenbyte programmiert, in dem die beiden oberen Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits in der Kombination '10' gesetzt sind, so haben die Port C - Output: &F6xx: Bits 0 bis 3:Bits 0 bis 4 spezielle Die Fließkomma-Routinen: FunktionenFunktionen.
Die Port B - Input: &F5xx: Bits 1, 2 und 3: Port C - Output: &F6xx: Bit 6 und 7:Bits 0 und 1 zusammen bestimmen den Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 1 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 2Modus, in dem der Bildschirm dargestellt werden soll:
00 - Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 2: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 1: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 0:Mode 0 - 16 Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarben - 20 Zeichen pro Zeile
01 - Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 2: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 1: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 0:Mode 1 - 4 Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarben - 40 Zeichen pro Zeile
10 - Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 2: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 1: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 0:Mode 2 - 2 Die Grafik: Farben Die Bildausgabe: Tinten und FarbenFarben - 80 Zeichen pro Zeile
11 - nicht spezifiziert (Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 2: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 1: Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 0:Mode 0)
Ist Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 2 gesetzt, so wird das untere Erläuterung zu den Anschlüssen 40 bis 45: 42 - ROMEN (0)ROM ausgeblendet, bei Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 3 das obere. Sind diese Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits zurückgesetzt, so wird das entsprechende Erläuterung zu den Anschlüssen 40 bis 45: 42 - ROMEN (0)ROM eingeblendet.
Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 2 = 0 - unten Erläuterung zu den Anschlüssen 40 bis 45: 42 - ROMEN (0)ROM
Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 2 = 1 - unten RAM
Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 3 = 0 - oben Erläuterung zu den Anschlüssen 40 bis 45: 42 - ROMEN (0)ROM
Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 3 = 1 - oben RAM
Der ROM-Konfiguration: ROM-Status Anschluss eines Zusatz-ROM: ROM-StatusROM-Status bezieht sich nur auf Lesezugriffe der Die ICs im Überblick: Die CPU Z80 Das Innenleben der CPC-Rechner: Die CPU Z80 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80CPU und wird von der Die ICs im Überblick: Die ULA 40007, 40008 oder 40010 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40007 und 40008 (CPC 464 und 664) Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40010 (CPC 6128)ULA dadurch realisiert, dass sie entsprechend ihrer Programmierung Erläuterung zu den Anschlüssen 40 bis 45: 42 - ROMEN (0)ROMEN oder Erläuterung zu den Anschlüssen 40 bis 45: 44 - RAMRD (0)RAMRD aktiviert. Schreibbefehle gehen leider immer an's interne RAM.
Ist Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 4 gesetzt, so wird der Rasterzeilenzähler in der Die ICs im Überblick: Die ULA 40007, 40008 oder 40010 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40007 und 40008 (CPC 464 und 664) Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40010 (CPC 6128)ULA zurückgesetzt. Dieser Zähler erzeugt, sobald er den Wert 52 erreicht, einen Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupt. Der Zähler wird außerdem noch mit dem Strahlhochlauf synchronisiert, so dass pro Sekunde exakt 300 Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupts erzeugt werden.
Auch dieses Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register eignet sich nur sehr beschränkt für Spielereien in Einleitung: BASIC Anhang: BasicBasic. Da hierin auch der ROM-Konfiguration: ROM-Status Anschluss eines Zusatz-ROM: ROM-StatusROM-Status programmiert wird, wird es bei jedem Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupt beschrieben. Die Interrupt-Routine muss nämlich das Betriebssystem-ROM einblenden, um dort Grundlagen: UnterprogrammeUnterprogramme ausführen zu können. Dazu ist ständig im LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB'C'-Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register der Die ICs im Überblick: Die CPU Z80 Das Innenleben der CPC-Rechner: Die CPU Z80 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80CPU der korrekte Wert gespeichert, um mit einem 'OUT_(C),C' den aktuellen ROM-Konfiguration: ROM-Status Anschluss eines Zusatz-ROM: ROM-StatusROM-Status des Hauptprogramms wieder herzustellen. LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB' enthält das höherwertige, signifikante Datentypen: Bytes Datenbreite: BytesByte der ULA-Adresse (&7F) und C' das Datenbyte mit ROM-Konfiguration: ROM-Status Anschluss eines Zusatz-ROM: ROM-StatusROM-Status und Bildschirm-Modus. Die Port B - Input: &F5xx: Bits 1, 2 und 3: Port C - Output: &F6xx: Bit 6 und 7:Bits 6 und 7 sind natürlich in der Kombination '10' gesetzt.
Von Einleitung: BASIC Anhang: BasicBasic aus sind deshalb nur recht unsinnige Spielereien möglich. Man kann den CPC beispielsweise sehr effektiv in einer Schleife aufhängen, in der der Interruptzähler immer wieder genullt wird. Da kein Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupt mehr erzeugt wird, unterbleibt auch die Tastaturabfrage und der Rechner kann nur noch durch Ausschalten wieder zum Leben erweckt werden:
10 OUT &7FFF,&X10010101 : GOTO 10
Auch ein unterhaltsames Quiz ist möglich:
OUT &7FFF,&X10001001
schaltet das obere Erläuterung zu den Anschlüssen 40 bis 45: 42 - ROMEN (0)ROM aus und das untere ein. Das ist genau der umgekehrte ROM-Konfiguration: ROM-Status Anschluss eines Zusatz-ROM: ROM-StatusROM-Status, als ihn Einleitung: BASIC Anhang: BasicBasic benötigt. Die tollsten Meldungen sind so möglich: Vom einfachen 'Erklärung zu den Bezeichnungen: READY Erklärungen zu den Anschlussbezeichnungen: READYReady' über 'press play on tape' bis (seufz) zum totalen Systemabsturz. Die Frage ist nur immer: Was kommt als nächstes?
Ein OUT auf der Adresse der Die ICs im Überblick: Die ULA 40007, 40008 oder 40010 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40007 und 40008 (CPC 464 und 664) Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40010 (CPC 6128)ULA, bei der im Datenbyte die beiden obersten Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits gesetzt sind (Kombination '11'), spricht kein Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register in der Die ICs im Überblick: Die ULA 40007, 40008 oder 40010 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40007 und 40008 (CPC 464 und 664) Die Anschlussbelegungen der wichtigsten ICs im CPC: Die ULA 40010 (CPC 6128)ULA an. Im Schneider CPC 6128 wird hiermit aber das Speicher und Peripherie: Das PAL im CPC 6128PAL programmiert, das Die Speicherkonfiguration im Schneider CPC: Die RAM-Konfigurationdie RAM-Konfiguration steuert.
Das Speicher und Peripherie: Das PAL im CPC 6128PAL wertet nur die untersten drei Datenbits aus. Entsprechend sind acht verschiedene BD5B: KL RAM SELECT: Mögliche RAM-Konfigurationen:RAM-Konfigurationen möglich. Die nicht benutzten Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits sollte man immer auf Real: NullNull setzen, falls Amstrad hier in Zukunft noch andere Die Fließkomma-Routinen: FunktionenFunktionen plant.
Das Speicher und Peripherie: Das PAL im CPC 6128PAL steuert nur den Zugriff der Die ICs im Überblick: Die CPU Z80 Das Innenleben der CPC-Rechner: Die CPU Z80 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80CPU auf Die Anschlussbelegungen der wichtigsten ICs im CPC: Das RAM 4164das RAM. Die Speicherkonfiguration im Schneider CPC: ROM-KonfigurationROM-Konfiguration und Bildausgabe bleiben davon unberührt. Die folgende Tabelle zeigt noch einmal die verschiedenen Möglichkeiten:
&X11000000 n0 - n1 - n2 - n3 Normalzustand n3=Screen
&X11000001 n0 - n1 - n2 - z3 Einleitung: CP/MCP/M: BIOS, BDOS etc. n1=Screen
&X11000010 z0 - z1 - z2 - z3 Einleitung: CP/MCP/M: TPA (n1=Screen)
&X11000011 n0 - n3 - n2 - z3 Einleitung: CP/MCP/M: n3=Hush-Tabelle (n1=Screen)
&X11000100 n0 - z0 - n2 - n3 Bankmanager n3=Screen
&X11000101 n0 - z1 - n2 - n3 Bankmanager n3=Screen
&X11000110 n0 - z2 - n2 - n3 Bankmanager n3=Screen
&X11000111 n0 - z3 - n2 - n3 Bankmanager n3=Screen
n=normale RAM-Bank - z=zusätzliche RAM-Bank
Wenn man den RAM-Block, der gerade den Bildwiederholspeicher enthält, ausblendet, schreibt die Die ICs im Überblick: Die CPU Z80 Das Innenleben der CPC-Rechner: Die CPU Z80 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80CPU ab sofort in einen Die Speicherkonfiguration im Schneider CPC: BlockBlock des zusätzlichen RAMs, der aber nicht dargestellt wird:
OUT &7FFF,&X11000001 : REM n0 - n1 - n2 - z3
Alle Textausgaben bleiben dann unsichtbar. Trotzdem wird der sichtbare Bildschirm gescrollt, wenn der (unsichtbare) Bildschirm hardwaremäßig gescrollt werden muss. Die Die ICs im Überblick: Die CPU Z80 Das Innenleben der CPC-Rechner: Die CPU Z80 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80CPU löscht dabei die neu entstehenden Zeilen in der zusätzlichen RAM-Bank, nicht aber in der tatsächlich dargestellten. Dadurch rollt hier die Anzeige oben heraus und unten wieder versetzt herein, oder umgekehrt. Der Versatz kommt daher, dass aus einer 'Das Screen Pack: RAM-ZeilenRAM-Zeile' des Video-RAMs, die 2k = 2048 Datentypen: Bytes Datenbreite: BytesBytes umfasst nur 2000 tatsächlich benutzt werden.
Um die normale BD5B: KL RAM SELECT: Mögliche RAM-Konfigurationen:RAM-Konfiguration wieder herzustellen, muss man nun blind und fehlerfrei OUT_&7FFF,&X11000000 eingeben, oder den Rechner mit CTRL-SHIFT-ESCAPE neu initialisieren. Danach kann man sich mit dem Bank-Manager ansehen, was man die ganze Zeit blind eingetippt hat: |SCREENSWAP,1,5 bringt den nicht darstellbaren, dritten Die Speicherkonfiguration im Schneider CPC: BlockBlock der zusätzlichen RAM-Bank, in den man die ganze Zeit geschrieben hat, in den Bildschirmspeicher.
|