Wild West C.O.W. Boys of Moo Mesa repair log #3

 PCB Repair Logs  Comments Off on Wild West C.O.W. Boys of Moo Mesa repair log #3
May 032017
 

Today I received this Wild West C.O.W. Boys of Moo Mesa PCB for repair:

PCB was faulty, initial RAM/ROM check  failed showing a ‘SOUND SYSTEM BAD’ error and then resetted  :

Sound circuitry was already reworked: two RAMs, the Z80, the YM2151 and the ‘054539’ ASIC were replaced, the ‘054986A’ module was socketed too.But this was not enough to locate the fault :

The sound system reported as bad is ruled by a Z80 CPU, probing it revealed its pin 16 (/INT) was asserted, this meant the CPU was undergone an interrupt request stopping execution of code.It was time to use my Fluke 9010A.When I performed a BUS test, it reported address bit 15 (pin 5 of Z80) tied LOW:

This doesn’t necessarily implies the address line is shorted to GROUND but also that something is forcing it low.But in my case it was really shorted (only few Ohms of resistance to GROUND measured)

Doing some continuity test on a good board I could figured out that pin 5 of the Z80 is connected only to pin 5 of the PAL ‘054744’ @E7 and pin 1 of the 74ALS157 @C7 so in my faulty board one of these IC was bad :

For first I intentionally cut the trace going to pin 1 of the 74ALS157 @C7:

This actually cleared the short to GROUND of pin 5 of the Z80, hence the TTL was internally shorted.Tested out-of-circuit it obviously failed:

Now board could pass the RAM/ROM check and enter in game:

But sound was very faint, barely audible.I was forced to set volume to maximum to hear something:

The ‘054986A’ module was already recapped with thru-hole electrolytic capacitors:

A faint sound meant the main amplifier was working but something was wrong in pre-amplification performed by the 4558 OP-AMP on the underneath of the module.So I went straight and replaced it with a compatible LM358:

Sound was back loud and clear!Job done.

 Posted by at 8:52 pm
May 022017
 

UPDATE: 3/5/2017

Latest version is 0.5 TEST. [ CRC $536E ]

This version has been tested on real hardware. Thanks to a KLOV member [ thanks PinballPatTN ] for loaning me his faulty board and allowing me to finally get the code fixed.

Sprite rams are banked at 0x1000-0x13ff and are enabled/disabled via IRQ.

Changes and improvements

  • Improved runner animation frames which were incorrect previously.
  • H8,H9 and J8,J9 object rams are now cleared and tested properly.
  • Enabling DIP 5 puts the game in diagnostic mode on power up.
  • Various fixes and improvements.

TODO:

Determine if the actual hardware supports flipy for the character display. Currently, flipping the character set in this direction results in a blue display [ blank set of tiles ]. This seems to work in MAME but not on real hardware.

23/08/2015

This is an initial test release.  A BETA version will replace it and this post will be updated pending sufficient feedback.

This EPROM installs on the CPU board @ G15. This does not replace the original software in G15 but is only used as a means of testing the main-board, sound and video.

Diagnostic mode is accessible by holding down player 2 start whilst powering the game on.

In the normal mode ( power up tests ), nvram tests may be skipped to preserve high score data if so desired. This is done via DIP 3 of SW2. A ~10 second countdown is also included even if you desire to test your nvram, in this mode nvram tests may also be skipped by pressing the “player 1 button 1”.

Power up tests also include a rom utility. This currently identifies Hypersports/Hyper Olympic84 software in any of the 5 available sockets ( G5 to G13 ). For example, a C06 ROM installed in any of the above available sockets will still be identified for its designated G15 socket.

000000020003

See TEST VERSION 0.5 for download

Bubble Bobble PAL dumps converted and tested

 PAL Updates  Comments Off on Bubble Bobble PAL dumps converted and tested
Apr 302017
 

I converted to GAL fuse map the Bubble Bobble dumps we had in native PAL format (provided some time ago by an unknown source) and successfully tested the conversions back on my original Taito board.I also adapted in a GAL16V8 the only Bipolar PROM (used for video timing) located on VIDEO board of this PCB @IC41, you can find it in the ‘GAL replacement for Bipolar PROMs’ section.

 Posted by at 9:14 am

How to use JEDutil

 Guides  Comments Off on How to use JEDutil
Apr 292017
 

JEDutil is a program included with MAME.
While MAME doesn’t directly use PAL dumps for emulation it does look to load them if they are available. As each programmer has its own output format when reading these chips (some are really different, other not so much) there arose the need to have a standard.
Read here for more information

What can JEDutil do?

It can convert a programmer usable .jed file to a MAME usable .bin file
It can convert from the MAME usable .bin file back to a programmer usable .jed file
It can be used to view the equations of any support .jed or.bin file

