What's new

Darksoft

Staff member
Immortal
Joined
Jun 12, 2015
Messages
11,387
Reaction score
16,687
Location
Poland
Hi,

I've made a small programm that allows you to extract the information of your I/O so you can know what characteristics your I/O has, what games it can be compatible with, etc.

Here is the program and source code. Notice that the source code can be improved :) the COM port is still hardcoded so I uploaded 2 executables one for COM1 and one for COM3. It's compiled using Bloodshed Dev C++ (www.bloodshed.net)
http://www.mediafire.com/file/jtjb6m6yylmdqpi/JVS+Info.7z

In order to connect it to a normal PC, you need a rs232-rs242 adapter like this one:

http://www.ebay.es/itm/Convertisseu...hash=item45facbc0d1:m:mPR-djXLSdtkuMFYQaiHcGw

For the JVS cable, I've used a normal USB connector from i.e. a printer cable.

You need to connect just 3 cables. Notice that we will ignore the pin SENSE and use only TX+,TX- and GND.

JVS_Cable_1.jpg

JVS_Cable_2.jpg

These are the answers that I got using it with the JVS I/O that I have:


335a4nk.jpg
SEGA (837-14572) TYPE 3
-----------------------
Sending ReadID command...
Answer received of 0000003c bytes read
e0 00 39 01 01 53 45 47 41 20 43 4f 52 50 4f 52 41 54 49 4f
4e 3b 49 2f 4f 20 42 44 20 4a 56 53 3b 38 33 37 2d 31 34 35
37 32 3b 56 65 72 31 2e 30 30 3b 32 30 30 35 2f 31 30 00 4c
in ASCII -> "SEGA CORPORATION;I/O BD JVS;837-14572;Ver1.00;2005/10"
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 13 19
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 20 26
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 00000017 bytes read
e0 00 14 01 01 01 02 0e 00 02 02 00 00 03 08 0a 00 12 14 00 00 00 66


2rdc7ds.jpg
SEGA (837-13551-92) TYPE 1
--------------------------
Sending ReadID command...
Answer received of 00000040 bytes read
e0 00 3d 01 01 53 45 47 41 20 45 4e 54 45 52 50 52 49 53 45
53 2c 4c 54 44 2e 3b 49 2f 4f 20 42 44 20 4a 56 53 3b 38 33
37 2d 31 33 35 35 31 20 3b 56 65 72 31 2e 30 30 3b 39 38 2f 31 30 00 58
in ASCII -> "SEGA ENTERPRISES,LTD.;I/O BD JVS;837-13551 ;Ver1.00;98/10"
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 11 17
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 20 26
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 00000017 bytes read
e0 00 14 01 01 01 02 0d 00 02 02 00 00 03 08 00 00 12 06 00 00 00 4d


6i9n6a.jpg
SEGA (837-13741) TYPE 2
-----------------------
Sending ReadID command...
Answer received of 00000045 bytes read
e0 00 42 01 01 53 45 47 41 20 45 4e 54 45 52 50 52 49 53 45
53 2c 4c 54 44 2e 3b 38 33 37 2d 31 33 38 34 34 2d 30 31 20
49 2f 4f 20 43 4e 54 4c 20 42 44 32 20 3b 56 65 72 31 2e 30
30 3b 39 39 2f 30 37 00 4c
in ASCII -> "SEGA ENTERPRISES,LTD.;837-13844-01 I/O CNTL BD2 ;Ver1.00;99/07"
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 11 17
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 20 26
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 00000017 bytes read
e0 00 14 01 01 01 02 0c 00 02 02 00 00 03 08 00 00 12 16 00 00 00 5c


qp45xu.jpg
SEGA (838-13683-93) JAMMA JVS
-----------------------------
Sending ReadID command...
Answer received of 0000003a bytes read
e0 00 37 01 01 53 45 47 41 20 45 4e 54 45 52 50 52 49 53 45
53 2c 4c 54 44 2e 3b 49 2f 4f 20 38 33 38 2d 31 33 36 38 33
42 20 3b 56 65 72 31 2e 30 37 3b 39 39 2f 30 36 00 d4
in ASCII -> "SEGA ENTERPRISES,LTD.;I/O 838-13683B ;Ver1.07;99/06"
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 11 17
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 20 26
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 00000013 bytes read
e0 00 10 01 01 01 02 0f 00 02 02 00 00 03 08 00 00 00 33

