- View New Content
-
Getting Started
-
Tutorials
Tutorial Categories
Tutorials Main Page Installation and Setup Downloadable TutorialsROM Adjustments
Number of Balls Adjustments Volume Adjustments
-
Visual Pinball Tables
VP 8 Desktop Tables
All VPM Recreations VP Recreations VP/VPM MODs VP Originals ROMsVP 9 Desktop Tables
All VPM Recreations VP Recreations VP/VPM MODs VP Originals ROMsVP9 Cabinet Tables
All Full Screen Cabinet Full Screen B2S Cabinet Spanned Cabinet Tables Media Packs ROMsVPX Tables
All VPinMAME Recreations VPX- - /VPinMAME - MOD Tables VPX Recreations VPX Originals Media Packs ROMs VR
-
Frontend Media & Backglass
Media Packs
Complete Media Packs Wheel Logos VideosBackglasses
dB2S Animated Backglasses UVP Animated Backglasses Topper Images
- Future Pinball Tables
-
Design Resources
Main Resources
Table Templates Playfield Images Image Library Sound Library Key CodesVP Guides
VP8 Guide - English VP8 Guide - Deutsch VP9 Guide - English VP9.1.x Guide - English VP Object Guide VPM DocumentationFuture Pinball Resources
Playfield Images 3D Model LibraryFuture Pinball Guides
FP Script Guide Big Draco Script Guide FP Table Design Guide FP DMD Guide
- Other Features
- Bug Tracker
- Image Gallery
- Blogs
-
More
Any interest in a Linux port?
Started By
Krellan
, Mar 04 2009 06:36 AM
17 replies to this topic
#1
Posted 04 March 2009 - 06:36 AM
I'm throwing out feelers, to see if anybody's interested in a Linux port of VPinMAME.
The long-term goal is to hook it up with Emilia Pinball, the open-source pinball simulator that runs under Linux.
Now that VPinMAME has been open-sourced, the goal of having a 100% open source pinball emulator+simulator can be realized.
This will protect the scene from being subject to the whims of a single person who can get bored and lose interest, or otherwise go AWOL, as has happened once or twice so far!
If you haven't already tried Emilia Pinball, it's included in many Linux distributions, oftentimes simply under the package name "pinball" (because there pretty much is no other pinball software available for Linux). Here's some links:
http://pinball.sourceforge.net/
http://sourceforge.n...ojects/pinball/
Anybody interested in this? It would be a fairly huge project, as to my knowledge PinMAME hasn't ran under Linux in years, and it's diverged enough from the core MAME code that it would be difficult to reuse the already-existing Linux MAME coding work (except as inspiration).
The long-term goal is to hook it up with Emilia Pinball, the open-source pinball simulator that runs under Linux.
Now that VPinMAME has been open-sourced, the goal of having a 100% open source pinball emulator+simulator can be realized.
This will protect the scene from being subject to the whims of a single person who can get bored and lose interest, or otherwise go AWOL, as has happened once or twice so far!
If you haven't already tried Emilia Pinball, it's included in many Linux distributions, oftentimes simply under the package name "pinball" (because there pretty much is no other pinball software available for Linux). Here's some links:
http://pinball.sourceforge.net/
http://sourceforge.n...ojects/pinball/
Anybody interested in this? It would be a fairly huge project, as to my knowledge PinMAME hasn't ran under Linux in years, and it's diverged enough from the core MAME code that it would be difficult to reuse the already-existing Linux MAME coding work (except as inspiration).
#4
Posted 04 March 2009 - 08:38 PM
QUOTE (ValamirCleaver @ Mar 4 2009, 07:55 AM) <{POST_SNAPBACK}>
Sure, of course; but I'd be more interested in seeing VP ported to OpenGL and OpenAL first.
I'm second to that
#5
Posted 05 March 2009 - 03:15 AM
If you could somehow get pinmame running like sdlmame then you would at least be halfway. Building the interface and script language between emelia and vpinmame would be the challenge!
I briefly looked at the source for pinmame and it looks like a pain to try and build even for windows.
It would be great to have it all run under linux without using wine.
I briefly looked at the source for pinmame and it looks like a pain to try and build even for windows.
It would be great to have it all run under linux without using wine.
#6
Posted 05 March 2009 - 01:14 PM
The "lets-do-a-linux-version" idea isn't new and has always come up once in while over the years.
The main roadblock has always been Windows-COM-technology which isn't available anywhere except Windows operating systems.
[http://en.wikipedia....t_Object_Model]
COM is essential for interaction between the three components VP, the tablescript and VPM.
VP uses COM to load the Windows scripting engine to execute the script (e.g. invokes "table_init", "trigger_hit" etc.)
The table script in turn uses COM to load and run VPM ("set Vpm = CreateObject("VPinMAME.Controller")", "Vpm.Run")
From this point on, the script can command VP ("Plunger.Fire", "Eject.CreateBall", "Playsound" etc) and command VPM ("Vpm.Switch(47)=True" etc)
I've been living under a rock for a few years regarding VP/VPM-technology, so in case it has meanwhile been replaced in some of these interactions, please correct me.
Even if you had full sourcecode of VP and VPM you still couldn't use it under Linux because the basic technology simply doesn't exist.
Okay, you never know. Perhaps one day we'll read a post that our emulation-wizard Gaston has VPM running on his cellphone :-)
But IMO it's more likely that he'll have his cellphone emulated in VPM :-)
Regards
The main roadblock has always been Windows-COM-technology which isn't available anywhere except Windows operating systems.
[http://en.wikipedia....t_Object_Model]
COM is essential for interaction between the three components VP, the tablescript and VPM.
VP uses COM to load the Windows scripting engine to execute the script (e.g. invokes "table_init", "trigger_hit" etc.)
The table script in turn uses COM to load and run VPM ("set Vpm = CreateObject("VPinMAME.Controller")", "Vpm.Run")
From this point on, the script can command VP ("Plunger.Fire", "Eject.CreateBall", "Playsound" etc) and command VPM ("Vpm.Switch(47)=True" etc)
I've been living under a rock for a few years regarding VP/VPM-technology, so in case it has meanwhile been replaced in some of these interactions, please correct me.
Even if you had full sourcecode of VP and VPM you still couldn't use it under Linux because the basic technology simply doesn't exist.
Okay, you never know. Perhaps one day we'll read a post that our emulation-wizard Gaston has VPM running on his cellphone :-)
But IMO it's more likely that he'll have his cellphone emulated in VPM :-)
Regards
#7
Posted 05 March 2009 - 01:23 PM
#8
Posted 05 March 2009 - 02:34 PM
Steve,
interesting, but I fear mono hasn't arrived yet where we need it, quotes from http://mono-project.com/COM_Interop
"on Windows" ? oops, anyway, there is hope further down that page:
Volunteer anyone ? :-)
Well, let's assume mono supports COM one day, and we need the real thing with multitasking and all bells and whistles, and linux users will appreciate the fact that they now have a registry too :-)
Next obstacle is VP. I doubt we can pry the sourcecode out of Randy's or David Foley's hands, so back to square one.
It's disappointing. It's probably possible to get the standalone PinMAME to run on linux (customizing the screen and keyboad I/O to Linux), and that might feel like we're 80% done, but that's really only the engine and not a car.
I fear, a complete start over from scratch - possibly starting where Emilia left off - is the only option. Using multitasking- and process-interop-methods provided by Linux ist the better - and IMO only - approach.
Too bad it's such a mountain of work. Won't happen...
Regards
interesting, but I fear mono hasn't arrived yet where we need it, quotes from http://mono-project.com/COM_Interop
QUOTE
...
Mono 1.0 and Mono 1.1.xx do not have support for COM, it is a known missing feature of Mono.
Initial work has begun on supporting MS COM on Windows.
...
Mono 1.0 and Mono 1.1.xx do not have support for COM, it is a known missing feature of Mono.
Initial work has begun on supporting MS COM on Windows.
...
"on Windows" ? oops, anyway, there is hope further down that page:
QUOTE
...
Note that there is very little that ties COM Interop to Windows. COM is a binary standard, so anyone who follows that standard can use the COM Interop functionality in mono. XPCOM can easily be supported if anyone is interested in putting in a little work to support marshalling strings.
...
Note that there is very little that ties COM Interop to Windows. COM is a binary standard, so anyone who follows that standard can use the COM Interop functionality in mono. XPCOM can easily be supported if anyone is interested in putting in a little work to support marshalling strings.
...
Volunteer anyone ? :-)
Well, let's assume mono supports COM one day, and we need the real thing with multitasking and all bells and whistles, and linux users will appreciate the fact that they now have a registry too :-)
Next obstacle is VP. I doubt we can pry the sourcecode out of Randy's or David Foley's hands, so back to square one.
It's disappointing. It's probably possible to get the standalone PinMAME to run on linux (customizing the screen and keyboad I/O to Linux), and that might feel like we're 80% done, but that's really only the engine and not a car.
I fear, a complete start over from scratch - possibly starting where Emilia left off - is the only option. Using multitasking- and process-interop-methods provided by Linux ist the better - and IMO only - approach.
Too bad it's such a mountain of work. Won't happen...
Regards
#9
Posted 05 March 2009 - 07:54 PM
QUOTE (TomB @ Mar 5 2009, 07:14 AM) <{POST_SNAPBACK}>
The "lets-do-a-linux-version" idea isn't new and has always come up once in while over the years.
The main roadblock has always been Windows-COM-technology which isn't available anywhere except Windows operating systems.
[http://en.wikipedia.org/wiki/Component_Object_Model]
COM is essential for interaction between the three components VP, the tablescript and VPM.
VP uses COM to load the Windows scripting engine to execute the script (e.g. invokes "table_init", "trigger_hit" etc.)
The table script in turn uses COM to load and run VPM ("set Vpm = CreateObject("VPinMAME.Controller")", "Vpm.Run")
From this point on, the script can command VP ("Plunger.Fire", "Eject.CreateBall", "Playsound" etc) and command VPM ("Vpm.Switch(47)=True" etc)
I've been living under a rock for a few years regarding VP/VPM-technology, so in case it has meanwhile been replaced in some of these interactions, please correct me.
Even if you had full sourcecode of VP and VPM you still couldn't use it under Linux because the basic technology simply doesn't exist.
Okay, you never know. Perhaps one day we'll read a post that our emulation-wizard Gaston has VPM running on his cellphone :-)
But IMO it's more likely that he'll have his cellphone emulated in VPM :-)
Regards
The main roadblock has always been Windows-COM-technology which isn't available anywhere except Windows operating systems.
[http://en.wikipedia.org/wiki/Component_Object_Model]
COM is essential for interaction between the three components VP, the tablescript and VPM.
VP uses COM to load the Windows scripting engine to execute the script (e.g. invokes "table_init", "trigger_hit" etc.)
The table script in turn uses COM to load and run VPM ("set Vpm = CreateObject("VPinMAME.Controller")", "Vpm.Run")
From this point on, the script can command VP ("Plunger.Fire", "Eject.CreateBall", "Playsound" etc) and command VPM ("Vpm.Switch(47)=True" etc)
I've been living under a rock for a few years regarding VP/VPM-technology, so in case it has meanwhile been replaced in some of these interactions, please correct me.
Even if you had full sourcecode of VP and VPM you still couldn't use it under Linux because the basic technology simply doesn't exist.
Okay, you never know. Perhaps one day we'll read a post that our emulation-wizard Gaston has VPM running on his cellphone :-)
But IMO it's more likely that he'll have his cellphone emulated in VPM :-)
Regards
How about taking the vpinmame / pinmame and building it in to the pinball app code?
#10
Posted 06 October 2009 - 08:00 PM
I'm of the opinion that PinMAME itself (the emulator process) is fairly straightforward and should be modified to use named pipes. After all, pinball table targets are tens or a few hundred dry contacts with a similar number of outputs for actuators, lights, solenoids. PinMAME would listen on a named pipe for inputs and write to named pipe for outputs.
The Pinball table simulator, presumably Emelia, provides the contact closure events (targets, sensors) to the PinMAME process and accept actuator signals back (flippers, lights). (I wonder how you'd do Thing Flips or The Terminator gun?)
The dot-matrix display and music would go to their own SDL sinks (like VPinMame overlays its dot-matrix displays for example).
Afer all, since you have the computer emulated for your pinball table, then you don't need to script anything because the computer is supposed to be doing all the logic. We're talking much more than music and dot-matrix video--the whole table is already controlled by the emulated computer.
On the Pinball table simulator's end the COM interface and Visual Basic scripting should be thrown away completely and replaced with simple connections to and from the PinMAME process.
For me, getting VPinMame and Visual Pinball working together in Windows was the single most difficult videogame user experience since Phar-Lap Memory Manager, and it was all because of the bizarre COM connector jive between VP and PinMAME.
The Pinball table simulator, presumably Emelia, provides the contact closure events (targets, sensors) to the PinMAME process and accept actuator signals back (flippers, lights). (I wonder how you'd do Thing Flips or The Terminator gun?)
The dot-matrix display and music would go to their own SDL sinks (like VPinMame overlays its dot-matrix displays for example).
Afer all, since you have the computer emulated for your pinball table, then you don't need to script anything because the computer is supposed to be doing all the logic. We're talking much more than music and dot-matrix video--the whole table is already controlled by the emulated computer.
On the Pinball table simulator's end the COM interface and Visual Basic scripting should be thrown away completely and replaced with simple connections to and from the PinMAME process.
For me, getting VPinMame and Visual Pinball working together in Windows was the single most difficult videogame user experience since Phar-Lap Memory Manager, and it was all because of the bizarre COM connector jive between VP and PinMAME.
#12
Posted 07 October 2009 - 02:53 AM
QUOTE (Joe @ Oct 6 2009, 08:15 PM) <{POST_SNAPBACK}>
Just build the pinmame code into the open open source pinball app.
Okay, but it doesn't know anything about PinMAME.
#13
Posted 02 March 2010 - 05:53 AM
QUOTE (Chainsman @ Oct 6 2009, 09:53 PM) <{POST_SNAPBACK}>
QUOTE (Joe @ Oct 6 2009, 08:15 PM) <{POST_SNAPBACK}>
Just build the pinmame code into the open open source pinball app.
Okay, but it doesn't know anything about PinMAME.
Thought I would revive this thread and see if anyone has done any research or work on a linux port. That would be great if it was. Right now I keep xp around on a separate drive just for pinball and jfk.
Anyone know what tweaks I need to get it going in wine 1.2?
#14
Posted 02 March 2010 - 06:01 AM
QUOTE (wolfen69 @ Mar 1 2010, 10:53 PM) <{POST_SNAPBACK}>
QUOTE (Chainsman @ Oct 6 2009, 09:53 PM) <{POST_SNAPBACK}>
QUOTE (Joe @ Oct 6 2009, 08:15 PM) <{POST_SNAPBACK}>
Just build the pinmame code into the open open source pinball app.
Okay, but it doesn't know anything about PinMAME.
Thought I would revive this thread and see if anyone has done any research or work on a linux port. That would be great if it was. Right now I keep xp around on a separate drive just for pinball and jfk.
Anyone know what tweaks I need to get it going in wine 1.2?
Sure don't. Haven't tried it in some time. Haven't had the time, unfortunately. Been meaning to, but just haven't....
If you have any luck running it in WINE, let me know. It's hard enough to run VP in the real Windows these days! Graphics glitches have made most games unplayable on any modern PC, despite several people's suggestions and my best attempts to fix the problem, which has really frustrated me, and so I haven't been doing much with VP at all these days.
#15
Posted 02 March 2010 - 06:20 AM
QUOTE (Krellan @ Mar 2 2010, 01:01 AM) <{POST_SNAPBACK}>
QUOTE (wolfen69 @ Mar 1 2010, 10:53 PM) <{POST_SNAPBACK}>
QUOTE (Chainsman @ Oct 6 2009, 09:53 PM) <{POST_SNAPBACK}>
QUOTE (Joe @ Oct 6 2009, 08:15 PM) <{POST_SNAPBACK}>
Just build the pinmame code into the open open source pinball app.
Okay, but it doesn't know anything about PinMAME.
Thought I would revive this thread and see if anyone has done any research or work on a linux port. That would be great if it was. Right now I keep xp around on a separate drive just for pinball and jfk.
Anyone know what tweaks I need to get it going in wine 1.2?
Sure don't. Haven't tried it in some time. Haven't had the time, unfortunately. Been meaning to, but just haven't....
If you have any luck running it in WINE, let me know. It's hard enough to run VP in the real Windows these days! Graphics glitches have made most games unplayable on any modern PC, despite several people's suggestions and my best attempts to fix the problem, which has really frustrated me, and so I haven't been doing much with VP at all these days.
I havn't had any problems with VP in windows, but i've always used a good nvidia card and solid driver. Sometimes you just need to match the driver to the card, and not always use the latest one.
It would be nice if I could get it going in wine, but still no dice. But it's no big deal rebooting into windows to play some silverball.
I just found this, and apparently off world girl got it going with a script. I tried it and got some error about DCOM98.exe. Who knows, you may have better luck with it. Keep me posted about what happens if you try it.
Edited by wolfen69, 02 March 2010 - 06:44 AM.
#16
Posted 02 March 2010 - 07:50 AM
QUOTE (wolfen69 @ Mar 2 2010, 07:20 AM) <{POST_SNAPBACK}>
I just found this, and apparently off world girl got it going with a script. I tried it and got some error about DCOM98.exe. Who knows, you may have better luck with it. Keep me posted about what happens if you try it.
The link is referring to Future Pinball. FP has been working with Wine for a long time now.
I haven't seen reports of anyone ever being able to run VP successfully on Linux. Might be easier for one of the devs to adjust the code so it will run in wine than change the code to adapt completely to Linux.
For me VP is the only reason to boot into Windows.
Edited by TedB, 02 March 2010 - 07:51 AM.
#17
Posted 02 March 2010 - 08:43 PM
QUOTE (TedB @ Mar 2 2010, 02:50 AM) <{POST_SNAPBACK}>
QUOTE (wolfen69 @ Mar 2 2010, 07:20 AM) <{POST_SNAPBACK}>
I just found this, and apparently off world girl got it going with a script. I tried it and got some error about DCOM98.exe. Who knows, you may have better luck with it. Keep me posted about what happens if you try it.
The link is referring to Future Pinball. FP has been working with Wine for a long time now.
How so? I can't get it to work. Can you give me a clue?
#18
Posted 12 March 2010 - 05:24 PM
Just a side note:
There's a XPinMAME patch from FreeWPC, which was reported to work.
I would like to add this patch into PinMAME soon, but need more Linux desktop experience to test it thoroughly.
But this will not solve the interconnection part to a table simulator.
There's a XPinMAME patch from FreeWPC, which was reported to work.
I would like to add this patch into PinMAME soon, but need more Linux desktop experience to test it thoroughly.
But this will not solve the interconnection part to a table simulator.


Top



















are all trademarks of VPFORUMS.