Subscribe via RSS

DEC 4000 AXP – Initialisation and OS Installation

I was finally able to see init screens and boot diagnostics after getting the machine to talk over serial. PuTTY could be configured into DEC ANSI and displayed everything perfectly.

VMS PALcode V5.56A, OSF PALcode V1.45A
+------------------------------------------------------------------------------+
¦                      13:26:22  January 9, 2061                               ¦
¦                                                                              ¦
¦                       Digital Equipment Corporation                          ¦
¦                                                                              ¦
¦                             DEC 4000 AXP (tm)                                ¦
¦                                                                              ¦
¦                   +------------------------------------+                     ¦
¦                   ¦ | Executing Power Up Diagnostics   ¦                     ¦
¦                   +------------------------------------+                     ¦
¦                                                                              ¦
¦                                                                              ¦
¦                                                                              ¦
¦                CPU   Memory     Storage    Net    Futurebus+                 ¦
¦                0 1   0 1 2 3   A B C D E   0 1   1 2 3 4 5 6                 ¦
¦              +-----------------------------------------------+               ¦
¦              ¦ P -   - - P P   ? ? ? ? ?   ? ?   ? ? ? ? ? ? ¦               ¦
¦              +-----------------------------------------------+               ¦
¦                                                                              ¦
+------------------------------------------------------------------------------¦
¦ *  Test in progress   P  Pass   F  Fail   -  Not Present   ?  Sizing         ¦
+------------------------------------------------------------------------------+

Diagnostic Name        ID             Device  Pass  Test  Hard/Soft   9-JAN-2061
io_test          0000003e       scsi_low_con     1     1     0    1     13:26:29
Expected value:fc  Received value: fffffffd
Failing addr:    0

*** End of Error ***

*** Soft Error - Error #11 - TOY Clock Valid bit not set

Diagnostic Name        ID             Device  Pass  Test  Hard/Soft   9-JAN-2061
io_test          0000003e                toy     1     2     0    2     13:26:29
Expected value:80  Received value: 0
Failing addr:    d

*** End of Error ***

*** Error (eza0), Mop loop message timed out from: 08-00-2b-3d-df-18

*** List index: 0 received count: 0 expected count 1

+------------------------------------------------------------------------------+
¦   Console V4.0-1                    VMS PALcode V5.56A, OSF PALcode V1.45A   ¦
¦                                                                              ¦
¦   CPU 0         P    B2001-BA DECchip (tm) 21064-3                           ¦
¦   CPU 1         -                                                            ¦
¦   Memory 0      -                                                            ¦
¦   Memory 1      -                                                            ¦
¦   Memory 2      P    B2002-DA 128 MB                                         ¦
¦   Memory 3      P    B2002-DA 128 MB                                         ¦
¦   Ethernet 0    P    08-00-2B-3D-DF-18                                       ¦
¦   Ethernet 1    P    08-00-2B-3D-DF-17                                       ¦
¦                                                                              ¦
¦                      ID 0   ID 1   ID 2   ID 3   ID 4   ID 5   ID 6   ID 7   ¦
¦   A     SCSI    P    RZ28   RZ28   RZ28   RZ28                 MATSHI Host   ¦
¦   B             P                                                            ¦
¦   C             P                                                            ¦
¦   D             P                                                            ¦
¦   E             F                                                            ¦
¦   Futurebus+    P                                                            ¦
¦                                                                              ¦
¦   System Status Fail        Type 'cat el' to see errors                      ¦
+------------------------------------------------------------------------------+
DEC 4000 AXP (tm) console V4.0-1, built on Apr 13 1998 at 16:21:03
>>>

Initialisation indicated 3 errors: SCSI device, TOY and MOR. The SCSI can probably be attributed to the fact that I removed the whole 'B' drive chassis. TOY is the Time Of Year clock and I'm going to assume that the battery is dead. MOR is pointing to Ethernet port 0.. Nothing is plugged in.

Time Of Year

To fix this error, we needed to remove the KFA40 I/O Module. This is located in the right-most slot on the back of the machine. Extricating the board turned out to be a challenge in itself. It looks like someone had already snapped the brackets that hold the face-plate from the main board. This face-plate includes the levers which 'jimmy' the board out of the rear sockets, and so they no longer successfully applied pressure where required. Instead they just further wrecked the face-plate!

To get the board out, I first tried a hand each on the network BNC sockets, but this was also a dangerous idea as they would only be soldered on. I ended up cutting a coat-hanger and slotting it in at the back of the board, between the two plugs where the board plugs into the back-plane. A slight amount of pressure saw the whole board pop out.

DSC00554 DSC00557 DSC00560

I had a quick glance over it and found nothing that looked like a cell battery. I then went back to the diagram of the board in the Technical Manual and freaked out.

kfa40-io

It's a bloody DS1287! This is the same as the Compaq Deskpro 386/20n. Total nightmare.

DSC00562

I tried to de-solder it, but I'm really not talented in that department. I therefore decided to perform open-chip-surgery on the unit whilst still on the board. If I failed, then I'd hack the thing off entirely and replace it... if I succeeded, then I'd have a coin-cell slot on top for anyone to replace!

DSC00563 DSC00569 DSC00570

Once this was in place... the machine started differently?

VMS PALcode V5.56A, OSF PALcode V1.45A

Lbus & Fbus have been reset and Lbus enabled
initializing timer data structures
lowering IPL
counted 15741191 cycles in 100 ticks
CPU 0 speed is 6.20 ns (161 MHz)
entering idle loop
Starting Memory Diagnostics
Leaving back-to-back transactions turned off
Testing CMIC on Memory Module 2
Turning off the stream buffers
Testing CMIC on Memory Module 3
Turning on the stream buffers
Testing 1st 2MB(s) on memory module 3
Testing all memory banks in parallel
Testing Memory bank 0
Testing Memory bank 1
Testing Memory bank 2
Testing Memory bank 3
Module   Size    Base Addr   Intlv Mode  Intlv Unit
------   -----   ---------   ----------  ----------
  0              Not Installed
  1              Not Installed
  2      128MB   00000000      1-Way         0
  3      128MB   08000000      1-Way         0
Configured memory size = 10000000
Memory Diagnostics completed
access NVRAM
test Script RAM
enable ncr4 ACK
test Storage Bus E
Initializing driver eza0.0.0.6.0.
Driver eza0.0.0.6.0 initialized.
Initializing driver ezb0.0.0.7.0.
enable ncr0 ACK
test Storage Bus A
Driver ezb0.0.0.7.0 initialized.
enable Fbus
Start of FBUS sizer
Fbus sizer completed
environment variable etherneta created
environment variable ethernetb created
enable ncr1 ACK
test Storage Bus B


*** Soft Error - Error #1 - Lower SCSI Continuity Card Missing (connector J7)


Diagnostic Name        ID             Device  Pass  Test  Hard/Soft  153- -2053
io_test          0000003d       scsi_low_con     1     1     0    1     25:153:4
Expected value:fc  Received value: fffffffd
Failing addr:    0

*** End of Error ***


environment variable aa_lp_cnt00000040 created
environment variable aa_value_bcc created
environment variable aa_2x_cache_size created
Warning: ncr1, loopback connector attached  OR
SCSI bus failure, could not acquire bus; Control Lines:ff Data lines:ff
Warning: ncr1 not tested
enable ncr2 ACK
test Storage Bus C
enable ncr3 ACK
test Storage Bus D
DEC 4000 AXP (tm) console V4.0-1, built on Apr 13 1998 at 16:21:03
>>>

