* hooking int 21?
@ 2003-01-26 8:22 Stuart Axon
2003-01-26 23:07 ` Bart Oldeman
0 siblings, 1 reply; 4+ messages in thread
From: Stuart Axon @ 2003-01-26 8:22 UTC (permalink / raw)
To: dosemu mailing list
Hello, I want to handle a function of int21 in dosemu, but can't see
where to put the code; int21() in int.c is only for when debugging...
but I can't see where for normal execution..?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: hooking int 21?
2003-01-26 8:22 hooking int 21? Stuart Axon
@ 2003-01-26 23:07 ` Bart Oldeman
2003-01-26 23:39 ` Stuart Axon
0 siblings, 1 reply; 4+ messages in thread
From: Bart Oldeman @ 2003-01-26 23:07 UTC (permalink / raw)
To: Stuart Axon; +Cc: dosemu mailing list
On 26 Jan 2003, Stuart Axon wrote:
> Hello, I want to handle a function of int21 in dosemu, but can't see
> where to put the code; int21() in int.c is only for when debugging...
> but I can't see where for normal execution..?
Yes, int21() only traps in DOSEMU for debugging, and some hooks
for the redirector. Everything else is handled by the DOS you're running
in DOSEMU.
But of course you can do what you like in int21() or ms_dos() for that
matter.
Bart
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: hooking int 21?
2003-01-26 23:07 ` Bart Oldeman
@ 2003-01-26 23:39 ` Stuart Axon
2003-01-27 0:04 ` Bart Oldeman
0 siblings, 1 reply; 4+ messages in thread
From: Stuart Axon @ 2003-01-26 23:39 UTC (permalink / raw)
To: Bart Oldeman; +Cc: dosemu mailing list
Thanks, discovered the can_revector_int21 too, which seemed to help...
Now tho, can't seem to return a cleared carry flag: if I temporarily put
ds_printf("CF=%x\n",REG(eflags)&&CF);
in int21() after my function call I can see
CF=0
so it's still clear, but by the time it gets back to dos its set, is
there anything I need to be aware of in order to preserve CF?
On Sun, 2003-01-26 at 23:07, Bart Oldeman wrote:
> On 26 Jan 2003, Stuart Axon wrote:
>
> > Hello, I want to handle a function of int21 in dosemu, but can't see
> > where to put the code; int21() in int.c is only for when debugging...
> > but I can't see where for normal execution..?
>
> Yes, int21() only traps in DOSEMU for debugging, and some hooks
> for the redirector. Everything else is handled by the DOS you're running
> in DOSEMU.
>
> But of course you can do what you like in int21() or ms_dos() for that
> matter.
>
> Bart
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: hooking int 21?
2003-01-26 23:39 ` Stuart Axon
@ 2003-01-27 0:04 ` Bart Oldeman
0 siblings, 0 replies; 4+ messages in thread
From: Bart Oldeman @ 2003-01-27 0:04 UTC (permalink / raw)
To: Stuart Axon; +Cc: dosemu mailing list
On 26 Jan 2003, Stuart Axon wrote:
> Thanks, discovered the can_revector_int21 too, which seemed to help...
> Now tho, can't seem to return a cleared carry flag: if I temporarily put
> ds_printf("CF=%x\n",REG(eflags)&&CF);
> in int21() after my function call I can see
> CF=0
> so it's still clear, but by the time it gets back to dos its set, is
> there anything I need to be aware of in order to preserve CF?
That's because it's chained in front of the real DOS int21. If you
implement your function in ms_dos() then you can "return 1" to claim this
case exclusively for you and "return 0" if you want to pass it on to DOS.
Bart
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-01-27 0:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-26 8:22 hooking int 21? Stuart Axon
2003-01-26 23:07 ` Bart Oldeman
2003-01-26 23:39 ` Stuart Axon
2003-01-27 0:04 ` Bart Oldeman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox