Hi!
10-Мар-2006 10:22 [EMAIL PROTECTED] (Miguel) wrote to
[email protected]:
>> for (i = 0x23; i <= 0x3f; i++)
>> setvec(i, empty_handler);
>> Here you may see, which FreeDOS hooks for own handlers and which
>> initializes to empty handler (which just IRETs).
M> I see that interrupt vectors up through 3F are modified.
Just for safety - for example, if some program will try to call mouse
API (INT33) while mouse driver not installed.
>> M> For example, the timer ticker interrupt at 1Ch (or 08h).
>> For timer operation DOS uses BIOS.
M> One can read the timer tick out of the BIOS Data Area, but in order to get
M> interrupt notification of timer ticks one must hook int 1Ch (or 08h)
DOS doesn't mess with this.
M> It seems to me that FreeDOS must hook into the BIOS ticker interrupt in
M> order to get notification of ticks.
Why it should get notifications?!
M> Probably 1Ch ... but that is not
M> happening in this code ... so that makes me wonder whether or not there is
M> someplace else in the FreeDOS code that is hooking the timer interrupt.
Again: DOS uses exclusively BIOS for date/time services and there are
no functions, which require from DOS to mess with timer notifications.
M> I will investigate this a little further.
M> There is also a CMOS timer interrupt at int 70h. Less likely that this is
M> being used by FreeDOS.
Of course.
>> M> Q: What is the highest numbered interrupt that is used by
>> FreeDOS/MS-DOS ?
>> What mean "uses"? You mean, through which presents own services?
>> INT2F.
M> Sorry I was not clear.
M> I mean ... What is the highest numbered interrupt vector that is
M> 'modified' by FreeDOS.
As you may see from sources, highest "modified" is INT3F, but this
modification is dummy (just for safety). Highest interrupt, which related to
DOS (kernel) services is a INT2F.
M> The first 1024 bytes of memory are vectors for the 256 interrupts. What is
M> the highest byte that is modified by FreeDOS.
Increase interrupt number by one and multiply by 4. For INT3F this
gives offset (0x3F+1)*4=256=0x100.
M> From the code above, it looks like the vector for 3F ... or the first 256
M> bytes of memory are modified.
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel