David Haywood's Homepage
MAME work and other stuff
November 26, 2018 Haze Categories: General News. 38 Comments on SSV Improvements Part 2

Another feature of SSV is the ability to disable certain bitplanes on sprites. The driver implemented this to switch between 6bpp (64 colour) and 8bpp (256 colour) sprites, pre-decoding the tiles in both of these formats. The actual hardware is much more flexible than that however as you can disable any 2 bitplanes, and it turns out Eagle Shot Golf was making use of a different, previously unsupported masking combination for the ‘Birdie’ and ‘Eagle’ text at the end of holes, which was causing Japanese characters to appear over the text. Presumably Sammy did this to save memory, and if they want to display the Japanese characters different bitplanes will be enabled (the set we have seems to be a US set, so there’s no Japanese text used to test that side of things)

Here’s what it looked like before.

Eagle Shot Golf Eagle Shot Golf

and here’s how it looks with the fix.

Eagle Shot Golf Eagle Shot Golf

This was a much easier fix than the previous ones, however there must be some kind of global enable / disable for the feature, as while it’s explicitly needed by Eagle Shot, a few other games dislike it. Like the others, this bug has existed in MAME since the game was added (0.75, from 12 Oct 2003 – 15 years ago)

Again, this is likely to be in the end of December release (0.205) as the deadline for the end of November release on Wednesday has already passed.


You can follow any responses to this entry through the RSS 2.0 feed.

Glad to see this Fixed Mate.

Tad Sad have to wait for end of December for Fix but at least it has been fixed

Well once the pull request is accepted then if you compile a nightly build of MAME yourself you’ll have the fixes. (I wouldn’t recommend finding one elsewhere tho, the people packaging them tend to make a mess of it, leaving out important support files or shipping with outdated ones etc. which can cause MAME to malfunction)

no offence to the xavix stuff etc but this is the kind of progress that i personally really like so good stuff,haze
i know recently there have been audio / gfx improvements to the psx / zn stuff (psyvariar etc) but a couple stages in tenkomori shooting (awesome little game,btw) are still showing weird / incorrect effects (blue flames in this case)
i made a video , maybe it will be useful someday

The XaviX stuff is far more interesting to work on tho, and far more in need of preservation, so a higher priority.

This is a fix that anybody could have made without much effort.

just my personal opinion,of course
it goes without saying that you’re free to work on whatever you want considering it’s your time / knowledge / etc
but not many people are fixing stuff stuff in obscure drivers from company like jaleco,seta,etc..actually,pretty much only you and kale
and kale is currently kinda busy last time i checked :O

I’m sure he’s well aware that most users would be happier with better emulation of popular games than any emulation at all of irrelevant stuff from a “gaming”/historical point of view. But it’s his motivation what matters and we only can be thankful for whatever he does. Said that, it’ quite sad indeed reading that, for fixes likes this, “anybody could have made without much effort”. So as I said elsewhere, maybe we can give him/MAME Devs another motivation –which can hardly be tiresome “code begging”–, namely “a bounty”, which they really deserve after all these years, on the other hand. It seems it worked once at least:


And that was just with one “backer”.

The Bountysource thing is actually a mess, since they only pay out if you have a US address, and tick the ‘I am a US Citizen’ box, even if it doesn’t seem to make that clear until the very end. Since I worked on the fix with another dev who was actually US based I ended up letting them claim it instead. Anyway, MAME prefers *not* to work with that approach, and I consider it to be a really bad one for emulation in general. Paid work tends to result in ‘cheap hack’ fixes to meet a goal, not proper code. If anything seeing how much money some projects are making really makes me hope Nintendo etc. take them to the cleaners, that’s not what emulation should be about at all.

Its far better (from my point of view) if people can collectively throw together the odd $100,$200 when we need some physical hardware (eg. the recent collection for the e-kara carts) rather than throwing $30,000 a month at people just to write code for enabling easy piracy of the latest Nintendo games via an emulator when you can still buy them as new in stores. Money going into pockets isn’t especially useful, money that buys things that are needed, however uninteresting they might be, makes much more of a positive difference. There have been a whole bunch of video slots on ebay recently, even very recently priced ones, Dyna originals, IGS originals we could do with so that internal ROMs can be extracted, but it’s literally impossible to scrape together funds to buy them because enough people actively DON’T want them to be emulated that they’ll withhold donations if they think that’s where the money will be spent. I suppose if I was being paid, then yes, I could decide where the money was spent instead, but that just feels dishonest to me.

In the case of the CPS3 bug, I was already looking at the issue, so wasn’t really left with much of a choice but to accept it so that nobody else claimed it on the back of the work already being done. There’s actually another CPS3 bug that I want to address, and all this Seta work actually ties to that anyway since CPS3 seems to be basically have the same originals as the Seta hardware as far as the video system goes (most concepts are very similar, if not identical in places)

For this bug with Eagle Shot Golf, the actual source file already documented what was needed in the comments (although the actual implementation doesn’t quite follow those rules as there seems to be a special case) so it was even known what was needed, just nobody had hooked it up because it was thought that no game needed it. There are likely a lot of ‘low hanging fruit’ like this left in MAME if people find them.

Anyway for now, let’s see if I can improve seta2.cpp a bit too.

Haze, I agree with you, but regular people really do like the games they want to work to be fixed, and they think money will help. But, yeah, people with your skill obviously have highly skilled high-paying jobs (probably as senior developers), so it won’t push things to getting done. I think donating hardware is a great idea. Can you maybe write your personal roadmap/things you want to do list, maybe of 20 items? And maybe a simple and short list of hardware you want donated? I know you like Korean things, but no idea what your most desired PCBs are.

If someone donated your most wanted PCB, it’d probably get emulated quickly by you.

Honestly, I’ll probably be lucky if I’m even working in a supermarket within the next few years.

I’m more into the game mechanics and experience side of things; there are so many games I look at and fail to comprehend from either a design or programming point of view how certain things were allowed to happen, or coded so badly that they could happen. That’s where my interests are, but since I’ve always done bits of programming (especially MAME) I usually get people interested in offering me primarily programming positions, but then backing out when they find out my knowledge of all the latest language features etc. is lacking (and it’s lacking, because while I can program, it’s not really what I’m passionate about)

Even when emulation work comes up, it’s often on the edge of suitability, or people wanting to use me as leverage because they think it’ll get them permission to use older versions of MAME (it won’t) Now and again something good will come up, and will pay well, but such work is usually in short bursts.

The £120 I put towards e-kara stuff recently was more than I’ve put towards most emulation things, because I know I have to try and save whatever I’ve got at any given time because I never actually know where my next source of income is.

So yeah, don’t assume that just because I’ve been doing this emulation work for 20 years, and to many people I’m an expert in the field, means it in any way reflects on my ability to actually be successful in life. I can work well in the right environment, with suitable tasks, which is something MAME presents, outside of that I struggle for various reasons.

At the moment I have quite a strong interest in getting a lot of these Plug & Plays emulated, it seems, especially in Japan these things became popular, and never really lost popularity, so there are an absolute ton of them that seem to have completely escaped the eyes of emulation until now. There are also other projects in the pipeline, incog has said at some point he’ll get a Casio Loopy to Peter and co. so I’ll likely work through the emulation of that with them (get the internal BIOS ROM etc.) I’m aware that none of that is arcade work, but that’s where my current interests lie. There’s a story to be told, and MAME is a good way to help tell that story; I find it fascinating to see where various popular IPs have been used etc.

Most of my work cycles around looking at certain things tho, at the moment the Seta stuff (which I’ve never really spent much time with) is in focus, because it’s been over a year since Luca did much, and given how long they’ve have incomplete emulation in MAME I figured it was time to start doing something about it. I’ve figured out quite a few things with the ‘seta2.cpp’ platform now too, so that should improve soon as well. I made those Hyper NeoGeo improvements earlier in the year, I guess I’ll cycle back round to that at some point too. We’re lucky in many senses that these days there are a lot more original hardware reference videos available than when we started, and things like that are often very useful.

Thank you for writing what you wrote; it was quite interesting and personal.

I am surprised by what you say about yourself and money and your career. I’d just assumed you were a well payed programmed. So, you said you work in game mechanics and the experience side of things; so you’re in the game industry?

I’m interesting by the Japanese stuff tho, but none of us live in Japan, except Shoutime, maybe someone else. I know there’s bad history with Byuu, but he just moved to Japan last month for work.

Casio Loopy is intriguing; I never knew about it. I’d be interested in seeing its limited gamebase emulated.

Just to add, I was always fascinated by computers and technology, and even wrote a very annoying batch script when I was 13 and got suspended from school for tricking the librarian into running it on the library network; if you want someone to open a virus, call it ‘DO NOT OPEN’.
But due to being emotional, I ended up rejecting my physics scholarship and did an overpriced film course. Then due to caring about children and hating every kid’s book I read except ‘The Little Prince’, I ended up pursuing a failed career in writing.
Anyway, I’ve always loved reading technology, and I constantly say ‘I’m going to learn this new programming language’, but I never know when. So I like reading developer blogs of many projects on the internet, and yours is a fantastic blog. I hope one day to be able to support Mame in money and hardware, just not sure when. Worth noting, is the way you write detailed blogs and post images and keep us all uptodate is appreciated.

(just visited reddit and saw that thing:) Hail ShmupArse! So, how do you enjoy post-truth era Haze? *grin*

PS: congrats on the ssv improvement

Yeah, I’ve mostly done bits of work on games, often unaccredited, because the industry is like that, plenty of stuff unreleased too because in the end licensing deals fell through etc. which is frustrating. MAME I guess is the thing I will end up being remembered for doing. Since I exhibit many autistic traits, and struggle a lot as a result, I do find my options limited. The upside for everybody here is I guess if I was more successful I’d have less time for MAME, so a lot of the things you’ve seen me do over the years might not have happened at all; I think people underestimate just how much work goes into the project. If I was less clumsy etc. however I might be more self sufficient and able to do work with the original hardware, electronics etc. on my own, which might have resulted in more progress; instead I have to rely on other people to help with that kind of thing (which is the role Peter etc. are fulfilling at the moment, but it’s not quite the same as being able to do it in person) In the end, I am who I am, and the results are what you see, in the right position I can do good things, but finding the right position in life is more difficult than finding the right position in MAME.

Shoutime, yeah he’s one of our only contacts in Japan with the capacity to work out the logistics for things, unfortunately due to the actions of others that may not be the case for much longer. Byuu has never really had much to do with MAME (there are a few CPU cores of his, that’s about it) so asking him to help out with things just seems a bit rude.

Re: “ShmupArse” yeah, well I’ve said my piece about that, would be nice if people concentrated on doing things properly, but we already know their background of overselling features which have high user appeal, but are overall damaging, I still consider the project from which it derives to be a problem and something that we can’t allow to derail the efforts to do things correctly.

In general these obscure systems are of interest, because to me MAME has never really been about playing the games, it’s more about creating an understanding of different pieces of hardware etc. While MAME is never a replacement for developing with real hardware, by documenting obscure systems we give people who want to develop for a piece of hardware a good starting point for understanding that hardware (with the hope that if they start doing something with that hardware they’ll feed the improvements and their own findings back to MAME) Personally I’d love it if somebody started creating native ports of a classic arcade game (say Pacman) to every obscure architecture under the sun (of course, not every architecture is suitable) I’m fully aware that the Loopy is basically junk, a system targeted at a female audience, from an era when the world thought that all girls would want to do with a computer / console is print out novelty stickers. It still looks like an interesting architecture tho. Super A’can is another I’d like to improve, but again I’m pretty sure it will need hardware tests to get to the bottom of all the features, and it’s becoming horribly expensive for what it is.

By the same logic (playing isn’t the most important part) some of the stuff I’d most like to see found again is not stuff I want to play, but stuff I fear is in genuine danger of being lost forever (eg. the IREM ‘Green Beret’ game, which is very rare, the only known dump is bad, and the only recent showing of it was apparently trashed by somebody because they thought it was just a bootleg of the common Konami game and didn’t even bother to power it up) It’s a similar reason I’d like to see the various video slots games emulated, not because I want to play them (I don’t) but because I know how much people hate them, a lot of them will just be trashed when they don’t sell.

