summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Roberto Zandona <robertoz@mamedev.org>2008-12-13 14:59:37 +0000
committer Roberto Zandona <robertoz@mamedev.org>2008-12-13 14:59:37 +0000
commitacbad50008932aa6e3b0c04ecb83eaa35ee070df (patch)
tree8a056ba9024f55d5cced58b0d7702503a79b409a /src
parent5ea2c772c0f20e107a011d13155ad995bd3fb621 (diff)
cb2001: new opcode added
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/cb2001.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/mame/drivers/cb2001.c b/src/mame/drivers/cb2001.c
index 0536e3d49ef..60d0a49afa0 100644
--- a/src/mame/drivers/cb2001.c
+++ b/src/mame/drivers/cb2001.c
@@ -49,13 +49,13 @@ const UINT8 cb2001_decryption_table[256] = {
// pppp
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,0x3a,xxxx,xxxx,xxxx, /* 10 */
// ????
- xxxx,0x8e,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,0x75,xxxx,xxxx,xxxx,xxxx, /* 20 */
-// !!!! ????
+ xxxx,0x8e,xxxx,xxxx,xxxx,0x49,xxxx,xxxx, xxxx,xxxx,xxxx,0x75,xxxx,xxxx,xxxx,xxxx, /* 20 */
+// !!!! ???? pppp
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xbe,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 30 */
-// ????
+// pppp
xxxx,0xea,xxxx,xxxx,xxxx,0xb0,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 40 */
// !!!! gggg
- xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0x49,xxxx, xxxx,xxxx,xxxx,xxxx,0x75,xxxx,xxxx,xxxx, /* 50 */
+ xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,0x75,xxxx,xxxx,xxxx, /* 50 */
// ???? ????
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xba,xxxx, /* 60 */
// gggg
@@ -64,15 +64,15 @@ const UINT8 cb2001_decryption_table[256] = {
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 80 */
//
xxxx,xxxx,0xe9,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,0xb9,xxxx,xxxx,xxxx, /* 90 */
-// ???? ????
+// ???? pppp
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xb8, xxxx,xxxx,0xfa,xxxx,xxxx,xxxx,xxxx,xxxx, /* A0 */
// !!!! ????
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* B0 */
//
- xxxx,xxxx,0xee,xxxx,xxxx,0x75,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* C0 */
+ xxxx,xxxx,0xee,xxxx,xxxx,0xe2,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* C0 */
// ???? pppp
- xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, 0x88,xxxx,xxxx,xxxx,xxxx,0xfa,0xc7,xxxx, /* D0 */
-// ???? ???? !!!!
+ xxxx,xxxx,0x46,xxxx,xxxx,xxxx,xxxx,xxxx, 0x88,xxxx,xxxx,xxxx,xxxx,0xfa,0xc7,xxxx, /* D0 */
+// ???? ???? ???? !!!!
xxxx,xxxx,xxxx,0xc6,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* E0 */
// !!!!
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* F0 */
@@ -80,29 +80,35 @@ const UINT8 cb2001_decryption_table[256] = {
};
/* robiza notes:
-9c -> it's a counter (like mov cw,#value) -> not sure the register (cw,bw,....)
-56 -> decrement the counter (like dec cw) -> not sure the register (cw,bw,....)
-2b -> conditional jmp for sure
+
+56 -> ????
+
+
5c -> conditional jmp for sure
-36 -> be ????
+
aa -> ????
92 -> e9 (probably)
1c ????
d8 ????
dd -> fa (di)
+
guessed:
45 -> b0 (mov al,#value)
6e -> ba (mov dw,#value)
c2 -> ee (out dw,al)
+
probably:
00 -> e8 (call)
+2b -> conditional jmp for sure (75)
+36 -> be
41 -> ea (jmp_far)
70 -> c3 (ret)
-c5 -> 75 (jne)
+9c -> it's a counter (like mov cw,#value) -> not sure the register (cw,bw,....) -> b9 (cw)
+c5 -> 75 (loop?)
checked against gussun and quizf1 (start up code):
21 -> 8e