What's new

bobbydilley

Grand Master
Joined
Apr 29, 2018
Messages
543
Reaction score
591
Location
England
Edit: Project is at https://github.com/openjvs/openjvs

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:
View: 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!
 
Last edited:
This would be great! There has been talk for some time about having something with the ability to use USB devices for Naomi/Chihiro/Triforce/Lindbergh games. I would absolutely love the ability to integrate with Netboot scripts (PiForce) as you referenced. Yes - I would like to use an Xbox controller for driving games or any other USB driving controller (Logitech Red for example) if possible. I would also really like to see the use of USB guns (such as AimTrak) to be used with the Naomi/Chihiro/Triforce/Lindbergh. The idea of using USB driving and gun controllers with the Sega hardware would be amazing - any idea when this may be available? Good luck - keep up the good work and keep us posted!
 
Oh my this would be awesome! One thing I would love is to be able to use my Aimtrak ( https://www.ultimarc.com/aimtrak.html ) gun(s) (x2 ???) with my Naomi shooter games.

I second the Netboot idea!

One question is .. could you have a Capcom JVS I/O and this hooked up at the same time? Or would you have to manually swap?
 
Gungames would be awesome to do on my cab :D

Don’t have any guns yet, so can buy some which are most likely to be compatible
 
I like the idea of having jvs>Rpi>system. I would be down to run tests for you, if you need testers.
 
Hello there... Gungames would be very awesome..I use two guns from arcadeguns.com and they are very cool.

suggestion - work on the project in two parts - part 1, focusing on getting the guns working and once that is done and everyone is using them and perfected, then move on to part two, the driving games. What I see is that people working on projects like this don't have much time on their hands due to some strange concept that people call "having a real life and responsibilities":) and the project gets forgotten and eventually abandone. If we take the two parts approach, we might have a better outcome.

As for the driving games - xbox 360 controller would be cool but being able to use an off the shelf wheel, like Fanatec, Logitec or TH would be the real winner here..
 
Last edited:
@bobbydilley I think you raised a lot of epxectation and touched on something that many, including myself are eagerly waiting.

@arcadeWC summarized my thoughts very well. I'd love to play to all these games with any USB device and aimtrack for the gun games would be the absolute hit.

Please keep us updated on your progress.
 
Will this run lag free on a stock linux distro or will it require something more customized? I'm just curious if the RPi can handle USB host to JVS translation in a lag free way with a stock os. It may well be able to.

This sounds similar to @invzim 's JVS project.

I wonder as a community of arcade project enthusiasts, do we support every project, even if one comes up that might overlap with the goals of another established project? Without inciting drama, it's just a debate that may be worth having (perhaps in another thread) as this community of talented people grows.

I think this sounds like a great project and the open source aspect is appealing.
 
Last edited:
@winteriscoming you raised a very good point. We prefer to let people post their project ideas and see where it leads. We don't specifically support some projects and others not. We just provide the place to raise awareness, get feedback, ideas, etc.

I hope this makes sense.

@Mitsurugi-w your thoughts?
 
Go for it! Most of us are not in it for the money, although certain economic realities kick in when you do really complex hardware with accompanying cost - then it makes it a little frustrating with an overlapping product.

Biggest challenge tho is taking it from prototype/proof-of-concept to something that is both easy to use and covers a fair bit of what people would like to see.

Make something you would use/buy/download yourself.
 
Thanks for all the comments and offers to test - I'll keep everyone updated as I progress!

In regards to questions:

@arcadeWC It'll be made properly available in about 4 weeks once I'm home - currently I have a script which supports the keyboard, and another which supports a wii remote for shooting. I'll definitely be able to write scripts for driving wheels, as long as someones got ones to test it on!

@Dreygor I'm fairly certain that my wii remote script will already support an AimTrack gun, as it simply checks where the mouse is on the computer. If you'd be willing to spend a few pounds making up a cable, we could test this together? In terms of swapping I/O boards, currently you'd have to swap, but if you where willing to make 2 cables, I don't see why you couldn't daisy chain your real I/O board and the raspberry pi and have it use the data from the other one when your not using a gun etc.
 
At the most basic level, it will be cool just to have an alternative to real JVS PCBs which will become more scarce as time goes on -- as long as there is no additional lag. I have no interest in using console controllers on arcade hardware.
 
@Dreygor I'm fairly certain that my wii remote script will already support an AimTrack gun, as it simply checks where the mouse is on the computer. If you'd be willing to spend a few pounds making up a cable, we could test this together? In terms of swapping I/O boards, currently you'd have to swap, but if you where willing to make 2 cables, I don't see why you couldn't daisy chain your real I/O board and the raspberry pi and have it use the data from the other one when your not using a gun etc.
Sure just tell me what I need or some schematics/Pinout for what you have in mind. Could we use a USB hub for this? Just plug in everything to the hub ?

I like the idea of using something other than a Capcom JVS-I/O my bid for an alternate device would be a J-PAC ( http://ultimarc.com/jpac.html ) . They are pretty common and pretty inexpensive.
 
i like the idea of this and the cost being negligible most have netboot setups we can add this too
 
I just watched the video.. so this will also work using a projector?
Yep, seeing as this one uses a Wii Remote in exactly the same way that a Nintendo Wii does - it works just fine on any type of monitor!


At the most basic level, it will be cool just to have an alternative to real JVS PCBs which will become more scarce as time goes on -- as long as there is no additional lag. I have no interest in using console controllers on arcade hardware.
As another project, I'd be very up for making a custom I/O board - its easily doable, and the software wouldn't be hard - people would likely have to solder the boards together as a kit though or they'd probably become too expensive to make. We'd probably also have to focus on one type to start with, e.g could make a custom Gun I/O board that supports all shooting games, or a separate driving one etc.

Lag also isn't an issue - the JVS protocol runs at a speed 100x slower than even the worst Arduino processor, in all my tests everything is completely playable!

@invzim Do you solder all the components onto your boards yourself, or do you get the place that prints them to do that?
 
As another project, I'd be very up for making a custom I/O board
I've got one called MEGA JVS that extended from the TeensyJVS source: Custom JVS I/O - MEGA JVS

index.php
 
Will this run lag free on a stock linux distro or will it require something more customized? I'm just curious if the RPi can handle USB host to JVS translation in a lag free way with a stock os. It may well be able to.
No it will not, if you are going to do do USB to JVS on a RasPi there will be lag.

Simplest way to test lag is as follows:

. Get yourself one of the new phones which can do slow motion video
. Connect a LED to a button on your xbox360 controller or similar, i.e. when you push down the light goes on
. Get a NAOMI and enter JVS test screen
. Shoot a slow motion video keeping the LED and the JVS test screen in the same picture.
. Measure lag.
 
Quite an entrance you make! As said before, gun games with a real gun rather than a Wii mote would be mighty awesome! :)
 
some lag is fine and the average gamer like me will not notice much.. I game on a 65" Samsun 32ms lag, teknoparrot, arcade-Guns which is the same as Ulimarc guns. I have a lot of fun playing GoldenGun:).. I am very sure that there is a boat load of lag in my setup. The purist, I am sure that will stay purist and might use this setup for casual gaming.
 
Back
Top