Shmupmame 4.2

February 18, 2013

Version 4.2 is out now, the improvements in this version can be split into four categories:

1) Bug fixes: Direct 3D problems are now properly solved and all versions work as intended now, I also brought back 1945kiii and G-stream g2020 which were mistakenly removed in Shmupmame 4.

2) A series of small additions to the core system which improve the overall experience: Autofire rate saving and loading between play sessions (which was missing from Mameplus), Autofire delay display in hertz, Customizable autofire rate for custom buttons, A Cleanratio option (aspect corrected cleanstretch that finds the largest scale factor depending on the view), a Viewpercent option which allows to arbitrarily shrink the view (useful if you want a specific scaling factor or a specific resolution) and a few more artwork options (lighter scanlines options).

3) New input latency lowering method, I managed to fix a few shmups with the new lag removal method described in the previous post (all the other games on the namcos1 drivers are also improved and most games in the namcos2 driver):

Mars Matrix
Sengoku Ace
Sengoku Blade/Tengai
Strikers 1945
Galaga '88
Dangerous Seed
Dragon Spirit
Dragon Saber
Blast Off
Pistol Daimyo no Bouken

4) Game specific additions: Autosword feature for Mars Matrix which is mapped to button 2, it behaves just like the Dreamcast version. Samples support for Same Same Same, Fire Shark, Vimana, Ghox and Teki Paki using the thundermame code (thanks to BPzeBanshee for porting some parts of the code).

Get it from the download section: link


Shmupmame 4.2 coming very soon.

February 9, 2013

There were some leftover Direct3d bugs in shmupmame 4 so I took some time to fix them up and everything is working very well now.

A week ago or so, I decided to take another look at namco system 1 (a still laggy driver even after spritebuffer removal) and realized it has a MCU to process input, investigated a bit and realized that I could make the input ports available to the CPU faster by sending them to shared ram instead of letting the MCU do it. Result is one less frame of lag for all games on namco system 1, then I decided to try something similar for namco system 2 and it worked…

So pushing the idea a little further I decided to check some other still laggy shmups to see if it was possible to feed the CPU the input port values a bit faster. This is basically a new way to reduce input lag that doesn’t have any disadvantage (unlike the removal of sprite buffers).

There are a few games that have been fixed this way and will all be included in 4.2, which should be released in a few days.


More info soon


Introducing Shmupmame 4

January 24, 2013

Shmupmame 4 is out, now based on Mameplus 0.148
Get it here

It’s been a while, but I finally got around to making a full featured current (0.148) version of shmupmame, the main goal is to have a version that everyone can use and that can pretty much replace all previous versions. It comes in both console and GUI flavors, it is built on top of mameplus which means it has built-in autofire support and custom buttons. It is based on mame 148 so all the “new” stuff (Batsugun, V-five, Dodonpachi 2 Bee Storm) is in and lag reduced. This version should work no matter what your windows version is.

Over the years mame has become quite a monster. Version 0.148 has 28,403 sets! and the vast majority of these are not “arcade games” in any
way shape or form. This caused a few problems namely that the UI version took forever to load due to the massive amount of “useless” sets.
So I removed all the sets that fell into these categories:
-Fruit Machines
-Mechanical (no display) “games”
-Gambling/Casino “games” (video poker etc)
-Pinball machine chips
-The Mahjong only drivers
-Drivers without a single working game

The end result is that this version has “only” 7,300 sets instead of the 28,403 (of Mame 0.148), Has a much leaner binary and takes a lot less time to fire up.

Here are some shmups that weren’t in past shmupmame versions:

Good shooting!


On cave sh3 aka CV1000

November 9, 2011

Recently mamedev decided to add support for the newer Cave platform in the main build, in my opinion this was too soon since this opened the door for emulation of games that are very recent (2010). More recently they received a letter from Cave asking to remove any support for that driver, they complied. Which means this driver is now officially out of mame for at least the next few years.

I have been asked if I will include support for this driver in future versions of shmupmame, the answer is No. First of all, the emulation is not accurate at all due to the speed hacks used to make the driver fast enough and also because the latest games on this system are still way too recent.


