David Haywood's Homepage
MAME work and other stuff
December 8, 2015 Haze Categories: General News. 16 Comments on Lady Bugs like to Fight

One of the great things about having a fully merged MAME/MESS project is that it gives exposure to some things that might otherwise be missed.

plgDavid recently picked up (for the costly price of 600$) the last remaining undumped Casio PV1000 game cartridge, a port of Universal’s Lady Bug known on this platform as Fighting Bug.

The PV1000 was a simple system and received basic but original ports of a handful of arcade classics from around the period it was sold.

There isn’t really a huge amount I can say about the game, it’s Lady Bug, it plays a decent game, if you didn’t have access to an arcade then it would have been a nice piece of software to have at home back in the day. I’m glad to see it’s been preserved.


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

16 Comments

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

Hi David :)

Apologies in advances for posting this on your Fighting Bug article, as it’s a question about Fruit Machine emulation in MAME – but I see you did some work a few years ago sorting all the ROMs out, and other technical stuff.

I have written a converter, to convert MFME layouts to MAME layouts. It works pretty well, but it isn’t finished yet – I am struggling with the ‘clickable buttons’. I have them partially working for the Scorpion 2 hardware for instance, but not for the MPU4 hardware.

I started a thread on a fruit machine emulation site here, it has links to screenshots and a downloadable demo of 6 games running:

http://dadsfme.co.uk/index.php?topic=303.0

I was wondering if I could perhaps pick your brains on whether button input is actually emulated for MPU4 and other techs, and whether the “inputtag” is different to the STROBEx values that work for the scorpion machines.

Anyway, sorry again for hijacking an unrelated blog post, and thanks very much in advance for any advice you can give me, even if it’s: “go figure out how the Scorpion STROBE input was implemented and add it yourself to the MAME codebase”! :)

And thanks so much for getting all these fruit machines integrated into the excellent MAME project! This also drives my MKII MAME cabinet, and portable Sony Xperia Play mobile phone MAME setup ;)

Cheers,
John :)

You said that this game was the last undumped game, but I can not find anywhere on the net more than 5 games. Wikipedia says :
“Only 15 games for the Casio PV-1000 were released…”
1. Pooyan
2. Super Cobra
3. Tutankham
4. Amidar
5. Dig-Dug
6. Warp & Warp
7. Turpin
8. Pachinko UFO
9. Fighting Bug
10. Space Panic
11. Naughty Boy
12. Dirty Chameleon
13. Excite Mahjong
(2 are missing from the list ?! unreleased/unknown ?)

Also, I would like to know is there a possibility of running a CDI games in MAME (MESS-side) because it keep telling me that I am missing cdi200.rom, cdic.bin and slave.bin ?
I am running MESSUI 168 64 bit.

CTOJAH> the MAME Software List file answers your questions
https://github.com/mamedev/mame/blob/master/hash/pv1000.xml

The lowest game code is GPA-101, the highest game code is GPA-115.

* GPA-108 – ??? [possibly no game used this ID]
* GPA-113 – ??? [possibly no game used this ID]
these appear to be unused, nobody has seen evidence of them, they could of course just be very, very rare.

The thing you need to know about the Software List files is that we only list things if they’re available, so yes, all 13 games there can be found.

Any MAME roms site offering a MAME Software List torrent will have everything listed (aside the one covered here, because it’s only just been added and most sites sync on releases) the same applies to your CDI question, any good MAME ROM site with a complete romset will have the CDI bios files in there (as well as CDI CHDs in the Software List CHDs torrents) however 95% of CDI software doesn’t work worth a damn at the moment, it’s good if you want to play Hotel Mario, but not many others.

John Parker> the default input port setup for MPU4 is a bit different

the port names are
ORANGE1
ORANGE2
BLACK1
BLACK2
DIL1
DIL2
AUX1
AUX2

So you need to use those as the input tags instead in order for the layout to find the ports

I believe these refer to the connectors on the board.

In SC2 the ports are all named STROBEx, as you’ve observed. If in doubt in the future try to find the input port structure in the driver.

Thanks for putting some time into these btw, I know MAME isn’t (currently) the first choice emulator for a lot of people with them, and my own efforts rather stalled, (too many other things going on and other promises of improved artwork code in MAME never happening) but a good community of people behind the drivers would do them a world of good, MAME really does have the potential to be the best in the field if the work is put in. I should probably see if it’s possible to bypass the startup error on the Scorpion 5 sets at some point.

