avatar

About neozeed

What is there to tell? I've loved UNIX like things since I was first exposed to QNX in highschool (we had the Unisys ICONS!), and spent the better time of my teenage years trying to get my own UNIX... I should have bought Coherent in retrospect.. Anyways latched onto Linux in 1992, and then got some old BSD admin books and have been hooked on the VAX BSD & other big/ancient things since...!

Jerry Pournelle RIP (1933-2017)

I had just heard the news that Jerry had passed away.  While famous for his scifi writing, his work for the military and pushing ‘smart weapons’, getting kicked off the ARPANET for wrong think, and of course being the first person to use a word processor to write a book and get it published.

He was also known as quite the tinkerer and getting the luck of having people send him stuff to play with, and he’d write about it in his column on Byte back in the day (starting in 1984!), and you can find his full BYTE credentials here.

Although at the time I had thought of it as very chaotic, all over the place, and full of, well just simple bonehead mistakes, in retrospect Jerry’s chaos had a tremendous impact on me, and in some unconscious way I had inadvertently followed in his style through virtualization.  And I can say that although some things are pretty obvious in hind sight, when you are in the middle of it, some bad things seem like good ideas!!  Although the price for ‘bricking’ a virtual machine is a lot lower, and the ability to quickly go back and forth, and experiment more pretty much consequence free is definitely a plus!

He, along with John C Dvorak were frequent guests on TWiT, with I think his last appearance in 2015, which I have to say I had always admired their cantankerous old man style.  One that I find myself increasingly take on with age.

From Jerry’s son Alex:

I’m afraid that Jerry passed away.
We had a great time at DragonCon.
He did not suffer.

(8 Sep 2017 – 3:45pm PDT)

He was 84

Definicon DSI-32 co-processor emulation

Definicon DSI-32 coprocessor card

Well this is a little interesting thing.  Back in the 1980’s people were increasingly frustrated with the limitations of the 8086 processor in their IBM PC/XT computers, and wanted a way to get the latest & greatest 16 bit, and 32bit processors.  One such hot processor was the  National Semiconductor NS32032.

Enter the Definicon DSI-32 co-processor card.  It’s a simple 8bit ISA card containing the NS32032 processor, some memory an sockets for both a math co-processor, and a MMU.  The NS32032 is also somewhat infamous as being rather ‘VAX like’, and being difficult for compilers of the era to properly optimize for.  As mentioned in Michael Tiemann’s interview in the O’Riley book Open Sources .

The real bombshell came in June of 1987, when Stallman released the GNU C Compiler (GCC) Version 1.0. I downloaded it immediately, and I used all the tricks I’d read about in the Emacs and GDB manuals to quickly learn its 110,000 lines of code. Stallman’s compiler supported two platforms in its first release: the venerable VAX and the new Sun3 workstation. It handily generated better code on these platforms than the respective vendors’ compilers could muster. In two weeks, I had ported GCC to a new microprocessor (the 32032 from National Semiconductor), and the resulting port was 20% faster than the proprietary compiler supplied by National. With another two weeks of hacking, I had raised the delta to 40%. (It was often said that the reason the National chip faded from existence was because it was supposed to be a 1 MIPS chip, to compete with Motorola’s 68020, but when it was released, it only clocked .75 MIPS on application benchmarks. Note that 140% * 0.75 MIPS = 1.05 MIPS. How much did poor compiler technology cost National?) 

Such was the fate of the NS32032.  Getting back to the Definicon card, it has no real IO of it’s own, instead it relies on being able to copy memory in and out of a window to program the CPU, much like how LIM EMS stores more than 64kb onto a card.  MS-DOS provides all the I/O operations though a simple software interrupt driven system, allowing the host to open and read files, tell the time, and even simple EGA graphics.

Unfortunately, the window of interest in these types of boards waned pretty quick, so the only development tools available are the original Green Hills Software packages, along with a simple PD (no sources) LISP & FORTH interpreter.  The board has support for C, Assembly, Fortran and Pascal.  Naturally the user is expected to invoke each component of the tool chain manually, as was the case for many micro hosted tools of the day.  What is kind of interesting is that the environment isn’t a strict 8086 MS-DOS based cross compiler, rather the tools run on the NS32032 co-processor allowing seemingly large programs to run on machines from the early 1980s.

