David Haywood's Homepage
MAME work and other stuff

Still Too Cool for Mamedev

February 19, 2013 Haze Categories: General News. 6 Comments on Still Too Cool for Mamedev

Cool Riders by Sega is another one of those titles where the hardware is so odd it has Mamedev stumped. The driver hasn’t really seen much attention over the last year so I decided to at least correct a few things in it.

First of all it’s a dual screen game, and we were sending all the blit commands to just one screen, I fixed that, setting it up with a dual screen layout in MAME, and hooked up the different backgrounds for each screen too.

I also added code to interpret some more of the blit parameters, rather than ignoring them. This allows you to see roughly where the road should be, and follow the attract sequences compared to videos of the real thing.

Additionally I made it possible to load a fake ASCII font rom in debug versions of MAME so that the test mode can be navigated, allowing for further fixes.

None of this is really much help tho, because the biggest problem remains the missing / not understood compression used on all the blitter objects / sprites. The compression is used on EVERYTHING except the backgrounds hence having to load the fake ASCII rom just to be able to see the test mode properly. Not even the backgrounds make sense entirely, I can’t find the scroll registers for them.

With the changes the emulation now looks like this


Content not available.
Please allow cookies by clicking Accept on the banner

even with this work it’s still obviously a long way off the Real Thing (alt video).

I hope we can figure it out, it’s Sega’s final sprite scaler game, and actually runs at the same resolution as the Model 2 boards, I guess they just decided that this unique H1 board was a dead-end and 3D tech was the way forward. As mentioned in previous updates about the game it’s really just a re-worked version of OutRunners with bikes, so many bits of the game are clearly just re-skinned versions of that game it’s quite amazing to see!

Anyway, after doing this, and recording the video, Kale has also put some effort into figuring things out, actually hooking up the inputs now by using test mode enabled by use of the fake ASCII characters, he has also attempted to hook up sound, but that too seems more complex and involves both the sub SH1, a 68k, 2 SCSPs and likely some sound DMAs in addition to a complex interrupts setup, so for now it still remains silent. You can now coin the game up and ‘drive’ the random squares you see around, so that’s certainly progress.

Additionally I found that the ‘ingame’ palette wasn’t always right, and found out there are additional palette writes in the same place as the ‘sprites’ get uploaded, and these are used to fade between level backgrounds. Here is a second video showing the inputs working as per Kale’s fix, and the fading. (sorry about the excessive flicker on this one, I think frameskip was turned on)


Content not available.
Please allow cookies by clicking Accept on the banner

Nothing about this hardware is straightforward, but that’s why it’s taken so long to even make this much progress.

Kale also added some (very) preliminary sound


Content not available.
Please allow cookies by clicking Accept on the banner

Can’t guarantee any more progress in the short term, but I think it’s good to remind people that drivers are rarely forgotten completely.

Go to article.. »

Wrapping things up..

February 13, 2013 Haze Categories: General News. 10 Comments on Wrapping things up..

At this point I consider the 0.148u1 articles below to be done, I think I’ve covered all major points with the release even if the MAME side is looking thin on the ground.

u1 was quite a big update because it’s been almost a month since 0.148 hit, back in the day we had weekly u updates and monthly/bi-monthly full releases and also because the first few weeks of a new year seems to typically be when a lot of progress happens, so you have the rear-end of that included.

I don’t want to put up a todo list for the new year because we still have some idiot spammer spamming members of MAMEdev with his personal todo list multiple times per day, every single day and I don’t want to give him any more ammo (I’ve reported him to him to the mailing company and ISP..)

That said I do have a few things in mind, but we’ll have to see how they pan out, as mentioned there really isn’t anything easy left so it’s entirely possible I’ll slam against a brick wall with everything I attempt.

Go to article.. »

What’s New in 0.148u1

February 11, 2013 Haze Categories: General News. 30 Comments on What’s New in 0.148u1

With MAME/MESS/UME 0.148 out (see below) I’m going to take the time to write a bit about it and show you some screenshots, as I’ve done several other releases, simply because I believe that it is more meaningful than some jargon in a whatsnew file.

