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 > 0000: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 :-) > 0000: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. > 0000:01A0 DF 62 00 F8 DF 62 00 F8-DF 62 00 F8 DF 62 00 F8 .b...b...b...b.. > 0000: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. > 0000:01C0 F0 63 00 F8 E7 7E 00 F8-74 C0 00 F0 75 C0 00 F0 .c...~..t...u... > 0000: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. > 0000:01E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ > 0000: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