That "level up softlock" is a _hardlock:_ a state at which the game has crashed or locked up and normal gameplay is unable to continue. A softlock is a state at which gameplay continues normally but the player is "stuck" and unable to progress due to an error in level design or data. For example, being stuck inside a solid object after warping from the fairy glitch would be a softlock.
Not only is this complicated information spoken in an easy-to-understand way, it's *presented* in a concise and pleasant manner, too. Seriously, I can only imagine how much work this took! I hope you reach many, many more subscribers soon!
@@andreamitchell4758 Decemical is from 0 to 9. After - it will be 10. For Hex - from 0 to F (Where ABCDEF - 11,12,13,14,15,16), and after, it also turn into 10. You just count like normaly but until 16 for every tenth. So, for example if you try convert 2C: 1) separate is first - 20 and 0C 2) then convert - hex 20 = hex 10 and hex 10 = 16+16 = 32 ; hex 0C = 13 3) in summary 32+13 = 45 in dec Or you can just use calculator on PC and convert it easly. What is important that Hex can provide more space, especialy when you separate two numbers of one bit for some purpose
I had a strange bugged cartridge of this. The game was unwinnable because the hammer would not spawn. My brother and I had no idea why we couldn't beat the game. We didn't even know what was missing. After bashing our heads against it for years, we'd experimented by creating our saves with various Zelda character names to see if there was something like a second quest, like the infamous skip in Zelda 1. My brother for some reason played through a game titled "IMPA" and ... lo & behold, the hammer spawned in Death Mountain! Further experimenting showed that just starting a character with the first letter in the name being "I" was enough to make the game work. Bizarre.
I love stories like this. Alongside the mystery presented in this video as the "F Attack". I've found myself run into similar situations, notably weird warping in Zelda 3.
Dude, can I just gush for a second here? I'm a game designer, and Zelda II is one of my all-time favorite games, so I can barely find the words to describe how excited I am to get this kind of super in-depth analysis of its inner workings. Please do more on this game! Now if you'll excuse me, I have a Patreon page to go visit.
Berserk Studio makes games with many nods to Zelda 2's mechanics, especially one of their earliest pieces Hero's Arms which feels like a "what if Zelda 3 had Zelda 2's mechanics on top of that?" experiment, and their latest game Infernax which feels like a Zelda 2 style game packaged into a horror game, also nodding at Dark Souls (because who doesn't at this point). You pretty much can't unsee the influence Zelda 2 had on either game once you play them for any length of time.
Zelda 2 is a brilliant game that was sadly marred by some really bad decisions. Things like how you lose all your EXP on game over, you can’t save whenever you want, no healing outside of towns and the Life spell, and to even get Life, you need to do a pixel hunt with no indication that you’re supposed to press A at a particular table in a particular house. But a lot of those problems are palatable now with save states and internet guides. Yeah, I’d be totally down for more Zelda 2 videos. Fantastic game.
This one was particularly great. I was planning on having it on in the background while I did some development, but I got sucked, especially near the end.
My wife always asks me, "Why do you still like these old games?" My response is, yeah, they are the games I grew up on. But I love watching NES games cause I slightly understand 6502. I love watching the graphics to see how things were done and music. I watch NES games with a bit of 6502 understanding and I love it.
@iVirtualPlays I like them because it shows just how much optimization and thought was put into every frame. Not like today where COD takes up 250 GIGABYTES(!) of drive space. They did so much with so little that it's absolutely astounding.
@@clblanchard08 I couldnt agree more with you 👍👍👍👍 it is amazing that some NES games are STILL being played and enjoyed over 30 years after the fact. Gems that were made with not even a fraction of the size or power or ability of today's games. Yet ppl stil love them. I mean, I was literally playing Zelda II last weekend and had a BLAST!
I know what you mean. I showed Rygar to a friend explaining that true parallax scrolling is impossible on NES, and demonstrated that the sun in Rygar is not on the background layer since it flickers when you jump in front of it
I did not understand any of that, and I loved every second. How fascinating, tearing the code apart. Everyone should be doing that. Keep doing what you're doing, man, I loved this video.
Wow. Okay. I'm going to be honest I came here for some potential "did you know?" stuff, and walked out with a whole new level of understanding of how coding works. I'm impressed that I both enjoyed this video learning something new, AND could actually follow along with what was being taught. Props!
We had the same attack glitch, but ours had a right facing arrow for the value. It happened on my younger sister’s save file. We called the Nintendo hotline and asked them about it. The counselor said “Did you call earlier today because you are the second person to call about this.” Thought it was a code my sister stumbled upon. She had it happen very early in the game. My mom and I were much farther along in our game, but had so much trouble with the Thunderbird boss we ended up using her file to beat the Thunderbird. Like you said, Shadow Link still took the regular amount of hits. Great series and video.
@@DisplacedGamers Thanks for replying! Did you ever find any reference of the attack increase being enabled by some type of button combination in the game code, or was it merely a glitch/bug?
The YT algorithm suggested your video on 240p, I really liked your presentation style so I watched every other video you had, then I looked at your sub count and definitely had a wtf moment. You have knowledge and insight that most other gaming channels don't have and your writing is straight to the point while also being entertaining. Anyways, keep up the great work man I'm looking forward to seeing what else you come up with for us!
I wish it was 240p60 or 360p60 or 480p60, lot of retro games uses every-other frame drawing for transparency effects, watching it in 30fps absolutely obliterate the intended visual effects.
@@dmas7749 The rendering isn't the issue. You have to transfer the video in a certain resolution. Of course it doesn't make sense to keep like 20 different versions of the same video content. It already has several different ones to choose from. Next thing is YT can't increase the framerate if the source material has a lower framerate. Well it can but it would be rather pointless and wouldn't increase the quality. btw: most streaming platforms have been asked to lower the default resolution as the heavy increase due to Covid has already caused some high peaks in the internet infrastructure. Since the internet is important for all sorts of fields the entertainment sector isn't that important. However you can still select a different resolution manually. Though it helps with the average case. See www2.telegeography.com/network-impact
@@Bunny99s i'm not asking to make the video render in higher quality than it's uploaded, you can't create HD out of a low-quality vid, that's just stupid but i still think it wouldn't hurt to let us watch a 720p60 vid in 240p60 if we so desire
YT went ahead and recommended me this video out of the blue and looking back at your videos it seems this "Behind the Code" is a new thing for you and I have to say I love it. I watch a lot of channels that do code explanations of older games. Channels like _Retro Game Mechanics Explained_ and _Gamehut._ I love this stuff. Can't get enough.
As someone who doesn’t understand a lot of code (and most certainly not assembly), you make these videos extremely easy to understand. I’m definitely fascinated by them.
This is one of my favorite video games ever since I was a child and got the NES package when I was in grade school in the 80's. In fact my first time ever on Twitch I remember searching for only the three following games: SMB2, MTPO and Zelda II. Thanks for making this!
Man, it's always interesting looking into this kind of old school pre-OOC style of programming in games. It's so different from how things are handled these days with engines, libraries, APIs, etc.
I don’t think ppl understand the genius of Zelda II. Utilizing a TWO action button controller Nintendo was able to to devise a brilliant combat system. The high low attacks can be blocked by a shield with just the up and down buttons because Link’s shield is always on guard. Link can also attack with the same scheme. Other attack types are a combination of the two action buttons, jump and stab: down thrust, up thrust, etc. Theres also a surprising amount of subtlety to the optimal type of attacks per enemy. I could on. Fact that this game is so often scorned, even sometimes by the designers boggles my mind. Yes, it’s tough. But it’s also engaging and addictive because of its combat depth 30+ years later.
This deserves more views. Hexadecimal is very intimidating to people unfamiliar with it. Yet you present it like it's a piece of cake. The video is well thought out and put together. And imagine how helpful this'll be to people who want to make tools relating to Zelda 2.
Holy cow, wow, I got the attack value bug too as a kid, except "A" instead of "F". In the same save, the raft was missing from the normal place you get it (but also not in my inventory) so I couldn't progress the game. It's odd that there are many reports of attack value and missing items. Never experienced it in any other battery-backed NES game. Feel like there must be some additional factor here to explain why it happens.
They hate because the game is hard and has no invincibility damage. This also includes Metroid. Imagine if they brought this back with no invincibility damage? That would be interesting.
@@EnchantedSmellyWolf As somebody that grew up during the release of this I can assure you that difficulty wasn't the biggest concern with the game. The major issues people had were that the series went from pretty much defining "free roam" to making your progression more linear. The grand feel of exploration that made Zelda so amazing, was greatly reduced. It was a big shock to those of us that were eagerly awaiting the sequel to a game that had broken so many barriers only to find that they dialed back most of what made it special in the first place. This second installment sold 2m less units compared to the first, and 3m less than the game that followed. A game that restored the large, accessible overworld that everybody loved.
I'm taking a hardware course in college right now and these videos have not only been great for giving me context to our study material but also learning how my favourite games from childhood work under the hood. Retro hardware in particular I have always found very fascinating due to its limitations and the amazing things programmers of the time were able to achieve despite that. Thanks for your analysis!
i've been *obsessed* with this game since it was released. i always love learning more, and seemingly the only things left are material such as this. thank you!!
@@nezatrebovan That's strange! I'm almost tempted to pull out my NES and Zelda 2 cart to take a picture, provided the battery is still good. But I definitely got J attack power. Maybe the graphic of J corresponds to 13 in the game or something.
I've just recently gotten into learning 6502, and videos like these fascinate the hell out of me. Keep putting more videos like these out. I will watch EVERY ONE.
I absolutely love Zelda 2 for what it was for it’s time, this is coming from a person who was born in 1995 and first played it on the GameCube Collectors Edition. This game gave Link more combat options like an Up Thrust and Downward Stab, Magic Meter and gave us Dark Link. I’d love another take at a 2D Sidescrolling Zelda but don’t get me wrong I love Link to the Past, Ocarina of Time and Wind Waker.
I'm not a programmer and understood like 1% of it, but I was fascinated and saw the whole video! I like your style. Clear, well produced, and straight to the point! Subbed.
Oh the page and the "exiting from the top with an elevator is interesting, because if you play this on an emulator that lets you do Left+Right or up+down inputs, you can do things like pressing L+R to fly off a high speed, which will misalign the pages meaning you can see them loading in. Holding up+down on the elevator will also make it go up through the walls, letting you exit at the top of the palace entrance
I cannot applaud enough both the effort it takes to work your way through this (i may understand it, but hex gives me headaches) and to also take the time to demonstrate it as well as explain. that massively helps me understand, but also makes it take a lot longer. really appreciate the extra work. keep it up :)
Brilliant work. Super fascinating explanation to me as a programmer, and as a speedrunner of Zelda 2. I've imagined how some of these things work, like the fairy feet glitch, and to see other well known glitches explained is super interesting. Thank you for showing love to my favorite game of all time. Absolutely loved this video.
i recently started developing games for NES and i was a little stuck by creating an object management system and generators. now i notice that zelda 2 handles objects exactly the same way like i do! this is big relief!
Yes only is this complicated information spoken in an easy-to-understand way, it's presented in a concise and pleasant manner, too. Seriously, I can only imagine how much work this took! I hope you reach many, many more subscribers soon!
Looks like the algorithm loves this video. And so did I! You just gained a new subscriber. This was fascinating. I figure I got this because I watch Retro Game Mechanics Explained
I just wanted to say thank you for this video and the others on your channel, although I hope you do more Behind the Codes in the very near future! I have less than rudimentary understanding of programming and code but I feel like your explanations are clear and concise enough for even the beginneriest of the beginners. I spent a lot of time going through your videos and they're all awesome. Thank you so much!
Software developer here. Zelda 2 being one of my all time favourite games (I still play it to this day), I just had to subscribe. Please do more on this game! :)
Many people write off Zelda II bc it was frustrating to grind for HP, but the RPG elements make it my favorite. Discovering secrets in Zelda II was pure magic.
As someone that has recently begun working on games, I wish I saw this video earlier. Many of these practices are still relevant now and seeing low level the attributes of objects is very useful for ideas for organization
My Zelda 2 stats glitched out back in the day also! On one game save file, the attack went to some number above 8. Same result as in your video. On another game save, ALL 3 stats glitched. Although the attack was super strong, life was extremely weak, and the points (mana) needed to cast spells were all different amounts. It never repeated ever again and this was well before the Game Genie.
Great video! Mesen's debugging tools are so dang great, makes working with other systems a complete pain. :) Only thing it's really missing is a TAS editor.
The scrolling reminds me a lot of the Scratch side scroller tutorial. It's funny to see techniques stick around. "If it ain't broke, don't fix it" seems to have been a programming rule for a long time
Nice video - the level of detail you go into on memory locations is just the right amount to be interesting but not overkill. I recently built a NES FPGA (called Whirlwind), and though I knew 6502 beforehand, I learned a ton (obviously by necessity) about the NES PPU/APU/mappers/etc. And while I dove deep into debugging SMB while testing things out to troubleshoot hardware issues, I didn't jump into the source of many others games, so it's really cool to get a nice walkthrough of the mechanics behind many areas in CPU RAM in Zelda 2. Ironically enough, one of the few MMC1 games that didn't work correctly on my FPGA was Zelda 2, so this makes me want to dive back into debugging it to see why. Off to watch your other videos!
This is me (Toni) again - I just noticed your Jill of the Jungle video too! Super cool - I'm a big 90s shareware fan having grown up on BBSes, and I got into reverse engineering real mode DOS stuff a little while back. Learned a ton while RE Lemmings and Kings Quest IV. Super cool channel, nice job again!
Back in junior high...1989 or so...I used to leave Link at the edge of the battle screen with a rubber band wrapped around the controller so he continuously attacked monsters while I was at school. Old school macroing to level up ;)
Programmable joypads on the SNES were great too, program a back and forth action with lots of “A” button presses, you’d have your Final Fantasy team levelled up in no time.
Super in-depth and this is helping me understand coding in an informational and passive way. Also, not sure if anyone has told you this but your cadence reminds me of the Lockpicking Lawyer. Especially with all this talk about soft-locking LOL. Anyways, great content
Great once again. I have a limited knowledge of programming but I can more or less follow what you are saying and how the values work so I thank you for making the information you present really accessible.
Your story of F attack reminds me of a playthrough I did as a kid of Dragon Warrior, and I swear I somehow started the game with the Healmore magic. Made things a lot easier to get through for sure.
These are great because I did a little bit of assembly programming in the 80s but now I'm understanding it so much better. Especially when I can see the live code switching values as the game executes. I never thought of it that way. I was used to interpreted languages like BASIC, which are so much slower than this. With this, you can see the memory registers changing every 1/60 second (or is it 1/30? still WAY faster than BASIC!)
Unbelieveable, I never realized originally learning programming and assembly on a C64 that it would have directly translated to so many other applications at the time. I later learned 8086 assembly but hearing LDA, A, X and Y registers brought back so many memories! And to think today I write code in C# that's probably thousands of lines of assembly, executing perfectly in a multi-tasking, multi-threaded environment. UN real where we came from back then!
Finally! I've been talking about a "super sword" for years that no one could give me a clue about. I had the 0 level sword. One hit everyone except dark link. Have no idea how but I very clearly remember that on my experience screen, the total experience points for my sword showed as 0,0,(castle brick tile),0. The stats for magic and health were normal. I'm glad to actually see it on screen.
Great video. Subscribed! That section where you talk about the fairy spell deactivation and active spells list is really fascinating to me because I am just now studying stuff like that in C programming.
I know it’s primitive, but assembly language is just so great to look at, and to understand. It’s just so interesting to see machine code in human readable form, instead of a low-level language masking it up another layer.
Very cool to see this. I gotta say, as a fellow hacker/modder, it's kind of nice seeing debugging of a game with only a few KB in size. Modern games are so big, I get lost sometimes...
You deserve way more subscribers man. Your content is amazing! Absolutely love the specifics on the source code even though I understand very little of programming, keep it up!
Thanks for doing the video. I've been meaning to do a video on almost the exact thing. About 4~5 years ago, as I was poking around the ram, I found the actor memory slots. I was toying with them and making all of them the value of a fairy. At first, it was fun. All the mobs became fairies. Then I ran across a locked door, that became a fairy. Yay! Then I got to be a boss and that became a fairy. Instant win! Then I got to the statue where you need to place the gem to finish the palace and... that became a fairy... Mistakes were made. Just to clarify, the graphic for the statue is still there, but it seems the actor for the gem itself (I assume the gem floating upwards and set in place) is/was invisible until you actually reach the position.
Really, really enjoying your channel, bro! As one currently learning 6502/65816 assembly, your videos have been incredibly helpful. Can't wait for the next one :-)
the lag in the music is somehow very nostalgic
The lag in dungeons in Zelda 1 gets me right in the feels, too
It oddly gives the world that much more of a bigger, epic feel. Like the NES is struggling to handle just how vast it is.
It was always amusing to me as a young one, I guess it’s just my sense of humor.
@@psmstr Well, that's kinda what was happening.
I agree.
That "level up softlock" is a _hardlock:_ a state at which the game has crashed or locked up and normal gameplay is unable to continue. A softlock is a state at which gameplay continues normally but the player is "stuck" and unable to progress due to an error in level design or data. For example, being stuck inside a solid object after warping from the fairy glitch would be a softlock.
Not only is this complicated information spoken in an easy-to-understand way, it's *presented* in a concise and pleasant manner, too.
Seriously, I can only imagine how much work this took!
I hope you reach many, many more subscribers soon!
still looks like random gibberish to me, i will never understand hex
@@andreamitchell4758 Hex isn’t that bad when you’re working with 16-bit addresses or less
@@poopoo-dk4hu all i know is that it has to do with the number 16 , it's all the letters that confuse me
@@andreamitchell4758 Decemical is from 0 to 9. After - it will be 10. For Hex - from 0 to F (Where ABCDEF - 11,12,13,14,15,16), and after, it also turn into 10.
You just count like normaly but until 16 for every tenth.
So, for example if you try convert 2C:
1) separate is first - 20 and 0C
2) then convert - hex 20 = hex 10 and hex 10 = 16+16 = 32 ; hex 0C = 13
3) in summary 32+13 = 45 in dec
Or you can just use calculator on PC and convert it easly.
What is important that Hex can provide more space, especialy when you separate two numbers of one bit for some purpose
@@Jackrost01 I remember I read a post on NESAGE a few years ago on binary and hex and it clarified everything
I had a strange bugged cartridge of this. The game was unwinnable because the hammer would not spawn. My brother and I had no idea why we couldn't beat the game. We didn't even know what was missing.
After bashing our heads against it for years, we'd experimented by creating our saves with various Zelda character names to see if there was something like a second quest, like the infamous skip in Zelda 1. My brother for some reason played through a game titled "IMPA" and ... lo & behold, the hammer spawned in Death Mountain! Further experimenting showed that just starting a character with the first letter in the name being "I" was enough to make the game work. Bizarre.
I love stories like this. Alongside the mystery presented in this video as the "F Attack". I've found myself run into similar situations, notably weird warping in Zelda 3.
When i was a kid i couldnt get the magic key.
Maybe pulling out and reseating the CMOS battery in the cartridge could possibly reset & resolve this bug 🐜
@@ryanglaser5336 interesting idea!
My hypothesis for bugs like this is something like a stuck address line or maybe a defect that causes the game to read from the wrong memory location
Dude, can I just gush for a second here? I'm a game designer, and Zelda II is one of my all-time favorite games, so I can barely find the words to describe how excited I am to get this kind of super in-depth analysis of its inner workings. Please do more on this game! Now if you'll excuse me, I have a Patreon page to go visit.
Wow! Thanks, Doug! I may return to it in the future at some point.
I second this, best Zelda 2 video on youtube by far.
Berserk Studio makes games with many nods to Zelda 2's mechanics, especially one of their earliest pieces Hero's Arms which feels like a "what if Zelda 3 had Zelda 2's mechanics on top of that?" experiment, and their latest game Infernax which feels like a Zelda 2 style game packaged into a horror game, also nodding at Dark Souls (because who doesn't at this point). You pretty much can't unsee the influence Zelda 2 had on either game once you play them for any length of time.
@@DoomRater Gunmetal Arcadia Zero is also a game that gets all its influence from Zelda II, it's good.
Zelda 2 is a brilliant game that was sadly marred by some really bad decisions. Things like how you lose all your EXP on game over, you can’t save whenever you want, no healing outside of towns and the Life spell, and to even get Life, you need to do a pixel hunt with no indication that you’re supposed to press A at a particular table in a particular house. But a lot of those problems are palatable now with save states and internet guides.
Yeah, I’d be totally down for more Zelda 2 videos. Fantastic game.
Every vid you put out continues to fascinate. Great job.
This one was particularly great. I was planning on having it on in the background while I did some development, but I got sucked, especially near the end.
Yea, this blew my mind. I would have loved to know this as a kid.
Whenever I see Kenny's avatar icon, I see Trump
Kenny love your Anime Channel... Nice to see you here 😉👍🏻
I cant believe I just found this channel today? This is amazing! Subbed 👍
28:07 "Error II: The Adventures of Bagu"
My editor is famous!! I'm honored.
Great explanations and animations.
My wife always asks me, "Why do you still like these old games?" My response is, yeah, they are the games I grew up on. But I love watching NES games cause I slightly understand 6502. I love watching the graphics to see how things were done and music. I watch NES games with a bit of 6502 understanding and I love it.
@iVirtualPlays I like them because it shows just how much optimization and thought was put into every frame. Not like today where COD takes up 250 GIGABYTES(!) of drive space. They did so much with so little that it's absolutely astounding.
@@clblanchard08 I couldnt agree more with you 👍👍👍👍 it is amazing that some NES games are STILL being played and enjoyed over 30 years after the fact. Gems that were made with not even a fraction of the size or power or ability of today's games. Yet ppl stil love them. I mean, I was literally playing Zelda II last weekend and had a BLAST!
I know what you mean. I showed Rygar to a friend explaining that true parallax scrolling is impossible on NES, and demonstrated that the sun in Rygar is not on the background layer since it flickers when you jump in front of it
I did not understand any of that, and I loved every second.
How fascinating, tearing the code apart. Everyone should be doing that.
Keep doing what you're doing, man, I loved this video.
I'm a nascent 6502 programmer and I really appreciate your content. It's incredibly informative and easy to follow. Thank you for what you're doing.
This is incredible and exactly what we need more of on TH-cam. Fantastic editing and very digestible but thorough descriptions.
Thanks!
Wow. Okay. I'm going to be honest I came here for some potential "did you know?" stuff, and walked out with a whole new level of understanding of how coding works. I'm impressed that I both enjoyed this video learning something new, AND could actually follow along with what was being taught. Props!
We had the same attack glitch, but ours had a right facing arrow for the value. It happened on my younger sister’s save file. We called the Nintendo hotline and asked them about it. The counselor said “Did you call earlier today because you are the second person to call about this.”
Thought it was a code my sister stumbled upon. She had it happen very early in the game. My mom and I were much farther along in our game, but had so much trouble with the Thunderbird boss we ended up using her file to beat the Thunderbird. Like you said, Shadow Link still took the regular amount of hits. Great series and video.
Wow! I love hearing about this happening to others. Thanks for sharing, Tom!
@@DisplacedGamers Thanks for replying! Did you ever find any reference of the attack increase being enabled by some type of button combination in the game code, or was it merely a glitch/bug?
The YT algorithm suggested your video on 240p, I really liked your presentation style so I watched every other video you had, then I looked at your sub count and definitely had a wtf moment. You have knowledge and insight that most other gaming channels don't have and your writing is straight to the point while also being entertaining. Anyways, keep up the great work man I'm looking forward to seeing what else you come up with for us!
Thanks, Tony! Comments like yours really mean a lot!
I wish it was 240p60 or 360p60 or 480p60, lot of retro games uses every-other frame drawing for transparency effects, watching it in 30fps absolutely obliterate the intended visual effects.
@@rashidisw i don't know why youtube doesn't have an option to let us render in a low res high framerate, it is beyond stupid
@@dmas7749 The rendering isn't the issue. You have to transfer the video in a certain resolution. Of course it doesn't make sense to keep like 20 different versions of the same video content. It already has several different ones to choose from. Next thing is YT can't increase the framerate if the source material has a lower framerate. Well it can but it would be rather pointless and wouldn't increase the quality.
btw: most streaming platforms have been asked to lower the default resolution as the heavy increase due to Covid has already caused some high peaks in the internet infrastructure. Since the internet is important for all sorts of fields the entertainment sector isn't that important. However you can still select a different resolution manually. Though it helps with the average case. See www2.telegeography.com/network-impact
@@Bunny99s i'm not asking to make the video render in higher quality than it's uploaded, you can't create HD out of a low-quality vid, that's just stupid
but i still think it wouldn't hurt to let us watch a 720p60 vid in 240p60 if we so desire
25:00 - "Elevator Action"
Tee hee.
YT went ahead and recommended me this video out of the blue and looking back at your videos it seems this "Behind the Code" is a new thing for you and I have to say I love it. I watch a lot of channels that do code explanations of older games. Channels like _Retro Game Mechanics Explained_ and _Gamehut._ I love this stuff. Can't get enough.
Definitely do more. It's truly fascinating the way they coded these old games. And your explanations are fantastic.
As someone who doesn’t understand a lot of code (and most certainly not assembly), you make these videos extremely easy to understand. I’m definitely fascinated by them.
Yeah I wish I had this ages ago when I was starting out
This is one of my favorite video games ever since I was a child and got the NES package when I was in grade school in the 80's. In fact my first time ever on Twitch I remember searching for only the three following games: SMB2, MTPO and Zelda II. Thanks for making this!
Oh man, I've been looking forward to this video for ages.
Man, it's always interesting looking into this kind of old school pre-OOC style of programming in games. It's so different from how things are handled these days with engines, libraries, APIs, etc.
I don’t think ppl understand the genius of Zelda II. Utilizing a TWO action button controller Nintendo was able to to devise a brilliant combat system. The high low attacks can be blocked by a shield with just the up and down buttons because Link’s shield is always on guard. Link can also attack with the same scheme. Other attack types are a combination of the two action buttons, jump and stab: down thrust, up thrust, etc. Theres also a surprising amount of subtlety to the optimal type of attacks per enemy. I could on. Fact that this game is so often scorned, even sometimes by the designers boggles my mind. Yes, it’s tough. But it’s also engaging and addictive because of its combat depth 30+ years later.
This deserves more views. Hexadecimal is very intimidating to people unfamiliar with it. Yet you present it like it's a piece of cake. The video is well thought out and put together. And imagine how helpful this'll be to people who want to make tools relating to Zelda 2.
This Channel is simply awesome. Thank you so much for your quality content!
Holy cow, wow, I got the attack value bug too as a kid, except "A" instead of "F". In the same save, the raft was missing from the normal place you get it (but also not in my inventory) so I couldn't progress the game.
It's odd that there are many reports of attack value and missing items. Never experienced it in any other battery-backed NES game. Feel like there must be some additional factor here to explain why it happens.
Nice. I seem to remember getting attack level 9 once.
Nice!
Always loved Zelda II despite the weird amount of hate it gets - this was a fascinating look behind the scenes!
They hate because the game is hard and has no invincibility damage. This also includes Metroid. Imagine if they brought this back with no invincibility damage? That would be interesting.
@@EnchantedSmellyWolf As somebody that grew up during the release of this I can assure you that difficulty wasn't the biggest concern with the game. The major issues people had were that the series went from pretty much defining "free roam" to making your progression more linear. The grand feel of exploration that made Zelda so amazing, was greatly reduced.
It was a big shock to those of us that were eagerly awaiting the sequel to a game that had broken so many barriers only to find that they dialed back most of what made it special in the first place.
This second installment sold 2m less units compared to the first, and 3m less than the game that followed. A game that restored the large, accessible overworld that everybody loved.
Fascinating stuff, Zelda II is still one of my absolute favorite childhood NES games!
I'm taking a hardware course in college right now and these videos have not only been great for giving me context to our study material but also learning how my favourite games from childhood work under the hood. Retro hardware in particular I have always found very fascinating due to its limitations and the amazing things programmers of the time were able to achieve despite that.
Thanks for your analysis!
I've been looking for this for at least 15 years! I got "A"-sword on a save very long ago and none of my friends believed it was possible.
i've been *obsessed* with this game since it was released. i always love learning more, and seemingly the only things left are material such as this. thank you!!
I like this series. Looking forward to additions to it in the future
Thank you. This helped me code my new Zelda 2 Randomizer.
It’s called F to pay respects to your ennemies before they die
**Cue Zelda Puzzle Solved Jingle and Treasure Get Jingle**
F in chat and in code
I got J attack power as a kid.
@@SeppelSquirrel This is impossible. It is a hexadecimal value. It goes through 0 to F (0 - 15) and then reverts back to zero.
@@nezatrebovan That's strange! I'm almost tempted to pull out my NES and Zelda 2 cart to take a picture, provided the battery is still good. But I definitely got J attack power. Maybe the graphic of J corresponds to 13 in the game or something.
I've just recently gotten into learning 6502, and videos like these fascinate the hell out of me. Keep putting more videos like these out. I will watch EVERY ONE.
love that at the end you just fuck around in the game makes the outro more fun to watch
If only everything that anyone ever needed to explain were explained this extremely clearly and well. Quality content.
I absolutely love Zelda 2 for what it was for it’s time, this is coming from a person who was born in 1995 and first played it on the GameCube Collectors Edition. This game gave Link more combat options like an Up Thrust and Downward Stab, Magic Meter and gave us Dark Link. I’d love another take at a 2D Sidescrolling Zelda but don’t get me wrong I love Link to the Past, Ocarina of Time and Wind Waker.
I'm not a programmer and understood like 1% of it, but I was fascinated and saw the whole video!
I like your style. Clear, well produced, and straight to the point! Subbed.
Oh the page and the "exiting from the top with an elevator is interesting, because if you play this on an emulator that lets you do Left+Right or up+down inputs, you can do things like pressing L+R to fly off a high speed, which will misalign the pages meaning you can see them loading in.
Holding up+down on the elevator will also make it go up through the walls, letting you exit at the top of the palace entrance
I cannot applaud enough both the effort it takes to work your way through this (i may understand it, but hex gives me headaches)
and to also take the time to demonstrate it as well as explain. that massively helps me understand, but also makes it take a lot longer. really appreciate the extra work. keep it up :)
Brilliant work. Super fascinating explanation to me as a programmer, and as a speedrunner of Zelda 2. I've imagined how some of these things work, like the fairy feet glitch, and to see other well known glitches explained is super interesting. Thank you for showing love to my favorite game of all time. Absolutely loved this video.
Man reversing nes games is so much fun. I have google docs full of memory addresses and notes. It’s cool watching someone else’s reversing notes :D
You should post those somewhere, they’d be fascinating to read
This is so fascinating! Watching the code change and how it effects the game, as well as the tricks used makes me appreciate NES era games even more!
i recently started developing games for NES and i was a little stuck by creating an object management system and generators. now i notice that zelda 2 handles objects exactly the same way like i do! this is big relief!
Yes only is this complicated information spoken in an easy-to-understand way, it's presented in a concise and pleasant manner, too.
Seriously, I can only imagine how much work this took!
I hope you reach many, many more subscribers soon!
Looks like the algorithm loves this video. And so did I! You just gained a new subscriber. This was fascinating.
I figure I got this because I watch Retro Game Mechanics Explained
Yo I love seeing raw code/programming stuff of old games like this. Your channel is a godsend to me. Thanks for the great work
I would love to see more on this game! The way you lay out the code and describe the changes is awesome. Keep these videos coming!
Decades have passed and we're still in love with these games; fantastic video.
Doing some research for a project and the overview of the fairy warp helped a ton. Thank you for this!
As a homebrew dev myself im loving your behind the code videos. I need more more more :) Awesome videos mate, looking forward to the next
I just wanted to say thank you for this video and the others on your channel, although I hope you do more Behind the Codes in the very near future! I have less than rudimentary understanding of programming and code but I feel like your explanations are clear and concise enough for even the beginneriest of the beginners. I spent a lot of time going through your videos and they're all awesome. Thank you so much!
Software developer here. Zelda 2 being one of my all time favourite games (I still play it to this day), I just had to subscribe. Please do more on this game! :)
The sound of slowdown sounds great. Very quaint
I love how much detail you went into. I expected something far less awesome. Subscribed!
Many people write off Zelda II bc it was frustrating to grind for HP, but the RPG elements make it my favorite. Discovering secrets in Zelda II was pure magic.
As someone that has recently begun working on games, I wish I saw this video earlier. Many of these practices are still relevant now and seeing low level the attributes of objects is very useful for ideas for organization
These break downs are absolutely fantastic. So awesome to get a look under the hood!
My Zelda 2 stats glitched out back in the day also! On one game save file, the attack went to some number above 8. Same result as in your video. On another game save, ALL 3 stats glitched. Although the attack was super strong, life was extremely weak, and the points (mana) needed to cast spells were all different amounts. It never repeated ever again and this was well before the Game Genie.
Great video! Mesen's debugging tools are so dang great, makes working with other systems a complete pain. :) Only thing it's really missing is a TAS editor.
The scrolling reminds me a lot of the Scratch side scroller tutorial.
It's funny to see techniques stick around. "If it ain't broke, don't fix it" seems to have been a programming rule for a long time
Please continue this "Behind the Code" series, it's why I subscribed. Thanks!
Before the video I was afraid of Assembler... Now I am terrified!!!
Fantastic, well-produced, informative video. Lovers of both Zelda 2 and programming rejoice.
No idea what you're talking about here but it was refreshing to see the same old classic games covered in a new way.
I am so happy that I found this channel. Well done. I can't wait to see it grow.
This is a absolutely fantasic series (Behind the code), I hope you do more.
Nice video - the level of detail you go into on memory locations is just the right amount to be interesting but not overkill. I recently built a NES FPGA (called Whirlwind), and though I knew 6502 beforehand, I learned a ton (obviously by necessity) about the NES PPU/APU/mappers/etc. And while I dove deep into debugging SMB while testing things out to troubleshoot hardware issues, I didn't jump into the source of many others games, so it's really cool to get a nice walkthrough of the mechanics behind many areas in CPU RAM in Zelda 2. Ironically enough, one of the few MMC1 games that didn't work correctly on my FPGA was Zelda 2, so this makes me want to dive back into debugging it to see why. Off to watch your other videos!
This is me (Toni) again - I just noticed your Jill of the Jungle video too! Super cool - I'm a big 90s shareware fan having grown up on BBSes, and I got into reverse engineering real mode DOS stuff a little while back. Learned a ton while RE Lemmings and Kings Quest IV. Super cool channel, nice job again!
Found your channel a few weeks ago. Great content, and now you've covered one of my favorite NES games! Thanks :D
This is incredible - and one of my favorite games. Thank you for putting this together!!
Please more Zelda 2 videos! My favorite game of all time. I could watch this video on repeat (and sometimes do..)!
Back in junior high...1989 or so...I used to leave Link at the edge of the battle screen with a rubber band wrapped around the controller so he continuously attacked monsters while I was at school. Old school macroing to level up ;)
Programmable joypads on the SNES were great too, program a back and forth action with lots of “A” button presses, you’d have your Final Fantasy team levelled up in no time.
Super in-depth and this is helping me understand coding in an informational and passive way. Also, not sure if anyone has told you this but your cadence reminds me of the Lockpicking Lawyer. Especially with all this talk about soft-locking LOL. Anyways, great content
At last! A channel for out of work gamers! Cant wait to see what other videos you have!
Great once again. I have a limited knowledge of programming but I can more or less follow what you are saying and how the values work so I thank you for making the information you present really accessible.
Love this series! Definitely deserving of so many more subs!
Your story of F attack reminds me of a playthrough I did as a kid of Dragon Warrior, and I swear I somehow started the game with the Healmore magic. Made things a lot easier to get through for sure.
No joke... I love this game. Always will. I beat it once a year...
These are great because I did a little bit of assembly programming in the 80s but now I'm understanding it so much better. Especially when I can see the live code switching values as the game executes. I never thought of it that way. I was used to interpreted languages like BASIC, which are so much slower than this. With this, you can see the memory registers changing every 1/60 second (or is it 1/30? still WAY faster than BASIC!)
Incredible series. I love that you go into the games like this. Quality and unique content
Unbelieveable, I never realized originally learning programming and assembly on a C64 that it would have directly translated to so many other applications at the time. I later learned 8086 assembly but hearing LDA, A, X and Y registers brought back so many memories! And to think today I write code in C# that's probably thousands of lines of assembly, executing perfectly in a multi-tasking, multi-threaded environment. UN real where we came from back then!
Love your " Behind the Code " videos. pls keep em up :D awesome to see how a game runs behind the scen :D
Finally! I've been talking about a "super sword" for years that no one could give me a clue about. I had the 0 level sword. One hit everyone except dark link. Have no idea how but I very clearly remember that on my experience screen, the total experience points for my sword showed as 0,0,(castle brick tile),0.
The stats for magic and health were normal. I'm glad to actually see it on screen.
Man you sure have grown up!! I was here when you were like 15k and now almost 50k not bad
Found my new favorite channel! Notifications on
Great video. Subscribed!
That section where you talk about the fairy spell deactivation and active spells list is really fascinating to me because I am just now studying stuff like that in C programming.
I know it’s primitive, but assembly language is just so great to look at, and to understand. It’s just so interesting to see machine code in human readable form, instead of a low-level language masking it up another layer.
F is developer mode, to quickly test through the level.
It’s also 15.
Great video. I love these deep dives into 6502. Especially in the context of awesome NES games!
Very cool to see this. I gotta say, as a fellow hacker/modder, it's kind of nice seeing debugging of a game with only a few KB in size. Modern games are so big, I get lost sometimes...
You deserve way more subscribers man. Your content is amazing! Absolutely love the specifics on the source code even though I understand very little of programming, keep it up!
"F" is an appropriate number for that, you have to feel bad for the enemies not even a fighting chance.
Thanks for doing the video. I've been meaning to do a video on almost the exact thing. About 4~5 years ago, as I was poking around the ram, I found the actor memory slots. I was toying with them and making all of them the value of a fairy. At first, it was fun. All the mobs became fairies. Then I ran across a locked door, that became a fairy. Yay! Then I got to be a boss and that became a fairy. Instant win! Then I got to the statue where you need to place the gem to finish the palace and... that became a fairy... Mistakes were made.
Just to clarify, the graphic for the statue is still there, but it seems the actor for the gem itself (I assume the gem floating upwards and set in place) is/was invisible until you actually reach the position.
Nice shoutout to Gyre!
This game was awesome. I remember drafting a crude grid on the back of a poster and trying to map locations of items.
Really, really enjoying your channel, bro! As one currently learning 6502/65816 assembly, your videos have been incredibly helpful. Can't wait for the next one :-)
Press F or 0 to pay respects for your enemies.
Genuinely some amazing content. I expect your channel to grow heaps in the coming months.