From here I started digging for firmware updates as it seemed that I'd taken the system backwards? I randomly landed on Firmware Update Release Notes for v4.0, but calling show config seems to indicate that I already have that version.

>>>show config


     Console V4.0-1                    VMS PALcode V5.56A, OSF PALcode V1.45A

     CPU 0         P    B2001-BA DECchip (tm) 21064-3
     CPU 1         -
     Memory 0      -
     Memory 1      -
     Memory 2      P    B2002-DA 128 MB
     Memory 3      P    B2002-DA 128 MB
     Ethernet 0    P    08-00-2B-3D-DF-18
     Ethernet 1    P    08-00-2B-3D-DF-17

                        ID 0   ID 1   ID 2   ID 3   ID 4   ID 5   ID 6   ID 7
     A     SCSI    P    RZ28   RZ28   RZ28   RZ28                 MATSHI Host
     B             P
     C             P
     D             P
     E             F
     Futurebus+    P

     System Status Fail        Type 'cat el' to see errors

Reading the documentation... v4.0 of the firmware is only good to support up to 4.0D of Tru64 UNIX (well, DIGITAL UNIX.) That can be obtained from here, so let's try that.

...actually... let's get the hardware correct first.

SCSI Drive Bay B

This has always been in the init error logs. I previously removed the actual drive bay chassis to prevent the hard error... but the soft error remained. I initially tried to swap the working disk set into slot B, but it still threw the same error meaning that it was the socket or the back-plane... or the connection through to the IO board. This, of course meant that it was time to pull the thing to bits.

DSC00001 DSC00002 DSC00003

The modularity of the case made tearing it down easy enough to try and diagnose the problem. The machine was apart in no time! Unfortunately nothing obvious came up. This was all the nether-regions of the system that wouldn't have been touched for 25 years. I re-seated a few plugs, but that was about it. Meanwhile, putting it back together took a little longer. It seems that jiggling the cables did the trick though! Upon power up there was no more error B and the power light stayed on! I then reassembled the drives and slapped it all in.

>>>show config


     Console V4.0-1                    VMS PALcode V5.56A, OSF PALcode V1.45A

     CPU 0         P    B2001-BA DECchip (tm) 21064-3
     CPU 1         -
     Memory 0      P    B2002-DA 128 MB
     Memory 1      -
     Memory 2      -
     Memory 3      -
     Ethernet 0    P    08-00-2B-3D-DF-18
     Ethernet 1    P    08-00-2B-3D-DF-17

                        ID 0   ID 1   ID 2   ID 3   ID 4   ID 5   ID 6   ID 7
     A     SCSI    P    RZ28   RZ28   RZ28   RZ28                        Host
     B     SCSI    P    RZ28   RZ28   RZ28M  RZ28                        Host
     C             P
     D             P
     E     SCSI    P                                              MATSHI Host
     Futurebus+    P

     System Status Pass        Type b to boot dkb0.0.0.1.0

Wait, what's that last line? We now have a bootable partition?

>>>b
FMBPR and Fbus devices have been reset
(boot dkb0.0.0.1.0 -flags 0)
block 0 of dkb0.0.0.1.0 is a valid boot block
reading 16 blocks from dkb0.0.0.1.0
bootstrap code read in
base = 1f4000, image_start = 0, image_bytes = 2000
initializing HWRPB at 2000
initializing page table at 1e6000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code
can't open osf_boot

halted CPU 0

halt code = 5
HALT instruction executed
PC = 20000030
>>>

Sure, it's got the boot block... but it's missing files. Back to trying to boot off CD.

Digital UNIX 4.0D

>>>b dka6
(boot dka600.6.0.0.0 -flags 0)
block 0 of dka600.6.0.0.0 is a valid boot block
reading 16 blocks from dka600.6.0.0.0
bootstrap code read in
base = 1f4000, image_start = 0, image_bytes = 2000
initializing HWRPB at 2000
initializing page table at 1e6000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code

Digital UNIX boot - Mon Dec 29 18:50:44 EST 1997

Loading vmunix ...
Loading at fffffc0000230000
Current PAL Revision <0x2000000010538>
Switching to OSF PALcode Succeeded
New PAL Revision <0x200000002012d>

Sizes:
text = 4961776
data = 1324288
bss  = 2884976
Starting at 0xfffffc000042d420

Alpha boot: available memory from 0xf08000 to 0xfffe000
Digital UNIX V4.0D  (Rev
halted CPU 0

halt code = 1
operator initiated halt
PC = fffffc00004351a4
>>>

Tru64 UNIX 5.0

>>>b dka6
(boot dka600.6.0.0.0 -flags A)
block 0 of dka600.6.0.0.0 is a valid boot block
reading 16 blocks from dka600.6.0.0.0
bootstrap code read in
base = 1f4000, image_start = 0, image_bytes = 2000
initializing HWRPB at 2000
initializing page table at 1e6000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code

UNIX boot - Tue Jul 20 21:02:13 EDT 1999

Loading vmunix ...
Loading at 0xffffffff00000000
Mapping Image Address Space: Complete

Sizes:
text = 6284160
data =  1728208
bss  =  1934480
Starting at 0xffffffff00242230

Alpha boot: available memory from 0x121a000 to 0xfffe000
Digital UNIX V5.0 (Rev. 910); Tue Jul 20 22:13:21 EDT 1999
physical memory = 256.00 megabytes.
available memory = 239.99 megabytes.
using 325 buffers containing 2.53 megabytes of memory
emx: dynamic addressing enabled
Firmware revision: 4.0
PALcode: UNIX version 1.45
DEC 4000 Mod
halted CPU 0

halt code = 1
operator initiated halt
PC = ffffffff0024cfa4

Tek Tips has a forum post here on trying to get Tru64 booted. They indicate that you might need to set some parameters first for Unix to boot.

set os_type unix
set auto_action halt
set bootdef_dev ""
set boot_osflags 0
set eia0_mode fastfd
init

Tru64 UNIX 5.1B

>>>b dka6
(boot dka600.6.0.0.0 -flags A)
block 0 of dka600.6.0.0.0 is a valid boot block
reading 15 blocks from dka600.6.0.0.0
bootstrap code read in
base = 1f4000, image_start = 0, image_bytes = 1e00
initializing HWRPB at 2000
initializing page table at 1e6000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code

UNIX boot - Wednesday October 16, 2002

Loading vmunix ...
Loading at 0xffffffff00000000

Sizes:
text =  7922752
data =  2044560
bss  =  2433008
Starting at 0xffffffff00011d70

bcm: DEGXA driver V1.0.6 NUMA lanlog
failed configuring ev7_ocla subsystem
Alpha boot: available memory from 0x1670000 to 0xfffe000
Compaq Tru64 UNIX V5.1B (Rev. 2650); Wed Oct 16 17:45:54 EDT 2002
physical memory = 256.00 megabytes.
available memory = 233.55 megabytes.
using 307 buffers containing 2.39 megabytes of memory
panic (cpu 0): platform not supported by this kernel configuration

DUMP: Warning: no disk available for dump.

DUMP: first crash dump failed: attempting memory dump...
DUMP: compressing 19536KB into 215807KB memory...
DUMP:  Starting Address      E
halted CPU 0

halt code = 1
operator initiated halt
PC = ffffffff800e6be0
>>>

Right, the kernel on the CD is not built for my hardware!
Does this need NHD-7? Seems there's 'New Hardware Delivery' disks that provide additional hardware support... although this doesn't make sense, as 5.1B was released AFTER this hardware came into existence.

Wait... WinWorld has the NHD cds and firmware updates! I'll try these at some point.

OpenVMS 8.4

>>>b dka6
(boot dka600.6.0.0.0 -flags A)
block 0 of dka600.6.0.0.0 is a valid boot block
reading 1230 blocks from dka600.6.0.0.0
bootstrap code read in
base = 1f4000, image_start = 0, image_bytes = 99c00
initializing HWRPB at 2000
initializing page table at 1e6000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code


    Op
halted CPU 0

halt code = 1
operator initiated halt
PC = ffffffff83188df4
>>>

Arrghhhhh... There's an underlying trend here! It seems that every OS, whilst trying to boot, is failing even trying to print out it's own name! I bet that Op above is meant to be the start of 'OpenVMS' and, like all the other attempts above, it's throwing a CPU fault whilst initialising the CPU?
I wonder if the CPU is actually faulty? Or the Memory boards?

Ethernet and Boot Server

This forum post has information on updating firmware via the network. Seems that I need a *NIX server with mopd running. The firmware then just needs to be the MAC address of the machine in question with the '.SYS' extension. I used a VM that I still had available running A2SERVER. mopd was installed via apt-get and all was well.

Running this inside a VM on a windows machine has proved problematic before. When I was trying to network boot the 386, the installer from the floppy couldn't see the NFS server in A2SERVER on my other windows PC. I therefore built a real physical Linux box hard-wired into the network. I've chosen to do this again with my Let's Note CF-Y7 Toughbook that's been gathering dust for quite some time.

I installed Linux Mint 18.1 only to find out that 'mopd' wasn't in the package repository. Googling for it, I found that it was last included back at Trusty Tahr. Fortunately, we can work around this. Download the mopd package directly from here (or here if you're running i386) and then also get libelfg0, as this isn't in the newest repo either.

