David Haywood's Homepage
MAME work and other stuff

MEGA Annoying

February 26, 2014 Haze Categories: General News. 11 Comments on MEGA Annoying

I’ve looked a bit more at Mega Phoenix, and discovered one or two things. Firstly the game seems very sensitive to timing. If I bump the CPU up the 128Mhz (which is completely ridiculous for a 68k) it actually ends up transferring most of the graphics, and you can see what the game looks like, so here are some pictures of a single loop.

MegaPhoenix MegaPhoenix
MegaPhoenix MegaPhoenix
MegaPhoenix MegaPhoenix
MegaPhoenix MegaPhoenix

All is not well however, for one, that’s a gross hack, and also the game isn’t really stable and will crash if too much action takes place, the graphics flicker, the enemies are invisible in round 4, and the Phoenixship on Round 6 is flickery and corrupt too. That’s hardly surprising given the nature of the hack.

I haven’t yet tried to hook up the sound, and the port where the service mode and player start buttons are read is either multiplexed or some kind of serial port.

I also don’t know what 2 of the roms are used for apart from the initial interrupt vectors, possibly the missing round 4 graphics, but it doesn’t even attempt to transfer from unmapped addresses, also there’s a cross-hatch pattern in there which I’d expect to be used in service mode, but again no attempt to read anywhere but known addresses is made.

Speaking of the service mode.. The background graphics don’t get displayed there either (they are uploaded, but then erased?!), but this is what it looks like.


That immediately reminded me of another game I’ve worked on.. Little Robin

Little Robin

It’s the same service mode. What else did this tell me? That the VDP I struggled to emulate in Little Robin is actually.. An unbadged TMS34010. I’ve confirmed this by hooking up a TMS34010 in the Little Robin driver, and it does indeed upload code for it and run it, however the backgrounds don’t appear (much like the MegaPhoenix Service mode)

I’m not sure if there are flaws in our TMS34010 emulation, or they both need a better hookup of something somewhere so for now I’ve just left Little Robin using my old simulation of the VDP.

What it does make me wonder is if Inder / Dinamic were actually the ones who made Little Robin for TCH. The Test Mode being identical is more than a little suspicious.

Note, I don’t consider MegaPhoenix playable yet due to the issues I’ve mentioned. I don’t know how much work it will be, it depends what the source of the actual bugs is.

Go to article.. »

UME 0.152ex3

February 26, 2014 Haze Categories: General News. 11 Comments on UME 0.152ex3

UME (logo by JackC)
UME is the complete/combined version of the MAME / MESS project.

With the 2013 write-up out of the way here is another UME build.

I was hoping that 0.153 would be out now with the u releases gone and a plan to possibly release full updates a little more often but it appears it is still some time away. This is understandable because there have been some fairly major bits of code restructuring under the surface over the last month and quite a few known regressions that needed fixing, so probably plenty of undiscovered ones too. For that reason this might not be the MOST stable UME build ever (I’m not sure, it might be fine, most of the major problems have been fixed) although it works for the recent additions at least.

0.152ex3 is based on SVN revision 28034

The changelog (simply a copy/paste of the SVN log) can be read here. This isn’t formatted as a whatsnew, but as usual I’ll summarize the main points below.

UME 0.152ex3 Windows binaries – 32-bit, 64-bit and all tools
UME 0.152ex3 sources

Points of Interest

(more to come)

One thing people have noticed from the SVN logs is that Andreas Naive put in some code to decrypt the 036 CPU type used by PGM2. This does not mean PGM2 emulation is imminent, actually, what we’ve discovered as a result means it’s less likely than ever. The code in the external PGM2 roms is for an ARM11 CPU, there are THUMB2 opcodes in the thumb part of it. Currently MAME only emulates up to the ARM9 and original THUMB instruction set. Even if we were to emulate the ARM11, ARM11 CPUs are usually clocked very high, and MAME struggles even with the 200Mhz ARM7 used by “touryuu – Touryuumon” (Eolith Ghost hardware) Emulating an ARM11 would be even slower than that, I don’t know what the exact clock is but I have a feeling the PGM2 system likely has enough power to be emulating a PGM1 unit.

