Subscribe via RSS
28Apr/220

Z Scale Layout – Akia 485-Series Traction Tyres

Just for a lesson in complete-failure, I attempted the fitting of traction tyres to an Akia 485-series EMU powered-car. The train couldn't get up gradients and so I thought I'd see how it went with traction tyres from Rokuhan.

20220418 150833

Rokuhan provides both 4mm and 5mm tyres, and I purchased a bunch of both sizes as I know I'll need them in the future. The power car in question is a standard 485-series passenger car and the shell comes off once minimal force is applied to separate both walls from the chassis. From here, you then need to remove the top circuit board by inserting a flat-head screwdriver in the 4 holes in the chassis, two on each side.

20220418 152052

Once that's off, remove the two weights.

20220418 151901

It gets a little tricky from here. The bogies are attached via drive-shafts with lateral pins. The chassis is a single unit, so you actually have to spread the frame to get the bogies out. Make sure to allow space for the drive-shafts when doing this, otherwise you might snap them.

20220418 151803

With the bogies out, you can grab a flat-head screwdriver and press down on the clips next to the power pick-ups. Pushing down on these will push the under-frame of the bogie onto the table. Once it's separated enough, you can flip the bogie over and lever the frame off.

20220418 151746

With this finally off, you have full access to the wheelsets and you can install traction tyres.

20220418 151555

Unfortunately, these wheelsets don't have the grooves for tyres and the trains run erratically once installed.
So don't do it! The end.

Filed under: Retro No Comments
5Mar/220

DataStor Commuter Parallel Port IDE HDD

This came in a bulk eBay purchase months back but I only just re-discovered in a box today. I love surprises! I've recently been going through all the boxes'o'shite and so I'm sure there'll be more surprised to document.

20220303 194439

It came in a pleather pouch with a manual, floppies and all required cables. Below you can see the DC power adapters actually piggy-back onto either an AT Keyboard socket or a PS/2 port. Very handy! I am still trying to work out if plugging my mouse into the piggy-back pushed pins inside my mouse's plug, or if it was just ready to break. Either way, had to fix that also.

20220303 194356

The unit actually allows the printer port to pass through, but I didn't test this. I might grab a parallel port Zip Drive and see if you can daisy chain them. Otherwise I assume you can put a printer on the end.

20220303 194317 20220303 194327 20220303 194310

As for operations, the floppies included had expired, so I downloaded the driver package for Windows/NT/OS2/DOS and created a bootable floppy disk image with the required DOS tools. The main driver is CDISK.SYS and this just needs a standard DEVICE line in CONFIG.SYS with no arguments. It's all on the floppy image above.

20220303 194321

With the floppy in the drive, the disk came straight up and prompted me to partition/format it. It saw a 3.2gb HDD inside and told me to make two separate partitions of 2048mb and 1248mb, as the OS doesn't support disks bigger than 2gb! Ah, history.

Filed under: Retro No Comments
13Jan/220

Handy Portable Ethernet Pocket Adapter

Aaand another impulse purchase from eBay: a Handy Portable Ethernet Pocket Adapter. What a name? Turns out this is a clone of the Accton EN2209. Finding software wasn't the easiest, but somehow a university in Taiwan had the required file.

DSC04560

DSC04620

DSC04564 DSC04566 DSC04568

DSC04619

Installation on a 486

My IBM PS/1 486 received this unit (after a WFW311 upgrade) and worked perfectly with it. Installation was very straight forward! Just download TCP/IP for WFW and install it as an additional protocol. DHCP worked fine.

DSC04602 DSC04583 DSC04599

Installation on a PIII-500mhz

Things got awry from here. Firstly, running WFW311 on a PIII-500 with 512mb RAM is probably not a recommended thing to do... but... it installed so quickly... it was lovely. The adapter drivers installed and came up on a reboot. As soon as TCP/IP was installed, the whole machine froze!

DSC04576

That second transmission light just stayed locked on and the whole machine actually became non-responsive. Seems to be some kind of race condition with the device... so... what to do? After thinking it was Parallel port settings, I changed them all to no avail. I then guessed it was clock speed, so I down-graded the 500mhz to the slowest setting possible: 333mhz.

DSC04614

At 333mhz, the unit worked perfectly! WFW311 on this hardware is lovely! :) I then upgraded to 375mhz (75mhz bus), but it was NOT stable. WFW311 would lock every-other-time when booting? Seems 333mhz is the magic number.

What about Linux?

I started digging around for a Linux driver and found a few hits on the parport mailing list. These then lead me to harshman's archived page containing a driver! Seems it needs Kernel 2.0.30, so I went back to le'googs and started hunting.

Since I love Red Hat Linux so much, I jumped over to their page and checked the version history. Nice, we have a matched kernel with Red Hat Linux Version 4.2! Back to the Red Hat Linux Archive and there's a 4.2 folder... but wait, there's no ISO in the expected folder? Fortunately, the main guts of the OS are still available and we can then make our own installation media. Download that folder and copy it ALL onto a blank CD. Then jump into the images folder and write boot.img to a floppy. Special thanks to grem75 in this reddit thread for pointing out the required steps.

But that actually didn't work... No matter what I copied over, the installer baulked with an unrecognised Red Hat CD. So, I then downloaded the ISOs from archive.org. I'm surprised that didn't come up as a first search result, but then it occurred to me that archive.org never does? Has it blocked google?

