Author Topic: Entry level, ultra-budget oscilloscope for troubleshooting old Arcade PCBs  (Read 4023 times)

0 Members and 1 Guest are viewing this topic.

Offline donlucaTopic starter

  • Newbie
  • Posts: 5
  • Country: it
Hi everyone!

Just registered, so here's a little info about me:

My name is Luca, I'm 32, I live in Italy and I'm a huge videogame fan, all the way back to old consoles such as NES and PC memorable titles like arkanoid and pacman.

As of late, I've finally got one of my childhood dream come true: I've acquired an authentic SEGA arcade cab, a SEGA Astro City and have been spending a fortune since then on repairs and acquiring new PCBs of the games I love (Shinobi, Golden Axe, Asterix, Neo-Geo titles such as Metal Slug and so on).

Up until now, I've been able to diagnose and solve all kind of problems just by using the boards' schematics (when available), an EEPROM programmer, a good multimeter and common sense, but now I have come to a halt due to a Capcom CPS2 board which has graphical issues.

By using the multimeter to check if voltages are alright, continuity between points and shorts I couldn't find anything wrong, so I've asked around and people have suggested me two new instruments: a logic probe and an oscilloscope.

Since it's super cheap, I've already bought a logic probe (it should be here by the end of the next week) but while a probe will help me troubleshooting new issues such address lines on the EPROMs stuck high or low, it won't help me understanding if a digital IC (for example a RAM chip) is spouting garbage or good data and that's when an oscilloscope comes into play.

Now, the first question is: before dumping money into a 'scope, is there any other tool I should be getting first?

If the answer to that question is "nope", then we can jump straight into the main topic: what oscilloscope should I get?

There are two *huge* restraints at play:

1 - I'm really strapped for money, I can go up to 150€ max. I don't mind waiting or buying used, though.

