What's new

The State of N64 Emulation

Vchat20

New member
Hey. Im not complaining. I have posted my PC specs earlier. I have p[layed tons of N64 ROMS without any problems. Most arent even that slow. Super Smash bros. plays nearly full speed on my sys. And i use the standard plugins for PJ64. So, I dont complain.

Also, I dont have any coding knowledge whatsoever besides a little HTML and DOS commands. If I knew a little more, I would be with you guys who do emulation for the Tech part. But until I do get some code knowledge, I will be in it just to play the games. Dont get me wrong, I appreciate what you guys do. If it wasnt for you guy's, I would be stuck with a SNES console and a GBC with only a few games for each. Now I practically have all consoles (besides nextgen consoles) and all Handheld devices all on my PC.
 

Flash

Technomage
Zuzma said:
The ultra64 name was more of a gimmick then anything. It kinda reminds me of when sega claimed there genesis did "blast processing". The Ultra 64 hardware actually had almost nothing in common with the n64. Killer Instinct and killer Instinct 2 used a similer cpu to the n64 one but thats about it. The game actually just used a frame buffer to render everything you'd see on the screen it didn't have any 3D hardware. Then crus'in USA and crus'in world had NOTHING at all in common with the n64 they just stuck the name ultra64 on it.

Nintendo 64 CPU: MIPS R4300i
Killer Instinct 1/2 CPU: MIPS R4600
Crus'in USA/World CPU: TMS32031
^^^^^^^^^^^^^^^^^^^^^^^

It's Williams V-Unit, not an Ultra64... Completely different hardware AFAIK.
 

Flash

Technomage
Reznor007 said:
So what if it's slow? Just get a faster CPU. Being slow is not a bug. It merely shows how powerful the hardware is. Even full Dreamcast emulation is only expected to take 8GHz, and we have 3GHz CPU's right now. Wait a year-year1/2 and we should be at least at 6GHz.

1. Full Dreamcast emulation with optimized assembler dynarec core will take 900Mhz-2Ghz (depends on game). If Icarus (unoptimized interpreter) runs some games @ 10fps on 800Mhz machine then....

All depends on coder's hands.sys and brain.drv.

2. 6Ghz. Only for outdated IA-32 architecture. 933Mhz G4 = ~1700Mhz P4, 800Mhz A60 = ~ 3.7Ghz P4.



Knock knock ! This is Opteron :)

LLE is always superior, no question. The only possible exception is speed, but that is always fixable by buying faster hardware.

Oh yeah. You will need 90Ghz cpu for my 100% correct GBA emu, written in QuickBASIC :)


Hardware = money.


And for what it's worth, MAME will eventually emulate N64 hardware, as one arcade game used it(Mickey's Tetris or something).

Oh. Great. 1fps/2Ghz... :)
 

Reznor007

New member
Flash said:
1. Full Dreamcast emulation with optimized assembler dynarec core will take 900Mhz-2Ghz (depends on game). If Icarus (unoptimized interpreter) runs some games @ 10fps on 800Mhz machine then....

All depends on coder's hands.sys and brain.drv.

2. 6Ghz. Only for outdated IA-32 architecture. 933Mhz G4 = ~1700Mhz P4, 800Mhz A60 = ~ 3.7Ghz P4.



Knock knock ! This is Opteron :)



Oh yeah. You will need 90Ghz cpu for my 100% correct GBA emu, written in QuickBASIC :)


Hardware = money.




Oh. Great. 1fps/2Ghz... :)

Are you honestly suggesting only 900MHz-2GHz for complete Dreamcast emulation? Check out the specs for the sound chip alone.

As for CPU speed, yes, it was referring to IA32 since it is what 90% of people use, so it's easy to estimate performance.

GBA wouldn't take all that much if you did a standard C interpreter core. However, QBASIC, yeah, it would take some work :)

There are games in MAME already that use a MIPS R3000+2 other RISC processors(CoJag hardware) that play just fine on my 1.33GHz. A MIPS R4300i+MIPS R4000 derivitive shouldn't take much more than 3-4GHz.

Also Aaron Giles and RCP are working on a dynarec CPU core system for MAME to use on all supported platforms. And MIPS chips are easy to optimize in dynarec.
 

Flash

Technomage
Reznor007 said:
Are you honestly suggesting only 900MHz-2GHz for complete Dreamcast emulation? Check out the specs for the sound chip alone.

Hmm... Ok, w/ sound it can take up to 3Ghz. And it's too early to talk about complete DC emulation. Some guys said not so long ago that 2 Ghz will be minimum for Saturn emulation. Now i got 26 fps on my antique 550Mhz machine. It's w/o sound, but i expect 1.6Ghz machine gunnig any game w/ sound @ 60fps.

There are games in MAME already that use a MIPS R3000+2 other RISC processors(CoJag hardware) that play just fine on my 1.33GHz.

