Flandry, what do you think about adding some ARM optimizations from MAME4all (e.g. Cylone and Dr80 CPU cores)? The source is available here: http://www.talfi.net/gp32_franxis/
GL ES support is not as easy as flipping a switch and it's not something i'm going to look into until it's clear it's the best way to get where i want MAME to be. There is no 3D rendering going on in MAME--it's all emulated--and from the few conversations on drawing performance i was privy to, the memory bandwidth of the device is often the limiting factor for graphics-intensive apps. I hope someone who knows the details better can pitch in with better knowledge, but my understanding is that without independent RAM of its own to use, bringing in the GPU for drawing can actually reduce performance because of extra transfers to/from RAM. Whether that's actually the case or not, the limitations of the N900 hardware compared to a PC are such that i'm not at all sure that GL ES is going to be worth the effort. I haven't done any detailed profiling yet since the update. Regarding the question of how much the PR1.1 system updates influence SDLMAME performance, here's what i found (using just a single older ROM): No hardware scaling: 34% -> 52% YUV overlay: 86% -> 88% Which is kinda what i expected as mentioned earlier. One interesting thing is that the kernel is now more occupied during execution than the mame binary is, in either case. I'm not sure what that means, but it suggests that the actual emulation is still the minor part of the cycle usage.
Still not ready to take feature requests, but i have profiled the program again and the drawing and YUV translation functins are the holdups, so i am faced with coding optimized assembler routines or implementing GL ES to pursue any significant speedup. Before doing that i will probably do more thorough testing and tweak the keymaps and other control setups to see how the current codebase compares with my expectations. As has been noticed, much of the UI is still unaltered from upstream, which is intended for PCs wih full keyboards. Community todo #3 A summary of which controls are actually important and which keys should be mapped to what is still welcome as i mentioned a while ago. Time spent messing with keymaps could probably better be spent on development.