Testing EGA/CGA Cards
I'd picked these up a while back but never thought I'd get to test them. I don't have any monitors that support the old standard and haven't actually seen any available on eBay for a long time. I was quite surprised when I realised that the GBS-8200 that I picked up for my MSX would work to convert the frequencies! I'd only ever expected to use it for the MSX RGB signal.
V7 VEGA 8-BIT VGA
This card (thanks, stason.org!) has the ability to output both EGA/CGA and VGA! It's 8-Bit ISA and it a little worse-for-wear...
This seems to be quite an advanced card of its era. Happily outputting to the monitor you happen to have and allowing for future upgrades! It also even seems to have the VGA auxiliary header?
VIDEO SEVEN V7 VEGA EGA
This card (thanks again to stason.org!) is a little older. It has a header for a light-pen and suppsoedly two composite video inputs!?
GBS-8200
I had purchased the bare-bones board and never tried it. Thanks to my new desktop power supply, getting it going was really very easy. The board comes with a standard DC jack, but also a pin header for the input voltage. Instead of using a crappy wall-wart, I instead powered it on the supply, having the additional benefit of knowing the current requirement!
Ian Stedman thoroughly reviewed this board. His outcome was that there were a few issues, but a strong power supply is not needed. It turns out that my testing below shows that it hardly needs 5v at 400mA!
You can see where I've soldered on to for the EGA/CGA input. It's the bottom-right 5-pin header and I couldn't find an acceptable plug. In the end, a quick bit of tinning worked. There's 4 wires: R,G,B, Sync and Ground. The EGA Pinout on Wikipedia (CGA is nearly identical) shows that there are two sync lines, but we only have one on the GBS-8200! As mentioned above, we'll use the bottom-left connector on the board.
Combining HSync and VSync
We'll need to combine the Horizontal and Vertical Sync outputs from the EGA signal as the GBS-8200 requires a single Composite Sync signal. To do this, we can use an XOR or OR gate. Ian is our saviour once again and has provided a circuit to combine the signals.
Build the circuit as he's described. I actually found that either XOR or OR worked fine with the GBS-8200!
I probably should've tested some games...
Hercules?
No such love. Same connector, but a very different video signal. Turns out it's actually a digital TTL signal that this unit cannot process. If you really want yo convert it then you'll need to buy a GBS8219.
Is that a printer port? Space saving tech! I don't have any plans to pay for a Hercules monitor or an 8219, so this is going straight on eBay.
High-Capacity Metro Trains (HCMT)
The first HCMT has been 'constructed' at Newport and recently passed through Hawksburn late at night. It was done after-hours to permit slow-running... as I'm sure they've measured the platform clearances... but weren't game to trash their new toy!
Whilst getting ready for the main event... I happened to see a few other consists on the radar. First up we have two SSR T-Class locomotives hauling the inspection vehicle IEV102. Running slowly, you can see it has the light shining onto the overhead, making sure it's within tolerance.
Next was the midnight down steel... but I missed it... too busy playing Pikmin 1 via the Dolphin Gamecube Emulator!
But then the down Apex Gravel train showed up... and came through. This had a full load and was working pretty hard up the grade. Looked and sounded great!
Finally, the main event (at 0130 in the morning)! The consist was pretty random: S302 up front, 20 grain cars, S317 + T + T, a brake van and then the actual HCMT! The extra loading was required as the HCMT wasn't 'braked'. Or that's the only reason I can think of... they couldve just had the 2 S or T on either end, but they may not be able to pull the train to a stop as they'd not be able to brake hard enough. Instead they used the bogies of 20 grain cars to make sure the weight on the end had no impact on the running train.
What a night! And what amazing lack-of-sleep!
DOS USB CD Drives? Of course!
After mucking around trying for a while trying to get the new Compaq motherboard into the old IBM PS55/Z, I realised I'd wasted a lot of time playing with SCSI cards. This motherboard has a USB port! Can I use an external USB CD drive in DOS? It turns out the answer is yes!
Download USBASPI.SYS from here and then a USBCD.SYS (choose your brand) from here. I fluked it and tried the first USBCD1.SYS driver which worked perfectly! Firstly, copy the files to your HDD (I always put them in C:\DOS\), and then edit CONFIG.SYS:
DEVICE=C:\DOS\USBASPI.SYS DEVICE=C:\DOS\USBCD.SYS /D:MSCD001
And don't forget AUTOEXEC.BAT as follows:
C:\DOS\MSCDEX.EXE /D:MSCD001
And reboot...
Out with the old and in with the new!
Meanwhile, Windows 98se kept locking up (whole machine freeze!) at Programs on the Start Menu. I actually had to unplug the CD drive and reboot to get it to continue! But the end result was lovely...
Time to really make this motherboard fit!
IBM PS/55 Z – All About The Pentiums
Found this at the local flea market on the weekend. After spending many nights replacing the guts of my IBM PS/55Z with a 486 DX2/66, I saw the specifications of this motherboard and couldn't resist snatching it up. 166mhz! PCI! ATX! 96mb RAM! USB! What more could you ask for in a vintage machine? I wonder if I should try and make it fit!?
Turns out it's the motherboard from a Compaq Deskpro 2000. Am I happy to have the Compaq splash screen display when the machine powers up? I believe the BIOS will also be tricky to get into as these machines need a separate hidden partition with Compaq's proprietary tools?
A quick Google lead me to realise that building an AT to ATX adapter would be a nightmare. I'd need to create a solid +3.3v DC supply from the 5v rails and also muck around with more sense wires? Might be easier to just rip out the power supply and slap an ATX unit in there. Would have to merge in the CRT electronics though... Of course, it's also ever-slightly too long, so there'd need to be quite a bit of hacking to make it fit.
Such delight at finding this beautiful piece of equipment! ... Oh wait, maybe this will be easier than expected!
Repairing a 3rd Gen iPod Dock
I've had this little beast for a very long time and thought my amplifier was playing up when the left channel started cutting in and out. A quick amount of cable-jiggling proved otherwise: the jack on the back of the iPod Dock was frail.
No amount of stickytape would keep the cable in contact with the socket, so I endeavoured to open the unit up. Turns out there's large tabs on the inside 'side' edges and smaller tabs along the longer edges.
The cracked solder joints were immediately obvious and a quick touch-up with the soldering iron brought the conductivity back from a crackling zero to 'awesome'. I really love easy fixes!
Oculus Rift DevKit 2
I always managed to be surprised at things that turn up at flea markets. I was stumbling through Laverton Market on the weekend and came across this... for AUD$5.00. Is this retro? It could well be... it's nearly vintage nonetheless!
Turns out it's the Oculus Rift Development Kit 2. More infomration here. The headset has a cable running off it with USB and HDMI. There's also a USB and audio-style port, hidden under a cover on top. It's also got a random date on the side and a differing price tag of AUD$2.00? Did I get ripped off?
Testing it
Seemed to be simple enough... Just for fun I plugged it into my laptop. It straight away showed up as a portrait screen and I could move application windows onto the new secondary desktop! The LCD looked a little sketchy, but I assumed it was nothing that couldn't be cleaned off!
With the basic shake-out complete, I downloaded the Oculus Rift software and installed it. Whilst reading the download notes, I realised it hinted at another piece of hardware: a sensor. My kit didn't come with this! It seems that the sensor (looks like a webcam) tracks the IR output of the headset to determine your physical position. Supposedly you can use the headset without it and you'll just get rotational giroscope-based movement.
Once the software was installed, I plugged the unit back in and ... well ... nothing but errors. The Oculus Software reported that I had a USB connection, but no HDMI connection. No amount of cable-tweaking-or-swapping managed to get it to work. Long-story-short, my laptop wasn't even capable of supporting the unit and would never actually be able to output HDMI in the format the headset wanted. It would actually be really nice if the software provided this tiny hint, instead of just telling me that the HDMI connection was unavailable, but it actually turns out I skipped the entire first step... there's more on that a few sections below.
Digging deeper, it turns out that the Oculus software installs a driver for the headset and prevents it from being used as a second monitor. The point that I saw a desktop when I first plugged it in, was just because the Oculus display drivers were not installed. Of course, I had no idea that this was the case and thought I'd actually killed the unit! I proceeded to tear it apart ... was it a loose cable or other broken component?
What Does It Look Like On The Inside?
I had read another review where the author had described the whole unit as a 'kitbash'. I chuckled at that, as it's a common term in model railroading where you take an off the shelf product (or multiple) and blend them together to make something new and unique. Well... that's actually what they've done here... to the point where the LCD is actually a Samsung Galaxy Note 3 screen, complete with phone face-panel and touchscreen digitizer!
The best part? The LCD in my unit is crappy... it seems to have two areas of pixels that are totally burnt out. I went ahead and ordered one on eBay as I had assumed that this was the reason that the unit had stopped working.
Compatibility
Of course, it struck me later on, after re-assembling the unit and stowing it away to wait for the new screen, that it could just be my laptop!? I downloaded the Oculus Compatibility Check Tool and was quickly told that my laptop hardware was useless. Muhahaha... what a waste of time... What to do? I have a desktop with a real NVIDIA card and realised I should've used it to begin with. I downloaded the Oculus Legacy 0.8.8 Runtime and gave it a whirl... success! I used the older version as there were conflicting reports online that this older DK2 unit only worked with older software.
With the test application, I managed to happily sit at my desk and swing my head around. The movement was actually pretty damn flawless and the image quality very impressive! I then tried to load up games like GzDoom VR and Quake II VR but none managed to initialise the device... I assumed they needed the newer version of the software.
With my head at the right angle, I could really see how bad the LCD was also!? It seemed to be burnt at the same place on both screens!? Maybe some really bright light in a game cooked the crystals? (Excuse the dust... but look for the pink dot)
Throwing caution to the wind, I downloaded and installed the standard (latest) Oculus software on my desktop. Low-and-behold it (took forever to download and install) found both the USB and HDMI connections!
During setup, it whinged that it couldn't find anything, but skipping that worked. In the actual app I then got a warning that the DK2 was no longer supported. Dismissing that, I was finally presented with an error saying that it couldn't find the sensor.
Urgh... back to square zero...
Trying to play games without the sensor
This just doesn't work... I got a message box saying that the sensor can't be found and was presented with an OK button. Clicking this button was impossible though! Firstly, I needed a 'touch' device that the Oculus supported so that I could actually interact with the 3D world. At this point I was worried about putting in more money to something that I could never get working. I didn't know if clicking OK will actually let me into the game!?
Meanwhile, can't I just buy a replacement sensor? Turns out it's a big, fat no! Googling is pretty funny on this topic. It seems that during production, the sensor and headset are paired via serial number. The hardware has been open-sourced (here's the actual files), but the firmware for the sensor is not available! The quote from them is: The sensor also utilizes microcontrollers which require firmware which was not redistributable. Grrrrrrr!
Before I start an attempt to hack together a sensor (here's great inspiration!)... I wonder if I can (cheaply) get that button pressed to see if the games will continue without a sensor?
Controllers
To press that magic OK button, I knew I needed a working controller. I considered borrowing an XBOX 360 controller from a friend, but then found an article using an Xbox 360 Controller Emulator. It seems that others have had luck! (Original French article here)
I tried my hardest to fake the controller, but had no success... I couldn't get the DLL in the right place to stop the main Oculus app from whinging that nothing was connected. Of course, the best thing at this point was to get an actually-supported controller. I didn't bother trying to use my Android phone can emulate one. Instead, I picked up a cabled controller from a nearby second-hand store.
Finally, Oculus recognised it. Of course... it didn't let me press that magical OK button... I was stuck without a sensor!
Reverting back to 0.8.8
I was out and about taking the MR-2 for a spin and the thought came to me: I'd had the demo working fine on 0.8.8... there were no camera/sensor warnings! Maybe I should downgrade and find compatible software? I uninstalled the latest software and re-installed 0.8.8. I then browsed over to this list of compatible software. Oh look, Duke Nukem 3D!
Hahaha... SHAKE IT BABY. It just worked perfectly... with controller and all! I then went back to the GZ3Doom Releases Page and scrolled down, looking for that magical SDK value of 0.8.8. It also worked!
Ok, nice... I have things to do with this now.
We get to wait with Totoro!?
Whaaaaaat... Someone has built a 3D scene of the bus stop!? But the links are all dead... can anyone send me one that works?! Full review of it here, but still no valid links. The review indicates that Fire Panda are the author. But there's nothing on their actual site. Ohhhh: Due to a request by Studio Ghibli, these demos will sadly no longer be available. I hope that everyone who got a chance to play them enjoyed them and I hope you enjoy future projects I am able to bring to you. Thanks again for all your support! Boo... I'm only a few years late!
Turns out there's a whole world of user-authored content at SketchFab. Here's the train from Spirited Away. That Sea Railway was always a cool idea.
OpenHMD
This all seems promising, but there's no compiled binaries for Windows? I don't have a Linux machine to muck around with that has a good enough video card... hmmm... that's a little bit too much effort to go to. Actually, my main machine has started dropping the ethernet connection and blue-screening... maybe it's time for a rebuild!?
Build your own sensor?
There's a great set of documents at doc-ok.org on Hacking the Oculus Rift DK2 (Part 2, Part 3, Part 4) which describes how to read the data from a real DK2 sensor. This is all well and good, if you have the sensor... in my situation, this code will come in handy once I manage to fake a sensor. Philipp Zabel's ouvrt project also looks interesting as it is able to extra ROMs from DK2 sensors. This may only be the USB configuration ROM, but it'll totally help with the faking.
Where to start? The Open-sourced project of the DK2 has a hardware schematic of the sensor which shows that it's based on an eSP570. Turns out these are pretty hard to find... but Alibaba seems to have some available.
I thought the camera lens would sense the timing flashes that the headset produces, but it seems that this is done by an IR sensor built-in. There's then a micro-controller to parse this. You can see the sensor in the tear-down here. It seems to be something similar to this dis-continuted sensor. Urgh...
But I'm getting carried away... this is all totally-probably worth a probably-totally separate blog post...
How To Actually Connect An External MIDI Device
I started this journey thinking that MIDI cables were really simple. There's a joystick-style plug at one end and two DIN-5s at the other for MIDI-OUT and MIDI-IN. MIDI output from the computer comes out the OUT cable and MIDI you're receiving from elsewhere comes into the computer on the IN cable.
So, when you're hooking up an external module, like this MT-100, you simply connect them up...
There they go, OUT to IN and IN to OUT. Right? You want the output from the PC (be that the soundtrack of a game) to go into the Synth/Module to be processed. Like so... I don't really care about the module output at this point, but for-neatness-sake, let's plug it in!
IT TURNS OUT YOU DON'T WANT TO DO THIS. You're actually creating a loop and the MIDI data will come straight back out of the module and into the PC. This will then cause all matter of DMA/IRQ interrupts and you'll probably freeze your machine. I've actually just spent the greater part of two nights having DOOM II lock up every time I set both SB16 and MIDI-OUT. I went through all matter of IRQ or DMA settings, thinking the combination of a SCSI card, Network card and Sound card were fighting. After a quick google of vogons, I realised that the machine was freezing/slowing-down/locking-up due to the rebounding MIDI data!
This article was actually going to be titled 'DOOM II Freezes when selecting SB16 and MIDI-OUT'. Either way, do this instead... connect OUT (from the PC) to IN (on the module)...
And you'll be an uncle's monkey!
Ahhh… Floppies
There's nothing like the smell from a fresh box of floppies. That acrid plastic fragrance, reminding you how technologically advanced these little wonders are...
I recently found this box for a dollar at a local tip shop. Over the moon, I thought I could finally build a solid set of DOS 6.22 and other disks. I even got labels! Of differing colours!
Of course... none of them worked... They'd neither be read, formatted or imaged. I assume that fresh smell of acrid plastic meant that these had all been toasted by the sun at some point.
In the bin they go... Or maybe I should make some art.
IBM PS/55 Z – Replacing the Guts
I was unsuccessful in restoring the original motherboard contained in the IBM PS/55 Z – 5530 that I picked up recently, so the new goal was to find a similar motherboard with riser card and give the machine an upgrade. I knew I'd never find an exact fit, so I started preparing to make things work.
The overall structure
The motherboard in this machine is around 290mm x 340mm and has a central riser card with 3 MCA slots. These are slimmer than ISA cards, so there was always going to be an issue fitting a standard riser card in there. There was also only front-panel space for two 'tall' floppy drives and hardly any other room internally for hard drives.
Digital 54-22703-01 Motherboard
This item popped up on eBay and looked like a perfect fit. It had no RAM and a Dallas CMOS chip, but I'm always up for a challenge. The board happened to be smaller than the IBM board and so there'd be extra effort to mount it, but it had a replaceable CPU and I had an upgrade for the stock DX-33.
At first it didn't even want to boot. The front-panel connector is a pin-header and I have no idea of the pinout. Flying blind, I tried just about every RAM SIMM I had and still couldn't get it going. Finally I remembered I had an ISA diagnostics card, of which I'd never tested.
Once plugged in, I kept getting 0xD0 on the display... oh wait... that's 0x09. The manual indicates that it's failing to read the stored CMOS configuration data for the BIOS. Well, that isn't entirely unexpected as the Dallas clock-chip is probably toast. I quickly fixed this, as I've done before and before.
With this in, it still didn't work. I emailed the eBay seller as they'd hinted the board needed specific RAM. He sent a few pics of SIMMs he thought might work and I scrummaged through my box-o-junk and found similar. With a little more swapping and testing I got the card through to 0x57. Interesting... nothing on the screen.... OH! I'd disabled the on-board VGA whilst testing!
After a little more testing, I found 3 4mb SIMMs, totalling me up to 12mb of RAM. Perfect for a vintage 486 DX2/66. Note that the board still uses a 33mhz clock when running the DX/2 66mhz. As per the board configuration, the 66mhz is 'internal' to the CPU!
Mounting it
The chassis is pure steel. It took a lot of bending, twisting and grinding to make this fit. The bottom rear slot needed to be extended and the base was punched to allow mounting screws for the motherboard. I then created a vertical bracket to secure the ISA cards to. Thankfully this board had on-board VGA... otherwise I'd have totally run out of slots!
The middle riser card that came with the board was too low... the bottom slot was too low. Fortunately I had another riser that worked perfectly. The lower riser also didn't clear the clock-mod I did for the cell battery!
The plastic housing for the hard drives and floppies was a bit of a pain. It used to secure the center riser card and this was no longer an option. It also held the front floppy drive with very little clearance from the motherboard. I chose to swap the floppy to the other side, but this caused even more problems as the actual case had a blank panel there! More dismantling saw this to be an easy swap, but not after a LOT of fiddling.
As you can see above, I'm messy and always in a rush. Regardless, the end result was totally functional.
Power Supply
The previous motherboard had an edge connector with voltages supplied from the power supply in the chassis up top with the monitor circuitry. This was based off 110v, as the unit was from Japan. I wanted to change this to a newer power supply... so I dismantled the monitor to determine if it was even possible.
All was looking good until I saw that one of the wires over to the monitor board needed +85v. I've no idea how to generate that from a standard PC power supply... so I went back to the original idea of augmenting the internal power board to work with an AT motherboard.
After analysing the pins, I started the re-routing. All was available except the -5v. Goshdarn. I tried to boot it anyway and got a 'blip' from the SCSI LED... but no POST. How do you generate -5v? Seems you can use an oscillator circuit or an LM7905. The guess was that I could use the -12v rail to provide a -5v rail.
A quick soldered-up hack got the -5v rail in place and, well, it booted??? I couldn't actually believe my eyes...
I then turned the power switch off and back on again. I then had issues getting the machine to reliably come back on. Seems that I'd fluked it this time around and the -5v rail wasn't the answer.
Power Good
Seems that the very first pin of a standard AT Power Supply is known as the Power Good signal. This line goes high (+5v) when the power supply has decided it is outputting valid power values and that then notifies the motherboard to start booting. The main point to note in that article is that a motherboard will reject this signal if it fires before 100ms and after 500ms. Eep... we're tied to 5v, so it's probably either totally noisy or easily firing before 100ms.
So... do I fully review the power board in this system and determine a proper value for this? Or just hack in a fake timer to produce a 200ms delay? It seems that we're already causing a random delay on the line as I can get the machine to boot sometimes... so I might just try and fake the signal by use an RC charging circuit to add a small delay.
A quick interesting note: I actually used the wiring off an old power supply from a dead power macintosh for the motherboard plugs. It turns out that pin 1 and 6 were tied together by a tiny capacitor!? That capacitor is shown above. It seems Apple were using the same trick on their 7220 line of Power Macs. Might've been a cheap way to use pc-specification power supplies in that model/series as the goal back then was to be as off-the-shelf as possible to produce a cheaper line of macs.
Anyway, where was I? Oh yeah... I want to fake the signal as well. To do this, I'll throw an electrolytic capacitor and resistor onto the power good signal wire. Use the calculator here (thanks Digikey!) to determine what you need. We'll want a 200ms delay from a 5v supply, so that's a 2k resistor and a 100uf capacitor. The resistor will be between the 5v supply and the positive terminal on the capacitor. We'll then connect the other side of the capacitor to a ground line. Finally we'll run the power good signal wire to the join between the capacitor and the resistor.
Turns out my trusty box-o-stuff only contained 3k3 resistors, so I soldered in this and an 100uf electrolytic capacitor and, heavens above, the machine booted everytime without fail! I then used the remaining 12v and 5v wires to get both full-size and floppy-size molex power plugs connected. Make sure you get the power wires the correct way around! Before I knew it, the machine was booting without any external support. Unfortunately it was stalling at the SCSI BIOS.
HDD Sizes
The BIOS in this machine was determined to not let me use the full size of my 1.2gb C:. I attempted to use ANYDRIVE, but it really didn't like the GOTEK that I was using. Instead I gave EZ-Drive from Western Digital a shot. (Really good VOGONs thread on the topic here!)
I also considered tinkering with the actual BIOS of the motherboard. It seems to be two EPROMs and I would've been happy to whip out an old machine with a real LPT1 port to program one. A little digging revealed a great archived site with the DEC LPV+ support files. One of them even mentions the drive size limitations I was facing! Hah... it then simply recommends to use drive overlay software... So, back to EZ-Drive...
Firstly, set up your BIOS with the 'default' setting for a 504mb drive.
Next, download the EXE (not the ZIP) from Phil's Computer Lab and copy it to a disk. I was using a Gotek, so I copied it to one of the blank disks available. Boot using another disk and then switch back to this one. When you run the EXE, you'll be greeted by the welcome message. It'll take some time at this point as it's copying itself to RAM. Once in RAM, it'll inform you that it's time to switch disks. At this point you need to insert a blank disk that'll be your EZ-Drive boot disk. I swapped to a new slot on the Gotek and hit enter... in no time the disk was built and I was prompted to restart.
From here, it's child's play! The GUI is perfect and found all the information it needed. I just kept choosing the default options. During the install it'll ask for a disk with a bootloader on it. I switched the Gotek back to DOS 6.22 Disk 1 and it copied the required files over.
Once complete, the machine will actually boot from this drive to the basic DOS it installs. Unfortunately, DOS still needs to be fully installed and cannot be done from the booted HDD as the floppy will tell you to restart with the disk in A:. Of course, if we did this and booted straight from the floppy then we'd undo all the work that EZ-Drive has just done. Instead, as per the instructions below, we need to try and boot the HDD, but hit CTRL just as it's about to start.
If your timing is good, then you'll get the following screen...
From here you can hit A, get the disk in the drive (if you have a Gotek, then wait 2 seconds after selecting the floppy index number!) and then hit any key to boot the disk. DOS 6.22 then installed with a minor warning that it'd overwrite the current DOS install... it's not a real DOS install (it was just the boot files that EZ-Drive copied over), so yes, please, wipe it and get my OS ready!
Meanwhile, if you're adventurous... there's a truckload of DDO software here to try out if you can't win with ANYDRIVE or EZ-Drive.
SCSI Card
The card is an Adaptec AHA-1542B and it really didn't want to find the attached drives. I had an external case with a CD drive and an ultra-wide (converted to 50-pin) 9.2gb IBM HDD.
I could see it pinging both drives, but the card never seemed to find Drive ID 0 at LUN 0 whilst loading the BIOS. Usually you can hit CTRL-A at this point to get into the BIOS configuration, but this card wasn't even offering that option?
There's a mention on this forum post that my card can only do up to 1gb HDDs. The manufacturer reckons that it will support 8gb drives. Unfortunately, I don't seem to have any drives small enough? Maybe this is why the boot is stalling. The AHA-1542C BIOS ROM is here, but probably wont work in this card. There's AHA-1542B BIOS ROMs over here on Github, but a quick Notepad++ inspection of the BD00 bin image shows that the newest one is already version 3.20... I have 3.10 so maybe I should update?
I'd been testing all this on an ultra-scsi hdd with a converter... but I remembered I had an ancient macintosh 1.2gb drive laying around and it was a proper 50-pin! It worked perfectly... and then I remembered that old MOTOR START trick. These server-grade SCSI HDDs don't actually spin up until they're told to. Usually you can request this under options in the SCSI BIOS, but this card doesn't seem to have one! Instead, I had to adjust the jumpers on the drive itself AND the converter/adapter. Note that these drives, with only power applied and the MOTOR jumper set, will spin up. Once you plug the SCSI cable in, regardless of the MOTOR jumper setting, they WON'T spin up until the host has been turned on!
All of my SCSI devices were mounted in an external case and it was causing me grief. As mentioned, the drive would spin up fine with the jumpers set and power applied, but as soon as I mounted them and closed the case, a quick power-on test would see the HDD no longer spin up by itself! I spent a long time trying to work out this out. As mentioned above, the result is that the drive won't spin up if an actual ribbon cable is plugged into the drive. The MOTOR will only spin up when it senses that the host is switched on. So the MOTOR jumper is really I'LL SPIN UP IF I SEE THE HOST IS ALIVE; I assumed it was I'LL SPIN UP IF I HAVE POWER.
With everything now powering up, the BIOS was listing the drive as D:. I then tried the ADAPTEC DOS Drivers and found that ASPI4DOS.SYS 3.36 just kept reporting Installation Failed. I found a forum post on VOGONs that mentioned a version downgrade to get things working. I love little hints like this: ASPI4DOS.SYS 3.35 worked perfectly! Of course, 3.36 has all the disk tools whereas 3.35 is just the drivers... I had to download and put both on C: to be able to get the SCSI drive into a usable format.
With partition size limitations, I made 3 that were around the same size as C:. D: was still only being mounted... but I assumed Windows would find the rest. Note that, if you've mounted your D: via the SCSI BIOS, you will be limited by your computer's BIOS for partition sizes. I recommend NOT mounting via your BIOS first and booting to DOS to use AFDISK from the 3.36 driver archive. Once you've created your partition set, you can then turn the BIOS back on, or just let Windows use the drives and have DOS forget them.
Sound Card + MIDI + Speakers
I had an ISA sound card sitting on the shelf. It turns out it's a Reveal SC400 Rev.3 (I38-MMSN811) which seems to have come from a Packard Bell system. Further digging indicates that this card is actually just a rebranded clone of a third generation Sound Galaxy Nova 16. It utilises the AZT-2316 chipset and you can find more information about the whole family here. Grab the full Aztec Driver kit here, and make images of the first three disks in the NOV16E folder. I couldn't actually get the DIAGNOSE application to work successfully... it seemed to either hate the DMA or IRQ configuration... but running DEMO8 and DEMOFM produced sound!
Of course, if you're going to use Windows, then everything will just work. This card is new enough to be well-supported. That bloody W95 Chimes and TADA! were playing over and over whilst installing software and restarting.
Networking
This was the easiest LAN card I've ever installed, well the easiest ISA LAN card. It's a 3Com EtherLink III 3c509b. No jumpers, capable of PnP! Of course, that wont work here, but Win95b happily configured it.
Under older windows, don't forget to provide the gateway and DNS settings! These won't be auto-discovered from DHCP. Internet Explorer 3.0 actually just worked perfectly. HTTPS sites all failed... which is actually a really big issue now with older hardware. Thanks to all the new HTTPS security requirements, no older software works with new URLs.
Front Panel Connection
The DEC obviously had a proprietary front panel board. The header on the motherboard was unlabeled and there is zero documentation online. I grabbed my trusty multimeter and started probing the wires for voltages.
The hard drive activity light was found by choosing the biggest folder on C: and copying it to another folder. From there, there was only one pin that was 'pulsing'. I wired this through to the LED on the front of the IBM. The speaker was a little more tricky. I created a quick QBASIC program: 10 BEEP; 20 SLEEP 1; 30 GOTO 10; which happily started a 1 second beep every second second. Again, this rhythmic pulse was found on another pin. Each seemingly had a GND as a neighbour... but maybe I should have hard-wired to a real GND as I don't know if the neighbour wasn't another digital signal?
Windows
This was going to be another WFW311 machine before I realised I was easily spec'd for 95B. Back in the day, the family had a 486 DX2/66 with 4MB of RAM and we went to the computer store to get a bigger HDD and an extra 4MB of RAM for Windows 95! This machine has a MUCH bigger HDD and 12MB of RAM... so we're good to go.
A quick visit to my favourite site produced the required install media and the WIN95 folder was copied to C:\. I always do this as it makes it much easier when configuring (or re-configuring) network options in the future. Windows always manages to ask for the Installation CD and if it's on C:\ then it just zooms through without asking.
The installation was nearly painless. After typing SETUP.EXE, I was stuck just after hitting ENTER to scan disks. Scandisk didn't actually come up and the SCSI drive was making a very noisy hum. Turns out the heads were starting to fail and SCANDISK's attempt to wake up the drive locked up the computer. Well, not the whole computer... turning off the external SCSI enclosure saw SCANDISK continue... but that wasn't acceptable. I quickly swapped out to another SCSI drive (and partitioned and formatted...) and started the install again.
Before I knew it, I was at that treasured desktop once again! Here's Opera 6.00 and WinZip 5.0.
1024x768 Resolution
The Display Adapter IV card in the old mainboard was capable of a 1024x768 resolution. Unfortunately, this had a weird mode and wasn't standard SVGA. The display mode is detailed here (thank you, Diary on wind) and I tested out if Scitech Display Doctor would make Windows 95 display it. Turns out that previous link is shit.. use this one instead. (or here) (or here) You can find PMHELP.VXD here.
Here's the Quadtel DEC VLB S3 805 Driver.
It turns out that, even with the relevant display drivers installed, Scitech just doesn't care for my video card. The video is soldered onto the motherboard, so we're out of luck. I'll try and find a monitor INF for the display or something shortly... there must be other methods!
L1/L2 Cache
Windows 95B performed pretty awfully... or maybe it was Scitech Display Doctor that started to make it chug... either way, I wanted to see if I could boost performance. One standard method is to install cache. This is a small block of RAM that sits right next to the CPU and provides a 'working area' to pre-load the next disk or ram segment so it's readily available. It's actually the reason the newest CPUs on the market have security bugs as the data pre-loaded can be from other applications and then be viewed.
For this motherboard, there's 8 RAM slots and 3 TAG RAM slots? Page 45 of the Service Manual indicates that I need For the DECpc LPv, secondary cache memory consists of four or eight 32 KB x 8 cache SRAM chips and three 16 KB x 4 cache tag SRAM chips. I jumped on google to try and find the TAG RAM chips, as all boards I already had only had the cache chips.
I hadn't actually heard of TAG RAM before and didn't exactly know what to look for. It turns out it's a block of RAM used to store address data of what's actually in the cache. The CPU uses it to bookmark where it's at and what data is where. For this we'll need 3 chips of 16KBx4. These all seem to be in Israel, so I'll sit tight and wait for them to arrive.
Update: Cache has been installed!
The Final Product
Getting this thing running was a real tour-de-force. At no point was a single task easy, but for the first time in a long time everything did come together nicely. I'm really happy with the end result and may just leave this as my beige beast for playing old games!
Robot Olympics, Here We Come….
Boston Dynamics never ceases to amaze me! I've previously watched their crazy horse-sized 'dogs' run around and survive being pushed over, but this new robot is ... awesome!
The motion is still ever-so-slightly jerky, but damn... they're really close.