Back

Original Pong did not have any code or even a microprocessor

572 points2 yearsfalstad.com
ajp112 years ago

In 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

nonrandomstring2 years ago

The implications of Karnaugh maps and state machine reduction, which we did in "Digital Logic" when I was a student, were that you could take any problem, express it as a set of states and transforms, and boil that down to an optimal netlist of discrete logic gates.

Of course, in the mid 80's that was a pedagogical tool to lead us toward register machines and von Neumann architectures, but there were still some old-skool EE hackers around who built things like guidance systems for the Navy which were hybrid analogue/digital "computers" totally without CPUs or code. Today we have FPGAs and high level tools for building ASIC, but cheap microprocessors effectively swept aside an entire approach.

Maybe we missed something. Many small and well constrained problems in IoT type applications might better be served by hard-configured solutions. They would use less power, be immune to malicious network hacking, not need 'firmware' updates,

heurisko2 years ago

> not need 'firmware' updates

Well, you might still need flaws to be fixed in the device, but now flaws in the device can never be corrected.

bluGill2 years ago

true, but most people doing hardware are doing formal designs and prove their work correct. While the proofs are not perfect, there are a lot less bugs. The cost of fixing bugs in hardware is a lot more than software, so it is seen as worth it.

Of course the cost of doing the above is one reason we don't do everything in hardware. If you have the money you could implement everything people do with computers in hardware, no software - I don't even want to think about the cost.

dmd2 years ago

> most people doing hardware are doing formal designs and prove their work correct.

My god how I wish that were true.

heurisko2 years ago

I have experience working with IoT hardware, there were a fair few bugs, in an apparently constrained domain.

One including a datatype mismatch, that was also a bug in the specification.

worker_person2 years ago

Sounds like a good feature. More trustworthy device.

If a pregnancy test can run doom. It can run state level surveillance.

Gracana2 years ago

In the past, technicians would get engineering change orders and follow the instructions to rewire boards to fix problems. You could also replace state machine and microprogram ROMs, which I guess sounds a lot like a firmware update.

ReactiveJelly2 years ago

It's expensive to hire someone technical enough to:

- Perform such an update

- Sign off that they performed the update _correctly_

If you need an air-gapped system, it's still much easier to set it up so it can update from a USB flash drive and log "I did the update correctly" back to the drive.

TheOtherHobbes2 years ago

The problems are power consumption, speed, cost, size, development time, and the difficulty of updates and bug fixes. A modern embedded processor handily solves all of those.

Boards full of TTL are a fascinating engineering exercise, but there aren't many applications where they're a better solution.

It's also tempting to cheat and solve some of the sub-problems with monostables and analog timers. As soon as you do that you're introducing potential issues caused by temperature drift, component tolerances, and component ageing.

A fully clocked solution is always more reliable, but often that means a higher component count and cost.

FPGAs have real applications, but they're still harder to develop than code.

When I was a student one of the tutors said "We'll all be doing this in software soon" - and he was right.

hulitu2 years ago

"difficulty of updates and bug fixes"

We as EE engineers learned to test our creations. We are however slowly pushed to a SW process world where there are modules and integration tests and at the end, testing is just pingponged between EE and System and nobody do the testing.

nonrandomstring2 years ago

> power consumption

That's the only one I don't quite understand. All your other points are definitely great objections.

Are you saying that a clocked system consistently uses less power than a stateful but quiescently 'static' circuit? I can imagine there's a reason, but it goes counter to my experience that the faster you clock a microprocessor the more power it consumes; therefore at zero clock rate a purely data-driven system should consume the least power. What am I missing?

+2
mjgerm2 years ago
+2
Someone2 years ago
simne2 years ago

Simplest explanation, that universal logic chips MUST have very wide tolerances, to be really universal.

- They have to use significantly higher voltages and consider higher currents, than really need to work.

For example, typical logic output of universal TTL logic, considers connect to it more than 10 inputs, each of them drain some current.

And also, universal logic i/o MUST tolerate some differences in power supply voltages and interference on real circuits.

But if you don't need to communicate to outside of chip, you could make things much more optimized, make customized outputs, considering for only as much drain as really exists in scheme; make internal highly stabilized power supply and very powerful power distribution network.

For first CPUs this was not talked, they just considered as very expensive logic chip, but ~ from 80186, hard to say exactly date, appears division: some outputs become high power, others stay "normal", low power.

And in commodity cpus, in Pentium appear two voltages - one for core and other for interface circuits.

dapids2 years ago

I could not disagree more. These were highly reliable and effective systems long after their expected design lifetime. The F14 CADC is one example, as well as earlier ADC's.

pegasus2 years ago

Yes! It seems to me this would be the only sane way to build voting machines, especially.

orlp2 years ago

There is no sane way to build voting machines. Voting isn't a technology problem, it's a social/trust problem.

