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 / MESS / UME in 2013  (Read 2213 times)

0 Members and 1 Guest are viewing this topic.

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
MAME / MESS / UME in 2013
« on: February 25, 2014, 04:30:48 pm »
I've finally(!) got the 2013 write-up into a state where I feel it can be published.
http://mamedev.emulab.it/haze/2013-mame/

This looks at some of the progress made in MAME (as a whole project, so inclusive of MESS work) in 2013.

I look at newly supported games, driver improvements, cases where MESS systems have gained Software Lists (including testing on a number of titles) etc.

Some of the writing still needs a bit of refining, but the majority of points are now covered.

This follows up the similar piece I did for 2012
http://mamedev.emulab.it/haze/2012-a-year-in-mame/

Just thought some of you guys might appreciate this.

pbj

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11057
  • Last login:Today at 09:55:31 am
  • Obey.
    • The Chris Burke Band
Re: MAME / MESS / UME in 2013
« Reply #1 on: February 25, 2014, 04:52:46 pm »
This is interesting.  How come no Golden Tee?


Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: MAME / MESS / UME in 2013
« Reply #2 on: February 25, 2014, 05:24:16 pm »
This is interesting.  How come no Golden Tee?

Some skeleton drivers were added for the newer ones (Golden Tee Fore! 2002, 2004, 2005) but there's literally nothing done with the driver yet, so nothing to really show / write about.

I guess it might make sense to give it a mention with some of the other skeleton drivers but there haven't really been any signs it will get worked on in the immediate future.  The hardware is on a similar level to things like NBA Showtime: NBA on NBC (MIPS + Voodoo Banshee) and even that isn't working yet due to incomplete emulation of the Banshee amongst other things (only the earlier Midway ones are with Voodoo 1 / Voodoo 2 cards)

Maybe if the PC emulation in MESS advances further and there becomes more of a need to emulate the additional features present in cards like the Banshee there we'll see some progress, but I wouldn't count on Aaron himself picking up his old Voodoo code any time soon and the actual Golden Tee games might have some surprises of their own (I think they required online validation for certain elements)



Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19428
  • Last login:Yesterday at 01:14:11 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: MAME / MESS / UME in 2013
« Reply #3 on: February 25, 2014, 07:25:54 pm »
I appreciate the article as usual.  It's hard to get news out a lot of the guys so I always look forward to this. 

It was nice to see some pinball progress.

I'm wondering if you ever think anything will be done with those and some of the other hybrid games from a playability standpoint.  I tried to get a discussion going about this over and mameworld but was met with hostility.  (Probably wasn't the best place to ask tbh.)

I know the goal for years was to get mame away from dll and other external dependancies, and that was the right way to go (earlier dos-era builds had a lot of junk tacked on).  At this stage of the game though, perhaps having some sort of plugin system might be a good idea?  I'm not as familiar with other operating systems and how they work, but in windows you've got the good old "load library" calls allow you to use a dll without having to statically define it. 

Having a collection of dlls added to the mame source probably wouldn't be a good idea, but perhaps setting up support for a "pinball.dll" or what have you that someone else makes (the pinamme guys or whoever) and documenting internally what kind of dll structure mame is expecting would be one way for mame to offer expandability without having to get directly involved with it.  I mean 99% of the time with these em things all you really need is access to the I/O stream of mame. 

So I guess what I'm saying is why can't mame cook you dinner?  ;)

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: MAME / MESS / UME in 2013
« Reply #4 on: February 25, 2014, 10:22:43 pm »
I appreciate the article as usual.  It's hard to get news out a lot of the guys so I always look forward to this. 

It was nice to see some pinball progress.

I'm wondering if you ever think anything will be done with those and some of the other hybrid games from a playability standpoint.  I tried to get a discussion going about this over and mameworld but was met with hostility.  (Probably wasn't the best place to ask tbh.)

I know the goal for years was to get mame away from dll and other external dependancies, and that was the right way to go (earlier dos-era builds had a lot of junk tacked on).  At this stage of the game though, perhaps having some sort of plugin system might be a good idea?  I'm not as familiar with other operating systems and how they work, but in windows you've got the good old "load library" calls allow you to use a dll without having to statically define it. 

Having a collection of dlls added to the mame source probably wouldn't be a good idea, but perhaps setting up support for a "pinball.dll" or what have you that someone else makes (the pinamme guys or whoever) and documenting internally what kind of dll structure mame is expecting would be one way for mame to offer expandability without having to get directly involved with it.  I mean 99% of the time with these em things all you really need is access to the I/O stream of mame. 

So I guess what I'm saying is why can't mame cook you dinner?  ;)

