David Haywood's Homepage
MAME work and other stuff
December 11, 2017 Haze Categories: General News. 35 Comments on PGM2 (Oriental Legend 2) card use

The PGM2 system allowed for use of Memory Cards (supplied by the arcade, specific to each game / region) in order to save Character progress. Each card allows for a limited number of saves (500?) but allows you to store items, XP and money your character has acquired and reuse them between playthroughs. For the 0.193 release (or current GIT code) this is supported.

The English language version of Oriental Legend 2 does NOT have this feature (and the game is rebalanced to not require it) however the Chinese version does use it, so knowing how to use it in MAME makes sense.

Anyway, using it…

Once you get to the character select screen you’ll be presented with a 10 second timer to insert a memory card. It’s recommended you pause MAME at this point (with p)

It’s worth noting that without a memory card the bottom 2 characters are locked,you can’t move the cursor over them without inserting a memory card.

Oriental Legend 2

Bring up the tab menu, go to File Manager

Oriental Legend 2

from filemanager select ‘memcard1’

Oriental Legend 2

and from the next menu select ‘create’ as this will allow us to create a blank (default) memory card

Oriental Legend 2

Type in the name of your new memory card, with a “.pg2” extension (I used oriental2.pg2) (note, MAME is silly, so pressing p when typing pg2 will actually unpause it, so don’t take too long here)

Oriental Legend 2

Select ‘Create’

Oriental Legend 2

and you’ll see that the memory card is inserted in memcard slot 1. You can now close the menu with tab

Oriental Legend 2

and choose your character (I chose the bottom left one that is now unlocked)

Oriental Legend 2

you can now enter a name, I’m not actually sure how this screen works as it’s all very Chinese.

Oriental Legend 2

you’ll see that you start the game as level 0, with 1500 gold.

Oriental Legend 2

so play it a little bit, level up, collect some gold etc.

Oriental Legend 2

At this point (for the purpose of our testing) allow your character to die, so that you get the Game Over message (if your character doesn’t die no progress is saved) Take note, we’re a LV01 character (progressed from LV00) and have 1521 gold pieces.

Quit MAME, reload MAME and get back to the character select screen.

You’ll be prompted with the ‘insert card’ screen you saw before, again it makes sense to pause the game here.

Bring up the tab menu, select file manager, select the first Memcard slot as before

Oriental Legend 2

This time, instead of selecting ‘create’ you should scroll down the file browser (or type the name of the filename previously used) and select that file

Oriental Legend 2

The game will take a brief moment to read the card, and tell you a value (I believe the number of writes left on the card)

Oriental Legend 2

It will then show you equipment you have etc.

Oriental Legend 2

And then you’ll be back at the game. Note, the character is ‘LV01’ (not LV00) and has 1521 gold pieces, exactly as it was left when we killed the character off earlier.

Oriental Legend 2

Knights of Valour 2 New Legend has a similar feature.

Note, the default (blank) cards have been added to the romsets, so you’ll need updated roms.

*edit* after some new information about the actual Card Reader came to light here are the new default card images, that include some additional ‘security data’ used as unlock passwords, current GIT requires these, old 256 byte memcard images are invalid.


(*edit2* the blank cards are part of the romsets for each game / region)

Thanks to MetalliC for reverse engineering and implementing the Card Reader MCU logic.


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

Very nice,…..good work!

….but I guess this still brings no new light to the hack-to-prevent-crash problem…

the crash was an ARM bug, it should have been fixed a while back

(unless it’s started happening again?)

Thanks for the info….guess I’ve missed that on git somehow…..

Sorry Haze yo can remove this card support or enabled the activation option: enabled/disable.
Sorry but whit this option enabled in default can disturb those who do not like to insert the card.

In the v0.192 stable version Oriental Legend 2 work fine without this support, ingame is posible
it is possible to change the characters and select the two secret characters without problems.

Sorry but the card option regard the continuity and autosave for a unique characters selected,
preventing choose other characters, preventing choose other characters :(

Please remove or disable the autoload of cards, preventing choose other characters.

I like much your work but i think that card option it must only be an very external support,
without ruining the normal arcade situation. Many may annoy, do not like, get angry because
they can not select the two secret characters in the arcade mode without the presence of cards.

Good work ;)

How MAME handles it will depend on what the real hardware does.

