I am still genuinely amazed about what was achieved in this era, bearing in mind that these things took years to develop so started much earlier when most people probably had never heard of a transistor.
Despite the infancy of the industry, these people not only designed an enormous electronic circuit but had to work out how to achieve compatability with inputs and outputs as advanced as graphics, how to store data in memory, had to perform a tonne of debugging and had to get this thing etched onto silicon and then produced at scale.
I’m reminded of that scene in Battlestar Galactica (2004) where Starbuck cuts open a crashed Cylon raider, climbs in, and finds it’s actually organic rather than robotic — instead of the neatly-organized metal and wires and computers you’d expect to see in a hi-tech starship, it’s full of messy flesh and blood and organs. In the same way, here they cut open a microcontroller and instead of finding a neatly organized…
It's a nice hack. I think this is how Woz did the Apple II paddles, too (albeit with discrete components and a timer IC). It sounds familiar.
Yes, the Apple II also uses a resistor-capacitor timing circuit to determine the paddle position. The big difference, however, is that the Apple II uses the timer and a counter to produce a paddle position 0-255. Software can then use this value to e.g. draw a paddle at a position on the screen. The game chip, on the other hand, doesn't produce a value. Instead, the timer is synchronized to the screen drawing, so whe…
That's sweet. The paddle is a component of the "register" directly. I didn't stop and think about that deep enough. Thanks!
The MOS 7601 was the first CPU I learned how to write code for, circa late 1977 to early 1978. I would scour jumble sales for broken pong games and the other, more sophisticated console variants to cannibalize for parts, with one conversation about haggling with another buyer over who got what parts leading to a job. There were several machines of the time that had pluggable cartridges, from Binatone, Telarude?/Telal…
...which was the fashion back in the day.
Not sure if this was an intentional simpsons reference but it made me laugh anyway given the context.
(seriously though, thanks for taking the time to write this up - I find these firsthand experience ramblings fascinating).
I am still genuinely amazed about what was achieved in this era, bearing in mind that these things took years to develop so started much earlier when most people probably had never heard of a transistor. Despite the infancy of the industry, these people not only designed an enormous electronic circuit but had to work out how to achieve compatability with inputs and outputs as advanced as graphics, how to store data i…
I see it the other way around.
Steve Wozniak implemented Breakout with fewer 50 small scale integration chips, which is a fraction of the complexity of a 6502 CPU. I mean, a build system for a trivial JavaScript app is probably more complex than the software the flew the Space Shuttle
I’m reminded of that scene in Battlestar Galactica (2004) where Starbuck cuts open a crashed Cylon raider, climbs in, and finds it’s actually organic rather than robotic — instead of the neatly-organized metal and wires and computers you’d expect to see in a hi-tech starship, it’s full of messy flesh and blood and organs. In the same way, here they cut open a microcontroller and instead of finding a neatly organized…
The line between "chip" and CPU has always been a bit blurry. Anything that deals with USB or any other complex protocol is probably based on a tiny CPU (8051s are still weirdly common).
Software runs the world, but some of it is just cleverly disguised as hardware.
I’m reminded of that scene in Battlestar Galactica (2004) where Starbuck cuts open a crashed Cylon raider, climbs in, and finds it’s actually organic rather than robotic — instead of the neatly-organized metal and wires and computers you’d expect to see in a hi-tech starship, it’s full of messy flesh and blood and organs. In the same way, here they cut open a microcontroller and instead of finding a neatly organized…
The line between "chip" and CPU has always been a bit blurry. Anything that deals with USB or any other complex protocol is probably based on a tiny CPU (8051s are still weirdly common). Software runs the world, but some of it is just cleverly disguised as hardware.
I can second this, I remember looking at the spec sheet for an early USB interface chip. It includes a complete processor. No MMU, but the datasheet even showed how to prevent someone from reading the contents of the ROM.
This comment discusses how ball and paddle collision detection worked but leaves open the question of how the ball position was known. https://news.ycombinator.com/item?id=32862403 Given your experience programming for it can you provide any insight to how this may have been done?
Yeah! when he mentioned making a timer by charging a cap and letting it discharge... that could apply to the ball position registers... it could also explain how they did various angles when there's no obvious multi-bit ALU.... varying dis/charge ratio...
Unfortunately there are no capacitors on the chip and the external capacitors can't fulfill this role. So I suspect they are describing a different chip.
The Magnavox Odyssey game, however, worked as you describe; the ball position was the voltage on two capacitors (X/Y), and they were charged or discharged to make the ball move. (This game system was analog, built from transistors.)
I’m reminded of that scene in Battlestar Galactica (2004) where Starbuck cuts open a crashed Cylon raider, climbs in, and finds it’s actually organic rather than robotic — instead of the neatly-organized metal and wires and computers you’d expect to see in a hi-tech starship, it’s full of messy flesh and blood and organs. In the same way, here they cut open a microcontroller and instead of finding a neatly organized…
The line between "chip" and CPU has always been a bit blurry. Anything that deals with USB or any other complex protocol is probably based on a tiny CPU (8051s are still weirdly common). Software runs the world, but some of it is just cleverly disguised as hardware.
As early as the mid-1970s, minicomputers and mainframes started incorporated microprocessors for things like system monitoring, booting, and peripheral interfaces. In 1981, the original IBM PC's keyboard had a 8048 microcontroller internally to handle communication with the PC. Architecturally, this is still how it's done, usually just all shrunk down to a single IC now. Pretty much any expansion card or USB device will have a microcontroller in it, possibly multiple.