Hacking FULL SPEED PS1 emulator on 3DS?

Will it be possible?

  • Yeah!

    Votes: 11 47.8%
  • Nope...

    Votes: 1 4.3%
  • Maybe. Not full speed though.

    Votes: 11 47.8%

  • Total voters
    23
koji2009 said:
First off... whoever told you you need an exponentially more powerful system to emulate was wrong. The SNES has a 3.58mhz processor... My 400mhz desktop at the time couldn't emulate it at full speed (well, full game speed but not 60fps). That's far more than exponential. Indeed the SAME 400mhz computer could emulate an N64 with mario 64, 400mhz is not exponentially higher than 98mhz proceesor.

It's not just a matter of a system being complex, but rather how similar the two architectures are, how well optimized they are, and other factors like bandwidth between components.

Oh yes, I think I missed out on the point that I was trying to make and thanks for clearing that part out.
Of course the similarity and differences of the two architecture of the system also determine the ability for emulation to run smoothly. Perhaps given spare computing power, even the 3DS will be able to emulate it self due it running in a similar environment.

Both computing power and architecture do matter in how much computing power a system would need in order to emulate another system.
 
There's no way to know for sure until we know more about the architecture of the 3DS processor(s) and of course, somebody tries it.

An N64 emulator is much easier to predict especially since Nintendo designed the 3DS with eventually porting N64 games in mind.
 
koji2009 said:
First off... whoever told you you need an exponentially more powerful system to emulate was wrong. The SNES has a 3.58mhz processor... My 400mhz desktop at the time couldn't emulate it at full speed (well, full game speed but not 60fps). That's far more than exponential.
What is it then? There is no sense in talking about "exponential" without defining bases and exponents, 3.58^4.697 is 400, that seems pretty "exponential" to me.

QUOTE(koji2009 @ Apr 13 2011, 01:24 AM) Indeed the SAME 400mhz computer could emulate an N64 with mario 64, 400mhz is not exponentially higher than 98mhz proceesor.
Yes it is. What do the following numbers have in common?
98, 400, 2520, 27910.
They increase by an exponent of 1.307 (approximately, this is just an example). Again, it seems a pretty exponential sequence to me.
 
Zarxrax said:
koji2009 said:
The SNES has a 3.58mhz processor... My 400mhz desktop at the time couldn't emulate it at full speed (well, full game speed but not 60fps). That's far more than exponential. Indeed the SAME 400mhz computer could emulate an N64 with mario 64, 400mhz is not exponentially higher than 98mhz proceesor.

What? Your PC could run an N64 emulator but not SNES? That sounds more like user error to me
ohmy.gif

I was running SNES games at full speed on a 166mhz processor in the late 1990's.

You were not playing SNES at full speed at 60fps on a 166mhz processor ever... Even ZSNES wasn't that optimized.

At the time I was actually part of the support staff for Snes9x's forum. I knew the devs for both emulators
wink.gif
 
Kemosabe-TBC said:
koji2009 said:
First off... whoever told you you need an exponentially more powerful system to emulate was wrong. The SNES has a 3.58mhz processor... My 400mhz desktop at the time couldn't emulate it at full speed (well, full game speed but not 60fps). That's far more than exponential.
What is it then? There is no sense in talking about "exponential" without defining bases and exponents, 3.58^4.697 is 400, that seems pretty "exponential" to me.

QUOTE(koji2009 @ Apr 13 2011, 01:24 AM) Indeed the SAME 400mhz computer could emulate an N64 with mario 64, 400mhz is not exponentially higher than 98mhz proceesor.
Yes it is. What do the following numbers have in common?
98, 400, 2520, 27910.
They increase by an exponent of 1.307 (approximately, this is just an example). Again, it seems a pretty exponential sequence to me.

98 x 98 = 9604... That is the lowest whole integer exponential of 98...
 
Who said anything about integer ? The whole point is that it increases exponentially! The exponent being integer or not is irrelevant.
 
The PS1 is a little bit tricky sometimes... We'd need some pretty dedicated coders to get anywhere- and even then it probably wouldn't be capable of playing too many games at a decent speed.

Oh, and the reason why the N64 was easier to emulate back in the 'day was because about that time devs discovered 2 things- dynamic recompilation can massively increase the speed of an emulator when dealing with the right architecture, and the N64 had a pretty good architecture for that
tongue.gif


At this point, I'd say that fullspeed PS1 emulation is looking a bit unlikely, to say the least.

Oh, and one thing you all may not have considered yet- what kind of read speed is possible for a 3DS, because if it's a bit too slow then we'll have run into the same problem as we did with GBA emulation on the DS- insufficient read speed (among other things).
 
fearofshorts said:
The PS1 is a little bit tricky sometimes... We'd need some pretty dedicated coders to get anywhere- and even then it probably wouldn't be capable of playing too many games at a decent speed.

Oh, and the reason why the N64 was easier to emulate back in the 'day was because about that time devs discovered 2 things- dynamic recompilation can massively increase the speed of an emulator when dealing with the right architecture, and the N64 had a pretty good architecture for that
tongue.gif


At this point, I'd say that fullspeed PS1 emulation is looking a bit unlikely, to say the least.

Oh, and one thing you all may not have considered yet- what kind of read speed is possible for a 3DS, because if it's a bit too slow then we'll have run into the same problem as we did with GBA emulation on the DS- insufficient read speed (among other things).

The read speeds shouldn't be a problem. If I remember correctly, the PS1 CD-ROM was either 1x or 2x, which was only about 150KB to 300KB of data transferred per second. Using the SCDS2 as a comparison, it has to transfer a 256x192 16-bit image per frame and I think 32kHz of audio per second. Assuming it only managed 15 frames per second (even though it can do better), that would still be about 1.51MB per second. This is also based on a DS card. Practically all SD cards in use now at least match that read speed.
 
The PSX was based on a RISC clocked roughly at 34 Mhz. Any pondering whether a twin-266Mhz Cortex ARM's with a relatively strong PICA GPU 3DS has enough resources or not to emulate this machine is pure nonsense - OF COURSE IT DOES, D'UH!.

Pocket PC's with Windows Mobile clocked at as little as 200Mhz and no external GPU at all could emulate the PSX fairly well while having the resource-heavy WinCE core on their back, the 3DS will work at lightning speeds compared to that.
 
If I'm to rank from 1-3, the important factors affecting the emulation of a system on another system it would be...

1. computational power
2. system architecture
3. code optimization

Am I missing anything? Don't think so...

Oh and as people are talking about the CPU clock speeds recently, I'd like to add my 2 cents...

Clock speeds are a horrible way of measuring computational power across different types of processors. Different types of CPU architecture affect the computational power it has. Oh and to make clock speeds worse as a measurement, we have dual cores and quad core processor nowadays. You wouldn't go around and say a P4 at 3.0 is faster than a dual core at 2.4 would you?

biggrin.gif
 
Thing is that the ARM Cortex is a much more efficient architecture than RISC, and you get TWO of those in the 3DS. Comparing FLOPS would be like comparing d***s with an eunuch.

As far as the Single-core 3.0 vs Dual-core 2.4 bout is concerned, everything depends on the code they're supposed to run and the architectures used. You'd be quite suprised if you actually ran a non-dual-core-compatible app on a dual-core cpu running on a slower frequency than a single-core cpu of similar architecture and higher frequency.

Compare early PentiumD's with Pentium 4 Prescott's and you'll see what I mean.

PentiumD 2,8 would get nom nommed by a 3,2 Prescott in a single-core-only app in no-time, since PentiumD's were basically two slower Prescott's in one package.
 

Site & Scene News

Popular threads in this forum