Live data from Hacker News

Original Pong did not have any code or even a microprocessor

falstad.com

71–80 of 152 posts

Re: Original Pong did not have any code or even a microprocessor

#71
post #51

Earlier quoted context omitted.

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 somewh…

By the way, why did clock frequency stop around 3-4 GHz? I assume that as transistors become smaller, their propagation delay decreases, as their power consumption, and it allows to use higher clock frequencies. Is there something else that I am missing?

Power consumption and the resulting heat.

Re: Original Pong did not have any code or even a microprocessor

#73

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.

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.

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.

Re: Original Pong did not have any code or even a microprocessor

#75

Earlier quoted context omitted.

Good time to pivot towards embedded and systems level programming

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…

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

Re: Original Pong did not have any code or even a microprocessor

#76
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.

Re: Original Pong did not have any code or even a microprocessor

#77

Earlier quoted context omitted.

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.

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…

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

Re: Original Pong did not have any code or even a microprocessor

#78
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.

Re: Original Pong did not have any code or even a microprocessor

#79
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.

Re: Original Pong did not have any code or even a microprocessor

#80

Earlier quoted context omitted.

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.

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.

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.
Post reply on HN