CORRECTION: After spending hours collaborating with Cuyler and iQue specialist Jhynjhiruu, we finally figured out how to structure a multi-bank Controller Pak file that was verified on a patched emulator. This Pak can, in theory, be read by a stock N64 and would allow for games >30KB to be loaded onto a larger Pak. Jhynjhiruu found one third party Pak that supported linear multi-bank structuring without switches, manufactured by Datel. This Pak included 16 banks and would be able to handle larger NES games. However, this Pak is pretty rare and had a limited distribution. Still, figuring out the structuring was an excruciating, but fun debug process that definitely warrants a deeper explanation once custom hardware is tested. Jhynjhiruu made some super neat discoveries along the way that I got to witness firsthand, so I'm super appreciative of their work and dedication. Stay tuned for a collaborative follow-up! 😄
Might also want to note that you repeatedly said "Page 5" in the video when you meant "Page 6" Doesn't surprise me that multi-bank paks are possible. It sounds similar to the trick used to get the GameBoy to read larger cartridges than it had the address space for.
It’s all semantics. The paging index starts at 0, meaning there’s five pages of filesystem from page 0-4. So when I say we start data on page 5, it’s really the sixth page… but I can see how it can be confusing.
Software engineer here. This is one of the most complete, detailed and approachable videos I've ever seen. Obviously it's the only resource on the specific subject of bodging together ice climber for animal crossing, but it's such a well thought out and produced video, from start to finish. Even a non-tech person would follow that easily. I'd have watched one hour of you debugging and hacking this thing together, it was really enjoyable, you're getting really good! :)
I'm not very well versed in tech outside of modding video games, and this entire video was crystal clear and very easy to follow! Hunter R. really is amazing!
Yes! I literally wouldn't understand it if not for the way Hunter teaches these things. So easy to follow. As a teacher I can't help but be impressed by what a good one Hunter is. Keep it up, Hunter! Thank you!
I have and never will play animal crossing. I’ve been watching hunter for maybe 2 years now. The videos are just really well done. You can either watch or just listen too
it's hard to realize how constrained game storage is for old games. Like, over at the F-Zero discord I dropped the comparison that the entirety of the original F-ZERO for the Super Nintendo, all of its tracks, music, vehicles, racing physics and all of that, are smaller in data than this random picture of Captain Falcon's ass from Smash Bros. Ultimate
Theoretically >256K (>32KB) paks are possible. The way the controller pak is set up, banks of 32KB would be required. The I-node table only has space for 128 blocks which is exactly 32KB in size. Each bank of 32KB would require its own I-node table. I believe that multi-bank controller paks are supported by the official N64 SDK which all games use for interfacing with controller paks. Maybe some day someone will create one so we can play more complex Famicom games on the N64!
Would be interesting to try and replicate this digitally on emulator just to see if a multi-bank Pak could work. It would be nice to play/inject more complex NES games, but if nothing else, at least we have the GameCube version!
There is a limitation in the N64 Joybus protocol and how it's used on the N64. So this means that Dobotsu No Mori will have the limitation built in that it can't read more than 32 KB from a controller PAK. The Joybus Protocol does support 16 Address Lines (64 K) and 8 data lines (Bytes), BUT it's assumed that addresses above 32 KB are for other accessory types like the Pulse Sensor and the Rumble PAK. There were third party controller paks that supported 4 x 32 KB controller paks in one device, but it was electrically identical to 4 controller paks and used dip switches to change banks, so no continuity across the 4 paks.
This reminds me of the guy who painstakingly recreated the source code of the Apollo 10 guidance computer based upon the public releases of a beta version of the Apollo 10 source code and the complete Apollo 11 source code, because the only place the completed Apollo 10 lunar module guidance computer source code was ever stored was onboard, which makes it pretty difficult to retrieve since "Snoopy" (the Apollo 10 Lunar Module) is now in orbit around the sun
OK. Of course, you can't compare to play an old game inside another old game in our own homes than using that Apollo 11 source code to... eh... to... When was the last time a human ever went to the moon? Well, at least it saved our bodies from being blown out like leaves.
So clearly we should mod the game to search for another controller pak in the second controller that extends the rom found in the first controller pak.
"Ice Climber is one of a few NES games that is small enough to actually fit within this constraint." Maybe that's why they barely used this feature... (Oh wait, you basically said as much later in the video.)
Yea, very few NES games can actually fit on a standard 32KB Pak. There is a theory that Nintendo planned to make larger Paks, which is somewhat supported with there being a “bank size” flag in the file system pages, but one was never released. Either way, this feature was expanded upon in the GameCube releases with more tags and specific support for multiple ROMs on the memory card. This code does not exist in the N64 original, so I think they did plan to use it for the GameCube version, but never got around to it… 🤔
As a mario 1 rom hacking enthusiast, I can't help but wonder how close it was to fitting? If its within a few hundred bytes, it may be possible that we could repack the original game to remove unused code and data to make it fit. I know of one project called smb bug fix that's removed a fair amount of unused code and they said they saved upwards of a few hundred bytes from the rom.
@@KetwunsGamingPad there's only a few unused sprites, and the "garbage data" at the end of the CHR ROM is actually the VRAM updates used to render the title screen. There's some unused data patches in the ROM that I was thinking we could shuffle around and some residual code we can remove, but it's really not that much.
What a video. First, I got April Fooled early into thinking you were actually going to Japan to seek this elusive peripheral, and then got bombarded with technical know-how which somehow still failed in the end because of one precious byte. Even after that, the first emulator still couldn't run the NES roms. And then, it somehow worked perfectly on the second emulator. And then there was a scare with writing the rom to the actual official controller pak, but in the end it just needed a good clean. And after all that, Ice Climber successfully loaded, proving that this extremely elusive Nintendo collector's item does exist. *How do you not have more subs dude*
@@Whimza bunch of baseless accusations of Nick being a “creep” iirc. People won’t shut up about it cuz it makes their y’know what hard just hating on him
your commitment to this bit is incredible. i hope if there’s ever a real ice climber pack out there that gets found it ends up in your hands. would be very deserved.
I was always curious why very few N64 games used the controller pak. After learning it was only 32k in size, now I understand why save data for N64 games are stored on the cartridge itself. For comparison, a standard PS1 Memory Card has 128k.
It sounds almost like an afterthought. However, when the PS1 was released, that 128k was overkill. Most CD consoles had it with small internal RAMs from 16K to 48K and most people wouldn't ever had the need to expand them. I suppose that when the N64 was being developed, that amount seemed like a lot but then the games blew out from the norm right from the start and it was too late to change it. You know what's even worse? Nintendo never changed them to make them use Flash RAM, you need to change the batteries in all of them, unlike Sony, who abandoned that pretty quickly. Yes, there are battery-powered PS1 cards.
I mean a PS1 *required* you to save all data to the card, since you can't write to the disk. A Controller Pak in theory could be used in conjunction with on-cart save data to save space on both. At the very least, games with simplistic save data didn't need to go on the Controller Pak since there'd most likely still be space on the cart (imagine a platformer like Mario 64 compared to an RPG like FF7). 32kb was probably honestly overkill for most games. There were just a few exceptions, kinda like how the default Gamecube Memory Card can easily hold 20+ games worth of data, OR Animal Crossing a single time.
Thinking back a few generations, this is making me wonder how frugal the save files for _The Legend of Zelda_ must have had to have been, given RAM wasn't the cheapest of things to put on a cartridge in any case. And with the cost of flash back then, it's no wonder so many carts from the time employ a volatile RAM chip and a battery... 😇
@@dieseldragon6756 Zelda 1 was originally on disk where it's all writtable (the irony), so the save files didn't necessarialy be too small as long as they had space for the rest of the game. It's porting what makes it difficult. That's how Metroid went with passwords. Zelda 2 used a bigger cartridge and the RAM for it.
@@harukaze7388 Oh, of course...It was an FDS game in Japan, wasn't it? 😇 Note to self/UA-cam AI: Look up some Zelda reverse engineering. I want to see if Nintendo jerry-rigged the port to make smaller saves for RAM storage, or if they just put more RAM in the carts than they might've if the game had been direct-to-cartridge. 🙂 (I had a copy of L-o-Z when it was on open sale, and in the UK it didn't have a higher price compared to any other title I saw/bought.)
Think it's worth remembering that 'Even Super Mario Bros' is funny in the lens of gaming history- It was deliberately designed to use as much of the stock NES hardware as possible. The 'ultimate cartridge game.' So it's very fitting that it doesn't 'fit' ;) in the pak, but the games that honed the dev team's craft to make SMB, such as Excitebike and Ice Climber, do.
"On second thought, maybe spending thousands on a trip to search for a theoretical item with zero leads is a bad idea..." Nick Robinson in the corner who would do exactly that:
I'll add that the Raphnet adapters are great, especially for really odd usages like this. I'll add that the owner was fantastic and added support for the N64 Randnet Keyboard to the software for this adapter. Which aided greatly in my testing the Keyboard Specification.
tl;dr; nothing interesting or useful supports it. And it’s generally around $1000. e.g. A Japanese dialup email service that shutdown 23 years ago. My Google Site documents it and has a scan of the original manual, the info is free so it exists in multiple places.
I've been packing my N64 in my bag along with my clothes, three times, every time I've visited my gf in the past couple months, so the shot of you throwing the n64 and controller into your bag was very relatable.
I have played maybe 2 collective hours of animal crossing (not just GC, but ANY) and have close to zero coding/modding knowledge... but somehow your content is infatuating to me. I picked up UA-cam premium through your sponsor link a couple months ago to support you in some way and I'm so glad I did. Keep it up!
What an amazing video dude! Kudos for achieving this. I really hope one of this days a offical Ice Climbers pak gets found and you manage to document it. Your channel is a joy to watch dude, thanks for the hard work.
I looked into these as well, but they were also significantly more expensive than the simple USB adapter, which was only $25.00 and easier to use for this project.
Beautiful work! This function as a whole between the N64 and GCN versions still blows my mind - such an elaborate function that nobody ever knew about under the hood. Your channel continues to be one of my new favorites to recommend. (Also on the Pak artwork mockups, I noticed "Secnario", just in case you decide to print them!)
3:10 Theoretically, there could be larger Controller Paks, but they were likely never made due prior games being unable to test that they work correctly with larger Controller Paks due to them not existing, and there being no way to patch preexisting games that might throw an error due to assuming that Controller Paks are a certain size. Given that it's not *too* hard to just flick a switch to swap between different virtual memory cards, no third-party Controller Pak manufacturers bothering making an actual larger single Controller Pak. With the right custom hardware, it might be possible to put larger NES games on a Memory Pak and have them loaded by Animal Forest, though I doubt it supports the mappers of any game anyone would be dying to play on it. Someone would have to decompile the code responsible for reading the Controller Pak in Animal Forest and its embedded copy of libultra to know for sure if it, specifically, supports larger Controller Paks.
Given that the controller pak page 0 stores the size of the flash memory, seems it should be possible to create a custom controller pak with a modern microcontroller with a larger capacity.
The AC NES emulator is so interesting! Galaxian should work as well, since iNES dumps of it are usually 24KB. It's actually 16KB in size but the iNES header can't represent the 8KB PRG-ROM it uses. So, the game has to be _overdumped_ in this scenario. (NES2.0, an extension of iNES, addresses this and other games with unusual sizes) FYI there are some homebrew titles which use the same 24KB ROM size/mapper (the proper name is NROM-128), so those can probably be injected as well. Squirrel Domino (a Dr. Mario clone) is one such example.
I was thinking about the potential of making e-Reader cards when I realized I didn't need to go beyond NROM-128, but it's cool that that limit allows other stuff too. Galaga is NROM-128, as are some other Namco arcade ports (Pac-Man, Dig Dug, Mappy) and I feel like it's worth pointing out Bomberman and Lode Runner.
Man, i have such respect for you and everyone involved! I'm a junior level programmer and want to get into low level stuff like this (primarily in web development right now). Congratulations on this victory! Looking forward to seeing what's next!
I cheered out loud when you got the ROM to boot on hardware. I love it when people push the limits of the known and preserve and recreate everything they can!
If it's only JUST too big there has to be funny way to modify the SMB ROM into an animal crossing version while still preserving it's functionality. ROM gods, we need you more then ever now...
Damn, this was super cool. Bummer that only four games will fit though. Would it be possible to create a controller pak with more storage? Basically an everdrive with the whole NES library, playable from AC, would be super freaking cool. Idk if the N64 would be able to read larger storage units without modifying the console itself, but that would make for a banger video. Regardless, I really enjoyed watching this. Thanks for including the whole process. The technical details are my favorite part of your videos. Can’t wait to see what you come up with next!
Another possibility instead of the USB adapter: writing an N64 homebrew whose only job is to write the controller pak, then running that rom on a flash cart. Still adds a specialized hardware dependency (the flash cart) but it might be one that people are more likely to have.
i wish they still made video games under a megabyte. i think it would, ironically, make the larger video games better since programmers would learn a lot about optimization.
Tell me about it. Modern devs should code more efficiently. One of the biggest flaws in New Horizons is how LONG it takes to load going in-between rooms of your house. I'm fine with a slightly chunky load zone to enter the house, but once the house is loaded, the whole house should feel like a seamless world. It's a buzzkill to go from room to room and WAIT, as if the rooms aren't even connected.
See that's all well and great. _But can it run Doom?_ We have to make a certain friendship come full circle, everyone. We have to make Animal Crossing run Doom Guy. Do it for Daisy. Do it for Isabelle. (Even though she's not yet part of the franchise in this installment....)
this is a great video and I love the reference at the beginning. I love videos that detail complicated file systems in simple terms so I can nod along and pretend like I know what's going on lol. I think it would've been cool to see a conversion to KB when comparing the controller pack to the Switch save data to see Big Number (with the MB in parenthesis)
This is phenomenal! What an insane thing to get working on a real console, and props for showing your failures along with your successes - it makes the story of your project a lot more satisfying when it pays off.
Another issue with these is that the controller paks are battery ram. If one did show up, it's very possible it could have a dead battery and all the data would be gone anyways.
'At wits end and desperate for answers, I booked a ticket to Japan=-' -Nick Robinson... Wait, what? I'm watching Hunter R. right now? Huh! Weird crossover but OK. ...Actually now that I think about it that wouldn't even be the weirdest crossover.
Quick little thing I wanted to mention: From what you said in the video about AC roms using INES headers; does that mean that the game uses features from an unofficial file system meant to be used for an ancient NES emulator?
I think this is my favorite video from you. You literally went through so much effort for recreating something which barely has any results online. Also didn't expect to hear you swear
The simplest (on paper) projects always seem to take the longest in the end. Congrats on getting it working! A tiny forgotten feature but it's cool to know we have the tools available to make it happen. A shame about the file size though, definitely much more viable to just inject them directly into the AF rom itself instead.
@@mme725 try Ares or Mupen64PlusNext. PJ64 is long outdated and has some absolutely inexcusable issues with it. the analog stick emulation is so bad that its really hard to do a simple backwards longjump in mario 64, no matter what input plugin you use. avoid PJ64
i don't understand most of what's going on aside from surface level stuff, but i can tell *you* sure understand what you're talking about and you do it in such an approachable and patient way, that i'm gonna pay attention to the full video anyway and then probably rewatch it five or six times again later
Although not the best controller option, Hyperkin N64 wireless controller can dump the contents of a Controller Pak for backup in a Micro SD and write them back into the Controller Pak. That might work too.
Videos like these give me SO much appreciation for the original engineers that made it work when this was cutting edge technology at the time. With the modern luxuries, even though it is difficult, we are able to do so much more, but imagine the confines they were in.
CORRECTION: After spending hours collaborating with Cuyler and iQue specialist Jhynjhiruu, we finally figured out how to structure a multi-bank Controller Pak file that was verified on a patched emulator. This Pak can, in theory, be read by a stock N64 and would allow for games >30KB to be loaded onto a larger Pak. Jhynjhiruu found one third party Pak that supported linear multi-bank structuring without switches, manufactured by Datel. This Pak included 16 banks and would be able to handle larger NES games. However, this Pak is pretty rare and had a limited distribution. Still, figuring out the structuring was an excruciating, but fun debug process that definitely warrants a deeper explanation once custom hardware is tested. Jhynjhiruu made some super neat discoveries along the way that I got to witness firsthand, so I'm super appreciative of their work and dedication. Stay tuned for a collaborative follow-up! 😄
Time to make aftermarket ginormous controller paks?
Can you put some sort of harvest moon like on it? Lol
Might also want to note that you repeatedly said "Page 5" in the video when you meant "Page 6"
Doesn't surprise me that multi-bank paks are possible. It sounds similar to the trick used to get the GameBoy to read larger cartridges than it had the address space for.
It’s all semantics. The paging index starts at 0, meaning there’s five pages of filesystem from page 0-4. So when I say we start data on page 5, it’s really the sixth page… but I can see how it can be confusing.
@@ViktorPripyat thats what i was thinking too! completely custom pak with a lot more space.
Software engineer here. This is one of the most complete, detailed and approachable videos I've ever seen. Obviously it's the only resource on the specific subject of bodging together ice climber for animal crossing, but it's such a well thought out and produced video, from start to finish. Even a non-tech person would follow that easily. I'd have watched one hour of you debugging and hacking this thing together, it was really enjoyable, you're getting really good! :)
Very kind words, thank you! Glad you enjoyed it. 😄
I'm not very well versed in tech outside of modding video games, and this entire video was crystal clear and very easy to follow! Hunter R. really is amazing!
Yes! I literally wouldn't understand it if not for the way Hunter teaches these things. So easy to follow. As a teacher I can't help but be impressed by what a good one Hunter is. Keep it up, Hunter! Thank you!
I have and never will play animal crossing. I’ve been watching hunter for maybe 2 years now. The videos are just really well done. You can either watch or just listen too
@@feelincrispy7053 Exactly. I just started with ACNH when it came out, but I agree. You don't have to be a fan to like his work.
I was hoping for Arbitrary Code Execution in Ocarina of Time to write Ice Climbers to the controller pack
God I want to see that now, it would be ABSURD, but hilarious.
I mean… Ice Climber really isn’t that big of a game… 👀🤔
@@Hunter-R. HI
It doesn't matter if we should, it only matters that we can
@@Hunter-R.omg yes please do thid
it's hard to realize how constrained game storage is for old games. Like, over at the F-Zero discord I dropped the comparison that the entirety of the original F-ZERO for the Super Nintendo, all of its tracks, music, vehicles, racing physics and all of that, are smaller in data than this random picture of Captain Falcon's ass from Smash Bros. Ultimate
What about F-Zero 99. The latest game in the F-ZERO library! (Available for Nintendo Switch Online members only. Terms and conditions apply.)
@@fuseegelee Probably much larger than the original due to the added graphics, mechanics, and online functionality
@@Toadfish10 yeah according to my switch it’s 1.5 GD
@@fuseegelee Oh yeah, much larger than a SNES cartridge then
@@Toadfish10 by today’s standards that’s not that much, but back in the 90s you’d be lucky if a cartridge had enough banks to play a game of that size
Theoretically >256K (>32KB) paks are possible. The way the controller pak is set up, banks of 32KB would be required. The I-node table only has space for 128 blocks which is exactly 32KB in size. Each bank of 32KB would require its own I-node table. I believe that multi-bank controller paks are supported by the official N64 SDK which all games use for interfacing with controller paks. Maybe some day someone will create one so we can play more complex Famicom games on the N64!
Would be interesting to try and replicate this digitally on emulator just to see if a multi-bank Pak could work. It would be nice to play/inject more complex NES games, but if nothing else, at least we have the GameCube version!
@@Hunter-R. We'll have to test this... maybe you'll be the first person outside of Nintendo to see SMB running on the N64 version!
Part 2 Part 2 Part 2
Part 2 Part 2 Part 2
There is a limitation in the N64 Joybus protocol and how it's used on the N64. So this means that Dobotsu No Mori will have the limitation built in that it can't read more than 32 KB from a controller PAK. The Joybus Protocol does support 16 Address Lines (64 K) and 8 data lines (Bytes), BUT it's assumed that addresses above 32 KB are for other accessory types like the Pulse Sensor and the Rumble PAK. There were third party controller paks that supported 4 x 32 KB controller paks in one device, but it was electrically identical to 4 controller paks and used dip switches to change banks, so no continuity across the 4 paks.
It's very Nintendo to build an entire "read roms from the controller pack" system into the game and then use it once for 30 people. 😂
Wasn’t expecting Hunter R. to drop an f bomb today haha
good on him.
Wholesome ended 😢?
@@jogloran Dramatic effect!
If I ever start livestreaming, you all might be shocked at me swearing a bit regularly haha
where in the video was that? i don’t remember hearing anything
@@krispyking2450 1:22
This reminds me of the guy who painstakingly recreated the source code of the Apollo 10 guidance computer based upon the public releases of a beta version of the Apollo 10 source code and the complete Apollo 11 source code, because the only place the completed Apollo 10 lunar module guidance computer source code was ever stored was onboard, which makes it pretty difficult to retrieve since "Snoopy" (the Apollo 10 Lunar Module) is now in orbit around the sun
OK.
Of course, you can't compare to play an old game inside another old game in our own homes than using that Apollo 11 source code to...
eh...
to...
When was the last time a human ever went to the moon?
Well, at least it saved our bodies from being blown out like leaves.
So clearly we should mod the game to search for another controller pak in the second controller that extends the rom found in the first controller pak.
Is bro cooking? 👀
imagine 3/4 controllers with paks that contain SMB3
Man all this amazing work to play FUCKING ICE CLIMBER
It's the journey that counts, not the destination.
It's not about the game it's the novelty.
Wild that right now some of the original cartridges are just sitting forgotten in some japanese folk's closets
Maybe the real ice climbers were the friends we made along the way.
"Ice Climber is one of a few NES games that is small enough to actually fit within this constraint." Maybe that's why they barely used this feature...
(Oh wait, you basically said as much later in the video.)
Yea, very few NES games can actually fit on a standard 32KB Pak. There is a theory that Nintendo planned to make larger Paks, which is somewhat supported with there being a “bank size” flag in the file system pages, but one was never released.
Either way, this feature was expanded upon in the GameCube releases with more tags and specific support for multiple ROMs on the memory card. This code does not exist in the N64 original, so I think they did plan to use it for the GameCube version, but never got around to it… 🤔
So you're saying we can put nes roms on a memory card? @@Hunter-R.
@@nuguns3766 yes, check out his video called "Injecting NES / Famicom Disk System Games into Animal Crossing"
@@nuguns3766there's an NES rom injection tool for the gamecube games, and i remember there being a specific rom for the lost 4 games
@@nuguns3766 Technically, yes! He made a video about the process for the gamecube version a little while back.
As a mario 1 rom hacking enthusiast, I can't help but wonder how close it was to fitting? If its within a few hundred bytes, it may be possible that we could repack the original game to remove unused code and data to make it fit. I know of one project called smb bug fix that's removed a fair amount of unused code and they said they saved upwards of a few hundred bytes from the rom.
I was thinking this as well. :D
Try it out? Be the person who cracks that 5th game!
There’s also a lot of unused sprites and garbage data in the game too. Might be able to remove enough to fit in.
@@KetwunsGamingPad there's only a few unused sprites, and the "garbage data" at the end of the CHR ROM is actually the VRAM updates used to render the title screen. There's some unused data patches in the ROM that I was thinking we could shuffle around and some residual code we can remove, but it's really not that much.
I wonder if it's feasible to replace the images in CHR ROM with ones that're more efficiently compressed with Yay0
What a video. First, I got April Fooled early into thinking you were actually going to Japan to seek this elusive peripheral, and then got bombarded with technical know-how which somehow still failed in the end because of one precious byte. Even after that, the first emulator still couldn't run the NES roms. And then, it somehow worked perfectly on the second emulator. And then there was a scare with writing the rom to the actual official controller pak, but in the end it just needed a good clean. And after all that, Ice Climber successfully loaded, proving that this extremely elusive Nintendo collector's item does exist.
*How do you not have more subs dude*
0:54 Genuinely can't tell if this is a nick robinson reference
Yeah it is
Better be
The Nick Robinson flip made me chuckle
Thank god he isn't following that guy's steps. Unlike that Nick, this one seems like a good lad.
@@Gabi-enby whats wrong with nick robinson? he do something bad?
@@Whimz he got fired from polygon for being a sex pest
@@WhimzHe's talking about false accusations against Nick Robinson from like 7 or 9 years ago
@@Whimza bunch of baseless accusations of Nick being a “creep” iirc. People won’t shut up about it cuz it makes their y’know what hard just hating on him
your commitment to this bit is incredible. i hope if there’s ever a real ice climber pack out there that gets found it ends up in your hands. would be very deserved.
I was always curious why very few N64 games used the controller pak. After learning it was only 32k in size, now I understand why save data for N64 games are stored on the cartridge itself.
For comparison, a standard PS1 Memory Card has 128k.
It sounds almost like an afterthought. However, when the PS1 was released, that 128k was overkill. Most CD consoles had it with small internal RAMs from 16K to 48K and most people wouldn't ever had the need to expand them.
I suppose that when the N64 was being developed, that amount seemed like a lot but then the games blew out from the norm right from the start and it was too late to change it.
You know what's even worse? Nintendo never changed them to make them use Flash RAM, you need to change the batteries in all of them, unlike Sony, who abandoned that pretty quickly. Yes, there are battery-powered PS1 cards.
I mean a PS1 *required* you to save all data to the card, since you can't write to the disk. A Controller Pak in theory could be used in conjunction with on-cart save data to save space on both. At the very least, games with simplistic save data didn't need to go on the Controller Pak since there'd most likely still be space on the cart (imagine a platformer like Mario 64 compared to an RPG like FF7).
32kb was probably honestly overkill for most games. There were just a few exceptions, kinda like how the default Gamecube Memory Card can easily hold 20+ games worth of data, OR Animal Crossing a single time.
Thinking back a few generations, this is making me wonder how frugal the save files for _The Legend of Zelda_ must have had to have been, given RAM wasn't the cheapest of things to put on a cartridge in any case. And with the cost of flash back then, it's no wonder so many carts from the time employ a volatile RAM chip and a battery... 😇
@@dieseldragon6756 Zelda 1 was originally on disk where it's all writtable (the irony), so the save files didn't necessarialy be too small as long as they had space for the rest of the game. It's porting what makes it difficult.
That's how Metroid went with passwords. Zelda 2 used a bigger cartridge and the RAM for it.
@@harukaze7388 Oh, of course...It was an FDS game in Japan, wasn't it? 😇
Note to self/UA-cam AI: Look up some Zelda reverse engineering. I want to see if Nintendo jerry-rigged the port to make smaller saves for RAM storage, or if they just put more RAM in the carts than they might've if the game had been direct-to-cartridge. 🙂
(I had a copy of L-o-Z when it was on open sale, and in the UK it didn't have a higher price compared to any other title I saw/bought.)
This the kind of video that proves this is the right channel to be a member of
Think it's worth remembering that 'Even Super Mario Bros' is funny in the lens of gaming history- It was deliberately designed to use as much of the stock NES hardware as possible. The 'ultimate cartridge game.' So it's very fitting that it doesn't 'fit' ;) in the pak, but the games that honed the dev team's craft to make SMB, such as Excitebike and Ice Climber, do.
I love videos like this, its almost like a blog style thing and it's really cool. You should totally do more of this!
It is a bit of a different style! I'm glad you enjoyed it, and I think it is a pretty engaging way to structure project videos like this!
@@Hunter-R. Absolutely! Keep it up!
"On second thought, maybe spending thousands on a trip to search for a theoretical item with zero leads is a bad idea..."
Nick Robinson in the corner who would do exactly that:
I assumed that was what was being referenced lol
I think buying everything you used in this video would still be cheaper than the Ice Climber e-Reader card for the GameCube version.
@@Chubby_Bub Definitely so! I already owned the N64 and Doubutsu no Mori, but even if I didn’t it would still be cheaper! 🫣
I'll add that the Raphnet adapters are great, especially for really odd usages like this. I'll add that the owner was fantastic and added support for the N64 Randnet Keyboard to the software for this adapter. Which aided greatly in my testing the Keyboard Specification.
Didn’t even know there was an N64 keyboard. Now I got to look that up
tl;dr; nothing interesting or useful supports it. And it’s generally around $1000.
e.g. A Japanese dialup email service that shutdown 23 years ago. My Google Site documents it and has a scan of the original manual, the info is free so it exists in multiple places.
I've been packing my N64 in my bag along with my clothes, three times, every time I've visited my gf in the past couple months, so the shot of you throwing the n64 and controller into your bag was very relatable.
I have played maybe 2 collective hours of animal crossing (not just GC, but ANY) and have close to zero coding/modding knowledge... but somehow your content is infatuating to me. I picked up UA-cam premium through your sponsor link a couple months ago to support you in some way and I'm so glad I did. Keep it up!
Guys he found i-wait what?
dude ive been here since your first vid, your content is what ive been craving for years
Saame
I feel this lol. Scratches a particular itch in my brain. I rewatch them regularly just cuz 😭
same, i'm not even all that into animal crossing, but as soon as hunter uploads, that's an immediate watch
@@RemyJustice97 Honestly lol. This channel alone made me get so invested in animal crossing
Yup, those Raphnet adapters are a godsend, they were pretty critical tool finally emulating the Hey You, Pikachu! VRU as well
This is, WOW… just, WOW! The time invested in this from the tech discovery to the video production is admirable.
I apologize for falling asleep during this video but I am all for the Ice Climber Hunter sprites in the end slate
What an amazing video dude! Kudos for achieving this. I really hope one of this days a offical Ice Climbers pak gets found and you manage to document it.
Your channel is a joy to watch dude, thanks for the hard work.
This is so cool! What an achievement 🥳 Amazing item to add to a collection. Great video. Thanks for sharing
Guys, im starting to think this Hunter guy might like animal crossing ~
I mean, the everdrive and all N64 flashcards can write to controller packs, it's just that you can't do it directly from the PC
I looked into these as well, but they were also significantly more expensive than the simple USB adapter, which was only $25.00 and easier to use for this project.
@@Hunter-R. hii
@@Hunter-R. Ah, didn't think you'd use the legit N64 cart, and not the translation hack, my bad
Beautiful work! This function as a whole between the N64 and GCN versions still blows my mind - such an elaborate function that nobody ever knew about under the hood. Your channel continues to be one of my new favorites to recommend.
(Also on the Pak artwork mockups, I noticed "Secnario", just in case you decide to print them!)
3:10 Theoretically, there could be larger Controller Paks, but they were likely never made due prior games being unable to test that they work correctly with larger Controller Paks due to them not existing, and there being no way to patch preexisting games that might throw an error due to assuming that Controller Paks are a certain size. Given that it's not *too* hard to just flick a switch to swap between different virtual memory cards, no third-party Controller Pak manufacturers bothering making an actual larger single Controller Pak. With the right custom hardware, it might be possible to put larger NES games on a Memory Pak and have them loaded by Animal Forest, though I doubt it supports the mappers of any game anyone would be dying to play on it. Someone would have to decompile the code responsible for reading the Controller Pak in Animal Forest and its embedded copy of libultra to know for sure if it, specifically, supports larger Controller Paks.
Given that the controller pak page 0 stores the size of the flash memory, seems it should be possible to create a custom controller pak with a modern microcontroller with a larger capacity.
nintendo alchemist performs the forbidden ritual
The AC NES emulator is so interesting! Galaxian should work as well, since iNES dumps of it are usually 24KB. It's actually 16KB in size but the iNES header can't represent the 8KB PRG-ROM it uses. So, the game has to be _overdumped_ in this scenario. (NES2.0, an extension of iNES, addresses this and other games with unusual sizes)
FYI there are some homebrew titles which use the same 24KB ROM size/mapper (the proper name is NROM-128), so those can probably be injected as well. Squirrel Domino (a Dr. Mario clone) is one such example.
I was thinking about the potential of making e-Reader cards when I realized I didn't need to go beyond NROM-128, but it's cool that that limit allows other stuff too. Galaga is NROM-128, as are some other Namco arcade ports (Pac-Man, Dig Dug, Mappy) and I feel like it's worth pointing out Bomberman and Lode Runner.
Probably get Macross on there which is the smallest FC game I know of.
Now you could make a Custom Sticker for the Controller Pak and sell it as a super ultra rare thing
Man, i have such respect for you and everyone involved! I'm a junior level programmer and want to get into low level stuff like this (primarily in web development right now). Congratulations on this victory! Looking forward to seeing what's next!
I cheered out loud when you got the ROM to boot on hardware. I love it when people push the limits of the known and preserve and recreate everything they can!
I saw the title and was like "Oh of course he did! Why wouldn't he?"
Love the dedication
A game from 1984... running in an emulator written for a system from 1996... run by an emulator on a PC in 2024.
well that's certainly one way to save spending hundreds of thousands of dollars looking for a controller pak
Me during the intro:
-oh he’s going full MattKC
-oh nevermind
-oh he’s going full MattKC
Im a 30 year old big tech SWE where animal crossing was THE game of my childhood.
Never knew how much I needed this lol
A physical copy of N64 Animal Crossing is the pride and joy of my gaming collection!
If it's only JUST too big there has to be funny way to modify the SMB ROM into an animal crossing version while still preserving it's functionality. ROM gods, we need you more then ever now...
Damn, this was super cool. Bummer that only four games will fit though.
Would it be possible to create a controller pak with more storage? Basically an everdrive with the whole NES library, playable from AC, would be super freaking cool. Idk if the N64 would be able to read larger storage units without modifying the console itself, but that would make for a banger video.
Regardless, I really enjoyed watching this. Thanks for including the whole process. The technical details are my favorite part of your videos. Can’t wait to see what you come up with next!
Another possibility instead of the USB adapter: writing an N64 homebrew whose only job is to write the controller pak, then running that rom on a flash cart. Still adds a specialized hardware dependency (the flash cart) but it might be one that people are more likely to have.
Clever idea. Could be useful in general to have for other things too if it supports mpk files in general
Realizing this is the first Hunter R video I can actually recreate in real life... All I need is that N64/PC cord. Holy shit.
11:49 Walmart coming in clutch
0:55 Pulling a page from Nick Robinson's book I see
"Fine. I'll do it myself" - -Thanos- Hunter R
I’ve watched your previous videos but the amount of effort that went into this one finally made me sub. Good work!
This is such a strange and niche thing to recreate. I'm really happy you got it to work!
1:18 that's the job for Nick Robinson
Someone had to say it
Literally my thoughts. We need him here
And MattKC
Someone call him quick!
You don't have to take a trip to Japan to sexually harass someone
i wish they still made video games under a megabyte. i think it would, ironically, make the larger video games better since programmers would learn a lot about optimization.
Tell me about it. Modern devs should code more efficiently. One of the biggest flaws in New Horizons is how LONG it takes to load going in-between rooms of your house. I'm fine with a slightly chunky load zone to enter the house, but once the house is loaded, the whole house should feel like a seamless world. It's a buzzkill to go from room to room and WAIT, as if the rooms aren't even connected.
Homestuck pfp spotted
If this was a nick robinson video, that intro would have been for real.
pidgezero_one?? Ah, some of the best Super Mario RPG stuff out there! Takes me back a bit. You've got quite the Residents in your forest!
Pidge’s work on Super Mario RPG is phenomenal. A super nice person as well that I’ve had the pleasure of connecting with due to this channel!
Thank you Hunter very cool!! - Hmin
🥲
Nick Robinson on standby for that flight you didn’t take!
See that's all well and great. _But can it run Doom?_
We have to make a certain friendship come full circle, everyone.
We have to make Animal Crossing run Doom Guy.
Do it for Daisy. Do it for Isabelle. (Even though she's not yet part of the franchise in this installment....)
This is just awesome. Love seeing this stuff. Thanks for putting this together!
this is a great video and I love the reference at the beginning. I love videos that detail complicated file systems in simple terms so I can nod along and pretend like I know what's going on lol. I think it would've been cool to see a conversion to KB when comparing the controller pack to the Switch save data to see Big Number (with the MB in parenthesis)
This is phenomenal! What an insane thing to get working on a real console, and props for showing your failures along with your successes - it makes the story of your project a lot more satisfying when it pays off.
Thank you for providing me my fix of MattKc style content in these trying times of him doing a huge project. Subscribed
Dude I live for this type of content, especially for one of my favorite games. Appreciate your work
WELL DONE DUDE!!!! I could absolutely hear your relief when it booted up in-game!
Another issue with these is that the controller paks are battery ram. If one did show up, it's very possible it could have a dead battery and all the data would be gone anyways.
'At wits end and desperate for answers, I booked a ticket to Japan=-' -Nick Robinson... Wait, what? I'm watching Hunter R. right now? Huh! Weird crossover but OK.
...Actually now that I think about it that wouldn't even be the weirdest crossover.
Quick little thing I wanted to mention:
From what you said in the video about AC roms using INES headers; does that mean that the game uses features from an unofficial file system meant to be used for an ancient NES emulator?
I think this is my favorite video from you. You literally went through so much effort for recreating something which barely has any results online. Also didn't expect to hear you swear
The simplest (on paper) projects always seem to take the longest in the end. Congrats on getting it working! A tiny forgotten feature but it's cool to know we have the tools available to make it happen. A shame about the file size though, definitely much more viable to just inject them directly into the AF rom itself instead.
great vid!!!! normally this sort of stuff goes over my head but you made it very digestible thank you luv your work!!
Actually so sick! I love things like this :P Good job Hunter!
You were using Project64?!?!? homie its not 2007 anymore, we have more accurate and efficient emulators
I’ve been shown the light… 🙇♂️
Yooo, what's the new thing? I haven't enjoyed 64 games in years, so I only know PJ64
@@mme725mupen64 for starters
@@mme725 I believe the current standard is Parallel Launcher, which is cross-platform. Retroarch also has a Parallel core.
@@mme725 try Ares or Mupen64PlusNext. PJ64 is long outdated and has some absolutely inexcusable issues with it. the analog stick emulation is so bad that its really hard to do a simple backwards longjump in mario 64, no matter what input plugin you use. avoid PJ64
This is wild. Thanks for looking into this it's so cool.
i don't understand most of what's going on aside from surface level stuff, but i can tell *you* sure understand what you're talking about and you do it in such an approachable and patient way, that i'm gonna pay attention to the full video anyway and then probably rewatch it five or six times again later
Wow, I don't remember seeing ine even in Uji's Nintendo Museum. An hell there were a lot more rare items than anyone can imagine
This vid absolutely whips, well done dude
Another technical video so soon let's go, this video was awesome!!
Man was about to pull a Nick Robinson. I jumped the gun and I was completely fooled lol
fine, I'll take this recommendation
Having it work on console is just so exciting!
So we can fit…practically any game that fits under 30KBs, compressed or raw.
This was a cool video to see you explore and successfully execute! Thank you for making this ^^
man this is so insane to think we can recreate this now
dude ur channel is just one interesting video after another. im hooked
This was really fun!! Thank you for this video, I learned a lot and it's really cool seeing this type of stuff being done on actual hardware
its super impressive how dedicated you are to doing these things. youre awesome, dude!
Although not the best controller option, Hyperkin N64 wireless controller can dump the contents of a Controller Pak for backup in a Micro SD and write them back into the Controller Pak. That might work too.
You almost pulled a "Nick Robison search" there
Nice transition from Ice Climber’s BGM to the Melee remix!
Almost used the Nick robinson strat
1:13 "maybe spending thousands on a trip to search for a theoretical item with zero leads is a bad idea"
you'd be surprised what nick robinson does
1:00 wait what channel am I watching, again? ;p
MattKC, of course!
Nick Robinson?
I'd totally watch a stream of you banging your head against stuff like this.
Videos like these give me SO much appreciation for the original engineers that made it work when this was cutting edge technology at the time. With the modern luxuries, even though it is difficult, we are able to do so much more, but imagine the confines they were in.