BSDI BSD/386 1.1

So this crossed my desk, from an anonymous source:

Really!

For those who like this kind of thing, here is a dmesg:

BSDI BSD/386 1.1 Kernel #0: Wed Mar 3 16:23:55 GMT 1999
root@myhost.my.domain:/usr/src/sys/compile/GENERIC
cpu = Pentium (unknown speed) model 6, stepping 3
delay multiplier 8663
real mem = 68153344
avail mem = 65589248
buffer cache = 6774784
isa0 (root)
pccons0 at isa0 iobase 0x60 irq 1: color, 8 screens
com0 at isa0 iobase 0x3f8 irq 4: buffered
lp0 at isa0 iobase 0x378 irq 7
pe0 at isa0
xir0 at isa0 on lp0 (at 0x378)
fdc0 at isa0 iobase 0x3f0 irq 6 drq 2
fd0 at fdc0 slave 0: 1.44M HD 3.5
wdc0 at isa0 iobase 0x1f0 irq 14
wd0 at wdc0 slave 0
wdc1 at isa0 iobase 0x170 irq 15
npx0 at isa0 iobase 0xf0
vga0 at isa0 iobase 0x3c0 maddr 0xa0000-0xaffff
ne0 at isa0 iobase 0x300 irq 9: NE-2000, address 52:54:00:12:34:56
changing root device to wd0a
wd0: format error in bad-sector file

Yes it’s real!  For those who don’t remember history, after the Net/2 release there was a company called Berkeley Software Design Inc (BSDi) that provided a commercial port of Net/2 that also included source.  Add in the infamous 1-800-ITS-UNIX ad, and as they say the rest is history.

BSD/OS 1.1

BSD/OS 1.1

During this time frame it does get hard to track down as the name was in constant flux. BSDI, BSDi, BSD/OS, Internet Server…  Mix in the fun with 386BSD and you get all around naming confusion.

This version, 1.1 is from 1994.  The version timetable does get a tad bit confusing so here we go from what I can find:

1992, April – BSD/386 (BSDi) 0.3.1, first version
1992, June – BSD/386 (BSDi) 0.3.2
1993, March – BSD/386 (BSDi) 1.0
1994, Feb. – BSD/386 (BSDi) 1.1
1995, Jan. – BSD/OS (BSDi) 2.0
1995, June – BSD/OS (BSDi) 2.0.1
1996, Jan. – BSD/OS (BSDi) 2.1
1997, Feb. – BSD/OS (BSDi) 3.0
1998, March – BSD/OS (BSDi) 3.1
1998, Aug. – BSD/OS (BSDi) 4.0
1999, March – BSD/OS (BSDi) 4.0.1
1999, Dec. – BSD/OS (BSDi) 4.1
2000, Nov. – BSD/OS (BSDi) 4.2
2002, March – BSD/OS (Wind River) 4.3
2003, May – BSD/OS (Wind River) 5.0
2003, Oct. – BSD/OS (Wind River) 5.1

One can only hope that 0.3.1 from the apparent “300 customers” may eventually surface.

Fun source of the lawsuit meltdown C/O Computerworld 1992:

C/o Computerworld

C/o Computerworld

C/o Computerworld

C/o Computerworld

For anyone who want’s to relive the glory days, there is a qcow2 disk image suitable for Qemu floating around..

Word is you’d want to run it like this:

qemu-system-i386.exe -L pc-bios -net nic,model=ne2k_isa -net user -hda “bsdos-1.1(repack).qcow2” -redir tcp:4423::23

NeoGeo dev update with Neo Thunder

neo thunder

Compiled and Linked under Windows 10

In a round about way I was looking at old NeoGeo hardware having seen the ‘NeoGeo X’ android device for sale.  In a round about way I stumbled onto this page detailing various homebrew projects.  I saw the Neo Thunder, which looked interesting, and more importantly included source code!

What was even better is that there was a download of the full toolchain + emulators to get it up and running!  I downloaded it, and hit the wall quickly as this was built with cygwin circa 2001, which means it will forkbomb any post Windows XP SP2 system.

Well, I couldn’t just let it die on the vine, so I turned back to my Canadian cross compiler build machine, and quickly built a m68k-elf tool chain.  As always, first build a native cross compiler for later building libgcc.a and friends.  I use a 32bit version of Linux with a downgraded MinGW environment so I can use Binutils 2.25.1 and GCC 4.1.2

For anyone who cares, this is my configure strings:


binutils
../configure --target=m68k-elf --prefix=/usr/local/m68k-elf
../configure --target=m68k-elf --prefix=/m68k-elf --host=i686-mingw32


gcc
../configure --target=m68k-elf --prefix=/usr/local/m68k-elf
../configure --target=m68k-elf --prefix=/m68k-elf --disable-libssp --build=m68k-elf --host=i686-mingw32

With a cross compiler built, the next problem was with the built in tools like bin2elf, fixcnv, gfxcc, and symify.  These were also built with cygwin, and failed to run.  With a LOT of googling however I did find the following link to “Fabrice Martinez’s NeoDev Neo Geo C development library for GCC’. 290 kb Année 7/26/2004 (LINUX)“, out on yaronet.com.

I patched up makefiles to my liking, and I could build all the libs, and all of the sample code (well except for the c++ one, because I couldn’t be bothered to build a c++ compiler).  Some of it runs, some doesn’t I’m not sure what is going on.  But for what it’s worth, Neo Thunder actually builds and runs (on mame!).

As always you can MinGW-M68K-ELF(neogeo).7z on my site.  Be sure to read the 404 page for the username password, as it auto-generates from time to time.  I don’t know if anyone will care, but it was kinda cool to track down the needed bits, and build out a working version of Neo Thunder.