But yeah, when people say what we should / shouldn’t be working on, they really need to understand that what motivates / interests developers here is likely very different to what people seem to think should interest developers. The common / popular stuff is typically the least interesting.

When I see bad hacks and mods that ‘fix’ stuff the wrong way and people who don’t see the potential issues I despair, yes, sure…
…but every time a dev writes his thoughts on MAME saying things like “MAME has never really been about playing the games”, it is the demographics of games loving users who despair even more, it is why legit MAME’s dying in their hearts (assuming they’re much still looking this way) and why the bad alternatives prosper.
Tech/dev fetishes and fantasies have nothing to do with common people and their relationship to games, your/mamedev’s mistake to believe it was right to shape MAME to attend PRIMARILY to your demographics idea, interests and perception/opinions, leaving the gamer side’s at a much lesser level of importance.
Games to begin are made by people like you but not FOR you, because devs and techs reality has nothing to do with end user’s.
Maybe people shouldn’t tell you what to do and work on, yes because this is indeed your hobby, but your deformed vision of the reality of gamers and their relationship to games doesn’t give you more legitimacy for constantly criticize their arguments.
A project to preserve games making them digital pieces of museum with playability considered only secondary and left out of the definition of preservation was always your weird twist choice.
People who request and wish playability fixes for those massively loved ‘common popular’ games that still have (sometimes very long standing) remaining issues, aren’t bad or ungrateful or whatever, it’s you/mamedev’s often twisting their motivations and I think purposedly aaplying that vilification of them because it is more convenient for you to make them look like bad people rather than admitting that their requests are legitimate, that as people playing video games they’re asking normal things.
You’ve worked all those years on emulating what were once in the past and still today hugely popular public and famous games that common people enjoy even today, normal people who were/are never all millions of technicians and developers, and all that time you were expecting them to think like you with your specifics and no longer like normal people just enjoying games anymore?

Just to make thing clear: tons of games in MAME are very well playable and smell of perfection playing, I’m not here saying MAME’s a failure, it’s a fantastic achievement and a gift to humanity, but you won’t change that some games among the multitude have always been immensely popular and it was expected that those were the ones people would come to ask you to make them play the most accurately possible, that the controls respond swiftly for them to play intensely, or that they look close enough to what they remember.
So if issues remain with those of course they’ll keep asking over and over, they’re not bad or evil motives, it’s legitimate they ask you, what did you expect? that they’d forever congratulate you for leaving those things unfinished and instead push MAME’s efforts in the direction of emulating obscure stuff they’d only consider for the electronics recycling dump?
I don’t mean that you shouldn’t do what you like, but not considering these people’s understandable expectations for 5, 10, 15, almost 20 years in cases and being offended that they’re sometimes not happy because of these endless sticking points, makes me wonder in what alernate dimension you’ve been floating all this time.
Was it so gut-wrenching and personal-offending to all mamedevs to consider these things important and that it’d be good to keep people’s opinion of MAME the highest by using your strength to deal with and be done with those issues earlier, and at the same time cut the grass under the hacker’s feet?
Frankly it’s a lot your fault if you guys never considered vital that MAME should remain considered the reference emulator for popular arcades considering their enormous popularity, and persistently ignoring that for so long it was fatal that an increasing number of users would sigh, shrug, and turn to the bad alternatives, and worse: as it is today, not even give the single first look at MAME and go directly to RetroArch n’shit.

I think it’s more that you’re twisting what I’ve said.

I said those things don’t motivate the devs. If anything I’m put off working on things that are overly popular. I prefer to work on obscure things, there’s more to discover.

20-30 years from now MAME’s success won’t be measured on the things it emulates that can still be easily found elsewhere and would still be easy to find even without MAME, but instead the things that it has saved or help people save from said recycling dump. It will be judged on the knowledge it has kept alive. This is a long term project.

The work I’ve done on better known platforms like CPS3, Kaneko’s Supernova, Psikyo’s SH2 hardware, Sega platforms like C2, IGS’s PGM1, PGM2, Cave, Toaplan etc. is among the work I personally value the lowest. There were interesting aspects to working on each of them, but they’re popular enough that even if I hadn’t, somebody else probably would have. Improvements I made to things like Data East Cassette hardware, or the recent Gaelco work I value much more highly because those platforms contain significantly ‘at risk’ titles (It makes me sad that absolutely no new Data East Cassette things turn up last year, because if you include regional variants there’s still a ton of missing stuff there)

I’m not twisting I understood you well, I’m saying your interest and focus as you describe it is completely the opposite of what people have always liked and expected from MAME. Reading that mame devs have no interest in what we love and came to love MAME for to begin is crushing.
I think you’re wrong, nobody will pay attention to MAME being a various electronics garbage salvaging library growing for decades in place of the reference arcade games emulator everyone pictured/hoped for continuing to evolve into until the important popular games emulation become perfected.
If this goes against what you want then yeah we can only sigh and shrug, you know you may think people are impatient and ungrateful but not they aren’t, it’s just that for things like that they’ve already been very patient and understanding, but they’re human, decades and then more decades announced for which devs tell you there is no interest and therefore these things might not budge anymore is just too much. Compared to the massive numbers of people which interest is playing games (which is natural), those like you with a fascination for what you describe exist only in small pockets or skilled geeks thinking in a logic that’s mostly alien and odd to the crowds of players.
I don’t think anything I say will reach you, but seriously if you never realize that turning your back on the world of gamers and projecting to continue to do so for decades is like sentencing MAME to oblivion and leaving all the space and future to RetroArch or potential similar projects, then there really is no hope, in fact I think it’s already mostly too late.
Today mamedev’s kind of like an autistic government that doesn’t listen to his people, pisses them off over and over until the day nasty populists push them on side and grab power for the worse, and yet that clueless defeated governement will never reflect and blame the people for the disaster.

