David Haywood's Homepage
MAME work and other stuff
November 16, 2013 Haze Categories: General News. 7 Comments on A Little Happier..

In order to the the ‘V100’ set of The Gladiator running I had to analyze the ARM code a little more. It quickly became apparent that the V100 set expected a different internal ROM, with the code offset fro what all the other sets expect.

For this reason I actually have a feeling it might be pre-V100 despite identifying itself as V100, because the internal ROM we have is supposedly ‘V100’ and it clearly expects an earlier one. I have a feeling the true V100 release is that found on the PCB version.

Anyway what I found was that all jumps to the internal ROM were done through a table of function pointers, so as a temporary solution (until we can find that actual cart again) I patched it to call the functions in the internal ROM we have, ugly, but effective.

However, I noticed another thing after poking around a bit. The table of function pointers in Happy 6 was the exact same length as The Gladiator, and by applying the same patches there the game actually started to boot. You can coin it up, possibly because in reality it needs a different ROM (we have a cart on the way for analysis) but the game can now run through it’s attract mode.

There was a further problem with Happy 6, unlike all the other IGS PGM originals it had address scrambled graphic roms / sound roms as well. I found this a little strange because typically only the nasty bootlegs employed such techniques, but it was easy enough to deal with.

I guess the function pointer table was the same because the codebase is actually built on the same code as The Gladiator was, and the internal ROM acts a bit like a bios. If you observe the high-score table sequence in Happy 6 the presentation of it is almost identical to The Gladiator for instance.

Please note, this game is NOT playable yet.


Happy 6-in-1 Happy 6-in-1

Happy 6-in-1 Happy 6-in-1

Happy 6-in-1 Happy 6-in-1

Happy 6-in-1 Happy 6-in-1

Happy 6-in-1 Happy 6-in-1

Happy 6-in-1 Happy 6-in-1

Happy 6-in-1 Happy 6-in-1

Happy 6-in-1 Happy 6-in-1

Happy 6-in-1 Happy 6-in-1

Happy 6-in-1 Happy 6-in-1

and before you ask, no, I can’t use the same trick on Spectral Vs. Generation, the jump table is much bigger so clearly isn’t a 1:1 match in terms of the functions it should be calling.

Hopefully when we get the cart the remaining issues can be solved, assuming they’re not caused by my simulation of the Execute Only area, but either way we really should run the proper code! The fact this runs as well as it does is a surprise.

Note, when set to Singapore the title logo is different (there IS an Overseas codepath in the code, but as none of the game is localized to English I doubt it was ever shipped as that) Also if you enable ‘Girls’ in the Dragon World game (Test mode option) there is a small subtitle on the screen.


Happy 6-in-1 Happy 6-in-1

7 Comments

You can follow any responses to this entry through the RSS 2.0 feed.

What is the situation with Photo Y2K 2 ?

Will need behavior analysis like Puzzli 2, ARM rom can only be extracted if there is a weak command (on Puzzli 2 there were no weak commands so we needed to simulate it all)

Again, we have a board for that on the way to the guy who is running my tests.

Whoa! Nice one Haze keep going.

You still need to work on igs_m027.c, igs_m036.c and igs009.c drivers.
They are all part of PGM/IGS Familly, i know they are not part of PGM Bios.

“igs011c 100% ok.
igs017.c need to fix a few games.
igspc.c – 2 games
igspoker.c – 1 game only”

This one’s don´t belong from your work.
It’s only a list who belongs to this company.

I see in http://git.redump.net/ new improvement efforts in “Area 51” driver.

Haze: What is in this year the progress in “Area 51:Site 4”?

Can you look the driver ? (Only see a little progress by smf and by Kale time ago).

Cheers.

Great job.
Yes,I saw”情色篇“,which means porn sections.

Wooo! This is hentai right?

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