Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
Joined: Nov 2006
Posts: 14
E
Member
OP Offline
Member
E
Joined: Nov 2006
Posts: 14
I've been looking at the null_modem setup for RS232, to implement a device for the MPU4 and similar drivers, namely the BACTA datalogger. It's a specification part, where the key to handling communication is to run as a null modem at 1200 baud, 1 start bit, 8 databits, odd parity and 1 stop bit.

I had intended to fork the null modem implementation that already exists in bus/rs232, as there are only two real differences. 1 is that the data frame configuration is fixed, and the other is that when a receive operation is complete, the character is logged for later recall and 0x06 is sent back as the acknowledgement response.

My question is, effectively, what is the most MAME appropriate way of doing this? As I say, the connection is standard RS232, so I want to represent that up to a point, but it's not really appropriate as a full on RS232 device as its scope is so limited.

Joined: Feb 2004
Posts: 2,236
Likes: 6
Very Senior Member
Online Content
Very Senior Member
Joined: Feb 2004
Posts: 2,236
Likes: 6
Just add an RS232 port to the MPU4, then you can plug in the null_modem, and implement that BACTA datalogger in a Python script or something that connects to it.

Joined: Nov 2006
Posts: 14
E
Member
OP Offline
Member
E
Joined: Nov 2006
Posts: 14
Perhaps I'm misunderstanding this, but I'm trying to do this for the benefit of the driver as it currently stands - a lot of these games that are listed as 'Protocol' or 'Datapak' rely on this signal to operate, so there'd have to be something albeit rudimentary in the regular code base. If someone wanted to do actual, virtual datalogging then yes, an external setup would do it, but it's a way of doing it internally that I'm struggling to find.

Joined: Feb 2004
Posts: 2,236
Likes: 6
Very Senior Member
Online Content
Very Senior Member
Joined: Feb 2004
Posts: 2,236
Likes: 6
Oh, if it’s supposed to be internal, do you need the RS232 glue at all? Couldn’t you just use the device_serial_interface mixin to implment your dummy datalogger?

Joined: Mar 2001
Posts: 16,707
Likes: 9
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,707
Likes: 9
Yeah, if this is an internal thing that the game needs to operate, skip RS232 entirely and just hardwire it.

Joined: Nov 2006
Posts: 14
E
Member
OP Offline
Member
E
Joined: Nov 2006
Posts: 14
Pretty much, the only reason for spinning it out into device space at all is that Maygay, JPM, Bellfruit etc all have interfaces for this thing, as it's the slot machine equivalent of the little diagnostic socket in your car. I should just pull it together out of the serial interface and have done, as it's basically DIN socket abuse anyway (just RX, TX and power basically).

Joined: Mar 2001
Posts: 16,707
Likes: 9
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,707
Likes: 9
Yeah, it's pretty easy with diserial to make custom serial devices. esqpanel.cpp does exactly that.

Joined: Aug 2002
Posts: 369
H
Senior Member
Offline
Senior Member
H
Joined: Aug 2002
Posts: 369
Originally Posted by elcondor
Pretty much, the only reason for spinning it out into device space at all is that Maygay, JPM, Bellfruit etc all have interfaces for this thing, as it's the slot machine equivalent of the little diagnostic socket in your car. I should just pull it together out of the serial interface and have done, as it's basically DIN socket abuse anyway (just RX, TX and power basically).

The Aristocrat games also need a similar thing, mainly for setting up progressive jackpots and cashless credit I/O, but the Queensland games need it in order to actually work at all. Even the old MK4 (MK2.5) games have jackpot occurrence meters in the menu, but I'm not sure if it's leftover code from other games that actually had jackpots, or whether they really can be hooked up to a jackpot.

Joined: Nov 2006
Posts: 14
E
Member
OP Offline
Member
E
Joined: Nov 2006
Posts: 14
It may well be the same protocol I think, but it got extended over the years to support such things through the likes of ccTalk. However, in the hardware I'm looking at there's no communication beyond the acknowledgment byte. As such, I'm keeping it incredibly simple for now, but as mentioned earlier, in theory it's a null terminal setup, just with some different behaviour on handling.

Joined: Aug 2002
Posts: 369
H
Senior Member
Offline
Senior Member
H
Joined: Aug 2002
Posts: 369
Aristocrat games (and other similar "American" or "Australian" style slot makers e.g. Konami, IGT, WMS, Bally/SHFL, Ainsworth/AGT) have a number of different protocols, ASP (1000 and 2000), QCOM, VLC, SAS, X-series etc. A user on here (and newlifegames) by the name of bogan is a lot more knowledgeable than me, before the coronavirus became a thing he was getting some machines (real hardware) working with a custom comms program he was making.

It looks like some serial-based thing though, if the DE9 plug in this topic is anything to go by. http://newlifegames.com/nlg/index.php?topic=26955.0

Page 1 of 2 1 2

Link Copied to Clipboard
Who's Online Now
6 members (Mr. Do, Vas Crabb, Osso, Xolod, Derek Andrews, 1 invisible), 35 guests, and 2 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,919
Posts117,139
Members4,989
Most Online890
Jan 17th, 2020
Forum Host
These forums are hosted by www.retrogamesformac.com
Forum hosted by www.retrogamesformac.com