Shmupmame version 3.0b

January 23, 2011

Shmupmame 3.0b is out now, still based on Mameplus! 99.
Get it here

A quick release to fix and improve the Cave PGM emulation, the improvements to the driver are:

-Coins now work properly for all games

-You can now record all games including DOJBL without nvram problems (but you will need to set the board to defaults in the setup menu (F2) before recording

-Backported the PGM video fixes (zooming and priority are now fixed)

-Audio Improvements for the Cave games


Shmupmame version 3.0

January 19, 2011

Shmupmame 3.0 is finally released, it is based on Mameplus! 99.
Get it here

Major changes:
-The Yagawa raizing games (Garegga, Batrider and Bakraid) are finally lagless, I used a completely different method to fix this which was orders of magnitude more complex than the usual lagless fix, I will make a post soon detailing how it has been done. With this patch the games have one less frame of lag, which makes them perfectly playable in mame (finally), only Bakraid which was laggier still isn’t as tight as one could hope


-The Cave pgm emulation is now backported to mame99 using the new romset conventions (as of mame 141), I also modified the sound driver and the improvement is very noticeable compared to the mame141 driver.


-A total of 16 completely new lagless drivers See the Changelog for the complete list.


-Fixed Elevator Action Returns so that the lighting during the game works properly, shooting lights etc. will make rooms go dark as it does on pcb, it seems like a minor fix, but this effect is used a lot during the game and was sorely lacking.


-Added Sagaia (UK) a game which is not in mame, sent to me by a UK collector. It is in fact a remixed version of Darius 2!, take a look at the first level


-Backported some interesting stuff to mame99, namely the Seibu SPI fixes, which are now fully playable, I also included nvram files for Raiden Fighters 2 with all the fighters unlocked. I also backported TGM2 to mame 99, somewhat ironic considering it was first added in mame at version 99u3 and then immediately removed only the resurface in mame 129. Worthy of note is the fact that I used the old mame way of dealing with the idle loop in the psikyo sh games which means TGM 2 can run very well even on slow computers with that version (not so with new mame).


-Included Various volume and panning fixes, some games had audio clipping because the volume was to loud (DPP is a good example), some games had wrong balance (Strikers 2 for example had it’s music way too quiet) and some games should have been mono and were not (like Gundhara). About a dozen driver were modified that way


mame 99 vs mame 140

January 13, 2011

After all why use mame 99, mame 140 is newer so it must be superior right?

Well, not exactly…

While the drivers in mame 140 are usually superior (not always the case), the emulator itself and it’s functionality has gotten worse over the years:

Mame 99 has savestate support for the all games, the reason why mamedev removed it at version 100 is that since *every* part of many systems were not fully emulated or understood saving and loading could cause some unpredictable behavior, often leading to crashes or corrupt graphics depending on the previous state before the load. That being said, it still worked the vast majority of the time. So starting with version 100 a lot of games with *working* savestates had that functionally removed.

The second important reason would be the use of the old rendering engine, since mame 107, mame is using a new form of rendering engine that combines audio and video syncing and that in theory should work better, in practice though it causes all kinds of smoothness problems and audio artifacts, all of this while taking up more system resources, great mame builds such as advancemame (build focused on video accuracy) halted because of this new rendering engine.

Yet another reason for going back is the great mame plus! build used around that time, it has tons of functionality that are simply missing even in current custom mame builds (like the new mame plus!). Some of these features are : Custom buttons support, Autofire support (with saved settings for later play), integer scaling (or clean stretch), more filtering options.

So this leaves us with newer drivers in the current mame version, well this is where I come in. I am backporting quite a few of the important shmup related fixes between 99 and 141 back to mameplus! 99. Hopefully at some point there will be no question as to which base version is superior.


The official shmupmame WIP page

January 13, 2011

First of all, a link to the main discussion page (and where it all started) Shmupmame Thread on shmups forum

The main point of this site is to document the progress of shmupmame in a more in depth fashion, as the project is growing, the complexity of the patches keeps increasing. Which means the length of explanations of what I am doing and how it is achieved is also augmented. To the point where having all this information in the forum thread would have been a bit too much.