Subscribe via RSS
28Oct/162

Latest 386 Hardware Acquisition

Whilst browsing the usual Vintage Computing column on eBay, I came across a naked computer. The seller described it as a functional 386 with RAM, CPU and all cards/cables; but no disk drives. No real issue there as I had the missing components at home.

Upon further inspection, a few of the cards caught my eye. They were all 8-bit ISA and had huge IDC headers on them. One had 4-in-a-row internally and another had one on the rear plate. These seemed to be I/O controllers, and so I endeavoured to win the auction.

Once everything arrived, I asked a few more questions and was told that this rig was initially in a corroded standard PC case (of the time) and had a large quantity of ribbon cables hanging out the back. This makes perfect sense as each of those headers would fit a 50-pin ribbon cable, and four of those hanging out the back would take up a lot of space. I was then told that the machine was used at the Siding Spring Observatory. Who would've thought that a random 386 would have so much history!? No wonder they needed so much I/O!

I googled for images of internal computer systems at the observatory, but couldn't find any pictures of anything resembling this machine. Here's some links: The 2.3m Advanced Technologies Telescope at Siding Spring Observatory, Anglo-Australian Telescope control room, 40 Years of the Australian Astronomical
Observatory
and The Anglo-Australian Telescope and Siding Spring Observatory.

The Loot

386 Motherboard
ELTECH 386
ELT-386B
Cyrix 387 FastMath Coprocessor
Very OEM-looking board, but turns out to be a popular brand back in the late 80s. This is nearly the board, but it seems like there is very little information. There are some brochures on the machines! It gives you a good idea as to what the case used to look like.

8 SIPP modules installed. These have pins, instead of an edge-connector, connecting them to the motherboard. Very difficult and fragile to deal with!

The EEPROM was oncovered to start with and the sparkly internal chip was visible. I'd not exposed it to direct sunlight, but I was worried for it's 1s and 0s! The battery was also in an awful state. This was removed and cleaned up post-haste.

DSC06895

DSC06896 DSC06906 DSC06907

16-bit Controller Card
PRIME 3B MKII Nothing special about this card...just your standard ISA 16-bit controller with all cables and ports provided for.
DSC06929
16-bit VGA Card
ZPVGA REV:B
ZTECH Electronic Corp
Licensed by WDC
Really nice 16-bit VGA card. Seems to be a clone (or produced under license) of WDC.
DSC06913

DSC06915 DSC06920 DSC06922

Axiom Tech AX5210 A/D Interface Card
8-bit ISA bus with 50-pin IDC male port.
16 analog/digital inputs.
8 Digital-only inputs.
8 digital-only outputs.
This thing looks awesome. At first I thought I'd have trouble with connectors, but it uses a standard SCSI 50-pin IDC connector! There's a lot of documentation and (thankfully) the source code online too!

Acceed.net product information page
Acceed.de product information page
Driver pack with sample code!

AX5210 Brochure Page 1 AX5210 Brochure Page 2

DSC06931
8-bit ISA I/O Card
All cabling internal.
Small slot under backplane to allow ribbon cables through?
4 50-pin IDC headers.
This thing is huge. After investigating the ICs I can see that there are 8 74LS244Ns that run to the 50-pin IDC ports. Therefore I'm guessing this is a 64-bit I/O card. Programmable as well. Maybe similar to this. Zero documentation online, but I did find another going on eBay for over AUD$100!?
DSC06936
8-bit ISA I/O Card
DECISION-COMPUTER
DECISION 9012-1
2 PORT 422/485 I/O CARD
Startech Semiconductor Corp (on chips)
PLC 37-pin Female Socket
Not much online for this one either. Seems to be a 2-port RS422/485 serial card? Not overly interesting as I have nothing else for it to talk to! Here's a datasheet of the major ICs on board (ST16C550CP).

Actually, Here's the link to the exact card.

DSC06933
AT Power Supply
TERVAN PTY LTD
"INSTALLED 29 JULY 2004"
"FAN REPLACE 25 JAN 2011"
This power supply has, relatively recently, been maintained? Does that mean that this machine was still operational at the Observatory right up until (or past!) 2011? Amazing usage of the rule don't-fix-what-ain't-broken!
DSC06886

DSC06887 DSC06888 DSC06890

Quick POST Test

Yes, the age-old Power-On-Self-Test-Test. Just like the ATM Machine. Not all of us know English. Anyway... removed the battery, cleaned the area of residue and thankfully there was no corrosion! The motherboard was inspected. The power supply was too.

DSC06926

All received a brief clean and then the machine was assembled on the workbench with the VGA card installed.

DSC06925

Ta-da!

20Oct/160

Compaq Deskpro 386s/20n: Onboard VGA

This machine only has two ISA slots available, so options are immediately limited for anyone who wants sound, network and upgraded video! Currently the machine is running (what I believe) is a better spec VGA card and a Crystal sound card. I wanted to also try a network card, so I have endeavoured to get the onboard VGA working.

Rear plug - blocked pin?

