pgm2 gpu registers notes (nw)

This commit is contained in:
MetalliC 2017-12-12 18:25:05 +02:00
parent 21490be86e
commit 4637ec82dc
2 changed files with 27 additions and 2 deletions

View File

@ -68,6 +68,25 @@
Oriental Legend 2 (Oversea) - V21 Oriental Legend 2 (Oversea) - V21
Oriental Legend 2 (China) - A8 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" #include "includes/pgm2.h"

View File

@ -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[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; authenticated = true;
m_security_data[0] = 7;
}
else { else {
authenticated = false;
m_security_data[0] >>= 1; // hacky 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");
} }
} }
} }