I was told before that the real hardware will run in card mode even if no card readers are attached (if it finds the card MCU on the motherboard it runs in card mode) and that the mode MAME ran in previously never happens in real hardware. In that case MAME will never run like 0.192 because it isn’t a real mode that exists on hardware.

If you don’t like ‘card mode’ then don’t insert a card. If you don’t insert a card you can change characters when you die just as before. You can’t pick the secret character, no, because the game is not designed for you to do that.

MAME will not change the behavior to one that did not exist on real hardware just because you don’t like it. If further evidence comes to light that says the game runs in ‘no card’ mode if you don’t connect the readers, then MAME might offer that option however everything people have said so far suggests that this isn’t the case.

This is the correct way the arcade game functioned based on the information available to us.

Furthermore apparently you can’t even play Kov3 properly without cards, as the game is built around the assumption that they exist, and that the character will be reused multiple times to complete the game. These are an integral part of what makes PGM2 different from PGM1, at least for the 1st party IGS games.

I understand but it’s okay with v0.192 why change?
Unfortunately, the Chinese community wants this, but I think many may not like it.
Without using card support it can work the same, in “arcade mode”
many people may not care about or create problems.

Please grant this option only as a external support,
do not change how you structured with stable v0.192 :(

The games were marked as NOT WORKING in 0.192 BECAUSE the card reader wasn’t emulated

The change was the correct emulation of the card reader, and reason they are now marked as WORKING is because of that, it’s progress. We’re always going to make progress.

It’s not going back to how it was in 0.192. I don’t care what the Chinese community wants, I care about emulating the system properly. 0.192 was WRONG and BAD EMULATION.

There is a way to disable the autoload and select the characters during the game?

The problem of card is that work in rapidly autoload, selected a character, it is not possible to change other,
plays the same character, hateful not to be able to change during the game.

Sorry if i disturb, i like these games and i find myself in trouble with the cards. :(

If you don’t insert a card it won’t auto-load anything. (and you can change character during game)

If you insert a card it will load the character on the card (and you can’t change character during the game – the character is stored on the card)

That is how the card system is designed to work, and how MAME emulates it.


Maybe I understood, the original Chinese PGM2 cabinet
used the cards related to a single character, in game si possible change the character,
was enough to extract and insert a different card (different characters in dead moment)

I believe that this operation was only done with the original cabinet
through the physical cards, it will never be possible to do it in emulation.
The only solution is to create card files related to the single character,
when you lose the last life select which card to insert,
for example: card 1, card 2, card 3, card 4, card 5 or card 6.

Each card must be dedicated to a single character (saved to a sigle character)
but there must be the possibility to change the card, this is important. ;)

Sorry, re-link the image: http://it.tinypic.com/r/bdpbuh/9

well yes, you can eject the card in MAME if you want.

If it works on hardware, it should work on MAME just the same.

if you want to remove a card from a slot just choose ’empty slot’ instead of ‘create’ or selecting a file, and the card will be ejected.

The only problem at this point is the Chinese language,
which certainly does not help, do not understand anything :(

I tried some GIT 11/12/2017, some have the autoload,
it is not slow! :( Is very ugly the rapid autoload :(

Very nice to see all the features emulated! Thanks for your work!
I don’t own orl2 anymore and don’t remember. But as I thougth, even without any card reader connected the mainboard the 2 additional characters are still greyed and not available?
Also any progress made on dunping the other games? The same dump methode can work also with them?

DarkDragon: this is why MAME has a built-in cheat system, to allow the kind of “improvements” you’re asking for to be done separately from the emulation itself which will always stick to what the original machine did. Someone in the community will probably do a character unlock cheat much like was done in the past with fighting games that don’t unlock characters until the machine has been powered on for hours. Go ask the guys at http://www.mamecheat.co.uk/forums/ rather than bothering MAMEDEV.

Hmm… just a question: is it somehow possible to use real SD (or micro) cards with physical card readers in Mame ?

I can’t see that working, it’s entirely different tech and doing anything like that in MAME would be a massive kludge.

these things hold ~256 bytes

I think you and the team rock, Haze. Whoo hoo! Thanks!!!

So games can now be promoted to WORKING ?

Haze have a good idea, why do not you add the alternative set for the China version?

kov2nla ::: Knights of Valour 2 New Legend (V302, China) Alternative Set (No Card Support)
kov2nl_300a ::: Knights of Valour 2 New Legend (V300, China) Alternative Set (No Card Support)
kov2nl_301a ::: Knights of Valour 2 New Legend (V301, China) Alternative Set (No Card Support)
orleg2_101cna ::: Oriental Legend 2 V101, China) Alternative Set (No Card Support)
orleg2_103cna ::: Oriental Legend 2 V103, China) Alternative Set (No Card Support)
orleg2_104cna ::: Oriental Legend 2 V103, China) Alternative Set (No Card Support)

Please you can create and add this alternative set whithout the card support in China version?
I think it’s important for everyone, have the possibility to choose to play the original set with card support
or the alternative set without card support. The Oversea version is ok, work fine but not have the possibility
to choose the two extra characters, in MAME v0.192 stable version or firts git to v0.193 the China version
work fine whitout the card support, can marked to WORKING in orange or yellow color, (working whit propblems)
but that does not matter, the important thing is to have these alternative roms as a set.

Please, add this alternative set :(

orleg2_104cna ::: Oriental Legend 2 V104, China) Alternative Set (No Card Support)

The alternative set (No Card Support) allows you to choose the two extra characters in a hack way

Lost the last life pres the continue

you can select other charaters

and plays with all the characters without problems.

Sometimes can give an error or freezing, it’s normal but
flying over this the gameplay is good, there is no complaining!!!

This alternative set can marked WORKING with problems,
yellow or orange color (no green) because work well
except for some problems that we can ignore.

For the last time


I’m only supporting configurations that actually existed.

Any further posts on the subject will deleted

If you continue to post after that then all your posts will be deleted.

Ok i apologize, a question: it is possible to insert in the official
MAME some The King of Fighters Anniversary Edition Hack?
kof96ae – The King of Fighters 96 Anniversary Edition (Hack) rom updated to latest version
kof98ae – The King of Fighters 98 Anniversary Edition (Hack) rom updated to latest version
kof99ae – The King of Fighters 99 Anniversary Edition (Hack) rom updated to latest version

It is possible to make this exception, because they are
very popular versions even though they are not official.
Wait your comment… ;)

