Arcade Machine

From Technologia Incognita
Revision as of 22:18, 5 August 2013 by Andreasr (talk | contribs) (User Interface)
Jump to: navigation, search
Projects
Participants Control-k, Maijin, Realitygaps, Wizzup
Skills Programming
Status Active
Niche Software
Purpose Fun

Arcade Machine

We now own an 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.

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.

More straight forward scripts will be provided to change de input mapping at a later time; for now, read on.

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 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

we will probably give Wahcade a try - http://www.anti-particle.com/wahcade.shtml There should be something that starts automatically and allows you to select with the joystick TODO.

Wrong Ubuntu version atm.. throws python errors / missing dependencies <-- AndreasR

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

...

in general

Let's not overload the console with ALL MAME games, make a selection and allow people to make wishes, otherwise you have clutter

Other uses

  • We can use it to control a variety of stuff. (light, sound)
  • We can hook other consoles into it.
  • Some kind of game that integrates with the space? interacts with some light / stuff around the arcade machine
  •  ???

brainstorming GUI

wahcade looks nice - lets install that Problem: xmame is deprecated so - either install old .deb packages or work around the problem?


http://www.anti-particle.com/wahcade.shtml http://wahki.mameau.com/index.php?title=Main_Page http://wiki.nottinghack.org.uk/wiki/Michael%27s_MAME_Machine

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/

Launcher based on XBMC???

http://lifehacker.com/5523672/turn-your-xbmc-media-center-into-a-video-game-console http://wiki.xbmc.org/index.php?title=Add-on:Advanced_Launcher http://wiki.xbmc.org/index.php?title=Dharma_Guide/Extras/Advanced_Launcher http://forum.xbmc.org/showthread.php?tid=141369 http://forum.xbmc.org/showthread.php?tid=76600 http://mterry.name/log/2013/02/01/universal-emulator-frontend-in-ubuntu-12-04/


there is bit.trip.runner in /usr/local/games jamestown in /home/xbmc/jamestown super meat boy in /home/xbmc/supermeatboy braid somewhere... dustforce in /usr/local/games and /usr/local/bin bastion somewhere super meat boy in /home/xbmc/supermeatboy MAME launcher - needs installing (need ROMs) where is super hexagon?

Wizzup: wbar --above-desk --pos center --isize 64 --noreload

wah'cade

on the alternative disk (OCZ) there is wahcade installed see here for hints (controls.ini needs creating)

http://www.anti-particle.com/wahcade_quick.shtml http://www.anti-particle.com/projects/wahcade/INSTALL http://www.pygame.org/wiki/CompileUbuntu basic config: http://wahki.mameau.com/index.php?title=Wah!Cade:Configuration http://easyemu.mameworld.info/mameguide/mameguide-controlini.htm http://mrdo.mameworld.info/mame.php