VenturComm Venix/86 on MESS/MAME

(This is a guest post by Tenox)

This is follow up to a previously posted challenge to virtualize VenturComm Venix/86 so that it can be run on a modern machine under an emulator. The competition was a huge success and the rest of this post is an entry by the winner – Jim Carpenter. Enjoy!

Install MAME/MESS 0.164 and get the “at386” machine running. Standard issue ROMs.

Create a new hard drive image with “chdman createhd -chs 615,4,17 -c none -o hd.chd“. This is only 20MB. You can certainly use larger drives but make them a standard type, something that is a defined drive type in the BIOS. I’d stay away from user defined types.

Start the emulator, configure the first floppy drive to be DD and the second to be HD. Restart so it takes effect. Attach XFER.IMG to the first floppy and your hard drive image to the hard drive. Restart again. (Venix uses the BIOS for *everything*. So if you attach without rebooting, chances are the BIOS missed your hard drive which means Venix won’t see it either.)

Go into the BIOS and configured the floppy and hard disk types. The command above creates a type 2 drive:venix1Save and exit and let it reboot.

We wish to prepare the winchester hard disk:
venix2We’ll let it come up the partition sizes:venix3Now let it create the file system for /usr:
venix4It now wants to restore something we don’t have. Let it try and then abort it (press ‘a’):
venix5And now the file system for root:
venix6Again, let it try to restore and error out. When it halts, reboot back into XFER:
venix7Now for the fun part:
venix8

We want to get our partitions mounted and ready for a restore. Type:

mount /dev/w0.sys /usr
mmkdir /usr/usr
mount /dev/w0.usr /usr/usr
cd /usr

If your emulator can’t handle DD media in HD drives, type “tar xvf1 /dev/rf0“. When told to change floppies, attach fa_devs.img to the first floppy drive. Change back to XFER.img when told to.:
venix9You’ll now have /usr/dev/rh1 which gives you access to your HD second floppy drive:
venix10Time to restore the backup floppies. Type either “tar xvf9 /dev/rh0” if you’re able to do DD/HD with only one drive, or type “tar xvf9 dev/rh1” if you have to use my hack above. (Mind your slashes when typing the device paths!) Attach BACKUP1.IMG when asked for USER 1:
venix11And then attach BACKUP2.IMG, etc. (Ignore those spurious unknown interrupts.):
venix12Eventually all disks will be restored. When it asks for the XFER disk, put it back it and hit enter. (Two drive setups can just hit enter.)

You’re done restoring. Sync the disks and reboot:
venix13Detach all floppies and it should boot off the hard drive:
venix14That error at the bottom is just because it’s configured for a second hard drive that isn’t attached.

Root has no password:
venix15Enjoy!

Jim


For those who want a ready mage disk image here

Original floppy disks provided by Frode van der Meeren here

For those hard core hackers and archaeologists, check out /usr/jr directory.

13 thoughts on “VenturComm Venix/86 on MESS/MAME

  1. Wonderful job on this!

    Barring any time constraints, could you try to implement SLiRP networking patch with the NE2000 card under PCem as v10 is coming out in about a month or two?

    So far, Bochs already has SLiRP network ported from the Qemu source code. And it would be awesome to see it happen.

    SA1988 has the NE2000 patch, but it requires WinPCap and it hasn’t been updated to support Windows 10. 🙁

    • winpcap doesn’t have any windows 10 needs persay.. I Basilisk II thing runs fine in win10.

      One thing I started to do, but I should just finish was a version of slirp to listen to either a tun/tap interface or ethernet via winpcap (think MS loopback) so that way you can slirpify networks and or emulators otherwise have no hooks for it.

      • That sounds like fun! 😀 The only problem is that networking support under Basillisk II doesn’t work on 64-bit versions of Windows (including Windows Vista).

        Neozeed, if you have SLiRP networking support fully working under PCem with a networking patch, I would love to see it so that I can pass it along in the PCem Developement forum.

        For network drives and folder sharing, I bet that TUN/TAP interface such as OpenVPN is required for it to work.

        For SLiRP networking, Winpcap and a host network interface is not required as well as I know. The problem is that Winpcap hasn’t been updated since 2013 which is a real bummer.

      • That’s what I’ve been thinking. Some of the features in Basilisk II don’t work in 64-bit Windows as it not been updated to support 64-bit Windows in a long time.

        Basilisk II does work on OSes as early as Windows 95.

        • Well that is why I started cockatrice, which started by gutting out the win32 support as it is… VERY win32 which was all great for NT 4/98 and replacing it with being more SDL. And I gutted a bunch of crazy ‘features’ to try to make it more stable.

          I can actually run Internet Explorer 3 and 4, while they instantly explode Basilisk II. I have that mini fork of Sheep which I added winpcap to, and it works well enough for me to mount apple shares, and again use web browsers. So it’s good enough for me.

          I keep them 32 bit, as they seem to be more stable in that setting. Especially since they started out as 32bit programs, with the heart of Basilisk being UAE, the Amiga emulator.

      • That’s really awesome!

        Until there is a way to port better SLiRP networking support from Cocktrice to PCem, I’m pretty much gonna stick to Virtual PC where I’m currently multi-booting MS-DOS 6.22, OS/2, Windows 95 OSR2 and Puppy Linux. 🙂

        When running Windows 95 OSR2 under Virtual PC 2007, I can infact run Basilisk II by linking the hard disk images in a folder-shared directory.

  2. Thanks Tenox and Jim – you got an old Venix user/developer started again, with Venix86 running on a Compaq portable III (286).
    I’d love to get it running on MAME (mac, no pc’s in sight except for the compaq). MAME64 runs but the ROM files (for at386) are missing. Any hints as to where to find them?

    Helge S

    • user@errorlevel:0:~/mess/roms/at386$ for i in ck md5 sha1;do echo “$i”sum:;$i”sum” *;done
      cksum:
      3709130015 65536 ami386.bin
      1499440492 65536 amicg.1
      580287451 65536 at386.bin
      md5sum:
      429709863d4770540a0db5c463a01e7c ami386.bin
      f1f2272ca9ead3b2a83c49f7ad6b712b amicg.1
      d4a6cfdfd6334e0a6a42356424cebd28 at386.bin
      sha1sum:
      8289ba36a3dfc3324333b1a834bc6b0402b546f0 ami386.bin
      9893d3ac851e01b06a68a67d3721df36ca2c96f5 amicg.1
      def71567dee373dc67063f204ef44ffab9453ead at386.bin

Leave a Reply