In addition to PC ISA boards, the NS32032 was popular as a secondary processor for various machines, including the 6502 based Acorn.

BBC Second Processor NS32032

This module could plug into the back of the Acorn, and then much like the Definicon DSI-32, let Acorn users run full 32bit program on their 8bit machines.  There has been an ongoing effort to emulate the Second Processor in a FPGA.  Flipping that on it’s head, a NS32032 emulator was found, and using a FPGA Acorn, the second processor was then emulated on a raspberry pi, using a C based emulator for the NS32032.

FPGA Acorn with raspberry pi second processor

Taking that CPU core, and finding the source code to the load program allowed for a 32bit Linux or Windows based load program to feed the C CPU core emulator.  I made some minor tweeks regarding it’s handling of files, and have a version that runs on Windows.

Series 32000 Emulator 4Mb Version 1.0b(MinGW32) of 8 Sep 2017
C-32000 1.6.12 Copyright(c)1985 Green Hills Software, Inc.
Series 32000 Emulator 4Mb Version 1.0b(MinGW32) of 8 Sep 2017
CSD-32000 Assembler V1.00a, Computer Systems Design
Pass 1 in progress
Pass 2 in progress
Pass 3 in progress
0 Assembly error(s) detected.
Series 32000 Emulator 4Mb Version 1.0b(MinGW32) of 8 Sep 2017
DSI-32000 Linker V1.03c, Definicon Systems Inc
@ FILE=LIB\CMAIN
@ LIBRARY=LIB\CLIB
@ NOCOMM
@ MOD=80
@ MODULE=CLIB/CODE_START=3600,NOCOPY
@ MODULE=CLIB/LINK_START=35E0,NOCOPY
@ MODULE=CRTLIB.C/CODE_START=4000,NOCOPY
@ MODULE=CRTLIB.C/LINK_START=7500,NOCOPY
@ MODULE=CRTLIB.C/SB_START=7000,NOCOPY
@ STACK=+40
@ CODE=A000
@ RAM=0..FFFFF
Series 32000 Emulator 4Mb Version 1.0b(MinGW32) of 8 Sep 2017
Dhrystone(1.1) time for 50000 passes = 1
This machine benchmarks at 50000 dhrystones/second

I was unable to get either the Pascal  or Fortran compilers to generate output that the assembler liked, however the C compiler works.  Other ISA NS32032 cards include the Opus, which could be configured to run SYSV unix!

For a while, these types of second processor cards were quite common, even being used as upgrade cards, like the Microsoft Mach-20, or giving access to a completly different CPU/OS combination like the CP/M z80 card for the Commodore 64, to the incredible Amiga BridgeBoard.

One thing to keep in mind is that the DSI-32 board came out in 1985.  The GNU project wouldn’t launch in earnest until 1988, which may not seem like that big of a window but in reality it really is.  3 years is a substantial time in the industry.  And like many things GNU in the 1980’s it was focused on bigger minicomputers like the SUN-2/SUN-3, VAX etc, not common machines like the Apple Macintosh, Commodore Amiga, Atari ST, although it’s 68000 was common subset of the 68010 in the SUN-2 and 68020 of the SUN-3.  Even the 32-bit giant of them all, the 80386 didn’t begin to get support until GCC 1.23 (the summer of 1988.  Early GCC had incredibly rapid progress).  But by the late 1980’s people with NS32032’s were using them in full systems, they weren’t the typical ‘brain in a jar’ type users that had these fancy CPU co-processor cards.

I did built a copy of GCC 1.39 & GAS 1.38 for the NS32K, although since it’s unable to link in any format the DSI-32 would understand it did seem kind of pointless.  The assembler syntax is quite different.  Perhaps if it were the 1980’s something like the x68000 port of GCC which modified GCC to use a syntax that the platform’s native assembler & linker were comfortable with.

Using the 1987 Infocom Interpreter source code, I was able to cross compile it to the NS32k.

Series 32000 Emulator 4Mb Version 1.0b(MinGW32) of 8 Sep 2017
DSI-32000 Linker V1.03c, Definicon Systems Inc
@ FILE=LIB\CMAIN
@ LIBRARY=LIB\CLIB
@ NOCOMM
@ MOD=80
@ MODULE=CLIB/CODE_START=3600,NOCOPY
@ MODULE=CLIB/LINK_START=35E0,NOCOPY
@ MODULE=CRTLIB.C/CODE_START=4000,NOCOPY
@ MODULE=CRTLIB.C/LINK_START=7500,NOCOPY
@ MODULE=CRTLIB.C/SB_START=7000,NOCOPY
@ STACK=+40
@ CODE=A000
@ RAM=0..FFFFF

