summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Roberto Zandona <robertoz@mamedev.org>2008-12-13 09:23:59 +0000
committer Roberto Zandona <robertoz@mamedev.org>2008-12-13 09:23:59 +0000
commit6661a69e0a4627e125467b1447bb03b66df6807f (patch)
treebdd0ec15351ca34d04b5e0f35f50b4e28d85bbec /src
parent17653fef4d7d58d5a603941e9847552363188762 (diff)
added opcodes to cb2001 driver
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/cb2001.c70
1 files changed, 49 insertions, 21 deletions
diff --git a/src/mame/drivers/cb2001.c b/src/mame/drivers/cb2001.c
index bbac07d2827..272d6a29f89 100644
--- a/src/mame/drivers/cb2001.c
+++ b/src/mame/drivers/cb2001.c
@@ -46,39 +46,66 @@ In test mode (c) is 2000
const UINT8 cb2001_decryption_table[256] = {
0xe8,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 00 */
-// gggg
+// pppp
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 10 */
-
+//
xxxx,0x8e,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 20 */
// !!!!
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 30 */
-
- xxxx,0xea,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 40 */
-// !!!!
- xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 50 */
-
- xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 60 */
-
+//
+ 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,xxxx,xxxx,xxxx,xxxx, /* 50 */
+// ????
+ xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xba,xxxx, /* 60 */
+// gggg
0xc3,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 70 */
-// gggg
+// pppp
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 80 */
-
- xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 90 */
-
- xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xb8, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* A0 */
-// !!!!
+//
+ xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,0xb9,xxxx,xxxx,xxxx, /* 90 */
+// ????
+ xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xb8, xxxx,xxxx,0xbc,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,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* C0 */
-
- xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xc7,xxxx, /* D0 */
-// !!!!
+//
+ xxxx,xxxx,0xee,xxxx,xxxx,0x75,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* C0 */
+// ???? pppp
+ xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,0xfa,0xc7,xxxx, /* D0 */
+// gggg !!!!
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 */
-
+//
};
+/* 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,....)
+
+aa -> ????
+
+guessed:
+45 -> b0 (mov al,#value)
+6e -> ba (mov dw,#value)
+c2 -> ee (out dw,al)
+dd -> fa (di)
+
+probably:
+00 -> e8 (call)
+41 -> ea (jmp_far)
+70 -> c3 (ret)
+c5 -> 75 (jne)
+
+checked against gussun and quizf1 (start up code):
+21 -> 8e
+a7 -> b8
+de -> c7
+e3 -> c6
+
+*/
+
+
VIDEO_START(cb2001)
{
@@ -90,6 +117,7 @@ VIDEO_UPDATE(cb2001)
}
static ADDRESS_MAP_START( cb2001_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x00000, 0xdffff) AM_RAM
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END