I think the most likely thing that will end up happening is that other software will be allowed to communicate with MAME rather than MAME dragging in other software.

We've already seen things this year like the web interface, and you're already familiar yourself with the way MAME can output to drive lamps etc. so if you extend that concept it's fairly easy to see how it could end up acting as the engine to something else.

The risk is of course we don't really want a situation where we can't change MAME easily because somebody decided to come up with an interface replacement, keep it entirely closed source, and drive the whole of MAME with it, hiding our own interface entirely even in normal arcade use cases.  If such an interface was to become popular we'd find ourselves in a position where it was very difficult to make any major changes to our project without breaking compatibility with something we had no control over, yet at the same time we would get the blame if we did.  That's similar to the reason we've never been keen on linking to closed libraries, they could end up trapping the project in a corner.

Maybe one day MAME will have it's own built in simulation engine for physical objects, I don't know, as a project it's always evolving.

There are of course advantages and disadvantages to each approach, PinMAME itself ended up being unable to really grow, expand or do things better because the software that made use of it was out of the control of the developers, but at the same time we have to acknowledge that simulation of the CPU side of pinball machines and other similar mechanical ones like Ice Cold Beer is kinda useless if we don't allow them to talk with outside world programs and have no intention of providing a simulation of the physical components ourselves.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19428
  • Last login:Yesterday at 01:14:11 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: MAME / MESS / UME in 2013
« Reply #5 on: February 26, 2014, 03:07:25 am »
Those are valid concerns.  I think the pinmame situation example specifically is a cautionary tale of what happens when something like this gets ignored though.

Correct me if I'm wrong but the deal with pinmame was that pinball enthusiasts wanted to use roms with their simulations, but at the time at least mame didn't allow pinball roms.  So they took mame and made their own variant.  The problem that happened was that as time rolled on and more and more core changes to mame rolled in, it became harder and harder to upkeep that highly divergent fork.  Eventually even the pinmame authors gave up and it's been in a pseudo stagnant state ever since.

Some of these hybrids are  becoming pretty complete on the mame end of things.  I'm afraid whatever the solution that if it's ignored much longer another pinmame-like fork is going to immerge, it will become popular due to speed hacks, ect, and the cycle will repeat itself. 

I suggested over the mameworld expanding the current output system to a input/output system btw.  Things were threw back like it would promote piracy and that it would have to be cross platform ect.  I tried to cite the current output system as a precedent where cross platform portability isn't an issue (outputs were windows only for quite some time) and that's where the hostility started so I gave up.

So my follow up question is do you think what's holding it up is a "politics" issue or a lack or motivation or what?  I know this stuff takes time, but it seems like at this point somebody would be working on it at least.

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: MAME / MESS / UME in 2013
« Reply #6 on: February 26, 2014, 08:53:55 am »
Those are valid concerns.  I think the pinmame situation example specifically is a cautionary tale of what happens when something like this gets ignored though.

Correct me if I'm wrong but the deal with pinmame was that pinball enthusiasts wanted to use roms with their simulations, but at the time at least mame didn't allow pinball roms.  So they took mame and made their own variant.  The problem that happened was that as time rolled on and more and more core changes to mame rolled in, it became harder and harder to upkeep that highly divergent fork.  Eventually even the pinmame authors gave up and it's been in a pseudo stagnant state ever since.

PinMame is a cautionary tale for a number of reasons.

1) It shows what happens if we're too stubborn and continue to ignore things we should be doing; back then the criteria for something being included in MAME was strictly 'arcade video game' and nothing else, so yes, they went their own path.

2) It also shows what happens if a derivative build strays too far from mainline.  They added so much of their own code and hacks to our system it because nearly impossible to keep it updated with core changes going on in MAME.

3) It also, as I've mentioned, shows what happens if you let yourself / your project be controlled by a popular closed source external entity, in this case things like Visual PinMAME / Visual Pinball wanted to communicate with PinMAME in very specific ways.  The main MAME project decided on a different way to handle certain aspects of this (the way lamps etc. are driven today) but updating PinMAME to use such methods / expand on such methods instead of the ones they had wasn't possible because the external software already heavily depended on their methods, and they couldn't change that.

4) It also shows what happens if when the authors of a derivative build somehow think they have more say over the MAME code than the people who wrote it, I believe the PinMAME guys licensed our code to people for commercial use without consulting the individual authors.

The scenarios are simplified, but yes, a lot can be learned from PinMAME, some already has.

1) We are more open now, it's more anything arcade related, I still think we should make it an emulation project for anything tho.

2) We prevented the gambling stuff from going the same way by integrating it, I know a lot of people weren't happy about that, but the code is utterly useless to us if it's being created in 10 year old builds.  Likewise we did bring MESS a lot closer, and unified the project codebase otherwise that could easily have ended up as an incompatible codebase, there were already periods where it lagged behind trying to keep up with MAME changes.

