It is currently Sat Dec 16, 2017 8:07 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 5 posts ] 
Author Message
PostPosted: Wed Jul 13, 2005 4:40 am 
Offline
User avatar

Joined: Tue Jul 12, 2005 4:37 pm
Posts: 121
I do like the readouts on Nintendulator's tracer and I like the fact that it prides itself on being accurate (and has been shown to be so), but it's very slow, so that is a big downside to it. I have a 386mHz processor, but FCEU, Nesticle, LoopyNES, etc., all run at normal speed on it. Is there something you can do about this slowness Quietust?


Top
 Profile  
 
PostPosted: Wed Jul 13, 2005 7:13 am 
Offline

Joined: Wed Feb 09, 2005 9:31 am
Posts: 418
beneficii wrote:
I do like the readouts on Nintendulator's tracer and I like the fact that it prides itself on being accurate (and has been shown to be so), but it's very slow, so that is a big downside to it. I have a 386mHz processor, but FCEU, Nesticle, LoopyNES, etc., all run at normal speed on it. Is there something you can do about this slowness Quietust?


Nintendulator is the most accurate software NES emulator. Only Kevtris's hardware NES emulator tops Nintendulator in accuracy because it uses circuit-level emulation.

The lower-level you emulate a console, in software, the more CPU power it is going to take to run at full speed. FCEU with the accurate sound emulation feature enabled only runs at full speed on a 500+ mhz system. Nesticle, meanwhile, the least accurate emulator, runs at full speed on a 100mhz system.

My guess is that while it is possible to speed up NIntendulator, it would require too much effort and make future accuracy and compatibility improvements more difficult. Microcenter was selling a 2Ghz PC for $99 the other day. Hence the bottom of the line PC that sells these days can run Nintendulator at full speed.

In my opinion speed is not the biggest disadvantage to Nintendulator: source-level portability is. I have only seen a Windows release, while other emulators have ports to other operating systems (Linux, Mac, etc) and consoles (Dreamcast, Xbox, PSP, etc). Though to be fair, console ports have less to do with the portability of the code and more to do with the high system requirements of Nintendulator. Personally, I am still keeping my fingers crossed on an Xbox 360 port :wink: The FCEU port to the current Xbox is quite nice, until you run into compatibility or accuracy issues.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jul 13, 2005 8:05 am 
Offline
User avatar

Joined: Mon Sep 27, 2004 8:33 am
Posts: 3715
Location: Central Texas, USA
I think there's a general notion that the only relevant factor regarding emulation of a piece of hardware is the clock speed of its CPU. A piece of hardware can have very intricate behavior, even if it has no CPU. This can be costly to simulate. On top of that, there's usually incomplete information on exact operation so lots of time is spent compensating for this deficiency rather than improving performance.

FCEU with the accurate sound emulation feature enabled only runs at full speed on a 500+ mhz system.

I just want to point out that FCEU uses a very processor-intensive sound synthesis algorithm. Virtually identical sound quality can be obtained using almost no CPU time, as (I think) Disch's Schpune emulator demonstrates.

My guess is that while it is possible to speed up NIntendulator, it would require too much effort and make future accuracy and compatibility improvements more difficult.

Complexity is the biggest enemy to correct code, in terms of accurate emulation and general program stability. Even a completely unoptimized emulator would be quite complex.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jul 13, 2005 11:04 pm 
Offline
User avatar

Joined: Thu Oct 21, 2004 4:02 pm
Posts: 210
Location: San Diego
I agree 100% with Blargg, it's not the processor speed that makes a console difficult to emulate. In fact, even VERY inefficient 6502 cores can run full speed (~3Mhz) on extremely old hardware. The real issue is that you are emulating a sound chip and a PPU simultaneously. And the operations that need to be done don't map particularly well to the x86 opcodes you have available, so you get a lot of innefficiencies. Nintendulator is the best at what it is - an extremely cycle accurate simulation of a NES. I don't see any need to sacrifice that for speed. If you want speed there are plenty of faster emulators that are probably "accurate enough" for most of what you want to do. On the other note, I agree that it would be nice if Nintendulator was more portable. I did get permission from Q about 2 years ago, and started on Lintendulator, an attempt to port it to Linux. Q warned me, and was right, that the code is not very portable. I got a pretty good start on it, but the bottom line is that there is a lot to re-write. The core is all pretty portable (cpu, ppu). But every interface (input, timing, graphics) all needed to be re-implemented. I'd be interested in starting the project up again, if there is any real interest.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jul 14, 2005 6:34 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19348
Location: NE Indiana, USA (NTSC)
Would it be possible to factor FCE Ultra into separate "emulator core" and "frontend" parts, factor Nintendulator similarly, and then pull a Freaky Friday?


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group