From here, run sudo dpkg -i mopd_2.5.3-21_amd64.deb and then sudo dpkg -i mopd_2.5.3-21_amd64.deb. This'll get mopd installed. Run man mopd to see where it expects its server directory to be; in this case /srv/tftp/mopd. Create this directory, grab the firmware file from here and copy it in.

Based on the forum post instructions above, we need the file to be mac_address.SYS. We can get this from the intialisation log: 08-00-2B-3D-DF-18. I therefore ran cp cfw_v40_updp3.sys 08002b3ddf18.SYS. Yes, use lowercase for the address and uppercase for the extension.

steven@letsnote-y7 /srv/tftp/mop $ wget https://modelrail.otenko.com/assets/dec4000axp/cfw_v40_updp3.sys
--2017-05-19 18:37:37--  https://modelrail.otenko.com/assets/dec4000axp/cfw_v40_updp3.sys
Resolving modelrail.otenko.com (modelrail.otenko.com)... 119.15.98.75
Connecting to modelrail.otenko.com (modelrail.otenko.com)|119.15.98.75|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1915904 (1.8M) [application/octet-stream]
Saving to: 'cfw_v40_updp3.sys’

cfw_v40_updp3.sys   100%[===================>]   1.83M  1.21MB/s    in 1.5s    

2017-05-19 18:37:39 (1.21 MB/s) - 'cfw_v40_updp3.sys’ saved [1915904/1915904]

steven@letsnote-y7 /srv/tftp/mop $ cp cfw_v40_updp3.sys 08002b3ddf18.SYS
steven@letsnote-y7 /srv/tftp/mop $ sudo mopd -a -d
mopd: not running as daemon, -d given.
MOP DL 802.3 8:0:2b:3d:df:18   > ab:0:0:1:0:0      len   71 code 08 RPR 
My address is 00:13:e8:2d:c0:b1
MOP DL 802.3 0:13:e8:2d:c0:b1  > 8:0:2b:3d:df:18   len    9 code 03 ASV 
MOP DL 802.3 8:0:2b:3d:df:18   > ab:0:0:1:0:0      len   71 code 08 RPR 
My address is 00:13:e8:2d:c0:b1
MOP DL 802.3 0:13:e8:2d:c0:b1  > 8:0:2b:3d:df:18   len    9 code 03 ASV 
MOP DL 802.3 8:0:2b:3d:df:18   > 0:13:e8:2d:c0:b1  len   71 code 08 RPR 
MOP DL 802.3 0:13:e8:2d:c0:b1  > 8:0:2b:3d:df:18   len 1492 code 02 MLD 
MOP DL 802.3 8:0:2b:3d:df:18   > 0:13:e8:2d:c0:b1  len   71 code 08 RPR 
MOP DL 802.3 0:13:e8:2d:c0:b1  > 8:0:2b:3d:df:18   len 1492 code 02 MLD 
MOP DL 802.3 8:0:2b:3d:df:18   > 0:13:e8:2d:c0:b1  len   46 code 0a RML 
MOP DL 802.3 0:13:e8:2d:c0:b1  > 8:0:2b:3d:df:18   len 1492 code 02 MLD 
MOP DL 802.3 8:0:2b:3d:df:18   > 0:13:e8:2d:c0:b1  len   46 code 0a RML 
MOP DL 802.3 8:0:2b:3d:df:18   > 0:13:e8:2d:c0:b1  len   46 code 0a RML 
MOP DL 802.3 0:13:e8:2d:c0:b1  > 8:0:2b:3d:df:18   len 1492 code 02 MLD
...

And that was the unit actually accepting the firmware and running the update utility!

>>>b eza0
(boot eza0.0.0.6.0 -flags 0)

Trying MOP boot.
........bootstrap failure
Retrying...
(boot eza0.0.0.6.0 -flags 0)

Trying MOP boot.
........bootstrap failure
Retrying...
(boot eza0.0.0.6.0 -flags 0)

Trying MOP boot.
........bootstrap failure
Retrying...
(boot eza0.0.0.6.0 -flags 0)

Trying MOP boot.
........bootstrap failure
Retrying...
(boot eza0.0.0.6.0 -flags 0)

Trying MOP boot.
........bootstrap failure
Retrying...
(boot eza0.0.0.6.0 -flags 0)

Trying MOP boot.
........bootstrap failure
Retrying...
(boot eza0.0.0.6.0 -flags 0)

Trying MOP boot.
.................................

Network load complete.
Host name: ipc
Host address: 00-13-e8-2d-c0-b1

bootstrap code read in
base = 1f4000, image_start = 0, image_bytes = 1d3a00
initializing HWRPB at 2000
initializing page table at 1e6000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code


VMS PALcode V5.56A, OSF PALcode V1.45A