Talk of the town is are of course the improvements made to the original Playstation emulation, you can follow the thread at bannister.org (the MESS forums) for some screenshots of that one, and I’ll be picking some choice cuts out of it later in this update but for now I’m going to shift the attention to something else.

0.148u1 also sees numerous improvements made to the Sega Saturn driver, and while it still has a long way to go before compatibility can be considered good the changes do bring a couple more titles into the realm of playable with fixes allowing inputs to work in several games in addition to other changes giving an overall compatibility boost. If you’ve followed this blog for a while you’ll know I like my puzzle games, and even did a feature in the past on them, covering a number of Saturn titles. I’m happy to say that changes made in the latest build bring another one “Heisei Tensai Bakabon Susume! Bakabons” (bakabons in the saturnjp softlist) into the realm of playable thanks to Kale fixing an issue with the controllers.

It’s your traditional ‘block dropping’ puzzle game, but in this case you have to surround 2+ objects of one colour with 2 of another, for example creating a chains of ‘Red, Blue, Blue, Red’ or ‘Yellow, Red, Red, Red, Yellow’ It’s also full of quirky Japanese FMV clips between rounds, and while the whole thing has a distinct low-budget feel to it I find it to be another enjoyable game in the Saturn library and is definitely a title which would have been fully suited to an arcade release.


Heisei Tensai Bakabon Susume! Bakabons Heisei Tensai Bakabon Susume! Bakabons

Heisei Tensai Bakabon Susume! Bakabons Heisei Tensai Bakabon Susume! Bakabons

Heisei Tensai Bakabon Susume! Bakabons Heisei Tensai Bakabon Susume! Bakabons

Heisei Tensai Bakabon Susume! Bakabons Heisei Tensai Bakabon Susume! Bakabons
(Kale’s work on the Saturn driver makes Japanese Saturn game Heisei Tensai Bakabon Susume! Bakabons playable in UME/MESS 0.148u1)

Other Saturn games have benefited too, platformer Rayman has also seen a marked improvement and while it still has some graphical issues, you can at least play it a bit now (I’ve only tested the first level mind you)


Rayman Rayman

Rayman Rayman
(Rayman, the happiest character in any video game, now less likely to make you sad)

A few tweaks to the SCU DSP emulation also helped games like Croc, and certainly improves things despite it being more of a kludge than a real fix, the entire thing could do with being made a CPU core, even if the cost to performance might not be desirable. Actually the performance already isn’t desirable for many of the 3D games, hopefully there is room to optimize at least some of them, although a couple of ones I profiled didn’t look hopeful.


Croc Croc
Croc Croc
Croc Croc
(Croc also benefited from Saturn improvements, although currently runs slow and still has glitches)

It’s with a word of caution I mention this next thing, because battery saves in Sonic 3 are actually broken in 148u1 (although they have since been fixed)

You might be aware that Sonic and Knuckles for the Genesis employed ‘Lock-on’ technology, allowing you to plug Sonic 2 and Sonic 3 in to them to give special games, in the former case a version of Sonic 2 with Knuckles in it, and in the latter the ‘complete’ version of Sonic 3, featuring all the Sonic 3 and Sonic + Knuckles stages as well as the ability to play as Knuckles in Sonic 3 with brand new routes etc.

Most Genesis emulators (all PC ones?) simple use a hacked up ROM to support this, merging the data from Sonic and Knuckles with the data from Sonic 2/3 to allow this to work, and it works fine but you miss one key feature. On real hardware you could plug ANY cartridge into the Sonic and Knuckles one, and while you’re presented with an initial ‘No-Way’ screen that can be bypassed by pressing buttons A+B+C on the pad to give you a single unique special stage level generated using the cartridge you plugged in as the random seed.


Sonic & Knuckles with Sonic 2 Sonic & Knuckles with Sonic 3
(The well known cases of Sonic & Knuckles being locked on to Sonic 2 and Sonic 3)

