C 64
Memory Map
Float Map
ROM Map
Basic ROM
Kernal ROM
Char ROM
CPU 6510
VIC 6569
SID 6581
CIA 6526
PLA
Keyboard
Control-Ports
sonstige Ports
Bauteile
Schematik 1
Schematik 2
Bus-Schematik
HF-Modulator
Datasette
Reset
C 1541 Floppy
Blockschaltbild
Memory Map
Rom Listing
Schematik
VIA 6522
Service
C 1581 Floppy
Memory Map
Rom Listing
Schematik
CIA 8520
WD 1772
Archiv
Mouse 1531
Float-Formate
Screenshots
Korrekturen
Chip 74xx
| |
WD1772 Floppy Disk Controller
Pin 1 | CS | I | Chip Select | Chip wird ausgewählt, Datentransfer über DAL0-7; Low-aktiv |
Pin 2 | R/W | I | Read/Write | 0: Register schreiben, 1: Register lesen |
Pin 3 | A0 | I | Address 0 | Register adressieren |
Pin 4 | A1 | I | Address 1 | " |
Pin 5 | DAL0 | I/O | Data Access Line 0 | 8-Bit Bus für Daten, Kontrolle und Status |
Pin 6 | DAL1 | I/O | Data Access Line 1 | " |
Pin 7 | DAL2 | I/O | Data Access Line 2 | " |
Pin 8 | DAL3 | I/O | Data Access Line 3 | " |
Pin 9 | DAL4 | I/O | Data Access Line 4 | " |
Pin 10 | DAL5 | I/O | Data Access Line 5 | " |
Pin 11 | DAL6 | I/O | Data Access Line 6 | " |
Pin 12 | DAL7 | I/O | Data Access Line 7 | " |
Pin 13 | MR | I | Master Resset | Initialisierung des Chips |
Pin 14 | GND | | Ground | Masseanschluss |
Pin 15 | Vcc | | Power Supply | Betriebsspannung: 5V ±5% |
Pin 16 | Step | O | Step | Puls für jeden Schritt des Schreib-/Lesekopfs |
Pin 17 | Dirc | O | Direction | 0: Schritt nach außen, 1: Schritt nach innen |
Pin 18 | Clk | I | Clock | 8 MHz Takteingang für das interne Timing |
Pin 19 | RD | I | Read Data | Daten vom Laufwerk |
Pin 20 | MO | O | Motor On | 1: Spindelmotor einschalten |
Pin 21 | WG | O | Write Gate | Diskette soll beschrieben werden |
Pin 22 | WD | O | Write Data | FM/MFM-Clock und Datenpuls |
Pin 23 | Tr00 | I | Track 00 | 0: Schreib-/Lesekopf befindet sich auf Spur 0 |
Pin 24 | IP | I | Index Pulse | 0: Schreib-/Lesekopf befindet sich am Ende |
Pin 25 | WPrt | I | Write Protect | 0: Schreibbefehl wird unterdrückt |
Pin 26 | DDen | I | Double Density | 0: MFM, 1: FM |
Pin 27 | DRq | O | Data Request | 1: Datenregister ist beim Lesen voll bzw. beim Schreiben leer |
Pin 28 | IntRq | O | Interrupt Request | wird nach Beendigung jedes Befehls gesetzt und durch das Lesen des Statusregisters gelöscht |
Adressierung der Register
Reg. | | Lesezugriff | Schreibzugriff |
|
0 | | Statusregister | Befehlsregister |
1 | | Spurregister | Spurregister |
2 | | Sektorregister | Sektorregister |
3 | | Datenregister | Datenregister |
Beschreibung des Befehlsregisters
Befehl | | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
|
Restore | | 0 | 0 | 0 | 0 | h | V | r1 | r0 |
Seek | | 0 | 0 | 0 | 1 | h | V | r1 | r0 |
Step | | 0 | 0 | 1 | u | h | V | r1 | r0 |
Step-in | | 0 | 1 | 0 | u | h | V | r1 | r0 |
Step-out | | 0 | 1 | 1 | u | h | V | r1 | r0 |
Read Sector | | 1 | 0 | 0 | m | h | E | 0 | 0 |
Write Sector | | 1 | 0 | 1 | m | h | E | P | a0 |
Read Address | | 1 | 1 | 0 | 0 | h | E | 0 | 0 |
Read Track | | 1 | 1 | 1 | 0 | h | E | 0 | 0 |
Force Interrupt | | 1 | 1 | 0 | 1 | i3 | i2 | | |
Write Track | | 1 | 1 | 1 | 1 | h | E | P | 0 |
a0 | | … | Data Address Mark: 0 = normale Datenmakierung schreiben, 1 = Löschmakierung schreiben |
E | | … | Settling Delay: 0 = keine Verzögerung, 1 = 15 ms Verzögerung |
h | | … | Motor On-Flag: 0 = verfügbar, 1 = nicht verfügbar |
i2 | | … | Interrupt bei Index Pulse (IP) |
i3 | | … | Unmittelbarer Interrupt |
m | | … | Multiple Sector Flag: 0 = einfach, 1 = vielfach |
P | | … | Write Precompensation: 0 = verfügbar, 1 = nicht verfügbar |
u | | … | Update-Flag: 0 = kein Aktualisierung, 1 = Spurregister aktualisieren |
V | | … | Verfify Flag: 0 = Kein Überprüfung, 1 = Zielblock überprüfen (Steprate wird mit r0/r1 angegeben)
|
Beschreibung des Statusregisters
Bit | Name | Bedeutung |
|
0 | Busy | 0: kein Befehl wird ausgeführt, 1: Befehl wird gerade ausgeführt |
1 | Data Request Index | Kopie von DRQ. Bei Befehlen zur Bewegung des Schreib-/Lesekopfs von IP. |
2 | Lost Data/Byte | 1: Keine rechtzeitige Rückmeldung auf DRQ. Bei Befehlen zur Bewegung des Schreib-/Lesekopfs Kopie von Tr00. |
3 | CRC Error | 1: es handelt sich um ein Error-Datenfeld. Bei gesetztem Bit 4 Fehler in ID-Feld gefunden. |
4 | Record not Found (RNF) | 1: Spur, Sektor oder Seite wurde nicht gefunden |
5 | Record Type/Spin-Up | 0: Datenmarkierung, 1: Löschmarkierung. Bei Befehlen zur Bewegung des Schreib-/Lesekopfs 1: Spin-Up komplett |
6 | Write Protection | 1: bei Schreibbefehlen Schreibschutz aktiv |
7 | Motor On | Kopie von MO |
| |