What's new
Here is the read of a Namco Cyberlead V1.03 I/O

Sending ReadID command...
Answer received of 00000035 bytes read
e0 00 32 01 01 6e 61 6d 63 6f 20 6c 74 64 2e 3b 49 2f
4f 20 43 59 42 45 52 20 4c 45 41 44 3b 56 65 72 31 2e
30 33 3b 4a 50 4e 2c 4c 45 44 2d 30 31 30 30 00 dd
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 0000000f bytes read
e0 00 0c 01 01 01 02 0c 00 02 02 00 00 00 21


IMG_8204_zps5zpedk3d.jpg
 
The JVS-PAC uses sense, but only as an input, and to check that the IO is initialized.
Am I misunderstanding the relationship? Which is responsible for supplying Sense voltage, master or slave? I was under the impression that the master supplies the voltage and senses that the I/O has divided it to 2.5, letting it know an I/O is plugged up, and then the I/O sinks it to ground, letting the master know all other boards (if available) are assigned and the one closest to the master is ready for ID assignment.
The way I've got my I/O handling Sense is that it:
1. 4 diodes in series connect Sense to ground. (I'm not an EE... Does this divide the voltage?) [*Edit: my understanding is that the diodes are dropping the voltage across each one, effectively dividing it to the necessary level].
2. When needed, Sense is grounded by way of a MOSFET.

My board is not supplying the Sense voltage, only manipulating it as provided by the master.
Tbh, I never 100% understood the 2.5V state. The way I read it, and do it, the master has sense on an INPUT port, with a weak internal pullup on the IC. If it reads 1, nothing is connected, if it reads 0 an IO is connected and sinks it to 0. That way you can detect if a cable is connected or not.

After sending out a reset reset, the IO pulls the line high. When the closest IO is initialized, it sinks the line to 0 so you know that all IO boards are initialized. If you suddenly read 1 again, you know stuff is disconnected (or the IO board power cycled).

This is probably not 100% correct according to the spec, but I can't make 100% sense of the translation.

On the IO board side, that I'm working on now, the master facing sense is an output port that pulls the line high upon receiving a reset. I could probably do well with getting completely to the bottom of this too..
 
The JVS-PAC uses sense, but only as an input, and to check that the IO is initialized.
I'll admit that I'm probably not fully understanding what's happening, but I did the following:

1. Measured Sense from the motherboard for NAOMI and Lindbergh with no I/O plugged up. The results in both cases are 5v.
2. Put 4 zener diodes from motherboard Sense to ground, with no I/O plugged up. The result is 2.5v.
3. Measure voltage at Sense on B connector of Type 1 I/O with no motherboard plugged up. The result is 0v. Now that could be with no commands sent to I/O, it's simply grounding Sense until initialization, but I'm getting the impression that the I/O is not generating Sense voltage. The master appears to be doing so.

So what is it that JVS-PAC is sensing? Does the I/O output anything that JVS-PAC senses on its input?

It seems to me that the circuit at the motherboard would be something like this:
JVS Sense Theory.png


A to B wire not plugged in = 5v at the Sensor.
A to B wire plugged in = 2.5v at the Sensor.
A to B wire plugged in, I/O grounds Sense with transistor = 0v at the Sensor.

Edit: :P Here's my hypothesis on the Namco I/O, in question:
JVS Namco Hypothesis.png
 
Last edited:
The JVS-PAC uses sense, but only as an input, and to check that the IO is initialized.
So what is it that JVS-PAC is sensing? Does the I/O output anything that JVS-PAC senses on its input?
After sending out a reset, it checks that the sense is pulled high, and after sending out an address set, it checks if it's pulled low (thus having complted the IO board init phase).

My google translation says something like:

Address configuration procedure

At power on or after reset, the IO board outputs 2.5V
  1. Sense output is set to 2.5V, last board will have sense input 5V becasue of pull-up
  2. Master, after 2 seconds, requests address set for node 1. IO with sense input of 0V or 5V will process this request.
  3. After 1mS, master reads sense, if sense is not 0, request address set for node 2.
  4. Repeat step 3 until sense reads 0, with increasing node address. If node address reaches 31, this is an error condition and process should be restarted with reset request.
  5. ?
 
Here is the read of a Namco Cyberlead V1.03 I/O

Sending ReadID command...
Answer received of 00000035 bytes read
e0 00 32 01 01 6e 61 6d 63 6f 20 6c 74 64 2e 3b 49 2f
4f 20 43 59 42 45 52 20 4c 45 41 44 3b 56 65 72 31 2e
30 33 3b 4a 50 4e 2c 4c 45 44 2d 30 31 30 30 00 dd
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 0000000f bytes read
e0 00 0c 01 01 01 02 0c 00 02 02 00 00 00 21
So for this one we're looking at:
namco ltd.;I/O CYBER LEAD;Ver1.03;JPN,LED-0100

JVS version 1.0? Is this a pretty old board?

Features:
2 Players - 12 inputs each
2 Coin slots
 
This is where I think the translation is misleading:
At power on or after reset, the IO board outputs 2.5V
The results I'm actually seeing indicate that the I/O is only pulling Sense down from 5v to 2.5v through diodes. So not technically an output.

Maybe it should read:
At power on or after reset, the motherboard senses 2.5V if an I/O board is plugged in. If it senses 5V, then no I/O is connected.

Master, after 2 seconds, requests address set for node 1. IO with sense input of 0V or 5V will process this request.
Ok, so assuming that the other side of Sense on the I/O, where it has to read the next node in line, I think it would be set up the same way as the motherboard diagram I posted. It knows if Sense is 5v, then no other I/O is plugged up. If sense is 0v, then the previous I/O is initialized. However, when sending out address for node 1, I should think no boards are seeing 0v on Sense. It must just be something they are requiring to accommodate for in the event of an I/O node failure that locks Sense to ground.

After 1mS, master reads sense, if sense is not 0, request address set for node 2.
So, assuming multiple nodes, the motherboard would have Sense at 2.5v until the closest node has an address and grounds Sense.

Repeat step 3 until sense reads 0, with increasing node address. If node address reaches 31, this is an error condition and process should be restarted with reset request.
This sounds good.

Step 5? Profit! :D

I don't know. I guess step 5 is finished. The master should know how many nodes are connected. I guess it then needs to send feature requests, etc, before beginning to poll for inputs and coins.
 
Here is the read of a Namco Cyberlead V1.03 I/O

Sending ReadID command...
Answer received of 00000035 bytes read
e0 00 32 01 01 6e 61 6d 63 6f 20 6c 74 64 2e 3b 49 2f
4f 20 43 59 42 45 52 20 4c 45 41 44 3b 56 65 72 31 2e
30 33 3b 4a 50 4e 2c 4c 45 44 2d 30 31 30 30 00 dd
Sending formatversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending jvsversion_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending commver_code command...
Answer received of 00000007 bytes read
e0 00 04 01 01 10 16
Sending getfeatures_code command...
Answer received of 0000000f bytes read
e0 00 0c 01 01 01 02 0c 00 02 02 00 00 00 21
So for this one we're looking at:namco ltd.;I/O CYBER LEAD;Ver1.03;JPN,LED-0100

JVS version 1.0? Is this a pretty old board?

Features:
2 Players - 12 inputs each
2 Coin slots
correct!
old version from a Cyberlead 1 cab, so also 1 color display instead of the later multi color versions.
 
Maybe that 27c020 is the key to upgrade your cyberlead to a newer version. Also it might be embedded in the ALTERA EPM7064LC68 that you got on the other side, but IMHO 1250 gates can be too little to implement full JVS response.
http://www.mouser.com/ds/2/591/m7000-472134.pdf

In any case that Cyberlead JVS is pretty old.
 
does it show anything connected to Naomi
NAOMI has no issues (naturally Namco first party boards don't either)
Does the NAOMI actually register inputs with this Namco board?
It sure does, I've got a NAOMI w/ netdimm in the cabinet at the moment connected via the JVS connector and I've played a bit of everything so far (mostly Border Down and Metal Slug 6 but also Guilty Gear XX Accent Core)

I've bought one of the adapters from eBay, probably be a couple of weeks before it gets here but I'll update as soon as it arrives and I test it out, will be interesting to see where we end up
 
does it show anything connected to Naomi
NAOMI has no issues (naturally Namco first party boards don't either)
Does the NAOMI actually register inputs with this Namco board?
It sure does, I've got a NAOMI w/ netdimm in the cabinet at the moment connected via the JVS connector and I've played a bit of everything so far (mostly Border Down and Metal Slug 6 but also Guilty Gear XX Accent Core)

I've bought one of the adapters from eBay, probably be a couple of weeks before it gets here but I'll update as soon as it arrives and I test it out, will be interesting to see where we end up
I think that rules out dedicated protocol issues.

I edited my comment in an earlier post. If you get no reply from the board using the adapter and want to try to apply 5v to Sense to see if it helps, do so through a 10k ohm resistor. Feel free to follow up with questions if it comes to that.
 
@xodaraP very interesting. It says namco ltd, / I/O Cyber LEAD / Ver 3.00
It seems to be specifically made for a cyber lead.
 
@xodaraP very interesting. It says namco ltd, / I/O Cyber LEAD / Ver 3.00
It seems to be specifically made for a cyber lead.
All the Cyber Lead I/O boards are specific I believe due to the marquee :)

Also, it's been that long since I looked at this? I really need to plug in that adaptor and do this
 
Playing with your program com3 exe is 0 bytyes com 1.exe only works in command prompt with parameter 3 115200
*note just testing a belkin usb serial adapter i got in 2007 no jvs connected at this point.

JVS_Read_Info_COM1.exe 3 115200
(C)2016 JVS Information Reader by Darksoft v0.1
In order to use it, you need to connect your JVS card to the COM port of your computer using a RS485<->RS232 adapter.

Use at your complete own risk. Only for educational purposes.

Using COM Port = COM3
Using Baudrate = 115200
Com Port 3 Open OK
Opening COM3 at 115200 bps

Sending Reset...
Sending Second Reset...
Sending Assign command...
Error in response. Check that JVS is ON and properly connected
Closing serial port...OK
 
Last edited:
that version has hardcoded 115200 speed and com1 iirc.

If it shows that text it's good. Means it can connect but as you said, no jvs I/O is plugged. Try plugging one and see what answer you get please.
 
I will here by the weekend hopefully and let you know.
 
if you can program it to be seen in your pc as com1 or com 3 then you are good. Iirc in windows you can just change the ports number from hardware configuration tab, so you should be ok. Well spotted :thumbsup:
 
Back
Top