Post by Rudolf HarrasPost by Dirk Wolfgang GlompDas bedeutet wohl das Anwendungen die auf Port 200h nach einem Joystick
suchen dort immer noch keinen finden können. Für Windows gibt es
möglicherweise dafür einen Treiber, für DOS könnte es schwer werden so
etwas zu finden.
Wie war das jetzt nochmal mit "das hätt ich selber finden können"? ;-P
Damit bin ich jetzt aber voll in die "USB-Gameport-Adapter"-Falle getapt.
Post by Rudolf HarrasAbgesehen davon habe ich nicht gemeint dass man einen USB-Gameport
adapter anschließt, sondern eben dass man zB einen USB-Joystick an den
PC anschließt und ein DOS-Treiber dann den Spielen vortäuscht dass das
ein Gameport-Joystick wäre.
Ja das habe ich im zweiten Anlauf auch erkannt. Ich befürchte das hier ein
USB-Legacy Device = enabled vom Mainboard-Bios auch keine derartige
Unterstützung mitbringt. Ich würde mich aber auch hierbei gerne vom
Gegenteil überzeugen lassen.
Ein anderes Beispiel: Ich verwende eine PS2-Mouse mit einem
PS2toUSB-Adapter am USB-Anschluß mit eingeschalteten USB-Legacy.
Unter puren DOS(RM 16Bit-Adressmode) und ohne einen Mousetreiber kann ich
wie gewohnt über den Tastatur-Controller und die dortige PS2-Anbindung auch
weiterhin diese PS2-Mouse die am USB-Anschluß hängt abfragen und zur
Steuerung eines Mousecursors verwenden.
Post by Rudolf HarrasSo ähnlich wie das die Dosbox kann nur eben ohne Dosbox sondern direkt
aus dem DOS.
Ich habe jetzt viele solcher vergleichbaren Anfragen gelesen, aber noch
keinen Hinweis für einen dafür geeigneten 16-Bit-DOS-Treiber gefunden.
Meine eigene Kenntisse über USB sind auch nur ungenügend und wie man
die ermittelten Werte von einem USB-Joystick zum Gameport an Adresse +200h
überträgt und einspeist ist mir ebenfalls noch unbekannt.
Geht das überhaupt?
Ralf Browns Interrupt List(RBIL)
http://www.pobox.com/~ralf
http://www.pobox.com/~ralf/files.html
ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/
RBIL->inter61d.zip->PORTS.B
----------P0200020F--------------------------
PORT 0200-020F - Game port reserved I/O address space
0200-0207 - Game port, eight identical addresses on some boards
0201 R- read joystick position and status (see #P0542)
0201 -W fire joystick's four one-shots
0201 RW gameport on mc-soundmachine, mc 03-04/1992: Adlib-compatible,
Covox 'voice master' & 'speech thing' compatible soundcard.
(enabled if bit1=1 in PORT 038Fh. Because it is disabled on
power-on, it cannot be found by BIOS) (see PORT 0388h-038Fh)
Bitfields for joystick position and status:
Bit(s) Description (Table P0542)
7 status B joystick button 2 / D paddle button
6 status B joystick button 1 / C paddle button
5 status A joystick button 2 / B paddle button
4 status A joystick button 1 / A paddle button
3 B joystick Y coordinate / D paddle coordinate
2 B joystick X coordinate / C paddle coordinate
1 A joystick Y coordinate / B paddle coordinate
0 A joystick X coordinate / A paddle coordinate
Im Protectmode mit virtueller Adressierung kann man alle Adressen auf die
eine Anwendung zugreifen möchte Einfluß nehmen, so z.B. das hier die
Anwendung auf eine andere Adresse zugreift, ohne selber etwas davon zu
merken. Das passiert z.B in einer Dosbox die damit eher als DOS-Emulation
bezeichnet werden kann. Mit Ähnlichen und dafür ausgelegten Fähigkeiten
wäre es hier möglich DOS-Spiele die Joysticks über Port 200h direkt
abfragen mit geeigneten USB-Joystick-Daten zu versorgen. Ob das auch ohne
PM zu realisieren ist kann ich mir noch nicht so recht vorstellen.
Dirk