C:\dsi\set021387>emu.exe infocom -a planetfa-37.z3
Series 32000 Emulator 4Mb Version 1.0b(MinGW32) of 8 Sep 2017
PLANETFALL
Infocom interactive fiction – a science fiction story
Copyright (c) 1983 by Infocom, Inc. All rights reserved.
PLANETFALL is a trademark of Infocom, Inc.
Release 37 / Serial number 851003

Another routine day of drudgery aboard the Stellar Patrol Ship Feinstein. This
morning’s assignment for a certain lowly Ensign Seventh Class: scrubbing the
filthy metal deck at the port end of Level Nine. With your Patrol-issue
self-contained multi-purpose all-weather scrub brush you shine the floor with a
diligence born of the knowledge that at any moment dreaded Ensign First Class
Blather, the bane of your shipboard existence, could appear.

Deck Nine
This is a featureless corridor similar to every other corridor on the ship. It
curves away to starboard, and a gangway leads up. To port is the entrance to
one of the ship’s primary escape pods. The pod bulkhead is closed.

Deck Nine Score: 0/4451
>

Although the The DSI-32 was followd up by 68020 based DSI-780, which was nearly three times faster.  As with the Amiga Bridge board, and cards like the SunPCi, these types of cards became more and more of an addon to run IBM PC software, and less about trying out new and exciting processors.  But now thanks to emulation you can try them all out without any additional messy hardware.

Anyone who cares, my dump of what I found and messed around with is here:

ns32032_dsi-32.7z

Great resources can be found:

Thanks to Alexander Voropay for giving me some heads up & materials for this interesting side trek!

Tyne RISC PC Deskstation

Wow, another MIPS running Windows NT appears in the wild!

This is a great tear down, and look at a MIPS desktop from back in the day, sold to run Windows NT.  It’s hardware shares a lot from PC’s of the era, from the AT keyboard, serial mouse, ISA slots, with a VL S3 video card.  One day I hope to get a MIPS NT machine, although they are incredibly rare to find.

Warpstock 2017 – Toronto, Ontario, Canada

I just found out about this.  It’s running September 8th to the 10th.  I won’t be going as I just found out, and I’m running errands in China.

For the 2-3 people in the GTA area:

Warpstock is the annual conference for OS/2, ArcaOS, and eComStation users, administrators, and developers. Warpstock 2017 will be held at the Holiday Inn Toronto Airport East, located at 600 Dixon Road Toronto, Ontario, Canada M9W 1J1., Friday, September 8 through Sunday, September 10, 2017.

The schedule is here, and as expected, ArcaOS is at the forefront.  Unfortunately at $129.00 USD it’s a bit too much for me.  And I still use OS/2 2.00 …

 

SUN Solaris is effectively dead.

I wanted to wait to get a more concert announcement, but apparently it’s not going to come.  In case you missed it, on Friday Oracle robo called the people working on SUN hardware & software and effectively laid them all off.

We can now dispose of any pretense that Oracle was interested in any SUN technology, or has any plans for it in the future, rather it was a poor ruse to give the impression that there was a future that Oracle was interested in, to drum up a larger settlement amount for how Google deprived them of their licensing for the Dalvik, the Java inspired VM.

Now that Oracle has failed twice in suing Google, there is no longer any need to keep up the charade.

The mismanagement of SUN after the purchase by Oracle is nothing short of stupendous.  While busy chasing pie in the sky litigation, two very important and very lucrative markets were literally expunged from SUN’s portfolio as Oracle clearly has no vision or any competency.

SUN announces the ‘GRID’ in 2006 aka cloud computing

Seriously, look at this announcement from 11 years ago.  Oracle could have been a leader, although given their horrific support and business of treating customers like criminals, perhaps their incompetence is a good thing.

Hi. I’m Jonathan Schwartz, chief operating officer for Sun Microsystems. For nearly a quarter of a century, Sun Microsystems has been saying the network is the computer, and today I’m pleased to announce that Sun is launching the world’s first true computing utility. The Sun Grid is an Internet accessible compute utility that provides anyone in the United States easy access to a super computer for the affordable price of a buck per CPU hour.

