Ultimarc and Mame Default Keyboard Mapping Pins

Logo

This table serves two purposes, defining the logical pin out of Ultimarc boards and what MAME default key they map to. This can especially help with mapping your wiring when you’re not mapping everything exactly into the Ultimarc encoder as defined by default. (I didn’t in the case of my pedestal because I wanted some dedicated admin buttons, as well as using two encoder boards, so one board controls player 1 and 3, and the other board controls players 2 and 4. With the standard Ultimarc logical layout defining pins for players 1 and 2, this table can help in customization.

The ‘Shifted’ defaults are optional and can be customized as well. They’re useful for when you are limited in buttons but want to use button/joystick combinations to execute a specific key. For example, the default below shows ‘START 1’ as the ‘shifter’ button. The shifter button, when held down and combined with a different button, simulates a third key being pressed.

Pressing it alone starts a one player game. Pressing it and PLAYER 1 SW 1 (Usually your primary fire button) at the same time acts as COIN 1, which maps to the MAME default of key-press 5. So you don’t need a dedicated COIN 1 button, you just hit your START 1 button, hold it down, press the PLAYER 1 SW 1 button (primary fire button), and the IPAC will simulate the key-press 5, which inserts a new coin for player one.

It’s entirely optional, but can be very useful depending on how you’ve designed your controls.

You can always check the latest MAME source on Github for the defaults across the entire control set here:

https://raw.githubusercontent.com/mamedev/mame/master/src/emu/inpttype.h

Quick note on Players 3 and 4, button #4 (3 SW 4 and 4 SW 4, respectively) – MAME, by default, doesn’t have a button assigned. This is probably a default set by Andy at Ultimarc.

Also…

5/26/2016 – While setting up LEDBlinky I noticed that some controls weren’t up to date with MAME defaults per se. Not sure if those were from older versions of MAME or not, but they’re now up to date as of 0.174. I think in general, I use the MAME defaults, and the Ultimarc default if no MAME default is defined (like P2 buttons 5+, P3 Button 4, and P4 Button 4)

Another consideration..

5/28/2016 – I’ve decided, by default, to not let controls overlap. Since P3 keyboard movement uses the same keys as we chose for P2 buttons 5-8, I discovered some issues with LEDBlinky lighting up the P3 joystick when P2 Buttons 5-8 were active for a game. More of an annoyance than anything else, I decided to create my own mapping for Joystick 3 to use keypad 1,3,7,9, and see how well that works. Since I’m going beyond the default there, I also updated my personal cntlr file for MAME to include this mapping.

Ultimarc Logical MAME

0.174+ Default

Ultimarc Default Ultimarc Default (Shifted) Personal

Override

Minipac Pin
1 A 23
1 B ENTER 03
1 DOWN D arrow D arrow P (pause) 19
1 LEFT L arrow L arrow Enter 20
1 RIGHT R arrow R arrow Tab (Menu) 40
1 SW 1 L-ctrl L-ctrl 5 (Coin 1) 38
1 SW 2 L-alt L-alt 18
1 SW 3 space space 37
1 SW 4 L-shift L-shift 17
1 SW 5 35
1 SW 6 15
1 SW 7 34
1 SW 8 14
1 UP U arrow U arrow ~ Slider Options 39
2 B N/A ESC 02
2 DOWN 09
2 LEFT 10
2 RIGHT 30
2 SW 1 28
2 SW 2 08
2 SW 3 27
2 SW 4 07
2 SW 5 25
2 SW 6 05
2 SW 7 24
2 SW 8 04
2 UP 29
2 A TAB 22
3 DOWN Keypad 1
3 LEFT Keypad 7
3 RIGHT Keypad 3
3 SW 1 R-ctrl R-ctrl
3 SW 2 R-shift R-shift
3 SW 3 ENTER ENTER
3 SW 4
3 SW 5
3 SW 6
3 SW 7
3 SW 8
3 UP Keypad 9
4 DOWN Keypad 2
4 LEFT Keypad 4
4 RIGHT Keypad 6
4 SW 1 Keypad 0
4 SW 2 Keypad Del
4 SW 3 Keypad Enter
4 SW 4
4 SW 5
4 SW 6
4 SW 7
4 SW 8
4 UP Keypad 8
COIN 1 32
COIN 2 12
COIN 3
COIN 4
START 1 33
START 2 ESC 13
START 3
START 4
Spread the love