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 + + -------------------------------------------------