Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: MAME networking (linking) functionality?  (Read 8972 times)

0 Members and 1 Guest are viewing this topic.

Keroppi

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 168
  • Last login:June 02, 2022, 05:40:37 pm
MAME networking (linking) functionality?
« on: May 09, 2008, 01:53:48 pm »
Does mame implement any sort of network linking functionality? I have not been able to find any information on the subject.  :dunno

Before I get flamed, let me be clear I am not talking about the Kaillera net play, or any garbage like that. I have no need to play Street Fighter over the internet, and I respect the mamedevs POV about Kaillera, as well as Saint's coinciding wishes.

I am talking about emulation of the linking functionality of the original machines that supported it; maybe a driver to run the original communications over a serial/parallel/enet connection?

I fully understand the mamedevs avoidance of novelty net play stuff, but I figure with their noble approach to an accurate-as-possible low-level emulation of every machine, I would assume that the linking would be emulated as well, considering it was part of the original programming of the relevant machines...

Any help would be appreciated, I am planning to build a dual cabinet, and would like to accurately emulate the original dual linking systems, if it's possible. Thanks!!

u_rebelscum

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3633
  • Last login:April 21, 2010, 03:06:26 pm
  • You rebel scum
    • Mame:Analog+
Re: MAME networking (linking) functionality?
« Reply #1 on: May 09, 2008, 05:49:30 pm »
Not yet.  :( There's been talk about emulating the communication part of connected cabs, but there's a few blocking points.

A. Latency.  Many of the connected arcade cabs had very low latency.  Some weren't as low as others, of course, but with the setups of 10/100/1000 mbit ethernets, different wifis, dsl, cable, or (shutter) dialup, plus the overhead of emulation, there are many cases where even these lenient games won't work.
B. Different communication methods, protocols, etc.  Mame would prefer to implement a "generic" way to emulate the hardware, without hacks & documenting the hardware.  Not easy with all the differences (not impossible, either, but above my head of sure).
C. Documentation (or lack thereof).  Easier to emulate with documentation.
D. Confusion with "(inter)netplay".  And all the reasons mamedev wants to stay away for (inter)netplay.


The latest I've read (but I'm not an "insider"), is that it's possible on (low latency) gigabit ethernet and faster.  However, the "best" way (documentation, latency, ease of programming, ease of support, and stay away from confusion with internetplay) is to emulate the two (or more) cabs on the same computer, and keep the inter-cab communication inside that same computer.

As mentioned before, mame's not ready for this yet, and has aways to go before it is.  So to paraphrase others, "Sit back and enjoy way comes your way or start coding; and a lot is in the pipes already."  :D
Robin
Knowledge is Power

SGT

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1146
  • Last login:May 31, 2025, 10:10:32 pm
Re: MAME networking (linking) functionality?
« Reply #2 on: May 09, 2008, 09:26:06 pm »
On a related note and if I'm reading this right, according to the WIP the .7 version of the M2 emulator has linking working with Daytona USA via a local network.  Sounds exciting.  See the first post of the thread:

http://www.speksnk.org/foro/viewtopic.php?f=50&t=66973&sid=3a33133dbadd0fb70e4d6e08c1f645ae

Also speaks of Indy 500, and Sega Rally Championship working in multiplayer mode.

« Last Edit: May 09, 2008, 09:29:20 pm by SGT »

Jdurg

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1127
  • Last login:October 04, 2020, 09:26:27 pm
  • A young guy feeling older than sin......
Re: MAME networking (linking) functionality?
« Reply #3 on: May 09, 2008, 10:23:14 pm »
Yeah, it would be interesting to see MAME properly emulate SSF2: Tournament Edition.  I remember seeing it in action at an arcade here in the US back when I was younger.  Was there for maybe two days before the arcade operator replaced it with a bunch of other CPS2 games.