As of 148u1 MESS has moved Sonic & Knuckles ‘lock-on’ support to the slot system, meaning that launch syntax of “ume genesis sk -cart2 waniwani” will tell UME/MESS to launch Sonic & Knuckles with ‘waniwani’ (Wani Wani World, one of my favourite Japanese Megadrive games) in ‘cart2’ which is the name MESS assigns to the slot on top of the Sonic + Knuckles cart. This is actually the best case to demonstrate the new feature in MESS, because with other emulators you’d have to glue the rom files together manually to try random game carts with it but with MESS it’s now a breeze and you can easily get the expected ‘No Way’ screen and unique level for any cart you fancy plugging in.

Sonic & Knuckes with any other game Sonic & Knuckes with any other game
Sonic & Knuckes with any other game Sonic & Knuckes with any other game
(Sonic & Knuckles locked on to a random game, in this case Wani Wani World)

Sonic 1 is actually another special case like Sonic 2 and 3, although slightly less known. Like inserting any random cart you’ll get the ‘No Way’ screen, but with Sonic 1 the screen isn’t dimmed, and doing the A+B+C combo gives you a game based on the special stages with literally thousands of stages (134217728 apparently) and a password system. There are so many stages it would actually take several hundred years to play them all ;-) “ume genesis sk -cart2 sonic” gives you that lock-on combination anyway.


Sonic & Knuckles with Sonic 1 Sonic & Knuckles with Sonic 1
Sonic & Knuckles with Sonic 1 Sonic & Knuckles with Sonic 1
Sonic & Knuckles with Sonic 1 Sonic & Knuckles with Sonic 1
(Sonic & Knuckles with Sonic 1 locked on)

Anyway this progress from etabeta shows how the MESS slot system can be flexible and allow you to use the systems in a way that closely mimics how you would use the real hardware and while it was possible to run the pre-merged locked on files before, this still manages to bring something new to the table. The downside of this is it’s now a little less convenient to launch the combined Sonic & Knuckles + Sonic 2/3 combo because you have to manually specify it, although I hope maybe one day the softlist can simply have an alias that does it for you.

In MAME you have just the solitary new playable game if you ignore the video poker titles, that being Brixian as featured in a previous update here. There are some worthwhile clones supported tho, a complete dump of the Japanese version of WWF Superstars means you can see a very American product presented in a Japanese way, with the use of Japanese text being significant enough that the version released over there required a different graphic rom to accommodate it, something of a rarity.


Brixian
(Brixian was the only newly working game in MAME 0.148u1 not falling under the gambling category)


WWF Superstars (Japan) WWF Superstars (Japan)
(..but it’s good to see new clones still turning up as well, including the Japanese version of WWF Superstars)

The other big thing across both projects is a round of cleanups. A lot of drivers are affected by these so-called ‘tagmap’ cleanups, something I hinted on in my 2012 article. While claims of miraculous speed increases across the board are somewhat unfounded these code cleanups have helped win back some long-lost performance in several drivers, and for some really abusive ones the gains are significant although those cases are few in number. It’s not going to make much difference to high-end drivers where the overhead caused by even high levels of hash lookups isn’t significant compared to the rest of the emulation, but for a number of lower-end drivers it provides a timely speed boost.

PSX, as I mentioned at the very start has seen some significant improvements over the past few weeks. Primarily the controller and memcard support was fixed, meaning games built using the dualshock libraries now accept inputs. Fixes were also made to the CD code allowing many more games to actually boot in the first place.

I should probably start by saying that it isn’t perfect, many games are missing FMVs, showing only blank screens, and for a large chunk of the Japanese library such conditions can’t be bypassed, leaving you often with nothing but a blank screen and some looping audio from the FMV. Furthermore almost every game using CDDA for the audio has severe issues of bad audio being played, often ear-popping data tracks being played instead of the actual audio ones. Some games also still fail protection checks so only cracked copies work, and for games using libcrypt protection (of which there are many in Europe at least) don’t currently work because there is no way to integrate the SBI subdata files from redump.org into the CHDs; some of those protections are subtle and will only crash the games after a few levels (eg. Spyro 2)

