Eigentlich wollte ich mich ja mit dem PP->ACSI Adapter beschäftigen, aber ich bekam eine Vortex HDplus 30 geschenkt und war abgelenkt.
Hier ein Bericht, damit nicht nur ich etwas davon habe.
Als neugieriger Mensch habe ich sie Natürlich sofort auseinander Geschraubt um die Innereien zu begutachten.
Ich fand ein Board mit einem XT (8Bit ISA) Anschuss und einer MFM-Controller-Karte ACB2072 (408106-00). Das hat mich gefesselt. Ich weiß das sich der IDE-Bus und die IDE-Register auf ISA-MFM-Controller Karten zurückführen lässt und immer noch Kompatibel dazu ist. Also begann ich nach der Suche von Informationen zum Controller, leider findet sich nahezu nichts mehr dazu. Nur ein Installationsguide von Adaptec war zu finden. Ich grub tiefer und fand in alten FreeBSD Hilfen eine Referenz auf den Controller. Dort wurde beschrieben, das dieser kompatibel zum WD1002 sein sollte, Aber auch zu dem war nichts mehr zu finden. Nur der WD1010 tauchte immer wieder auf und wird als Urvater des IDE-Interfaces beschrieben. Aber das hatte immer eine Kehrseite. Im IBM-PC werden die Register aller WD1010 kompatiblen Karten bei den Adressen &H01F0-&H01F7 eingeblendet. Die ACB2072 Hat aber ihre Register bei &H0320-&H0323 (was ich dem Installationsguide entnehmen konnte) Das wollte nicht zusammenpassen.
In einer Assemblersource zu PC/M Fand ich das der WD1002 kompatibel zum OMTI 5520 sein soll, und hier wurde ich fündig. In den Linux-Quellen fand ich die Treiberquellen (Linux/drivers/block/xd.c) für diesen Controller und damit auch eine umfassende Beschreibung der Funktionsweise. (Danke Linux-Leute das ihr nichts wegschmeißen könnt
).
Das Ergebnis ist etwas ernüchternd. Alle WD1002 Kompatiblem Karten funktionieren ganz anders als die wenig späteren WD1010 Kompatiblen. Das war recht enttäuschend. Es ist kein einfacher IDE-Adapter für die Vortex in Sicht. Aber etwas anderes fiel mir auf als ich mir die unterstützten Befehle in den Linux-Quellen anschaute. Die sahen aus wie ACSI-Befehle (bzw. SCSI). Alle wichtigen Kommandos hatten die selbe Befehlsfolge und auch die Art wie die Befehle an den Controller versendet werden erinnerte mich sehr an SCSI. Ein KommandoByte und dann eine Reihe von Parametern. Quittiert wird das mit einem StatusByte vom Controller. Das ist Praktisch SCSI, nur das die Adressierung der Festplatte fehlt. Dazu fand ich ein Register, welches zur Laufwerksselektion dient, wobei immer nur ein Bit gesetzt werden darf. Das ist exakt wie beim SCSI. (bei den MFM-Karten scheint nur 0 und 1 erlaubt zu sein)
Weiterhin stieß ich bei meiner Suche auf den Hinweis das FutureDomain SCSI Karten in der Vortex funktionieren sollten. Ich sehe nicht was dem entgegenstehen sollte. Ich habe mir zwar nicht angeschaut wie man eine XT-Bus FutureDomain SCSI-Karten programmiert, aber ich sehe keine Grund warum einige Hersteller nicht zum WD1002 kompatibel sein sollten.
Für die Vortex würde das bedeuten. Findet man eine Passende SCSI-Karte, lassen sich dort SCSI-Paltten verbauen. Aber nur zwei dürften sich ansteuern lassen (ID0 und ID1), sofern die Vortex-Firmware Nicht mehr als Zwei MFM-Platten erlaubt.
Aber ganz habe ich die Hoffnung auf nicht aufgegeben. Bei meinen Untersuchungen der Vortex-Karte habe ich festgestellt, dass 14 Adressbits des XT-Busses belegt sind. Von der Hardware her steht anderen XT-Karten kaum etwas im Wege. Es sollte möglich sein nahezu beliebige andere XT-Katen zu nutzen wenn die Firmware der HDplus angepasst wird.
Das Board wird mit einem z80 Betrieben und hat 2K-SRam. Der Adressraum wird in vier große Teile unterteilt wobei Ram, Rom und XT-Bus jeweils ein Teil nutzen. Vermutlich wird der letzte Teil für den ACSI-BUS genutzt. Das Alles sieht nicht sehr kompliziert aus und es sollte möglich sein eine Neue Firmware zu schreiben. Meine Erfahrungen mit dem Z80 sind beschränkt, aber möglicherweise findet sich mal jemand. :-) Der könnte dann auch gleich die ganzen Inkompatibilitäten austreiben...
Möglicherweise rühren die Inkompatibilitäten auch daher, das die MFM_Karte die Befehle direkt vom ACSI-Bus übernimmt und und nur minimale Transformationen stattfinden.
Dazu muss ich mal alles wieder zusammen bauen und ein paar Tests machen.