GeneralComments Off on Recreating the Commodore 16 PLA
Mar132018
I recently picked up a nice boxed Commodore 16 for not too bad a price.
The PLA found in this is a MOS variant of the PLS100 PLA chip. I don’t believe it can natively be dumped as it seems to have its connection on pin 1 severed internally and decapping done some time ago revealed it was neither a PLS100 or 82S100 device either despite the pinout being the same.
I wanted to make a replacement using the NOS PLS100 chips I have because some people like that sort of thing and there doesn’t seem to be anything out there publically already.
I hooked up the PLA to an Arduino MEGA and wrote a small program to count through all combinations of the address pins and log the outputs to a 64KB binary file.
From here I wrote a program that converted the file to a truth table
and finally into equations which I could compile to a PLS100 fusemap using the old easyABEL program.
From here I could program a blank PLS100 and test in a real machine.
Still need to do some testing but early signs are looking good.
Most likely the component was internally faulty so I replaced it with a repro of mine:
Finally the board booted into game but the sound was barely audible also at maximum volume level:
After a visual inspection I found that the component silkscreened ‘PX4460’ was missing from sound section:
Board uses also another little sound custom, the “LPF6K”, here is a picture from another board for better understanding:
Actually you can replace them by installing the parts they are internally made of directly on PCB (there is silkscreening for them) but I wanted to keep the all-in-one solution the so I decided to have a look inside them in order to reproduce both (although the ‘LPF6K’ was not missing on my board).I removed the coating and did an Hi-Res scan;
On the left on the above picture it’s the naked ‘PX4460’ which, like its name suggests, embeds all the parts (minus the 1000uF 16V electrolytic capacitor, this is on the PCB) needed by the typical application circuit of the ‘LA4460’ amplifier as datasheet shows :
On the right of the scan, it’s the ‘LPF6K’ that contains an LM324 OP-AMP and all its required parts, its function is to pre-amplify the sound.
Given the simplicity of both customs it took few time to figure out schematics and route them to a replacement PCB.Here is the result:
Installed on PCB ready for the smoke test:
Success!Sound was restored and both repro worked fine as replacement.
The ‘TC0070RGB’ is a 15-bit RGB DAC (5-bit for each color) used in many PCBs from Taito : Rainbow Islands (Normal and Extra version), Bonze Adventure, Cadash, Continental Circuit, Chase HQ, Operation Wolf, Final Blow, Ninja Warriors just to name few.As many custom RGB DAC of its era it comes in SIL package (picture taken from the net)
I will not go into the technical details since the component has been already analyzed and schematics figured out as well as a reproduction has been excellently realized by Macro (who embedded all logics into two GAL devices) :
What I have done is I simply reproduced the ‘TC0070RGB’ in my way trying to stay as much close as possible to the original design while keeping the same dimensions, color and parts used.The result is quite pleasant:
As many of you collectors/enthusiasts may know, the FM Towns Marty is is a home video game console released in 1993 by Fujitsu, exclusively for the Japanese market. It was the first 32-bit home video game system, and came complete with a built in CD-ROM drive and floppy disk drive (able to read 1.2MB formatted disk like other japanese systems). It was based on the earlier FM Towns computer system Fujitsu had released in 1989. The Marty was backward-compatible with older FM Towns games :
A later model called Marty 2 was released in 1994 but it was essentially the same hardware (darker grey shell apart)
Game list includes many Japanese versions of great PC games, such as Indiana Jones and the Fate of Atlantis, Wing Commander II, Ultima VI, Monkey Island II, and so on.But this console is well known also for having many arcade-perfect ports like Splatterhouse, Tatsujin Oh, Raiden, Super Street Fighter 2, Viewpoint and other.Most of its software is on bootable CD-ROM but some games require both a CD and a floppy disk, so even if a burned CDR is used, a correctly formatted floppy is also required.Sadly the floppy drive is a weak point of this console, in best of cases the drive belt may melt over time but the unit is considered fragile and no spare are available.Luckily nowadays FDDs can be replaced by emulator and in this article I will explain how to use an HxC SD floppy emulator (by Jean-Francois del Nero) in a Marty (or Marty 2 like mine) console.
The original FDD of the FM Towns Marty console is a EME-215FS manufactured by Matsushita with a 26PIN FFC connector and cable (1.25mm of pitch) :
No info were available about so I first analized it and came to the conclusion that its pinout was the same of a slim 26PIN FDD for PC which comes with a FFC connector too but pitch is 1.00mm ( pin 13 and 21 are GND on Marty)
Based on the above pinout I figured out the connection diagram to the HxC (or a real 34 pin FDD able to handle 1.2MB formatted disks)
Obviously some kind of adapter was needed.Not having a spare 1.25mm FFC connector I ended up to remove the one from original drive and build an adapter to 34 PIN IDC (the 4 pin connector is for powering the HxC) :
I carried on the first test on a Samsung SFD-321B FDD (modified to work as Shugart drive) and it worked, I was able to read/write/format 1.2MB 3.5″ floppies :
But I was not able to do the same with the HC floppy emulator.After some emails exchanged with Jean-Francois del Nero (a.k.a. Jeff, the designer of the HxC) we found the issue.The READ DATA signal (output from pin 30 of the HxC) was quite slow to rise up in his opinion:
He suggested me to install a 220 Ohm pull-up resistor between pin 30 and +5V (actually FDD outputs are already pulled-up with 2.2K resistors so a further 220 Ohm one put in parallel lowers the resistance to VCC to about 200 Ohm).This corrected the signal to what Marty expected to see:
Doing so finally I got the HxC flopy emulator working with my Marty console!Here are a couple of video I made during reading and formatting operation (sorry for black&white picture but my TV cannot accept NTSC signal)
As for the HxC configuration file you can set the interface on “Auto” or ” Generic Shugart” and all other settings on “From HFE”
A big thanks again to Jeff for his wonderful device and support (and patience with me too..).
I recreated this late last year but haven’t been able to test until recently.
This is the last missing dump from the MK2 hardware.
The ID is A-17481 and is located on the sound PCB.
Thanks go to JokerCK for lending me his GAL chip to reversing. Also big thanks to JonHughes for confirming the recreation worked for someone other than me. Finally thanks to my good friend Paul for stripping his PCB out of his cab for me to do some testing on.