Floppy-disk controller 860409 (c) 1986 by ORD-GROUP 20 Floppy-disk controller De floppy-disk-kaart van de ORDINATOR is ontworpen om twee 5.25 inch disk-drives aan te sturen. Dit gebeurt met behulp van de Western Digital WD1791. Het unieke van de ORDINATOR floppy-disk-kaart is dat de data niet, zoals bij vele computers gebruikelijk is, door de CPU zelf via een I/O-poort naar binnen moet worden gehaald. Dit gebeurt ook niet door middel van een DMA-controller. De floppy-disk-kaart bevat 1k-RAM waarin alle data wordt gezet. Aan het einde van b.v. een leescommando kan de CPU de informatie gewoon uit die RAM halen. Bij het beëindigen van een commando wordt een interrupt gegeven. De CPU hoeft dus alleen maar een commando te initiali- seren, de hardware doet de rest. De 1k DMA-RAM is gewoon opgenomen in het adresbereik van de ORDINATOR en hierdoor heeft de ORDINATOR een zeer eenvoudige ROM-booters. De CPU hoeft alleen maar de 1791 te initialiseren, track 0 te zoeken, het sector-register goed te zetten, de DMA-RAM in te schakelen en een lees-opdracht te geven. Daarna kan de routine uitgevoerd worden door een sprong te maken naar de DMA- RAM. De Floppy-disk-kaart maakt gebruik van 6 I/O-poorten. Vier hiervan zijn van de 1791. Op de vijfde I/O poort kan men de 'disk-changed' signalen lezen. Deze 'disk-changed' signalen vormen een handige feature van het ORDINATOR Floppy-disk-systeem. Als het deurtje van één van de twee disk-drives geopend wordt, wordt het bijbehorende bit op deze poort ge-set. Dit bit kan weer ge-reset worden door hetzelfde bit te schrijven naar de poort. TS maakt hiervan gebruik om te zien of een disk verwisseld zou kunnen zijn. Als de zesde poort gelezen wordt is alleen bit 7 relevant, dit bevat de status van de 1k-RAM-buffer (ook DMA-RAM genoemd). Als dit bit 1 is dan is er nog een actie in die RAM-buffer aan de gang, anders niet. Naar deze poort kan ook geschreven worden, dan hebben de ver- schillende bits de volgende betekenissen: bit 7 DMA-RAM aanschakelen bit 6 DMA-RAM lezen of schrijven selectie. bit 5 Write-precompensation aanschakelen. bit 4 Geen functie. bit 3 FM of MFM (signle-density of double-density) selectie. bit 2 Drive 0 of 1 selectie. bit 1 Head 0 of 1 selectie. (De drives zijn double-sided.) bit 0 Speciale interrupt enable. Met bit 0 kan de interrupt die gegeven wordt als een lees- of schrijfcommando klaar is aan- of uitgeschakeld worden. Floppy-disk controller 860409 (c) 1986 by ORD-GROUP 21 De DMA-RAM kan worden gelezen en geschreven via een geheugen- segment. De DMA-RAM hoeft niet aangeschakeld te worden, als dat beter uitkomt kan de data-poort van de 1791 ook nog gebruikt worden. Dit is o.a. noodzakelijk voor het instellen van het track- en sectornummer (met het SEEK-commando) en het gebruiken van de TRACK-WRITE-functie. Voor dit laatste commando moet namelijk meer dan 1024 bytes aan de FDC doorgegeven worden en dat kan dus niet via de DMA-RAM, want die is maar 1k.