GithubHelp home page GithubHelp logo

rakashazi / emu-ex-plus-alpha Goto Github PK

View Code? Open in Web Editor NEW
597.0 39.0 145.0 465.02 MB

Multi-platform computer & game console emulation system including supporting code (EmuFramework) and core engine (Imagine)

License: GNU General Public License v3.0

Makefile 0.35% C++ 40.26% TeX 0.17% C 46.73% Objective-C 0.03% Shell 0.03% Perl 0.03% Assembly 7.64% Scheme 0.01% HTML 0.05% Java 0.21% Objective-C++ 0.13% Hack 0.91% SourcePawn 0.02% POV-Ray SDL 1.08% Pascal 1.50% Pawn 0.86%

emu-ex-plus-alpha's Introduction

EX Emulators

Nightly builds

Download the latest builds from continuous integration:

Name Status File
EX emulators Build Status Emulator
2600 emu Build Status Emulator
C64 emu Build Status Emulator
GBA emu Build Status Emulator
GBC emu Build Status Emulator
Lynx emu Build Status Emulator
MD emu Build Status Emulator
MSX emu Build Status Emulator
NEO emu Build Status Emulator
NES emu Build Status Emulator
NGP emu Build Status Emulator
PCE emu Build Status Emulator
Saturn emu Build Status Emulator
Snes9x EX 1.43-9 Build Status Emulator
Snes9x EX 1.43-15 Build Status Emulator
Snes9x EX Plus Build Status Emulator
Swan emu Build Status Emulator

emu-ex-plus-alpha's People

Contributors

bladeoner avatar faf0 avatar rakashazi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

emu-ex-plus-alpha's Issues

More prescale modes (x3, x4, x5)

Ideal prescale resolution should be as close as possible to output resolution. For eg. typical SNES resolution (256x239 PAL) on FHD (1920x1080) already needs a 4x prescale (239*4=956) to get optimal Pixel weighting. There are already emulators that demonstrate and prove that (eg. some MAME derivates).
Thus, it would be great if you could add some more prescaler modes (3x, 4x, 5x).

Unable to select GUI menu items using Gametel Bluetooth controller

I'm using a Gametel Bluetooth game controller with a Huawei Y300 Android phone. See http://gametel.se/ for info about the controller. It has buttons equivalent to those on a Super NES controller: D-pad, two shoulder buttons, Select, Start and four action buttons.

[As I understand it, with the Gametel original firmware (or possibly just with older Android versions) you had to use the Gametel IME. But with the later firmware it works as a Bluetooth gamepad, no need to use the Gametel IME. That's how I'm using mine.]

Anyway, I can map all the buttons in Snes9x-EX fine. And the D-pad and shoulder buttons work for navigating the menus. But none of the action buttons work to select a menu item. The upper action button does seem to function as back/up in menus though.

When mapping the action buttons, Snes9x-EX shows their names as (referring to the four buttons in a diamond shape):
upper (i.e. X on SNES pad or Y on Xbox pad): Y
left (i.e.Y on SNES or X on Xbox pad) : X
right (i.e. A on SNES, B on Xbox): C
lower (i.e. B on SNES, A on Xbox): Z

Perhaps the problem is that the button mappings used in the GUI are hard-coded, and since this controller doesn't have (what the emulator thinks are) A or B buttons, there's no way to select menu items using the controller?

So the ability to map controller button functions in the GUI could solve that. Or just hard-code X, Z or C buttons to select an item.

Unable to compile

Using an older compiled framework from July 28th, I pulled down the latest version this morning.
Try to compile the emulators, and get this error:
http://pastebin.com/fZJzxhS6

So, I purged the imagine_bundle from TMP and the imagine-sdk from USER. Rebuilt the the imagine framework, with errors. *I did successfully build the framework update in July.

Error: http://pastebin.com/ZzdLcvhR

Mac OS X 10.9

Add ability to map controller/input buttons to navigate GUI menus

It's very easy to map game controller/keyboard buttons to control the emulated console. But there doesn't seem to be a way to map buttons for the GUI menu navigation. That can be a problem if your controller doesn't work like a normal Bluetooth gamepad, because you may not be able to navigate the menus using the controller, though it works fine in-game.

The ability to map any button to any GUI/menu function, or automatically use the same mapping as in-game should solve that problem.

For example the Terios T5 gamepad has a keyboard mode. In that mode the D-pad corresponds to keyboard keys w/a/s/d, button A=2, B=3, X=1, Y=4, L1=5, L2=7, Select=Backspace etc. But I can't see any way to tell the emulator to treat the w & s keys as up/down in the menus.

