summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitattributes1
-rw-r--r--.gitignore1
-rw-r--r--artwork/aperture.pngbin0 -> 271 bytes
-rw-r--r--artwork/aperture1x2rb.pngbin0 -> 172 bytes
-rw-r--r--artwork/aperture1x3rb.pngbin0 -> 175 bytes
-rw-r--r--artwork/aperture2x4bg.pngbin0 -> 176 bytes
-rw-r--r--artwork/aperture2x4rb.pngbin0 -> 171 bytes
-rw-r--r--artwork/aperture4x6.pngbin0 -> 224 bytes
-rw-r--r--artwork/dir.txt1
-rw-r--r--artwork/scanlines.pngbin0 -> 296 bytes
-rw-r--r--ctrlr/hotrod.cfg129
-rw-r--r--ctrlr/hotrodse.cfg183
-rw-r--r--ctrlr/scorpionxg.cfg185
-rw-r--r--ctrlr/slikstik.cfg304
-rw-r--r--ctrlr/xarcade.cfg183
-rw-r--r--dist.mak124
-rw-r--r--docs/.gitignore2
-rw-r--r--roms/dir.txt1
-rw-r--r--samples/dir.txt1
19 files changed, 1113 insertions, 2 deletions
diff --git a/.gitattributes b/.gitattributes
index 94768b3818f..05b303d1ddb 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -32,6 +32,7 @@
*.py svneol=native#text/plain
*.dtd svneol=native#application/xml-dtd
+*.cfg svneol=native#text/xml
*.hsi svneol=native#text/xml
*.lay svneol=native#text/xml
*.xml svneol=native#text/xml
diff --git a/.gitignore b/.gitignore
index bbd044d9293..bb1319fc9c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,6 +40,7 @@
!/*.bdf
!/LICENSE
/.idea
+docs/build
regtests/chdman/temp
regtests/jedutil/output
/CMakeLists.txt
diff --git a/artwork/aperture.png b/artwork/aperture.png
new file mode 100644
index 00000000000..2243dc52c6e
--- /dev/null
+++ b/artwork/aperture.png
Binary files differ
diff --git a/artwork/aperture1x2rb.png b/artwork/aperture1x2rb.png
new file mode 100644
index 00000000000..6509ca016d2
--- /dev/null
+++ b/artwork/aperture1x2rb.png
Binary files differ
diff --git a/artwork/aperture1x3rb.png b/artwork/aperture1x3rb.png
new file mode 100644
index 00000000000..73084bfb7e0
--- /dev/null
+++ b/artwork/aperture1x3rb.png
Binary files differ
diff --git a/artwork/aperture2x4bg.png b/artwork/aperture2x4bg.png
new file mode 100644
index 00000000000..dc47a127b04
--- /dev/null
+++ b/artwork/aperture2x4bg.png
Binary files differ
diff --git a/artwork/aperture2x4rb.png b/artwork/aperture2x4rb.png
new file mode 100644
index 00000000000..69d1efaac71
--- /dev/null
+++ b/artwork/aperture2x4rb.png
Binary files differ
diff --git a/artwork/aperture4x6.png b/artwork/aperture4x6.png
new file mode 100644
index 00000000000..f71f33c2d65
--- /dev/null
+++ b/artwork/aperture4x6.png
Binary files differ
diff --git a/artwork/dir.txt b/artwork/dir.txt
new file mode 100644
index 00000000000..be51197ae35
--- /dev/null
+++ b/artwork/dir.txt
@@ -0,0 +1 @@
+Place artwork files here
diff --git a/artwork/scanlines.png b/artwork/scanlines.png
new file mode 100644
index 00000000000..80443216110
--- /dev/null
+++ b/artwork/scanlines.png
Binary files differ
diff --git a/ctrlr/hotrod.cfg b/ctrlr/hotrod.cfg
new file mode 100644
index 00000000000..ccbbe0ac0dc
--- /dev/null
+++ b/ctrlr/hotrod.cfg
@@ -0,0 +1,129 @@
+<mameconfig version="10">
+ <system name="default">
+
+ <!-- HotRod input configuration file -->
+
+ <input>
+ <remap origcode="KEYCODE_UP" newcode="KEYCODE_8PAD" />
+ <remap origcode="KEYCODE_DOWN" newcode="KEYCODE_2PAD" />
+ <remap origcode="KEYCODE_LEFT" newcode="KEYCODE_4PAD" />
+ <remap origcode="KEYCODE_RIGHT" newcode="KEYCODE_6PAD" />
+
+ <port type="UI_UP">
+ <newseq type="standard">KEYCODE_UP OR KEYCODE_8PAD</newseq>
+ </port>
+ <port type="UI_DOWN">
+ <newseq type="standard">KEYCODE_DOWN OR KEYCODE_2PAD</newseq>
+ </port>
+ <port type="UI_LEFT">
+ <newseq type="standard">KEYCODE_LEFT OR KEYCODE_4PAD</newseq>
+ </port>
+ <port type="UI_RIGHT">
+ <newseq type="standard">KEYCODE_RIGHT OR KEYCODE_6PAD</newseq>
+ </port>
+ <port type="UI_SELECT">
+ <newseq type="standard">KEYCODE_ENTER OR KEYCODE_LCONTROL</newseq>
+ </port>
+
+ <port type="UI_CONFIGURE">
+ <newseq type="standard">KEYCODE_TAB OR KEYCODE_1 KEYCODE_3</newseq>
+ </port>
+ <port type="UI_CANCEL">
+ <newseq type="standard">KEYCODE_ESC OR KEYCODE_2 KEYCODE_4</newseq>
+ </port>
+
+ <port type="START1">
+ <newseq type="standard">KEYCODE_1</newseq>
+ </port>
+ <port type="START2">
+ <newseq type="standard">KEYCODE_2</newseq>
+ </port>
+ <port type="COIN1">
+ <newseq type="standard">KEYCODE_3</newseq>
+ </port>
+ <port type="COIN2">
+ <newseq type="standard">KEYCODE_4</newseq>
+ </port>
+ <port type="START3">
+ <newseq type="standard">KEYCODE_5</newseq>
+ </port>
+ <port type="START4">
+ <newseq type="standard">KEYCODE_6</newseq>
+ </port>
+
+ <port type="P1_JOYSTICK_UP">
+ <newseq type="standard">KEYCODE_8PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_DOWN">
+ <newseq type="standard">KEYCODE_2PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_LEFT">
+ <newseq type="standard">KEYCODE_4PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_RIGHT">
+ <newseq type="standard">KEYCODE_6PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_UP">
+ <newseq type="standard">KEYCODE_R</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_DOWN">
+ <newseq type="standard">KEYCODE_F</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_LEFT">
+ <newseq type="standard">KEYCODE_D</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_RIGHT">
+ <newseq type="standard">KEYCODE_G</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_UP">
+ <newseq type="standard">KEYCODE_8PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_DOWN">
+ <newseq type="standard">KEYCODE_2PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_LEFT">
+ <newseq type="standard">KEYCODE_4PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_RIGHT">
+ <newseq type="standard">KEYCODE_6PAD</newseq>
+ </port>
+
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_LCONTROL OR JOYCODE_1_BUTTON1 OR MOUSECODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_LALT OR JOYCODE_1_BUTTON2 OR MOUSECODE_1_BUTTON3</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_SPACE OR JOYCODE_1_BUTTON3 OR MOUSECODE_1_BUTTON2</newseq>
+ </port>
+ <port type="P1_BUTTON4">
+ <newseq type="standard">KEYCODE_LSHIFT OR JOYCODE_1_BUTTON4</newseq>
+ </port>
+ <port type="P1_BUTTON5">
+ <newseq type="standard">KEYCODE_Z OR JOYCODE_1_BUTTON5</newseq>
+ </port>
+ <port type="P1_BUTTON6">
+ <newseq type="standard">KEYCODE_X OR JOYCODE_1_BUTTON6</newseq>
+ </port>
+ <port type="P2_BUTTON1">
+ <newseq type="standard">KEYCODE_A OR JOYCODE_2_BUTTON1</newseq>
+ </port>
+ <port type="P2_BUTTON2">
+ <newseq type="standard">KEYCODE_S OR JOYCODE_2_BUTTON2</newseq>
+ </port>
+ <port type="P2_BUTTON3">
+ <newseq type="standard">KEYCODE_Q OR JOYCODE_2_BUTTON3</newseq>
+ </port>
+ <port type="P2_BUTTON4">
+ <newseq type="standard">KEYCODE_W OR JOYCODE_2_BUTTON4</newseq>
+ </port>
+ <port type="P2_BUTTON5">
+ <newseq type="standard">KEYCODE_E OR JOYCODE_2_BUTTON5</newseq>
+ </port>
+ <port type="P2_BUTTON6">
+ <newseq type="standard">KEYCODE_OPENBRACE OR JOYCODE_2_BUTTON6</newseq>
+ </port>
+ </input>
+ </system>
+</mameconfig>
diff --git a/ctrlr/hotrodse.cfg b/ctrlr/hotrodse.cfg
new file mode 100644
index 00000000000..9a01517d10d
--- /dev/null
+++ b/ctrlr/hotrodse.cfg
@@ -0,0 +1,183 @@
+<mameconfig version="10">
+ <system name="default">
+
+ <!-- HotRod SE input configuration file -->
+
+ <input>
+ <remap origcode="KEYCODE_UP" newcode="KEYCODE_8PAD" />
+ <remap origcode="KEYCODE_DOWN" newcode="KEYCODE_2PAD" />
+ <remap origcode="KEYCODE_LEFT" newcode="KEYCODE_4PAD" />
+ <remap origcode="KEYCODE_RIGHT" newcode="KEYCODE_6PAD" />
+
+ <port type="UI_UP">
+ <newseq type="standard">KEYCODE_UP OR KEYCODE_8PAD</newseq>
+ </port>
+ <port type="UI_DOWN">
+ <newseq type="standard">KEYCODE_DOWN OR KEYCODE_2PAD</newseq>
+ </port>
+ <port type="UI_LEFT">
+ <newseq type="standard">KEYCODE_LEFT OR KEYCODE_4PAD</newseq>
+ </port>
+ <port type="UI_RIGHT">
+ <newseq type="standard">KEYCODE_RIGHT OR KEYCODE_6PAD</newseq>
+ </port>
+ <port type="UI_SELECT">
+ <newseq type="standard">KEYCODE_ENTER OR KEYCODE_LCONTROL</newseq>
+ </port>
+
+ <port type="UI_CONFIGURE">
+ <newseq type="standard">KEYCODE_TAB OR KEYCODE_1 KEYCODE_3</newseq>
+ </port>
+ <port type="UI_CANCEL">
+ <newseq type="standard">KEYCODE_ESC OR KEYCODE_2 KEYCODE_4</newseq>
+ </port>
+
+ <port type="START1">
+ <newseq type="standard">KEYCODE_1</newseq>
+ </port>
+ <port type="START2">
+ <newseq type="standard">KEYCODE_2</newseq>
+ </port>
+ <port type="COIN1">
+ <newseq type="standard">KEYCODE_3</newseq>
+ </port>
+ <port type="COIN2">
+ <newseq type="standard">KEYCODE_4</newseq>
+ </port>
+ <port type="START3">
+ <newseq type="standard">KEYCODE_5</newseq>
+ </port>
+ <port type="START4">
+ <newseq type="standard">KEYCODE_6</newseq>
+ </port>
+
+ <port type="P1_JOYSTICK_UP">
+ <newseq type="standard">KEYCODE_8PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_DOWN">
+ <newseq type="standard">KEYCODE_2PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_LEFT">
+ <newseq type="standard">KEYCODE_4PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_RIGHT">
+ <newseq type="standard">KEYCODE_6PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_UP">
+ <newseq type="standard">KEYCODE_R</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_DOWN">
+ <newseq type="standard">KEYCODE_F</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_LEFT">
+ <newseq type="standard">KEYCODE_D</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_RIGHT">
+ <newseq type="standard">KEYCODE_G</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_UP">
+ <newseq type="standard">KEYCODE_8PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_DOWN">
+ <newseq type="standard">KEYCODE_2PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_LEFT">
+ <newseq type="standard">KEYCODE_4PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_RIGHT">
+ <newseq type="standard">KEYCODE_6PAD</newseq>
+ </port>
+
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_LCONTROL OR JOYCODE_1_BUTTON1 OR MOUSECODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_LALT OR JOYCODE_1_BUTTON2 OR MOUSECODE_1_BUTTON3</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_SPACE OR JOYCODE_1_BUTTON3 OR MOUSECODE_1_BUTTON2</newseq>
+ </port>
+ <port type="P1_BUTTON4">
+ <newseq type="standard">KEYCODE_LSHIFT OR JOYCODE_1_BUTTON4</newseq>
+ </port>
+ <port type="P1_BUTTON5">
+ <newseq type="standard">KEYCODE_Z OR JOYCODE_1_BUTTON5</newseq>
+ </port>
+ <port type="P1_BUTTON6">
+ <newseq type="standard">KEYCODE_X OR JOYCODE_1_BUTTON6</newseq>
+ </port>
+ <port type="P2_BUTTON1">
+ <newseq type="standard">KEYCODE_A OR JOYCODE_2_BUTTON1</newseq>
+ </port>
+ <port type="P2_BUTTON2">
+ <newseq type="standard">KEYCODE_S OR JOYCODE_2_BUTTON2</newseq>
+ </port>
+ <port type="P2_BUTTON3">
+ <newseq type="standard">KEYCODE_Q OR JOYCODE_2_BUTTON3</newseq>
+ </port>
+ <port type="P2_BUTTON4">
+ <newseq type="standard">KEYCODE_W OR JOYCODE_2_BUTTON4</newseq>
+ </port>
+ <port type="P2_BUTTON5">
+ <newseq type="standard">KEYCODE_E OR JOYCODE_2_BUTTON5</newseq>
+ </port>
+ <port type="P2_BUTTON6">
+ <newseq type="standard">KEYCODE_OPENBRACE OR JOYCODE_2_BUTTON6</newseq>
+ </port>
+ </input>
+ </system>
+
+ <system name="neogeo">
+ <input>
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_C OR JOYCODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_LSHIFT OR JOYCODE_1_BUTTON2</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_Z OR JOYCODE_1_BUTTON3</newseq>
+ </port>
+ <port type="P1_BUTTON4">
+ <newseq type="standard">KEYCODE_X OR JOYCODE_1_BUTTON4</newseq>
+ </port>
+ <port type="P1_BUTTON5">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON6">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON7">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON8">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON1">
+ <newseq type="standard">KEYCODE_CLOSEBRACE OR JOYCODE_2_BUTTON1</newseq>
+ </port>
+ <port type="P2_BUTTON2">
+ <newseq type="standard">KEYCODE_W OR JOYCODE_2_BUTTON2</newseq>
+ </port>
+ <port type="P2_BUTTON3">
+ <newseq type="standard">KEYCODE_E OR JOYCODE_2_BUTTON3</newseq>
+ </port>
+ <port type="P2_BUTTON4">
+ <newseq type="standard">KEYCODE_OPENBRACE OR JOYCODE_2_BUTTON4</newseq>
+ </port>
+ <port type="P2_BUTTON5">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON6">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON7">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON8">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ </input>
+ </system>
+
+</mameconfig>
diff --git a/ctrlr/scorpionxg.cfg b/ctrlr/scorpionxg.cfg
new file mode 100644
index 00000000000..faa48c816e7
--- /dev/null
+++ b/ctrlr/scorpionxg.cfg
@@ -0,0 +1,185 @@
+<mameconfig version="10">
+ <system name="default">
+
+ <!-- Scorpion XG-2 Input Configuration File -->
+ <!-- Digital Systems Design / Jeff Ferrier -->
+ <!-- Basic digital controller - no analogue controls substitution incorporated -->
+
+ <input>
+ <remap origcode="KEYCODE_UP" newcode="KEYCODE_8PAD" />
+ <remap origcode="KEYCODE_DOWN" newcode="KEYCODE_2PAD" />
+ <remap origcode="KEYCODE_LEFT" newcode="KEYCODE_4PAD" />
+ <remap origcode="KEYCODE_RIGHT" newcode="KEYCODE_6PAD" />
+
+ <port type="UI_UP">
+ <newseq type="standard">KEYCODE_UP OR KEYCODE_8PAD</newseq>
+ </port>
+ <port type="UI_DOWN">
+ <newseq type="standard">KEYCODE_DOWN OR KEYCODE_2PAD</newseq>
+ </port>
+ <port type="UI_LEFT">
+ <newseq type="standard">KEYCODE_LEFT OR KEYCODE_4PAD</newseq>
+ </port>
+ <port type="UI_RIGHT">
+ <newseq type="standard">KEYCODE_RIGHT OR KEYCODE_6PAD</newseq>
+ </port>
+ <port type="UI_SELECT">
+ <newseq type="standard">KEYCODE_ENTER OR KEYCODE_LCONTROL</newseq>
+ </port>
+
+ <port type="UI_CONFIGURE">
+ <newseq type="standard">KEYCODE_TAB</newseq>
+ </port>
+ <port type="UI_CANCEL">
+ <newseq type="standard">KEYCODE_ESC</newseq>
+ </port>
+
+ <port type="START1">
+ <newseq type="standard">KEYCODE_1</newseq>
+ </port>
+ <port type="START2">
+ <newseq type="standard">KEYCODE_2</newseq>
+ </port>
+ <port type="COIN1">
+ <newseq type="standard">KEYCODE_3</newseq>
+ </port>
+ <port type="COIN2">
+ <newseq type="standard">KEYCODE_4</newseq>
+ </port>
+ <port type="START3">
+ <newseq type="standard">KEYCODE_5</newseq>
+ </port>
+ <port type="START4">
+ <newseq type="standard">KEYCODE_6</newseq>
+ </port>
+
+ <port type="P1_JOYSTICK_UP">
+ <newseq type="standard">KEYCODE_8PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_DOWN">
+ <newseq type="standard">KEYCODE_2PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_LEFT">
+ <newseq type="standard">KEYCODE_4PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_RIGHT">
+ <newseq type="standard">KEYCODE_6PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_UP">
+ <newseq type="standard">KEYCODE_R</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_DOWN">
+ <newseq type="standard">KEYCODE_F</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_LEFT">
+ <newseq type="standard">KEYCODE_D</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_RIGHT">
+ <newseq type="standard">KEYCODE_G</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_UP">
+ <newseq type="standard">KEYCODE_8PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_DOWN">
+ <newseq type="standard">KEYCODE_2PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_LEFT">
+ <newseq type="standard">KEYCODE_4PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_RIGHT">
+ <newseq type="standard">KEYCODE_6PAD</newseq>
+ </port>
+
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_LCONTROL OR JOYCODE_1_BUTTON1 OR MOUSECODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_LALT OR JOYCODE_1_BUTTON2 OR MOUSECODE_1_BUTTON3</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_SPACE OR JOYCODE_1_BUTTON3 OR MOUSECODE_1_BUTTON2</newseq>
+ </port>
+ <port type="P1_BUTTON4">
+ <newseq type="standard">KEYCODE_C OR JOYCODE_1_BUTTON4</newseq>
+ </port>
+ <port type="P1_BUTTON5">
+ <newseq type="standard">KEYCODE_LSHIFT OR JOYCODE_1_BUTTON5</newseq>
+ </port>
+ <port type="P1_BUTTON6">
+ <newseq type="standard">KEYCODE_Z OR JOYCODE_1_BUTTON6</newseq>
+ </port>
+ <port type="P2_BUTTON1">
+ <newseq type="standard">KEYCODE_RCONTROL OR JOYCODE_2_BUTTON1</newseq>
+ </port>
+ <port type="P2_BUTTON2">
+ <newseq type="standard">KEYCODE_RALT OR JOYCODE_2_BUTTON2</newseq>
+ </port>
+ <port type="P2_BUTTON3">
+ <newseq type="standard">KEYCODE_Q OR JOYCODE_2_BUTTON3</newseq>
+ </port>
+ <port type="P2_BUTTON4">
+ <newseq type="standard">KEYCODE_CLOSEBRACE OR JOYCODE_2_BUTTON4</newseq>
+ </port>
+ <port type="P2_BUTTON5">
+ <newseq type="standard">KEYCODE_RSHIFT OR JOYCODE_2_BUTTON5</newseq>
+ </port>
+ <port type="P2_BUTTON6">
+ <newseq type="standard">KEYCODE_E OR JOYCODE_2_BUTTON6</newseq>
+ </port>
+ </input>
+ </system>
+
+ <system name="neogeo">
+ <input>
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_LCONTROL OR JOYCODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_LALT OR JOYCODE_1_BUTTON2</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_SPACE OR JOYCODE_1_BUTTON3</newseq>
+ </port>
+ <port type="P1_BUTTON4">
+ <newseq type="standard">KEYCODE_C OR JOYCODE_1_BUTTON4</newseq>
+ </port>
+ <port type="P1_BUTTON5">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON6">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON7">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON8">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON1">
+ <newseq type="standard">KEYCODE_RCONTROL OR JOYCODE_2_BUTTON1</newseq>
+ </port>
+ <port type="P2_BUTTON2">
+ <newseq type="standard">KEYCODE_RALT OR JOYCODE_2_BUTTON2</newseq>
+ </port>
+ <port type="P2_BUTTON3">
+ <newseq type="standard">KEYCODE_Q OR JOYCODE_2_BUTTON3</newseq>
+ </port>
+ <port type="P2_BUTTON4">
+ <newseq type="standard">KEYCODE_CLOSEBRACE OR JOYCODE_2_BUTTON4</newseq>
+ </port>
+ <port type="P2_BUTTON5">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON6">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON7">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON8">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ </input>
+ </system>
+
+</mameconfig>
diff --git a/ctrlr/slikstik.cfg b/ctrlr/slikstik.cfg
new file mode 100644
index 00000000000..42456f31d80
--- /dev/null
+++ b/ctrlr/slikstik.cfg
@@ -0,0 +1,304 @@
+<mameconfig version="10">
+ <system name="default">
+
+ <!--
+ SlikStik input customization file
+ Revision 2.0 - 5/28/02
+ - Swapped Player 2 Up/Down (R/F) to be consistent with the MAME std
+ (Note: SlikStik is being changed to match, but any existing units may
+ experience problems - swap KEYCODE_R & KEYCODE_F definitions to correct)
+ - Changed the mapping for Service1 from KEYCODE_9 to KEYCODE_8. KEYCODE_9
+ is mapped on the SlikStik as P1_BUTTON3 which creates problems.
+ -->
+
+ <input>
+ <port type="UI_PAUSE">
+ <newseq type="standard">KEYCODE_P</newseq>
+ </port>
+
+ <port type="UI_UP">
+ <newseq type="standard">KEYCODE_UP OR JOYCODE_1_YAXIS_UP_SWITCH</newseq>
+ </port>
+ <port type="UI_DOWN">
+ <newseq type="standard">KEYCODE_DOWN OR JOYCODE_1_YAXIS_DOWN_SWITCH</newseq>
+ </port>
+ <port type="UI_LEFT">
+ <newseq type="standard">KEYCODE_LEFT OR JOYCODE_1_XAXIS_LEFT_SWITCH</newseq>
+ </port>
+ <port type="UI_RIGHT">
+ <newseq type="standard">KEYCODE_RIGHT OR JOYCODE_1_XAXIS_RIGHT_SWITCH</newseq>
+ </port>
+ <port type="UI_SELECT">
+ <newseq type="standard">KEYCODE_7 OR KEYCODE_ENTER OR JOYCODE_1_BUTTON1</newseq>
+ </port>
+
+ <port type="UI_CONFIGURE">
+ <newseq type="standard">KEYCODE_TAB OR KEYCODE_1 KEYCODE_5</newseq>
+ </port>
+ <port type="UI_CANCEL">
+ <newseq type="standard">KEYCODE_ESC OR KEYCODE_2 KEYCODE_6</newseq>
+ </port>
+
+ <port type="START1">
+ <newseq type="standard">KEYCODE_1 OR JOYCODE_1_START</newseq>
+ </port>
+ <port type="START2">
+ <newseq type="standard">KEYCODE_2 OR JOYCODE_2_START</newseq>
+ </port>
+ <port type="COIN1">
+ <newseq type="standard">KEYCODE_5 OR JOYCODE_1_SELECT</newseq>
+ </port>
+ <port type="COIN2">
+ <newseq type="standard">KEYCODE_6 OR JOYCODE_2_SELECT</newseq>
+ </port>
+ <port type="COIN3">
+ <newseq type="standard">JOYCODE_3_SELECT</newseq>
+ </port>
+ <port type="COIN4">
+ <newseq type="standard">JOYCODE_4_SELECT</newseq>
+ </port>
+
+ <port type="SERVICE1">
+ <newseq type="standard">KEYCODE_8</newseq>
+ </port>
+
+ <port type="P1_JOYSTICK_UP">
+ <newseq type="standard">KEYCODE_UP OR JOYCODE_1_YAXIS_UP_SWITCH</newseq>
+ </port>
+ <port type="P1_JOYSTICK_DOWN">
+ <newseq type="standard">KEYCODE_DOWN OR JOYCODE_1_YAXIS_DOWN_SWITCH</newseq>
+ </port>
+ <port type="P1_JOYSTICK_LEFT">
+ <newseq type="standard">KEYCODE_LEFT OR JOYCODE_1_XAXIS_LEFT_SWITCH</newseq>
+ </port>
+ <port type="P1_JOYSTICK_RIGHT">
+ <newseq type="standard">KEYCODE_RIGHT OR JOYCODE_1_XAXIS_RIGHT_SWITCH</newseq>
+ </port>
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_7 OR JOYCODE_1_BUTTON1 OR MOUSECODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_H OR JOYCODE_1_BUTTON2 OR KEYCODE_L</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_9 OR JOYCODE_1_BUTTON3 OR MOUSECODE_1_BUTTON2</newseq>
+ </port>
+ <port type="P1_BUTTON4">
+ <newseq type="standard">KEYCODE_0 OR JOYCODE_1_BUTTON4</newseq>
+ </port>
+ <port type="P1_BUTTON5">
+ <newseq type="standard">KEYCODE_Z OR JOYCODE_1_BUTTON5</newseq>
+ </port>
+ <port type="P1_BUTTON6">
+ <newseq type="standard">KEYCODE_X OR JOYCODE_1_BUTTON6</newseq>
+ </port>
+ <port type="P1_BUTTON7">
+ <newseq type="standard">KEYCODE_LSHIFT</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_UP">
+ <newseq type="standard">KEYCODE_R OR JOYCODE_1_BUTTON2</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_DOWN">
+ <newseq type="standard">KEYCODE_F OR JOYCODE_1_BUTTON3</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_LEFT">
+ <newseq type="standard">KEYCODE_D OR JOYCODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_RIGHT">
+ <newseq type="standard">KEYCODE_G OR JOYCODE_1_BUTTON4</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_UP">
+ <newseq type="standard">KEYCODE_UP OR JOYCODE_1_YAXIS_UP_SWITCH</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_DOWN">
+ <newseq type="standard">KEYCODE_DOWN OR JOYCODE_1_YAXIS_DOWN_SWITCH</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_LEFT">
+ <newseq type="standard">KEYCODE_LEFT OR JOYCODE_1_XAXIS_LEFT_SWITCH</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_RIGHT">
+ <newseq type="standard">KEYCODE_RIGHT OR JOYCODE_1_XAXIS_RIGHT_SWITCH</newseq>
+ </port>
+
+ <port type="P2_JOYSTICK_UP">
+ <newseq type="standard">KEYCODE_R OR JOYCODE_2_UP</newseq>
+ </port>
+ <port type="P2_JOYSTICK_DOWN">
+ <newseq type="standard">KEYCODE_F OR JOYCODE_2_DOWN</newseq>
+ </port>
+ <port type="P2_JOYSTICK_LEFT">
+ <newseq type="standard">KEYCODE_D OR JOYCODE_2_LEFT</newseq>
+ </port>
+ <port type="P2_JOYSTICK_RIGHT">
+ <newseq type="standard">KEYCODE_G OR JOYCODE_2_RIGHT</newseq>
+ </port>
+ <port type="P2_BUTTON1">
+ <newseq type="standard">KEYCODE_A OR JOYCODE_2_BUTTON1</newseq>
+ </port>
+ <port type="P2_BUTTON2">
+ <newseq type="standard">KEYCODE_S OR JOYCODE_2_BUTTON2</newseq>
+ </port>
+ <port type="P2_BUTTON3">
+ <newseq type="standard">KEYCODE_Q OR JOYCODE_2_BUTTON3</newseq>
+ </port>
+ <port type="P2_BUTTON4">
+ <newseq type="standard">KEYCODE_W OR JOYCODE_2_BUTTON4</newseq>
+ </port>
+ <port type="P2_BUTTON5">
+ <newseq type="standard">KEYCODE_I OR JOYCODE_2_BUTTON5</newseq>
+ </port>
+ <port type="P2_BUTTON6">
+ <newseq type="standard">KEYCODE_K OR JOYCODE_2_BUTTON6</newseq>
+ </port>
+ <port type="P2_BUTTON7">
+ <newseq type="standard">KEYCODE_RSHIFT</newseq>
+ </port>
+ </input>
+ </system>
+
+
+ <system name="asteroid">
+ <!--
+ This entry remaps the standard keys used for the Asteroids controls
+ P1_JOYSTICK_LEFT - "Rotate Left"
+ P1_JOYSTICK_RIGHT - "Rotate Right" (L) (R) (T) (F)
+ P1_BUTTON1 - "Fire"
+ P1_BUTTON2 - "Thrust" (H)
+ P1_BUTTON3 - "HyperSpace"
+
+ This setup supports the standard layout for Asteroids. The two blue
+ buttons in the upper left control rotation (left/right). Of the two
+ buttons in the upper right, the left is mapped as the Thrust button and
+ the right is mapped as the Fire button. The fifth lower blue button is
+ mapped as HyperSpace. To maintain compatability with the standard
+ configuration, the standard joystick and mouse mappings are also
+ included.
+ -->
+
+ <input>
+ <port type="P1_JOYSTICK_LEFT">
+ <newseq type="standard">KEYCODE_LEFT OR JOYCODE_1_XAXIS_LEFT_SWITCH OR KEYCODE_0</newseq>
+ </port>
+ <port type="P1_JOYSTICK_RIGHT">
+ <newseq type="standard">KEYCODE_RIGHT OR JOYCODE_1_XAXIS_RIGHT_SWITCH OR KEYCODE_Z</newseq>
+ </port>
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_H OR JOYCODE_1_BUTTON1 OR MOUSECODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_7 OR JOYCODE_1_BUTTON2 OR KEYCODE_L</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_9 OR JOYCODE_1_BUTTON3 OR MOUSECODE_1_BUTTON2</newseq>
+ </port>
+ </input>
+ </system>
+
+
+ <system name="missile">
+ <!--
+ This entry remaps the keys used for the three bases
+ P1_BUTTON1 - left base
+ P1_BUTTON2 - middle base
+ P1_BUTTON3 - right base
+
+ This setup supports either the three buttons to the right of the trackball
+ or the three lower buttons next to the left joystick. The first three
+ buttons on a standard joystick are also included to maintain compatability
+ with the standard configuration.
+ -->
+
+ <input>
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_0 OR JOYCODE_1_BUTTON1 OR MOUSECODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_Z OR JOYCODE_1_BUTTON2 OR KEYCODE_L</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_X OR JOYCODE_1_BUTTON3 OR MOUSECODE_1_BUTTON2</newseq>
+ </port>
+ </input>
+ </system>
+
+
+ <system name="neogeo">
+ <input>
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_LSHIFT OR JOYCODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_0 OR JOYCODE_1_BUTTON2</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_Z OR JOYCODE_1_BUTTON3</newseq>
+ </port>
+ <port type="P1_BUTTON4">
+ <newseq type="standard">KEYCODE_X OR JOYCODE_1_BUTTON4</newseq>
+ </port>
+ <port type="P1_BUTTON5">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON6">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON7">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON8">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON1">
+ <newseq type="standard">KEYCODE_RSHIFT OR JOYCODE_2_BUTTON1</newseq>
+ </port>
+ <port type="P2_BUTTON2">
+ <newseq type="standard">KEYCODE_W OR JOYCODE_2_BUTTON2</newseq>
+ </port>
+ <port type="P2_BUTTON3">
+ <newseq type="standard">KEYCODE_I OR JOYCODE_2_BUTTON3</newseq>
+ </port>
+ <port type="P2_BUTTON4">
+ <newseq type="standard">KEYCODE_K OR JOYCODE_2_BUTTON4</newseq>
+ </port>
+ <port type="P2_BUTTON5">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON6">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON7">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON8">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ </input>
+ </system>
+
+
+ <system name="tempest">
+ <!--
+ This entry remaps the standard keys used for the Tempest controls
+ P1_BUTTON1 - "Fire"
+ P1_BUTTON2 - "Super Zapper"
+
+ This setup supports either the two blue buttons to the left of the spinner,
+ the first two buttons (upper left) next to the left joystick or the first
+ two buttons next to the trackball. The first two buttons on a standard
+ joystick are also included to maintain compatability with the standard
+ configuration. In all cases, the left button is always considered the
+ first or "Fire" button and the right is considered the second or "Super
+ Zapper" button.
+ -->
+
+ <input>
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_7 OR JOYCODE_1_BUTTON1 OR MOUSECODE_1_BUTTON1 OR KEYCODE_0</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_H OR JOYCODE_1_BUTTON2 OR KEYCODE_L OR KEYCODE_Z</newseq>
+ </port>
+ </input>
+ </system>
+
+</mameconfig>
diff --git a/ctrlr/xarcade.cfg b/ctrlr/xarcade.cfg
new file mode 100644
index 00000000000..92bbbbeec9e
--- /dev/null
+++ b/ctrlr/xarcade.cfg
@@ -0,0 +1,183 @@
+<mameconfig version="10">
+ <system name="default">
+
+ <!-- X-Arcade Version 1.0 input configuration file -->
+
+ <input>
+ <remap origcode="KEYCODE_UP" newcode="KEYCODE_8PAD" />
+ <remap origcode="KEYCODE_DOWN" newcode="KEYCODE_2PAD" />
+ <remap origcode="KEYCODE_LEFT" newcode="KEYCODE_4PAD" />
+ <remap origcode="KEYCODE_RIGHT" newcode="KEYCODE_6PAD" />
+
+ <port type="UI_UP">
+ <newseq type="standard">KEYCODE_UP OR KEYCODE_8PAD</newseq>
+ </port>
+ <port type="UI_DOWN">
+ <newseq type="standard">KEYCODE_DOWN OR KEYCODE_2PAD</newseq>
+ </port>
+ <port type="UI_LEFT">
+ <newseq type="standard">KEYCODE_LEFT OR KEYCODE_4PAD</newseq>
+ </port>
+ <port type="UI_RIGHT">
+ <newseq type="standard">KEYCODE_RIGHT OR KEYCODE_6PAD</newseq>
+ </port>
+ <port type="UI_SELECT">
+ <newseq type="standard">KEYCODE_ENTER OR KEYCODE_LCONTROL</newseq>
+ </port>
+
+ <port type="UI_CONFIGURE">
+ <newseq type="standard">KEYCODE_TAB OR KEYCODE_1 KEYCODE_3</newseq>
+ </port>
+ <port type="UI_CANCEL">
+ <newseq type="standard">KEYCODE_ESC OR KEYCODE_2 KEYCODE_4</newseq>
+ </port>
+
+ <port type="START1">
+ <newseq type="standard">KEYCODE_1</newseq>
+ </port>
+ <port type="START2">
+ <newseq type="standard">KEYCODE_2</newseq>
+ </port>
+ <port type="COIN1">
+ <newseq type="standard">KEYCODE_3</newseq>
+ </port>
+ <port type="COIN2">
+ <newseq type="standard">KEYCODE_4</newseq>
+ </port>
+ <port type="START3">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="START4">
+ <newseq type="standard">NONE</newseq>
+ </port>
+
+ <port type="P1_JOYSTICK_UP">
+ <newseq type="standard">KEYCODE_8PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_DOWN">
+ <newseq type="standard">KEYCODE_2PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_LEFT">
+ <newseq type="standard">KEYCODE_4PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICK_RIGHT">
+ <newseq type="standard">KEYCODE_6PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_UP">
+ <newseq type="standard">KEYCODE_R</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_DOWN">
+ <newseq type="standard">KEYCODE_F</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_LEFT">
+ <newseq type="standard">KEYCODE_D</newseq>
+ </port>
+ <port type="P1_JOYSTICKRIGHT_RIGHT">
+ <newseq type="standard">KEYCODE_G</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_UP">
+ <newseq type="standard">KEYCODE_8PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_DOWN">
+ <newseq type="standard">KEYCODE_2PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_LEFT">
+ <newseq type="standard">KEYCODE_4PAD</newseq>
+ </port>
+ <port type="P1_JOYSTICKLEFT_RIGHT">
+ <newseq type="standard">KEYCODE_6PAD</newseq>
+ </port>
+
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_LCONTROL OR JOYCODE_1_BUTTON1 OR MOUSECODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_LALT OR JOYCODE_1_BUTTON2 OR MOUSECODE_1_BUTTON3</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_SPACE OR JOYCODE_1_BUTTON3 OR MOUSECODE_1_BUTTON2</newseq>
+ </port>
+ <port type="P1_BUTTON4">
+ <newseq type="standard">KEYCODE_LSHIFT OR JOYCODE_1_BUTTON4</newseq>
+ </port>
+ <port type="P1_BUTTON5">
+ <newseq type="standard">KEYCODE_Z OR JOYCODE_1_BUTTON5</newseq>
+ </port>
+ <port type="P1_BUTTON6">
+ <newseq type="standard">KEYCODE_X OR JOYCODE_1_BUTTON6</newseq>
+ </port>
+ <port type="P2_BUTTON1">
+ <newseq type="standard">KEYCODE_A OR JOYCODE_2_BUTTON1</newseq>
+ </port>
+ <port type="P2_BUTTON2">
+ <newseq type="standard">KEYCODE_S OR JOYCODE_2_BUTTON2</newseq>
+ </port>
+ <port type="P2_BUTTON3">
+ <newseq type="standard">KEYCODE_Q OR JOYCODE_2_BUTTON3</newseq>
+ </port>
+ <port type="P2_BUTTON4">
+ <newseq type="standard">KEYCODE_W OR JOYCODE_2_BUTTON4</newseq>
+ </port>
+ <port type="P2_BUTTON5">
+ <newseq type="standard">KEYCODE_E OR JOYCODE_2_BUTTON5</newseq>
+ </port>
+ <port type="P2_BUTTON6">
+ <newseq type="standard">KEYCODE_OPENBRACE OR JOYCODE_2_BUTTON6</newseq>
+ </port>
+ </input>
+ </system>
+
+ <system name="neogeo">
+ <input>
+ <port type="P1_BUTTON1">
+ <newseq type="standard">KEYCODE_C OR JOYCODE_1_BUTTON1</newseq>
+ </port>
+ <port type="P1_BUTTON2">
+ <newseq type="standard">KEYCODE_LSHIFT OR JOYCODE_1_BUTTON2</newseq>
+ </port>
+ <port type="P1_BUTTON3">
+ <newseq type="standard">KEYCODE_Z OR JOYCODE_1_BUTTON3</newseq>
+ </port>
+ <port type="P1_BUTTON4">
+ <newseq type="standard">KEYCODE_X OR JOYCODE_1_BUTTON4</newseq>
+ </port>
+ <port type="P1_BUTTON5">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON6">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON7">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P1_BUTTON8">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON1">
+ <newseq type="standard">KEYCODE_CLOSEBRACE OR JOYCODE_2_BUTTON1</newseq>
+ </port>
+ <port type="P2_BUTTON2">
+ <newseq type="standard">KEYCODE_W OR JOYCODE_2_BUTTON2</newseq>
+ </port>
+ <port type="P2_BUTTON3">
+ <newseq type="standard">KEYCODE_E OR JOYCODE_2_BUTTON3</newseq>
+ </port>
+ <port type="P2_BUTTON4">
+ <newseq type="standard">KEYCODE_OPENBRACE OR JOYCODE_2_BUTTON4</newseq>
+ </port>
+ <port type="P2_BUTTON5">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON6">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON7">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ <port type="P2_BUTTON8">
+ <newseq type="standard">NONE</newseq>
+ </port>
+ </input>
+ </system>
+
+</mameconfig>
diff --git a/dist.mak b/dist.mak
new file mode 100644
index 00000000000..6951096a07c
--- /dev/null
+++ b/dist.mak
@@ -0,0 +1,124 @@
+###########################################################################
+#
+# dist.mak
+#
+# This is used during MAME release process, it's rather hacky
+#
+###########################################################################
+
+ifeq ($(OS),Windows_NT)
+OS := windows
+else
+UNAME := $(shell uname -mps)
+ifeq ($(firstword $(filter Linux,$(UNAME))),Linux)
+OS := linux
+endif
+ifeq ($(firstword $(filter Solaris,$(UNAME))),Solaris)
+OS := solaris
+endif
+ifeq ($(firstword $(filter SunOS,$(UNAME))),SunOS)
+OS := solaris
+endif
+ifeq ($(firstword $(filter FreeBSD,$(UNAME))),FreeBSD)
+OS := freebsd
+endif
+ifeq ($(firstword $(filter GNU/kFreeBSD,$(UNAME))),GNU/kFreeBSD)
+OS := freebsd
+endif
+ifeq ($(firstword $(filter NetBSD,$(UNAME))),NetBSD)
+OS := netbsd
+endif
+ifeq ($(firstword $(filter OpenBSD,$(UNAME))),OpenBSD)
+OS := openbsd
+endif
+ifeq ($(firstword $(filter Darwin,$(UNAME))),Darwin)
+OS := osx
+endif
+ifeq ($(firstword $(filter Haiku,$(UNAME))),Haiku)
+OS := haiku
+endif
+ifndef OS
+$(error Unable to detect OS from uname -a: $(UNAME))
+endif
+endif
+
+ifndef TARGETOS
+ TARGETOS := $(OS)
+endif
+
+EXE :=
+ifeq ($(OS),windows)
+EXE := .exe
+PROJECTTYPE := mingw-gcc
+else
+ifeq ($(OS),osx)
+PROJECTTYPE := osx_clang
+else
+PROJECTTYPE := $(OS)_gcc
+endif
+endif
+
+ifeq ($(DEBUG),1)
+ MAINBINVARIANT := d
+ BUILDVARIANT := Debug
+else
+ MAINBINVARIANT :=
+ BUILDVARIANT := Release
+endif
+
+ifeq ($(PTR64),1)
+ MAINBINARCH := 64
+ BUILDARCH := x64
+else
+ MAINBINARCH :=
+ BUILDARCH := x32
+endif
+
+SHELLTYPE := msdos
+ifeq (,$(ComSpec)$(COMSPEC))
+ SHELLTYPE := posix
+endif
+ifeq (/bin,$(findstring /bin,$(SHELL)))
+ SHELLTYPE := posix
+endif
+ifeq (/bin,$(findstring /bin,$(MAKESHELL)))
+ SHELLTYPE := posix
+endif
+
+ifeq (posix,$(SHELLTYPE))
+ MKDIR = $(SILENT) mkdir -p "$(1)"
+ COPY = $(SILENT) cp -fR "$(1)" "$(2)"
+else
+ MKDIR = $(SILENT) mkdir "$(subst /,\\,$(1))" 2> nul || exit 0
+ COPY = $(SILENT) copy /Y "$(subst /,\\,$(1))" "$(subst /,\\,$(2))" > nul || exit 0
+endif
+
+ifndef TARGET
+ TARGET := mame
+endif
+
+MAINBIN := $(TARGET)$(MAINBINARCH)$(MAINBINVARIANT)
+BINDIR := build/$(PROJECTTYPE)/bin/$(BUILDARCH)/$(BUILDVARIANT)
+STAGEDIR := build/release/$(BUILDARCH)/$(BUILDVARIANT)/$(TARGET)
+
+BINARIES = $(MAINBIN) castool chdman floptool imgtool jedutil ldresample ldverify nltool nlwav romcmp unidasm
+SIMPLE_DIRS := ctrlr docs/man docs/swlist hash ini/presets nl_examples
+LOCALISATIONS := $(wildcard language/*/*.mo)
+COPIED_FILES := uismall.bdf roms/dir.txt $(foreach DIR,$(SIMPLE_DIRS),$(wildcard $(DIR)/*)) language/LICENSE language/README.md $(LOCALISATIONS)
+CREATED_DIRS := docs ini roms $(SIMPLE_DIRS) language $(dir $(LOCALISATIONS))
+
+GEN_FOLDERS := $(addprefix $(STAGEDIR)/,$(CREATED_DIRS))
+COPY_BINARIES := $(addprefix $(STAGEDIR)/,$(addsuffix $(EXE),$(BINARIES)))
+COPY_FILES := $(addprefix $(STAGEDIR)/,$(COPIED_FILES))
+
+all: $(COPY_BINARIES) $(COPY_FILES)
+
+$(GEN_FOLDERS):
+ -$(call MKDIR,$@)
+
+$(STAGEDIR)/%: $(BINDIR)/% | $(GEN_FOLDERS)
+ -$(call COPY,$<,$@)
+ strip $@
+
+$(STAGEDIR)/%: % | $(GEN_FOLDERS)
+ -$(call COPY,$<,$@)
diff --git a/docs/.gitignore b/docs/.gitignore
deleted file mode 100644
index 27ffc2f17fb..00000000000
--- a/docs/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.pyc
-build
diff --git a/roms/dir.txt b/roms/dir.txt
new file mode 100644
index 00000000000..6a07c924677
--- /dev/null
+++ b/roms/dir.txt
@@ -0,0 +1 @@
+Place ROM directories here
diff --git a/samples/dir.txt b/samples/dir.txt
new file mode 100644
index 00000000000..1980bb732c3
--- /dev/null
+++ b/samples/dir.txt
@@ -0,0 +1 @@
+Place samples directories here