Mar 122017
 

This has been my main project for a long time now. Its something I started initially on the ABI Boardmaster 4000 as simple pin toggle routine. This allowed me to toggle the logic states of any pin and get a live update of the state of all the pins.
When I first got my Arduino MEGA I decided to port the program over to that as my first project.

PIN TOGGLER

It ran through a terminal window and was pretty much identical to the BM4K version I made.
It has a jumper on the board to switch power between 20 and 24 pin devices.

Revision 1

From this point I wanted to have a Windows GUI so I could have a graphical environment when using my ‘pin toggler’.

I also moved to using the ports of the Arduino to speed accessing up so with this in place I added the ability to brute force the operation of the chips so Caius could recreate 24 pin devices. The method used was identical to the way Charles MacDonald’s device worked so to keep compatibility with his analyser program. I don’t really require the ‘dumping’ feature of this as I use the hardware from Charles and its a lot faster to use but this option is there if I ever need it.
There were a couple of other things I wanted to add too from a hardware point of view. I added two reset buttons to the ‘shield’. One was to reset the Arduino itself and one was to reset the PAL/GAL in the socket. The jumper was still present on this revision to select 20 and 24 pin devices.

Revision 2

Not too long after revision 1 I decided I wanted to be able to control the power to the chip from the software. As you can see the jumper is gone and got replaced by a couple of transistors and resistors. Using this setup I could easily select 20 and 24 pin devices using software. I don’t think there were any other changes here.

Revision 3

This is where things started to gain momentum within the project. I spent a lot of time changing the software for this one.
So the hardware had a couple of obvious changes. First was I added LED’s to show which device type was being used.
Second was the socket itself. I had bought a ZIF socket for the project but it had 0.6″ spacing so in order to let me select between the two should I need to, I added both to the layout

The software got a big update this time around with many things being rewritten.
Myself and Caius had started to realise that there were quite a lot of PAL’s out there that used latches. Latches can be implemented in a non registered IC by using the feedback from an output pin. In some cases we haven’t even realised that latches were being used and it was only later we found out when people raised an issue.
To check for latches I added the ability to dump the PAL backwards so instead of counting the applied address up it counted down. It performed a forward and reverse operation then compared the results. If they were a match then it was a good bet that latches weren’t being used. I also added the option to use random addresses too which would give a more thorough test but took a lot longer to complete. I have never really needed to use this so far.

Revision 3a

This revision moved to surface mount components, removed the ability to use 0.3″ space ZIF socket and also added extra resistors. The resistors on the input only pins were there for protection in case of shorts.
Aesthetically, this one had rounded corners.

The software added support for those 20 pin devices that had an extra IO pin at pin 9 like the PLS153 and GAL18V10 although the supporting analyser software didnt support this so it never got used but it meant the pin toggle part of the software could use it.

Version 2

So here we have Version 2. All the previous iterations were what I called version 1. This one never turned out as I had hoped. I moved away from using ports on the Arduino which was a massive mistake. I did gain complete flexibility though. I had been studying some strange devices with a non standard IO configuration. This was going to be my of dealing with those devices. Unfortunately it became painfully clear that my software was so rigid that it didn’t allow changes to be easily made.
At this point I decided to rewrite my software from scratch opting for more of a suite environment for all this PLD rather than a simple bit of software.

The software as it stands right now is my proudest creation. It has GUI’s for MAME’s JEDutil and Charles’ analyser program and also the commandline version of WinCUPL too allowing everything to be done in the same place easily. It can also be set to automatically analyse a ‘dump’ and compile to a fusemap.

That’s where this project is right now. I’ve not finished with it yet but its not actively being developed either.
Hopefully I will get back to it at some point but at this moment there isn’t too much need

 Posted by at 12:45 pm

Big Bang – Power Shooting repair log

 PCB Repair Logs  Comments Off on Big Bang – Power Shooting repair log
Mar 102017
 

I had on the bench this Big Bang – Power Shooting PCB (also known as Thunder Dragon 2)

When powerd up it played almost blind, no graphics were displayed:

MAME source reports two devices containing the foreground and background tiles graphics data :

ROM_REGION( 0x020000, "fgtile", 0 )
ROM_LOAD( "1.bin",    0x000000, 0x020000, CRC(d488aafa) SHA1(4d05e7ca075b638dd90ae4c9f224817a8a3ae9f3) )    /* 8x8 tiles */

ROM_REGION( 0x200000, "bgtile", 0 )
ROM_LOAD( "ww930914.2", 0x000000, 0x200000, CRC(f968c65d) SHA1(fd6d21bba53f945b1597d7d0735bc62dd44d5498) )  /* 16x16 tiles */

My programmer warned me about a bad contact of pin 32 (VCC) when dumping the EPROM labeled ‘1’ U15 which store foreground data, most likely the +5V wire bond was detached from package:

:

Replacing the bad device with a programmed 1Mbit EPROM restored all graphics but some garbage were present on screen:

I promptly fixed this issue reflowing some of the surface mounted ASICs.At this point graphics were almost good except for some foreground objects which had wrong colors (bleeding too in some parts).Here is a comparison with MAME snapshot on the left:

and in details some of the affected objects (MAME snap always on the left):

At this point I spent some time to understand how hardware works but, honestly, due total lack of documentation, it  was a trial and error.I replaced some of the surface mounted customs until I caught the culprit :

Replacing it (spare part was taken from a dead Hacha Mecha Fighter PCB) restored correct graphics:

There is an explanation : this ‘NMK 903’ custom is connected to data bus of the 1Mbit EPROM containing the foreground GFX data which was faulty too.So most likely there was a chain failure hence one IC went bad and took out the other (not sure which one for first).But this few matters, another game successfully repaired!

 Posted by at 10:59 pm

Tube Panic PAL dump added

 PAL Updates  Comments Off on Tube Panic PAL dump added
Mar 082017
 

Today I dumped the only PAL from an original Tube Panic PCB (manufactured by Nichibutsu), device was a secured PAL10L8 @F17 on CPU board.Dump has been successfuly tested on GAL16V8 targeting device.Board was loaned by ‘robotype’, thanks to him.

 Posted by at 9:11 pm
Feb 212017
 

Some days ago I had on the bench for a repair this pretty rare Air Raid PCB (manufactured by Seibu Kaihatsu) :

As you can see from picture above hardware use some big SIL modules which contains all tiles/sprites data (currently undumped but MAME team is working on).My board was faulty, it has sever graphics issues :

Tiles was filled with garbage :

And sprites had blank lines through:

PCB was in almost mint state, only two 2k x 8-bit static RAMs replaced.Besides, it was fully populated with Hitachi TTLs which  are very reliable.So, my suspicions fell on the remaining RAMs (more than on SIL modules) since they were all TMM2015 (like the already replaced ones, all 6116 pin to pin compatible) which means high chance of failure

Probing the two @6D and 14D revelaed unhealthy signals on data lines:

They failed when tested out-of-circuit:

Replacing them restored graphics completely.End of job.

 Posted by at 11:36 pm

Track & Field repair log

 PCB Repair Logs  Comments Off on Track & Field repair log
Feb 202017
 

Received for repair this original Track & Field (manufactured by Konami but actually it mounted the Centuri ROM set)

On power up it showed almost nothing on screen, most of graphics were missing, only some sprites were barely visible:

On a closer ispection board was corroded especially in the backgrounds generation circuitry, both sockets and inserted ICs ( the ‘082’ custom and the three EPROMS) were affected:

I replaced the sockets, rebuilt the ‘eaten’ legs and cleaned the oxidized ones but this didn’t improve anything.All the graphics is generated on bottom VIDEO board and most of the logics were from Fujitsu (which means an almost certain failure) so I went to probe TTLs with my logic comparator and found a bad 74LS157 @9H (its outputs generate some address lines for the two 2018 tiles RAMs)

This improved a lot, more graphics were displayed :

Always probing in-circuit the Fujitsu TTLs, I found a 74LS139 @14D with all floating outputs:

It obviously failed when tested out-of-circuit:

Now graphics were mostly present but gameplay was accelerated and sound missing too:

This is issue must have caused by some problem with main CPU,  all the circuitry was on top board and also here Fujitsu TTLs were massively used.Probing around I found a 74LS244 @1C just near the Konami-1 CPU with some stuck outputs:

Replacing it restored completely graphics, speed and sound:

But I couldn’t coin up and start a game with both players, inputs were unresponsive.Tracing them back from edge connector they are tied to some 74LS253, from Fujitsu of course:

Without thinking twice I removed the two ones @3E-3F involved in P1 and P2 controls (the other two are for P3 and P4)

They both failed when tested out-of-circuit:

Now board played perfectly, the last issue I had to solve was that highscores and records were not saved, I got only some random characters instead:

This obviously had to do with the +3Volt CR2032 battery installed on CPU board , it was really low (only few millivolts measured)

I installed a fresh battery with its holder to finish the job :

A great classic preserved!

 Posted by at 10:29 pm