[HN Gopher] How were 70s versions of games like Pong built witho...
       ___________________________________________________________________
        
       How were 70s versions of games like Pong built without a
       programmable computer?
        
       Author : SeenNotHeard
       Score  : 222 points
       Date   : 2024-10-04 19:57 UTC (1 days ago)
        
 (HTM) web link (retrocomputing.stackexchange.com)
 (TXT) w3m dump (retrocomputing.stackexchange.com)
        
       | coding123 wrote:
       | A friend's Dad has Wozniak's old VCR. We used to watch movies on
       | that all the time as kids. Interestingly this person was also
       | working on Pong, specifically on the ball device that used to
       | move the paddle around.
        
         | mistrial9 wrote:
         | some early video games were from Commodore; they had a box that
         | generated a TV signal.. the box had knobs or perhaps a
         | joystick. The games played by assigning a TV channel on the
         | box, then changing the TV channel (with a knob on the TV) to
         | that channel. The video game is now playing.
        
           | jasonjayr wrote:
           | If you still have access to an analog tuner, you can do this
           | trick with the ESP8266!
           | 
           | https://news.ycombinator.com/item?id=41740978
        
           | crtasm wrote:
           | Even in the days of Super Nintendo we had the option of
           | hooking it up the TV like this.
        
             | foobarchu wrote:
             | This was common on every console through the 2000s,
             | composite cables were not the norm in my experience.
             | 
             | While the PlayStation 2 shipped with composite cables, even
             | it had a coaxial adapter available for tuning to channel 2
             | or 3.
        
               | MBCook wrote:
               | The original PlayStation didn't come with an RF
               | modulator. Neither did the Xbox or the N64.
               | 
               | The Super Nintendo was the last console I remember having
               | one. The Genesis must have too.
               | 
               | But by 95 (PS in US) there were no longer the default.
               | They may have still been available, I don't know. Kind of
               | doubt it but maybe I just didn't notice.
        
               | fredoralive wrote:
               | I think it depends on market, at least some European /
               | PAL PlayStations did come with an RF modulator[1]. The
               | Dreamcast also did (UK at least), but that was an
               | outlier, other consoles of that generation had RCA
               | composite cables and an RCA to SCART adaptor.
               | 
               | You (nearly) always had to buy the RGB SCART cable you
               | actually wanted for a good picture separately.
               | 
               | [1] random eBay listing, with RFU Adaptor pictured /
               | listed in contents:
               | https://www.ebay.co.uk/itm/364907339156 (Note Europe uses
               | Belling-Lee connectors for TV antennas, so the connector
               | is probably different to North American style RF boxes).
        
               | 0xcde4c3db wrote:
               | I don't know about other regions, but in the US console-
               | specific RF adapters were available separately up to the
               | Dreamcast/PS2/GameCube/Xbox generation, i.e. until HD
               | over HDMI became the prevailing standard (Wii
               | notwithstanding).
               | 
               | For the RF switch part, Nintendo actually recycled the
               | NES design for all of them. It's kind of funny seeing
               | that chunky gray box next to a GameCube logo.
        
               | krs_ wrote:
               | I definitely bought an RF adapter for the N64 to be able
               | to plug it into my old crusty TV at the time. But indeed,
               | it was something you deliberately had to buy at that
               | point and composite inputs were the norm.
        
       | pvg wrote:
       | A big similar discussion two years ago
       | https://news.ycombinator.com/item?id=31511719
        
       | rand0mfacts wrote:
       | This site has a simulation of the hardware logic used to build
       | Pong: https://www.falstad.com/pong/ball.html
        
         | NikkiA wrote:
         | Notably that is Atari's clone/rip-off. Magnavox's Table Tennis
         | used diodes and transistors and was technically purely analog.
         | 
         | And of course Tennis For Two was also purely analog pre-dating
         | ICs completely.
        
         | amelius wrote:
         | Yes, and it links to:
         | 
         | http://www1.cs.columbia.edu/~sedwards/papers/edwards2012reco...
        
       | holoduke wrote:
       | On paper. I remember my cousin who is 50 now writing me letters,
       | handwritten with entire programs in it. All i had to do was
       | writing it and compile it. It often worked out of the box and was
       | never longer than a few pages. I dont know how he did it.
        
         | alexey-salmin wrote:
         | That's not the question. There was essentially no computer at
         | all in those videogames
        
           | chongli wrote:
           | You still use paper. Instead of writing the game in a general
           | purpose programming language you write it using logic gates.
           | You get abstraction and modularity by designing larger
           | components (adders, flip-flops, timers, shift registers) on
           | separate pieces of paper and then including them as named
           | black boxes in a higher-level diagram.
           | 
           | The good news for the Pong developers is that most of those
           | larger components were already available off-the-shelf.
           | Common families of these chips, such as the venerable
           | 4000-series and 7400-series logic families, began to appear
           | on the market in the mid-1960's.
           | 
           |  _Edit just to add another bit of nuance_. If it still seems
           | like an extremely difficult task without much precedent, I
           | think the lineage of these early arcade games can be traced
           | back through their older arcade siblings: pinball machines.
           | People had been building more and more sophisticated pinball
           | machines over the decades since their inception in the early
           | 1930s. For a look into pinball machines, some of their
           | history, and an amazingly deep dive into the workings of a
           | 1970 's model, check out Alec's pinball series on Technology
           | Connections [1].
           | 
           | [1] https://www.youtube.com/watch?v=ue-1JoJQaEg&list=PLv0jwu7
           | G_D...
        
           | yarg wrote:
           | Wouldn't it be closer to say that the game was the computer?
           | 
           | A very simplistic and non-general purpose computer, but a
           | computer nonetheless?
        
             | alexey-salmin wrote:
             | I believe this is correct, yes. It's not programmable but
             | the term "programmable computer" exists because not all
             | computers are programmable.
        
           | sargstuff wrote:
           | Bit heavy on the academic theory, but Claude Shannon's
           | "Mathematical Theory of Communications" might help with the
           | link between gated logic and modern computation.
           | 
           | CS builds/extends hardware based on Shannon's work. CS
           | programming languages are classified according to the
           | Cholmsky hierarch in theory of computation. Given topic of
           | discussion, atari games implimented as logic gates are a form
           | of state machine (autonoma) which can be represented at a
           | higher level of abstraction by a programming language. (
           | https://www.geeksforgeeks.org/chomsky-hierarchy-in-theory-
           | of...)
           | 
           | There are different frameworks / ways of
           | implimenting/presenting 'logical computations'. aka ME
           | physical, EE logic gates, math numerical computation,
           | computer science programming languages.
           | 
           | Loosely ordered by various implied collision/response (XOR)
           | for anaylzing/presenting "logic/type groupings" in physical
           | spaces / virtual spaces.
           | 
           | Higher level/virtual logic/techniques of modern CS hids the
           | 'logic bits' of things. aka gawk chapter "11.3.11 And Now for
           | Something Completely Different" program -- where character
           | fonts are higher order of logical groupings tied to a number
           | of bits ( https://www.gnu.org/software/gawk/manual/gawk.pdf )
           | and pdf imaging ( https://github.com/tavinus/pdfScale )
           | 
           | Historical progression of display mechanics has less virtual
           | abstraction relative to how programming languages
           | produce/compute results.
           | 
           | No player movement, all autonoma state machine :
           | https://www.youtube.com/watch?v=wiYTxjJjfxs
           | 
           | Progressing from "larger" implimentation to smaller
           | implimentation details for equivalent amount of "logic
           | states":
           | 
           | -----
           | 
           | A) mechanical logic devices and circuits : https://www.nacomm
           | 09.ammindia.org/NaCoMM-2009/nacomm09_final...
           | zoetropes            :
           | https://letstalkscience.ca/educational-
           | resources/interactives/zoetrope             kinomatic display
           | :             babbage engine       :
           | https://www.computerhistory.org/collections/catalog/X39.81  /
           | https://www.computerhistory.org/babbage/
           | mechanical pixel art :
           | https://www.youtube.com/watch?v=w1ks0Vy98KI
           | mechanical clock     : https://www.youtube.com/playlist?list=
           | PLiqrEMrfoE8pOmxFXpOTk7UyUK8hfkwLH             water display
           | : https://www.youtube.com/watch?v=L0i-uTa4kv4
           | 
           | -----
           | 
           | B) electrical logic devices (smaller scale than mechanical
           | devices, so no vaccum tubes / flip displays):
           | light gun     : https://www.reddit.com/r/explainlikeimfive/co
           | mments/5crto3/eli5_how_does_an_arcade_shooting_machine_works/
           | mechanical tv :
           | https://en.wikipedia.org/wiki/Mechanical_television
           | crt ram       : https://www.radiomuseum.org/forum/williams_ki
           | lburn_williams_kilburn_ram.html             e-ink         :
           | https://www.visionect.com/blog/electronic-paper-explained-
           | what-is-it-and-how-does-it-work/
           | 
           | -----
           | 
           | C) virual stuff:                  pixel to spreadsheet :
           | https://leondrolio.com/apps/pixel-spreadsheet/
           | mindcraft computer   : https://minecraft.fandom.com/wiki/Tuto
           | rials/Redstone_computers
           | https://www.reddit.com/r/programming/comments/xecijm/someone_
           | made_minecraft_in_minecraft_with_a/             bash &
           | postscript make it a lot easier to change the display
           | mechanics : https://github.com/tavinus/pdfScale
           | 
           | -----
        
         | hggigg wrote:
         | That was a miracle. I used to type in programs from magazines
         | and books and nothing ever worked. That did however teach me
         | how to fix things and was very productive in the long run!
        
           | 486sx33 wrote:
           | Just the other day I was manually modding a json file,
           | because damnit I know better.
           | 
           | Anyway one typo and it borked the whole deal. Lol it is truly
           | difficult sometimes
        
       | illwrks wrote:
       | I watched this video on Youtube a few months ago that's very
       | insightful!
       | 
       | It's about an arcade game from the 70's called Sega JET ROCKET:
       | 
       | https://www.youtube.com/watch?v=D0qlfEuzj6U
        
       | hggigg wrote:
       | Pong isn't that complicated. If you go even further back it gets
       | even simpler. There's a good example here:
       | https://www.eevblog.com/forum/projects/oscilloscope-pong-for...
       | 
       | It _looks_ complicated but it's really not if you break it down
       | into small bits and think of it like you would with a piece of
       | software I.e. abstractions.
        
         | yarg wrote:
         | Did you RTFA?
         | 
         | It covers some things that are rather counterintuitive,
         | especially if you come from a modern programming background.
         | 
         | Now is it complicated? No not really, I read the answer and
         | immediately understood what was going on.
         | 
         | But no modern programmer would ever come up with the solution
         | of addressing x and y positions by setting timers to wake at
         | the times when the point in the scan-line or the scan-line in
         | the frame was reached (although sleep-sort does exist).
         | 
         | If anything, the point of the post is the fact that it's very
         | easy to understand, despite how counterintuitive it may be.
        
           | ziddoap wrote:
           | >> _Pong isn't that complicated._
           | 
           | > _Now is it complicated? No not really, I read the answer
           | and immediately understood what was going on._
           | 
           | Seems like you agree? Not sure why you asked if the parent
           | poster RTFA.
        
             | yarg wrote:
             | > If anything, the point of the post is the fact that it's
             | very easy to understand, despite how counterintuitive it
             | may be.
             | 
             | Much like he seemed to have missed the point of the post,
             | you seem to have missed my point about him seeming to miss
             | the point of the post.
        
             | baxtr wrote:
             | As a side note: I find the usage of RTFA and TFA pretty
             | impolite and don't like to see it on HN a lot.
             | 
             | Many come here just for the comment section and the
             | discussions, not the article per se.
        
               | jessekv wrote:
               | Thanks for calling it out, I feel the same.
        
           | tdeck wrote:
           | If you're generating a PAL/NTSC/composite signal it's pretty
           | intuitive to think of lighting up point X as turning on the
           | signal (and this the electron gun) at a specific time because
           | that's the way the "protocol" works. There's only one "wire"
           | and the data is purely serial and synchronized to a specific
           | scan speed.
           | 
           | This is also how the video hardware on CPU based consoles and
           | home computers worked. They had counters and used them to
           | either index into a frame buffer or look up hardware sprites,
           | or both. Some machines did it more or less entirely in
           | software (e.g. the ZX-80).
           | 
           | http://blog.tynemouthsoftware.co.uk/2023/10/how-the-
           | zx80-gen...
           | 
           | Of course there are modern programmers who still do this
           | today, bit-banging VGA on little microcontrollers and the
           | like.
        
           | Moru wrote:
           | Ehm, now I feel really old. I just did a comment about this
           | in some other thread. It's one of those timing things where
           | it is hard to use a debugger. The scanlines scan in whatever
           | frequency they are set to. You can influence the frequency
           | and what color it should hit but you don't have exact control
           | of the speed and have to set a timer or interrupt to fire
           | when the electron beam is on the location you want to paint
           | red. There are many programmers still alive that knows how
           | this stuff works and now I feel like a dinosaur. :-)
        
           | alfiedotwtf wrote:
           | > But no modern programmer would ever come up with the
           | solution of addressing x and y positions by setting timers to
           | wake at the times when the point in the scan-line or the
           | scan-line in the frame was reached
           | 
           | I would say it's only fairly recently we stopped needing to
           | do this - when we moved to graphics mode operation systems
           | (oh god I say fairly recently but thinking now it's probably
           | close to 30 years ago yikes). I'm thinking Garmin app
           | developer may still need to do it
        
       | Dwedit wrote:
       | NTSC composite video isn't all that hard, you have voltages for
       | VSync, HSync, VBlank, HBlank, Black and White. Generate the
       | correct voltages at the correct times and you have a TV picture.
       | 
       | But TVs then didn't have composite video inputs, so you also
       | needed an RF modulator.
        
         | fma wrote:
         | I haven't heard these terms in years. My college Digital Design
         | had a project to create pong and output to a VGA monitor.
        
         | bregma wrote:
         | Don't forget you need a balun to convert the RF from the coax
         | output to the parallel-pair antenna input. Of course, the
         | antenna input was already in use by the rabbit ears so you have
         | to double up.
        
       | squeaky-clean wrote:
       | There's a scene in "That 70's Show" where Kelso and Red bond over
       | Pong and decide to mod the game to make it harder. And a few
       | hours later with a soldering iron, smaller paddles!
       | 
       | The first time I saw that episode was at a friend's house. I felt
       | so smart telling him that was impossible because you can't mod
       | software with a soldering iron. Then his dad poked his head out
       | from the kitchen and told me Pong didn't have software.
       | 
       | Turns out the only impossible part of that episode is the idea of
       | it taking a few hours. Changing the paddle size was a mod already
       | supported by the hardware and the manual gave details on how to
       | do it. Though it wasn't necessarily intended as a difficulty
       | setting, it was intended to support different sizes of TVs. iirc,
       | all you need to do is solder 1 jumper.
        
         | 486sx33 wrote:
         | Kind of amazed Kelso disassembled something and it worked after
         | (I think was the surprising part) lol
        
           | al_borland wrote:
           | That's probably what Red was there for. To lend a foot every
           | time Kelso needed it.
        
           | jimbob45 wrote:
           | There was a downplayed running joke where Kelso was actually
           | extremely skilled at engineering. In another episode, he
           | repairs a car with Red and explains what he's doing in high
           | technical detail while Red just pretends to know what he's
           | talking about because he doesn't want to admit that Kelso is
           | smarter than him at something.
        
         | saywhanow wrote:
         | Idk. A few hours for Kelso to solder a jumper sounds about
         | right.
        
         | nihilist_t21 wrote:
         | I had no idea that scene was somewhat accurate! I just watched
         | it and had the same feelings you did.
        
         | mepian wrote:
         | >I felt so smart telling him that was impossible because you
         | can't mod software with a soldering iron.
         | 
         | Many old systems stored their software in a diode matrix, which
         | could be modded with a soldering iron:
         | https://www.cca.org/blog/20120222-Diode-Matrix.shtml
        
           | squeaky-clean wrote:
           | Well damn that's neat. I'm going to pretend you were popping
           | your head out from the kitchen as you wrote this.
        
             | MonkeyClub wrote:
             | Also note that Dave's https://CCA.org deserves perusal.
             | 
             | My favorite page remains the one about his computer:
             | 
             | https://cca.org/dave/tech/machine.html
        
               | jonah wrote:
               | Awesome! I wonder what his electric bill is like.
        
           | Izkata wrote:
           | I imagine this is how some sci-fi technology works. Certainly
           | looks like a more low-tech version of some of it: Star Trek
           | has both isolinear chips [0] in Federation technology and
           | isolinear rods [1] in Cardassian technology that can be
           | rearranged to change ship systems and Stargate has control
           | crystals of various designs used similarly [2][3][4].
           | 
           | [0] https://memory-
           | alpha.fandom.com/wiki/The_Naked_Now_(episode)...
           | 
           | [1] https://memory-
           | alpha.fandom.com/wiki/Isolinear_rod?file=Isol...
           | 
           | [2] https://stargate.fandom.com/wiki/Control_crystal?file=Con
           | tro...
           | 
           | [3] https://stargate.fandom.com/wiki/Control_crystal?file=Doo
           | r_c...
           | 
           | [4] https://stargate.fandom.com/wiki/Control_crystal?file=Con
           | tro...
        
           | thih9 wrote:
           | Mind blowing; both ways I guess. I'd like a tv show where
           | someone building this gets to interview a time traveller from
           | the 2020s and the latter knows nothing useful about hardware
           | but can provide many unhelpful details about having GBs of
           | storage, or things like DRM, pentalobe screws or electron
           | framework.
        
             | cmdr2 wrote:
             | Here you go - https://pastebin.com/raw/dGP6W1m1 (story
             | courtesy ChatGPT). Fed your comment into it, and got this
             | story.
        
               | Sharlin wrote:
               | I'm pretty sure the GP was thinking of something having
               | qualities such as "funny", "well-written", or "creative".
        
         | MBCook wrote:
         | I remember that!
         | 
         | I think I had thought it was possible. But in my mind there was
         | no way Red or Kelso could possibly know how to do it.
         | 
         | The fact it was in the manual helps make that more possible.
         | Don't think the episode showed/implied that though.
        
         | 10xalphadev wrote:
         | Haha, _I felt so smart telling..._ that 's HN in a nutshell!
        
         | op00to wrote:
         | Bold of you to assume it wouldn't take me hours to solder one
         | jumper!
        
         | SoftTalker wrote:
         | > Changing the paddle size was a mod already supported by the
         | hardware and the manual gave details on how to do it.
         | 
         | Amazing, that a manual would discuss resoldering a jumper.
         | Today's manuals warn you not to open the case and not to eat
         | the batteries.
        
         | andblac wrote:
         | That's a great scene. I mostly remember it for the exchange the
         | two had after they finished modding the game and it worked [0]:
         | 
         | Red: "Congratulations, son! You have seen the future!"
         | 
         | Kelso: "Yeah, yeah, you're so right, Red! Home computers! That
         | is the future!"
         | 
         | Red: "No, no, no. Not computers! Soldering! The future is
         | soldering! [...]"
         | 
         | How often do we try to extrapolate from current technological
         | improvements to predict the future, yet fail to grasp which
         | changes are truly important.
         | 
         | [0]
         | https://tvshowtranscripts.ourboard.org/viewtopic.php?f=936&t...
        
       | chrismcb wrote:
       | What do you mean by "programmable computer?"
        
         | dboreham wrote:
         | Today it means: computer. But long long ago there were things
         | called computers (something that computed) that weren't
         | programmable. E.g the computer that aims battleship guns in
         | WW1.
        
       | DonHopkins wrote:
       | Blip is a digital game, because you use your fingers to play it,
       | and it used that cool BYTE Magazine computer font.
       | 
       | BLIP video game by Tomy commercial 1979:
       | 
       | https://www.youtube.com/watch?v=lPA7SQbwDOQ
       | 
       | Blip - 1977 Mechanical Pong:
       | 
       | https://www.youtube.com/watch?v=BSvZbcwqlTw
        
       | jburgess777 wrote:
       | Olimex just released a 1 euro game 'computer' based around a tiny
       | RISC-V microcontroller. It drives a monochrome VGA display by
       | bit-banging a couple of GPIO lines in software. Obviously the use
       | of a microcontroller is cheating a little, but likely makes the
       | system cheaper than anything which could be built with discrete
       | logic or FPGA.
       | 
       | https://www.olimex.com/Products/Retro-Computers/RVPC/open-so...
        
       | 486sx33 wrote:
       | We used to mess around with making video output from hardware in
       | electronics class... it's definitely old school cool in my mind
        
       | masswerk wrote:
       | I once wrote about this on the example of _Computer Space_ (1971)
       | -- the very first coin-op video game and also the first one using
       | this technology -- and how this relates to the Atari VCS  / 2600
       | and its TIA chip.
       | 
       | https://www.masswerk.at/rc2017/04/02.html#basics
        
       | pkaye wrote:
       | I've seen a schematic of a Pong like game made with digital
       | circuits like counters and comparators.
       | 
       | Each player has a Y position controller. So and Y1 and Y2
       | register. Then the ball has an x and y position. The game logic
       | is controller by comparators to detect events like reaching
       | borders or within the paddle width range. So for example if you
       | reach the left border and is within left paddle range then bounce
       | the ball back right otherwise the left player loses.
       | 
       | In terms of drawing to the screen, again compare the screen pixel
       | position to each of the two paddles and ball position. Drawing
       | the score was a little more complex but your have a counter for
       | each players score and that determines which lines to draw. So
       | you OR together the output from many comparator logic to
       | determine the pixel should be lit or not.
        
       | Taniwha wrote:
       | Have a look at Tiny Tapeout which is running a demoscene
       | competition - essentially building hardware just like this
       | (making hardware counting scan lines and pixels to make VCA)
        
       | LordHeini wrote:
       | Unrelated but important. Whatever you do if you end up in Berlin
       | for whatever reason.
       | 
       | Go to the computer spiele museum
       | https://www.computerspielemuseum.de/
        
         | mixmastamyk wrote:
         | Looks awesome, now I have another reason to visit Berlin.
        
         | radicalbyte wrote:
         | If you're ever in the area of Milton Keynes in the UK, TNMOC at
         | Bletchley Park is awesome.
         | 
         | https://www.tnmoc.org
        
       | userbinator wrote:
       | _As a Computer Science graduate without an Electrical Engineering
       | background, I was trying to wrap my head around how that was even
       | possible._
       | 
       | I wish more CS curricula would start with digital logic and stay
       | there for a little longer before going into the full stored-
       | program computer. That used to be the norm.
       | 
       | One of the first Pong ICs, the AY-3-8500, is reverse-engineered
       | in this series of articles:
       | https://nerdstuffbycole.blogspot.com/2018/01/reverse-enginee...
        
         | pjmlp wrote:
         | Indeed, back in the 90's our software engineering degree had
         | lots of shared lectures with electrical engineering.
         | 
         | Digital logic would go all the way from boolean logic to
         | designing our own toy CPU, with implementation using discrete
         | logic components left as optional for those that felt like
         | going for the top score on the assignment.
         | 
         | Additionally we also had stuff like EEPROM programming as
         | optional selection for the total credits.
         | 
         | Interestingly enough, stuff like Prolog and LP, was also a
         | required lecture for both engineering degrees.
        
           | kalleboo wrote:
           | In Sweden, rather than a "computer science", there's a
           | "computer engineering" degree that also retains a lot of the
           | electrical engineering stuff such as building a computer
           | starting with a diode, building a flip-flop, a shift
           | register, etc etc. Karnaugh Maps and everything.
        
             | pjmlp wrote:
             | I always have problems after all these years understanding
             | US concept of CS being mostly theory, because in Portugal
             | that isn't something we have as such, that is rather a
             | specialisation of Maths degree (Maths applied to
             | Computation, loosely translated), which only math nerds
             | take, not those into computing.
             | 
             | Even if we translate our degree names to CS, the contents
             | of those 3 to 5 years are very much hands on, with many
             | lectures requiring successful delivery of project
             | assignments before attending respective exams.
        
             | RobotToaster wrote:
             | We have both options in the UK, CE is what I studied.
        
             | vel0city wrote:
             | Computer engineering degrees are also a thing in the US. I
             | used to joke with friends it was 2/3rds Computer Science
             | and 2/3rds EE.
             | 
             | https://catalog.utdallas.edu/2024/undergraduate/programs/ec
             | s...
        
               | glimshe wrote:
               | It's no joke - my Computer Engineering degree overseas
               | was literally that. The average completion time was 6
               | years, I speed ran it and completed in 5 1/2. Nobody
               | AFAIK could ever do it in less than 5.
        
               | alfiedotwtf wrote:
               | Nobody did it in 6 either... we all changed after first
               | year into with comp sci or the arts
        
               | pjmlp wrote:
               | In Portugal, before Bologna changes, a degree would take
               | 5 years by law, but on average would be around 7.
               | 
               | After Bologna, no one really takes the plain three years
               | version, as the old degree was upgraded to include Msc,
               | and everyone with the old degree also got equivalence to
               | the new one with Msc, and no one wants to search for a
               | job having only the lowest level degree.
        
         | mavamaarten wrote:
         | We had a course like that and I absolutely _loved_ it. It 's
         | the most fun I've ever had in an educational setting.
         | 
         | It followed such a lovely flow, starting with the absolute
         | lowest level of computing (binary maths, diodes, transistors,
         | and building logic gates with these) and kept on combining
         | these building blocks until we arrived at modern computers and
         | software.
         | 
         | Even if you're just a "modern age" developer that only ever
         | uses modern programming languages, just understanding how
         | everything is built makes you make better decisions all around.
        
           | jatins wrote:
           | Any books/courses like that out in the open?
        
             | torlok wrote:
             | Go through the Ben Eater channel on YouTube. It'll get you
             | up to speed with early 80s computing. Computers quickly
             | stop feeling like magic after you grasp the basics.
             | Watching him build a VGA card should be enough to intuit
             | how Pong was made.
        
             | jburgess777 wrote:
             | One which gets mentioned often is NAND 2 Tetris, which
             | starts with basic logic gates and progresses to produce a
             | simple computer:
             | 
             | https://www.nand2tetris.org/
        
         | veqq wrote:
         | https://www.nand2tetris.org/ starts making logic gates until
         | you build a language in assembly, which you implement Tetris
         | with.
        
           | TheOtherHobbes wrote:
           | Pong doesn't have an ALU. The image and scoring emerge
           | directly a forest of logic gates - mostly by timers and
           | counters that scan the display, read the input controllers,
           | and trigger logic events at various points in the scan cycle.
           | 
           | Memory used to be ridiculously expensive, and it was cheaper
           | to build a board full of dedicated logic than a simple CPU
           | with a full-screen frame buffer.
        
             | alfiedotwtf wrote:
             | That's crazy when you read it like that in 2024!
        
         | netcan wrote:
         | Why start there?
         | 
         | I get that there's a timeline, and that following the timeline
         | is a good way of building a base but...
         | 
         | But... you could also add it to the middle or end of a course.
         | I feel students would be more likely to appreciate the
         | material. Would also be good to have "easy" courses that aren't
         | fluff.
        
         | II2II wrote:
         | > I wish more CS curricula would start with digital logic and
         | stay there for a little longer before going into the full
         | stored-program computer. That used to be the norm.
         | 
         | I remember sneaking[1] into a few of those courses during
         | university. Loved them.
         | 
         | The problem is that most computer science students viewed them
         | as useless. They wanted to take, what they thought of as,
         | useful courses. If it wasn't C++, it wasn't useful. Even the
         | computer science students who were interested in pure math,
         | these were computer science courses after all and the
         | university offered a separate software engineering degree,
         | didn't see them as useful.
         | 
         | A slight tangent: one of the courses I had the most fun wasn't
         | even a computer science course. It was a philosophy course that
         | spent a lot of time on computability. Cramming a bunch of
         | genuinely interested social sciences students into the same
         | room as a bunch of genuinely interested computer science
         | students made for an absolutely amazing course. In contrast,
         | the computer science department version of the course was
         | populated by a majority of students who were only interested in
         | the mandatory credit. It made for an astoundingly terrible
         | course.
         | 
         | (These thoughts are from the perspective of a mid-1990's
         | physics graduate.)
         | 
         | [1] Sneaking may not be the right term here. People in the
         | department knew that I was doing this, to the point where I
         | managed to get access to department computers and even managed
         | to take a course for credit, with special permission from the
         | professor and without the prerequisites, but the administration
         | certainly didn't know about it since I didn't even bother with
         | the official "auditing a course" route.
        
           | eszed wrote:
           | This right here is what a university is for, and why it's
           | useful to cram a bunch of people with widely-varied
           | specialities into a shared physical location. It's about
           | exploration of knowledge through cross-polination of ideas.
           | Social science and computer science students in those classes
           | learned things _from each other_ that they wouldn 't have
           | otherwise.
           | 
           | We see over and over again through history (Renaissance
           | Italy, Bell Labs, Romantic-period Berlin, early-Google's
           | cafeterias) how cross-disciplinary conversation inspires
           | innovation.
           | 
           | The "useful" classes are necessary, but if institutions (or
           | students) stop there then they have missed the whole point.
           | They're treating class-work as office-work, and making that
           | the summit of their ambition.
        
         | namaria wrote:
         | We've had a whole generation now of CS majors who don't really
         | understand the underlying hardware and it shows.
        
           | mananaysiempre wrote:
           | We've had three decades of computers whose inner workings are
           | shrouded in secrecy. So I'm not sure CS programs are entirely
           | to blame.
        
             | rty32 wrote:
             | Yeah, other than students who get interested in all the
             | hardware stuff (for whom there would likely be dedicated
             | courses), I don't see how general EE courses help computer
             | science study or career. If anyone really needs that later
             | in the career, it won't be hard to pick it up.
        
               | mananaysiempre wrote:
               | That's not what I meant at all, but then this involves a
               | general conflict between a university and a vocational
               | school (the second should aim to be useful even at the
               | expense of comprehensiveness; the first comprehensive
               | even at the expense of usefulness), or a CS and an SE
               | degree.
        
               | alfiedotwtf wrote:
               | I'm just wondering... did none of your universities offer
               | Computer Engineering? I did it for one year before
               | switching to CS because I just couldn't grok how a bloody
               | OpAmp worked back then and didn't want to spend the next
               | 50 years doing that lol.
               | 
               | My CE course was essentially an Electrical Engineering
               | course with power distribution subjects replaced with
               | programming subjects
        
             | userbinator wrote:
             | PCs of the 90s were pretty open. Mid-2000s and then the
             | rise of locked-down mobile devices was when it started
             | closing up.
        
           | booleandilemma wrote:
           | I mean there's only so much time in the day. The world of
           | software alone is already so vast. It's literally a full-time
           | job.
        
             | 2OEH8eoCRo0 wrote:
             | The fundamentals don't change. Computers still essentially
             | work the same way. All of these languages eventually end up
             | as machine code at the end of the day.
        
         | dxbydt wrote:
         | Dude those were different times. I remember building half
         | adders and full adders with nand gates. Computing poles and
         | residues by hand for 2nd order butterworth filter. There was so
         | much depth to that!
         | 
         | of course nowadays i do the dumb shit everyone else is doing.
         | import numpy as np, np.ones(arr), on and on. i once came across
         | really convoluted business logic. rewrote that as a giant
         | boolean expression and then simplified it using k maps. but
         | when i tried to explain that in the kt session, they were like
         | - what is k map ? what does that mean ? i thought wow i can
         | explain it nicely and win the day. After all, in the kingdom of
         | the blind, one eyed man is king. Instead, when i gave many
         | examples and asked if they had any questions, they were like -
         | what if a truck hits you on your way home ? then who will do
         | this k map minimizing for us ? that's when I suddenly recalled
         | what actually happened in country of the blind. Nunez doesn't
         | become King. Instead, the blind fuckers chase Nunez to poke his
         | eyes out. so in order to survive on the H1B, i had to forget
         | all about the k map. pretend i am also blind and continue
         | importing that numpy. otherwise i can forget about putting food
         | on table.
        
       | 6510 wrote:
       | It is more like a pinball machine than a video game.
       | 
       | Now that I think of it it is really a rather unexplored field.
       | Much more should be possible.
       | 
       | Imagine a car printed in the center of some transparent foil then
       | you rotate the foil to turn. For the background you could have a
       | giant map by projecting a tiny part of a rolled up slide. You
       | could put the road logic on a large drum or hurdy-gurdy punch
       | card roles.
       | 
       | Lots of possibilities.
        
         | masswerk wrote:
         | This is exactly what EM (electro-mechanical) arcade games were,
         | which were eventually replaced by video games. There were
         | driving games, flight simulators of sorts, bombing missions,
         | shooters, etc. Some of the earlier video games were directly
         | copying/recreating earlier EM games. Video games eventually
         | won, because they were lower maintenance. Also, video games
         | allowed for what was hardly possible with EM technology, namely
         | player to player competition, like in Pong. (This was probably
         | the true revolution of video games: a competitive game, where
         | players could match on equal ground, regardless of age, sex,
         | size, physical strength, etc.)
         | 
         | Searching for "EM arcade game" on a video platform like YouTube
         | may be worth it...
        
       | lokimedes wrote:
       | That really seems to draw on how radars are engineered. Is there
       | any historical connection with defense contracting and Atari?
        
       | bobek wrote:
       | Sometimes we do overuse programmable devices, where simpler logic
       | would be even better (read no corrupted memory, instant boot,
       | etc.).
       | 
       | One beat tool are the shift registers --
       | https://bobek.cz/traffic-light/
        
         | 15155 wrote:
         | Cortex M0 chips are 10 cents and boot instantly.
        
       | LarsDu88 wrote:
       | Just imagine how fast llama3.2 would be without a computer
        
       | globular-toast wrote:
       | IMO you can only be confused by this if you think computers are
       | magic. They aren't magic! Build your own computer on a
       | breadboard! I did this and it finally got rid of the last bit of
       | magic in computers for me. Now I can appreciate the beauty fully.
       | 
       | https://eater.net/8bit
        
       | pjmlp wrote:
       | Basically by doing in hardware the same kind of logic decisions
       | as we do in software.
       | 
       | Naturally this doesn't scale beyond basic games, due to the
       | hardware requirements.
       | 
       | I have somewhere on my parents home a book from the 70's, from my
       | father, dedicated to this kind of games, the precursor of BASIC
       | games books from the 80's.
       | 
       | If you want to experiment this today, there are companies that
       | sell such kits still,
       | 
       | https://www.ic0nstrux.com/products/gaming-systems/game-conso...
        
         | alfiedotwtf wrote:
         | Thinking about what you wrote... an llvm2electronics compiler
         | would be cool -compile source down to analog electronics!!
        
           | 15155 wrote:
           | This is called "HLS" (high-level synthesis) and exists. The
           | emitted RTL is atrocious.
           | 
           | Anything but the simplest programs will require way too much
           | logic to implement with discrete components.
        
       | agumonkey wrote:
       | Fascinating thread, thanks.
       | 
       | Somehow related pinball machines were way more complex than I'd
       | ever imagine.
        
         | namaria wrote:
         | Technology Connections on yt has a great series on dissecting a
         | nice electromecanic model, highly recommended
        
           | weebull wrote:
           | Truly a precursor to games like pong. It's just that relays
           | turned into transistors and so we're able to operate at
           | speeds that made manipulation of a TV signal possible.
        
       | leoc wrote:
       | Apparently Dave Nutting
       | https://www.youtube.com/watch?v=UzkGNL2AxP0 's reimplementation
       | of Taito's 1975 _Western Gun_ / _Gun Fight_ for Midway was the
       | first arcade video game to use a microprocessor, though I don 't
       | know if the original implementation was as 'hard-wired' as Pong
       | or if it had evolved more towards being a full computer in TTL.
       | https://en.wikipedia.org/wiki/Gun_Fight
       | 
       | Simmilarly, when the IBM 1401 https://www.ibm.com/history/1401
       | launched in 1959 it replaced large numbers of plugboard-based
       | tabulating systems
       | http://www.columbia.edu/cu/computinghistory/plugboard.html in
       | offices.
        
       | dwh452 wrote:
       | How were pinball machines built without a programmable computer?
       | https://www.youtube.com/watch?v=ue-1JoJQaEg I think the arcade
       | industry was already comfortable dealing with complexity to make
       | the mechanical games. The Rube Goldberg nature of the early video
       | games probably weren't that much of a jump in effort/engineering.
        
       | magoghm wrote:
       | If you want to learn more about this, I strongly recommend
       | reading the 1978 book "How to Design and Build Your Own Custom TV
       | Games": https://forums.arcade-museum.com/threads/how-to-design-
       | and-b...
        
       | EasyMark wrote:
       | You can build logic circuitry with pure hardware circuitry is the
       | simple answer, you don't need a cpu.
        
       | jecel wrote:
       | One additional obstacle for modern audiences is that the TV sets
       | themselves are computers running software. They take a MPEG-2 or
       | MPEG-4 file coming in some network port and send it to some mixed
       | parallel/serial interface to a LCD or similar panel.
       | 
       | If you understood how a 1970s TV worked (specially the simpler
       | black and white ones used in the first video-games) then
       | imagining a circuit that would generate the needed signals was a
       | bit easier.
        
       | jecel wrote:
       | A very nice book is "Designing Video Game Hardware in Verilog" by
       | Steven Hugg and is part of a series of books that is supported by
       | 
       | http://8bitworkshop.com/
       | 
       | I am writing a book somewhat similar to this (currently in
       | Portuguese, but later in English and other languages) using the
       | Digital simulator in Java for the examples as schematics, though
       | they can be exported as Verilog for implementation in FPGA
       | boards.
       | 
       | https://github.com/jeceljr/LivroComputadoresEVideogames
       | 
       | Each chapter represents a video-game console generation, with
       | hardwired Pong and Soccer in the first chapter. I am now working
       | on replacing the game logic in Soccer with a 16 bit version of
       | RISC-V for the second chapter and then improving the video and
       | sound to Colecovision levels. In chapter 3 we will have a 32 bit
       | RISC-V with NES level graphics and sound, with a pipelined RISC-V
       | with something like the Gameduino for chapter 4. The 8 Bit
       | Workshop will let readers program the actual consoles from each
       | era and not just our retro designs.
        
       ___________________________________________________________________
       (page generated 2024-10-05 23:01 UTC)