[HN Gopher] Original Pong did not have any code or even a microp...
___________________________________________________________________
Original Pong did not have any code or even a microprocessor
Author : colinprince
Score : 537 points
Date : 2022-05-25 22:39 UTC (1 days ago)
(HTM) web link (www.falstad.com)
(TXT) w3m dump (www.falstad.com)
| eth0up wrote:
| Let Us Play Pong, by Eisenfunk
|
| https://www.youtube.com/watch?v=cNAdtkSjSps
| jiveturkey wrote:
| underrated
| natly wrote:
| 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.
| cmeacham98 wrote:
| 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.
| codedokode wrote:
| 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_ITR wrote:
| 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)
| codedokode wrote:
| 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?
| pishpash wrote:
| Propagation delay doesn't decrease from one end of the
| chip to the other if you keep the same area in total.
| blihp wrote:
| Power consumption and the resulting heat.
| scoopertrooper wrote:
| The top-of-the-line next generation of chips will be
| solidly clocked at 5GHz and above.
|
| https://hothardware.com/news/amd-computex-
| taipei-2022-keynot...
| the_only_law wrote:
| I believe mainframes have had CPUs operating around this
| for a while as well.
| seiferteric wrote:
| 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.
| snek_case wrote:
| 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.
| baisq wrote:
| 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?
| hulitu wrote:
| 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.
| cmeacham98 wrote:
| 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%.
| hulitu wrote:
| This is only in benchmarks.
| nwah1 wrote:
| 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.
| wly_cdgr wrote:
| Good time to pivot towards embedded and systems level
| programming
| natly wrote:
| 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).
| cercatrova wrote:
| 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.
| lupire wrote:
| How is rust higher level than C++?
|
| It has powerful memory safety features, but that's not what
| I'd call "high level".
| Koshkin wrote:
| Indeed, my impression has been that C++ is as high-level
| as you want it to be.
| codedokode wrote:
| My impression of C++ is that you have to write multiple
| constructors before you can implement any logic.
| hoseja wrote:
| That's ... not even wrong. Or severely misguided. It's
| like saying "My impression of cooking is that you have to
| make several hotdogs before you can start frying things."
| Jensson wrote:
| 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.
| newobj wrote:
| Pattern matching is arguably one higher level
| feature/capability.
| teleforce wrote:
| 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
| kevin_thibedeau wrote:
| 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.
| fragmede wrote:
| 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.
| bpye wrote:
| 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/microcontroll
| er/32-b...
|
| [1] - https://www.dialog-
| semiconductor.com/products/greenpak
| duskwuff wrote:
| 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.
| zrail wrote:
| 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.
| sk0g wrote:
| 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!
| topspin wrote:
| 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.
| codedokode wrote:
| 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.
| Marcus10110 wrote:
| 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.
| mc4ndr3 wrote:
| 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.
| rahen wrote:
| 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.
| drakythe wrote:
| 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.
| savoyard wrote:
| One can definitely play _Pong_ on MAME:
|
| https://github.com/mamedev/mame/blob/master/src/mame/machine...
| mdp2021 wrote:
| 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.
| ge96 wrote:
| 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.
| srvmshr wrote:
| 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.
| peter303 wrote:
| 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.
| todd8 wrote:
| 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.
| codedokode wrote:
| 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.
| blihp wrote:
| 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.
| peter303 wrote:
| 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.
| Tempest1981 wrote:
| There was also the Fairchild F "fast" family: 74F00. Around
| 5ns at 25degC, iirc.
| snek_case wrote:
| 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.
| dahart wrote:
| 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.
| loser777 wrote:
| 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.
| chriscjcj wrote:
| 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.
| [deleted]
| sumtechguy wrote:
| 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.
| berkserbet wrote:
| Funnily enough, they made us build this in college 8 years ago
| idealmedtech wrote:
| 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.
| singingfish wrote:
| 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
| simne wrote:
| 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.
| gwill wrote:
| 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
| jonjacky wrote:
| 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."
| virtual_void wrote:
| It takes surprisingly little HDL to describe the hardware of a
| basic version of Pong.
|
| https://www.fpga4fun.com/PongGame.html
| Koshkin wrote:
| Analog _computers_ did not have a CPU, either.
| not2b wrote:
| Back before a CPU could be fit on one chip, small computers
| were built out of multiple chips, often TTL on a board.
| Koshkin wrote:
| Yes, "CPU" and "chip" are mutually orthogonal notions. CPU is
| an artifact of _digital_ computing.
| hlehmann wrote:
| 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.
| cheese_van wrote:
| 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.
| plussed_reader wrote:
| 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....
| Fnoord wrote:
| 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.
| ajp11 wrote:
| 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
| a9h74j wrote:
| 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.
| nonrandomstring wrote:
| 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,
| andi999 wrote:
| 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_law wrote:
| Software becomes interesting when I have to make the
| hardware do things Jobs doesn't want me to.
| pegasus wrote:
| Yes! It seems to me this would be the only sane way to build
| voting machines, especially.
| orlp wrote:
| There is no sane way to build voting machines. Voting isn't
| a technology problem, it's a social/trust problem.
| lb1lf wrote:
| -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.
| dalbasal wrote:
| Dropping stones in a bucket is "technology," effectively.
| BVCommander wrote:
| Paper slips signed by an independent observer and marked
| with indelible ink can be audited more easily by
| electoral participants than counting featureless stones
| in a bucket.
|
| They have the added security feature of oily fingerprints
| containing unique DNA imprinted on them. It's customary
| in functioning democracies to not sequence fingerprints
| on a ballot paper, but theoretically it could be done.
| heurisko wrote:
| > 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.
| bluGill wrote:
| 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.
| heurisko wrote:
| 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.
| dmd wrote:
| > most people doing hardware are doing formal designs and
| prove their work correct.
|
| My god how I wish that were true.
| Gracana wrote:
| 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.
| ReactiveJelly wrote:
| 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.
| [deleted]
| TheOtherHobbes wrote:
| 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.
| hulitu wrote:
| "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.
| nonrandomstring wrote:
| > 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?
| Someone wrote:
| I don't understand speed, either. Once you have the
| desired circuit, you don't have to build it out of
| discrete components, you also can send it to a fab (I
| think that already happened with 7400-style ICs, too. The
| 74248 BCD to seven segment decoder doesn't contain lots
| of individual NAND gates)
|
| That will introduce practical problems, though. If you
| want your design on the best tech possible, that costs
| serious money that you may not be able to afford,
| especially if you don't want an enormous number of
| circuits. Your 10,000 transistor design may fit a million
| or more times on a top-of-the-line die.
| aidenn0 wrote:
| Cost of fabbing an ASIC is 7 figures. Cost of compiling
| software is approximately zero. This is assuming that the
| development costs are similar.
| Tuna-Fish wrote:
| > Once you have the desired circuit, you don't have to
| build it out of discrete components, you also can send it
| to a fab
|
| You are still going to use a very old and obsolete
| process, compared to the microcontroller.
|
| As a rule of thumb, every generation of lithography that
| has made transistors smaller and more efficient, has also
| roughly doubled the NRE costs. As you move down the
| feature size slope, you get all kinds of useful
| properties, but the tradeoff is that you have to
| manufacture more of any given design for it to be able to
| make any economic sense. To the point where you can get
| an amazing chip that has an arm core, storage and memory
| in a single package that costs pennies (well, not right
| now it doesn't, but it did in the past and will again)
| and uses almost no power, so long as you can use the
| exact same device that is also shipped in the millions
| for other things too.
| simne wrote:
| 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.
| mjgerm wrote:
| Roughly, the power of a digital system is sum of the
| static power and the dynamic power (P=1/2 _C_ V^2*F).
|
| 1. Discrete logic chips tend to be built in substantially
| larger process nodes (microns vs nanometers) that are
| less efficient. This means higher leakage current and
| more static power.
|
| 2. Discrete logic has to drive traces on a PCB, which
| have substantially higher capacitance (C) and therefore
| use more power getting across a board.
|
| 3. Discrete logic operates at higher voltages. Contrast
| 5V TTL vs. 1V core voltage inside a processor. Power is
| proportional to the voltage squared.
|
| 4. A microprocessor running even at low speed can replace
| a massive number of discrete logic chips, so for simple
| solutions F is low. If you're doing something very simple
| and interrupt-driven, F can be in the tens-hundreds of
| kHz.
|
| Consequently, there's a whole lot more of both static and
| dynamic power with discrete logic than with a uC.
| Tostino wrote:
| Appreciate that description. Helps crystalize exactly how
| revolutionary microprocessors were compared to other
| contemporary approaches.
| dapids wrote:
| 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.
| aswanson wrote:
| The 70s were everything.
| djmips wrote:
| Seems almost more chips than the Arcade Pong? But really cool.
| Thanks for sharing it.
| version_five wrote:
| 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.
| pjmlp wrote:
| 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.
| sedivy94 wrote:
| 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_five wrote:
| 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.
| kenward wrote:
| > 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).
| Yhippa wrote:
| This takes me down memory lane. Anybody remember Karnaugh
| maps?
| can16358p wrote:
| Thanks for a small flashback into digital circuit design
| courses. Those two-dimensional truth tables, almost
| forgot 'em.
| suzzer99 wrote:
| 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.
| kryptiskt wrote:
| 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.
| tremon wrote:
| 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.
| lupire wrote:
| 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.
| thwarted wrote:
| 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...
| pjmlp wrote:
| 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.
| contingencies wrote:
| 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/
| dboreham wrote:
| 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.
| not2b wrote:
| TTL was digital logic, chips that do boolean functions or that
| implement simple registers and latches.
| contingencies wrote:
| Yes, TTL is a good description (from Wikipedia). The title
| less so.
| calvinmorrison wrote:
| 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
| bigiain wrote:
| > 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...
| drewzero1 wrote:
| 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
| calvinmorrison wrote:
| 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.
| Ccecil wrote:
| https://github.com/formatc1702/WireViz
|
| Haven't used it personally...but it looks nice.
| Cadwhisker wrote:
| 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_...
| masswerk wrote:
| 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.)
| [deleted]
| Cadwhisker wrote:
| 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).
| masswerk wrote:
| 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/
| flomo wrote:
| 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.
| [deleted]
| [deleted]
| surge_drink wrote:
| Must be where my customer is getting their requirements from.
| brian_herman wrote:
| What is the software used to diagram the circuts? It reminds me
| of a class I took in college.
| upwardbound wrote:
| One of these programs:
|
| https://en.wikipedia.org/wiki/.sch_(file_extension)
| krallja wrote:
| Falstad Circuit Simulator - https://falstad.com/circuit/
| msla wrote:
| 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.
| sbf501 wrote:
| I had no idea that could be done with Falstad.
|
| That's really amazing.
| anyfoo wrote:
| 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.
| etataetaet wrote:
| 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
| :)
___________________________________________________________________
(page generated 2022-05-26 23:02 UTC)