Hallo MFA-Freunde,
gestern habe ich meinen MFA-Floppycontroller so modifiziert, daß er bis zu vier Diskettenlaufwerke ansteuern kann.
Da die Drive-Select Logik nicht, wie bei den meisten neueren FDC-Chips, integriert ist, sondern als einfache TTL-Logik aufgebaut ist,
ist der Aufwand dafür sehr klein. Es wird lediglich ein zusätzlicher 74LS175 und ein bißchen Fädeldraht benötigt.
Damit wird das vorhandene 4 Bit Select-Register auf 8 Bit erweitert.
Die vorhandenen 7406 Treiber sind nicht voll belegt, es sind jeweils nur 4 von 6 Gattern benutzt.
Benötigt werden für die Erweiterung auf 4 Laufwerke 2 Bit des Select-Registers und 2 Treiber.
Weiterhin unbenutzt sind also noch 2 Bit im Select-Register und 2 Treiber-Gatter.
Das ist auch gut so, denn den Umbau auf 4 Laufwerke sehe ich nur als Zwischenstufe an.
Die 2 freien Bits im Select-Register habe ich bereits für die nächste Erweiterung verplant.
Zum Aufbau: Den zusätzlichen 74LS175 habe ich einfach Huckepack auf den vorhandenen gelötet.
Dabei habe ich die Pins an den Ecken (1,8,9,16) verlötet und alle anderen Pins des oberen IC abgebogen, um die Fädeldrähte anzulöten:
Im Schaltplan sieht das so aus:
So eine Hardwareänderung alleine bringt aber nicht viel. Damit man das nutzen kann, muß auch die Software mitspielen.
In diesem Fall bedeutete das erstmal, daß dem CP/M-BIOS die zusätzlichen Laufwerke beigebracht werden mussten.
Diese Aufgabe hat freundlicher Weise funkenzupfer übernommen.
Er hat die erforderliche BIOS-Anpassung vorgenommen, die - AUFGEMERKT - ebenso wie die Hardwareänderung - sofort im ersten Anlauf funktionierte.
Die Änderungen sind im Source mit (FSt) gekennzeichnet.
Wie man das geänderte BIOS auf eine Diskette bekommt, hat rfka01 hier beschrieben:
Achtung: hier sind auch die Portadressen für die zweite serielle Schnittstelle geändert.
Wer hier die ursprünglichen Portadressen braucht, muß diese Änderung im Source wieder rückgängig machen!
Noch nicht angepasst ist das Disketten-Formatierprogramm COPY.COM.
Vielleicht möchte sich da ja noch jemand einbringen?