Action 52 - A Bit of History & A Bit of ROM Archaeology

Поделиться
HTML-код
  • Опубликовано: 26 авг 2021
  • The Miracle that is Action 52 for the NES. Text to graphics? Aspect Ratio? Controller handling? It is all here!
    If you would like to support this channel, here is a link to the Displaced Gamers Patreon page - / displacedgamers
    Twitter: / displacedgamers
    Facebook: / displacedgamers
    Instagram: / displacedgamers
    Music by:
    / hariboosx
    / @wolfandraven
    #NES #Action52 #Programming
  • ИгрыИгры

Комментарии • 651

  • @NemesisTWarlock
    @NemesisTWarlock 2 года назад +818

    Action52 Jam:
    52 Developers.
    3 Months.
    Each one given a game from the list to remake as they see fit within the timeframe.
    Let's see what happens.

    • @AboveEmAllProduction
      @AboveEmAllProduction 2 года назад +15

      Can I join pls I can make game

    • @sugarysugarysweet
      @sugarysugarysweet 2 года назад +84

      Something like that happened a decade ago on TIGSource known as Action 52 Owns. It was never finished though the games that were finished range from average to amazing. Of course, the worst of them all are not nearly as bad as any of the Action 52 games, though several of them stands out for their quality. Meong, Sombreros, Non Human, Bubblegum Rosie (Renamed as Bubblegirl Rozy), Beeps and Blips, STREEMERZ, and Illuminator are definitely worth playing, with Non Human and Bubblegirl Rozy being made by the devs of Charles Barkley: Shut up and Jam Gaiden and the Momodora games respectively.

    • @crash2455
      @crash2455 2 года назад +7

      I think someone did this a couple years ago. I have the gamejam version of timewarp tickers somewhere on my PC

    • @justanotheryoutubechannel
      @justanotheryoutubechannel 2 года назад +1

      This is a brilliant idea

    • @AholicKnight
      @AholicKnight 2 года назад

      @@AboveEmAllProduction lol

  • @robintst
    @robintst 2 года назад +508

    The real red flag is that they assigned jump to the B button like savages.

    • @awesomedata8973
      @awesomedata8973 2 года назад +60

      Right? -- "B" is clearly for "BEATING things up" and "A" is definitely for "Air" (of the "Air Jordan" jump ability variety).

    • @lucianothewindowsfan
      @lucianothewindowsfan 2 года назад +3

      Same with _Doraemon 1_ for Game Boy.

    • @Penoatle
      @Penoatle 2 года назад +8

      @@awesomedata8973
      Huh.
      Grew up with it and yet never thought of it like that.

    • @mrwizard5012
      @mrwizard5012 2 года назад +12

      ...Wasn't every single classic game's jump tied to the far button, and attack to the left button tho? Or am I misremembering the nes controller layout?
      Edit: Oh no, it actually does go plus, start/select, B/A. Yeah fuck those B jump people, that's gross.

    • @childofcascadia
      @childofcascadia Год назад +7

      @Mr Wizard
      Idk, on the scale... i think b jump people are better than up dpad jump people. If there was a NES dev dantes inferno the b jump people are in the frozen ice where their heads stick out, and the up dpad people are the ones frozen completely under the ice next to the devil.

  • @LusRetroSource
    @LusRetroSource 2 года назад +1179

    To the programmers credit, I bet most people won't be able to come close to creating this crap if you teach them NES development in one week.

    • @TheTurnipKing
      @TheTurnipKing 2 года назад +195

      If you give people a week's training, and then set them the task of creating 52 games in a three month span, if you're LUCKY, this is what you'll get.

    • @downscale
      @downscale 2 года назад +113

      Right? 1 week of training than pump out 52 games in 3 months? Kudos to them honestly.

    • @guaposneeze
      @guaposneeze 2 года назад +110

      The productivity is completely insane. It's definitely a miracle, even if it is a stinking, fetid miracle without purpose.
      I am kind of amazed they didn't have a single "platformer" engine. Fitting 52 games into 1 NES cart with no shared library code to work from would be a hard task even with a sane deadline and more reasonable available resources. I think if I had been on the project, my first step would have been trying to make a decent engine that I could just plug sprite swaps with different maps into.

    • @sandakureva
      @sandakureva 2 года назад +25

      Yeah I don't think I could learn new hardware that quickly. It's a miracle they managed to make anything at all.

    • @exazebra
      @exazebra 2 года назад +34

      Yeah. Even if they probably knew most of the cpu instruction set beforehand. It's mostly a 6502 with some parts taken out and some extra. But the whole sound and graphics part would be new for them. The programmers did a good job indeed. Which makes it even sadder, because if they had more time some of the games could have been ok instead of terrible.

  • @programa11338
    @programa11338 2 года назад +285

    Funny to think that the AVGN "safety pin joke" wasn't a joke at all. They were actually programming the hell out of their creativity.

    • @kaom4713
      @kaom4713 Год назад +2

      Lmao okay but the dead cat?

    • @danielblack6529
      @danielblack6529 Год назад +21

      @@kaom4713 You mean those in the skating game in the Genesis version?
      That was done by a different development team.

    • @kaom4713
      @kaom4713 Год назад +3

      @@danielblack6529 that explains everything

  • @AlmasyAlliances
    @AlmasyAlliances 2 года назад +587

    I'd happily watch 52 episodes of you breaking down all 52 games code.

    • @lunasophia9002
      @lunasophia9002 2 года назад +25

      I'd be happy with more exploration of this set of games, too, though maybe not a full 52 episodes :) Is there more code reuse, e.g. outside of input routines? What about audio, graphics, game logic?

    • @AlmasyAlliances
      @AlmasyAlliances 2 года назад +19

      @@lunasophia9002 To be fair it probably wouldn't be 52 episodes anyway, what with all the redundant code.

    • @JustinVargheseYT
      @JustinVargheseYT 2 года назад +4

      Ditto!

    • @nicrule4424
      @nicrule4424 2 года назад +3

      I would prefer if he went over games worth learning from where the programmers had time to do more clever stuff, but I'm sure any game he covers will be interesting.

    • @JB-mm5ff
      @JB-mm5ff 2 года назад +2

      So.... that would be 4 or 5 episodes?

  • @dbozan99
    @dbozan99 2 года назад +272

    In 2010 a fan project called "Action 52 OWNS" was started with the goal to "remake all the games from Action 52 for the NES, and make them better, appealing, or at the very least playable." It didn't require the game to actually run on the NES though. 23 of the 52 games are "finished" but the project seems to have died years ago. The most well known one, STREEMERZ, was done by the host of the project, Mr. Podunkian, who's probably most well known for his Merry Gear Solid games.

    • @Controllerhead
      @Controllerhead 2 года назад +29

      Streemerz is Awesome! Mr. Podunkian works on Stardew Valley now =)

    • @monkeyrobotsinc.9875
      @monkeyrobotsinc.9875 2 года назад +1

      Could you imagine a bigger loser?

    • @Nikku4211
      @Nikku4211 2 года назад +13

      The OWNS version of Streemerz was remade for the NES, and it's still not nearly as bad as the original 90s version.

    • @crudalicious
      @crudalicious Год назад +2

      @@Controllerhead character development

    • @PlasticCogLiquid
      @PlasticCogLiquid Год назад +1

      Sombrero was awesome too, I highly recommend that one and Mash Man!

  • @EvilCoffeeInc
    @EvilCoffeeInc 2 года назад +196

    The start of this video rings very true. Our team leader recently told my team "We don't have time to send you for professional development" on a framework I've never used (JSP, of all things, ugh). The sense of deadlines being more important than a job well done is all too real.

    • @KopperNeoman
      @KopperNeoman 2 года назад +26

      These kinds of people learned capitalism from their hammer and sickle wearing professors... then they're baffled when they go bankrupt.

    • @DisplacedGamers
      @DisplacedGamers  2 года назад +59

      Friend: "Hey - what do you use to develop software?"
      Me: "Toothpicks and duct tape"

    • @jju00
      @jju00 2 года назад +25

      @@DisplacedGamers Hopes and Dreams

    • @irritated_name
      @irritated_name 2 года назад +24

      Did you ever find out why multiple games, including Alfredo, never seem to load? I've never seen footage of it before

    • @EvilCoffeeInc
      @EvilCoffeeInc 2 года назад +22

      @@DisplacedGamers We use a lot of Oracle products here so yeah toothpicks and duct tape is apt

  • @zack4president
    @zack4president 2 года назад +50

    Action 52 seems like a class of programming students turned in the first ever game assignment and the teacher just decided to publish them all on one cart.
    Turns out I wasn't far off.

  • @jimmyhirr5773
    @jimmyhirr5773 2 года назад +46

    There is a book called "Death March" by Ed Yourdon about software projects with ambitious deadlines. One of the cases he mentions is projects with deadlines so unrealistic that no one believes that they can be met. He says that this typically creates apathy among the people working on it.

  • @apollolux
    @apollolux 2 года назад +43

    In my 15+ years of professional programming experience I've never heard of any selection of code referred to as an "abyss" of code before now. Action 52 must really be that special.

  • @taz0k2
    @taz0k2 2 года назад +603

    It sounds interesting to modify/fix the code, but I am also horrified at the idea of someone learning to code NES by looking at Action 52 code xD

    • @DisplacedGamers
      @DisplacedGamers  2 года назад +180

      Apparently... one only needs one week of training!

    • @codahighland
      @codahighland 2 года назад +35

      @@DisplacedGamers One week potentially could be enough. It was, after all, enough to get THIS far into it. I imagine I could get what I needed to know in a week, for NES. (Atari 2600, on the other hand, is black magic, and it's frankly amazing that so many games exist for it at all.) To be fair I'm already an experienced game developer, so it's more a question of mapping my experience onto a new platform's architecture and design. And these developers weren't total novices; they did, after all, have at least one game in their portfolio.
      These kinds of errors are what you get when a dev either doesn't know what they're doing at all, or they just don't have enough time to do more than the first attempt that kind of works. If it wasn't for the timeline, I would have guessed the former. As it stands... Some combination, leaning more towards the latter. (In particular, while I could probably build an NES game after a week of training, I'm not sure I could build and debug a platformer engine in that time frame because my experience building platformers is limited. My last attempt is still buggy as heck and I haven't gotten back to it.)

    • @dmas7749
      @dmas7749 2 года назад +22

      these examples are important too; you learn how NOT to do something

    • @liukang3545
      @liukang3545 2 года назад

      @@dmas7749 l0l the nes is obselete anyway

    • @dmas7749
      @dmas7749 2 года назад +17

      @@liukang3545 that doesn't mean you can't learn stuff from it
      besides, while a lot of games haven't aged well i still revisit some classics like Castlevania 1 & 3

  • @vaiyt
    @vaiyt 2 года назад +97

    Programming 52 games in three months leaves you with less than two days per game. And that's not counting having to switch focus to Cheetahmen halfway through. Ain't nobody having the time to optimize that.

    • @achdetoni5008
      @achdetoni5008 2 года назад +3

      I mean yes they were fast,but we need to consider that a lot of those games were copy paste with different graphics. In the end there are sure a lot less then 52 true different games on that cartridge.

    • @guy-sl3kr
      @guy-sl3kr 2 года назад +17

      @@achdetoni5008 Still though, they were novice programmers with 1 week's worth of training. Put me in that situation and you'll be lucky if I manage to get an NES to print "Hello world" lol

    • @briankarcher8338
      @briankarcher8338 2 года назад +10

      @@guy-sl3kr This is actually surprisingly difficult on the NES. You have to know a good chunk of the inner architecture to get to that point, and a good ways into the actual game development.
      The bootup routine. Drawing the character tiles and storing them in the right spot. Palettes. Getting them onto the background. Good knowledge of 6502 assembly. A simple game loop. All has to be in place.

    • @guy-sl3kr
      @guy-sl3kr 2 года назад +2

      @@briankarcher8338 On second thought, I might need more than 3 months lol

    • @KnakuanaRka
      @KnakuanaRka Год назад

      With 3-4 programmers, that’s a week per programmer to make a game.

  • @Tangowastaken
    @Tangowastaken 2 года назад +312

    Always wanted a breakdown of this after seeing AVGN

    • @cosmicjenny4508
      @cosmicjenny4508 2 года назад +37

      The Nerd certainly had a breakdown after seeing this flaming garbage of a game.

    • @B3Band
      @B3Band 2 года назад +3

      And you only had to wait like 8 years haha

    • @LorenHelgeson
      @LorenHelgeson 2 года назад +23

      Agreed.
      AVGN: here's WHAT you don't do in a game.
      Displaced Gamers: here's HOW you don't do it.

    • @L_Train
      @L_Train 2 года назад

      That's not always, then, is it?

  • @LegendBegins
    @LegendBegins 2 года назад +253

    I for one would welcome additional episodes looking at this oddity of a game.

    • @diamondsmasher
      @diamondsmasher 2 года назад +3

      Yes!

    • @user98xp
      @user98xp 2 года назад +3

      Hell yeah.

    • @downscale
      @downscale 2 года назад +3

      I wonder if there are any "Ending Screens" to these unplayable games.

    • @Endru85x
      @Endru85x 11 месяцев назад

      @@downscale There is a video on YT made by someone who tried to get as far as possible, a lot of games were impossible to beat. Also a polish guy made a video about those games with a lot of swearing, trying to explain what those games are even about and mocking them in cruelest way possible.

  • @elijahvincent985
    @elijahvincent985 Год назад +8

    The fact that ANYTHING worked in this nightmare of a game compilation is a miracle. One week of programming classes is not enough for proper learning of any hardware.

    • @fractaloon
      @fractaloon 10 месяцев назад

      To be fair, it was one week of programming on the NES specifically. I took my first computer science class in 8th grade (1982-1983) and really enjoyed it so I continued to program as a hobby for years. When this project started, I already knew how to write simple assembly language programs for the Amiga. it was a different processor than the 6502 but most of the basic concepts where the same.
      Fortunately, the hardware on the NES was not very complex so there wasn't much to learn. :)

  • @jasonblalock4429
    @jasonblalock4429 2 года назад +86

    Given how much advertising this got at the time, I wonder if the ad budget was bigger than the dev budget. I mean, it even got animated TV spots.

    • @Nikku4211
      @Nikku4211 2 года назад +8

      Apparently the animated TV spots never aired, but I could be wrong here.

    • @awesomedata8973
      @awesomedata8973 2 года назад +20

      But... but..... it was supposed to be the next Teenage Mutant Ninja Turtles!!! -- It had anthropomorphic animal men! -- How could it have failed??

    • @tylisirn
      @tylisirn 2 года назад +6

      @@Nikku4211 Even just creating them wouldn't have been exactly cheap.

    • @feelingevaporated2912
      @feelingevaporated2912 2 года назад +6

      @@Nikku4211 animation is still really pricey, especially if it’s new intellectual property

    • @acsound
      @acsound 2 года назад +14

      When the "scope creep" re: CHEETAHMEN came up, someone on the dev team could have suggested/convinced the game producer to forgo ACTION 52 and just focus all their energy on getting CHEETAHMEN right; save the other prospective IPs/ACTION 52 crossover for a SNES game sequel if the CHEETAHMEN took off.
      Now, I'm not a developer by any means; the above is what just makes sense from a workload standpoint. Do ONE thing *well*, then add more things.
      Nintendo didn't attempt more than cameos in their franchise outings until 1999 w/SUPER SMASH BROS.; by then, all of their IPs were proven sellers, and you had high-XP devs like M. Sakurai and S. Iwata (president of HAL Labs, but a dev at heart) working on your N64 game.
      Keep in mind: ACTION 52 was meant in part to be the franchise that would be a NINTENDO/SEGA killer--created by some dude w/an overly-jingoistic "USA! Bring gaming back to AMERICA w/AMERICAN-MADE games!" attitude. NINTENDO couldn't get away w/rushing shit into production (VIRTUAL BOY...), and this publisher w/no XP in game development though he'd create the ALL-AMERICAN anti-Mario franchise stable w/only three devs.
      Hindsight-20/20: Said publisher should've just focused on THE CHEETAHMEN as IP, made that game properly polished, pitched the cartoon, and after that IP's a modest success, create new IPs as single games. But this publisher's mindset was a probable relic of (what created) the NORTH AMERICAN VIDEO GAME CRASH of 1983, where every company and corporation--including DOG FOOD COMPANIES--thought they could code a game for the ATARI 2600...foisting levels of unplayable shovelware into stores to the point where even WAL-MART wouldn't carry games on their shelves.

  • @vuurniacsquarewave5091
    @vuurniacsquarewave5091 2 года назад +145

    Similarly, I bet somewhere they implemented the "fall damage" thing with a timer, so if you fall for X amount of frames you just die. This explains the "dying in mid-air" phenomenon.

    • @Kippykip
      @Kippykip 2 года назад +39

      That's exactly what happends! It ticks up from 0. Forcing it to stay as 0 lets you jump in mid air too. I did it in billy bob and got him to climb through the roof into the unprogrammed area of limbo lol

  • @nensondubois
    @nensondubois 2 года назад +85

    Reverse-engineerng Action 52 was really interesting. There are a lot of things that almost no one knows about and how the games were developed. The sound driver was borrowed from other developers as well.

    • @MrNorbert1994
      @MrNorbert1994 2 года назад +14

      Nah... it was from Sculptured Software and guess what? They copied the sound driver code 52 times for every single game.

    • @nensondubois
      @nensondubois 2 года назад +2

      @@MrNorbert1994 Sculptured software, couldn't recall the name. For some reason Daydreamin' Davy was all I was thinking about when I typed the previous statement and couldn't recall it was Sculptured Software for some reason.

    • @JI0MB
      @JI0MB 2 года назад +2

      @@MrNorbert1994 jesus christ

  • @homestar92
    @homestar92 2 года назад +94

    Just for the record, your videos have inspired me to dig into NES assembly and as a result of this, I have now created my first romhack. I fixed a terrible design flaw in the NES port of King's Quest V so that saved games can persist across a hard reset. All I had to do was NOP out a couple bytes in the ROM. If someone were to solder a battery onto their cartridge (and probably a diode too? Not sure what would be needed...) then the new save feature can be implemented with just two Game Genie codes.
    Of course, if someone were to ever forget or typo the Game Genie codes, their save would still get erased. So really, it's one that should be enjoyed in an emulator or on a flash cart.

    • @SoulBlazer08
      @SoulBlazer08 2 года назад

      That's cool, but I played KQ 5 on the NES all the time as a kid and never had that bug. What exactly is it and did I just luck out? :)

    • @neoqwerty
      @neoqwerty Год назад +1

      @@SoulBlazer08 Reset button is a hard reset, button combo/menu option for a reset is a soft reset, usually.

  • @MurasakiBunny
    @MurasakiBunny 2 года назад +25

    9:00 as someone who's coded on games for the NES and SMS consoles, yeah we usually stored in game text as text ascii codes, so no real fault on Action 52 for doing the same.

  • @warmCabin
    @warmCabin 2 года назад +49

    Have you beaten all 3 levels of Lollipop? The game loops, but the music gets all screwy and it never fixes itself. I can only assume the sound driver somehow gets into garbage as song data. That would be an interesting short dive I bet.

    • @alewis514
      @alewis514 Год назад +13

      Most A52 games loop. There were a bunch of guys doing full 2-hour reviews of this dumpster fire a few years ago (well, maybe more than a few, more like 10-12) and they were making sure they 'completed' each game if it was possible. And in most cases the game would just send you back to level 1, with whatever score you managed to get. And in remaining cases they would just kick you back to selection menu instantly, without any warning.
      These games had very random 'endings', such as Sharks requiring you to kill 94 sharks and the falling condom (uhh... meteor) game requiring about 300 meteors shot down.

  • @stevenclark2188
    @stevenclark2188 2 года назад +9

    It sounds like the boss heard the stories of how quickly Atari 2600 ports got done and assumed his team could do NES games in a short time like that. Nobody told him those crap ports are what caused the videogame crash.

  • @VoxVocisCruora
    @VoxVocisCruora 2 года назад +12

    Back when I was still in high school, taking a game development class, I had been tempted to remake Action 52 in GameMaker Studio, as a way of learning the program more and as a sort of challenge. I never did, it was too daunting of a task and programming confuses me.
    The idea of someone attempting to recreate all 52 games and trying to make them all unique and playable within the limitations of the actual NES code and cartridge is just terrifying to me. If anyone ever did and managed to do it at least somewhat decently, they would be a god. I couldn't even fathom the effort that would take.

  • @GeneralBolas
    @GeneralBolas 2 года назад +10

    Good old copy-and-paste programming. It's nice to know that this practice has a rich history, as well as the common bugs it creates. Like a bug getting fixed in one copy but not propagated to the others.

    • @lasarousi
      @lasarousi Год назад +1

      Never forget the y2k problem was known since the late 40s, and when it happened they just patched it until 2020 and stuff broke anyways lmao
      Humans are neither that creative nor that forward thinking.

  • @timberwolfmedia9423
    @timberwolfmedia9423 Год назад +10

    Having learned the story behind this project, I'm actually impressed as it's basically a miracle they even managed to get as far as they did

  • @NesrocksGamingVideos
    @NesrocksGamingVideos 2 года назад +89

    Storing text in direct ASCII encoding in the ROM is actually very common in NES games. That by itself doesn't mean much. Gotta take a look at the text reading code to see if it's the same accross these games.

    • @DisplacedGamers
      @DisplacedGamers  2 года назад +39

      I almost cut that part after doing research into other games. I added that "this might be common..." slide and then started seeing it in a lot of other places.

    • @NesrocksGamingVideos
      @NesrocksGamingVideos 2 года назад +17

      @@DisplacedGamers It's very good video as usual! Fixing the controls in these games is something that can be done in a couple of hours, just need to find some free space in the ROM to jump the program counter to that area, add the new code and then jump back. The real question is, is that worth the trouble...

    • @tech34756
      @tech34756 2 года назад +13

      Not just NES, my first Hex edit was the intro for Sonic 3D on the MD/Gens going purely by the readable text.

    • @Kawa-oneechan
      @Kawa-oneechan 2 года назад +5

      I suppose your mileage may vary. I'd seen so few (S)NES games use plain ASCII, I was pretty surprised to see it in Donkey Kong Country!

    • @BainesMkII
      @BainesMkII 2 года назад +15

      @@DisplacedGamers If you aren't going to compress the text, then it can be quite practical to store it in regular ASCII. In most cases you probably lose nothing while keeping the text easy to maintain and alter.

  • @Dwedit
    @Dwedit 2 года назад +5

    The music code that Action 52 uses is the exact same music code that's found in the Sculptured Software games. Monopoly and Day Dreamin' Davey are using the exact same code as Action 52 to play music. In Monopoly's title screen, you can ever hear the lead instrument stop playing, and the accompaniment repeats. Many Action 52 games have music that does this as well.

  • @CoverMechanic
    @CoverMechanic 2 года назад +45

    i think it’d be quite hard for new programmers to use shared routines because of the bank switching. You can’t just jump to a routine in a different bank as the bank has to be swapped in first, and swapped out when the routine ends. Much quicker and easier to copy/paste the code and isolate all the games from each other.

    • @marsilies
      @marsilies 2 года назад +6

      Maybe some of the games could've be split between a shared "engine" and the map/graphics? Or the games could've been "unpacked" from a ROM into a RAM chip on the cart?

    • @DisplacedGamers
      @DisplacedGamers  2 года назад +14

      It feels like the input subroutine for platforming was designed to be flexible so that you could use it with multiple games and restrict what actions are available as well as point to the appropriate subroutines for handling those actions. The copy/paste take may have been an instance of feeling pressure of development in addition to potentially needing to separate the banks.
      They may have ultimately consolidated common routines to help streamline the code if they had had the time. Perhaps using 8K of cart RAM would have allowed them to load common routines from one common bank and then switch to the game-appropriate bank for game execution.
      Goodness. Who knows how different things could have been.
      Oh... just saw that marsilies said the same thing about using a RAM chip on the cart.

    • @teranokitty
      @teranokitty 2 года назад +7

      @@marsilies It could all have been done with more shared code in bank switching, but that's well beyond the scope of what the Action 52 team had the opportunity to do.
      All endeavors, whether creative or not, usually are limited by the following maxim:
      "Good, fast, cheap: Choose two."
      Action 52 was fast, and it was cheap. It wasn't good (quality-wise) and the code was also not good. Granted, there's many dimensions to something being "good". For example, a game could be great looking and great to play but the actual code could be atrocious, but that's not the case here.
      Llike Displaced Gamers said, this is not the developers' fault. If Action 52 was meant to be Good and Cheap (cheap to develop), then it would've taken a lot longer to make. If it was meant to be Good and Fast (fast to develop), it would have needed a bigger development budget.

    • @misterhat5823
      @misterhat5823 2 года назад +1

      If there's enough ROM space, why complicate things?

    • @CoverMechanic
      @CoverMechanic 2 года назад +3

      I’m guessing all the games were worked on in parallel by different devs passing useful routines to each other, and only combined into a bank switched cart at the end of the process, I’d guess it’s only the menu that does any kind of calls to the mapper to switch banks, but I haven’t looked at the code

  • @Kippykip
    @Kippykip 2 года назад +29

    This video got me interested in screwing with it in an emulator, I found a tonne of variables in ram are actually shared between quite a few games such as enable autoscrolling, scroll speed, autoscroll direction, die in mid air counters that tick up, level numbers, lives and hitpoints.
    Hitpoints being interesting as some of the games instant kill you on impact, but modding this value lets you survive multiple hits like the other games.
    Bubblegum rossie is especially interesting, level 2 is a car level but level 1 is unbeatable due to a platform thats too high. Either way if you beat level using Y coordinate mods in the ram viewer you can make it, but if you fail level two and lose all your lives, you will notice it will not actually reset the state properly and level one will be a car level and glitch autoscroll vertically. You die on glitched tiles unless you make a cheat in the emulator for infinite hitpoints.
    I tried resetting the driving/platform state in the ram viewer and after a while I managed to get the bubblegum sprite to turn into the car while retaining the rest of the platformer physics and scrolling. Neato lol
    Another interesting game was billy bob, I forced the "midair counter" to 00 so I don't die in mid air during the game, but doing that also made every platformer in action 52 let you jump multiple times in the air.
    So I kept hopping in air in billy bob and he grabbed the damn roof and climbs into this glitch tile world.
    What an experiment lmao

  • @LorenHelgeson
    @LorenHelgeson 2 года назад +10

    Thanks for the breakdown. Excellent content as always.
    4 guys, 3 months. Really puts it into perspective. Consider Howard Scott Warshaw, who was saddled with the ET project. He had even less time, and made some of the best games on the 2600 before that. Give these guys only half the 52 games to make, it would still be a mess.
    Edit: Maybe if they solely focused on Cheetahmen, it would have had a chance to be at least mediocre.

  • @eformance
    @eformance 2 года назад +31

    To fix the movement code you need to treat left and right as mutually exclusive, but jump is treated separately. So you look at the left and right inputs, process one or the other, then look at the jump input, process it, look at the weapon input, process it. So rather than a big select/case type statement, it's discrete if...then...else statements for left+right, jump, fire.

    • @groszak1
      @groszak1 2 года назад +6

      It doesn't matter whether left and right are mutually exclusive in software, because the NES controller physically prevents left+right presses anyway.

    • @dapperbrick7516
      @dapperbrick7516 2 года назад +4

      @@groszak1 yeah, but it's still an actual usable button combination. just because you can't do it without taking the controller apart, it doesn't mean you can't do it - ive seen a few Nintendo titles that straight up crash when you press← and →at the same time

    • @ToaderTheToad
      @ToaderTheToad 2 года назад +3

      @@dapperbrick7516 Yeah, there are examples even in first-party games: Zelda II freaks out if you hold < and > at the same time and Super Mario Bros. 2 USA will make you climb super fast if you hold /\ and \/ at the same time. So it is a thing that happens if you don't account for it.

    • @Slash0mega
      @Slash0mega 2 года назад

      looks like they did just that for cheetahmen,

    • @StreetwizeJJ2
      @StreetwizeJJ2 Год назад

      I think he already had an idea on how to do it, but after looking through the banks myself, I don't blame him for not trying to move it to a different area. What appears to constitute a lot of the non-code in that ROM may likely be data. Besides, there's no need to redo the code entirely. Both halves of the button checks can be merged together by removing the addresses that handle buttons individually. This opens at least 20 bytes, which is more than enough to let jumping work from that part of the subroutine. Afterwards, since the game already prioritizes right over left, you just alter the byte it checks to do jumps to make it something impossible to do on a controller like $FF. I tried to reorder the addresses to remove the third loop, but it freaks the game out.

  • @RabbitEarsCh
    @RabbitEarsCh 2 года назад +27

    I'm honestly amazed they managed this much with only one week of training. That's barely enough to even get all the graphics data done, much less code up an input handler that works. It's surprising that most of these games boot and have non-garbage assets.

  • @PalvoChekov
    @PalvoChekov 2 года назад +2

    Ooze's jump mechanics can be described as a ladder and bowling ball roller (it starts straight up to angle the bowling ball and rolls downward like a silde; it's mainly for younger children who have trouble tossing even a 5lb bowling ball so the ball at least tries to stay straight for a strike).

  • @POSTELVIS
    @POSTELVIS 2 года назад +18

    3 months! Holy shit, thats insane

  • @davidwillmore
    @davidwillmore 2 года назад +5

    "Deadlines and scope creep." Oh, that hit hard. I still get chills....

  • @justanotheryoutubechannel
    @justanotheryoutubechannel 2 года назад +7

    I never realised how the artwork looks stretched, with a comparison it looks super wide on the NES, but totally perfect in 13H mode.

  • @press_pause2236
    @press_pause2236 2 года назад +68

    I said it once
    I said it twice
    I’ll say it once again
    This Chanel is horrendously underrated

    • @xlrfernando
      @xlrfernando 2 года назад +2

      I agree with you!

    • @vinesthemonkey
      @vinesthemonkey 2 года назад

      underrated for a barely scratching the surface look at some 6502 assembly?

    • @press_pause2236
      @press_pause2236 2 года назад

      @@vinesthemonkey barely scratching - I see

    • @vinesthemonkey
      @vinesthemonkey 2 года назад

      @@press_pause2236 surely if you know of this channel you've watched Retro Game Mechanics Explained by dotsarecool. His work is an example of really digging and understanding deeply.

  • @TheTurnipKing
    @TheTurnipKing 2 года назад +7

    9:49 The need for a game to have text is going to be known fairly early on, and this sort of routine is about as simple as means of achieving it as can be imagined.
    Infact, I think the NES tile mapper is just a modified character generator. In a sense this is exactly what it was originally for.

  • @lBonaCl
    @lBonaCl 2 года назад +3

    I have never written assembly, but...
    That looks like a classic case of doing "if-else if-else" groups, there are three consecutive conditions, where you should just do "if" on all of them separately.
    Simultaneous left and right might need some extra logic to stop simultaneous function calls, but otherwise it seems doable.

  • @benanderson89
    @benanderson89 2 года назад +9

    I'd love extra episodes on this! Cheetah Man in particular since they wanted that to be the poster child.

  • @Porygonal64
    @Porygonal64 2 года назад +17

    7:48 I used that same technique when I was making a fan translation of Rockman Battle and Fighters! It just kinda came naturally to me when I saw the text characters were uncompressed in the rom. I overwrote them with hex codes to find out what strings of characters were what, and eventually replaced the hex codes with ansi characters. Made it easier to change and repoint text.

  • @emmettturner9452
    @emmettturner9452 2 года назад +7

    My NTSC Elite prototype that runs on a real NES has ASCII text. The intro scrolls says “Somebody presents…” because it was never picked up by a publisher but you can change it to whatever you want and it will be reflected in the game.

    • @emmettturner9452
      @emmettturner9452 2 года назад +3

      …of course, these are translated to wireframe graphics and not your usual tiles.
      Well, I guess the wireframe graphics are somehow made of tiles too. Perhaps Elite is a good one to look at next? I was getting ready to sell it after getting hit with an EF4 tornado but I had always hoped to look at it deeper with someone who knows what they are doing.
      My prototype is very unfinished compared to the final PAL release. The UI is extremely awkward and there is no music, though the music toggle is there. I do wonder if it can be finished by combining the unreleased NTSC code with the PAL version.
      Mine is different from the “NTSC” version they made available online. That one does not run on a real NTSC NES and says “Emulator version” in the opening scroll.

  • @PanAnning
    @PanAnning 2 года назад +30

    The main thing I've been wondering about is Level 3 of Lollypop - about the glitchy music there, I've always wondered if it happens because the game tries to read Music data from the Graphics data by mistake.

    • @beesree39
      @beesree39 Год назад +2

      it's reading from ram i think

  • @vectrex28
    @vectrex28 2 года назад +11

    That Star Wars game was the wrong one, it was developed by Beam Software, an Australian company. However, the game based on Empire Strikes back was developed by Sculptured Software, from Salt Lake City.
    I'm pretty sure they also used their sound engine in some way. Either way, I don't know how Nintendo let this fly as Sculptured Software was an official Nintendo licensee (who, coincidentally enough, made that Monopoly game that ahowed up in the size comparison)

  • @1000huzzahs
    @1000huzzahs 2 года назад +3

    I'd love to see someone try to program a "fixed" Action 52 cartridge. It's like a challenge of, "CAN this be done??"

  • @LusRetroSource
    @LusRetroSource 2 года назад +18

    This game makes a Neo Geo owner feel much better about paying $200 for a game.

    • @xX_Pokeman_Xx
      @xX_Pokeman_Xx Год назад +2

      I mean the Neo Geo system was literally just the arcade machine so 200$ back then wasn't that bad, considering the target.

  • @misterhat5823
    @misterhat5823 2 года назад +7

    I've used a similar approach whenever needing to display text on anything I've programmed. I've always thought translating ASCII to bitmaps was a fairly standard approach. I also implement some of the other codes as control codes for linefeeds, carriage returns, clear screen, change color, goto char location, etc.

  • @jillcrungus
    @jillcrungus 2 года назад +20

    It's super cool to see this because after watching some of your other videos I ended up trying to dig into Action 52 myself and found the same details regarding Ooze's awful input. Trying to fix up Action 52 does seem like it'd be a super fun project but unfortunately I only barely figured out the input code and while I did try to figure out a way to fix the input (at least in Ooze) it was too much for the limited knowledge I have.

    • @MakotoIchinose
      @MakotoIchinose 2 года назад +3

      Even then, by the time you're able to fix the input issues, you'd think that you're might as well make a new NES game from scratch.

  • @GeoNeilUK
    @GeoNeilUK 2 года назад +6

    Impressed the man with a Tetris game on the Amiga. So a much smaller game on an entirely different machine. He might have had better luck with experienced C64 or Atari 8 bit developers.

  • @Lightblue2222
    @Lightblue2222 2 года назад +16

    On Mario Bros 2600, if you continue to hold the jump button long after a jump, It keeps you locked to the floor and cant move left or right. So that may be a 1 button at a time game as well but doesnt get in the way, I just noticed by chance one day

  • @guard13007
    @guard13007 Год назад +3

    I actually really like attacking midair temporarily removing gravity. It makes the character feel more powerful to me. "My attacks are so strong not even gravity can stop me."

  • @1CaptainMorgan
    @1CaptainMorgan 2 года назад +19

    As someone who knows nothing about programming let along NES programming. this was very informative and i like the deep dive of explaining why the game is quirky.

  • @yordbaermelk5879
    @yordbaermelk5879 2 года назад +8

    I really, really enjoyed this one! Ever since watching the AVGN video that covered the game I've wondered about some of the background to the game and what was going on under the hood. I'd definitely be interested in a more in-depth video on the subject, but maybe not an entire *52* episodes.

  • @noodletribunal9793
    @noodletribunal9793 2 года назад +5

    there is an EXTREMELY bizarre glitch in level 3 of game 33 "lollipops" where the music i think is getting overwritten by what's happening in the game? like what they do in pokemon and ocarina of time speedruns? arbitrary code execution or something? because it is never the same song and it is a complete and utter mess.
    my favorite example is from Bikdiponabus's lets play of this game on part 5 at 52:16
    then compare that to other videos of level 3, as well as videos of just the theme itself, which was probably recorded with no input from the player.
    or another episode focused on cheetah men. as a code illiterate person, i would love to see explanations for the stranger things like how one of the bosses may disappear, soft locking the game. how there is a life bar for some levels but not others, as well as the jump controls being different. why you can die off the top of the screen(also on some stages but not others).

    • @Jeansowaty
      @Jeansowaty 18 дней назад +1

      Regarding Cheetahmen, every single level in the game is virtually its own separate game in a way.

  • @caslaBBalsac
    @caslaBBalsac 2 года назад +4

    15:13
    This is actually standard procedure for filtering out what would otherwise default to turbo fire, it's just that they were using it to do what would normally be handled by the game's gravity mechanics and/or checking to see if the player is on the ground. It's also odd for it to filter ALL button presses instead of a specific one.

  • @Milennin
    @Milennin Год назад +5

    Having to make 52 "games" in 3 months with only 1 week of training sounds like an absolute nightmare scenario. It's no wonder it turned out as badly as it did.

  • @jeremygregorio7472
    @jeremygregorio7472 2 года назад +4

    I'm holding out for a 4K remaster of action 52 with Ray traced graphics.

  • @ricarleite
    @ricarleite 4 месяца назад +2

    Action 52 is the 1991 equivalent of a friend saying "Hey you know how to program, I have this awesome idea for an app"

  • @deadair32101
    @deadair32101 2 года назад +10

    Please more about this ...interesting game. Always been interested in the background of all the issues in it

  • @QuintusCunctator
    @QuintusCunctator 2 года назад +3

    Thanks for giving some context on the absurd conditions under which Action 52 was developed.

  • @torarinvik4920
    @torarinvik4920 2 года назад +2

    6502 assembly/assembler is so awesome. Such a different experience to program in. Gives you an experience with totally different challenges than when you program in Python or C++ . The limitations of it is part of the charm and challenge. Sometimes a rusty old bicycle can be as fun as a new high tech one.

  • @ZephniStrife
    @ZephniStrife 2 года назад +11

    I've been a developer for the last 18 years or so and was just thinking this the other day, I completely see what you're saying in the beginning about non developers expectations. It is incredible how the expectations have gotten so high, not just graphics and gameplay perfection but the storyline and fun factor and everything else, plus being bug free! I have been working on a game i started back in 2009 and has been started from the ground up 3 or 4 times as technology has changed... i have spent the last 6 months (all day everyday) just putting the engine and event system together, then another 2 months refining it and building the first couple of level areas and a few enemies.. then the menu systems.. inventory, items... Man.. everything takes so much time. But i full well know that even if i spent another 5 years developing this game and released it on steam or something, it would just fall by the way side as yet another indie game that isn't perfect by any stretch of the imagination. Anyway.. not sure why im saying this really, something you said just hit me hard lol!

  • @bobbyunavailable
    @bobbyunavailable 2 года назад +3

    What is broken in the code that stops you from making progress in Cheetahmen past the monkey boss (if my memory serves me well, I think it’s the monkey boss.)

  • @mikepancake743
    @mikepancake743 Год назад +1

    I own action 52 on a cart. Still works. When I used to play this game as a child I never understood why some of the games felt empty

  • @renakunisaki
    @renakunisaki 2 года назад +7

    I always assumed they had one fixed bank containing all the common routines (the engine) and each game swapped in a different bank for the other half. But I guess that would have made too much sense.

    • @pharoah327
      @pharoah327 Год назад

      My guess is they were probably building up to that. As they create the games, they get a sense of the repeated tasks they need to perform and can turn that into a framework for all games to reuse. But they never got the chance to refactor the code and make this happen. Would have probably fixed a LOT of issues or at the very least would have lead to better consistency among the games. They needed an additional 3 months at the very least to have even a fighting chance of success.

  • @stevenc9251
    @stevenc9251 2 года назад +1

    Your comment in the beginning about the parts of games besides gameplay really struck a chord with me to where I immediately subbed after hearing it. I love learning about this stuff and enjoy playing even terrible games for the sake of appreciating them for what they are. There's a type of craftsmanship in these games of that era. I'm looking forward to watching the rest of the channel!

  • @Nikku4211
    @Nikku4211 2 года назад +22

    I hate how so many companies give their workers extremely short deadlines.
    This is obviously a very extreme example, but it's still bad in many other projects, especially in high-scope AAA projects.

    • @lasarousi
      @lasarousi Год назад +1

      More like why developers sign contracts they know they can't fulfill with companies well known for crunch.
      And if they're not signing contracts or reading between the lines, then it's basically their fault.

    • @InnocentGuillotine
      @InnocentGuillotine 2 месяца назад

      @@lasarousiblaming workers for management problems isn't very cash money of you

  • @Zycyzyx
    @Zycyzyx 8 месяцев назад +2

    I remember hearing (on the bootleg NES wiki or one of it's web 1.0 ancestors) that the number of games was solely down to an existing bootleg famicom multicart and that even some menu assets and code still remain from it.
    (Yup, Supervision 52-in-1 apparently)
    I still really want someone to deep dive into the insanity that was going to be Active Enterprises' Action Game Master. Like, what it would take to actually combine all the 8/16 bit systems together (WITH A SCREEN) into a semi-portable monstrosity...in the early 90's!

  • @JMFSpike
    @JMFSpike Год назад +2

    I think it would be super interesting to see the original developers go back and finish the game properly. That way we could all see what could have been. The idea was actually quite brilliant, and if not for it being so absurdly rushed it could have been something truly unique and special.

  • @larrysmith5991
    @larrysmith5991 2 года назад +2

    cheetah mens theme is FIRE good job whoever made it!

  • @Codricmon
    @Codricmon 2 года назад +7

    I vaguely remember from the AVGN videos that there is a boss in the Cheetahman game that just won't spawn, preventing you from finishing the game; as well as a (seemingly) randomly appearing glitch that starts you off _after_ that boss fight when booting the game sometimes.
    It would be interesting to get some insight into that - among all the other curiosities this game's data might hide.

    • @alicev1500
      @alicev1500 2 года назад +9

      that one is cheetahmen 2. If I remember right, the game doesn't check to see if you've killed the boss and to pass you to the next level, so you're just stuck there, and the only way to access the next 2 levels is to glitch the game by constantly powering the console on and off.

  • @azriell783
    @azriell783 2 года назад +1

    13:38 "If I had to describe the look and feel of it I would describe the shape as a ladder attached to a roller coaster. "
    I think we call that a slide
    (Great vid!)

  • @SufferDYT
    @SufferDYT 2 года назад +1

    I like to imagine that in ooze he had initially put jump lower down on the list of possible inputs to process. He encountered a bug where you couldn't jump without first letting go of left/right and decided that this is better.

  • @awesomedata8973
    @awesomedata8973 2 года назад +3

    After calling this game a "miracle" -- you had me expecting you were about to fix 90% of this game's problems (its controls) with one game genie code.
    Way to "subvert expectations," my friend -- Definitely worthy of the Star Wars reference. ;)

  • @ProgrammerDan
    @ProgrammerDan 2 года назад +1

    What's funny is that I remember that there were some multicart games like those (Put number here)-in-1, where you had the same game with some hacked graphics or slight hacked gameplay, like make player walk faster, just so they could put those high number in the case. Even as kid I'd notice it. But it's like a genius move for the programmers to do in that situation.

  • @BonkedByAScout
    @BonkedByAScout Год назад +2

    Don't think of it as a font, think of it as a

  • @lolavicious7783
    @lolavicious7783 2 года назад +4

    Got this turd with box and manual for 2 bucks many years ago, sold it on eBay for many hundreds!

  • @apollodash5912
    @apollodash5912 2 года назад +2

    If youve never heard of Action 52, youre lucky! 😂 AVGN did a fantastic review of this cart! 🤣

  • @WithASideOfFries
    @WithASideOfFries Год назад

    Wow. I just found your channel. Incredible content. Phenomenal pacing, solid wit, greatly informative, and well-assembled. Please never stop.

  • @hicknopunk
    @hicknopunk 2 года назад +6

    1 week to learn 6502 assembly? I am casually learning it in my free time and have put more than a week into it, with no idea yet how to change rom banks.

    • @nickwallette6201
      @nickwallette6201 2 года назад +1

      By writing a particular value to a particular register address. What value and what address depends on the mapper chip used. It’s not a 6502 thing. It’s just a vanilla port write. :-)

  • @Xplasma1
    @Xplasma1 2 года назад +9

    That explains a lot. I have a copy of the Action 52 ROM, and I was surprised to learn it is slightly bigger than the Sega Genesis port of Action 52. Yep. The Sega Genesis ROM, 16 bit console, better graphics... weighs in at 1.99 MB, so it's very slightly smaller than the NES rom.
    At the time, the biggest NES ROM I had seen was Big Bird's Hide and Speak, which comes in at 512k, which makes sense because that game has a lot of (surprisingly clear) voice samples.
    So I've been scratching my head over just... how... How could you bloat an NES game to 2 megabytes? Well this video provides some answers. I guess if your team of developers only have a week of training that's one explanation. To be honest I'm surprised they even had that.
    You probably figured this out but I found that using autofire for the jump button gives you a more normal jump in Ooze.
    You may also know that the game Bits and Pieces, game #42, has a jump similar to Cheetahmen's. Like they learned as they went along.
    I 've also heard that one of the many, many space shooter games (#18 Atmos quake) has... either a bug or an intentional feature where if you kill all the enemies the boss won't appear. Apparently the Boss' health is calculated from the health of all the enemies, so if you kill them all the boss simply doesn't appear. I think that's a nice mechanic. You destroyed the army and the boss had enough sense to not even bother taking you on.
    Probably a programming error, but a fortunate one.

    • @Jeansowaty
      @Jeansowaty 18 дней назад

      The space shooter game is in fact Megalonia.

  • @hoobaguy4311
    @hoobaguy4311 Год назад +1

    Thank you for saying "4 to 3" instead of "4 by 3" for the aspect ratio. It drives me insane when people say 4 by 3 or 16 by 9.

  • @TheCodeAlwaysWins
    @TheCodeAlwaysWins 2 года назад

    The depth and clarity of this video is amazing. Instant sub. Keep up the good work 👍

  • @drzazgi666
    @drzazgi666 2 года назад +3

    Great video as usual! Hope there'll be more episodes about Action 52 in the future!

  • @xzanderain
    @xzanderain 2 года назад +1

    it be interesting to see a dialog on megaman and its various code related issues. As i remember there are some interesting actions in some of them. Like bending over to fire the mega buster while standing at the top of a ladder. Or sliding in mega man 3.

  • @cuckoophendula8211
    @cuckoophendula8211 Год назад

    I love how your "I...don't know" at around 16:20 matches the inflection of when Homer Simpson was pretending to be Mr. Burns to get a letter from the post office, but didn't know his first name when asked.

  • @hokostudios
    @hokostudios 2 года назад +9

    You know, I've been thinking about this video since watching, and something struck me... While Action 52's development was a disaster, and it _shows,_ it's kind of baffling to think that it actually has a non-zero amount of good music? Like, the Cheetahmen theme has a startling amount of depth and is actually good(?!), but there's a few other themes scattered about that...really aren't all that awful, either? Ignoring stuff known to be plagiarized, of course. And I really can't wrap my head around _how._

    • @robintst
      @robintst 2 года назад +4

      Ever heard any of the remixes? There's a surprising amount of them from Japan, the original composer even commented on this one. ---> ruclips.net/video/Rw0laAURCiY/видео.html

  • @DenilsonSa
    @DenilsonSa 2 года назад +6

    08:10 The code adds 0xA4 to each character, to find the appropriate tile in the graphics memory. So... What if we replace some of the text with values that are not ASCII letters? Can we draw any tile in the middle of the text?

    • @JustinKoenigSilica
      @JustinKoenigSilica 2 года назад +2

      That sounds reasonable. You could also change the offset itself.

  • @FennecTECH
    @FennecTECH 2 года назад +2

    This is like 52 different roms concatanated together. And a menu just running the different games. It was not written like one game. But 52 separate games with separate binaries. Lots of people have 50 million copies of unreal engine on their consoles becasue they 50 million different games all using the same engine.

  • @weegie3343
    @weegie3343 2 года назад

    my favourite quote in coding:
    ‘imitation is not just the sincerest form of flattery, it’s the sincerest form of learning’ Gorge Bernesure

  • @YarsRevenge
    @YarsRevenge 2 года назад +2

    BRB, making Action 53.

  • @guttsu
    @guttsu 2 года назад +1

    Like most, I have heard of the game and considered it a ridiculous oddity and not much more. But hearing the backstory of it makes it insanely impressive!

  • @AlanDaniel500
    @AlanDaniel500 Год назад +2

    Do you want to know something crazy? The cheetahmen creator and composer saw this video and it's on his "favorites" playlist. His channel name is Zentanith.

    • @fractaloon
      @fractaloon Год назад +3

      The programmer does too and he regularly comes back to read news comments ;)

  • @SuperNuclearUnicorn
    @SuperNuclearUnicorn 2 года назад +3

    "Wow, the game took up 2MB? That's crazy!"
    *me watching this as NBA 2K22 downloads nearly 100GB*

  • @skins4thewin
    @skins4thewin Год назад

    Any code work that improves literally any already existing game that we knew & (maybe) loved back in the day is absolutely worth doing!

  • @heitortremor
    @heitortremor 2 года назад +1

    Really good video! I love deep analysis of these things

  • @randybob275
    @randybob275 2 года назад +2

    My favorite games on Action 52 are Alien Beaver Tomato Fight and Alfred N The Fettuc.

  • @rmyers99
    @rmyers99 2 года назад +2

    I can't wait for the other 52 parts of this exciting series.

  • @wisteela
    @wisteela 5 месяцев назад

    Excellent video. Subscribed. I love the level of detail you've gone into.

  • @AddableStone13
    @AddableStone13 2 года назад +1

    6502 powered the NES in 1985, now in 2022 it powers your central home heating cooling system.