The State of Emulation topic

Anything from run & guns to modern RPGs, what else do you play?
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The State of Emulation topic

Post by Xyga »

Apparently RetroArch catching up to GroovyMAME in the area of lag reduction is a 'breakthrough' and 'shattering myths'.

http://www.patreon.com/posts/next-frame-time-16390231

Lol.

What pisses me off is that it will become a 'revelation' for lots of people now even though it's already been there for years, because of RA's orientation and communication being a hundred times more in tune with the reality of the majority of users, compared to GM (and MAME basically the moment you step out of default setup) being as n00b-friendly as a pile of scattered dusty technical documentation sheets written for tech engineers.

It was bound to happen.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Udderdude
Posts: 6266
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: The State of Emulation topic

Post by Udderdude »

Meh, I wouldn't get all elitist about it. More people playing classic games instead of other crap is a good thing.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The State of Emulation topic

Post by Xyga »

Well, that's kinda my point also.

Still they've got some nerve acting as the innovators.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Udderdude
Posts: 6266
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: The State of Emulation topic

Post by Udderdude »

Yeah, I've seen Mame cabs using soft15khz/GroovyMAME and they're impressive for sure, but the amount of technical expertise required is off the charts.
User avatar
OmegaFlareX
Posts: 884
Joined: Tue Jan 25, 2005 10:15 pm
Location: Virginia, USA

Re: The State of Emulation topic

Post by OmegaFlareX »

MAME in RetroArch is pretty fucked up, because arcade games use weird-ass refresh rates. I had to turn off all my usual sync options and some other things, but the sound is still output at 60hz no matter what I do. Everything's all high-pitched and wrong. It's useless until they fix that.

Everything else sure is nice to play on it; with their Hard GPU Sync enabled, I can have vsync on and get all the benefits from that and only have a tiny smidge of input lag (less than a frame). I haven't messed with the Frame Delay option, if it works as advertised it could be even lower.
User avatar
WelshMegalodon
Posts: 1225
Joined: Fri Dec 11, 2015 5:09 am

Re: The State of Emulation topic

Post by WelshMegalodon »

Yeah, you really shouldn't be using MAME via RetroArch. At least two outspoken MAME devs have proclaimed their disdain for how poorly libretro handles their work.
Arbee wrote:RetroPi is basically one step above the xxx-in-1 abortions in quality. I will never understand putting either in a cabinet; doing so basically shouts that you're unwilling to even try to get the best results.

https://www.reddit.com/r/MAME/comments/ ... ?context=3
Check out the wall o' text below:
Spoiler
Haze wrote:I've very much checked out RA / LibRetro, and the opinions I've posted are based on my wholly negative recent experiences. From what I can see it's an almost entirely pointless experience that exists off the back of the hard work done by others.

I was giving you a chance to answer, rather than directly accuse, but since you simply dodged the questions (again) let's make things a bit clearer...

The 'not working' and 'impefect' warning screens are missing, why the fuck should we, or anybody else want to work with the authors of a project that can't even respect the most basic wishes of the developer of the base project? Those are important user information screens you omit completely. Why? It's unacceptable. This has been stated before, and ignored before, so the arrogance of you to expect any kind of friendly response is unbelievable really. It should not be possible to hide / skip those screens as they convey essential information, let alone omit them entirely leaving the user with no clue as to if something should work or not so you are changing how MAME works, or at least distributing by default a version that does.

Furthermore I try to load any of the non-arcade sets, even ones without Software Lists (such at batmantv) and all RA does is crash You say you're not trying to dumb things down, yet if half of MAME is missing again you're going against the express wishes of the actual developers of the project and doing exactly that, so again, why should they be interested in working with you? Your 'MAME' core isn't actually MAME, it's some partial version of it.

Before you try to dodge the bullet again and say that you're not responsible for the MAME core, I call bullshit, it's what your software attempts to download, it's what anybody using the software will get, it is therefore your responsibility, just as if it would be our responsibility / problem if MAME had a built in ROM downloader. You are happy to endorse the core(s) provided and include them in your download lists.

If RA was worth it's salt then the cores wouldn't have to be platform specific, they'd be universal, or at least have x86/x64/ARM etc. codepaths. As it stands it's just another platform specific layer that sits between platform specific layers.

Blatantly ripping off Sony's PS3 interface doesn't make it cool either, and frankly I'm surprised they haven't sued over that.

Sorry, but I think what you're offering is absolute garbage, and one of the worst things to happen to emulation in the last 20 years. If MAME does ever end up having to adopt it officially that will be a sad, sad day, in part because of the project, in part because clearly the people who work on it really couldn't give a shit about the developers who actually write the emulation and how they want their emulator to be experienced.

https://www.reddit.com/r/MAME/comments/ ... e/dquxia4/

I hear MAME also had something akin to dynamic rate control long before RetroArch did, but I haven't been able to confirm it.
Indie hipsters: "Arcades are so dead"
Finite Continues? Ain't that some shit.
RBelmont wrote:A little math shows that if you overclock a Pi3 to about 3.4 GHz you'll start to be competitive with PCs from 2002. And you'll also set your house on fire
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The State of Emulation topic