The port is there, but back in the day they blocked pins so that you could only really plug in Compaq monitors. I don't know if this was to make sure that you gave money to Compaq, or if they were worried about monitor compatibility.

DSC06546

Either way, I now had to either destroy a VGA cable or build an adapter... I chose the latter.

DSC06551 DSC06552 DSC06556

The adapter was simple... just don't connect the blocked-out ground pin. It didn't work... well, it did, the adapter worked fine on the add-on VGA card. Once plugged in to the on-board VGA, with dipswitches set and the add-on removed the machine just didn't boot. No beeps, nothing.

Motherboard dipswitches

These are pretty simple. Smush in the top side to set them to 'ON', the bottom side for 'OFF'.

DSC06646

As per the instructions.

DSC06643

I love it that it says 286N. Silly Compaq... re-using old cases for new hardware.

No dice

Maybe that 'X' above the port was put there when the onboard video failed decades ago? I've no idea when, but it doesn't work. Hence why the owner bought an add-on video card? What are my options here?

DSC06771

I straightened the pins that you see bent above, but that didn't work... I was a little sad... I wanted two ISA cards in there. This board could nearly be considered a total loss if it was partially-working. I have no real way of determining what else could be malfunctioning.

Maybe I should 'reflow' the board as described in the process here?

Reflowing, what could go wrong?

I killed it. I totally killed the motherboard. DO NOT REFLOW OLD ELECTRONICS. But this is what it looks like anyway... Bake away, pretty motherboard.

DSC06786

The idea is that, by heating the board to 200 degrees celsius, you'll re-connect all the solder joints that have aged badly. I hardly put the thing in the oven for a few minutes (less than 5) but it stopped working afterwards. Turns out that the board uses tiny solder joints to connect the top layer to the bottom layer and most of these succumbed to gravity. None of my efforts to re-connect these solder connections worked.

DSC06791 DSC06792 DSC06793

DSC06796 DSC06798 DSC06800

I managed to re-seat that PLCC socket and replaced all the electrolytic caps that were bulging... gah. I assume I've done massive internal damage to the ICs though. Meanwhile, the little motherboard top-layer to bottom-layer solder joints are all stuffed.

DSC06801

Anything above or below that looks like a solder ball sitting on top of a hole in the board shouldn't be there. Above is the underside of the board and the solder has dropped out of the hole and is hanging in a nice sphere. If you look closely, and I apologise for the focus, you'll see 3 spheres, just below the right-hand-side of the edge connector. They shouldn't be there.

Below, if you see holes resembling black-heads then you'll realise that there should actually be a nice flush bit of solder there!

DSC06803

I attempted to re-solder with my soldering iron... but a lot of the joints just wouldn't accept the solder... I'll store this board, I'm not accepting defeat just yet... but I'll need a solder-sucker and a higher quality iron to get it going again. If the ICs are dead. Meanwhile, another motherboard is on its way.

Maybe I should put it back in, upside down?

Defeated...

18Oct/160

Take The A-Train (MSX) – Don’t trust the save option!

Here I was, building my little railway... saving fastidiously along the way to make sure I had a restore point to return to. There is only room for one 'save' in the game (stored in SRAM), and so I knew that each time I saved I overwrote the previous save.

atrain-track-before-save atrain-track-before-save-2 atrain-track-before-saving

Upon closing and restarting the emulator, I tried to load my save-game and got the following:

atrain-track-load

Hah... the map has loaded with no tracks... the trains then try to move and just crash! I wonder if this is a Japanese Cartridge thing?

Does saving work on fMSX?

I downloaded fMSX and tried the same thing. Firstly, it was not as easy to get the game running! Make sure you set the cartridge type to: ASCII 16kB Mapper. Once running, I ran into the same issue:

a-train-before-save a-train-after-save atrain-save-bork

That last shot is even better... it happened after I adjusted further settings... proves that this is a save/load from SRAM issue... maybe endian or somesuch?

Your best bet?

Use the save state functionality built-in to each of the emulators. I successfully saved and loaded an STA file into BlueMSX. They'll also give you an unlimited number of saves, rather than just overwriting the same save in SRAM each time.

13Oct/162

Compaq Deskpro 386s/20n: More RAM

This has been a challenge. The user manual only really indicates the spare-part numbers for modules, but searching for those proved difficult. Therefore I went in for the lucky dip and purchased whatever I could find on eBay.

DSC06529

First was a cheap batch of unknown SIMMs. They all turned out not to work. I then purchased 2x4mb EDO SIMMs specifically by Compaq, but they didn't work either. There's a few FPM SIMMs below that should work... maybe they've been damaged by static or are of the wrong spec. Seems like I need compaq-certified FPM and hopefully I've now ordered the right parts.

Here's what I've got, what worked and what didn't. I've used the DRAM info page at retro hardware to try and determine the module information.

Update: There's a link here at efetcher that indicates I need parity RAM.