The thing is, MAME is the only tool most people have to know (play) many of the most pivotal and interesting pieces in the video game discipline, be it the point or not. In our days. And doing it in a half-baked way is not helping the Discipline (I hope you don’t mind the capitalization), and most likely, neither MAME itself, since the money is going to projects like Retro Arch.

This everlasting dichotomy (devs-users) should end at some point, and, as I said, money is the only thing which can make it possible. It’s the only actual motivation the users can give to the devs. Forget Bounty Source. Forget that the income may go to “piracy” efforts or dirty hacks, please. It should be obvious that there are ways to fill your own pocket for doing just what you are already doing. If you had a “donations” button or a public Paypal account, I would have already thrown there half the costs of your recent E-Kara acquisitions just because I need a better way of saying thanks particularly for the fixes you just made on the SSV driver and with the hope you keep doing stuff like that. It’s a very small amount, but I’m sure I’m not the only one willing to do it.

In cases especially like yours, I don’t see why you cannot understand it like a paid job so that it can buy you the hardware or whichever you need to also emulate the stuff you’re really interested in, while you also keep workin’ on it, separated as a hobby thing. Check the people’s interests. Place there a sum enough to motivate you to fix particular things that also bug you in some degree, like say, Revenge of Death Adder’s light/fade-out effects or improve/finish long-forgotten drivers such as “rabbit.cpp”. Reasonable stuff, not “unaffordable” tasks such as CV-1000 slowdowns or CP-S wait states (which, you never know — it may also be worth asking). Start a Patreon account.

MAME gets better (most likely, with some money it would have gone otherwise to Retro Arch), the Discipline is better told, and you get a job until something better calls your door, which I’m sure it will.

I don’t believe I’m twisting I understood you well but you don’t see it, I’m saying your interest and focus as you describe it, is completely the opposite of what people have always liked and expected from MAME. Reading that mame devs have no interest in what we love and came to love MAME for to begin is devastating.
I think you’re wrong, nobody will be enthusiast about MAME being more and more a miscellaneous minor electronics salvaging library growing for decades in place of the reference arcade games emulator everyone though it was/hoped for continuing to evolve into until the important popular games emulation become perfected.
If this goes against what you want then yeah we can only sigh and shrug, it’s your choice. You may think people, common users like me are all impatient and ungrateful but not they aren’t, it’s just that for things like that most of our audience have already been very patient and understanding, but we’re human, decades of patience in cases and then now more decades announced for which devs tell you there is no interest anymore for what we like and therefore these things might never budge to the perfected state we hoped for, is hard to swallow..
Compared to the massive numbers of people which interest is playing awesome games (which is natural), those like you with a fascination like you describe exist only in small pockets of obsessive collectors, occasional nostagics, and skilled uber-geeks thinking in a logic that to the common player’s p.o.v is mostly alien and odd. In short what you value the lowest is what we value the highest.
I know you’ll brush away my arguments like dust and for you I might be yet another annoying jerk user, but seriously if you never realize that turning your back on the world of gamers and projecting to continue to do so for decades is like sentencing MAME to oblivion and leaving all the space and future to RetroArch or maybe other similar projects, then there really is no hope for our side, in fact I think it’s already mostly too late.
Today the vibe mamedev gives is kind of like a government isolated in its bubble, not listening to the people, reform after reform letting them down on some longstanding important sticking issues, too long, until the day nasty populists rise (RA, shmupmame/shmuparsch, Pi shit) obsolete that gov and snatch power for the worse. And yet that clueless defeated governement will never reflect on itself and blame only the people/gamer-users for the disaster.
I’m done with the dystopian scenario and done polluting your blog, I know I’m brutal and such brutality is impolite, but hardly any points of criticism from outsiders ever reach mamedev, so ramming through and alea jacta est is the only thing left. But your mistake if you think that scenario is sci-fi.

I’d say that the problem with things like RA, people running on the Pi etc. is that they’ll do *anything* to compromise their own integrity in terms of emulation, in terms of what is morally right / wrong etc. in order to gain an edge, and yes, plenty of people are behind that. We don’t want MAME running on current systems where you need to jailbreak them, we don’t want to compromise emulation quality to run on a phone (many users are probably going to *hate* these SSV changes and still insist the old versions are better simply because the performance requirement is now higher.) We don’t want to maintain stacks and stacks of hacks just to have higher resolution rendering, etc. We don’t want to convert to a ‘dll loader’ based system so we can have a completely incompatible mix of code that can’t work together, and often isn’t even license compatible, but instead confuses (and intentionally hides) the license for each piece of code from the user. We don’t want an unmaintainable mess of code just to support every possible incomplete / broken version of a ROMset from past versions a user might find. We’re not adding features which amount to cheating without telling the users that they’re cheating and trying to hype them as the next coming of Christ or whatever, and finally we’re not adding features that tie emulation to a specific OS / Architecture and aren’t really emulation at all (eg. ‘loaders’ for current games)

The areas that matter to users in that sense are not areas in which MAME can compete. Remember, RA emulates *nothing*, it’s not an emulator, it’s a glorified frontend that leeches off other people / projects and uses layers of hacks to ‘give people want they want’ I’ll acknowledge that not doing some of the things listed above is pushing people towards other such solutions, but doing most of them would not be a positive for MAME either.

MAME isn’t that, MAME has survived for near 20 years specifically by *not* being that, and insisting on doing things correctly. The problem is now there is a big enough pool of ‘mature’ open source emulators that means their leeching works, and frankly they don’t care if one emulator dies because they’re going completely against the wishes of the author, they just pull in another, while at the same time taking emulation nowhere good.

Also, another thing to look at in terms of motivation is how, even to this day, people are insisting that ‘old versions of MAME’ are good enough (because they ‘play just fine’ even if they are riddles with glitches) and new versions are ‘worse’ because they have higher requirements (which is often the result of fixing said glitches) There’s a pool of users that would have us port everything back to MAME 0.90 or similar and not even care if it runs properly, and has more glitches in that version; that pool of users is possibly bigger than the one that actually wants to see improvements. I’ve had it said to my face before that changes like the ones you see here for SSV are just as worthless, if not worse than the Tiger handhelds, because they’re just effects that don’t impact playability and are making the emulation more demanding. There improvements are even ones that actually make things look better, once we start emulating interlace modes properly rather than pretending the systems have double the fillrate and double sized framebuffer RAM I imagine it’s going to end up with even more hate but one day we’ll have to.