Furthermore, like the 027A the 036 has an internal ROM for each game, because it’s newer technology those are likely to be even more well secured than the 027A ROMs. In other words, it isn’t happening, and even if by some freak chance it does happen it will run at 2fps.

Go to article.. »

What comes after 2221?

February 25, 2014 Haze Categories: General News. 18 Comments on What comes after 2221?

Oriental Soft were a Korean developer probably best known for the titles 1945kIII and G-Stream 2020 (which was produced by Oriental Soft Japan). It is also one of the ancestors of Triangle Service who would go on to make titles like XII Stag and Trizeal.

We (the MAME development team) were recently contacted by a se yong Jang, informing us that he was the main programmer of another Oriental Soft game ‘X2222’ and that he would like to see it emulated. *edit* He has kindly filled us in with some further history of the game, it’s development, and the involvement of Promat in the comments below

We were forwarded several roms, including graphics and two raw ‘.HYE’ hyperstone object files. For one of the .HYE files (an older, prototype revision) we were also supplied with a ROM binary. Unfortunately we don’t know exactly how to convert the other .HYE file to a ROM binary and it seems the one we do have as a binary doesn’t quite match the sprite graphics we were given. No Sound ROM was supplied either.

The hardware, as it turned out was a variation on G-Stream. Much of it was the same, sprites, 3 layers of tilemaps etc. except for one critical difference. Instead of using 8bpp indexed graphics and a palette this game actually stores raw 16bpp RGB data in the graphic roms (meaning you can only have half as many graphics in the same space and can’t do palette effects with them because the colours are hardcoded as part of the data)

MAME can’t handle 16bpp data directly with the regular drawgfx and tilemap functions so I had to write custom functions in order to render this data correctly.

Eventually I got the game mostly working, there seem to be some sprite wraparound issues that need further investigation, but it boots and can be played.

X2222 (prototype)

Unfortunately there’s no sound due to the lack of any sound ROM (I’m assuming it’s missing rather than it simply using some kind of YM chip, I should probably check tho)

Furthermore the graphics for all the bosses after the first level are corrupt due to the mismatch between the program rom we’re using and the sprite roms we’re using, the tiles referenced by the program don’t match up.

Finally the code we’re using is for a 5 level prototype of the game, after beating the 5th boss the game simply returns to the title screen. It’s possible the .HYE file we haven’t figured out how to convert is for a more complete build.

Obviously this is quite an unusual scenario, but I thought some people might find it interesting :-)

X2222 (prototype) X2222 (prototype) X2222 (prototype)
X2222 (prototype) X2222 (prototype) X2222 (prototype)
X2222 (prototype) X2222 (prototype) X2222 (prototype)
(Below you can start to see where boss graphics are corrupt due to mismatched sprite & program roms)
X2222 (prototype) X2222 (prototype) X2222 (prototype)
X2222 (prototype) X2222 (prototype) X2222 (prototype)
X2222 (prototype) X2222 (prototype) X2222 (prototype)
X2222 (prototype) X2222 (prototype) X2222 (prototype)

Thanks to se yong Jang for his involvement in this, it will be interesting to see if a more final version turns up, or the correct sprite roms for this prototype build.

Go to article.. »

The 2013 article

February 25, 2014 Haze Categories: General News. Comments Off on The 2013 article

I’ve taken the password off the 2013 write-up article.

This is still a bit of a draft, so some text needs refining, but I hope it covers all the major developments at least.

It’s taken a lot longer than I wanted because my initial version (which was ready for the turn of the year) was only around 1/3rd the size of the 2012 write-up even after I’d covered all the bigger bits of progress in MAME and the key points from MESS as I did for the 2012 one, this required a lot more digging because IMHO we’re continuing to see a shift to where most development is done for non-arcade platforms, and as I’m less involved in that side they need more research.

If you feel I’ve missed anything significant (make sure it wasn’t already in the 2012 article, or hasn’t happened in 2014) then make sure to let me know.. Otherwise enjoy an awful lot of screenshots etc. showing what has been done over the year. All but one screenshot was created specifically for the article during my testing so needless to say creating the article has been a ridiculous amount of work, that’s why I’m publishing it now rather than waiting another month until I’ve proof-read it all.

I’m not sure when the next MAME release is, I might try to put up a UME build soon although there have been a lot of major restructuring changes over the last few weeks so I’m not entirely sure the code is all stable at the moment.

