Jump to content
Nokioteca Forum

Emumaster Per N9

Jedi Knight

Recommended Posts

Importanti novità nella prossima versione!

First major thing is "Advanced Launch" page where you can customize the emulation before it is even started. It is really needed for BIOS selection, PAL/NTSC and many others like memory size, recompiler/interpreter selection. When these settings varies between saved states it makes these states incompatible though. Many things in the core library was changed in order to make it. For now only NES emulation will benefit from it (explained why later). But of course every emulation will get their own settings in the future.

Many customizations for touch screen:

- buttons are back - harmattan styled (as an option)

- grid (like in the image at wiki, as an option)

- haptic feedback

- fancy look of settings - provides the same view of buttons and grid as in the emulation, so you can easly customize it to your needs

- configurable d-pad and right buttons area size

- configurable diagonal area size

- l2/r2 in psx

I have started with NES when it comes to improving quality and performance of emulation. I know you would see others to be improved but I needed easy one to start with "Advanced Launch" functionality:

- APU replaced (partially done)

- recompiler (partially done)

- PAL timings correction

- 6502 cpu interrupts timing fixed

- mapper 5 glitches fixed

- pal/ntsc switch

- more settings (partially done)

With the recompiler and new apu added it will be blazing fast and sound glitches will be no more in the NES emulation.


- finish NES APU rewrite

- finish NES CPU recompiler

- finish some minor things and add couple of settings to nes emulation

- add states browser where you can see how much space they takes, you will be able to run the game directly from the state, ability to backup and restore all states, and most importantly state converter will be added, so you will not worry about current states. I think you would really like this feature

- script for faster sixaxis configuration

- and few others ...

Many small things improved, like: emulation and settings in one view -> no more floating windows, improved quality of rendered icons that goes to home screen, bug in gba config parsing - fixed -will make some games more playable or make them able to run at all, many optimizations, .....

And I must tell you that I am targeting PR1.2 now.

Link to comment
Share on other sites

  • 3 weeks later...

Questa volta le novità sono ancora più sostanziose!

La versione 0.3.0 è stata inoltrata allo Store per l'approvazione e porta con sé numerose importanti migliorie!

As of now the new release (0.3.0) is pending at Ovi Store.

First thing you would not like: States from NES are not compatible!!!

I screw up saving states in the first time and there was so many things changed that I decided

to broke state compatibility of NES one more time. Really sorry. And state browser is not ready yet.

Do not install the new release if you want load states from old versions in NES system!!

It also requires PR1.2 firmware to run.

Apart from it I think the update brings some nice things.

Global changes:

  • Emulation view and settings view are now in one window. It means no more floating windows when switching between these views.
  • "Advanced Launch" page added. It is really a little breakthrough in this emulator, because it gives freedom in configuring how emulated system should act. For now only NES and GBA use this functionality, but later every emulation will benefit from it. There is one important thing - states can become incompatible when changing some of these settings, e.g. if you change flash size in GBA to 128KB, it will become incompatible with the state where flash size is 64KB. These settings will be later marked [hard].
  • Haptic feedback added
  • New pad buttons for touch screen - Harmattan style
  • Improved rendering quality of home screen icons - they are smooth now and looks really better
  • A page with global touch settings:
    • There is a pad view in settings, so you can see the result of your changes immediately
    • Sliders to resize areas, one slider to control how big the d-pads are, and one to control diagonal area size
    • Visibility switch for outline of sensitive areas
    • Selection for outline color
    • L2/R2 default visibility option

    [*]Input wasn't synced when skipping frame - fixed

    [*]Support for shaders (default, 2xSal, hq2x, grayscale). I shall give you a little explanation here. I thought it would be a great idea to add shaders support, and it would be great, if N9 had decent GPU. But it hasn't so shaders become quite unusable, but still you can use some of them (the best is hq2x but it drops to 12fps). Bilinear filtering removed - colors was too bit off for me.

    [*]Better handler for the time when using USB Mass Storage mode - similar message appers as the one in Video and Music players

    [*]Simplified method for configuring SixAxis - you don't have to use terminal now, just give a password for devel-su and it will run required commands for you.