2 - The space I have is limited (even more now that I have an arcade cab with a 29" CRT monitor  :palm: ), so those old, sweet tektronix which I've seen going for 100€ (and even less!) are out of the question.

People have suggested that I should go for a 'scope with an input frequency no less than 50Mhz which means I'm looking at 'scopes like Rigol 1052e (350€) or, cheaper, Hantek 5072P (~200€).

I've seen the Owon SDS1102 going for ~160€ on eBay, but I've read lots of people discouraging buying Owon products, otherwise that could hit the mark.

Is there a way out?  :-BROKE
« Last Edit: January 06, 2019, 08:24:22 pm by donluca »
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3516
  • Country: us
The scope won't tell you if you're getting garbage from a memory chip unless it has a logic analyzer function or it's really blown badly.  And an MSO is about 10x your budget.

As you are cash strapped, get one of the Chinese Saelae knockoffs.  That should let you dump bus traffic to disk for analysis.  At the same time, look for a cheap analog scope in good working order.

If the CPU is socketed, make a "free run harness".  This is a socket which has a NOP hardwired on the CPU data bus.  So with the free run harness plugged into the socket and the CPU plugged into that it will sit and cycle through memory.  Run the board side of the harness to the logic analyzer.  This will dump the entire address space of the board to your PC.  With a memory map of the system, you can then identify bad ROMs, RAM, etc.

If the CPU is not socketed but is obtainable, I recommend installing a socket.  An alternative approach is to cut the data bus board traces and then bridge them when you've solved the problem.

The newer the gear, the harder it gets to do this.  It's a very 80's and earlier technique.  It only works if you can access the data lines.  I used it on a Vic20 over 30 years ago.

Watch out for low voltage logic.  I built a 1.5 V buzzer continuity tester a few days ago so I could trace out 1.8 V logic lines without blowing junctions.  I did this after discovering my HP 34401A supplied over 7 V for the continuity test function.

You're playing in a niche field.  It is very likely that you can design and build test gear which is both cheaper and more useful than anything you can buy.

I'd like to suggest you consider getting  an ARM based RPi or BB  and building your own test gear around that. What you would need to add is level shifting at a minimum and preferably  comparators with an adjustable threshold.  You'll need to check clock rates, etc.  Nothing could interest me less than a video game, so I have no idea about the HW, clock rates, etc.

There's a good chance that some time spent developing a custom, fit for purpose test bench would make repairing video games a profitable hobby.
 
The following users thanked this post: donluca

Offline spec

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: england
  • MALE
Hi donluca

What an excellent opening post: informative, well structured, to the point. I enjoyed reading that.  :-+
 
The following users thanked this post: donluca

Offline FrankBuss

  • Supporter
  • ****
  • Posts: 2375
  • Country: de
    • Frank Buss
A scope is very useful for looking at problems with analog signals, or if there are glitches in digital signals and for a first test if there is some digital input and output for ICs. But I think a logic analyzer is more useful, because you can capture the signals of buses in the videogame and then analyze it to see if there is something wrong. The more channels the better, but I think with 8 channels you could already do something, e.g. if you monitor a few address bits and a few data bits, then a few other address bits etc.

It gets much easier, if you can just sample all of the system. For my C64 MIDI cartridge development, I built a 64 channel logic analyzer with 100 MHz samplerate:

http://www.frank-buss.de/parallella/sampler/

I could see all the odd behavior of the expansion port signals of the C64 and C128, and design and test the CPLD program for my cartridge until it worked. It was not as polished as a commercial 64 bit logic analyzer, but it was a lot of fun to program this and much cheaper.

Recently I've started to build a much better system:

https://www.eevblog.com/forum/projects/4-channel-adc-10-mhz-8-bit-design/

I can now already sample 128 bits with 25 MHz samplerate, but unlike the Parallella project, it uses the DDR3 RAM on the DE10 Nano board, so I can store up to 1 GB continuous data. With the Parallella project I had only a few kB of the internal FPGA RAM and had to set triggers and there were always gaps in the recording. With the new board I can just sample everything and then analyze all the data on a PC. I posted some dumps and another one could analyze the data with PulseView to reverse engineer most parts of the programming protocol for a microcontroller:

https://www.eevblog.com/forum/blog/eevblog-1144-padauk-programmer-reverse-engineering/msg2098303/#msg2098303

Instead of sampling analog data, I can sample digital signals as well. Might be very useful for my retro-gaming projects later as well. I can even combine it, like 36 channels digital input and 4 ADC channels, like the big DSOs. Maybe I can get it to work at 100 MHz as well.

So the conclusion is, if you do this as a hobby and don't want or can't spend a lot of money on test equipment, it can be fun to build this yourself. A Beagle Bone can be used as well for a multi channel logic analyzer:

https://hackaday.com/2015/02/19/turn-your-beagleboneblack-in-to-a-14-channel-100msps-logic-analyzer/

It is easier to program than a FPGA and you can write custom realtime code for triggers, and videogame specific analyzer functions with the PRU and in C on Linux, and even generate test signals, or emulate cartridges with the PRU etc. But might need a Beagle Board instead of a Beagle Bone, which has more IO pins.
So Long, and Thanks for All the Fish
Electronics, hiking, retro-computing, electronic music etc.: https://www.youtube.com/c/FrankBussProgrammer
 
The following users thanked this post: donluca

Offline KL27x

  • Super Contributor
  • ***
  • Posts: 4108
  • Country: us
The major problem with the Owon PDS 1102 I own is the LCD screen. When new, you had to fiddle with the dial to get it in just the right place to view the screen, and even then it looked washed out. After time, I had to jam some shims between the housing and the screen in just the right spot to see anything. It still works, last I checked. The only upside of this scope is it runs on batteries. I'd sell it to someone in need for a pittance, but I'm too lazy to ship it.

I upgraded to a Hantek. Can't remember the model, but it's a bit out of your price range, anyway.
 
The following users thanked this post: donluca

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 21225
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Simple cheap preliminary tests...

With any old equipment, a common failure is electrolytic capacitors. They "dry out", lose capacitance and their series resistance increases.

The gross symptoms are simple: strange, intermittent, or no operation.

For decoupling capacitors, the test is simple: measure the DC voltage to see it is within limits, and the AC voltage to see if there is too much noise/ripple. What constitutes "too much" depends on where the caps are in the circuit. A second diagnostic test is simply to tack colder a good electrolytic in parallel with the old electrolytic; if the problem goes away, you've found a problem.

The solution is simple: replace faulty electrolytics.

Don't worry too much about the value, but do check the voltage is sufficient (e.g. for tantalums, add 50% to the cicuit voltage, for others, add 25%).
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: donluca

Offline donlucaTopic starter

  • Newbie
  • Posts: 5
  • Country: it
Thanks to you all for the in-depth replies, I really appreciate them, I'll try to reply to each of you:

@rhb:
That would have been a fantastic solution when I was troubleshooting a SEGA System16B board (~1980) as the system has just a couple of CPUs (Main cpu Motorola 68000 and a Zilog Z80 for audio). In the end I "brute forced" by checking every single thing with the continuity function of the multimeter and discovered that two address lines were tied together. It was just a matter of following the trace then until I've found a scratch that joined the two adjacent traces. It wasn't an easy feat by any way, those things have shared buses which are the real fun police when looking for defects.

Unfortunately, starting in the early 90s, big companies like Capcom grew tired of seeing their own hardware bootlegged and started developing new boards with the real repair showstopper: huge custom ASICs.
The board I'm working on is made of two layers: the mainboard and the ROM board and I've managed to isolate the problems and those reside on the latter. The problem is that this board has 4 HUGE customs, surface mounted and with a gazillion pins each. By doing pure guesswork I've managed to discover that one manages the sprite layer (OBJ data), one the background layer (SCR data) and the other two I think that involve something with the audio and program data. The problem is on the sprite layer, which helped me further to isolate what the possible faulty components might be.
Those chips are, obviously, completely undocumented, so you can only guess what they are doing (probably doing addressing), which means that I have no way to properly test them, even a logic comparator would be useless.

What I'm doing is basically checking EPROMs, RAMs and other ICs (74LS245 etc...) to see if they are working properly, hoping the problem isn't in the custom ASIC otherwise that's game over.

A logic analyzer... I'll have to do some research here, have to say that this forum is truly a gold mine. :)

@FrankBus:
That's a very interesting project and your DIY logic analyzers are really, really impressive, it would be a while before I can make something like that.
Anyway, building my own would be surely a fantastic learning experience, but my free time is really scarce and I don't know how much time I could pour into this.

By the way, you're the second user suggesting me a logic analyzer, so I'll definitely look into them ASAP.

@KL27x:
I think the PDS1102 is an older version of the one I linked, which is the new SDS line and doesn't work with batteries. I'd definitely keep Hantek as a brand in mind, though.
I've seen the handheld Hantek 2c42 going for ~100€ which has 40Mhz bandwidth and might just be enough, with the nice plus of being small and battery operated (and it also doubles down as a multimeter, which is nice. Might become my jack of all trades).

@tggzzz:
Hopefully I won't sound arrogant here, but I've been repairing stuff for more than 10 years, ranging from Hi-Fi equipment to computers and videogame consoles and the *first* thing I check are electrolytics ;)
They have fooled me more than once in the past: while I was repairing an old Technics SL-D1 turntable (1979) everything looked pristine, the caps were nice and shiny and still... they were dead. Electrolytics are definitely the first thing to check (and, if you're working on anything older than 20 years, replace, even if they check out good).


Again, thank you all for your inputs, they are really valuable to me. Now I've added a new variable into the equation: a logic analyzer, something I've not considered before because I thought that an oscilloscope would be a more "all round" tool to have.
« Last Edit: January 07, 2019, 12:47:47 pm by donluca »
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3516
  • Country: us

https://www.eevblog.com/forum/projects/4-channel-adc-10-mhz-8-bit-design/

I can now already sample 128 bits with 25 MHz samplerate, but unlike the Parallella project, it uses the DDR3 RAM on the DE10 Nano board, so I can store up to 1 GB continuous data. With the Parallella project I had only a few kB of the internal FPGA RAM and had to set triggers and there were always gaps in the recording. With the new board I can just sample everything and then analyze all the data on a PC. I posted some dumps and another one could analyze the data with PulseView to reverse engineer most parts of the programming protocol for a microcontroller:

@FrankBus:
I have set up to develop FOSS DSO FW for Zynq and Cyclone V based instruments.  So far I have spent most of my time trying to reverse engineer the Instek 2000E until I blew the NAND flash.  Replacing that is stalled until I learn how to use a hot air gun on some junk boards. 

For the moment I'm going to go back to analyzing FW updates to wrap up that.  Then I'm starting on the MicroZed tutorials and the thousands of pages of Zynq and Cyclone V documentation.

For development work I have a Zybo Z7-20, MicroZed, DE10-Nano and a BeagleBoard X15.  I'm not aware of anything based on the Cyclone V, but it's just a matter of time.  I learned long ago that developing and testing simultaneously on as many systems as possible was a big time saver in the long run as it produces much more robust code.

The last few days have been spent considering how to implement stackable math functions such as the LeCroy's have.  I've about concluded that the proper approach is to load the desired bitstreams in a chain so the data stays in the FPGA but doesn't require switching logic in the FPGA.

@donluca:
The biggest problem with those fine pitch SMD chips is the clips to probe them cost as much as a low end DSO from Tek or Keysight.  I assume you have spent a good bit of time on the board connection bus already.  But that would be the logical place to attach a logic analyzer.

Make yourself a 1.8 V safe continuity tester using an AA or AAA cell, 1.5 V buzzer and a couple of banana jacks.  I'd started out using my 34401A to check the 2000E before I thought to check the voltage it used.  Much to my horror it was over 7 V!
 
The following users thanked this post: donluca

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 21225
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Hopefully I won't sound arrogant here, but I've been repairing stuff for more than 10 years, ranging from Hi-Fi equipment to computers and videogame consoles and the *first* thing I check are electrolytics ;)
They have fooled me more than once in the past: while I was repairing an old Technics SL-D1 turntable (1979) everything looked pristine, the caps were nice and shiny and still... they were dead. Electrolytics are definitely the first thing to check (and, if you're working on anything older than 20 years, replace, even if they check out good).

Firstly, that's fine.

Secondly, I check carefully before replacing some 45 year old caps with like-for-like tant electrolytics - because they cost £42 each now :) However, sulphuric acid spewed out and corroding the board is a hint to replace them with non-milspec cheaper caps! https://www.digikey.co.uk/product-detail/en/avx-corporation/TWCB107K025SCYZ0000/478-7765-ND/3694142
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: donluca

