Jump to content
Due to a large amount of spamers, accounts will now have to be approved by the Admins so please be patient. ×
IGNORED

Atari Pong PCB Reproduction


Recommended Posts

For the last 6 months I've been researching and planning to make a reproduction of the original Atari Pong PCB and thought I'd share my progress.

 

Original Atari/Syzygy Revision 'E' PCB

YPzW4Vy.jpg

 

I've repaired a few Pong clones and have become reasonably familiar with the schematic layout.

There are a few newer versions of the schematic available on PDF but they are all on a 16 page layout.

I wanted firstly to reproduce the original schematic on one sheet then produce a PCB layout from that.

One of the biggest challenges is not having an original PCB in front of me to ensure the dimensions are correct and the layout is perfect.

A KLOV member is measuring his PCB for me and I should have exact dimensions next week.

I've found a great scan of an unpopulated PCB which prints close to the original size (I placed an IC over the holes and it matched almost perfectly) I've been working off that for the layout and confirming traces.

 

OjFScti.jpg

 

ffCNBQ2.jpg

 

I did a quick layout in Free PCB a few weeks ago but have since moved to Design Spark and will redo it later when I've completed the schematic layout.

 

oqK5QnQ.png

 

16 page Pong Schematic PDF...

 

https://drive.google.com/open?id=1cgigAChU_yPLlge5QjK6KS_eSIas7LqC

 

Original schematic broken down into sections...

 

IgYTlOk.jpg

 

I've completed about 30% of the schematic so far.

 

vpWLfY3.jpg

 

https://drive.google.com/open?id=1gA0ldi9WqFoYoNoAqm8BJ3joi8pSpR6e

 

To make it easier to read, I printed the original schematic onto A1 paper at Officeworks.

 

hesmZLg.jpg

 

I've never used PCB design software before so the layout isn't perfect but as long as it works, that's good enough for me.

I'll more than likely do two versions, the first will be a 1:1 reproduction and the second will fix the 6 bugs in the original design and possibly not include the AC rectification/regulation components or have a couple of jumpers to bypass it and run directly off +5vDC.

Link to comment
Share on other sites

  • Replies 55
  • Created
  • Last Reply

Top Posters In This Topic

Yeah I've looked into that as well.

There have been a few people who had a go but nothing I can find is the same as the original.

 

Does anyone here use Design Spark PCB?

If so I could do with some help locating a 7450 in the library. I've substituted a 74LS51 for the time being.

Edited by Kaizen
Link to comment
Share on other sites

Yeah I've looked into that as well.

There have been a few people who had a go but nothing I can find is the same as the original.

 

Does anyone here use Design Spark PCB?

If so I could do with some help locating a 74LS50 in the library. I've substituted a 74LS51 for the time being.

Use the component wizard to change a similar item to the one you want.

 

Sent from my SM-G930F using Tapatalk

Link to comment
Share on other sites

I double checked my work and found I had replicated one of the errors in the original schematic where the component pins 1 & 10 were swapped about.

 

All fixed now...

 

BBAtHVT.jpg

 

Quoted from Dr. Hugo Holden's paper on the Atari Pong Revision 'E' PCB...

 

http://www.pong-story.com/LAWN_TENNIS.pdf

 

“The Ghost in the Machine #2”

It has come to light after more than 40 years since its production that Pong E has a pcb track wiring anomaly which was not intended by the designer Mr Alcorn. While the actual schematic of Pong E is correct showing gates & wiring, one of the IC’s, A6, on the schematic had its pin numbers mislabeled. The pin 1 and pin 10 labels of IC A6 in the vertical velocity encoder circuit were switched.

This numbering anomaly was recently detected by Mr William Buchholz who had also noticed that the interaction of the ball and paddle was not what one would expect at times.

When the pcb was created the pcb designer Mr. Howard Cantin presumably used the pin numbers to link the IC’s to pin numbers on other IC’s. As a result of this the paddle B data (B 1 & B2) from each player’s paddle generators were inadvertently switched:

 

nqeS1Qv.jpg

 

The effect of this was significant. For example it meant that at the time of the collision of the ball with player 2’s paddle, the position of player 1’s paddle on the screen had an effect on the vertical velocity that the ball acquired after bouncing off player 2’s paddle and visa-versa. It is analogous to a tennis player being able to move his racquet and be able to affect what was happening when his opponent was striking the ball.

