Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765Der FDC 765 ist ein ausgesprochen intelligenter Floppy-Controller. Das schlägt sich in entsprechend maechtigen Befehlen nieder, mit denen er programmiert werden kann. So ist er beispielsweise in der Lage, nur mit den Adressierungsarten der Z80: Absolutabsolut notwendigen Informationen versehen, eine ganze Spur auf der Diskette zu formatieren. Sektoren zu lesen und zu beschreiben ist mit ihm fast ein Kinderspiel.
Trotz seiner Intelligenz hat er natürlich von der Organisation der Datenspeicherung auf der Diskette keine Ahnung. Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765Der FDC 765 hat mit dem Inhaltsverzeichnis, Die Speicherkonfiguration im Schneider CPC: BlockBlocks oder Datenspeicherung und Datenstrukturen: RecordsRecords nichts am Hut. Das wird alles durch die Treibersoftware im Amsdos-ROM erledigt. Der Floppy-Controller selbst übernimmt nur die Organisation bis zur Sektor-Ebene.
Obwohl er intern über eine Unzahl von Registern verfügt, sind nach außen hin nur zwei verschiedene ansprechbar. Das wird durch einen logischen Kniff erreicht: Ein Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register ist ständig ansprechbar, und liefert so jederzeit elementare Informationen über den Zustand Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765des FDC. Das ist das sogenannte Haupt-Statusregister. Über die andere Adresse rollt der gesamte Datentransfer. Die Bedeutung der einzelnen Datentypen: Bytes Datenbreite: BytesBytes, die man hier hineinschreibt oder hier ausliest, ist ausschließlich durch ihre zeitliche Abfolge im gesamten Datenstrom festgelegt. Dadurch ist auch jederzeit entweder nur Lesen oder nur Beschreiben dieses 'Registers' zulässig.
Ein Befehl Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765des FDC gliedert sich dabei grundsätzlich in drei Phasen:
Sie wird vom ersten Datenbyte eingeläutet, das in seinen 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 verschluesselt einen der 15 möglichen Befehle enthält. Danach kommen noch bis zu 8 Parameter-Bytes, die alle geliefert werden müssen, damit die Reihenfolge stimmt.
Hierin werden beispielsweise beim Sektor-Schreiben oder -Lesen die Datenbytes zwischen Floppycontroller und 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 übermittelt. Bei einigen Befehlen fehlt dieser Abschnitt.
Bis auf drei Befehle haben alle eine 'Resultphase'. Hier 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 alle angebotenen Informationen vom Die ICs im Überblick: Der FDC 765FDC abholen, da dieser sonst gar nicht weiß, wann ein neuer Befehl anfängt. Erst nach dem letzten Datentypen: Bytes Datenbreite: BytesByte der Resultphase kann ein neuer Befehl gestartet werden.
Das Haupt-Statusregister und das Datenregister werden beim I/O-Zugriff der 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 durch die Adressleitung Der Zeichensatz des Schneider CPC: &A0 = 160A0 Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765des FDC unterschieden, die direkt an Der Zeichensatz des Schneider CPC: &A0 = 160A0 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 angeschlossen ist. Da die allgemeine Selektion Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765des FDC wie beim Motor-ON-Flip-Flop über die Adressbits A10 und A7 erfolgt, ergeben sich folgende Adressen für diese beiden Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register:
&X111110x1011111x0 -> Haupt-Statusregister
&X111110x1011111x1 -> Datenregister
Die 'Die verwendeten Abkürzungen bedeuten: x:x'-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 Adresse sind wieder beliebig. Von den jeweils vier möglichen, gültigen Adresskombinationen werden von Die Abteilungen des Betriebssystems: AmsdosAmsdos folgende benutzt:
&Die Register des FDC: Das Haupt-Statusregister - INP(&FB7E)FB7E -> Haupt-Statusregister
&FB7F -> Datenregister
Hierbei werden von der Hardware außer den verpflichtenden Null-Pegeln an A10 und A7 auch ausnahmsweise einmal ein Eins-Pegel getestet: Erklärung der Anschlussbelegung: A8 Der Zeichensatz des Schneider CPC: &A8 = 168A8 muss gesetzt sein und dient zur Unterscheidung von der Adresse des Motor-Flip-Flops.
Dieses Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register kann ständig gelesen (was bei den Datenregistern nicht der Fall ist), dafür aber nicht beschrieben werden. Hier kann man jederzeit die wichtigsten Informationen über den Zustand Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765des FDC 765 erhalten:
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 7 - RQM - Request for Master
0 -> kein Zugriff auf Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765den FDC möglich
1 -> Datenübertragung oder Befehl möglich
(je nach Port B - Input: &F5xx: Bits 1, 2 und 3: Port C - Output: &F6xx: Bit 6 und 7:Bit 4,5 und 6)
Nur wenn dieses 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 gesetzt ist, ist Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765der FDC bereit, ein Datenwort zu empfangen oder auszugeben. Da der Floppy-Controller im Schneider CPC mittels Polling betrieben wird, 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 bei einer Datenübertragung beispielsweise ständig dieses 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 Erklärung der Anschlussbelegung: Testtesten, um zu erfahren, ob das nächste Datentypen: Bytes Datenbreite: BytesByte für die Übertragung zur Einleitung: MassenspeicherFloppy benötigt wird.
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 6 - DIO - Data Input/Output
0 -> Datenrichtung ist: 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 -> Die ICs im Überblick: Der FDC 765FDC
1 -> Datenrichtung ist: Die ICs im Überblick: Der FDC 765FDC -> 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
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 6 liefert dazu noch eine wichtige Zusatz-Information: Die Datenrichtung. Dieses 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 signalisiert, ob Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765der FDC ein Datentypen: Bytes Datenbreite: BytesByte für 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 hat (Lesedaten von der Einleitung: MassenspeicherFloppy oder Status-Informationen) oder ob er noch eins benötigt (Schreibdaten oder Befehlsbytes).
0 -> Auswertungsphase
1 -> Programmierung des FDC 765: 2. Ausführungsphase: &X0ms00010 - ganze Spur lesen (READ TRACK): Ausführungsphase: &Xtm000101 - Sektor(en) schreiben (WRITE SECTOR): Ausführungsphase: &Xtms00110 - Sektor(en) lesen (READ SECTOR): Ausführungsphase: &X00000111 - Spur 0 suchen (RECALIBRATE): Ausführungsphase: &Xtm001001 - gelöschte Sektoren schreiben (WRITE DELETED SECTOR): Ausführungsphase: &X0m001010 - Sektor-ID lesen (READ SECTOR ID): Ausführungsphase: &Xtms01100 - gelöschte Sektoren lesen (READ DELETED SECTOR): Ausführungsphase: &X0m001101 - eine Spur formatieren (FORMAT TRACK): Ausführungsphase: &X00001111 - Spur suchen (SEEK): Ausführungsphase: &Xtms10001 - Sektor(en) testen (SCAN EQUAL): Ausführungsphase: &Xtms11001 - Sektor(en) testen (SCAN LOW OR EQUAL): Ausführungsphase: &Xtms11101 - Sektor(en) testen (SCAN HIGH OR EQUAL): Ausführungsphase:Ausführungsphase
Im DMA-Betrieb wird dieses 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 nicht benutzt und ist immer 0. Ansonsten kann 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 hieran unterscheiden, ob die vom Die ICs im Überblick: Der FDC 765FDC gelieferten Datentypen: Bytes Datenbreite: BytesBytes Daten von einem Sektor sind, der gerade gelesen wird, oder ob sie bereits aus der Result-Phase stammen.
0 -> Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765der FDC ist frei. Es kann ein neuer Befehl gestartet werden
1 -> besetz. Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765Der FDC arbeitet gerade einen Befehl ab.
Dieses Die Z80: Wirkung der Z80-Befehle auf die FlagsFlag wird gesetzt, sobald Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765der FDC die Bearbeitung eines Befehles aufgenommen hat, oder anders ausgedrückt: Sobald man das erste Datentypen: Bytes Datenbreite: BytesByte eines neuen Befehles in's Datenregister geschrieben hat. Es wird erst mit dem Ende der Auswertungsphase wieder zurückgesetzt. Damit lässt sich beispielsweise in Multi-Tasking-Systemen der Diskettenzugriff zwischen den parallel laufenden Programmen steuern.
0 -> normal
1 -> SEEK oder RECALIBRATE läuft auf dem entsprechenden Drive
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 sind den 4 möglichen Laufwerken zugeordnet und werden gesetzt, sobald man das Kommando SEEK (Spur suchen) oder RECALIBRATE (Spur 0 suchen) startet. Bis zum Ende eines solchen Befehls sind nur noch diese Befehle auf anderen Laufwerken möglich.
Port B - Input: &F5xx: Bits 1, 2 und 3: Port C - Output: &F6xx: Bit 6 und 7:Bits 7 und 6 - Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupt Code
00 -> Kommando erfolgreich beendet
01 -> Kommando abgebrochen wegen Der Linien-Algorithmus: Fehler 3Fehler
10 -> ungültiges Kommando
11 -> Kommando abgebrochen weil Drive 'not Erklärung zu den Bezeichnungen: READY Erklärungen zu den Anschlussbezeichnungen: READYready' wurde
Bei fast allen Sektor-Schreib- oder Lesebefehlen liefert Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765der FDC in der Programmierung des FDC 765: 3. Ergebnisphase: &X0ms00010 - ganze Spur lesen (READ TRACK): Ergebnisphase: &X00000100 - Statusregister 3 abfragen (SENSE DRIVE STATE): Ergebnisphase: &Xtm000101 - Sektor(en) schreiben (WRITE SECTOR): Ergebnisphase: &Xtms00110 - Sektor(en) lesen (READ SECTOR): Ergebnisphase: &X00001000 - Statusregister 0 abfragen (SENSE INTERRUPT STATE): Ergebnisphase: &Xtm001001 - gelöschte Sektoren schreiben (WRITE DELETED SECTOR): Ergebnisphase: &X0m001010 - Sektor-ID lesen (READ SECTOR ID): Ergebnisphase &Xtms01100 - gelöschte Sektoren lesen (READ DELETED SECTOR): Ergebnisphase: &X0m001101 - eine Spur formatieren (FORMAT TRACK): Ergebnisphase: &Xtms10001 - Sektor(en) testen (SCAN EQUAL): Ergebnisphase: &Xtms11001 - Sektor(en) testen (SCAN LOW OR EQUAL): Ergebnisphase: &Xtms11101 - Sektor(en) testen (SCAN HIGH OR EQUAL): Ergebnisphase:Ergebnisphase in diesem Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register die Meldung 'Kommando abgebrochen wegen Der Linien-Algorithmus: Fehler 3Fehler'. Ursache ist die schon beschriebene Beschaltung des TC-Anschlusses (Die Besonderheiten des FDC 765 im Schneider CPC: Terminal CountTerminal Count). In diesem Fall muss man untersuchen, ob es sich bei dem Der Linien-Algorithmus: Fehler 3Fehler um 'End of Track' (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 7 von Statusregister 1) handelt. Dann liegt im Schneider CPC kein Der Linien-Algorithmus: Fehler 3Fehler vor!
Nach einem SEEK oder RECALIBRATE erzeugt Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765der FDC einen Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupt, worauf 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 mit dem Befehl &08 'Sense Statusregister 0' dieses Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register hier abfragen muss, um das Kommando zu beenden. Da der INT-Ausgang Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765des FDC aber gar nicht angeschlossen ist, 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 ständig Programmierung des FDC 765: Das Statusregister 0 Programmierung des FDC 765: Das Statusregister 1 Programmierung des FDC 765: Das Statusregister 2 Programmierung des FDC 765: Das Statusregister 3 Die Register des FDC: Das Statusregister 0 Die Register des FDC: Das Statusregister 1 Die Register des FDC: Das Statusregister 2 Die Register des FDC: Das Statusregister 3das Statusregister 0 abfragen, bis Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765der FDC meldet, dass das Kommando beendet ist. Ist es das noch nicht, meldet er immer den Der Linien-Algorithmus: Fehler 3Fehler '10': ungültiges Kommando.
Nach dem Befehl SEEK oder RECALIBRATE wird dieses 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 gesetzt, wenn dieser Befehl abgeschlossen wurde.
Dieses Die Z80: Wirkung der Z80-Befehle auf die FlagsFlag wird gesetzt, wenn Anhang: Die Floppydie Floppy das Fehler-Flip-Flop setzt oder, wenn nach einem RECALIBRATE nach 77 Schritt-Impulsen immer noch kein Track0-Signal gemeldet wird. Das kann bei 80-Spur-Laufwerken auch ganz normal passieren, wenn der Schreib-Lese-Kopf auf den innersten Spuren steht. Beide Gründe scheiden aber bei den 3-Zoll-Floppies aus. Diese haben ja nur 40 Spuren, und durch die Beschaltung des Anschlusses FLT/Track0 Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765des FDC (s.o.) kann auch der Grund nicht beim Fehler-Flip-Flop liegen. Ist dieses 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 im Amsdos-Controller gesetzt, bewegt sich der Schrittmotor in der Einleitung: MassenspeicherFloppy nicht! Das dürfte eigentlich nur Garbage Collection: ... beim CPC 464beim CPC 664 oder 6128 möglich sein, wenn man die 12Volt-Versorgung herauszieht.
Startet man einen Befehl auf einem Laufwerk, in dem beispielsweise keine Diskette eingelegt ist, so meldet es 'not Erklärung zu den Bezeichnungen: READY Erklärungen zu den Anschlussbezeichnungen: READYready' am entsprechenden Eingang des Controllers. Das geschieht normalerweise ebenfalls, wenn man bei den einseitigen Laufwerken versucht, auf die zweite Seite zuzugreifen. Nicht jedoch bei den Schneider-Floppies.
0 -> Seite 1 der Diskette
1 -> Seite 2 (nur Doppelkopflaufwerke)
Momentan angewählter Schreib-Lese-Kopf. Die Schneider-Floppies sind aber alle einseitig. Dadurch ist hier nur ein Zugriff auf Kopf 1 (Bit2 = 0) möglich.
x0 -> Drive Operationen: BD5B / 349A / 349A: FLO SUBA
x1 -> Drive LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB
Momentan angewähltes Laufwerk. 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 entsprechen den US-Ausgängen Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765des FDC. Im Schneider CPC wird nur 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 0 benutzt.
Die Statusregister 1 und 2 spezifiziert die Fehlermeldungen aus den Port B - Input: &F5xx: Bits 1, 2 und 3: Port C - Output: &F6xx: Bit 6 und 7:Bits 6 und 7 des Statusregister 0.
Dieses Die Z80: Wirkung der Z80-Befehle auf die FlagsFlag zeigt an, dass der Floppy-Controller bei einem Multi-Sektor-Read oder -Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: RD und WR - read und write Erklärung zu den Anschluss-Bezeichnungen: WR - WriteWrite auf einen Sektor zugreifen will, der den programmierten 'letzten Sektor des Tracks' (siehe Befehlsbeschreibungen) überschreitet. Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765Der FDC führt automatisch solche Vielfach-Lese- und -Schreibzyklen durch, wenn er nicht durch einen Impuls am TC-Anschluss gestoppt wird. Durch die Beschaltung dieses Anschlusses im Schneider CPC wird dieser Der Linien-Algorithmus: Fehler 3Fehler nach jedem Lese- oder Schreibzugriff gemeldet!
Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765Der FDC 765 erzeugt beim Schreiben eines Sektors mehrere Prüfsummen nach dem CRC-Verfahren, die mit auf der Diskette aufgezeichnet werden. Stimmt beim Lesen diese Prüfsumme nicht, wird dieses Die Z80: Wirkung der Z80-Befehle auf die FlagsFlag gesetzt.
Beim Datentransfer vom oder zum Sektor, der gerade geschrieben oder gelesen wird, muss der Prozessor die Datentypen: Bytes Datenbreite: BytesBytes in extrem kurzen Zeitabständen übertragen. Kommt er einmal nicht nach, kommt der Datenfluss zwischen Controller und Einleitung: MassenspeicherFloppy in's Stocken. Da der Floppy-Controller die Diskette aber nicht blitzartig anhalten kann, gehen entweder Daten verloren (beim Lesen) oder können nicht geschrieben werden. In diesem Fall wird dieses Die Z80: Wirkung der Z80-Befehle auf die FlagsFlag gesetzt. Das sollte aber höchstens während der Entwicklungsphase eines neuen Rechners vorkommen.
Dieser Der Linien-Algorithmus: Fehler 3Fehler tritt auf, wenn der angegebene Sektor bei einem Schreib- oder Lesebefehl auf der Spur nicht gefunden werden kann.
Bei einem Schreibversuch auf die Diskette wird dieses Die Z80: Wirkung der Z80-Befehle auf die FlagsFlag gesetzt, wenn dort die Schreibschutz-Marke gesetzt ist. Dann werden selbstverständlich keine Daten aufgezeichnet (mit Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765dem FDC 765 ist es nicht möglich, auf eine schreibgeschützte Diskette zu schreiben, auch wenn die Laufwerks-Elektronik dies zuliesse. Dort gibt es aber meist auch solche Praeventiv-Massnahmen). Als Schreibversuche zählen die Sektor-Schreibbefehle und das Formatier-Kommando.
Hiermit wird angezeigt, dass Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765der FDC irgendwie mit der Formatierung der Spuren nicht klar kommt. Findet er die Adressmarken nicht, wird dieses 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 gesetzt. Möglicherweise ist die Spur gar nicht formatiert.
Das Statusregister 1: Bit 6 - unbenutzt (immer 0)Bit 7 - unbenutzt (immer 0)
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 6 = 1 -> 'gelöschter' Sektor gefunden
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 = 1 -> Checksummenfehler im Datenteil eines Sektors
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 = 1 -> die logische Spurnummer aus der Sektor-ID stimmt nicht
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 -> Vergleich von Sektor- und Prozessor-Daten lieferte Gleichheit
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 -> Testbedingung im Scan-Kommando nicht erfüllt
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 1 = 1 -> Track enthält fehlerhafte Stellen. Nicht beschreiben!
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 0 = 1 -> Die Markierung für den Datenbereich war nicht auffindbar
Dieses Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register spiegelt den aktuellen Zustand der wichtigsten Signale vom angewählten Laufwerk wieder. Dieses Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register kann nur mit einem speziell dafür eingerichteten Befehl (&04) gelesen werden.
Wegen der Beschaltung dieses Eingangs Die ICs im Überblick: Der FDC 765 Das Innenleben der CPC-Rechner: Der FDC 765des FDC wird dieses 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 im Schneider CPC nie gesetzt sein.
Normalerweise müssten die einseitigen Schneider-Laufwerke sich weigern, 'Erklärung zu den Bezeichnungen: READY Erklärungen zu den Anschlussbezeichnungen: READYready' zu melden, wenn man auf Seite 2 zugreifen will. Das tun sie aber nicht. Sehr wahrscheinlich ist das Signal 'side select' dort gar nicht angeschlossen.
Dieses Signal wird über den selben Pin des FDC-ICs eingelesen wie das Schreibschutz-Signal. Es gehört zu der Gruppe von vier Pins, deren Bedeutung vom Ausgang RW/SEEK umgeschaltet werden kann. Die Schneider Floppies ignorieren aber ganz offensichtlich den Umschaltbefehl beim Doppelausgang FLT/TRK0 und bei WRPRT/2SIDE. Für die Bedeutung 'Die Besonderheiten des FDC 765 im Schneider CPC: FAULTFault' wurde durch externe Beschaltung vorgesorgt, dass eine 'Der Linien-Algorithmus: Fehler 3Fehler'-Meldung nicht bis zum Die ICs im Überblick: Der FDC 765FDC 765 gelangt, weil dieser sonst ständig seine Arbeit abbrechen würde. Die Die Fließkomma-Routinen: FunktionenFunktion 2SIDE liefert jedoch immer den Zustand von WRTPRT (schreibgeschützt). Dieses Die Z80: Wirkung der Z80-Befehle auf die FlagsFlag ist daher immer wie 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 6 gesetzt und kann nicht benutzt werden, um Doppelkopf-Laufwerke zu erkennen.
Die folgenden 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 spiegeln noch einmal die im Befehl angegebenen Werte für Kopfseite und Unit Select 0 und 1 wieder:
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 = aktuell angewählte Das Identifikationsfeld in jedem Sektor: 2. DiskettenseiteDiskettenseite (Amsdos: Headerhead address)
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 1 = aktueller Zustand von Die Besonderheiten des FDC 765 im Schneider CPC: US1US1
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 0 = aktueller Zustand von US0
|