3) We take this into consideration, although as discussed, it's a difficult situation.

4) Idiots will be idiots.. not really much can be done about this!


Some of these hybrids are  becoming pretty complete on the mame end of things.  I'm afraid whatever the solution that if it's ignored much longer another pinmame-like fork is going to immerge, it will become popular due to speed hacks, ect, and the cycle will repeat itself. 

I suggested over the mameworld expanding the current output system to a input/output system btw.  Things were threw back like it would promote piracy and that it would have to be cross platform ect.  I tried to cite the current output system as a precedent where cross platform portability isn't an issue (outputs were windows only for quite some time) and that's where the hostility started so I gave up.

So my follow up question is do you think what's holding it up is a "politics" issue or a lack or motivation or what?  I know this stuff takes time, but it seems like at this point somebody would be working on it at least.

Yeah, the promotes piracy thing (hides Mame, makes it easier for remote control / credit management etc. stuff on cabs) was definitely an issue in the past.

These days I think it's actually less of an issue, our current versions aren't actually that cab friendly, there's a lot more stuff you WOULDN'T want on a cab in there (if you just make all the working games available you get several gambling ones, and while most locations don't care if arcade games are bootlegs or not if they see something that looks like a sniff of a gambling game the cab is history)  higher systems requirements also means greater cost for the bootleggers etc.  In reality most of them stick with older things, because they already have solutions and it's cheaper.  Bootleggers tend to not care about quality, just what is easiest and cheapest.  Most of what we do is invisible these days, even to the bootleggers.

Some of the devs still seem to think it's a major issue, but the last bootleg cabinet I heard about was a good couple of years old now and relied on the save state code, that ironically the very same devs did a lot of work on.  (the frontend would hack a # of credits into the save state file using a custom list containing the memory location that needed modifying for each game, load the state with -state from the commandline, have -autosave enabled so that a state was also created on exit, and read back the number of credits left from that state file)

The cross platform thing is a bit more of a real issue once you start allowing external control / using closed libs because really you want MAME to be usable in the same way regardless of platform.  The features that aren't right now are more low level 'fluff' features like the current output system that not many people are going to make use of, or HLSL which just makes things look pretty (and the SDL builds have had  GL shader system for much longer anyway)  If it becomes a case of 'Mame can only play Pinball titles on Windows XP' or something stupid where many more people are likely to be affected, you can see the issue ;-)
« Last Edit: February 26, 2014, 08:57:31 am by Haze »

pbj

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11057
  • Last login:Today at 09:55:31 am
  • Obey.
    • The Chris Burke Band
Re: MAME / MESS / UME in 2013
« Reply #7 on: February 26, 2014, 09:34:27 am »
The newer Golden Tees are a very weird oversight in MAME.  I've heard three theories on this:

1 - The developers were paid off to ignore it  (haha, yeah right)
2 - The developers were/felt threatened by the IP owners
3 - The developers lack the ability to emulate it

So which is it?



Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: MAME / MESS / UME in 2013
« Reply #8 on: February 26, 2014, 11:41:53 am »
The newer Golden Tees are a very weird oversight in MAME.  I've heard three theories on this:

1 - The developers were paid off to ignore it  (haha, yeah right)
2 - The developers were/felt threatened by the IP owners
3 - The developers lack the ability to emulate it

So which is it?

4 - None of the developers are especially interested in it.

It's MIPS hooked up to A PCI bus, a Voodoo card and some security.. I don't know, just doesn't strike me as very interesting to work on.  It will get done once somebody interested in it comes along.


pbj

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11057
  • Last login:Today at 09:55:31 am
  • Obey.
    • The Chris Burke Band
Re: MAME / MESS / UME in 2013
« Reply #9 on: February 26, 2014, 12:14:38 pm »
Riiiiight.

 :cheers:

jelwell

  • Wiki Master
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 460
  • Last login:December 24, 2014, 03:47:21 pm
  • I'm a llama!
Re: MAME / MESS / UME in 2013
« Reply #10 on: March 02, 2014, 04:04:23 pm »
I, for one, am looking forward to the day that I can reheat my leftovers using my arcade cabinet.
Joseph Elwell.

B2K24

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 216
  • Last login:June 10, 2025, 10:17:56 am
Re: MAME / MESS / UME in 2013
« Reply #11 on: March 13, 2014, 11:49:50 am »
The PinMAME situation is really unfortunate because if those sources were aligned with the current sources, than people could take advantage of using HLSL which would eliminate some people having to dump $300 - $500 into connecting a  vishay DMD to their computer.