Post by Xyga »

I disagree with both of you, mamedev's criticism is essentially about devs and contributors not getting recognition.

But the missing messages on startup are far from being a new thing and a RA exclusive, several MAME builds have for years offered options to skip those and still do.
And being part of this community here I've learned that the 'working' tags are sometimes not deserved but attributed anyway in place of 'imperfect' if it's 'good enough'.
Sure it can be very small missing/unresolved things but the day you learn about those you wonder about the reliability of the 'working' tag.

About all the non-arcade hardwares; since the merge with MESS they've basically imposed on everyone to have those myriads of machines and files all the users who legitimately care only about arcade games - the vast majority no doubt about it - are annoyed with, especially since there's no clear and easy way to quickly sort those out, I've tried editing the softlist and only got into a wreckage. Dickest move since making the US/overseas roms the parents.

This is why there are builds like ARCADE64, even GroovyMAME users make arcade-only builds and skipping info/nonag. Since the beginning and for millions of people who've used it MAME is an arcade machines emulator period, it's still stated in the very name, nobody but devs and a small percentage of people who have interest in other hardwares wanted the merge with MESS and all the available stuff up to the weirdest bleep bleep 70's casino poker game or high tech toaster to be seen by every user in the middle of their list of arcade games.
It's been forced on users period, of course they don't like it, and why in the world would everyone been obliged to care and need to thank unknown people for their work on some hardwares they don't care about, never heard of and often have hardly anything to do with arcades or sometimes even video games?

If they at least renamed it MEME for multiple Electronic machine emulator (or something better since the word meme itself would be a problem), maybe they'd have a legitimate reason to tell people 'no'. But it's still named MAME.

As much as I praise the immense work they do for preservation and emulation of arcade games, and fuck anyone who doesn't believe I do, I don't have to be a praising drone complimenting every of their choices and decisions, there's a lot of stuff I don't like when it comes to useability and performance/compatibility options, and even after being enthusiastic about the major changes of these past years I've ended up quite disappointed as I think it's in fact become a worse to use program than before.

