Hey I was wondering if you knew of any sites that provide info about inner workings of n64 games like Ocarina of time or Rare games like Goldeneye? I have always wanted to learn more about these titles but I have not heard of any attempts to reverse engineer them.
Yes! :) There's a great book called the Nintendo 64 Anthology that is a fantastic read to get in-depth history of the console. It also dives into how Rare created Golden Eye and some good info about Silicon Graphic's hardware development at the time.
If you have any interest whatsoever in goldeneye I recommend watching some videos from the youtube series "speedlore". It's a guy who has been speedrunning GoldenEye for 20 years (together with their community).
Due to the nature of speedrunning, there is a looooot of details about the game they've investigated and he goes through loads of examples throughout his videos. They definitely reverse engineer the games to figure out how they work so they can do more tricks etc.
I've tried but it doesn't seem possible. Wine and even DOS Box can't run the 16 bit SDK executables. I'd love to be able to run just the ROM build process in Wine. :)
Because the 16 bit executables are closed source. :/ The special linker MILD.exe that organizes all of the RSP(Reality Signal Processor) microcodes and game data is the piece that needs to be reverse-engineered which is possible but currently beyond me. :)
Aww thanks much! :D Yeah I just lack confidence I guess since reversing binaries has always seemed a bit intense. I need to finally buy a really good code reversal tool and then start my quest to reproduce! :) It would be great if me or someone else was successful since then the N64 could be more easily developed for on any OS!!
You probably don't even need to reverse anything. Just learn how other (open source) toolchains work, read N64 manuals and information from other reverse engineers, and work incrementally. It's probably not necessary to reverse this proprietary ROM you're stuck with.
I'm using the 64drive cart from http://64drive.retroactive.be/. I've owned both generations and they're very easy to develop with. There's a USB port on the side of the N64 cart that lets you load ROMs very easily to test rapidly.
I like the concept behind this. How may I ask would you go about getting this onto the actual system, or is it just something to throw into Project64 or similar emulator?
It's really easy actually to load on an emulator or on real hardware. The build process I'm working on now creates a production ready ROM that can be placed on an EverDrive 64 or 64 Drive cart. I always test on real hardware when developing the engine for the N64 part of the system. :)
Cool beans. This looks pretty exciting to me; it may not be the fanciest JS framework, but this is a genuinely fun, different project. I'll be watching this project for sure.
Aww thanks so much! Glad you like it! :D Yeah this is definitely not useful haha but I'm learning more about 3d mathematics, rendering techniques, low-level systems, constructing tools, etc...
What's hard about a VM? You can download an entire VM complete with OS and all relevant dev tools and have zero leakage of viruses or workspaces into your normal client. It's a great way to encapsulate your development for a specific task.
I use a Win10 VM in my Win7 machine for almost all of my dev work. It stays on an SSD and completely keeps all that outlook, Microsoft SQL, Visual Studio, IIS, NAV, CRM crap from destroying what is normally a fast machine for gaming. I also host it on a separate IP so I can RDP into it from my crappy work laptop (which becomes nothing more than a thin client) and have remote access (from say my phone wireless hotspot if wifi is unavailable) and I've got all my work stuff exactly as I left the house.
Recently, I put together a XP VM with Visual Studio 2003, 2005, and 2008 for supporting and upgrading an old .NET 1.1 project for a client. There's no way I was going to try and get that crap running on my 64-bit computer.
Last thing I want is FL Studio (and all my related audio tools), Photoshop (and all related graphics tools), and Visual Studio (across over a decade of versions) all on the same machine destroying each other. You can't even get multiple versions of Java to run on the same machine these days.. Ugh.
Haha yeah I don't expect many people to actually setup a VM to use this but it's a big learning project for me! :) My end goal is to create a new game for the N64 but I need tools. So this project is really for me and anyone else who wants construct new content for the system as well!
I keep around old hardware, running old OSes, that occasionally sees use with things like this. Wine (on a Linux system) might be an option too.
Someone earlier in the thread posted some short videos of the interface in operation that the developer had posted to their Twitter, if you're just interested in seeing examples of what it does: https://twitter.com/_deadcast/status/907485256827023360
https://twitter.com/_deadcast/status/907485256827023360