Meanwhile, no amount of burning that image under Windows would work! I even tried to boot up an old ThinkPad with Linux Mint and wodim to try and get it to burn successfully. It didn't... it seems there's an issue with those images on archive.org? Finally, I used the FTP method and an NE2000 compatible card I had lying around to install RedHat.

Once RedHat 4.2 was up, I followed the instructions on harshman's page and, after a first failed insmod, the unit came up on the second attempt, received an IP and I was able to ftp into redhat! Amazing! This was also on the 500mhz at 100% speed, so no race conditions here!

Finally, if you check harshman's page, you'll note that he notes that there's already an updated version whilst he was making his... I wonder if a newer version of RedHat will support this unit?

Filed under: Retro No Comments
11Jan/221

Covox Voice Master Key

This item came up on eBay a long time back and went straight into the 'projects' box. Thanks to a newfound push to clean up the spare room, that box has been turned upside-down and dealt with. So, without any further ado, I present to you a 1988-vintage COVOX Voice Master Key.

DSC04518

DSC04520 DSC04523 DSC04524

DSC04528

DSC04531 DSC04533 DSC04525

The box was well-worn, but all text can be read. Of interest is, in the second-last paragraph, the redacting of the quote "Plays back through optional COVOX Speech Thing". Was the redaction done by a child with a marker? Or from the factory? Finding information on this card online is pretty difficult. First hit was this Korean blog post on naver.com and you'll notice that the redacted sentence is totally removed from their version of the product. Their version seems to be a lot newer, but only of box design, not product name or quality.

Nerdly Pleasures also has a post on COVOX devices, but was very light-on for info on this card. I hope I can help them with their photo of the card as well. Also, the I/O for the DAC can be gleaned from the jumper setting above.

So what does it do?

First and foremost, this is one of the first pieces of hardware to let you control an IBM PC via voice. If I had the software, I'd test this functionality out... unfortunately I don't and no amount of searching has dredged up the installation disks. There's a disk image listing here, but no actual disk image? I messaged the author of that post and he just silently stepped out of the conversation... he must have the actual image to take those screenshots from DOSBOX? I then started by own thread, but no one cares.

A little more digging brought up this request post on Amibay for the same software. I posted a bump reply and got in trouble for hijacking someone else's thread... didn't realise that was a rule. I then PM'd the author, but no response as of yet.

So, without any software, I can't do the voice recognition/control stuffs... but can it play audio?

Audio output hardware

This unit does have an output port and the included head-set is just that; a speaker and a microphone! There are two microphone ports on the card, but we don't actually care about them as we don't have any software that'll make use of them. The headphone port interests me though as, with the redacted text on the box, there must be some way to use the 'included' COVOX Speech Thing functionality. The directory listing of the installation disk above even has a THING.EXE which must enable this card as a sound output device.

The output circuit includes an LM386N amplifier that's fed from the resistor bridge. That bridge is fed directly from the ISA bus data lines, so it must do something if data is fed in. The I/O Address jumper selections allow settings from 0x22f through to 0x28f. I initially thought that was 0x0220, thinking the F was just some naming style, and, after taking out my SB16, tried to get my machine to output sound via FT2 on 0x220... this was entirely fruitless and entirely wrong! I mean, come on, the jumpers don't lie... the I/O ranges really are all based with an 'f' on the end!

So, what to do? First up, anything that wants to use a COVOX Speech Thing as a sound output device will expect it to be on LPT1 or LPT2. These ports are configured via your BIOS and, well, it just wont work adjusting BIOS settings as anything configured there will just send data out the existing configured printer port. I went googling around and found that people had built their own DACs back in the day and someone even has a project for a DAC that sits in an ISA slot known as ISA-DAC-r0. Further on from that, I then found instructions on how to use it on the DOS Re-loaded forum.

There's a really interesting screenshot half-way down that forum topic where the user has used the DOS debug command to hack a memory address. This address contains the I/O register of your machine's LPT ports. Hilariously, you can actually tweak these addresses live when your machine is running!? The basic idea is to type debug, hit enter, then type the following:

-e 40:08 78 03 2f 02

then press enter and then type q and enter to quit. Above, you've entered the bytes 78 03 2f 02 into memory address 40:08. It turns out that that memory address is the system configuration area for the IO base address for your LPT ports and you can chain as many as you want together to pretend you have LPT ports. In the case above, the first port is 0x378, written as high-byte low-byte and then 0x22f, again as high-byte low-byte. Entering the command above will configure your DOS session to have LPT1:0x378 and LPT2:0x22F. Does it work? I configured Fast Tracker II to have a SoundPlayer on LPT2...

DSC04540

And...

DSC04538

Actually... here's a proper demo of its capabilities:

Woah! The audio quality was as-good-as any original SB2.0 that I remember... but it's probably worse... and MONO. Seems can you have two DACS and have FT2 run LPT1+LPT2 for stereo sound. More games were downloaded and tested and all worked fine! Amazing.

Now to just find the actual software!

Filed under: Retro 1 Comment
6Dec/210

NEC PC-9801VX – Video Output

