Earlier quoted context omitted.
I think the parent is more frustrated by videos that drag on for 10 minutes before getting to the meat of the content.
Kind of weird to put the comment on this one then, since it's edited so tightly.
Super Mario Bros warp zones were intended to work slightly differently [video]
101–108 of 108 posts
Re: Super Mario Bros warp zones were intended to work slightly differently [video]
#102I loved the in-depth technical discussion in this video. If you're into this sort of thing, I highly recommend this pokemon/missingno discussion: https://www.youtube.com/watch?v=RNsEsZbXE-4
Re: Super Mario Bros warp zones were intended to work slightly differently [video]
#103Earlier quoted context omitted.
Star Wars is set in a remote galaxy where a civil war is taking place. Rebels, led by Princess Leia, are fighting against a baddy called Darth Vader and his Imperial forces. Leia steals some Imperial blueprints for a deadly weapon called the Death Star but she is then captured by Imperial forces so... .. yes, text is great, but video can, too, be great, whether it's explaining something fictional or not. Different st…
The cool kids know that Star Wars is much better in text than video https://telehack.com/ -> starwars or (which apologies for video of text of video) https://www.youtube.com/watch?v=EJAbbRh9q4k since the original is dead.
Re: Super Mario Bros warp zones were intended to work slightly differently [video]
#104Earlier quoted context omitted.
Perhaps they meant to increment another variable and typed the label or address wrong (labels back then were generally much more limited in length on the average development system, I bet that the actual name for the variable in question was nowhere near the length of WarpZoneCtrl, most likely it was limited to 6 or 8 characters). I don't know the low level logic of the engine enough to know if there is a different v…
Based on the original leaked source code, it appears they really did intend to increment the variable they did. The comment matches the name and purpose: BEQ PLTMRT ; Scrool stopping ? ; : yes ! LDA PLYPS1 AND
Re: Super Mario Bros warp zones were intended to work slightly differently [video]
#105Earlier quoted context omitted.
Based on the original leaked source code, it appears they really did intend to increment the variable they did. The comment matches the name and purpose: BEQ PLTMRT ; Scrool stopping ? ; : yes ! LDA PLYPS1 AND
The buggy AND is really interesting to me -- the comment suggests that maybe the programmer meant to use an ORA instead, which would have been a clever way to check if both bytes of the Y position were zero. But that's still not something that makes sense to check, right? Assuming I'm understanding the video right, that'd only unlock the scroll if Mario was way up above the top of the screen...
They probably started with ORA, and when that didn't work, tried AND, and that seemed to work, so they went with it.
Re: Super Mario Bros warp zones were intended to work slightly differently [video]
#106Earlier quoted context omitted.
The buggy AND is really interesting to me -- the comment suggests that maybe the programmer meant to use an ORA instead, which would have been a clever way to check if both bytes of the Y position were zero. But that's still not something that makes sense to check, right? Assuming I'm understanding the video right, that'd only unlock the scroll if Mario was way up above the top of the screen...
I believe the NES's 6502 didn't have a logical-OR operator (which is what the situation calls for), only bitwise. The apparent goal was to find out, "Are either PLYPS0 or PLYPS1 equal to 0?" They probably started with ORA, and when that didn't work, tried AND, and that seemed to work, so they went with it.
Re: Super Mario Bros warp zones were intended to work slightly differently [video]
#107Earlier quoted context omitted.
It’s pretty interesting how the game can continue to function in a level that isn’t supposed to exist. Metroid has similar areas I believe. It’s hard to imagine a modern game or any modern software handling a scenario like that without crashing.
That's because in modern software design, crashing is preferred to continuing to read invalid data, which has no upper limit on the amount of possible permanent damage it could cause. Would you rather have your game crash, or corrupt your 100-hour savegame? Crashing is the more elegant solution to this type of error, and a large percentage of language design after C++ went into turning undefined-behavior scenarios in…
Re: Super Mario Bros warp zones were intended to work slightly differently [video]
#108Earlier quoted context omitted.
I don't think so. Those are the only generation of games that can be analyzed this thoroughly. Plus, computer geeks in the future will still be interested in the fundamentals of computing. And console games are really the only piece of mainstream software whose assembly would be interesting to look at. Granted, this is already niche content, and it will continue to be going forward. But I bet a lot of people watching…
SNES, N64, and even Gamecube (though less so) games get this level of scrutiny as well. Some examples are Mario 64 and Super Smash Bros Melee as some of the most popular examples on later platforms receiving assembly-level scrutiny.
The N64 content is a different league though. It's not nearly as easy to understand and follow. Plus, Mario64 is written in C and most of the content I've seen has been people adding features to it (HD upgrades, ray tracing, 60fps, etc).