Zelda Warrior Princess

Sdílet
Vložit
  • čas přidán 27. 06. 2024
  • In this episode I’ll show you how to use the popular graphics editor YY-CHR to hack an NES game’s sprite graphics.
    Support the channel on Patreon: / neshacker
    YY-CHR Website: w.atwiki.jp/yychr
    Chapters:
    0:00 Introduction
    1:12 Installing YY-CHR
    1:48 YY-CHR Overview
    3:58 Finding Sprite Graphics
    7:20 Jump Lists
    8:59 Temporary Bitmaps
    11:16 Drawing Zelda
    13:10 The Final Result
  • Věda a technologie

Komentáře • 79

  • @NesHacker
    @NesHacker  Před 2 lety +31

    No demons were summoned in the making of this episode. Heads up: the game hack is NOT available for download, nor are any patch files… sorry about that! Regardless, I hope you enjoyed the video!

    • @FloatingSunfish
      @FloatingSunfish Před 2 lety +3

      What a shame. I assume other players would love this graphics hack!

  • @christopherdemichiei
    @christopherdemichiei Před 2 lety +27

    YY-CHR has to be around 20yo at this point. I remember using it to make custom Final Fantasy graphics in the early 2000's. I'm amazed that it's still being used and that nobody made a better version without all the quirks. Great vid by the way. I've been out of the NES hacking scene for too long :)

    • @NesHacker
      @NesHacker  Před 2 lety +8

      Thanks! Yeah I really love this video in particular, it was a blast to make. Hopefully it inspired you to pick up YY-CHR and get back to doing some hacking :D

  • @mest1589
    @mest1589 Před 2 lety +14

    The production quality, that t-shirt, the technical jargon is off the chain!

  • @Bullfrog245
    @Bullfrog245 Před 2 lety +11

    The scratchpad naming sequence was comedy gold!

  • @user-zm4ro7yh4e
    @user-zm4ro7yh4e Před 2 lety +8

    Thanks! I was having trouble trying to understand how to align the sprites!
    Finally I will play Zelda with my custom monsters.

  • @chadrem
    @chadrem Před 2 lety +5

    Fantastic video! Your content and production are next level.

  • @Ribiveer
    @Ribiveer Před 2 lety +8

    You went through the trouble of making a Windows user called ユーザー (User) just for a one-second visual gag!? Amazing...

  • @crashandsideburns
    @crashandsideburns Před 2 lety +13

    This is great! I don’t do ROM hacking, but it’s nice to see that there are other people interested in 6502 assembly. I’ve recently been working on implementing IEEE754-compliant floats and associated subroutines for the 6502. Been slow going what with being busy with classes, but I’ve learned a lot about floats and some stuff about assembly too!

    • @NesHacker
      @NesHacker  Před 2 lety +2

      That’s great! I love working on library projects like that :)

  • @pedroepires
    @pedroepires Před 2 lety +8

    I took your suggestion mid video: learn Japanese and then finally got to play Valkyrie no Densetsu
    Patiently waiting for 6502 assembly part 4

    • @NesHacker
      @NesHacker  Před 2 lety +4

      Hahaha, I'm working on it xD!

  • @HobokerDev
    @HobokerDev Před 2 lety +6

    You should rename it to The Legend of Link now.

  • @3vi1J
    @3vi1J Před 11 měsíci +1

    I just discovered your channel and have been binging the old videos. Upvote for hilarious shirt.

  • @LukeAvedon
    @LukeAvedon Před 2 lety +5

    Yay new episode!!!!!!!

  • @helloww_
    @helloww_ Před 2 lety +7

    awesome- cant wait to try this :D

  • @bluesteelbass
    @bluesteelbass Před 2 lety +7

    The title screen at the end! 😂
    This would be fun to change up subtle things at first, like a pixel "spot" missing on an enemy. Then dino has five horns... Building up oddities as you progress. Ending having a yellow ring, master sword shots technicolor, and ganon flashing on screen briefly as an h.p. lovecraft abomination as you battle it. Bonus if abomination flashes throughout playthrough, like when hitting a boss and it flashes, one frame could be ganon.
    ...then make some repo carts, and give them away for free at a convention. Start a new haunted cart schoolyard story.

    • @NesHacker
      @NesHacker  Před 2 lety +5

      That’s an amazing idea, hahaha! But WAY beyond just a graphics substitution methinks xD. Did you see all those blank spots in the rom? There’re just filled with kilobytes of straight $FFs… might be something one could do if they were so inclined…

    • @bluesteelbass
      @bluesteelbass Před 2 lety +2

      @@NesHacker I am guessing it is a "pallet shift" when an enemy is hit, and it flashes? Not two different sprites?
      While more than sprite substitution for sure, not nearly as complex. Have a timer running at beginning of game, and at preprogrammed times (not sure how random number generator works with NES), flash monsters. In dungeons, different ruleset possibly with shorter time between flashes. Boss rooms would have to be programmed individually, and would be most complex if the pallet shift occurs when hit versus sprite substitution.

    • @NesHacker
      @NesHacker  Před 2 lety +2

      @@bluesteelbass RNG is a whole topic unto itself (probably going to dedicate a whole video to it at some point). Palette shifting is simply changing the palette colors between frames. I can be used to make all sorts of effects, like the enemy flashing you mentioned, or even the waterfall animations on the Zelda 1 title screen.

  • @brandonbert
    @brandonbert Před 2 lety +5

    Nice! Great explanation. I imagine that there is some sort of tool out there to also make an IPS patch of your changes.

  • @InsaneFirebat
    @InsaneFirebat Před rokem +2

    I would have watched this video many months ago if I had realized it was about YY-CHR. Looks like I need to grab the latest version. I like the labels and scratch post.

    • @NesHacker
      @NesHacker  Před rokem +1

      Yeah this is easily the best poorly performing video I’ve made. But I like the title, so I’m sticking with it xD

  • @jarrodkober
    @jarrodkober Před 5 měsíci

    That was awesome! Loved seeing the end result. They should've done an RE4 Separate Ways storyline haha. It is weird how Zelda is the name of the game but she's barely in it. Imagine if Super Mario was Super Peach or something

  • @WillSams
    @WillSams Před 2 lety +3

    Thanks, this was very helpful!

    • @NesHacker
      @NesHacker  Před 2 lety +2

      Sweet, I’m glad it helped :)

  • @jessebillson
    @jessebillson Před 2 lety +1

    Very impressive video!!!

  • @InfinityDz
    @InfinityDz Před 2 lety +1

    Great channel, subbed

  • @SuperColdLemonade
    @SuperColdLemonade Před 2 lety +4

    Thanks for sharing factual knowledge on the architecture, programming interfaces and how to use the tools !! This is absolutely worthwhile content =)

  • @laggianput
    @laggianput Před 2 lety +6

    Based catgirl art uwu

  • @alpagkrati
    @alpagkrati Před 2 lety +3

    Great video and information! Thanks for your time putting all those together and delivering high quality content. A question I have: is there any "programmatic" way of finding out where the tilesets are located into the PRGROM? Is this related to a mapper?

    • @NesHacker
      @NesHacker  Před 2 lety +3

      Straight algorithmic? Most likely not, as it’s somewhat hard to differentiated between graphics and code in a raw ROM. I bet an AI could be trained to figure it out though, since it’s definitely a pattern matching problem. Not that I know anything about training AIs though, haha.

    • @dentjoener
      @dentjoener Před 2 lety +2

      Actually if it's an .nes file, you can read the 5th byte (at index 4), multiply that by 16384, add 16 and go to that location in the file. That's where the chr roms usually start. Does not work for all games though

  • @JB-mm5ff
    @JB-mm5ff Před 2 lety +7

    more vids on 6502 nitty gritty!!
    also nice job on zelda sprites!! looks awesome

  • @downscale
    @downscale Před 2 lety +1

    Just found your channel. This is great! Keep it up sir!
    Wow your final result is really great! is there anywhere to d/l your hack? Did you really change the intro story too? If you did. how was that done?

    • @NesHacker
      @NesHacker  Před 2 lety +1

      Unfortunately, no it’s not available for download. I did indeed redo the story text! It’s a little hard to explain here, but I’m planning on doing an episode where I show how to do that kind of hack in the future, so keep an eye out for it :)

    • @downscale
      @downscale Před 2 lety

      @@NesHacker excellent!! Can't wait for it! Maybe you could upload your hack. Why not to the same places as others?

  • @sheboltaev
    @sheboltaev Před 9 měsíci +1

    やっと日本語の勉強が役に立てます!

  • @kingbrettpro
    @kingbrettpro Před 5 měsíci

    Zelda Warrior Princess AKA how The Legend of Zelda should've been, because everyone thought you play as Zelda when the game first came out when it's actually Link.

  • @marting5308
    @marting5308 Před rokem

    Man i love the T-Shirt.

    • @NesHacker
      @NesHacker  Před rokem

      Yeah it’s one of my favorites 😆

  • @thelargesmoke4197
    @thelargesmoke4197 Před měsícem

    Could you make a video on how to change palettes ingame ?

  • @dotapark
    @dotapark Před rokem

    dang if i still use Mac this must be my whole day with editing Dragon Warrior rom

  • @BillAnt
    @BillAnt Před 10 měsíci +1

    Well, that FTW sprite somehow snuck in after all at 14:14 lol

    • @NesHacker
      @NesHacker  Před 10 měsíci +1

      I originally wanted to use the “woooow” anime SFX from Fairytale when I showed that for the first time but I couldn’t find a decent copy to mix in. So I went with the record scratch 😂

  • @dcdondon
    @dcdondon Před 2 lety +1

    Hi! Thanks for your video.
    I have a question and maybe you have the answer.
    Recently I have hacked the color of Ghosts n' Goblins.
    The process is quite easy, once discovered. I have used the debugger of mesen > memory tools > palette RAM. Played a bit with the palette in order to understand how things work.
    Then I have used a hex editor to change the nes rom permanently.
    I tried the same process with other roms and it still works.
    One thing I've noticed though is that every nes rom has a different palette values adress and it is never the same spot.
    So my question is: how assembly understands that it is dealing with color?
    Thanks!

    • @NesHacker
      @NesHacker  Před 2 lety +5

      So check out my Nes Graphics Explained video. Basically there’s a special spot in Video RAM connected to the PPU where the palette values are written. So, basically, a game will write values to video ram at run time to tell the PPU what colors to use. Generally these values are stored in a table somewhere and there will be a loop that goes through and loads them. Finding the palette locations in a ROM is pretty tough, but you can do it using debugger breakpoints that look for specific values to be written to video RAM memory locations. I’m hoping to do a video on some more advanced rom hacking techniques like this in the future.

  • @paulcrandall2534
    @paulcrandall2534 Před 2 lety +3

    Hey Ryan, I have a question for you. Is there any way you can go over how rom flash cartridges work? Like the Everdrive cartridge. I know the NES used a bunch of different mappers for the cartridges over the years. I'm wondering how those flash cartridges feed the roms to the NES and how or if they emulate the different mappers. Essentially, I'd really like to know how they work. It would be great if you could do a video on that or if you could point me in the right direction. Running roms on original hardware is like the ultimate NES hack. Thank you. Keep up the great work!!!

    • @NesHacker
      @NesHacker  Před 2 lety +3

      Hey Paul, that’s a super good question. I am planning on doing a “Mappers” explained video that goes into the details at the hardware and software level for how mappers work in general, along with some specific examples (I’m thinking the MMC1 chip would be a good one to dive into). So, yes, I plan on covering it… But that said it requires a bit more research than a normal video because I’ll want to do some hardware hacking alongside the software to test things out myself.

    • @paulcrandall2534
      @paulcrandall2534 Před 2 lety +1

      ​@@NesHacker Hey thanks for the reply. I've been digging through this topic for the last few days and this rabbit hole goes deep. The more I looked into it, the more I realized I didn't know. I'm only a hobbyist, but I know a thing or two about a thing or two. This topic may be way beyond the scope of your channel. I'm not saying you couldn't do it. I'm sure you could. I'm just saying it is very involved. There's all sorts of different hardware on these various mappers that need to be considered. That's only something an ASIC or FPGA could handle. Info on all the different chips is hard to come by. It's like each circuit board needs to be reverse engineered individually. It's quite a project.
      It would be cool though if you could go over the sequence of operations of the NES. Like when you put in a cartridge and press the power button, what happens? I'd like to see somebody show that visually and point out how the NES communicates with the cartridge and all the different chips.
      Either way, whatever you plan on doing, I'll be here. Your videos have really helped me out. Looking forward to the next one. Thanks!!!

    • @paulcrandall2534
      @paulcrandall2534 Před 2 lety +1

      @@NesHacker Also, do you have Twitter or Facebook or even an email address for your channel? If you did, it would help if you fill out your "About" profile.

  • @IncredibleMD
    @IncredibleMD Před 5 měsíci

    Where'd you get the shirt, though?

  • @kirby0louise
    @kirby0louise Před 2 lety +6

    9:40 - yeah, YY-CHR is strange, and in more than one way. Pretty sure the load state button STILL only supports ZSNES save states for god-knows-why
    At least Lunar Magic can work around this with palette exporting, but still, ugh

    • @NesHacker
      @NesHacker  Před 2 lety +4

      Indeed, but overall I’m a pretty big fan of the tool.

  • @theonlinezone6904
    @theonlinezone6904 Před rokem +1

    that would be the real legend of zelda, playing as zelda

  • @Ribula1
    @Ribula1 Před rokem

    Does that run on Mintsu?

  • @jamesrivettcarnac
    @jamesrivettcarnac Před 2 lety

    Canonical version imo

  • @mario.szkaradek
    @mario.szkaradek Před rokem +1

    PEGI 17

  • @khatharrmalkavian3306
    @khatharrmalkavian3306 Před 2 lety +2

    TIL why it's named YY-CHR.

    • @NesHacker
      @NesHacker  Před 2 lety

      I wish more folks would watch this video, I really enjoyed making it.

  • @goddessofdestructiondiana

    Zelda was the original protagonist/warrior in the original games Gameboy❤ the character was named zelda in the original game
    Why did they change thatZelda was the original protagonist/warrior in the original games Gameboy

  • @huntercoleherr
    @huntercoleherr Před 2 lety

    I can't hear a goddamn thing you're saying over that incredible t-shirt.

  • @ShignBright
    @ShignBright Před rokem +1

    "what if zelda was a girl?"

  • @retrogamestudios7649
    @retrogamestudios7649 Před 2 lety

    How dare u show a non downloadable rom....didn't mom teach you to share

  • @radthadd
    @radthadd Před rokem

    WOKE! lmao