MameXM

MameXM‎ > ‎

Download

Current release revision history

NOTICE : The download link is at the bottom of this page (see attachments)


-----------------------------------------------------------------------------------
1.02.168 -- released by AMZ - 2009 - Oct. 18

- Removed 'Power On' and 'Key lock' keyboard mapping.
  Is better let Symbian OS manage these keys.

- Refined audio output, to avoid gaps and clicks. Note that some background activity
  of the phone is common, so the simulation speed is not so stable
  and some gaps in the audio still remains.
  Note that starting a game with autoframeskipper needs some seconds to stabilize
  the frameskipper value, in this phase some audio gaps still remains.

- Last Scancode key pressed on Frameskipper info line (that line is activated
  with 'AUX' virtual button). That scancode is usefoul for reporting to me
  other hardware keys not actually recognized by mamexm.

- Removed profiler (code optimiziation).

- (!) Double click on game name to run ... i got MANY requests for this behavior

- (!) Added a command to reset the configuration. The configuration files
  stored in C:\System\Apps\MameXM will be wipe out. MameXM will return
  in its inital state, losing all games configurations and rom-scan results.
  So after that you must rescan roms and reconfigure games.
  This command helps you if you make a mistake in keyboard configuration
  and you cannot maps keys anymore, or if the config files are corrupted
  and games cannot start anymore.


- Tested again, against incoming sms & phone calls.
  If in-gaming, mamexm.thread going to sleep in background lefting the phone to its naural being.
  A call occurrence makes MameXM icon got the little circle means that
  the program is active in background. Reentering in MameXM and pressing the
  'resume' button will bring up the game in the in-gaming state where it has left off.

- Fully mame.thread resource cleaning on exiting the simulation.
  This should stabilize MameXM exiting, this should avoid crashes on OmniaHD.

- Mame.thread heap size is now 64 Meg (only if u got that free ram!)

- Minor code optimizations

- Minor UI improvements

- Better internal timer resolution & utilization.
 
- (!) BLT ROTATE on landscape games. The result is that
  !!! NEOGEO GAMES ARE NOW FULLY PLAYABLE IN LANDSCAPE MODE !!!
  Note : For a playable speed many of these games must be run without sound.

- (!) Adjusted screen ratio, now all games assumes a 4:3 original screen aspect.
  Now the game screen & keyboard perfectly fill all the screen

- Redirect the stdout/stderr console on files.
  This avoids nasty blank screen with console messages.

- Pure ARM 32 code generation. More speed (even 25%).
  Totally abandoned thumb code generation due slowness and other
  critical flaws in compiling a so big C++ project.

- Enabled further YM sound chipset support. This enables sound eg: in bubblebobble but
  the emulation is slow due the lack of math coprocessor. So if you want
  a playable game refresh rate you should disable the sound in many games.
  Maybe on faster omniaHD those games remain playable even with sound enabled.

- Faster virtual keyboard redraw

- Clear all screen on 'Compatibility flag' set to on, before starting a game
  With Compat.Flag sets to on the screen retains the previous window content.

- (!) Mapped the white hardware key.
  Note that some installed tools can interfere with this key.
  EG: "Handy Taskman" maps the white key in a way such that key is no more grabbable.
  So if you want to use white hardware key you should disinstall "handy taskman" and/or
  other tools that grab the hardware keys in a non standard style.
 
- Mapped 'Enter' key (for N97)

- Improved auto-frameskipper. Now the automatic frame-skip guessing
  is done one time each original FPS frames (each EE frames, see below).
  The AUX virtual button displays the frame rate line on top of screen.
  The new auto-frameskipper is more stable than before,
  but it can take some seconds to stabilize guessing the exact frameskip value for
  current running game.
  The initial auto - frameksip rate is read from 'Frameskip' game option.
  Throttling is now more accurate.
  -> This makes a more stable in-gaming video-animation and emulation speed <-

  Frameskip line format (displayed with 'AUX' key):
  AAB CCC%(DD/EE)FF,+GGG,+HHH,II,J

  where :
  AA  = "XM" for autoframeskip, "MN" for manual frame skip
  B   = "T" for throttling, " " for no throttle
  CCC = Speed relative to original game speed
  DD  = actual FPS rate (FPS=Frames Per Second)
  EE  = original FPS rate
  FF  = Frameskip rate
  GGG = Total throttle milliseconds (for the last EE frames)
  HHH = Total simulation time divergence in milliseconds (for the last EE frames)
  II  = last scancode pressed (hex)
  J   = Total resync counter (should be constant playing a game)
 
  EG:
  XMT 100%(20/60)67,+019,+005,00,1

  Means : running at the same speed of the original game, during last 60 frames elaboration i have displayed 20 of this
  frames (discarding other 40) and i have paused for 19 ms. (inter-frame) for exact speed adjustment (and audo sync).
  At the end of this 60 frames slot i got an headroom speed of 5 ms.
  Note that HHH at stability is 5 ms.
  

                    * * *

  Note that from version 108 MameXM got a new and enhanced frameskipper. Much
  better than the mame default one. This is needed for the slowness of the
  target hardware. This frameskipper can really drive a 'regular skip' from
  1 FPS to max FPS stepping displayed frames one by one. Eg: we can get a
  stable and regular 27/60 FPS or 11/30 FPS or 21/59 FPS and so on.
   
  The Frameskipper parameter means 'the percentage of skipped frames respect
  to the original FPS rate' the range is 0-99
   
  EG :
  Frameskip= 0 on a 60 FPS game means to skip  0 frames and to display 60 frames each 60 real game frames.
  Frameskip=67 on a 60 FPS game means to skip 40 frames and to display 20 frames each 60 real game frames.
  Frameskip=90 on a 60 FPS game means to skip 54 frames and to display  6 frames each 60 real game frames.
  Frameskip=99 on a 60 FPS game means to skip 59 frames and to display  1 frame  each 60 real game frames.
 
  Frameskip=50 on a 30 FPS game means to skip 15 frames and to display 15 frames each 30 real game frames.
  Frameskip=67 on a 30 FPS game means to skip 20 frames and to display 10 frames each 30 real game frames.
  Frameskip=99 on a 30 FPS game means to skip 29 frames and to display  1 frame  each 30 real game frames.


