Alice 4

A dedicated tablet for running 80s SGI demos!

We decided to make a portable tablet that did nothing but run mid-1980's Silicon Graphics (SGI) demos. The demos were famous. They were pre-installed on all SGI machines for a decade, and they induced instant nostalgia in anyone who had spent time with those wonderful workstations. Both of us had worked at SGI and had used the machines extensively. [...]

The ARM runs Linux and the demos (which we found in source form in a tar file on an ancient FTP site). Brad wrote a replacement IrisGL library, which performs the transformation, clipping, and lighting, and creates an in-memory list of 2D triangles to rasterize. The FPGA rasterizes them, performing color interpolation and Z buffering. The FPGA also scans the frame buffer to the LCD. [...]

The GPU has a rasterization rate of about 50 million Gouraud (color-interpolated) Z-buffered pixels per second. The triangle overhead lets us do almost 2 million (empty) triangles per second. It's hard to compare these numbers to real SGI machines, but we seem to be matching the performance of machines built in the early 1990s.

Previously, previously, previously, previously.

Tags: , , , , ,

22 Responses:

  1. Joseph Shelby says:

    It looks like it is missing the floating deck of rainbow cards demo/screensaver. That was one of my favs, very hypnotic, especially with the right music.

    (after a bit of google)

    It looks like 'Electropaint' was its name, and there's a windows and osx version out there now, but they're very old so who knows if the binaries will actually run today (and certainly won't without the obligatory "we hate supporting 32 bit" dialog from Mojave these days...)

    • Joseph Shelby says:

      ah, you call it 'stonerview' on XSS. I'll go turn that one back into the rotation. My kid will love it...and then i'll be cleaning up the mess of the deck of cards she'll scatter on the floor for weeks. :)

  2. David E. Konerding says:

    glplanet and pulsarview were both originally written on SGI boxes at UCSF (an InfiniteReality purchased to do visualization of drugs binding to proteins). pulsarview was written to text quads performance on SGI vs. Linux (which at the time had very limited hardware OpenGL support).

    One of the more interesting "features" of the high end SGI boxes was that they didn't clear the 2D texture caches completely, so if you logged in after somebody had been surfing porn, you got some tiles that were obviously parts of naked bodies.

    IIRC the founder of SGI, Jim Clark said something about reality being only 50M (textured, lit) polygons per second.

  3. cthulhu says:

    Where’s the air combat flight sim? Always my favorite one...

  4. Moldy Oldy says:

    You are doing the Lord’s work. Continue.

  5. Zygo says:

    So...they were aiming for mid-1980's performance, but it was their first try with a completely new programming discipline, so they made some mistakes, and landed on early 1990's performance instead. That's a not-so-gentle reminder of just how far hardware has come since the 1980's.

    Did they add some delay loops (or clock dividers) to slow it back down, or do the demos just run unrealistically fast?

    • Lawrence Kesteloot says:

      Isn't that crazy?! And it was two people in their spare time instead of a group of 30 professionals (or whatever was on SGI teams).

      There are no delays. The frame rate is about 50 Hz, and the software blocks on swapbuffers(), so it runs at about the right speed.

  6. Bill Paul says:

    My favorite SGI game was called: "Installing IRIX."

    When I worked at the Columbia University EE department in the 90s I was one of the few people who had actually done a complete SGI IRIX OS install from scratch. This was around the IRIX 5.3 era. The technology had evolved sufficiently that you could now install from CD instead of tape (like an animal) but they still used the "miniroot" scheme, where you booted a standalone disk partition tool from the CD, created partitions, then loaded a stripped-down OS image with installer (the miniroot) into the swap partition and booted it. From there you selected packages to install and just let it run.

    We had an IP19 "rackmount" Onyx system with RealityEngine2 graphics. It had 6 MIPS R4400 CPUs running at a whopping 150MHz, with 1GB of RAM. Supposedly it cost about $250,000. (The RealityEngine2 graphics pipe alone was around $90,000.) We also had the Sirius video accessory board. And it had a system controller with an LCD bar graph display on the front to show CPU activity, which reminded me a little bit of the W.O.P.R.

    And yes, we played sgixdoom on this machine.

    Not every Challenge/Onyx had a graphics head; some were just compute or file servers. But they all had a serial port. You could connect a dumb terminal to this port and use it as the console, but if you had a graphics pipe you had the option of using that (with a keyboard) as the console instead. (There was a way to force the serial port to be the console even if you had a graphics head too, though I don't remember how that worked anymore.)

    For the record, if by some quirk of fate you ever find yourself having to install IRIX onto such a machine, use the serial port and a dumb terminal as the console when you boot the install CD.

    See, installing IRIX doesn't just load new software onto the disk: it can also upgrade firmware. It will scan the hardware and figure out what components you have and reflash the firmware if it thinks it's out of date. This includes firmware in the graphics pipe and in the system controller. It usually does this near the end of the installation process. And one thing that's not immediately obvious is that upgrading the graphics firmware resets and blanks the console display -- and doesn't turn it back on again until you reboot.

    So now, after waiting an hour or so for software to install on this quarter million dollar piece of hardware for the first time, the installer alerts me that it's about to do a firmware update, and the console suddenly shuts off and I have no idea what to do next. Is this the machine still running? Is it hung? Have I bricked it? Well, the lights on the disks in the storage array were still blinking so I probably didn't brick it.

    From prior experience, I knew that once all the software installation completed, you'd be dropped back to the installer prompt, at which point you just type "quit" and then "y" to confirm, and it restarts the machine from the new installation.

    So I waited nervously for about 15 minutes or so until it looked like all disk activity had ceased blindly typed "quit"/ENTER and "y"/ENTER and held my breath and fortunately the damn thing booted up again all nice and happy like.

    Bastard.

    So yeah, do the install from a serial port, so you can just be bored instead of terrified.

    I also still remember the "Vulcan Death Grip" keystroke sequence to force the X server to exit: SHIFT-CTRL-ALT-F12-[division key on the number pad].

    • Thanks for that!

      Also: Graphics Pipe is the name of my new Orbital cover band.

    • jwz says:

      That's awesome. Wow, this almost makes me nostalgic enough to see if I can boot the Indy and O2 that are sitting on a shelf in the laundry room... Almost.

      I had completely forgotten about SGI Doom. I completed it!

    • Doctor Memory says:

      Jesus fuck, that was a nasty flashback to some memories I'd mostly managed to repress. Back in the days before Linux Ate Everything, SGI's foray into the server market meant that I'd occasionally run into places that decided to by a Challenge M to use as...a samba/nfs server? Madness. IRIX was obviously incredibly fine tuned for the purpose of doing a very different job, but 4DWM sure was pretty.

    • Billy says:

      Can you believe my workplace threw out most of its decommissioned SGIs?? I kept them safe in a corner of my server room for years, but when I got transferred, some dickhead tossed them in a computer recycling bin. Two green Power Indigo 2s and a beautiful blue Indy. I'll never forgive them for that.

      Someone else did manage to save the O2 for me, and that's now on my new desk, with a great big fuck-off sticker on it that says I'm not allowed to switch it on since it might be an electrical hazard. This fucking world we live in, I swear.

  7. Heh.

    Brad, Lawrence, and Allen are directly responsible for my career. (My first Unix was NetBSD/mac68k in 1996 or so.)

  8. vince says:

    can we use this to play bz? In the mid-90s some friends and I had a summer job at the local army base and after hours played a lot of bz. Somehow bzflag never really felt like a perfect replacement.

    I've rescued 2 Octanes from being thrown out, but one has bad RAM (which I haven't had time to fix) and the other one I had netbooting Linux as part of my thesis (long story) and haven't tried to boot it in 10 years.

  9. Hi, all! We had a lot of fun building that thing. A video of my presentation is at https://www.youtube.com/watch?v=0oHPUxgeklc and a PDF of the slides is at http://my.presentations.techweb.com/events/arm/santa-clara-ca/2017/free-session-presentations/download/5833 .

    I think building new software for the thing would require three things, really:
    1) We'd need to document the internals of what we did
    2) Someone has to find the source code for the demo (like Lawrence said on twitter, the flight source we found was not workable), and
    3) Someone has to adapt the thing to the tablet and potentially add functionality to libgl.

  10. Doctor Memory says:

    Not enough textured fake marble process on the tablet exterior.

  • Previously