Homebrew Question Any progress made on NGC N64 emulators from Mario 3D All Stars?

HideoKojima

Well-Known Member
OP
Member
Joined
Jan 17, 2018
Messages
1,107
Trophies
0
Age
27
XP
2,221
Country
United States
I wonder if any progress was made regarding both. For now I'm mainly interested in replaying Paper Mario 64 with HD graphics pack on the switch.
 
  • Like
Reactions: Fadi5555

wsh1994

Active Member
Newcomer
Joined
Feb 12, 2015
Messages
37
Trophies
0
Age
29
Location
Ede
XP
638
Country
Netherlands
Would be nice but don't expect too much for now. Nintendo knows very well that their software is being datamined and that whatever they release should be as airtight as possible. I'm pretty sure they saw this wish coming from the day they decided to go for emulation and put in palce quite a lot of counter measures
 
  • Like
Reactions: HideoKojima

djcraze

Well-Known Member
Member
Joined
Jun 19, 2008
Messages
159
Trophies
1
XP
408
Country
United States
The GameCube emulator only emulates the GameCube’s CPU and graphics pipeline. The actual games are recompiled to aarch64. It appears that Nintendo used some kind of automated tool to translate the game’s PPC assembly to aarch64 instead of recompiling from source. This means you can’t just drop in a ROM and bypass some kind of checks and balances. The ROM has to have a aarch64 counterpart in order to work. I believe the memory structure of the ROM is still maintained, so the aarch64 bit is really only for the CPU instructions.


It’s also likely that the emulator was only created to work with Sunshine and may not have full GameCube emulation, and instead it emulates everything that Sunshine uses.


It would be wiser to spend the time on Dolphin to get games to run smoothly rather than work on getting Hagi to work. But that’s my 2¢.
 

m4xw

Ancient Deity
Developer
Joined
May 25, 2018
Messages
2,442
Trophies
1
Age
119
XP
6,958
Country
Germany
The GameCube emulator only emulates the GameCube’s CPU and graphics pipeline. The actual games are recompiled to aarch64. It appears that Nintendo used some kind of automated tool to translate the game’s PPC assembly to aarch64 instead of recompiling from source. This means you can’t just drop in a ROM and bypass some kind of checks and balances. The ROM has to have a aarch64 counterpart in order to work. I believe the memory structure of the ROM is still maintained, so the aarch64 bit is really only for the CPU instructions.


It’s also likely that the emulator was only created to work with Sunshine and may not have full GameCube emulation, and instead it emulates everything that Sunshine uses.


It would be wiser to spend the time on Dolphin to get games to run smoothly rather than work on getting Hagi to work. But that’s my 2¢.
.data is still taken from the dol, the AOT recompiled code only has .text and resolved constants.
Func layouts change since it has some basic heurs like inlining funcs <= 48 opcodes etc.
Also your first sentence is just weird to say, it "actively" emulates the GPU and DSP, CPU emulation is achieved by remapping registers to their counterpart in the context structure, (this ends up purely in aarch64) in the llvm IR optimization pass and emitting that as code -> another compiler optimization pass
Yields on back branches, interrupts, etc..
Honestly probably easier to make that work than optimizing dolphin to run on 1020mhz... both are huge undertakings and months to years of work

--------------------- MERGED ---------------------------

It’s also likely that the emulator was only created to work with Sunshine
Also huge bs, the emu couldnt be farther away from being only created for sunshine.
Its tons of state-of-the-art stuff and should run almost all of the library.
I also found leftovers of a interpreter which isnt compiled in etc. (and would absolutely suck anyway :P, use-case are games with self modifying code I guess tho)
As far I can tell it targets the whole fucking library, also for the use case where source code isnt available and compat should be great.
 
Last edited by m4xw,

Nero075

New Member
Newbie
Joined
Sep 23, 2020
Messages
2
Trophies
0
Age
32
XP
37
Country
United States
Probably a stupid question, but if hagi roms are recompiled, why does the rom file for sunshine extracted from 3das work in dolphin?
 

m4xw

Ancient Deity
Developer
Joined
May 25, 2018
Messages
2,442
Trophies
1
Age
119
XP
6,958
Country
Germany
Probably a stupid question, but if hagi roms are recompiled, why does the rom file for sunshine extracted from 3das work in dolphin?
Because its a normal rom, but not a single line of code in the dol is executed.
Its the matching copy to the recompiled version (which is not part of the gcm) where every single global data access is referenced to.
 
  • Like