INPUT_PORTS_START( mpu4 )
PORT_START(“ORANGE1”)
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“00”)// 20p level
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“01”)// 100p level
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“02”)// Token 1 level
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“03”)// Token 2 level
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“04”)
PORT_CONFNAME( 0xE0, 0x00, “Stake Key” )
PORT_CONFSETTING( 0x00, “Not fitted / 5p” )
PORT_CONFSETTING( 0x20, “10p” )
PORT_CONFSETTING( 0x40, “20p” )
PORT_CONFSETTING( 0x60, “25p” )
PORT_CONFSETTING( 0x80, “30p” )
PORT_CONFSETTING( 0xA0, “40p” )
PORT_CONFSETTING( 0xC0, “50p” )
PORT_CONFSETTING( 0xE0, “1 GBP” )

PORT_START(“ORANGE2”)
PORT_CONFNAME( 0x0F, 0x00, “Jackpot / Prize Key” )
PORT_CONFSETTING( 0x00, “Not fitted” )
PORT_CONFSETTING( 0x01, “3 GBP” )
PORT_CONFSETTING( 0x02, “4 GBP” )
PORT_CONFSETTING( 0x08, “5 GBP” )
PORT_CONFSETTING( 0x03, “6 GBP” )
PORT_CONFSETTING( 0x04, “6 GBP Token” )
PORT_CONFSETTING( 0x05, “8 GBP” )
PORT_CONFSETTING( 0x06, “8 GBP Token” )
PORT_CONFSETTING( 0x07, “10 GBP” )
PORT_CONFSETTING( 0x09, “15 GBP” )
PORT_CONFSETTING( 0x0A, “25 GBP” )
PORT_CONFSETTING( 0x0B, “25 GBP (Licensed Betting Office Profile)” )
PORT_CONFSETTING( 0x0C, “35 GBP” )
PORT_CONFSETTING( 0x0D, “70 GBP” )
PORT_CONFSETTING( 0x0E, “Reserved” )
PORT_CONFSETTING( 0x0F, “Reserved” )

PORT_CONFNAME( 0xF0, 0x00, “Percentage Key” )
PORT_CONFSETTING( 0x00, “Not fitted / 68% (Invalid for UK Games)” )
PORT_CONFSETTING( 0x10, “70” )
PORT_CONFSETTING( 0x20, “72” )
PORT_CONFSETTING( 0x30, “74” )
PORT_CONFSETTING( 0x40, “76” )
PORT_CONFSETTING( 0x50, “78” )
PORT_CONFSETTING( 0x60, “80” )
PORT_CONFSETTING( 0x70, “82” )
PORT_CONFSETTING( 0x80, “84” )
PORT_CONFSETTING( 0x90, “86” )
PORT_CONFSETTING( 0xA0, “88” )
PORT_CONFSETTING( 0xB0, “90” )
PORT_CONFSETTING( 0xC0, “92” )
PORT_CONFSETTING( 0xD0, “94” )
PORT_CONFSETTING( 0xE0, “96” )
PORT_CONFSETTING( 0xF0, “98” )

PORT_START(“BLACK1”)
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME(“Hi”)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME(“Lo”)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“18”)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“19”)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“20”)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME(“Test Button”) PORT_CODE(KEYCODE_W)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME(“Refill Key”) PORT_CODE(KEYCODE_R) PORT_TOGGLE
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_INTERLOCK) PORT_NAME(“Cashbox (Back) Door”) PORT_CODE(KEYCODE_Q) PORT_TOGGLE

PORT_START(“BLACK2”)
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“24”)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“25”)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME(“Cancel”)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME(“Hold 1”)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME(“Hold 2”)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_NAME(“Hold 3”)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_NAME(“Hold 4”)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_START1)

