[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/vr/ - Retro Games


View post   

File: 59 KB, 625x352, n64_05-625x352.jpg [View same] [iqdb] [saucenao] [google]
5374271 No.5374271 [Reply] [Original]

Why can't an N64 emulator on a nice comfy handheld from the 3rd market producers create one that runs at a good stable speed? why is the N64 so fucking impossible to emulate well?

>> No.5374276

>>5374271
Nvidia Shield is what you want

>> No.5374278

I swear we have this thread every other week, besides it's not like explaining the intricacies of the silicon graphics yaddayadda station they used is going to make emulators run any better.
In short, the only games that still have problems run custom undocumented microcodes.

>> No.5374302

>>5374278
Like what?

>>5374276
How good does it run them? i'm thinking of maybe just picking up a Switch because I seen footage of diddy kong racing being emulated really well so i'm hoping that will translate to other rare titles that seem to have issues.

>> No.5374306

>>5374278
>the only games that still have problems run custom undocumented microcodes
That’s not the only problem with HLE though. The microcodes are just the vertex processing side of things. There’s also the matter of how N64’s pixel processing is completely non-standard compared to PC cards.

>> No.5374307

>>5374306
>none standard

what does that mean? isn't there just a way to reverse engineer it eas easily as other emulators?

>> No.5374323

>>5374307
N64’s pixel pipeline is the most complicated non-standard one of any console. Older consoles like PS1 don’t have complicated pixel processing while newer consoles like Dreamcast have at least some compliance with PC cards. The N64 is basically in the terrible middle between the two.

>> No.5374336

>>5374323
well most games it runs pretty well. On PC specifically but why does it take 10 years just to get oot working on the PSP?

Somewhat off topic but another thing I noticed is how badly GBA games run on the vita compared to the 3DS. I have a lot of custom VC games that you can't get on the e-shop and they run smooth as butter but golden sun fire emblem etc, have really bad slowdown on the PS vita.

>> No.5374339

Specifically, goemon on the N64 runs like shit for me on an emulator.

>> No.5374347

The Saturn is also a terrible headache to emulate due to its nonstandard rectangular polys.

>> No.5374350

>>5374336
Well the 3DS technically has GBA hardware inside of it

>> No.5374362

>>5374350
shit really? I thought that stuff was all software emulation. But why would none native VC games work well? don't they have to optomize every game released on the e shop?

>> No.5374496

>>5374271
>why is the N64 so fucking impossible to emulate well?

Scant documentation, the machine being more complex than the games make it appear as, and people only care about emulating Mario, Zelda, Pokémon, and Goldeneye.

>> No.5374514

>>5374362
I don't recall how exactly it's set up but the 3DS has multiple ARM processors and one of them can switch into a compatibility mode to run GBA ROMs. (The GBA also used an ARM CPU. So does the Switch, by the way.)
I don't remember if the New 3DS is capable of doing this, but I think some features of the DS required it, and it can still run DS games.

>> No.5374535

>>5374496
>Scant documentation
Only the custom microcodes are scantly documented. But that's not the only issue as noted up above.

>> No.5374683

>>5374271
I often fantasise about writing a faithful, 1:1 N64 emulator. As in, BSNES tier.

Surely it wouldn't be that hard to implement RDP in shader logic.

>> No.5374690

>>5374683
*CPU suddenly writes into the framebuffer without any warning*
What now?

>> No.5374698

>>5374690
>*CPU suddenly writes into the framebuffer without any warning*


Well, the N64 CPU runs at 93.95 MHz, and the GPU runs at 62.5 MHz, so I am assuming on a modern system there would be plenty of time to fake this.

So the host CPU is emulating the N64 CPU and the host GPU is emulating the N64 GPU... so the emulator can setup a fake framebuffer in system RAM for the emulated CPU to write to, and the emulator can transfer this to the host GPU presumably in time for the emulated GPU to think that the the emulated CPU had actually written to its framebuffer for real.

If I am drastically wrong about this, please let me know so I can kill my fantasy.

>> No.5374702

>>5374698
Just for clarification, I wasn't thinking of emulating "higher level" operations on the GPU, such as vertex shading. I mean, I wouldn't translate a RDP "draw triangle" to a "draw triangle" in modern shader language.

What I would do is implement every RDP command using "logic" shaders. This should give enough throughput to emulate the N64 1:1 at 100% speed.

>> No.5374851

>>5374698
>If I am drastically wrong about this, please let me know so I can kill my fantasy.
> hur hur I just solved cold fusion even though I'm 15 years old prove me wrong.
Of course you're wrong, how could you not be? Hundreds or thousands of talented people with degrees in computer engineering/similar have failed to make a good N64 emulator, even Nintendo's own emulator that probably cost a million dollars had a lot of flaws. There is likely no possible solution in this world or the next that has a N64 emulator running 1:1 on today's hardware.

>> No.5374869

>>5374698
>>5374702
One of the biggest N64 issues is one of synchronization. Sure you could have the two different framebuffers, but how do you ensure proper timing between the two?

>> No.5374870

>>5374702
Great, just what we need...another shitty HLE attempt at N64 emulation

>> No.5374873

>>5374869
synchronization of frame buffers for data transfer through a single output includes the steps of generating a first clock signal and a second clock signal in a master frame buffer, sending the first and second clock signals to a slave frame buffer and delaying the second clock signal to be in phase with a third clock signal generated by the graphics controller such that no data is lost when transferring data from the master and slave frame buffers.

>> No.5374905

>>5374873
bro what are you talking about? You sound like you're just pasting something from an article or book, get a life.

>> No.5375107

>>5374347
>The Saturn is also a terrible headache to emulate due to its nonstandard rectangular polys.
Thats why i bought one. Happy me.

>> No.5375125

>>5374851
What's up your ass?

>> No.5375165

>>5374347
i thought it was a headache because it has 50 processors that need to be kept in sync at all times

>> No.5375181

>>5374514
The old 3DS can't run SNES games as well but the new models can. Makes me wonder why.

>> No.5375184

>>5375181
Because it has a more powerful CPU

>> No.5375185

https://m64p.github.io/

Literally the perfect N64 emulator was made.

>> No.5375189

>>5375184

But how can the original 3DS not run them better? the 3DS is more powerful than the snes right?

>> No.5375190

>>5374271
Wouldn't Goldeneye be impossible to play on a portable device with the cartridge due to the shake glitch?

>> No.5375202

>>5375189
>the 3DS is more powerful than the snes right?
That doesn't buy you anything unless both CPUs share an instruction set. If they differ, you have to emulate. The DS and 3DS don't have to emulate the GBA CPU because they run the same native code.

>> No.5375228

>>5375202
I thought they said they had to do some odd technology magic to get those 10 GBA games to run on the 3ds when they did that apology promotion, which was why they weren't putting other GBA games on 3ds.

Not that I really bought that exactly, I figured they just wanted more people to buy wiius

>> No.5375242

>>5375228
That was indeed bullshit, you can inject basically anything GBA in their place and even the old 3DS will play it perfectly.

>> No.5375274

>>5375242
Is that why PS1 games tend to run best on PSP/vita outside of PS1 of course?

>> No.5375278

>>5374514
Every nintendo handheld before switch has hardware back compat with previous systems. Meaning the 3DS has a DS inside it, which has a GBA inside it, which has a GBC inside it, which has a GB inside it. The N3DS can do it but you'd need hax unless you did a system transfer from an ambassador 3DS system

>> No.5375279

>>5375228
The old 3DS only had two ARM cores. They set up the simulator to run the game on one core, and a limited supervisor on the other, to provide save states and that kind of thing. Each of these took over the entire core without preemption, so there was no way to run network services or any of that stuff in the background. I don't know why they did it that way but they claimed this was a technical limitation and blamed it for not selling GBA VC games to the general public.
This IS bullshit, for a few reasons. First, nobody gives a shit about the network features. Second, CFW hackers have been able to work around the "no preemption" problem. Third, the new 3DS has more ARM cores so it shouldn't fucking matter. I guess they just don't feel like fixing it.

>> No.5375285

>>5375278
>Meaning the 3DS has a DS inside it, which has a GBA inside it, which has a GBC inside it, which has a GB inside it.
Not quite. The 3DS gets backwards compatibility with the DS and GBA "for free" because they all share the same processor family. Same deal with the GBC and classic GB. The GBA only supports GBC/GB games because it has an entire GBC in it with a separate physical processor. Originally they planned to do this with the DS, but dropped the extra processor during development to keep costs down. On the 3DS it's no big deal because the new processor is fast and GBC emulation is easy enough.

>> No.5375293

>>5375228
>Nintendo tries to write a software based GBA emulator
>It's shit, slow and unstable
>say fuck it and devise a way to boot into GBA's hardware like an original DS since that will work flawlessly

>> No.5375296

>>5375285

How accurate is emulation with the GB family on the 3DS?

>> No.5375304

>>5375296
Terrible. The pixels aren't green.

>> No.5375310

>>5375285
Are you sure? I thought the Z80 was located inside the ARM CPU and some of the games needed it

>> No.5375326

>>5375310
The DS did not have a Z80 core, but apparently it had a GBC-compatible sound chip, since some GBA games did need that.
https://retrocomputing.stackexchange.com/questions/7587/role-of-the-z80-co-processor-in-gba-games

>> No.5375361

>>5374271
is this a gore thread?

>> No.5375842

>>5375304
>if you hold L + R and then Y, the screen will go to green retro mode
Also
>If you hold start + Select while booting up the game will load in its original resolution with a Game Boy border, to make it look like it's playing on an original Game Boy. If you turn up the 3D while in this mode the screen slides just a tad back, just like it was a proper Game Boy

>> No.5375857

>>5375842
It isn’t an accurate DMG palette. Also, GB/GBC emulation on the VC is quite lacking. Especially in the sound department.

Use the Gambatte RA core if you want decent Game Boy emulation on the 3DS.

>> No.5375867

>>5375842
the retro mode thing didn't work but the game boy border did.

>> No.5375981

>>5374702
>Just for clarification, I wasn't thinking of emulating "higher level" operations on the GPU
>>5374870
>Great, just what we need...another shitty HLE attempt at N64 emulation
Reading comprehension, do you have it?

>>5374873
>synchronization of frame buffers for data transfer through a single output includes the steps of ...
Exactly. A modern system should be fast enough to handle this.

>>5374851
>Of course you're wrong, how could you not be? Hundreds or thousands of talented people with degrees in computer engineering/similar have failed to make a good N64 emulator
I hardly think 100s of thousands have seriously tried this. Probably less than a 100 have tried this and how many of those were actually serious? Nintendo's attempt not being perfect can be explained in that their objective was to port specific games to the virtual console, therefore it wasn't worth the time/cost to create a 1:1 emulator. Further to that, most of the N64 emulation effort has centered around HLE. I see there have been a couple of attempts at low level emulation but it's not the main push.

>> No.5376075

>>5375981
So why do some games run really well like Mario 64 zelda etc, but rare games and Mystical Goemon starring Goemon can have stuttering or graphic issues?

>> No.5376179

>>5376075
Because emulator developers focus on specific popular games.

Actually, I hear m64p (and presumably anything that uses the GlideN64 graphics plugin) can handle Goemon fine.

>> No.5376189

>>5376179
m64p? never heard of this, huh. Is it better than project64?

>> No.5376219

>>5376189
>m64p? never heard of this, huh. Is it better than project64?

The link is posted up thread.

m64p uses mupen64plus with GlideN64.

You can also use GlideN64 with Project64. GlideN64 is what gives the enhanced compatibility.

>> No.5376225

>>5376179
>>5376189
>>5376219
That project looks dead to me. A lot of the links are broken.

>> No.5376253

>>5376225
Hmm, looks like the maintainer of m64p puts the download links on patreon and you need to be a patron.

I don't really know. I don't follow N64 emulators that closesly, I just fantasise about making a 100% accurate one one day.

>> No.5376260

>>5376253
That sucks, used to be free to the public.

>> No.5376268

>>5376179
>>5376219
>>5376253

So I could use the glide64 plugin with pj64 for better compatibility then?

>> No.5376728

>>5375981
I totally agree with you re effort towards n64 emulation.

>>5374851
Those are bad assumptions.

I was looking over the GlideN64 source which afaik is the best HLE graphics plugin atm, and there is heaps of room for improvement. For example
https://github.com/gonetz/GLideN64/blob/2b7f78c9f8ecdaab6bbee8c0cbf4a7f607d1994e/src/Textures.cpp
Base textures could be uploaded to vram early and all this logic could be on the gpu (and caching eliminated entirely). The issue isn't that n64 emulation has hit a ceiling, the issues is not enough talented people care about it, or have the time.

>> No.5376864

>>5376268
Probably. Why not give it a go and let us know how it goes?

>> No.5376871

>>5376268
use the mupen plugin

>> No.5377116

>>5375842
>If you turn up the 3D while in this mode the screen slides just a tad back, just like it was a proper Game Boy
what a time to be alive

>> No.5377227

>>5374302
I was playing Diddy Kong Racing yesterday on retroarch using Mupen 64. I have a vaio laptop from 2013, so this is no Super Computer. I never expected it to run well but my nostalgia bug was itching.

It played extremely well. I used to play the shot out of this game back in the day and I did not notice anything extremely wrong.

Am I missing something?

>> No.5377495

>>5377227
Can you test goemon? here's the result I got when I tried it on an emulator a couple months back:

https://youtu.be/WCUJNKarahE?t=38 notice all of the stuttering. Iv'e tried both a shitty laptop years ago and my PC now and it still stutters like this constantly.

>> No.5377507
File: 55 KB, 841x573, 0e3cbb8230881955a7ec621d36e17191.png [View same] [iqdb] [saucenao] [google]
5377507

>>5376871
>>5377227

Ok i'm confused, I went here: https://github.com/mupen64plus/mupen64plus-core/releases/tag/2.5.9

I just googled so idk if I found the right thing but these are the files inside of it. Is this an emulator or a plugin? how do I apply the plugin? do I put it in PJ64 somehow or what?

>> No.5377548

>>5377507
It says to select the glide64 plugin but I don't see any option to do so in the emulator.

>> No.5377568
File: 30 KB, 767x356, goe.png [View same] [iqdb] [saucenao] [google]
5377568

>>5377548
I got it, I think it runs better now but the audio is still choppy, can anyone suggest a better audio plugin?

>> No.5377683
File: 168 KB, 1274x863, goe2.jpg [View same] [iqdb] [saucenao] [google]
5377683

Fuck...everything was going alright until this shit. Anyone know what it is?

>> No.5379195
File: 434 KB, 2048x2406, 1782f245190ee8e6b59e5579d5e94072.jpg [View same] [iqdb] [saucenao] [google]
5379195

>>5377495
I'll try it out today after work.

>>5377507
I dont use Mupen as a plugin, I just use the retroarch core. I'm not sure how mupen and pj64 interact, either.

>> No.5379213

>>5377507
>>5379195
Just try out every emulator with every video plugin for whatever game you're trying to play and see what works best. No one can tell you the right answer for every N64 game, stupid fuck.

>> No.5379214

>>5377683
set advanced block linking to disabled

>> No.5379313

>>5379213
Hahaha, so this is what it feels like to be insulted by a manbabby.

I'm the guy who got the Diddy Kong Racing game worming, and I will help the other anon test goemon with my settings and see if it is useful for him.

Just lurk, kid.

>> No.5379456

phones arent a thing anymore?

>> No.5379735

>>5379214
Ok, just curious what's that do?

>> No.5379929

>>5375981
>I hardly think 100s of thousands have seriously tried this.
Well try reading what I said you fucking nigger, I said 100s OR 1000s not "of".

>Probably less than a 100 have tried this and how many of those were actually serious?
Totally nonsense. Millions of people wanted to play N64 games through an emulator but of course had no fucking clue how emulation worked. Plenty more tried and gave up. The hundreds OR thousands of people who did try it no doubt had a decent go at it.

So even if only a few 100 have ended up with something tangible and tried hard at it, it's not some random sample of people, it's really talented people.

>Nintendo's attempt not being perfect can be explained in that their objective was to port specific games to the virtual console, therefore it wasn't worth the time/cost to create a 1:1 emulator.
This makes no sense whatsoever. Nintendo had every reason in the world to attempt to make the best emulator they could that they could sell and stand behind. Complete garbage.

>Further to that, most of the N64 emulation effort has centered around HLE. I see there have been a couple of attempts at low level emulation but it's not the main push.
Yeah we know this for decades and noone can get LLE working at good speeds yet you clueless fucking shithead. Stop talking about things you know nothing about.

>> No.5380313

>>5374271
>Why can't an N64 emulator create a better emulator
Are you retarded?

>> No.5380361

>>5374271
same reason why next gen consoles are complicated to emulate

>> No.5380406

>>5374362
>don't they have to optomize every game released on the e shop?

In the case of the GBA, no. The 3DS runs GBA games in a very similar manner it does with DS games (a hardware virtualization mode where almost all the 3DS' processors and processes unneccessary to run the virtural GBA/DS are shut off).

>> No.5380454

>>5379929
>Nintendo had every reason in the world to attempt to make the best emulator they could that they could sell and stand behind.
Not that guy but I call bullshit. The goal of a general emulator is to run arbitrary software on an arbitrary platform. Nintendo was trying to port specific games to a specific platform. They had as much leeway as they pleased to modify these games to make them playable. I'm guessing they still have source code for everything, unlike fucking Squaresoft, so it's conceivable they even recompiled the games to integrate part of their emulation work into the engine itself.

That aside, you seem like you're having a bad few days, anon. Your attitude is bitter and defeatist and you've got it into your head that if you aren't having a good time, nobody else is allowed to, either. Please do us all a favor and go outside, and when you run into random people, just smile and say hi. It will help. I promise.

>> No.5380791

>>5379929
Nintendo did make the best emulator they could. The only problem is their definition of "best" is whatever can get the required job done as quickly and cheaply as possible whereas kids on the internets definition of "best" is whatever lets them play the most roms on their hand me down netbook.

>> No.5380840

>>5379929
While you get bent out of shape about >>5375981 calling you out, you didnt address the fact i proved your assumptions wrong by pointing out a specific area where accuracy & performance could be improved by any experienced graphics programmer. (>5376728) If you can actually code, have a look at GlideN64 and come back and try to say "100's or 1000's of top programmers" have tried and exhausted all that can be done with the n64. Even if you can't code, read the damn bug tickets. There are always performance tickets being done, it's a matter of interested people stepping up and contributing, where hardly anyone with the ability cares.

>> No.5380964

>>5374851
>>5375981
>>5379313
For some reason, this user is triggered by the thought of others successfully emulating N64. The fact is, today anyone can play any good N64 game using Gliden64 with 99% accuracy. This poster's irrational anger won't change that.

>> No.5381273

>>5380964
>nothing anyone says can change my delusions
True

>> No.5381290

>>5381273
>He's that mad about emulation
>He can't name a good game that can't be emulated

>> No.5381310

>>5381290
hey fuck you. star wars episode 1 podracer runs like shit on an emu. and gaunlet legends 64 doesn't work atall.

>> No.5381316

>>5381310
>star wars episode 1 podracer
Bad port, play the Dreamcast version.
> gaunlet legends 64
Bad port, play the arcade version.

My point remains.

>> No.5381326

>>5381316
>Bad port, play the Dreamcast version.
It's a great port. The Dreamcast version was embarrassing since it's a next-gen system but only uses the N64 assets.
>Bad port, play the arcade version.
N64 version has unique content.

>> No.5381332

>>5381326
It's the worst port. Bad resolution compared to Dreamcast and PC. What video plugins have you tried so far? Did you even try Angrylion? I bet it works and you're retarded. Same for Gauntlet Legends, which plugins and emulators have you tried so far? Probably just whatever default one came with the first emulator that showed up on Google for you, huh?

>> No.5381336

>>5381332
>It's the worst port. Bad resolution compared to Dreamcast and PC
Not the guy emulating, just saying it's a good port. I like the look of the PC version but the Dreamcast version looks terrible. It's just got the N64 assets displayed at a higher resolution true, but crudely ported over so you get texture seams and other weird issues.

Also the N64 exclusively has the awesome twin controller scheme.

>> No.5381343

>>5381336
The twin controller scheme is a meme, have you actually tried it? Not very fun, or it wouldn't be a hidden easter egg, it would be a choice in the menu. The N64 version looks terrible, at a terrible resolution and framerate. Maybe the Dreamcast's assets look bad but the entire image being at a high resolution and framerate make the playing experience so much better than the N64 version. It's really not even close.

>> No.5381345

>>5381332
is there a list that shows what gpu plugin to use for each game?

>> No.5381349

>>5381343
>have you actually tried it? Not very fun, or it wouldn't be a hidden easter egg
It's an easter egg because it's not a straightforward way to play the game, but it is fun if you are an experienced player.

>The N64 version looks terrible, at a terrible resolution and framerate
The resolution is only bad without the Expansion Pak. With the pak it's not much lower than the Dreamcast version. The framerate isn't the best in normal racing mode but it's quite solid in time trial mode at least.

Resolution ain't everything though. What matter is how the image is composited and in that sense the Dreamcast version is flawed. Now I'm not saying that the N64 version is better than the Dreamcast version but it's not actually inferior overall.

>> No.5381350

>>5381345
A Google Spreadsheet showing the current optimal plugin/emulator combination for each version of each rom? Yes and you can't have a link to it, because the people here have acted like such faggots.

>> No.5381495

>>5381290
>hes deluded about emulation
>hes deluded that anyone needs to try to fix him

>> No.5381987

>>5381350
oh o-ok then..

>> No.5382464

>>5381316
> gaunlet legends 64
>Bad port, play the arcade version.

As someone who has played all the ports, it's probably the best port of all of them barring some issues here and there. Has an inventory system that actually makes sense and doesn't feel like a last minute add-on. It plays differently than the arcade version, but it at least represents in better than the playstation version. Although this is subjective, the graphics aren't as busted looking as some of the ports on the better consoles, it even has dynamic lighting (or something that looks like it) full time were as the others have busted lighting or no lighting.

Stages have somewhat dynamic enemy/generator/item placement similar to the arcade version, based either amount of players or character level. All cd versions of the game have a more static enemy/generator/item placement, meaning if I decide to return to the first level of the game at a higher character level, it will be exactly the same where as the n64 version adds more enemies and items.

To reiterate, it is only "probably" the best. It has alot of its own issues that can make it inferior to the others in alot of ways like a possible bug with using player 4's slot that can possibly cause a crash from what I observed. Gameplay is different that the arcade but not in such a way it's absolutely terrible. There's a lot of slowdown because either an area is really big or the a generator is spawning an entire army to deal with you with no cap. The new worlds and levels added to replace the Forest and Desert worlds are fairly empty and uninteresting looking. And the music is a bit of a "you either like it or don't" case.

I could go on with what's wrong with the other ports, but I've already talked way too much about this one. I do agree with "play the arcade version", though.

>> No.5383960

>>5381343
Emulators don't support dual analog anyway