1624mes.jpg
SEGA (838-13683-02) JAMMA JVS
-----------------------------
Sending ReadID command...
Answer received of 0000003a bytes read
e0 00 37 01 01 53 45 47 41 20 45 4e 54 45 52 50 52 49 53 45
53 2c 4c 54 44 2e 3b 49 2f 4f 20 38 33 38 2d 31 33 36 38 33
44 20 3b 56 65 72 31 2e 30 39 3b 39 39 2f 31 31 00 d4
in ASCII -> "SEGA ENTERPRISES,LTD.;I/O 838-13683D ;Ver1.09;99/11"
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 11 17
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 20 26
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 00000017 bytes read
e0 00 14 01 01 01 02 0b 00 02 02 00 00 03 08 00 00 12 08 00 00 00 4d

s28p4g.jpg
CAPCOM JAMMA JVS
----------------
Sending ReadID command...
Answer received of 0000002d bytes read
e0 00 2a 01 01 4e 6f 20 42 72 61 6e 64 3b 4e 41 4f 4d 49 20
43 6f 6e 76 65 72 74 65 72 39 38 37 30 31 3b 76 65 72 32 2e
30 3b 20 00 f3
in ASCII -> "No Brand;NAOMI Converter98701;ver2.0;"
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 11 17
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 20 26
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 00000013 bytes read
e0 00 10 01 01 01 02 0c 00 02 02 00 00 03 08 00 00 00 30


22nawy.jpg
TAITO K91X1130A JVS
-------------------
Sending ReadID command...
Answer received of 00000037 bytes read
e0 00 34 01 01 54 41 49 54 4f 20 43 4f 52 50 2e 3b 55 20 4a 56 53 20 50 43 42 3b 46 4a 2d 74 79 70 65 3b 56 65 72 32 2e
32 33 3b 32 30 30 37 2e 30 38 2e 30 37 00 e7
in ASCII -> "TAITO CORP.;U JVS PCB;FJ-type;Ver2.23;2007.08.07"
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 13 19
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 30 36
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 0000001f bytes read
e0 00 1c 01 01 01 01 13 00 02 01 00 00 03 07 0a 00 06 10 10 01 12 0d 00 00 13 06 00 00 00 a9


jb76sx.jpg

NAMCO V288 JV2RS PCB (FCB1)
---------------------------
Sending ReadID command...
Answer received of 00000039 bytes read
e0 00 36 01 01 6e 61 6d 63 6f 20 6c 74 64 2e 3b 46 43 42 3b 56 65 72 31 2e 30 32 3b 4a 50 4e 2c 54 6f 75 63 68 50 61 6e
65 6c 26 4d 75 6c 74 69 70 75 72 70 6f 73 65 00 88
in ASCII -> "namco ltd.;FCB;Ver1.02;JPN,TouchPanel&Multipurpose"
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 13 19
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 20 26
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 30 36
Sending getfeatures_code command...
Answer received of 00000023 bytes read
e0 00 20 01 01 01 01 10 00 02 02 00 00 03 07 0a 00 04 02 00 00 06 10 10 01 12 06 00 00 13 02 00 00 00 a6

jph7gx.jpg


NAMCO FCA2B PCB (FCAF1) AND FCA PCB (FCAF11)
---------------------------
Sending ReadID command...
Answer received of 00000041 bytes read
e0 00 3e 01 01 6e 61 6d 63 6f 20 6c 74 64 2e 3b 46 43 41 2d
31 3b 56 65 72 31 2e 30 31 3b 4a 50 4e 2c 4d 75 6c 74 69 70
75 72 70 6f 73 65 20 2b 20 52 6f 74 61 72 79 20 45 6e 63 6f
64 65 72 00 9f
in ASCII -> "namco ltd.;FCA-1;Ver1.01;JPN,Multipurpose + Rotary Encoder"
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 11 17
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 20 26
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 0000001f bytes read
e0 00 1c 01 01 01 01 10 00 02 02 00 00 03 07 00 00 04 02 00 00 12 06 00 00 13 04 00 00 00 73
 

