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! :)
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*
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.
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
@@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
'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.
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!
"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… 🤔
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
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!)
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.
In theory, you’re right that I shouldn’t have been surprised it was possible! But at first, I was a bit skeptical that Nintendo might have made special Controller Paks that were bigger in size, since we initially believed the magazine Pak came with letter data. This would push the boundaries of 32KB and not fit in a standard Pak. However, “luckily” Ice Climber fits by itself and I imagine they distributed it with a standard 32KB Pak. 🙇♂️
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.
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.
does make me curious if there was ever a potential for nintendo create large memory paks? i don't think they would've actually gone through the effort for this game, seeing how limited of a release ice climbers was, but i still think it'd be interesting to ponder if they *could* make a larger one just for the sake of bigger NES games. even more interesting is if they could somehow make it a ROM instead of... whatever type of RAM this is, but i feel like that'd cause more problems lol
Probably not. Since the N64 is a cartridge based system they just put the save data on the cartridge using an SRAM system or an early flash memory storage. Heck, even the DD add-on could write data to the disks making it less necessary for larger memory paks.
Makes me wonder. Since the ROM has an iNES header on it, does that mean the original ROM Nintendo used was potentially nabbed from a rom site? They went through the effort to make their own nesinfo header, so I don't understand why they'd also include the ines header unless it was just leftover from a rom download
Based on your description, a allocation table is diffrent from a inode table as it stores what blocks are used for what instead of where a file is. Apart from some stuff like that and gramatical errors this is a great video.
Haven’t watched yet because I’m at work, but I have many n64 memory paks and all authentic dnm hardware so If a utility is made to create one of these I’ll be doing one of my own with it asap !
For future reference, never use Project64 for testing. Heck, don't use it period. It's a super outdated, very very incompatible emulator. It's bad for development purposes, it's bad for gaming purposes. There's a good reason most of the N64 development and emulation communities have completely moved on from it, and it's not just that forced e-begging pop-up they had. The issues with the analog stick emulation alone should be enough to turn anyone away from it....
I used PJ64 since I had it previously set up with proper saves and cheats from a long time ago, but yea I’ve found Ares to be a lot more efficient and accurate.
Honestly it's always really cool being able to make items that were going use on a console but never made\used (sorry if this doesn't make sense too tired to make words) On a side note now that its possible to do this there going to be a lot of fake ice climbers packs being sold online claiming to be the "official" one
This is really interesting to know and learn about the uses of the controller pack. Sometimes I wonder if this (the controller pack) would have been a better alternative to Rareware for the failed Stop 'N Swop feature on the Banjo-Kazooie games?, in the aspect of transfer or detect the save data from one game to another.
i'm surprised you didn't print a custom label, it looks pretty easy to replicate and it's not hard to find sticker paper that'll work in an ordinary printer or maybe you did and i just didn't catch it lol
“The Nintendo 64 is extremely well understood” and somehow there are no good emulators and it’s gotten so bad that we need an alternative to them (recomps).
That was a great video. I am curious if you could use the larger sized memory cards and play larger roms or if it is expecting just the 32KB of the base card. I remember having a larger one that offered I think 4x the size as a kid that I would plug into my rumble pack so I could have rumble and save at the same time lol.
You mentioned that some memory cards can go up to 256 KB. Why not try using one of those? Even if Nintendo never made one, there must be some 3rd party units to try with.
256 kiloBITS not bytes. 256K = 32KB. Only one size was ever distributed, and they advertised it as 256K. However, in more standard memory terms today, it is 32 kilobytes.
Zoinkitty did the N64 translation and as far as I'm aware they've marked it as complete. My translation was for the GC game Doubutsu no Mori e+. It's not being worked on at the moment however after decomp is finished it might be revived.