Lbus & Fbus have been reset and Lbus enabled
initializing timer data structures
lowering IPL
counted 15626232 cycles in 100 ticks
CPU 0 speed is 6.25 ns (160 MHz)
entering idle loop
Starting Memory Diagnostics
Leaving back-to-back transactions turned off
Testing CMIC on Memory Module 0
Turning on the stream buffers
Testing all memory banks in parallel
Testing Memory bank 0
Testing Memory bank 1
Testing Memory bank 2
Testing Memory bank 3
Memory size = 8000000
* Warning * Console image larger than Bcache
Memory Configuration skipped
Memory Diagnostics completed
access NVRAM
test Script RAM
enable ncr4 ACK
test Storage Bus E
Initializing driver eza0.0.0.6.0.
Driver eza0.0.0.6.0 initialized.
Initializing driver ezb0.0.0.7.0.
enable ncr0 ACK
test Storage Bus A
Driver ezb0.0.0.7.0 initialized.
enable Fbus
Start of FBUS sizer
Fbus sizer completed
enable ncr1 ACK
test Storage Bus B
enable ncr2 ACK
test Storage Bus C


                ***** Loadable Firmware Update Utility *****
------------------------------------------------------------------------------
 Function    Description
------------------------------------------------------------------------------

 Display     Displays the system's configuration table.
 Exit        Done exit LFU (reset).
 List        Lists the device, revision, firmware name and if found by LFU.
 Update      Replaces current firmware with loadable data image.
 Verify      Compares loadable and hardware images.
 ? or Help   Scrolls this function table.
------------------------------------------------------------------------------


UPD> Verify
insufficient parameters

UPD> U
insufficient parameters

UPD> Update
insufficient parameters

UPD> help
------------------------------------------------------------------------------
 Function    Description
------------------------------------------------------------------------------

 Display     Displays the system's configuration table.
 Exit        Done exit LFU (reset).
 List        Lists the device, revision, firmware name and if found by LFU.
 Update      Replaces current firmware with loadable data image.
 Verify      Compares loadable and hardware images.
 ? or Help   Scrolls this function table.
------------------------------------------------------------------------------

 Type Help  for additional information


UPD> help update
 Update a particular device with LFU's firmware.
   The command format is: UPDATE  [-PATH ]
   For example:
           update *

   Will update all LFU supported devices found in this system

           update io

   Will update the device named IO
   Use the LIST command to see the supported LFU devices

   You can optionally update a device with different firmware than
   defaulted to by LFU, by using the -PATH switch.
   For example:
           update io -path mopdl:new_firm/eza0

   Will update the device named IO with firmware NEW_FIRM from the
   network.


UPD> update *

Confirm update on:
io
[Y/(N)]y
WARNING: updates may take several minutes to complete for each device.

                          DO NOT ABORT!

io              Updating to 4.0...  Verifying 4.0...  PASSED.

UPD> help
------------------------------------------------------------------------------
 Function    Description
------------------------------------------------------------------------------

 Display     Displays the system's configuration table.
 Exit        Done exit LFU (reset).
 List        Lists the device, revision, firmware name and if found by LFU.
 Update      Replaces current firmware with loadable data image.
 Verify      Compares loadable and hardware images.
 ? or Help   Scrolls this function table.
------------------------------------------------------------------------------

 Type Help  for additional information


UPD> list

device            FW Rev           Filename               Found

io                 4.0             cfw_e43                  Y

UPD> display

                                 Rev                    Events logged
 Slot   Option  Part#           Hw Sw   Serial#         SDD     TDD
   1    IO      B2101-AA        J2 34   AY34507889      00      00
   2
   3    CPU0    B2001-BA        B2 34   AY33479304      00      01
   4    MEM0    B2002-DA        C1 0    GA33306138      00      00
   5
   6
   7

Futurebus+ Nodes
                           Rev
 Slot   Option  Part#    Hw   Fw   Serial#              Description
   1
   2
   3
   4
   5
   6

UPD>

...work in progress...

Filed under: Retro No Comments
12May/170

DEC 4000 AXP

I promised myself not to spend further money on junk. I promised myself to keep away from the Vintage Computers column on eBay. I tried my hardest... I really did... until I saw a DEC 4000 AXP going for ~AUD$100. Probably too much to pay... I really didn't even know what it was... but then, whilst browsing through the photos, I saw that it had somewhere around 8 SCSI disks in it and new that I could part it out if the need arose.

Whilst investigating the machine, I read a tag line on a brochure: The DEC 4000 AXP system is a high-performance superserver for multi-user environments. 'Superserver'? Take. My. Money! After purchasing it, I looked at the photos again and realised how large the machine actually was... would it even fit in my car?

Here it was, waiting for me (under a very nice paperweight!) in the corner of an industrial yard.

DSC00554

Back to that question: Would it fit in my car? No way. Fortunately, nearby the pickup point was an Avis rental shop. I picked up a Triton for a cheap daily rate and managed to get the unit onto the back of it. It was heavy enough to nearly pop a vertebrae; therefore also heavy enough to stay where it was placed in the tray. Another disc was nearly popped getting it back off the tray in the car park under my building.

It stayed down there for 12 hours whilst I regretted my purchase and I decided to just chop it up and part it out down there. Fortunately the MR2 happily fit with it in the car park. After a few beers, I'd decided it was worth the gamble and drove it up to the apartment. I paused for a few seconds next to my car just to compare the size!

DSC00560

And then in the lift...

DSC00562

And it looked great in the corridor...

DSC00563

Power cables and requirements

This machine is rated at 8 Amps, 1920W. Due to this, they've manufactured it with a 15A power cable that requires an associated 15A wall socket. It's known as an IEC C19 and I was able to purchase the cable from Jaycar. I also purchased a standard Australian power plug.. with the idea to swap them over so I could use my normal power points.

DSC00574

WARNING: This machine is just within the limits of a standard 10A wall socket. Hence why, after asking a few professionals in the industry, I had decided to actually plug it into a home electrical socket. If you don't own your house, you don't pay the power bill or you don't have insurance... then don't plug something like this in!

First things first, I pulled the power supply unit out of the machine and opened it up. You really know you're playing with real industrial-level hardware when you see the scale and quality of the components. I quickly realised that replacing the power socket in the PSU was not going to happen... it was happily housed in a sealed and riveted box.

DSC00565

DSC00566 DSC00567 DSC00568

DSC00569 DSC00572 DSC00573

I was about to start hacking the new cable when I thought of something. Those shitty international power adapters with the one-size-fits-all socket on the female side would probably accept this plug... and well, I just happened to have one that would!

DSC00577 DSC00580 DSC00582

From here, life was easy... plug it in and switch it on. I was on tippie-toes when doing this... all internal self-preservation systems were on high-alert knowing that I was going to plug a machine that needed a lot of power into a wall socket that might not be able to cope. Then I realised that the wall socket was on a 10A breaker and that'd go first. Of course, that'd only go if the machine actually drew the current it suggested. Chances are that on startup and idle it consumed a lot less!

DSC00584

I had another beer and then flicked the wall switch. Not much yet... so I hit the main 'breaker' at the rear-left of the unit. AC light! The box to the right of the power supply then started doing it's initialisation. This resulted with a Fan Failure and Error Code 9. The Owner’s Guide told me that the number indicated the number of the fan which had failed. There's only 4 fans though, so what would 9 be? Is it binary and do I therefore have a multitude of dead fans? The Service Guide came in much handier!

