Direct parallel port access under windows XP for DOS applications

Discussion in 'Perl Misc' started by Ran, Dec 7, 2003.

  1. Ran

    Ran Guest

    Hello,

    I will describe my problem, hoping that anyone can help with a
    solution.

    I am running an old DOS application. This application cannot be
    altered due to many reasons.

    This application uses an old HASP dongle. The hasp drivers for dos
    dongles does not work with this application. The only way I could make
    this application work, is by writing a code similar to UserPort, which
    changes the IO permission map for the calling process.

    My problem is that recently new display adapters drivers like ATI
    Radeon will not allow me change the TSS to enable direct port access
    for the 16Bit process. When disabling the display adapter driver and
    using the default windows XP driver, this problem is "solved", of
    course not having a display driver reduces performance but I can live
    with that.

    Second problem is that when using the UserPort with new HyperThreading
    motherboards, when the 16bit application tries to access the port, the
    computer restarts.

    I tried using direct-io, disabling the printer port and enabling
    378-37F for the EXE I am using, but with no success. It did not get
    the correct response from the dongle.

    I think it's because the EXE is using direct bios calls and a virtual
    device driver cannot capture the calls and handle them correctly.

    Does anyone have a solution to this problem? Any ideas?

    I would appreciate any help you can offer...

    Thanks for your time,

    Ran.
    Ran, Dec 7, 2003
    #1
    1. Advertising

  2. Ran

    Bob Walton Guest

    Ran wrote:

    ....
    > I am running an old DOS application. This application cannot be
    > altered due to many reasons.
    >
    > This application uses an old HASP dongle. The hasp drivers for dos
    > dongles does not work with this application. The only way I could make
    > this application work, is by writing a code similar to UserPort, which
    > changes the IO permission map for the calling process.
    >
    > My problem is that recently new display adapters drivers like ATI
    > Radeon will not allow me change the TSS to enable direct port access
    > for the 16Bit process. When disabling the display adapter driver and
    > using the default windows XP driver, this problem is "solved", of
    > course not having a display driver reduces performance but I can live
    > with that.
    >
    > Second problem is that when using the UserPort with new HyperThreading
    > motherboards, when the 16bit application tries to access the port, the
    > computer restarts.
    >
    > I tried using direct-io, disabling the printer port and enabling
    > 378-37F for the EXE I am using, but with no success. It did not get
    > the correct response from the dongle.
    >
    > I think it's because the EXE is using direct bios calls and a virtual
    > device driver cannot capture the calls and handle them correctly.

    ....
    > Ran.
    >


    Is there a Perl question buried in there somewhere? If not, please
    don't post to comp.lang.perl.misc .

    Sounds to me like your old software has finally come to the end of its
    life. Amazing it lasted this long. Why not just keep an old 486 around
    to run it on?

    --
    Bob Walton
    Email: http://bwalton.com/cgi-bin/emailbob.pl
    Bob Walton, Dec 7, 2003
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. b3ny
    Replies:
    11
    Views:
    908
    Babu Kalakrishnan
    Nov 20, 2004
  2. john san
    Replies:
    19
    Views:
    728
    Diez B. Roggisch
    Feb 18, 2005
  3. Replies:
    12
    Views:
    869
  4. Soren
    Replies:
    4
    Views:
    1,239
    c d saunter
    Feb 14, 2008
  5. alejandro
    Replies:
    5
    Views:
    482
    Dennis Lee Bieber
    Apr 8, 2009
Loading...

Share This Page