Final Fantasy Better Shops ROM Hack Pt. 1

Sdílet
Vložit
  • čas přidán 27. 06. 2024
  • The first in a multi-part video series where I describe a ROM hack I made for the original Final Fantasy that makes shopping a little nicer.
    Support the channel on Patreon: / neshacker
    NesDev Wiki - wiki.nesdev.org/w/index.php/Ne...
    Chapters:
    0:00 Cold Open
    0:26 Introduction
    1:39 ROM Hack Goals
    3:14 CPU Memory Map
    6:44 RAM Hacking
    10:25 Conclusion

Komentáře • 42

  • @arsenkay
    @arsenkay Před 2 lety +24

    You sir are incredibly underrated. We need to get you more exposure! Let's go boys, share this man's videos everywhere!

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

    These videos are criminally under viewed. Thanks for them.

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

    Excellent video! Such a pity your channel isn't at 1M+ subs. But I think it will be!

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

    Fantastic content dude. I'll be binge watching your channel today, so... subscribed!

    • @NesHacker
      @NesHacker  Před 2 lety

      Awesome to hear. I enjoy making 'em, so I am happy you all enjoy watching 'em :D

  • @OtakuNoShitpost
    @OtakuNoShitpost Před 2 lety +12

    Wow, I can't believe this video has so few views, this is amazing! Out of curiosity, will you ever or have you already done a video explaining why certain areas of address space are mirrored several times?

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

      Thank you so much, yeah I really had fun making it :). As far as covering mirroring, I haven't made a video about it yet but I am planning to. The technique really predates my engineering education by about 30 years, so I'm still researching how/why this was done and hoping to talk to some older colleagues prior to putting something together. I really want to deliver content that is as accurate as I can get it, so I hope you're willing to wait :D

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

      @@NesHacker I left a link above why its mirrored.

  • @chadrem
    @chadrem Před 3 lety +6

    Cool stuff. Didn't know this was even possible!

    • @NesHacker
      @NesHacker  Před 2 lety

      Yeah! It's all just bytes of data at the end of the day, and if you know what's going on you can do all sorts of stuff to existing games :)

  • @eniolotero8808
    @eniolotero8808 Před 2 lety

    Great content! I just watched your first two videos. Hoping to dive into assembly soon :) nice tshirt, I love TMNT return of the shredder

  • @motbus3
    @motbus3 Před 2 lety

    that's a terrific video quality :) text, audio and image quality is insanely good. of course the content is equally awesome.

  • @AkamiChannel
    @AkamiChannel Před 2 měsíci

    Nice. Showing Chrono Trigger when you mentioned "Modern JRPGs" reminded me of when people call C a high level programming language.

  • @thehollowknerd3858
    @thehollowknerd3858 Před rokem +2

    I have watched every single one of your videos in the past 3 days and you are currently my favorite CZcamsr. Thank you for your amazing content. PS could we see a video on how to do graphics in NES programs?

    • @NesHacker
      @NesHacker  Před rokem +1

      Wow, thanks! Good news is that I am planning a whole episode about just graphics programming, bad news is that it's not my *next* video :'(

  • @TheNets
    @TheNets Před 7 měsíci

    I don't know if this is good or bad, but your videos are my main way to rest during the past few weeks!
    I'm watching all of them!
    The worst part is: after a long day reading and writing code, I watch videos about understanding and modifying code haha

  • @b4ux1t3-tech
    @b4ux1t3-tech Před rokem

    I've been programming for over twenty years, and I did a stint as an application and information security engineer for a few years at my last job.
    That said, I've always been intimidated by ROM hacking/game modding outside of proper modding support. Games feel hugely complex even compared to some of the real-world applications I've built and/or analyzed.
    I know, intellectually, that games are just another program. But you demystified this process for me, a process that feels so familiar now that I've seen you do more or less the same steps I take when analyzing _any_ program.
    Great video, great channel, keep up the awesome work, Ryan!

    • @NesHacker
      @NesHacker  Před rokem +1

      Yeah, ROMs are just machine code and binary data. If you have a programming background all you need to know is roughly how things are laid out and a little about how the system works :D

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

    im interested in learning this stuff

  • @cIariice
    @cIariice Před rokem

    Nice video

  • @skylardickson5201
    @skylardickson5201 Před rokem +1

    Kinda sad I didnt connect the dots between game genie and ram memory addresses sooner but oh well

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

    This is a great, great series. I have been following along with MESEN and FCEUX. How on earth did you figure out that which shop you entered was stored in $45? amazing!! Would love to see that. Alas, my brain still melts when I see the actual assembly and hex.

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

      Yeah that was pretty fun to work out. I used FCEUX’s RAM watch tool and reset the update counters right before going into a shop then looked for any memory location that changed exactly once. Then I isolated those memory locations and entered another shop to see if anything changed. Confirmed it as there using the cheats tool to make myself go into the black magic shop even though I was entering the INN ;)

    • @LukeAvedon
      @LukeAvedon Před 2 lety

      @@NesHacker Thank you for the detailed explanation!

  • @SimpleCarGuy
    @SimpleCarGuy Před 8 měsíci

    Hmm, I must live in Quiznos popular area. There are like 5 within 15 minutes

  • @OmeedNOuhadi
    @OmeedNOuhadi Před rokem +1

    👏👏👏

  • @chrisk.784
    @chrisk.784 Před rokem

    Nice shirt.

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

    This is so cool . Hacking and coding stuff I want to get

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

      Yeah! I have videos planned that talk about how to get into ROM hacking in specific. Keep an eye out for them!

  • @401_k
    @401_k Před měsícem

    Is RAM byte-addressable in the NES? I find it interesting that the amount of gold is stored using 3B rather than 2 or 4

  • @Lita1
    @Lita1 Před 2 lety

    👍

  • @philippelaferriere2661

    I tried using the RAM search tool, as presented here, with Super Mario Bros to find the location of the score in RAM, but I just can't find it... I even tried looking for just the lower byte of the score (e.g. if my score is 3150, then the lower byte is 4E). Am I missing something? Could the game be keeping track of the score somewhere other than RAM?

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

      It’s definitely in RAM, but it might be stored in Binary Coded Decimal instead of binary. The way that works is that each byte uses the upper four bits and the lower four bits to store a decimal number in each. For instance the value %01110100 in BCD would represent 74 in decimal (%0111 = 7, and %0100 = 4).
      So if the score is a 4 digit number like 3500 try searching for the 2 bytes: %00110101 and %00000000 in sequence (aka $35 and $00 in hex).
      Unsure if this is the case but it’s my first hunch! Good luck! 👍🏻

    • @philippelaferriere2661
      @philippelaferriere2661 Před 2 lety

      @@NesHacker Thanks for the suggestion. However, I tried BCD encoding with a few different score values and I still can't find it. I challenge anyone reading this to find it!

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

    Amazing video. Please take a Sub to help you on your quest.

  • @Jay84476
    @Jay84476 Před rokem

    Where can we download the rom hack?

  • @genericscottishchannel1603

    how much harder would it have been to have up and down also increase and decrease how much you buy

    • @NesHacker
      @NesHacker  Před rokem

      Pretty hard since up and down handle the menu select iirc 😂, it’s technically doable it would just be kinda awkward