Showing posts with label piuio. Show all posts
Showing posts with label piuio. Show all posts

Wednesday, October 20, 2021

HOW TO: Building a Pump It Up Arcade MK9 v1 or v2 Main Logic Board


This blog post provides technical information on how to put together a Pump It Up MK9 v1 or v2 arcade main logic board.


[What Games are supported on the MK9?]

Pump It Up Pro

Pump It Up NX2 (NX2 v1.54 for example throws a kernel panic on some MK9s, however, it works for others. Your mileage may vary.)

Pump It Up NX Absolute (Support for NXA can also vary.)

Pump It Up Pro 2 (Using an MK9 will render the 3D arrow graphics on Pro 2! An MK6 cannot do this.)

Pump It Up Fiesta

Pump It Up Jump!

Pump It Up Fiesta EX

Pump It Up Fiesta 2

Pump It Up Infinity

Pump It Up PRIME

Pump It Up PRIME 2

Pump It Up XX ***


*** Runs in HD mode ONLY. SD mode is now unsupported as of XX's release. Any input physical connector type is ok (I.e. HDMI, DVI, VGA), but monitor MUST support 720p or higher and GPU must pump out a HD signal.


[MK9v1]

The MK9v1 was first shipped DURING the release of Pro1/NX2 (Late 2007-2008). At the time, NX2/Pro machines had either: MK6 or MK9 hardware.

There isn't much sense in building an MK9v1 (It doesn't have any advantages over the Mk9v2 board.). 


Motherboard/s: Gigabyte GA-945GZM-S2 - https://www.gigabyte.com/Motherboard/GA-945GZM-S2-rev-21/sp#sp

Sound Chip: 5.1 CH HD Audio (Realtek ALC888)

Chipset: North Bridge: Intel® 945GZ Express Chipset | Southbridge: Intel® ICH7

RAM: (The mobo reserves RAM for PCI devices etc regardless of bitwise OS - 3145728K shows as usable even on 4GB RAM) - 4GB RAM MAX (DDR2 667/533/400 MHz)


Motherboard: Gigabyte GA-945GCM-S2L - https://www.gigabyte.com/Motherboard/GA-945GCM-S2L-rev-10/sp#sp

Motherboard: MK9 GA-945GCM-S2C (Should also work, but not official) - https://www.gigabyte.com/Motherboard/GA-945GCM-S2C-rev-10/sp#sp

Sound Chip: 5.1 CH HD Audio (Realtek ALC662)

Chipset: North Bridge: Intel® 945GC Express Chipset | Southbridge: Intel® ICH7

RAM: 4GB RAM MAX (DDR2 DIMM 667/533/400 MHz) - NOTE: The mobo reserves RAM for PCI devices etc regardless of bitwise OS (I.e. 3145728K shows as usable even on 4GB RAM)

IO: Official USB PIUIO and JAMMA Interface

Security: A USB security dongle (except for the Pro series).


MK9v1 Graphics cards used:

Geforce 7200GS (PCIe 1.0 x16 | 256MB / 512MB DDR2)

Geforce 8400GS (PCIe 2.0 x16 | 512MB / 1GB DDR3)



[MK9v2]

Motherboard: Asrock G41M-S3 - https://www.asrock.com/mb/Intel/g41m-s3/index.asp

Motherboard: Asrock G41C-GS (Should also work) - https://www.asrock.com/mb/intel/g41c-gs/

BEST CPU: See here: https://www.cpubenchmark.net/socketType.html#i5

- Socket 775 (LGA 775 / Socket T)

- Supports FSB 1333/1066/800/533 MHz

Sound Chip: 5.1 CH HD Audio (Realtek ALC662)

Chipset: Northbridge: Intel® G41 | Southbridge: Intel® ICH7

RAM: 8GB RAM MAX (DDR3 DIMM 1333(OC)/1066/800 non-ECC, un-buffered memory)

IO: Official USB PIUIO and JAMMA Interface

Security: A USB security dongle (except for the Pro series).


MK9v2 Graphics cards used:

Nvidia Geforce 9300GS (PCIe 2.0 x16 | 512MB DDR2)

NVIDIA GeForce 210 1GB (PCIe 2.0 x16 | 1GB | DDR3)



[COMPATIBLE PARTS LIST for the BEST MK9v2 UPGRADE]

Here is a list of compatible parts in order to obtain the BEST upgrade when building an MK9v2 main board.

Motherboard: Asrock G41M-S3 or Asrock G41C-GS

Processor: Socket 775 - 3.2 GHz, 12 MB L2 Cache, 1333 MHz FSB (MAX on both boards)

BEST CPU: See here: https://www.cpubenchmark.net/socketType.html#i5

BEST CPU vs Availability: Intel Xeon X3370 @ 3.00GHz / Intel Core2 Quad Q9650 @ 3.00GHz

RAM: 8GB RAM MAX (DDR3 DIMM 1333(OC)/1066/800 non-ECC, un-buffered memory) - MAX RAM SETUP on both boards

Video Card: NVIDIA GeForce 210 1GB (PCIe 2.0 x16 | 1GB | DDR3) (Low Profile Preferred to fit in case - Not Essential). Any memory (128mb, 256mb etc), any manufacturer (Pny etc) and any output type (VGA, DVI etc) will work.

HDD: Image official drive (with security dongle) or put in any IDE or SATA drive to run emulators like StepF2

IO: Official USB PIUIO and JAMMA Interface

Security: A matching HDD USB security dongle for an official mix, or no security required when using emulation.


Game Graphics Card Support

Not ALL MK9 mixes will work with all supported graphics cards. See the list below for compatibility options.

To have the BEST compatibility, an NVIDIA GeForce 8400GS or 9300GS is recommended.


NVIDIA GeForce 7200GS (NX2 to Prime 2)

NVIDIA GeForce 8400GS (??? to XX)

NVIDIA GeForce 9300GS (??? to XX)

NVIDIA GeForce 210 (Fiesta to XX)

NVIDIA GeForce GT 610 (Prime 2 - XX)

NVIDIA GeForce GT 710 (Prime 2 - XX)


EMULATION

Of course, if you are ONLY interested in building a system for emulation (Running Stepmania, StepF2, StepPrime, Stepmania etc), then there is really no point spending more money on official MK9 hardware. You would be better off buying something current as it would be not only easier to find, but also cheaper. Again, you will not be limited by the limitation imposed by old motherboards and such. It's also probably the cheapest option! You would just need to purchase a J-PAC / barr.io / STAC board (or something similar) to get your computer to "talk" with the arcade cabinet. The J-PAC, for example, would be a replacement for BOTH the PIUIO AND the PIU JAMMA Interface parts.

The best (and most expensive) solution would be to build an MK9v2 machine as outlined in this post and also place a secondary drive inside the system. You could, for example, install Windows 10 on this secondary drive (because StepF2 / StepPrime / StepP1 are all Windows only software titles and are really great pump it up simulators). I personally have a bunch of ~160GB drives will many OS' and games pre-installed. It's very easily to swap them out when you want to play a different mix. The possibilities are endless!


Want to build an MK6? See here:

Tuesday, January 9, 2018

HOWTO: Install PIUIO Drivers in Linux (uBuntu, Debian, Fedora and more)


Need to install on Windows instead? Click here: http://s34nvideo.blogspot.com/2016/10/installing-piuio-drivers-for-windows.html


If you're building an MK6/MK9 for Pump It Up, or, OpenITG for In The Groove, or, simply a Stepmania setup or both... You may have opted for using a PIUIO to communicate with your arcade cabinet. If running a distribution of Linux, then installing PIUIO is a very simple task.

Note: If you are running OpenITG, then it already includes support for PIUIO natively. You do not need to proceed with this tutorial. Skip to the end to learn how to run OpenITG with PIUIO.


Installing PIUIO on Linux
1. Download the PIUIO input driver for linux here: https://github.com/djpohly/piuio

2. Install gcc. This will also install binutils. Both are required to run 'make' without getting CONFIG_X86_X32 binutils support errors.
sudo apt-get install gcc