Fan, LDC, and Temperature Faults
1 + Fan Failure LED on Fan 1 failed Fan 1
2 + Fan Failure LED on Fan 2 failed Fan 2
3 + Fan Failure LED on Fan 3 failed Fan 3
4 + Fan Failure LED on Fan 4 failed Fan 4
9 + Fan Failure LED On Cable guide is not secured or 2 fans failed
A + Disk Power Failure LED on LDC A failed LDC A
B + Disk Power Failure LED on LDC B failed LDC B
C + Disk Power Failure LED on LDC C failed LDC C
D + Disk Power Failure LED on LDC D failed LDC D
7 + PSC Failure LED on Temperature sensor bad—low reading PSC
8 + PSC Failure LED on Temperature sensor bad—high reading PSC
0 + Overtemperature shutdown LED on System temperature in red zone

DEC 4000 AXP Error Codes

Turns out that, yes, '9' either means multiple fan failure or a missing cable guide. What's a cable guide? Oh right, it's that metal plate lying on the floor which I had unscrewed as I was inspecting the machine. Somehow it has a sensor to know if that plate is installed or not and ... well ... it wasn't, so the error was legit.

DSC00586

The cable guide was screwed back on and the rear of the unit powered up green. What's next? The 'DC' side on the front. Hitting this switch saw the second-stage initialisation begin. Hard disks started blinking and you could even hear the disks searching. After a short while... there was nothing. Looking back at the rear of the machine showed the 'Disk Power Failure' light on now, with error code 'B'. Back to the front of the machine, this error indicates that there is something wrong with the disk power supply in the second drawer.

DSC00588

DSC00590DSC00591 DSC00592

I power-cycled the machine again and saw that, during the initialisation of the second drawer, the second-left LEDs did not light! Damn. There's a PCB on the inner-right of these drawers that converts the supplied power to your standard 12v/5v HDD power plug. It seems that drive 2's power supply was rubbish. Time to pull the thing to bits!

DSC00594 DSC00598 DSC00597

Just to quote Sesame Street: One of these things is not like the others. Usually I don't discriminate, but someone has actually put a foreign Seagate SCSI HDD in here and therefore the display/ID cable does not plug in! They've just jumpered the ID on the drive itself. Makes sense... but stops the front LEDs from working. Might have to make an adapter in the future... or find a proper DEC drive.

DSC00600

Either way, this meant that it really was the power board at fault. There's a little metal tab (see above, just above the '1' sticker) at the front of the drive bay chassis that, once pulled up, allows you to wrench out the entire mechanism. This gave me better access to the power board. I brought the whole drive chassis over to the workbench... but I had a hunch: Is this drive bay actually needed to get the machine to power up?

I returned to the machine and threw the power switch without drive-bay B installed. The machine initialised without error! I'll return to this drive bay later. At this point I could see it systematically checking the disks... probably for a boot partition?

Talking to it...

The console port on this machine uses a DEC Modified Modular Jack type plug and socket. This is very similar to standard phone sockets, but with all 6 pins used. The 'tab' is also aligned to the side to prevent incorrect cables from being plugged in. The serial protocol is similar to RS-324 and can be translated to RS-232 by bridging the TX and RX signal ground wires. There's a lot of great information on MMJ here.

DSC00602

DSC00601 DSC00607 DSC00609

I purchased a 6P6C 5m cable from Jaycar and cut down the tab to make the plug fit. From there, it was a simple follow-the-instructions above to get the other end of the cable wired in to a standard DB-9 serial port.

Following the diagram here (UPDATE: The diagram in that link is wrong, use the wiring diagram here for the null-modem cable) was easy enough and a cable was created. Don't look too closely at the soldering.. the wires in the phone cable weren't single-core and stripping them wasn't easy. The plastic insulation also melted as soon as it came anywhere near a heat source.

Once hooked up, I dragged my 486 DX2/66 over as it was the closest serial port I could source. Windows for Workgroups 3.11 was booted and Terminal was executed from the Accessories folder. After setting the expected settings (9600-8-n-1), the following was received...

DSC00615

At least something is being transmitted! Rubbish data usually means an incorrect baud rate, so I returned to the Service Guide. Turns out that the baud rate can be configured! There's either a hardware switch behind the panel, or a software configuration option. I assumed that the software setting wasn't in-play yet as there was no real software installed. Therefore I pulled another part off the machine to see what the configuration was.

Further com port setting adjustments resulted in more rubbish. I then stumbled across this site. It seems to indicate that the wiring is the other way around? I re-wired the port and had no luck on Windows 3.11 with Terminal. So I booted another machine with Putty and connected it to COM1. Holy shit...

VMS PALcode V5.56A, OSF PALcode V1.45A
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x                      11:45:34  January 9, 2061                               x
x                                                                              x
x                       Digital Equipment Corporation                          x
x                                                                              x
x                             DEC 4000 AXP (tm)                                x
x                                                                              x
x                   lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk                     x
x                   x   Powerup Diagnostics Finished     x                     x
x                   mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj                     x
x                                                                              x
x                                                                              x
x                                                                              x
x                CPU   Memory     Storage    Net    Futurebus+                 x
x                0 1   0 1 2 3   A B C D E   0 1   1 2 3 4 5 6                 x
x              lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk               x
x              x P -   - - P P   P P P P P   P P   - - - - - - x               x
x              mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj               x
x                                                                              x
tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
x *  Test in progress   P  Pass   F  Fail   -  Not Present   ?  Sizing         x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x   Console V4.0-1                    VMS PALcode V5.56A, OSF PALcode V1.45A   x
x                                                                              x
x   CPU 0         P    B2001-BA DECchip (tm) 21064-3                           x
x   CPU 1         -                                                            x
x   Memory 0      -                                                            x
x   Memory 1      -                                                            x
x   Memory 2      P    B2002-DA 128 MB                                         x
x   Memory 3      P    B2002-DA 128 MB                                         x
x   Ethernet 0    P    08-00-2B-3D-DF-18                                       x
x   Ethernet 1    P    08-00-2B-3D-DF-17                                       x
x                                                                              x
x                      ID 0   ID 1   ID 2   ID 3   ID 4   ID 5   ID 6   ID 7   x
x   A     SCSI    P    RZ28   RZ28   RZ28   RZ28                        Host   x
x   B             P                                                            x
x   C             P                                                            x
x   D             P                                                            x
x   E     SCSI    P    MATSHI                                           Host   x
x   Futurebus+    P                                                            x
x                                                                              x
x   System Status Pass        Type b to boot dkb0.0.0.1.0                      x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
DEC 4000 AXP (tm) console V4.0-1, built on Apr 13 1998 at 16:21:03
>>>b
(boot dkb0.0.0.1.0 -flags A)
failed to open dkb0.0.0.1.0

Probably the wrong character set chosen, but we're in!

Installing an optical drive

All pictures of this machine on the web show it with a tape and CD drive in the front-bottom-right slot. Mine came with that area gutted. Fortunately, the housing was still there. I just had to re-install using a SCSI drive I had lying around.

DSC00620

DSC00621 DSC00623 DSC00625

Yes. It's in backwards. I defaulted it to ID 0 and mounted it into the parts that had been lying around... by fluke I had some screws long enough to fit through the rubber suspension joints!

On a reboot, the machine showed the drive on BUS E. (Actually, I lie, I took this text after I'd moved the CD back to its external case, so it's actually on dke0.)

