>Does anyone know what Windows-95 is going to do in this regard? My
>suspicion is that they're going to use 16-bit real-mode ISRs, and the
>protected mode ISRs (for when Windows is in protected mode) will
>switch to real mode and call the real mode ISR. I also assume OS/2
>does this correctly (ie. has full protected mode ISRs for hardware
Actually, you have it exactly backwards WRT Windows 95. The ISRs are
uniformly written in protected mode (with the exception of a dozen or
so MS-DOS function calls off of INT21), and when 16-bit programs call
them, they get trapped and thrown upstairs into 32-bit-land. In fact,
I think the holy trinity of Windows 95, OS/2 Warp, and Windows NT all
handle interrupts in this way (although the latter two don't bother
with the legacy code).
In fact, it's this wunderbar replacement of MS-DOS services that makes
Windows 95 so much nicer than Windows 3.1. You can format a floppy
in the background without degrading your background modem download or
making your foreground interactive window sluggish. The file I/O is
all 32-bit local-blocking I/O, the serial port is handled with a
streamlined 32-bit driver; it's all sleek 32-bit code now, and the
system has finally achieved a certain peppy synergy.
I know, I know, people have been doing this for years with their
UNIX / NextStep / Amiga / OS/2 / * chew toy, but for millions
of Windows 3.1 users upgrading directly to Windows 95 it'll be
"MELROSE! I'm SORRY!"
<a href="http://www.veryComputer.com/~funkster">My WWW homepage</a>