PORT_START(“DIL1”)
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION(“DIL1:01”)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION(“DIL1:02”)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION(“DIL1:03”)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION(“DIL1:04”)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
PORT_DIPNAME( 0xF0, 0x00, “Target Percentage (if key not fitted)” )PORT_DIPLOCATION(“DIL1:05,06,07,08”)
PORT_DIPSETTING( 0x00, “Unset (Program Optimum)” )
PORT_DIPSETTING( 0x10, “70” )
PORT_DIPSETTING( 0x20, “72” )
PORT_DIPSETTING( 0x30, “74” )
PORT_DIPSETTING( 0x40, “76” )
PORT_DIPSETTING( 0x50, “78” )
PORT_DIPSETTING( 0x60, “80” )
PORT_DIPSETTING( 0x70, “82” )
PORT_DIPSETTING( 0x80, “84” )
PORT_DIPSETTING( 0x90, “86” )
PORT_DIPSETTING( 0xA0, “88” )
PORT_DIPSETTING( 0xB0, “90” )
PORT_DIPSETTING( 0xC0, “92” )
PORT_DIPSETTING( 0xD0, “94” )
PORT_DIPSETTING( 0xE0, “96” )
PORT_DIPSETTING( 0xF0, “98” )

PORT_START(“DIL2”)
PORT_DIPNAME( 0x01, 0x00, “Token Lockout when full” ) PORT_DIPLOCATION(“DIL2:01”)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused )) PORT_DIPLOCATION(“DIL2:02”)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x00, “Scottish Coin Handling” ) PORT_DIPLOCATION(“DIL2:03”)//20p payout
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, “Out of Credit Display Inhibit” ) PORT_DIPLOCATION(“DIL2:04”) // many games need this on to boot
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x00, “OCD Audio Enable” ) PORT_DIPLOCATION(“DIL2:05”)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x00, “Coin Alarm Inhibit” ) PORT_DIPLOCATION(“DIL2:06”)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x00, “Token Refill Level Inhibit” ) PORT_DIPLOCATION(“DIL2:07”)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x00, “Single Credit Entry” ) PORT_DIPLOCATION(“DIL2:08”)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )

PORT_START(“AUX1”)
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“0”)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“1”)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“2”)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“3”)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“4”)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“5”)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“6”)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(“7”)

PORT_START(“AUX2”)
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_SPECIAL)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_SPECIAL)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_SPECIAL)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_SPECIAL)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_COIN1) PORT_NAME(“10p”)//PORT_IMPULSE(5)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_COIN2) PORT_NAME(“20p”)//PORT_IMPULSE(5)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_COIN3) PORT_NAME(“50p”)//PORT_IMPULSE(5)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME(“100p”)//PORT_IMPULSE(5)
INPUT_PORTS_END

I’ve managed to find all PV-1000 games – Thank You.
Regarding CDI emulation, maybe I am doing something wrong ?!
I have cdimono1.zip with 2 files inside zip :
– cdi220b.rom
– cdi200.rom
Is this the right bios ?
Where exactly I should put this zip file ?
As I said, I am using MessUI 168 64 bit. I’ve created folder and named it “bios” and put the bios (cdimono1.zip) in there. Then I pointed MessUI to look there (ROMs directory) but after refreshing/auditing emulator says :
cdi200.rom not found
cdic.bin not found
slave.bin not found
What’s goin’ on ?

@CTOJAH they need to be in your rompath if using a messui.ini

It’s basically the same as a machine requiring a game, so it goes into roms folder by default. You don’t need a folder named bios.

http://www.progettoemma.net/mess/system.php?machine=cdimono1

[code]
J:\MAME>mame64 -listroms cdibios
ROMs required for driver “cdibios”.
Name Size Checksum
cdi200.rom 524288 CRC(40c4e6b9) SHA1(d961de803c89b3d1902d656ceb9ce7c0
2dccb40a)
cdi220b.rom 524288 CRC(279683ca) SHA1(53360a1f21ddac952e95306ced64186a
3fc0b93e)
cdic.bin 8192 NO GOOD DUMP KNOWN
slave.bin 8192 NO GOOD DUMP KNOWN

J:\MAME>mame64 -listroms cdimono1
ROMs required for driver “cdimono1”.
Name Size Checksum
cdi200.rom 524288 CRC(40c4e6b9) SHA1(d961de803c89b3d1902d656ceb9ce7c0
2dccb40a)
cdi220b.rom 524288 CRC(279683ca) SHA1(53360a1f21ddac952e95306ced64186a
3fc0b93e)
cdic.bin 8192 NO GOOD DUMP KNOWN
slave.bin 8192 NO GOOD DUMP KNOWN