To see a list of supported devices you use the “-viewlist” argument

To view equations use the “-view” argument

These equations show exactly how the outputs works in relation to any given input and I believe is self explanatory to those who are looking.
Here is what the file im using for this example looks like in a text editor

You can clearly see it was created using WinCUPL.

Here is what a JEDutil created .jed file will look like opened up in a text editor

It looks very similar to the WinCUPL created file and most programmers i’ve encountered can load these without issue. One exception to that (and there are certainly others too) is the Needham EMP-20 which seems to use its own binary format that is not compatible with the MAME format.

Here is what a MAME usable binary file for a .jed will look like in a hex editor

There are clear difference between the binary and jedec files and should be easy to spot if you are not 100% sure what you have got.

Converting a MAME binary to a Jedec file
If you want to use the PAL dumps found in MAME on real hardware then you MUST convert them from their binary format back into .jed format.
You need to use the “-convert” argument

Note the filename extensions used here. The output file must be .jed (or .pla) or the conversion will fail and you will see this useful message

Converting a Jedec file to a MAME binary
To convert a .jed file into a MAME .bin file you simply use the same command but swap the filename extensions.

This will create the binary file. The original .jed file will remain untouched.

The only time I can really think of anyone needing to convert to a MAME binary is if you are submitting your dumps for inclusion to MAME
I’ve yet to ever find a use for the Berkeley PLA conversion so I haven’t covered it in here but if required it should be straight forward enough to work out.

Other Errors
Occasionally you might see some more cryptic error messages when using JEDutil. While there are things you can do to try and get around these they might also be a sign of a corrupt file or one of incorrect format.
The Jedec file format has two checksums both found at the end of the file.
The first is the fusemap checksum and the second is the transmission checksum

In the example used above the fusemap checksum is “3E71”. I believe the “C” part is always present.
The transmission checksum is “D5F0”

The fusemap checksum is the 16bit sum of all the 8bit fuse values.
The transmission checksum is a little more. Using the same example as before

The transmission checksum is a 16 bit sum of all the ASCII characters between (and including) the STX and ETX markers.

If the fusemap checksum if incorrect but the transmission checksum is correct then you will get this message

If the transmission checksum is incorrect then you will get this message

I believe you will get this message even if there is a fusemap checksum error as well.
You can disable the transmission checksum by changing it to “0000”.

In the past if I got stuck working with a strange .jed file I have loaded it into my programmers software and saved it back. This rewrites all the checksums to be correct. Your milage may vary!

There may be other errors, maybe not. I’ve not come across any other to really bother myself about.

 Posted by at 3:03 pm

Truxton repair log #3

 PCB Repair Logs  Comments Off on Truxton repair log #3
Apr 262017
 

Another faulty Truxton PCB on the bench:

These were the issues: sprites were totally absent, sounds was loud and screen was disturbed by some wavy lines

Interferences on video are a common issue on this board, usually they are caused by electrolytic capacitors with increased ESR (especially the filter ones connected to +12V line).On my board the capacitor @C1 connected to +12V was previoulsy replaced:

But who replaced it managed to break the internal connection to GND of its negative terminal, you can see in the below picture that pads (and internal rivets) were ripped off:

The capacitor lost its GROUND reference hence it was not operational.This also explained why sound was loud: the amplifier was oscillating due the missing function of this capacitor (the role of these capacitors in audio circuit is indeed to avoid dangerous oscillations of components) and this affected the video too.I restored the connections, this cured both loud sound and video interferences so I moved on to troubleshoot the lack of sprites.Object data are stored in four 1Mbit 28 pin MASK ROMs :

Probing  the address lines revealed they were all stuck low and hence data lines too.Address lines come from outputs of some 74LSALS163 but they resulted good when tested in circuit by my logic comparator.Probing around revealed nothing abnormal until I came across this custom chip (DIP 42 package) marked ‘TOAPLAN-02 M70H005’:

All the pins from from 1 to 21 ( not counting  pin 21 which is GND) were toggling but all the ones from 22 to 42 on the other side (except pin 29 GND, and 23-42 VCC) were stuck, these were most likely the outputs.I compared the behaviour on a good board and had confirm that the stuck pins had to be active hence the custom was dead.I desoldered it and I found a ‘GXL-02’ silkscreening under the chip:

I remembered I had a couple of other Toaplan boards I harvested (Hellfire and Out Zone) with same silkscreening on PCB but different marking (”FDA MN53007T0A’)  of the custom chip:

Power supply pins were the same so was worth a try.And I was successful, sprites were back:

Later I found that this custom is used on many other Toaplan boards but under different labels.For example, it’s  ‘T.T-2’ on Twin Cobra :

‘WT2’ on Wardner:

‘L-02’ on Sky Shark:

‘12.02’ on Rally Bike:

 Posted by at 12:01 am