Offline donlucaTopic starter

  • Newbie
  • Posts: 5
  • Country: it
@rhb, will do!

@tggzzz, my rule of thumb is trying to replace the smaller electrolytics with polyester ones where possible (and economically viable, of course), polyester with polypropilene if on an audio path. Otherwise, electrolytic for electrolytic it is, sometimes I use a higher voltage ones if I know that the tension is running dangerously near the cap's spec (ie: 15V, I upgrade from 16V to higher ones).
I try to leave all the others alone (tantalum and other strange caps I'm not 100% sure what they are), but when I was recapping the CRT monitor in my arcade cab, I decided to replace the high voltage ones (those 600V+ caps) as well, just to be sure (and because I don't want to put my hands in there NEVER AGAIN  |O ).
CRTs are dangerous stuff and even though I took al the precautions, I was still really nervous while poking around the EAT transformer.

Anyway... in the following days I'll try to troubleshoot this wretched CPS2 board with the logic probe I've bought. If I don't get any more useful information out of it, then I'll seriously consider getting a more specific tool, wether a 'scope or a logic analyzer. I'll definitely have to research quite a bit.
 

Offline tsman

  • Frequent Contributor
  • **
  • Posts: 599
  • Country: gb
Re: Entry level, ultra-budget oscilloscope for troubleshooting old Arcade PCBs
« Reply #10 on: January 07, 2019, 03:59:14 pm »
Which CPS2 board is it? Has it already lost the crypto keys?
 