Essentially we have to ignore that group of people as what is being demanded is the opposite of progress, but it’s also only natural for developers to start to have other interests when no matter how much they actually improve a driver (and believe me, a LOT has improved) you have so many people still insisting that a 15 year old version is superior and the world would be better off without their fixes. The dev team have taken a fair bit of abuse over the years just from actually improving things, and will take abuse *whatever* they do, so it kinda makes more sense when focus changes to things individual developers care about instead; systems less people are making use of. One of the reasons I’ve been pointing out with these updates exactly how long the bugs I’m fixing have been in MAME is to make people aware of how things are improving, and just how long certain things have been incorrect.

There’s always going to be some level of disagreement, it’s expected. Opinions are going to differ, motivations are going to differ, there will be users with different opinions to yours, devs with different opinions to mine. There are many factors in why things are as they are today. I guess just be glad I am finding the interest to fix bugs in things like this, but also be aware that the only reason I’m getting around to fixing bugs like this is because working on things like XaviX / e-kara has allowed me to actually *enjoy* doing emulation work again for a bit. Adding raster effects for XaviXtennis and some of the others made me think how I could really look into adding similar here. Allowing devs to work on what they want is important for reasons even beyond the obvious ones. When I’m not enjoying working on emulation in MAME you tend to simply see no progress on anything. When I’m enjoying the work, the work tends to branch out into other things (in this case, the changes I’m showing here)

Regarding money, I just feel that once you start asking for money you’re painting a target on your head. That’s why if I do ask for donations anywhere it’s for a specific goal (eg. buy e-kara cartridges) and doesn’t come to me directly. Yes, I see it’s become all trendy for emulation projects to start taking money for writing actual code, but MAME simply isn’t one of those; if anything it’s rather disrespectful to all those who have developed it for free over the years too eg. with SSV here, Luca wrote the code years ago, and I’d say did about 75% of the work on the driver prior to me picking it up, why should I be being paid just to fix a bug in it? It’s a poor pattern to start following as it takes money away from where it’s needed, and if it becomes normal for people to *expect* to be paid for writing emulation code that’s not going to help matters at all as it becomes something else you have to factor in, in addition to the actual cost of materials etc. Money also leads to expectation, and for that reason I don’t like asking either. There are plenty of people in the scene who will ask for money, promise you the world, and not care if in the end they can’t deliver (see all the Kickstarter crap) but I’d prefer to be sure first, so that I’m not leading people on with empty hope. I’ve already been told that I emphasize the negative of Caps0ff not making any promises of success too much for example, but to me, if people are donating chips and money they have to be aware there is a chance of them being destroyed with no result simply due to the process involved. It’s essential work, and your stuff is in the best possible hands, but it’s still high risk. That’s probably just down to who I am on a personal level tho, I don’t like to be costing anybody anything or inconveniencing them.

The irony is there are still quite a few who accuse me of being a ‘rockstar’ developer, only working on what I know is going to bring in the crowds, doing all of this for fortune and attention, hogging the opportunity to work on popular systems etc. Still not really sure where that comes from, I just work on whatever interests me at any given time based on what is available to work on be it mundane bugfixes, previously unemulated systems, good games, awful games, obscure handhelds, code refactoring, revisiting older drivers be they my own or others in light of new evidence etc. Naturally the course of that has led me to work on the emulation of a lot of popular things, but I can still look back and reflect on what the most rewarding discoveries actually were.

good reply,recapnation
i have been “following” mame since 1997 and while,luckily,this is no longer a fashionable or cool thing to say , i remember the era where the typical reply to a simple question about a game (specially if it was a popular one or a desirable fighting game) was “romz kiddies” , “because you asked,i will no longer work on it” or “you’re not really supposed to play games in mame”
i always thought that was a bit sad and cringeworthy
the saddest part was the lemmings that started repeating those things to appear cool in front of the mame gods
if you don’t want interaction with the plebs who want to use mame and play games , don’t open personal blogs or post on public forums etc
having said all that , haze – you’re cool as hell for everything you have done so far

Im going to refrain from making the usual criticisms of the current MAME builds which in turn prevents us from going over
all the usual arguments vs older cores, all i’ll say is you created the monster so to speak by your pointblank refusal to listen
to the needs and wants of your userbase which are as varied as the number of games MAME supports, it’s no wonder some
then choose to use versions of MAME you disagree with.


The ‘needs and wants’ are entirely unreasonable and contradictory to progress, that’s why. Unreasonable demands and expectations just get ignored and drive the project in the opposite direction. You can’t have good maintainable code that encourages development, accurate emulation *and* have things running on $5 hardware. Every time I see a post saying “we use old builds because Mamedev didn’t do what we wanted” it’s full of entirely unreasonable things and shows a complete fundamental misunderstanding of how development, and often emulation itself, works or has the equivalent of xenophobic undertones towards certain systems etc. MAME would have been stone cold dead and unable to progress 15 years ago if we followed most of those demands, development by telemetry (aka what people use / want most) is fundamentally flawed, even moreso with a project like MAME where the most important parts are often the things nobody cares about. The old versions are shit, pure garbage from both a coding point of view, and an emulation point of view, just because they’re ‘needed’ to run on hardware people really shouldn’t be running MAME on doesn’t make them any better, or even ‘good enough’ as I’m sure the series of updates I’ve done recently shows.