Reactions: Nero075

Nero075

New Member
Newbie
Joined
Sep 23, 2020
Messages
2
Trophies
0
Age
32
XP
37
Country
United States
So the original dol section is there as well as a recompiled version of that? Interesting. Sounds like they're being clever doing compatibility/performance and anti-hacking stuff in one go.

Btw thanks for the patience answering a noobs questions.
 

djcraze

Well-Known Member
Member
Joined
Jun 19, 2008
Messages
159
Trophies
1
XP
408
Country
United States
Also huge bs, the emu couldnt be farther away from being only created for sunshine.

My fault, I wasn't clear in what I meant. I meant that this version of Hagi is likely a happy-path implementation to get Sunshine working. My thought is that as more and more games are ported, it will have full compatibility. I'm mostly basing this off of the fact that I found a couple of instances in the executable that throw an error due to lack of support, or log messages saying that something was executed and may not work. But reverse engineering isn't my day job, so I'm talking out of my ass mostly.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    They would have the same hair style the same clothes everything... Really messed with my head lol
  • Psionic Roshambo @ Psionic Roshambo:
    @The Real Jdbye, I could see AMD trying to pull off the CPU GPU tandem thing, would be a way to maybe close the gap a bit with Nvidia. Plus it would kinda put Nvidia at a future disadvantage since Nvidia can't make X86/64 CPUs? Intel and AMD licensing issues... I wonder how much that has held back innovation.
  • The Real Jdbye @ The Real Jdbye:
    i don't think nvidia wants to get in the x64 cpu market anyways
  • The Real Jdbye @ The Real Jdbye:
    you've seen how much intel is struggling getting into the gpu market
  • The Real Jdbye @ The Real Jdbye:
    and nvidia is already doing ARM
  • The Real Jdbye @ The Real Jdbye:
    i don't think they want to take more focus away from their gpus
  • Psionic Roshambo @ Psionic Roshambo:
    Yeah I think Nvidia s future lays in AI GPU acceleration stuff if they can get that going it's going to be super interesting in the long term
  • Psionic Roshambo @ Psionic Roshambo:
    AI assisted game creation might become a thing
  • Psionic Roshambo @ Psionic Roshambo:
    At least that's something I think would be pretty cool.
  • Psionic Roshambo @ Psionic Roshambo:
    Don some VR glasses and gloves and talk to the computer and paint entire worlds
  • Psionic Roshambo @ Psionic Roshambo:
    "OK Cortana I want that mountain a little taller and more snow on top, and I would like some random ancient pine forest around the bottom"
  • Psionic Roshambo @ Psionic Roshambo:
    "Now we need a spring fed river flowing down the north side and add some wild life appropriate for the biome"
  • Psionic Roshambo @ Psionic Roshambo:
    Many TBs of assets and the programming of something like that is going to be tough but I think it's something we might see in 20 years maybe sooner
  • The Real Jdbye @ The Real Jdbye:
    @Psionic Roshambo AI assisted game creation is kinda already here, there was recently that AI that can turn any 2D image into a fully modeled 3D object, it's not perfect, but it's a starting point, beats starting from zero
    +1
  • The Real Jdbye @ The Real Jdbye:
    before that there was one to generate a fully modeled scene from a 2D image
    +1
  • The Real Jdbye @ The Real Jdbye:
    but most recently, there was one that actually generates a working unity scene with terrain and textures already set up that you can import right into unity, that's a huge time saver right there
    +1
  • The Real Jdbye @ The Real Jdbye:
    and using LLMs to generate NPC dialogue and even dynamically generated quests is something i'm sure is already happening
    +1
  • The Real Jdbye @ The Real Jdbye:
    will just take some time for games made using those things to be completed and released
    +1
  • K3Nv2 @ K3Nv2:
    @The Real Jdbye, it's bed bath and beyond you nitwit
  • The Real Jdbye @ The Real Jdbye:
    @K3Nv2 you said instructions with pictures, same difference
  • Psionic Roshambo @ Psionic Roshambo:
    Lol now with 32GBs of VRAM Ken?
  • K3Nv2 @ K3Nv2:
    No IKEA shit breaks within a month bed bath and beyond goes beyond
  • K3Nv2 @ K3Nv2:
    Plus pictures don't always cut it with furniture when there's like 10 different bolt styles and they're just like figure it out
    K3Nv2 @ K3Nv2: Plus pictures don't always cut it with furniture when there's like 10 different bolt styles and...