3. Extract the files, open the mod directory and run make, then make install. Please refer to the ReadMe for an updated and more detailed set of instructions for compiling and installing. Ensure the operation completed without errors before continuing.

NOTE: The PIUIO driver legacy branch creates a PIUIO proprietary device here: /dev/piuio0. However, the latest re-write of the driver connects to the Linux Event and LED interfaces. The driver now creates a /dev/input/eventX device. The latest revision on github is a Linux kernel module - It exposes the PIUIO input to the system as a generic joystick with a bunch of buttons. It's a much cleaner solution than the legacy branch, and it allows any program on the system to make use of the input! 

4. Connect your PIUIO to your computer via USB (The fake PCI slot on the PIUIO is merely to sit it in a desktop computer properly, it does not communicate with a PC via PCI in any way at all.). To power the PIUIO, it will need power via Molex cable. If using a laptop, then you can use an old PC ATX power supply to power the PIUIO board via the molex connector. You will need to jump a couple of pins in the ATX connector to start the power supply once it's plugged in (This acts like a power switch on a desktop computer to start the power supply! More info: http://www.instructables.com/id/How-to-power-up-an-ATX-Power-Supply-without-a-PC/).

5. You are now good to go!




[Troubleshooting PIUIO Installation in Linux]

Refer to the steps below if you are having trouble installing PIUIO on your system. This assumes you have downloaded the latest master branch from: https://github.com/djpohly/piuio

It also assumes you have already tried make && make install and the PIUIO driver is still not working.

The following steps have been tested within ubuntu. Refer to your linux distribution if the command names differ. The troubleshooting concepts however will remain the same.

1. Open a Terminal window.

2. Search for the PIUIO module
find /lib/modules -name 'piuio*'

The above command, assuming you have ran make && make install already, will show you where the module (piuio.ko) has been installed. If there is no output here, then there is an issue with the 'make install' step.

3. Run the following command:
modinfo piuio

This will tell you information about the PIUIO module.
If you receive an error such as: "ERROR: Module piuio not found.", then you will need to run the following command:
depmod

depmod creates a list of module dependencies, by reading each module under /lib/modules/version and determining what symbols it exports, and what symbols it needs. Hopefully the system will now be able to 'find' the PIUIO module.

Now try the following command again:
modinfo piuio

You should receive some output regarding the module (Author, module location, version licence etc). This means the module is now recognized by the system and where it needs to be.

4. Run the following command:
modprobe piuio

This will add the piuio module to the linux kernel. Stepmania 5 (and any other capable piece of software) will now be able to detect the PIUIO module!

5. Run the following command:
lsmod | grep piuio

This will confirm that piuio has been loaded into the linux kernel. It also shows the size of the module and the current usage count.



NOTE: If these steps all checkout for you, but you cannot get input to work in Stepmania, then don't forget to set your Key Config!!! ;)





Getting PIUIO to detect within Stepmania 5 or OpenITG
Click here to learn how to use PIUIO with Stepmania 5 / OpenITG.

Monday, October 24, 2016

HOW TO: PIUIO with Stepmania 5 or OpenITG in Linux and Windows



Please follow this guide to install PIUIO before continuing...

Once you have installed the drivers for PIUIO on your system, you will need the software to be able to interact with your PIU drivers.


In Windows

1. Download and install IO2Key here:
https://mega.nz/#!INFUDBqa!Br-zZexEgOaVCDNqUzPQmoVi3jg0X5X4ZNSKxm-P1GQ
Video Help: https://www.youtube.com/watch?v=xo5m9dlNFfY

IO2Key maps the inputs from PIUIO to standard keyboard keys. You can then easily map the keyboard keys in Stepmania or OpenITG.



Linux - Stepmania 5

1. Open the following file:

Preferences.ini
(Located in the users home directory. NOTE: Stepmania needs to be ran for the first time for these files to appear!)

TIP: Make sure Static.ini does NOT contain this line as it'll override the setting if so. Alternatively, you can place the following in static.ini to override this. Your choice!

2. Find the line that begins with: "InputDrivers=". Modify this line so that the value is empty (auto-probe).

