Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Universal opensource arcade machine  (Read 3595 times)

0 Members and 1 Guest are viewing this topic.

IzidorM

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:January 24, 2013, 07:08:09 pm
  • opensource fanatic :)
Universal opensource arcade machine
« on: January 21, 2013, 07:48:55 pm »
Hi,
3 years ago I had an idea of building an arcade machine. After thinking over what kind of an arcade machine I want, I came up with following list:
- universal (it should run games from various platforms (mame, snes, dos, genesis, ...)
- original look and feel (no interaction with operating system, ...)
- everyone should be able to make one (as cheap as possible, opensource)
- everyone should be able to use one (as simple to use as possible)

I looked around the web to see if something similar exists, but at that point I didn't find anything that had all the features listed above.

So I started my own arcade machine project and after 1 year I end up with this:


So you may wonder why is there an usb key and a weird red board on the picture. Well this are the heart and soul of my arcade machine. Let me explain.

I want an universal arcade machine, so it was obvious I need to use a PC to emulate old consoles/arcades. But we all know, that a standard input device on PC is a keyboard and all the emulators use it as a default input device. But different emulators have different default keybindings. So we need an keyboard encoder that can be reconfigured on the fly. So this is what the red board on the picture is all about. It is an on the fly reconfigurable keyboard encoder with 35 inputs.

But to get oldschool look and feel some other things are also important. The first, most important thing for me, is that you don't see an operating system gui when booting the system. The most ugly thing is to see windows logo before you start your frontend/game... This is why I wrote my own frontend for a Gnu/Linux operating system.

At last I want to make my project as easy to reproduce and as cheap as possible. This is why the usb key is on the pic. I made an bootable linux image, where you can add games and emulators. When you want to convert your pc in an arcade machine, you just need to boot it from the usb key :)

So let me sum up what i did:
- on the fly reconfigurable keyboard encoder, which uses a program on your pc to map your keyboard controls to keycodes. It is based on this hw:
https://www.olimex.com/Products/ARM/NXP/LPC-P1343/
- frontend which support different emulators and can reconfigure my keyboard encoder automaticaly, when you start a game. You can also make your own graphics for it...
- packed all the software and made an usb bootable image with 2 partitions. So you can easily add new games/emulators and config files even from windows pc :)

At the end I also build a little cabinet. It is just a cabinet with an lcd and speakers build in it. I didn't put an PC inside, because I want to make a "portable" cabinet, that can be connected to my laptop :) I build this cabinet 1.5 years ago and it was in use for all this time in a local skate park :)

Total cost of the material for the project:
- old P4 pc (2ghz celeron, 512mb ram) 20$ on ebay
- old 15inch lcd display 20$ on ebay
- old pc speakers 10$ on ebay
- hw for keyboard encoder 20$
- arcade sticks and buttons 40$
- Plywood or Particle board for cabinet, around 15$ for square meter
sum 110$ + cabinet material

Here are also 2 pics and a video:



In the video you can see booting, frontend and 4 games:
- super mario world (snes)
- prehistoric (dos)
- metal slug (mame)
- teenage mutant ninja turtles (genesis)



So I hope you like it. I didn't go in any details, but if you have questions ask. I will update this project until summer with some new features and with documentation, which I didn't have time to write yet, so new developers could join the project :)

P.S.: Sorry for my English, I am form EU so it is not my native language :)

Le Chuck

  • Saint, make a poll!
  • Wiki Contributor
  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5509
  • Last login:April 14, 2024, 06:01:28 pm
  • <insert personal text here>
Re: Universal opensource arcade machine
« Reply #1 on: January 21, 2013, 08:13:40 pm »
Welcome,

I don't get the fundamental difference of watching windows boot vice watching linux boot.  Both are operating systems that can immediately drop you into a front end.   :dunno

That's not to argue the benefits of one over the other, just that I question your reasoning that because it's not a windows boot sequence it's somehow a more acceptable boot sequence - not to mention the fact that you can hide windows boot sequence with boot skinning fairly easily. 

Your build is pretty rough but you're headed in the right direction.  You've clearly spent a long time on the software getting it where you want, I suggest you focus on the cabinet side to get a nice looking form to show off all that hard work you've done.  Keep after it!

IzidorM

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:January 24, 2013, 07:08:09 pm
  • opensource fanatic :)
Re: Universal opensource arcade machine
« Reply #2 on: January 22, 2013, 08:46:22 am »
Hi Le Chuck,
well you are right about the boot sequence. It can be done on windows as well. But I like the linux default boot sequence. No fancy graphics, just text flying by  :)
But booting was not the main reason for choosing Gnu/Linux. With proprietary software used in the project, it wouldn't be possible to give bootable image away for free :)