The only way I could see it emulated would be to properly emulate all 8 machines separately on the same computer using 8 different "instances" of MAME.  They'd then have to emulate the networking the systems have and somehow allow you to switch which "machine" you're looking at.  I would assume that would require a great deal of processing power to emulate all 8 machines at the same time.
Donkey Kong High Scores:
1): 49,500
2): 35,600
3): 30,100
4): 29,400
5): 28,200

DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5158
  • Last login:May 24, 2025, 09:57:44 pm
  • Wheres my coffee?
    • Skenny's Outpost
Re: MAME networking (linking) functionality?
« Reply #4 on: May 10, 2008, 06:27:10 am »
I too am interested in doing this.

I was thinking of putting VGA switch on one cab, to switch the monitor between its computer and its neighbors computer. Would also switch the keyboard emulator between the two computers.
That way one cab can share the other cabs computer, running the game, both monitors, and and both control panels  on one computer.

I think this is feasible, although I havent thought about it a whole lot.
It would probably only work with two cabs, and I hate the idea of all the cables between the two cabs.
Networking would be much sweeter.

Keroppi

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 168
  • Last login:June 02, 2022, 05:40:37 pm
Re: MAME networking (linking) functionality?
« Reply #5 on: May 10, 2008, 09:45:29 pm »
Not yet.  :( There's been talk about emulating the communication part of connected cabs, but there's a few blocking points.

A. Latency.  Many of the connected arcade cabs had very low latency.  Some weren't as low as others, of course, but with the setups of 10/100/1000 mbit ethernets, different wifis, dsl, cable, or (shutter) dialup, plus the overhead of emulation, there are many cases where even these lenient games won't work.
B. Different communication methods, protocols, etc.  Mame would prefer to implement a "generic" way to emulate the hardware, without hacks & documenting the hardware.  Not easy with all the differences (not impossible, either, but above my head of sure).
C. Documentation (or lack thereof).  Easier to emulate with documentation.
D. Confusion with "(inter)netplay".  And all the reasons mamedev wants to stay away for (inter)netplay.


The latest I've read (but I'm not an "insider"), is that it's possible on (low latency) gigabit ethernet and faster.  However, the "best" way (documentation, latency, ease of programming, ease of support, and stay away from confusion with internetplay) is to emulate the two (or more) cabs on the same computer, and keep the inter-cab communication inside that same computer.

As mentioned before, mame's not ready for this yet, and has aways to go before it is.  So to paraphrase others, "Sit back and enjoy way comes your way or start coding; and a lot is in the pipes already."  :D

Thanks for the response. I fish I COULD code, then I'd get right on it.  :)

A. I don't think latency would be a problem with gigabit ethernet. It's probably the only interface that could handle it (aside from my 10gb infiniband), and the others you mentioned (wifi, dsl, dailup, etc) should not even been considered, as we are trying to emulate the functions of the original machines, NOT play over the internet...

B. I agree it wouln't be easy. You are correct, they would have to implement a generic driver (just as they have for pretty much every other subsystem)

C. I'm sure it's easier with documenation, but they have managed to emulate 100s of methods and protocols for various functions in games. Surely they weren't ALL documented?

D. If implemented correctly, there would be no confusion to (inter)net play, because you couldn't USE it for internet play. For example if MAME sent/received proprietary packet headers, or if configuration required you to use an automatic private ip (169.xxx) IP, or a million other things they could do to restrict said interface from external access...all while using a generic driver for standard machines...

I don't forsee managing emulating communication capable cabs on one machine. Hell you can't run one instance of SF Rush, much less TWO. I think they would have to be on separate machines. I can understand the process being very difficult to accomplish, and/or it even being lower on the to do list. But considering their painstaking work to accurately emulate all these machines at the lowest level, I just refuse to believe that they would just "skip" this portion of these machines...
...maybe you're right and they're just not ready for it yet. But how long do you think until they are? Hell, I figure at least 60-80% of the machines are is perfectly emulated as they hoped to accomplish...

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: MAME networking (linking) functionality?
« Reply #6 on: May 11, 2008, 09:06:21 am »
A while ago I was working on a little project called MultiMame (it was called that before the other program with the same name was released). It's when I first implemented code to inject keys into Mame's Raw Input system.