After getting the PC-9801VX up and running via the monochrome output, it was time to get the RGB signals properly-connected to a real monitor. Thanks to previously playing with Amigas, I actually have an LCD on-hand that can do 15khz via a standard VGA cable. What to do? Hack together a cable that would interface with the DB-15 port on the PC-9801.

DSC04303

As mentioned, this unit uses a DB-15 Analog port which looks exactly like a Macintosh Video port. Of course, it's not, so you can't just use a Mac adapter, but you can refit one, thanks to this blog. You can also just roll-your-own-cable, using the pinout here. Jaycar has the necessary DB-15 male port with housing and the cable above was built.

DSC04285 DSC04297 DSC04288

DSC04290

Plugging it in saw the picture work beautifully... but the fonts were still out. A-Train was also still scaling off the bottom edge?

Front-Panel Dip-Switches

Turns out there's display configuration options on the front-panel to configure resolutions and font-sizes. As seen above, the DOS installation screen looked OK for the most part, but the selectable menu options showed stretched/cut-off fonts!? A quick read of the the dipswitch descriptions pointed to items that may help.

SW1-1 sets the output resolution from 640x200 to 640x400 and this helped a bit, but the fonts were still wrong. I then also toggled SW2-3 and SW2-4 to enable both 80-character screen width and 25-character screen height. After this? Perrrrrfect!

DSC04312 DSC04309 DSC04313

DSC04311

Very similar to the version from the MSX.

You don't have a 15khz monitor?

No fret! This is the internet and someone has already done this before. To make this work, you'll need a GBS8200 video adapter. Once you have this in-hand, you'll need to either wire things in directly, or build a circuit such as antarcticlion's GBHV_RGBS_CONV adapter. I've had a few PCBs printed for me...

DSC04307

... and I intend to build them up and test them. If anyone wants one, then contact me here. I'll post again once I've built one and got it going.

Filed under: Retro No Comments
29Nov/210

NEC PC-9801VX – Floppy Drive Maintenance

If you have the opportunity, do NOT use floppy disks... for anything... ever. I've just spent a lot of time debugging issues when I should've been playing A-Train! Due to the effort I've spent, I hope the answers you find in the rant below help you and prevent such effort expenditure. The goal was simple: The PC-9801VX was up and running and I wanted to run this...

20211126 000853

Yes, it's another version of A-Train. It's version 2, still prior to the version 3 that was released internationally. Now that I think of it, I'd actually purchased this game with a bunch of trains back here! I'd done nothing with it since... but now finally had a machine to run it on.

Unfortunately, the drives wouldn't even accept floppies!

I can't insert a floppy disk!

When this unit arrived, I tried to insert A-Train Disk A into Drive A. The disk would slide 70% in and then hit something. I decided not to push my luck and opened everything up...

20211123 224841

If you've noticed too much copper in the photo above, then you'd be spot-on. The 'head cover' of the read head has popped off (presumably in transit) and sat itself in front of the read head. This has succesfully blocked the floppy disk from inserting all the way. As these machines are super-popular in Japan, a quick Google found many examples of people having the same issue. I opened up the second drive and found the same issue!

20211123 224917

Each site that mentioned this issue had a different solution! Leave the cover on, take it off... leave it on? take it off? I'll do the latter... for now.

Expired capacitors

Now that the floppies could enter the drives, I tried to boot the machine. Drive A would do nothing... it'd just pretend there was no floppy at all. Drive B got as far as below and then noisily failed. The failure let me believe that it'd at-least loaded a bit of data from the disk.

pc-9801-floppy-boot-attempt

So, what to do? Fix Drive A first, then work out if it could do better than Drive B. I've already hinted to the issue, but it all became very obvious after extracting Drive A and flipping it over:

20211124 103158

What a mess! A quick google around found this article on FD1155D maintenance and, to my surprise, it actually mentions how to fix this exact problem. It mentions that if the disk isn't found and the motor just spins (which it did), then these capcitors are to blame. After a quick bit of cleaning and soldering, the tracks actually proved to still be conductive. I added a jumper wire anyway and replaced the capacitors as required.

20211124 114036

Shit job, I know, but.. it worked! Drive A now produced the SAME ERROR as Drive B! Progress!? Based on process-of-elimination, if both drives produce the same error, it's no longer the drives at fault. It's the motherboard (in-built controller) or the floppy disk!

Making my own floppies

First things first: make sure you have an old PC with a known-working 5 1/4" drive. Don't even bother going down this route if you have suspicions about the PC side of things. I went around in a few circles at the start as my floppy drive half-read the first disk I put in, only to totally reject everything after. The fix? Clean the heads with an ear-bud (q-tip?) and isopropyl alcohol! After that, it worked like a dream.

With the floppy drive functional, and Win98 Japanese version installed, I could then use the tools to get floppies written. I followed the instructions here and downloaded both Virtual Floppy Image Converter and Disk Copy Utility. Aim for the green download buttons on the pages when you're trying to obtain the software.

From here, everything was extracted and a relevant DOS bootdisk was found from the PC-98 Software Dump archive over at archive.org. There's also a bigger archive here, for those interested. The DOS disk image was inside the OS folder in FDI format, so it needed to be converted first. Go to the Virtual Floppy Image Converter folder and double-click the exe.

vf-1

Choose English and then set the default output location.

vf-2