MAME does have a problem with a small segment of the userbase being very toxic however, even when we have features in there that are explicitly there to improve user experience, *help* people and prevent false bug reports, some clowns think it’s good idea to strip them out, and thus give a bunch of unlucky people a worse experience where they have no idea if what they’re running is meant to work or not. Against such things MAME will make a stand, and the more aggressive people are about it, the clearer it is that we need to continue to make a stand. Most of the demands seem to be coming from that small, but toxic segment, and are thus entirely ignored at this point. We don’t *want* those users, they’re as bad to MAME as pirates are to game publishers posting on official support forums demanding to know why cracked versions of games aren’t working properly etc. Luckily, RA has taken some of that userbase, it’s about the only good thing I can say about it, it’s a magnet for toxic users, so we get left alone except by the most heinously toxic of them who use RA then report bugs back to us that have either already been fixed for 15 years, are caused by RA’s shitty implementation of MAME, or they should have already been aware of, but weren’t due to RAs complete lack of user friendly communication regarding what is expected to work and what isn’t.

For the other post, we still say things like “you’re not really supposed to play games in mame” (not paraphrased in that exact way, but still with the same base meaning) I wonder at what point people will actually start to accept it as the truth. Isn’t the fact that we’re emulating random bits of electronics that literally *cannot* be played just the slightest hint? (and before that, the fact that we’re fully including in the sources things where the emulation is entirely incomplete for others to pick up and work on, or things that have no chance of being playable in the next 30 years) We’ve said it in the past because it’s true, it remains true today, the ones repeating it are the ones who actually understand that. MAME is primarily a research project, always has been, just because some have taken to view it in a different way doesn’t mean anything.

I’ve still no idea what anybody hopes to accomplish by this tho, all it’s doing is making me regret even looking at this Seta stuff, and wishing I’d just stuck to working on XaviX for a bit longer. It’s served as nothing but a reminder as to why I’ve generally moved away from the arcade side of things as that seems to be by far the *least* understanding and *least* supportive of the usergroups. The people interested in the more obscure, random things seem a lot more supportive and excited to see ANY curiosity reverse engineered, figured out, or saved from the recycling plant; it’s much more encouraging, open minded and a lot better for my own mental health to be working on that kind of thing, not trying to appease a crowd that will never be happy unless I’m doing exactly what they want, often to the detriment of the project and to me.

As for MAME itself, the balance has never been better, it’s actually overall fun to work on at the moment, which is something I’d not been able to say for many years prior to the current direction gaining momentum. It’s great to be able to work on things I enjoy, there’s more talent on the team than there’s ever been, and a lot of things that were once thought to be impossible are now being done, breaking all expectations anybody could have had. The project has never been healthier, and a lot of the real potential that’s been building over the years is starting to show some encouraging results across the board. The state of things right now fully justifies the majority of design choices that have been made across the years; there aren’t many other 21 year old projects that still get as much done every month as you see with MAME.

See guys? no matter what we say it’ll be remodeled and altered to fit this wtf out of this world narrative, mame devs are floating in a dimension far away from reality. Makes you wonder who are the more toxic to arcade emulation, the RA/Pi-like bunch or mame devs themselves. Ironically they’re kind of two extremes believeing they do the right thing while not realizing they’re working together for its doom.
Oh God this is too sad, I’m out of here.

but,haze,people are just having a (very civil) discussion with you about these topics and we’re all praising you for what you always do (arcade side of things or not)
[and,btw,1)i don’t mind at all mame emulating other non arcade stuff 2)higher cpu requirements because of fixes are super welcome and 3)i am never going back to older versions or plan to touch RA at all]
you gotta admit it’s kind of hard to communicate when even a very civil discussion triggers this type of response
“I’ve still no idea what anybody hopes to accomplish by this tho, all it’s doing is making me regret even looking at this Seta stuff, and wishing I’d just stuck to working on XaviX for a bit longer. It’s served as nothing but a reminder as to why I’ve generally moved away from the arcade side of things as that seems to be by far the *least* understanding and *least* supportive of the usergroups”
i am sorry if something i said trouble you and,believe me,we all really appreciate what you and the others guys do

Identifying the users who stick to old versions or non-recommended hardware and reject any progress, and are so “vocal” about it, with the users who indeed get excited every time progress or fixes are made (and therefore, are silently sad for so many long-forgotten things), be it arcade-related or not, is a mistake no matter how you see it, though.

Yes, it’s a civil discussion, but some of the points being made, not necessarily by you, are just reminders of the problems. We’re already back to people trying to claim that the old versions are better, despite every single piece of evidence showing they’re not, just some users who can’t understand that the focus isn’t them.

The post slamming MAME developers for ‘not listening’ is really an example of that, a lot of the arcade scene expect us to do *exactly* what they want, or we’re accused, like that, of not listening, of living in our own world etc. just because we say what’s being asked is unreasonable, or damaging. It’s the kind of scene the demands 3D acceleration support, but then when we consider how we could use 3D cards, which will likely require DirectX 12 to interact with the hardware in a way we can leverage meaning such features will require a modern OS, and thus they still attack us because it’s not 3D acceleration in the way they meant (ie, trying to remap everything to WinXP era 3D APIs, which is never accurate, rather than using the power of the cards to aid in the rendering calculations) It’s much easier for them to scream ‘not listening’ than realize what they’re asking is problematic at best.

The dev team very much *do* listen, but that doesn’t mean they can bend to the will of demands that would not be good for the project just for a short term benefit to a small group. The narrative of this conversation quickly turned to ‘but if people pay you, you’ll be motivated to work on what they want!’ to which the answer was also ‘no’ which again will no doubt be filed under “MAME developers don’t listen”

If people want to contribute, then sure, I’m happy to mention when things need buying, but at the same time, give absolutely no promises of progress, because most of the time we’re working with unknowns which is one of the main reasons why this is a research project; it’s like science, you don’t know what the results are going to be until you’re actively working on something, trying to discover how it works, some things that look simple can turn out to be *years* of work to properly understand. We’re talking maybe 100-1000x the value of most of the ‘bounties’ people offer in terms of real work hours put into any given task, and even then with no guarantee of success. The amount of work in MAME absolutely dwarfs single system emulators where there is literally one thing to reverse engineer, assuming they don’t already have documentation, and that apparently is worth $30,000 a month even if emulating currently platforms is a *terrible* idea,that ends up with a lot of unwanted attention on the scene and massive amounts of resentment from the publishers and developers who will be more inclined to try and push for laws and technology that does make emulation impossible.