Module details Chip details Status
Original 2mb SIMM
(256kbit x 4) x 16 = 1mbit x 16 = 8MB x 2 = 2mbyte
HY4424
COMP#118689-001
KM44C256BJ-8 (x16)
KM41C256J-8 (x8)
Works - 2mb
DSC06638 DSC06639
Compaq 2x4mb EDO SIMMs Compaq 185173-002 - EDO - 4MB
Fujitsu 814405C - 60
9269 F98 (8 chips)
Does not work
DSC06640 DSC06641
Could be SMART CQ SM5321000W-7
1mbit x 16 = 2mbyte x 2 chips = 4MB
HY5118160
JC - 70
9545A KOREA (2 chips)
Does not work
DSC06539 DSC06540
4MB DRAM Singapore TM248GBK32U-60 9706
TM5418169DX (4 chips)
Does not work
DSC06533 DSC06534
4M bit dynamic RAM organized 1,048,576 x 4-bit
4mbit x 8 chips = 8mbit (1MB) x 4 chips = 4MB
Maybe EDO?
HY514400A
J - 70
9512B KOREA (8 chips)
Does not work
DSC06531 DSC06532
IC 4M X 4 FAST PAGE DRAM
Another 4MB FPM?
VG2617400EJ
ABORL1 - 6 (8 chips)
Does not work
DSC06537 DSC06538
4M bit dynamic RAM organized 1,048,576 x 4-bit
Officially EDO.
16 chips = 8mb.
SEIWA - Made in Japan
HY514404A
LJ - 60
9461C KOREA (16 chips)
Does not work
DSC06535 DSC06536
4M bit dynamic RAM organized 1,048,576 x 4-bit
Officially EDO.
16 chips = 8mb.
4mb 72-pinn PARITY SIMMs WORKS! - 8mb
DSC09117 DSC09119

The machine simply does not turn on when it doesn't like the RAM... no beeping, nothing. Will report back when the FPM parity RAM arrives.

13Oct/161

Take The A-Train (MSX)

It actually turns out that A-Train for the PC was the equivalent of A-Train III from Japan. There were, in fact, two versions prior. The original A-Train, known as A-Ressha De Ikou (A列車で行こう) never made it to the western world. The next version, A-Ressha De Ikou II (A列車で行こう II) was released over here as Railroad Empire.

I've spent the last few days scouring the web for the right components to play the original game. It was released on the MSX, NEC PC-8801, FM-Towns and Sharp X1 Turbo. I've never tried to emulate any of these, so it was a steep learning curve!

Running A-Train on the MSX

Grab BlueMSX from here and then use your google-gu to find a relevant ROM. Load up the emulator, slap the ROM into cartridge slot one and then hit run. You'll be presented with the following...

atrain-1-1 atrain-1-2 atrain-1-3

Hit Y to start a new game. You're then asked Theme Music?. Is it asking me if I want to listen to music throughout the game? It turns out that it's actually asking if you want to sit and listen to the theme music play. If you hit yes then you'll be forced to listen to the standard 'Bolero' tune for 30s whilst it plays through. I'd recommend only making this mistake once.

atrain-1-4 atrain-1-5 atrain-1-6

Basic controls and screen layout

From this point you're launched straight into the default map. That cute little A that you see is the A-Train. You have total control over it; it's your construction vehicle and it must move along rails. The numeric keypad arrows allow you to move the A-Train around the tracks, building new rails when you choose to move in a direction where no rails exist. You can switch to DEL mode (aka delete track) with the INS/DEL keys or spacebar. I joined the main track to two sidings and the trains crashed in to each other!

The main area of the screen displays the railway map. The right column provides current game information. The text down the right panel is as follows:

  • レール (Rail) with INS/DEL mode
  • A かもつ (Kamotsu/Freight) 250t
  • Q for Save (セーブ)
  • + to Build (Tateru/タテル)
  • - to Remove (Kowasu/コワス)
  • / for Report (レポート)
  • xx 日 (Day)
  • xx 時 (Hour)

So, our train, the A-Train is currently carrying 250t of construction material. This is used whenever you build new tracks. The cost of one new square of track is 10t. The map has a 'home base', being the station at the middle-bottom and you'll need to return to it when you run out of material to pick more up. There seems to be 4 piles there, at the start of the map, behind the station. Actually, there's only 2 as they are in pairs. Each pair is worth 250t and only one can be picked up at a time with the A-Train.

It wont always be convenient to retrieve material from the southern-most station, so the two freight trains in our yard will be able to deliver their stockpiles to intermediate stations once we build a railway for them!

Note that you can save the map at any point. You only get one save point and a floppy disk must be inserted to save the game. You can insert a blank one via the BlueMSX emulator.

a-train-save-confirm

The goal?

If you look at the bottom-left of the main screen, you'll see a two-car train with a flag and a star in its consist. This is a special train and, when the time is right and the tracks are connected, it'll join the rails and proceed through to the final destination.

Currently we can only see a single panel of the map. It turns out that the map is extended once you start to build rails north. You use the standard arrow keys to scroll the screen (see further down.) Up north there are more cities and more obstacles to overcome.

Playing the standard map

