Mail Archives: djgpp-workers/1997/09/11/17:19:34
On 11 Sep 97 at 16:54, Eli Zaretskii wrote:
> Err, didn't Charles just say that the IDT is also private in DPMI
> 1.0? If so, doesn't this preclude using the interrupt table for
> storing the address? Charles?
If that's the case, what about an extra bit of data after the proxy
stuff. Hmm, just realised that will cause problems with the stub size
(takes more than 32 bytes to parse a command line) and it also means
you can't call a non djgpp program that then calls a djgpp program.
Can't use registers either. Hey! what about having a djgpp device
driver (djgpp.sys)! This would be a character device that only has
enough code to handle init, open, close and read. or maybe just an
int 2f handler? this would return the address of it's supplied
transfer buffer. This would mean it could even be in extended memory!
Hmm 9 bytes for a name, 10 to open, 7(9) to read, 4 to close and
another 2 to jump over the default code. 32(34) bytes. Tight, but I
think using my modified djasm it might still leave some room (I
modified djasm to use sign extension whenever possible, saving one
byte for say `add bx,10'). Int 2f: 20-30. should work. I could
write the driver (I've written a ramdrive years ago and I've been
wanting to write a device driver for a while now). I can also make
the needed mods to the stub.
I could be wrong, but judging from a quick look at the stub, it might
be possible to do this without any modification to libc, as the stub
already has the tb segment in it. This would mean the driver will
work with older (2.01) software!
What do you guys think? Should I do it? If so, I'll have to get busy
tidying up my djasm.y and post it into DJ.
Bill
--
Leave others their otherness.
- Raw text -