That syncing feeling: classic arcade games that won’t stay still

I’ve got a collection of classic arcade games from the ‘golden era’ of the early 1980s. They’re not the whole wooden cabinets with flickering lights and cigarette burns, but just the circuit boards from inside. They are easy to store and easy to plug in to a joystick and monitor to play.

However, some of them have always been a bit tricky to see. The monitor I use, a spiffy Microvitec bought surplus from Display Electronics in 1990, has fantastic picture quality but is a bit fussy about its input signal. Specifically, it seems to expect that the sync pulses – the bits of the signal which indicate where lines and pictures start – must conform more-or-less closely to broadcast standards. Unfortunately, the people who designed the old video games weren’t too worried about complying with standards. The result is that, on my monitor, some games tend to flicker and roll, or require very finnicky adjustment of the controls.

There’s loads of information about what video sync pulses are supposed to look like on the web.  This link has plenty of detail. However, the important things here turned out to be that the horizontal sync pulses should be fairly close to 4.7 microseconds long, and the vertical sync pulses should be pretty much three lines, or 192 microseconds, long.

I compared the outputs of various games – one which had never given problems (Mr Do’s Castle) with three which were troublesome (Phoenix, Pleiads and Q*Bert). The results were interesting. Here’s the vertical sync period from Mr Do’s Castle:

mrdocslv

In all the scope pictures, the red trace is the sync output from the game, and the blue line is the vertical sync from my electronics which I’m just using to trigger the scope at the right time.

In this case, the narrow red pulses are the horizontal sync pulses, and the broad area between the dotted lines is the vertical sync pulse. It’s six lines, or about 386 microseconds, wide, which seems to be good enough to keep the monitor happy.

Examining Pleiads and Phoenix, which have the same video electronics, here’s the horizontal sync pulse:

pleiadsh

Oh dear, It’s only 3 microseconds wide when it ought to be 4.7. And the vertical sync pulse?

pleiadsv

It’s a full eight lines wide, or more than 500 microseconds. Those numbers are way off what the monitor is expecting. The result is that the monitor refuses to give a stable picture, which makes playing the game very tricky:

Img_7793

Looking at Q*Bert, its horizontal sync pulses are nearly three times as wide as they should be, at 12.6 microseconds:

qberth

and Q*Bert’s vertical sync pulse looks like this:

qbertf

It lasts more than a millisecond! That’s miles off. The effect on the picture looks like this:

Img_7782

That’s as stable as I could get it. Notice how the left hand side (which is actually the top – the monitor is rotated 90 degrees)  is curved and wobbly. It was fairly hard to adjust the monitor to get the picture stable enough to take a photo.

There are solutions to these problems which involve modifying the game boards themselves, but I didn’t want to do that. I think they’re interesting historical artefacts (even the bootleg ones) and I try to keep them as original as possible. I wanted to fix the sync problems outside the board.

After a bit of experimenting, I came up with a little circuit which regenerates the sync pulses to be a bit more standard.

Img_7778

Untangling the rat’s-nest of wires, the schematic diagram looks like this:

syncfix-schematic

The circuit is simple and cheap, using two standard TTL logic ICs. It ought to work with 74HC series chips as well, but some of the resistor values might need changing. The diode is any common-or-garden signal diode: a 1N4148 or 1N914 is fine. It works like this.

  • IC1B is a monostable which triggers on every sync pulse, generating a pulse 4.7 microseconds long. These become the new horizontal sync pulses.
  • IC2B combined with D1, R3 and C3 form a sync separator which triggers the monostable in IC1C only on sync pulses which are longer than about 40 microseconds.
  • IC1C is a monostable which generates vertical sync pulses about 200 microseconds long.
  • IC2E combines the new horizontal and vertical sync pulses into a new sync signal.

The output isn’t what you might call broadcast standard, but it’s close enough to make the monitor happy. I’ve tried it on a few games and it works even on games which the monitor was happy with before. Here’s the results from Pleiads:

pleiadsc

Nice horizontal sync pulses, with a vertical pulse 193 microseconds long. There are a few extra pulses around but the monitor doesn’t seem to mind.

Img_7783

The results from Q*Bert are also good, though the vertical sync looks even more odd:

qbertc

The vertical sync pulse is a sensible length, but there’s a long pause after it before the horizontal pulses start again. That doesn’t bother the monitor, though, and all the wobbles have gone away. Here’s the test setup in use.

Img_7777Sorry about the mess, but at least the display on the monitor is tidy. Mission accomplished.

Advertisements