RetroArch at least on PC doesn't make MAME worse useability-wise, you'll pull your hair out with vanilla just as much is not more, and performance-wise it doesn't change much. It's main interest lies in its shaders layer that's really better than what MAME has to offer since (last time I've checked) HLSL has become an impossible puzzle, BGFX adds lag, doesn't save and lacks something as great as CRT-Royale. Maybe some of these issues have been fixed since then but I don't even want to ask.
(@OmegaFlareX I didn't exeperience an issue like that but heard of it, more importantly I think their hard gpu thing doesn't always work as intended, rather they're getting to more serious stuff for lag reduction only now)

RA is a comfort thing, it brings some features users WANT and removes others they DON'T WANT, it's got issues and really dumbs down a number of things, but it happened because of the extreme stubbornness and hostility of mamedev on some topics.
In other terms Libretro sure are opportunists, they're attempting to bring things to users where mamedev mostly have 'fuck you' replies, if not RA it would have been some other people to do something in the same vein, actually it's already more or less the case I predict there will be many other RA's in the future.

Mamedev are the best group of devs in the world of emulation, but the worst when it comes to listening, understanding, and communicating with the users. the egos there are immense and they're often so far away from user's reality that they get offended to death for things users don't even nearly understand why they'd be so. Over the years I've seen enough users get destroyed by devs or faithful drones, for reasons that will only ever make sense to devs only and no user could or should even be aware of.
(Most engineers and devs in this world seem to be a strange breed apart from other humans, apparently lacking the ability to realize that humanity is not made exclusively of engineers and devs with the same type of knowledge as them, or those who realize seem to believe because of their ability and work they're special entities all normies should praise unconditionally. And when they do something for free...omg...after even the smallest criticism or request: "We bring you this stuff for free, how come you are so ungrateful !?" bitch that's your life choice you don't pay me to shut off my criticism or give you bj's either, do you?)
In any case after reading stuff like 'we do it for ourselves not for you users' or 'playability of the games is only secondary' or even 'you disgust me you pirate' and other things in the same spirit, I've stopped caring about them. Again I've got the highest respect in regards to the major/central dumping and emulating work they do, of fucking course, but for every occurence where they don't listen and just trash users for things that matter to them, well, they can eat truckloads of fat dicks.
RA or ARCADE64 are consequences of that wrong side of MAME, for me Libretro and those who make patches aren't entirely to blame nor demonize. There sure are questionable aspects in what they do, but mamedev brought that.
WelshMegalodon wrote:I hear MAME also had something akin to dynamic rate control long before RetroArch did, but I haven't been able to confirm it.
What? No I don't think so.
Last time I've read a discussion on that topic they were like 'why do you care', 'just force sync' 'what choppy framerate or what wrong speed or what lag what are you talking about' 'why should we do something just buy a g-sync monitor' blah blah blah
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Udderdude
Posts: 6266
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: The State of Emulation topic

Post by Udderdude »

Yeah, I don't know what's up with that HLSL stuff. Seems like it's got way too many knobs to turn and the result still doesn't look much like a real CRT, no matter how hard you try.

Also,

MAME 0.193 (late 2017) running Pac-Man
~6% CPU used

MAME 0.37b14 (2001) running Pac-Man .. in DOSBox
~6% CPU used

We're about to cross a threshold from which there is no return .. :shock:

(MAME 0.99 uses ~0.5%, which is a lot closer to what you'd expect, lol)
User avatar
WelshMegalodon
Posts: 1225
Joined: Fri Dec 11, 2015 5:09 am

Re: The State of Emulation topic

Post by WelshMegalodon »

This is going to sound like shilling, but I assure you I'm simply giving the responses that the MAMEdevs (or rather just Haze, but he technically counts) have offered for criticisms like yours, which I've seen crop up countless times.
Xyga wrote:And being part of this community here I've learned that the 'working' tags are sometimes not deserved but attributed anyway in place of 'imperfect' if it's 'good enough'.
Sure it can be very small missing/unresolved things but the day you learn about those you wonder about the reliability of the 'working' tag.
I'll give you that one. Things like YM2413 volume levels being noticeably off and the lights in Elevator Action Returns refusing to break are hardly small. On the other hand, you have devices marked 'NOT_WORKING' that nonetheless show a pretty decent amount of compatibility (Mega-CD and PC-9821, for example), though I'm told there's usually good reason for something being labeled NOT_WORKING (like MAME's PC-88 driver displaying in 4:3 by default despite many real games rocking the letterbox) .
Xyga wrote:About all the non-arcade hardwares; since the merge with MESS they've basically imposed on everyone to have those myriads of machines and files all the users who legitimately care only about arcade games - the vast majority no doubt about it - are annoyed with, especially since there's no clear and easy way to quickly sort those out, I've tried editing the softlist and only got into a wreckage. Dickest move since making the US/overseas roms the parents.
Xyga wrote:It's been forced on users period, of course they don't like it, and why in the world would everyone been obliged to care and need to thank unknown people for their work on some hardwares they don't care about, never heard of and often have hardly anything to do with arcades or sometimes even video games?
1. Absolutely no one is forcing you to download terabytes of romsets and CHDs. Hell, I use MAME for Master System and Apple II emulation on a weekly basis and my 'roms' folder weighs in at 41 MB. Putting your warez in a separate folder isn't hard. Ctrl + A -> Ctrl + X -> Alt + Tab -> Ctrl + Shift + N "PIRATED_GAMES" -> Return -> Return -> Ctrl + V. If you're missing roms to get a particular game or piece of software working, you can use Progetto EMMA and the -listcrc command.
2. MAME devs have defended the addition of ostensibly random and obscure hardware on numerous occasions. Those are needed in the same way that useless demos and unlicensed Chinese bootlegs are needed to test the accuracy of other emulators. They've also argued that including these in their project is what's been keeping MAME alive - in an alternate future where the MAME-MESS merger never happened, we may never have had sound in Batsugun, Dogyuun, or Same! Same! Same!.
3. According to them, fruit machines and other gambling arcade machines are actually among those with the highest risk of being lost forever. From a preservation perspective, it makes sense.
Spoiler
The MAME 0.183 Announcment wrote:Some of these improvements might seem inconsequential, or apply to systems you don’t use, but they often lie in common components used by many other systems. For example, the Amiga 1200 and Zorba keyboards use the same MCU family used in a lot of arcade games published by Taito. The same change that fixes the Zorba keyboard also fixes enemy spawning and timing in Xain'd Sleena. The Nuevo Video board uses a common Motorola CRT controller, so improvements made to support it stand to benefit a lot of other systems.
Haze wrote:In terms of the 'Tower' metaphor the arcade emulator that was MAME was already becoming that tower, lots of the code in MAME only had very limited use cases, and wasn't well tested. Arcade games alone only provided very limited use cases so building standards were generally very low.

The non-arcade stuff is infact adding stability to the lower levels, making sure every part of the structure is up to scratch, allowing it to grow and expand without any risk of it toppling over.

It might be more like a sprawling old tree now than a tower in places, but it is a lot more solid and a lot more stable than it could ever have hoped to be otherwise.
Haze wrote:There's an additional side to this that I haven't covered too, and I'll attempt now.

It is important that MAME remains an active project, with monthly releases, that it remains a living codebase that builds with current tools, and has an active community around it to keep knowledge of how it works, and how to develop for it alive.

Arcades are basically a dead tech, after a certain point it isn't really very realistic to emulate them, and many of the older ones that aren't emulated require painstaking work to make progress on; they require research OUTSIDE of the programming side of MAME. Sometimes it can be years before a PCB we need shows up, and then sometimes it's pure luck if we can get it (because while people are throwing huge sums of money into the void for people emulating modern platforms, funding where it's actually needed is often lacking)

