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
 

MOS 6522 Versatile Interface Adapter (VIA)

Die C1541-Floppy besitzt zwei Bausteine des Typs MOS 6522 wovon ersterer (ab 1800hex) zur Datenübertragung mit dem C-64 dient, zweiter (ab 1C00hex) zur Ansteuerung der Motoren und Schreib-/Leseköpfe.

Reg.  Beschreibung
0Register B
1Register A
2Data Direction Register B: LOW=Input, HIGH=Output
3Data Direction Register A: LOW=Input, HIGH=Output
4Timer 1 Count Value (LOW Order Counter)
5Timer 1 Count Value (HIGH Order Counter)
6Timer 1 Count Value (LOW Order Latch)
7Timer 1 Count Value (HIGH Order Latch)
8Timer 2 Count Value (LOW Order Latch/Counter)
9Timer 2 Count Value (HIGH Order Latch/Counter)
AShift Register (links- oder rechts-rotierend
BAuxiliary Control Register
    Bit 6-7: Timer 1 Control:
        00: Timer wird geladen (PB7=Disable)
        01: Continuous Interrupt (PB7=Disable)
        10: Timer 1 wird gelden (PB7="One Shot Output")
        11: Continuous Interrupt (PB7="Square Wave Output")
    Bit 5: Timer 2 Control: LOW=Interrupt, HIGH=PB6
    Bit 2-4: Shift Register Control:
        000: Disable
        001: Shift wird von Timer 2 kontrolliert
        010: Shift wird vom Systemtakt kontrolliert
        011: Shift wird von Externem Takt kontrolliert
        100: Shift läuft frei, angelehnt an Timer 2
        101: Shift vom Timer 2 kontrolliert
        110: Shift vom Systemtakt kontrolliert
        111: Shift von externem Takt kontrolliert
    Bit 1: PB bei LOW=Dissable, HIGH=Enable
    Bit 0: PA bei LOW=Dissable, HIGH=Enable
CPeripheral Control Register
    Bit 5-7: CB2 Control
        000: Input neg. active edge
        001: Independent Interrupt/Input negatve edge
        010: Input pos. active edge
        011: Independent Interrupt/Input postive edge
        100: Handshake Output
        101: Pulse Output
        110: Low Output
        111: High Output
    Bit 4: CB1 Interrupt Control (LOW=neg. Active edge, HIGH=pos. Active edge)
    Bit 1-3: CA2 Control
        Bedeutung gleich wie bei Bit 5-7
    Bit 0: CA1 Interrupt Control (LOW=neg. Active edge, HIGH=pos. Active edge)
DInterrupt Flag Register
    Bit 7: IRQ LOW=clear Interrupt, HIGHT= Interrupt enable
    Bit 6: Timeout Timer 1
    Bit 5: Timerout Timer 2
    Bit 4: CB1 Active Edge
    Bit 3: CB2 Active Edge
    Bit 2: acht Shifts beendet
    Bit 1: CA1 Active Edge
    Bit 0: CA2 Active Edge
EInterrupt Enable Register (LOW=Disable, HIGH=Enable)
    Bit 7: Set/Clear
    Bit 6: Timer 1
    Bit 5: Timer 2
    Bit 4: CB 1
    Bit 3: CB 2
    Bit 2: Shift Register
    Bit 1: CA 1
    Bit 0: CA 2
FRegister A (ohne Handschake)

 

 
Pin 1GNDGrouND: Masse (0V)
Pin 2-9PA0-PA7  I/O  Parallel port a signals. Bidirectional parallel port.
Pin 10-17PB0-PB7  I/OParallel port b signals. Bidirectional parallel port.
Pin 18-19CB1-CB2I/OPort B Control lines: interrupt inputs bzw. handshake outputs
Pin 20VccSupply voltage: +5V DC
Pin 21!IRQOInterrupt output to microprocessor input IRQ.
Pin 22R/!WIREAD/WRITE input
Pin 23CS1OChip select
Pin 24!CS2OChip select (invertiert)
Pin 25ø2Iclock input connected to processor
Pin 26-33D0-D7  I/OBidirectional data bus. Connects to processor data bus.
Pin 34!RESILow active reset input. Initializes CIA.
Pin 35-38  RS0-RS3  IRegister select inputs. Used to select all internal registers for communications with the parallel ports, time of day clockand serial port (SP).
Pin 39-40CA1-CA2I/OPort A Control lines: interrupt inputs bzw. handshake outputs

 

 
C1541-Floppy: Verwendung von Register B der VIA 2 ($1C00)

Bit  Beschreibung
0  Stepmotorsteuerung
1  Stepmotorsteuerung
2  Laufwerksmotor0 .. aus
3  LED0 .. aus
4  Schreibschutz0 .. aktiv
5  Speedflag
6  Speedflag
7  Sync-Signal beim Lesen0 .. Sync gefunden