Saturday, 1 May 2021

Irem 'KNA70H015(11)' and 'KNA70H016(12)' reproduction

Recently I have been working on reproducing the custom chips found on Irem M72/M82/M84 hardware.

Often these chips have scratched-off part number (especially in later hardware like M82/84) but on my R-Type PCB (M72) they were visible so I started my work with the 'KNA70H015(11)' (SDIP64) and 'KNA70H016(12)' (DIP48)


Functions of these chips are not really clear due to scarce info available, we have only the pinout from schematics so I studied them at 'low level" looking at previous hardware and trying to guess their functions.TTL thru-hole prototypes were done after some time :

Testing of both prototypes was successful on different boards :


 

This achievement opens obviously the way to implement the equivalent circuit on complex programmable logics for proper replacement of the original chip as well as making possible a multi board or a FPGA emulation.Stay tuned for further updates about reverse engineering of the other Irem custom chips.

Thursday, 29 April 2021

Seibu 'SEI80BU' reproduction

The 'SEI80BU'  (silkscreened on PCB as 'SEI0080BU' or simply '80') is a custom chip found on some Seibu Kaihatsu arcade PCBs like Toki, Cabal, Dynamite Duke, Raiden (encrypted version) and few others.

It comes in a SDIP42 package :

The chip is part of what is commonly referred as "Seibu Sound System" along with a Z80A, a YM3812, a YM3931 and an Oki MSM6295 or a MSM5205.

MAME emulates the 'SEI80BU' defining it as 'Encrypted Z80 Interface'.Anyway, the first thing to do when reproducing a chip is obtaining the pinout and, possibly, the direction of each pin.No other info were available so first of all I traced the connections of the chip on my PCBs and figured out it does more, acting as a clock divider too.Doing some prototyping on breadboard I was able to reproduce these functions quite easily.

Anyway, as said, the main role of the 'SEI80BU'  is to provide a decryption engine of Z80 sound CPU code (performing some data bits swap)

I don't have high programming skills (I'm mainly an hardware guy) so I asked my friend 'uchopon' (a skilled coder with a huge knowledge of arcade hardware) for some help.After few time he provided code of the encryption engine to be programmed in a complex programmable logic.I routed a board in which I implemented both the decryption engine (embedded in a small CPLD) and the clock dividing circuit.This was the result :

Usually CPLD based replacements need to be tweaked because of timing incompatibility with the hosting hardware but in this case I was really surprised the reproduction worked perfectly on first try!

Here's testing on my Cabal and Toki PCBs:




Another custom IC preserved.Thanks again to my friend 'uchopon' for his invaluable help!

Sunday, 11 April 2021

Namco '00xx' reproduction