12 thoughts on “That syncing feeling: classic arcade games that won’t stay still

  1. martinjonestechnology Post author

    Having just revisited this circuit and built a permanent version, I’ve discovered a mistake in the circuit diagram: R1 should be 6.8k, not 680R. I’m sure the resistor I used came out of the 680R drawer, but it’s not what I thought it was…

    Reply
      1. martinjonestechnology Post author

        There are only about half a dozen parts in it – what’s your particular query? Apart from the 6.8k/680R mixup I’ve already mentioned in the comments, everything’s straightforward.

  2. Pingback: ‘Arcade sync stabilizer’ by Martin Jones | JAMMArcade.net

  3. Alex

    I’ve built the circuit and used it with my supergun and it raised the compatibility with my CRT TVs by 66,6% since one of my three TVs still refuses to give a stable picture. Is it possible to adjust the horizontal sync to 4.85 microseconds instead of 4.7? I’ve read somewhere the standard Hsync for NTSC tvs is 4.85 us and since I use a supergun to play arcade games on regular tvs, I think I REALLY need a more broadcast standard sync signal. The circuit is a marvel. I’m just trying to adjust it for my needs to maximize compatibility. Can these adjustments be made simply by changing the caps/resistors (R1,C1) values? How would be this circuit to match the broadcast standards with a safe margin? Thanks a lot.

    Reply
    1. martinjonestechnology Post author

      I’m very glad the circuit works for you! To increase the length of the horizontal sync pulses, play with the value of R1: increase it to make them longer. Try 7.5k instead of 6.8k. However, I’d be surprised if such a small change made so much difference that a TV would suddenly start working because of it. There are other aspects to video timing that this circuit can’t sort out, I’m afraid. Good luck, though!

      Reply
  4. André Huijt

    Hello Martin,

    Thanks for figuring this out, I hope it will help me to get my Q*bert to sync better. The cab I got was empty so I installed a NOS CRT monitor in it but it’s from 1999 and hence seems to be picky about sync. I managed to get it to sync but it takes about 5 minutes warm up time to get a tear-free picture. The monitor is fine though as I’ve tested it with Caftymech Teat Pattern Generator. q*bert board is fine too as it produces a great picture on a 1084 monitor.

    What resistor values do you think need changing when using 74HC chips ? I’m asking because I’d like to try the circuit with HC so I can make it self-powering from the sync pulses. since I want to use this in my Q*bert machine I’d like to do as few hacks as possible and not needing a +5V tap would be great because of this.

    thanks for the awesome work.

    Reply
    1. martinjonestechnology Post author

      For 74HC chips, I’d start with the same resistor values. The output pulse length is specified as approx. 0.7CextRext for both varieties of chip, and the resistor and capacitor values aren’t extreme, so you probably won’t have to change anything. Just remember (as noted in the text) that R1 should be 6.8k, not 680R.

      Reply
      1. André

        Thanks Martin. I went with straight LS chips anyway figuring the 1 extra 5V line wouldn’t matter that much 😉

        One question, will a 4.7nF work at C1 ? I have all parts with correct values except a 1 nF for C1….

      2. martinjonestechnology Post author

        Yes, you’ll be able to use 4.7nF for C1, but you need to change the value of R1 in proportion. Since C1 will be 4.7 times larger, R1 needs to be 4.7 times smaller to maintain the same time. A value of 1.5k should do the job.

  5. Alex

    Martin, I could only think of your awesome work for now!
    Just picked up a Carrier Air Wing Bootleg PCB for very cheap but all my enthusiasm was gone in the blink of an eye. Since I built this Sync Fixer (I like to call it this way) I had no syncing issues anymore, specially speaking about bootleg boards. When they don’t sync I just turn on the fixer and everything works perfectly, at least until I got this Carrier Air Wing Boot PCB.
    The board won’t sync no way, even with the fixer ON. The board is one of the old ones, old boots composed of 2 pcbs and has all sounds (CPS1 ADPCM) compared to the new ones that have only FM. All I’m getting is a rolling image an the sound that plays normally. I would REALLY like to know if it is possible to change the pcb circuit to normalize or fix the sync signal. All I know is that the signal comes from pin 13 of a 74LS368AN. In one of my 3 crts the screen will show no sign of a sync pulse while the other 2 will only show a rolling image. WHAT CAN BE ADDED / REPLACED TO MAKE THIS PCB PLAYABLE WITHOUT THE NEED OF AN ARCADE DEDICATED MONITOR?
    Please help-me. You’re the only one I can think is able to perform this. I don’t want to return the pcb back to the seller if it is possible to make it work regularly.
    Thaaaanks a lot.

    Reply
    1. martinjonestechnology Post author

      To figure out what’s going on with your Carrier Air Wing PCB we’d need to have a look at the sync pulses on an oscilloscope. That’s the only way to see what the problem is. Once we’ve found out why the monitor’s not happy with the sync pulses, then we can go about fixing it. It might just be that the 74LS368 is faulty.

      Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s