Quite a bit of the commentary below is based on my own trial-and-error in trying to work out how the game works. It is very easy to crash trains (later in A-Train III they removed the train crashing!) and, once this happens, the player usually needs to restart. Either way, here's the main screen. The background of the map colour-cycles through the 24-hour daily sunlight cycle. You can only build when the sun is up!

atrain-1-8

Looking at the map, we can see that we seem to have a very odd track layout to start with. There seems to be a yard to the right with ready-made consists that can't go anywhere. To get any of these consists rolling, the player only had to connect track. Once a proper track connection is made, the train in the siding will roll off in it's usual end-to-end procession. If we're in the way, or they manage to hit each other, then they crash and leave a mess. The train wont start at the exact moment that you connect the track; it seems to be 24hours after... but I'm still trying to determine the exact rule.

atrain-1-7

atrain-1-9 atrain-1-10 atrain-1-11

I tried something: from the bottom-right I attached a horizontal track over to the right, making a new station with the plus key. Over at the bottom right I hooked up the right-most freight siding. Once 10am came around, the freighter started moving. It made it all the way to my new station and stopped in the middle of the platform. It delivered the cargo and went to the end of the line, promptly reversing... but in perfect A-Train style it stopped at the station once again and picked the cargo back up! Grrrr....

If we don't want the train reversing, then we'll need a loop? Nope.. not enough materials... and I couldn't connect the last bit and get out of the way... so number 5 train rear-ended me. At this point I should have returned to my main station to stock up on materials! If I had done this then I would've made the re-connection to the main line.

For those who want an overview, I've worked out a few game-play points:

  • You can only build during the daytime: 5am to 5pm. You'll get a little 'DEKIMASEN' (デキマセン / Cannot Do Action) in the bottom-right if you try building after-hours.
  • During the nighttime hours, any movement you make will be repeated until the A-Train comes to a switch. This is really handy to have the train return to the main station to replenish construction materials.
  • Hitting 5 on the numeric keypad will stop the A-Train when running in auto.
  • Other trains will continue moving throughout the night.
  • Other trains are REALLY slow.
  • If you run out of construction materials, then you will not be able to build a buffer stop at the end of your track. A standard train will CRASH if there is no buffer stop! You'll need to hurry and get more materials if there's a train to run on the track.
  • Switches will, by default, be set to the 'straight path' and not the spur.
  • A train in a siding will start 24-hours after you connect their siding to the main line.
  • As you build your rails further north, more of the map will be revealed. Once you've built north, try pressing the standard arrow keys (not the numpad!) to scroll the map.
  • Stations will only be built to the left or above tracks. Never to the right or below. Position your tracks accordingly!
  • If there isn't enough space to build a station (+ key) then you'll get the message: シキチ ガ セマイ (shikide ga semai). This means that the site to build the station on is too narrow.
  • Freight trains are really slow in reverse!
  • Tunnels can only be built in specific locations. I'm still trying to work out exactly where.

Once you connect tracks, trains will run everywhere. Even if you make points, there's no really obvious way to switch them! If your A-Train is in the way, then you're in a world of pain. I always create little construction sidings to keep the train off the main line. Switches follow the straight path, so make sure that your construction spurs are on the spur/curve!

atrain-1-10 atrain-1-12 atrain-1-13

Ohhhh...... Nighttime came along and I actually realised an extra menu option. It's a "dot", i.e. full-stop, and has P/S written next to it. If you manage to hit the dot at the right time then you'll get new menus for scheduling a-la-A-Train! From here you can set station departure times and change switches. This really is the pre-cursor to A-Train III and it's starting to make sense. You can do everything but build your own trains!

atrain-1-19 atrain-1-19 atrain-1-20

So, let's try and build a passenger railway? Turns out that if we build towards the edge of the map then we get to reveal more map. I found a city in no time. Let's make a track for the first passenger train. Note that, as that you can't build at night time, you can use the 'automatic mode' to return your A-Train to the main station which will replenish your building materials.

As you can see above, I then tried to build a passing-siding. It's actually quite difficult... harder when your train is already running. You need to make sure you're out of the way before 5pm, otherwise you can't build a siding to get out of the way. You also need to make sure you have the correct amount of construction materials. You also need to make sure that if you build switches, that the default direction wont send a train into you!

I ended up making a bit of a mess of the track above, so I started again with a simpler plan. Actually, during the time away from the computer I looked at YouTube and found a few good movies of people playing this exact game. This movie shows a good layout, but the player bombs out. Then there's this movie which shows how to win the level. Well, it shows you one way to do it... most of us want a cool and functional railway before sending the special train on its merry way.

Reading reports

Reports are accessed via the / key at any time. The basic screen layout is shown below.

atrain-1-18

The translation of each term is as follows:

  • カイシャ ノ キボ (Kaisha no Kibo) = Company Size.
  • レール (Re-ru) = Rail + count of many tiles of railway you have built.
  • ポイント (Pointo) = Point / Switch + count of how many.
  • エキ (Eki) = Station + count of how many.
  • コーテイ (Koutei) = Distance completed towards goal.
  • シャリョウ データ (Sharyou Deeta) = Carriage/Vehicle Data + a list of your trains and their cargo in people (人) or tonnes (t).
  • シキン (Shikin) = Funds
  • シキン ソウガク (Shikin sougaku) = Funds Total
  • ケイヒ (Keihi 経費) = Expenses
  • ウリアゲ (Uriage) = Profit
  • キョウ (Kyou) = Today
  • x 日マエ (x Nichi Mae) = x Days Earlier
  • シャリョウヲ カウ (Sharyou wo Kaou 車両 を 買う) = Vehicle Purchase
  • カエマセン (Kaemasen) = Not purchased/No purchases

With the details above, you can now understand the report screen. It's pretty simple. Basic company statistics top-left, train information top-right and money (including the all-important profit) area bottom-left. The bottom-right intrigues me as it indicates that vehicles CAN be purchased? But how....!?

As you can see, it's 3am on the 6th day and my trains aren't making any money. It's time to stop screwing around and build a real railway!

Layouts and Scheduling

So, watching the Youtube videos also showed me that cities expanded quickly once passengers were flowing. From this, I built a small loop and threw a train on it.

atrain-layout-1 atrain-layout-2 atrain-layout-3

I then got cocky and tried to just put another train on it. It worked in the video. Connecting the track was easy enough... starting the train wasn't. I can't work out the exact timing as to when the 'parked' train chooses to depart... of course it chose to at the exact time that my other train was turning the bend.

From here it was obvious that I needed to schedule the movements. I built another loop and let the first train onto it. Watching its speed, I noted that it took 1 hour to traverse 2 tiles. Waaaiiittt... sitting and watching has its blessings! When you connect the track to a siding, you get a little message bottom-right with the start time of that train. So that means that any train you connect will start 24 hours after you join the tracks.

atrain-train-start

That message above reads 13時 スタート which means 13:00 Start. I took the shot milliseconds after the clock switched to 14:00... so the timing is now + 24-hours to start the connected train. In the shot you can see that I fluked getting two other trains onto my railway... the third was going to cause issues. Unfortunately I was too busy editing the screenshot to move my A-Train and Train 2 quickly crashed in to it.

So, you can now determine when trains will jump... the issue then is counting how far the train has to travel prior to joining into the main railway. In this case, it had ~8 tiles to hit the point just before the horizontal station. This means 4 hours. If we wanted it at the horizontal station at the instant this shot was taken then we'd need it to travel another 2 more tiles. So, 5 hours to get where we want it. The time of the shot was 14:00, so winding back the 5 hours, we want this train to jump at 09:00. This means waiting until the day cycles to join the tracks. Connect them just after 08:00 has ticked.

Notice the strategy that is now required? Joining the tracks up in this manner is required if you choose not to schedule your trains. It is therefore recommended to schedule where possible, to make your railway work like clock-work. If we put a station right before a train is to enter a main line, then we can choose a departure time for that station, allowing the train to slot in at an appropriate moment. We could even use the station that we are given at the start as such a waypoint. If we make sure the track is routed into that station first, then we can hold the train there. Note that the train will traverse the station twice and will therefore take a lot longer than 24 hours to depart!

a-train-schedule

So, the screenshot above is starting to get complex. I couldn't make a sharp enough curve for the first siding, so I skipped it and went to Train 2. Here, the train will have to go into the main station to start with. It'll then proceed to the end of the line, turn around and re-visit the original station. This is annoying, but I haven't worked out how to prevent it yet without building a loop (which is impossible for this station!)

We can now set a departure time, as shown in the screenshot below. When the map goes black (aka. nighttime), the P/S option will appear and you'll need to hit full-stop. In this menu, you use the arrow keys (not the numpad!) to navigate around the objects on your map. Get a feel for the navigation, remembering that you have a very limited amount of time to configure the schedule before daybreak. Left/right will move between objects on the screen and up/down will scroll the map. When a point is selected the list will show what the point will do for each train. Likewise when a station is selected then the list will show the departure times. At the bottom of the departure times is マチ (Machi) with a number. This is the name/number of the station.

a-train-schedule

For this scenario, we want Train 2 and Train 3 to wait at the main station until 06:00. Firstly, use the arrow keys to select the original station. Then use the number-keys (top row of any keyboard) to select the train number and then enter to toggle the departure time. In the end you'll want to hit 2 and then press enter once. This will get you a configuration as per the screenshot. You then want to do the same for Train 3. Do not connect the tracks to Train 3 until Train 2 is out in the loop!

a-train-loop-1 a-train-loop-2 a-train-report

Look maaa! A loop with two trains! Winning! The report in the middle even shows the income! Is that raw profit? Or do you need to subtract the running costs above?

I had picked up the last supplies from the base station and knew I'd run out soon, but I thought I'd build north and extend the loop. With trains running, you need to move your A-Train in unison and not collide. It's a slow process. One major warning though: when night falls, a single movement will continue to the end of the track (this is that automatic-mode I was talking about before.) So... if there's a train in front, as per that last screenshot above, then you'll hit it without warning. So, take your time!

Finding the goal

We know that our Special Train is waiting down in the bottom-left to be given a path to its final destination... but where is that? We'll need to build to find it. To do this, we'll need to get our freight trains operating on a station that's on a loop so as that they don't just pick up and carry the construction materials away again. Note that any station they deliver to can only hold 3 tiles of materials, so visit them often and collect what has been delivered.

a-train-freight-halfway a-train-freight-delivered a-train-to-end-1

a-train-to-end-2 a-train-to-end-3 a-train-to-end-4

a-train-to-end-5 a-train-to-end-6 a-train-to-end-7

Hahaha... fail. I tried building, with freight waypoints to stop me from having to return to the start each time... but I ran out of money? Time to do this all again... this time with a passenger railway to support me.

To be continued...

This has become a mammoth post and I'm hereby going to split it into two. I'll post another report shortly once I've mastered the game. The above article is enough to get you started and playing, so I'll make the next post just an end-to-end completion of the map.

Stay tuned.

11Oct/160

Compaq Deskpro 386s/20n: Running 386BSD

I've wanted to run *NIX on my Compaq Deskpro 386s/20n and I've just stumbled across the perfect distribution for it. Turns out that, back in teh mid-90s, a bunch of developers created 386BSD based on 4.3 BSD. The source of 386BSD 2.0 has recently been released and is now available via the 386BSD github repo.

I'm not overly confident with raw *NIX systems, and so was hoping for a boot disk/installer scenario and it seems that this is provided. Below are my feeble attempts to get it going.

Creating a boot disk on Windows 10

For most of the following, I've used the instructions found here at gunkies.org for getting 386BSD running on Qemu. I downloaded rawwritewin. dist.fs was written to the disk, but it failed in every system I tried it in. Turns out it's a 1.2mb image and not a 1.44mb image. Somehow the tracks/sectors of the floppy are written into the image and incompatible when you write them to a disk of differing geometry.

I then searched, trying to work out how to convert a disk image from 1.2mb to 1.44mb. The link above just pads out the image file with zeros... but this can't be correct? Seems that QEMU will happily boot that though? I then came across this link which uses ImageEdit to convert a 1.2mb image to an IMD. This app doesn't run on Windows 10, so I booted up my Win98se VM and ran it there. An IMD was produced, but this had the same issues on all disk writing applications I tried. You can download ImageEdit here if you need a copy of it.

Using someone else's bootdisk

There's another article at gunkies.org titled Installing 386BSD 1.0 on Qemu. Turns out this has a downloadable disk image in 1.44mb format. There's two images at the top of the article. 5boot.img seems to be corrupt. ddbboot.img is actually a DOS bootdisk that contains the 386BSD kernel in DDB format and uses boot.exe to kick it in to gear.

I booted the latter and ran boot 386BSD.ddb wd1d and nothing... it reads for a bit but just stalls... I wonder if my poor 386 is insufficient with only 2mb of RAM? It has already loaded in to DOS, so there's probably hardly any RAM left and hasn't got a chance to then boot further? The other issue is that wd1d is a hardware device which might only be valid for Qemu?

I'll dig further and see if I can get this working... stay tuned...

10Oct/160

A-Train vs. Mouse

A-Train was a breeze to install and ran first-go on the Compaq Deskpro 3862/20n. Controls were by the numeric keypad as, out of the box, there are no mouse drivers in DOS 6.22. Below are the drivers I attempted and the results.

CuteMouse

CuteMouse is an open-source driver known for its low memory requirements. Downloading and unzipping the drivers to disk was simple enough. The files were then copied to hard-disk and CTMOUSE.EXE was executed. All reported well. Upon starting A-Train I received a black and white map! Intro and main menu were in full-colour, but the actual game loaded as b&w?

DSC06568

I dropped the CD-ROM driver and tinkered to reduce the memory footprint, but the game would simply not show in full colour once cutemouse was loaded. Was it because this little 386 only had 2mb of RAM? I'll test again when my 2x4mb SIMMs arrive.

MOUSE.COM

Microsoft also has its own Mouse Driver known as MOUSE.COM. Downloading, copying to C:\ and executing this worked perfectly. My PS/2 mouse performed as it should in A-Train and the world was a better place.

DSC06570

Now to learn how to play the game...

2Oct/160

Compaq Deskpro 386s/20n: Crystal S23A Audio

Searching through eBay, I was hoping to come across a nice Creative Sound Blaster card. Actually, I found two AWE64s up for grabs... 2 hours left and I was winning the auctions at around $60 a pop. I had mixed feelings as to whether or not I'd actually win them and it turned out my hunch was right: they both went for well over $350 a piece... way out of my price range.

After a little more searching, I came across a merchant in Australia with a large collection of random ISA cards. There were some sound cards, but none of the brands were really well known to me. I saw an Ensoniq or two, but I went budget (more budget than Ensoniq) and opted for the cheapest card in the range. This happened to be a Magic S23A with a Crystal CX4236B-XQ3 chipset. It seems that Crystal offered their chipset to a bunch of manufacturers and that this card could have actually come from Acer, but there is no official branding on the card.