Finally drop the FDI image onto the app and a DCU file will be spat out. With a blank/spare floppy disk in the 5 1/4" floppy drive, open a DOS prompt and browse to the folder where the DCU image file is. Alternatively you can browse to the DCU application folder and just edit the command line below to find the DCU image file.

c:\DCU\DCU.exe -f @C:\PC-98\A.DCU,0

Above, correct the path for DCU and the path and filename for your DCU floppy image. The -f means format the sector prior to writing and the ,0 means write to Drive 0. This is A:, with Drive 1 being B. This software also runs on the PC-98 where the drives are 1,2,3,4 and not A,B,etc...

writing-floppy

I tested writing the DOS 3.3 disk to a blank floppy first. It ran quickly and worked flawlessly .. My PC-9801VX booted this newly-written disk to an installer! No hard-drives on this unit yet, but this made me pretty darn happy! I then decided to try and re-write the A-Train Disk A. It was already broken, so why not just try and re-write the same image back to it. The disk image is actually in the same archive above, so I extracted it, converted it and tried to write it...

atrain-better-but-not-good

I first tried to write the DCU file to a blank disk and this completed with no issues, so I put it to the side. I then tried repeatedly to write the image back to the actual A-Train floppy, after removing the copy-protect tape. It kicked off and threw me to an input prompt very quickly. This prompt, as shown above along the bottom line, gives you a few options when DCU hits an error: R for retry, F for re-format and then retry and I for ignore-and-continue. Of course, choosing the latter will leave holes in your written image. As I'd mentioned, and as seen above, the errors weren't always perfectly aligned, but they were not stopping, so yeah, unfortunately that disk was trashed. I wondered if it could be cleaned (Herb Johnson has some tips)? Or if it's totally scratched up... or if you can even replace the medium inside? I tried a bit of isopropyl on it, as I'd done with the drive heads, but it didn't many any huge difference.

Just for fun, I thought I'd test the A-Train Disk A that I'd written to a blank disk. It booted fine, and that's when I realised I had options: leave the 'backup' disk in the box and don't touch the original?, try and transfer outer disk labels?, try and transfer inner disk guts? Hmmmm....

Re-sleeving or Re-mediuming a 5 1/4" Floppy Disk

This was super-risky. I had a properly-copied version of disk A on a (lol) Microsoft Works disk.. and a dead original disk. What to do? Pry open the original and swap the medium. First? Get out your Swiss Army Knife and perform surgery...

20211126 154603

Once you have the top broken open, do the same with the donor disk... being super-careful the whole time and remember: DON'T TOUCH THE MEDIUM.

20211126 154624

Looking at the old medium, you can see why it was never going to work (and also really hard to photograph):

20211126 152639 20211126 153833 20211126 154049

20211126 160741

With everything out, just slot the new medium into the old sleeve and apply a TINY bit of glue along the seam you previously split open. And then?... test...

20211126 155159 20211126 155205 20211126 155210

20211126 155218 20211126 155224 20211126 155231

20211126 155244

