diff --git a/src/mame/drivers/pgm2.cpp b/src/mame/drivers/pgm2.cpp index 785b6953a2c..2d4756ce59e 100644 --- a/src/mame/drivers/pgm2.cpp +++ b/src/mame/drivers/pgm2.cpp @@ -68,6 +68,25 @@ Oriental Legend 2 (Oversea) - V21 Oriental Legend 2 (China) - A8 + GPU registers, located at 301200xx, 16bit access. + 00 - bg scroll x + 02 - bg scroll y + 04 - zoom something, 0F-7F, default 1F + 06 - zoom something, 0F-7F, default 1F + 08 - fg? scroll x + 0a - fg? scroll y + 0e - sprite related, set to 1 at sprite hw init + 10 - sprite related, orleg2 - 0x13, kov2nl - 0x14 + 14 - sprite enable ? set to 0 before spriteram update, to 1 after + 16 - enable access to vrams/palettes/etc ? (bitmask) + 18 - vblank ack + 1a - ? 0 at init + 1c - sprite related, orleg2 - 5, kov2nl - 7 + 1e - sprite related, set to 2 at sprite hw init + 32 - shared RAM bank + 34, 36 - sprite related, set to 0 at sprite hw init, some unused xor feature ? + 38, 3a - sprite mask xor key + */ #include "includes/pgm2.h" diff --git a/src/mame/machine/pgm2_memcard.cpp b/src/mame/machine/pgm2_memcard.cpp index 243cfe80855..e8fee19f474 100644 --- a/src/mame/machine/pgm2_memcard.cpp +++ b/src/mame/machine/pgm2_memcard.cpp @@ -96,11 +96,17 @@ void pgm2_memcard_device::auth(uint8_t p1, uint8_t p2, uint8_t p3) { if (m_security_data[0] & 7) { - if (m_security_data[1] == p1 && m_security_data[2] == p2 && m_security_data[3] == p3) + if (m_security_data[1] == p1 && m_security_data[2] == p2 && m_security_data[3] == p3) { authenticated = true; + m_security_data[0] = 7; + } else { + authenticated = false; m_security_data[0] >>= 1; // hacky - logerror("Wrong IC Card password !!!"); + if (m_security_data[0] & 7) + popmessage("Wrong IC Card password !!!\n"); + else + popmessage("Wrong IC Card password, card was locked!!!\n"); } } }