lb1lf2 years ago

-That depends on how you use them; this is a people problem, not a tech problem, as you (IMHO) correctly observe.

If you use the voting machines to keep a running tally of votes cast so results are available immediately after polls close, you have already gotten a large benefit from them.

However, to ensure the (most warranted!) concern of the electorate that the votes are not being tampered with, the machine should also print a receipt to the voter after his/her vote is cast, in a human-readable format, which is then deposited in an urn much like today.

So - you get instant results, and if the result is challenged, you can audit the actual ballots rather than just doing a code audit and hoping the numbers haven't been tampered with in some undetectable way.

+1
dalbasal2 years ago
fennecfoxy2 years ago

Ya let's start programming exclusively in asm again as well \s

nonrandomstring2 years ago

Since you posted this comment, we've seen a very interesting article on formal languages and 'program proving compilers based on separation logic'. The basis for truly correct, reusable, "eternal code" is in fact to regress to something not unlike ASM but combined with a Rust-like higher level.

Always good to remain mindful that what we assume is 'progress' in one direction may not be progress overall, and that allowing backtracking to older interpretations is actually a more mature scientific stance.

[1] https://news.ycombinator.com/item?id=31543953

andi9992 years ago

There is a very old Steve Jobs video where he says something like:i dont understand what is special about software, what you cannot do in hardware. Let me see if I can find that.

the_only_law2 years ago

Software becomes interesting when I have to make the hardware do things Jobs doesn’t want me to.

version_five2 years ago

In 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.

pjmlp2 years ago

