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 aweful! 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.
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.
If you want to see passenger services as well, the following information will help. From Okitsu, it's around 3 minutes travel time to the centerpoint of the webcam view. Using the interval timetable at Hyperdia, 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.
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?
|55||0158||0138||Tokyo||East Fukuyama|| Container
|5054||0428||0448||East Mizushima||Tokyo|| Container
|5087||0534||0514||North Asahikawa||Kudara/Hirano|| Container
|3071||0553||0533||Sapporo||West Hamamatsu|| Container
|54||0734||0754||East Fukuyama||Tokyo|| Container
|2053||0950||0935||Morioka||Nagoya||Toyota Long Pass Express
|8091||1033||1018||Tokyo||North Kyushu||Rail Train|
|8090||1210||1230||North Kyushu||Tokyo||Rail Train|
|2017-03-24 16:20:00 (1hr early?)
2017-03-28 16:20:00 (1hr early?)
|5074||1930||1948||North Kyushu||Tokyo||Container||2017-03-24 19:48:00
|3070||2235||2255||West Hamamatsu||Sapporo||Container No Sundays|
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.