Happiness at the glimpse of a Red Flag

April 29th, 2011

While doing deprecat.h clean-ups (basically conversion of irq systems in old drivers) I’ve stumbled across one of my oldest nemesis … Chequered Flag by Konami. After some grinding of my teeth and a LOT AND HALF of DASM code studying, I’ve finally nailed it down, it was mostly a rather silly bug with the protection device, checking that a check was true on a port by checking that all the bits were high instead of just one like one could imagine …

Note: I’m not entirely sure that the protection is COMPLETELY emulated, if you know the original game and notice something wrong just let me know via the public channels, thanks in advance.

Cyclic Redundancy Check

April 23rd, 2011

Discovered and implemented sprite color cycling effects in Armed F driver. That’s a RAM-based clut table that look-ups via a byte in the sprite defs. As you can see from the YT vids, it’s used for doing neat effects such as explosions / bonus colors etc. in Terra Force …

… it’s even more useful in Kozure Ookami, since it’s used to differentiate the explosive red ninjas from the normal ones …

… and in Armed F, that is used to make the sprites to be a lot less static.

Way of the Lone Force

April 21st, 2011

Currently working at the Nichibutsu 1414M4 emulation, that is a fancy MCU / blitter device used for copying text strings in various 1987/1988 games. Here’s Terra Force and Kodure Ookami with this hooked up:

Next up I’ll need to implement this for the other games, in particular for Ninja Emaki, that never worked properly due of this.

EDIT (23-apr-2011):

After some consolidation we got this (note that these two are WIP screens, they aren’t yet in official MAME build):

Also fixed the NB1414M4 priority bit, it mostly helps with Terra Force intro and title screen:

2 Days Drill

April 6th, 2011

I’ve passed last few days into converting the Taito F3 video chip (TC0630FDP) from 32-bit to 16-bit parallelism. Why a masochistic task like that, you might ask? Because I’ve realized that by simply converting 2 Minutes Drill to tilemaps, and the HW really looked a bit too complex to my tastes … 2 days of coding later and this game shows huge improvements, mainly because it uses lots of zooming / rowscroll effects.
Game is still not playable mainly because it’s an half mechanical / half videogame, but oh well …

As for the other news – the rumors are true. Starting from this dev cycle I’m the new MAME lead coordinator, taking over duties for Aaron Giles. Some generic guidelines of regarding what I expect to do for the project will follow soon, but for now I’ll take the chance to thank Aaron for all the work he has done for the MAME project as a contributor and coordinator for so many years.

Wanderer’s Fair Fortune

March 20th, 2011

Finally fixed the PCG beam position hooks in Sharp X1 HW. There was a bug with vblank / vsync bits so beam positions wasn’t making any sense. Fixing that makes the thing to finally upload character data properly without any hacks.


Also, fixed Kanji ROM read thru ports 0x1400 – 0x14ff, makes Asteka 2 to finally show correct gfxs too:

And ANK ROM reading too, used to draw romaji text in Maison Ikkoku – Kanketsuhen:

EDIT: Fixed a silly bug with PCG index loading, fixes regression with Exoa 2 – Warroid and X1C Demo:

EDIT2 (24 March 2011): Fixed a z80dma that caused erratic port increments, fixes gfxs in Legend of Kage and Gandhara:

EDIT3 (25 March 2011): Fixed bank i/o bit behaviour and a bug with kanji vram and height. This bug-fix allows Lupin the 3rd, Take the A-Train and Makai to boot and fixes gfxs in Makai and Luna City.