As I said, it’s a small segment that is toxic to the project, I’m sure there are plenty who do just appreciate the fixes. I also apologize if you don’t really like the defensive stance, but it’s simply how I feel about things after having taken abuse from people for doing this over the course of 20 years, because some groups of people simply can’t accept the way things are going, or respect basic wishes when asked to not do certain things that haven’t been helpful. There’s simply less baggage involved when dealing with the other areas the project is interested in.

You’re blatantly deforming what we say, out arguments and motivations, it’s crazy. No one came here asking those unreasonable things, we’re not the RA/Pi bunch nor asking 3D acceleration or whatever like that.
Obviously you’re not listening and/or deliberately eluding our sentences. But I’m starting to think there’s someting more worrying behind this sorry display.
Either mamedev are a cult brainwashing its members, or they’ve all lost the ability to think like sane humans somewhere during all those years and became limited to repeating preconditioned stuff like the Borg collective, and we’re wasting our words trying to communicate with them.

(yes that was ‘and one more thing’ post but this time I’m slamming the door. this is too absurd)

Well in the case of the argument you’re making, you’re the one who has painted MAME as this ‘ultimate piece of software for playing awesome games’ when it’s simply never been that, nor have those ever been the goals.

Those aren’t going to become the goals because you want them to be and aiming for that goal ‘at any cost’ is detrimental to the project.

Other projects, aiming for that goal have come and fallen by the wayside because aiming for that goal has a significant cost and usually results in code that is not easily repurposable etc.. I get that many gamers would like us to load the code with quickly done case specific hacks etc. rather than leaving broken emulation until we figure out how things work, but there’s always a limit to how far it’s acceptable to go with such things before it becomes ‘too gross’ and not actually helpful in figuring out what is really wrong with a certain piece of emulation code; hacks upon hacks that match the proverbial ‘stacked plates’ is not a good design methodology. Things like MAMEUIFX got praise, but the state of the code for many of the things it ‘fixed’ were such a trainwreck that they broke other things or were intentionally changing behavior away from that verified on the PCBs. Quite a few of those hacks have been inherited by the ‘arcade’ project (which is one reason that is impossible to recommend said project, it’s doing nothing right and providing an objectively less correct experience, even for arcade emulation, than baseline MAME)

Have you not noticed the number of vital fixes that HAVE been applied to MAME over the last 15 years, the *directly* impact playability? This year alone we’ve seen the c-chip decaps for example (except for Rainbow Islands Extra) which, if you actually care about the games at anything more than surface level, are absolute gold in terms of ‘playing awesome games’ Likewise the previous year a lot of Taito 68705s were dumped to same effect on the emulation. That’s what bugs me about this continued narrative from certain sections of the scene, even when a ton of actual improvements, things that we never even thought possible a few years ago, are happening (often as the result of new talent that’s arrived from doing non-arcade stuff) we still get constant accusations that we’re not pandering to the needs of ‘gamers’ because instead they’d rather focus on how Naomi isn’t running at 60fps or something.

This past few years, while maybe not in quantity, but certainly in quality have been some of the absolute *best* years in the entire life of MAME when it comes to important improvements to the arcade emulation, which renders the majority of the arguments put forward null regardless of differing opinions on what the project goals are. Even stuff like Qsound has massively improved over the course of this year, and that’s something used by some of the most popular systems out there. We might not be targeting gamers specifically, but the project is doing an awful lot that benefits them all the same. I’ve even been accused myself of not covering enough of the non-gaming stuff in the yearly write-ups I’ve done, and that’s often simply because there’s still so much to cover that I run out of time to cover everything, and that’s without a specific focus on gaming.

But seriously, emulation is often hard, sometimes things take time, sometimes it’s a case of waiting for the technology or people to be available to tackle certain things. MAME is doing what it can in that regard, expanding as to increase the disciplines of people using it, thus pulling in new sets of skills etc.

You seem annoyed because MAME continues to be what it always said it was, rather than what you want it to be, even if it continues to improve in the areas you care about more than ever. There’s not much I can do about that.

Hi – my first post here, although I have been using MAME for nearly 20 years now and have been reading your blog for a long time.

It seems to me that people can forgot that this is an open source project and it is entirely up to the contributors what the work on – they owe nothing to the users.

I have no doubt that if MAME didn’t exist, with it’s philosophy of preservation *huge* amounts of hardware and software would be forever lost. Fundamentally some users would much prefer an emulator which concentrated on certain popular arcade machine and didn’t bother with anything else. That’s a perfectly valid point of view but it isn’t what MAME is about.

I agree that once money comes involved in a project such as this it’s a very slippy slope what with all the possible legal ramifications. I for one don’t know how the author of a certain Nintendo emulator can sleep at night without worrying about being sued out of existence when Nintendo catches up with them!

Pretty sure the rest of the scene is feeling the wrath of Nintendo as a direct result of that. They don’t think they can go after the emulator, but will certainly make the rest of the scene feel their anger since to Nintendo etc. the entire scene is just grouped as ’emulation’ I very much doubt it’s coincidental that this new crusade against emulation has started now that their latest systems are being emulated.

Regarding MAME, as mentioned in previous posts, a lot of the arcade progress you see today is a direct result of doing non-arcade stuff, it’s all intrinsically tied together. People can find external filter lists people have developed etc. if they only want to see one thing; the internal UI these days even allows for such custom lists. As a funny example of how everything ties together, even if I was developing XaviX for the home stuff, it actually looks like there were a handful of Japanese arcade machines (mostly redemption) using the tech. We haven’t sourced any of them yet, but we have strong indication that they existed. If they show up, the work done for the home stuff will provide a solid foundation for their emulation, that work would not have been done if the project only focused on one thing.

It’s often just a case of practical use of time / money etc. too. We know MAME isn’t really a great platform for working on the emulation of anything past the 32-bit era at this current time, but we also know it can make a huge difference in other areas, where it’s ideally suited, so we do that until a time comes when the other targets become more realistic, either due to codebase improvements, new developers becoming involved, or technological improvements outside of MAME.

