Skip to content
 

Porting the Snes9x ASM core to S60

As you all saw the emulator is really slow and the sound is not supported because of too much frame skipping. I have been working with ASM core (written by notaz) some time now, and it’s very frustrating. Currently I have the ASM- core running on N96 with ARM9 processor, but it’s crashing with N95 with ARM11 processor.
The speed increase is really nice for N96, but it’s still not enough. The S60 DirectScreenAccess plus one extra memcopy for each frame buffer is draining all the power from the phone. With N95 and OpenGL ES it might be possible to emulate sound, if I manage to get it up and running.. The DSA issue is also very frustrating, since we were able to write directly into the devices frame buffer before 3rd edition and platform security.
Currently the ASM port also has some other strange issues. The colours get distorted in some views. You can see an example on below. It’s really strange since, the same renderer works with the normal c-core.

mario kart startscreen with ASM core

mario kart startscreen with ASM core


Mario kart distorted screen with ASM core

Mario kart distorted screen with ASM core


This seems like a good opportunity to learn something from S60 phones and ARM assembler.

  • Why the ASM-core crashes on N95, The core is ARMv5 binary and ARM11 should be to run ARMv5. The N96 and ARM9 processor seems to be able to handle it.
  • The strange frame distortion. I suspected a compiling issue for a long time, and it still could be the reason. However I spend hours of comparing the code to DrPocketSness. And there really aren’t any big changes, so it’s really frustrating.

One Comment

  1. I like the Mario Kart game because it is more challenging as you get to the next level.’;~

Leave a Reply

(required)