>>>show device
dka0.0.0.0.0               DKA0                           RZ28  D41C
dka100.1.0.0.0             DKA100                         RZ28  D41C
dka200.2.0.0.0             DKA200                         RZ28  D41C
dka300.3.0.0.0             DKA300                         RZ28  D41C
dke0.0.0.4.0               DKE0         MATSHITA CD-ROM CR-504  ST23
eza0.0.0.6.0               EZA0              08-00-2B-3D-DF-18
ezb0.0.0.7.0               EZB0              08-00-2B-3D-DF-17
p_b0.7.0.1.0                                          Bus ID 7
p_c0.7.0.2.0                                          Bus ID 7
p_d0.7.0.3.0                                          Bus ID 7
pka0.7.0.0.0               PKA0                  SCSI Bus ID 7
pke0.7.0.4.0               PKE0                  SCSI Bus ID 7

Nice! The drive is there!

Operating System

This model can run either OpenVMS [Here's a whole bunch of ported software for OpenVMS] or Tru64 UNIX. I burnt a Tru64 Unix CD and tried to boot it with boot pke4. The drive seemed to have trouble reading the disc whilst vertically mounted (the drive didn't actually have the physical tabs on the tray to support this) and so it was returned to its external case and plugged into the SCSI port on the left of disk bay A. It then became 'dke0'.

>>>boot dke0
(boot dke0.0.0.4.0 -flags A)
dke0.0.0.4.0 has no media present or is disabled via the RUN/STOP switch
dke0.0.0.4.0 has no media present or is disabled via the RUN/STOP switch
block 0 of dke0.0.0.4.0 is a valid boot block
reading 15 blocks from dke0.0.0.4.0
bootstrap code read in
base = 1f4000, image_start = 0, image_bytes = 1e00
initializing HWRPB at 2000
initializing page table at 1e6000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code

UNIX boot - Wednesday October 16, 2002

Loading vmunix ...
Loading at 0xffffffff00000000

Sizes:
text =  7922752

It then sat there for a REALLY long time.... but there was CD activity... well... it blinked around... but didn't seem to get anywhere. I let it go for an hour (there goes the power bill) but nothing happened. Maybe it's handed off console output at this stage to the 'Auxillary Console Port'. Urgh... do I need to interface with the DB25 socket on the back?

Then again, the service manual says the port is used for external devices, not console terminals. I wonder if the CD image is just crap or the drive can't handle the CD-R? I might try buy some new and more reliable CDs today... or try OpenVMS just to see if something else will boot further?

Stay tuned...

Filed under: Retro No Comments
8May/170

B75 makes a return on the Maryvale Paper Train

Recorded on Friday night, B75 is back leading the down services. It's now been on the train with B74 and G515 over the last 2 nights. If only they'd put B76 on there and take off the G!

Excuse the lead-up... you could hear the bulldog well before you could see it!

Filed under: AUS No Comments
5May/170

Ancient Fujitsu M2654ST 2.1gb SCSI HDD

Found this at trash and treasure for AUD$20. It's huge! This is a serious server hard disk, built in February 1994. Configuring this thing requires some form of rocket-science degree as nothing is clearly labelled and there are connections for monitoring hardware as well? A little research found this document that has sparse information on this drive.

DSC00554

DSC00555 DSC00556 DSC00557

DSC00558

DSC00560 DSC00561 DSC00562

I installed this into my external SCSI enclosure and initially it just went click... click. I had the internal SCSI cable plugged in and the terminator was on the external SCSI housing's 'out' port. I'd given it up for trash (as opposed to treasure) and was about to print out the manual to check if the jumper settings would help.

DSC00563

Later on, I thought I'd try a separate power supply. It was an ATX power supply with an AT converter (see more information here) and the drive sat there clicking at a different rate to the previous attempt. This indicated that the ATX wasn't happy with zero load on the motherboard wires and a LOT of load on the drive wires.

DSC00565

I decided to put the drive back in the external SCSI enclosure, for prosperity and safe-keeping, but hadn't plugged in the SCSI data cable. Upon hitting the power switch the drive powered up!



Holy moly. Listen to that jet engine! Turns out that the drive doesn't like a data cable connected. Well, it loves it, but you need to provide it a signal to spin up once the cable is connected. Based on this, removing the terminator at the back of the SCSI enclosure saw the drive happily spin up with the 50-pin SCSI cable connected.

OK.. so... I plugged everything together properly and hooked it to my old Windows 98 SE machine. Well shit... it spun up and was detected fine. It actually holds the SCSI card BIOS screen for ransom whilst the drive spins up. Not a quick process. Can only imagine what server rooms used to sound like with these babies all firing up at once.

DSC00567

DSC00568

Once in windows.. everything reported a very empty drive... I'll grab some parition restoration utilities and give this a scan before I use it for it's full 2gb of storage...

GParted to the rescue

Here I was thinking that Windows would list any partitions... turns out that Windows doesn't understand all types of partition tables. See below for the results from GParted and then what happened when I plugged the drive into my my Power Mac 7220. It was even bootable!

DSC00556 DSC00558 DSC00559

The drive has partition checking software... the disk checked out. I then quickly formatted it. Don't dig through other people's memories!

Filed under: Retro No Comments
29Mar/170

Plarail: Percy, The Engine That Couldn’t

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.

DSC00069

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.

DSC00117

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.

DSC00078 DSC00079 DSC00080

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.

DSC00064

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.

DSC00001

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.

DSC00003

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!

DSC00006

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!

DSC00008

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!

Filed under: MRR No Comments
28Mar/170

Javascript numbers with leading zeroes

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).
Some JavaScript versions interpret numbers as octal if they are written with a leading zero.

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

27Mar/170

486DX266: S3 86C801/805 VLB

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.

DSC00204

DSC00205 DSC00207 DSC00209

The card was easy to install and POST'd fine.

DSC00019

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.

DSC00025 DSC00026 DSC00040

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.

DSC00020

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.

DSC00022

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.

DSC00021

And now, testing the huge resolution...

DSC00029

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!

DSC00031 DSC00032 DSC00036

DSC00037

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

DSC00024

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.

DSC00012

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.

DSC00014 DSC00016 DSC00017

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.

Filed under: Retro No Comments
24Mar/170

Mt Fuji Live View!

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: )
~??:??
Northbound
~??:??
Southbound
Next Freight Train
~??:??
Northbound
~??:??
Southbound

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-04-04 - 14:33:05 - Southbound Toyota Long Pass Express... REALLY LATE?
2017-04-13 - 14:19:20 - Northbound? - Early 5094?
2017-04-18 - 13:36:32 - Southbound?

