Revenge of the (Korean) Clones
Two more Korean clones are in, courtesy of gp-lee and Guru.
The first one is Toride II Bok Su Oi Jeon, the korean version of Toride II Adauchi Gaiden,
a Mahjong solitaire on metro.cpp hardware:
The second and last one is the Korean version of Nakanihon's Nettoh Quiz Champion on ddenlovr.cpp hardware,
which was translated as Se Gye Hweng Dan Ultra Champion. It's a very cute and polished game BTW, and likely
also quite fun, if you happen to know Korean or Japanese...
That's it for this batch, hopefully in the future more goodies will surface from the Land of Morning Calm.
Attack of the (Korean) Clones
Thanks to gp-lee and Guru I've added two Dynax games translated for the Korean market.
They're both Hanafuda games published in collaboration with Shinwhajin, and running on ddenlovr.cpp hardware.
The first one is called Kkot Bi Nyo, and is the korean clone of Hana Kanzashi:
The second one is an update of the same game, Kkot Bi Nyo Special (I guess we don't emulate the Japanese original):
More to come...
The Odalisque Dance
Well, it seems obscure games coming from Italy are all the rage now, see Haze's blog
on the recent Planet Probe success.
Congratulations to all involved!
Below you'll find some preliminary screenshots of Harem running in MAME. It's a 1983 arcade game by Italian I.G.R.
There are several reasons why this game is interesting, none of them unfortunately has to do with its quality...
First, it's a rather obscure production (prototype?) as only one PCB has ever surfaced since it was produced,
and very little information can be found online. Second, it's one of the few original arcade games developed in Italy,
and the only game ever produced by I.G.R., a company which sunk into oblivion soon after presenting its game that year
at the ENADA exhibition (International Amusement & Gaming Machine) in Rimini, Italy.
Third, it's been in MAME for 12 years as non-working, flagged as BAD_DUMP and encrypted, which surely scared devs off.
And lastly there's the subject matter, a game set in a chlichéd Middle East where you have to chase women
on camels, cars and tents and forcefully take them to the beds at the bottom of the screen...
The hardware is yet another variation in the scramble.c driver. One of the program ROMs is bitswapped (easily dealt with),
but still parts of it did not make sense code-wise. I figured out that's because opcodes and data are encrypted differently,
and furthermore there are three different encryptions (6 bitswaps total) which can be selected at run-time though a serial
I also shot a video of the game albeit colors are probably off, and speech from a Texas Instruments TMS5110 chip is missing (any takers?):
Many thanks to Dave Hollister for preserving the game in 2000, and to hap for writing
some notes on the encryption while identifying the hardware type, which caught my eye.
Taming the Son of Fire Lady
I'm definitely on a SunA de-protection spree... the victim this time is Spark Man a platformer/shooter
inspired by titles such as Rolling Thunder, Green Beret and Sly Spy.
Effectively an improved, slicker and more polished sequel to SunA's own Rough Ranger.
You may have seen this news coming given the two previous posts
and the fact that sparkman was the last non-working game in the driver (suna8.cpp).
The protections are in fact comparable to those in Star Fighter (yet a good deal less nasty than those found in Brick Zone):
different encryption of data and opcodes, address line scrambling, sound latch and RAM writes disable, ROM bank latching, mirroring, NMI disable
and an additional one bit protection I've patched out (for now). The usual drill really.
Where this game posed an unexpected challenge was in its use of two sprite "chips". I'm using the latter term loosely,
as the sprites/tilemaps functionality appears to be implemented with several components scattered around the RAMs/ROMs for the respective "chip".
This makes for a more complicated sprite RAM/chip banking. Also the samples have been doubled, with an additional bit used to select
the relevant ROM by the sound CPU (a bit that is, in fact, wait for it... obfuscated through protection).
Here's a visual round-down of the 9 levels played through:
A video of the attract and game play of the first two levels:
Big thanks to Stefan Lindberg for providing a video of the real thing running (from the other set in MAME).
It has proven invaluable for getting the emulation right and it sped up the process by an order of magnitude. Also, check out his amazing PCB pics.
Battle for the Sun(A)
An update on my ongoing efforts to defeat the protection in the remaining SunA games.
After Brick Zone (see previous post),
another game has capitulated... Star Fighter, an obscure vertical shooter from 1990.
The protections involve: different encryption of data and opcodes, address line scrambling (controllable at run time),
sound latch and RAM writes disable, sprite and ROM bank latching, mirroring, NMI disable. Plus some other stuff I've patched out.
If the protection checks or the ROM checksum tests carried out throughout the game fail you get:
invisible/wrong enemy waves, crash on level 1 boss, random flipping of background tiles, corrupt game state,
wrong random sound codes, no enemies after continue, wrong sprite bank, stuck player, etc.
In addition to this, the video hardware emulation needed a little tweaking on the tiles banking part too, for good measure.
Anyway here are screen shots of the 8 levels of the game played from start to end (pretty hard by the way, had to cheat with infinite lives):
Video of the attract and first level being played:
For the curious this is an image of the contents of the epoxy brick containing the main CPU:
I'm now looking at the last non-working game in the driver with renewed interest...
Beyond the Brick Zone... Alive!
SunA is a Korean company whose arcade output is covered in this interesting article.
As you can see the originality of their production is questionable, but the execution and graphics are not bad for the time.
In the past I have emulated both SunA's 16-bit and 8-bit hardware (suna16.cpp, suna8.cpp) and
unfortunately many of their earlier games have another, much less pleasing feature in common: use of encryption and protection.
This includes games such as Hard Head and Hard Head 2 that I got up and running long ago, as well as
the more coriaceous Star Fighter, Spark Man and Brick Zone that have instead been languishing in non-working state
to this day.
Recently I (took a deep breath and) had another look at Brick Zone to see if anything could be moved further.
This Arkanoid clone uses: different encryptions for data and opcodes; run-time tweaking of both data and opcode decryption;
encrypted palette ram; run-time disabling of main and palette RAM writes; multiplexing of different hardware on the same address according to
sequences of values written to the protection registers; a lot of obfuscated protection tests, including some red herring, in key moments (e.g. bosses)
that produce consistent gameplay malfunctions if not passed.
The fact that the sprite-based video hardware is a bit on the "unnecessarily convoluted" side is just the icing on the cake.
As you can see the attempt has been successful although it forced me to follow and heavily comment a substantial portion of the game code disassembly (Z80):
I don't claim a perfect emulation, some bugs may still be lurking in some of the 100 stages, but the game is now promoted to working state.
It turns out the parent set shown in this post, which is version 5, is the joystick version,
and uses the second button to activate a short supply of "shields". The other set dumped is an earlier version 4 and actually a spinner
version (compatible with Arkanoid spinners), but without the "shield" feature.
Here is a video (joining the 21st century and all that) of the first few levels:
I'm now looking at the other two non-working games in the driver with renewed interest...
Jaleco's Stickers (part 2)
Guru salvaged a Jaleco PCB that sat at the back of an arcade repair workshop for about 15 years.
It turned out to be another version of Nandemo Seal Iinkai,
i.e. the software for a photo booth done in collaboration with I'Max:
In this version the foregrounds to choose from are manga oriented,
featuring Osamu Tezuka's Astro Boy, Black Jack and more.
Thanks to Guru
Return of Dynax
Three Dynax Mahjongs were just sent from Japan to Australia, thanks to our Chinese contacts...
First in line is Mahjong Janshin Plus (1996, licensed to Sigma):
Then Mahjong Dai Touyouken (1996, licensed to Sigma), almost the same PCB as above:
Finally Return Of Sel Jan II (1996):
All games use the blitter-based hardware in ddenlovr.cpp.
Thanks to Guru, Dyq, bnathan
The First Funcube
The very first chapter in Namco's Funcube game series is also the last one to be emulated:
The original three mini-games were: dog must flush out 4 cats, an animal themed game of cards matching and a color adjacency game needing fast reflexes.
The other Funcube chapters are discussed here:
Thanks to Guru and Yasuhiro Ogawa
Out of the blue comes a nice and polished variation of the card game Speed. It's in Japanese
and sports cutesy, cartoonish graphics:
The game features a two-player mode for vs. cocktail cabinets, in addition to a computerized opponent for single player. In both
instances you basically try to overrun rather than outsmart the other player. There's a video of the real thing running here.
The PCB is bog-standard first-get seta.cpp hardware, with just an additional board to drive the light display above the cabinet.
In other news, I've emulated the bitswap protection(s) in Mahjong Long Hu Zheng Ba 2, so that works too now.
Thanks to NoVArcade
The fifth (and final) chapter of Namco's Funcube series has been emulated:
The three mini-games this time are: a puzzle with Japanese words, a pirates-themed gambling and a match 3 with poker cards.
See here for previous chapters.
In other news, I've decrypted sprites, tiles and palette in Mahjong Long Hu Zheng Ba 2:
and Mahjong Shuang Long Qiang Zhu 2:
These games are well protected, so they don't work yet beyond what is shown here.
Thanks to Guru, bnathan, Dyq, Yohji, Tormod, Smitdogg and The Dumping Union
Read posts from last year