Running OpenMSX on OUYA

Page 1/2
| 2

By luppie

Paladin (854)

luppie's picture

01-02-2014, 13:00

When I read "All install it now on your ARM based Android device! " on the OpenMSX Facebook page, I had to trie it on my OUYA. Because OUYA has no Google Play store, I used APK extractor to extract the APK from my phone and put it on an USB stick. From this USB stick I could install it on my OUYA (no root necessary). After installing there was a nice friendly looking penguin in my OUYA menu Big smile

For those of you who never seen an OUYA, this is it:

On the OUYA there is one downside I could find and that is the lack of a Android Menu button (the 3-dot menu soft button most phones/tablets have) So I attached an USB keyboard to control OpenMSX with the console.

Here's a video of booting OpenMSX and running Metal Gear2 Solid Snake:
Video

Login or register to post comments

By Manuel

Ascended (15829)

Manuel's picture

01-02-2014, 16:59

Cool, thanks for reporting!

You could of course bind the command main_menu_toggle, which pops up the OSD menu, to something else (like a button of your controller). That might be a tad easier Smile

By luppie

Paladin (854)

luppie's picture

01-02-2014, 17:28

What would be the console command to do that ?
For example to bind the L1 button to the mainmenu ?

By luppie

Paladin (854)

luppie's picture

06-02-2014, 01:07

Thank you Manual for the hint. Had to do some research, but I found it.

Here is the howto for future reference.

  1. Start up OpenMSX
  2. Press Y on the controller (this opens up the console)
  3. With a keyboard attached to your OUYA, type: bind 5 main_menu_toggle
  4. Close the console with Y

Now you can use the L1 bumper button to open the OpenMSX menu.

(If you would like a different button for the menu, these are the buttons and corresponding keyboard characters)
5 = L1
6 = R1
7 = L2
8 = R2

By Manuel

Ascended (15829)

Manuel's picture

06-02-2014, 08:30

heh, weird that these buttons map to number keys...

By luppie

Paladin (854)

luppie's picture

06-02-2014, 08:38

I can confirm, that my Android gametablet uses the same keybindings for the bumper buttons as my OUYA. I have to do a bit more research, but my guess is, that this is some kind of default configuration for keyboard emulating controllers within Android.

Also within other emulators they work out of the box, without I have to bind them, that makes my assumption of some kind of standard a good assumption Big smile

By luppie

Paladin (854)

luppie's picture

06-02-2014, 23:17

Tonight I was talking to Alex about this topic and he is looking into it. He told me that he want to test a PS3 controller contected to an Android phone using a special cable.

He was talking about USB OTG:

I did have this adapter, normaly using it to upload my camera pictures to my phone/tablet so I was able to test it:

My finding for the bumper buttons on the PS3 are the same as for the OUYA.
When pressing them in the OpenMSX Console I saw 5 - 6 - 7 - 8

Tomorrow I will test a Xbox360 controller.

By Alex

Master (205)

Alex's picture

09-02-2014, 17:06

We are preparing a new openMSX release. I can set-up default SDL key codes for following controller keys:
A B X Y L1 R1 L2 R2 LThumb RThumb

Any recommendations? At the moment I'm thinking about:
A: WORLD_93 (mapped to firebutton 1 in openMSX)
B: WORLD_94 (mapped to firebutton 2 in openMSX)
X: WORLD_95 (mapped to console in openMSX)
Y: MENU (by default bound to command to toggle the menu)
L1: F10 (by default bound to openMSX onscreen keyboard)
R1: 6
L2: 7
R2: 8
LThumb: 9
RThumb: 0

By luppie

Paladin (854)

luppie's picture

09-02-2014, 17:14

I suggest to map this keys also by default:

R1 = Select (MSX)
R2 = Stop (MSX)

They might come in handy Big smile

By Manuel

Ascended (15829)

Manuel's picture

09-02-2014, 22:50

if there are keys left over, what about a key for:
- ENTER (for some games)
- F1, F2, F4, F5 (for some games, mostly Konami... like Metal Gear and many others)

By luppie

Paladin (854)

luppie's picture

10-02-2014, 01:10

Maybe a menu option to load/save controller profiles is a better idea.
Having the menu under key L1 (not changable) and the other 5 buttons mappable using the OSD keyboard.

Menu options:
- Create Controller Profile
- Load Controller Profile
- Save Controller Profile

When choosing 'Create Controller Profile'

"Press a controller key"
When L2 is pressed, show the OSD Keyboard
Capture the key that the user selects (for example F-2)
Bind L2 to F-2

Loop or return to the menu.

When the user selects 'Save Controller Profile' let him choose a name and save it as [name]-controller.xml
Make this file accessable and interchangeble so OpenMSX users can exchange controller profiles for different games.

Page 1/2
| 2