summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Roberto Zandona <robertoz@mamedev.org>2009-12-22 20:58:41 +0000
committer Roberto Zandona <robertoz@mamedev.org>2009-12-22 20:58:41 +0000
commitb6161dc7f57405024aeb36008a1e7df97228b302 (patch)
treed1a551a7e3c9715b346f0b6d6a8fb95c8e94d0ac
parent62a8aa1675ce46b94d5ff7e44859dd98b54778f7 (diff)
cb2001 added 3 opcodes
-rw-r--r--src/mame/drivers/cb2001.c51
1 files changed, 39 insertions, 12 deletions
diff --git a/src/mame/drivers/cb2001.c b/src/mame/drivers/cb2001.c
index 4a1017d9767..1056ae1de9d 100644
--- a/src/mame/drivers/cb2001.c
+++ b/src/mame/drivers/cb2001.c
@@ -46,18 +46,18 @@ In test mode (c) is 2000
#define xxxx 0x90 /* Unknown */
static const UINT8 cb2001_decryption_table[256] = {
- 0xe8,xxxx,0x94,xxxx,xxxx,0x61,xxxx,xxxx, 0x3c,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 00 */
-// pppp ???? ???? pppp
- xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, 0x32,xxxx,0xa0,xxxx,0x3a,xxxx,0x89,xxxx, /* 10 */
-// pppp ???? pppp pppp ????
- xxxx,0x8e,xxxx,0x0f,xxxx,0x49,0xb2,xxxx, xxxx,xxxx,xxxx,0x75,xxxx,xxxx,xxxx,xxxx, /* 20 */
-// !!!! ???? ???? ???? pppp
+ 0xe8,xxxx,0x94,xxxx,0x80,0x61,xxxx,xxxx, 0x3c,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 00 */
+// pppp ???? ???? ???? pppp
+ xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, 0x32,xxxx,0xa0,0xd3,0x3a,xxxx,0x89,xxxx, /* 10 */
+// pppp ???? pppp pppp pppp ????
+ xxxx,0x8e,xxxx,0x0f,xxxx,0x49,0xb5,xxxx, xxxx,xxxx,xxxx,0x75,xxxx,xxxx,xxxx,xxxx, /* 20 */
+// !!!! ???? ???? pppp pppp
0x9d,xxxx,xxxx,xxxx,xxxx,xxxx,0xbe,xxxx, xxxx,xxxx,0x74,xxxx,xxxx,0xa6,0xbf,0x74, /* 30 */
// ???? ???? ???? ???? ???? pppp
xxxx,0xea,xxxx,xxxx,xxxx,0xb0,xxxx,xxxx, xxxx,0xa2,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 40 */
// !!!! gggg pppp
- xxxx,xxxx,0x2c,xxxx,xxxx,xxxx,0x42,xxxx, xxxx,xxxx,xxxx,xxxx,0xeb,xxxx,xxxx,xxxx, /* 50 */
-// pppp ???? pppp
+ xxxx,xxxx,0x2c,xxxx,xxxx,xxxx,0x42,0xc0, xxxx,xxxx,xxxx,xxxx,0xeb,xxxx,xxxx,xxxx, /* 50 */
+// pppp ???? pppp pppp
xxxx,xxxx,xxxx,xxxx,0x22,xxxx,xxxx,xxxx, xxxx,0xa5,xxxx,xxxx,xxxx,0xbb,0xba,xxxx, /* 60 */
// pppp ???? pppp gggg
0xc3,xxxx,0x02,xxxx,xxxx,xxxx,0x24,xxxx, 0x72,xxxx,0xf2,xxxx,xxxx,0x43,xxxx,xxxx, /* 70 */
@@ -100,6 +100,7 @@ cmast91: cb2001:
-------------------------------------------------
cmv4 cb2001 (en -> de)
+
029f ld b,$fc
02a1 call $0c38 e0239 call 0e30b8h
02a4 ld hl,$d023 e023d mov ix,90h
@@ -145,8 +146,11 @@ cmv4 cb2001 (en -> de)
. e670f be 0e6712h
4ac8 ret nz e6711 ret (70 -> c3)
- 4ac9 ld hl,($d61a) e671c mov al,b ptr[bw]
- 4acc ld a,(hl) .
+ 4ac9 ld hl,($d61a) e6712 mov bw,w ptr[72fh]
+ . e6716 OB DB ?????????
+ . e6718 bne 0e671bh
+ . e671a ret
+ 4acc ld a,(hl) e671b mov al,b ptr ss[bw](ce -> 36) (e0 -> 8a) not sure about the prefix
4acd inc hl e671e inc bw (7d -> 43)
4ace cp $f0 e671f cmp al,0f0h
4ad0 jr nc,$4b14 e6721 bnc 0e676fh (8c -> 73)
@@ -154,11 +158,34 @@ cmv4 cb2001 (en -> de)
4add sub $50 e672f sub al,50h (52 -> 2c)
4adf cp $50 e6731 cmp al,50h
4ae1 jr c,$4ae7 e6733 bc 0e6739 (78 -> 72)
- 4ae3 ld b,$04 e6735 26 04
+ 4ae3 ld b,$04 e6735 mov ch,4h (26 -> b5)
4ae5 sub $50 e6737 sub al,50h
- 4ae7 ld c,a e6739 mov cl,al (e0 -> 8a)
+ 4ae7 ld c,a e6739 mov cl,al
4ae8 and $0f e673b and al,0fh (76 -> 24)
4aea add a,a e673d add al,al
+ 4aeb ld e,a .
+ 4aec ld d,$00 e673f mov ah,0h
+ 4aee ld hl,$4b42 e6741 mov bw,67ab
+ 4af1 add hl,de e6744 add bw,aw
+ 4af2 ld e,(hl) e6746 mov bw,w ptr ss[bw] not sure the prefix
+ 4af3 inc hl .
+ 4af4 ld d,(hl) .
+ 4af5 ld a,c .
+ 4af6 and $f0 e6749 and cl,f0h (ce -> 80) probably, maybe 82
+ 4af8 jr z,$4b05 e674c be 0e6753
+ 4afa rrca .
+ 4afb rrca .
+ 4afc rrca .
+ 4afd rrca e674e ror cl,4h (57 -> c0)
+ 4afe srl d .
+ 4b00 rr e e6751 shr bw,cl (1b -> d3)
+ 4b02 dec a .
+ 4b03 jr nz,$4afe .
+ 4b05 ld a,b e6753 mov al,ch
+ . e6755 mov dw,23h
+ 4b06 out ($03),a e6758 out dw,al
+
+
-------------------------------------------------