Here's a thread that I will constantly update about my findings about the N64 emulator in Super Mario 3D All-Stars.
It seems that for the RAM size, it supports 4 MB (regular), 8 MB (Expansion Pak) and 16 MB.
It has two ways even, you can set that for RAMSize but also RAMSizeInGame settings. I assume it's to lie about the amount to the game when useful.
I've said it before, but for the sake of the thread:
This N64 emulator has not working 64DD emulation code from the Wii U VC version. It's identical, even, left as is.
However, because of the new configuration file format, you can't really make use of it anymore.
I will also link to another thread where it is mentioned how game patching works and textures:
But here's some additional info about the Lua scripting system in place, there's a few predefined functions with their intended use easily understandable:
- HookFunc_AfterInst()
- HookFunc_BeforeInst()
- GameBegin()
- FrameBegin()
- RomPatch()
RomPatch() seems to be called very early on in the loading process. It patches the game.
In fact it is even made obvious: it removes the Stereo/Mono option from the File Select menu and moves the other buttons around.
FrameBegin() is there, but pretty much unused.
I assume this is called every frame to do whatever.
GameBegin() is called when the game is about to be emulated. In this case it initializes the game text hack and load the appropriate files according to selected language.
HookFunc_AfterInst() is called when a specified instruction in the config file is executed, and HookFunc_BeforeInst() is called before the specified instruction is executed.
The problem is that you have to type again and check which instruction is executed.
You may notice that another function is called within those instruction hacks, those are native functions included with the emulator. It's possible to find them all since all of them have to be binded somewhere.
So these game hacks are pretty much done with native code mostly.
Emulator seems to support Controller Pak, Rumble Pak (duh) and N64 Transfer Pak (seems to be not quite working?).
By the way, the reason why Super Mario 3D All-Stars didn't work properly when pirated: the custom firmware didn't support jit-sysmodule properly because literally nothing used it until now.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
If you wonder about the color filter in GBA NSO, here's the game with the filter, and then without the filter.
Also with the LCD filter in the same order
The RAW color info given inside the hardware may not necessarily be what appears on the original GBA screens. And that's kind of important to take into account.
The color filter (which seems to be a combination of both gamma and saturation stuff) is very honestly... a good thing.
It didn't bother me to explain emulation accuracy that way:
Accuracy gets important when you get to put games and the only GBA hacks I could see are more about anti-epilepsy, removing sleep mode, it's more about the features and things can still work as intended regardless.
As for the N64 emulator the hacks are 70% more about accounting how bad the N64 emulator is and fixing the issues per game. That's how sad the N64 emulator is.
If you have enough accuracy you don't have to do this in the slightest or a very very minimal amount.
That said still fuck you Nintendo for not providing a way to do control remapping on at least N64, the rest I can manage fine but god the N64 PLEASE. Also let me set the stick sensitivity; it makes Goldeneye unplayable to me.
I don't wanna buy the expensive N64 controller, I am still convinced every game can work just fine on a Pro Controller.
It desperately needs customizable per game control mapping configuration. I know Nintendo loves simple UI, but here the controls actively hinders the experience to me.
After messing around with GB NSO, I came to this conclusion:
All games are running on GBC mode including regular GB games. The screen filters are actually different rendering modes where it deliberately ignores the GBC color information. It does not emulate an original GB at all.
I still think this is pretty smart though, as it does ensure full save state compatibility regardless of your settings.
This is why you cannot play Link's Awakening DX in regular GB mode even though it does support it, it's because it emulates the GBC and therefore it does make use of it. The filter would be likely broken if you forced it.
The GBA Switch Online passes the AGS Test Suite with flying colors. Not a lot of GBA emulators actually do this.
I tried the mGBA Test Suite where it definitely fails a bunch but still passes a majority of tests.
By the way you don't need to pass all the tests to make games playable, as I said, most emulators don't actually pass this.
Also I see people with snarky comments all the time, yes I know you guys can just play emulators however you want on your phone, brag all you want, you're still showing off as an asshole either way.
I too emulate shit on my PC and stuff, I do this all the time.
Seriously literally everyone behind Metaverse bullshit are just people who are stuck in the future of the past which, by the way, is SHIT lol
If I want to go shopping with a shopping cart, I'll do it in a real place that does this just because the point is that everything I take will be instantly mine as soon as I pay for them... now in this concept that won't even be the case