Unless they are being widely used in arcades on actual hardware then they will not be added.

Lol, what a persistant fellow.

Good job as always Haze, is the data on the memory card encrypted in some way ? Is it possible to just edit it, change level, gold and load it in MAME ? Just curiousity of how this very strange setup was implemented on the arcades.

Thanks !

It looks like the game code does encrypt the data saved to memory card, yes, I haven’t studied the scheme used tho.

You could probably quite easily ‘cheat’ it just by using MAME’s cheat engine tho, and changing the amount of gold you have; I assume next time it saves to the card it will save whatever amount it thinks you have.

Card systems have been around for a while, even the NeoGeo had one, but it wasn’t really used in the same way as you see here. They started to become more ‘popular’ around the mid-late 2000s as a way for arcade developers and operators to get more money out of people, maybe as a way to try and compete with ‘net-cafe’ type locations where players would play MMO games as it introduces similar ‘grinding’ mechanics where you become more attached to your specific character, and therefore feel the need to keep coming back to play.

I say ‘popular’ because it seems to have divided opinion, a lot of people see such things as just as much of a misstep as the microtransactions in Double Dragon 3 were, but it’s the direction that was taken so we need to emulate it and represent it properly.

Sorry Haze i need blank_kov3_china_card.pg2 you can share this files? Thanks

kov3 isn’t working yet. I won’t be able to share the rom here when it is, so I don’t think there’s much point in me sharing the blank card file. they’ll turn up in the usual places when the game gets marked as working.

Haze, your writing is gradually becoming like DarkDragon’s engrish, unless “Card system shave” is a new innovating cosmetic technique.

yeah, I’m tired and ill and trying to do far too many things at once (such as some updates to the 2017 article since we’re approaching the end of 2017 now and it’s unlikely much else is going to change from the state it’s in now)

Good info,

I also noted lots of drivers were marked as incomplete emulation of LAN, including some 80s classics, I totally like that you (the devs) are digging deeper on accurate and complete emulation of hardware, that was the true spirit of MAME back in the day.

A 2017 article ? Coooool !

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.