Re: [Freedos-user] Choosing an interrupt number
A well-written packet driver would do this all automatically for you and you wouldn't need to select an Interrupt number yourself. That is, if INT 0x60 wasn't already used (all zeroes in the Interrupt Vector Table or pointing at an IRET) it would automatically select 0x60. If 0x60 was used, it would check 0x61, etc. A program can easily check all of this itself with no intervention by you. It would be VERY unusual for you to not have at least one interrupt available for the packet driver. I've only seen two programs that use these interrupts: packet drivers and Georg Potthast's USB drivers. I'm sure there are others, but I've not ever seen them or used them. Similarly, the program that requires the packet driver should automatically be able to detect the presence of the packet driver and shouldn't require you to manually enter an Interrupt number, either. The packet driver specification requires a memory signature so that other programs can recognize that it is installed in memory. The one potential problem you could run into here is if you had more than one packet driver installed (more than one kind of network card installed), which would be an unusual installation for most people. In that case, the program trying to use the packet driver might either use the first one it found or else ask you which one you wanted it to use if it wasn't sure. Again, well-written programs would do all of this automatically. You shouldn't even need to worry about these kinds of issues unless you have an "unusual" configuration. Oncologists Are Freaking Out After Officials Release This pro.naturalhealthresponse.com http://thirdpartyoffers.juno.com/TGL3141/5b69061a5f99261a3cfbst02vuc-- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Choosing an interrupt number
Hi David, > I'm wanting to set up a packet driver, but it asks for which packet int > number to use. From the packet driver specification, I see this is > supposed to be between 0x60 and 0x80, but how can I tell if any of these > are already taken? As the introduction for writing packet drivers on > http://crynwr.com/packet_driver.html does not mention any constraints here, I would say 0x60 is a good choice to start with. Looking into the famous RBIL Ralf Browns Interrupt List, I get various more or less exotic drivers and hardware (BIOS) using 0x60 to 0x6f. In the 0x70 to 0x77 range, you have a number of PC/AT IRQ, so you probably want to avoid those. Some interrupts after that are described as being related to netware or DOS extenders. I guess it would be a safe option to read the raw interrupt vector values to see what unused ones look like on your system, then take one of those. With DEBUG, you can do this: echo d 0:180 l 80 | debug > int6x7x.txt (QUESTION: Why is mouse text copy and paste missing in DOSEMU 2.0pre6.1? I really miss that function!) Here are the int6x7x.txt contents for a DOSEMU: > -d 0:180 l 80 > :0180 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 Each interrupt has 4 bytes in this listing of pointers, so the first line describes interrupt 60 to 63, the next one 64 to 67, the next 68 to 6b, the next 6c to 6f, then 70 to 73 and so on :-) > :0190 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 Interrupt 60 to 67 are completely free: 00 00 00 00 each. Note that interrupt 67 can be used for EMS in many cases! So I suggest that int 60 to 66 are generally free here. > :01A0 DF 62 00 F8 DF 62 00 F8-DF 62 00 F8 DF 62 00 F8 .b...b...b...b.. > :01B0 DF 62 00 F8 DF 62 00 F8-DF 62 00 F8 DF 62 00 F8 .b...b...b...b.. Interrupt 68 to 6f all point to the same DF 62 00 F8, which could be some sort of placeholder. Checking with DEBUG, using "u f800:62df" (note how you have to rearrange the digits in reverse byte order) says that they point to "IRET", so any call to the current interrupt 68 to 6f would do nothing and return immediately. It MIGHT be safe to re-use those ints. > :01C0 F0 63 00 F8 E7 7E 00 F8-74 C0 00 F0 75 C0 00 F0 .c...~..t...u... > :01D0 F0 E2 FF EF 98 7E 00 F8-78 C0 00 F0 79 C0 00 F0 .~..x...y... Interrupt 70, 71 and 75 point to places in f800. Do not use those. Interrupt 72, 73, 76 and 77 point to places in f000, the BIOS. Consider those to be used, too. Interrupt 78 points to another place, so it is already in use by a driver. > :01E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 > :01F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 > - Interrupt 78 to 7f are completely free as well. In short, this somewhat tedious check gave me 15 out of 32 candidate interrupt numbers as being safely free for use as network packet driver interrupts, plus 8 more which might be okay to use and 8 which should be avoided in this case. Regards, Eric :-) -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Choosing an interrupt number
Can't hurt to have. I'll probably translate it to C. Happy Hacking, David E. McMackins II Supporting Member, Electronic Frontier Foundation (#2296972) Associate Member, Free Software Foundation (#12889) www.mcmackins.org www.delwink.com www.eff.org www.gnu.org www.fsf.org On 08/04/2018 10:53 AM, Mercury Thirteen via Freedos-user wrote: > I wrote a program years ago which probes the 16-bit interrupt dispatch table > under DOS and saves the addresses of all 256 handlers to a file you specify. > If you like, I can dig up the old VB source. Let me know. > > > Sent with ProtonMail Secure Email. > > ‐‐‐ Original Message ‐‐‐ > On August 4, 2018 11:40 AM, David McMackins wrote: > >> I'm wanting to set up a packet driver, but it asks for which packet int >> number to use. From the packet driver specification, I see this is >> supposed to be between 0x60 and 0x80, but how can I tell if any of these >> are already taken? >> >> Happy Hacking, >> >> David E. McMackins II >> Supporting Member, Electronic Frontier Foundation (#2296972) >> Associate Member, Free Software Foundation (#12889) >> >> www.mcmackins.org www.delwink.com >> www.eff.org www.gnu.org www.fsf.org >> >> -- >> >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> >> Freedos-user mailing list >> Freedos-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/freedos-user > > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > Freedos-user mailing list > Freedos-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-user > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Choosing an interrupt number
I wrote a program years ago which probes the 16-bit interrupt dispatch table under DOS and saves the addresses of all 256 handlers to a file you specify. If you like, I can dig up the old VB source. Let me know. Sent with ProtonMail Secure Email. ‐‐‐ Original Message ‐‐‐ On August 4, 2018 11:40 AM, David McMackins wrote: > I'm wanting to set up a packet driver, but it asks for which packet int > number to use. From the packet driver specification, I see this is > supposed to be between 0x60 and 0x80, but how can I tell if any of these > are already taken? > > Happy Hacking, > > David E. McMackins II > Supporting Member, Electronic Frontier Foundation (#2296972) > Associate Member, Free Software Foundation (#12889) > > www.mcmackins.org www.delwink.com > www.eff.org www.gnu.org www.fsf.org > > -- > > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > Freedos-user mailing list > Freedos-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-user -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
[Freedos-user] Choosing an interrupt number
I'm wanting to set up a packet driver, but it asks for which packet int number to use. From the packet driver specification, I see this is supposed to be between 0x60 and 0x80, but how can I tell if any of these are already taken? Happy Hacking, David E. McMackins II Supporting Member, Electronic Frontier Foundation (#2296972) Associate Member, Free Software Foundation (#12889) www.mcmackins.org www.delwink.com www.eff.org www.gnu.org www.fsf.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user