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 |