Jekyll2017-12-16T13:15:54-08:00http://halfmanhalftaco.com/halfmanhalftaco.comRetrocomputing and other useless, obsolete things
Are we human, or are we taco?Lunchbox Fever2017-09-29T21:09:00-07:002017-09-29T21:09:00-07:00http://halfmanhalftaco.com/2017/09/29/Lunchbox-Fever<p>Over the past couple of weeks I’ve had the good fortune of finding a slew of
various compact Sun “lunchbox” computers on eBay. While I’ll always be a #1 fan
of the pizzabox form factor for UNIX machines, the lunchboxes are nice and
compact and they stack neatly with a bunch of other Sun accessories (CD-ROMs,
external hard disks, tape drives, etc.)</p>
<p>None of these machines were particularly very fast, but they were solid
mid-range machines in their era.</p>
<table>
<thead>
<tr>
<th>Machine</th>
<th>CPU</th>
<th>Max RAM</th>
<th>Onboard Graphics</th>
</tr>
</thead>
<tbody>
<tr>
<td>SPARCstation IPC</td>
<td>LSI 25MHz</td>
<td>48MB</td>
<td>bw2 (mono)</td>
</tr>
<tr>
<td>SPARCstation IPX</td>
<td>Fujitsu 40MHz</td>
<td>64MB</td>
<td>cg6</td>
</tr>
<tr>
<td>SPARCclassic</td>
<td>TI microSPARC 50MHz</td>
<td>96MB*</td>
<td>cg3</td>
</tr>
<tr>
<td>SPARCclassic X</td>
<td>TI microSPARC 50MHz</td>
<td>96MB*</td>
<td>cg3</td>
</tr>
<tr>
<td>SPARCstation LX</td>
<td>TI microSPARC 50MHz</td>
<td>96MB*</td>
<td>cg6</td>
</tr>
<tr>
<td>SPARCstation ZX</td>
<td>TI microSPARC 50MHz</td>
<td>96MB*</td>
<td>cg6</td>
</tr>
</tbody>
</table>
<p>* Unofficially, these machines can accept 128MB of RAM by using 16MB SIMMs in
the first bank.</p>
<p>I have managed to get one of each of the above machines except for the ZX. This
machine came with the rare/expensive ZX graphics card that even today sells for
around $200 - the original price of the card alone was closer to $12,000. Other
than the fancy graphics card these machines were otherwise identical to the
SPARCstation LX.</p>
<p>The early machines (IPC, IPX) are from an era which suffered greatly from the
capacitor plague problem of the early 90s. The two machines I have both needed
extensive power supply service involving replacement of all the output filter
capacitors. The later machines don’t have the same issue fortunately.</p>
<p>Additionally, machines of this age came with Seagate disks that time hasn’t been
kind to. All of the disks in the machines I’ve received are in bad shape and
I’ve removed most of them. I only have one SCSI2SD (they are kind of expensive)
so the rest of the machines are limited to booting from the network. It’s not a
terrible situation though, booting off the network is faster than you might
think. I run a boot server on a Solaris 10 VM running on my main x86 workstation
with SSD-backed disks, so performance is pretty good even though it’s getting
throttled down to half-duplex 10Mbps on these machines. Local disks are still
faster but diskless booting is way more reliable.</p>Are we human, or are we taco?Over the past couple of weeks I’ve had the good fortune of finding a slew of
various compact Sun “lunchbox” computers on eBay. While I’ll always be a #1 fan
of the pizzabox form factor for UNIX machines, the lunchboxes are nice and
compact and they stack neatly with a bunch of other Sun accessories (CD-ROMs,
external hard disks, tape drives, etc.)SunOS 4.0.3c on a SPARCstation IPC2017-08-26T15:14:00-07:002017-08-26T15:14:00-07:00http://halfmanhalftaco.com/2017/08/26/SunOS-403c-on-IPC<p>One of the main goals I had when I bought my <a href="/inventory/phoenix">SPARCstation IPC</a> was to install SunOS 4.0.3c, the earliest supported OS on this system. The build date is 25 May 1989, which makes it the only 1980s UNIX any of my machines can run. Unfortunately, my IPC has slightly newer hardware than was available when 4.0.3c was released (it was originally targeted at the SPARCstation 1), and the newer SCSI controller causes errors with the version of the esp (Emulex SCSI) driver included.</p>
<p>This post details how I managed to install 4.0.3c onto my IPC starting with unpatched media.</p>
<p>According to <a href="/content/100204.txt">Sun Patch ID #100204-01</a>, there is a very simple mod to the SCSI driver that allows this older OS to work on the IPC (aka Sun 4/40). The problem is that the boot disk (MUNIX) uses this driver to to copy the miniroot to the disk, which in turn also contains its own unpatched kernel image, when then installs the distribution which contains an unpatched kernel, so some care has to be taken to patch kernels along the way. As noted in the patchnote, at least a patched tape 1 (which contains MUNIX and miniroot) was available from Sun, but I haven’t been able to track down an image or a physical tape of it.</p>
<p>The starting point for the install is the SunOS 4.0.3c 23-floppy distribution (readily available online). There are four boot/install floppies and 19 SunOS floppies in this set. The first floppy contains a 4.2BSD (aka FFS) filesystem containing the bootloader (<code class="highlighter-rouge">boot.sun4c</code>) and the MUNIX kernel (<code class="highlighter-rouge">vmunix</code>), along with a copyright notice. This disk also has the bootblock (blocks 1-15) populated so the boot PROM can load/run the bootloader. The second disk has the MUNIXFS filesystem on it that is copied into a special ramdisk device by the <code class="highlighter-rouge">rd</code> driver in the bootloader.</p>
<p>MUNIX exists only to allow one to run <code class="highlighter-rouge">format</code> to label disks and then to copy the installer miniroot image to the swap partition on the disk. The third and fourth floppies contain the miniroot filesystem, <code class="highlighter-rouge">compress</code>ed (.Z) and split over two disks. The rest of the floppies contain the install distribution sets stored as <code class="highlighter-rouge">compress</code>ed tar archives stored raw on the disks (no filesystem).</p>
<p>Standard 1.44MB floppy disks have 80 cylinders, 2 heads, and 18 tracks per block. The last cylinder (18<em>2</em>512 bytes = 18kb) of each floppy contains a copyright notice, a table of contents and a volume indicator. The TOC is in a binary format called XDRTOC that details the volume number and distribution file names, offsets, lengths and formats.</p>
<p>The following will read the TOC off any of the SunOS floppy images (as run on a SunOS 4.1.4 machine):</p>
<div class="highlighter-rouge"><pre class="highlight"><code>phoenix% dd if=sunos_disk_1.img bs=512 skip=2848 count=31 | /usr/etc/install/xdrtoc
SunOS 4.0.3c 702-1080-10 Rev. A of Fri May 26 14:02:47 PDT 1989 from Sun Release Engineering
ARCH sun4c
VOLUME -1
Vol File Name Size Type
0 -1 XDRTOC 4096 toc
1 0 root 50996 tarZ
1 51200 usr 8673675 tarZ
6 1444352 Kvm 1203581 tarZ
7 1191936 Install 580357 tarZ
8 316416 Sys 1562532 tarZ
9 422912 Networking 430105 tarZ
9 853504 Debugging 1163963 tarZ
10 561664 SunView_Users 660647 tarZ
10 1222656 SunView_Programmers 739709 tarZ
11 506368 SunView_Demo 224229 tarZ
11 730624 Text 361971 tarZ
11 1092608 User_Diag 691869 tarZ
12 328704 SunCore 798787 tarZ
12 1127936 uucp 91129 tarZ
12 1219072 System_V 1962535 tarZ
14 269824 Manual 2229955 tarZ
15 1043968 Demo 851617 tarZ
16 439808 Games 1605084 tarZ
17 588800 Versatec 2392875 tarZ
19 69632 Security 97371 tarZ
</code></pre>
</div>
<p>In the table it outputs, “Vol” is the floppy number, “File” is the byte offset of the start of the file on the disk, and “Size” is the total length of the file. The file start offsets are all aligned to 512-byte boundaries on the disks. Obviously a number of the files span disk boundaries; in this case each disk is read until the end, continuing at the beginning of the next disk until the entire length is read. In the above TOC we can see that ‘usr’ starts on disk 1 at byte 51200 and the next file doesn’t begin until byte 1444352 on disk 6. In this context, the “end” of the disk is the end of the 79th track (2844 512-byte blocks) - the 80th is always the copyright/toc/volheader, so care must be taken to skip the last track when trying to manually extract the tars from floppy images.</p>
<p>In order to apply the patch while installing the system from unpatched media, a disk with a working install of SunOS (e.g. 4.1.4) is necessary. In my case, the SunOS 4.1.4 disk is at SCSI ID# 3 and the target SunOS 4.0.3 disk is at SCSI ID# 2. The target disk must already be labeled (with <code class="highlighter-rouge">format</code>) prior to beginning this process. Make sure the a and b partitions (root and swap) are sized properly before continuing; they can’t be resized during the install process.</p>
<p>Because the MUNIX kernel on disk #1 is unpatched and won’t be able to properly copy the miniroot to disk, we need to bypass this by extracting the miniroot image with <code class="highlighter-rouge">dd</code>. The miniroot disks start with 4 blocks containing a copyright notice, another block which has a label with the volume letter and length (in bytes, in ASCII). We can use dd to read the lengths and use that to recreate our miniroot image:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>phoenix% dd if=install_disk_c.img bs=512 skip=4 count=1
C 1472000
phoenix% dd if=install_disk_d.img bs=512 skip=4 count=1
D 1248982
phoenix% dd if=install_disk_C.img bs=1 skip=2560 count=1472000 > miniroot.img.Z
phoenix% dd if=install_disk_D.img bs=1 skip=2560 count=1248982 >> miniroot.img.Z
phoenix% uncompress miniroot.img.Z
phoenix% ls -l miniroot.img
-rw-rw-r-- 1 taco 6152192 Aug 26 15:12 miniroot.img
</code></pre>
</div>
<p>Once the raw miniroot image has been obtained, write it to the swap partition on the target disk:</p>
<div class="highlighter-rouge"><pre class="highlight"><code># dd if=miniroot.img of=/dev/rsd2b
</code></pre>
</div>
<p>Once the miniroot is copied, we can mount it as a filesystem and apply the patch:</p>
<div class="highlighter-rouge"><pre class="highlight"><code># mkdir /miniroot
# mount /dev/sd2b /miniroot
# adb -w /miniroot/vmunix
esp_phasemanage+7c?W 1000000
^D
# umount /miniroot
# rmdir /miniroot
</code></pre>
</div>
<p>With the patch applied, reboot into the 4.0.3 miniroot:</p>
<div class="highlighter-rouge"><pre class="highlight"><code># sync && fasthalt
ok boot sd(0,2,1) -sw
</code></pre>
</div>
<p>The miniroot should boot successfully, and running <code class="highlighter-rouge">suninstall</code> at the prompt will begin the install process. Pick <code class="highlighter-rouge">[fd0]</code> as the install source and be prepared when it prompts for the 19 floppy disks. When the install completes, however, you have a filesystem with an unpatched kernel on it. It will be necessary to patch the kernel before booting into the new system. Press STOP-A and get back to the PROM prompt and boot back into the 4.1.4 disk:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>ok boot sd(0,0,0)
</code></pre>
</div>
<p>Then login and mount the 4.0.3 root filesystem, then mount the <code class="highlighter-rouge">usr</code> partition inside it to apply the patch:</p>
<div class="highlighter-rouge"><pre class="highlight"><code># mkdir /a
# mount /dev/sd2a /a
# mount /dev/sd2g /a/usr
# adb -w /a/vmunix
esp_phasemanage+7c?W 1000000
^D
# adb -w /a/usr/sys/sun4c/OBJ/esp.o
esp_phasemanage+7c?W 1000000
^D
# umount /a/usr
# umount /a
# rmdir /a
</code></pre>
</div>
<p>This patches the <code class="highlighter-rouge">GENERIC</code> kernel that is installed by default plus the <code class="highlighter-rouge">esp.o</code> driver file in case you want to rebuild a custom kernel later. This completes the patching process, so you can shut down SunOS 4.1.4 and reboot into the 4.0.3c disk:</p>
<div class="highlighter-rouge"><pre class="highlight"><code># sync && fasthalt
ok boot sd(0,2,0)
</code></pre>
</div>
<p>After all this, you should be met with a login prompt and a working SunOS 4.0.3c system. During boot the kernel complains about an unrecognized system ID in the PROM but this doesn’t appear to affect functionality. This OS is primitive by modern standards but it still has the ability to connect to a modern ethernet network and communicate via TCP/IP, mount remote filesystems via NFS, etc. DNS is another matter and will require some investigation. SunOS 4.0.3c has a proprietary windowing system included called SunView; there’s no OpenWindows or X11 here (it was sold separately and I haven’t been able to locate the tape for it).</p>
<p>That said, it’s still very much a BSD UNIX, includes a compiler and many older versions of familiar software will compile without a lot of hassle.</p>
<p>As a follow on to this, I’d like to attempt to build new install floppy images and possibly tape images to ease installation in the future. The floppy install should be easy, it’s just a matter of creating a new boot disk #A, new miniroot disks (C and D) and patching the Sys tarfile, then creating a new xdrtoc to place on all of the floppies. The tape may be a more complicated matter as I think the MUNIX and MUNIX root may be different on the tape than on the floppies. Also, it should be possible to fit the entire distribution on one QIC-150 tape since the OS originally came on two QIC-24 tapes, but a new xdrtoc needs to be created to indicate that to the installer.</p>Are we human, or are we taco?One of the main goals I had when I bought my SPARCstation IPC was to install SunOS 4.0.3c, the earliest supported OS on this system. The build date is 25 May 1989, which makes it the only 1980s UNIX any of my machines can run. Unfortunately, my IPC has slightly newer hardware than was available when 4.0.3c was released (it was originally targeted at the SPARCstation 1), and the newer SCSI controller causes errors with the version of the esp (Emulex SCSI) driver included.Failure & Success2017-08-25T20:28:00-07:002017-08-25T20:28:00-07:00http://halfmanhalftaco.com/2017/08/25/Failure-and-Success<p>I’ve been away from home for a while but when I’m home I definitely like to spend my off time working on my UNIX collection. I’ve had a few scares and disappointments when it comes to vintage hardware, it just comes with the territory. This stuff doesn’t last forever, especially the mechanical parts.</p>
<p>My <a href="/inventory/phoenix">SPARCstation IPC</a> came with a Seagate ST1480N SCSI HD. It holds a whopping 426MB and it appeared to be working perfectly when I finally got the machine running. I installed an OS on it at least twice and had it running for several days without issue. After leaving it off for a week I came back to it and powered it on only to be met with an angry clicking noise a few seconds after power-up. It clicks loud and spins down immediately and doesn’t spin back up. I have heard some issues with old hard drives having rubber/plastic bump stops that become sticky over time that may cause this problem so I may crack this thing open and see if I can do anything, but for now it’s dead in the water.</p>
<p>To get around this I put my SCSI2SD into the machine instead of the HDD. I picked up an el cheapo 4GB microSD card at Fry’s for $5 and sectioned it off into 3 SCSI IDs:</p>
<ul>
<li>2.1GB disk for SunOS 4.1.4 on SCSI ID 3</li>
<li>1.3GB disk for whatever on SCSI ID 1</li>
<li>535MB disk for SunOS 4.0.3c on SCSI ID 2</li>
</ul>
<p>I removed the SCSI CD-ROM from one of my SPARCstation 20s and jerry-rigged it into one of my external SCSI enclosures and managed to install SunOS 4.1.4 onto the 2.1GB disk without a hitch.</p>
<p>One of the pieces of software I’ve wanted to check out for a while is Xerox GlobalView, which is basically the final resting place of the software originally developed for the Xerox Alto computer. They made several versions that ran on SunOS 4.x, so I installed version 1.0.5 on my IPC. This version claims to only run on SunOS 4.1.4. After I installed it I couldn’t get it to launch, and in a state of frustration I called it a night and shut down the machine.</p>
<p>In the morning I woke up and powered on the machine again but it refused to boot - no console, no power LED, no anything. Did I fry it?</p>
<p>I started removing hardware to isolate the problem. I removed the GX graphics card (which I swapped in the day before for the slow CG3 that came with it) and everything else connected to it. I plugged in the serial port to my Mac so I could see the PROM diagnostics. All I was getting was:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>using nvramrc
Memory
</code></pre>
</div>
<p>and it just hung there indefinitely. Did I brick this machine inadvertently? Did I zap the RAM with static or something? I pulled half of the RAM, swapped RAM between banks, etc, and no change. Did all of the memory suddenly go bad?</p>
<p>It’s hard to know for sure, but I think installing GlobalView may have inserted some commands into the nvramrc which caused the problem. I know at minimum that the GlobalView installer recompiled a custom kernel, so I wouldn’t put it past it to insert a custom program into nvramrc. nvramrc is an optional set of Forth commands stored in the nvram which are run at boot, and it looks like whatever was in there was preventing the system from booting at all. Maybe GlobalView is not compatible with machines with an old PROM version like my IPC.</p>
<p>Eventually I found an article online that suggested an extreme workaround: pull the NVRAM chip from the mainboard and power on the machine, then carefully reinsert the chip while the machine is running and reset to defaults. This worked! Without the NVRAM chip it went into diagnostics mode, verified that all the hardware was working (except for the NVRAM of course), and dropped me to the normal PROM prompt. I carefully reinserted the NVRAM and ran <code class="highlighter-rouge">set-defaults</code> to program the default values into the PROM, then I followed the usual instructions to re-program the ethernet MAC and system type into the NVRAM. After a couple power cycles I confirmed that everything was operating properly again.</p>
<p>I reinstalled SunOS 4.1.4 completely to flush out whatever mistakes had been made and all seems to be working properly. Now that I’m back to where I started, on to the next challenge: installing SunOS 4.0.3c.</p>Are we human, or are we taco?I’ve been away from home for a while but when I’m home I definitely like to spend my off time working on my UNIX collection. I’ve had a few scares and disappointments when it comes to vintage hardware, it just comes with the territory. This stuff doesn’t last forever, especially the mechanical parts.New Addition: SPARCstation IPC2017-08-12T15:28:00-07:002017-08-12T15:28:00-07:00http://halfmanhalftaco.com/2017/08/12/New-Addition<p><img src="/inventory/phoenix/ipc.jpg" class="fit image" /></p>
<p>Added a new machine to the inventory this weekend. I received it a week or two ago but it was non-operational with a broken power supply. I repaired the power supply and got it fully working!</p>
<p><a href="/inventory/phoenix/">Link to inventory page for <code class="highlighter-rouge">phoenix</code></a></p>Are we human, or are we taco?Frontplane Woes2017-07-12T08:25:00-07:002017-07-12T08:25:00-07:00http://halfmanhalftaco.com/2017/07/12/Frontplane-Woes<p>After my <a href="/2017/07/01/Retro-Day-Fail/">last post</a> I pulled out the frontplane assembly from the non-working Octane to examine it a little closer. Sadly, it looks like a good amount of the SMD electrolytic capacitors on the board have leaked their electrolyte onto the board. There’s 49 electrolytics on the board, but I’m going to attempt to replace them and see if that revives this board. Hopefully the electrolyte hasn’t completely hosed this board.</p>
<p><img src="/images/20170712_01.JPG" class="fit image" />
<img src="/images/20170712_02.JPG" class="fit image" /></p>Are we human, or are we taco?After my last post I pulled out the frontplane assembly from the non-working Octane to examine it a little closer. Sadly, it looks like a good amount of the SMD electrolytic capacitors on the board have leaked their electrolyte onto the board. There’s 49 electrolytics on the board, but I’m going to attempt to replace them and see if that revives this board. Hopefully the electrolyte hasn’t completely hosed this board.Retro Day Fail :(2017-07-01T00:00:00-07:002017-07-01T00:00:00-07:00http://halfmanhalftaco.com/2017/07/01/Retro-Day-Fail<p>I got my two beat-up Octanes earlier this week, then I finally got the IP30s with dual CPUs and RAM this afternoon. After much back and forth and swapping components between machines I’ve ended up with the following results:</p>
<ul>
<li>1 working Octane</li>
<li>1 bad PSU</li>
<li>1 bad graphics board</li>
</ul>
<p><img src="/images/20170701_01.JPG" class="fit image" /></p>
<p>Initially, Octane #1 chimed, the graphics came on, and passed diagnostics, but whenever I tried to boot either from the hard drive or from the network (via <a href="https://github.com/halfmanhalftaco/irixboot/">irixboot</a>) it would throw a nasty looking error and halt. I could boot <code class="highlighter-rouge">fx</code> fine, but <code class="highlighter-rouge">inst</code> would error out pretty quickly.</p>
<div class="highlighter-rouge"><pre class="highlight"><code>/hw/node/xtalk/15/pci/0/scsi_ctrl/0/target/1: HARD ERROR: completion status [0x1d] (SCS_SCSI_PHASE_SKIPPED), scsi status[0x0], state flags[0x5f00], status flags[0x100]
Unknown device name "/hw/ql/0/target/1/lun/0/disk/partition/1/block".
NOTICE: Root device /hw not available; trying default
Unknown device name "/hw/ql/0/target/1/lun/0/disk/partition/0/block".
Root device /hw not available; reset and try again or enter on boot command line
Configured device names are:
dks
You may also want to check the value of prom nvram
</code></pre>
</div>
<p>I couldn’t get past this error at all, so I powered it off and switched over to the other Octane to see how functional that was.</p>
<p>That one wouldn’t show anything on the monitor. I ended up switching to the graphics card from the other machine and finally got it to display. After that everything was peachy with the machine; I was able to install 6.5.30 over the network without issue and it boots fine now. After finishing the install and running the diagnostics, I moved back to the first machine.</p>
<p>I tried to boot it up and it wouldn’t even spool up the fans anymore. It’s just dead. Usually when you plug in an Octane power supply you hear a relay click pretty quickly, but this power supply now just very faintly buzzes. I think maybe a relay is stuck. I’ll probably open it up later and see if I can identify the problem or just bang on the relay a little bit to get it to move.</p>
<p>The graphics card is more troublesome for me. Both of these SE cards were working perfectly before. One came with my first Octane a few weeks ago and worked just fine until I swapped it out with an MXI board. The other SE board came just this past week and worked fine in my original Octane before I moved the TRAM and EVO board over to my MXI. I tried the “bad” SE in both of the Octanes I was working on today and neither of them recognize it at all, like it’s not plugged in. I reseated it half a dozen times and same story.</p>
<p>In separate news I also got some spare parts in for my Indy: a motherboard (with RAM) and a power supply. The hope was that swapping these parts would resolve the odd noise issue. No dice here either. After swapping the board and the PSU the noise is just as apparent as it was before.</p>
<p>Not a lucky day!</p>Are we human, or are we taco?I got my two beat-up Octanes earlier this week, then I finally got the IP30s with dual CPUs and RAM this afternoon. After much back and forth and swapping components between machines I’ve ended up with the following results:Octane Upgrades & Parts2017-06-27T18:18:14-07:002017-06-27T18:18:14-07:00http://halfmanhalftaco.com/2017/06/27/Octane-Upgrades<p>Got some new parts in for the Octane today… an SE+TRAM graphics card with a bonus <a href="http://www.siliconbunny.com/data_sheets/octane_personal_video.pdf">Personal Video (EVO)</a> board included. I’m not so thrilled about the SE board (I already have one), but the TRAM board is nice because it now allows me to replace the bad TRAM on my MXI and finally get texture mapped 3D working on my Octane.</p>
<p>The Personal Video Option is cool for me mostly because it allows you to plug an o2 camera into an Octane. Now to find an o2 cam…</p>
<p>Also, I kind of splurged and bought two gutted Octanes on eBay after the seller agreed to cut the price. They arrived today as well and they are in the expected condition, so that’s nice. They both have PSUs and frontplanes and skins and that’s about it. One is missing the door, which is a bummer. They are a little scraped up and have some old stickers on them. We’ll see how well they clean up.</p>
<p>One of the salvage Octanes has SGI capital asset stickers on them which is interesting. The other nice bonus is that both machines came fully loaded with drive sleds which are expensive/difficult to locate. One was broken but the other 5 are in perfectly good shape, and have what appear to be original system/option drive labels on them. These machines are probably very early examples, dating from the first half of 1997.</p>
<p>To fill out the empty Octanes, I also grabbed a pair of old-model IP30 CPU boards with RAM and dual CPUs on them. Not really sure which CPUs or how much RAM will actually arrive on them, but I’m going to guess the CPUs are dual 195MHz R10000’s and the RAM will be somewhere around 1GB per board. If for some bizarre reason either of them have better CPUs I’ll migrate those into my main octane, put the two SE graphics cards in, LED mod the lightbars (they’re both burnt) and probably try to sell them. Once they are fully working/tested they’ll make decent collector machines even if they aren’t super pretty.</p>
<p><a href="/inventory/octane/">Updated Octane inventory page</a></p>Are we human, or are we taco?Got some new parts in for the Octane today… an SE+TRAM graphics card with a bonus Personal Video (EVO) board included. I’m not so thrilled about the SE board (I already have one), but the TRAM board is nice because it now allows me to replace the bad TRAM on my MXI and finally get texture mapped 3D working on my Octane.twilight.c for WebGL2017-06-27T07:43:10-07:002017-06-27T07:43:10-07:00http://halfmanhalftaco.com/2017/06/27/twilight-webgl<p>Haven’t really put pen to paper on this yet but as an exercise to learn some WebGL basics I’m looking at porting the old SGI twilight.c over to WebGL. The <a href="https://gist.github.com/halfmanhalftaco/40b7d498304c8a0df78bcf31712f9dcc">original twilight.c</a> was written using the old IRIS GL API, but there is a <a href="https://github.com/tweakoz/twilight">newer, yet still obsolete port by tweakoz on GitHub</a> that I’ll probably also reference. The twilight sidebar I’m using on this site was generated from this version running on my Mac.</p>
<p>I’ve done approximately zero GL programming on any level so hopefully this will be a good learning experience.</p>
<p>Both the original SGI version and the OpenGL port use the old “fixed pipeline” mode that was in use before programmable GPUs came along, so I’ll have to figure out how to write vertex and fragment shaders instead. The IRIS GL version uses polygons and boxes to draw the sky/horizon and the larger stars but I think those functions are gone in modern versions of OpenGL/WebGL so those need to be converted into triangles. Not terribly difficult since the twilight background is two rectangles. The OpenGL version linked above uses <code class="highlighter-rouge">GL_QUAD</code> for the sky/horizon and <code class="highlighter-rouge">GL_POINT_SMOOTH</code> for the larger stars both of which I’m fairly sure aren’t supported in WebGL.</p>
<p>Here’s a link to the repo on my GitHub: <a href="https://github.com/halfmanhalftaco/twilightjs">twilightjs</a></p>
<p>And a link to the running version (very, very in progress): <a href="http://halfmanhalftaco.com/twilightjs/">halfmanhalftaco.com/twilightjs</a></p>Are we human, or are we taco?Haven’t really put pen to paper on this yet but as an exercise to learn some WebGL basics I’m looking at porting the old SGI twilight.c over to WebGL. The original twilight.c was written using the old IRIS GL API, but there is a newer, yet still obsolete port by tweakoz on GitHub that I’ll probably also reference. The twilight sidebar I’m using on this site was generated from this version running on my Mac.New stuff2017-06-25T00:00:00-07:002017-06-25T00:00:00-07:00http://halfmanhalftaco.com/2017/06/25/New-stuff<p>Getting used to working with Jekyll/Github pages. I’ve been filling out the content on the <a href="/inventory">Inventory</a> pages (particularly the <a href="/inventory/indy">Indy</a>, <a href="/inventory/indigo2">Indigo2</a> and <a href="/inventory/octane">Octane</a> pages). Also I’ve populated the <a href="/projects">Projects</a> page with some info on various retro-related projects I’m working on.</p>Are we human, or are we taco?Getting used to working with Jekyll/Github pages. I’ve been filling out the content on the Inventory pages (particularly the Indy, Indigo2 and Octane pages). Also I’ve populated the Projects page with some info on various retro-related projects I’m working on.Hello2017-06-24T00:00:00-07:002017-06-24T00:00:00-07:00http://halfmanhalftaco.com/2017/06/24/Hello<p>Welcome!</p>Are we human, or are we taco?Welcome!