Live data from Hacker News

Original Pong did not have any code or even a microprocessor

falstad.com

31–40 of 152 posts

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

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

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

#32
post #12

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.

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.

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

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

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

#34
post #6

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.

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.

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

#35

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…

How is rust higher level than C++?

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

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

#36
post #25

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.

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.

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.

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

#37
post #12

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.

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.

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.

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

#38
post #14
post #7

Analog computers did not have a CPU, either.

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

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

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

#39
post #35

Earlier quoted context omitted.

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…

How is rust higher level than C++? It has powerful memory safety features, but that's not what I'd call "high level".

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.

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

#40
post #35

Earlier quoted context omitted.

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…

How is rust higher level than C++? It has powerful memory safety features, but that's not what I'd call "high level".

Pattern matching is arguably one higher level feature/capability.
Post reply on HN