Offline donlucaTopic starter

  • Newbie
  • Posts: 5
  • Country: it
Re: Entry level, ultra-budget oscilloscope for troubleshooting old Arcade PCBs
« Reply #11 on: January 07, 2019, 07:52:35 pm »
Which CPS2 board is it? Has it already lost the crypto keys?

It's a Super Street Fighter II. Battery still going strong, I already have a new one ready to go in if/when I'll manage to repair it.

Don't want to derail the thread, but, to put it short, there are two separate issues: some of the sprites are shifted a tile down and the sprites flicker. The first issue is likely to happen due to an address line stuck high or low and the other one is (hopefully) caused by a buffer not working properly, likely a RAM, but I have to confirm those with the logic probe (which should arrive tomorrow). Also, due to data bus being shared between the EPROMs, it's possible that there are a couple mask roms which have gone bad. In fact, I've found that one of them has already been replaced by Capcom themselves. I'll be able to verify this once the adapter for my EPROM programmer arrives, as those are 16-bit, 42pins roms.

EDIT: here are some pics:





Have no clue about the garbage, other than it goes away as sprites get drawn over it, which reinforces my theory of a problem with a buffer.
« Last Edit: January 07, 2019, 07:55:35 pm by donluca »
 

Offline tsman

  • Frequent Contributor
  • **
  • Posts: 599
  • Country: gb