As I said I was mostly concentrated on this particular emulation. There are many improvements, almost whole emulation is replaced.

  • PAL/NTSC switch [hard] in Advanced Launch - for those who don't know the NES emulation cannot detect the type of TV system automatically. It only guess by disk name, switches automatically to PAL if the name contains (E). You can do it now by setting this option too.
  • PAL timings corrected
  • 6502 CPU interrupts events corrected
  • Many mappers fixes, and some mappers added
  • Entire APU implementation rewritten
  • Sprite limit disable option. It is off by default, but you will probably switch it on many times. To understand it you must know how NES is really working. The PPU used in it had a limitation to display 8 sprites at most in one scanline. This limitation wasn't a big problem in old times, and with old TVs. It is off by default because my software emulates NES, not a some-imaginable-hardware-compatible-with-NES. And when it is off performance is slightly better (5% CPU usage, but always something smile.gif ).
  • Palette adjusted
  • Disk info in settings
  • X,Y buttons as Turbo A/B
  • Utilization of NEON technology to speed up things
  • Zapper and paddle emulation added: 1. In "Advanced Launch" page force extra input to be used, select zapper or paddle (for same games it will auto-detect if some extra input device is usable) 2. Now you have extra input device enabled in emulation. To use it you must select "Touch" configuration of Touch Screen in the in-game settings. Paddle had a button, it is emulated as pressed when you touch in uppper half screen, and released when you touch in bottom half screen.
  • For developers: debugger utility with disassembler and profiler

The above impovements make the emulator fast, ... Previously it took 100% of CPU and gave 50fps average (out of 60). Now it gives 60fps always and takes 55% of CPU. And thanks to many fixes it is much more compatible. You can find that a recompiler is added, but It is not used by default. It is because some games runs faster, some games are slower with recompiler compared to interpreter. Interpreter is much more stable, and recompiler does not give much (about 10% of CPU usage at most), so I decided to use interpreter as a default CPU emulation.


  • Flash selection in "Advanced Launch" [hard]
  • 128KB flash is now detected automatically for some games
  • Disk info in settings
  • Zelda Minish Cup - roll bug should be fixed now, please confirm that
  • One can find that cheat support has been added to GBA emulation. It's true but GameShark cheats are very complex and there is only a little part of its functionality added. I have
  • bigger things to be focused on now. I have not found any cheats that would work. Better not even mind to use them.


  • L2/R2 buttons added

I could miss something ... I think it is understandable since I've added tens of thousands lines of code.

One can ask why optimizing NES so much: well, because I can, and most importantly to test myself if I really can before diving into PSX optimizing. And you can spend now more time playing the old games because your battery will last more.

Someone reported that he has lag from time to time. Some time ago I had it too, but I inspect a little and it turned out that meegotouch process took something from CPU one time every minute, I removed wheather applet and the issue gone, I don't know it for sure but it was probably the cause in my case (maybe it has been refreshing the image in home screen, I don't know).

IMPORTANT!!! Please respond to it!!!

I thought about making entry at Ovi Store to be as a donation. As of now you can download previous versions from the project site. There will be a download for the new version a day after it appears in the Ovi Store. The code repository will be updated in the same time, the new release comes to Ovi Store. What you think about donation at Ovi Store tell me. Could I do that to make me a little happier or not?? As I said this is Open Source project, and it will (and must) remain free, I only want add a donation possibility.

Now we have one of the fastest, with good compatibility emulator of NES, now I am going to do the same for PSX emulation.

Link to comment
Share on other sites

  • 4 weeks later...
  • 2 months later...
  • 4 weeks later...
  • 2 weeks later...
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...

Important Information

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy