After scouring recycling shops in Japan and finding some 300-series Shinkansens... I did a little more investigation (aka. purchasing) of tracks and other relevant equipment to set up a test track. This then kept expanding once I'd realised that Tomy released Plarail in Australia under the Thomas brand.
Trash and Treasure is a usual haunt on Sunday mornings and I have been happening across more and more Plarail equipment. Sure, it's for 2-4 year-olds, but some of it is just so simple and easy, that it can actually be rewarding. You then look at the components available from Japan and start to realise what can actually be built! I reckon, with a little bit of further modification and automation, you could create some seriously crazy layouts.
The design and equipment is also rugged and resilient. As that it's made to be run on carpet (by children), the tracks are easy to connect and hold together after being kicked and beaten. The locomotives also are built to cop a beating, with internal gearing to allow the axles to be held whilst the train is trying to move. You can even wrench them backwards when they want to go forwards. Of course, with age, any fail-safe equipment can also fail.
I've only learnt all this recently. I picked up a Percy The Small Engine from Trash recently and found it to be defective. With zero loading, the loco could move around... but as soon as you gave it something to haul it just sat still. The engine was still rotating... you could even see the gear on the driving axle spinning. It seemed to have quite a 'click' on every rotation.
The cause turned out to be a split final gear on the driving axle. It was still on the axle, but due to a split between two teeth, it had very minimal grip. This meant that it'd keep contact with the axle on light load, but spin incessantly on anything else.
The gears are held onto the axle by friction. The axle is roughed-up where the gear is finally meant to sit, but the diameter of the hole in the gear is smaller than the diameter of the axle to ensure a proper fit. This meant that, any attempts to glue the gear shut would fail; the pressure would snap the gear back open as soon as I tried to slide it back on.
From here, I tried to widen the hole in the gear, to allow it to slide on easier. This worked, and I then attempted to also glue it to the axle. Unfortunately, I had no type of glue that would correctly bond to both substances.
Not even Araldyte worked! The next step was to scour eBay for gears. Turns out they're dirt cheap.. when purchased from China. Of course, that means 4++ weeks of waiting. So.. 4 weeks later, the following arrived.
Included was a total assortment of gears. Around 6 of them were in the right ballpark. The blue ones fit way too easy and I've have to work out a method for securing them to the axle. I tried the hot-glue-gun... but I was just making a mess.
The next effort was with one of the white gears. They were the right diameter, but too wide. Their hole diameter was also too small. Firstly I widened this with a ~2.0mm drill bit in the dremel. Make sure that you drill perfectly perpendicular and centered!
Once on I then used a grinding stone chomp the gear in half. I filed it down afterwards to clean it all up. It actually worked!
Based on the note above, the first one I did actually failed to run smoothly... Percy had a huge limp! Turns out I drilled out the center hole completely off-center. The gear actually 'wobbled' around the axle badly and pushed the innards of the gearbox up into the chassis! Be really careful. The second one worked perfectly and Percy was grinding along again once more!
Here is yet another public service announcement. I've recently been coding times for this post to track train timetables. Whilst doing so, I had the times in my array fully padded out to make everything easier to read.
i.e. for the southbound passenger timetable, I had the following:
var southbound_pax = [ 0530,0611,0633,0703,0714,0725,0733,0743,0752,0808,0823, 0830,0841,0859,0917,0928,0944,1006,1029,1053,1109,1128, 1148,1209,1230,1251,1309,1327,1348,1409,1427,1448,1512, 1532,1550,1607,1618,1631,1651,1709,1726,1737,1754,1808, 1818,1831,1844,1902,1915,1925,1937,1955,2014,2029,2050, 2102,2121,2143,2208,2227,2255,2349 ];
All of my testing had been done after 10am, so everything worked fine. This morning I get in and check the timings and it's all really wrong. I whipped up a quick test as I'd seen strange values in the arrays.
> var number_array = [0000, 0001, 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, 0011, 0012]; > number_array [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 9, 10]
Wait, what?... we're good until 0009. Then it goes nuts? A heavy bit of googling produced this warning on w3schools:
Never write a number with a leading zero (like 07).
Ohh.... riiiight... some... Did anyone else know of this feature?
Effectively, if it's octal, then 0009 should throw an error, right? Not just silently work and then flip back to '8' at 0010. Grrr...
A motherboard with VLB slots meant a video card that made the most of the hardware available. I had an alert running on eBay and this card came up one evening with a totally affordable buy-it-now price tag. There are many other VLB cards on eBay, but the sellers are valuing them at prices much higher than I'm wishing to pay.
The card was easy to install and POST'd fine.
Windows 3.11 had no default drivers, so I scoured the web and found a driver named 80x241.zip. This zip was extracted into a temporary folder and then installed via the Windows Setup application under the Main program group. SF is Small Fonts, with LF therefore standing for Large Fonts.
Note the max resolution above is 1280x1024 @ 256 colours. Not bad at all for a card of this vintage? Unfortuantely, selecting anything above 800x600 caused the following.
Ok, great, hard-coded refresh rates? Fortunately, in the driver folder is REFRESH.EXE. Note that when you're in Win3.11 and can't see a thing, just hit Alt-F4, Left Arrow and then press Enter. This will exit Program Manager back to DOS.
Choose the appropriate refresh rates as per your monitor. There's no save button... just hit Exit and it'll apply any changes. If you need to change the resolution in windows, run SETUP.EXE from the Windows folder.
And now, testing the huge resolution...
Resolution is delicious... screen artefacts not so much. From here I could only assume that the 'block' down below was the area where the 1mb 'option' should go. The card was expecting that the user had added the 1mb before using the resolution. Ok... how does one upgrade ram for an old card? Steal it from another!
These RAM chips are awful! They have a dot on either corner and that makes it really hard to work out the orientation. Even better, the socket on the Trident board has a triangle chipped of it, but that is the opposite to the 'key' triangle on the S3 board. Of course, I got it wrong the first time, the machine didn't boot and the RAM chips got very hot. I switched it off quickly and resocketed them. And then...
Winner! Ridiculous for Win 3.11 ... but still cool.
But the refresh rate doesn't stick...
Every reboot, the refresh rates need to be re-programmed. REFRESH.EXE gives you the following options.
You'll just need to add REFRESH.EXE 1280 3 or such to your autoexec.bat.
A quick note on MDI applications
The Multiple Document Interface is all about having sub-windows in your application. Cakewalk Audio has an issue where it thinks it's maximised when the application starts. You can't actually drag the the window bigger and it seems stuck.
Fortunately, the work-around is to Cascade all windows (from the Window menu) and then maximise it once more... it'll then take the whole screen.
So this is actually a Mt Fuji monitoring camera... probably specifically for traffic? But it also has a great view of the Tokaido Main Line between Okitsu Station and Yui Station. The main link is here and the 'close angle' view is here.
The timetable below is based on weekday services between Yui and Okitsu (and return.) I checked the weekends and the timetable seems to be exactly the same? There might be more peak-hour services during the week, so don't be sad if there's a train or two missing on weekends.
|Next Trains between Yui and Okitsu (Current time in Shizuoka: )|
|Next Freight Train|
Here's the actual camera location... or thereabouts. I've guessed it's on one of the buildings under the pin.
Click the map to go to the area on Google Maps.
Passenger Train Timetable
There's no need to write this down here, just browse over to Hyperdia and check out their running sheets. From Okitsu, it's around 3 minutes travel time to the centerpoint of the webcam view. Using the interval timetable here, you can guess when the next passenger train will be. In the other direction, it's about a 2 minute travel time, so use the reverse timetable here to work out the timings.
As for limited express passenger trains, there are the Sunrise Seto/Izumo (~midnight and ~430am) and the Wide-View Fuji services (8-10 services a day). They're all plugged in and you'll get an idea as to when they'll show up in the tables above the video feed.
Freight Train Timetable
Fortunately, there's a lot of freight to see on the tracks. Using the timestamp in the video, hang around to see the following trains! If you have any other data to add to this table, then please tell me in the comment area below.
Sightings... to be incorporated to below.
2017-03-23 - 13:37:15 - Southbound?
2017-03-24 - 08:03:35 - Southbound?
2017-03-28 - 13:37:00 - Southbound?
2017-03-28 - 15:23:19 - Southbound? - Late 5075?
2017-04-03 - 15:23:25 - Southbound? - Late 5075? (I think I need the latest freight timetable!)
2017-04-04 - 14:33:05 - Southbound Toyota Long Pass Express... REALLY LATE?
2017-04-10 - 15:23:25 - Southbound? - Late 5075?
2017-04-12 - 15:23:50 - Southbound? - Late 5075?
2017-04-13 - 14:19:20 - Northbound? - Early 5094?
2017-04-18 - 13:36:32 - Southbound?
2017-04-18 - 15:23:10 - Southbound? - Late 5075?
|8053||0007||2347||Utsunomiya - Hiroshima||Container|
|1061||0013||2353||Tokyo - Hiroshima||Container|
|61||0021||0001||Tokyo - Ajikawaguchi|| Container
|1069||0049||0029||Niiza - Osaka||Container|
|53||0058||0038||Tokyo - Suita||Container
|1093||0106||0046||Tokyo - Nagoya||Container|
|51||0114||0054||Tokyo - Ajikawaguchi||M250 Super Rail Cargo
|65||0120||0100||Tokyo - Kudara/Hirano|| Container
|5055||0126||0106||Niiza - Fukuoka||Container
|5088||0132||0152||Ajikawaguchi - Sendai||Container|
|7053||0133||0113||Tokyo - Fukuoka||Container|
|57||0147||0127||Tokyo - Suita||Container
|1057||0154||0134||Kuragano - Fukuoka||Container
|55||0158||0138||Tokyo - East Fukuyama|| Container
|1098||0202||0222||Nagoya - Sumidagawa|| Container
|1081||0204||0144||Sendai - Ajikawaguchi||Container|
|1051||0208||0148||Tokyo - Fukuoka||Container|
|1053||0215||0155||Tokyo - Fukuoka||Container|
|1099||0219||0159||Niiza - Nagoya||Container|
|1080||0222||0242||Osaka - Niiza||Container|
|3095||0225||0205||Onahama - Nagoya||Container|
|1059||0230||0210||Utsunomiya - Fukuoka||Container|
|5096||0230||0250||Nagoya - Hachinohe||Container|
|1092||0235||0255||Nagoya - Tokyo||Container|
|1084||0238||0258||Osaka - Sendai||Container|
|1066||0247||0307||Osaka - Tokyo||Container|
|64||0301||0321||Kudara/Hirano - Tokyo||Container
|1088||0305||0325||Kudara/Hirano - Koshigaya||Container|
|50||0321||0341||Ajikawaguchi - Tokyo||M250 Super Rail Cargo
|52||0324||0344||Suita - Tokyo||Container
|1056||0334||0354||Fukuoka - Tokyo||Container
|1098||0339||0359||Nagoya - Sapporo||Container|
|5056||0350||0410||Fukuoka - Kuragano|| Container
|60||0357||0417||Ajikawaguchi - Tokyo||Container
|56||0405||0425||Suita - Tokyo||Container
|7082||0411||0431||Kudara/Hirano - Tokyo||Container|
|5080||0415||0435||Ube - Koshigaya||Container|
|70||0422||0442||Niihama - Tokyo||Container|
|5054||0428||0448||East Mizushima - Tokyo||Container
|374||0432||0452||Nagoya - Sapporo||Container|
|66||0453||0513||East Fukuyama - Tokyo||Container|
|5091||0458||0438||Sendai - Nagoya||Container|
|5086||0500||0520||Kudara/Hirano - Sapporo|| Container
|1055||0503||0443||Tokyo - Fukuoka||Container
|5087||0534||0514||North Asahikawa - Kudara/Hirano|| Container
|3071||0553||0533||Sapporo - West Hamamatsu|| Container
|1071||0558||0538||Tokyo - Kagoshima||Container|
|8060||0606||0626||Suita - Koriyama||Other|
|5085||0607||0544||Sendai - Hiroshima||Container||2017-04-20 05:44:35|
|5071||0635||0615||Sendai - Fukuoka||Container|
|54||0734||0747||East Fukuyama - Tokyo||All Green Containers?
|1097||0903||0848||Sapporo - Nagoya||Container||2017-03-28 08:48:50
|5060||0907||0921||Shimonoseki - Tokyo||Container||2017-03-28 09:21:00
|2053||0950||0935||Morioka - Nagoya||Toyota Long Pass Express
|1060||0923||0938||Hiroshima - Tokyo||Container||2017-03-27 09:38:05
|8091||1033||1015||Tokyo - North Kyushu||Rail Train||2017-04-18 10:15:30
|5052||1013||1027||Fukuoka - Tokyo||Container
|5073||1050||1035||Tokyo - Fukuoka||Container||2017-03-27 10:35:00
|1090||1052||1105||Niihama - Numazu||Container||2017-03-24 11:05:50
|8090||1210||1230||North Kyushu - Tokyo||Rail Train|
|8052||1331||1345||Fukuoka - Utsunomiya||Container||
|5099||1431||1415||Numazu - Hiroshima||Container||2017-03-24 14:15:20|
|5094||1401||1438||Nagoya - Tokyo||Container||2017-03-24 14:38:42
|5075||1520||1500||Tokyo - Fukuoka||Container|
|3075||1612||1556||Sapporo - Nagoya||Container||2017-03-28 15:56:50
|1070||1604||1624||Kumamoto - Tokyo||Container|
|5095||1644||1624||Tokyo - Inazawa||Container||2017-03-24 16:14:00
|5050||1653||1713||Fukuoka - Tokyo||Container||2017-03-24 17:08:00|
|1050||1700||1720||Fukuoka - Tokyo||Container||2017-03-24 17:15:00|
|2052||1721||1741||Inazawa - Morioka||Toyota Long Pass Express
|2017-03-24 16:20:00 (1hr early?)
2017-03-28 16:20:00 (1hr early?)
|71||1841||1825||Tokyo - Niihama||Container||2017-03-29 18:25:50
|1054||1822||1837||Nabeshima - Tokyo||Container||2017-03-29 18:37:25|
|1072||1835||1850||Hiroshima - Sendai||Container||2017-03-29 18:50:54|
|1091||1946||1930||Numazu - Fukuoka||Container||2017-03-27 19:38:00|
|1052||1922||1942||Fukuoka - Koshigaya||Container|
|5074||1930||1948||North Kyushu - Tokyo||Container||2017-03-24 19:48:00
|1058||2000||2016||Fukuoka - Utsunomiya||Container||2017-03-28 20:16:10
|5053||2053||2033||Tokyo - Fukuoka||Container
|5070||2110||2128||Fukuoka - Sendai||Container||2017-03-28 21:28:22|
|5058||2131||2145||Okayama - Tokyo||Container||2017-04-11 21:45:30|
|5051||2230||2214||Tokyo - Fukuoka||Container
|3070||2235||2255||West Hamamatsu - Sapporo||Container
|7085||2250||2230||Tokyo - Kudara/Hirano||Container|
|5090||2313||2333||Nagoya - Sendai||Container|
|67||2325||2305||Tokyo - East Fukuyama||Container|
|5061||2329||2309||Chiba - Hiroshima||Container|
|1067||2338||2318||Koshigaya - Kudara/Hirano||Container|
|1089||2343||2323||Tokyo - Osaka||Container|
|1085||2350||2330||Sendai - Osaka||Container|
I hope I copied the above correctly!
After building this machine, I am finding that I am losing my BIOS settings each time I pull the plug at the wall. The original motherboard owner/restorer replaced the onboard battery with a coin cell socket, but it seems that the 3v cell I put in there isn't powerful enough to keep the charge!
PC Restorer has a great article on CMOS batteries and the best point to take form their site is that most BIOS' need 3.6-4.5v to keep their memory.
In the picture above, you'll see the 4-pin header for an external battery. Pin 2 is missing. On this motherboard, pin 1 is positive and pins 3 and 4 are ground.
Using a standard 4-pin header plug from Jaycar, I wired up a 4-cell AA battery pack, but only used 3 cells. This required soldering new wires to allow current to flow between only three of the batteries.
With this all soldered, a quick test with the multimeter saw ~4.89v on the pins... which was more than expected, but an acceptable value.
Installation was a breeze and testing proved that my BIOS settings finally held!
The case I have installed this machine in didn't have a PC Speaker installed by default. Therefore I used the same 4-pin header to rig up an 8ohm speaker from Jaycar. There's no real need to worry about the polarity here as it's just mainly beeps and boops. Who cares which way the diaphragm shifts?
On first boot, the machine-gun noise of RAM counting up was music to my ears!!
I've been itching to do this for a while. There've been some nice 486 motherboards coming up on eBay, but I haven't been in the position to get them until now. A Hippo VL+ board appeared and, although it had suffered battery damaged (and been repaired!), it was a bargain for the price. I've always wanted to tinker with the VESA Local Bus and now was my chance. I did have a VLB board back in the day, but hardly knew what it meant.
This was to be a completely build-it-yourself project. Each item was individually selected from whatever came on offer via eBay. First up was the motherboard with 4mb of RAM and that all-important exactly-what-I-wanted 486 DX2/66 processor.
You can see where the previous owner has repaired a leaking CMOS battery. The wiring has been well-done and is all hot-glue-gunned down. The coin cell slot is in its place, but I seem to still be getting CMOS battery low issues. It could be that the coin cell battery is only 3v when the CMOS needs 3.5v+.
Next up was the VLB controller card. These full-length half-height cards provide two IDE channels, two floppy drives (via one cable), 2 com ports, a game port and a printer port! The HDD activity LED is also attached to this card.
Finally, the all-important video card. I happened across a cheap S3 86C805i VLB card. It has expandable RAM of which I'll try and fill later on.
There are only three slots where these cards fit into. You'll also find that they are named as to their purpose! There are two 'master' slots and a 'slave'. For those playing at home, the 'master' slots allow cards that support bus mastering; where the card will receive direct information rather than data via the CPU, and have it's own processing power on-board. The slave slot is for cards that don't support bus mastering but want the additional bandwidth of the VLB.
A quick trial assembly then took place. Be really careful when doing this on a flat surface! The end plates have tabs that are meant to slot into the case when the board is mounted... when not, they will simply push into your desk/table and pressing further is strongly discouraged!
I picked up a AUD$1.00 ATX case from eBay. Yes. ATX. It'll never work, you say? I have previously already put a 386 in an ATX case, but that was whilst keeping its old AT power supply and having the power cord hanging out the side. Not very neat. This time around we're going to do things differently.
Meet the case, creepy photo, right? It's full ATX... soft buttons and all. It even has an ATX power supply.
How do we possibly use an ATX supply with an AT motherboard? With an adapter plug! This beauty was found on eBay for the handsome sum of AUD$5.00.
So, simple mounting of the board ensued. Turns out the back plane is riveted into the case; annoying as previous cases I've dealt with usually allow this panel to be removed for easier motherboard mounting. Either way, the motherboard was mounted in and the adapter was hooked to the power supply.
The other end was then slapped onto the board itself. Remember with AT plugs, keep the black wires together!
Great ... so ... now what? The front panel can be rudimentarily hooked up. Reset, Power LED, Turbo LED? and that's it.
The case was stood up, all cables checked and arranged neatly so as to not cause any shorting issues and then a monitor was connected. The power supply was then jump started. This is simple: simple join the 'dangling' green and black wires together.
ATX case + power supply without an ATX motherboard
Here's the trick you've been waiting for. The power button on the front of the ATX is momentary. This means that when you press it, power is conducted for only the timespan until you let go. So, if we hooked this up directly to the green/black wires from the power supply, we'd need to hold/tape the button down until we were done with the computer... not very handy.
Because of this, we're going to use a relay to latch the required power supply wires. The basic idea is that we'll put the momentary button on the green and black wires from the power supply and then latch those down when power starts to flow. To do this, we'll use a drive power plug which will supply us with 12v/5v when we've pressed the power button. This power feed will then latch a relay that'll latch the power button. When we let go, the power will continue as the relay will emulate an extended press!
So, apologies for the crude diagram, but that's the basic idea above. The relay is a 12v single-pole-double-throw and therefore has power, common, normally-connected and normally-open terminals. Power is used to actually throw the relay and is fed from the 12v drive power. Normally-opened isn't used as we only care about the actuation of the relay. The normally-closed side is therefore put in parallel with the power switch. When the switch is pressed, the relay fires and reinforces the power button.
The best part? It worked perfectly! The machine came on and I played A-Train. The problem? Hitting Reset did as expected... it reset the machine, but I had no way of turning it off without yanking power cables! I originally hoped that reset would trip the drive power and reset the relay; alas it turns out that the 12v stays constant. We therefore have to amend the circuit to allow powering down the machine from the reset button.
Here, we've taken the reset switch off the motherboard and used it for an off switch. This means that the machine is power-for-on, reset-for-off. It makes sense... doing an actual reset will just mean hitting reset-and-then-power instead of just reset.
In the above diagram, we've used a second identical relay to interrupt the power supply of the first relay. To do this, we've fed one of the coil power feeds of the first relay through the normally-closed line of the second relay. This means that, when the second relay is not active, the current can flow through it to the first relay. Exactly as we want, as we don't want to do anything until the reset button is pressed.
When the reset button is pressed, it'll actuate the second relay and break the current to the first relay. This will, in turn, break the latch on the power switch and the ATX supply will shut off. Pressing the power switch again will re-latch the power and we'll be up and running again.
Actually building it
I used some crappy veroboard and a spare drive power plug that I had laying around. Hot glue then helped to insulate everything. Note that in my initial sketch, I was trying to be overly-tricky and had the 5v power fed through the other side of a DPDT really. This is redundant and really not needed!
The final product worked perfectly!
I had tried to load BSD on this thing a while back, but didn't get very far. Recently I found an original boxed-set of RedHat Linux 5.2 and, to my surprise, the system requirements had this machine's specifications as the recommended minimum! I was therefore very happy that I had previously managed to find an 8mb RAM upgrade for this machine.
Installing a big-enough IDE disk
The 40mb Conner that was in there was never going to suffice. I'd previously installed a 256mb 'SSD' disk, but this wouldn't do either. Instead, I'd recently picked up a 1.2g IDE from the flea markets, which won't work straight away with DOS (Use AnyDrive for that), but will work fine in Linux as the bios specifications are bypassed.
RedHat 5.2 comes with 3 installation CDs and a boot disk. I had previously built a PIII-500 and installed RH from these disks, so I knew the software was in working order. It was whilst installing RedHat on that machine that I saw that it may well also work with the 386. Just for fun, I slapped the boot disk in to the 386 and quickly got the LILO boot loader. After a short while I was in the installer, only to hit my first hurdle: the installation obviously needs CD access! The Compaq has a very slim case, so there was no option to install an internal drive. I'd previously used my Microsolutions Backpack Parallel Port drive under DOS on this machine, so I thought I'd give it a go with Linux.
RedHat comes with a bpcd.o driver for this device but I couldn't get it going! I tried all permutations of configuration for the driver (linux bpcd=0x3bc as a LILO boot command and also bp_base=0x3bc during install), but nothing would get the drive to spin up! Booting into DOS, I found the correct address to be 0x3bc... but nothing would make it work.
Installing over the network
I could choose FTP from the boot disk, but it them asked for a supplementary disk? I only had CDs at this point, so I couldn't continue.
The next best option was NFS and so I started searching for NFS Servers on Windows, as that was the easiest and closest machine available to host the required files. There were three options: FreeNFS, winnfsd and nfsAxe.
Of the three options, nfsaxe was the only one I could get working. I had copied the RedHat CD to a folder in Windows and pointed nfsAxe there. I then mounted it on the RedHat installer on the 386, but it quickly failed trying to find files.
Looking at the logs on the 386, I could see it looking for 'RedHat'. Looking at the folder on Windows, I could only see 'REDHAT'. I knew that Linux was case-sensitive, so I realised that this wouldn't work. Once in the RPMS folder, I then saw that all filenames were in capitals and the old 8.3 format!
Oh shit... Windows is reading the CD as ISO file format and not Linux... I couldn't work out a way to get around this natively in Windows. Instead, I had to copy the files from a Linux machine into the NFS server on Windows. As previously mentioned, I'd set up a Linux machine on another box, so I booted this up and mounted the NFS share on Windows. It all worked and I started copying over the CD's contents! Here you need to realise that nfsAxe has a 30-minute trial period! If it detects file activity on the NFS server, it'll start a stopwatch and shut the server down after 30 minutes.
So, the experience was terrible and took quite a few attempts, but the CD was copied over to Windows. I then booted the 386 and pointed it to the NFS. It found the files!! Installation started and showed an estimated time of 1.5hrs to install. Hah. That wont work... the NFS server, even with a freshly timed restart will only stay up for 30 minutes.
Using a virtual machine?
TurnKey Linux has a fileserver image that, when spun up, provides a 'NAS' style linux machine. I downloaded the ISO, set up a VM on Hyper-V and got it going pretty quickly. You'll need to run service nfs-kernel-server start to start NFS as it's not enabled by default. The exports are all configured, so you can test it locally with mount localhost:/srv/storage ./test and see that you can loopback to yourself. I then mounted the CD and copied the guts into that folder.
Meanwhile, the 386 couldn't see the share. I tried disabling nFS v4 and then NFS v3 (at this point I couldn't even loopback mount as V2 is not supported!) but nothing worked. I was worried that it was a network bridge issue between the physical machine and the virtual. I had the NIC set to the physical adapters 'bridge' in Windows, but ... meh ... it hated me!
Enabling an NFS share on 'Workstation' Redhat
What next? Let's set up a real physical NFS server on that RedHat 5.2 machine I mentioned earlier. I'd done the 'workstation' install, so NFS wasn't up and running by default. Firstly I edited /etc/exportfs and added /mnt/cdrom *(ro) as the first export. A reboot just threw 'permission denied' on the 386.
Trying to mount this as a local loopback threw permission denied also? Did that mean a firewall? Folder access? Where am I actually denied? I really had no clue at this point as I thought I'd done everything as needed. NFS seemed to just be a very built-in thing for Linux and should just-work(tm).
If no options are passed to the /usr/sbin/exportfs command, it displays a list of currently exported file systems. Ok, let's check... no.. let's not check... the exportfs only accepts -a. Ok... stuff it... time to install a real version of the OS.
After re-installing RedHat 5.2 in 'Server' mode, I type net *tab* *tab* and to my surprise: netconf appeared...
Hah! I wonder if this was there in 'workstation' version? We'll find out once the 386 is installed. I set /mnt/cdrom as an export and ticked all of the dangerous options. The bloody thing mounted locally and also worked on the 386.
Yeeey... activity on the RedHat 5.2 Server CD. We could finally get this installation started... and completed...
5 hours later...
The installation completed and I was prompted to remove all boot media and restart. I did as requested and... hahaha... what the hell... the screen just kept scrolling the magical number 04. The picture below is funny as you can actually see the redraw/scroll at the bottom edge.
Seems someone else has had this problem also. I let the installer configure the disks, so maybe it got the bootloader wrong.
Hah. Nice. So I then re-installed using 'custom' and also opted to make a rescue boot disk. I chose to install LILO in the MBR and got the same screen as above. Fortunately, the boot disk loaded the hdd perfectly.
It made it to the console... but it took around 6 minutes to boot. I then bit the bullet and started the x-window-server.
It actually failed to load anything past the xterm. The dock to the right nearly loaded, but bombed out and disappeared. The xterm was functional... slowly. I checked top and saw that there was swap memory, but no physical. This poor thing would be thrashing the page file and not getting anywhere. So, although I already knew the answer, I tried to launch netscape-communicator. No chance... it froze.
Therefore, RedHat will run! But don't expect X11 with 8mb of RAM. Use it for ... a file server? Am sure it'll serve up the web also. Good luck.
I had recently been playing my Dreamcast on my old TV, which had a VGA input. Using the DC VGA BOX, I had VGA and audio output from the Dreamcast and all worked perfectly.
In the last fortnight, I've picked up a brand new Sony KD49X8000D and it doesn't have VGA input! HDMI, Composite or Component... they're the options. It was time to browse eBay for options.
VGA to HDMI
Without doing any research, or reading the product description, I jumped straight in and purchased a cheap straight-through VGA to HDMI cable.
It was never going to work. It seems to only be for projectors where they transmit random signals via VGA plugs. Don't expect that an analogue VGA signal can just magically transform inside a cable to HDMI.
VGA to RGB
I then saw this cable at trash and treasure last weekend. It's got VGA at one end and RGB on the other. I thought that it might be component, so I paid the handsome sum of $2 to test it out.
I'd forgotten to test it, but just read online that it also wont work. The description of a similar cable here indicates that this is for specific projectors under specific circumstances.
MINI VGA2HDMI Adapter
I resorted back to eBay and looked for an 'active' adapter. I found this one, cheap, on eBay and thought I'd give it a go.
In the end, the cabling is a nightmare as there aren't nice small VGA cables available.
Super simple to connect. But it didn't work first off. Someone else has made this item work before, so I must have something wrong with my configuration. It could also be that my TV doesn't support the resolution over HDMI.
Uhmm... nope.... I then tried another HDMI cable and realised that this one seated in around 2mm further! And worked! Switching back to the other HDMI cable saw it working too: it just needed a bit more of a jab to make proper contact with the converter. Note! These converters are cheap and cheerful, so do be careful when hooking them up.
Check that out... you can see the TV LED at the bottom... that's the initial picture at 1:1 640x480. Very clear!
And then scaled... looking great. Sounding o..k.. a bit scratchy at times. Will check my headphone cable between the devices. Anyway. Success!
This is another public service announcement. I've just wasted around 3 weeks trying to burn an EPROM which shouldn't've taken more than 1 minute. I purchased a Willem Parallel Port 5.0 PCB burner from eBay (cheap, I know) and although I could happily read chips, I couldn't write them.
The settings were correctly configured for the M27C256B chips. You need 6.2v to write and 12.75v external. This means you can't use the USB to power. This PCB 5.0 is dual power, so it should've selected the correct source.
Every time I tried to burn I got the following error: Error at 0x000000 chip = 0xFF buffer = 0x58. Note that all three of those values would change, a lot. 0x24 and 0x46 were frequently seen yelling at me.
Turns out that the 'latest and greatest' version of the software doesn't select the correct power source. Downgrading to 0.97ja (as per the screenshot above works fine.)
So if you're getting the errors as I was above, then use the 'alternate' version that should be on the driver CD that you were provided with.
Here's a new acquisition. It's an all-in-one portable machine from the early 80s. It was sold cheaply as non-working and, indeed, it non-works.
I hadn't realised how big these things were!? I was expecting something around half the thickness and maybe 60% the width/height. It's actually a really nice machine and I do like the form-factor. This item came quite scuffed and 'used'. All to be expected and nothing to worry about. I purchased it since they seem to have a great array of I/O ports and programmability. They run Microsoft BASIC off-the-shelf and have 32kb of storage.
First signs of tear-it-down-before-turning-it-on showed up as soon as I checked out the battery pack. The batteries weren't in there, but there was a LOT of corrosion. The circuit board in the battery pack even seemed to have components missing? Did they corrode and disintegrate away?
After a good scrub, all was much cleaner... I had already decided to pull the main machine apart first though. Corrosion has a magical property of travelling inside metal (just like electricity) and conquering whatever it can get its green rusty mits on.
Of course, it had spread. The terminal and battery pack isolation switch were the main victims. Fortunately, it didn't seem that the tracks or other components were affected?
Both Isopropyl alcohol and cleaning wipes were used to clean up the board. Light scrubbing was also required in the hard to get areas.
Powering it up
After all the cleaning and soldering above, it was time to bite the bullet. I found 4 random AA batteries and slotted them into the pack. My multimeter showed 6 volts, so I slapped it in an gave it a go.
Flicking the power switch on the side gave no response. I had read online somewhere that the first thing to check is the "Back Up Power" switch. I initially thought this meant "use the internal battery", but it doesn't. It actually means "use the batteries you've just inserted". With this switched over, the power switch on the side saw the unit come to life... well... there were at least a few electrons flowing.
Black Screen Of Death
For now, we're going to disregard the damage to the LCD. you can see that something pointy has taken out a sizable area of the screen... but 95% of it will still be usable prior to needing to replace that.
After the power switch was flicked, the screen produced the result you see above. Trouble-shooting this is pretty straight forward. As per the instructions here, press Enter, then type BEEP and press Enter again. If you get a beep, then your mainboard is fine and your screen is crap. My mainboard was not fine!
The next bit of googlin' found this result on diagnosing and repairing a black screen. Turns out one of the 245 chips was only half-functioning. I love that the author also found errors in the service manual. Either way, the repair-man found a defective IC and replaced it... as that I had no way of determining what was defective, I started replacing everything.
Component Shopping List
|Original Chip||Jaycar's Version|
|40H139 : U1, U53,||74HC139 (ZC-4848)|
|40H386 : U51||74HC86 (ZC4835) IS NOT PIN COMPATIBLE!
Jaycar therefore doesn't have a replacement.
|40H245 : U13, U42||74HC245 (ZC4870)|
|40H373 : U15||74HC373 (ZC4874)|
|40H367 : U??, U??||74HC367 (ZC4872)|
|40H138 : U2, U3, U4, U5, U6||74HC138, but Jaycar doesn't stock it!|
|40H175 : U11, U12||74HC175, but Jaycar doesn't stock it!|
Note: The above list is a work-in-progress. I'll update this as I continue identifying and replacing parts.
Find and Replace
Removing components from PCBs is always a challenge. Even with the best solder-sucker, you can still have a very hard time making sure every pin is free. In the end, as long as you don't need the existing IC, snipping legs and then removing those can be a much better option.
I've used sockets for each IC I'm putting in as well... I've no idea if this whole board is pointless, so I'd prefer to waste a socket more than an IC. I started with the 245 that was mentioned above and got nowhere... still the blank screen... I then replaced a 367 and had no luck either. This was really a crap-shoot and a very slow process. From here I thought there had to be a better option... so I consulted the service manual.
Troubleshooting via the Service Manual
I really should've started here when diagnosing the issues in this machine but, when I had first read it, I saw the word 'Oscilloscope' and got scared off. I don't have one of these, so I didn't think to pursue this area of investigation. I had since come back to it after realising that replacing each of the ICs was going to take a REALLY long time.
On page 54 you actually get to test each of the pins on the CPU itself. It indicates the pin and the expected voltage. Note that the CLK pin is meant to flip/flop and this can't be seen from a multimeter. All you can really look for is a 'half' voltage, as the flicking effectively provides 50% 0v and 50% 5v totalling 2.5v. All of the pins on my CPU came up OK as per the values stated!?
From page 85 of the manual, you get instructions on what voltages are meant to be seen from the power supply board when the computer is powered on. All but one of these turned out to be OK. Pin 10 was meant to be greater than 7.5v, but mine was only just over 7.0v. The manual then tells you that U2, Q16, C1, or D7 of power board are bad. Ok... this is good! Let's replace everything we can.
Something weird happened next. I didn't have the required components to repair the power supply, so I tidied up the desk for the evening. As I put the machine back together (aka. placed it into a pile of loose parts), I accidentally toggled the power switch.
Wait... what... we've got movement! The screen displayed a bunch of random rubbish. Sometimes a cursor, other times a heap of LOAD statements and at one point I could even type in a command... I didn't get a BEEP though.
The only thing I can attribute this to is that the power supply board received attention. I had shifted the caps around and also wiggled transistors. Maybe some of these had faulty solder joints? I should've measured pin 10 again here, to see if it all happened because of a 7.5v reading. Unfortunately, I couldn't get it back into such a state. I went ahead and purchased parts to fix the power supply. Unfortunately, I couldn't find the correct transistors at Jaycar to replace Q16 as per the instructions above.
I replaced all I could but still couldn't get the machine to do what I wanted. Actually, as I first started tinkering, the display of crappy text was satisfying. Towards the end, I hardly had a jumble of pixels. Toying with the ROM did seem to help... I wonder if the chip or socket area was damaged? Maybe static had fried it? Out of desperation, I attempted to swap some transistors around on the power board. Maybe that Q16 was the final issue. I did note that the 7.5v was still very intermittent. It didn't quite appear when the machine was half-working and only appeared at other random times... maybe the board was pulling too much current due to other issues and therefore was never actually going to let the power supply do it's thing?
Playing switch-a-roo with transistors revealed some information on the power supply. Swapping the 603s between Q2, Q16 and Q3 made either the speaker click, the relay click or nothing at all. To me this meant that one/some of the transistors were faulty. It didn't matter which as I didn't have a replacement. Trying to find actual 603s was impossible but, using the cross-reference tool here, I have just found out that BC556s are a valid substitute.
Or are they? Let's rewind a bit... I assumed that the transistor was a 2SA603... but it actually can't be. Using this complimentary transistor table, it seems that my transistors are 2SC2603 and 2SA1115. It would make sense that one was NPN and the other PNP. I therefore need BC547s (although they seem to be rated 100mA less and the pins are reversed!) for the '603' and BC560s for the '115'. Unfortunately, Jaycar doesn't have 560s, so I'll choose 556s instead, which are just have a higher voltage tolerance and a lower amperage. I might also order the correct components from eBay.
So, transistors... turns out that on page 108 of the service manual, the components are listed. I was totally correct on the transistor model... well, after I corrected myself. I therefore bought 20 of each from Jaycar.
Of course, I jumped the gun and didn't correctly review each component. The pins weren't backwards, they were actually out of order!
So, with the legs crossed, just enough, the order of the pins could be adjusted...
Whilst replacing the transistors, I also replaced the capacitors. Of course, one had to have exploded. Happened to be the 33uf that assists with the -5v output. I assume it's a cap that stabilises the voltage. I simply used solder to bridge the damage.
The results started off erratic... but then seemed closer to rendering a real screen?
And then it happened!
Keyboard didn't work.. screen was frozen... but shiiiiit... that's the actual main menu! I actually nearly have a real computer! I then replaced all the signal diodes on the power supply.
With the diodes replaced, the keyboard worked! Note that at this point in time, the board relay was not actuating on power on. It had previously, intermittently... but doesn't seem to be essential? Either way, as above, the menu worked and BASIC loaded. Unfortunately, once loaded, BASIC was useless with a screen full of junk. Any keypress resulted in Memory Full and a system beep.
I opened up TEX, typed in the obligatory sentence, pressed enter and the machine froze up... the work continues!
One step forward...
And then back to the beginning. I did something stupid over the weekend. On Saturday night I placed the ICs I had purchased over the top of the ICs they were to replace, so as to be able to see what ICs I still needed to replace/purchase. With these piggy-backed loosely, I closed the machine and put it aside.
Forgetting that I'd done this, I attempted to boot the machine the next morning... It presented the infamous black screen and not much else. As I shifted the machine to the center of the workbench, I heard parts move and instantly remembered what I'd done the night before. What a bloody waste of time I am; forgetting that I'd left the ICs in there and hence possibly doing all kinds of damage.
For the life of me, I could not get the machine back to where I was on Saturday afternoon. Such a let down! The only real goal was to hope that I'd only damaged mounted items and not the new items I'd purchased... then again, I could just re-purchase as I'll socket all the ICs.
Solder suckers are fun, but Desoldering Braid is the best thing since sliced bread! Once you've removed the IC+legs from the mainboard, you'll find it quite difficult to remove the solder from the holes. Desoldering braid does this for you and does it quickly and cleanly. All you have to do is unreel enough to cover the hole and then press your soldering iron directly into the center of the area. The chemicals in the braid them somehow manage to attract the solder!
If it doesn't work the first time, then re-apply solder first. Only use the braid on holes that are full. If there's a gap, then the solder wont jump, it'll only flow! Also, the longer you hold the soldering iron there, the better. Watch as the solder flows into the braid and lift when it stops flowing up.
After removing the TC40H386P, and thinking that the 74HC86 was a replacement, I worked out that it wasn't. A hack was employed to get around this.
I lost a lot of faith with hacks like the above. Regardless, I ended up replacing half the chips on the mainboard and didn't get anywhere... it was time to wait for the oscilloscope to arrive.