With that out the way I’ll say that many, many games are playable; European exclusive Terracon is one such game and a game I really enjoyed back in the day although I’d completely forgotten what it was called and was unable to find anything to point me in the right direction until somebody else remembered what it was called for me and I gave it a spin in MESS.


Terracon Terracon
Terracon Terracon

Harmful Park is a Japanese PSX game, a great Parodius style shooter to boot. For all people go on about how great the 2D games were on the Saturn I’d argue that the PSX actually had the better titles overall, at least in Japan, even if the Saturn had stronger arcade conversions of the Capcom titles. Anyway Harmful Park would have been right at home in the arcades, it’s bizarre, well themed and throws in some imaginative ideas to provide a memorable experience.


Harmful Park Harmful Park
Harmful Park Harmful Park

The Playstation is also home to a number of games where the arcade originals are not yet emulated. Raiden DX is one of these, and thanks to the flexibility of MESS when it comes to screen rotations you can easily run it in the mode designed for a rotated TV and get the full arcade-like experience from it. This is one where the intro movie is black, but luckily if you leave it the game will get to the title screen and play beautifully.


Raiden DX
Raiden DX Raiden DX
Raiden DX Raiden DX

One version of ‘The Block Kuzushi’ was released for the Arcades, but several others were released for the Playstation as part of the budget ranges in Japan, including a Hello Kitty themed one! They’re actually very good Breakout / Arkanoid style games.


Hello Kitty - The Block Kuzushi Hello Kitty - The Block Kuzushi
Hello Kitty - The Block Kuzushi Hello Kitty - The Block Kuzushi

Another genre I enjoy is the ‘clear the screen of enemies’ type of games, best known in the arcades in the form of games like Bubble Bobble and Tumble Pop. On the Playstation IREM put out a fine example of this Genre in the forum of Gussun Paradise, which takes the characters from their popular Gussun Oyoyo (Risky Challenge) and puts them in a unique game in said genre. It’s a perfect example of how 3D hardware can help this type of game too, just by adding little effects here and there like spinning the playfield around in certain situations.


Gussun Paradise Gussun Paradise
Gussun Paradise Gussun Paradise

Anyway, that’s enough talking about the Playstation, and while I’ve highlighted mostly 2D arcade-like games a great number of others are fully playable too and I’ll probably do an article showing even more of them at some point in the future. Not everything mentioned here is listed in the softlists yet, so don’t worry if you can’t see them.

Back to MAME, a couple of dumps of IGS036 based games showed up, mostly gambling / mahjong type games, but it’s interesting to note because it’s the CPU used on PGM2 titles. Unfortunately the CPU is the successor to the dreaded IGS027A used on many PGM1 games and IGS gambling boards before it, and we still have no way to deal with that one and this is already confirmed to have per-game internal ROMs just like the 027A does, and they’re likely secured just as well. Furthermore the external part of the program ROMs are well encrypted (some of the best guys on the MAME team say it’s not obvious) and the more recent ones even use secure modules to store the external roms as yet another level of security. The new dumps there only confirm what we didn’t want to know, and that is that these things are very, very nasty, don’t expect to see them emulated any time soon, if ever.

A couple of other interesting bits did turn up, the prototype of Super Pinball Action is very interesting, if not slightly confusing. It dates from 2 years earlier than the release build and has significant changes to both the hardware and the way the game is programmed. Even simple things like the palette format differs on this compared to the final build, as do the bits in spriteram used for priority and colour selection (they appear to be swapped around) Furthermore the prototype uploads data for all 4 background tilemaps on startup and uses the scroll registers to show the correct backgrounds, whereas the final build simply uploads them as and when it needs them, always keeping the scroll registers at 0. Registers are also moved around, inputs are moved around and I’m actually amazed by how much the final display does still resemble the release version. The most confusing aspect of all tho is that there is an extra Z80 on the prototype, and a graphic rom for a horizontally orientated tilemap of some sort, containing the ‘gal’ graphics which aren’t present in the regular graphic roms. This leaves me wondering if the prototype version is some kind of dual screen setup. Unfortunately the board had already been partially stripped for parts, with the sound Z80 removed, but hopefully all the roms are intact; we at least *seem* to be ok aside this mysterious extra program ROM and tile rom I wish I could make more sense of. Ignore the graphical glitch on the screenshots below, it’s caused by missing priority handling in the proto which isn’t yet playable.


