What's new

invzim

Champion
Joined
Apr 9, 2016
Messages
1,058
Reaction score
2,503
Location
Oslo, Norway
Playing with the idea of making something simple to fund the upscaler thingy, and also because some of the software parts would be shared.
The idea is to make a JVS add-on board for the raspberry(zero), to turn it into a 'software defined' IO board. The only user inputs would be USB gamepads/keyboards, so the chain would be something like:

USB joypad -> raspberry pi -> addon board -> JVS Game (TypeX, Naomi, sys256 etc).

raspberry mini io.png


Could be handy for bench work, supergunning of JVS games etc. I put a JST-XH on it to power the PI, and used a USB Micro connector instead of the more traditional big type B, as most people have these cables around anyway.

Any interest in this?
 
This could be really cool, if it could be made compatible with different JVS systems and games. So it can be reconfigured to the needs of a system/game? Do you expect any noticeable lag? This would be cool to consolise some systems.
 
As with anything I/O... the biggest issue will always be lag.

Making a Pi0 do this is one thing, making it do this with sub 2ms latency is another.

also I would recommend AGAINST using a micro-USB port for JVS... the JVS standard calls for USB-A for host devices and USB-B for nodes. at least if you used a USB-B port for JVS and the micro-USB for the USB ports it would help differentiate which port is JVS and which ports are actual USB.

this is part of the reason the Lindbergh uses USB-OTG ports for the real USB ports... to avoid confusion with the JVS port.
 
Some lag is always acceptable, imho.. we're talking JVS anyway, not JAMMA.

Also, any chance of adding a passthrough port for chaining?

I'd love to see some way of storing and loading controller reconfiguration profiles as well.

I'd gladly invest in your project.
 
Well, it is a usb-b connector - just micro instead of normal..

The USB stuff goes into the raspberry.

I got logic analyzer captures of a few IO board/game combinations - so I know what I'm aiming for when it comes to lag. 1ms should be doable I think, it's not like the software is going to be python or java :)

To configure capabilities reported back to games should be really easy, but AFAIK most/all games work with normal sega IO's?
 
this would be awesome especially if you get it working with analog. A logitech G27 with Initial D would be an awesome combo ;)
 
To configure capabilities reported back to games should be really easy, but AFAIK most/all games work with normal sega IO's?
I was more referring to remapping- something like:
Controller 1 Axis 1 -> AD 2
Controller 1 Axis 2 -> AD 0 (Invert)
Controller 1 Button 3 -> 1P SW 1

etc.
nice and generic..
for one, not all controllers have the same HID gamepad mappings,
on the other hand, not all JVS games have the same button/analog mappings

clearly, making it "reprogrammable" like many HID gamepad to supergun adapters is would be a start, but I kinda feel that this only solves half the issue, perhaps, input/output profiles is the answer- aka, profile for 360, ps3, usb wheel etc on the input side, and profiles for "generic stick+buttons", Ridge racer, Initial D, Sega Gun, etc. as examples would work on the output side.

getting complex here, and clearly, we're starting to talk needing some way to choose these profiles.
It would be awesome however....
 
whats the price range? will you release the files also to diy?
 
The software will most likely be a command line linux thingy with options to set set whatever, making menus and putting a lot of 'polish' on it is very time consuming and in imo not so fun.

The software part is really the most involved and complex part of this, which is a bit of a dilemma.

I want people to be able to play with it, but I do not want people to sell cheap alternative boards and use the software I wrote. Binary file that needs a license key of sorts?

Has happened before.. http://jvspac.kirurg.org/?page=bootleg

My motivation is to make something nice, and I also like to have boards made, ship them out, and get a little contribution to the hobby account. Any way to accomplish this, and still have to software open on github?
 
you have made good stuff before. its understandable wanting to be rewarded for your hard work. what the price range for this, so i can plan.
 
IMG_0018.JPG

Was able to reuse a quite a bit of code, but still quite a way to go as you can code differently when you have more than the 2048 BYTES of ram the JVS-PAC has + it's the other direction :) Communication seem stable so far.

No idea about price point, maybe 50USD shipped without raspberry or SD card?
 
Nice work!
Might I suggest making this device report 22 outputs even if they're never actually available. That would improve compatibility with some games that would otherwise require a Type 3 I/O

usually the type 3 I/O requirement is due to needing more than the 12 or so outputs available on the Type 1.
 
So just to be clear; this board will allow for any USB game pad/controller to be used for controls of any pcb using a JVS I/O board - Naomi, Chihiro, Triforce, Lindbergh? Would this include steering wheels and guns using a USB connection? Sounds awesome.
 
I'll take 2 immediately, and would be interested in a royalty based license for the software for the naomi filter board I was discussing.

Also, could the outputs possibly be used to drive simple force feedback (not expecting steering feedback, but more like gun clacker solenoid effects) (I'd assume that's your intention)?
 
Last edited:
I have a bit of info collected from JVS-PAC users about different boards, updating this page with capabilities and versions reported:

http://wiki.arcadeotaku.com/w/JVS

Added a footprint for people who want to stack other stuff on top like the lcd/button thingy used for netbooting, or connect other stuff for custom stuff.

Tried out the B+ in 3d to check for clearence - the bigger rpi's are probably better to use if you want to plug in multiple controllers at the same time without messing with a USB hub:

mini io raspberry b+.png

Current thinking to make 2 programs.
  • JVS 'deamon' that reads/updates shared memory with /dev/shm - commonly mounted as /tmp
  • an open source USB daemon that updates this shared memory
This way, people can write whatever programs they like and the JVS stuff won't be bloated with corner cases, special features and workarounds for odd USB devices.

Any naomi/type x games that use the output drivers for anything fun I can test?
 
Any naomi/type x games that use the output drivers for anything fun I can test?
Usually the racing games feature button lamp output, light gun games often feature a start button lamp and sometimes a "kick back" signal for gun recoil.
Rhythm Tengoku is probably your best bet it uses 19 light outputs so that's a good one if you're looking for a lot of lights.

Virtual On has a start lamp and a winner lamp output, or you can enable "billboard" output in the game options it will use the first 8 outputs as a data byte to control the billboard display

Virtua Tennis and Virtua Striker games also output data for the billboard display by default.

I'm not familiar enough with Type X to comment on which games there use outputs.
 
Back
Top