At this point the non-arcade side of MAME, what was formerly MESS is what is actually driving the project forward, keeping it alive, making sure there is a large pool of people contributing to the project who are actively tracking progress in the project and have a fresh knowledge of how everything works. You're seeing most of the progress there because that is often where progress is realistically possible, that is what the people working on the code are interested in etc. The value of the work being done there far exceeds the end result of what you see, the value is having developers on board, so that when other things do show up that you might care about we still actually have a team actively working on the project and improving it; one of the hardest things to do is trying to come back to a project after you put it down for a year or two.

Likewise, you have monthly releases, with significant change lists, which keeps the MAME name active in the minds of users; even if there's been little progress in an individual release they care about each release does still stand as a reminder that the project is still about and that a ton of work is going into it. Leave it 6 months between a release because you're really only focusing on arcade stuff and it becomes easier to forget about it, or think it's a dead project. Monthly releases also provide a level of motivation, if you know you can write code, and there will be a public release in a month you're more likely to try and get it done than knowing the release is in 5 months, at which point you're more likely to just put it off as it's not going to get the desired level of public testing for a long time anyway. By allowing work on a whole variety of things, it's much easier to maintain that monthly schedule as there's always something worth publishing.

You can't dictate what people want to work on, but really the thing to be happy about at this stage is that people are still working on the project at all because MAME is one of the few projects pushing a really good ideology when it comes to how things should be emulated (correct, shared emulation of components between lots of systems etc.)

A lot of the work being done in MAME is being done on obscure systems, often ones few people care about, but that's often because they're the ones nobody has done elsewhere, so people with an interest in them see MAME as the ideal place to work on them, likewise, even for more popular systems it's often the obscure add-on cards people become interested in emulating in MAME even when the base emulation isn't great; that's because MAME makes such things easy by having such a wide variety of components available. Hopefully in the future some experts on some of the more popular platforms will decide to contribute to MAME. It's understandable that they don't as the demands of actually doing things correctly, and ensuring your code works with the many other systems using the same components is a lot more demanding than creating something isolated that can have hidden bugs and hacks for a specific system.

But yeah, it's really time to start looking past MAME as 'arcade emulator' and understand why it has developed into what it has, and how important that is, even to the future of arcade emulation. It's all about each part of the project carrying another part forward and ensuring the project as a whole stays active. That means everybody working together.

Basically if MAME had remained just an arcade emulator, it would have lost all momentum and petered out into obscurity, the dev pool would have vanished, and then when something 'important' to arcade emulation came up, nobody would know who to contact, and people with the skills to deal with it wouldn't be around and there would be no guaranteed release schedule to get that progress out to the public even if it was done. I'm sure you can agree, that's not what anybody wants to see.
Xyga wrote:This is why there are builds like ARCADE64, even GroovyMAME users make arcade-only builds and skipping info/nonag. Since the beginning and for millions of people who've used it MAME is an arcade machines emulator period, it's still stated in the very name, nobody but devs and a small percentage of people who have interest in other hardwares wanted the merge with MESS and all the available stuff up to the weirdest bleep bleep 70's casino poker game or high tech toaster to be seen by every user in the middle of their list of arcade games.

[...]

If they at least renamed it MEME for multiple Electronic machine emulator (or something better since the word meme itself would be a problem), maybe they'd have a legitimate reason to tell people 'no'. But it's still named MAME.
The name is pretty much only for name recognition at this point:
Spoiler
Haze wrote:well, the acronym is to be dropped at some point, it's more or less just a case of somebody getting around to updating the website artwork.

MAME is now just 'MAME' just as SEGA is just SEGA, not 'Service Games'

It's just evolution, it's unavoidable, without this evolution you'd simply have a dead project instead. People wouldn't start working on the things you want them to work on, they'd just stop working on things, lose all familiarity with the project, and it would die. A lot of the recent arcade side improvements have been driven by people working on non-arcade parts of the project, adding support for devices that were skipped over at the time. These are genuine emulation improvements, even if the end-user effect might not be noticeable.

Of course people who remember MAME being 'only an arcade emulator' are going to have a skewed opinion of things, but as new people are introduced to the project, they'll see it for what it is, something much more important; we're already seeing this, there are infact a lot of new people coming to the project very interested in these handhelds, and various Japanese computers that are now at the forefront of one of the longest running projects around, rather than being hidden away in some sister project nobody ever quite connected to MAME or showed the level of respect it deserved (the level of improvement seen, and support for what is being done has increased 10x since the integration as people are much more aware of it and feel it more worthwhile to contribute to)

I don't imagine it will be long before the entire divide is dissolved internally either, so that build targets become more a reflection of hardware types than end market.

Also, calling Demul badly optimized is laughable, it's actually very, very well coded, it just you disagree with the design choices of the team behind it, just as you'd likely disagree with the ones made by the MAME team should improvements be made in MAME. GOOD emulation has high system requirements.