# Shizuoka ~Webcam From/To Comments Sighted
61 0021 0001 Tokyo - Ajikawaguchi Container
No Sundays
1067 2349 0009 Koshigaya - Kudara/Hirano Container
1069 0049 0029 Niiza - Osaka Container
1093 0106 0046 Tokyo - Nagoya Container
51 0114 0054 Tokyo - Ajikawaguchi M250 Super Rail Cargo
No Sundays
65 0120 0100 Tokyo - Kudara/Hirano Container
No Sundays
5057 0126 0106 Kuragano - Fukuoka Container
7053 0133 0113 Tokyo - Fukuoka Container
53 0058 0118 Tokyo - Suita Container
No Sundays
69 0147 0127 Tokyo - Kobe Container
No Sundays
1057 0154 0134 Kuragano - Fukuoka Container
No Sundays
55 0158 0138 Tokyo - East Fukuyama Container
No Sundays
5081 0204 0144 Sendai - Ajikawaguchi Container
1051 0208 0148 Tokyo - Fukuoka Container
1053 0215 0155 Tokyo - Fukuoka Container
5088 0137 0157 Ajikawaguchi - Sendai Container
3095 0225 0205 Onahama - Nagoya Container
1099 0225 0205 Niiza - Nagoya Container
1059 0230 0210 Utsunomiya - Fukuoka Container
1098 0202 0222 Nagoya - Sumidagawa Container
No Sundays
2050 0207 0227 Nagoya - Morioka Container
1080 0222 0242 Osaka - Niiza Container
5096 0230 0250 Nagoya - Hachinohe Container
1092 0235 0255 Nagoya - Tokyo Container
1084 0238 0258 Osaka - Sendai Container
1066 0248 0308 Osaka - Tokyo Container
64 0301 0321 Kudara/Hirano - Tokyo Container
No Sundays
1088 0305 0325 Kudara/Hirano - Koshigaya Container
50 0321 0341 Ajikawaguchi - Tokyo M250 Super Rail Cargo
No Sundays
52 0324 0344 Suita - Tokyo Container
No Sundays
5054 0334 0354 East Mizushima - Tokyo Container
No Sundays
1096 0339 0359 Nagoya - Sapporo Container
5056 0350 0410 Fukuoka - Kuragano Container
No Sundays
60 0357 0417 Ajikawaguchi - Tokyo Container
No Sat/Pub.Hols
68 0405 0425 Kobe - Tokyo Container
No Sundays
7082 0411 0431 Kudara/Hirano - Tokyo Container
5082 0415 0435 Ube - Koshigaya Container
70 0422 0442 Niihama - Tokyo Container
5091 0459 0445 Sendai - Nagoya Container 2017-05-15 04:45:25
5062 0428 0448 East Mizushima - Tokyo Container
No Sundays
1055 0504 0449 Tokyo - Fukuoka Container
No Pub.Hols
2017-05-15 04:49:40
3074 0432 0452 Nagoya - Sapporo Container
66 0453 0513 East Fukuyama - Tokyo Container
5086 0500 0520 Kudara/Hirano - Sapporo Container
No Sundays
5085 0534 0514 Sendai - Hiroshima Container 2017-04-28 05:13:05
3071 0553 0533 Sapporo - West Hamamatsu Container
No Mondays
1071 0558 0538 Tokyo - Kagoshima Container 2017-04-28 05:38:30
5087 0607 0544 North Asahikawa - Kudara/Hirano Container
No Mondays
2017-04-20 05:44:35
2017-04-28 05:44:10
2017-05-16 05:44:32
5071 0635 0622 Sendai - Fukuoka Container 2017-04-28 06:22:20
2017-05-15 06:23:10
2017-05-16 06:22:20
2017-05-24 06:22:50
2017-05-25 06:23:20
8860 0612 0632 Suita - Koriyama Other
54 0734 0747 East Fukuyama - Tokyo All Green Containers?
No Sundays
2017-04-07 07:47:30
2017-04-18 08:51:01
2017-04-20 07:48:54
2017-04-21 08:46:46
2017-04-28 07:47:40
2017-05-11 08:48:14
2017-05-16 07:48:48
2017-05-19 07:48:15
2017-05-24 07:46:01
2017-05-25 07:47:00
1097 0903 0848 Sapporo - Nagoya Container 2017-03-28 08:48:50
2017-03-29 08:49:50
2017-03-31 08:48:45
2017-04-03 08:49:50
2017-04-04 08:47:42
2017-04-06 08:49:31
2017-04-07 08:48:55
2017-04-12 08:49:45
2017-04-18 08:50:01
2017-04-28 08:51:05
2017-05-10 08:49:05
2017-05-11 08:49:20
2017-05-15 08:48:40
2017-05-16 08:49:27
2017-05-19 08:49:15
2017-05-24 08:49:55
2017-05-25 08:49:50
8863 0920 0905 Kawasaki - Shin-Nan-Yo Other
1068 0907 0921 Shimonoseki - Tokyo Container 2017-03-28 09:21:00
2017-03-29 09:20:50
2017-04-04 09:20:48
2017-04-05 09:20:25
2017-04-06 09:20:55
2017-04-07 09:21:55
2017-04-12 09:21:55
2017-04-13 09:21:20
2017-04-18 09:22:00
2017-04-27 09:20:45
2017-04-28 09:20:35
2017-05-09 09:20:20
2017-05-10 09:25:55
2017-05-11 09:22:45
2017-05-16 09:21:10
2017-05-19 09:21:45
2017-05-24 09:31:50
2017-05-25 09:20:30
2053 0950 0935 Morioka - Nagoya Toyota Long Pass Express
No Sat/Pub.Hols
2017-03-24 09:35:30
2017-03-28 09:34:45
2017-03-29 09:35:05
2017-03-31 09:35:35
2017-04-05 09:34:45
2017-04-06 09:35:30
2017-04-12 09:35:45
2017-04-13 09:35:33
2017-04-18 09:35:03
2017-04-26 09:35:30
2017-04-27 09:35:00
2017-04-28 09:34:50
2017-05-09 09:35:14
2017-05-10 09:34:38
2017-05-11 09:35:20
2017-05-12 09:35:32
2017-05-16 09:35:20
2017-05-19 09:35:23
2017-05-24 09:35:18
2017-05-25 09:35:05
1060 0923 0938 Hiroshima - Tokyo Container 2017-03-27 09:38:05
2017-03-28 09:38:14
2017-03-29 09:38:30
2017-03-31 09:37:57
2017-04-03 09:38:25
2017-04-04 09:39:40
2017-04-05 09:38:15
2017-04-06 09:38:00
2017-04-18 09:38:30
2017-04-20 09:38:55
2017-04-21 09:37:38
2017-04-26 09:38:50
2017-04-27 09:38:20
2017-04-28 09:37:55
2017-05-09 09:38:10
2017-05-10 09:39:10
2017-05-11 09:37:39
2017-05-16 09:38:15
2017-05-19 09:39:25
2017-05-24 09:42:55
2017-05-25 09:38:20
8091 1033 1015 Tokyo - North Kyushu Rail Train 2017-04-18 10:15:30
2017-04-20 10:16:12
2017-04-28 10:15:42
2017-05-11 10:14:50
2017-05-25 10:16:15
5052 1014 1027 Fukuoka - Tokyo Container
No Sundays
2017-03-28 10:29:12
2017-03-29 10:29:00
2017-03-30 10:27:30
2017-04-05 10:27:35
2017-04-06 10:27:16
2017-04-07 10:27:30
2017-04-12 10:28:18
2017-04-13 10:29:40
2017-04-18 10:28:05
2017-04-21 10:26:59
2017-04-28 10:29:45
2017-05-10 10:28:24
2017-05-11 10:28:20
2017-05-16 10:29:50
2015-05-17 10:29:18
2015-05-19 10:28:50
2015-05-24 10:27:40
2015-05-25 10:27:44
5073 1050 1035 Tokyo - Fukuoka Container 2017-03-27 10:35:00
2017-03-28 10:35:20
2017-03-29 10:34:30
2017-03-30 10:34:50
2017-04-03 10:35:15
2017-04-04 10:34:40
2017-04-05 10:35:01
2017-04-06 10:34:45
2017-04-07 10:34:43
2017-04-12 10:34:33
2017-04-13 10:34:40
2017-04-18 10:34:54
2017-04-19 10:34:45
2017-04-21 10:35:30
2017-05-01 10:35:12
2017-05-10 10:34:38
2017-05-11 10:34:40
2017-05-17 10:34:40
2017-05-19 10:34:54
2017-05-24 10:35:05
2017-05-25 10:35:00
5094 1041 1101 Nagoya - Tokyo Container
1090 1052 1105 Niihama - Numazu Container 2017-03-24 11:05:50
2017-03-27 11:05:10
2017-03-28 11:05:45
2017-03-29 11:05:50
2017-03-31 11:05:41
2017-04-10 11:05:50
2017-04-12 11:06:20
2017-04-18 11:05:10
2017-04-19 11:05:38
2017-05-09 11:05:24
2017-05-10 11:05:59
2017-05-11 11:05:56
2017-05-17 11:05:45
2017-05-19 11:05:33
2017-05-24 11:05:20
2017-05-25 11:05:52
8090 1211 1230 North Kyushu - Tokyo Rail Train
2079 1402 1337 Numazu - Inazawa Container 2017-05-09 13:37:05
2017-05-10 13:36:37
2017-05-11 13:35:55
2017-05-12 13:36:45
2017-05-15 13:36:50
2017-05-16 13:36:44
2017-05-19 13:37:08
2017-05-24 13:37:10
2017-05-25 13:36:45
8052 1332 1345 Fukuoka - Utsunomiya Container 2017-03-23 13:45:50
2017-03-24 13:48:20
2017-03-27 13:46:10
2017-03-28 13:46:15
2017-03-29 13:46:10
2017-04-13 13:47:45
2017-04-18 13:47:44
2017-04-19 13:48:20
2017-04-21 13:46:25
2017-04-26 13:46:52
2017-04-27 13:47:40
2017-05-11 13:47:05
2017-05-12 13:48:50
2017-05-15 13:46:25
2017-05-16 13:46:40
2017-05-19 13:46:51
2017-05-24 13:49:38
2015-05-25 13:46:55
2078 1423 1438 Inazawa - Numazu Container 2017-03-24 14:38:42
2017-03-25 14:38:10
2017-03-27 14:38:20
2017-03-28 14:38:05
2017-04-07 14:38:30
2017-04-10 14:39:10
2017-04-13 14:38:28
2017-04-18 14:38:50
2017-04-19 14:38:50
2017-04-20 14:38:10
2017-04-21 14:38:02
2017-04-27 14:37:38
2017-04-28 14:38:20
2017-05-10 14:38:40
2017-05-11 14:39:05
2017-05-16 14:38:30
2017-05-19 14:38:55
2017-05-24 14:37:42
2017-05-25 14:38:20
5075 1537 1523 Tokyo - Fukuoka Container 2017-03-28 15:23:19
2017-04-03 15:23:25
2017-04-10 15:23:25
2017-04-12 15:23:50
2017-04-18 15:23:10
2017-05-10 15:23:37
2017-05-11 15:22:55
2017-05-12 15:26:40
2017-05-15 15:23:10
2017-05-19 15:23:07
2017-05-24 15:23:20
2017-05-25 15:23:33
8862 1521 1541 Shin-Nan-Yo - Kawasaki Other
3075 1611 1556 Sapporo - Nagoya Container 2017-03-28 15:56:50
2017-04-04 15:56:28
2017-04-07 15:56:31
2017-04-18 15:56:35
2017-04-19 15:57:00
2017-04-21 15:56:30
2017-04-27 15:56:15
2017-05-10 15:56:20
2017-05-11 15:56:53
2017-05-24 15:56:28
2017-05-25 15:56:15
5095 1630 1610 Tokyo - Inazawa Container 2017-03-24 16:14:00
2017-03-28 16:14:40
2052 1603 1620 Inazawa - Morioka Toyota Long Pass Express
No Sat/Pub.Hols
2017-03-24 16:20:00
2017-03-28 16:20:00
5050 1644 1704 Fukuoka - Tokyo Container
1070 1653 1713 Kumamoto - Tokyo Container
1050 1700 1720 Fukuoka - Tokyo Container 2017-03-24 17:15:00
71 1841 1825 Tokyo - Niihama Container 2017-03-29 18:25:50
2017-04-01 18:24:20
2017-04-10 18:24:26
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 1949 1929 Numazu - Fukuoka Container 2017-03-27 19:38:00
1052 1922 1942 Fukuoka - Koshigaya Container
5074 1931 1948 North Kyushu - Tokyo Container 2017-03-24 19:48:00
2017-03-27 19:47:40
2017-04-02 19:48:40
1058 2000 2016 Fukuoka - Utsunomiya Container 2017-03-28 20:16:10
2017-04-11 20:16:20
5053 2053 2033 Tokyo - Fukuoka Container
No Sundays
2017-03-28 20:39:20
5070 2106 2126 Fukuoka - Sendai Container 2017-03-28 21:28:22
5058 2131 2145 Okayama - Tokyo Container 2017-04-11 21:45:30
5055 2230 2210 Tokyo - Fukuoka Container
No Sundays
3070 2235 2255 West Hamamatsu - Sapporo Container
No Sundays
7085 2250 2230 Tokyo - Kudara/Hirano Container
67 2321 2301 Tokyo - East Fukuyama Container
5061 2328 2308 Chiba - Hiroshima Container
1085 2333 2313 Sendai - Osaka Container
8053 2255 2315 Utsunomiya - Hiroshima Container
1089 2345 2325 Tokyo - Osaka Container
5090 2313 2333 Nagoya - Sendai Container
2051 2317 2337 Morioka - Nagoya Container
No Sat/Sun
1061 0013 2353 Tokyo - Hiroshima Container

