Herwig Siebenhofer
 / Home / C64
 
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 1CSIChip SelectChip wird ausgewählt, Datentransfer über DAL0-7; Low-aktiv
Pin 2R/WIRead/Write0: Register schreiben, 1: Register lesen
Pin 3A0IAddress 0Register adressieren
Pin 4A1IAddress 1——"——
Pin 5DAL0I/OData Access Line 08-Bit Bus für Daten, Kontrolle und Status
Pin 6DAL1I/OData Access Line 1——"——
Pin 7DAL2I/OData Access Line 2——"——
Pin 8DAL3I/OData Access Line 3——"——
Pin 9DAL4I/OData Access Line 4——"——
Pin 10DAL5I/OData Access Line 5——"——
Pin 11DAL6I/OData Access Line 6——"——
Pin 12DAL7I/OData Access Line 7——"——
Pin 13MRIMaster RessetInitialisierung des Chips
Pin 14GNDGroundMasseanschluss
Pin 15VccPower SupplyBetriebsspannung: 5V ±5%
Pin 16StepOStepPuls für jeden Schritt des Schreib-/Lesekopfs
Pin 17DircODirection0: Schritt nach außen, 1: Schritt nach innen
Pin 18ClkIClock8 MHz Takteingang für das interne Timing
Pin 19RDIRead DataDaten vom Laufwerk
Pin 20MOOMotor On1: Spindelmotor einschalten
Pin 21WGOWrite GateDiskette soll beschrieben werden
Pin 22WDOWrite DataFM/MFM-Clock und Datenpuls
Pin 23Tr00ITrack 000: Schreib-/Lesekopf befindet sich auf Spur 0
Pin 24IPIIndex Pulse0: Schreib-/Lesekopf befindet sich am Ende
Pin 25WPrtIWrite Protect0: Schreibbefehl wird unterdrückt
Pin 26DDenIDouble Density0: MFM, 1: FM
Pin 27DRqOData Request1: Datenregister ist beim Lesen voll bzw. beim Schreiben leer
Pin 28IntRqOInterrupt Requestwird nach Beendigung jedes Befehls gesetzt und durch das Lesen des Statusregisters gelöscht

 
Adressierung der Register

Reg.LesezugriffSchreibzugriff
0StatusregisterBefehlsregister
1SpurregisterSpurregister
2SektorregisterSektorregister
3DatenregisterDatenregister

 

 
Beschreibung des Befehlsregisters

BefehlBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Restore0000hVr1r0
Seek0001hVr1r0
Step001uhVr1r0
Step-in010uhVr1r0
Step-out011uhVr1r0
Read Sector100mhE00
Write Sector101mhEPa0
Read Address1100hE00
Read Track1110hE00
Force Interrupt1101i3i2
Write Track1111hEP0

a0Data Address Mark: 0 = normale Datenmakierung schreiben, 1 = Löschmakierung schreiben
ESettling Delay: 0 = keine Verzögerung, 1 = 15 ms Verzögerung
hMotor On-Flag: 0 = verfügbar, 1 = nicht verfügbar
i2Interrupt bei Index Pulse (IP)
i3Unmittelbarer Interrupt
mMultiple Sector Flag: 0 = einfach, 1 = vielfach
PWrite Precompensation: 0 = verfügbar, 1 = nicht verfügbar
uUpdate-Flag: 0 = kein Aktualisierung, 1 = Spurregister aktualisieren
VVerfify Flag: 0 = Kein Überprüfung, 1 = Zielblock überprüfen (Steprate wird mit r0/r1 angegeben)
r1r0ms
006
0112
102
113

 
Beschreibung des Statusregisters

BitNameBedeutung
0Busy0: kein Befehl wird ausgeführt, 1: Befehl wird gerade ausgeführt
1Data Request IndexKopie von DRQ. Bei Befehlen zur Bewegung des Schreib-/Lesekopfs von IP.
2Lost Data/Byte1: Keine rechtzeitige Rückmeldung auf DRQ. Bei Befehlen zur Bewegung des Schreib-/Lesekopfs Kopie von Tr00.
3CRC Error1: es handelt sich um ein Error-Datenfeld. Bei gesetztem Bit 4 Fehler in ID-Feld gefunden.
4Record not Found (RNF)1: Spur, Sektor oder Seite wurde nicht gefunden
5Record Type/Spin-Up0: Datenmarkierung, 1: Löschmarkierung. Bei Befehlen zur Bewegung des Schreib-/Lesekopfs 1: Spin-Up komplett
6Write Protection1: bei Schreibbefehlen Schreibschutz aktiv
7Motor OnKopie von MO