That is way cooler of what we did (earlier 90's), the typical garage door opener.

Later on digital circuits, we got to design basic CPUs, with optional breadboard implementation, but no one bothered to go that far for optional stuff.

sedivy942 years ago

Did 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_five2 years ago

While 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.

suzzer992 years ago

Same here! I built a 5x7 animated display from logic gates in an electronics class as part of my degree in physics. That class and fortran were the only two classes I liked in college. I'm glad I got that experience to work with circuit gates. I feel like I have some insight into the magic box I program all day.

The coolest part was our professors never told us we had to use logic (and then cycle through the pieces faster than the eye could see) to get the 5x7 led display to work for non-symmetric letters. They let us figure that out on our own. I was sitting in history class not paying attention when it came to me. I drew out the circuit I wanted and couldn't wait to get to electronics class to try it out.

+1
Yhippa2 years ago
kenward2 years ago

> That's what I love about engineering generally, the ability to roughly understand what is going on around me down to some first principles.

This! It's very empowering and one of the things that drew me to tech/computers. Being able to understand things helped me realize the potential of what is possible with computers/computing technology.

I majored in EE in undergrad and didn't really appreciate my EE education until I got older (I was more interested in software).

a9h74j2 years ago

In probably 1976 for $1 I bought a one-page schematic for such a thing, from classified ad in the back of a magazine. I suppose it was a related version, but IIRC it relied upon 74123 style monostables.

djmips2 years ago

Seems almost more chips than the Arcade Pong? But really cool. Thanks for sharing it.

aswanson2 years ago

The 70s were everything.

sixothree2 years ago

The 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.

peter3032 years ago

I 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.

todd82 years ago

At MIT in 1973 I had to use RTL logic (lower density, speed, and fan-out than TTL) for my digital design lab. I decided to design a circuit that played perfect Nim on a board of one to four piles of up to 15 stones in each pile. It took around 20 JK Flip-flops to manage the game state and do the calculations plus more latches and muxes and demuxes for I/O.

My biggest problem was that I hadn’t yet learned to pick minimum viable projects that would still result in a good grade.

codedokode2 years ago

What 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_case2 years ago

The 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.

dahart2 years ago

My 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.

peter3032 years ago

You may be right. Somehow 6 ns stuck in my memory, while internet lookup said the 7400 series was 10 ns.

I just recall you had to slow down everything considerably to make it human-viewable.

blihp2 years ago

Wasn't ECL in use for high speed logic around that time? I assume if the parent was at MIT they would have had access to all the cool toys back then.

loser7772 years ago

Way 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.

thwarted2 years ago

This 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

A recreation of that modification:

https://www.aussiearcade.com/topic/86532-smaller-paddles-big...

natly2 years ago

It'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.

cmeacham982 years ago

The literal clock speed of CPUs has been stalling, but CPU performance is and has been on a massive increasing trend effectively ever since AMD released the first Ryzen CPUs.

Recent product announcements from Intel and AMD show no sign of slowing down. Sure it's not the 'double performance in 1-2 generations' of the olden days, but it's definitely not stalled either.

nwah12 years ago

The improvements outside the processor matter more for a typical user. DDR5, PCIe5, USB4, Bluetooth 5.2, WiFi 6E, etc. These recent version bumps make everything feel faster, but the CPU gains are indeed coming much slower and at vastly higher cost. Die shrinks will likely reach their physical limit this decade for traditional silicon.

snek_case2 years ago

The Ryzen 7 2700X chip I bought back in 2018 is still fairly close to the latest Ryzen 9 chips in terms of single-core performance on benchmarks (within 10% IIRC). The Ryzen 7 is an 8-core (16 thread) CPU, and now you can get 12 or 16 core Ryzen 9's, but most workloads don't take proper advantage of even an 8-core machine.

cmeacham982 years ago

Quick online research shows a 30%-40% single core improvement from the 2700X to the 5700X, and a 40% to 50% (single core) improvement to the 5900X. Maybe you have a specific weird workload that isn't improved much, but performance improvement for the average workload is much better than 10%.

hulitu2 years ago

This is only in benchmarks.

baisq2 years ago

Most workloads don't even take proper advantage of more than 1 core. Single core performance is still the most important metric and there hasn't been anything exciting regarding that in the last... 15 years?

hulitu2 years ago

This is true. However your workload runs in a multitasking OS which, at least for Win 10, needs at least a core only for itself.

codedokode2 years ago

One of the reasons why CPUs are getting faster is because the more transistors you have, the faster is the chip and vice versa (this is not a proven statement but rather my intuition). We might not be able to use higher clock frequency, but we still can fit more transistors on the same area.

RC_ITR2 years ago

What’s even more, is we can make higher frequency chips, it just turned out higher density gates was the easier path to go down.

If the gates path reaches its end, we can still go back to clock. It won’t be easy or cheap to solve all the clock problems, but if it’s better than the alternative someone will do it (like how fracking only became viable as a means of drilling oil once the cheap, easy to get oil was somewhat depleted)

+3
codedokode2 years ago
seiferteric2 years ago

Even account for security vuln mitigations? As an aside, is there a good table somewhere listing all of the Meltdown/Spectre etc. vulns and current status regarding software and hardware fixes? My understanding is most still don't have hardware fixes yet.

kevin_thibedeau2 years ago

This is part of why Intel acquired Altera. On the other end of the spectrum, some of the latest AVR families have configurable glue logic akin to a tiny PLD.

zrail2 years ago

In the same vein, the Raspberry Pi RP2040 has what they call Programmable IO modules which are tiny cores that can run small state machines doing whatever you want, separate from the main ARM cores.

sk0g2 years ago

Yeah, doing my thesis with it right now, but not sure if it's worth looking into. For one I'd have to brush up on ASM, while the two-core Pico lets me meet my requirements as-is anyway.

Pretty cool though, you can write VGA drivers with it apparently!

fragmede2 years ago

PLDesque glue logic is cool, but the coolest thing I've seen is uC's with fully programmable pins, so eg the DAC device inside the chip can be connected to any of the external pins, making board layout dramatically simpler.

bpye2 years ago

I'm guessing you've seen the Infineon (formally Cypress) PSoC [0] stuff too? Both analogue and digital peripherals that can be configured mostly arbitrarily.

There are also some neat mixed-signal parts from Dialog [1] - no MCU but interesting analogue and digital blocks all the same.

[0] - https://www.infineon.com/cms/en/product/microcontroller/32-b...

[1] - https://www.dialog-semiconductor.com/products/greenpak

duskwuff2 years ago

The analog configurability of PSoCs is perhaps a little less flexible than you might be led to believe. There's a small number of analog components which can be linked to pins or to each other through a limited number of non-uniform interconnects. It's certainly useful, don't get me wrong, but I'd hesitate to call it arbitrarily configurable.

wly_cdgr2 years ago

Good time to pivot towards embedded and systems level programming

natly2 years ago

Probably 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).

cercatrova2 years ago

I'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.

teleforce2 years ago

I think D will be much better suited for embedded system because you can even seamlessly import C functions into D program [1],[2]. Since C is the de facto language for embedded system this new capability is a game changer.

Added to the fact that D language designers try to make programming D similar to programming Python and D is by default has GC, it'll make it easier for those coming from application software developer background to program embedded system with D.

[1]Add ability to import modules to ImportC:

https://dlang.org/changelog/2.099.0.html#__import

[2]Great Programming with ImportC:

https://youtu.be/c3kJoFCzA-0

lupire2 years ago

How is rust higher level than C++?

It has powerful memory safety features, but that's not what I'd call "high level".

Jensson2 years ago

The level of a language depends on what idiomatic code looks like. Idiomatic C is lower level than idiomatic C++ which is lower level than idiomatic Rust. Just because you can write things at a lower level doesn't mean that people do so, or even are allowed to do so. Most places where you write C++ you aren't allowed to write it like C, and similarly most places where you write Rust doesn't allow you to write large unsafe blocks.

+1
Koshkin2 years ago
newobj2 years ago

Pattern matching is arguably one higher level feature/capability.

topspin2 years ago

Doing 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.

codedokode2 years ago

Even with modern technology (I guess) we have to use lots of tricks to get desired performance. So (I guess) the level of skills that was necessary to create the Pong, would help designing modern chips as well.

Marcus101102 years ago

About 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.

chriscjcj2 years ago

When 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.

sumtechguy2 years ago

MAME 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.

calvinmorrison2 years ago

Life 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

Ccecil2 years ago

https://github.com/formatc1702/WireViz

Haven't used it personally...but it looks nice.

drewzero12 years ago

Ooh, that does look promising. I might have to try this to document some custom cables at work. Thanks for the tip!

bigiain2 years 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...

drewzero12 years ago

I'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

calvinmorrison2 years ago

Drew, why do you have a fuel diagram of a Saab 900? are you another saab guy?

The wiring diagram I am working on is actually for my 900, for which the original fans are bulks, tend to break, and are a NLA. I've exhausted my spares and so now I am going a different route.

But yes, these are exactly the diagrams I am talking about.

Having a computerized version of this would be awesome, actual colors, inlining some information or having 'hyperlinking' around. A lot of the density in these diagrams is to simply fit them on two pages. But, at the same time, it'd be cool to have a picture of say, the solenoid with arrows pointing to the particular pins or replacing the numbers with labels, or say, selecting a relay and having an 'active' path so you could easily see how things flow around without finger tracing it over 3 pages.

+1
drewzero12 years ago
rahen2 years ago

There used to be a circuit simulator for most discrete logic arcade games of the 70s: DICE.

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.

savoyard2 years ago
mdp20212 years ago

And 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.

drakythe2 years ago

The MiSTer FPGA system is probably what you’re after, in the modern scene. See https://youtu.be/lVPa5EW5mp8 for an example of it being used with arcade hardware via an adapter.

kryptiskt2 years ago

Pong is one of the sample chapters for the "Retrocomputing with Clash" book (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.

tremon2 years ago

FPGA'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.

lupire2 years ago

Haskell, 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.

eth0up2 years ago

Let Us Play Pong, by Eisenfunk

https://www.youtube.com/watch?v=cNAdtkSjSps

jiveturkey2 years ago

underrated

etataetaet2 years ago

I was wondering why the website was grayed out! Falstad has an amazing circuit simulator. https://www.falstad.com/circuit/circuitjs.html

Lotta fun to learn how circuits work and make some basic projects :)

singingfish2 years ago

So 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

gwill2 years ago

this 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

jonjacky2 years ago

Yes! 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 "... an insanely clever masterpiece of digital design. ... It’s mindbendingly brilliant."

pjmlp2 years ago

My 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.

msla2 years ago

There was also Pong In A Chip:

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.

plussed_reader2 years ago

My 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....

srvmshr2 years ago

I 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.

simne2 years ago

It 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.

leetbulb2 years ago

A 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.

simne2 years ago

This 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.

mc4ndr32 years ago

One 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.

sbf5012 years ago

I had no idea that could be done with Falstad.

That's really amazing.

anyfoo2 years ago

Indeed. 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.

brian_herman2 years ago

What is the software used to diagram the circuts? It reminds me of a class I took in college.

krallja2 years ago

Falstad Circuit Simulator - https://falstad.com/circuit/

upwardbound2 years ago
Fnoord2 years ago

This 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.

cheese_van2 years ago

I 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.

Cadwhisker2 years ago

Excluding "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_...

masswerk2 years ago

Notably, 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

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.)

Cadwhisker2 years ago

That's quite impressive; I wonder why it's not mentioned more often. The gameplay looks like Asteroids with just the saucers (not the rocks).

masswerk2 years ago

This 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/

flomo2 years ago

I'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.

virtual_void2 years ago

It takes surprisingly little HDL to describe the hardware of a basic version of Pong.

https://www.fpga4fun.com/PongGame.html

ge962 years ago

Man 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.

Koshkin2 years ago

Analog computers did not have a CPU, either.

not2b2 years ago

Back before a CPU could be fit on one chip, small computers were built out of multiple chips, often TTL on a board.

Koshkin2 years ago

Yes, “CPU” and “chip” are mutually orthogonal notions. CPU is an artifact of digital computing.

berkserbet2 years ago

Funnily enough, they made us build this in college 8 years ago

idealmedtech2 years ago

At 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.

surge_drink2 years ago

Must be where my customer is getting their requirements from.

hlehmann2 years ago

Circa 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.

contingencies2 years ago

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/

dboreham2 years ago

Huh? 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.

not2b2 years ago

TTL was digital logic, chips that do boolean functions or that implement simple registers and latches.

contingencies2 years ago

Yes, TTL is a good description (from Wikipedia). The title less so.