Shit photos, I know... the game also seems to have shifted into a new resolution/mode and it's interlaced itself off the screen. Whilst my SCSI adapters are in-transit, I'll have to work out a proper video solution. (Update: Learn all about how to get proper video output here.

Filed under: Retro No Comments
25Nov/212

NEC PC-9801VX – Tear-down

I've always been fascinated by the older Japanese beige desktops and couldn't resist another impulse-buy when I saw this PC-9801VX show up on eBay. It was cheap, as it was listed as junk, until the shipping cost doubled the price. Regardless, I took the gamble, as I have a copy of A-Train for the PC-98 that needs a home.

20211124 174537

It arrived quickly, as postage from Japan can only currently be done via expensive couriers. Before long it was plugged into the step-down converter and failed to do anything good. From what I understand, on power up these machines are meant to PI-PO from their internal speakers... Of which this one did not!

A quick tear down saw the cause... but more on that later. What was I thinking?; purchasing such a huge beige boxen of junk. Fortunately, the tear down also saw that it came with surprises! The list included: a 4MB o'RAM CBUS board, an 8MB o'RAM CBUS board, a SCSI CBUS board and a SASI CBUS board. Also, two 5 1/2" floppy drives which can't be scoffed at... if they work.

20211124 174737 20211124 174728 20211124 174708 20211124 174812

After a lot of research, it turns out that this unit is actually a 286, when purchased new. There's a lot of information online, but most of it is in Japanese. Fortunately, Wikipedia has a great article on the PC-98 series of machines and, if you scroll down far enough, you'll see this unit listed as an 80286 @ 8 or 10 MHz. BUT! What's that random sticker on the front?

20211125 095514

A 486, you say? In a 286 motherboard? I didn't quite believe it when I saw the photos on the auction... but opening it up showed that there was a slot for CPU upgrades and, well yes, you can actually put a myriad of faster CPUs in there! This one just happened to have a 486 upgrade.

20211125 095550

Nice. This opens up the game-play and MS Windows opportunities... if only I can get it to run.

Why wouldn't it boot?

Unfortunately, once down to the board, the CMOS battery proved to be the cause of failing to post. Excuse the awful photo, but I was in a state of buyer's remorse...

20211103 170605

You can see the green.. all the way into the CPU slot (middle-bottom) and, well, even further off the edges of the photo. The battery was quickly removed, but the damage was far-spread. Without schematics, tracing those corroded lines would be a nightmare. But what if I could find a replacement?

Buyee to the rescue

Turns out I had a cart of things to purchase from Japan, so I bit the bullet and purchased a junk spare motherboard for this machine. Yes, junk! That's all that was available online... no one in their right-mind would list these boards as 100% brand-new and ready-to-roll. I threw in a LAN card and a terribly-yellowed keyboard, just to double-down on my losses if everything failed! These also arrived in quick succession as Buyee charges like a wounded bull for shipping and uses top-notch couriers.

20211117 150338

The board was inspected and, to my surprise, was somehow perfectly clean. As above, you can see that the battery had corrosion, but it hadn't spread! Compared to the other board, it was a beautiful site.

20211123 215959

20211123 220027

Shit photo, I agree... but above you can see the difference of the areas under the battery. Top being the newly-acquired board, bottom being the one I may have half-attacked with isopropyl and a toothbrush. Maybe, now that I have a working board, I can trace everything on it and check on the old... but honeslty, even in 1986 these boards were so bloody complex that I don't believe I have the skills to re-trace all of those traces.

But does it work?

Everything was assembled hastily... First flick of the switch, nothing... crickets. After a re-seat of everything that could be re-seated, I flicked it again. During the re-seating, I'd also turned the front volume dial up to MAXXX and, on pressing the power a seriously neighbour-annoying PIIIII-POOO PAAAAAAAAAAAAAA was emitted... Of course, the glee of the first two notes was murdered when that last note came out, deafening and disturbing, lasting until I hit the power switch.

Third flick, after another re-seat... PI-PO! Shit, that sounded perfect... I just had nothing plugged in to any video outputs.

Making it output video

This vintage beast loves its archaic refresh rates (more info here). RGB is 15khz or possibly 24khz, but nothing a new monitor will approve of. This video card has three output ports and you'll find the pin-outs here. I hacked together a 5-pin DIN to RCA plug cable (same as the Megadrive, actually, just without sound) and hooked it from the video card's top Mono output port to my 4:3 Samsung LCD.

It worked! But the picture wasn't great... maybe this is NTSC? Probably. I re-installed my capture card and tested out VLC with correct NTSC_J settings.

pc-9801-memcheck pc-9801-basic-startpc-9801-scsi-bios

It @#$%#$$# works! That last shot is with the SCSI card in... so it's found the TEXACO BIOS (is that the oil company? where did this machine come from?!) and tried to enumerate SCSI devices. I had none for it... so I removed ALL CBUS cards and tried to boot my A-Train floppy...

pc-9801-floppy-boot-attempt

First drive found nothing, and when nothing is found the machine just boots into the BASIC prompt. After a reboot with the floppy in drive B, it produced the above and stalled. It actually sounded pretty bad... but diagnosing the floppy drives is a whole-nother post, of which I'll tackle later.

In the meantime, if you want to know more about these machines, check out NEC PC98 Basic Reference. The amount of information in there is amazing!

(Update: The floppy drives live!)

Filed under: Retro 2 Comments
10Sep/210

HoneyBee Mega Drive Controller Directions At 45°?

I've been fixing a bulk load of SMS/SMS2/MegaDrive stuff and one of these controllers was thrown in with a note stating "Erratic Directions."

received 898562814076309

Externally everything checked out, so I opened it up and continuity-tested the cable and plug. No issues there! I tested it again on the SMS2 that I had available and realised that I could get the directions I wanted by mashing in the corners of the D-PAD... what gives? I opened it right up...

received 544488250168490

What's going on here? The actual D-PAD circuit board contacts aren't in an NESW orientation? They're a box, flat on the ground? I continuity-tested for the UP button and it turns out to be the top-right pad. Just to confirm I wasn't bonkers, I put the rubber-contact-thingy back in the D-PAD housing and sure-enough, the pads match the pads!

20210910 181650 (1)

So wait, to get the direction I want, I REALLY DO have to mash in the corners of the D-PAD. This is BY DESIGN. I wasn't a very good gamer when I was young, and this system was available to me at that time. The range is Competition Pro, so I assume this was an answer to the kiddies who held the controller at 45-deg in their left hand and mashed the other buttons with their right? Google is giving me nothing.

NOTE: just looking at that first picture, you can see where your thumb is meant to rest. This easily hints at where UP is. Can someone please point me to documentation where this is made clear that the directions are 45-deg clockwise rotated?

Filed under: Retro No Comments
2Sep/217

IBM 45U0018 POS Keyboard

I saw this unit on eBay and couldn't resist. It really did remind me of the department store POS keyboards and I remember them being clicky. I checked the photos on the auction and saw that it had a non-standard socket and no cable included.

DSC04101

DSC04081 DSC04082 DSC04083

DSC04089 DSC04086 DSC04096

DSC04100

The main keys are fixed, but the surrounding keys have optional translucent key 'covers' where inserts have been placed for special functions. Some of them even cover standard keyboard keys.

DSC04103

But yeah, back to the socket, and do excuse the photo...

DSC04099

It's very similar to a standard IDC Header, but in-set which makes it really difficult to use anything other than IBM's proprietary cables. After a lot of googling, I found that there's both a USB and PS/2 cable version available.

cable-options

Unfortunately, these weren't actually available anywhere... and if they were, the cost was out of control. It seems that these keyboards could also just dock onto the POS system above the till, so it's possible that the cable was only required if you wanted to mount the keyboard elsewhere. Anyway, a cable would be too easy... I'm sure we can work this out!

What does it look like on the inside?

With the hunch that the port supported PS/2 and USB, the keyboard was opened to work out the pinout. Opening it was actually very easy with just 6 small screws on the back. A large plate comes off and then there's just a bit of foil-cardboard shielding over the main circuit board.

DSC04061

Inside, of note, were a TUSB2046B IC and a STM32F103VBT6 Microcontroller with V0326_PF.bin programmed into it. The first IC happens to be the brains for a USB 4-port hub and provided a huge hint for determining the unit's wiring. I started tracing along the pins and the table below is the result.

ibmplug

Note that, when looking at the back of the keyboard into the socket when the keyboard is UPSIDE-DOWN on a flat surface, I've started Pin 1 from the top-right, with pin 6 then being top-left, pin 7 bottom-right and pin 12 bottom-left. This turned out to be silly as all the wires are in vertical pairs.

Pin # Connected To Notes USB Cable
1 Pin 1 of T-46 aka TPS73633DBV Voltage supply for the power regulator. Must be 5v! Pin 1 - Red
2 Pin 1 of TUSB2046B DP0 = Root port USB differential data plus. DP0 paired with DM0 constitutes the upstream USB port. Pin 3 - Green
3 NC?
4 Pin 3 (or 6) of U4 U4 is not populated.
5 Pin 64 (PC7) of STM32F103VBT6 Microcontroller
6 Pin 48 (PB11) of STM32F103VBT6 Microcontroller
7 GND Pin 4 - Black
8 Pin 2 of TUSB2046B DMO = Root port USB differential data minus. DM0 paired with DP0 constitutes the upstream USB port. Pin 2 - White
9 NC?
10 Pin 2 (or 7) of U4 U4 is not populated.
11 Pin 66 (PC9) of STM32F103VBT6 Microcontroller
12 Pin 52 (PB13) of STM32F103VBT6 Microcontroller

Ok, so that's easy for the USB connection.. just wire the 'upstream' pins, +5v and GND into a spare USB cable. The other 2-pair of wires which run into the Microcontroller must be for the PS/2 mouse and keyboard? I wonder which is clock and which is data? There are plenty of images online showing microcontroller-to-PS/2-port hookups, so I'll try that after USB.

Hooking Up USB

USB cables contain 4 wires. First you need two wires for a very standard 5v DC rail and then you need two more wires to transmit and receive data. As you can see from the table above, we have all of these already mapped out. This was all very straight-forward thanks to the documentation for the TUSB2046B USB Root Hub IC. I grabbed a bunch of spare parts from the box'o'junk and started wiring something together. The USB cables I first tried to use happened to be power-only? No data lines! No wonder someone else threw them out.

DSC04065 DSC04070 DSC04071

Too short anyway! So instead, I remembered I had a mini USB socket in another tray'o'junk and set to wiring that up...

DSC04064 DSC04075 DSC04077

I plugged it into my RasPi 400 and it evicted all USB devices...

Sep  2 17:04:30 raspberrypi kernel: [63187.047153] usb usb2-port1: over-current change #1
Sep  2 17:04:30 raspberrypi kernel: [63187.202027] usb 1-1-port1: over-current change #1
Sep  2 17:04:31 raspberrypi kernel: [63187.278524] usb usb2-port2: over-current change #1
Sep  2 17:04:31 raspberrypi kernel: [63187.438880] usb 1-1-port2: over-current change #1
Sep  2 17:04:31 raspberrypi kernel: [63187.518607] usb usb2-port3: over-current change #1
Sep  2 17:04:31 raspberrypi kernel: [63187.678902] usb 1-1-port3: over-current change #1
Sep  2 17:04:31 raspberrypi kernel: [63187.758546] usb usb2-port4: over-current change #1
Sep  2 17:04:31 raspberrypi kernel: [63187.918864] usb 1-1-port4: over-current change #1
Sep  2 17:04:31 raspberrypi kernel: [63187.998562] usb usb2-port1: over-current change #2
Sep  2 17:04:32 raspberrypi kernel: [63188.238478] usb usb2-port2: over-current change #2
Sep  2 17:04:32 raspberrypi kernel: [63188.478480] usb usb2-port3: over-current change #2
Sep  2 17:04:32 raspberrypi kernel: [63188.718503] usb usb2-port4: over-current change #2
Sep  2 17:04:32 raspberrypi kernel: [63188.890074] usb 1-1-port1: over-current change #2

Ooops! Why am I chewing too much power? I google'd around and couldn't find an easy solution to inject my own power, as all answers indicated VCC needed to stay connected. Looking at my wiring again, I realised that this error was bound to happen as I'd wired the polarity around the wrong way! So, after correcting that...

Sep  2 18:44:47 raspberrypi kernel: [69203.309095] usb 1-1.3: new full-speed USB device number 9 using xhci_hcd
Sep  2 18:44:47 raspberrypi kernel: [69203.443182] usb 1-1.3: New USB device found, idVendor=0451, idProduct=2046, bcdDevice= 1.25
Sep  2 18:44:47 raspberrypi kernel: [69203.443193] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Sep  2 18:44:47 raspberrypi kernel: [69203.449815] hub 1-1.3:1.0: USB hub found
Sep  2 18:44:47 raspberrypi kernel: [69203.452677] hub 1-1.3:1.0: 4 ports detected
Sep  2 18:44:47 raspberrypi kernel: [69203.779047] usb 1-1.3.4: new full-speed USB device number 10 using xhci_hcd
Sep  2 18:44:47 raspberrypi kernel: [69203.922725] usb 1-1.3.4: New USB device found, idVendor=04b3, idProduct=4604, bcdDevice= 3.26
Sep  2 18:44:47 raspberrypi kernel: [69203.922734] usb 1-1.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep  2 18:44:47 raspberrypi kernel: [69203.922741] usb 1-1.3.4: Product: IBM Retail USB Alphanumeric POS Keyboard                                     
Sep  2 18:44:47 raspberrypi kernel: [69203.922747] usb 1-1.3.4: Manufacturer: (c) Copyright IBM Corp. 2008
Sep  2 18:44:47 raspberrypi kernel: [69203.922752] usb 1-1.3.4: SerialNumber: 44T4011-200811231006420977000036
Sep  2 18:44:47 raspberrypi kernel: [69203.935428] input: (c) Copyright IBM Corp. 2008 IBM Retail USB Alphanumeric POS Keyboard                                      as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/0003:04B3:4604.000D/input/input18
Sep  2 18:44:47 raspberrypi kernel: [69204.000545] hid-generic 0003:04B3:4604.000D: input,hidraw4: USB HID v1.00 Keyboard [(c) Copyright IBM Corp. 2008 IBM Retail USB Alphanumeric POS Keyboard] on usb-0000:01:00.0-1.3.4/input0
Sep  2 18:44:47 raspberrypi kernel: [69204.008558] hid-generic 0003:04B3:4604.000E: hiddev97,hidraw5: USB HID v1.00 Device [(c) Copyright IBM Corp. 2008 IBM Retail USB Alphanumeric POS Keyboard] on usb-0000:01:00.0-1.3.4/input1
Sep  2 18:44:47 raspberrypi kernel: [69204.016919] hid-generic 0003:04B3:4604.000F: hiddev98,hidraw6: USB HID v1.00 Device [(c) Copyright IBM Corp. 2008 IBM Retail USB Alphanumeric POS Keyboard] on usb-0000:01:00.0-1.3.4/input2
Sep  2 18:44:47 raspberrypi kernel: [69204.035363] input: (c) Copyright IBM Corp. 2008 IBM Retail USB Alphanumeric POS Keyboard                                      as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.5/0003:04B3:4604.0010/input/input19
Sep  2 18:44:47 raspberrypi kernel: [69204.036075] hid-generic 0003:04B3:4604.0010: input,hidraw7: USB HID v1.00 Mouse [(c) Copyright IBM Corp. 2008 IBM Retail USB Alphanumeric POS Keyboard] on usb-0000:01:00.0-1.3.4/input5
Sep  2 18:44:47 raspberrypi mtp-probe: checking bus 1, device 10: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3.4"
Sep  2 18:44:47 raspberrypi mtp-probe: bus: 1, device: 10 was not an MTP device
Sep  2 18:44:48 raspberrypi mtp-probe: checking bus 1, device 10: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3.4"
Sep  2 18:44:48 raspberrypi mtp-probe: bus: 1, device: 10 was not an MTP device

DSC04097

HAHA. It just worked. It's very loosely-clicky, but not bad at all. Hilariously sounds like the registers at David Jones. The trackpad and touchpoint actually work beautifully as well. Very impressive. I assume there's further commands that could be sent to change LEDs, use the peripherals, but I don't need it.

PS/2 Wiring

I didn't feel like plugging this into a PC and restarting it 17 times to work out the wiring, so I used an Arduino Uno instead! Unfortunately, no combination of pairs would get the unit to produce any output. I'll have to do some more digging at some point in the future... a cop-out, I know, but I'm happy with USB for now!

Printing a proper plug

I searched Thingiverse and found a very nice set of IDC Plug Frames. I then dragged that frame into Tinkercad and stretched it to make it fit better. The result is here.

IBM keyboard plug

From there, I used standard 'single' jumper wires to build the 6x2 inner plug and glued them in place. I then soldered up a spare USB cable.

20220315 173505 20220315 173756 20220315 174413

Perfect! Note there's still plenty of these keyboards on eBay from a WA seller. Highly recommended!

Filed under: Retro 7 Comments
1Sep/210

Dual Technologies SKD-4000

This beauty had been doing laps on eBay for a while. I had tried to low-ball it early on, only to receive a swift declination. A week or two later, I offered a little more and it was accepted! The seller took no time to send it to me, perfectly packed. It was listed as untested and with a cracked front-right case. Indeed it was, with one of the plastic clips actually hanging out the front of the opposing top-half, looking slightly like a buck-tooth.

DSC03857

DSC03829 DSC03831 DSC03833

DSC03840 DSC03839 DSC03843

DSC03851 DSC03853 DSC03854

DSC03856

After a little googlin', I came across a site talking about a slightly different version to this laptop. Turns out Dual Group were a Taiwanese manufacturer and built laptops that were then re-branded and on-sold. They therefore didn't really have their own site with any relevant info on this laptop. If anyone manages to find any information on this laptop, then please get in touch in the comments section! I therefore kept inspecting the unit, disassembling what I could prior to needing a screwdriver.

DSC03858

DSC03859 DSC03870 DSC03865

This unit didn't have a power supply, but thankfully the link above provided a pinout for the power supply their SKD-4000 needed. Under this unit, it stated it needed DC 20v @ 1.0A, so I tinned up a set of power wires and dialed in the voltage.

DSC03872 DSC03873 DSC03874

DSC03877

Jamming the wires in the power socket, after continuity-testing for GND, I flicked the power switch... lo'an'behold: the full orchestra of a vintage HDD and a POST beep!

DSC03880 DSC03883 DSC03886

The joy was very short-lived though... the BIOS quickly reported a low battery and incorrect date/time. Hardly surprising! I went into the BIOS anyway and did a HDD auto-detect.

DSC03894 DSC03895 DSC03890

DSC03896 DSC03891 DSC03893

116mb, nice! I saved the config and rebooted, but nothing seemed to have stuck. Seems I'll need to replace the battery to get further. Before that though, does VGA out work?

DSC03898

Nice! Ok, back to the CMOS battery. The link above provided a tear-down guide to help me, but in the end I didn't really need it as this laptop was surprising easy to open and work with! Even the CPU had a flap for easy access? It also has DIP switches for setting the CPU and they seem to configure the CPU pins directly? I'll try and decode them shortly.

DSC03904

The CMOS battery is a piece of work. It's hard-soldered in and it happens to be a rechargeable coin-cell. These are pretty rare nowadays... and... stupid me... I just tried to solder in a coin-cell holder and use a CR2032. DO NOT TRY AND USE NON-RECHARGEABLE BATTERIES IN-PLACE OF RECHARGEABLE BATTERIES!

DSC03929 DSC03948 DSC03958

Turning the unit on saw the coin-cell heat up rapidly, but fortunately I had my finger on the power switch, ready to prevent any spontaneous combustion. I then tried a 3.7v cell I had lying around, but the laptop started reporting 10 error beeps indicating that no battery was available at all. I really do hope I haven't trashed the charging circuit. At this point, I ordered an exact replacement Panasonic VL2330 battery and then looked for other things to fix up.

Power Plug

Whilst waiting for a battery to arrive, I realised I should solidify the power supply. Seems this type of plug is called a SnapNLock 4-Pin Mini DIN and I was pleased to see it available at Jaycar. I purchased a few (luckily) and attempted to wire one up. Soldering it was easy enough, but assembling it was next-level.

DSC03971

I mean, just look at the datasheet (which, actually, wasn't even east to find!), and you'll see what I mean... 8 components to jam together in a not-so-obvious order. I trashed the first plug and sorta-but-not-really succeeded with the second plug... it was good enough to test with.

Dip-Switch Dissection...

There are two blocks of four switches and, with no documentation, I set about trying to determine what these might control. Looking at the set closest to the CPU first, one can find the traces run off CPU pins.

DSC03975

Thanks to the glory of the internet, one can find pin maps and descriptions of pins readily available. The latter doesn't go into much detail, so actual CPU datasheets can also come in handy. After a little digging, it seems this block of switches controls maths error handling and interrupt line access to the CPU. I might just leave them as-is.

Dip-switch Name Solderable-jumper name Connected CPU Pin Pin Function
JP1-1 JP44 B15 NMI - Non-Maskable Interrupt
JP1-2 JP41 Can't tell... but seems to toggle the signal from JP1-1 through to JP3.
JP1-3 JP42 A15 IGNNE# - Ignore numeric error
JP1-4 JP43 C14 FERR# - Floating Point Error

The second block's traces disappear into the board's layers and are impossible to trace and understand.

The BIOS

Just for fun, I popped out the PLCC32 and read it in my Willem Programmer.

DSC03972

You can download the BIN file here.

Back to that Battery

A proper Panasonic VL2330 arrived and I soldered it in place. Applying power heard the same beeping. Ok, let's follow the traces to the left and see what's going on... two diodes, both seem to conduct power... then the voltage goes into pin 20 of that IC... with no marking? Why no marking?

DSC04002

Under the right light, it turned out to be an Epson RTC-6593 Real-time Clock. It even has integrated battery-backed RAM! Of course, this unit stores my BIOS settings. Why has the label disappeared? It's COOKED! It tried to burn me when I touched it. We can only assume it's due to my testing of other batteries... if only I'd bought the correct replacement at the start.

Replacing the RTC

So, I'm game to try this... what I'm not game for is fake chips! Searching for this IC has only come up with seemingly-dodgy sellers on Alibaba and eBay. I've just thrown in a few orders and we'll see what comes back. In the meantime I've removed the existing IC and cleaned up the area. Interesting to note that the silk-screen shows the IC should be an RTC-6583, whereas a 6593 was installed. The datasheet seems to indicate that 659x has "Extended Alarms" whereas 658x doesn't.

DSC04005

During removal of the chip, I just happened to remove a pad... I blame the fact that the IC was actually glued down to the board! I couldn't work out why the IC wouldn't move, regardless of the pressure I applied. Furtunately, it was a quick fix with winding wire and it's ready to solder up.

DSC04011 DSC04014 DSC04020

I'll post a Part II once the ICs have arrived.

Filed under: Retro No Comments