DSC06336 DSC06337 DSC06338

DSC06340

DSC06341 DSC06344 DSC06347

The card was grotty, but otherwise OK in electrical condition. I gave it a good wipe down with some alcohol swabs and it came up well. The capacitors all seemed OK... but I recorded their values in preparation to replace them. Physically installing the card was straight-forward; the only notable mention was that I shifted the VGA card to the lower of the two ISA slots so that this card (if it was in the lower slot) wouldn't interfere with my CMOS battery hack.

Software

Vogons has a great selection of drivers for this card. Knowing which driver to use is slightly confusing as all chipsets mentioned start with CS instead of CX, but it turns out they're all compatible.

I first tried the v118 driver from this package. All worked perfectly in DOS, but the I couldn't get the Windows portion to work at all. The setup application installs the drivers for you and edits your system.ini, but on boot VSNDSYS.386 throws a nasty error.

I then tried the CX4235 Driver at Vogons, installing it over the top of the driver above. DOS games still worked and Windows did too. But, each time Windows started the mixer dropped all volumes to silent. I had to run the CWDMIX DOS mixer (the latter driver came with no Windows mixer) to re-set the volumes and then things worked. Saving those settings as default did not help as the mixer would set in DOS at startup but then re-set to quiet as windows loaded.

I had no investment in the current Windows installation and so I started again with a fresh install of DOS and Windows. I then installed the CX4235 driver and it all worked perfectly. Still no mixer in windows, and therefore no software volume control, but I had an external one on the Creative speakers anyway.

After a bit of testing, I quickly found out that one channel was distorted/inconsistent/patchy. No amount of external cabling jiggling would fix it. The speakers were also a new acquisition, so it could've been them (they were only $10 at an op-shop), or the card. Trying to determine which was about to get tricky.

DSC06374

Fortunately, I had the case off the computer and I gave the internals a nudge. Turns out that double-jumper setting for Line/Headphones output was the issue. One of the jumpers was not seated correctly and forcing it downwards enabled the second channel correctly. I shut the machine down, removed the jumpers and gave the whole lot a good clean. The card is now performing very well.

I'd never heard of Crystal Semiconductor, but I'm happy with the card after getting the drivers correct!

1Oct/160

Compaq Deskpro 386s/20n: Parallel Port CD-ROM Drive

Meet the Micro Solutions Backpack. It's an external CD-ROM Drive that plugs into your PC via the Parallel Port. It comes with its own PCMCIA card which offers a Parallel Port cable dongle. I don't have a PCMCIA port on this 386, so I'm going to attempt to plug it directly into the Parallel Port.

I actually bought it to use with my Amiga 1200, but it turns out that the Amiga doesn't support it out of the box. Fortunately, it is made for Windows... even better, the Windows era that I'm tinkering with!

DSC06349 DSC06350 DSC06351

It actually has quite a nice slim-line form-factor. Two 25-pin parallel ports on the back will allow you to daisy-chain a printer as well? This hasn't been tested. I fortunately had a Parallel cable lying around (from tinkering with the port back here) and plugged the device in. Everything was connected and ready to test in a matter of seconds.

DSC06371

The Software

Scraping the web for old software isn't fun. So I've provided the download for the driver here. There's a few manuals and larger setup files, but everything I needed was in the DOS folder. I copied these to a floppy and took them over to the Compaq. Since I now had a D: drive, I created a folder named CDROM and dropped the files into it.

SETUP.EXE ran without a hitch from D:\CDROM\. Seems that my efforts to copy it over were pointless though, as it asks for a source disk during install. Selecting D: expected the data to be in the root, so I had to leave the floppy in and copy from there.

DSC06357 DSC06361 DSC06362

DSC06364 DSC06366

I then crossed my fingers and rebooted. Unfortuantely I was met with a locked up boot. The CDROM driver was trying to load, but freezing. Disabling it allowed my machine to boot. Long-story-short, this driver was conflicting with EMM386! Make sure you load the driver before you start your extended memory manager.

Note that in the folder, there's also a port test application. Use this to find out information about your Parallel port incase things aren't going to plan.

DSC06372

You can find more drivers and information here at minuszerodegrees.

The Result

Back in good old File Manager, we get a new drive (with a new icon!) on the drive bar!

DSC06370

As you can see, the first CD I found was an 'old shit' disk with numerous versions of DOS and WINDOWS. I'll be rebuilding C:\ with this shortly. Time to start from a fresh drive and play games!

29Sep/160

Compaq Deskpro 386s/20n: More Disk

So, the old beast is up and running once more. All is well, but I want a little more hard drive space. I've had a 256mb Transcend IDE "Disk on Module" lying around for a long time, so I've decided to install it into this machine.

DSC06304

