Forum: PC Hard- und Software Problem mit altem DOS-Programm


von Tobias P. (hubertus)


Lesenswert?

Hallo Leute,
mal ne Frage: Ich hab hier so ein Programm, das aus DOS-Zeiten stammt. 
Es ist ein Debugger, den ich für ein neues Mikrocontrollerboard 
benötige. Natürlich gibt es neuere Software, aber die ist leider nicht 
mehr gratis... wie dem auch sei: Das Programm benötigt Zugriff auf die 
IO-Ports des PCs. Und da ich nun mal kein DOS mehr habe, klappt das 
nicht... Windows XP weigert sich strikt, mein Programm normal laufen zu 
lassen. Es startet zwar ordnungsgemäss in der Konsole, meckert aber dann 
nur rum, dass es keinen Portzugriff hat und hängt sich auf. Meine Frage: 
Gibt es nicht irgend eine Möglichkeit, diese alten DOS-Sachen doch noch 
irgendwie unter XP zum Laufen zu bringen? Ich habe nicht vor, die 
Software richtig einzusetzen. Ich benötige Sie nur für ein paar Tests, 
danach schreibe ich mein eigenes Programm.

Wenn jemand weiss wie das geht - Portzugriffe auf Windows XP 
freischalten - das würde mich sehr interessieren. Quellcode des 
Programms habe ich leider keinen.
Grüsse
   Tobias

von Paul Baumann (Gast)


Lesenswert?

Versuche es einmal mit "Giveio"
Da ist ein 
Link:http://www.nf.fh-nuernberg.de/~jesorsky/skript-c/port.htm

MfG Paul

von Christoph db1uq K. (christoph_kessler)


Lesenswert?


von Tobias P. (hubertus)


Lesenswert?

Habe soeben DosBox und GiveIO.sys ausprobiert. leider hat beides nicht 
gefunzt...
Bei GiveIO habe ich das Vorgehen  nicht ganz verstanden. Ist das 
einzige, was man tun muss, die GiveIO.sys installieren? Und dann? Woran 
merkt die Software, dass sie jetzt GiveIO anstatt den normalen 
Portzugriff verwenden soll?

Grüsse
     Tobias

von Paul Baumann (Gast)


Lesenswert?

>Zitat aus dem Link:
Kopieren Sie den Device Driver giveio.sys in das Verzeichnis 
"winnt/system32/drivers" und richten Sie ihn mit dem 
Installationsprogramm LoadDrv.exe von Paula Tomlinson ein 
(Administrator-Rechte erforderlich!):

Ich habe keine Probleme damit gehabt. Genutzt wird es bei mir, um einen
Booster für die Modellbahn mit "Railyplan" anzusteuern.

MfG Paul

von Tobias P. (hubertus)


Lesenswert?

@Paul: Du hast also nichts weiter gemacht, als den GiveIO.sys in den 
Ornr kopiert, das install programm ausgeführt und es klappt?

Ich muss es nochmals versuchen....

von *.* (Gast)


Lesenswert?

Um welche I/O-Ports gehts denn?

von Tobias P. (hubertus)


Lesenswert?

@*.*:
es geht darum, dass mein DOS-Programm zugriff auf den Parallelport 
benötigt. Windows XP verweigert den aber...

von Paul Baumann (Gast)


Lesenswert?

@Tobias
...ganz grünau! ;-) Wenn Du Loaddrv.exe aufrufst, kannst Du den 
giveio-Treiber starten, abschalten oder auch ganz rausschmeißen.

MfG Paul

von *.* (Gast)


Lesenswert?

@ Tobias Plüss:

Dann probier mal meine spezielle DOSBox-Version für die Parallele:

http://home.arcor.de/h-a-l-9000/

-> parallel port passthrough
In der dosbox.conf aber noch einstellen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Giveio einfach nur zu installieren genügt NICHT.

Zusätzlich muss für die DOS-VDM, in der das betreffende Programm läuft, 
der Treiber auch aktiviert werden.
Dazu genügt ein Dateizugriff auf eine Datei namens "\\.\giveio".

Wichtig ist aber, daß dieser aus derselben DOS-VDM heraus geschieht, aus 
der heraus auch das DOS-Programm aufgerufen wird. Mit einer Batchdatei, 
die von command.com (und NICHT cmd.exe) abgearbeitet wird, kann das 
sichergestellt werden.

von Tobias P. (hubertus)


Lesenswert?

hallo Rufus,
und wie macht man denn den einzelnen Dateizugriff auf "\\.\giveio" ?
ich meinte jetzt mittels der Batchdatei.

Grüsse
  Tobias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mit einem Trick:

[dos-aufruf.bat]
1
debug \\.\givelpt < Q
2
programm.exe

Wichtig ist, daß diese Batchdatei mit command.com und nicht cmd.exe 
aufgerufen wird.

"programm.exe" ist natürlich durch den Namen des entsprechend 
aufzurufenden Programmes zu ersetzen.

von Tobias P. (hubertus)


Lesenswert?

hallo Rufus,
leider klappt das bei mir nicht. Ich gebe in Command.com ein "debug 
\\.\giveio < Q", dann erscheint jedoch der Error "Das system kann die 
angegebene Datei nicht finden".

Was mache ich falsch?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Kein debug.com auf Deinem Rechner vorhanden?
giveio nicht installiert?

von *.* (Gast)


Lesenswert?

Giveio ist scheiße weil es alle Ports gleichzeitig freischaltet und das 
DOS-Programm so auch systemkritische Hardware 
(Timer/Interruptcontroller/...) anfassen kann. Tschüß NT..

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sicher, das ist nur eine Krücke. Aber es gibt Momente, in denen man 
darüber froh ist.
Wenn man beispielsweise den noch irgendwo herumliegenden EPROM-Brenner 
für den Parallelport nutzen kann ...

Und natürlich sollte man giveio und Konsorten nur nutzen, wenn man 
wirklich sehr genau weiß, was die damit verwendeten Programme anstellen.

von Tobias P. (hubertus)


Lesenswert?

@Rufus: Dochdoch, sowohl command.com als auch debug sind auf meinem 
Rechner vorhanden. Daran solls also nicht liegen. Wenn ich debug 
eingebe, funktioniert der Befehl jedenfalls. giveio.sys ist auch 
installiert und gestartet; man sieht ihn sogar unter 
"Arbeitsplatz/Gerätemanager" aufgelistet; auch dort heisst es "Status: 
gestartet". Soweit sollte also das Zeug funktionieren.

von Tobias P. (hubertus)


Lesenswert?

@*.*: Sry, ich habe erst jetzt deinen Link gesehen für deine spezielle 
Dosbox-Version. Ich hab das Teil runtergeladen und installiert, und 
siehe da - es scheint zu klappen ;) toll, danke!

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
Noch kein Account? Hier anmelden.