Attachments

  • JVS_Pinout.png
    JVS_Pinout.png
    10.2 KB · Views: 353
Awesome!

Those ReadID replies are ASCII, too, so they can be viewed as:

SEGA CORPORATION;I/O BD JVS;837-14572;Ver1.00;2005/10

SEGA ENTERPRISES,LTD.;I/O BD JVS;837-13551 ;Ver1.00;98/10
 
@MetalliC as you are an expert on Naomi/DC communication with JVS. Is there any other command that you think I should extract from my JVS before I get rid of them.

The goal is that any JVS emulator will be able to emulate perfectly any JVS card.
 
This is great, thanks for sharing!

It looks like some of those are reporting analog output. I wonder how that gets used.
 
Dunno what can those analog outputs be used for? Some kind of lamps or Feedback?

I'm surprised by the answer of the Capcom I/O that I thought to be original. Well, I'm not sure what it is anymore... "No Brand;NAOMI Converter98701;ver2.0;"
 
the info extracted as ASCII above is available in the test menu of any game that uses that I/O board when selecting I/O PCB or whatever. Most of the Sega I/O board text is listed in the MAME src 'drivers/naomi.cpp'
 
note: some of IOs have several feature sets depending on jumpers or DIP SW settings.

Sega JAMMA JVS IO depending on jumper position:
2 players 11 bits
2 coins
8 analog inputs
6 outputs

2 players 15 bits
2 coins
8 analog inputs
none outputs

Capcom IOs have 2P and 4P configs depending on switch:
2 players 12 bits
2 coins
8 analog inputs

4 players 10 bits
4 coins
8 analog inputs

and Sega Type-2 IO have about dozen of function sets selected using DIPSW
 
Last edited:
@MetalliC very good information. Does it make sense to make a new dump changing dip switches? I guess no. If you give the right answer to ReadID command, you can configure the rest as you want.
 
What kind of RS485 device are you using to get the data ?
 
Which is a little odd - software update from sega?
Type-2 IO may have either ROMs:
EPR-21868
SEGA ENTERPRISES,LTD.;837-13741 I/O CONTROL BD2;Ver0.15;99/06

EPR-22082
SEGA ENTERPRISES,LTD.;837-13844-01 I/O CNTL BD2 ;Ver1.00;99/07

EPR-24354 (837-14645 model)
SEGA CORPORATION ;837-14506 I/O CNTL BD2 ;Ver1.01 ;2005/08
 
I've got a newer Namco JVS I/O board that the JVS-PAC is unable to interface with. invzim tried quite a few different things but sadly couldn't get the boards to talk, NAOMI has no issues (naturally Namco first party boards don't either) - I'd be interested to see what about this board is different from others

How does the system work to extract the information?
 
Please post pictures of your board. I'm updating the 1st thread with the tool and source code so anyone can use it.
 
Please post pictures of your board. I'm updating the 1st thread with the tool and source code so anyone can use it.
My board is the Cyber Lead v3.00 with the photo on the AO Wiki :)

http://wiki.arcadeotaku.com/w/File:Cyberlead-ioboard-3-0.jpg

Here are some higher resolution photos

https://www.dropbox.com/s/kyohsh7zg0op4y8/File 15-06-2016, 21 31 28.jpeg?dl=0
https://www.dropbox.com/s/ko5w1newvbzfsdn/File 15-06-2016, 21 32 01.jpeg?dl=0

https://www.dropbox.com/s/yhrfapu0fanezk7/File 15-06-2016, 21 32 43.jpeg?dl=0
https://www.dropbox.com/s/0tafry2ewwus2f2/File 15-06-2016, 21 33 20.jpeg?dl=0

And a blurry photo of the information it gives me in the JVS test screen (used a Soul Calibur board to get the information)


https://www.dropbox.com/s/3gmucn307g761u0/File 15-06-2016, 21 30 43.jpeg?dl=0
 
Back
Top