bobbydilley
Grand Master
Hi there,
After getting such a warm welcome to the forum, I thought I'd post a quick description of my JVS Emulator project before it goes live on github, and get some feedback about what people would like out of it.
The project is a JVS I/O board emulator written in python, that would run on a Raspberry Pi/Computer and connect to a JVS arcade board using a cable that can be made for around £4 from parts on eBay (or £8 on amazon, if you want it faster!), and only requires some scissors and a screw driver to make.
It will consist of a python library which does the communication between the Raspberry Pi (or other computer) and the arcade motherboard, and different python scripts which will convert controller signals from things like Wii Remotes, XBOX controllers, keyboards etc. into commands to send to the library to play the games.
The current proof of concept I have here is me playing The Maze Of The Kings, on a Sega Naomi with a Wii Remote: https://www.youtube.com/watch?v=T5MW_Vc_1I0
The entire setup would require a Wii Remote, Sensor Bar, Raspberry Pi (with bluetooth), and RS485 converter cable (the £8 cable made from parts).
The other idea I had with this project, would be to have 2 of the converter cables and have a real JVS I/O board plug into the Raspberry Pi, and then the Raspberry Pi plug into the arcade board, so that the Raspberry Pi would convert signals to and from different games and different I/O board types. For example you would be able to play Ninja Assault with a standard IR light gun setup, or play driving games using the digital joystick on your existing cabinet. This idea would take a little more time, but if its something people would want I'd be more than happy to start implementing it, but would require people to help test, seeing as I'm a student and can't really afford an I/O board currently!
The questions I have for this project are:
- What are people most likely to want to control their arcade boards (Naomi, Chihiro, Lindbergh etc.) with? Would it be a Wii Remote, or an Xbox Controller or the keyboard? Would you be interested in playing driving games with an xbox controller or not?
- Does anyone have any experience with how to distribute and lay out python applications. I was thinking of having a ~/JVSModules folder that would sit in your home directory that you could place in different python scripts for different controller/game combinations, and then have a command line application which would list them and allow you to select them to play the games? Does this sound like a good idea?
- Finally, I was thinking of integrating it with the existing Netboot scripts, so for example you could simply write '$netboot maze_of_kings.bin', and the raspberry pi would load it, and then start running the appropriate JVS emulator for that game - would this be of any interest to anyone, or has anyone got any better ideas on how it might work?
Sorry for the long post, I'm currently half way through my university exams and am having to hold back for the next few weeks but am very excited to get to work on it! All the code is currently at my parents house with my Naomi, so I'll get it up on Github for everyone to use/edit as soon as I'm back.
Thanks in advance for everyones help!
After getting such a warm welcome to the forum, I thought I'd post a quick description of my JVS Emulator project before it goes live on github, and get some feedback about what people would like out of it.
The project is a JVS I/O board emulator written in python, that would run on a Raspberry Pi/Computer and connect to a JVS arcade board using a cable that can be made for around £4 from parts on eBay (or £8 on amazon, if you want it faster!), and only requires some scissors and a screw driver to make.
It will consist of a python library which does the communication between the Raspberry Pi (or other computer) and the arcade motherboard, and different python scripts which will convert controller signals from things like Wii Remotes, XBOX controllers, keyboards etc. into commands to send to the library to play the games.
The current proof of concept I have here is me playing The Maze Of The Kings, on a Sega Naomi with a Wii Remote: https://www.youtube.com/watch?v=T5MW_Vc_1I0
The entire setup would require a Wii Remote, Sensor Bar, Raspberry Pi (with bluetooth), and RS485 converter cable (the £8 cable made from parts).
The other idea I had with this project, would be to have 2 of the converter cables and have a real JVS I/O board plug into the Raspberry Pi, and then the Raspberry Pi plug into the arcade board, so that the Raspberry Pi would convert signals to and from different games and different I/O board types. For example you would be able to play Ninja Assault with a standard IR light gun setup, or play driving games using the digital joystick on your existing cabinet. This idea would take a little more time, but if its something people would want I'd be more than happy to start implementing it, but would require people to help test, seeing as I'm a student and can't really afford an I/O board currently!
The questions I have for this project are:
- What are people most likely to want to control their arcade boards (Naomi, Chihiro, Lindbergh etc.) with? Would it be a Wii Remote, or an Xbox Controller or the keyboard? Would you be interested in playing driving games with an xbox controller or not?
- Does anyone have any experience with how to distribute and lay out python applications. I was thinking of having a ~/JVSModules folder that would sit in your home directory that you could place in different python scripts for different controller/game combinations, and then have a command line application which would list them and allow you to select them to play the games? Does this sound like a good idea?
- Finally, I was thinking of integrating it with the existing Netboot scripts, so for example you could simply write '$netboot maze_of_kings.bin', and the raspberry pi would load it, and then start running the appropriate JVS emulator for that game - would this be of any interest to anyone, or has anyone got any better ideas on how it might work?
Sorry for the long post, I'm currently half way through my university exams and am having to hold back for the next few weeks but am very excited to get to work on it! All the code is currently at my parents house with my Naomi, so I'll get it up on Github for everyone to use/edit as soon as I'm back.
Thanks in advance for everyones help!