The Airmailing Enemies Bug of Super Mario Bros. 2 - Behind the Code

  Рет қаралды 72,867

Displaced Gamers

Displaced Gamers

Күн бұрын

Пікірлер: 336
@musickid43
@musickid43 3 жыл бұрын
The idea of creating a game genie code to add a glitch back in is amusing.
@MarphitimusBlackimus
@MarphitimusBlackimus 3 жыл бұрын
0:43 It happens because they have to go now. Their planet needs them.
@the_kombinator
@the_kombinator 3 жыл бұрын
They're already facing the right way for a re-entry. These guys may be shy, but when it comes to their planet needing them, there's no loafing about.
@Sinn0100
@Sinn0100 3 жыл бұрын
The Simpsons Poochie joke! ;)
@johnmarkther2218
@johnmarkther2218 3 жыл бұрын
Whoa its postal!
@WilliamPorygon
@WilliamPorygon 3 жыл бұрын
Note: The Shy Guys died before they left for their home planet
@worsethanhitlerpt.2539
@worsethanhitlerpt.2539 3 жыл бұрын
HAHAHAHA they Shyguys got written out of the Show
@TobyDeshane
@TobyDeshane 3 жыл бұрын
That's fantastic. I didn't realize All-Stars was so similar at the code level. (So yes, very much interested in that NES vs. 'Super' NES comparison hinted at. 😏)
@codydfwn
@codydfwn 3 жыл бұрын
I kinda figured, but that's only cause of my knowledge that the SNES just uses the 16-Bit version of the NES' motherboard. So I figured it was mostly all ports with the code relatively in tact... But totally awesome to know I was right! 😎
@fnoigy
@fnoigy 3 жыл бұрын
They actually updated ALL game graphics, including unused sprites, when making all All Stars versions (including GBA)
@SmaMan
@SmaMan 3 жыл бұрын
I remember hearing that the first complete game they coded for the SNES was a remake of SMB3. (Whether this is the one they used in All-Stars is unclear.) So in that sense, it sounds like a good way to test your new hardware if you're making it a step up from the old one.
@nickwallette6201
@nickwallette6201 3 жыл бұрын
That really is fascinating. It puts the All-Stars release into perspective, actually. Like when everyone (including me) was complaining about the lackluster All-Stars releases since then, it turns out that the SNES version was equally low-effort. Update the music, update the sprites and background tiles, aaaaaannnnnndd ship it! haha
@CarbonRollerCaco
@CarbonRollerCaco 3 жыл бұрын
@@nickwallette6201 They significantly augmented SMAS aesthetically and feature-wise literally only because the original NES code was already fully compatible with the SNES as opposed to SM3DAS which required converting games for three widely different platforms to work on a fourth and the games on SM3DAS all already had save features. And tiled low quality 2D is FAR less problematic to change than freeform mid quality 3D, both technically and artistically, and it may still have had significant enough detraction from purists that they decided to pass on it. So SM3DAS may have had MORE effort for LESS change.
@FluffyTheGryphon
@FluffyTheGryphon 3 жыл бұрын
"But oh boy is that ever a separate video!" Console modders everywhere are salivating at the possibility for backwards compatibility.
@OtakuUnitedStudio
@OtakuUnitedStudio 3 жыл бұрын
There are a number of third party accessories that allowed you to play NES carts on the SNES already. They're just connection adapters with no real extra hardware beyond a "translation" circuit to make the controller work as expected.
@FluffyTheGryphon
@FluffyTheGryphon 3 жыл бұрын
@@OtakuUnitedStudio True, but people that watch a channel like this like to dig in and see how it all works and like to tinker with things. The possibility of building my own hardware is the part that gets me excited.
@GeneralBolas
@GeneralBolas 3 жыл бұрын
The SNES really was designed with the intent of being backwards compatible. A lot of decisions the SNES made allowed for this. The registers and values for controller input are *exactly* the same, for example (note: it maps the NES B and A buttons to the SNES Y and B buttons, which means Microsoft was *right* about their naming all along). But sometime during development, they decided to abandon it. Probably because the graphics and sound capabilities needed to be so fundamentally different that it wouldn't have worked.
@dan_loup
@dan_loup 3 жыл бұрын
@@GeneralBolas The audio was probably the biggest roadblock. it's a separate computer on the snes
@FluffyTheGryphon
@FluffyTheGryphon 3 жыл бұрын
@@GeneralBolas Yeah, making your own controllers is actually really easy. I bought a pack of shift registers on Mouser a while back and started making my own arcade stick. (I didn't like the Super Advantage layout)
@ozrithclay6921
@ozrithclay6921 3 жыл бұрын
Definitely would like to hear more on the possibility of SNES backwards compatibility.
@Dark.Shingo
@Dark.Shingo 3 жыл бұрын
Seconded! He has no idea the Pandora's box he just opened!
@djhaloeight
@djhaloeight 3 жыл бұрын
me too!
@Christopher-N
@Christopher-N 3 жыл бұрын
Accepting that SNES games often use more buttons than the NES, this makes sense as the NES and the Game Boy controllers have the same button layout, and the Super Game Boy was designed to interface between the two (Game Boy cart → SNES).
@nickwallette6201
@nickwallette6201 3 жыл бұрын
@@Christopher-N The GB was nothing like the NES though. I mean, in terms of block diagrams it was similar, but the CPU is a completely different instruction set. The Super GB is actually a Game Boy-in-a-cart, feeding the resulting video frame buffer to the SNES rather than the LCD controller. The SNES doesn't run the game code directly.
@Blankult
@Blankult 3 жыл бұрын
From what i remember the early snes prototypes had backwards compatibility, but they dropped it for some reason
@rhone733
@rhone733 3 жыл бұрын
As soon as you showed where the new code was in the SNES version I had the same thought: remove the code and see if it happens in All Stars. You did not disappoint.
@invalid_user_handle
@invalid_user_handle 3 жыл бұрын
Honestly I always thought that it was that, if a thrown enemy hits another thrown enemy, the two enemies constantly try to apply that "turn into killed enemy and hit any other enemies that it hits" effect to each-other which causes them to fly up, since the upward momentum is constantly set. Guess I wasn't too far off.
@duhdeedee
@duhdeedee 3 жыл бұрын
I actually thought about going through the NES Mario games and All-Stars in a debugger to see how much code they had in common, so thanks for doing that.
@Sypaka
@Sypaka 2 жыл бұрын
If the code is that similar, couldn't someone extract that and try them on the NES? I wonder what will happen (with some touchups)
@duhdeedee
@duhdeedee 2 жыл бұрын
@@Sypaka The bugfix logic should work as is, though putting it in the binary without moving addresses might be tricky.
@worsethanhitlerpt.2539
@worsethanhitlerpt.2539 Жыл бұрын
Never suspected the mighty SNES had anything in common with the rickety old NES
@linkthehero8431
@linkthehero8431 Жыл бұрын
Mesen and Mesen-S are great for that.
@reneethefox4797
@reneethefox4797 3 жыл бұрын
I absolutely love the concept of using Mods to REINTRODUCE bugs to remakes of old games.
@johnnynorrisjr.39
@johnnynorrisjr.39 3 жыл бұрын
"if you ever need my help again, just blow this whistle, or call Birdo's cell phone. Shy Guy awaaaaaaaay"
@tim.martin
@tim.martin 2 жыл бұрын
Wow, the attention to detail here is insane. I literally wanted to keep smashing that like button while I watched this. And that ending... Putting the glitch back on the snes, 100% pure gold.
@ecliptorcalrissian5014
@ecliptorcalrissian5014 3 жыл бұрын
I loved getting it to do that playing the game. There's this place in the quicksand where you can get them to flash and make the Birdo-gets-hit noise repeatedly on the way up. I could reliably making it happen playing as a kid, but not so much now...
@guttsu
@guttsu 3 жыл бұрын
I always love how you show the deduction and thought process you go through to figure out a problem. It's such a great example of small steps taken in problem solving, and in an easy to follow manner.
@aner_bda
@aner_bda 3 жыл бұрын
As always, it is so enjoyable to see these old school code teardowns. It's so cool to see all the design decisions that went into older games and what can go wrong and the crazy bugs that can occur.
@brux357
@brux357 3 жыл бұрын
I barely understand these but they’re still so neat. Always fun to watch
@ultraokletsgo
@ultraokletsgo 3 жыл бұрын
@9:24 "[SNES] backward compatibility with nes cartridges but OH BOY is that ever a separate video" I am so hyped.
@xlhashbrown
@xlhashbrown 3 жыл бұрын
Was the weird block-breaking physics of SMB1 in All Stars ever researched?
@TinchoX
@TinchoX 3 жыл бұрын
Huh? Sounds interesting...
@SomeGuy712x
@SomeGuy712x 3 жыл бұрын
Yeah, I'd like to know why breaking bricks in SMB1 and Lost Levels of All-Stars causes you to rise slightly into the space where the broken brick was. I often find this oddity ruining my momentum and dissuading me from breaking bricks along the way while I'm running.
@royalkumar795
@royalkumar795 3 жыл бұрын
0:36 Actually you can do same thing with wood on waterfall , just throw [POW] on solid surface from wood
@dionelr
@dionelr 3 жыл бұрын
That was awesome. I used to play this game a lot. There’s a few other oddities in the game, such as when it decides to give you a heart (some birdos always give you health on death, but why?) and the bug if you grab a veggie in subcon on the same frame you exit. Also, if you throw a big veggie you can still grab it as it falls (recycle veggies). Great video as always, man!
@josephgregorowicz5135
@josephgregorowicz5135 3 жыл бұрын
This brings up an interesting question. Can any of this be related at all to the phenomenon speed runners use in places like 1-1, where if you are climbing, and a falling enemy/object falls on you from above, it forces you to reverse direction and causes you to climb downwards and through the floor? Though THAT bug appears in both the NES as well as SNES versions.
@akxmedia0
@akxmedia0 3 жыл бұрын
That has a lot to do with jumping on top of an enemy as it is falling through the floor. It's similar to using the stopwatch in world 1-2 and throwing a Snifit through the floor just as the stopwatch is ending. If timed right, you can get the Snifit stuck in the wall and then jump onto the Snifit and it will "pull" you through the floor and you will climb down to World 1-1. The same can be done with the first potion in World 1-1.
@tylerb6981
@tylerb6981 2 жыл бұрын
I would watch the crap out of a speedrun tech reverse engineered series.
@Teklectic
@Teklectic 3 жыл бұрын
I love these deep dives into the little oddities of our classic games!
@johnsimon8457
@johnsimon8457 3 жыл бұрын
Just as a general comment - I started with emulation in the NESticle days and i hadn’t realized how advanced these debuggers were. Mouse over an opcode and get instant documentation complete with whatever flags an operation sets, roll backwards and forwards in time… Any kind of tooling improvements, even if it’s just ergonomic have CRAZY knock-on effects. A good debugger might mean the difference between a translation rom hacker giving up halfway through a project due to friction and a 100% complete .ips released to the world. Seriously this kinda thing should be taught in CS / CE curriculums, the 6502 is simple enough.I’d already had classes that describe how to build an ALU and control, this stuff would be another semester up.
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
The last time I checked up on a CS degrees offered at a university (within the last two years), they were VERY specific. It looks like they were intended to steer you a particular direction in software development rather than provide a foundation in programming. Back in my day , we had to learn Motorola 68k assembly as part of year 2.
@Nikku4211
@Nikku4211 3 жыл бұрын
You should make a video about the SNES being a weird quirky """"""16-bit"""""" system and its relationship with the NES.
@brazilian_oak
@brazilian_oak 3 жыл бұрын
Or how the Jaguar isn't really 64-bit and it's just a mangled mess of CPUs
@Eltro920
@Eltro920 3 жыл бұрын
I mean, it's weird and quirky in the sense that, while there's eight different modes (0 to 7), you can't apply all modes simultaneously as each mode sacrifices some features in exchange for other features. Though the possibility of the SNES CPU not being 16-bit is an interesting topic. Not sure if it's related to the fact that most games on it normally have the same 8-bit NES resolution, or the fact that there can only be up to 256 on-screen colors at a time (making it "8-bit color"). Or... it could just be because the Ricoh processor is considered to be an "8/16-bit processor" with an 8-bit data bus, a 16-bit accumulator, and a 24-bit address bus.
@Vertelemming
@Vertelemming 3 жыл бұрын
@@Eltro920 Let's just call it an 8-and-some-more bit console and call it a day.
@GeneralBolas
@GeneralBolas 3 жыл бұрын
@@Eltro920 There can in fact be more than 256 colors on the SNES. In direct-color modes, each 8-bit pixel in a tile specifies the RGB color directly. However, that means that the 3-bits used for the tile's palette aren't used, since you're no longer specifying palette indices. So in direct color, the system uses those bits in addition to the tile's 8-bit pixels to compute the actual RGB color. So the color depth is 11 bits, giving us 2048 colors at once. Of course, the palette index is per-tile, so all of the colors within that tile share those same extra 3 bits. This makes using direct color somewhat difficult. You can find more details here: kzbin.info/www/bejne/a4SldnSQfst3d8k
@johnsimon8457
@johnsimon8457 3 жыл бұрын
When Nasir Gebelli was working on Secret of Mana he said in an interview that he mostly took his 6502 skills straight over to the SNES and didn’t bother looking at the 16 bit extensions. Also the 16bit Apple IIGS had very very good backwards compatibility with the 8 bit Apple II series, so this is totally not unheard of. IIGS was able to run Apple II software several times faster - useless for games, but kickass for everything else.
@VinsCool
@VinsCool 3 жыл бұрын
Man this is some of the stuff I love learning about, still learning 6502 ASM, it really gives a nice perspective about bug fixes and why certain things happen at all.
@K3fka_
@K3fka_ 2 жыл бұрын
Man, I really love how you step through the code. It's really cool to see how developers wrote the actual code to these games.
@spugnoxngubcux9801
@spugnoxngubcux9801 3 жыл бұрын
I can’t believe they recreated this glitch for Peach’s Down-B in Melee.
@emerald807
@emerald807 2 жыл бұрын
I remember actually doing this once years ago on the NES version. I tried replicating this, but it always just assumed that the POW brick had to be thrown in order to start the process. Great video!!
@jaczob666
@jaczob666 3 жыл бұрын
I don't understand how you don't have more subscribers by now. So many of your videos are very detailed and super interesting.
@DannyBPlays
@DannyBPlays 3 жыл бұрын
I liked this video, very cool to see the asm code of how Mario logic works
@helloofthebeach
@helloofthebeach 3 жыл бұрын
I love a video filled with "oh, that actually was my next question but you're already on it" moments.
@michaelemory3102
@michaelemory3102 3 жыл бұрын
I triggered a bug when I grabbed an invisible "monster". Keep up the good work!
@DeyvsonMoutinhoCaliman
@DeyvsonMoutinhoCaliman 3 жыл бұрын
I thought it was strange at first, because I never saw the bug, but then you said the SNES version didn't have it, so it all made sense.
@jeffthecoder
@jeffthecoder 3 жыл бұрын
Notice at 0:01 how the veggie bounces when it hits the Shy Guy? If you throw a veggie at a Birdo that bouncing would count as multiple hits, hence the reason for the "special case" collision handling of the Birdo egg (no bounce, no multiple hits)
@Vuusteri
@Vuusteri 3 жыл бұрын
Very interesting. You can almost follow the thought process of Nakago, Taketani, Iwawaki, Morita and Takatura (programmers of SMB2) when they made the game.
@DenkyManner
@DenkyManner 3 жыл бұрын
I've never seen this bug before. Not ever in playing since the 80s or in any video. Strange, seems easy enough to have accidentally done it once.
@shadesoftime
@shadesoftime 3 жыл бұрын
Criminally underrated channel
@gfhrtshergheghegewgewgew1730
@gfhrtshergheghegewgewgew1730 3 жыл бұрын
never knew about the airmailing, pretty fascinating that not only is it not present in yume kojo doki doki panic but that it's also workarounded in all stars and that the workaround can be circumvented with a game genie to reintroduce the behavior
@Kosmicd12
@Kosmicd12 2 жыл бұрын
great video! Did you figure out why that code was added in when going from doki doki to smb2?
@alfiehicks1
@alfiehicks1 2 жыл бұрын
I'd assume it has something to do with the functionality of chaining thrown enemies together, as that feature was added in Mario 2.
@DisplacedGamers
@DisplacedGamers 2 жыл бұрын
Hey Kosmic - I haven't looked at it since creating this video, but I think it was just a difficulty tweak.
@Optomon
@Optomon 3 жыл бұрын
Wow. This is without a doubt the most well presented thorough breakdown of classic game code I've ever seen. You should do more of these bug sleuthing videos. Bugs have incredible stories behind them, even if they seem innocuous and boring to the player.
@TheGunmanChannel
@TheGunmanChannel 3 жыл бұрын
Interesting stuff mate.
@djhaloeight
@djhaloeight 3 жыл бұрын
Excellent video. Love these in depth tech dives into the classic games of my childhood!
@Cerviche
@Cerviche 2 жыл бұрын
Just a thought: Doki Doki panic doesnt allow for multiple enemy collisions, IE throwing an enemy will only kill one enemy, they wont bump into the next enemy allowing stacked kills. The Mario version does, so the collision for each enemy killed must stay active so they can kill any other enemies they bump into after already hitting one/ So presumably they both keep colliding with each other setting the vertical over and over again on each other as mentioned @3:40 .
@NomicFin
@NomicFin 3 жыл бұрын
The Mario Allstars versions of the NES games actually have some other minor differences compared to originals as well. They did some changes on how the game physics work. This ends up having a noticeable effect in Lost Levels, where some of the jumps require extreme precision.
@SomeGuy712x
@SomeGuy712x 3 жыл бұрын
All-Stars also made it so that you rise up slightly when you break a brick in SMB1 and Lost Levels, and I wonder why that happens. I find that oddity to be annoying, often ruining my momentum when I want to break bricks quickly.
@Brocknoth
@Brocknoth 2 жыл бұрын
In all my years of having played SM2 off and on I have NEVER seen this bug. Fascinating stuff that slips through the cracks.
@kitsuneprincess4637
@kitsuneprincess4637 11 ай бұрын
This is absolutely fascinating. Thank you for taking us on this investigative journey!
@SomeGuy712x
@SomeGuy712x 3 жыл бұрын
I love the airmailing bug, and I usually open world 1-3 by returning the first two Snifits to their home planet (which is pretty easy for me to do with Luigi). It's too bad this airmailing bug doesn't work in the All-Stars version. (8:08) Oh, that's interesting. I had no idea that this bug didn't exist in Doki Doki Panic. (9:04) While they didn't truly airmail themselves on All-Stars there, I noticed that the dead Tweeter rose higher than usual before falling off the screen. (11:40-11:53) Yay! Now the All-Stars enemies can return to their home planet too!
@deckarep
@deckarep 2 жыл бұрын
These deep dives into the code are so much fun to watch! I think I’ll subscribe!
@metaltom2003
@metaltom2003 2 жыл бұрын
@8:36 "Were there any enemy or object changes and behavior made in Mario 2 that required this special case to be added to the game?" If I remember correctly then yes. Correct me if I'm wrong, but I remember hearing somewhere (can't remember where unfortunately, so I can't cite my source) that in the original Doki Doki Panic, enemies could only collide with one other enemy when thrown. Afterwards both enemies would then have all collision removed and fall off the screen. This was changed in SMB2, making it possible to use a single thrown enemy to defeat a group of enemies if they were close enough together and the throwing arc and timing lined up. If I had to guess, this is the reason for the additional code in SMB2, which, in turn, created the "airmail" bug.
@multigrimmy1
@multigrimmy1 3 жыл бұрын
I stumbled upon your channel a few weeks ago after seeing your Sony dithering video, and even though I didn't have much interest in retro gaming or coding, I found your videos extremely entertaining and interesting. Since then I've watched almost all of them and have a great appreciation for the effort you put into your videos, and your preservation and documentation of the history of video games. Thanks for keeping us entertained, and I look forward to watching your future videos!
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
Thanks, Brad M. Your comment really means a lot to me.
@Sinn0100
@Sinn0100 3 жыл бұрын
Wow...all the years I have played this and I have never seen this glitch happen before. I mean, I started back in...was it 1987 when it released. My mother somehow found SMB2 when it first released during the "chip shortage." The game that we couldn't seem to find was Zelda 2. When I received it a year later I kind of wished we didn't find it. ;) This was a very interesting video.
@ultraokletsgo
@ultraokletsgo 3 жыл бұрын
Thanks!
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
Thank you, ultraokletsgo!
@enterrupt
@enterrupt 3 жыл бұрын
Again, this content is so well researched, and then you've crafted an extremely rewarding flow of presentation. Bravo and I can't wait for more :)
@akxmedia0
@akxmedia0 3 жыл бұрын
Ah. One more SMB2 mystery solved! Thank you! What I'm wondering is if it's related to the occasional enemy defeated when going through doors. The last unknown glitch is the random Two Mousers glitch.
@InsaneFirebat
@InsaneFirebat 3 жыл бұрын
I appreciate the videos. I recently started working on game with little to no documentation. Your videos reminded me that every game has cheat codes and those codes led me straight to code of interest, saving me a bunch of time and headache. Thanks!
@cortbelmont
@cortbelmont 3 жыл бұрын
Amazing, this code thing is so complex. Thanks for showing us this step by step
@budgetcoinhunter
@budgetcoinhunter 3 жыл бұрын
Of course, this isn't the only change in the All-Stars versions of the games. SMB1 and Disk System SMB2 (AKA 'Lost Levels') also have a bug caused by a flipped sign in the code for when a player breaks brick blocks. This reversed sign causes Mario to be pulled upwards slightly.
@19Szabolcs91
@19Szabolcs91 3 жыл бұрын
I was wondering about this. Breaking bricks works weirdly in All Stars SMB1/2J, turns out it wasn't even intentional? Can that be fixed similarly?
@CreeperAssassins1
@CreeperAssassins1 3 жыл бұрын
@@19Szabolcs91 similarly would just need a genie code or more simply a patch to swap the sign back to how it should be
@paulstevens1493
@paulstevens1493 3 жыл бұрын
As a video game programmer who grew up with NES and SNES games, I can't get enough of this stuff! Zelda 2 is my favorite game so I'd love to see more videos on that, if you can think of any =)
@nefigah
@nefigah 3 жыл бұрын
I found your channel recently, and I must say I love it! I think you do an excellent job writing and delivering your scripts, and of course your visuals are great too. Looking forward to future videos!
@ArrisonChan
@ArrisonChan 3 жыл бұрын
All of your videos are so fascinating and well done. Early video game programming quirks are interesting in general, but your breakdowns are great. Keep it up!
@nicrule4424
@nicrule4424 3 жыл бұрын
He built his own variable display overlay just to show what's happening better. Ridiculous quality here.
@KrisVilliger
@KrisVilliger 3 жыл бұрын
I really enjoy these videos and topics like this. Keep it up!
@Acoha7
@Acoha7 3 жыл бұрын
“Aww” is exactly the reaction I had, heh.
@DeathMetalDerf
@DeathMetalDerf 3 жыл бұрын
I've only just discovered this channel, and I'm really enjoying the videos. This is super interesting, an being that Mario 2 and Doki Doki Panic are basically the same game makes this interesting to think about the reasons it exists or doesn't. Thanks for a great video, and definately do more like this one, please!
@robotortoise
@robotortoise 3 жыл бұрын
This was fascinating! I would absolutely be interested in the NES vs SNES comparison. I had no idea they were similar!
@dancinninja
@dancinninja 3 жыл бұрын
I love this! Looking at the causes and fixes for bugs is fascinating!
@linkthehero8431
@linkthehero8431 Жыл бұрын
0:31 "It's like they ascend to some kind of Shy Guy heaven." -A+Start (Son of a Glitch)
@einsteinx2
@einsteinx2 3 жыл бұрын
Great video as always! I would love to see more videos about the similarities between NES and SNES and potential backwards compatibility that you mentioned!
@davidgood840
@davidgood840 3 жыл бұрын
Love these high quality videos!!
@Shodian
@Shodian 3 жыл бұрын
Just discovered you this past weekend and I appreciate your hard work in these videos. Very well thought out and explained.
@Christopher-N
@Christopher-N 3 жыл бұрын
I don't ever remember seeing this glitch before, but then, it's been a long time since _Super Mario Brothers 2_ was released. I only used Toad on certain levels, where such a bug was unlikely to display. This was an interesting video; thank you. One thing I don't like between the NES and SNES versions, is that movement seems a bit different: NES I could stop on a dime; SNES I fall off ledges more often.
@emmanueloverrated
@emmanueloverrated 3 жыл бұрын
I love you. My favorite channel on youtube.
@MrCheeze
@MrCheeze 3 жыл бұрын
I always felt that the assembly compatibility was entirely about attracting developers to the SNES, specifically developers who had already worked on the NES and would like to reuse some of their game logic unmodified (both for ports and for new games that reuse old logic). SMAS being a good example of what it's for. I doubt there was ever any ideas of compatibility with actual NES games, considering how different the graphics and audio of the consoles are.
@DisplacedGamers
@DisplacedGamers 3 жыл бұрын
I agree with you 100% when it comes to attracting developers. It would make it easier for those that started work on a late-era NES game to pivot to the SNES or do simultaneous development of both an NES version and SNES version of their game while retaining the core logic.
@dannymac653
@dannymac653 3 жыл бұрын
Wow! Thanks for this awesome video!
@KLegyyn
@KLegyyn 3 жыл бұрын
Got my hopes up on the backwards compatibility topic! . Great video overall. . .
@MrFwibbles
@MrFwibbles 3 жыл бұрын
Interesting video, but what I really want to hear more about is the possibility of running NES games on the SNES...
@GeneralBolas
@GeneralBolas 3 жыл бұрын
It doesn't work. Backwards compatibility was intended to be a feature, but it was dropped midway through development. So the CPU instructions, and controller input, are compatible, but not the graphics and sound processors. But it does make *porting* from the NES to the SNES much easier, since most of the opcodes are the same.
@johnsimon8457
@johnsimon8457 3 жыл бұрын
I’ve seen a couple rom hacks of early games (no mapper support, eh) that run with no sound on SNES emulators.
@HaydenTheHistorian
@HaydenTheHistorian 3 жыл бұрын
Love your work! Keep it up!
@jackbauer9901
@jackbauer9901 3 жыл бұрын
Fantastic video. Very much underrated.
@KazeMemaryu
@KazeMemaryu 3 жыл бұрын
Isn't that Egg/Pokey check because they have no ground collision? I believe that, despite being handled like enemies, their throwing behaviour is identical to vegetables, in that they pass through grounds and walls. The additional check was probably done to prevent the code from "reviving" these specific projectiles, like it would do with regular enemies when their timers expire without contact. Otherwise, the eggs would land on the ground and cause a crash due to having no behaviour patterns, and pokeys would essentially multiply.
@CeeJayThe13th
@CeeJayThe13th 2 жыл бұрын
Man I kinda wish I could go back to about 1989 for a few days and hit my family with some of the glitches and tricks that I learned in the last 10 years or so. Back in those days (when I was 3-4 years old), literally everyone I knew (including my grandmother) played Nintendo. That only lasted a year or so. But, it would be so cool to just break some of these games and watch those people freak out. I can imagine them losing their minds if you could make the enemies fly away like that in Mario 2 or just show them how you can just duck and Bowser can't land on you in Mario 3.
@ejmc6378
@ejmc6378 3 жыл бұрын
This video broke my brain a bit, but I'll be damned if I didn't enjoy it. I heckin' love this stuff! PS. Consider this another vote for a SNES backwards compatibility video.
@brendanw8136
@brendanw8136 3 жыл бұрын
Future (very short) video suggestion if I may: in the forest level of Double Dragon 2 on NES, there's a small terrace area with one Roper. That Roper has much lower health than any other enemy in the game, or at least any other Roper for sure, and I've always wondered why that particular one is so weak. Cheers!
@TehAwesomer
@TehAwesomer 3 жыл бұрын
This kind of content is super awesome. 👍
@SPac316
@SPac316 7 ай бұрын
I remember playing as a kid and I was in the desert level and this very glitch happened. I was quite surprised. Never happened again ever since then.
@biggunz31
@biggunz31 3 жыл бұрын
Love these kinds of videos! When I was a kid I always wondered how these games were programmed. Now fast forward several years and now having a Computer Science degree, although I'm not a developer, I wrote my fair share of code in university and can easily follow along with your disassembly of the code. Assembler was always my favorite language to program in! Just curious, what emulator are you using to show the disassembled SNES code?
@SirCarcass
@SirCarcass 3 жыл бұрын
He typically uses Mesen for these.
@ssflg
@ssflg 3 жыл бұрын
Now I'm anxiously waiting for the backwards compatibility video
@goldenelfboots4595
@goldenelfboots4595 2 жыл бұрын
Using Game Genie to fix a code on buggy code, that's a bit on the nose! haha Interesting video!
@Link-channel
@Link-channel 3 жыл бұрын
This channel got as good as "The 8-Bit Guy" ! ♥ Please also do a quick romhacking tutorial sometimes ☺ i.e.: i'd love to know what program you're using to disassemble the NES roms, and how you do the overlay scripts showing variables
@arashnikoubashman6946
@arashnikoubashman6946 3 жыл бұрын
Excellent explanation as always! Makes you wonder why this minor bug wasn't fixed in the different releases of the original NES version.
@KCUFyoufordoxingme
@KCUFyoufordoxingme 3 жыл бұрын
It has no effect on play.
@renakunisaki
@renakunisaki 3 жыл бұрын
They probably hadn't found it.
@johneygd
@johneygd 3 жыл бұрын
I really can’t wait to hear you talk about the nested emulator because with that emulator you can play many nes roms on snes,each game needs it’s own.certain setting before being patched by that program and many nes games still don’t work but we are far ahead to see a fully working version of nested, And don’t forget that there was also the unreleased snes superdeck addon to play physical nes carts on snes using hardware tricks & emulation as well😁
@RedfishCarolina
@RedfishCarolina 2 жыл бұрын
If you happen to find a way to rope 3 enemies together while still in the air you might get one of them flashing and going up and down making the boss "ouch" sounds.
@marscaleb
@marscaleb 3 жыл бұрын
5:07 wait, did you see that? When the enemies dropped beneath Toad, he dropped down for one pixel. What was that? Was he momentarily "riding" the falling enemy? If so, how did it connect back with the ground?
@SomeGuy712x
@SomeGuy712x 3 жыл бұрын
Yeah, I believe when that collision timer reaches 32, you can stand on the enemy again, and can even be damaged by it if it hits you from above or you run into it from the side. It is also possible to pick up such a dead enemy and "throw" it, though the enemy will continue falling off the screen anyway, and you'll just be left with nothing in your hands. Oh, and picking up one of the enemies involved in the airmail bug will disable it and cause them to fall off the screen again. However, if you then throw what you're holding, the enemies will resume the airmail bug. And, even weirder, if the enemies being airmailed collide with each other long enough, they'll begin flashing and making the "boss hurt" noise, and they'll stop airmailing and fall off the bottom of the screen.
@Dreamwriter4242
@Dreamwriter4242 3 жыл бұрын
I think the actual bug was much simpler: picking up an enemy and throwing it turns it into a projectile. Picking up a second enemy and throwing it turns that into a second projectile, and when both projectiles hit each other, they *keep* hitting each other, due to the enemy-hit-death code. So the *real* fix would be to reset the projectile timer to zero when an enemy is hit by a projectile. Changing collision code to ignore dead enemies is a sort-of hacky (but functional) fix
@captainnintendo
@captainnintendo 3 жыл бұрын
We have to go now. Our planet needs us
@tikoytuks1479
@tikoytuks1479 3 жыл бұрын
Man always wondered why this would happen and even did a search for it recently nekminit... full breakdown and a childhood question answered! I can rest now haha😭🌿💚
@feldon27
@feldon27 3 жыл бұрын
Fascinating video and I can only guess how much work it takes to do each of these.
@DonYagamoth
@DonYagamoth 3 жыл бұрын
This is neat, thank you for the overview :) I wonder, can the SNES version hit multiple enemies at a time? If I remember correctly, hitting a certain amount (chain?) of enemies at the same time, results in a little heart appearing to heal you
@DeschutesCore
@DeschutesCore 3 жыл бұрын
A heart is generated after 8 enemies are hit.
@Flabbyfinn64ecrazylazy
@Flabbyfinn64ecrazylazy 3 жыл бұрын
I think you're thinking of super mario advance, that version is a lot more generous with how you can earn hearts
@DonYagamoth
@DonYagamoth 3 жыл бұрын
@@Flabbyfinn64ecrazylazy I've never played the advance-version - but I think I just always misunderstood how the hearts appeared. In my mind, it was simply a chain of 3 or more enemies for one to spawn ^^;
@Flabbyfinn64ecrazylazy
@Flabbyfinn64ecrazylazy 3 жыл бұрын
@@DonYagamoth haha thats understandable, the hearts are kinda confusing initially
@Fuzy2K
@Fuzy2K 3 жыл бұрын
I'd love to know what exactly causes a glitch in Super Mario World where pressing L and R repeatedly in Yoshi's house causes the smoke from the chimney to freak out and explode. It must have to do with the scrolling mechanic (In regular levels, holding L or R will scroll the screen left or right respectively, but Yoshi's house is a single fixed screen). In a normal level, holding L or R will freeze the animation, then scroll the screen. In Yoshi's house, it freezes the fire in the fireplace and the little birds on Yoshi's roof, and if you do it enough times, the smoke from the chimney will break into halves and FLY across the screen before gently floating away in pieces. Somehow the scrolling mechanic is involved, but why do the clouds freak out? Very odd. Also, I love the Fifth Element reference ;)
@joestaff89
@joestaff89 3 жыл бұрын
This shit is so god damned interesting! It makes me think of the creator of Roller Coaster Tycoon who made the game entirely in assembly code. I think his name was Chris Sawyer.
@kri249
@kri249 3 жыл бұрын
Wow I never saw this when I played it as a kid. Does it only happen with Toad? Because I only ever used Princess because of her gliding jump. Except for level 1-3 where I always used Luigi because his weird floating jump was more suitable for that level (though I can't remember why). I love your investigation methods for isolating this glitch. Even to the point of looking up the other games with same code. And yes, definitely want more videos.
@SomeGuy712x
@SomeGuy712x 3 жыл бұрын
You can perform this glitch with any character, though Toad is the easiest because of how fast he can lift enemies. However, I'm able to consistently get the trick to work with the first 2 Snifits of world 1-3 while using Luigi, so if you have the right setup, you definitely don't need Toad for this.
@ShampooCell
@ShampooCell 3 жыл бұрын
Thank you so much for your wonderful content!
Super Mario Bros 2 - Behind the Code
19:46
Displaced Gamers
Рет қаралды 309 М.
OCCUPIED #shortssprintbrasil
0:37
Natan por Aí
Рет қаралды 131 МЛН
She wanted to set me up #shorts by Tsuriki Show
0:56
Tsuriki Show
Рет қаралды 8 МЛН
The Complex Code of Mega Man 2 and How Zipping Works - Behind the Code
16:15
New Discovery for Minus World in Super Mario Bros! - Behind the Code
15:32
The Craziest Glitches in Super Mario Bros.
33:14
Kosmic
Рет қаралды 334 М.
The Hidden Source Code in Dragon's Lair (NES)
20:29
Displaced Gamers
Рет қаралды 218 М.
Cartridge Games - Versions, Bugs, and Behind the Code: A Sampler
10:31
Displaced Gamers
Рет қаралды 126 М.
Zelda Drops and RNG - Behind the Code
23:33
Displaced Gamers
Рет қаралды 59 М.
How Optimizations made Mario 64 SLOWER
20:41
Kaze Emanuar
Рет қаралды 651 М.