16-Bit-DOS Code unter Linux
-
Hallo,
ist es möglich unter Linux irgendwie 16-Bit-DOS Code auszuführen?
Für eine Maschinensteuerung benötige ich harte Echtzeitfähigkeit. DOS gewährleistet dies, nur ist es halt total veraltet.THX
Manitu
-
Probier mal dosbox (kostenloser DOS-Emulator). Nur wirst Du damit nicht uneingeschränkt auf die Hardware (z.B. Parallelport) kommen.
Was die Echtzeitfähigkeit angeht würde ich mal sagen hängt auch einiges vom Wirtskernel ab. Wenn der Kernel dem Emulator zuwenig Zeit zum Arbeiten gibt, kann der Emulator selbst garnichts dafür :).
-
Das DOS Programm ist in ASM geschrieben. Heißt das jetzt, dass Direkt-portzugriffe unterbunden werden? Direktportzugriffe sind leider nötig, da auf Datenerfassungskarten (Analog/Digitalwandler ) zugegriffen werden muss.
Manitu
-
Manitu schrieb:
Das DOS Programm ist in ASM geschrieben. Heißt das jetzt, dass Direkt-portzugriffe unterbunden werden?
Es interessiert das Betriebssystem einen Dreck, worin das geschrieben ist. Ja, Port-Zugriffe sind verboten.
-
Es gibt noch dosemu, aber soweit ich weiß kann der auch keine direkten Interruptzugriffe etc.
Was du mal probieren kannst ist Bochs oder QEmu, vielleicht auch VmWare umd halt einen kompletten PC innerhalb von Linux zu emulieren.
-
Er will doch etwas echtzeitfähiges haben. Da ist ein Emulator wohl kaum zu gebrauchen.
Wie echtzeitfähig muss denn das sein? Über welche Schnittstelle kommunizierst du denn mit den Datenerfassungskarten? Gibt es keine Möglichkeit, das interruptgesteuert und/oder mit Hardwarepufferung zu machen, sodass du nicht bei jedem einzelnen Takt dein Programm wachsam halten musst, um nichts zu verpassen!?