Announcement

Collapse
No announcement yet.

Atari Pong PCB Reproduction

Collapse

For general stuff about Arcade.

X
Collapse
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Atari Pong PCB Reproduction

    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


    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.





    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.



    16 page Pong Schematic PDF...

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

    Original schematic broken down into sections...



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



    https://drive.google.com/open?id=1gA...8BJ3joi8pSpR6e

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



    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.
    Namco Starblade - Taito Cocktail 14" x 3, 20" x 2 - NZ SI PtII Upright - Chase HQ DX, Taito Top Speed - Taito Grand Champion - Taito Safari - LAI SI Head to Head Cocktail - SI Cocktail Clone x 2, Pong Clone x 3

  • #2
    The initial work on drawing up the schematic is done, There's still plenty of tweaks and adjustments left to do.

    Last edited by Kaizen; 9 March 2018, 08:08 AM.
    Namco Starblade - Taito Cocktail 14" x 3, 20" x 2 - NZ SI PtII Upright - Chase HQ DX, Taito Top Speed - Taito Grand Champion - Taito Safari - LAI SI Head to Head Cocktail - SI Cocktail Clone x 2, Pong Clone x 3

    Comment


    • #3
      Atari Pong PCB Reproduction

      Have you thought about implementing it in an FPGA?

      Love this project BTW.


      Sent from my iPhone using Aussie Arcade

      Comment


      • #4
        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.
        Last edited by Kaizen; 3 August 2019, 02:01 AM.
        Namco Starblade - Taito Cocktail 14" x 3, 20" x 2 - NZ SI PtII Upright - Chase HQ DX, Taito Top Speed - Taito Grand Champion - Taito Safari - LAI SI Head to Head Cocktail - SI Cocktail Clone x 2, Pong Clone x 3

        Comment


        • #5
          I'm using FreePCB but wanted to try Design Spark. Hard for me as no NBN here and design spark requires online activation.

          I tend to create my own footprints. Not hard to do and ensures it's done properly.
          SEGA love: | Nintendo love:
          PC Engine love: | Latest retro finds:

          Comment


          • #6
            Originally posted by Kaizen View Post
            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

            Comment


            • #7
              Cheers mate, the 74LS51 is easy enough to modify.
              I'll have a go at it tonight.
              Is there an edge connector in the library anywhere?
              Namco Starblade - Taito Cocktail 14" x 3, 20" x 2 - NZ SI PtII Upright - Chase HQ DX, Taito Top Speed - Taito Grand Champion - Taito Safari - LAI SI Head to Head Cocktail - SI Cocktail Clone x 2, Pong Clone x 3

              Comment


              • #8
                I hope this helps. I also hope they show in the right order.[emoji6]











                Sent from my SM-G930F using Tapatalk

                Comment


                • #9
                  That's perfect, thanks Trev.
                  Namco Starblade - Taito Cocktail 14" x 3, 20" x 2 - NZ SI PtII Upright - Chase HQ DX, Taito Top Speed - Taito Grand Champion - Taito Safari - LAI SI Head to Head Cocktail - SI Cocktail Clone x 2, Pong Clone x 3

                  Comment


                  • #10
                    Originally posted by Kaizen View Post
                    That's perfect, thanks Trev.
                    You're welcome.


                    Sent from my SM-G930F using Tapatalk

                    Comment


                    • #11
                      Well that took about 1.5 hours to work out how to do properly but I got there in the end.

                      Namco Starblade - Taito Cocktail 14" x 3, 20" x 2 - NZ SI PtII Upright - Chase HQ DX, Taito Top Speed - Taito Grand Champion - Taito Safari - LAI SI Head to Head Cocktail - SI Cocktail Clone x 2, Pong Clone x 3

                      Comment


                      • #12
                        Originally posted by Kaizen View Post
                        Well that took about 1.5 hours to work out how to do properly but I got there in the end.

                        Only seems logical to me

                        Comment


                        • #13
                          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...



                          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:



                          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:



                          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:



                          With perfect vertical alignment the paddle functional architecture is not changed.
                          With one horizontal line displacement:



                          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:



                          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.















                          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:



                          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.
                          Last edited by Kaizen; 9 March 2018, 10:57 PM.
                          Namco Starblade - Taito Cocktail 14" x 3, 20" x 2 - NZ SI PtII Upright - Chase HQ DX, Taito Top Speed - Taito Grand Champion - Taito Safari - LAI SI Head to Head Cocktail - SI Cocktail Clone x 2, Pong Clone x 3

                          Comment


                          • #14
                            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 [MENTION=15876]BIG Trev[/MENTION] 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 !

                            Comment


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



                              PDF...
                              https://drive.google.com/open?id=1Ly...5GFFuc7xn7eb1I

                              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.



                              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.
                              [MENTION=15876]BIG Trev[/MENTION]??
                              Namco Starblade - Taito Cocktail 14" x 3, 20" x 2 - NZ SI PtII Upright - Chase HQ DX, Taito Top Speed - Taito Grand Champion - Taito Safari - LAI SI Head to Head Cocktail - SI Cocktail Clone x 2, Pong Clone x 3

                              Comment

                              Users Viewing Topic: 0 members and 1 (guests)
                              Working...
                              X