mirror of
https://github.com/holub/mame
synced 2025-05-24 06:30:04 +03:00
cb2001: added new opcodes
This commit is contained in:
parent
b7ef380a5d
commit
542d0fa5c3
@ -3,7 +3,7 @@
|
|||||||
Cherry Bonus 2001 (c)2000/2001 Dyna
|
Cherry Bonus 2001 (c)2000/2001 Dyna
|
||||||
|
|
||||||
|
|
||||||
Produttore Dyna
|
Produttore Dyna
|
||||||
N.revisione
|
N.revisione
|
||||||
CPU
|
CPU
|
||||||
|
|
||||||
@ -46,37 +46,37 @@ In test mode (c) is 2000
|
|||||||
|
|
||||||
const UINT8 cb2001_decryption_table[256] = {
|
const UINT8 cb2001_decryption_table[256] = {
|
||||||
0xe8,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 00 */
|
0xe8,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 00 */
|
||||||
// pppp
|
// pppp
|
||||||
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, 0x32,xxxx,xxxx,xxxx,0x3a,xxxx,xxxx,xxxx, /* 10 */
|
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, 0x32,xxxx,xxxx,xxxx,0x3a,xxxx,xxxx,xxxx, /* 10 */
|
||||||
// ???? ????
|
// pppp pppp
|
||||||
xxxx,0x8e,xxxx,xxxx,xxxx,0x49,xxxx,xxxx, xxxx,xxxx,xxxx,0x75,xxxx,xxxx,xxxx,xxxx, /* 20 */
|
xxxx,0x8e,xxxx,xxxx,xxxx,0x49,0xbf,xxxx, xxxx,xxxx,xxxx,0x75,xxxx,xxxx,xxxx,xxxx, /* 20 */
|
||||||
// !!!! ???? pppp
|
// !!!! ???? ???? pppp
|
||||||
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xbe,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xb0,xxxx, /* 30 */
|
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xbe,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xbf,xxxx, /* 30 */
|
||||||
// pppp ????
|
// pppp ????
|
||||||
xxxx,0xea,xxxx,xxxx,xxxx,0xb0,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 40 */
|
xxxx,0xea,xxxx,xxxx,xxxx,0xb0,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 40 */
|
||||||
// !!!! gggg
|
// !!!! gggg
|
||||||
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,0x78,xxxx,xxxx,xxxx, /* 50 */
|
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,0x78,xxxx,xxxx,xxxx, /* 50 */
|
||||||
// ???? ????
|
// ???? ????
|
||||||
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xba,xxxx, /* 60 */
|
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0xba,xxxx, /* 60 */
|
||||||
// gggg
|
// gggg
|
||||||
0xc3,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 70 */
|
0xc3,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 70 */
|
||||||
// pppp ????
|
// pppp ????
|
||||||
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0x34, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* 80 */
|
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0x34, 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 */
|
xxxx,xxxx,0xe9,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,0xb9,xxxx,xxxx,xxxx, /* 90 */
|
||||||
// ???? pppp
|
// ???? 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,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,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* B0 */
|
||||||
//
|
//
|
||||||
xxxx,xxxx,0xee,xxxx,xxxx,0xe2,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
|
// ???? pppp
|
||||||
xxxx,xxxx,0x46,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 */
|
||||||
// ???? ???? ???? !!!!
|
// pppp pppp ???? !!!!
|
||||||
0xb0,xxxx,xxxx,0xc6,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* E0 */
|
0xb0,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 */
|
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, /* F0 */
|
||||||
//
|
//
|
||||||
};
|
};
|
||||||
|
|
||||||
/* robiza notes:
|
/* robiza notes:
|
||||||
@ -102,20 +102,33 @@ c2 -> ee (out dw,al)
|
|||||||
|
|
||||||
|
|
||||||
probably:
|
probably:
|
||||||
00 -> e8 (call)
|
|
||||||
2b -> conditional jmp for sure (75)
|
2b -> conditional jmp for sure (75)
|
||||||
36 -> be
|
36 -> be
|
||||||
41 -> ea (jmp_far)
|
|
||||||
70 -> c3 (ret)
|
|
||||||
9c -> it's a counter (like mov cw,#value) -> not sure the register (cw,bw,....) -> b9 (cw)
|
9c -> it's a counter (like mov cw,#value) -> not sure the register (cw,bw,....) -> b9 (cw)
|
||||||
c5 -> 75 (loop?)
|
c5 -> 75 (loop?)
|
||||||
|
|
||||||
|
very probably:
|
||||||
|
00 -> e8 (call)
|
||||||
|
41 -> ea (jmp_far)
|
||||||
|
70 -> c3 (ret)
|
||||||
|
|
||||||
checked against gussun and quizf1 (start up code):
|
checked against gussun and quizf1 (start up code):
|
||||||
21 -> 8e
|
21 -> 8e
|
||||||
a7 -> b8
|
a7 -> b8
|
||||||
de -> c7
|
de -> c7
|
||||||
e3 -> c6
|
e3 -> c6
|
||||||
|
|
||||||
|
opcodes: 36,9c,00,18,d8,d2,c5,70 probably:
|
||||||
|
e1af1 36 62 06 mov ix,0662
|
||||||
|
9c 04 00 mov cw,0004
|
||||||
|
00 94 17 call e328e
|
||||||
|
|
||||||
|
e328e 18 c0 xor al,al
|
||||||
|
d8 04 mov byte ptr [ix],al
|
||||||
|
d2 inc ix
|
||||||
|
c5 fb dbnz e3290
|
||||||
|
70 ret
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -142,7 +155,7 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
static INTERRUPT_GEN( vblank_irq )
|
static INTERRUPT_GEN( vblank_irq )
|
||||||
{
|
{
|
||||||
// cpu_set_input_line_and_vector(device,0,HOLD_LINE,0x08/4);
|
// cpu_set_input_line_and_vector(device,0,HOLD_LINE,0x08/4);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const nec_config cb2001_config = { cb2001_decryption_table, };
|
static const nec_config cb2001_config = { cb2001_decryption_table, };
|
||||||
|
Loading…
Reference in New Issue
Block a user