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.