Skip to content

Commit 7295d22

Browse files
committed
Special controls for MAME: 6 button arcade layout, 3 over 3
1 parent 1f14ba3 commit 7295d22

6 files changed

Lines changed: 59 additions & 3 deletions

File tree

package/batocera/core/batocera-configgen/configgen/configgen/generators/libretro/libretroMAMEConfig.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -528,17 +528,25 @@ def getMameControlScheme(system: Emulator, rom: Path) -> str:
528528
return "sfsnes"
529529
if controllerType == "megadrive":
530530
return "megadrive"
531+
if controllerType in ["arcade33", "arcade33top1"]:
532+
return "arcade33top1"
531533
elif romName in mkList:
532534
if controllerType in [ "auto", "snes", "fightstick" ]:
533535
return "mksnes"
534536
if controllerType == "megadrive":
535537
return "mkmegadrive"
538+
if controllerType in ["arcade33", "arcade33top1"]:
539+
return "mkarcade33"
536540
elif romName in kiList:
537541
if controllerType in [ "auto", "snes", "fightstick" ]:
538542
return "kisnes"
539543
if controllerType == "megadrive":
540544
return "megadrive"
545+
if controllerType in ["arcade33", "arcade33top1"]:
546+
return "arcade33top1"
541547
elif romName in neogeoList:
548+
if controllerType in ["arcade33", "arcade33top1"]:
549+
return "neoarcade33"
542550
return "neomini"
543551
elif romName in twinstickList:
544552
return "twinstick"
@@ -547,7 +555,11 @@ def getMameControlScheme(system: Emulator, rom: Path) -> str:
547555
else:
548556
if controllerType == "fightstick":
549557
return "sfsnes"
550-
558+
if controllerType == "arcade33":
559+
return "arcade33"
560+
if controllerType == "arcade33top1":
561+
return "arcade33top1"
562+
551563
return "default"
552564

553565
def generateMAMEPadConfig(

package/batocera/core/batocera-configgen/configgen/configgen/generators/mame/mameGenerator.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -851,21 +851,29 @@ def getMameControlScheme(system: Emulator, rom_path: Path) -> MameControlScheme:
851851
return "megadrive"
852852
if controllerType == "fightstick":
853853
return "sfstick"
854+
if controllerType in ["arcade33", "arcade33top1"]:
855+
return "arcade33top1"
854856
elif romName in mkList:
855857
if controllerType in [ "auto", "snes" ]:
856858
return "mksnes"
857859
if controllerType == "megadrive":
858860
return "mkmegadrive"
859861
if controllerType == "fightstick":
860862
return "mkstick"
863+
if controllerType in ["arcade33", "arcade33top1"]:
864+
return "mkarcade33"
861865
elif romName in kiList:
862866
if controllerType in [ "auto", "snes" ]:
863867
return "kisnes"
864868
if controllerType == "megadrive":
865869
return "megadrive"
866870
if controllerType == "fightstick":
867871
return "sfstick"
872+
if controllerType in ["arcade33", "arcade33top1"]:
873+
return "arcade33top1"
868874
elif romName in neogeoList:
875+
if controllerType in ["arcade33", "arcade33top1"]:
876+
return "neoarcade33"
869877
return "neomini"
870878
elif romName in twinstickList:
871879
return "twinstick"
@@ -876,5 +884,9 @@ def getMameControlScheme(system: Emulator, rom_path: Path) -> MameControlScheme:
876884
return "fightstick"
877885
if controllerType == "megadrive":
878886
return "mddefault"
879-
887+
if controllerType == "arcade33":
888+
return "arcade33"
889+
if controllerType == "arcade33top1":
890+
return "arcade33top1"
891+
880892
return "default"

package/batocera/core/batocera-configgen/configgen/configgen/generators/mame/mameTypes.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,8 @@
1717
'mkstick',
1818
'kisnes',
1919
'mddefault',
20+
'arcade33',
21+
'mkarcade33',
22+
'neoarcade33',
23+
'arcade33top1',
2024
]

package/batocera/core/batocera-configgen/data/mame/mameControls.csv

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,26 @@ fightstick,BUTTON4,l2
120120
fightstick,BUTTON5,y
121121
fightstick,BUTTON6,x
122122
fightstick,BUTTON7,pagedown
123-
fightstick,BUTTON8,pageup
123+
fightstick,BUTTON8,pageup
124+
arcade33,BUTTON1,b
125+
arcade33,BUTTON2,a
126+
arcade33,BUTTON3,pagedown
127+
arcade33,BUTTON4,y
128+
arcade33,BUTTON5,x
129+
arcade33,BUTTON6,pageup
130+
mkarcade33,BUTTON1,y
131+
mkarcade33,BUTTON2,x
132+
mkarcade33,BUTTON3,pageup
133+
mkarcade33,BUTTON4,b
134+
mkarcade33,BUTTON5,pagedown
135+
mkarcade33,BUTTON6,a
136+
neoarcade33,BUTTON1,y
137+
neoarcade33,BUTTON2,x
138+
neoarcade33,BUTTON3,b
139+
neoarcade33,BUTTON4,a
140+
arcade33top1,BUTTON1,y
141+
arcade33top1,BUTTON2,x
142+
arcade33top1,BUTTON3,pageup
143+
arcade33top1,BUTTON4,b
144+
arcade33top1,BUTTON5,a
145+
arcade33top1,BUTTON6,pagedown

package/batocera/emulators/mame/mame.emulator.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,6 +1560,8 @@ systems:
15601560
Neo Geo CD Pad: neocd
15611561
Twin Stick with Triggers: twinstick
15621562
Rotated 4-Way Stick (Q*Bert): qbert
1563+
Arcade 6-Button, 3 Over 3: arcade33
1564+
Arcade 6-Button, 3 Over 3, Button 1 on Top: arcade33top1
15631565
hiscoreplugin:
15641566
group: ADVANCED OPTIONS
15651567
prompt: HIGH SCORE PLUGIN
@@ -1595,6 +1597,8 @@ systems:
15951597
Neo Geo CD Pad: neocd
15961598
Twin Stick with Triggers: twinstick
15971599
Rotated 4-Way Stick (Q*Bert): qbert
1600+
Arcade 6-Button, 3 Over 3: arcade33
1601+
Arcade 6-Button, 3 Over 3, Button 1 on Top: arcade33top1
15981602
hiscoreplugin:
15991603
group: ADVANCED OPTIONS
16001604
prompt: HIGH SCORE PLUGIN

package/batocera/emulators/retroarch/libretro/libretro-mame/mame.libretro.core.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ custom_features:
6060
Neo Geo CD Pad: neocd
6161
Twin Stick with Triggers: twinstick
6262
Rotated 4-Way Stick (Q*Bert): qbert
63+
Arcade 6-Button, 3 Over 3: arcade33
64+
Arcade 6-Button, 3 Over 3, Button 1 on Top: arcade33top1
6365
hiscoreplugin:
6466
group: ADVANCED OPTIONS
6567
prompt: HIGH SCORE PLUGIN

0 commit comments

Comments
 (0)