I'v played on 900Mhz machine w/o sound - slow but playable.

But why TMS32031 emulation is so sloooow.... Cruis'n USA is pure slideshow on 900Mhz machine w/o sound.

Also Aaron Giles and RCP are working on a dynarec CPU core system for MAME to use on all supported platforms. And MIPS chips are easy to optimize in dynarec.

Sure. Because RCP's U64 emu runs KI on my 550Mhz K6-2 @ 57-175 ingame fps, and KI2 is slower but playable. Even in pure LLE it's playable w/ sound on 800Mhz machine.
 

Hacktarux

Emulator Developer
Moderator
Reznor007 said:
Are you honestly suggesting only 900MHz-2GHz for complete Dreamcast emulation? Check out the specs for the sound chip alone.

As for CPU speed, yes, it was referring to IA32 since it is what 90% of people use, so it's easy to estimate performance.

GBA wouldn't take all that much if you did a standard C interpreter core. However, QBASIC, yeah, it would take some work :)

There are games in MAME already that use a MIPS R3000+2 other RISC processors(CoJag hardware) that play just fine on my 1.33GHz. A MIPS R4300i+MIPS R4000 derivitive shouldn't take much more than 3-4GHz.

Also Aaron Giles and RCP are working on a dynarec CPU core system for MAME to use on all supported platforms. And MIPS chips are easy to optimize in dynarec.

The CoJag hardware is only using a r3000 at 33 MHz it's far easier to emulate full speed than a r4300 (you have to emulate a 64 bits processor on a 32 bits processor most of the time) that is running at 100 MHz.

Other thing, the rsp shouldn't be only considered as a r4000 derivitive, coz 90% of the instructions used on ucodes doesn't exist on a standard r4000 and that the vector instructions are very complex to emulate full speed.

Well i'm not saying that you are wrong in all things you have said, but it's definitively not as simple as you seem to considerate it.

Oh and if you're wondering at which speed a 100% lle emulator can run, just try to run pj64 and disable send alist and dlist to plugins options, finally choose to use interpreter in the rsp plugin options. You won't get any frame displayed, but the sound and vi/s counter might give you an idea...
 

Reznor007

New member
Flash said:
Hmm... Ok, w/ sound it can take up to 3Ghz. And it's too early to talk about complete DC emulation. Some guys said not so long ago that 2 Ghz will be minimum for Saturn emulation. Now i got 26 fps on my antique 550Mhz machine. It's w/o sound, but i expect 1.6Ghz machine gunnig any game w/ sound @ 60fps.



I'v played on 900Mhz machine w/o sound - slow but playable.

But why TMS32031 emulation is so sloooow.... Cruis'n USA is pure slideshow on 900Mhz machine w/o sound.



Sure. Because RCP's U64 emu runs KI on my 550Mhz K6-2 @ 57-175 ingame fps, and KI2 is slower but playable. Even in pure LLE it's playable w/ sound on 800Mhz machine.

The TMS32031 is slow because it's a complex DSP.

Also, U64emu, even with LLE checked is not purely LLE. Ever noticed that the videos are extremely fast even with the speed limited? And the sound CPU is not emulated at all(it was a ASM recode)I also believe the game is designed to run at around 53FPS, not 60 since most other Williams hardware of that era (V unit, T unit, Y unit, Wolf unit) ran at 53FPS.
 

Reznor007

New member
Hacktarux said:
The CoJag hardware is only using a r3000 at 33 MHz it's far easier to emulate full speed than a r4300 (you have to emulate a 64 bits processor on a 32 bits processor most of the time) that is running at 100 MHz.

Other thing, the rsp shouldn't be only considered as a r4000 derivitive, coz 90% of the instructions used on ucodes doesn't exist on a standard r4000 and that the vector instructions are very complex to emulate full speed.

Well i'm not saying that you are wrong in all things you have said, but it's definitively not as simple as you seem to considerate it.

Oh and if you're wondering at which speed a 100% lle emulator can run, just try to run pj64 and disable send alist and dlist to plugins options, finally choose to use interpreter in the rsp plugin options. You won't get any frame displayed, but the sound and vi/s counter might give you an idea...

What I said was based on what I've seen MAME devs say. They are suprised someone hasn't done a true N64 emulator, given that current CPU speeds would be acceptable for playable speeds.

And I would assume the PJ64 interpreter isn't very optimzed since it wasn't the main design goal.
 

Dominator

Moderator
Mame developpers got their own approach. N64 emu authors don't share the same approach themselves.

UltraHLE 2064 tends to go as much HLE as possible and it is no walk in the park. If it was just to run 3 - 4 games running with the same hardware, coming from the same company, then why not.

Actually, I consider that making intensive use of HLE methods with the highest possible (accurate) compatibilty is enough of an interesting challenge. How many roms do the arcade "HLE" emus you have mentioned run? 10? 20? 30? Can it really be compared to the N64 ...