I hope I copied the above correctly!

Filed under: JPN No Comments
23Mar/170

486DX266: CMOS Battery and PC Speaker

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!

DSC00010

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.

DSC00011

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.

DSC00004 DSC00006 DSC00008

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.

DSC00013

Installation was a breeze and testing proved that my BIOS settings finally held!

PC Speaker

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?

DSC00015 DSC00016 DSC00017

On first boot, the machine-gun noise of RAM counting up was music to my ears!!

Filed under: Retro No Comments
16Mar/170

486DX266: Rebuilding my childhood PC

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.

Base Components

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.

DSC00191

DSC00192 DSC00193 DSC00194

DSC00195 DSC00197DSC00198

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.

DSC00199

DSC00200 DSC00201 DSC00202

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.

DSC00204

DSC00205 DSC00207 DSC00209

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.

DSC00210

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!

DSC00213

Housing

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.

DSC00314

Meet the case, creepy photo, right? It's full ATX... soft buttons and all. It even has an ATX power supply.

DSC00316

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.

DSC00320

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.

DSC00321

The other end was then slapped onto the board itself. Remember with AT plugs, keep the black wires together!

DSC00323

Great ... so ... now what? The front panel can be rudimentarily hooked up. Reset, Power LED, Turbo LED? and that's it.

DSC00319

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.

It worked!

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!

initial-atx-power-hook

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.

reset-atx-power-hook

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!

DSC00006

DSC00009 DSC00011 DSC00013

The final product worked perfectly!

Filed under: Retro No Comments