It's also worth noting that even for cases like Naomi, it is MAME and MAME research that has driven things like the decryption efforts, which are being used by the other emulators, same for Model 3. Just because the games don't run as you'd like them to in MAME doesn't mean that MAME hasn't been a major contributor to the emulators that are running them well. Files such as https://github.com/mamedev/mame/blob/ma ... _crypt.cpp represent an encryption scheme that was used by Sega across multiple platforms, including Naomi and Model 3, and is very much research done by people on and working with the MAME team (I'm even credited there as it required some modifications to work with one of the ST-V cases)

Again, I think you need to look at MAME for what it is, a vast research project, not a simple toy that's exists just to run any arcade game you throw at it at 60fps.
Xyga wrote:RA is a comfort thing, it brings some features users WANT and removes others they DON'T WANT, it's got issues and really dumbs down a number of things, but it happened because of the extreme stubbornness and hostility of mamedev on some topics.
In other terms Libretro sure are opportunists, they're attempting to bring things to users where mamedev mostly have 'fuck you' replies, if not RA it would have been some other people to do something in the same vein, actually it's already more or less the case I predict there will be many other RA's in the future.
RetroArch is like the poster child for feature creep if there ever was one. I'm partly convinced that half the time libretro doesn't know what the fuck they're even doing. (And if the devs' famous rants and perpetually uptight Internet presence are any indication, I'm not quite far off. ) Its interface is famous for being a mess - until relatively recently, the documentation on their site had more about how to set up shaders than about explaining how any of their options (several of which I recall being 'game-breaking' in the sense of significantly changing emulator behavior) affected their cores. They've ported RetroArch to anything and everything, regardless of sense or sensibility. Several of their libretro cores are based off emulators that are barely even alpha stage and at least one other core hasn't been properly updated in ages. They insist on using their Retropad abstraction for N64 emulation despite the controller being just this side of too different. They don't seem to care so much about emulation in and of itself as spamming their fancy API thingy until it becomes synonymous with emulation so that anyone wanting to look into what weeaboo faggots played 200 years ago is going to do so with instant rewind and 2xSAI. As a member of a board dedicated to upholding the recognition of good game design, I certainly don't feel comfortable with the notion of such a future.

Not to mention that everything they do gives off the sickening air of some obnoxious PR campaign. kitten made a post in the WoW thread just a few weeks ago about how games these days seemed especially bad about manipulating you and constantly shoving stuff in your face - "cynical corporate dickery" was the phrase she used. Part of the reason I play 30-year old classics from developers that ought to have died off around 2006 is to get a break from that, and libretro feels like it's going in the opposite direction.
Udderdude wrote:MAME 0.193 (late 2017) running Pac-Man
~6% CPU used

MAME 0.37b14 (2001) running Pac-Man .. in DOSBox
~6% CPU used

We're about to cross a threshold from which there is no return .. :shock:

