Pandora's Emulators - What Will Work And What Won't


Exophase said:
For most games involving any kind of dexterity, playing at anything under 90% or so of the realtime speed will completely change the way the gameplay feels. Even worse if it's inconsistent and slows down greatly at random times. They'd still be playable, the experience would just be totally different. And the music will usually be ruined. At a certain point button presses become too unresponsive and it's too laborious to even get through the game.

Many RPGs and other turn based games can be played well under fullspeed without the gameplay challenge changing much, it'll just bore you to tears.

Personally I don't like the "playable" adjective much at all.

Unfortunately people very frequently confuse fps in an emulator with fps in a 3D game. They aren't the same thing. Frameskip bridges the two closer together, but that can usually only buy you so much.
Can you explain frameskip?:D
 
Last edited by a moderator:
anexanhume said:
Can you explain frameskip?:D
Okay.. when you emulate a platform you have to emulate a number of components, depending on what you're emulating. For most game consoles two major components to be emulated are the CPU and whatever video processing chip(s). These are emulated for units of time called "frames" that correspond to the rate the display is updated at. If the display is updated 60 times a second then that means that a frame is about 16.67 milliseconds. That means that when you're emulating it you have 16.67ms to do that, if you want the thing to run at full speed. Sometimes it takes so much time to emulate the video portion that you can not emulate it some frames. This is possible because usually the video chips don't produce results that the rest of the system uses at input, it just draws stuff to the screen. The result is choppier video, but game events that happen at the correct timing.
 
Last edited by a moderator:
The other trick you can do - particularly for 3D games - is to underclock the emulations of the various chips in the system. This doesn't work well for many 2D games, which are generally targeted at a single fixed rate, but 3D stuff is usually dynamic - the gameplay is decoupled from the rendering even inside the system, in order that it can give the user as many frames as it can but without breaking the gameplay if the frame count changes between different scenes.

For example, on the Jaguar emulator, I can clock the system anywhere between about 10MHz and 50MHz and Tempest 2000 is playable, just with more or less frames. Of course, it looks miles better at the higher rates :).

You can see the reverse of this - and a rare case where it makes a difference in 2D - if you load up an ST emulator and Llamatron, which plays incredibly smoothly if you clock it up to 32MHz.
 
Dio said:
The other trick you can do - particularly for 3D games - is to underclock the emulations of the various chips in the system. This doesn't work well for many 2D games, which are generally targeted at a single fixed rate, but 3D stuff is usually dynamic - the gameplay is decoupled from the rendering even inside the system, in order that it can give the user as many frames as it can but without breaking the gameplay if the frame count changes between different scenes.

For example, on the Jaguar emulator, I can clock the system anywhere between about 10MHz and 50MHz and Tempest 2000 is playable, just with more or less frames. Of course, it looks miles better at the higher rates :).

You can see the reverse of this - and a rare case where it makes a difference in 2D - if you load up an ST emulator and Llamatron, which plays incredibly smoothly if you clock it up to 32MHz.
Overclocking components is well and good, but underclocking emulation can really screw you up, even with 3D games. A lot of games are timed by vblank, even well into the PS1/N64 era. At the very least you need to have these timings right, and if you give too few cycles per frame then you're inevitably going to run into problems. Of course I understand psx4all gets huge gains in letting the user drive down the cycles/frame immensely, but it's really hard to pick an "optimal" value for every game you want to play, especially when it changes throughout the game (and you only really need it to screw you once where it crashes the game).

A much better solution than underclocking is to patch idle loops, either by detecting them if possible, or at least allowing them to be entered manually. That's both the safest and most optimal thing to do.
 