The idea was to add Kaillera support for vanilla Mame so that it wouldn't break their licence agreement. I got it working and tested it with a PC running as server on localhost and another PC running as a client on my LAN. I played Street Fighter for testing and while it did work, as you can imagine it eventually goes out of sync until the two players are in different places on each PC trying to fight someone who isn't there.

The reason why kaillera works with that special build of Mame (that the mamedev's don't like) is because it sends keys to each PC synced per frame. You need per-frame syncing so it won't get horribly out of sync.

So in conclusion the only way I can see Mame ever adding support for network play is a derivitive that doesn't break it's licence by releasing the full source. AFAIK they broke licence because kaillera is closed source and they couldn't include it even though the actual changes in Mame's source were available for download.

As for using a gigabit LAN, unfortunately I only have a 100 Mbit network so I couldn't say. But there were other issues with Kailera that I didn't bother trying to address because of the latency. Like the fact you have to open a dialog in the kaillera dll to select a server or enter an IP address. I was going to write some API hacks to enter this into the kaillera window while keeping it hidden.

Keroppi

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 168
  • Last login:June 02, 2022, 05:40:37 pm
Re: MAME networking (linking) functionality?
« Reply #7 on: May 11, 2008, 03:05:24 pm »
Thanks for your reply. But with the refernces to Kaillera, I think you are missing my point. I don't want what Kaillera does. Th netplay you speak of is not my intention, or the implementation I am looking for. SFII only had one championship version with linking capability, and unless I am mistaken, you aren't talking specifically about that machine.
There should be no "frame sync" because I am not trying to "hack" a 2player single screen/single cab machine over the internet with a client/host config like Kaillera does. I am not talking about enabling anything that the original machines were not capable of, or adding any new functionality. I am talking about replicating/emulating the original linking/communication capabilities of the particular machines that had them. Such as as Virtual On, or Cyber Sled, or any of the dual-sitdown racing machines. I just want to be able to completely emulate the original machines.

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: MAME networking (linking) functionality?
« Reply #8 on: May 12, 2008, 02:32:19 am »
Thanks for your reply. But with the refernces to Kaillera, I think you are missing my point. I don't want what Kaillera does. Th netplay you speak of is not my intention, or the implementation I am looking for. SFII only had one championship version with linking capability, and unless I am mistaken, you aren't talking specifically about that machine.
There should be no "frame sync" because I am not trying to "hack" a 2player single screen/single cab machine over the internet with a client/host config like Kaillera does. I am not talking about enabling anything that the original machines were not capable of, or adding any new functionality. I am talking about replicating/emulating the original linking/communication capabilities of the particular machines that had them. Such as as Virtual On, or Cyber Sled, or any of the dual-sitdown racing machines. I just want to be able to completely emulate the original machines.

Oops didn't read your whole thread sorry, I get what you were asking for now.

bolt84868

  • Trade Count: (0)
  • Newbie
  • *
  • Offline Offline
  • Posts: 1
  • Last login:April 23, 2015, 12:32:51 am
  • I want to build my own arcade controls!
Re: MAME networking (linking) functionality?
« Reply #9 on: April 23, 2015, 12:32:51 am »
 :cheers:When I was trying to download MAME the other day, I downloaded the developer binaries (because I didn't want to use the installer) and found an html document called "index", but it looks like a link is possible, you just might need a host computer to do it (like a game server). :blah: my head hurts from telling this. :timebomb:

SailorSat

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1238
  • Last login:Today at 09:15:50 am
    • For Amusement Only e.V.
Re: MAME networking (linking) functionality?
« Reply #10 on: April 23, 2015, 09:27:55 am »
Zombie Thread!

p.s. linking has been done as proof of concept.
I do all that stuff even without a Joystick ;)
Soft-15kHz, cabMAME, For Amusement Only e.V.