Adding SLiRP to PCem

So PCem is an incredible emulator for the IBM PC platform.  One thing that has been missing, and really missed has been networking.  So a while ago, SA1988 came up with a patch that incorporated the BOCHS ne2k.cc into PCem.

So as requested, I took the copy of SLiRP I’ve used in SIMH, Cockatrice and Previous, and got it working in PCem.

Telnet
Telnet from MS-DOS

This has to be one of the easier ports since PCem doesn’t use threads.  But yes, it appears to work, although I haven’t done any major testing.

For those who want to experiment, here is a binary/source blob of the project.  Right now we are just past the OMG it compiled phase to OMG it SENT and RECEIVED data phase.

If anyone wants to play, the NE2000 is set to 0x300 IRQ 10.

And you need to manually add the following to your pcem.cfg file:

netinterface = 1
netcard = 1

And you should be good to go. I think.

QuakeWorld
QuakeWorld

And yes, it’ll run QuakeWorld!

8 thoughts on “Adding SLiRP to PCem”

  1. That sounds awesome that you’ve got the preliminary version of SLiRP networking to work! I can’t wait to see improvements to SLiRP networking before it gets incorporated to PCem!

    1. try it, test it!

      It looks like if you change PC models you should exit, and start again. The 486 with pentium overdrive is my favorite right now..

  2. How do you managed to get PCem working under OS X (at least it looks like that)? I have tried it with Wine but it crashes immediately.

    1. I use Crossover, which is wine. When I’m home, I use a MinGW32 cross compiler, and run it on Wine. That is why I’ve been working on SLiRP support since Wine won’t do pcap emulation.

      I suppose if I was really bored, I’d try to port PCem to SDL, but I’m not sure about the UI components.

  3. Do you have the latest revision of PCem with SLiRP/pcap support, btw? I’m hoping that the memory corruption is fixed though as I remain stuck on r322.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.