Last edited by a moderator:
Oh, I agree completely that underclocking isn't a strong solution, but it's at least as valid as frameskip. (Although anything timed by vblank interrupt works fine with underclocking, of course, as long as there's enough cycles to service the interrupt with plenty of headroom).

I've found an interesting low-overhead solution to generalised static loop detection. Haven't got cost figures on it yet mind, but I'm optimistic it might cost less than the very specific cases I catch at the moment.
 
While I may be completely oblivious to the technology of emulation itself, I can safely say that the Pandora could successfully emulate the Jaguar; from what I know on the architecture itself.

Alternatively, one could search on youtube and find this quick port.
http://www.youtube.com/watch?v=pe_R787gREc
 
Last edited by a moderator:
@ Mysterious Stranger: Nice for sharing the link, but this is already well known.

And at Exophase and Dio: Thank you both for the explanation about emulation terms, like frameskip and underclocking. And from the dreamcast tread sindbad and WizardStan.
Maybe we should collect these informations a make a wiki article. FAQ Emulation Technologies.
 
Last edited by a moderator:
I've had some kind of emulation wiki in mind for a long time, but I never seem to find the time to look at setting it up...
 
Dio said:
I've had some kind of emulation wiki in mind for a long time, but I never seem to find the time to look at setting it up...
Something like that would be great. I`m sure many people here are technically interested, but don`t know much about emulation(like myself). Then the Dev`s don`t have to answer alway the same questions. And maybe the people create more esteem about the work from the Dev`s, cause they have more insight.
 
Last edited by a moderator:
Pickle said:
If Zodtdd doesnt port dosbox or have it to the current GP2X level, I will work on it.
He's already working on psx, n64, and stuff for the iphone. It doesn't sound like he has time for dosbox too :huh:
 
Last edited by a moderator:
anexanhume said:
Pickle said:
If Zodtdd doesnt port dosbox or have it to the current GP2X level, I will work on it.
He's already working on psx, n64, and stuff for the iphone. It doesn't sound like he has time for dosbox too :huh:

Thats why i just posted what i did. ;) Call it plan B.
 
Last edited by a moderator:
Pickle said:
anexanhume said:
Pickle said:
If Zodtdd doesnt port dosbox or have it to the current GP2X level, I will work on it.
He's already working on psx, n64, and stuff for the iphone. It doesn't sound like he has time for dosbox too :huh:

Thats why i just posted what i did. ;) Call it plan B.


I'm all for plan b :D I've always wanted to play the first two elder scrolls games...
 
Last edited by a moderator:
anexanhume said:
Pickle said:
If Zodtdd doesnt port dosbox or have it to the current GP2X level, I will work on it.
He's already working on psx, n64, and stuff for the iphone. It doesn't sound like he has time for dosbox too :huh:


How's he doing on this anyways?
 
Last edited by a moderator:
When I was talking to Zodttd semi-recently (few weeks ago) on irc, he said he hasn't started n644pandora , which is understandable as he has loads of other things to do. (Porting stuff to 2.0, hedgewars, public release vlc4iphone, etc.)
 
I was talking to tufty over on YakYak yesterday and he pointed out this Apple Newton emulator:

http://code.google.com/p/einstein/

Two things I had missed before are that Newton OS can cope with larger displays than the real Newton Messagepads (and colour too, apparently) and that this emulator can apparently do ARM->ARM code translation now. So, all in all, it might actually work rather well on a Pandora!

Not very gaming orientated I know, but apparently Newton OS is still unsurpassed when it comes to serious PDA functionality. It might be of interest to people who want to use their Pandora as an all-purpose pocket computer as well as a console.

It'll be a month or two before I get round to having a crack at this, mind, but I thought I'd mention it.
 
Can Prophet add the Wiz to the list? (Probably under the not going to work section)
 
Firefox said:
I was talking to tufty over on YakYak yesterday and he pointed out this Apple Newton emulator:

http://code.google.com/p/einstein/

Two things I had missed before are that Newton OS can cope with larger displays than the real Newton Messagepads (and colour too, apparently) and that this emulator can apparently do ARM->ARM code translation now. So, all in all, it might actually work rather well on a Pandora!

Not very gaming orientated I know, but apparently Newton OS is still unsurpassed when it comes to serious PDA functionality. It might be of interest to people who want to use their Pandora as an all-purpose pocket computer as well as a console.

It'll be a month or two before I get round to having a crack at this, mind, but I thought I'd mention it.


You do know that to run OpenEinstein you need a legally acquired Newton ROM from one of the later MessagePad models, right? (and that the only way to extract a ROM at the moment is through a Mac running OS9?)

You also know that the developers have vowed to dump the project at the first sight of warez-ed ROMs?
 
Last edited by a moderator:
Karel Jansens said:
You do know that to run OpenEinstein you need a legally acquired Newton ROM from one of the later MessagePad models, right? (and that the only way to extract a ROM at the moment is through a Mac running OS9?)
Yep, absolutely! I'll get a MessagePad off ebay when the time comes, and I've got an old iBook that dual boots OS9 and OS X.
 
Last edited by a moderator:
Firefox said:
Karel Jansens said:
You do know that to run OpenEinstein you need a legally acquired Newton ROM from one of the later MessagePad models, right? (and that the only way to extract a ROM at the moment is through a Mac running OS9?)
Yep, absolutely! I'll get a MessagePad off ebay when the time comes, and I've got an old iBook that dual boots OS9 and OS X.

Good. I'd hate to see this project go dodo.
 
Last edited by a moderator:
Back
Top