Wiederbelebung, Direktzugriffe auf I/O-Ports unter aktuellem Windows, c't 24/15 S.182 

Dateien
DOSBOX-074.zip Sourcen c't Version mit DirectIO-Mglichkeit fr vorgegebene Port-Bereic
							 samt Projectmappe und Projekt (32 bittig) in dosbox-0.74\visualc_net
Liesmich       das hier

 
Dosbox-074 wurde um die Klasse DirectIO erweitert, mit eigenen Handlern fr Readport() und Writeport() (nur 8bittig) in DirectIO.cpp
Diese Fassung ist ohne ipx-Support und Screenshot-Modul erstellt. Die muss man gegebenenfalls dazuladen (siehe Doku von Dosbox).  

In Dosbox.ini gibt es nun eine Sektion [directio] die folgende Eintrge kennt: 
from = StartPortadresse 
offset = Translation der Adresse (default:0); Zieladressen <0x100 und im PCI-Bereich 0xcf0 .. 0xcff werden ignoriert! 
size  = Portbereich, maximal 0x20  

Der direkte Zugriff auf Ports klappt nur, wenn zuvor GiveIO (64 Bit von Henrik Haftmann) aufgerufen wurde. Sonst gibt es eine Exception! 
Zwei DOS-Programme mit Turbo-Pascal-Sourcen sind anbei unter \DOS-Programme:
in xxxx    :liest Port xxxx (in hex) z.B. in e000
out xxxx yy:schreibt yy auf Port xxxx (alles in hex) z.B out e000 90  

Achtung fr den Zugriff auf serielle Schnittstellen ist DirectIO nicht ntig, die Zugriffe setzt DOS-box 074 auf die Windows-Modem-Funktionen um.

Die Debugversion gibt alle Zugriffe auf die Ports aus. Viel Spa 
as@ct.de
        