I.e.
"InputDrivers=XXXXXXX" should now read:
"InputDrivers=". (No spaces and case sensitive)


3. Still within this file, find the line that begins with: "LightsDriver=" Modify this line so that it begins with PIUIO_Leds after the equal sign.

I.e.
"LightsDriver=" should now read:
"LightsDriver=PIUIO_Leds". (No spaces and case sensitive)


This tells Stepmania that we want to use PIUIO to manage the lights for the arcade cabinet.


Linux - OpenITG

As OpenITG supports PIUIO out of the box, the complete setup is rather simple...

1. Open the following file:


Stepmania.ini (Located in the Data folder)

TIP: Make sure Static.ini does NOT contain this line as it'll override the setting if so. Alternatively, you can place the following in static.ini to override this. Your choice!

2. Find the line that begins with: "InputDrivers=". Modify this line so that it includes PIUIO.

I.e.
"InputDrivers=x11" should now read:
"InputDrivers=x11,PIUIO". (No spaces and case sensitive)

This tells OpenITG that we want to add PIUIO as an optional input driver IN ADDITION to x11 (A standard linux keyboard) 

3. Still within this file, find the line that begins with: "LightsDriver=" Modify this line so that it begins with PIUIO after the equal sign.

I.e.
"LightsDriver=" should now read:
"LightsDriver=PIUIO". (No spaces and case sensitive)

This tells OpenITG that we want to use PIUIO to manage the lights for the arcade cabinet.



BONUS ANNOYANCE: Disable Floor Panels from Selecting Songs in the Song Menu Screen

1. Open the following file depending on your engine:
OpenITG - Stepmania.ini (Located in the Data folder)
Stepmania 5 - Preferences.ini (Located in AppData for the current user)

TIP: Make sure Static.ini does NOT contain this line as it'll override the setting if so. Alternatively, you can place the following in static.ini to override this. Your choice!

2. Find the line that begins with: "OnlyDedicatedMenuButtons="

Modify this line so that it reads: "OnlyDedicatedMenuButtons=1"

Installing PIUIO Drivers for Windows


Need to install on Linux instead? Click here: http://s34nvideo.blogspot.com/2018/01/howto-install-piuio-drivers-in-linux.html




If you're building an MK6/MK9 for Pump It Up, or, OpenITG for In The Groove, or, simply a Stepmania setup... You may have opted for using a PIUIO to communicate with your arcade cabinet. If running a distribution of Linux, then installing PIUIO is a very simple task. However, if your are running Windows, you will need to build the driver yourself using Libusb.

Installing PIUIO on Windows
1. Download libusb-win32 here: http://sourceforge.net/projects/libusb-win32/ libusb-win32 is a port of the USB library libusb-0.1 (http://sf.net/projects/libusb/) for 32/64bit Windows (2k, XP, 2003, Vista, Win7, 2008; 98SE/ME for v0.1.12.2). The library allows user space applications to access many USB device on Windows.

2. Unzip libusb-win32 and run inf-wizard.exe (This will build a Windows driver for PIUIO).

3. Connect your PIUIO to your computer via USB (The fake PCI slot on the PIUIO is merely to sit it in a desktop computer properly, it does not communicate with a PC via PCI in any way at all.). To power the PIUIO, it will need power via Molex cable. If using a laptop, then you can use an old PC ATX power supply to power the PIUIO board via the molex connector. You will need to jump a couple of pins in the ATX connector to start the power supply once it's plugged in (This acts like a power switch on a desktop computer to start the power supply! More info: http://www.instructables.com/id/How-to-power-up-an-ATX-Power-Supply-without-a-PC/).

4. Hit next in inf-wizard.exe. Within the list, you are looking for a USB device called EZ-USB FX2... This is the PIUIO! Select it in the list, then hit next twice. We can now build a windows driver! Choose where you want to save the driver to (The driver is an INF file).

5. You can then install the PIUIO driver via inf-wizard.exe on the last screen, or, within Device Manager.


Getting PIUIO to detect within Stepmania 5 or OpenITG
Click here to learn how to use PIUIO with Stepmania 5 / OpenITG.