The Harris HCX-9 aka TAHOE platform

A machine born in legend

This is a machine that is shroud in legend, and of course played an integral part of internet history but oddly enough almost all trace of it ever existing has vanished.

The release of BSD, aptly named the 4.3BSD TAHOE release was completed in June of 1988. However shortly after this release the makers of the CPU, Computer Consoles
Incorporated abruptly exited the market killing off the platform.  What is interesting though is that while CCI was manufacturing the TAHOE processor, they also sold it to 3 other OEM’s, Sperry (which merged with Buroughs, and re-branded as Unisys), and ICL Ltd. and Harris is the only other one to have picked up the CPU for inclusion in it’s own machines.  Among them was the HCX-7, and the HCX-9.

The Harris HCX minicomputers were one of the possible machines that the CSRG team at Berkeley saw as a possible successor to the aging VAX line of minicomputers for their operating system.  While this may not have been the first port of UNIX or BSD for that matter, it was the first port of a 32bit BSD, that was included into the main VAX BSD source, and as such could be redistributed with the BSD license (which at the time required an AT&T 32V license).  The fundamental thing this did was to split out the VAX specific code as a mainstream port was to be rolled back into the main CSRG source, unlike any other 3rd party port at this point.

HCX-5

The HCX-5 ran an internal version of 4.2BSD, along with SYSV in a ‘dual universe’ config, while the HCX-9 was to be supported by the CSRG, as the file GENERIC.hcx9 indicates from 4.3BSD TAHOE.  As you can see the HCX-5’s starting price of $124,500 USD is if anything a continuing of the mindset that BSD only ran on super expensive minicomputers.

POWER 6/32 = HCX-9

Indeed from the config file in 4.3BSD TAHOE, we see this:

GENERIC POWER 6/32 (HCX9)

And for quite some time, I’ve always been searching for a CCI POWER 6/32, meanwhile it appears that was merely a reference platform that became the HCX-9 as indicated from the machine config file.  The evidence was hiding in plain sight, as always it was a typo that lead me here as I was searching for TAHOE processors, and came across people looking for GCC on the TAHOE, running BSD.  And following their threads I noticed that they were running Harris minis’ which then lead me to make the connection that the TAHOE was a processor, not just a machine, and that other vendors sold their own machines with the CPU.

Future cut short

Needless to say, once CCI exited the market these machines evaporated so quickly that they are only remembered in legend in BSD.  I’ve seen people debate if the machine actually existed, who put it out, or even what was it exactly? A workstation? Server?  As we can see from the Harris models, it was meant to be a minicomputer, to compete with the likes of the Digitial VAX.

Oracle Worker

As we can see from this ad, with Oracle support and the official porting target of the CSRG the HCX-9 was expected to have a bright future.  Instead it was cut so short there is barely any mention of it even existing.

Sadly this minicomputer target idea continued, as the CSRG sidestepped the commodity 32bit processors, namely the cheaper 68020 & 80386.

Moving to Debian 8

So if you can read this, then the server is working.

After a few errors here and there, it appears to be working now.

Hopefully this clears up the phantom ‘logging in’ issue others were having.  Also I haven’t seen any php5 updates on Debian 7 in a while, so it was time to dump the DB, and copy over into a new VM.

PCem v12 released

PCem v12 released. Changes from v11 :

  • New machines added – AMI 386DX, MR 386DX
  • New graphics cards – Plantronics ColorPlus, Wyse WY-700, Obsidian SB50, Voodoo 2
  • CPU optimisations – up to 50% speedup seen
  • 3DFX optimisations
  • Improved joystick emulation – analogue joystick up to 8 buttons, CH Flightstick Pro, ThrustMaster FCS, SideWinder pad(s)
  • Mouse can be selected between serial, PS/2, and IntelliMouse
  • Basic 286/386 prefetch emulation – 286 & 386 performance much closer to real systems
  • Improved CGA/PCjr/Tandy composite emulation
  • Various bug fixes

Thanks to Battler, leilei, John Elliott, Mahod, basic2004 and ecksemmess for contributions towards this release.

http://pcem-emulator.co.uk/

Meet the superfans who spent a decade bringing Daikatana back to life

Daikatana!

No, really I got an email today from Frank Sappone, that his passion project the fixing and overhaul of Daikatana was written up on PCGAMER.  Although my involvement may have gotten edited down, honestly all I did was give that little bit of a push and inspiration that it could be done by spending a good week on installing Solaris, and porting the dedicated server portion from SPARC Solaris, to x86 Solaris.  Once we had it running there, it was far easier to then get it running on Linux and OS X as a dedicated server.  Once we had that push Frank was able to use his great knowledge of Quake/QuakeWorld/Quake II and fix an incredible amount of bugs, and bring it into a fairly good state.

The real star here is of course the Johns, John Carmack for making the source code to Quake/QuakeWorld, Quake II, open so we could always refer back to this code, which Daikatana was based off an early beta of Quake II, and John Romero for giving us the needed source to make it all possible.