Super Pinball Action (released version) Super Pinball Action (proto version)
(The prototype version dates from 2 years earlier and has an extra CPU and tile rom for unknown purposes, possibly a 2nd screen?)

I mentioned gamblers earlier, the work done on ‘New York Joker’ and ‘Number One’ was all included, with both games in working state. I’ve also been sifting through some new dumps and found that the roms from a ‘Hot Mind / Hard Times’ board ANY dumped were actually another version of Lucky Boom, this one on different hardware using a PIC for sound like Hard Times (unfortunately protected, but the Hot Mind one appears to work) It seems Playmark liked to put their gamblers on multiple platforms because as mentioned in the 2012 update we’ve seen Hot Mind on multiple boards too. It’s a handy dump to have too because it should hopefully point us in the right direction for some video registers and allow per-game kludges to be removed. Another thing ANY dumped is a game called ‘Fruit Fresh’ (although startup messages call it ‘Dream World’) I haven’t figured out how the reels work on it yet tho, might be some kind of raster effect / partial update scheme as the scroll values appear to be written multiple times in a frame.


Fresh Fruit Fresh Fruit
(Work in progress on a Fresh dump of a Fruity game)

Bug fixes are important to, be they for regressions, or long-standing issues with games which have been present from when they were first emulated. GTI Club is the recipient of a set of such fixes, with improvements to the ROZ layer amongst other things allowing for the sun in the sky to be correctly rendered instead of the Winners Don’t Use Drugs logo hovering up there, and while that was certainly cool in a surreal kind of way it definitely wasn’t correct until now, it’s good to see Ville active again!


GTI Club
GTI Club
(The sun is out and shining bright thanks to fixes to the Konami ROZ layer emulation used by GTI Club)

One bugfix that isn’t specific to a driver comes from Phil. B who has mentioned in the comments below that he fixed an important core bug relating to -aviwrite for 0.148u1 as well. All prior versions would introduce a glitchy frame in the video when crossing 2GB boundaries on the output file and this is evident in many of the videos I’ve uploaded to my YouTube account. While it might sound like a minor niggly issue it was certainly a major source of irritation if you wanted glitch-free videos prior to this release.

There have been system / game specific fixes in MESS too, and while the Chinese release ‘Ya Se Chuan Shuo (Chi)’ for the Megadrive / Genesis is listed as one such case where the protection has been emulated and the game should now be working it appears to have other issues here, crashing on startup so I’ll be leaving that one until u2 I think. The unlicensed Wisdom Tree games for the Gameboy also suffered a regression at some unknown point in the last year or two, 0.148u1 brings those back up to working state, and while the religious overtones might not be to everybody’s tastes several of the games are actually just takes on the Boulderdash theme.


Exodus Joshua Joshua - Lost Levels Spiritual Warfare
Exodus Joshua Joshua - Lost Levels Spiritual Warfare
(The Gameboy Wisdom Tree releases had regressed at some point, 0.148u1 fixes them again)

While the above Gameboy games almost certainly worked at one point in the past several NeoGeo Pocket games didn’t due to bugs in the TLC900 CPU core, a number of those bugs were identified and fixed by Wilbert Pol, resulting in additional working / less glitchy games. Noted improvements include the original NGP Pocket Tennis as well as NGPC games ‘SNK Gals Fighter’ and ‘Mezase! Kanji Ou’.


Pocket Tennis Pocket Tennis Pocket Tennis Pocket Tennis

Gals Fighter Gals Fighter Gals Fighter Gals Fighter

