BUG: I/O port access removed


Up Next

Article ID: Q700001

The information in this article applies to:

  • Direct I/O, version 4.0, 4.1


If a console application is switched from fullscreen to windowed mode, all I/O port access is disabled.


This is because in fullscreen DOS mode, Windows NT turns on I/O access to allow direct access to a subset of the VGA regs. But when fullscreen mode is exited, it blindly removes the I/O access for that VDM. It doesn't "remember" that the I/O access was enabled before it went to fullscreen mode. Note that it does not affect other processes for which I/O access is enabled. I guess when they were writing the VIDEOPRT.SYS driver they figured that no one else would be messing with the IOPM offset, so there was no reason to remember its state.

Steps to reproduce problem

  1. Start DEBUG.EXE
  2. Press <Alt>+<Enter> to switch to fullscreen mode.
  3. I/O port access is still possible.
  4. Press <Alt>+<Enter> to revert to windowed mode.
  5. I/O port access is removed.


This workaround enables you to control the display mode of 16bit console mode applications.

  1. Create a shortcut for the application
  2. Open the Properties of the shortcut just created and select the Misc tab
  3. Remove the check mark next to the key combination Alt+Enter 

Each time you start the application through this shortcut the program comes up in windowed mode and cannot be switched inadvertantly into fullscreen mode.


This bug has been fixed in Direct I/O version 4.2.

Direct I/O and Paule are registrated trademarks of Ingenieurbuero Paule. All other products mentioned are registered trademarks or trademarks of their respective owners.
Questions or problems regarding this web site should be directed to Webmaster.
Copyright 1998-2018 Ingenieurbuero Paule. All rights reserved. Impressum.
Last modified: 2018-04-24.
Printer friendly