4 ms·
If anyone is interested in new projects for N64 hardware, Kaze Emanuar has an amazing series about optimizing Super Mario 64 to run incredibly complex romhacks
by rdlw 3y ago
If anyone is interested in new projects for N64 hardware, Kaze Emanuar has an amazing series about optimizing Super Mario 64 to run incredibly complex romhacks on original hardware.
Interestingly, SM64 is usually throttled by memory speed. This means that using 'inline' is detrimental to performance, since making the program larger can cause another read from memory.
Here's an overview video, he has many more specific videos about specific topics:
https://youtu.be/t_rzYnXEQlE?si=6yNnsTxOr7M5v4ub https://youtu.be/t_rzYnXEQlE?si=6yNnsTxOr7M5v4ub
- kibwen 3y ago> new projects for N64 hardware There's an entire community doing N64 homebrew: https://n64brew.dev/wiki/Main_Page https://n64brew.dev/wiki/Main_Page , including a faction who are working on a Rust SDK (basic demo: https://youtu.be/XmlmvRrRFqs https://youtu.be/XmlmvRrRFqs).
- rdlw 3y agoI know a lot less about the homebrew community but it's also very cool! Do you know of a big project that would be an interesting entry point for getting into the community?
- kibwen 3y agoAFAIK most homebrew games tend to be the product of lone developers, rather than large collaborative efforts. I could be wrong though; there's a Discord linked on the wiki that you could ask in for ideas.
- phoboslab 3y agoRomhacks are typically modifying the compiled binary ROM image. Kaze' work is based on the painstakingly disassembled code from the n64decomp project[1]. He's working in C, modifying the game and compiling it again for the original hardware. Not sure I'd call that a "romhack". Great videos though! [1] https://github.com/n64decomp/sm64 https://github.com/n64decomp/sm64
- fb03 3y agoAlthough you're semantically correct, I do want to point out that the final game/mod will probably be distributed as a patch against the original rom - that's quite romhack-y if you ask me ;-)
- rdlw 3y agoFrom a player's perspective, I do think they tend to be called romhacks if they are based on an existing game, although I agree that's selling the project short as it's based on the decompiled source with heavy changes made. It's sort of been a smooth transition from literal ROM hacks, to hacks with custom assembly, to hacks that are compiled from source, but the name has stuck.
- deleted 3y ago[deleted]
- nubinetwork 3y agoDevelopers for Nintendo consoles have been using C the whole time, even moreso after the SNES. I can't imagine how long it would take to make a N64 game if I had to do it all in assembly.
- rdlw 3y agoA decompilation of Super Mario 64 was only completed a few years ago; before that romhackers were indeed using assembly. The homebrew scene makes fully original games from scratch in C, but romhacks are alterations of existing games (although decomp blurs the lines between the two communities).
- epcoa 3y agoI highly doubt there was a readily available C compiler for the 6502 in the 1980s. In any case the idea that developers were widely using C pre N64 is bull. Even in the SNES era it was the minority.
- nubinetwork 3y agoI believe Hudson had a C compiler back then... if not, go check out a hexdump of some Koei games (Nobunaga's Ambition 2 comes to mind), you'll see text strings with the %s token... pretty sure those would only come from C.
- modeless 3y agoI love what he did, but it seems like his recent stuff is only running his romhack. Did he ever make a build of the original Mario 64 with all his peformance fixes, so the original game content can run at 60 FPS on a real N64?
- worewood 3y agoNo, and he made a video about it. Basically he worked on the optimizations together with his modifications. He should've done a separate branch on the codebase with only optimizations on the original code
- Rarebox 3y agoHe says he'll port his performance optimizations to the original game once he's done with his game / romhack. Otherwise he'd have to always update two codebases when he finds a new optimization.