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