ZZZ

Zaccaria/Associated Leisure Hyper Sports Maintenance 2019

30/05/2019 - Northwest Pinball and Arcade Show (2019)

Zaccaria games at NWPAS Zaccaria games at NWPAS Zaccaria games at NWPAS

The game was running fine for the first few days but by Sunday the game had developed graphics problems with a flickering picture. I wasn't able to get a spare game PCB working prior to the show so it was powered off until closing.

20/07/2019 - Game PCB #003 repair, part 1

Hyper Sports game PCB on the bench Hyper Sports graphics fault Hyper Sports test ROM

Initial testing on the bench found the game PCB exhibiting the same problem as it had in the cabinet at the show. Using the Shoestring Test ROM flagged RAM IC J9 (TMM2114AP-15) as bad. Speculatively I tried a piggyback of a P2114AL-4 (200nS) on J9 that resulted in the Test ROM flagging IC H9 as bad. I decided to move on to use the Arduino ICT to figure out what was going on.

DIL socket bump trimming Hyper Sports with Arduino ICT

I'd already brought up the Konami K1 custom 6809E CPU on the Arduino ICT using Super Basketball (that supports either K1 & 6809E) in preparation for using it with Hyper Sports. Hyper Sports had the original socket that needed the ZIF adaptors small spacer bumps on its socket removed to fit all the way into Hyper Sports securely.

The second problem to address was that MAME didn't properly describe or implement the Hyper Sports video hardware correctly. The sprite RAM range is 0x1000 to 0x13FF and in two alternating banks. This explained why the picture was flickering - only one of the banks was bad. J8,9 and H8,9 appear to be ping-pong buffers that switch over to the other bank on every clear of an active IRQ. I could find no programmatic way to determine which bank is active and the latch that controls the flip (IC H2, LS74) is not reset so it's random which bank is active after power on. Therefore, the best that can be reported is that JH8 or JH9 is bad and then measure on the PCB which bank is actually being tested at the time. Further, the banks need to be flipped using IRQ to test the other bank. With all of this understood the net conclusion was that IC H9 (2114) was bad and replacing it fixed the graphics.

28/07/2019 - Game PCB #003 repair, part 2

Hyper Sports sound ROM socket replacement Hyper Sports bench testing Hyper Sports oscillator tied

I'd already had to clean & reseat the sound ROMs last year due to intermittent sound crashes and again this year before the show. Pressing on the sound ROMS caused the sound to crash, confirming poor sockets as expected so I decided to replace all the old sound sockets whilst the PCB was splayed on the bench. With all the sound sockets replaced the game PCB ran OK on the bench for several hours.

The oscillator (removed to accommodate the ICT) was zip tied in place since it was a little loose with only 4 pins to hold it in the socket.

31/07/2019 - Game PCB #001 repair, part 1

Hyper Sports game PCB on the bench Hyper Sports with Arduino ICT Hyper Sports with graphics fault

The spare PCB wasn't working either and had been set aside prior to the show pending on Arduino ICT support for it. The game didn't boot - the screen cleared to black on power on. After a few minutes powered on the bench the game became completely dead with no video at all :(

The ICT "Bus Check" reported "E:E15 Lo 212" that meant the E clock wasn't running. IC B3 (LS04) pins 3 & 5 were idle. Moving on to the video PCB found the inputs of IC C1 (LS368) active but corresponding outputs all low. I suspected IC C1 was bad and replaced it but there was no change in the outputs. Looking more closely at the inputs found the logic low on them at ~1.2V, likely not quite enough to be detected as a low by IC C1. The inputs came from IC D5 (custom 504). Inspecting IC D5 with the scope found IC pin 14 GND floating but socket pin 14 ground - the ground pin was open in the socket. Replacing the socket and switching back to game mode confirmed video was back but the game was still not booting.

The ICT reported "ROM Check All" OK but several RAM checks failed:

The pattern of the failures suggested data bit D4 was stuck high after the local bus since the ROM & program RAM passed OK. Using "RAM Read All" found a poor signal on IC G1 (LS245) pin 5 from the video PCB. Using "RAM Write All Lo" confirmed the output of IC G1 pin 5 looked OK on the scope. Moving on to the video PCB found IC H1 (LS245) pin 15 had a poor logic low. Since the output had already looked good on the CPU PCB I used a multimeter to check the continuity between the two halves and found the signal open through the interconnect ribbon cable. Replacing the ribbon cable resulted in ICT ROM/RAM check all pass but the interrupt test still failed.

Checking IC D4 (custom 082) found VBLANK & ~VBLANK present OK on pins 16 & 15. IC B2 (LS367) pin 4 was idle high. I suspected another open connection on the ribbon cable but this time continuity was good. Checking VBLANK at IC A1 (LS241) pin 5 found it idle high with input pin 15 active. I suspected IC A1 was bad and replacing it fixed the ICT interrupt test.

With the CPU installed the game now booted but with bad background colours and flickering text & sprites. The ICT reported JH8 & JH9 both bad but only on one bank, denoted by IC H2 pin 2 high. A "RAM Check AD" on that bank flagged "1000 0008" to indicate a possible stuck address bit A3, corroborated with IC H8 & H9 RAM checks failing at address 1009. Using the HP comparator to test the LS153 address multiplexors found no issue, consistent with their appearance on the scope. Running further RAM tests hit intermittent errors on J8 "E:JH8 10af 04 09". I decided it was time for new RAM - replacing J8, H8 & H9 (2114) fixed all of the failing RAM tests and resolved all of the graphics issues except the bad background colours.

During play testing I also discovered the speech wasn't working. Checking the speech ROM A9 (2764) on the scope found poor signals and IC pin 14 GND floating but socket pin 14 ground - another ground pin open in the socket. Replacing socket A9 fixed the speech.

Moving on to the background colours, flexing the video PCB caused the colours to intermittently be correct. Reseating the background ROMS fixed the intermittent colours and no amount of flexing or pressing appeared to cause it to come back.

04/08/2019 - Game PCB #001 repair, part 2

Hyper Sports game PCB on the bench Hyper Sports with graphics fault Hyper Sports graphics fault

During bench testing after an hour or so the game developed a graphics problem impacting every other character line. The ICT reported all the video RAM bad and given the alternating lines I suspected an address issue. A "RAM Check Ad" reported "E:G10 2000 0040" that was similarly reported for all the video RAM and corresponded to address A6. Checking IC J1 (LS244) output pin 3 was idle high whereas the input pin 17 was active OK. Replacing IC J1 fixed the RAM check and the game ran OK on the bench for several hours with no further issues.

11/08/2019 - Finished!

Hyper Sports game PCB in cabinet Hyper Sports in cabinet

The game PCB was installed back into the cabinet and the whole game ran for a few hours without any problems.

Hyper Sports Maintenance 2021




prswan@gmail.com