-----------------------------------------------------------------------------------
1.01.108 -- released by AMZ - 2009 - Sept. - 12

- Added/Tested compatibility with
  Nokia 5800 XM
  Nokia N97
  Samsung i8910 Omnia HD . Thanks to 'giz' for testing, he reports pacman running at 40 FPS on this device.
 
To enable Samsung compatibility please go in 'Settings' panel, find the option no. 16 'Compat.Flag' and sets it to 'ON'.

- Added the Compatibility Flag (Compat.Flag in the options) to
  enable Samsung devices, (at least Omnia HD - tested).

   
- Removed 'Camera focus' button due collision with 'Camera shutter'
  Now the 'Camera shutter' button is the only camera button recognized.

- Added N97 keycodes ('A'-'Z' and other N97 keyboard buttons).
   
- Changed default keymapping
  P1 on 'Phone red' key
  P2 on 'Camera shutter' and 'Volume -'
  P3 on 'Phone green' and 'Volume +'
  FrameRate on 'AUX' virtual key
  Profiler on 'PowerOn' button (only nokia devices)
  Pause on 'Lock slider'
   
- New frameskip algorithm. New AutoFrameskip algorithm. Now the framerate
  is matched more smoothly. New frameskip parameter can be in the range 1 to 100
  eg:
  1 = draw 100% frames each second (for a 60 FPS game, means to draw 60 FPS)
  50 = draw 50% frames each second (for a 60 FPS game, means to draw 30 FPS)
  90 = draw 10% frames each second (for a 60 FPS game, means to draw  6 FPS)
  100 = draw 1 frame per second    (for a 60 FPS game, means to draw  1 FPS)

- Enhanced sound with support for 44100 KHz Stereo Sound.

- Improved user interface

- Changed virtual keyboard layout with bigger keys. Removed the 'virtual fire' button.

- Added support for all NeoGeo (experimental) games and MarbleMadness (experimental).


-----------------------------------------------------------------------------------
1.00.080 -- released by AMZ - 2009 - July - 03

- Resolved an issue that prevents sis installation.
  The issue cause installer to abort at about 90% on a unhacked phone,
  with the sis correctly signed.
  (thanks to dailymobile.se blog friends for testing the signed installer and signaling this issue)
   
- Assigned an uid in test range 0xE0000000...0xEFFFFFFF.
  so that Symbian Open Signed Online should work (actually untested).
  The new UID is 0xE01FF433


----------------------------------------------------------------------
1.00.078 -- released by AMZ - 2009 - July - 02

- Initial release


------------------------------------------------------------------------

Licensing

This program is released to public domain and is absolutely free of any charge.

This program cannot be distribuited with game ROMS.

IN NO EVENT SHALL THE AUTHORS AND THE RELEASERS OF 'MAMEXM' BE LIABLE FOR DAMAGES OF ANY TYPE, INCLUDING BUT NOT LIMITED TO, ANY LOST PROFITS, LOSS OF DATA, OR FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THE USE OR INABILITY TO USE 'MAMEXM'.

Signing

This program is UNSIGNED this means that cannot run as is in a Symbian S60v5 device. 
Actually there is not a procedure to free sign (for all devices) a freeware application, sorry.


To run MAMEXM on your phone you can :

1) go to SymbianSigned and sign the mamexm sis downloaded from here for your own phone IMEI  -- using free Open Signed Online option -- https://www.symbiansigned.com/  -- this operation should be free of any charge. The program requires CAPABILITY SwEvent
    Notice :  this operation will enable the program just for your phone.
    Notice : Due to restrictions of signing options at simbyansigned this procedure may not work.

2) --better, much better-- hack your phone! so that it will install & run all unsigned software, for doing so you must get a full capabilites certificate for yor phone IMEI and whith this cert. you can sign an hack toolkit eg: helloox1.03, so that installing the hack toolkit will free your phone by any restriction and you can install whatever you want, signed and unsigned programs! Take a look at  http://hi.opda.cn/ they have a blog in english and registering there you can obtain a certificate + key for your phone IMEI, you can download the HelloOx V1.03 hack kit for 5800 too.
   
Notice :  with the OPDA certificate you can sign just MameXM sis package and install&run it on your still unhacked phone.


Compatibility

MameXM is tested with these devices

Nokia 5800 XM
Nokia N97
Samsung i8910 (Omnia HD)
Sony Satio
For enabling Samsung or Satio compatibility please go in 'Settings' panel and searching the option no. 16 'Compat.Flag' and set it to 'ON'.

This version should be compatible with all S60v5 devices.
If the emulation does not bring up try the Compat.Flag set to on.

Please let me know your test with other S60v5 devices, expecially with newer Nokia 5530.



* * *

2009 by amz  -- mail : mamexm at gmail.com

Attachments (1)

  • MameXM-1.02.168-unsigned-2009-Oct-18-by-AMZ.sis - on Oct 18, 2009 11:51 AM by AMZ . (version 3 / earlier versions)
    1897k Download