From 954ac301f8f618421deb1f9ff18dda1080fe653c Mon Sep 17 00:00:00 2001 From: Roberto Fresca Date: Sun, 2 May 2021 03:30:22 +0200 Subject: New working machines -------------------- CEI 51.07 (CEI 906-III Poker). [Roberto Fresca] --- src/mame/drivers/calomega.cpp | 119 ++++++++++++++++++++---------------------- src/mame/includes/calomega.h | 3 -- src/mame/mame.lst | 3 +- 3 files changed, 59 insertions(+), 66 deletions(-) diff --git a/src/mame/drivers/calomega.cpp b/src/mame/drivers/calomega.cpp index c02fcbb5774..a01e188fd49 100644 --- a/src/mame/drivers/calomega.cpp +++ b/src/mame/drivers/calomega.cpp @@ -258,6 +258,8 @@ 46.0x| Gaming Poker | ? | | GPKCG | 6300010 | POKCLR | 6600020 | Nevada Gaming | No | | No 47.0x| 4-Card Indian Bingo | ? | | FCB7CG | 6300150 | FCB7CLR | 6600100 | Amer-Indian | No | | No 48.0x| Keno | ? | | KJCG | 6300060 | POKCLR | 6600020 | Montana | No | | No + | | | | | | | | | | | + 51.07| Poker (906-III) | 906-III | | GP2CG | unknown | WILD | unknown | Nevada Gaming | Yes | OK | Yes 51.08| Poker (906-III) | 906-III | | GP2CG | unknown | WILD | unknown | Nevada Gaming | Yes | OK | Yes | | | | | | | | | | | * 903d | System 903 Diag.PROM | 903 | unknown | any | unknown | any | unknown | Testing H/W | Yes | OK | Yes @@ -447,10 +449,11 @@ General improvements... - Fixed inputs on Cal Omega - Game 12.5 (Bingo). - - Inputs for Cal Omega - Game 13.4 (Nudge). Promoted to WORKING. - - Inputs for Cal Omega - Game 17.6 (Nudge). Promoted to WORKING. - - Inputs for Cal Omega - Game 18.1 (Nudge). Promoted to WORKING. - - Fixed/added technical notes. + - Inputs for Cal Omega - Game 13.4 (Nudge). Promoted to WORKING. + - Inputs for Cal Omega - Game 17.6 (Nudge). Promoted to WORKING. + - Inputs for Cal Omega - Game 18.1 (Nudge). Promoted to WORKING. + - Added new set: CEI 51.07 (CEI 906-III Poker). + - Fixed/added technical notes. [2021-04-26] @@ -4301,7 +4304,7 @@ ROM_END ROM_START( comg5108 ) // Cal Omega v51.08 (Poker) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "epr1.u28", 0x6000, 0x2000, CRC(3d6abca9) SHA1(54a802f89bd64380abf269a2b507513c8db5319b) ) // checked in offset $8034 + ROM_LOAD( "epr1.u28", 0x6000, 0x2000, CRC(3d6abca9) SHA1(54a802f89bd64380abf269a2b507513c8db5319b) ) // schedule eprom 05F. checked in offset $8034 ROM_LOAD( "epr2.u29", 0x8000, 0x2000, CRC(72cf8376) SHA1(fa1682244402e1b36164c670241f585bf4017ad9) ) ROM_LOAD( "epr3.u30", 0xa000, 0x2000, CRC(c79957e5) SHA1(64afdedf5369d56790e9ae7a8d3be5f52125ca1f) ) ROM_LOAD( "epr4.u31", 0xc000, 0x2000, CRC(eb0b0a86) SHA1(4fd29700db8fe183392cc66a54a128657c7e05e0) ) @@ -4312,7 +4315,24 @@ ROM_START( comg5108 ) // Cal Omega v51.08 (Poker) ROM_LOAD( "cg2b.u5", 0x2000, 0x2000, CRC(1f79f76d) SHA1(b2bce60e24dd61977f7bf6ee4705ca7d104ab388) ) ROM_LOAD( "cg2a.u6", 0x4000, 0x2000, CRC(d5fd9fc2) SHA1(68472e7271f835656197109620bb3988fc52308a) ) - ROM_REGION( 0x200, "proms", 0 ) // from other set, second half is empty + ROM_REGION( 0x200, "proms", 0 ) // second half is empty + ROM_LOAD( "bprom.u16", 0x0000, 0x0200, CRC(a6d43709) SHA1(cbff2cb60137462dc0b7c7719a64574218d96c62) ) +ROM_END + +ROM_START( comg5107 ) // Cal Omega v51.07 (Poker) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "epr1.u28", 0x6000, 0x2000, CRC(3d6abca9) SHA1(54a802f89bd64380abf269a2b507513c8db5319b) ) // schedule eprom 05F. same as the 51.08 set + ROM_LOAD( "epr2.u29", 0x8000, 0x2000, CRC(1cefe40d) SHA1(9169c466903485d6e78c53bd104dc61722437509) ) + ROM_LOAD( "epr3.u30", 0xa000, 0x2000, CRC(0bc9be3e) SHA1(bce88a6a37ded6396954ec8c11e19af66f658e4d) ) + ROM_LOAD( "epr4.u31", 0xc000, 0x2000, CRC(34e7d16f) SHA1(c4901e00a5dbaeb6277dbe9bdcad93827c5aa947) ) + ROM_LOAD( "epr5.u32", 0xe000, 0x2000, CRC(e5a252b5) SHA1(7a226c771ba16944b4e50c22db0cd5d7fc530e11) ) + + ROM_REGION( 0x6000, "gfx1", 0 ) + ROM_LOAD( "cg2c.u4", 0x0000, 0x2000, CRC(dc77a6db) SHA1(3af5f568de3f2af1a6bbb00d673bdbff16c87a40) ) + ROM_LOAD( "cg2b.u5", 0x2000, 0x2000, CRC(1f79f76d) SHA1(b2bce60e24dd61977f7bf6ee4705ca7d104ab388) ) + ROM_LOAD( "cg2a.u6", 0x4000, 0x2000, CRC(d5fd9fc2) SHA1(68472e7271f835656197109620bb3988fc52308a) ) + + ROM_REGION( 0x200, "proms", 0 ) // second half is empty ROM_LOAD( "bprom.u16", 0x0000, 0x0200, CRC(a6d43709) SHA1(cbff2cb60137462dc0b7c7719a64574218d96c62) ) ROM_END @@ -4606,58 +4626,6 @@ void calomega_state::init_sys905() save_item(NAME(m_s905_mux_data)); } -void calomega_state::init_comg080() -{ - init_sys903(); - - /* Injecting missing Start and NMI vectors... - Start = $2042; NMI = $26f8; - Also a fake vector at $3ff8-$3ff9. The code checks these values to continue. - */ - uint8_t *PRGROM = memregion( "maincpu" )->base(); - - PRGROM[0x3ff8] = 0x8e; // checked by code - PRGROM[0x3ff9] = 0x97; // checked by code - - PRGROM[0x3ffc] = 0x42; // start vector - PRGROM[0x3ffd] = 0x20; - PRGROM[0x3ffe] = 0xf8; // NMI vector - PRGROM[0x3fff] = 0x26; -} - -void calomega_state::init_comg176() -{ - uint8_t *PRGROM = memregion( "maincpu" )->base(); - - PRGROM[0x25df] = 0x00; // patching the checksum flag. -} - -void calomega_state::init_comg5108() -{ - uint8_t *PRGROM = memregion( "maincpu" )->base(); - PRGROM[0xc080] = 0xff; // CHECKSUM ERROR FLAG - No changes for now. - // Debug - // PRGROM[0xc080] = 0x00; // CHECKSUM ERROR FLAG (at start) - // PRGROM[0xbf0e] = 0x00; // CHECKSUM ERROR FLAG (on the fly) - // PRGROM[0xbfb4] = 0x00; // RAM ERROR FLAG - // PRGROM[0xb6A0] = 0x00; // ERROR LOW BATTERY FLAG - // PRGROM[0xb6AA] = 0x00; // ERROR LOW BATTERY FLAG -} - -void calomega_state::init_cas21iwc() -{ - uint8_t *PRGROM = memregion( "maincpu" )->base(); - - PRGROM[0xB603] = 0xff; // Checksum flag. No changes for now. -} - -void calomega_state::init_pokeriwc() -{ - uint8_t *PRGROM = memregion( "maincpu" )->base(); - - PRGROM[0x8000] = 0xa2; // Checksum flag. No changes for now. -} - void calomega_state::init_comg079() { uint8_t *PRGROM = memregion( "maincpu" )->base(); @@ -4785,6 +4753,32 @@ void calomega_state::init_comg079() PRGROM[0x2E6F] = 0x09; } +void calomega_state::init_comg080() +{ + init_sys903(); + + /* Injecting missing Start and NMI vectors... + Start = $2042; NMI = $26f8; + Also a fake vector at $3ff8-$3ff9. The code checks these values to continue. + */ + uint8_t *PRGROM = memregion( "maincpu" )->base(); + + PRGROM[0x3ff8] = 0x8e; // checked by code + PRGROM[0x3ff9] = 0x97; // checked by code + + PRGROM[0x3ffc] = 0x42; // start vector + PRGROM[0x3ffd] = 0x20; + PRGROM[0x3ffe] = 0xf8; // NMI vector + PRGROM[0x3fff] = 0x26; +} + +void calomega_state::init_comg176() +{ + uint8_t *PRGROM = memregion( "maincpu" )->base(); + + PRGROM[0x25df] = 0x00; // patching the checksum flag. +} + // for debug purposes... void calomega_state::init_any() { @@ -4838,7 +4832,8 @@ GAME( 198?, comg903d, 0, sys903, stand903, calomega_state, init_sys903, GAME( 198?, comg905d, 0, sys905, stand905, calomega_state, init_sys905, ROT0, "Cal Omega Inc.", "Cal Omega - System 905 Diag.PROM", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) //************* 906-III games ************** -GAME( 198?, comg5108, 0, sys906, stand906, calomega_state, init_comg5108, ROT0, "Casino Electronics Inc.", "CEI 51.08 (CEI 906-III Poker)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, comg5107, 0, sys906, stand906, calomega_state, empty_init, ROT0, "Casino Electronics Inc.", "CEI 51.07 (CEI 906-III Poker)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, comg5108, 0, sys906, stand906, calomega_state, empty_init, ROT0, "Casino Electronics Inc.", "CEI 51.08 (CEI 906-III Poker)", MACHINE_SUPPORTS_SAVE ) //****** Unofficial 903/904/905 3rd part games ******* GAME( 1982, elgrande, 0, s903mod, elgrande, calomega_state, init_s903mod, ROT0, "Enter-Tech, Ltd. / Tuni Electro Service", "El Grande - 5 Card Draw (New)", MACHINE_SUPPORTS_SAVE ) @@ -4849,6 +4844,6 @@ GAME( 1988, ssipkr30, ssipkr24, s903mod, ssipkr, calomega_state, init_s903mo GAME( 1990, ssipkr40, ssipkr24, s903mod, ssipkr, calomega_state, init_s903mod, ROT0, "SSI", "SSI Poker (v4.0)", MACHINE_SUPPORTS_SAVE ) //****** Unofficial 906-III family 3rd part games ******* -GAME( 1990, cas21iwc, 0, sys906, cas21iwc, calomega_state, init_cas21iwc, ROT0, "UCMC/IWC", "Casino 21 UCMC/IWC (ver 30.08)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, pokeriwc, 0, sys906, pokeriwc, calomega_state, init_pokeriwc, ROT0, "UCMC/IWC", "Poker UCMC/IWC (ver 162.03)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, pokiwc162, pokeriwc, sys906, pokeriwc, calomega_state, init_pokeriwc, ROT0, "UCMC/IWC", "Poker UCMC/IWC (ver 162.03 20-6-91)", MACHINE_SUPPORTS_SAVE ) +GAME( 1990, cas21iwc, 0, sys906, cas21iwc, calomega_state, empty_init, ROT0, "UCMC/IWC", "Casino 21 UCMC/IWC (ver 30.08)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, pokeriwc, 0, sys906, pokeriwc, calomega_state, empty_init, ROT0, "UCMC/IWC", "Poker UCMC/IWC (ver 162.03)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, pokiwc162, pokeriwc, sys906, pokeriwc, calomega_state, empty_init, ROT0, "UCMC/IWC", "Poker UCMC/IWC (ver 162.03 20-6-91)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/includes/calomega.h b/src/mame/includes/calomega.h index 5af538c24b1..43ee91a0ff9 100644 --- a/src/mame/includes/calomega.h +++ b/src/mame/includes/calomega.h @@ -52,9 +52,6 @@ public: void init_comg079(); void init_comg080(); void init_comg176(); - void init_comg5108(); - void init_cas21iwc(); - void init_pokeriwc(); void init_any(); void sys905(machine_config &config); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index f3e6d8fca34..f374df7c467 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -9845,7 +9845,8 @@ comg240 // (c) 1985 Cal Omega / Casino Electronics Inc. comg246 // (c) 1985 Cal Omega Inc. comg272a // (c) 1985 Cal Omega Inc. comg272b // (c) 1985 Cal Omega Inc. -comg5108 // (c) 1985 Casino Electronics Inc. +comg5107 // (c) 1988 Casino Electronics Inc. +comg5108 // (c) 1988 Casino Electronics Inc. comg903d // (c) 198? Cal Omega Inc. comg905d // (c) 198? Cal Omega Inc. elgrande // (c) 1982 Tuni Electro Service / E.T. Marketing -- cgit v1.2.3