In general the B data from one player’s paddle generator will be high if it is above the level of the other player’s paddle and low if below it. With near vertical alignment it could be high or low depending on the count within the lines that make up the paddle as the B data is alternately high and low within the paddle time.

The result is that the output of the vertical velocity encoder which corresponds to specific vertical velocities gets shifted up or down and this changes the paddle architecture. It also results in the exclusion of some of the possible vertical velocities at times and an increase of the area of the paddle, or number of lines of the paddle, corresponding to some of the vertical ball velocities.

It explains why for example, if the paddles are set up with the ball moving in horizontal motion, they are not sometimes aligned as one would expect to achieve this as the zero vertical motion zones are shifted up and down within the array of paddle lines. Also that by moving one player’s paddle after the ball had left it in horizontal motion, with the other players paddle known to be in a position of horizontal motion previously, the ball will sometimes reflect with a vertical component.

Overall though, the effect was to make the game behaviour not what the designer intended, but it was still close enough at the time not to be noticed. Due to the fact that the paddle B data is the least significant bit of the 3 bit paddle data (the A data from the paddle generator was dropped) the effect was not as devastating as it would have been if the C or D data was switched.

In later versions of Pong, such as pong doubles, the 7450 IC in this part of the vertical velocity encoder was replaced with a 74153 data selector IC to allow for selecting the 4 paddles. The anomaly was not present in that version.

To analyse the effects of this B data switch on the paddle data stream requires some diagrams:

Firstly to re-cap on the designer’s intentions and using colors as markers for the paddles 16 lines of video:

 

3jFTPAK.jpg

 

As can be seen the paddle generator data is composed of three bits. These are B2,C2 and D2 for player two’s paddle, as indicated (or B1,C1,D1 for player 1).

The vertical velocities are encoded to a 4 bit binary number (represented above as its decimal value over 7 to 13) so as to control the ball’s vertical position or velocity. When the signal which represents video window enclosing the ball becomes coincident with the signal representing the video window enclosing paddle, the paddle data at that moment is clocked through the vertical velocity encoder circuitry to produce the appropriate ball vertical velocity as shown in the

diagram. The intention was to give realistic game play and this feature was unsurpassed by any other paddle game at that point in history.

The following series of diagrams show what happens when the B data is switched:

 

WWmT3Mv.jpg

 

With perfect vertical alignment the paddle functional architecture is not changed.

With one horizontal line displacement:

 

VWZNiiw.jpg

 

The paddle architecture is now jumbled. The player paddles are complimentary images of each other in that the complimentary up vs down vertical velocities, eg blue/red and orange/yellow etc are stacked in a similar format and inverted. The zones of the paddle corresponding to zero vertical motion (eg only horizontal ball motion) are spread apart in the paddle center. A this point all the possible vertical velocities are still present but the probability of medium vertical upwards motion (magenta color) and medium vertical downwards motion (green) are reduced in favor of fast vertical upwards motion player 1 or fast vertical downward motion player 2.

With a two line displacement:

 

YLOu89E.jpg

 

With the two line displacement a possible state of vertical motion from each player’s paddle vanishes in favor of either fast upward motion player 1 or fast down player 2. Again the zero motion state is spread away from the paddle center which is now occupied by the complimentary slow vertical motion states (orange & yellow).

Moving on to 3 lines displacement or 4, 5, 6 etc various combinations crop up. Up to nine lines of displacement is shown below. After 16 lines displacement the paddles no longer share any vertical alignment and the paddle architecture settles on a final result.

 

w74Nrmk.jpg

 

Bd83mj7.jpg

 

Y9RLcXE.jpg

 

keutyJY.jpg

 

3ekTBoB.jpg

 

Ay38AwI.jpg

 

11wXQDO.jpg

 

As can be seen the paddle overlap with transposed B data results in multiple paddle functional architectures. When the paddles are not sharing vertical alignment, with an offset of 16 H lines or greater, the following occurs:

 

fX6LC8w.jpg

 

This would be the status during most game play time when the paddles were not aligned. Each paddle now has only 3 possible states of vertical motion occupying a larger paddle area, with the centre or zero vertical motion state is either above the paddle centre (lower paddle) or below the paddle centre (upper paddle).