Re: Entry level, ultra-budget oscilloscope for troubleshooting old Arcade PCBs
« Reply #12 on: January 07, 2019, 08:51:31 pm »
It's a Super Street Fighter II. Battery still going strong, I already have a new one ready to go in if/when I'll manage to repair it.
Nice game. No need to worry about the battery or get the decrypted ROMs. The crypto keys were bruteforced and somebody worked out the protocol needed to program the security processor. You don't need it since your battery is still okay but you can build a little Arduino based recovery device to load the necessary key back in. Good as a backup anyway.

Sorry to derail your thread more. What happens if you go into test mode? Have you checked the contacts on the ROM sockets and the interboard connectors? Any corrosion on the chips? Carefully reseated the ROMs? They're all well known to cause issues for these boards.
 

Offline donlucaTopic starter

  • Newbie
  • Posts: 5
  • Country: it
Re: Entry level, ultra-budget oscilloscope for troubleshooting old Arcade PCBs
« Reply #13 on: January 07, 2019, 09:21:53 pm »
I know, I actually look forward using it as a kind of clunky multi-board now that the conversion process is 100% reversible and, best of all, no need to use Phoenixed roms since I can just program the correct keys.
I'm probably going to put Progear No Arashi on it since it's a game I love and costs waaaaaaaay too much nowadays.

Also, cutting it short so I don't bore our fellow users with arcade board talk/repairs: The game plays perfectly fine and never crashes, ROM/RAM checks out all ok in test mode and I swear to god I've checked all the traces and connections and everything was fine. I even reflowed the interboard connectors just to make sure (which was 100% useless as I checked continuity, but still...). No corrosion, EPROMs reseated lots of times, also made some cross tests between my board and MAME and it looks like the culprits are EPROMs 13m and 15m, which makes them the suspect number one in my investigations.
« Last Edit: January 07, 2019, 09:24:51 pm by donluca »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf