Answers to how to get past "Press OK to continue" without using a joystick


[ Follow Ups ] [ Post Followup ] [ Build Your Own Arcade Controls message board ] [ FAQ ]

Posted by Marshall on 14, 2000 at 6:38 AM:

Many users have asked how to clear the "Press OK to continue" message on the "known problems" screen in MAME. The usual response has been moving the joystick left and right, with some confusion if your joystick was not mapped to the arrow keys.

I generally ignored this, figuring it was already worked out, until I realized: I am planning a trackball panel (for Centipede), a spinner panel (for Arkanoid), and a steering wheel controller. None of these panels contains a joystick, I did not have and did not want to add buttons mapped to O and K, just to clear this screen, and my current keyboard hack was only using one of the arrow keys (and that key wasn't being used on these panels). Suddenly, this became MY problem.

I first contacted one of the MAME dev team members and asked about changing the MAME source code to read "Press any key", instead of "Press OK". He quickly responded that it was worded that way so that people would read it. Bottom line: The source code was not changing.

After looking at the source code, it became clear that MAME uses the "O or UI LEFT" and "K or UI RIGHT" keys to clear this message, not necessarily the arrow keys or the joystick keys. These keys have always been user configurable and since Revision 36, Beta 13, these keys may contain and/or sequences. By default, they are mapped to UI LEFT = LEFT or J1 Stick X- and UI RIGHT = RIGHT or J1 Stick X+. Thus, pressing the arrow keys or moving analog joystick 1 left then right will clear the message. Moving the mouse, trackball, spinner, or steering wheel left then right will have no effect and cannot currently be mapped to the UI controls.

For my solution, I started a game and went to the tab menu and selected the INPUT (GENERAL) tab. I then changed the key selections to UI LEFT = 1 or LEFT or J1 Stick X- and UI RIGHT = 2 or RIGHT or J1 Stick X+. Now, to clear the OK screen, I simply press the 1 (1P start) key followed by the 2 (2P start) key. Using the above method also leaves the default keys available for easy editing of the MAME configuration using a keyboard.

BTW, I previously mapped UI CANCEL to "1 2 or ESC". This way, I can quit MAME by pressing the 1P and 2P Start keys simultaneously. This will not conflict with the key mapping above.

Also, for those with programming knowledge who wish to change the MAME source and recompile, the required code is found in the file MAME\SRC\usrintrf.c", in module "int showgamewarnings (void)". The required changes in this module would be to the code shown below:

strcat(buf,ui_getstring (UI_typeok));

ui_displaymessagewindow(buf);

done = 0;
do
{
osd_update_video_and_audio();
osd_poll_joysticks();
if (input_ui_pressed(IPT_UI_CANCEL))
return 1;
if (code_pressed_memory(KEYCODE_O) ||
input_ui_pressed(IPT_UI_LEFT))
done = 1;
if (done == 1 && (code_pressed_memory(KEYCODE_K) ||
input_ui_pressed(IPT_UI_RIGHT)))
done = 2;
} while (done < 2);
} . . .

I don't know C programming, so don't ask me how to make any changes to the code.

Hope this helps!

MAME On!


Follow Ups:



Post a Followup

Name:
E-Mail:

Subject:

Comments:

Optional Link URL:
Link Title:
Optional Image URL:


[ Follow Ups ] [ Post Followup ] [ Build Your Own Arcade Controls message board ] [ FAQ ]