J:\MAME>mame64 -verifyroms cdibios
cdibios : cdic.bin (8192 bytes) – NOT FOUND – NO GOOD DUMP KNOWN
cdibios : slave.bin (8192 bytes) – NOT FOUND – NO GOOD DUMP KNOWN
romset cdibios is best available
1 romsets found, 1 were OK.

J:\MAME>mame64 -verifyroms cdimono1
cdimono1 : cdic.bin (8192 bytes) – NOT FOUND – NO GOOD DUMP KNOWN
cdimono1 : slave.bin (8192 bytes) – NOT FOUND – NO GOOD DUMP KNOWN
romset cdimono1 is best available
1 romsets found, 1 were OK.[/code]

those files go in cdimono1.zip
place cdimono1.zip with the rest of your MAME roms.

the only difference between a console / computer and the arcade stuff in MAME is that they typically don’t have a game built in, so the machine doesn’t do much interesting unless you add a software item from the software lists, otherwise the roms go in the same place etc.

GPA-113 is Front Line, but it’s either unreleased or very rare, the “normal” release was for PV2000.

@B2K24 & @Haze
Thanx for the answers.
I already knew all that, the thing was MessUi has some strange/stupid bug which I founded after pretty long investigation :
You should name the folder “roms” – Any other name, for some reason is not acceptable by MessUi ??!!!
In my case, I renamed bios folder to roms folder and all of a sudden the emulator (frontend) started to work properly !
Anyhow, I’ve tried a few games for that driver/console (CDI) and I am pleasantly surprised that Dimo’s Quest, Arcade Classics and Zenith work just fine !
Unfortunately my favorite games for the system The Apprentice and Pyramid Adventures Episode 1 Treasures of the Lost Pyramid show nothing at all :(
Also Christmas Country starts OK and ask for add-on (Digital Video Cartridge) and I do not know how to insert the cartridge ?! (if that option is possible in emu)
P.S. The Apprentice is fully playable in CD-i Emu v.0.5.2. The only downside is the game is controlable ONLY with mouse and I don’t know how to assign controls to keys if that option is available at all.

The Apprentice is a weird cd-i Ready format image, which means it has data in the pregap of the first audio track (which most CD players will skip – it’s how some hidden songs work) rather than a separate data track.

This isn’t really well defined for most CD image formats, however the set that is listed in the CHD Software List should work (at the very least it used to – with a few issues like wrong music / some gfx garbage at the edges) as it’s technically a ‘bad’ image with the first track set as a data track, which means it gets picked up (the CHD format / driver struggles with the idea of data in an audio track, I’m guessing it works on the real thing because the idea of a ‘cuesheet’ is just a weird made-up concept anyway)

As for things requiring the video board, no they won’t work at all, we can’t emulate it due to MPEG patents.

@Haze – thanks you *SO MUCH* for this information – I will do a proper reply via email, I’m very aware I’ve hijacked your Fighting Bug blog comments! :)

$600 for that? wow…

yeah, we’re just about priced out the market on some things now..

due to bridges burned by certain people we’re seeing more ‘anti-MAME’ feeling, as well as a lot of people who suddenly feel they can charge ridiculous amounts for anything unemulated, even if it’s garbage, and people buying boards for ridiculous prices just to try and sell them for even more ridiculous ones.

makes me sick that people are that selfish, when in the end we’re just going to see a situation where a lot of things ARE lost forever because people cared more about their personal fortune and bragging rights than the long-term implications of what they’re doing.

there was some clown trying to sell a bootleg galaxian conversion with a ROM missing for a similar amount recently just because the game was undumped… even if we’d paid it we would have been left with a partially working game and needed another, it’s an absolute joke. needless to say we’ve simply blacklisted them and won’t be purchasing ANYTHING else from them, no matter how rare.

(by we I mean the MAME community)

@Haze I had no idea this went on with the board traders (gouging because the roms aren’t dumped yet), that’s a really sad situation :(

it’s always happened, especially in Japan, but lately it’s happening to a degree that we’re going to end up looking back on in 30-40 years and see really harmed the preservation efforts.

I guess a strategy might be to purchase the board under an alias, dump it but don’t tell *anybody* you dumped it, then resell it for a similar markup price? Once it’s sold, you can then share the binary dumps, and set up a new alias for the purchase of the next board. Such a shame to have to resort to this level of deviousness though!

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