(It is actually possible to navigate the menus with that controller in keyboard mode, since the left analog stick generates Up/Down/Left/Right, left stick press Back and right stick press Enter. But the D-pad and A/B buttons don't work for that.)

This feature would also solve issue #34. [So I guess that issue could be marked as a subset/duplicate of this one.]

Allow mapping multiple keys/buttons to the same emulated console button

I think the ability to map more than one button to the same emulated console button would be useful. Here are a couple of use cases.

With NES.emu I'd like to map my controller's four action buttons like this:

       [A]
    [B]   [B]
       [A]

That way, without changing the button mapping, I could play games where it's most comfortable to have thumb on B and A (left and lower buttons). Or first two fingers on B and A (left and upper buttons). And also the reverse (thumb on upper and right, or fingers on lower and right).

Many Bluetooth controllers can be set to gamepad or keyboard mode. With the ability to map multiple buttons, it would be possible to have one profile which works regardless of whether the controller is set to keyboard or gamepad mode.

Request - Remove PS3 / Wii Controller Menu from iOS Non-Jailbreak

This may be a stretch, but I have tried few times to remove the PS3 and Wii items from the Emuframework. Looking to remove just iOS devices without jailbreak for the BTStack is not available.
When removed from the code I'll get compiler errors, and I'm having hard time finding all the references.
iI possible to do this great, if not I will enjoy thing project just the same!

Shaders not being seen

All the emulators are missing or can't read the HQ2x-v.txt or the Scale2x-v.txt for iOS. I had added them to the empty Xcode project with the other assets and executable. In the prior version 1.5.19 this was working. Possible a non-jailbreak issue or the executable looking for the wrong path? But was working in the prior version. I used the empty project added the assets and created the shaders and add the TXT files. The project was compiled and working but not the shaders.
shader issues
img_0008

(iOS) arm64 Emulators

I have compiled the NES/SNES/GBA/2600/MD in arm64. I did place these into a new empty xcode project with arm64 as the architecture. The front end load screen is fine, one the executable is open is shows scrambled screen or blank with audio going nuts. I have screenshots. If you need a debug let me know how I can provide. A game is loaded with noises.
img_0167
rmv7 work fine. *If this is a work in progress I will close this issue and ignore.

version number update

I see that you're on 1.5.26 but when the new version is built reports 1.5.24 or 1.5.23 depending on emulator. Is this normal?
also the new emuframework is missing the PreScale2x from menu? I did pull down new copy.
image

missing PreScale2x.
image

GBC.emu license compliance

Gambatte is released under the GPLv2 only:

/***************************************************************************
 *   Copyright (C) 2008 by Sindre Aamås                                    *
 *   [email protected]                                         *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License version 2 as     *
 *   published by the Free Software Foundation.                            *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License version 2 for more details.                *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   version 2 along with this program; if not, write to the               *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

This license is not compatible with the GPLv3+ that Imagine is licensed under.

The simplest option would be to change the license of Imagine to GPLv2+ or a more permissive license (ISC, MIT…). There may be other options too.

imagine engine debug

The last release with iOS seems to be hitting breakpoints in the execution:
I have cleaned out imagine-sdk and recompiled with same issues. This may be nothing, but I figure I'd share. I have reverted back to 8f75d91?diff=unified and all works fine.
debug-issues


0x1002d5044: b 0x1002d4f14 ; ___lldb_unnamed_function3155$$s9xp + 488
0x1002d5048: add x8, x26, #4
0x1002d504c: movz w24, #6407
0x1002d5050: b 0x1002d4f14 ; ___lldb_unnamed_function3155$$s9xp + 488
0x1002d5054: movz w10, #32992
0x1002d5058: cmp w9, w10
0x1002d505c: b.eq 0x1002d4f10 ; ___lldb_unnamed_function3155$$s9xp + 484
0x1002d5060: movz w10, #32993
0x1002d5064: cmp w9, w10
0x1002d5068: mov x24, x9
0x1002d506c: b 0x1002d4f14 ; ___lldb_unnamed_function3155$$s9xp + 488
0x1002d5070: adr x8, #159548
0x1002d5074: nop
0x1002d5078: b 0x1002d4e80 ; ___lldb_unnamed_function3155$$s9xp + 340
0x1002d507c: adr x8, #159532
0x1002d5080: nop
0x1002d5084: b 0x1002d4e80 ; ___lldb_unnamed_function3155$$s9xp + 340
0x1002d5088: movz w10, #32836
0x1002d508c: cmp w9, w10
0x1002d5090: b.gt 0x1002d50a4 ; ___lldb_unnamed_function3155$$s9xp + 888
0x1002d5094: movz w10, #32832
0x1002d5098: cmp w9, w10
0x1002d509c: mov x24, x9
0x1002d50a0: b 0x1002d4f14 ; ___lldb_unnamed_function3155$$s9xp + 488
0x1002d50a4: movz w10, #32848
0x1002d50a8: cmp w9, w10
0x1002d50ac: b.gt 0x1002d50c0 ; ___lldb_unnamed_function3155$$s9xp + 916
0x1002d50b0: movz w10, #32837
0x1002d50b4: cmp w9, w10
0x1002d50b8: mov x24, x9
0x1002d50bc: b 0x1002d4f14 ; ___lldb_unnamed_function3155$$s9xp + 488
0x1002d50c0: movn w10, #32848
0x1002d50c4: add w10, w9, w10
0x1002d50c8: cmp w10, #7
0x1002d50cc: b.hi 0x1002d4f10 ; ___lldb_unnamed_function3155$$s9xp + 484
0x1002d50d0: movz w24, #32856
0x1002d50d4: adr x11, #256 ; ___lldb_unnamed_function3155$$s9xp + 1192
0x1002d50d8: nop
0x1002d50dc: ldrsw x10, [x11, x10, lsl #2]
0x1002d50e0: add x10, x10, x11
0x1002d50e4: br x10
0x1002d50e8: mov x21, x20
0x1002d50ec: stur w22, [fp, #-84]
0x1002d50f0: adrp x19, 573
0x1002d50f4: ldr w8, [x19, #3192]
0x1002d50f8: cmp w22, w8
0x1002d50fc: b.ne 0x1002d5104 ; ___lldb_unnamed_function3155$$s9xp + 984
0x1002d5100: str wzr, [x19, #3192]
0x1002d5104: sub x8, fp, #84
0x1002d5108: orr w0, wzr, #0x1
0x1002d510c: mov x1, x8
0x1002d5110: bl 0x1002f55ac ; symbol stub for: glDeleteTextures
0x1002d5114: sub x8, fp, #84
0x1002d5118: orr w0, wzr, #0x1
0x1002d511c: mov x1, x8
0x1002d5120: bl 0x1002f563c ; symbol stub for: glGenTextures
0x1002d5124: ldur w20, [fp, #-84]
0x1002d5128: str w20, [x21, #12]
0x1002d512c: ldr w8, [x19, #3192]
0x1002d5130: cmp w8, w20
0x1002d5134: b.eq 0x1002d5148 ; ___lldb_unnamed_function3155$$s9xp + 1052
0x1002d5138: movz w0, #3553
0x1002d513c: mov x1, x20
0x1002d5140: bl 0x1002f551c ; symbol stub for: glBindTexture
0x1002d5144: str w20, [x19, #3192]
0x1002d5148: brk #1
0x1002d514c: .long 0xfffffce0 ; unknown opcode
0x1002d5150: .long 0xfffffcd4 ; unknown opcode
0x1002d5154: .long 0xfffffcdc ; unknown opcode
0x1002d5158: .long 0xfffffcdc ; unknown opcode
0x1002d515c: .long 0xfffffce0 ; unknown opcode
0x1002d5160: .long 0xfffffcd4 ; unknown opcode
0x1002d5164: .long 0xfffffcdc ; unknown opcode
0x1002d5168: .long 0xfffffcdc ; unknown opcode
0x1002d516c: .long 0xfffffd10 ; unknown opcode
0x1002d5170: .long 0xfffffcfc ; unknown opcode
0x1002d5174: .long 0xfffffcd4 ; unknown opcode
0x1002d5178: .long 0xfffffcdc ; unknown opcode
0x1002d517c: .long 0xfffffcdc ; unknown opcode
0x1002d5180: .long 0xfffffcdc ; unknown opcode
0x1002d5184: .long 0xfffffd08 ; unknown opcode

Can't change profile name when using game controller via IME

[I edited this to reflect that the issue isn't due to a controller's own IME.]

I noticed a small issue when using a Bluetooth game controller on Android 4.1.1 (Huawei Y300 phone). Many gamepads have one or more buttons which act like keyboard keys, which causes Android to think the device is a keyboard. Android shows a select keyboard layout icon in the status bar when you connect a gamepad like that.

For example the Terios T5 controller has the right analog stick button corresponding to the Enter key (the left stick button is Back).

Because Android thinks the gamepad is a keyboard, the on-screen keyboard isn't shown when a text entry field appears, so you can't enter anything. That makes it impossible to edit the controller profile name. You have to disconnect the controller in order to be have the on-screen keyboard show again, but on doing that the emulator kicks you back to the key/gamepad menu.

Show numeric key codes when mapping unknown keys

If the emulator doesn't have a string for a key name, it shows that key as Unknown when mapping it. Having possibly several Unknown entries in the list could be confusing. So it would be helpful to also show the numeric key code, e.g. "Unknown (0x55)"

The ipega PG-9025 Bluetooth controller has media keys which are currently shown as Unknown:
KEYCODE_MEDIA_PLAY_PAUSE (0x55)
KEYCODE_MEDIA_PREVIOUS (0x58)
KEYCODE_MEDIA_NEXT (0x57)

PS3 controller issues

The PS3 controller worked wonderfully in 1.5.19. Home could be set to Menu, Select and Start could bind to their corresponding keys. But in 1.5.21 the Home button now only brings up the "Disconnect Controller" menu (unbindable as a result). And start and select both act as a single button (just start). This severely limits the usefulness of a PS3 controller which I think you had nailed in 1.5.19.

I know it probably has to do with the new MFi support, but I hope there's a way to regain the perfect PS3 support you had last version.

Commit b757c88 (VICE 2.4.20) broke C64.emu system definition (on Android, perhaps others)

Steps to reproduce:

  • Install C64.emu from commit b757c88 or later
  • Clear data
  • Start C64.emu, go to Options, note the system type is "C64 NTSC" by default
  • Load any game/app/disk, allow it to start autobooting
  • Return to Options, note the system type has changed to "C64 PAL"

(For what it's worth, I saw the same behavior when I ported my local C64.emu repo to 2.4.19 some time ago, but never figured out what's causing it. The VICE system order list and enumeration hasn't changed.)

minor UI glitch in emulators

Newest commitment has a minor glitch but emulators working. May be nothing but want to make you aware. In the menu and fast forward items.

img_0017
img_0018

FYI- New Xcode 6 Bugs

I did recompile the imagine engine first:
Hangs up then completes. *is there a config.log or debug.log during the compile? cant seem to find one?

Linking target/ios-release/bin/s9xp-arm64
WARNING: Linking two modules of different data layouts!

Linking target/ios-release/bin/s9xp-armv7
WARNING: Linking two modules of different data layouts!

Crash on launch when MOGA Controller Support is On but MOGA Pivot app is disabled

I'm using a Huawei Y300 phone which runs Android 4.1.1. I recently received a MOGA Hero Power Bluetooth controller and have been testing it with Snes9x-EX.

My phone is rooted and I have installed Device Control https://play.google.com/store/apps/details?id=org.namelessrom.devicecontrol

I have installed the MOGA Pivot app, but disabled it using Device Control. Since I have the controller set to HID mode, I figured having the Pivot app running will just waste memory.

Now Snes9x-EX crashes on launch. I think that's because it doesn't handle the case of the MOGA Pivot app being disabled when MOGA Controller Support is set to On. I re-enabled the app, and could then launch Snes9x-EX again. After setting MOGA Controller Support to Off in the emulator settings, I could disable Pivot again and launch the emulator with no problems.

Here's a section of adb logcat output that covers the crash.

E/dalvikvm(  662): GC_FOR_ALLOC freed 1439K, 30% free 11624K/16391K, paused 2ms+5ms, total 38ms
E/dalvikvm(  662): GC_CONCURRENT freed 1K, 22% free 12793K/16391K, paused 31ms+13ms, total 95ms
I/PackageParser(  426): add hwframework.jar as a optional shared library.
I/PackageParser(  426): add hwframework.jar as a optional shared library.
E/Sensors (  426): GsSensor: line +83 ~~~handle===0~~en==0~~!n
E/Sensors (  426): GsSensor::setDelay: line +114 ~~~handle===0~~ns==200000000~~
E/dalvikvm(  610): GC_CONCURRENT freed 1478K, 38% free 8780K/13955K, paused 164ms+24ms, total 262ms
E/Trace   ( 5619): error opening trace file: No such file or directory (2)
W/dalvikvm( 5619): Refusing to reopen boot DEX '/system/framework/hwframework.jar'
I/PackageParser(  426): add hwframework.jar as a optional shared library.
W/dalvikvm( 5619): Unable to resolve superclass of Lcom/imagine/PresentationHelper; (11)
W/dalvikvm( 5619): Link of class 'Lcom/imagine/PresentationHelper;' failed
E/dalvikvm( 5619): Could not find class 'com.imagine.PresentationHelper', referenced from method com.imagine.BaseActivity.presentation
W/dalvikvm( 5619): VFY: unable to resolve new-instance 119 (Lcom/imagine/PresentationHelper;) in Lcom/imagine/BaseActivity;
W/dalvikvm( 5619): Unable to resolve superclass of Lcom/imagine/PresentationHelper; (11)
W/dalvikvm( 5619): Link of class 'Lcom/imagine/PresentationHelper;' failed
I/PackageParser(  426): add hwframework.jar as a optional shared library.
I/PackageParser(  426): add hwframework.jar as a optional shared library.
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 5 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
E/MM_OSAL (  153): ValidateAACFile failed
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
I/PackageParser(  426): add hwframework.jar as a optional shared library.
I/Adreno200-EGL( 5619): <qeglDrvAPI_eglInitialize:299>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.01.21.010_msm8625_JB_REL_2.0.3_Merge_release_AU (Merge)
I/Adreno200-EGL( 5619): Build Date: 10/26/12 Fri
I/Adreno200-EGL( 5619): Local Branch: 
I/Adreno200-EGL( 5619): Remote Branch: quic/jb_rel_2.0.3
I/Adreno200-EGL( 5619): Local Patches: NONE
I/Adreno200-EGL( 5619): Reconstruct Branch: AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.01.21.010 +  NOTHING
I/PackageParser(  426): add hwframework.jar as a optional shared library.
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 5 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
E/MM_OSAL (  153): ValidateAACFile failed
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
W/dalvikvm( 5619): Invalid indirect reference 0x4165fd38 in decodeIndirectRef
E/dalvikvm( 5619): VM aborting
F/libc    ( 5619): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 5619 (lusalpha.Snes9x)
I/PackageParser(  426): add hwframework.jar as a optional shared library.
I/DEBUG   (  146): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  146): Build fingerprint: 'Huawei/Y300-0100/hwY300-0100:4.1.1/HuaweiY300-0100/C479B176:user/ota-rel-keys,release-keys'
I/DEBUG   (  146): pid: 5619, tid: 5619, name: lusalpha.Snes9x  >>> com.explusalpha.Snes9x <<<
I/DEBUG   (  146): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d
W/lights  (  426): TP Button Light current value is 0 
W/lights  (  426): button_backlight:property_get,percent =20
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 5 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
E/MM_OSAL (  153): ValidateAACFile failed
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
W/QComExtractorFactory(  153): Didn't match the sniff <=== status = 1 
I/DEBUG   (  146):     r0 00000000  r1 00000000  r2 deadd00d  r3 00000000
I/DEBUG   (  146):     r4 40ae35b8  r5 0000020c  r6 4165fd38  r7 beaae1e4
I/DEBUG   (  146):     r8 53fdd2cc  r9 53fdc6e0  sl 53fdc5b4  fp beaae4d0
I/DEBUG   (  146):     ip 00004000  sp beaadf70  lr 401bee39  pc 40a7efbc  cpsr 60000030
I/DEBUG   (  146):     d0  74726f6261204d56  d1  666572207463656e
I/DEBUG   (  146):     d2  4c22a7184c22a675  d3  4c22a7884c22a76c
I/DEBUG   (  146):     d4  0000c600140f0005  d5  140f00042b060105
I/DEBUG   (  146):     d6  2b0502040000b100  d7  00006c00140f0000
I/DEBUG   (  146):     d8  000000003f800000  d9  0000000000000000
I/DEBUG   (  146):     d10 0000000000000000  d11 0000000000000000
I/DEBUG   (  146):     d12 0000000000000000  d13 0000000000000000
I/DEBUG   (  146):     d14 0000000000000000  d15 0000000000000000
I/DEBUG   (  146):     d16 00000000000002cf  d17 0000000000000001
I/DEBUG   (  146):     d18 00c60000140f0006  d19 140f00052b000606
I/DEBUG   (  146):     d20 2b0501050000b100  d21 00006c00140f0004
I/DEBUG   (  146):     d22 140f00002b040204  d23 eb02040000c60000
I/DEBUG   (  146):     d24 3fede16b9c24a98f  d25 3fe55559ee5e69f9
I/DEBUG   (  146):     d26 0000000000000000  d27 0000000000000000
I/DEBUG   (  146):     d28 0000000000000005  d29 0000000000000000
I/DEBUG   (  146):     d30 0000000000000000  d31 0000000000000000
I/DEBUG   (  146):     scr 60000010
I/DEBUG   (  146): 
I/DEBUG   (  146): backtrace:
I/DEBUG   (  146):     #00  pc 00046fbc  /system/lib/libdvm.so (dvmAbort+75)
I/DEBUG   (  146):     #01  pc 0004b07b  /system/lib/libdvm.so (dvmDecodeIndirectRef(Thread*, _jobject*)+210)
I/DEBUG   (  146):     #02  pc 0004d053  /system/lib/libdvm.so
I/DEBUG   (  146):     #03  pc 000a9dc3  /mnt/asec/com.explusalpha.Snes9x-1/lib/libmain.so
I/DEBUG   (  146): 
I/DEBUG   (  146): stack:
I/DEBUG   (  146):          beaadf30  00000001  
I/DEBUG   (  146):          beaadf34  401edd30  [heap]
I/DEBUG   (  146):          beaadf38  401edd30  [heap]
I/DEBUG   (  146):          beaadf3c  401edd30  [heap]
I/DEBUG   (  146):          beaadf40  401edd30  [heap]
I/DEBUG   (  146):          beaadf44  401bee39  /system/lib/libc.so (__sflush_locked+36)
I/DEBUG   (  146):          beaadf48  401e8794  /system/lib/libc.so
I/DEBUG   (  146):          beaadf4c  401edd30  [heap]
I/DEBUG   (  146):          beaadf50  00000000  
I/DEBUG   (  146):          beaadf54  401bfe09  /system/lib/libc.so (_fwalk+32)
I/DEBUG   (  146):          beaadf58  40ae35b8  /system/lib/libdvm.so
I/DEBUG   (  146):          beaadf5c  0000020c  
I/DEBUG   (  146):          beaadf60  4165fd38  /dev/ashmem/dalvik-heap (deleted)
I/DEBUG   (  146):          beaadf64  beaae1e4  [stack]
I/DEBUG   (  146):          beaadf68  df0027ad  
I/DEBUG   (  146):          beaadf6c  00000000  
I/DEBUG   (  146):     #00  beaadf70  4c086b70  
I/DEBUG   (  146):          beaadf74  6c756e28  
I/DEBUG   (  146):          beaadf78  0000296c  
I/DEBUG   (  146):          beaadf7c  00000000  
I/DEBUG   (  146):          beaadf80  00000000  
I/DEBUG   (  146):          beaadf84  00000000  
I/DEBUG   (  146):          beaadf88  00000000  
I/DEBUG   (  146):          beaadf8c  00000000  
I/DEBUG   (  146):          beaadf90  00000000  
I/DEBUG   (  146):          beaadf94  00000000  
I/DEBUG   (  146):          beaadf98  00000000  
I/DEBUG   (  146):          beaadf9c  00000000  
I/DEBUG   (  146):          beaadfa0  00000000  
I/DEBUG   (  146):          beaadfa4  00000000  
I/DEBUG   (  146):          beaadfa8  00000000  
I/DEBUG   (  146):          beaadfac  00000000  
I/DEBUG   (  146):          ........  ........
I/DEBUG   (  146):     #01  beaae188  4165fd38  /dev/ashmem/dalvik-heap (deleted)
I/DEBUG   (  146):          beaae18c  00000000  
I/DEBUG   (  146):          beaae190  40cf9f00  
I/DEBUG   (  146):          beaae194  40a85057  /system/lib/libdvm.so
I/DEBUG   (  146):     #02  beaae198  beaae1a8  [stack]
I/DEBUG   (  146):          beaae19c  beaae1e4  [stack]
I/DEBUG   (  146):          beaae1a0  4165fd38  /dev/ashmem/dalvik-heap (deleted)
I/DEBUG   (  146):          beaae1a4  40d7f2e0  
I/DEBUG   (  146):          beaae1a8  40d7f2e0  
I/DEBUG   (  146):          beaae1ac  40d7f388  
I/DEBUG   (  146):          beaae1b0  beaae1dc  [stack]
I/DEBUG   (  146):          beaae1b4  beaae1e4  [stack]
I/DEBUG   (  146):          beaae1b8  40a8503b  /system/lib/libdvm.so
I/DEBUG   (  146):          beaae1bc  54084d80  
I/DEBUG   (  146):          beaae1c0  53fdd2d8  /mnt/asec/com.explusalpha.Snes9x-1/lib/libmain.so
I/DEBUG   (  146):          beaae1c4  53fa3dc5  /mnt/asec/com.explusalpha.Snes9x-1/lib/libmain.so
I/DEBUG   (  146): 
I/DEBUG   (  146): memory near r4:
I/DEBUG   (  146):     40ae3598 00000000 00000000 00000000 00000000  ................
I/DEBUG   (  146):     40ae35a8 00000000 00000000 00000000 00000000  ................
I/DEBUG   (  146):     40ae35b8 40d7f008 40352b80 00500000 08000000  ...@[email protected].....
I/DEBUG   (  146):     40ae35c8 08000000 00004000 00006000 00000001  .....@...`......
I/DEBUG   (  146):     40ae35d8 00000100 00000002 00000001 00000000  ................
I/DEBUG   (  146): 
I/DEBUG   (  146): memory near r6:
I/DEBUG   (  146):     4165fd18 4165fc78 4d57b553 4d526a51 0000001a  x.eAS.WMQjRM....
I/DEBUG   (  146):     4165fd28 6f65d637 5f74dc82 00000000 00000023  7.eo..t_....#...
I/DEBUG   (  146):     4165fd38 4165fc78 00000000 4165fd38 00000000  x.eA....8.eA....
I/DEBUG   (  146):     4165fd48 4165fd70 00000000 4165fd58 0000001b  p.eA....X.eA....
I/DEBUG   (  146):     4165fd58 40da6868 00000000 00000000 40da6f70  [email protected].@
I/DEBUG   (  146): 
I/DEBUG   (  146): memory near r7:
I/DEBUG   (  146):     beaae1c4 53fa3dc5 54084d80 beaae1e4 40cf9f00  .=.S.M.T.......@
I/DEBUG   (  146):     beaae1d4 40cf9f00 00000000 53fa3e4f 4165fd38  [email protected]>.S8.eA
I/DEBUG   (  146):     beaae1e4 40d7f2e0 ffffffff 00000000 00423370  [email protected].
I/DEBUG   (  146):     beaae1f4 00000007 00423370 401b969b ffffffff  ....p3B....@....
I/DEBUG   (  146):     beaae204 00000000 53fdc708 1d500095 beaae234  .......S..P.4...
I/DEBUG   (  146): 
I/DEBUG   (  146): memory near r8:
I/DEBUG   (  146):     53fdd2ac 2074696e 41474f4d 494e4a20 69202620  nit MOGA JNI & i
I/DEBUG   (  146):     53fdd2bc 7475706e 73797320 0a6d6574 00000000  nput system.....
I/DEBUG   (  146):     53fdd2cc 61676f6d 706c6548 00007265 634c2928  mogaHelper..()Lc
I/DEBUG   (  146):     53fdd2dc 692f6d6f 6967616d 4d2f656e 4841474f  om/imagine/MOGAH
I/DEBUG   (  146):     53fdd2ec 65706c65 00003b72 41474f4d 75706e49  elper;..MOGAInpu
I/DEBUG   (  146): 
I/DEBUG   (  146): memory near r9:
I/DEBUG   (  146):     53fdc6c0 00657a69 4c294928 72646e61 2f64696f  ize.(I)Landroid/
I/DEBUG   (  146):     53fdc6d0 70617267 73636968 6961502f 003b746e  graphics/Paint;.
I/DEBUG   (  146):     53fdc6e0 6c707061 7a695379 00000065 6e614c28  applySize...(Lan
I/DEBUG   (  146):     53fdc6f0 696f7264 72672f64 69687061 502f7363  droid/graphics/P
I/DEBUG   (  146):     53fdc700 746e6961 0056293b 65657266 657a6953  aint;)V.freeSize
I/DEBUG   (  146): 
I/DEBUG   (  146): memory near sl:
I/DEBUG   (  146):     53fdc594 29286e69 46207b20 43474152 524f4c4f  in() { FRAGCOLOR
I/DEBUG   (  146):     53fdc5a4 63203d20 726f6c6f 3b74754f 00007d20   = colorOut; }..
I/DEBUG   (  146):     53fdc5b4 72616863 6d746942 00007061 614c2928  charBitmap..()La
I/DEBUG   (  146):     53fdc5c4 6f72646e 672f6469 68706172 2f736369  ndroid/graphics/
I/DEBUG   (  146):     53fdc5d4 6d746942 003b7061 46736552 41746e6f  Bitmap;.ResFontA
I/DEBUG   (  146): 
I/DEBUG   (  146): memory near fp:
I/DEBUG   (  146):     beaae4b0 01000511 00000000 22600085 00000007  ..........`"....
I/DEBUG   (  146):     beaae4c0 00000001 00000000 2040006d 00000015  ........m.@ ....
I/DEBUG   (  146):     beaae4d0 00000101 00000001 00000001 00000001  ................
I/DEBUG   (  146):     beaae4e0 5271a6e8 beaae530 53fdd794 53fe5e1c  ..qR0......S.^.S
I/DEBUG   (  146):     beaae4f0 5271a6e8 beaae4fc 4c086bfc 17161211  ..qR.....k.L....
I/DEBUG   (  146): 
I/DEBUG   (  146): memory near ip:
I/DEBUG   (  146):     00003fe0 ffffffff ffffffff ffffffff ffffffff  ................
I/DEBUG   (  146):     00003ff0 ffffffff ffffffff ffffffff ffffffff  ................
I/DEBUG   (  146):     00004000 ffffffff ffffffff ffffffff ffffffff  ................
I/DEBUG   (  146):     00004010 ffffffff ffffffff ffffffff ffffffff  ................
I/DEBUG   (  146):     00004020 ffffffff ffffffff ffffffff ffffffff  ................
I/DEBUG   (  146): 
I/DEBUG   (  146): memory near sp:
I/DEBUG   (  146):     beaadf50 00000000 401bfe09 40ae35b8 0000020c  [email protected].@....
I/DEBUG   (  146):     beaadf60 4165fd38 beaae1e4 df0027ad 00000000  8.eA.....'......
I/DEBUG   (  146):     beaadf70 4c086b70 6c756e28 0000296c 00000000  pk.L(null)......
I/DEBUG   (  146):     beaadf80 00000000 00000000 00000000 00000000  ................
I/DEBUG   (  146):     beaadf90 00000000 00000000 00000000 00000000  ................
I/DEBUG   (  146): 
I/DEBUG   (  146): code around pc:
I/DEBUG   (  146):     40a7ef9c 34bcf8d3 ee86f7d7 461d2300 b1525d1a  ...4.....#.F.]R.
I/DEBUG   (  146):     40a7efac 18ad3301 7f00f5b3 e004d1f8 4a0a4798  .3...........G.J
I/DEBUG   (  146):     40a7efbc f7d77015 490cee7e 4a0c2006 44794c0c  .p..~..I. .J.LyD
I/DEBUG   (  146):     40a7efcc 447c447a ed30f7d7 f7d72000 6ca3edd6  zD|D..0.. .....l
I/DEBUG   (  146):     40a7efdc d1eb2b00 bf00e7eb deadd00d 0005fb24  .+..........$...
I/DEBUG   (  146): 
I/DEBUG   (  146): code around lr:
I/DEBUG   (  146):     401bee18 447e4e08 68336836 f000b10b 4620fa4c  .N~D6h3h....L. F
I/DEBUG   (  146):     401bee28 ffcaf7ff 68304605 4620b110 fa50f000  .....F0h.. F..P.
I/DEBUG   (  146):     401bee38 bd704628 0002968a 4604b570 4811b928  (Fp.....p..F(..H
I/DEBUG   (  146):     401bee48 e8bd4478 f0004070 4e0fbfcb 6836447e  [email protected]~D6h
I/DEBUG   (  146):     401bee58 b10b6833 fa2ff000 f01089a0 d1060f18  3h..../.........
I/DEBUG   (  146): 
I/DEBUG   (  146): memory map around fault addr deadd00d:
I/DEBUG   (  146):     bea8e000-beaaf000 [stack]
I/DEBUG   (  146):     (no map for address)
I/DEBUG   (  146):     ffff0000-ffff1000 [vectors]

compile errors on the newest release

I have pulled down the lastest release and purged the old TMP image files and the ones from the USER folder. Re-compied the imagine engine, and then tried to compile the emulators with errors.
No errors compiling the imagine bundles and did install as well.

The emulators build fine with 881573d

https://github.com/Rakashazi/emu-ex-plus-alpha/tree/8094fac1c114ca832f98c83c95b7e7840155e84e
I get this error below. The files are there?

include <emuframework/EmuSystem.hh>

     ^

clang -c -MMD -MP ./src/main/EmuControls.cc -DNDEBUG -isysroot /Applications/Xcode44.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -miphoneos-version-min=4.0 -arch armv6 -Ibuild/ios-release-armv6/gen -I./src -DHAVE_ASPRINTF -DPSS_STYLE=1 -DLSB_FIRST -DFRAMESKIP -DFCEU_NO_HQ_SOUND -DSysDDec=float -DSysLDDec=float -DUSE_PIX_RGB565 -I./src/fceu -I/Users/david/imagine-sdk/ios-armv6/include/c++/v1 -std=gnu++1y -Woverloaded-virtual -fno-rtti -fno-exceptions -fno-threadsafe-statics -pipe -fvisibility=hidden -Ofast -fomit-frame-pointer -fno-stack-protector -flto -DNS_BLOCK_ASSERTIONS -mdynamic-no-pic -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Wno-unused -Wno-unused-parameter -Wdisabled-optimization -Wno-attributes -o build/ios-release-armv6/obj/main/EmuControls.o

clang: warning: no such sysroot directory: '/Applications/Xcode44.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk'

./src/main/Main.cc:17:10: fatal error: 'emuframework/EmuSystem.hh' file not found

./src/main/Main.cc:17:10: fatal error#include <emuframework/EmuSystem.hh>

: ^

'emuframework/EmuSystem.hh' file not found

include <emuframework/EmuSystem.hh>

     ^

./src/main/EmuControls.cc:1:10: fatal error: 'imagine/util/preprocessor/repeat.h' file not found

include <imagine/util/preprocessor/repeat.h>

     ^

1 error generated.

1 error generated.

make[1]: *** [build/ios-release-armv6/obj/main/EmuControls.o] Error 1

make[1]: *** Waiting for unfinished jobs....

make[1]: *** [build/ios-release-armv6/obj/main/Main.o] Error 1

make: *** [ios-armv6] Error 2

make: *** Waiting for unfinished jobs....

Compiling ./src/main/EmuControls.cc

Compiling ./src/main/EmuControls.cc

clang -c -MMD -MP ./src/main/EmuControls.cc -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=7.0 -arch arm64 -Ibuild/ios-release-arm64/gen -I./src -DHAVE_ASPRINTF -DPSS_STYLE=1 -DLSB_FIRST -DFRAMESKIP -DFCEU_NO_HQ_SOUND -DSysDDec=float -DSysLDDec=float -DUSE_PIX_RGB565 -I./src/fceu -std=gnu++1y -Woverloaded-virtual -fno-rtti -fno-exceptions -fno-threadsafe-statics -stdlib=libc++ -pipe -fvisibility=hidden -Ofast -fomit-frame-pointer -fno-stack-protector -flto -DNS_BLOCK_ASSERTIONS -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Wno-unused -Wno-unused-parameter -Wdisabled-optimization -Wno-attributes -o build/ios-release-arm64/obj/main/EmuControls.o

clang -c -MMD -MP ./src/main/EmuControls.cc -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=5.0 -arch armv7 -Ibuild/ios-release-armv7/gen -I./src -DHAVE_ASPRINTF -DPSS_STYLE=1 -DLSB_FIRST -DFRAMESKIP -DFCEU_NO_HQ_SOUND -DSysDDec=float -DSysLDDec=float -DUSE_PIX_RGB565 -I./src/fceu -std=gnu++1y -Woverloaded-virtual -fno-rtti -fno-exceptions -fno-threadsafe-statics -stdlib=libc++ -pipe -fvisibility=hidden -Ofast -fomit-frame-pointer -fno-stack-protector -flto -DNS_BLOCK_ASSERTIONS -mdynamic-no-pic -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Wno-unused -Wno-unused-parameter -Wdisabled-optimization -Wno-attributes -o build/ios-release-armv7/obj/main/EmuControls.o

./src/main/EmuControls.cc:1:10: fatal error: 'imagine/util/preprocessor/repeat.h' file not found

include <imagine/util/preprocessor/repeat.h>

     ^

1 error generated.

./src/main/EmuControls.cc:1:10: fatal error: 'imagine/util/preprocessor/repeat.h' file not found

include <imagine/util/preprocessor/repeat.h>

     ^

make[1]: *** [build/ios-release-arm64/obj/main/EmuControls.o] Error 1

make[1]: *** Waiting for unfinished jobs....

1 error generated.

make[1]: *** [build/ios-release-armv7/obj/main/EmuControls.o] Error 1

make[1]: *** Waiting for unfinished jobs....

Compiling ./src/main/FceuApi.cc

clang -c -MMD -MP ./src/main/FceuApi.cc -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=5.0 -arch armv7 -Ibuild/ios-release-armv7/gen -I./src -DHAVE_ASPRINTF -DPSS_STYLE=1 -DLSB_FIRST -DFRAMESKIP -DFCEU_NO_HQ_SOUND -DSysDDec=float -DSysLDDec=float -DUSE_PIX_RGB565 -I./src/fceu -std=gnu++1y -Woverloaded-virtual -fno-rtti -fno-exceptions -fno-threadsafe-statics -stdlib=libc++ -pipe -fvisibility=hidden -Ofast -fomit-frame-pointer -fno-stack-protector -flto -DNS_BLOCK_ASSERTIONS -mdynamic-no-pic -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Wno-unused -Wno-unused-parameter -Wdisabled-optimization -Wno-attributes -o build/ios-release-armv7/obj/main/FceuApi.o

./src/main/FceuApi.cc:3:10: fatal error: 'imagine/logger/logger.h' file not found

include <imagine/logger/logger.h>

     ^

1 error generated.

make[1]: *** [build/ios-release-arm64/obj/main/Main.o] Error 1

make: *** [ios-arm64] Error 2

1 error generated.

make[1]: *** [build/ios-release-armv7/obj/main/Main.o] Error 1

1 error generated.

make[1]: *** [build/ios-release-armv7/obj/main/FceuApi.o] Error 1

make: *** [ios-armv7] Error 2

davids-Mac:NES.emu david$

Android compile error

With Rakashazi's help I was able to compile for Linux (thanks mate), but am having difficulty compiling for android. I am currently trying to make the imagine bundle. When I run the bash script it appears to have difficulty building libogg for android and refers me to /tmp/imagine-bundle/libogg/build/android-armv7/config.log. The output of that file is below; any help would be appreciated.

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

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by libogg configure 1.3.2, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ /tmp/imagine-bundle/libogg/libogg-1.3.2/configure --prefix=${pcfiledir}/../.. --disable-shared --host=arm-linux-androideabi

## --------- ##
## Platform. ##
## --------- ##

hostname = VirtualUbuntu
uname -m = x86_64
uname -r = 3.16.0-28-generic
uname -s = Linux
uname -v = #38-Ubuntu SMP Fri Dec 12 17:37:40 UTC 2014

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/games
PATH: /usr/local/games
PATH: /home/balornt/bin/android-sdk-linux
PATH: /home/balornt/bin/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2458: checking for a BSD-compatible install
configure:2526: result: /usr/bin/install -c
configure:2537: checking whether build environment is sane
configure:2592: result: yes
configure:2651: checking for arm-linux-androideabi-strip
configure:2667: found /home/balornt/bin/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip
configure:2678: result: arm-linux-androideabi-strip
configure:2743: checking for a thread-safe mkdir -p
configure:2782: result: /bin/mkdir -p
configure:2789: checking for gawk
configure:2819: result: no
configure:2789: checking for mawk
configure:2805: found /usr/bin/mawk
configure:2816: result: mawk
configure:2827: checking whether make sets $(MAKE)
configure:2849: result: yes
configure:2878: checking whether make supports nested variables
configure:2895: result: yes
configure:2980: checking whether to enable maintainer-specific portions of Makefiles
configure:2989: result: yes
configure:3019: checking for arm-linux-androideabi-gcc
configure:3046: result: arm-linux-androideabi-gcc
configure:3315: checking for C compiler version
configure:3324: arm-linux-androideabi-gcc --version >&5
arm-linux-androideabi-gcc (GCC) 4.9 20140827 (prerelease)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3335: $? = 0
configure:3324: arm-linux-androideabi-gcc -v >&5
Using built-in specs.
COLLECT_GCC=arm-linux-androideabi-gcc
COLLECT_LTO_WRAPPER=/home/balornt/bin/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.9/lto-wrapper
Target: arm-linux-androideabi
Configured with: /s/ndk-toolchain/src/build/../gcc/gcc-4.9/configure --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --target=arm-linux-androideabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpfr=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpc=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-cloog=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-isl=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-ppl=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --disable-ppl-version-check --disable-cloog-version-check --disable-isl-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --with-sysroot=/tmp/ndk-andrewhsieh/build/toolchain/prefix/sysroot --with-binutils-version=2.24 --with-mpfr-version=3.1.1 --with-mpc-version=1.0.1 --with-gmp-version=5.0.5 --with-gcc-version=4.9 --with-gdb-version=7.6 --with-python=/usr/local/google/home/andrewhsieh/mydroid/ndk/prebuilt/linux-x86_64/bin/python-config.sh --with-gxx-include-dir=/tmp/ndk-andrewhsieh/build/toolchain/prefix/include/c++/4.9 --with-bugurl=http://source.android.com/source/report-bugs.html --enable-languages=c,c++ --disable-bootstrap --enable-plugins --enable-libgomp --disable-libsanitizer --enable-gold --enable-graphite=yes --with-cloog-version=0.18.0 --with-isl-version=0.11.1 --enable-eh-frame-hdr-for-static --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold=default
Thread model: posix
gcc version 4.9 20140827 (prerelease) (GCC) 
configure:3335: $? = 0
configure:3324: arm-linux-androideabi-gcc -V >&5
arm-linux-androideabi-gcc: error: unrecognized command line option '-V'
arm-linux-androideabi-gcc: fatal error: no input files
compilation terminated.
configure:3335: $? = 1
configure:3324: arm-linux-androideabi-gcc -qversion >&5
arm-linux-androideabi-gcc: error: unrecognized command line option '-qversion'
arm-linux-androideabi-gcc: fatal error: no input files
compilation terminated.
configure:3335: $? = 1
configure:3355: checking whether the C compiler works
configure:3377: arm-linux-androideabi-gcc -D_NDK_MATH_NO_SOFTFP=1 -DANDROID --sysroot=/platforms/android-9/arch-arm -std=gnu99 -fno-common -fpic -fsingle-precision-constant -pipe -fvisibility=hidden -O2   -flto -ffat-lto-objects -ggdb -ffunction-sections -fdata-sections -Wa,--noexecstack -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float -no-canonical-prefixes -Wdouble-promotion -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Werror=strict-aliasing -fmax-errors=15 -Wno-unused -Wno-unused-parameter  -Wl,--fix-cortex-a8 -Wl,--no-warn-mismatch  -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float --sysroot=/platforms/android-9/arch-arm -no-canonical-prefixes -Wl,--no-undefined,-z,noexecstack,-z,relro,-z,now -s -Wl,-O1,--gc-sections,--compress-debug-sections=zlib,--icf=all,--as-needed -lgcc -lc -lm_hard conftest.c  >&5
/home/balornt/bin/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: No such file or directory
/home/balornt/bin/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtend_android.o: No such file or directory
/home/balornt/bin/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lc
/home/balornt/bin/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lm_hard
/home/balornt/bin/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lc
/home/balornt/bin/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot find -ldl
collect2: error: ld returned 1 exit status
configure:3381: $? = 1
configure:3419: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libogg"
| #define PACKAGE_TARNAME "libogg"
| #define PACKAGE_VERSION "1.3.2"
| #define PACKAGE_STRING "libogg 1.3.2"
| #define PACKAGE_BUGREPORT "[email protected]"
| #define PACKAGE_URL ""
| #define PACKAGE "libogg"
| #define VERSION "1.3.2"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3424: error: in `/tmp/imagine-bundle/libogg/build/android-armv7':
configure:3426: error: C compiler cannot create executables
See `config.log' for more details

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_env_CC_set=set
ac_cv_env_CC_value=arm-linux-androideabi-gcc
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-D_NDK_MATH_NO_SOFTFP=1 -DANDROID --sysroot=/platforms/android-9/arch-arm -std=gnu99 -fno-common -fpic -fsingle-precision-constant -pipe -fvisibility=hidden -O2   -flto -ffat-lto-objects -ggdb -ffunction-sections -fdata-sections -Wa,--noexecstack -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float -no-canonical-prefixes -Wdouble-promotion -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Werror=strict-aliasing -fmax-errors=15 -Wno-unused -Wno-unused-parameter'
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value='-Wl,--fix-cortex-a8 -Wl,--no-warn-mismatch  -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float --sysroot=/platforms/android-9/arch-arm -no-canonical-prefixes -Wl,--no-undefined,-z,noexecstack,-z,relro,-z,now -s -Wl,-O1,--gc-sections,--compress-debug-sections=zlib,--icf=all,--as-needed -lgcc -lc -lm_hard'
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=set
ac_cv_env_host_alias_value=arm-linux-androideabi
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=mawk
ac_cv_prog_CC=arm-linux-androideabi-gcc
ac_cv_prog_STRIP=arm-linux-androideabi-strip
ac_cv_prog_make_make_set=yes
am_cv_make_support_nested_variables=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /tmp/imagine-bundle/libogg/libogg-1.3.2/missing aclocal-1.13'
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
AR=''
AUTOCONF='${SHELL} /tmp/imagine-bundle/libogg/libogg-1.3.2/missing autoconf'
AUTOHEADER='${SHELL} /tmp/imagine-bundle/libogg/libogg-1.3.2/missing autoheader'
AUTOMAKE='${SHELL} /tmp/imagine-bundle/libogg/libogg-1.3.2/missing automake-1.13'
AWK='mawk'
CC='arm-linux-androideabi-gcc'
CCDEPMODE=''
CFLAGS='-D_NDK_MATH_NO_SOFTFP=1 -DANDROID --sysroot=/platforms/android-9/arch-arm -std=gnu99 -fno-common -fpic -fsingle-precision-constant -pipe -fvisibility=hidden -O2   -flto -ffat-lto-objects -ggdb -ffunction-sections -fdata-sections -Wa,--noexecstack -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float -no-canonical-prefixes -Wdouble-promotion -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Werror=strict-aliasing -fmax-errors=15 -Wno-unused -Wno-unused-parameter'
CPP=''
CPPFLAGS=''
CYGPATH_W='echo'
DEBUG=''
DEFS=''
DEPDIR=''
DLLTOOL=''
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
FGREP=''
GREP=''
INCLUDE_INTTYPES_H=''
INCLUDE_STDINT_H=''
INCLUDE_SYS_TYPES_H=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LD='arm-linux-androideabi-gcc'
LDFLAGS='-Wl,--fix-cortex-a8 -Wl,--no-warn-mismatch  -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float --sysroot=/platforms/android-9/arch-arm -no-canonical-prefixes -Wl,--no-undefined,-z,noexecstack,-z,relro,-z,now -s -Wl,-O1,--gc-sections,--compress-debug-sections=zlib,--icf=all,--as-needed -lgcc -lc -lm_hard'
LIBOBJS=''
LIBS=''
LIBTOOL=''
LIBTOOL_DEPS=''
LIB_AGE='8'
LIB_CURRENT='8'
LIB_REVISION='2'
LIPO=''
LN_S=''
LTLIBOBJS=''
MAINT=''
MAINTAINER_MODE_FALSE='#'
MAINTAINER_MODE_TRUE=''
MAKEINFO='${SHELL} /tmp/imagine-bundle/libogg/libogg-1.3.2/missing makeinfo'
MANIFEST_TOOL=''
MKDIR_P='/bin/mkdir -p'
NM=''
NMEDIT=''
OBJDUMP=''
OBJEXT=''
OPT=''
OTOOL64=''
OTOOL=''
PACKAGE='libogg'
PACKAGE_BUGREPORT='[email protected]'
PACKAGE_NAME='libogg'
PACKAGE_STRING='libogg 1.3.2'
PACKAGE_TARNAME='libogg'
PACKAGE_URL=''
PACKAGE_VERSION='1.3.2'
PATH_SEPARATOR=':'
PROFILE=''
RANLIB=''
SED=''
SET_MAKE=''
SHELL='/bin/bash'
SIZE16=''
SIZE32=''
SIZE64=''
STRIP='arm-linux-androideabi-strip'
USIZE16=''
USIZE32=''
VERSION='1.3.2'
ac_ct_AR=''
ac_ct_CC=''
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__include=''
am__isrc=' -I$(srcdir)'
am__leading_dot='.'
am__nodep=''
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build=''
build_alias=''
build_cpu=''
build_os=''
build_vendor=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host='arm-linux-androideabi'
host_alias='arm-linux-androideabi'
host_cpu=''
host_os=''
host_vendor=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /tmp/imagine-bundle/libogg/libogg-1.3.2/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='${pcfiledir}/../..'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "libogg"
#define PACKAGE_TARNAME "libogg"
#define PACKAGE_VERSION "1.3.2"
#define PACKAGE_STRING "libogg 1.3.2"
#define PACKAGE_BUGREPORT "[email protected]"
#define PACKAGE_URL ""
#define PACKAGE "libogg"
#define VERSION "1.3.2"

configure: exit 77

Add Support for MiFi Controllers on iOS.

Is it possible to add support for MiFi controllers to these emulators on iOS?

I'm aware that there aren't that many decent MiFi controllers out there, but it would would still be a nice addition. Thanks! ^_^

When scrolling through menus, stop or pause at top and bottom

When using a gamepad to scroll through emulator menus (on Android), pressing and holding up or down causes the highlighted item to move up or down quickly. On reaching the bottom the highlight quickly loops around to the top if you didn't release the button at exactly the right time. And vice versa on reaching the top.

Some suggestions which could make that a bit more user-friendly:

  • Slow down the repeat rate or make it user-configurable.
  • When the highlight reaches the top or bottom, require the user to release and press the button again before looping around to the other end.
  • When the highlight reaches the top/bottom, only loop around after a small delay (half a second say) to give the user enough time to release the button.

Add option to not clip display for NES

This is a small feature request.

Both PAL and NTSC NES consoles output 240 active picture lines, but NES.emu clips the top and bottom 8, showing only 224. While some NTSC TVs might have the top and bottom few lines not visible, they are output by the console. And all 240 lines are always visible on PAL consoles.

An option to show the full 240 lines would be good for a several reasons:

  • Some games put important information in the currently-blanked lines, e.g. Parodius PAL, Elite PAL.
  • The user may prefer to see more of the playfield. If using integer vertical scaling, the display may be no smaller than when only showing 224 lines, just without black bands at the top and bottom (e.g. for 480 or 720 pixel screen height).
  • Scaling a 240-line image to e.g. 1080 pixels is 4.5x scaling, a nice round ratio which should look better than scaling 224->1080 (a 135/28 ratio). Similarly, scaling a 240-line image to 600 pixels is 3.5x scaling, vs 75/28 for 224->600.

Can't compile Tremor

I have pulled the latest code and try to compile it. But I can't build the bundle completely for Android.

I use NDK_r10c.

This is my environment variables:

ANDROID_NDK_PATH=/home/ice/tools/android-ndk-r10c/
IMAGINE_PATH=/home/ice/work/emu-ex-plus-alpha/imagine/
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/ice/tools/jdk1.6.0_39/bin:/home/ice/tools/android-ndk-r10c://home/ice/tools/toolchain/arm-linux-androideabi-r10c/bin:/home/ice/tools/android-ndk-r10c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin

This is my process:
ice@ubuntu:/work/emu-ex-plus-alpha/imagine/bundle/all$
ice@ubuntu:
/work/emu-ex-plus-alpha/imagine/bundle/all$ bash makeAll-android-armv7.sh
running make on src/libogg/android-armv7.mk
Extracting libogg...
tar -mxJf libogg-1.3.2.tar.xz -C /tmp/imagine-bundle/libogg/libogg-1.3.2/..
cp ../gnuconfig/config.* /tmp/imagine-bundle/libogg/libogg-1.3.2
Configuring libogg...
dir=pwd && cd /tmp/imagine-bundle/libogg/build/android-armv7 && CC="arm-linux-androideabi-gcc" CFLAGS="-D_NDK_MATH_NO_SOFTFP=1 -DANDROID --sysroot=/home/ice/tools/android-ndk-r10c//platforms/android-9/arch-arm -std=gnu99 -fno-common -fpic -fsingle-precision-constant -pipe -fvisibility=hidden -O2 -flto -ffat-lto-objects -ggdb -ffunction-sections -fdata-sections -Wa,--noexecstack -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float -no-canonical-prefixes -Wdouble-promotion -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Werror=strict-aliasing -fmax-errors=15 -Wno-unused -Wno-unused-parameter" LD="arm-linux-androideabi-gcc" LDFLAGS="-Wl,--fix-cortex-a8 -Wl,--no-warn-mismatch -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float --sysroot=/home/ice/tools/android-ndk-r10c//platforms/android-9/arch-arm -no-canonical-prefixes -Wl,--no-undefined,-z,noexecstack,-z,relro,-z,now -s -Wl,-O1,--gc-sections,--compress-debug-sections=zlib,--icf=all,--as-needed -lgcc -lc -lm_hard"
/tmp/imagine-bundle/libogg/libogg-1.3.2/configure --prefix='${pcfiledir}/../..' --disable-shared --host=arm-linux-androideabi
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-linux-androideabi-strip... arm-linux-androideabi-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for arm-linux-androideabi-gcc... arm-linux-androideabi-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether arm-linux-androideabi-gcc accepts -g... yes
checking for arm-linux-androideabi-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of arm-linux-androideabi-gcc... gcc3
checking build system type... x86_64-unknown-linux-gnu
checking host system type... arm-unknown-linux-androideabi
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by arm-linux-androideabi-gcc... arm-linux-androideabi-gcc
checking if the linker (arm-linux-androideabi-gcc) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /home/ice/tools/android-ndk-r10c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-nm -B
checking the name lister (/home/ice/tools/android-ndk-r10c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 3458764513820540925
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to arm-unknown-linux-androideabi format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for arm-linux-androideabi-gcc option to reload object files... -r
checking for arm-linux-androideabi-objdump... arm-linux-androideabi-objdump
checking how to recognize dependent libraries... pass_all
checking for arm-linux-androideabi-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for arm-linux-androideabi-ar... arm-linux-androideabi-ar
checking for archiver @file support... @
checking for arm-linux-androideabi-strip... (cached) arm-linux-androideabi-strip
checking for arm-linux-androideabi-ranlib... arm-linux-androideabi-ranlib
checking command to parse /home/ice/tools/android-ndk-r10c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-nm -B output from arm-linux-androideabi-gcc object... ok
checking for sysroot... no
checking for arm-linux-androideabi-mt... no
checking for mt... mt
configure: WARNING: using cross tools not prefixed with host triplet
checking if mt is a manifest tool... no
checking how to run the C preprocessor... /lib/cpp
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if arm-linux-androideabi-gcc supports -fno-rtti -fno-exceptions... no
checking for arm-linux-androideabi-gcc option to produce PIC... -fPIC -DPIC
checking if arm-linux-androideabi-gcc PIC flag -fPIC -DPIC works... yes
checking if arm-linux-androideabi-gcc static flag -static works... yes
checking if arm-linux-androideabi-gcc supports -c -o file.o... yes
checking if arm-linux-androideabi-gcc supports -c -o file.o... (cached) yes
checking whether the arm-linux-androideabi-gcc linker (arm-linux-androideabi-gcc) supports shared libraries... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... unsupported
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... no
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking whether arm-linux-androideabi-gcc and cc understand -c and -o together... yes
checking for ANSI C header files... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking size of int16_t... 2
checking size of uint16_t... 2
checking size of u_int16_t... 2
checking size of int32_t... 4
checking size of uint32_t... 4
checking size of u_int32_t... 4
checking size of int64_t... 8
checking size of short... 2
checking size of int... 4
checking size of long... 4
checking size of long long... 8
checking for working memcmp... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating doc/libogg/Makefile
config.status: creating include/Makefile
config.status: creating include/ogg/Makefile
config.status: creating include/ogg/config_types.h
config.status: creating libogg.spec
config.status: creating ogg.pc
config.status: creating ogg-uninstalled.pc
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Building libogg...
make -C /tmp/imagine-bundle/libogg/build/android-armv7/src libogg.la
make[1]: Entering directory /tmp/imagine-bundle/libogg/build/android-armv7/src' make[2]: Entering directory/tmp/imagine-bundle/libogg/build/android-armv7'
make[2]: Leaving directory /tmp/imagine-bundle/libogg/build/android-armv7' /bin/bash ../libtool --tag=CC --mode=compile arm-linux-androideabi-gcc -DHAVE_CONFIG_H -I. -I/tmp/imagine-bundle/libogg/libogg-1.3.2/src -I.. -I/tmp/imagine-bundle/libogg/libogg-1.3.2/include -I../include -O20 -Wall -ffast-math -fsigned-char -D_NDK_MATH_NO_SOFTFP=1 -DANDROID --sysroot=/home/ice/tools/android-ndk-r10c//platforms/android-9/arch-arm -std=gnu99 -fno-common -fpic -fsingle-precision-constant -pipe -fvisibility=hidden -O2 -flto -ffat-lto-objects -ggdb -ffunction-sections -fdata-sections -Wa,--noexecstack -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float -no-canonical-prefixes -Wdouble-promotion -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Werror=strict-aliasing -fmax-errors=15 -Wno-unused -Wno-unused-parameter -MT framing.lo -MD -MP -MF .deps/framing.Tpo -c -o framing.lo /tmp/imagine-bundle/libogg/libogg-1.3.2/src/framing.c libtool: compile: arm-linux-androideabi-gcc -DHAVE_CONFIG_H -I. -I/tmp/imagine-bundle/libogg/libogg-1.3.2/src -I.. -I/tmp/imagine-bundle/libogg/libogg-1.3.2/include -I../include -O20 -Wall -ffast-math -fsigned-char -D_NDK_MATH_NO_SOFTFP=1 -DANDROID --sysroot=/home/ice/tools/android-ndk-r10c//platforms/android-9/arch-arm -std=gnu99 -fno-common -fpic -fsingle-precision-constant -pipe -fvisibility=hidden -O2 -flto -ffat-lto-objects -ggdb -ffunction-sections -fdata-sections -Wa,--noexecstack -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float -no-canonical-prefixes -Wdouble-promotion -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Werror=strict-aliasing -fmax-errors=15 -Wno-unused -Wno-unused-parameter -MT framing.lo -MD -MP -MF .deps/framing.Tpo -c /tmp/imagine-bundle/libogg/libogg-1.3.2/src/framing.c -o framing.o mv -f .deps/framing.Tpo .deps/framing.Plo /bin/bash ../libtool --tag=CC --mode=compile arm-linux-androideabi-gcc -DHAVE_CONFIG_H -I. -I/tmp/imagine-bundle/libogg/libogg-1.3.2/src -I.. -I/tmp/imagine-bundle/libogg/libogg-1.3.2/include -I../include -O20 -Wall -ffast-math -fsigned-char -D_NDK_MATH_NO_SOFTFP=1 -DANDROID --sysroot=/home/ice/tools/android-ndk-r10c//platforms/android-9/arch-arm -std=gnu99 -fno-common -fpic -fsingle-precision-constant -pipe -fvisibility=hidden -O2 -flto -ffat-lto-objects -ggdb -ffunction-sections -fdata-sections -Wa,--noexecstack -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float -no-canonical-prefixes -Wdouble-promotion -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Werror=strict-aliasing -fmax-errors=15 -Wno-unused -Wno-unused-parameter -MT bitwise.lo -MD -MP -MF .deps/bitwise.Tpo -c -o bitwise.lo /tmp/imagine-bundle/libogg/libogg-1.3.2/src/bitwise.c libtool: compile: arm-linux-androideabi-gcc -DHAVE_CONFIG_H -I. -I/tmp/imagine-bundle/libogg/libogg-1.3.2/src -I.. -I/tmp/imagine-bundle/libogg/libogg-1.3.2/include -I../include -O20 -Wall -ffast-math -fsigned-char -D_NDK_MATH_NO_SOFTFP=1 -DANDROID --sysroot=/home/ice/tools/android-ndk-r10c//platforms/android-9/arch-arm -std=gnu99 -fno-common -fpic -fsingle-precision-constant -pipe -fvisibility=hidden -O2 -flto -ffat-lto-objects -ggdb -ffunction-sections -fdata-sections -Wa,--noexecstack -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float -no-canonical-prefixes -Wdouble-promotion -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Werror=strict-aliasing -fmax-errors=15 -Wno-unused -Wno-unused-parameter -MT bitwise.lo -MD -MP -MF .deps/bitwise.Tpo -c /tmp/imagine-bundle/libogg/libogg-1.3.2/src/bitwise.c -o bitwise.o mv -f .deps/bitwise.Tpo .deps/bitwise.Plo /bin/bash ../libtool --tag=CC --mode=link arm-linux-androideabi-gcc -O20 -Wall -ffast-math -fsigned-char -D_NDK_MATH_NO_SOFTFP=1 -DANDROID --sysroot=/home/ice/tools/android-ndk-r10c//platforms/android-9/arch-arm -std=gnu99 -fno-common -fpic -fsingle-precision-constant -pipe -fvisibility=hidden -O2 -flto -ffat-lto-objects -ggdb -ffunction-sections -fdata-sections -Wa,--noexecstack -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float -no-canonical-prefixes -Wdouble-promotion -Wall -Wextra -Wno-comment -Wno-missing-field-initializers -Werror=strict-aliasing -fmax-errors=15 -Wno-unused -Wno-unused-parameter -no-undefined -version-info 8:2:8 -Wl,--fix-cortex-a8 -Wl,--no-warn-mismatch -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mhard-float --sysroot=/home/ice/tools/android-ndk-r10c//platforms/android-9/arch-arm -no-canonical-prefixes -Wl,--no-undefined,-z,noexecstack,-z,relro,-z,now -s -Wl,-O1,--gc-sections,--compress-debug-sections=zlib,--icf=all,--as-needed -lgcc -lc -lm_hard -o libogg.la -rpath /../../lib framing.lo bitwise.lo libtool: link: arm-linux-androideabi-ar cru .libs/libogg.a framing.o bitwise.o libtool: link: arm-linux-androideabi-ranlib .libs/libogg.a libtool: link: ( cd ".libs" && rm -f "libogg.la" && ln -s "../libogg.la" "libogg.la" ) make[1]: Leaving directory/tmp/imagine-bundle/libogg/build/android-armv7/src'
Installing libogg to: /home/ice/imagine-sdk/android-armv7
cp /tmp/imagine-bundle/libogg/build/android-armv7/src/.libs/libogg.a /home/ice/imagine-sdk/android-armv7/lib/
cp /tmp/imagine-bundle/libogg/libogg-1.3.2/include/ogg/.h /home/ice/imagine-sdk/android-armv7/include/ogg/
cp /tmp/imagine-bundle/libogg/build/android-armv7/include/ogg/
.h /home/ice/imagine-sdk/android-armv7/include/ogg/
cp /tmp/imagine-bundle/libogg/build/android-armv7/ogg.pc /home/ice/imagine-sdk/android-armv7/lib/pkgconfig/
running make on src/tremor/android-armv7.mk
android-armv7.mk:5: *** missing separator. Stop.
ice@ubuntu:~/work/emu-ex-plus-alpha/imagine/bundle/all$

It seems that libogg has been built, but it be interupted when build tremor.

I try to change to the tremor directory and build it, but still failed.

ice@ubuntu:/work/emu-ex-plus-alpha/imagine$ cd bundle/all/src/tremor/
ice@ubuntu:
/work/emu-ex-plus-alpha/imagine/bundle/all/src/tremor$ ls
android-armv6.mk config.mk ios-armv7s.mk tremor-autoconf-1.13-fix.patch webos-armv7.mk
android-armv7.mk ios-armv6.mk ps3.mk tremor-remove-old-ogg-test.patch
common.mk ios-armv7.mk Tremor webos-armv6.mk
ice@ubuntu:/work/emu-ex-plus-alpha/imagine/bundle/all/src/tremor$ make -f android-armv7.mk
android-armv7.mk:5: *** missing separator. Stop.
ice@ubuntu:
/work/emu-ex-plus-alpha/imagine/bundle/all/src/tremor$

Please give me some suggests, THX

Updated BTstack license-incompatible with GNU GPL?

This is about the recent commit 4dcf671, "Update bundled BTstack"

The updated BTstack source files have a new/additional clause in the copyright/licensing info:

    1. Any redistribution, use, or modification is done solely for
  • personal benefit and not for any commercial purpose or for
  • monetary gain.

I think that is not compatible with the GNU GPL v3, which does allow commercial use and redistribution for monetary gain.

Add ability to map button combos to functions

The ability to map button combinations would be useful. Here are a couple of use cases.

When using a physical controller with a limited number of buttons (e.g. Gametel), there may not be any spare buttons for mapping to functions like load game, open menu etc. The user could map a combination that's unlikely to be used by any game (e.g. L+R+X+Y) to that function.

Even if the controller does have some spare buttons, mapping button combos could be useful to reduce the risk of accidental button presses (e.g. if you have buttons mapped to load state or save state).

Subtle graphical problem with scanlines overlay effect

I'm using a Huawei Y300 phone (Android 4.1.1, Adreno 203, 800x480 screen). I noticed a problem with the image when the scanlines overlay effect is enabled. This is with NES.emu, but probably applies to the other emulators. The effect is very subtle, it was just easiest to see with the blue background of Super Mario Bros.

It happens even with integer scaling and no linear filtering. If you imagine the NES display split into two triangles (lower-left and upper-right), the upper-right triangle shows a subtle glitch. See the attached image.

screenshot_2015-07-05-07-13-17

The problem doesn't happen when the scanlines overlay effect is disabled.

Scanline overlays

The scanline overlays on MD.emu 1.5.28 as well as any any other releases are broken. No matter which resolution these overlays produce white halos every few lines. The problem is most evident on plain backgrounds with darker colours. Phone z3 sony 1080p.

Using "Exit" Crashes splashboardd on iOS 8.4.

Using the "Exit" option in any of the .emu emulators on jailbroken iOS 8.4 causes splashboardd to crash.

In the syslog, the reason is stated, "There doesn't appear to be a valid compiled storyboard."

This is a very minor crash (many AppStore Apps also cause splashboardd to crash), but I just though you should be aware.

I can send crashlogs and syslog if you would like. Thanks! ^_^

MSX.emu machine name path too short

If the name of a MSX.emu machine folder is too long, it gets truncated and isn't saved or accessed correctly. For example, I put "MSX2 - Daewoo Zemmix CPG-120 Normal/" in /storage/sdcard0/MSX.emu/Machines/ and it gets truncated to "MSX2 - Daewoo Zemmix CP". I've tried increasing optionMachineNameStr's size and forcing optionMachineName's size with no luck. Renaming the folder and editing config.ini appropriately works, but is kind of annoying.

Add built-in mappings for more Bluetooth game controllers

I have several Bluetooth gamepads. It would be nice if default button mappings could be added for them. I tested using a Huawei Y300 phone which runs Android 4.1.1.

If the ability to map multiple keys to the same console button (issue #44) is implemented, you could map all buttons so the controllers work whether set to gamepad or keyboard mode.

Mayflash AD001 PS2 Controller Bluetooth Adaptor

http://www.mayflash.com/products/iphoneipad/ad001.html

This product allows PlayStation 2 controllers to be connected via Bluetooth. Like various other Bluetooth controllers it has several modes: gamepad, keyboard and iCade.

Key codes for gamepad, keyboard, iCade modes:
D-pad U/D/L/R: POV Up/Down/Left/Right, w/s/a/d, we/xz/aq/dc
Left analog stick U/D/L/R: Y Axis-/Y Axis+/X Axis-/X Axis+, Up/Down/Left/Right arrows, we/xz/aq/dc
Right analog stick U/D/L/R: Y Axis- 2/Y Axis+ 2/X Axis- 2/X Axis+ 2, i/k/j/l, [none]
L1: L1, 5, im
L2: L2, 7, og
L3 (left stick button): C, og
R1: R1, 6, kp
R2: R2, 8, lv
R3 (right stick button): Z, 0, lv
Select: Select, Backspace, og
Start: Start, Enter (keyboard Return), lv
Cross: A, 2, hr
Circle: B, 3, uf
Square: X, 1, yt
Triangle: Y, 4, jn

OnLive Universal Wireless Controller

Picture:
http://4.bp.blogspot.com/-sdEup_tSB08/UKU_f1BQ_dI/AAAAAAAACsE/ArKeyygM3OQ/s1600/universal_onlive_wireless_controller.jpg

This dual-mode controller can work over Bluetooth, or via a proprietary(?) protocol with the included USB adapter. Up to four controllers can be paired with the USB adapter.

Bluetooth device name: "OnLive Wireless Controller"
USB adapter device names as shown in Snes9x-EX:
OnLive OnLive Wireless Adapter
OnLive OnLive Wireless Adapter #2
OnLive OnLive Wireless Adapter #3
OnLive OnLive Wireless Adapter #4

The left and right triggers (LT and RT) are analog, but also report key codes when fully pressed. On my controller at least, I have to press them quite hard to get the key codes.
Long-pressing the OnLive button turns the controller off.
The "^" button is used for pairing the controller. You press ^ and the OnLive button to initiate pairing. In Snes9x-EX the ^ button is not recognised/detected, so it's not possible to map it. However I used Gamepad Tester (https://play.google.com/store/apps/details?id=com.chiarly.gamepad), which reports the ^ button generating keycode 0 presses and releases. Keycode 0 = KEYCODE_UNKNOWN ???

[I used usbhid-dump to dump the HID data stream and can post info on which bit corresponds to ^ and other buttons if it will help. But maybe the Android emulators don't work at that low a level?]

D-pad U/D/L/R: POV U/D/L/R
Left analog stick U/D/L/R: Y Axis-/Y Axis+/X Axis-/X Axis+
Right analog stick U/D/L/R: Y Axis- 3/Y Axis+ 3/X Axis- 3/X Axis+ 3
Left stick button: L-Thumb
Right stick button: R-Thumb
LB: L1
LT: X Axis+ 2, keycode 0x59 (KEYCODE_MEDIA_REWIND) when fully pressed
RB: R1
RT: Y Axis+ 2, keycode 0x5A (KEYCODE_MEDIA_FAST_FORWARD) when fully pressed
Select: Select
Start: Start
A/B/X/Y: A/B/X/Y
OnLive: Mode
<< : 0x59 (KEYCODE_MEDIA_REWIND)
>> : 0x5A (KEYCODE_MEDIA_FAST_FORWARD)
o : 0x82 (KEYCODE_MEDIA_RECORD)
>|| : 0x55 (KEYCODE_MEDIA_PLAY_PAUSE)
^ : 0x00 (KEYCODE_UNKNOWN)

MOGA Hero Power

http://www.mogaanywhere.com/controllers/heropower
Pictures:
http://www.androidrundown.com/wp-content/uploads/2013/11/MOGAHEROPOWER-5.jpg
http://www.androidrundown.com/wp-content/uploads/2013/11/MOGAHEROPOWER-4.jpg

This controller can be set to two modes. Mode A requires the Moga Pivot app and seems to have worse latency than mode B. Mode B functions as a standard HID gamepad.

The mode A Bluetooth device name is "Moga 2", mode B name is "Moga 2 HID"
Bit 7 of the fourth byte of the Bluetooth address is 0 when the controller is in mode A, 1 when in mode B.
In mode B all buttons function as expected, except the left analog stick button is Back (not L-Thumb).

Terios T-5

Picture:
http://g03.a.alicdn.com/kf/HTB1TFkeIpXXXXaiXFXXq6xXFXXX7/2015-Hot-Sell-T5-Wireless-Bluetooth-Gamepad-Gaming-Game-Controller-BT-3-0-Joystick-with-Stand.jpg

This controller can be used in gamepad, keyboard and iCade modes.

Bluetooth device name: "Bluetooth Gamepad"

# hcitool inq
Inquiring ...
    00:17:00:00:1A:3D   clock offset: 0x2851    class: 0x002540

# hcitool info 00:17:00:00:1A:3D
Requesting information ...
    BD Address:  00:17:00:00:1A:3D
    Device Name: Bluetooth Gamepad
    LMP Version: 3.0 (0x5) LMP Subversion: 0xc
    Manufacturer: not assigned (771)
    Features page 0: 0xbf 0x06 0x86 0x78 0x18 0x1e 0x59 0x87
        <3-slot packets> <5-slot packets> <encryption> <slot offset> 
        <timing accuracy> <role switch> <sniff mode> <RSSI> 
        <channel quality> <paging scheme> <power control> 
        <broadcast encrypt> <enhanced iscan> <interlaced iscan> 
        <interlaced pscan> <inquiry with RSSI> <AFH cap. slave> 
        <AFH class. slave> <sniff subrating> <pause encryption> 
        <AFH cap. master> <AFH class. master> <extended inquiry> 
        <simple pairing> <encapsulated PDU> <non-flush flag> <LSTO> 
        <inquiry TX power> <EPC> <extended features> 
    Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    Features page 2: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00

When in gamepad, keyboard, iCade modes:
D-pad U/D/L/R: POV U/D/L/R, w/s/a/d, we/xz/aq/dc
Left stick U/D/L/R: Y Axis-/Y Axis+/X Axis-/X Axis+, Up/Down/Left/Right [arrows], we/xz/aq/dc
Right stick U/D/L/R: Y Axis- 2/Y Axis+ 2/X Axis- 2/X Axis+ 2, i/k/j/l, [none]
Left stick button: Back (same for all three modes)
Right stick button: Enter (same for all three modes)
Select: Select, Backspace, og
Start: Start, Enter, lv
A/B/X/Y: A/B/X/Y, 2/3/1/4, hr/jn/yt/uf
LB: L1, 5, im
LT: L2, 7, og
RB: R1, 6, kp
RT: R2, 8, lv

The ipega controllers have gamepad, keyboard and iCade modes. Keys below are shown for gamepad, keyboard then iCade modes. The controllers' four action buttons (A/B/X/Y) are in the same relative positions as on an Xbox controller.

ipega PG-9017S

Small controller with extending holder for phone. Only a single pair of shoulder buttons (L/R). Small analog sticks do not have buttons.
Picture: http://img.alibaba.com/img/pb/948/539/574/574539948_586.jpg

Bluetooth device name: "ipega gamepad controller"

# hcitool inq
Inquiring ...
    00:17:02:01:15:FE   clock offset: 0x1722    class: 0x002540

# hcitool info 00:17:02:01:15:FE
Requesting information ...
    BD Address:  00:17:02:01:15:FE
    Device Name: ipega gamepad controller
    LMP Version: 3.0 (0x5) LMP Subversion: 0xc
    Manufacturer: not assigned (771)
    Features page 0: 0xb7 0x06 0x86 0x78 0x18 0x1e 0x59 0x87
        <3-slot packets> <5-slot packets> <encryption> 
        <timing accuracy> <role switch> <sniff mode> <RSSI> 
        <channel quality> <paging scheme> <power control> 
        <broadcast encrypt> <enhanced iscan> <interlaced iscan> 
        <interlaced pscan> <inquiry with RSSI> <AFH cap. slave> 
        <AFH class. slave> <sniff subrating> <pause encryption> 
        <AFH cap. master> <AFH class. master> <extended inquiry> 
        <simple pairing> <encapsulated PDU> <non-flush flag> <LSTO> 
        <inquiry TX power> <EPC> <extended features> 
    Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    Features page 2: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00

D-pad U/D/L/R: POV U/D/L/R, Up/Down/Left/Right arrows, we/xz/aq/dc
Left analog stick U/D/L/R: Y Axis-/Y Axis+/X Axis-/X Axis+, Up/Down/Left/Right arrows, we/xz/aq/dc
Right analog stick U/D/L/R: Y Axis- 2/Y Axis+ 2/X Axis- 2/X Axis+ 2, [none], [none]
L: L1, q, im
R: R1, p, kp
Select: L2, r, [none]
Start: R2, y, [none]
A/B/X/Y: A/B/X/Y, j/k/m/i, uf/hr/jn/yt

ipega PG-9023

Extending/telescopic controller, tablet/phone can fit in the middle.
Picture:
http://i01.i.aliimg.com/wsphoto/v2/32225206219_3/Newest-iPega-PG-9023-Wireless-Bluetooth-Game-Pad-Controller-For-Cellphone-Tablet-iPod-PC-Game-Console.jpg

Bluetooth device name: "ipega Extending Game Controller"

# hcitool info 58:6B:2B:9A:A8:2F
Requesting information ...
    BD Address:  58:6B:2B:9A:A8:2F
    Device Name: ipega Extending Game Controller
    LMP Version: 3.0 (0x5) LMP Subversion: 0xc
    Manufacturer: not assigned (771)
    Features page 0: 0xbf 0x06 0x86 0x78 0x18 0x1e 0x59 0x87
        <3-slot packets> <5-slot packets> <encryption> <slot offset> 
        <timing accuracy> <role switch> <sniff mode> <RSSI> 
        <channel quality> <paging scheme> <power control> 
        <broadcast encrypt> <enhanced iscan> <interlaced iscan> 
        <interlaced pscan> <inquiry with RSSI> <AFH cap. slave> 
        <AFH class. slave> <sniff subrating> <pause encryption> 
        <AFH cap. master> <AFH class. master> <extended inquiry> 
        <simple pairing> <encapsulated PDU> <non-flush flag> <LSTO> 
        <inquiry TX power> <EPC> <extended features> 
    Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    Features page 2: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00

D-pad U/D/L/R: POV U/D/L/R, w/s/a/d, we/xz/aq/dc
Left analog stick U/D/L/R: Y Axis-/Y Axis+/X Axis-/X Axis+, Up/Down/Left/Right arrows, we/xz/aq/dc
Right analog stick U/D/L/R: Y Axis- 2/Y Axis+ 2/X Axis- 2/X Axis+ 2, i/k/j/l, [none]
L: L1, 5, im
L2: L2, 7, og
Left stick button: L-Thumb, 9, og
R: R1, 6, kp
R2: R2, 8, lv
Right stick button: R-Thumb, 0, lv
Select: Select, Backspace, og
Start: Start, Enter, lv
A/B/X/Y: A/B/X/Y, 2/3/1/4, hr/uf/yt/jn
The five media buttons have the same function in all three modes:
Vol-: Vol Down
Vol+: Vol Up
Skip back: 0x58 = KEYCODE_MEDIA_PREVIOUS
Skip forward: 0x57 = KEYCODE_MEDIA_NEXT
Play/Pause: 0x55 = KEYCODE_MEDIA_PLAY_PAUSE

ipega PG-9025

Controller with extending holder for phone. Successor model to PG-9017S? Two full-size analog sticks with buttons. Two pairs of shoulder buttons; L2 & R2 are on the back of the controller.
Picture:
http://ecx.images-amazon.com/images/I/61ek9p4PRYL._SL1000_.jpg

Bluetooth device name: "ipega media gamepad controller"

# hcitool inq
Inquiring ...
    00:17:02:01:00:01   clock offset: 0x686c    class: 0x002540

# hcitool info 00:17:02:01:00:01
Requesting information ...
    BD Address:  00:17:02:01:00:01
    Device Name: ipega media gamepad controller
    LMP Version: 3.0 (0x5) LMP Subversion: 0xc
    Manufacturer: not assigned (771)
    Features page 0: 0xb7 0x06 0x86 0x78 0x18 0x1e 0x59 0x87
        <3-slot packets> <5-slot packets> <encryption> 
        <timing accuracy> <role switch> <sniff mode> <RSSI> 
        <channel quality> <paging scheme> <power control> 
        <broadcast encrypt> <enhanced iscan> <interlaced iscan> 
        <interlaced pscan> <inquiry with RSSI> <AFH cap. slave> 
        <AFH class. slave> <sniff subrating> <pause encryption> 
        <AFH cap. master> <AFH class. master> <extended inquiry> 
        <simple pairing> <encapsulated PDU> <non-flush flag> <LSTO> 
        <inquiry TX power> <EPC> <extended features> 
    Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    Features page 2: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00

D-pad U/D/L/R: POV U/D/L/R, w/s/a/d, we/xz/aq/dc
Left analog stick U/D/L/R: Y Axis-/Y Axis+/X Axis-/X Axis+, Up/Down/Left/Right arrows, we/xz/aq/dc
Right analog stick U/D/L/R: Y Axis- 2/Y Axis+ 2/X Axis- 2/X Axis+ 2, i/k/j/l, [none]
L1: Y, 5, im
L2: L1, 7, og
Left stick button: L-Thumb, 9, og
R1: Z, 6, kp
R2: R1, 8, lv
Right stick button: R-Thumb, 0, lv
Select: L2, Backspace, og
Start: R2, Enter (keyboard Return), lv
A: B, 2, hr
B: C, 3, uf
X: A, 1, yt
Y: X, 4, jn
The five media buttons have the same function in all three modes:
Vol-: Vol Down
Vol+: Vol Up
Skip back: 0x58 = KEYCODE_MEDIA_PREVIOUS
Skip forward: 0x57 = KEYCODE_MEDIA_NEXT
Play/Pause: 0x55 = KEYCODE_MEDIA_PLAY_PAUSE

Add variable side/top/bottom image clipping

Games on some consoles don't use the full number of scanlines the console is capable of outputting. For example on the Super NES, Street Fighter II uses fewer than the usual 224 lines, leaving some blank at the top and bottom. Gods leaves blank lines at the bottom only.

Also, many NES games which use scrolling have garbage in the leftmost or rightmost pixels of each line.

If the user could specify how many pixels to skip/ignore when rendering the output image, that could have several benefits:

  • It would allow the scaled image to be larger, very useful on small screens. And no blank strips at top/bottom of the output image.
  • It would allow for "nicer" scaling ratios, e.g. 216->1080 is exactly 5x, 216->540 is 2.5x, 200->600 is 3x
  • The user could hide garbage pixels if they prefer that.

Exactly which lines and how many are blanked vary from game to game. So while a global setting would be good, game-specific settings could be helpful.

In fact, if in addition to clipping, the user could specify padding (effectively, clipping a negative number of pixels) that could also be helpful. By adjusting the padding, the user could force the emulator to scale the image by a nice round ratio to minimise scaling artifacts. For example padding 224 lines to 240 would mean the image gets scaled 4.5x on a 1080-pixel high screen.

C64.emu will not allow soft/hard reset selection

After the soft/hard reset change, other emulators (i.e. 2600.emu) supports selection of soft or hard reset, but C64.emu (despite having support for it) does not - the dialog simply says "Really Reset?".

neo

Hi Rakashazi,
I have compiled the neo emulation,follow all the steps on the "http://www.explusalpha.com",but it also popup a messege "Can't find driver for" on my device while click on the game's zip file.I am very appreciative of your help.

Record "Play Time"

This would be a cool enhancement for all supported emulators. Just a way to embed the "play time" of a game.

This could be recorded as a part of the autosave (or save states in general).

Just a thought :)

linker unrecognized option '--compress-debug-sections=zlib'

I am trying to compile on archlinux using the linux-x86_64-release.mk makefiles. I am using gcc 4.9.2 and ld 2.24. The imagine and EmuFramework libraries both built successfully, but I can't get Snes9x or GBA.emu to build. When I try I eventually get this error, "/usr/bin/ld: unrecognized option '--compress-debug-sections=zlib'. I'll try compiling on an ubuntu machine as others seem to have better results with that flavor, but any help with this would be appreciated.

Edit 1: I just tried again with Ubuntu 14.10 using gcc 4.9.1 and ld 2.24 and got the same result. Here is detailed output of the failure:

make -f linux-x86_64-release.mk V=1 t=2
Linking target/linux/s9xp
g++ -o target/linux/s9xp build/linux-x86_64-release/obj/main/Main.o build/linux-x86_64-release/obj/main/S9XApi.o build/linux-x86_64-release/obj/main/EmuControls.o build/linux-x86_64-release/obj/main/Cheats.o build/linux-x86_64-release/obj/snes9x/bsx.o build/linux-x86_64-release/obj/snes9x/c4.o build/linux-x86_64-release/obj/snes9x/c4emu.o build/linux-x86_64-release/obj/snes9x/cheats.o build/linux-x86_64-release/obj/snes9x/cheats2.o build/linux-x86_64-release/obj/snes9x/clip.o build/linux-x86_64-release/obj/snes9x/controls.o build/linux-x86_64-release/obj/snes9x/cpu.o build/linux-x86_64-release/obj/snes9x/cpuexec.o build/linux-x86_64-release/obj/snes9x/cpuops.o build/linux-x86_64-release/obj/snes9x/dma.o build/linux-x86_64-release/obj/snes9x/dsp.o build/linux-x86_64-release/obj/snes9x/dsp1.o build/linux-x86_64-release/obj/snes9x/dsp2.o build/linux-x86_64-release/obj/snes9x/dsp3.o build/linux-x86_64-release/obj/snes9x/dsp4.o build/linux-x86_64-release/obj/snes9x/fxemu.o build/linux-x86_64-release/obj/snes9x/fxinst.o build/linux-x86_64-release/obj/snes9x/gfx.o build/linux-x86_64-release/obj/snes9x/globals.o build/linux-x86_64-release/obj/snes9x/loadzip.o build/linux-x86_64-release/obj/snes9x/memmap.o build/linux-x86_64-release/obj/snes9x/movie.o build/linux-x86_64-release/obj/snes9x/obc1.o build/linux-x86_64-release/obj/snes9x/ppu.o build/linux-x86_64-release/obj/snes9x/stream.o build/linux-x86_64-release/obj/snes9x/sa1.o build/linux-x86_64-release/obj/snes9x/sa1cpu.o build/linux-x86_64-release/obj/snes9x/sdd1.o build/linux-x86_64-release/obj/snes9x/sdd1emu.o build/linux-x86_64-release/obj/snes9x/seta.o build/linux-x86_64-release/obj/snes9x/seta010.o build/linux-x86_64-release/obj/snes9x/seta011.o build/linux-x86_64-release/obj/snes9x/seta018.o build/linux-x86_64-release/obj/snes9x/snapshot.o build/linux-x86_64-release/obj/snes9x/spc7110.o build/linux-x86_64-release/obj/snes9x/srtc.o build/linux-x86_64-release/obj/snes9x/tile.o build/linux-x86_64-release/obj/snes9x/apu/apu.o build/linux-x86_64-release/obj/snes9x/apu/bapu/dsp/sdsp.o build/linux-x86_64-release/obj/snes9x/apu/bapu/dsp/SPC_DSP.o build/linux-x86_64-release/obj/snes9x/apu/bapu/smp/smp.o build/linux-x86_64-release/obj/snes9x/apu/bapu/smp/smp_state.o -s -Wl,-O1,--gc-sections,--as-needed,--compress-debug-sections=zlib,--icf=all -m64 -lm -L/home/balornt/imagine-sdk/linux-x86_64/lib/pkgconfig/../../lib -L/usr/lib/x86_64-linux-gnu -lemuframework -lm -limagine -lm -lpthread -lpulse -lX11 -lXi -lXfixes -lXrandr -ldbus-glib-1 -ldbus-1 -lgobject-2.0 -lglib-2.0 -lGL -lbluetooth -lfontconfig -lfreetype -lpng12 -lminizip -lz -pipe -fvisibility=hidden -O2 -fomit-frame-pointer -funsafe-loop-optimizations -fno-stack-protector -flto -fno-fat-lto-objects -fno-ident -ffunction-sections -fdata-sections -m64 -mtune=generic
/usr/bin/ld: unrecognized option '--compress-debug-sections=zlib'
/usr/bin/ld: use the --help option for usage information
collect2: error: ld returned 1 exit status
/home/balornt/emu-ex-plus-alpha/imagine//make/imagineAppTarget.mk:26: recipe for target 'target/linux/s9xp' failed
make: *** [target/linux/s9xp] Error 1

Make menu section headers bold/distinctive

A small suggestion for the Android emulator GUI. Make section names in menus bold or otherwise distinctive (in addition to the grey underline), to distinguish them more from touchable setting items.

Also, when the title bar is not shown, you could have the first item in each menu being the text which would have been in the title bar.

how to compile the project

cd NEO.emu and then make IMAGINE_PATH=../imagine -f ios.mk.
I got error "../imagine/include/imagine/config/build.h:12:11: fatal error: 'imagine-debug-config.h' file not found".
I can't find document for compile.
Please help!

Prescale 2x issues

The new Prescale 2x image effect fixes the main gripe I had with graphical output, that with linear filtering the display was too blurry. It can now look nice and sharp.

Unfortunately though, I encountered some issues testing on two Android devices. With a Huawei Y300 phone (Android 4.1.1, dual-core Cortex-A5 1GHz CPU, Adreno 203 GPU) Prescale 2x seriously reduces performance. With no image effect Snes9x-EX (not +) plays smoothly with frame skip 0. With Prescale 2x performance is much worse, I'd estimate 15-20fps.

With an Archos GamePad (Android 4.1.1, RK3066 dual-core Cortex-A9 1.6GHz CPU, Mali-400 MP GPU), Prescale 2x does not work; there's a message "GPU rejected shader (fragment compile error)" on startup. Maybe a GPU driver bug, since I hear both Qualcomm and Mali drivers suck?

Is there any possibility to optimise/adjust the shader code used for Prescale 2x? Or perhaps offer an alternative method using the CPU (NEON instructions on ARM)? I don't know anything about OpenGL, but would have thought prescaling would be simple to implement since it's just scaling a texture 2x with point filtering. I guess not, otherwise you'd have done it that way in the first place. :)

Also, would it be a good idea to automatically disable Prescale 2x when it has no benefit?

  • When linear filtering is disabled
  • When the image resolution is high enough relative to the device output. For example RPM Racing on Super NES uses 512x448 image. When outputting to an 800x480 screen (with 1x vertical scaling), pre-scaling probably has little or no benefit.

Add hard reset option to NES.emu

The Reset menu item in NES.emu seems to be for a soft reset, equivalent to pressing the Reset button on a real console. It would be helpful to have a hard reset option too, equivalent to powering a real console off then on again.

Certain multi-game cartridges need a hard reset to return to the game selection screen. Currently (on Android NES.emu) to get the game selection screen to appear you have to choose the ROM again from Load Game or Recent Games, and choose not to use the auto-saved state.

Various Codemasters/Camerica games are like that, e.g.
Quattro Adventure (USA) (Unl).zip
Quattro Arcade (USA) (Unl).zip
Quattro Sports (USA) (Unl).zip
Super Sports Challenge (Europe) (Unl) (Plug-Thru Cart).zip

Issues with OS navigation bar appearing on screen touch on Android 4.1

I'm using Snes9x-EX with an Archos GamePad. The GamePad runs Android 4.1.1 and has physical buttons plus touch screen. I have "Hide OS Navigation" enabled to remove the OS navigation bar at the bottom of the screen when playing.

On Android 4.1, whenever the screen is touched the OS navigation bar appears. I don't think there's any way for apps to disable or modify that behaviour. But the emulator's handling of the OS nav bar appearing could be improved in a couple of ways.

In-game, if I touch the screen (perhaps accidentally), then of course the nav bar appears. But it remains there as I continue to play with physical buttons (not touching the screen), obscuring the lower part of the game image. [As a work-around, I can bring up the emulator menu then return to the game which causes the nav bar to disappear.] Suggestion: whenever a physical button is pressed, hide the OS nav bar. Is it possible to do that without impacting performance? Or perhaps hide the nav bar after a certain period with no screen touches?

A related issue occurs in the GUI menus. I can navigate those using the physical buttons or touch. But when using touch, the OS nav bar showing makes the bottom-most menu item (e.g. Exit) untouchable. Suggestion: In the GUI, detect when OS nav bar appears and adjust menu position/scaling/clipping so the bottom item is selectable by touch.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.