(MAME 0.99 uses ~0.5%, which is a lot closer to what you'd expect, lol)
MAME's FAQ page wrote:Emulating analog (discrete) audio circuits accurately requires higher math functions executed repeatedly, millions of times per second. Many older games which would otherwise be a walk in the park to emulate quickly can be bogged down with simulation of the analog audio. Reducing the sound output rate can help improve performance for these games.
MAME's FAQ page wrote:One thing that is counterintuitive is that it is generally the older games that require analog audio simulation or very tight CPU synchronization. This means that even something as innocuous as Donkey Kong might require a pretty beefy system to run at full speed.
MAME's FAQ page wrote:Another thing to consider is a paradigm called "moving the optimization point". MAME's "sweet spot" is currently aimed at hardware with tilemaps, sprites, more than 256 colors on screen, and at least 2 CPUs, which is a common late-80s paradigm. Real-world examples of this include the Konami Twin16 games, the Sega X and Y boards, Namco System 2, Taito Z System, etc. It means that MAME makes more advanced games run faster at the expense of simpler hardware. The simpler hardware will work out in the end anyway due to ever-faster PCs (Pac-Man is very sub-optimal now compared with MAME 0.29 for instance, but almost any average modern system runs it with 100% speed).
EDIT: Meant "letterbox", not "pillarbox".
Last edited by WelshMegalodon on Fri Jan 26, 2018 5:51 pm, edited 4 times in total.
Indie hipsters: "Arcades are so dead"
Finite Continues? Ain't that some shit.
RBelmont wrote:A little math shows that if you overclock a Pi3 to about 3.4 GHz you'll start to be competitive with PCs from 2002. And you'll also set your house on fire
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The State of Emulation topic

Post by Xyga »

I had prepared a long and detailed reply but decided against posting it in the end.

There's way too much wrong and infuriating stuff in your post that's just indeed pasta of mame's increasingly wrong schizophrenic shit that I'd only feed a stinking shitstorm anyway.

:arrow:
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Udderdude
Posts: 6266
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: The State of Emulation topic

Post by Udderdude »

WelshMegalodon wrote:MAME FAQ copypasta reply
I tested it out myself. 0.193 Pac-man w/ audio at 11025 sample rate - 5%. Audio completely disabled - 4%.

That's still pretty ridiculous considering one core's worth on my 8 thread CPU is 12.5%. I'm on an i7-2600K, which is far from crap. But if MAME is single core only, that's already using half a core just for that. (I'm talking about 6% with the sound enabled)

As for the rest of the discussion, I feel like right now what the MAME devs want is some sort of tool for future historians to look at to see every piece of digital detritus that's ever been put behind a coin slot (and apparently now everything in front of it, too).

It shouldn't be surprising people that want to use MAME as an arcade emulator are starting to split off and are trying to steer it back towards something more suited for general use.
Kraq
Posts: 22
Joined: Fri Jun 01, 2012 9:09 am

Re: The State of Emulation topic

Post by Kraq »

Xyga wrote:I had prepared a long and detailed reply but decided against posting it in the end.

There's way too much wrong and infuriating stuff in your post that's just indeed pasta of mame's increasingly wrong schizophrenic shit that I'd only feed a stinking shitstorm anyway.

:arrow:
What is it that infuriates you so much? Who cares that a part of it is copy pasted? They do make some valid points, just as you do. Nobody should get worked up over this.

Sometimes I get a feeling that you have a lot of insight to share on several topics, but get irritated rather easily.
Udderdude wrote:That's still pretty ridiculous considering one core's worth on my 8 thread CPU is 12.5%. I'm on an i7-2600K, which is far from crap. But if MAME is single core only, that's already using half a core just for that. (I'm talking about 6% with the sound enabled)
This probably has to do with that "moving optimization point" and a supposed increase in accuracy. Not sure what could possibly be done to help it, aside from dropping this "moving" thing.

Remember when Higan announced its 3.0 GHz minimum requirement? :)
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: The State of Emulation topic

Post by Xyga »

Kraq wrote:What is it that infuriates you so much?
Look I had a lot to tell here indeed but I've decided not to develop, so I wont now because someone's asking...
Kraq wrote:Sometimes I get a feeling that you have a lot of insight to share on several topics, but get irritated rather easily.
I get irritated easily indeed, in particular on topics I've discussed many times over the years to no end, really pointlessly because the same bullshit comes back over and over again to bury any criticism and counter-arguments under the ground, nothing gets through, mamedev have too many brainwashed cult followers, nothing will ever change.

Nobody should get worked up over this indeed, as it's a waste of time. So isn't it better for me and everyone else if I just stop my rant here?
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
Udderdude
Posts: 6266
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: The State of Emulation topic

Post by Udderdude »

Kraq wrote:Remember when Higan announced its 3.0 GHz minimum requirement? :)
Yes, I was going to make a Higan comparison, but couldn't really find how to put it. At least there's still older versions of MAME floating around if you really need to run it on some low-end hardware, I guess.

At this point, I'm just waiting for the day when HDD/USB drive firmware and industrial CNC machines are added to MAME. :lol:
User avatar
WelshMegalodon
Posts: 1225
Joined: Fri Dec 11, 2015 5:09 am

Re: The State of Emulation topic

Post by WelshMegalodon »

Xyga wrote:There's way too much wrong and infuriating stuff in your post that's just indeed pasta of mame's increasingly wrong schizophrenic shit that I'd only feed a stinking shitstorm anyway.
Infuriating, maybe, but I don't recall any of the relevant responses being flat-out wrong... you'll need to clarify.
Udderdude wrote:That's still pretty ridiculous considering one core's worth on my 8 thread CPU is 12.5%. I'm on an i7-2600K, which is far from crap. But if MAME is single core only, that's already using half a core just for that. (I'm talking about 6% with the sound enabled)
MAME does multi-core now. Here's some more copypasta:
Spoiler
The MAME FAQ wrote:Yes, MAME uses multi-threading to allow some tasks to be split up across multiple CPUs/cores. In addition to the main emulation thread, MAME may create additional threads for the following tasks, depending on the system being emulated and your configuration:

Up to three threads for triangle rendering when emulating accelerated 3D graphics hardware, including those 3dfx Voodoo

Up to three matrix solver threads for emulating analog sound synthesis, TTL logic, and other analog/digital circuitry

A texture upload thread when using bgfx video output (for uploading textures from MAME to your GPU)

A thread to handle MAME's output handlers and built-in HTTP server

Additional threads for OpenMP loop acceleration (requires special compile options, not enabled by default)

In pathological cases, MAME can make use of eight or more CPU cores. Additionally, it helps if you have at least one CPU core to handle the OS and background tasks so MAME doesn't have to relinquish the CPU. Note that parallelisation also increases memory bandwidth and cache requirements. MAME's working set is somewhat larger than a typical benchmark suite, or an AV compressor.
And while I've never tried it, there are instructions on the official site for compiling driver-specific builds of MAME, although they aren't any faster.
Udderdude wrote:At this point, I'm just waiting for the day when HDD/USB drive firmware and industrial CNC machines are added to MAME. :lol:
https://git.redump.net/mame/tree/src/de ... /mfmhd.cpp
https://git.redump.net/mame/tree/src/de ... /idehd.cpp

As for the latter, it's just a skeleton driver, but I found this...
Indie hipsters: "Arcades are so dead"
Finite Continues? Ain't that some shit.
RBelmont wrote:A little math shows that if you overclock a Pi3 to about 3.4 GHz you'll start to be competitive with PCs from 2002. And you'll also set your house on fire
User avatar
Udderdude
Posts: 6266
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: The State of Emulation topic

Post by Udderdude »

WelshMegalodon wrote:MAME does multi-core now. Here's some more copypasta:
Well, two can play at that game. http://forum.arcadecontrols.com/index.p ... 14412.html
Haze wrote:-mt (at least in regular MAME) simply isn't safe.

it relates to the final blit only (so drivers actually using more cores are unaffected, they still use threads for offloading complex tasks)

you'll get ugly bugs in many drivers because it completely decouples the emulation and the point at which the screen is actually updated, causing bad palette glitches, VERY noticeable on fades (eg. Rapid Hero level fade-in)

The drivers it affects will depend on your system, but in every case the effect on the emulation quality is a negative one, that's why it was disabled by default, it should probably be removed altogether.

I'd say it will negatively affect at least 50% of MAME when turned on, if you notice individual cases is down to you however.

even affects things like mk2
http://mametesters.org/view.php?id=5397

it's a broken feature, do not use it.
Maybe between then and now they fixed it, but I somehow doubt it, given that it seems like an extremely hard problem to fix (if it's even fixable at all), and all they seem to do these days is shovel more (non-working) shit into the code base.

Maybe you can turn it on a per-driver basis? I dunno, sounds like too much of a pain. Also, I'm not sure how MT enabled is supposed to help anything run better when the sound has been completely turned off and it still uses 4% CPU anyway, which is still 3.5% higher than an older version with sound enabled.
WelshMegalodon wrote:https://git.redump.net/mame/tree/src/de ... /mfmhd.cpp
https://git.redump.net/mame/tree/src/de ... /idehd.cpp

As for the latter, it's just a skeleton driver, but I found this...
Oh god, it's already too late. Abandon ship. :shock:
User avatar
WelshMegalodon
Posts: 1225
Joined: Fri Dec 11, 2015 5:09 am

Re: The State of Emulation topic

Post by WelshMegalodon »

That post is clearly talking about turning on multithreading and the like for drivers that weren't written to take advantage of it, but it does illustrate that many drivers are indeed single-thread only.
Indie hipsters: "Arcades are so dead"
Finite Continues? Ain't that some shit.
RBelmont wrote:A little math shows that if you overclock a Pi3 to about 3.4 GHz you'll start to be competitive with PCs from 2002. And you'll also set your house on fire
User avatar
Udderdude
Posts: 6266
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: The State of Emulation topic

Post by Udderdude »

You sure about that? Wouldn't turning on MT with no MT code just do nothing? Anyway, I dug around 0.193's mame.ini and it seems the "multithreading" option is just gone completely. "numprocessors" is still there, though. Maybe they decided to make it only activate when they're sure it's safe?
User avatar
OmegaFlareX
Posts: 884
Joined: Tue Jan 25, 2005 10:15 pm
Location: Virginia, USA

Re: The State of Emulation topic

Post by OmegaFlareX »

WelshMegalodon wrote:kitten made a post in the WoW thread just a few weeks ago
Sorry to derail, but there's a WoW thread? As in World of Warcraft? I thought the forum consensus was that it is bad and people who play it are bad, so I don't usually bring it up here.

e: found it. I don't normally read the OT forum, just this and the MD thread. Lots of trashing the game, just as I remember, I'll stay outta there.
User avatar
Udderdude
Posts: 6266
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: The State of Emulation topic

Post by Udderdude »

0.194 is out, Knights of Valour 3 is working. That's the last of the PGM 2 games, it seems. Now we wait for SDOJ to be included in a few years .. not that it matters much, since like other CV1000 games, it got a 360 port with better everything .. Maybe some more prototypes will be added, or they'll actually get Hyper NeoGeo 64 or M2 (giev Polystars plz) up and running.
User avatar
KAI
Posts: 4646
Joined: Thu Jan 21, 2010 5:24 pm
Location: Joker Star Galaxy, Argentina
Contact:

Re: The State of Emulation topic

Post by KAI »

good HNG64 emulation please, I've been hoping to play the 3d samshos for ages.

I would love see to a proper emulator (a la Zinc) with Namco's System 21/22 (vivanonno works fine but looks like shit) and Taito's JC SYSTEM TYPE-C before I die. So much love for the Sega racers on Nebula, but nothing for the RR and Side by Side series.

Talking about Taito, has Type-Zero's Ganbare Untenshi! been dumped yet?
Image
User avatar
copy-paster
Posts: 1683
Joined: Thu Apr 30, 2015 7:33 pm
Location: Indonesia

Re: The State of Emulation topic

Post by copy-paster »

The latest version of XM6 TypeG now has correct vsync option (previous version still has screen tearing even it turned ON), making it the best X68K emulator available.
User avatar
null1024
Posts: 3809
Joined: Sat Dec 15, 2007 8:52 pm
Location: ʍoquıɐɹ ǝɥʇ ɹǝʌo 'ǝɹǝɥʍǝɯos
Contact:

Re: The State of Emulation topic

Post by null1024 »

KAI wrote:(vivanonno works fine but looks like shit)
Works fine is a bit of a misnomer, it only works with Rave Racer and RR2.
There's like a dozen System 22 games.

On a related note, I'm remembering how much I wanted to patch out the announcers in Rave Racer -- they repeat the same lines several times in a row and don't even have cool voices, despite the soundtrack being ace.
"C'mon, drive a smart race, there's a lot of racing ahead!"
"C'mon, drive a smart race, there's a lot of racing ahead!"
"C'mon, drive a smart race, there's a lot of racing ahead!" fucking stop
Come check out my website, I guess. Random stuff I've worked on over the last two decades.
User avatar
gameoverDude
Posts: 2269
Joined: Wed Jan 26, 2005 12:28 am
Contact:

Re: The State of Emulation topic

Post by gameoverDude »

null1024 wrote: On a related note, I'm remembering how much I wanted to patch out the announcers in Rave Racer -- they repeat the same lines several times in a row and don't even have cool voices, despite the soundtrack being ace.
"C'mon, drive a smart race, there's a lot of racing ahead!"
"C'mon, drive a smart race, there's a lot of racing ahead!"
"C'mon, drive a smart race, there's a lot of racing ahead!" fucking stop
Agreed. Seriously fucking stop. It really makes no sense when it's the final lap. They should have had this line said just one time, about halfway through the first or right as you start the second.
Kinect? KIN NOT.
ZellSF
Posts: 2642
Joined: Mon Apr 09, 2012 11:12 pm

Re: The State of Emulation topic

Post by ZellSF »

Citra has had some hardware rendering improvements:
https://citra-emu.org/entry/improvement ... -renderer/
Test results across various computers show that it averages out to be a 2x speed boost.
User avatar
FabulousVioletGuy
Posts: 42
Joined: Tue Mar 06, 2018 5:18 am

Re: The State of Emulation topic

Post by FabulousVioletGuy »

https://www.hooktube.com/watch?v=pBUPtoF9ImY

Time to finally play some JSRF and NG on PC.
User avatar
WelshMegalodon
Posts: 1225
Joined: Fri Dec 11, 2015 5:09 am

Re: The State of Emulation topic

Post by WelshMegalodon »

Alpha 3 and Marvel fans, beware!
Haze wrote:...[T]he full LLE of QSound that's currently in progress currently takes the MAME requirement to a 4Ghz i7. There are optimizations to be had, but proper emulation is costly. That might sound silly as most people would consider CPS2 emulation to be lightweight, but the DSP that does the QSound effect is actually about 10x more powerful than the rest of the system and doing low level emulation of it is no easy task.
Indie hipsters: "Arcades are so dead"
Finite Continues? Ain't that some shit.
RBelmont wrote:A little math shows that if you overclock a Pi3 to about 3.4 GHz you'll start to be competitive with PCs from 2002. And you'll also set your house on fire
User avatar
Udderdude
Posts: 6266
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: The State of Emulation topic

Post by Udderdude »

Well, thankfully there's a billion working CPS2 emulators that don't require an expensive CPU.

And for some good news, Taito c-chips are being dumped. This means Operation Wolf (and others) will be correctly emulated, finally.

https://mamedev.emulab.it/haze/2018/03/ ... -c-inside/
User avatar
soprano1
Posts: 3029
Joined: Wed Sep 18, 2013 4:44 pm
Location: Portugal

Re: The State of Emulation topic

Post by soprano1 »

WelshMegalodon wrote:Alpha 3 and Marvel fans, beware!
Haze wrote:...[T]he full LLE of QSound that's currently in progress currently takes the MAME requirement to a 4Ghz i7. There are optimizations to be had, but proper emulation is costly. That might sound silly as most people would consider CPS2 emulation to be lightweight, but the DSP that does the QSound effect is actually about 10x more powerful than the rest of the system and doing low level emulation of it is no easy task.
You should post that quote on the it made me smile topic. :lol:
This is reaching byuu levels of ridiculousness.
ChurchOfSolipsism wrote:I'll make sure I'll download it illegally one day...
User avatar
TransatlanticFoe
Posts: 1736
Joined: Mon Jan 24, 2011 11:06 pm
Location: UK

Re: The State of Emulation topic

Post by TransatlanticFoe »

Udderdude wrote:Well, thankfully there's a billion working CPS2 emulators that don't require an expensive CPU.

And for some good news, Taito c-chips are being dumped. This means Operation Wolf (and others) will be correctly emulated, finally.

https://mamedev.emulab.it/haze/2018/03/ ... -c-inside/
I assume this is why we're missing the Jungle boss and WARNING! stages in Operation Wolf? Great if that's the case!
Post Reply