Here's another custom IC I recently reproduced.It's the Namco '00xx', the video RAM addresser (basically the same as Pacman's "284" VRAM Addresser) used on :

  • Dig Dug
  • Galaga
  • Super Pac-Man

Original custom IC come in  DIP28 600 mil package with stamped number of four digits (but the 3rd and 4th digits can vary because they actually refers to the lot/date production hence the first two digits really matters) :


I made a TTL thru-hole prototype board :

It worked fine on first try.Here's successful testing on a Galaga PCB :

 
 
 
Next step will be a surface mounted TTL or CPLD based version, stay tuned!

Tuesday, 23 March 2021

Konami '056747' reproduction

The '056747' is another hybrid audio module found on Konami PCBs of the 90s.It shares the same ceramic package of the "brothers" '054986A' and '054544' :

But it has a different design of the analog circuit (the '054321' ASIC is still present as 'core' of the digital circuit).Personally I've seen it only on few PCBs like Run & Gun, Gaiapolis, Monster Maulers :


Although the different design his functionality is exactly the same of the '054986A' so both are fully interchangeable.I thought it was a good thing to reproduce it in order to have another replacement option for these such a fragile parts :


 Testing on a Lethal Enforcers PCB :

Monday, 1 March 2021

Toaplan 'GXC-0x' reproduction

The 'GXC-0x' (where 'x' suffix can be 1, 2,3, or 4) is a custom IC in DIP40 package found on some Taito/Toaplan arcade PCBs and used as protection :

 

As you can see from above pictures the chip has three rows of markings but only the first two matters so the ICs with same first two rows but different third one are actually interchangeable.Here's the board list and labelling of each revision of the chip (info taken from MAME source)


Electronically speaking it's a TMS320C010 DSP co-processor in disguise with internal MASK ROM.Recently the internal code has been dumped from all revisions and added to MAME, you can read more about here :

Extracting the elusive TMS32010 mask ROM  

This achievement opened the way for possible replacements of this custom IC simply using a not windowed/not erasable version of TMS320C10 and having it execute the code from an external memory.Here, for example, one made recently :

Toaplan/Taito GXC-0x MCU replacement

For my reproduction I decided to adopt a different design using a single ROM to store the external code of the MCU (instead of having two ROMs with deinterleaved lower and upper bytes), this allowed me to obtain a smaller and compact board :

Like other replacements you can set via dispwitches the desidered MCU accordingly to the one used by the PCB. Here's testing of the reproduction on different boards :
 
Set as 'GXC-02' on Wardner/Pyros PCB :
 
 



 Set as 'GXC-03' on Kyuukyoku Tiger PCB :


 

 

 Set as 'GXC-04' on Twin Cobra PCB:


 

Set as 'GXC-04' on Demon's World/Horror Story PCB:




Saturday, 27 February 2021

Fujitsu 'MB112S146' reproduction

Recently I made a reproduction of the Fujitsu 'MB112S146'.As far as I know this custom IC is used on few Taito arcade PCBs like Arkanoid (which uses two of them) and Legend of Kage.It's a DIP28 .600mil chip having the main function of graphics shifter :

Actually we already have a working replacement of the Fujitsu 'MB112S146' designed by 'Porchy' from JAMMArcade, time ago he successfully recreated and implemented the functions of this IC into a CPLD :

Taito MB112S146 custom reproduction

As for me, I reproduced  it in a 'poor' way using simple TTL gates instead of programmable logic devices :


Testing was successful on my Arkanoid PCB :


Thursday, 18 February 2021

Aliens repair log

Recently I got for repair an Aliens PCB, a great side-scrolling shooter arcade game developed and published by Konami in 1990.Board was in good overall condition :

But on power up I was greeted by a flashing blank screen along with a clicking noise suggesting that board was resetting in an endless loop due to the triggered watchdog circuit :


Hardware uses a custom CPU in PGA package marked '052526' :


Probing it revealed the 'DTACK 'pin was never asserted ('DTACK' is an input signal that informs the CPU that data is ready to be read from memory. It stands for "Data Transfer Acknowledge.")

Schematics shows this signal is generated by a 74ALS74 @F11.Going upstream I found the signal named 'IOCS' was stuck high: :

The 'IOCS' signal comes from one of the two PAL16L8, precisely the one marked '053327' @D20, this is the main address decoder as schematics shows :


PLDs (GAL or PAL)  are usually quite reliable but in this case it was the first suspect so I removed the chip and read it in my custom PAL dumper.The result was quite obvious, most of outputs were recognized as invalid or fixed high (like pin 14 which generates, indeed, the 'IOCS' signal)  :

 


Luckily this PAL was dumped by me time ago so I programmed the fusemap (downloaded from the JAMMArcade PLD archive) onto a GAL16V8 :

 

I powered up the board again and it booted up into game :


I played some games and no further issues were present so this was another successful repair and another great game preserved.

Wednesday, 20 January 2021

Namco '6xA1' reproduction final revision

Another small update.

Some time ago I designed a device that can replace all the three Namco MCUs marked '60A1' , '63A1' and '64A1', you can read more about in my previous post :

Namco '6xA1' replacement

The replacement was working fine but I later realized that it could not fit well on certain boards due to its dimensions so I made a more compact board layout using smaller surface-mounted packages.Here's a side-by-side of the new board with the orginal custom '64A1' used on Namco System 1 games :

Like the previous revision also this last one can substitute the three Namco '6xA1' MCUs, you can simply select which one you need by setting a 2-way DIP switch located on bottom side :

 Here's the replacement set as '64A1 and installed on a Splatterhouse conversion PCB :


Tuesday, 12 January 2021

Irem 'M72-ROM-C' board reproduction

Here's another reproduction I made lately.This time not of a custom IC but an entire board, more exactly the top one (silkscreened 'M-72-ROM-C') from R-Type, the horizontal-scrolling shooter arcade game developed and released by Irem in 1987 and running on 'M-72' hardware.

I tried to stay as much closer as original board (that contains program code and sprites data) so everything from the original layout was kept including silkscreening. mounting holes and so on.The only variation I made was to use surface mounted by-pass ceramic capacitors on bottom side instead on thru-hole ones on top.

Here's how the replica looks (with the original ROM set mounted) :

Here's a side-by-side comparison of original board on the left and reproduction on the right 

To point out that the reproduction was done by me with no cloning program or other automated process but only by manual tracing of the original board using a multimeter and then comparing my schematics with the available ones.

Enjoy!



Sunday, 10 January 2021

P-47 - The Freedom Fighter repair log and Jaleco 'JK-01' - 'JK-02' reproduction

Got for repair a faulty original 'P-47 - The Freedom Fighter' PCB, an horizontal shooter originally developed by NMK and published by Jaleco in 1988 running on Mega System 1 hardware :


The board was dead, no sign of life, only a steady black screen.First of all I checked with a logic probe if the RGB colors were active, they were all stuck :


I traced the signals back to the cutom SIL marked 'JK-02' :


This part is basically an RGB DAC (like the Taito 'TC0070RGB' for example), doing some check with a multimeter I found its pin 15 was almost shorted to GROUND :

Pin 15 is the RESET input signal for the internal circuitry.I traced it back to pin 23 of a near surface mounted IC (a custom gate array from NEC) :


I lifted that pin and the short was still present on the 'JK-02', this confimed it was really bad.So I replaced it with a same part taken from a donor board (but with the intention of reproducing it at a later time).This gave me back the RGB output but all I got was a static garbage screen :


Checking the 68000 main CPU revealed no proper /RESET signal, there was no transition on boot from a LOW to HIGH logic state :


The signal is generated by a typical circuit based on the 'PST518' voltage monitor IC :


Then it's inverted by a Schmitt trigger (74LS14) but my logic probe detected no signal on this IC :


A closer insection revealed a broken trace from the near 10uF electrolytic capacitor to the 74LS14.The role of this capacitor in this reset circuit is primary because, when the power supply voltage drops below a certain threshold, it suddenly discharges generating thus the required reset signal.I restored the connection and finally the board booted into game but sprites were almost missing, they were displayed as a few lines :


Studying the hardware a little I figured out the part of the circuit that acts as sprites line buffer, there are four 62256 (32K x 8-bit) static RAMs:


 I probed these RAMs with my scope, all of them had unheathy signals on data lines :

 

I removed the first two chips :


They failed the out-of-circuit so I replaced them.This improved things, sprites were more visible but not yet perfect.So I pulled the other two RAM chips, they were bad as well :


Replacing them restored sprites completely.Playing some games revealed a new issue, controls were not working, both players' airplanes moved downward by themselves and crashed :

 

This is a common problem on Jaleco Mega System 1 hardware because inputs are handled by some custom SIL marked 'JK-03' whose legs most of times bend and lose connection with the internal circuitry.This was also my case, they were not in great shape :


I was able to salvage two of them but the third one was damaged beyond repair so I replaced it with a reproduction of mine :


I was about to archive this repair as successful but playing the game I noticed some sound samples (like explosions, power-ups) were missing :


The samples are played by two OKI MSM6295 located on ROM board :

"Listening" with an audio probe the analog outputs of the two MSM6295 revealed the missing sounds were present and correctly played by one of them but then lost somewhere.Tracing the output back lead me to the cause :

A 10uF electrolytic capacitor (that routes the analog signal from the OKI MSM6295 to the motherboard) was ripped.Fitted the missing part restored full sound and fixed board completely.Another repair successfuly accomplished.


Now the reproduction section of this repair.

As said above, the 'JK-'02' custom SIL was bad and, after replacing it with a same part, I later reproduced it :


Testing of the 'JK-02' reproduction :

 

The Jaleco Mega System 1 hardware uses a third custom SIL marked 'JK-01' which is involved in graphics generation:

 I thought it was good for hardware preservation to reproduce this as well so I made it:

Testing of the 'JK-01' reproduction :

 
 
Now the set is complete and we have a replacement for all these fragile Jaleco 'JK-0x' custom SIL.