Mezase! Kanji Ou Mezase! Kanji Ou Mezase! Kanji Ou Mezase! Kanji Ou

Tweaks were also made to the Master System drivers, with subtle behavioral differences of the Korean systems emulated, needed in order for the numerous MSX conversions that were released over there to work, those games were often incompatible with the official baseline systems from Sega.

Continued updates and improvements to the Software Lists, including new lists, compatibility status updates as well as fleshing out a number of the skeleton listings also occurred between 0.148 and 0.148u1 with special mentions to Microvision and also the Philips Videopac G7400 and Videopac+ G7400 where there were also some significant driver improvements made (US users will likely know them as the Magnavox Odyssey 2/3)

I mentioned Microvision, and it’s certainly a significant one. The driver was added in 0.148, and is still considered non-working and from my brief testing of Connect 4 it’s easy to see why, the pieces rarely end up where you tell them to drop and, an it seems entirely random that the computer decides to drop a piece where it wants one. Clearly there is still work to do, but it’s an important system to have emulated, it’s generally considered to be the first handheld video system, and the actual game cartridges contain no ROM chips, but instead MCUs with internal ROMs, so simply having them dumped is a miracle (even if I think there is some question over possible bad bits) Here are some screenshots from Connect 4 running.


Microvision - Connect 4 Microvision - Connect 4 Microvision - Connect 4 Microvision - Connect 4
(Microvision screenshots.. not specs of dirt on your screen)

So before you ask if I’m serious, yes, I’m serious, those are the screenshots, the unit is so early it had a resolution of just 16×16 pixels, and the pieces for one player are represented with a 2×2 cross-hatch pattern, and the other solid 2×2 squares. That’s it, here are some enlarged versions of the same thing, just so that you can see them on a monitor! You’ll definitely want to run these with a high -prescale value in MESS if you don’t just want to see a washed out blur!


Microvision - Connect 4 Microvision - Connect 4 Microvision - Connect 4 Microvision - Connect 4
(Microvision screenshots.. magnified 1600%)

As I said, keep in mind it isn’t considered working yet, but at the same time understand how incredibly cool just being able to run that is, well unless you were expecting the Microvision to be something made by Microsoft before the Xbox I guess.

Going back to the previously mentioned VideoPac/Odyssey systems, not only have they received basic softlists in 0.148u1 (with plenty of todo notes indicating where things could be cleaned up, and what still need sourcing) but the emulation has improved significantly, from timing details etc. on the basic unit to huge improvements to the G7400 (which is still marked as non-working, but has several playable games now) Let’s start by looking at some G7000 titles in the form of Pick Axe Pete, and Attack of the Timelord! (likely released as Terrahawks in Europe)


Attack of the Timelord Attack of the Timelord

Pickaxe Pete Pickaxe Pete
(The original G7000 / Odyssey 2 releases of Attack of the Timelord / Terrahawks and Pickaxe Pete)


Fairly basic looking games, but Attack of the Timelord does make use of the speech unit like several games on the platform (actually there’s a MameTesters bug stating that several others should, but it doesn’t always work)

Now the G7400 received enhanced versions of both these games (as Terrahawks and Pickaxe Pete) and the emulation of them is much better in 148u1 than it was before now. The screenshots below show the additional backgrounds present in the G7400 versions


Terrahawks (G7400) Terrahawks (G7400)

Pickaxe Pete (G7400) Pickaxe Pete (G7400)
(The enhanced G7400 / Odyssey 2 releases of Terrahawks and Pickaxe Pete)


Both are actually charming little systems with games, that while often conforming to standard genres do try to do things a bit differently, even if it can make some of them a little difficult to understand at times. The pictured games might not be the best example of this, but still it’s a curious early system for those willing to do a bit of digging, just be warned not all games are fully compatible across NTSC/PAL regions, so running the Euro version of Frogger on an NTSC Odyssey will give you a flickery mess, the softlists, while making things easier, only currently list the regions not the compatibility, also like I mentioned the G7400 is still marked as NOT WORKING, so your mileage may vary.

