Hallo, da ich meine alten ISA Mess u. I/O Karten nicht in die Tonne schmeißen will, habe ich mir einen Adapter gebaut um den ISA Bus über die LPT Schnittstelle mit einen modernen Rechner Steuern zu können. Der ISA Adressbus wir über 2 Latch angesteuert, der ISA Datenbus ist direkt mit D0 – D7 der LPT verbunden, außer dem werden Noch von ISA Bus /IOW und /IOR über die LPT Angesteuert. Die Karten sind ganz einfache I/O Karten ohne IRQ, nur 8 Bit Lesevorgang: - es wird die Adresse in die beiden Latchbausteine geschrieben - das LPT Register ( D0 - D7) wir auf lesen geschaltet - /IOR wird auf low gesetzt Leider werden von den ISA Karten keine Daten gesendet, muss noch was vorher auf den ISA Bus gemacht werden? Wie lang werden eigentlich die Daten auf dem ISA Bus zum Lesen gehalten? Solange wie /IOR auf low ist ? Vielen Dank für die Hilfe !!
Fangen wir doch mal andersrum an mit raten: Welche Signale werden denn benutzt, d.h. ist belegt? Welche ausser den o.A. Signalen steuerst du noch an? Reset wär beispielsweise so ein Kandidat. Hast du AEN auf der Rechnung? Kannst du festnageln, aber nicht ignorieren.
AEN ist auf GND gelegt /MEMW u. /MEMR auf +5V Reset DRV auf GND kann mit Taster auf +5V geschaltet werden /DACK 1, 2 und 3 auf +5V ALE auf +5V benutzt von den Karten werden eigentlich nur der Adress Bus und der Datenbus so wie /IOR, /IOW und AEN
Dann sollte es eigentlich funktionieren. > Wie lang werden eigentlich die Daten auf dem ISA Bus zum Lesen gehalten? > Solange wie /IOR auf low ist ? Es dauert nur wenige Sekunden, um Tante Gugel das ISA Timing zu entlocken. Zur Not suchst du nach PC104.
das hab ich auch schon an ein paar Abenden gemacht aber die Frage konnte ich nicht ganz klären, ob die Daten so lang auf den Bus bleiben bis /IOR wieder auf 5V geht z.B. einige Sekunden.
Ok, das kann sein. Niemand hatte beim ISA Bus jemals Zeiträume von mehreren Sekunden pro Buszyklus im Auge.
also in meinen Fall sind es ein ms aber trotz dem ist halt die Frage wie lang die Daten auf den Bus gehalten werden oder ob ich noch was anderes beachten muss. In Netz findet man nur immer die min Zeiten der Impulse des ISA Bus. Hat vielleicht schon jemant mit einen Mikrocontroller den ISA bau angesteuert der helfen Kann ?
Stefan H. schrieb: > In Netz findet man nur immer die min Zeiten der Impulse des ISA Bus. Die Maximalwerte sind oft aus dem Takt ableitbar, mit dem der ISA-Bus üblicherweise betrieben wird - nämlich 4.77 MHz oder mehr. Langsamer aber nicht.
ah, ja da wird mein Problem liegen mit meinen 2ms bin ich da etwas zu langsam. Dann muss ich wohl zum lesen und schreiben des Datenbuses auch noch ein Latch verwenden. Danke !
Es gibt auch ferige USB-ISA Adapter mit dem Cypress FX2. VIelleicht wäre das was. Oder mit dem halt selber machen, das GPIF kannst du dafür ganz sicher verwenden und sehr frei programmieren.
Hallo Stefan, hat das bei dir geklappt ? Ich wollte mir auch mal so einen ISA Adapter bauen. Ich hatte hier schon mal eine Suche gestartet. Beitrag "[S] USB to ISA Adapter" Dabei ist ein ganz brauchbarer Ansatz herausgekommen. Ich muss mich da noch etwas tiefer einlesen. Aber ich denke ich werde mir mal diesen EPP to ISA Adapter bauen. http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/LPTISA/ Gruss, Wole aus ES
Hallo Wolfgang, nein bei mir funktionirt das Ding noch nicht. Ich habe das Projekt erstmal zurück gestellt. Über den EPP to ISA Adapter bin ich auch später gestolpert, habe ich aber noch nicht nachgebaut. Vielleicht kannst du mich auf dem laufenen halten, sobald der Adapter funktioniert. Würde mich sehr interessieren. Gruß RCD
Hallo Wolfgang, So der Login geht wieder, jetzt nochmal richtig. > nein bei mir funktionirt das Ding noch nicht. > Ich habe das Projekt erstmal zurück gestellt. > Über den EPP to ISA Adapter bin ich auch später gestolpert, habe ich > aber noch nicht nachgebaut. > > Vielleicht kannst du mich auf dem laufenen halten, sobald der Adapter > funktioniert. > Würde mich sehr interessieren. Gru? Stefan
Hallo Stefan, ich versuche mal ob ich noch den EPP Treiber bekomme. Den SCP Treiber kannst du dir ja runterladen. Ich denke aber der ist für meinen Fall etwas zu lahm. Ich würde dann auch beim Jakob Kleinen eine Platine machen, da könntest du eine von haben. Die sind echt gut und günstig. Ich halte dich auf dem laufenden. Gruss, Wolfram
Warum benutzt Ihr denn nicht eine PCI-ISA Bridge? Das ist bewährt und millionenfach verbaut, Ihr habt die Original-Geschwindigkeit und könnt ggf. sogar die Original Software für die ISA-Karten verwenden. fchk
Frank K. schrieb: > Warum benutzt Ihr denn nicht eine PCI-ISA Bridge? Das ist bewährt und > millionenfach verbaut, Ihr habt die Original-Geschwindigkeit und könnt > ggf. sogar die Original Software für die ISA-Karten verwenden. Oder ein Mainboard mit ISA-Bus kaufen. Gibt es im Industrie-Bereich wie Sand am Meer: http://www.adek.com/ATX-motherboards.html http://www.alptech.de/Angebote_isa.htm http://www.ibase.com.tw/2009/MB945.html
Frank K. schrieb: > Das ist bewährt und > millionenfach verbaut Bei genauerem Studium der Datenblätter ergibt sich leider, dass das keineswegs so einfach ist - einige verweisen z.B. darauf, dass die Bridge nur für die Integration in ein PC-Motherboard geeignet ist und wegen fehlender Signale auf dem PCI-Bus keine 100%ige Adapterkarte für ISA gebaut werden kann. Gruss Reinhard
Reinhard Kern schrieb: > Frank K. schrieb: >> Das ist bewährt und >> millionenfach verbaut > > Bei genauerem Studium der Datenblätter ergibt sich leider, dass das > keineswegs so einfach ist - einige verweisen z.B. darauf, dass die > Bridge nur für die Integration in ein PC-Motherboard geeignet ist und > wegen fehlender Signale auf dem PCI-Bus keine 100%ige Adapterkarte für > ISA gebaut werden kann. ... was aber im Wesentlichen Legacy DMA (das wird nur für den Diskettencontroller und ggf den ECP-Port benötigt) und ggf noch Busmaster DMA betrifft. Beides wird hier nicht benötigt. fchk
Hallo, ja sowas hab ich auch schon gesehen. Ich hab aber nix gefunden wo ich sowas kaufen kann. Der Nachteil dabei ist das ich das nur in einem Desktop rein bekomme. Beim Laptop wird das schon schwierig. http://www.diytrade.com/china/pd/3108380/PCI_to_ISA_Convertor_Module_PCM_9004.html Gruss, Wolfram
Hallo Stefan, ich habe mich jetzt mal etwas mit dem Treiber beschäftigt. Ohne den macht das ganze eh keine Sinn. Ich habe die EPP Logik etwas entwirt, würde ich gerne in ein GAL packen da mir nicht kar ist ob das wirklich so tut. Ich habe auch zusammengeschrieben was für einen Treiber alles benötigt wird. Wie daraus mal eine DLL (VDD Treiber) werden soll ist mir noch nicht klar. Da bei mir nur auf 8 Adr. gelesen und geschrieben wird sollte eine Lese und Schreib Funktion schon reichen. http://www.kaissers.de/embedded/EPP2ISA/LPT2ISA_Logic.pdf http://www.kaissers.de/embedded/EPP2ISA/Lpt2IsaVDDsrc.txt Gruss, Wolfram
Wolfram Kaisser schrieb: > Hallo, > ja sowas hab ich auch schon gesehen. Ich hab aber nix gefunden wo ich > sowas kaufen kann. Das kann man ja auch selber machen. > Der Nachteil dabei ist das ich das nur in einem Desktop rein bekomme. > Beim Laptop wird das schon schwierig. > http://www.diytrade.com/china/pd/3108380/PCI_to_ISA_Convertor_Module_PCM_9004.html Das waren doch auch Desktop-Karten, oder? LPT-Spielereien würde ich lassen. Dein nächstes Notebook wird kein LPT mehr haben. Das stirbt auch aus. Schau Dir mal das hier an: http://www.ftdichip.com/Support/SoftwareExamples/MPSSE/FT2232C-Proj04.pdf Sollte auch für Deine Karten funktionieren. Anstelle des FT2232C würde ich einen FT2232H und Levelshifter (der H ist ein reiner 1.8V/3.3V Chip, hat aber USB 2.0 High Speed, der C kann nur Full Speed, kann aber auch noch mit 5V-Pegeln arbeiten) verwenden. fchk
Hallo Frank, na das ist doch mal was feines. Genau sowas hatte ich schon bei Cypress gesucht aber nicht gefunden. Wie ist das mit dem Treiber. Meine alte Anwendung läuft unter XP in der DOSbox. Was benötige ich den dann für einen Treiber. Einen VxD (.386) oder einen VDD für NT ? Ja die alte Karte ist auch im Desktop. Aber wenn ich mir schon den Aufwand mache soll es auch einen Vorteil haben. Ich dachte die EPP2ISA Lsg ist recht einfach und schnell. Einen DruckerPort bekommt man doch noch über die DockingStation oder sind die da auch schon weg. Gruss, Wolfram
Wolfram Kaisser schrieb: > Einen > DruckerPort bekommt man doch noch über die DockingStation oder sind die > da auch schon weg. Sind da auch schon lange nicht mehr vorhanden, bzw. wenn vorhanden, dann per USB angebunden und wirklich nur noch als Druckerschnittstellen nutzbar. Dein Projekt hätte mehr Chancen, wenn Du einen etwas leistungsfähigeren µC (z.B. irgendein einfach verarbeitbarer ARM mit USB-Device-Interface) verwenden würdest, an den die ISA-Karte(n) anschließen würdest und den µC mit einem noch zu definierenden Protokoll über USB mit dem PC kommunizieren lässt. Wenn die Programme auf dem PC auch noch steinalte DOS-Programme sein müssen, könntest Du Dich an dem Devicetreiber von Henrik Haftmann orientieren, der I/O-Zugriffe auf die I/O-Adressen des Druckerports abfängt (Du müsstest stattdessen die Deiner ISA-Karten verwenden) und auf sein USB-Protokoll umbiegt. Sinnvoller aber dürfte es sein, auch mal loslassen zu können und die steinalte DOS-Software aufzugeben -- und für die per USB angebundenen ISA-Karten beispielsweise LabView- oder sonstwas-Treiber zu entwickeln. Je nachdem, was das für Karten sind und was damit geschehen soll, ließe sich ja auch ein Teil der "Intelligenz" in den oben erwähnten µC verlagern, so daß auf dem PC bereits "vorverdaute" Daten ankommen.
Wolfram Kaisser schrieb: > Wie ist das mit dem Treiber. Meine alte Anwendung läuft unter XP in der > DOSbox. Was benötige ich den dann für einen Treiber. Einen VxD (.386) > oder einen VDD für NT ? VxD gibts nur bei Win 9x. Den VDD musst Du Dir selber schreiben. Viel Spaß dabei. Der Aufwand ist erheblich. > Ja die alte Karte ist auch im Desktop. Aber wenn ich mir schon den > Aufwand mache soll es auch einen Vorteil haben. Wie gesagt, bei einer PCI-ISA-Bridge oder einer PCIe-ISA-Bridge bräuchtest Du keine Treiber, und wenn Du mal einen geschrieben hättest, würdest Du diesen Vorteil zu würdigen wissen. > Ich dachte die EPP2ISA Lsg ist recht einfach und schnell. USB ist schneller. > Einen > DruckerPort bekommt man doch noch über die DockingStation oder sind die > da auch schon weg. Oft nur noch über USB angebunden, und damit wirklich nur noch für Drucker verwendbar. fchk
>Wie lang werden eigentlich die Daten auf dem ISA Bus zum Lesen gehalten? >Solange wie /IOR auf low ist ? Ja, (bzw wie /MEMR low ist). (Dafür braucht man auch kein Taktsignal , könnte aber sein dass die Karte intern das braucht) Aber das kannst du wahrsch. an der Karte direkt sehen, wenn die noch diskret TTL-ICs hat, wird irgentwie auf '245 gehen. Ich würde aber zum Ansteuern einen uC nehmen. Zur Not kann das auch ein AVR 'von Hand zu Fuss' machen.
Hallo zusammen, so jetzt hab ich für das alte Teil auch noch ein Platinchen gemacht. Jetzt will ich mal hoffen das es irgendwie doch mit dem Treiber klappt. Sonst war das ganze hier für die Tonne ;-)) Das mit dem Treiber kapiere ich noch nicht so ganz. Die Anwendung läuft doch unter XP in der DOSbox. Da kann die doch gar nicht mehr auf die PC HW zugreifen. Ich brauche doch irgendeinen Treiber der die ISA R/W Befehle aus der DOSbox in die XP Welt auf den LPT oder meinetwegen auch USB umlenkt. Was mir jetzt noch nicht ganz klar ist. Reicht es einen Treiber in der DOSbox zu installieren, also etwas mit xyz.386 bwz VxD. Oder muss ich in XP einen Treiber installieren, also einen VDD. http://www.kaissers.de/embedded/EPP2ISA/EPP2ISA_brd.pdf http://www.kaissers.de/embedded/EPP2ISA/LPT2ISA_Logic.pdf Gruss, Wolfram
Wolfram Kaisser schrieb: > Reicht es einen Treiber in der DOSbox zu installieren, also etwas mit > xyz.386 bwz VxD. > Oder muss ich in XP einen Treiber installieren, also einen VDD. Nochmal zum Mitmeißeln: Unter NT gibt es keine VxDs. Die gibt es nur und ausschließlich unter Windows 3.x und 95/98/ME. Du brauchst einen Physical Device Driver - aber hier hast Du ja den Parallelporttreiber von NT, den Du eventuell verwenden kannst, und einen VDD für die Dosbox, die dann aus den Registerzugriffen IRPs für den PDD erzeugt. Wenn es darum geht, Zugriffe auf IO-Ports zu ermöglichen, gibt es solche Sachen wie giveio.sys etc, die einfach die IO-Permissions passend setzen. Eventuell passt das dann auch für die DOS-Boxen - das habe ich nie probiert, ich habe keine 16-Bit Software mehr. Mit 64 Bit Windows hat sich die ganze DOS-Geschichte ohnehin erledigt. Das kann keinen 16 Bit Code mehr ausführen. Das solltest Du wissen. fchk
Wolfram Kaisser schrieb: > Ich brauche doch irgendeinen Treiber > der die ISA R/W Befehle aus der DOSbox in die XP Welt auf den LPT oder > meinetwegen auch USB umlenkt. Die gibt es garnicht, Dosbox emuliert per Software einen typischen IBM PC mit S3 Grafikkarte, Sound, ev. Netzwerk, hat aber mit Hardware für den ISA-Bus garnichts zu tun. Also du gibst Sound aus an die emulierte Soundkarte und Dosbox gibt diesen Sound auf dem aktuellen PC wieder - da steckt eben keine Soundkarte im ISA-Bus! Und wenn du eine Bridge hast, ist keineswegs gesagt, dass die Register deiner Karte im Adressraum da liegen wo sie dein DOS-Treiber erwartet, ich denke das ist eher sehr unwahrscheinlich. Dazu müsste die Bridge den Memory- und I/O-Bereich eines alten PC nachbilden, insbesondere das 1. MByte, und ich schätze das kollidiert mit allem was da heute so drin ist. Der I/O-Bereich z.B. wird per PCI-Konfiguration irgendwo eingeblendet, wo das Betriebssystem meint, wahrscheinlich an Adressen, die dein DOS-Programm primzipiell nicht ansprechen kann. Vergleiche mal die Resourcen deiner PCI-Karten mit den Adressräumen des ISA-Bus. Möglicherweise kann man einer PCI-Karte eine DOS-kompatible Adresse fest zuweisen, aber von selbst geht das auch nicht. Manche seriellen Karten lassen sich auf "alte" Adressen für COM-Ports einstellen - per Windows-Treiber, nicht per Jumper. Gruss Reinhard
Äh ... reden wir jetzt von der in XP eingebauten NTVDM oder der Freeware DosBox.EXE (http://www.dosbox.com/)? fchk
Frank K. schrieb: > Äh ... reden wir jetzt von der in XP eingebauten NTVDM oder der Freeware > DosBox.EXE (http://www.dosbox.com/)? > > fchk Dosbox ist Dosbox.exe, das andere heisst Eingabeaufforderung. Aber vielleicht hat das ja schon der TO verwechselt, bloss hilft das nicht weiter, weil sich alte DOS-Treiber auch in einer aktuellen Eingabeaufforderung nicht verwenden lassen - es handelt sich ja auch keineswegs um ein Fenster, in dem Dos 6.22 oder was auch immer läuft (sondern ein 32 oder 64bit-cmd.exe). Gruss Reinhard
Reinhard Kern schrieb: > Dosbox ist Dosbox.exe, das andere heisst Eingabeaufforderung. Das meinst aber auch blos du! Die haben den Begriff nur gekapert. Ich kenne den Begriff DOS-BOX seit W95 und OS/2.
Michael_ schrieb: > Ich kenne den Begriff DOS-BOX seit W95 und OS/2. Du hättest zu Ende lesen sollen (ja ich weiss, das ist ja so mühsam). Von DOS ist da wo du meinst schon lange keine Rede mehr. Versuch doch mal in deiner angeblichen DOS-BOX einen cd-Treiber und MSCDEX zu laden. Gruss Reinhard
Hallo zusammen, ja mit DOSbox meine ich schon die ComandShell (cmd) von XP. Ich hab in meinem Platinen Design noch einige Bugs gefunden und das ganze aktualisiert. Die Logik vom GAL hab ich mal angefangen, bin mir aber noch nicht ganz klar wie das mit dem D-FF (Reset) wirklich geht. http://www.kaissers.de/embedded/EPP2ISA/EPP2ISA.gal Jetzt muss ich mir erst mal auf einer Lochrasterkarte eine TestHW fädeln damit ich am LPT was rausschreiben und einlesen kann. Ein kleines Testprogram hab ich schon womit ich was auf den ISA Bus rausschreiben und lesen kann. Wenn das mit dem Treiber irgendwann mal tut müsste das ja auf dem LPT rauskommen. Morgen geht das mit dem geschaffe wieder los. Dann ist es vorbei mit der schönen alten Zeit ;-) PS: Wenn nur eine ISA Karte drann ist dann ist das H-AdrByte fix (Mäuseklavier). Damit sind es bei ECP nur noch 2 Schreibzyklen (L-AdrByte, Data). Gruss, Wolfram
Reinhard Kern schrieb: > Michael_ schrieb: >> Ich kenne den Begriff DOS-BOX seit W95 und OS/2. > > Du hättest zu Ende lesen sollen (ja ich weiss, das ist ja so mühsam). > Von DOS ist da wo du meinst schon lange keine Rede mehr. Versuch doch > mal in deiner angeblichen DOS-BOX einen cd-Treiber und MSCDEX zu laden. Damals wurde das, was du "Eingabeaufforderung" nennst, schon Dosbox oder Dosfenster genannt. Von dosbox.exe war da am Horizont noch nichts gesehen. Außerdem wurde unter W95/98 das mit der Config.dos und autoexec.dos das mit den Treibern geregelt.
Damit man legacy-HW günstig nutzen kann, alle möglichen Vintage-Computer gibt es doch mittlerweile auf FPGAs, warum also keine alten PCs ?
Nur um noch eine andere Idee in den Raum zu werfen: DOSBox (http://www.dosbox.org) ist ja Open Source. Dort ein paar I/O-Ports anzufangen ist leicht, wenn du C++ kannst. Die bereits integrierte Hardware kann als Beispielcode genutzt werden. Das ist wirklich ganz logisch gestaltet, du brauchst nur eine Funktion zu schreiben, die das Lesen eines Ports behandelt und eine die das Schreiben behandelt. Dazu noch etwas Initialisierungscode, und fertsch. Schreib dir also deine eigenen Funktionen, die die Port-Zugriffe einfach an deine ISA-Bridge weiterleiten. Da brauchst du dann keine weiteren Treiber mehr, du musst nur wissen, wie man deine Bridge anspricht. Zusätzlicher Bonus: Du hast weniger Probleme mit Latenzen, weil für das DOS-Programm die Zeit anhält, während du dich mit USB/LPT abmühst. Das DOS-Programm merkt nicht, dass die Zugriffe langsamer sind.
Sam P. schrieb: > DOSBox (http://www.dosbox.org) ist ja Open Source. Bist Du Dir mit der URL sicher? Das ist ein Blog. Du meinst www.dosbox.com bzw. http://sourceforge.net/projects/dosbox/
> Gibt es eigentlich keine IBM kompatiblen im FPGA ? http://www.ht-lab.com/freecores/cpu8086/cpu86.html Gruss Heinz
Eher: http://zet.aluzina.org/index.php/Zet_processor Das funktioniert nämlich schon zum Booten von Dos / Win 3.0 :)
Hallo zusammen, das mit der DOSbox.com ist ne super Idee. Hab ich mir gleich mal installiert und ausprobiert. Nach dem ich etwas im Forum gelesen habe musste ich leider feststellen das die gar kein LPT unterstützt. Dazu gibt es ein MegaBuild das einige extra Features hat. http://home.arcor.de/h-a-l-9000/megabuild.html Da gibt es auch schon etwas vergleichbares http://vogons.zetafleet.com/viewtopic.php?t=34038 Na ja wenn das so einfach währe gäb es den Thread hier wohl nicht. Gruss, WoleES
Hallo zusammen, das Megabuild bringt mich jetzt doch einen grossen Schritt weiter. Auch wenn ich es wohl gar nicht brauche. Die verwenden das PortTalk. http://retired.beyondlogic.org/porttalk/porttalk.htm Da gibt es noch einige coole Tools und Sourcen zu finden. http://retired.beyondlogic.org Mit dem AllowIO kann ich die ISA Ports in der DOSbox freischalten, damit komme ich raus zu Windows. Jetzt muss ich noch raus bekommen wie ich das PortTalk nutzen kann um in Windows die ISA R/W zum EPP umzuleiten. Gruss, WoleES
PortTalk ist ein Sammelsurium von Portzugriffs-Freigaben und für den physikalischen Speicherzugriff. Die wesentliche Komponente ist, per IOPM-Modifikation (Input Output Permission Map, eine 80386-Prozessordatenstruktur) Portzugriffe aus Ring 3 (User Mode) direkt zu erlauben. Dies läuft am schnellsten, ist aber auch am unportabelsten. Sicherlich verwenden Sie genau diese Funktionalität. Daher ist das Abfangen und Umleiten von Portzugriffen, zumindest mit PortTalk, nicht möglich. Mir ist kein Programm bekannt, dass dies tut, solange Portzugriffe hart kodiert im (Win32-)Anwenderprogramm oder Treiber vorliegen. Anders sieht die Sache für Win16- und DOS-Programme aus; hier hilft (nur) ein selbst zu schreibender VDD (Virtual Device Driver) für NT-basierte Systeme bzw. ein VxD für Win9x. Die Dokumentation ist da inzwischen ziemlich dünn. Da sollte man alte MSDN-Ausgaben (CDs) aus der Zeit von NT 3.51 oder 4.0 bemühen; neuere Ausgaben schweigen sich darüber nahezu komplett aus. Von Vorteil für VDDs ist, dass diese im User Mode laufen und man sich nicht mit Kernel-Mode abärgern muss. Nachteil: Mit Win64 ist damit (offiziell) Schluss. Logischerweise beißt sich der Einsatz von PortTalk mit diesem VDD. (PortTalk hat Vorrang.) Auch kann es sein, dass bestimmte Portadressen (eben des Druckerports) von einem System-VDD bereits abgedeckt sind; diesen müssten Sie erst mal deaktivieren oder umgehen. Echte NT-Treiber haben mit Ihrem Problem nichts zu tun; wenn Ihnen jemand derartige Beispiele andreht, ignorieren. Anders sieht es mit Win32-Anwenderprogrammen aus, die eine DLL für Portzugriffe benutzen. (Ich favorisiere InpOut32.dll, da diese ohne jede Installationsprozedur läuft, auch unter Win64.) Hier fällt es leicht, eine zugeschnittene Ersatz-DLL zu schreiben, da die Schnittstelle mit den beiden Funktionen Inp32() und Outp32() denkbar simpel ist. Das Umlenken von Portzugriffen via USB klingt zwar verlockend, durch die Paketisierung in 125-µs-Takt (High-Speed) werden jedoch Portzugriffe deutlich verlangsamt (ISA: 1 µs). Dann kommt es auf Ihr Problem drauf an, ob's stört oder nicht. Mit FireWire ist's das gleiche. Deshalb ist es IMMER besser, die Low-Level-Kommunikation in einem USB-Mikrocontroller ablaufen zu lassen und via USB nur bereits vorgefertigte Daten zu schicken. Klar, dass eine derartige Modifikation den Zugriff zum Quelltext erfordert (deshalb ist ja open-source so WICHTIG für Zukunftssicherheit). In manchen Fällen kann man mit einer Emulationsschicht das Latenzproblem ohne Quelltextzugriff erschlagen; dann bleibt das Programm aber altbacken und wacklig. In manchen anderen Fällen ist das Programm bereits genügend modular aufgebaut, dass eine DLL mit einer klaren Schnittstelle vorliegt, die genau das macht, was man in den USB-Mikrocontroller verfrachten kann. Eine Ersatz-DLL leitet dann auf USB um. Das Problem mit der 125-µs-Latenzzeit lässt sich mit anderen Bussystemen oder Lösungen umgehen: * PCI-zu-ISA-Brücke * PCIexpress-zu-ISA-Brücke * eSATA (?) * direkte Programmierung des USB-Hostcontrollers Alles das erfordert Investitionen im >10000-€-Bereich. Wird sich für die allermeisten ISA-Karten nicht lohnen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.