Dave, you and Chris Adams were saying to one another:
CA>Which calls? Some of the so called undocumented calls have been used so
CA>often by such a great number of programs that it is highly unlikely
CA>they'll ever be changed.
DN>Nonetheless, they are *still* officially undocumented and we will not
DN>use them. Also, *many* undocumented calls were removed from DOS boxes
DN>in Windows NT and DOS 7.0 (one reason for the famous list of 2500 in Win
DN>'95).
I absolutely agree with PB's stance on undocumented calls. Every good
programmer's reference I've got states in no uncertain terms when a
given call is "undocumented." I'd much rather lose some fancy tidbit by
my compiler writer's adherence to doc'd calls than gain some frill at
the expense of losing future compatibility that cannot be explained.
Now, speaking of frills, Dave.... ;)
I realize I've asked you this before, but if you replied, I didn't get
the reply.... It has to do with POPUP INTERRUPT's inability to hook
printer interrupt 17H.
Maybe I've overlooked some compatibility issue, or something, but I
cannot, for the life of me, figure out why POPUP INTERRUPT &H17 is not
allowed under PB, especially since, it seems to me, printer spoolers
would be one of the MAJOR uses of interrupt handlers using PB. I can
hook 18H, and a handful of others, but not 17H. Why? Suppose I don't
link in printer code. Suppose I don't print using LPRINT. What should
stop me from popping up legitimately when another program prints a byte
using INTERRUPT 17H?
I've considered writing a program that goes through an .EXE image and
changes C0 31 to C0 32 if it finds only one in the .EXE, and then
writing an interrupt 18H handler, which is perfectly legal with PB.
Is there an official reason INT 17H cannot be hooked? I have a printer
emulator here that intercepts HPL codes and retransmits them as Xerox
codes. It does this by means of a file produced by a print spooler.
Having it intercept those codes directly would make it a commercially
viable product. Having it do it by opening a file created by DMP makes
it a rough and dirty utility for my eyes only.
I've considered writing a tiny ASM tsr that buffers 1K from interrupt
17H, and then in turn calls a multiplex interrupt after pointing to that
buffer, which would work under PB, but that seems like a kludge.
Sorry to press on this so, but one of the initial reasons I moved from
QB to PB almost a year ago was for POPUP INTERRUPT. Imagine how
disappointed I was when a fairly stable interrupt like 17H was off
limits.
If it is a legitimate compatibility issue, I will understand with a
frown, but at least understand.
Jamshid
* OLX 2.1 TD * You will pry my PB distribution disk from my dead fingers
--- Maximus/2 2.01wb
---------------
* Origin: Sound Stage BBS - Live Via Satellite - (604)944-6476 (1:153/7070)
|