I spent some frustrating hours today trying to figure out why my board kept failing when booting a gave, vs working fine when just booting with no game, and I think it was mostly due to trying to debug with the Arduino while it's acting as a JVS I/O. In this case the Arduino is managing JVS communication over one serial port and sending debug messages over another. I think I was running into issues for some of the larger commands from the master, like where it sends the main board ID with what I guess is information about the game booted, where I was in the middle of writing out a debug message and the JVS communication got underflowed, making everything fail... So I cut out a lot of my debugging in that area and can now successfully get my I/O working in games!
So the thing that has me really confused now is coin management. I thought it was going to be as simple as telling the main board how many coins are inserted and then get a command back from the main board to subtract one. As far as I can tell, though, I'm never getting a subtract command. In OR2SP, I noticed it booted up showing something like 7 credits that I had entered on a previous session with a different I/O, so I know my board wasn't telling it how many coins there were... I kind of think now that the game is managing coins and really it's just looking for an increase in coin count from the I/O in order to increase credits.
Another frustration is trying to get this migrated to the Arduino Due. The issue may be 3.3v ttl vs the Mega's 5v. I'm not entirely sure if my RS-485 module is 3.3v compatible so I may be running into issues transmitting with the Due.
so they lack number of features (mostly that ones written using red color in PDF)
Do you have a copy of this you can post? The version I have is all black and white, so I'm not sure what you're referring to.