Difference between revisions of "Arcade Machine"

From Technologia Incognita
Jump to: navigation, search
Line 16: Line 16:
  
 
== Getting it to work ==
 
== Getting it to work ==
 +
 +
There's a basic UvA 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. (And
 +
hopefully soon on the wiki too...)
  
 
=== Input ===
 
=== Input ===
 +
 +
==== Arcade Machine input ====
  
 
The input can be read as PS2 (and USB); using a chip that we got alongside
 
The input can be read as PS2 (and USB); using a chip that we got alongside
Line 25: Line 31:
 
http://www.ultimarc.com/jpac2.html
 
http://www.ultimarc.com/jpac2.html
  
We need to hook this up to a machine and see how it exposes
+
The Arcade Machine input exposes itself as a single keyboard over USB and PS/2.
the input over USB. We briefly tested the PS2 output on the BIOS of some machine
+
This is problematic for most games, with the exception of MAME and a few
and it worked. If the chip does not expose a HID, we may have to fiddle around a
+
emulators.
bit to get all the software to read from the input devices. MAME is known to
+
 
handle the basic PS2 input just fine (AFAIK), but for other emulators this can
+
The chip does not expose more than one HID, we will have to fiddle around a
be a problem. Solutions include writing our own input driver or perhaps faking a
+
bit to get all the software to read from the input devices as two seperate
 +
devices. MAME is known to handle the basic PS2 input just fine (AFAIK),
 +
but for other emulators this can be a problem.
 +
Solutions include writing our own input driver or perhaps faking a
 
device in X.
 
device in X.
  
 
UHID, since Linux 3.6: https://dvdhrm.wordpress.com/2012/07/16/uhid-user-space-hid-io-drivers/
 
UHID, since Linux 3.6: https://dvdhrm.wordpress.com/2012/07/16/uhid-user-space-hid-io-drivers/
 
Possibly this (need to verify): http://www.mjmwired.net/kernel/Documentation/hid/hidraw.txt
 
Possibly this (need to verify): http://www.mjmwired.net/kernel/Documentation/hid/hidraw.txt
 +
 +
==== Other Input ====
 +
 +
We attached two PlayStation controllers, but I ([[User:Wizzup|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 a key.
  
 
=== Video ===
 
=== Video ===
  
We plan to replace the built-in monitor with a TFT monitor; and since we also a
+
We replaced the built-in monitor with a TFT monitor.
have computer in there we can simply hook the VGA of the computer to the
 
monitor.
 
  
 
=== Sound ===
 
=== Sound ===
  
The sound works; and I think we can easily hook it to the computer as well.
+
The sound works and is connected to the computer as well.
 +
 
 +
=== Games ===
  
=== Coin Input ===
+
Emulators:
  
This should be handled by the Input over PS2/USB as well.
+
* ZSNES (SNES)
 +
* UAE (Amiga)
 +
* MAME
 +
* ...
  
 
== Writing our own input driver ==
 
== Writing our own input driver ==

Revision as of 02:13, 3 December 2012

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 will run MAME and other emulators, such as Amiga or SNES emulators.

PS: I set the niche mostly to software because the electronics/mechanics are probably quite simple in this case.

Getting it to work

There's a basic UvA 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. (And hopefully soon on the wiki too...)

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.

The chip does not expose more than one HID, we will have to fiddle around a bit to get all the software to read from the input devices as two seperate devices. MAME is known to handle the basic PS2 input just fine (AFAIK), but for other emulators this can be a problem. Solutions include writing our own input driver or perhaps faking a device in X.

UHID, since Linux 3.6: https://dvdhrm.wordpress.com/2012/07/16/uhid-user-space-hid-io-drivers/ Possibly this (need to verify): http://www.mjmwired.net/kernel/Documentation/hid/hidraw.txt

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

Games

Emulators:

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

Writing our own input driver

We can also decide not to use the chip we got with the machine and instead make our own with an arduino or similar machine.

Other uses

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