But I'd frankly be interested in seeing a pure LLE N64 emu. Really. And if at their current level of dev., adapting their drivers to do so is such an easy thing, I wonder why none of the Mame authors stepped in.

The good point with HLE is that both authors and end users enjoy results.
 

Vchat20

New member
can someone please decode all this vocabulary for me? cuz im not really familiar with it. I would like to know what it is though.
 

Reznor007

New member
Dominator said:
Mame developpers got their own approach. N64 emu authors don't share the same approach themselves.

UltraHLE 2064 tends to go as much HLE as possible and it is no walk in the park. If it was just to run 3 - 4 games running with the same hardware, coming from the same company, then why not.

Actually, I consider that making intensive use of HLE methods with the highest possible (accurate) compatibilty is enough of an interesting challenge. How many roms do the arcade "HLE" emus you have mentioned run? 10? 20? 30? Can it really be compared to the N64 ...

But I'd frankly be interested in seeing a pure LLE N64 emu. Really. And if at their current level of dev., adapting their drivers to do so is such an easy thing, I wonder why none of the Mame authors stepped in.

The good point with HLE is that both authors and end users enjoy results.

The only HLE arcade emu I know of is U64emu, which runs 2 games...

Considering that all games in MAME share the same CPU cores, and it currently runs over 3,000 ROM sets, I'd say it was pretty compatible. The NeoGeo driver runs about 150 games alone.

And as I stated, N64 will happen eventually, I'm just not sure if that game is dumped or not.
 

cooliscool

Nintendo Zealot
Reznor007 said:
The only HLE arcade emu I know of is U64emu, which runs 2 games...

Considering that all games in MAME share the same CPU cores, and it currently runs over 3,000 ROM sets, I'd say it was pretty compatible. The NeoGeo driver runs about 150 games alone.

And as I stated, N64 will happen eventually, I'm just not sure if that game is dumped or not.

U64EMU does support 2 games, but, only KI 1 is HLE'd.
 

thumperward

New member
Viva Nonno is also an HLE arcade emulator, for the Ridge Racer games that haven't yet been added to MAME as proper drivers.

For the 'preservation' thing, the point is that you can theoretically take a real arcade PCB, hook it up to a PC running MAME and get exactly what you would were there an arcade machine there. You can't do that with an N64 emulator.

Speed is going to be less and less relevant as the years pass. Back in the early days, Genecyst and KGen were amazing mainly because you could get actual full-speed emulation of a variety of games. Now look at Megadrive emulation. Gens, which started out as little more than a collection of free CPU cores, is now the most accurate MD emulator there is, and getting more and more so with each release. it even has fast 32X emulation with the new SH2 dynarec.

The way I see it, there's an emulation lifecycle which has been oboeyed on many systems so far:

1. with little system info available, people try to write apps which emulate what the know of the system. These are interpretive because the important thing is getting as much of the system as is known to work, to see if any games will run.

2. once something is actually running on the system, the next step is full-speed emulation. people optimised their code, write dynamic recompilers for CPUs or even fake bits of the system for speed (HLE).

3. once full speed has been reached, compatibility is again important. The bits of hardware which are currently faked or held togeth by hacks are investigated and parts of the code are rewritten for accuracy. The key is to try and get ALL hardware emulated exactly.

4. with compatibility extremely high, speed and features are yet again of importance, and system development tends to slow because there's nothing left to do :)

Megadrive and Playstation emulation is sitting on 4, with Mega CD / 32X emulation on 3. SNES emulation is ending 3, although there are endless problems with getting perfect sound.

N64 emulation seems to be stuck at 3. The N64 is the first emulated home console that has such large system requirements that full speed still isn't universally accepted. Most current devs seem unwilling to compromise speed for accuracy, which is slowing progress somewhat.

Unfortunately it seems as though this isn't going to change for a while, no unless Intel starts sending people P4s for New Year.

My question is, Azimer said that low-level graphics emulation had indeed been gotten to work on PJ64. Does this mean that (theoretically) with further work on the RSP and 1964, 1964 could eventually graduate to being a fully low-level emulator? Its license makes it (along with Daedalus, which also apparently has LLE graphics in an unreleased build) and Mupen64 the most likely candidates for fute progress in the area. And how much effort would it take? Would it be possible to release LLE graphics plugin specs?

- Chris
 

Zuzma

New member
Flash said:
^^^^^^^^^^^^^^^^^^^^^^^

It's Williams V-Unit, not an Ultra64... Completely different hardware AFAIK.

:plain: I know it's the V-unit hardware they just slaped the ultra 64 name on it. Nintendo was going on about how it ran on ultra64 hardware like KI was but it was total bs because neither of them really used it.
 
Last edited:

Top