The cabinet is rough, because it was just a prof of concept :) The point of this project was the software and hardware part :) The problem is that i need to write some documentation and tutorials about using this sw/hw, because right now I am the only one able to extend/upgrade it  :timebomb:

kahlid74

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1366
  • Last login:January 01, 2021, 12:42:56 pm
  • Gaming for a better future!
    • GamersAnon
Re: Universal opensource arcade machine
« Reply #3 on: January 22, 2013, 08:58:29 am »
Cool beans man.

The Keyboard encoder on the fly for me isn't really that big of an issue.  I usually boot every emulator once, set it and then forget it with an I-Pac or one of Vigo's encoders.  I do like though your entire system in a ready to rock fashion.  Should help a lot of people who are just starting in the arcade realm get their feet wet without knowing everything.

eldiau

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 39
  • Last login:June 12, 2023, 06:01:40 pm
Re: Universal opensource arcade machine
« Reply #4 on: January 23, 2013, 06:21:39 pm »
Hi IzidorM,
I like the idea of linux booting from an USB key, I'm using Linux too on my cab (lubuntu with wahcade). I was thinking about switching to tinycore linux booting from an USB key too... but I'm too lazy and the hard disk installation it's so easy to setup ;) would you mind sharing your usb key image?

Yenome

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 547
  • Last login:April 12, 2024, 01:03:06 am
  • Punch a fish. Make a wish
Re: Universal opensource arcade machine
« Reply #5 on: January 23, 2013, 11:03:21 pm »
not bad idea im behind the thought of a universal system for mame systems. coming from the days of dos id rather see a pretty boot screen than the txt flying. course you should be able to hide that flying txt as well with a loader no? im not much on the linux train. course you want the shortest and fastest load time nothing compares to coinops in an xbox 4 sec boot time and you can change the M$ load screen to anything you want. i would like a better pic of the board and usb drive.
My Gf made me put a sig up. /whipped

IzidorM

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:January 24, 2013, 07:08:09 pm
  • opensource fanatic :)
Re: Universal opensource arcade machine
« Reply #6 on: January 24, 2013, 07:02:00 pm »
eldiau:
I think the image will not be of any use to you, because it is build around my frontend :) So the image is without any desktop system... You need to know how to work in the linux terminal to change major things :) A.t.m. only games for those 4 emulators can be added simply... For anything else, you need the whole build system for building the usb boot image. But for that I still didn't write any docs :(   

Yenome:
Yes, it is possible to cover it with an image of your choice. I had this feature, but it was removed, because I had some problems with it (was to lazy to fix it :D) This is the board in the pic:
https://www.olimex.com/Products/ARM/NXP/LPC-P1343/
It is a development prototype board from olimex. I used an easy to get hardware, so anybody can get it. To flash it with my firmware (and transform it to keyboard encoder), you just need an usb cable :)
 
I will write a little bit more about how things work next week, I am a little bit busy at the moment. The fun part is the "keyboard encoder", which is basically an general purpose input/(output) device. It works different as the solutions you use today. The hardware is just reading and processing buttons, whole "brain" of the keyboard encoder is implemented on the pc as an userspace program :) This is a big feature, because you can process information about button presses/releases before you send them to the program expecting them (frontend/emulator...). You can, instead of just translating buttons to keycodes, write a script for some buttons (binding your favorite streetfighter combo to just 1 button, measuring the time button was pressed, ...) and this all can be reconfigured on the fly :) It is simple to extend/ this and make some pins as outputs so you can drive leds with them...

Well the only problem is that this only works on linux based system ;)

eldiau

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 39
  • Last login:June 12, 2023, 06:01:40 pm
Re: Universal opensource arcade machine
« Reply #7 on: January 25, 2013, 04:22:47 am »
eldiau:
I think the image will not be of any use to you, because it is build around my frontend :) So the image is without any desktop system... You need to know how to work in the linux terminal to change major things :) A.t.m. only games for those 4 emulators can be added simply... For anything else, you need the whole build system for building the usb boot image. But for that I still didn't write any docs :(   

After more than 12 years working as a linux system administrator and developer I assure you I'm quite used to work on the terminal  ;) ! Never mind when I'll have time I'll work on a Tiny Core or LFS custom image...

Yenome

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 547
  • Last login:April 12, 2024, 01:03:06 am
  • Punch a fish. Make a wish
Re: Universal opensource arcade machine
« Reply #8 on: January 25, 2013, 09:10:46 pm »
now if only we had a simple pci card that had a bios img that would boot right into a FE and let you use the full power of the pc to play the games. pretty much turning any pc into a console.
My Gf made me put a sig up. /whipped