The IDE connectors on these devices are reversed as they are actually meant to be installed directly into the motherboard. This Compaq does not have a standard IDE connector on the motherboard end, so I'll need a little bit of trickery to get this up and running. I'm going to call this device an SSD from here on; writing Disk-On-Module each time uses my shift key too much.

IDE Pinouts

What I'll try and describe below is where pin 1 is on either end of the cables and how the Transcend module doesn't mate correctly with the 'hard drive' end. For all intents and purposes, we're going to pretend that this Compaq Deskpro actually does have a standard IDE port on the motherboard end. We know it doesn't, but for demonstration purposes, let's stick to the IDE standard.

IDE cables are all female-to-female. Most of the time they have more than one female plug down the cable to allow both a master and a slave to be connected on one channel. The IDE cables in this Compaq are the original 40-pin type. These 40 wires are all connected straight through, down the cable and into the plugs. The drives then determine, via jumper settings, which is to be master and which is to be slave. In this scenario, we can take it for granted that this will occur and that we don't have to modify cables or plugs to allow selection of master/slave automatically.

The best way to explain the pin mapping is sideways. The diagram below shows pin one and two from the motherboard to the HDDs. The important part here is that mirroring occurs and that 1 and 2 seem to 'leapfrog' over each other on the way.

initial-cable-layout

As you can see from above, if we plugged the SSD straight into the IDE cable IDC header then we'd have a mismatched alignment of pins. The top row of pins needs to be swapped to the bottom row. To do this, we either need to put an IDC header on the 'other side' (upside-down?) of the IDE cable, or create a new cable that'll swap the pins around for us.

Due to the staggering of the pins on the IDC header, it doesn't matter which way you orient the plug. The side of the cable is what matters. Then again, this isn't the total truth. If you were hooking up another hard disk, then the rotation definitely matters as the 'notch' must be facing upwards so that pin 1 is to the left (when looking at the 'hole' side.)

Confusing yet? The issue here is that everything is mirrored. Once you then add the rotation, it's a real mind-f##k moment. Either way, for this to work, we'll want to have a plug on the wrong side of the cable. Actually... is that what I really want to do?

You mean, ruin the Compaq IDE Cable?

The IDE cable in this Compaq is proprietary. The motherboard-end is an edge-connector onto the backplane and I can't imagine finding another cable like this, ever. Therefore, we're going to do as little damage as possible to add a slave drive. I could just slap the IDC connector onto the reverse-side of the cable cable, and this would actually minimise any work I had to do, but the issue is that I'd then have to leave a note in the machine to tell the next unsuspecting victim what I'd actually done. Unless you know what you're looking at, you won't have any idea that it's backwards and a normal disk wouldn't work.

Instead, I'll add an IDC connector the correct way, a little way down the cable, as per a standard slave connection. From here I'll then build an adaptor cable that will allow me to female-to-female plug in the SSD. Check the next diagram to understand this.

new-cable-layout

Note that the 'adaptor cable' seems to be miswired? Pin 1 is pointing to Pin 2!? This is perfectly fine, as that's the cables purpose in life. You couldn't do this with an actual device, but you can with a cable. In the end, if you follow the wires, you'll realise that we now have the pins lined up perfectly. We also have a magical space for the existing HDD!

Building the adaptor cable

After thinking about this for a while, I thought I'd google to see if anyone had done it before. Most people put IDE-CF cards in their ancient laptops, I've even tried to do this before. I then came across an article where Michael B. Brutman installs an SSD into an old IBM L40SX. It was great to see that my concerns of just plugging the 'SSD' into the IDE cable as-is was wrong and that the technique to build a cable was proven.

I went to the shops and bought the required components: ribbon cable and 3 40-pin IDC headers. I already had some rows of header pins available in the cache-o'-crap.

DSC06324

Constructing it was easy enough, just make sure that both your headers are facing up and, just for fun, align the notches the same way. We won't be caring about the notches... but do it anyway!

DSC06325 DSC06326 DSC06327

DSC06329

Now that we're done, we're going to hack the original Compaq cable slightly... let's put a header on the cable below the current header, allowing for a slave to be connected. Except that we're going to put the master here, using the old header at the end for our new drive. You can see from the shots below that the original cable had enough slack to allow us to fit the header in.

DSC06315 DSC06316 DSC06318

DSC06321

At this point, prior to plugging in the SSD, test the modification we've just done to the existing IDE cable! After this, the final trick is to just slap it all together. Make sure to set the SSD as the slave! I used the header pin rows, sliding the plastic down mid-way. I then found a power cable Y-Splitter and jammed it all into the case.

DSC06330

Configuring your new disk

Back to the BIOS, you'll need to select a size that is 'just-below' your SSD size. I found a 212mb that I was happy with.

DSC06368

This all worked like a charm. I was then at the usual DOS Prompt. FDISK indicated that I had a new fixed disk and allowed me to to switch to it by using menu option number 5. Doing so showed the old Linux partitions!

DSC06331 DSC06332 DSC06333

From there it was a quick partition deletion, creation and formatting session. All done in around 5 minutes. The result?

DSC06335

Oh File Manager, how I have missed thee.