so, yesterday i wrote code to emulate the Intel 8259 interrupt controller. this fixed a few issues i was having. on rare occasions, keystrokes would cause whatever was running in the emulator to hang. i was previously calling the timer, keyboard, and the network emulation interrupts directly rather than having them properly prioritized through the 8259.
the network stuff was especially unstable since it generated an interrupt every time there was an incoming packet on the network after the packet driver started. as you might imagine, those not being prioritized tended to cause hangs within a minute of starting the packet driver.
now, using the 8259 code, it seems extremely stable. i've got a machine running IRCjr inside fake86 at my office, and it's been connected without problems for over 24 hours now!
for some reason, though, only mike brutman's mTCP stuff seems to want to work through my network emulation. anything else, like NTCPDRV, WATTCP apps, and arachne appear to not actually be receiving any packets from my packet driver. i'm trying to sort that out now.
once i fix that, i should even be able to run a packet driver to ODI or IPX shim and use the MS Network Client 3.0 software to used network shares in fake86! that would be nifty...
and for anybody wondering how i am giving the emu network access, it's through libpcap/winpcap so fake86 can have it's very own separate MAC address and appear to be an independent card on the network. the default MAC address is DE:AD:BE:EF:13:37 </nerd>