11.75 HKD is like $1.50 USD

It’s on sale right now at steam!

You can find Frank’s hard work here on bitbucket.org

For Windows users, you can simply download DK_EXE_030816_FULL.7Z, from his site (mirror).  And from the readme:

It’s a 7zip package. After you’ve downloaded the package you extract it to Daikatana’s folder. If you have Steam installed to it’s default path Daikatana’s folder is located in:

C:\Program Files\Steam\steamapps\common\Daikatana\

(or if you’re running 64-bit Windows):
C:\Program Files (x86)\Steam\steamapps\common\Daikatana\

If it asks if you would like to overwrite any files, do so and overwrite the files. End result is that when Daikatana starts you can see in the right bottom corner of the red area in main menu “1.3” instead of “1.2”. You’re also able to access for example the HD resolutions from the Video menu.

If you start playing multiplayer with Daikatana community, you’re also going to need:

dkcustom.rar (Pak9)

You extract that package into:

C:\Program Files\Steam\steamapps\common\Daikatana\data\

 

And to further celebrate this awesome press day, I’ve purchased a limited number of steam keys, reply with a comment (be sure to include a working email address!) and I’ll send you a key!  That’s right it’s the:

ON SALE DAIKATANA GIVEAWAY!

*Quantities limited.

WSAPoll & MinGW

For some reason if you try to use WSAPoll, you’ll get this fine error on linking:

poll.c:(.text+0x26): undefined reference to `WSAPoll’

Yeah.

Turns out that it’s basically missing from the includes.  Thanks to this hint, just simply add this into your source/header after pulling in winsock2.h and it’ll link.

typedef struct pollfd {
SOCKET fd;
SHORT events;
SHORT revents;
} WSAPOLLFD, *PWSAPOLLFD, FAR *LPWSAPOLLFD;
WINSOCK_API_LINKAGE int WSAAPI WSAPoll(LPWSAPOLLFD fdArray, ULONG fds, INT timeout);

And now you can happily compile and link.

COMDEX/Fall’93 program & exhibits guide-on-disk

COMDEX/Fall’93 free diskette!

Comdex on a disk!

I saw this floating around on some web site… And I thought I’d take a look!  Well it’s exactly what it sounds like, an ancient MS-DOS text base database from the fine folks at Folio who would later on sell off, merge and become part of LexisNexis.

Folio infobase

And what fine things were there in 1993?

IBM Power Personal Systems

Let’s not forget the false hope and promise of the IBM/Apple/Motorola PowerPC that was going to save us all, and give us the grand unifying microkernel OS of them all, PINK.

The IBM Power Personal Systems Division is introducing and demonstrating technologies featured on its family of personal workstations.  The Personal Workstations marry  the high-performance PowerPC RISC microprocessor with industry-standard PC components.  The PowerPC is featured with new human interfaces, integration of multiple operating systems environments on a single platform, and the latest in operating system, multimedia and collaborative computing technologies.  OEMs, IHVs and ISVs can explore how they can use these technologies.

Yeah, as we all know Windows NT for the PowerPC wasn’t a thing until late 1995, then killed off in 1997, Solaris saw a single release, MacOS stayed hybrid 68000/PowerPC until the acquisition of NeXT, and then was the basis of Rhapsody/OS X 1.0 and then OS X 10.0 .  A/IX easily transitioned from the POWER to the PowerPC, while OS/2 only went as far as a limited beta, and PINK/Taligent just never happened.  Although thanks to hard ware assisted virtualization (VT-x/AMD-V) it really didn’t matter as we can run pretty much whatever OS we wish at pretty close to native speeds.  The line between Type-1 & Type-2 hypervisors has been blurred to the point of really not mattering anymore.

If anyone cares, I extracted the temperamental disk image as F93.ZIP

OS X 10.12 to Win32 MinGW cross compiler

Using GCC 4.1.2 because that is what I wanted.

Oh yes, it works!

It’sGCC 4.1.2 for MinGW on OS X.  Naturally I had some fun along the way.

      cp/cp-lang.o stub-objc.o cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o cp/ptree.o cp/rtti.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o cp/optimize.o cp/mangle.o cp/cp-objcp-common.o cp/name-lookup.o cp/cxx-pretty-print.o cp/cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o winnt-cxx.o c-pretty-print.o c-opts.o c-pch.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o tree-inline.o dummy-checksum.o main.o  libbackend.a ../libcpp/libcpp.a ../libcpp/libcpp.a ./../intl/libintl.a -liconv  ../libiberty/libiberty.a

Undefined symbols for architecture x86_64:

  “_libc_name_p”, referenced from:

      _nothrow_libfn_p in except.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make[2]: *** [cc1plus-dummy] Error 1

make[1]: *** [all-gcc] Error 2

make: *** [all] Error 2

$

 

From stack overflow:

When gperf wasn’t installed, the compilation script ran the command anyway but generated a blank ./gcc/cp/cfns.h. Since this file was newer than the source (./gcc/cp/cfns.gperf) the makefile left it alone and never regenerated the ‘real’ file when you actually had gperf. To continue, run rm ./gcc/cp/cfns.h and try again.

to dealing with duplicate inlines exact_log2 from an include gone wrong.  Not to mention more and more headers not generating.  But in the end it actually works.  As always it feels so much faster to run on OS X than Windows.  I’m sure there is stuff out there for newer versions of GCC, but I wanted to use the older toolchain and libs for some other reason.

As always it’s on my site here: OSX_16.3.0-MinGW_GCC_4.1.2.7z but I don’t think the world at large would even care.

cisco router spotted in the wild with over 20 years uptime

On this thread on reddit, bhoskins has just posted screen shots of a cisco 2514 featuring 2 10mbit Ethernet ports, and 2 2Mbit Serial ports, and just over 20 years of uptime.

cisco 3000 router with 20 years of uptime

cisco 2514 router with 20 years of uptime

As bhoskins mentions later on in the thread:

I think i probably agree especially considering that’s monthly generator exercises that include transitions from commercial -> battery -> generator power and back.

However…The config… This routers goal in life is to provide management connectivity to some equally ancient SONET equipment that doesn’t even speak IP; it only knows CLNS. That’s right kiddos, it’s a hold over from a time long ago when dinosaurs roamed the earth and there was a competing protocol to IP.

So it runs CLNS and routes it with ISIS between the core and SONET ring. The level-2 database is close to 500 LSP and there are probably on the order of 800 CLNS routes. Oh yeah and it runs IP too so the router itself can be managed. All that with it’s little 608030 CPU and 16MB of memory. That fact that none of those processes have crapped on themselves in 20 years in a router with such limited resources is impressive to say the least.

Pretty amazing stuff.  And of course there was also that Netware server with 16 and a half years of uptime.  It’s amazing on one hand how this older stuff can keep on going, and how dangerous it is security wise to run such dated stuff.

16 and a half years of uptime

The old school analog TV pack

Pixel perfect

AKA emulating vintage displays on modern machines.  I know i’m super late to the party, but that is life as they say.  As you may be aware, when it comes to emulation, sometimes it simply is too perfect.

Mame 0.144 Galaxy Force II

Just look at how utterly pixel perfect it is.  The thing is back in the 1980’s LCD screens were amber only with 4 shades of amber at best.  Everyone else had CRT’s, and arcade machines sure were all about the CRT.  But now we live in a future where CRT’s are not only expensive and rare, but it’s easier to emulate the look and feel, although today I’m looking at shaders, I’m sure at some point there will be a Physics emulation of a CRT, but not yet.

Retro Arch & CRT Shaders

So I’m using RetroArch, as it supports a vast number of both video and audio plugins, and shaders, but more importantly you can stack them to get a more intracte look to take a pixel perfect version like above, and then translate it onto how it may have looked on an aging black & white TV set:

Black and White

Or evena colour CRT look and feel:

Custom CRT

While reading on the libretro forum, I found this great package that includes the following easy presets:

  • 480p: Nice shader suitable for 480p content like Dreamcast games
  • Component: High-quality signal look but not overly sharp like RGB
  • B&W TV: Pretty self explanatory
  • Vintage TV: This looks really good with low-res pixel games on systems like the Atari 2600
  • Vintage LCD: Looks like an early gen LCD screen complete with ghosting
  • Composite: Simulating a typical cheap CRT using composite cables
  • S-video: Much the same but better quality video signal
  • RGB-Shadowmask: This is more akin to a high quality CRT with RGB/SCART cables
  • RGB-Scanlines: Like the previous but with thick bold scanlines like you’d find on a Sony PVM or other broadcast quality monitor, nice and bright :slight_smile:

I would HIGHLY advise using the nightly builds of RetroArch, as I had really poor performance when using some of these stacked shaders that may go as many  as 12 deep, however nightly had no issues at all.  It does without saying that you’ll really want a powerful machine to do this kind of thing with a real GPU.  This flies in the face of the ARM stuff, but as they say that’s life.

I don’t have the youtube privleges to upload super high video, so this ended up looking like a smudgy mess, and I captured it with that Windows 10 “Game DVR”, which really isn’t that great, it clipped the bottom, and captured the menu bar.

But it got the basic job done.

If you have the CPU/GPU power, and want a more all around better looking emulation experence, I’d HIGHLY recommend it.  If anything it’ll remind you why CRT’s certainly may have had awesome refresh rates, but really terrible resolutions.

You can download the shader from either mega.nz here:

https://mega.nz/#!Qk1RVCJC!KAC127iD5wNw9GvLqKtnzJRcixDDzgb7UcjBQVIlDrY

or on my site (read the 404 page!):

Analog Shader Pack 1-23-16.zip