The ZX Spectrum emulation hasn’t seen any improvements in 0.148u1, but it’s another one where the softlists have been fleshed out a bit, specifically the Spectrum +3 Disk listings have had the SPS releases incorporated, and having A-grade dumps listed as being known is obviously a good thing as they provide an absolute reference for quality so when they fail we know it’s our emulation that’s to blame, not the images.


Light Corridor Spectrum Light Corridor Spectrum
(The ZX Spectrum +3 Software List now lists the SPS dumped IPF images, which are a good benchmark to assess driver compatibility against)

The MSX is another system where we haven’t really seen any improvements in the new release, but the softlists have been improved, and are now a lot more complete. This again allows for testing and building of compatibility lists, as well as providing a more complete view of what was released on a system. When I did my writeup looking at some ports of classic games the coverage of the MSX was weaker than it should have been because the lists were incomplete.


Dig Dug (MSX) Galaga (MSX) Rally X (MSX)
Dig Dug (MSX) Galaga (MSX) Rally X (MSX)
(The MSX Software List now better represents the platform)

It’s interesting to see how official Home ports of things like Galaga compare to the unofficial ‘Fantastic’ Arcade port mentioned in the 2012 writeup.

The whatsnew for 0.148u1 lists the Vector HLSL, but it’s still turned off at source level, so any changes to settings will have no effect, that’s one for the future rather than something you’re going to play with in u1.

Fixes for a couple of things mentioned in the 2012 write-up have also been made by the developers, including improvements to the control handling in Armadillo Racing. The problem with Winning Run was also identified, but not fixed; the game turns on the TMS co-processors before it has uploaded code to them, this makes the behavior unpredictable and can cause out of bounds accesses that will crash MAME on some systems (like mine..)

The tagmap optimizations weren’t the only ones made for this release either, some drivers got specific attention, for example I put a lot of work into optimizing and improving stability of the Virtual Boy driver, you can now tell that Bound High is actually running too fast, although it’s still strangely addictive and I’d actually class it as my favourite game on the platform even if it’s a prototype and didn’t see a release back in the day.


Bound High - Virtual Boy
Bound High - Virtual Boy
(Bound High on the Virtual Boy, aim your bounces to land on the enemies, now with optimized driver)

The work on MIDI related technology has continued in u1 with Midi-out now being supported and hooked up to both the Apple 2 and PC drivers, allowing said emulated drivers to control external MIDI devices.

For general use you’re unlikely to notice too much, but there is one slight issue with this in that the timing when communicating with Midi devices isn’t quite right. The reason for this is due to the way MAME time and REAL time are only synced on a per-frame basis (and thus real world inputs and outputs if we don’t want to buffer them). A change was temporarily made to sync screenless systems at a far higher frequency but doing so makes MAME/MESS more prone to slowdowns as you can’t have any performance spikes within any single sub-division of the time within each ‘frame’ or the overall speed will drop below 100% and several drivers were doing that (CPU usage over a frame is a lot less smooth than you’d expect, and would be even worse with video based systems where the render call tends to happen as one single ‘spike’) Anyway, it’s possible that will be configurable in the future, at least for screenless systems, and maybe even ones with screens too, just be weary of the performance issues.

As an aside you can actually notice a similar performance spiking in a game in MAME already for other reasons. Pasha Pasha 2 (pasha2) as a game runs the game logic at 30fps, but the screen update is 60fps, this means that it spends an entire frame each frame doing NOTHING, and then has a heavy frame where it does everything. As a result you can unthrottle it to run at 120% (because the ‘nothing’ frames then take no time at all to process even if the heavy frames are still significant and this skew the results) but if you leave it throttled it only runs at 75% because the real bottleneck is the heavier frames. You’d start to see the same (confusing) behavior for many unexpected drivers if you attempted to sync MAME time and REAL time at a higher rate than once per frame.

