Log Of My Work On MAMELog Of My Work On MAMELog Of My Work On MAMELog Of My Work On MAMELog Of My Work On MAMELog Of My Work On MAME
2017
February 2017
Fixed writes to the status register in the PIC cpu core
Emulated the Galaxy Games cartridges (EEPROM + Flash + PIC). Removed the BIOS code patches
and emulated the PIC communication and bank switching. Converted the blitter to a device.
Moved these games from tmaster.cpp to their own driver, galgames.cpp
Fixed the music tempo and aligned sprites with the background in Fire Battle, clshroad.cpp, thanks to some game footage
Hooked up the 68705 MCU dump and improved graphics and sound in Quiz Punch (quizpun2.cpp)
Fixed a few bugs in the emulation of the VRenderZERO internal timers, while adding Meng Hong Lou
to the Crystal System driver
October 2016
Added a gambling game in Swedish, Humlan's Lyckohjul, to subsino2.cpp
Some work on the protection in Crazy Dou Di Zhu II
April 2016
Patched the protection in the Italian clone of Jingle Bell
Added 16-bit hook-up for the Sharp LH28F016S flash memory
Added Namco's Star Audition to seta2.cpp and implemented opaque sprites.
This game included a camera in its cabinet and was used to select the participants to a Japanese TV talent show!
March 2016
Added New 2001 to subsino2.cpp and added missing controls in Bishou Jan
January 2016
Added the Japanese prototype Wing Force to kaneko16.cpp. Another cool story of arcade history preservation!
2015
December 2015
Added Panda Train to subsino2.cpp. Fixed some reels graphics issues in the driver
Added the Japanese version of Captain Flag to cischeat.cpp. Gorgeous mechanical cab and an epic dumping story to match!
November 2015
Allowed resolutions higher than 512x240 in the VRenderZERO chip. Fixed the low bits of the stack pointer in the SE3208 cpu
Added Trivia R Us to the Crystal System driver
September 2015
Overhauled the rendering of text sprites in suna8.cpp and added sprites masking, thus fixing a few graphics problem with the text layer in Super Ranger
August 2015
Wrote a new driver, chexx.cpp, for some basic emulation of the Chexx and Face-Off electromechanical bubble hockey machines!
Added a skeleton driver for Crazy Dou Di Zhu (it uses a protected micro-controller)
Fixed text color and wrong sprites in wyvernf0.cpp, thanks to some game footage
April 2015
Added Minna Atsumare! Dodge Hero, Itazura Daisuki! Sushimaru Kun, Burning Sanrinsya - Burning Tricycle, Transformer Beast Wars II and Minna Ganbare! Dash Hero to sigmab98.cpp
Implemented sprite rotation in sigmab98.cpp. Also fixed game crash in Itazura Monkey
March 2015
Added Castle Of Dracula and Mahjong Electromagnetic Base to dynax.cpp
Fixed sound in Brick Zone by emulating the sound latch protection. Added an earlier clone too.
2014
August 2014
Improved the protection simulation in Mahjong Man Guan Cai Shen, fixing sound, dips and crash at game start
Rewrote the bmcpokr.cpp skeleton driver and promoted Dongfang Shenlong to working status
April 2014
Emulated the scrambling of sprite offset registers and the background scroll in kaneko16.cpp, fixing a few bugs in The Berlin Wall
Wrote a new driver, wyvernf0.cpp, for the crazy-rare Wyvern F-0. This game is notable for its pseudo-3D images, obtained using two monitors and a half-silvered mirror
2013
August 2013
Minor improvements (inputs, flip screen) to the protected Laser Base
Emulated Poka Poka Satan, running on 1st-gen Cave hardware (cave.cpp). The board drives three screens, each through a dedicated tilemap and sprite chip
June 2013
Decrypted code and sprites in Super Poker / Formosa. Added as not-working to igs017.cpp
Added a bunch of clones to several drivers, minor video fixes to metro.cpp
2012
November 2012
A rare two-screen game, Jong Yu Ki, found and added to dynax.cpp
Decrypted Harem, one of the very few and obscure games by Italian I.G.R. It runs on Scramble hardware, but with 3 different encryptions which can be selected at run-time
Decrypted graphics in one set of Saint Dragon
October 2012
More Suna protection work delivers a working Spark Man game. This additionally uses a double sprite "chip"
Another heavily protected suna8.cpp game finally emulated: Star Fighter. Again, this required extensive Z80 code tracing and trials and errors to get right
September 2012
Defeated the complex protection and dynamic encryption of Suna's Brick Zone, making it playable. The PCB features an epoxy block to conceal the CPU and protection logic from bootleggers
August 2012
Added to tetrisp2.cpp a version of Nandemo Seal Iinkai featuring manga backdrops by Osamu Tezuka
Improvements to the last non-working games in igs017.cpp: decrypted sprites, tiles and palette
in Mahjong Long Hu Zheng Ba 2 and Mahjong Shuang Long Qiang Zhu 2;
added inputs and memory maps in these games, pending protection simulation
Added PEPSI Man and Uchuu Tokkyuu Medalian to sigmab98.cpp
Moved Jaleco's Stepping Stage Special to tetrisp2.cpp driver.
Fixed memory maps, rom loading, added inputs, hooked up sprites, hacked in the text layer
Some initial tries to sidestep the PIC protection in Donggul Donggul Haerong
August 2011
Decrypted sprites and palette, sidestepped protection in Mahjong Tian Jiang Shen Bing, running in igs017.cpp
July 2011
Added Hanafuda Hana Gokou Bangaihen to ddenlovr.cpp
May 2011
Emulated a newly discovered prototype game, Doraemon no Eawase Montage, running on 1st-gen Seta hardware
Added support for Sammy's cartridge-based medal games platform to sigmab98.cpp, and these games:
Animal Catch, Itazura Monkey, Pye-nage Taikai, Hae Hae Ka Ka Ka and Taihou de Doboon
Fixed zooming, added priorities and flipping to sigmab98.cpp
Janauary 2011
Implemented reel tilemaps in subsino2.cpp and added X-Train, Magic Train and Express Card / Top Card to it
Added Reel'N Quake video slot to seta2.cpp. Fixed shadows and clipping in the driver
Added dynamic tile size support to subsino2.cpp and a new game, X-Plan
2010
December 2010
Renamed ilpag.cpp as blitz68k.cpp, improved the blitter emulation, and added several (protected, non-working) games to the driver, including Bank Robbery, Deuces Wild 2, Maxi Double Poker, Mega Double Poker, The Hermit and Funny Fruit
Fixed palette, transparency and clipping rectangle handling in ddenlovr.cpp. Implemented 90° rotation and support for a new blitter revision. Added Hana Kanzashi, Hana Kagerou and Mahjong Reach Ippatsu
Added Zero Point 2 (a light gun game) to unico.cpp
Wrote a new driver, thedeep.cpp, supporting The Deep. This game is protected through an Intel MCU. The latter supplies unknown snippets of Z80 code. To make the game work (works ok to the end) I wrote by hand some reasonable replacementes for those snippets, by analyzing the way the main code used them
Added the actual MCU provided data to thedeep.cpp, as found in a newly dumped bootleg of the game
Wrote a new driver, metlclsh.cpp, supporting Metal Clash. I used to play this game on a summer holiday with my little brother. Then totally forgot the title. It's been my "name that game" for a long time. It was very nice to get it running again and confirm it was that "game with robots". Data East derived hardware
Wrote a new driver, fantland.cpp, supporting Fantasy Land by Electronic Devices (one of the very few italian arcade games makers). First time I actually emulate an 8086 based hardware platform
Added Ultra Toukon Densetsu and Mad Shark to seta.cpp
Added Blood Warrior to kaneko16.cpp, but it doesn't work because of MCU protection
Added Guardians / Denjin Makai II to seta2.cpp and fixed sprites size selection
Wrote a new driver, ssv.cpp, supporting Dramatic Adventure Quiz Keith & Lucy, Drift Out '94 - The Hard Order, Gourmet Battle Quiz Ryorioh CooKing, Mahjong Hyper Reaction 2, Meosis Magic, Monster Slider and Survival Arts (plus a bunch of not working titles). This hardware platform is a collaborative effort of Seta, Sammy, Visco (SSV). What we have here is the apex of Seta's sprites madness!
Wrote a new driver, seta2.cpp, supporting Kosodate Quiz My Angel, Kosodate Quiz My Angel 2 and Puzzle De Bowling. This is Seta's 2nd generation hardware, solely based on (complex) sprites. The driver also emulates the built-in timers of the TMP68301 (a 68000 variant on steroids)
August 2001
Added Magical Crystals and Sand Scorpion to kaneko16.cpp. The latter runs on a slightly modified hardware and also required the simulation of the CALC3 MCU protection (a math chip used for collisions)
Wrote a new driver, dynax.cpp, supporting Sports Match. This is a blitter based hardware platform, mostly used for mahjong games that were very popular in Japan & China
July 2001
Added Mahjong Gakuensai and Mahjong Gakuensai 2 to metro.cpp
Decrypted the graphics and added Jitsuryoku!! Pro Yakyuu to megasys1.cpp
Wrote a new driver, clshroad.cpp, supporting Clash-Road. Not that many race bike games around, isn'it?
April 2001
Decrypted most of Hard Head 2 and, partially, Star Fighter and Brick Zone. They're protected too so none of them works yet
Added support for screen flipping, background color and the text layer (in older games) to suna8.cpp
Wrote a new driver, fuukifg2.cpp, supporting Gyakuten!! Puzzle Bancho
Added Magic Bubble (a blatant rip-off of the Puzzle Bobble series) to yunsun16.cpp
March 2001
Preliminary memory map for the sound CPU in metro.cpp, to test the new 78C10 core by Jurgen
Wrote a new driver, suna8.cpp, supporting Hard Head and Rough Ranger. Suna made heavy use of protection and encryption, and the sprite system is rather weird
February 2001
Added Strike Gunner S.T.G, Quiz Kokology, Mobile Suit Gundam to seta.cpp
Fixed the glitchy graphics in msgundam, qzkklogy and blandia, by implementing sprite buffering in seta.cpp
Added Cannon Ball to yunsung8.cpp, and fixed the graphics in Magix
Wrote a new driver, yunsun16.cpp, supporting Shocking
Added Ultra Balloon (a shameless rip-off of "Bubble Bobble") to suna16.cpp
Wrote a new driver, blmbycar.cpp, supporting Blomby Car
Wrote a new driver, tetrisp2.cpp, supporting Tetris Plus 2
January 2001
Wrote a new driver, metro.cpp, supporting Last Fortress, Pang Poms, Sky Alert, Dharma Doujou, Daitoride, and Bal Cube (preliminary). Powerful hardware: free size zooming sprites, 3 huge virtual tilemaps (the actual tilemaps are scrollable windows over them), redefinable tile indexes in RAM, blitter based decompression of data stored in the cpu accessible gfx roms
Converted several of my drivers to the new memory system
July 2000
Added Thundercade / Twin Formation, Caliber 50, Dragon Unit and Blandia (with gfx glitches) to seta.cpp
Wrote a new driver, suna16.cpp, supporting Back Street Soccer. Yet another original sprites system
June 2000
Wrote a new driver, skyfox.cpp, supporting Sky Fox / Exerizer
Added two gorgeous shooters, Dodonpachi and Guwange, to cave.cpp
Wrote a new driver, psikyo.cpp, supporting the 68EC020 based games Sengoku Ace and Gun Bird
May 2000
Wrote a new driver, powerins.cpp, supporting Power Instinct (a bootleg actually)
Wrote a new driver, yunsung8.cpp, supporting Magix. Korean platform with tilemaps only, no sprites
Privately working on Reikai Doushi (aka Last Apostle Puppet Show)
April 2000
Sound in The Berlin Wall
Wrote a new driver, seta.cpp, supporting Twin Eagle, DownTown, Arbalester, Meta Fox, Zing Zing Zip, War Of Aero, U.S. Classic (wrong colors), Mobile Suit Gundam (not working yet). Weird sprites system, that Seta bloated and complicated even more in its later hardware platforms
Wrote a new driver, cave.cpp, supporting Dangun Feveron, Esprade, Uo Poko. No sound yet (lack of a YMZ280B core). Zooming is quite unique: as a sprite gets bigger, its pixels get apart leaving transparent gaps between them (no linear interpolation)
Wrote a new driver, cischeat.cpp, supporting Cisco Heat and GrandPrix Star. Powerful hardware: 4 x 68000, 3 big scrolling layers, 256 zooming sprites (up to 512x512 each), 2 road layers with line by line zooming, and the possibility to link 4 cabinets
October 1999
Added Chimera Beast, Iga Ninjyutsuden, Plus Alpha and Peek-a-Boo! to megasys1.cpp. Also fixed a few bugs in the driver
Ported the sounds bank switching of wecleman.cpp from the Amuse emulator
September 1999
Wrote a new driver, wecleman.cpp, supporting WEC Le Mans 24 and Hot Chase. Not an easy task: free form zooming sprites, road layer, slight protection, fancy blitter and encrypted graphics!
Privately working on Speed Buggy and its monster math chip
Decrypted and added The Astyanax to megasys1.cpp. Also added Hachoo! (same encryption), Saint Dragon and Cybattler
Decrypted and added Phantasm and RodLand (World) (different encryptions) to megasys1.cpp
Met with Marco Cassili, Mirko Buffoni and Valerio Verrando in Rome. Marco kindly hosted me and Mirko for the night, then drove all of us to beatiful Siena the day after. There, we met Nicola Salmoria himself! We spent a nice day together. Can you picture the four of us talking about emulation while having dinner with a "Fiorentina" ?
July 1999
Wrote a new driver, ginganin.cpp, supporting Ginga NinkyouDen. Totally crazy platform game where "Darth Vader kidnaps your girlfriend, so you gotta find her. Fight against Godzilla, Rambo, Dracula, Jason Voorhess, Jigen (from Lupin III), aliens and... a giant pig wearing sunglasses!"
June 1999
Privately working on DJ Boy and Heavy Unit, all plagued by the usual Kaneko MCU protection
April 1999
Wrote a new driver, airbustr.cpp, supporting Air Buster - Trouble Specialty Raid Unit. Kaneko triple Z80 hardware
March 1999
Decrypted the graphics and added RodLand (Japan) to megasys1.cpp. Also added Earth Defense Force and Avenging Spirit
February 1999
Wrote a new driver, megasys1.cpp, supporting P-47 - The Freedom Fighter and 64th Street. This hardware sports some rather flexible sprites and tilemaps.
Wrote a new driver, galivan.cpp, supporting Galivan - Cosmo Police (without backgrounds)
October 1998
Wrote a driver for Arkanoid - Revenge of DOH (later merged with tnzs.cpp). This marks the beginning of my longstanding involvement with MAME, as after submitting the driver to Nicola, my request to join the private development list was accepted
Added Get Star to slapfght.cpp. Nicola's comment: "My God, this has to be the worst game I've seen in my life"
Summer 1998
Got ahold of the Karate Champ roms (thanks to Marco Cassili). I had some fond memories of this game, so I brought my computer on holidays and spent the best part of summer to learn the inner workings of MAME, trying to emulate it
Managed to decode the graphics and emulate the sound cpu. Since code in the main program roms was encrypted (but not data!), I resorted to writing a program to display all the backgrounds by parsing the levels data, and to send commands to the sound cpu to hear the tunes/sound effects
As soon as I got back from vacations I submitted the thing to Nicola, just to find out that Ernesto Corvi had succeeded in decrypting and emulating the game for good..