Arcade Machine

From Technologia Incognita
Revision as of 23:55, 23 May 2013 by Wizzup (talk | contribs)
Jump to: navigation, search
Projects
Participants Control-k, Maijin, Realitygaps, Wizzup
Skills Programming
Status Active
Niche Software
Purpose Fun

Arcade Machine

We now own a <MODEL> Arcade Machine. The plan is to bring new life into the machine by putting a computer in there and hooking that computer to the joystick input and screens. The computer runs MAME and other emulators, such as Amiga or SNES emulators.

NOTE: Currently, the input mapping instructions are out of date, they will be updated soonish

Getting it to start

There's a basic Dell machine in the Arcade Box; with Wake on Lan. Just send the WOL packet to the right mac address, which can be found on the machine:

 00:21:70:03:31:1b

Here is an example command line that will turn on the machine (etherwake defaults to eth0, so wlan0 is specified)

 sudo etherwake 00:21:70:03:31:1b -i wlan0

Or, equivalently:

 wakeonlan 00:21:70:03:31:1b

From: http://gsd.di.uminho.pt/jpo/software/wakeonlan/

Input

Arcade Machine input

The input can be read as PS2 (and USB); using a chip that we got alongside the Arcade Machine:

http://www.ultimarc.com/jpac.html http://www.ultimarc.com/jpac2.html

The Arcade Machine input exposes itself as a single keyboard over USB and PS/2. This is problematic for most games, with the exception of MAME and a few emulators. Some games expect an input device per player, so one "keyboard" then simply is not enough.

Basic instructions:

 ./disable_unusable_keyboard.sh
 cd uinput-mapper/
 make
 sudo ./map

Other Input

We attached two PlayStation controllers, but I (Wizzup) am not a big fan of them. Regardless, there's a USB hub so feel free to plug in other controllers! It would be nice to have proper SNES ones.

This may be useful: https://www.thinkgeek.com/product/f08d/ and http://www.amazon.com/Classic-USB-Super-Nintendo-Controller-PC/dp/B002JAU20W Or we can make our own.

Coin Input

This should be handled by the Input over PS2/USB as well. It is probably mapped to some a key.

Video

We replaced the built-in monitor with a TFT monitor.

Sound

The sound works and is connected to the computer as well.

Common tasks

There are a few simple tasks until we've written a pretty interface + set of scritps.

It mostly boils down to two tasks:

1) disable/enable the "keyboard" interface in X (to avoid double input):

 ~/disable_*.sh or ~/enable_*.sh

2) start/stop uinput-mapper with the right configuration:

 sudo input-read -D /dev/input/by-id/usb-Cypress_I-PAC_Arcade_Control_Interface-event-kbd | sudo input-create configs/techinc.py

And just hit ^C to stop it.

Games (with instructions)

Super Hexagon

Disable uinput-mapper and enable the "keyboard" interface.

Jamestown

Disable the "keyboard" interface; enable uinput-mapper with techinc.py configuration

Emulators

  • ZSNES (SNES)
  • UAE (Amiga)
  • MAME
  • ...

Writing our own input driver

Axes to axes, Buttons to buttons

Code: https://github.com/MerlijnWajer/uinput-mapper

For usage instructions, see: http://hetgrotebos.org/wiki/uinput-mapper

And the techinc.py config can be viewed online:

http://googleco.de/uinput-mapper/tree/configs/techinc.py

Map:

  • Creates two joystick input devices in /dev/input
  • Both joystick devices are mapped sanely.
  • HAT0X / HAT0Y seem to work now that we specified absmin and absmax.

Keys are mapped like this:

 HAT -> HAT0X, HAT0Y
 Red Buttons, left to right: BTN_0, BTN_1, BTN_2
 Yellow Button: BTN_3

User Interface

TODO.

Games

List of games:

Native

  • Jamestown (works with joysticks)
  • Syobon (not yet! Ubuntu didn't have it in their repo ☹)

Amiga

In UAE, just add the games as floppies.

  • SWIV (Great shoot them up game)
  • Pinball Fantasies

SNES

...

Other uses

  • We can use it to control a variety of stuff. (light, sound)
  • We can hook other consoles into it.
  •  ???

brain-dump AndreasR (possible user interface)

https://aur.archlinux.org/packages/mamepgui/

http://qmc2.arcadehits.net/download.html

http://mame.mindkiller.com/?section=downloads&project=mame

http://gmameui.sourceforge.net/

http://www.raspberrypi.org/phpBB3/viewtopic.php?t=15915&p=163781

http://rbelmont.mameworld.info/?page_id=163

http://gxmame.sourceforge.net/

Addition by Wizzup: http://www.anti-particle.com/wahcade.shtml