As you can probably tell by now 148u1 has been a very MESS-centric update, at least as far as the interesting bits of progress go but hopefully I’ve also highlighted enough smaller bits of MAME progress to show that we’re still giving it plenty of attention. I expect this general trend to continue in the future as the amount of arcade bits we can work on and realistically make any progress with in a short space of time continue to wind down, especially with the likes of The Dumping Union struggling due to an issue with their donation system. I do have some MAME targets still in mind, so if you really only care about the arcade stuff then don’t worry, but I do hope some of the coverage here opens up eyes as to where the progress is heading, and how, especially in Japan, there really were a lot of arcade style games even on the non-arcade platforms.

Go to article.. »

UME 0.148u1

February 11, 2013 Haze Categories: General News. 4 Comments on UME 0.148u1

UME (logo by JackC)

UME (Universal Machine Emulator) combines the features of MAME and MESS into a single multi-purpose emulator. The project represents a natural course of development for the emulators which already share large amounts of code and is part of an ongoing effort to unify development efforts and provide a single emulation platform for users and developers alike.

As an end user this means that the software provided here is not only capable of emulating arcade machines like the baseline versions of MAME, but in addition can emulate a large number of home computers and consoles from across the world using the very same code, developed by the very same team of developers.

0.148u1 Windows binaries (32-bit and 64-bit) (Self Extracting 7-zip) (all MAME / MESS tools included, both 32-bit and 64-bit versions in tool32/tools64)

The source is identical to that found on mamedev.org (SVN revision SVN 20927 / 0.148u1)

General Note

In addition to providing the UME binaries I’ve also included a package with the individual MAME/MESS executables here, personally I prefer the everything under one exe UME solution but I’ve noticed it’s not always easy to find binaries of the regular u builds with them not being offered from the official site so this is my attempt to address that.

What’s New

You can read the various whatsnew files on mamedev.org
From MAME, From MESS

Points of Interest

I’ll probably cover most of this in a new article shortly, some decent changes in here, especially from the MESS side

Go to article.. »

A Little Teamwork Keeps Things Simple

February 3, 2013 Haze Categories: General News. 9 Comments on A Little Teamwork Keeps Things Simple

Robbie has been working on a driver for the San Remo gambling game that was dumped earlier, but he hit a snag and couldn’t figure out how the graphic banking worked. He mentioned partial video updates in his latest update but based on his description of the problem I had a hunch it was something else and offered to take a quick look at it.

It turned out my hunch was right, so I ended up fixing the graphics there for him, only took about 5 minutes because it’s actually very simple. The hardware automatically writes previously latched bank bits for the upper tile bits whenever a tile is written (basically a primitive hardware tilemap accelerator so that 16-bit data can be written with only the cost of a 8-bit writes) Subsino used the same technique for several of their games, as did Mole Attack from Yachiyo so previous exposure to those drivers meant it was something I thought likely from the explanation Robbie gave.


Number 1 Number 1
Number 1 Number 1

I also look at another recent dump which turned out to be a gambler on the High Video platform called New York Joker, in this case Robbie is going to fix up the inputs and lamp outputs etc. so that I can concentrate on other things instead.


New York Joker New York Joker

A version of Playmark’s redemption game ‘Lucky Boom’ also showed up on a different hardware configuration and should help clean up some code in that driver too once it’s been looked at a bit more.

Mundane games, yes, but they show there is a story behind most additions and the working process.

Go to article.. »

That yearly MAME summary..

January 31, 2013 Haze Categories: General News. Comments Off on That yearly MAME summary..

I’ve done an article on MAME / MESS in 2012, covering some of the highlights from my perspective.

I added it as a page rather than an update here, so it’s linked on the left or here.

As mentioned, some might find a few bits controversial, or not worth mentioning, but I’ve tried to cover as much as possible while still making sure it’s a personal piece containing my viewpoints on things. It’s quite long, and there is still a chance I missed some things, but I had to decide to push publish at some point ;-)

Lots of pretty screenshots, most relating to drivers where improvements have been seen, some to help explain points and promote MESS a little.

Anyway, if you’re bored…

Please leave any comments on the actual page if you have them.

Go to article.. »

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.

Close