So what does it mean for you? If you’re a biotech company, it means that you can plug into the Sun Grid to run complex modeling jobs and get results instantly. If you’re a startup, you can rely on Sun Grid now instead of spending your own capital to build out your own IT infrastructure. Sun Grid let’s you focus on your core competency and get to market faster. If you’re an online business that needs additional resources at peak times, why don’t you provision your own infrastructure for normal work — workloads and let Sun Grid handle the spikes? And if you’re an enterprise running at steady state, use the Sun Grid to test new products and innovations without jeopardizing production systems.

With Sun Grid, you’re not required to a commit to a long-term contract. There’s no hidden fees. You can dial up or dial down based on your own usage of your own compute resources. You don’t need to negotiate the price. You don’t need to negotiate the terms. And you don’t need to meet with a sales person or try to structure a funny finance contract. Simply go to network.com, purchase hours through PayPal with a credit card and start computing.

Today we’re throwing open the doors to the public Sun Grid and inviting everyone to try it out. There’s an interesting sample application up there right now that reads text, say, from an article on the Web and converts it into an MP3 file that you can download to your iPod. Imagine everyone in New York streaming a custom version of the Wall Street Journal to their iPod every morning. With Sun Grid, they can.

We welcome all ISVs to build and deploy software services on the Sun Grid. We’ll be publishing the API specification shortly. For developers generally, Sun Grid offers a heavyweight runtime environment for low-testing your apps across multiple horizontally clustered systems.

Now, I’m sure there’s lots of uses of the Sun Grid that we haven’t even thought of, and we can’t wait to see how it evolves. One of our founders once said, “Innovation happens elsewhere.” Well, log onto network.com and test drive today.

With Sun Grid, the network truly and finally is the computer.

Another interesting artifact of the time is that Jonathan is that he kept a blog, making SUN more accessible.  Sadly this didn’t catch on in the world of tech, where for some reason people either confine themselves to twitter, or Facebook, both platforms that they don’t own, nor can they actually control.  Instead modern CEO’s hide behind PR teams, as they have done since the advent of Public Relations (Thanks Ed!), and of course one of this many posts on the grid.

With the rise of AWS around the same time, there really could have been a far more stronger and competitive area, and as always Microsoft was totally asleep at the wheel letting Virtual Server languish with no x64 path for years to come, and a public cloud not available until 2010!

The Intel Itanium managed to kill almost all the popular RISC processors, and combined with Linux killed the majority of SYSV Unix in the world.  Just as the Itanium Linux combination upset the midrange world, AMD pushed x86_64 to the forefront upsetting the Itanium push before it even began.  In 2017 to not be on x86_64 & ARMv7 is just suicide.  Oddly enough IBM still managed to not only sell PowerPC based kit, but AIX hasn’t seen a new version since 2015 with the larger push of course going to Linux.

Open Solairs

SUN knowing that their future was imploding did the great thing of opening Solaris, Java and other great tech.  Naturally Oracle closed the door soon after buying SUN.

Open.

Naturally you’ll never see the words open over at Oracle.  To say the hacker open culture of SUN is incompatible with the litigious and highly customer toxic Oracle is an understatement.  At least this did get the OS out into the wild, with things like ZFS and Dtrace to live on, and outside of Solaris.  However even Apple was scared enough of the possibility of lawsuits from Oracle to have dumped ZFS from OS X, even though they did have it running.

The other amazing bit of tech they did have was VirtualBox, which started out as a German virtualization product to bring the wonders of OS/2 to other operating systems.  VirtualBox coupled with the grid on Solaris x86_64 could have been an incredibly robust platform, but of course that was never to be.  VirtualBox is still around however, so there is that at least.

I suppose there could be a lot more said about the ultimate rise and decline of SUN.

Like Cisco and Oracle, SUN’s fortunes took a dramatic uptick in the late 1999 .com fueled gold rush, along with the parallel Y2K gold rush.

$63.4 to $3.28, source Bloomberg

It’s hard to keep on going when you lose the majority of your value in the .com crash.  SUN struggled to re-define itself, and ultimately rebranding itself as JAVA just wasn’t enough to save itself.  Amazon may have been a retailer, but it quickly gained a reputation as a competent data centre operator, where as SUN was unable to do so.

