Changes for 1.3.30+ are here
Version 1.3.29 (2011.06.16):
Android: Properly detect Xperia Play and adjust default controls
Android: Volume buttons usable in key config, in-game volume control is not available when they are assigned to actions
Android: Detect HTC Desire devices running 2.2 and enable a special OpenGL hack to prevent lock-ups
iOS: Update iControlPad code to utilize new BTstack
iOS: Automatic file-permission fixing now working again
Version 1.3.28 (2011.06.09):
Additional on-screen control size/spacing settings, Button Stagger reworked to provide more possible layouts
Classic Controller and iControlPad analog controls now simulate mappable buttons
Android: Another Classic Controller detection fix
Android: Detect more possible key codes from USB gamepads
Android: Xperia Play defaults to a more appropriate button layout
Version 1.3.27 (2011.05.27):
Updated on-screen control graphics and additional positioning options
Show a preview of the on-screen controls when setting them up
6-button pad support for on-screen controls
Version 1.3.26 (2011.05.17):
Fix a threading issues in the CD reader code causing the app to use unnecessary amounts of CPU, even when the emulation isn't active
Android: Fix Classic Controller detection
Android: Prevent accidental deletion of audio resources from Java VM
Version 1.3.25 (2011.05.07):
Fixed Bluetooth controller button I/II default mappings
When the same key is bound to multiple actions, all actions are performed when pushed, previously only the first action was performed
Improved Bluetooth controller disconnection handling (on-screen controls re-appear when all Bluetooth devices disconnect)
Android: Message pop-ups for Bluetooth controller events
Android: Support the APPLE_texture_2D_limited_npot OpenGL extension
iOS: Fix iOS 3.x compatibility
WebOS: Numeric keys (2, 4, 6, 8) now act as directional buttons in menus
Version 1.3.24 (2011.05.01):
Improve auto-frameskip accuracy to prevent irregular speed on devices with refresh rates higher than 60Hz (G2x and others)
Remove an unneeded compiler optimization causing inaccurate PSG emulation
Version 1.3.23 (2011.04.21):
Reduce possible input lag when frame skipping
Added "Alt Gamepad Confirm" option, swaps the confirm/cancel buttons on Wiimotes and iControlPads in the menu
Fix some system-specific options not saving correctly
iOS: Retina display support
iOS: Resized icons to better match stock springboard look
iOS: Better audio buffer under-run detection
Version 1.3.22 (2011.04.14):
Implemented new Auto-frameskip method and made it the default option for most platforms. Constant 1-4 frameskip removed from Android & WebOS for now since they lack the needed sync methods for an accurate implementation.
Android: Prevent touch events from getting stuck when 3 touches end at the same time
Android: Don't animate rotation on Android 3.0 since the OS already does it
Android: Properly detect and use non-power-of-2 textures on Tegra devices like the Xoom
iOS: Non-game controls now properly saved
Version 1.3.21 (2011.04.01):
Added Classic Controller support for Wiimotes, note the default keys are optimized for stand-alone Wiimotes and must be changed for the Classic Controller
Preliminary 6-button pad support, currently only keyboard and bluetooth controls can use it
Added "auto" option to On-screen Controls, causing them to hide when the keyboard or bluetooth input is in use.
Added an exit option to the menu, quits the app directly without moving it to the background
Android: The center dpad button on devices like the Droid now confirms menu selections, the same key code is used as the X button on the Xperia Play
Version 1.3.19 (2011.03.26):
Android: App stays in the background when exiting using the Home button, use the Back button to quit
Android: Screen rotation is now handled by the Android OS to make it more compatible with system pop-ups, certain phone keyboards, and Android 3.0 tablets. Auto is now the default rotation mode and respects any OS settings. A drawback is that rotations are slightly slower and cause the emulator to skip but this is an OS limitation.
Android: Enabled Direct Texture by default on all PowerVR SGX model GPUs
Android: Enabled Apps2SD
Android: Increased recognized multi-touch points from 2 to 3 (requires device support)
WebOS: Better audio buffering and lower latency
Added an 8.5mm button size
Symbolic links in the file browser are handled correctly (for example, /sdcard appears on Android devices)
Other small optimizations
Version 1.3.16 (2011.03.17):
Controls for the keyboard, Wiimotes, and the iControlPad can now be set individually
Android: More key-types are recognized by the keyboard configuration, including game controls on newer devices like the Xperia Play
Page-up/down commands for Wiimotes and iCP for faster menu scrolling
Separate options for game and menu orientation
iOS: Fix incorrect file permissions automatically
Version 1.3.15 (2011.03.03):
Added a fast scrolling mode for menus that are at least 3x the height of the screen. Start dragging from the right edge to activate. It functions similar to a scrollbar on a PC OS.
Fixed iControlPad detection on iOS & Android
iOS: Added a few more connection/error messages for Bluetooth devices
Version 1.3.14 (2011.03.02):
iOS: Fixed pairing issue with an iControlPad
iOS: Faster Bluetooth scanning when other non-input devices present & error pop-ups in case of connection errors
Version 1.3.13 (2011.02.28):
Added "Input/Player Mapping" menu option to set different input devices to specific players. Possible devices include the touch screen, keyboard, Wiimotes, and the iControlPad, depending on which OS you use.
Added support for the iControlPad Bluetooth gamepad on iOS and Android. Use the "Scan for Wiimotes/iCP" menu command to pair with it. It's also possible to pair with Wiimotes at the same time if all devices are discoverable at the time of the scan.
Version 1.3.12 (2011.02.22):
On-screen Controller improvements: More button sizes and alpha settings. Extended bounding area for face buttons, especially vertically, making them easier to push. The area in between counts as both buttons pushed at once.
Fix for audio sync issues in Sherlock Holmes CD
More descriptive error messages when loading CUE files, now displays the filename of any referenced file that can't be found
Android: The Direct Texture option is now off by default unless your device's GPU is white-listed (currently only the PowerVR SGX 530). It's still possible to turn it on manually on other GPUs, and the setting is now saved.
iOS: Fixed some problems with the audio back-end. Resolves situations where the audio stops until entering/exiting the menu.
WebOS: Added an ARMv6 build for Palm Pixi compatibility.
Version 1.3.11 (2011.02.09):
Added multiple save state slots (10 manual + 1 auto in total). The active slot is selected from the menu and existing manual states are in slot 0
On-screen controller improvements: D-pad dead zone is now a constant size for a more consistent feel between different button sizes, D-pad bounding area now extends 1.5 times its visual size making input easier, New 9mm button size, Small positioning tweaks and some new default settings.
Version 1.3.10 (2011.01.31):
Turbo I & II buttons are assignable under button config (on-screen controller support coming soon)
The .sgx file extension is now recognized in the file browser and in zip files
Android: Added screen DPI option with some common sizes for forcing the dots-per-inch on devices that incorrectly report it (so far, various Archos Tablets and the XT720). Most users should leave it on Auto unless the on-screen controller size doesn't correspond correctly to the options.
Version 1.3.9 (2011.01.26):
Fixed a problem generating save game filenames, seemed to only affect the Android ARMv6 build
Added an experimental CD emulation fix that should prevent freezes in "聖夜物語 Anearth Fantasy Stories"
Version 1.3.8 (2011.01.21):
On-screen controller improvements: D-pad center dead zone reduced and sensitivity tweaked, new settings for controlling horizontal spacing and vertical stagger added to options. More work coming in future updates.
Android: Fixed some possible crashes or hangs when Wiimotes unexpectedly disconnect, such as when holding the power button
Android: Added a workaround for devices that report wrong screen DPI values like Archos tablets
iOS: Re-added frame skip support to 3GS and later devices. Only really needed for an handful of SuperGrafx games, but may be useful if playing a game without a lot of motion and you want to extend battery life.
iOS: Added correct DPI values for iPad. Options depending on screen size like the on-screen controller should display in the exact size listed in the options. Hopefully someone can confirm this for me?
Other minor optimizations
Version 1.3.7 (2011.01.11):
Android: Added the ability to use Wiimotes over bluetooth, supports multiple controllers and menu navigation
Version 1.3.6 (2011.01.04):
iOS: Added the ability to use Wiimotes over bluetooth, supports multiple controllers and menu navigation
Version 1.3.5 (2010.12.23):
Added the ability to independently turn off the on-screen d-pad and I/II buttons in the position options.
Android: Enhanced trackball support with in-game sensitivity option and menu navigation
Android: OpenGL non-power of 2 textures enabled on supported devices for a possible speed up
Android: Optimized JNI audio code, hopefully doesn't break anything
Version 1.3.4 (2010.12.10):
Added an option to turn off texture filtering, may increase speed for certain devices at the cost of reduced image quality
Android: Fixed an issue on T-Mobile G2s (possibly other devices) causing a crash with sound on due to some incorrect JNI code
Android: Added initial trackball support for in-game control. No longer works in menus but can be used as a d-pad with no extra configuration
Android: Other minor optimizations from using new 2.3 SDK/NDK compiler
iOS: Fixed a crash when backgrounding app with a game running due to incorrect GPU access
Version 1.3.3 (2010.12.05):
Reworked On-screen controls, now taking physical screen size in account and shouldn't become giant on tablet-style devices in theory (unfortunately I have no such devices for testing yet).
Added On-screen controller configuration. Select blend level, size (in millimeters), d-pad position, I/II button position.
Android: Fixed some incorrect caching of Java objects potentially causing crashes
iOS: Removed legacy NSTimer code, now requires at least iOS 3.1
iOS: Improved CADisplayLink implementation hopefully fixing menu flickering on 3GS and improving battery life when the display is idle.
Version 1.3.2 (2010.11.28):
Fixed a buffer overflow when loading png images in the gui
Enabled loading .toc format CD images created by cdrdao
Added a simple benchmark tool that runs 180 frames of a selected game and displays the average frames/second. It does not draw the frames to the screen so it's useful as a measure of CPU performance without GPU bottlenecks and will aid in testing speed optimizations for future updates.
Other small optimizations and bug-fixes
Version 1.3.1 (2010.11.24):
Added option for selecting a CD system card, you no longer need to have syscard.pce in every directory containing CD images
Minor optimizations to multi-threading code used in CDs
Android: Prevent undefined direct texture behavior caused by accidentally unloading needed libraries. Also, to prevent confusion, the direct texture option can no longer be forced on and is dimmed out if not supported (Select it to display the reason).
iOS: Backup memory is properly saved when app is backgrounded with a game running, previously only save states were.
iOS: Includes both an armv6 and armv7 optimized version
Version 1.3.0 (2010.11.08):
Updated to Mednafen 0.9.14-wip core with various emulation fixes
16-bit image rendering enabled to decrease GPU bandwidth and improve speed for devices where this is a bottleneck
PS3: Updated to use firmware 3.41 libraries, fixes slowdowns in games that use larger than 256 pixel wide screen modes
PS3: CD images now work, but only bin+cue for now. images with external audio tracks cause a system lockup.
Version 1.2.4 (2010.11.06):
Added game orientation option and updated virtual control pad to handle portrait orientation.
Added aspect ratio option, defaults to 4:3 but can be set to 1:1 or full screen (only recommended in landscape orientation).
Fixed a possible lockup when loading CD games due to a threading issue.
Version 1.2.3 (2010.10.22):
Key configuration supports diagonal keys.
Initial support for Android direct textures which speed up screen updates on supported devices significantly. This can be toggled in the options and defaults to on if support is detected. If it defaults to off, it can still be enabled but there is no guarantee it will work. Only tested working on my Droid so far.
Running a SuperGrafx game should no longer cause the screen to shift.
Fixed a possible crash during audio initialization.
Version 1.2.2 (2010.10.14):
Key configuration added to options. Both game controls and in-game shortcut keys can be set/unset as needed.
Menu can be opened in-game by tapping the bottom right corner (top-right when held in portrait). This is useful if you unbind the open menu command and have no other way of opening the menu.
Frame skip can be set manually to Auto or 0-4. Audio stretching is used at level 0 as before, but it will become a separate option in the future.
On-screen error messages for game loading errors
Fixed a bug where a zip file without a valid .pce file could be erroneously loaded
Version 1.2.1 (2010.10.04):
Hopefully a correct fix for blank screens on Android 1.6 devices, explicitly set the surface type to use GPU memory. A special thanks to user Chris for his testing help.
Removed unused libcdio code for physical CD support
Version 1.2.0 (2010.10.01):
Removed 2x Frame Update option and replaced it with Frame Skip. It needs sound to be on and will skip frames as needed (up to 4) to keep the audio running as close to the original game speed as possible. When off, it behaves like previous versions where all frames are displayed and the audio pitch slowly shifts to sync with the video. Neither method is 100% perfect but they'll be improved in future versions.
Sound and Frame Skip options are on by default
Integrated some emulation fixes from the next version of Mednafen
Menus scroll properly when navigated with a keyboard
Fixed possible crash if the file picker started on an empty directory
Increased default font size to 3.5mm and added a Large Fonts option with 5mm fonts for larger devices. Future versions will allow arbitrary font sizes.
Some java optimizations, hopefully doesn't break anything
Version 1.1.2 (2010.09.16):
Possibly fixed Android 1.6 support by linking the correct versions of the NDK libraries
Updated input handling code in preparation for future GUI changes
Menu items are dimmed when not applicable (example, Load State is dimmed when a state is not present)
Initial sound syncing support. Still buggy, but gradually removes clicks in audio by slowing it down to the game's framerate.
Version 1.1.1 (2010.09.11):
Better orientation sensor algorithm
Optimized java code with ProGuard
Version 1.1.0 (2010.09.08):
Updated emulation back-end based on Mednafen 0.9.12-WIP and other optimizations giving a significant speed boost for all games
Arcade Card emulation added to the options, takes effect on the next game loaded
2x Frame Update added to the options, runs 2 emulation loops per frame to help with devices locked at 30fps refresh such as the HTC Evo 4G (I unfortunately don't have one to test myself, please email me if there's an improvement with this setting on), also may help devices with limited GPU bandwidth
Screen doesn't turn off when no buttons are pushed for an extended period
OpenGL initialization can handle devices which provide only 32-bit modes instead of 16-bit
Enabling/Disabling sound after a game is loaded should be more stable
Decreased orientation change sensitivity
Version 1.0.2 (2010.09.03):
Linked with libsndfile to support cue files that use iso+wav
Version 1.0.1 (2010.09.01):
CPU usage reduced when idle to conserve battery life
Fonts are rendered taking screen size into account, should fix font sizes on lower DPI devices
Scrolling deceleration fix in menus
Orientation sensor is handled properly when returning to menu after starting a game
Version 1.0.0 (2010.08.27):