What's new

bobbydilley

Grand Master
Joined
Apr 29, 2018
Messages
543
Reaction score
591
Location
England
I'm not sure if this bug is from part of the conversion as I don't know if you're implementing the JVS controls yourself, but I thought I'd detail it here anyway.

Maximum speed doesn't follow the JVS spec properly as it reads analogue bits from the right most byte rather than the left.

In JVS, analogue data is sent as 2 bytes. IOs define how many bits they will use out of those bytes when initially handshaking with the arcade motherboard.

If the IO specifies it will use 8 bits, it should use 8 bits from the 1st byte. If the IO specifies it will use 10 bits, it should use 8 bits from the 1st byte and 2 bits from the 2nd.

In maximum speed, when an IO specifies 8 bits, maximum speed will read those 8 bits from the 2nd byte.

This becomes a problem with accuracy if with something like a Sega 837-14572 IO which has 10 analogue bits.

Code:
TYPE 3: [FFFFFFFF][FF000000]
MAX SP: [000000FF][FFFFFFFF]

EQUALS: [000000FF][FF000000]
This means (I think anyway) that Maximum Speed will read 4 bits randomly from the middle, which will work but will have a very poor accuracy.
 
Back
Top