The following bugs have been corrected in this distribution: 1. The call to function farcalloc in initialize.c turns interrupts back on. A disable(ps) was inserted following the call. 2. Function intmap was altered to allow reliable detection of whether or not an interrupt occurred while the current process was executing. All interrupts which occur while the BIOS (or WINDOWS) is running, now use a temporary stack and disable rescheduling. Note that the process table was extended to include the stack size (ssize). The NULL process assumes that it has a stack size of 4K. This assumption is compiler dependent (actually C startup code dependent). 3. When running in a DOS Box under WINDOWS 3.11, you must turn off 32-bit File Access. It is unclear why this is necessary. *** fixed 1. Aug 1996 *** 4. The NULL process terminates when the global variable "run" is set to FALSE. This must only be done by calling xdone, which restores int vectors before terminating. A return MUST always follow the call to xdone. 5. Function map now uses the official DOS getvector and setvector functions to manipulate the interrupt vector table. 6. Xinu 7.9 now runs in a WINDOWS95 DOS box. Caution: If other software is using the network interface, Xinu will interfere with it. This problem has yet to be solved. *** fixed for WfW: see below *** This fix probably has a beneficial effect in WINDOWS95 too. 7. A bug in lexan was removed. The read function should read SHBUFLEN-1 bytes. 8. The Packet Driver access_type call in ethinit has been changed to register only IP, ARP and RARP packets. This was done so that Xinu could coexist with WfW networking (and Novell ??). Previously, ALL packet types were passed to Xinu, which then discarded all but the above three types. Please contact chrisc@fir.canberra.edu.au if you have found further bugs. Date: 1. August, 1996.