Floppy Disk Controller — Änderungen 4541 → 4545

Zeile 1: Zeile 1:
−
Der Floppy Disk Controller ist ein Chip, der ein bis vier FLoppy-Laufwerke ansteuern kann.
+
Der Floppy Disk Controller ist ein Chip, der ein bis vier Floppy-Laufwerke ansteuern kann.
 
== Eigenschaften ==
 
== Eigenschaften ==
 
* DMA-Channel: 2
 
* DMA-Channel: 2
Zeile 5: Zeile 5:
 
= Register =
 
= Register =
 
== Übersicht ==
 
== Übersicht ==
−
{| border="1" cellspacing="1"
+
{| {{Prettytable}}
 
! Name !! Port !! Beschreibung !! lesen/schreiben
 
! Name !! Port !! Beschreibung !! lesen/schreiben
 +
|-
 +
| SRA || 0x3F0 || Status Register A || lesen
 +
|-
 +
| SRB || 0x3F1 || Status Register B || lesen
 +
|-
 +
| DOR || 0x3F2 || Digital Output Register || schreiben
 +
|-
 +
| TDR || 0x3F3 || Tape Drive Register || lesen/schreiben
 
|-
 
|-
 
| MSR || 0x3F4 || Main Status Register || lesen
 
| MSR || 0x3F4 || Main Status Register || lesen
 +
|-
 +
| DRSR || 0x3F4 || Data Rate Select Register || schreiben
 
|-
 
|-
 
| DR || 0x3F5 || Data Register || lesen/schreiben
 
| DR || 0x3F5 || Data Register || lesen/schreiben
 
|-
 
|-
−
| DOR || 0x3F2 || Digital Output Register || schreiben
+
| DIR || 0x3F7 || Digital Input Register || lesen
 +
|-
 +
| CCR || 0x3F7 || Configuration Control Register || schreiben
 
|-
 
|-
 
|}
 
|}
 +
 
== Aufbau ==
 
== Aufbau ==
 
Wenn nichts dasteht, gilt das Flag bei gesetztem Bit.
 
Wenn nichts dasteht, gilt das Flag bei gesetztem Bit.
 
=== MSR ===
 
=== MSR ===
−
{| border="1" cellpadding="3"
+
{| {{Prettytable}} cellpadding="8"
−
| Bit ||7||6||5||4||3||2||1||0
+
| '''Bit''' ||7||6||5||4||3||2||1||0
 
|-
 
|-
−
| Name || MRQ || DIO || NDMA || BUSY || ACTD || ACTC || ACTB || ACTA  
+
| '''Name''' || MRQ || DIO || NDMA || BUSY || ACTD || ACTC || ACTB || ACTA
 
|-
 
|-
 
|}
 
|}
Zeile 30: Zeile 43:
 
;DIO
 
;DIO
 
: Daten I/O
 
: Daten I/O
−
: 0: CPU -> FDC
+
: 0: CPU -> FDC (Daten schreiben)
−
: 1: FDC -> CPU
+
: 1: FDC -> CPU (Daten lesen)
 
;NDMA
 
;NDMA
 
: DMA-Modus
 
: DMA-Modus
Zeile 43: Zeile 56:
 
: Laufwerk D-A ist im Positionierungs-Modus
 
: Laufwerk D-A ist im Positionierungs-Modus
 
=== DOR ===
 
=== DOR ===
−
{| border="1" cellpadding="3"
+
{| {{Prettytable}} cellpadding="8"
−
| Bit ||7||6||5||4||3||2||1-0
+
| '''Bit''' ||7||6||5||4||3||2||1 – 0
 
|-
 
|-
−
| Name || MOTD || MOTC || MOTB || MOTA || DMA || RESET || DRIVE
+
| '''Name''' || MOTD || MOTC || MOTB || MOTA || DMA || RESET || DRIVE
 
|-
 
|-
 
|}
 
|}
Zeile 54: Zeile 67:
 
: 1: Motor anschalten
 
: 1: Motor anschalten
 
;DMA
 
;DMA
−
: DMA und IRQ-Channel
+
: DMA und IRQ
−
: 0: aus
+
: 0: deaktiviert
−
: 1: an
+
: 1: aktiviert
 
;RESET
 
;RESET
 
: Controller Reset
 
: Controller Reset
Zeile 73: Zeile 86:
  
 
====ST0====
 
====ST0====
−
{| border="1" cellpadding="3"
+
{| {{Prettytable}} cellpadding="8"
−
| Bit ||7-6||5||4||3||2||1-0
+
| '''Bit''' ||7 – 6||5||4||3||2||1 – 0
 
|-
 
|-
−
| Name || IC || SE || UC || NR || HD || US
+
| '''Name''' || IC || SE || UC || NR || HD || US
 
|-
 
|-
 
|}
 
|}
Zeile 105: Zeile 118:
  
 
====ST1====
 
====ST1====
−
{| border="1" cellpadding="3"
+
{| {{Prettytable}} cellpadding="8"
−
| Bit ||7||6||5||4||3||2||1||0
+
| '''Bit''' ||7||6||5||4||3||2||1||0
 
|-
 
|-
−
| Name || EN || 0 || DE || TO || 0 || NDAT || NW || NID
+
| '''Name''' || EN || 0 || DE || TO || 0 || NDAT || NW || NID
 
|-
 
|-
 
|}
 
|}
Zeile 131: Zeile 144:
 
: gesetzt wenn die ID Address mark nicht gefunden wurde
 
: gesetzt wenn die ID Address mark nicht gefunden wurde
 
====ST2====
 
====ST2====
−
{| border="1" cellpadding="3"
+
{| {{Prettytable}} cellpadding="8"
−
| Bit ||7||6||5||4||3||2||1||0
+
| '''Bit''' ||7||6||5||4||3||2||1||0
 
|-
 
|-
−
| Name || 0 || DADM || CRCE || WCYL || SEQ || SERR || BCYL || NDAM
+
| '''Name''' || 0 || DADM || CRCE || WCYL || SEQ || SERR || BCYL || NDAM
 
|-
 
|-
 
|}
 
|}
Zeile 156: Zeile 169:
 
: not data address mark DAM
 
: not data address mark DAM
 
====ST3====
 
====ST3====
−
{| border="1" cellpadding="3"
+
{| {{Prettytable}} cellpadding="8"
−
| Bit ||7||6||5||4||3||2||1-0
+
| '''Bit''' ||7||6||5||4||3||2||1 – 0
 
|-
 
|-
−
| Name || ESIG || WPDR || RDY || TRKO || DSDR || HDDR || DS
+
| '''Name''' || ESIG || WPDR || RDY || TRKO || DSDR || HDDR || DS
 
|-
 
|-
 
|}
 
|}