The death of the SPARC, and Solaris was inevitable, just as the 68000 & SunOS was doomed in the 1980s.  When I talk to enterprise architects on what platforms they are going to use in upcoming projects, the new portable .net is catching some attention, c# may be gaining some traction again, but nobody wants that ‘killer’ combination of Solaris+Java+Oracle.  I know plenty are already tied to it, but I don’t see anyone championing it.

I know from my own personal experience of having a signed contract with Oracle, and having them arrive on site, doing an audit, invalidating their own contract as being “not properly authorized by a ‘rogue’ salesman”, and having our prices doubled overnight, and being forced to downsize our infrastructure as our faster processors had too many cores (even though we disabled the additional cores in the BIOS), I had moved all future projects to Microsoft SQL, as a flat rate of $5,500 retail for SQL Server was a flat out bargain.  I didn’t care if Oracle was 10x as fast, I could buy 100x more MS Servers for the price of an Oracle 10g grid.

The other lesson is that even though Apple could have bought SUN, and had an enterprise market, the bottom line is that it doesn’t matter.  Just as Apple abandoned Enterprise Objects, the X-serve, the Mac Pro, and OS X Server as a real viable server platform, the truth is they make so much more money on iTunes royalties, that they are the ones quickly approaching a 1 Trillion dollar market cap.  The ironic thing is that although you need an enterprise, there is no money in servicing the enterprise, there is far far far more consumers out there.

I’ll keep links I find on this developing story

 

PC-MOS/386 v5.01 released under GPL v3.0!

Sources over on github!

https://github.com/roelandjansen/pcmos386v501

I’ve only just received notification of this, and had to post it forward.  All I know is that you’ll need Borland C++ 3.1 along with Borland Brief to re-build the system.  I haven’t tried it just yet, but I most certainly will!

For those unaware, PC-MOS is a multi-user multi-tasking MS-DOS like Operating System.  I looked at this some years ago.. More so interested in seeing if and how various MS-DOS like OS’s could run under modern emulation.

It may be interesting to pit FreeDOS vs PC-MOS/386.

On a personal note, it’s great to see that PC-MOS won’t just end up a minor footnote in wikipedia until it gets pushed off, instead it can live on

Started to re-build my MS-DOS machine

DooM!

Good news, it actually works!  I was using the version 1.1 WAD, so honestly weird crashes really aren’t unexpected.  I haven’t looked much at what to do with audio, but I was really impressed compared to the Qauake II wars, it was really surprising to not only see DooM run on the first shot in real metal, but the keyboard works as well.  Well enough for me to pick a level, and get killed.

Naturally it doesn’t work under Windows, however it runs fine with MS-DOS mode.

Porting Catacomb3D to MS-DOS (DJGPP v1/GO32).

Catacomb 3-D for GO32

No really, it’s Catacomb 3-D: The Descent.  First ported to 32-bit SDL by NotStiller.  Me being the person I am, I fixed a slight bug regarding binary files on Windows, and MS-DOS, then cleaned up some of the C++ syntax (yuck!) making it far more C89 friendly.  And of course, hot off the heels of DooM for GO32 DPMI, I was able to get it to build and run using GCC 1.39 and GO32.

I know most people really won’t care, but I found it kind of interesting.  I should try to see if it’ll run on actual hardware, just as a comparison of tightly optimized Borland C++ / Assembly vs 100% pure C on DJGPP.  The best tech of 1991 for sure!

At current I just put the source up, you can git it here.

unresolved symbol __imp____iob_func aka SDL 1.25 & Visual Studio 2015

While trying to build something with Visual C++ 2015 Community edition I got this fun error while trying to link:

LNK2019 unresolved external symbol __imp____iob_func referenced in function _ShowError
LNK2019 unresolved external symbol __imp__fprintf referenced in function _ShowError

So it turns out that some of the fundamental streams have changed, and when the SDL library is compiled it attaches LIBC into it, which then creates this fun mis-match.  The fix is easy, of course, just download the source to SDL 1.25, and re-build it with Visual Studio 2015.  But then you’ll get another error that /ZI and /Gy- are incompatible with eachother.  I just changed /ZI to the older /Z7 setting, and I could quickly compile SDL, copy the libs to my project and happily link & run.