The diagrams explain why this anomaly was not picked up at the time of the manufacture of the Pong E PCB. The reason is that the overall paddle architecture still had up going vertical velocity of one kind or another, mostly in its upper parts, and down going vertical velocity of one kind or another mostly in its lower parts and a zone somewhere near or around the centre of the paddle which gave horizontal only motion. The fact that some of the vertical velocity possibilities were not there, especially with paddles not in vertical alignment, was simply not noticed and the game appeared to play as designed.

Edited by Kaizen
Link to comment
Share on other sites

I admire your efforts on this project, the personal time taken to do this sort of thing is amazing, and not really understood by others...keep up the good work, also @BIG Trev is a great asset for information on to assist on this sort of project...keep up the good work, cant wait to see a picture of a pcb !
Link to comment
Share on other sites

I spent a bit of time on this on the weekend and cleaned the schematic up and started adding the ports.

 

SzHuC9L.jpg

 

PDF...

https://drive.google.com/open?id=1LyDoys80Iw02752E1y5GFFuc7xn7eb1I

 

I thought I'd have a dummy run at designing the PCB and converted the schematic across to the PCB design side of Design Spark.

I found some of the components I chose didn't have footprints so I went back and changed/edited them.

I also got the PCB dimensions from the KLOV member so I started to layout/place the IC's to get experience with that.

 

Z0a3wFm.jpg

 

Plenty more work before the schematic is completed but I'm in the final stretch.

 

One challenge I have is adding the edge connector as there's nothing I can find in the library that remotely resembles one.

@BIG Trev??

Link to comment
Share on other sites

I spent a bit of time on this on the weekend and cleaned the schematic up and started adding the ports.

 

SzHuC9L.jpg

 

PDF...

https://drive.google.com/open?id=1LyDoys80Iw02752E1y5GFFuc7xn7eb1I

 

I thought I'd have a dummy run at designing the PCB and converted the schematic across to the PCB design side og Design Spark.

I found some of the components I chose didn't have footprints so I went back and changed/edited them.

I also got the PCB dimensions from the KLOV member so I started to layout/place the IC's to get experience with that.

 

Z0a3wFm.jpg

 

Plenty more work before the schematic is completed but I'm in the final stretch.

 

One challenge I have is adding the edge connector as there's nothing I can find in the library that remotely resembles one.

@BIG Trev??

Sorry Adam but I haven't tried that yet. There must be a way to add one though.

I'm not at home at the moment so I can't have a look.

Cheers Trev

 

Sent from my SM-G930F using Tapatalk

Link to comment
Share on other sites

If you were still using FreePCB I could help.

 

Edge connector shouldn't be difficult, just have to work out the pin measurements and spacing.

 

You have lots of routing to do!

 

Yeah choosing the right program before getting too far into it was a concern but I'm here now.

 

The routing will take weeks, possibly months to do properly... I'll follow the original board as much as possible.

No rush though and I just work away late at night until I get tired.

 

7rHIo2D.jpg

Edited by Kaizen
Link to comment
Share on other sites

  • 7 months later...

I haven't given up on this project, the Design Spark PCB software wasn't the best for a project like this so I put it on hold for a while.

I decided to redraw the schematic again using Altium Designer.

It was a steep learning curve using the software but after a week of working on it for a couple of hours each night I have the new schematic 90% done.

Altium is fantastic and the only real issue I had was with the component libraries.

 

A couple of example sheets...

pIQbHc0.jpg

WAGQhJG.jpg

 

 

https://drive.google.com/open?id=1UYqmvECdg0ZpDTb41zcXYXe8qHCQDALY

 

More updates to come...

 

On a side note I found this Jamma Pong project a while ago which uses the AY-3-8500 chip and a PIC for the on screen menu etc.

The original website that the project was on is now dead but I had saved all the relevant files when I discovered it.

 

Af5D7fD.jpg

 

Build documentation...

https://drive.google.com/open?id=1IwMb3jwR5z_Ywi6wKd2Lglq6mMfrMmP5

 

Is there any interest in these??

I was planning to get a couple of PCB's made and have a programmer to do the PICs.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...