Subscribe via RSS
4Dec/180

Microchannel Sounds Cards (aka Hen’s Teeth)

I was interested in these when the IBM PS/55z was on its way as I wanted to deck the machine out with sound. Turns out that MCA is a rare breed and actually-interesting cards are impossible to come by.

Imagine my surprise when I saw an MCA ChipChat Sound Card (with wavetable addon!) appear on eBay. It started at AUD$50 and I was interested... just because it had to be an investment to sell later?

Here's the description...

This a ChipChat Sound-32 Card for a IBM PS/2 Microchannel computer.
It comes with original box and contents. Including reference disk and driver disk.
Drivers are for DOS, Win (3.1, 95, NT), OS/2 (2.x, Warp)

And a few pictures:

s-l1600

s-l1600 (1) s-l1600 (3) s-l1600 (2)

So yeah, nothing special... not even a mention if it works? Anyway... the 7 days were nearly over and it had gotten up to AUD$141. I was a little disjointed, but yeah... it's a relic! I mean, it's beautiful.. but... I wasn't expecting the outcome:

wtf

I'm very happy that someone, who I hope REALLY REALLY wanted it, got a very nice piece of computing history!

Filed under: Retro No Comments
3Dec/180

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...

DSC05463

DSC05464 DSC05467 DSC05469

DSC05471 DSC05473 DSC05478

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!?

DSC05434

DSC05439 DSC05445 DSC05450

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!

DSC05480

DSC05483 DSC05484 DSC05486

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!

DSC05452

DSC05455 DSC05457 DSC05459

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.

DSC05489

DSC05490 DSC05491 DSC05493

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.

Filed under: Retro No Comments
30Nov/180

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!

Filed under: AUS No Comments
15Nov/180

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...

DSC05323

Out with the old and in with the new!

DSC05330

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...

DSC05326

Time to really make this motherboard fit!

Filed under: Retro No Comments
14Nov/180

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!?

DSC05301

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?

DSC05310 DSC05311 DSC05313

DSC05304

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!

Filed under: Retro No Comments
13Nov/180

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.

DSC05284

DSC05278 DSC05279 DSC05283

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.

DSC05282

DSC05268 DSC05271 DSC05277

DSC05274

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!

2Nov/180

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!

DSC05215

DSC05214 DSC05216 DSC05217

DSC05219

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!

DSC05218 DSC05220 DSC05223

DSC05225

DSC05226 DSC05239 DSC05256

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.

2018-10-30 19 09 01-Oculus Configuration Utility

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.

DSC05241 DSC05244 DSC05245

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)

DSC05249

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!

2018-11-01 18 50 57-Window 2018-11-01 19 06 59-Window 2018-11-01 20 25 24-Window

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.

DSC05263

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)

2018-11-01 20 43 30-Window

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.

DSC05267

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!

DSC05266

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!

DSC05255

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...

26Oct/180

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...

DSC05206

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!

DSC05207

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)...

DSC05213

And you'll be an uncle's monkey!

Filed under: Retro No Comments
25Oct/180

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...

DSC05190

DSC05191 DSC05192 DSC05194

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!

DSC05199

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.

DSC05200

In the bin they go... Or maybe I should make some art.

Filed under: Retro No Comments
16Oct/180

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.

DSC04888 DSC04902 DSC04907

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.

DSC04935

DSC04936 DSC04939 DSC04940

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.

DSC05177

DSC05178 DSC05180DSC05181

DSC05166 DSC05167 DSC05171

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.

DSC04944 DSC04945 DSC04947

DSC04958

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!

DSC04965

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!

DSC04968

DSC04980 DSC04992 DSC04998

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!

DSC04972 DSC04974 DSC04986

DSC04969

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.

DSC04987 DSC05018 DSC05015

DSC05031

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.

DSC05037 DSC05038 DSC05040

DSC05059

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.

DSC05048 DSC05050 DSC05063

DSC05069

DSC05064 DSC05071 DSC05072

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.

DSC05074 DSC05076 DSC05140

A quick soldered-up hack got the -5v rail in place and, well, it booted??? I couldn't actually believe my eyes...

DSC05083

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.

DSC05091

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.

DSC05137

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.

DSC05125 DSC05126 DSC05128

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.

DSC05103DSC05105 DSC05111

DSC05112 DSC05114 DSC05115

DSC05117 DSC05119 DSC05121

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...

DSC05133

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.

DSC05174

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!

DSC05172

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.

DSC05176

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.

DSC05144 DSC05147 DSC05148

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.

DSC05149 DSC05153 DSC05154

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.

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!

Filed under: Retro No Comments