Go to article.. »

This is going to be MEGA

February 21, 2014 Haze Categories: General News. 11 Comments on This is going to be MEGA

Enricnes (from AUMAP) dumped his MegaPhoenix board, a game by Dinamic & Inder that was also released for a large number of home platforms.

The hardware isn’t entirely what I’m used to working with, it has a 68000, a TMS34010, and a Z80. The TMS34010 CPU handles most of the graphics while I think the Z80 CPU drives a DAC for sound.

By looking at how the TMS34010 is used in other drivers I’ve managed to hook things up to the point where I get the following screenshots.

MegaPhoenix MegaPhoenix
MegaPhoenix MegaPhoenix

Obviously there are still some significant issues here. Actually I don’t even know where 2 of the ROMs map properly yet, the game has a weird memory setup whereby RAM is mapped at 0, and the ROMs are mapped higher up, but I have to copy the boot vectors to RAM. It’s not really playable at the moment.

A video recorded from the PCB was uploaded to YouTube last year, this is what the emulation should look like once it’s finished.

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

Go to article.. »


February 4, 2014 Haze Categories: General News. 17 Comments on Yukiwo

Unigame has come up with some interesting prototypes, arguably the most famous so far being Bubble Bobble 2.

The prototype that was dumped today possibly rivals that.

It’s been known for a long time that there was an early version of Master of Weapon called ‘Yukiwo’, named after the programmer. In reality it was one of those things that was probably never going to actually show up, and if it did it would probably go for such an absurd price most people would never get to see it.

Well, it turned up at Unigame, it’s been dumped.. and it’s now supported in MAME.

In terms of differences, there are many, it’s almost a different game in places. The most obvious difference you notice from the start is the story telling. While it lacks some of the attract mode story screens you get almost enough text to fill a novel with between levels. Let’s first look at Master of Weapon.

Master of Weapon Master of Weapon Master of Weapon
Master of Weapon Master of Weapon

Brief.. (and the same in both the Japanese and English versions, so it’s not like the Japanese one tells a longer story either)

Now let’s look at the Yukiwo prototype.

Yukiwo Yukiwo Yukiwo

Yukiwo Yukiwo Yukiwo

Yukiwo Yukiwo Yukiwo


Much more text… and this continues throughout the game, there is a part where the game is scrolling for about a minute without anything happening apart from it telling you that an enemy is approaching and getting closer! This is unusual because prototypes usually have LESS text and LESS story, clearly the story for this one was written before the game and cut later because it was just too wordy.

Level design is different too, the first stage with the annoying siren is much longer, although it lacks the palette effects in the final game. Bosses are less developed too with less attack patterns and more recycled bosses which seem to take forever to kill.

It’s practically a different game, much like Bubble Bobble 2 was.

Let’s look at the first level.. In Master of Weapon it consists of the tunnel scene then jumps to an outdoor area with a boss battle and quickly tells you that you’re on Act 2.

Master of Weapon Level 1 Master of Weapon Level 1 Master of Weapon Level 1

For Yukiwo on the other hand the first level goes on and on with multiple sections that have been simply cut (or moved) in the final game.. (the Alarm music plays until you reach the desert part, which is actually a long time and very annoying!) Again you can see the extra story as you get to the 2nd part as well.

Yukiwo Level 1 Yukiwo Level 1 Yukiwo Level 1

Yukiwo Level 1 Yukiwo Level 1 Yukiwo Level 1

Yukiwo Level 1 Yukiwo Level 1 Yukiwo Level 1

Yukiwo Level 1 Yukiwo Level 1 Yukiwo Level 1

Master of Weapon might not have been popular in the same was as the Bubble Bobble series was, but this prototype is every bit as interesting!

Aside from this a Fantasy Zone prototype was also uncovered at Unigame, but the board had 2-3 bad roms and 2 missing graphic roms. As a result it has missing / corrupt graphics in MAME. If there’s no duplicate board of it I might attempt to reconstruct the graphics using the other sets (it looks like some things should just be shifted down in ROM a little so the addresses line up) In terms of development that proto seems mostly complete but lacks the story (both at the start and end) and also lacks a test mode, it also only has 2 music tracks, level and boss.

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.