Great! Thank you.The source code to my project will be released in the future.
Great! Thank you.The source code to my project will be released in the future.
Aw. Thing is, on my old 3DS, it only ever gets slow when the sounds get more complex, so the exact same parts of music, or the same sounds, cause lag. Really hoping a solution gets found for this. Old 3DS should be able to play Mario 64 well.From my testing it currently only got worse. Seemingly because of the overhead the 3dses operating system introduces when sending commands to the dsp. I also tested without handling sound mixing at all and it was still slow at o3ds speed. So I guess it is not the (only) problem.
From what I tested, at least with my port, for example in bob-bomb battlefield, it's never full speed at o3ds speed. Even without sound mixing on.Aw. Thing is, on my old 3DS, it only ever gets slow when the sounds get more complex, so the exact same parts of music, or the same sounds, cause lag. Really hoping a solution gets found for this. Old 3DS should be able to play Mario 64 well.
From what I gather the leaks recently are incomplete source code and therefore could not be used to create a working game. Although assets from the leaks have been imported into final games (which has been done in recent Youtube videos of deleted Mario 64 levels and Luigi models) there isn't enough runnable code of any of the games to make a compilable build entirely from the leaks. All Mario 64 ports, such as this one, are based on the decompilation which was the outcome of years of work, not the leaks which are too incomplete.Can we use the leaks to port Dr. Mario 64?
Gericom said:From my testing it currently only got worse. Seemingly because of the overhead the 3dses operating system introduces when sending commands to the dsp. I also tested without handling sound mixing at all and it was still slow at o3ds speed. So I guess it is not the (only) problem.
So, uh, I've been testing it, pretty good, when is the audio gonna get moved to DSP?
Most of them are incomplete but some of them aren't. Dr Mario 64 is the full source according to 4chan's /vr/ board.From what I gather the leaks recently are incomplete source code and therefore could not be used to create a working game. Although assets from the leaks have been imported into final games (which has been done in recent Youtube videos of deleted Mario 64 levels and Luigi models) there isn't enough runnable code of any of the games to make a compilable build entirely from the leaks. All Mario 64 ports, such as this one, are based on the decompilation which was the outcome of years of work, not the leaks which are too incomplete.
Even if that wasn't the case, using the leaks would be extremely risky as Nintendo owns full copyright of the code, whereas the code in the Mario 64 decompilation was written entirely by the fanbase which is why Nintendo can't take down the PC port. Decompilation-based projects aren't distributing any copyrighted material such as textures, sound or character models - that comes from the ROM that the person compiling it needs to provide.
Fantastic. The vc version is dark and has a lot of input lag on the wii u. I'm gonna try this out soon.
On my old 3DS (And it's the absolute original 3DS from 2011), I have the port installed via FBI, playing at 400px mode. It runs on full speed (At least, it seems like it) until specific parts of music play, or specific sound effects. Something that makes this easily noticeable is Cool, Cool Mountain's music track. When the music ends up at the 0:51 mark, it ends up lagging.From what I tested, at least with my port, for example in bob-bomb battlefield, it's never full speed at o3ds speed. Even without sound mixing on.
On my old 3DS (And it's the absolute original 3DS from 2011), I have the port installed via FBI, playing at 400px mode. It runs on full speed (At least, it seems like it) until specific parts of music play, or specific sound effects. Something that makes this easily noticeable is Cool, Cool Mountain's music track. When the music ends up at the 0:51 mark, it ends up lagging.
Once it loops right back again like at 1:28 in the above video, the lag disappears until coming back again when reaching the same point of the looping track at 2:15. It's a really weird problem, but it's definitely something to do with the sounds.
I noticed it mainly in the haunted mansion where you need to do a wall jump to get to the attic. The timing is pretty tight and it cost me so many tries to do on the wii u vc. On the 3ds version it seems to be much easier to pull off.For what it's worth, it's really easy to remove the dark filter on a hacked Wii U's N64 VC titles, as described here: https://gbatemp.net/threads/wiiu-vi...re-dark-filter-and-widescreen-support.517158/ input lag though is not something I'm aware of being fixable for the VC, (though honestly I've never noticed any real input lag on N64 VC titles on the Wii U, that isn't to say it isn't there, I just personally never noticed it).
Decided to test that out right now. On my original old 3DS, neither Anti-Aliasing nor 800px mode seem like they do much of a difference, if any. Exact same sounds and parts of music cause lag. Same part of Cool Cool Mountain's music slows down the game too.Is it slower when you use 800px mode and/or antialiasing?
Did you also try bob-bomb battlefield? It's permanently not full speed in my tests with o3ds speed.Decided to test that out right now. On my original old 3DS, neither Anti-Aliasing nor 800px mode seem like they do much of a difference. Exact same sounds and parts of music cause lag. 800px mode does have slightly worse lag when those specific parts of music, or sounds play, though. Just a slight difference. Same part of Cool Cool Mountain's music slows down the game too. Can't notice a difference for anti-aliasing.
One sound that consistently causes lag is when you slide down the mountain on Cool Cool Mountain, and see the first line of coins and grab them all. It lags a tiny bit heavier on 800px mode, but not a significant difference. Seeing as it lags as the music hits specific parts, without doing anything at all, is a sign the sound is to blame. When it loops, and those specific points of the track play again, it will lag the exact same way. When someone reports that big enemies cause lag, that's most likely because of the boss music that kicks in.
Cool Cool Mountain's music track should have some clues as to what causes this slowdown, since it plays at full speed, then slows down towards the end of it, then plays at full speed when it loops back at the start again.
Yep. Bob-omb Battlefield does play at full speed for the most part. Here's a video I recorded to show you where some of the problems are, and it's all on sound.Did you also try bob-bomb battlefield? It's permanently not full speed in my tests with o3ds speed.
Edit: Either way I could still try to continue the dsp stuff, but I need to revert some things to how they were handled in the original game. The dsp is basically the rsp for the audio stuff and to prevent operating system overhead I would have to send a whole buffer (or rather a pointer to it) of commands to the dsp at once, just like would happen with the rsp on n64.
Someone is already working on a multi-player coop implementation.Fantastic work on this, Gericom. 800px + 64DS Mario looks crisp, game runs beautifully on N3DSXL, I may restart SM64 all over again on this.
Just out of curiosity, what are the upper and lower limits of hardware use based on the version? We're probably a long way from seeing any form of multiplayer on the SM64 ports, let alone 2-player co-op wirelessly between 3DSes, but it'd be interesting to know if there's any headroom left for a network stack to be implemented, even if it means 400px no AA no HD models, N3DS only or what have you.
Developer of the Wii U port here. It is worth mentioning that the port is still WIP. While the audio and controls work perfectly fine, the renderer is still entering its early stages. (Nothing will render at the time of writing this post)
The ELF needs to be stripped (using strip from devKitPPC) and converted to an RPX (using elf2rpl from wut) first to prevent this issue.I have tried the WiiU port and it throws a lack of memory error. The elf file is quite massive compared to the 3DS binary