První řadič diskety k MZ800 jsem se snažil vyrobit někdy v roce 1988. Měl jsem už i 8” mechaniku Consul. Pak mě ale povolali na vojnu. Po návratu (a po revoluci) jsem si koupil 3,5” mechaniku (2000,-) a řadič s i8272 dodělal. Na desce řadiče jsem měl i RomDisk celých 256 bajtu pro natažení systému. Začal jsem i s úpravou CPM, ale tak nějak to nedopadlo a deska řadiče se mi ztratila při stěhování.
Druhý řadič jsem postavil na základě nějakého starého MFM řadiče z XT. DPS jsem ani nedělal, písíčkovou kartu jsem jen trošku upravil pilkou, vyndal pár IO a připájel pár drátků. Tehdy jsem neměl potřebnou dokumentaci k 37c65 a tak se mi nepovedlo rozběhnout řadič v NonDMA režimu. Musel jsem při návrhu obvody uspořádat tak, aby zpracovávali signály pro DMA režim. Řadič je v adresovém prostoru umístěn na I/O portech 0D8h, 0D9h, 0DAh a 0DBh. Je minimalizována zátěž na jednotlivé vodiče sběrnice na jedno hradlo, pouze signály D0, D1 a D2 jsou připojené na dvě hradla. Protože mám MZ811 bez kazeťáku tak jsem mechaniku i řadič umístil do prázdného prostoru.
Dekodér adresy generuje všechny adresní i DMA signály pro obvod 37C65.
Registry jsou uspořádány takto:
adresa | směr | jméno | popis |
---|---|---|---|
0D8h | RD | MSR | Main status register |
0D8h | WR | OR | Operation register |
0D9h | R/W | Data | Data register (pouze přikazový a výsledkový) |
0DAh | RD | MySt | Tento port je tvořený obvodem LS244 a zpřístupňuje: – na bitu D0 signál DMA (požadavek o DMA) – na bitu D1 signál READY přímo z mechaniky floppy disku – na bitu D2 signál INT (požadavek o přerušení) |
0DAh | WR | CR | Control register |
0DBh | R/W | DMA | Data register nahrazuje DMA přenos dat |
Navíc ještě READ 0D8h způsobí set a WRITE 0DAh reset signálu TC Terminal count (Konec DMA přenosu).
Zde můžete stáhnout ovladač v asembleru.