FDC3: Porovnání verzí
Z OldComp Wiki
(→Popis portů) |
(→Popis portů) |
||
Řádka 31: | Řádka 31: | ||
D3 = Drive select 2 (aktivní v 1) | D3 = Drive select 2 (aktivní v 1) | ||
D4 = 0-MFM 1-FM (single density) | D4 = 0-MFM 1-FM (single density) | ||
− | D5 = Drive select | + | D5 = Drive select 1 (aktivní v 1) |
− | D6 = Drive select | + | D6 = Drive select 0 (aktivní v 1) |
D7 = Fault reset (aktivní v 1) používají některé starší 8¨ | D7 = Fault reset (aktivní v 1) používají některé starší 8¨ | ||
Verze z 19. 11. 2021, 13:31
FDC3 je řadič floppy disku umožňující připojení jedné až čtyř mechanik. Deska používá řadič WD2797 ve více méně obvyklém zapojení. Softwarově je možné na pomocném portu přepínat časování pro 8¨ a pro mini floppy, a také FM i MFM modulaci. Bázovou adresu desky je možné měnit propojkami u adresního dekodéru. Je tedy možné používat více desek najednou. Výchozí adresa je 0x60.
Určitou zvláštností je vestavěný sekvenční automat, který ve spojení s 1 KB SRAM na desce nahrazuje DMA kanál a dokáže přenášet data bez účasti procesoru. Je tedy možné řadič obsluhovat klasicky procesorem, nebo zapnout automat, odeslat příkaz do WD a po vykonání příkazu automat vypnout a přečíst obsah SRAM na jednom portu
Popis portů
base+0 W command registr WD2797 R status registr WD2797
base+1 W maska přerušení desky D0 = 1-přerušení povoleno 0-zakázáno R stav přerušení D0 = 1-řadič žádá o přerušení (i když je zakázané maskou) D1 = rezerva D2 = rezerva D3 = stav masky přerušení
base+2 RW track registr WD2797
base+4 RW sector registr WD2797
base+6 RW data registr WD2797
base+8 R dává 0xFF, používá se pro detekci desky, port na kterém nic není dává 0x00 W pomocný registr 3212 D0 = časování 0-8¨ nebo HD 1-mini floppy D1 = Drive select 3 (aktivní v 1) D2 = 0-Reset WD2797 D3 = Drive select 2 (aktivní v 1) D4 = 0-MFM 1-FM (single density) D5 = Drive select 1 (aktivní v 1) D6 = Drive select 0 (aktivní v 1) D7 = Fault reset (aktivní v 1) používají některé starší 8¨
base+A RW registr pro komunikaci se SRAM, pokud je stavový automat v poloze CPU.
base+C W po OUT na tento port se vnutí NOP místo následující instrukce, pokud WD2797 má/požaduje byte dat.
base+E W MODE registr stavového automatu D0 = 1-Reset čítačů adresy ve SRAM D1 = 0-s řadičem a SRAM komunikuje CPU, 1-automat aktivní D2 = 0-čtení 1-zápis D3 = ? (nejsem si jist, doplním)