I’ll make one last point which i feel has been overlooked, there are people who live in third world countries
and more than likely due to lack of funds using $5 hardware as you call it might be their only option, i think
it’s a little unfair to sit in the relative comfort of your first world home and call them “toxic users” because they
prefer to use for reasons of necessity older versions of MAME.

Im pretty sure that in an ideal world everyone could afford a decent spec device and the need for older MAME
builds would not exist, but as we both know this world is not ideal and for the moment at least the use of non
sanctioned builds on non sanctioned platforms will continue until either people in Africa, Asia or South America
can afford something which will handle the latest MAME versions, or maybe until the legal threats via certain
MAME devs are followed through on which would seek to ban older cores and have them removed from projects
like RA.


The thing is you don’t even always need something top end, just something not awful. Things like the Pi, and a lot of low-end mobile phones are literally 6x slower than a PC from 10 years ago. Even 10 years ago those things would have been barely viable targets.

They’ve really cause a regression in terms of emulation. Even Sony fell into the trap with the Playstation Classic, picking a low end ARM, an emulator that was heavily optimized for ARM at the expense of compatibility, features etc. and even then finding it didn’t run properly due to just how weak those platforms are.

Not all users using old hardware are toxic, no, but the ones who think it’s more important to backport fixes, or harass devs for actually improving things are. There comes a point when they have to accept that their hardware isn’t good enough for even remotely decent emulation and stop wanting to emulate things that are simply out of reach of their hardware to do well, at least if you want it done in a maintainable project that isn’t full of hacks.

More of a problem comes when that mentality then spreads to people who DO have suitable hardware, but then you get so many pushing to old builds as ‘better’ that they’re mislead into thinking they are, even on new hardware, or in the case of some other projects, the devs using ancient versions with bad emulation just to allow ‘runahead’ type features to run more frames, now meaning even the old versions require good hardware, but give very glitchy emulation.

The legal issues with the old versions of MAME are very real, to the point where it has at various times been considered that maybe even MAMEdev in it’s current iteration shouldn’t be distributing them. The old license is a mess, it’s one reason we moved away from it, and combined with the trademark it literally does mean you can’t release anything based on them without permission from Mamedev, as the license requires you to name it in a way that makes it clear it’s derived from MAME, but using MAME in the name of the sofware these days requires permission from the trademark owner, which they’re simply not going to grant for old versions.

As to why they’re not going to grant it, apart from the fact it doesn’t represent what the project is today there are certainly things of overall dubious legality in some of those old versions; I was given legal advise myself not to host anything that had the ym2608 sample data baked into the build for example, even if at the time that was figured out from reverse engineering the behavior, studying sound waves produced by the chip etc. the end result is a copy of the ROM data owned by Yamaha. Likewise some old protection sims contain tables of data extracted from hardware, and fake palette PROM data that were made at the time, but turned out later to match the real thing. This is also one reason when we say maintaining compatibility with old romsets is a bad thing, we mean it, because to maintain such compatibility we’d have to keep such tables in the source, where in reality they don’t belong no matter how they were figured out.

Ahahahaha… Give me a break. If someone is in a third-world country, I think they have bigger problems than where their next emulated game is coming from. OMG! Think of the starving kids with no ROMs! You guys will come up with anything to justify your stupid shit. “All I had today was an old crouton and three drops of water but at least my copy of RetroArse and full set is up to date.” Why do you guys insist on turning MAME into MEAMBRAZIL? It’s already EmuAllSystems.

Most of the money being taken from their dumbass users should be donated to third-world countries, if they’re really worried about them. We know that’s not going to happen, though.

I can’t believe people are coming against Haze and Mame’s devs.

Regardless of what benefits Mame, the developers are unpaid, and they focus on what interests them or what they believe matters at the moment. Most of them, at least Haze, are motivated by preserving systems and games that will physically disappear from history, and eventually all those who remember the said games and systems will be dead. Only Mame will remain. The End.

In saying this, Haze, maybe you should have a Patreon account and work on mainstream stuff that have the most fans in order to get yourself cash and systems. Then in your spare time, you can work on obscure systems or allocate the donations to other developers.

Well I do invite some of it, but if you ask me about something these days you tend to get a very much unfiltered answer. If something bothers me, or I care about it, and think it’s important to make a point over, I will. I’ve been critical of Mamedev when I do think things have been done wrong, I just feel that the areas a lot of people focus on are actually positives they can’t see as positives because they don’t quite fit what they want to see. Long term is more important than short term with something like MAME.

As I said, really it’s been a good few years for everybody tho, nobody should really have any reason to complain, considering the difficulty of what remains I’m constantly impressed by what gets done. Also, for anybody paying attention, prior to the Magic Purple video, I put a preview of some seta2 driver improvements on my YouTube channel too.

Re: “seta2 driver improvements”


That’s another nice one; thanks again! A really cult classic video game in Japan which fortunately is getting little by little some recognition in the West no wonder thanks to MAME. The only known arcade game –along with its predecessor– developed by the outstanding Winky Soft, which sadly found in the Super Robot Taisen series a much more profitable affair despite not having much of the areas where this studio actually excelled.

Glad to learn that the zoom in the map screens is the only remaining glitch (besides the fire effect in the intro). Did you look into it with no luck or is it a feature only this game uses? I remember some already working zooming or sprite scaling in other “seta2.c” games, which I guess have little to do with this?

sprite zooming isn’t implemented in the seta2 driver at all (it seems quite limited, but annoying to implement, all sprites use the same zoom values, although there seems to be a flag to ignore zoom completely for certain ones) basically all you can really do with it is full screen zooms.

A lot of games make use of the zooming in places, often not for anything major tho. There’s an original hardware Penguin Bros video that I’m using for reference

Ah, so the “Papa” and “Mama” portraits at both sides of the trivia card in Kosodate Quiz My Angel, for instance, don’t use hardware scaling in actuality… Interesting. Anyway, thanks for still looking into this feature too; sounds like 0.205 is going to be something quite special indeed.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.