11 ms·
Original Pong did not have any code or even a microprocessor
- pjmlp 4y agoMy first "game development" book was from my father, bought during the 70's, it used only basic electronic components. All games were pong like graphics quality. While I never implemented any of them, it was an interesting source of knowledge while learning electronics.
- singingfish 4y agoSo I've been learning a bit of puredata recently and thought to myself when I saw the article "I wonder if someone has made a pong patch for pd?". So I googled it and found this[1]. It's interesting because in some ways the idiom for pd is like working with pure electronic circuitry. [1]https://forum.pdpatchrepo.info/topic/330/pd-pong https://forum.pdpatchrepo.info/topic/330/pd-pong
- gwill 4y agothis sent me down a rabbit hole of circuit based games, thanks for sharing. I found this article about pong that goes into the details and logic behind each of the circuits: http://www.pong-story.com/LAWN_TENNIS.pdf http://www.pong-story.com/LAWN_TENNIS.pdf
- jonjacky 4y agoYes! Atari Pong Circuit Analysis - Awesomely detailed, 106 pages. "Atari’s Arcade Pong PCB contained 66 IC’s. ... It was simply hard wired TTL logic and predates microprocessor and software controlled video games ... the game has also been emulated in software to play on computers. ... in most cases it is a poor facsimile of the real thing." I found it via https://news.ycombinator.com/item?id=17200163 https://news.ycombinator.com/item?id=17200163 "... an insanely clever masterpiece of digital design. ... It’s mindbendingly brilliant."
- contingencies 4y agohttps://en.wikipedia.org/wiki/Pong https://en.wikipedia.org/wiki/Pong states "TTL logic" with later IC versions for consumer mass production, whereas the subcircuits in this demonstration state "analog". Well, I guess everything's analog if you look at it that way. Certainly logic ICs are a long way from pure analog. The interface is https://lushprojects.com/circuitjs/ https://lushprojects.com/circuitjs/
- dboreham 4y agoHuh? TFA states "It was a circuit, implemented mostly using digital logic chips, with a few timers and other analog components." and provides schematics from which all the components can be identified as digital (74xx) or analog.
- not2b 4y agoTTL was digital logic, chips that do boolean functions or that implement simple registers and latches.
- contingencies 4y agoYes, TTL is a good description (from Wikipedia). The title less so.
- deleted 4y ago[deleted]
- rahen 4y agoThere used to be a circuit simulator for most discrete logic arcade games of the 70s: DICE. http://adamulation.blogspot.com http://adamulation.blogspot.com Unfortunately it hasn't been maintained for a while, which is a shame because I don't think any other program does this. MAME/MESS only simulates machines with CPUs.
- drakythe 4y agoThe MiSTer FPGA system is probably what you’re after, in the modern scene. See https://youtu.be/lVPa5EW5mp8 https://youtu.be/lVPa5EW5mp8 for an example of it being used with arcade hardware via an adapter.
- savoyard 4y agoOne can definitely play Pong on MAME: https://github.com/mamedev/mame/blob/master/src/mame/machine/nl_pongf.cpp https://github.com/mamedev/mame/blob/master/src/mame/machine...
- mdp2021 4y agoAnd that code corresponds to the contents of the submitted article. MAME also simulated hardware (connect this resistor to that transistor etc). This is all hardware and no CPU.
- Koshkin 4y agoAnalog computers did not have a CPU, either.
- Fnoord 4y agoThis just brings me back to Mathilde Mupe's 'power pong' (as featured in the docu Hippies from Hell). It was 1v1 pong on bicycles. Steering affected the pad, and cycling quicker or slower made the ball go quicker or slower.
- sbf501 4y agoI had no idea that could be done with Falstad. That's really amazing.
- anyfoo 4y agoIndeed. I got curious how the display works, and apparently in the circuit there are just labeled nodes, and in the frame with the display the simulated CRT is just a bit of JavaScript looking at the voltage of those nodes (going to the next line or frame based on the voltage on the respective sync signals, monochrome CRTs are very simple in that regard). That's enormously cool, I do use the falstad circuit simulator, but I've never thought I could add a separate frame with JavaScript for I/O.
- eth0up 4y agoLet Us Play Pong, by Eisenfunk https://www.youtube.com/watch?v=cNAdtkSjSps https://www.youtube.com/watch?v=cNAdtkSjSps
- jiveturkey 4y agounderrated
- natly 4y agoIt'll be exciting if the clock cycles keep stalling like they've basically been doing in the last few years and we end up having to learn and do things at this level again to squeeze out what we want happen out of a long-term fixed compute budget.
- topspin 4y agoDoing things at this level is what FPGAs are used for. Processing many GiB per second of samples through complex chains of signal processing logic, for example.
- wly_cdgr 4y agoGood time to pivot towards embedded and systems level programming
- natly 4y agoProbably a decade or two premature but can't hurt to hedge the bets (there's definitely opportunity to make software that makes fpga and asic compilation from higher level languages easier though - only reason it's not happening is the high talent required and low amount of people at that intersection, there's no way verilog/vhdl is the global minima).
- cercatrova 4y agoI'm going to sound like one of those fanboys but Rust really is a breath of fresh air. Lots of people now are starting to make actually fast and performant applications due to the ergonomics of the language being more high level than something like C or C++. It's actually my favorite ML type language, I've use OCaml to a large extent before but with Rust, the DX is still pretty nice, even if you have to contend with the borrow checker.
- lupire 4y agoHow is rust higher level than C++? It has powerful memory safety features, but that's not what I'd call "high level".
- berkserbet 4y agoFunnily enough, they made us build this in college 8 years ago
- idealmedtech 4y agoAt our school, pong was given as a freebie template for building your final project in the digital design course! A great time, ended up enjoy it so much I TAed it till graduation.
- ajp11 4y agoIn the year 1974, Practical Wireless, a UK magazine, published a design for a pong game that connects to a television, called PW Tele Tennis. It uses sixty four NAND gates, twelve NE555 timers, two dozen diodes and some analog parts. It's about the most basic version of the game. They later published a sound effects board and an on-screen scoring board that uses a couple of dozen more chips. http://searle.x10host.com/TeleTennis/PWTennis.html http://searle.x10host.com/TeleTennis/PWTennis.html
- aswanson 4y agoThe 70s were everything.
- sixothree 4y agoThe 70's were when it started. You can see it in the Sears catalogs (which are available online). For most of the early 70's there's nothing interesting. Then there's Pong. Then there's an absolutely explosion.
- version_five 4y agoIn my EE degree (in year 2000), we had to implement something with external I/O as a state machine using logic gates (it was in an FPGA though, we drew the schematic). Pong is a way cooler exercise than whatever I did with a 7 segment display and a keypad. But the idea of state machines is still a big part of introductory digital logic.
- sedivy94 4y agoDid something similar for a CompE course in 2014. We made a calculator in an FPGA. Probably one of the coolest lab projects in my memory.
- version_five 4y agoWhile it has nothing to do with my current work, introductory digital systems was definitely one of my favorite classes. It was amazing to go from logic gates to adders and muxes and whatnot, to state machines, flip-flops, and useful computation. Now I work in software, and although it doesn't really come up, it's very satisfying to understand down to first principles how computers can be built up from the gate level to whatever ridiculous level of abstraction we work with on a daily basis. That's what I love about engineering generally, the ability to roughly understand what is going on around me down to some first principles.
- kryptiskt 4y agoPong is one of the sample chapters for the "Retrocomputing with Clash" book (https://gergo.erdi.hu/retroclash/ https://gergo.erdi.hu/retroclash/). Clash is a hardware description DSL using Haskell, and the book is all about using it to implement progressively more complex 1970s chips.
- tremon 4y agoFPGA's and Haskell are two topics I'm very fond of, but I would never have expected to see them used at the same level of the stack. That's gonna be interesting.
- lupire 4y agoHaskell, which makes I/O a pain, finds major application in the realm of "problem solving" where the program does some math and spits out an answer. Hardware design is a perfect example.
- calvinmorrison 4y agoLife is weird, I was just using this site yesterday to do some electrical diagrams for a wiring harness I am building for my ancient mobile. My trouble was understanding how to flow something through a series of relays, and implementing "AND" and "OR" logic with a relay series. if(AC && Temp > 160) { run both fans } if(AC || Temp > 160 { run both fans at reduced speed } Now, the AC is already a relay, but you can just do 'and' and 'or' together without a extra set of diodes. Anyway, falstad, I love your CircuitJS. I wish I could drag items around though, as for me the hardest part of making sense of things is having a good clean layout. Random question to readers: does anyone know of a tool to generate the very nice wiring diagrams you'll see in bently and other automotive manuals? I imagine they were originally by hand but later were done with a CAD tool. Just wondering if there are any good open source options. CircuitJS fails there because I want to create objects, like a 4 pin relay, that has pinouts numbered (87, 87a, 30, etc get reused a lot!) and have colored cables (because they're colored in real life!). Anyway love this
- bigiain 4y ago> does anyone know of a tool to generate the very nice wiring diagrams you'll see in bently and other automotive manuals? Does Fritzing get close to what you're after? It can create stuff like this: http://troybaverstock.com/wp-content/uploads/2019/04/arduino-servo-button-red-green-RGB-LED-wiring-diagram.png http://troybaverstock.com/wp-content/uploads/2019/04/arduino...
- drewzero1 4y agoI've played around with it a bit in the past for Arduino stuff, and it could be promising for this application. Do you get to pick the colors of each wire? (Bonus: are striped wires supported?) Ideally you'd be able to mark each wire with an indication of color(s) and diameter so the diagram could be printed in black and white (example[0]). I assume that could be done with labels, but on the scale of a vehicle that could get real tedious real fast. When I need a pretty diagram I typically use either Dia or Libreoffice Draw. Neither is perfectly suited to vehicle wiring, but they get the job done. (Edit: also no simulation, which both of the tools mentioned upthread seem capable of.) [0] http://i.imgur.com/0KFX51Z.jpg http://i.imgur.com/0KFX51Z.jpg
- Cadwhisker 4y agoExcluding "Spacewar", Pong is the first "classic" arcade game that has reached the milestone of being 50 years old. https://en.wikipedia.org/wiki/Timeline_of_arcade_video_game_history https://en.wikipedia.org/wiki/Timeline_of_arcade_video_game_...
- masswerk 4y agoNotably, there was Computer Space, by Nolan Bushnell and Ted Dabney (1971, Nutting Associates/Syzygy Engineering), the first coin-op arcade video game, also made from TTL logic. This one actually pioneered the approach. For a description see https://www.masswerk.at/rc2017/04/02.html https://www.masswerk.at/rc2017/04/02.html Syzygy Engineering (Bushnell and Dabney) soon became Atari, but still entertained links to Nutting Associates with Atari titles appearing under the Nutting Associates brand, as well. (E.g., Pong was Computer Space Ball in the somewhat fancier NA version.)
- Cadwhisker 4y agoThat's quite impressive; I wonder why it's not mentioned more often. The gameplay looks like Asteroids with just the saucers (not the rocks).
- flomo 4y agoI'm not sure how many Computer Space machines were made, but one ended in the corner of my smokey late 80s arcade. It sorta worked for a bit before glitching out. The game is also seen in the movie Soylent Green (1973) as one of the "furniture" in a rich man's apartment.
- masswerk 4y agoThis may be due to the machine not being a great success and becoming somewhat obscure by this. Also, restoration may be not that easy for those more accustomed to later arcade machines. Most of the early arcade games, like Space Race (much like its later, better remembered revival Chicken Run), Gotcha, etc., are seriously overshadowed by Pong. Regarding Computer Space, I once made a simulator for the PDP-1 (the machines that ran Spacewar), so it can be played in a browser (emulating a PDP-1). I have never seen the original in person, so there's no guarantee for this being faithful down to the tinier details. Anyways: https://www.masswerk.at/icss/ https://www.masswerk.at/icss/
- mc4ndr3 4y agoOne indication of logic gate level programming's enduring success is that algorithmic complexity can be expressed in terms of the minimum number of gates involved. There are proofs relating to NP completeness et. al. that cite gate count as proof of an algorithm's membership in such and such complexity class.
- peter303 4y agoI implemented Conways Game of Life in TTL and oscilloscope for my 1975 MIT digital circuits lab. The clock was 6 nanoseconds or 166 MHz. The limiting chip was one kilobit RAM which was in tight supply and expensive. I think we used two for alternating generations. There are similarities to the pong circuit.
- codedokode 4y agoWhat logic family did you use? Standard 74-series TTL chips that existed in 1975 are unlikely to work at 166Mhz, their propagation delay was around 20 ns.
- snek_case 4y agoThe 1 kbit RAM chip probably also would have difficulty running at 166MHz. That being said, having the master clock of the system running at 166MHz doesn't mean the entire thing does. You could use a high clock rate to generate a video signal but have the actual logic of the system behind a clock divider running at a much lower frequency.
- dahart 4y agoMy hardware design prof in undergrad had a story about one of the chip manufacturers having some cray fast internal clock in the 70s or 80s that was running microcode to implement the processor’s ISA. In my (probably faulty) memory I think the story was something like 800 MHz made by a weird brand (weird to my naive undergrad brain) like Rockwell or something, while the instruction clock presented to the user was maybe in the single or double digit MHz. No idea if I’m remembering right, and my Google Fu is failing to verify this story. But anyway, to your point, modern GPUs have a bunch of different clocks for different sub-systems.
- loser777 4y agoWay out of my wheelhouse here but maybe something like emitter-coupled logic that was used in the Cray-1 of similar vintage? Power hungry but allowed the Cray-1 to hit 80 MHz in 1975.
- brian_herman 4y agoWhat is the software used to diagram the circuts? It reminds me of a class I took in college.
- upwardbound 4y agoOne of these programs: https://en.wikipedia.org/wiki/.sch_(file_extension) https://en.wikipedia.org/wiki/.sch_(file_extension)
- krallja 4y agoFalstad Circuit Simulator - https://falstad.com/circuit/ https://falstad.com/circuit/
- ge96 4y agoMan I can't believe that was a thing like "alright let's play bounce the pixel" ooh ahh. Then of course the foresight to see what we have now (doubtful) but still, crazy.
- thwarted 4y agoThis helps to explain what was going on in this "That's 70s Show" episode where Red and Kelso modify a pong game to have smaller paddles. (short clip when they had finished) https://www.youtube.com/watch?v=9Td0P9Mqu68 https://www.youtube.com/watch?v=9Td0P9Mqu68 A recreation of that modification: https://www.aussiearcade.com/topic/86532-smaller-paddles-bigger-fun/ https://www.aussiearcade.com/topic/86532-smaller-paddles-big...
- hlehmann 4y agoCirca 1975-976, as best as I can remember, a magazine (Popular Electronics maybe, or that other one?), had an article about building a Pong game, complete with extensive schematics. There was zero code involved. It was comprised of pretty much nothing but TTL chips in DIP packages and maybe an oscillator or two. I imagined I could build it in my basement. Of course I never did.
- etataetaet 4y agoI was wondering why the website was grayed out! Falstad has an amazing circuit simulator. https://www.falstad.com/circuit/circuitjs.html https://www.falstad.com/circuit/circuitjs.html Lotta fun to learn how circuits work and make some basic projects :)
- deleted 4y ago[deleted]
- msla 4y agoThere was also Pong In A Chip: https://www.pong-story.com/gi.htm https://www.pong-story.com/gi.htm > General Instrument Microelectronics, also known as General Instruments (GI), was well known for designing Large Scale Integragion (LSI) chips. In 1975, GI had a revolutionar idea: the design of a low-cost chip playing several Ball & Paddle games, and available to any manufacturer. [snip] > GI's first video game chip was the AY-3-8500. It played six games: four Ball & Paddle variants and two target shooting games, which all had variable difficulty settings changed using switches. In addition, a seventh undocumented game could be played when none of the previous six was selected: Handicap, a football/hockey variant where the player on the right has a third paddle. Very few systems played this game. Interestingly, two versions of the AY-3-8500 exist: the early one with dashed central line (about twice larger) and solid horizontal boundaries. GI expanded its lineup of single-game chips but, by the 1980s, it looks like the whole concept was dead.
- chriscjcj 4y agoWhen I was a kid, I remember being at my local arcade and seeing them open up Monaco GP to service it. My mind was completely blown by the hundreds and hundreds of wires and I couldn't fathom how anyone could make sense of it. I believe this is another game that doesn't have code or a CPU, but uses discrete logic circuitry instead. ...Which, I think, is why it's not emulated in MAME.
- deleted 4y ago[deleted]
- sumtechguy 4y agoMAME has a netsolver built in. The issue is the number of devs who know how it works and can put a driver into MAME is kind of small.
- cheese_van 4y agoI believe Pong was, due to it's complexity, and possible dual use, not an exportable item. Not sure it that's true, or how I knew it, perhaps folklore? Perhaps not. Neither were most of IBM's processors. Shit, I just remembered that PGP in its early days was considered a "munition" and also not exportable. whoops, sorry for the de-rail.
- Marcus10110 4y agoAbout 10 years ago, I met Al Alcorn at an event. Prior to that, I had studied the original pong schematics in school as part of an interesting challenge in a digital design course, where the goal was to figure out what the schematic did, without knowing it was pong. So when I met Al, I mentioned that I found the schematics fascinating, and had some questions. He was happy to walk me through the whole thing! After that, he told me all kinds of great stories about the different versions of pong that they built, including color support, the home version, and PAL support.
- surge_drink 4y agoMust be where my customer is getting their requirements from.
- plussed_reader 4y agoMy great aunt used to work at Atari and build Pong units among other things; there's a story that if you brought her a metal lunchbox she'd stuff it with ping and mount the paddles through the lid. Never saw it in person, but so the story goes....
- virtual_void 4y agoIt takes surprisingly little HDL to describe the hardware of a basic version of Pong. https://www.fpga4fun.com/PongGame.html https://www.fpga4fun.com/PongGame.html
- simne 4y agoIt may surprise, but ALL Cray-1 machines, does not have MICROprocessors at all - just digital logic low scale integration. And nearly all "Big" computers before era of mini-computers, also does not have MICROprocessors, their CPU consists of whole board of chips or even more than one board. Imagine, one of the first commercial computers with MICROprocessor chip, was microVAX II, appears nearly decade later than 8086.
- leetbulb 4y agoA CPU, whether its implementation is a microprocessor or a board of chips, is very different from a game implemented only using discrete components. It is crazy though to imagine supercomputers implemented without microchips, not to mention vacuum tubes, hell, wood and brass.
- simne 4y agoThis is just matter of correct naming. - MICROprocessor, ideally is a one semiconductor die, which integrates all cpu parts. Unfortunately, now silicon approaching limits, so to make things cost effective, have to do compromises, use chiplets, imposers, but this is very far from universal components on board.
- srvmshr 4y agoI can't remember which game it was, but one of the arcade games used a set of basic chips to create a detailed vertical half of a spacecraft & the other half was mirrored over from the centerline due to space/current & chip cost constraints. When I had read about it, I marveled how absolutely ingenious early game developers were. Since I grew up in post-golden age of arcade, I don't really know which game that was - but I presume it was one of the Nolan Bushnell creations from vague recollection. Edit: It was Spacerace. From Wikipedia: >The engineering and prototyping for Asteroid was done by Alcorn. The game is encoded entirely in discrete electronic components, like Atari's earlier games, and unlike later computer-based arcade games; the graphics are all simple line elements with the exception of the spacecraft, which are generated based on diodes on the circuit board arranged in the shape of half of a ship to represent the shape they create [..] That half ship is mirrored on the screen, similar to the diode array in Computer Space, which generated eight directions of a rotating ship with a mirrored four images.