summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/calomega.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/calomega.cpp')
-rw-r--r--src/mame/drivers/calomega.cpp118
1 files changed, 62 insertions, 56 deletions
diff --git a/src/mame/drivers/calomega.cpp b/src/mame/drivers/calomega.cpp
index fcf7f6e9354..c02fcbb5774 100644
--- a/src/mame/drivers/calomega.cpp
+++ b/src/mame/drivers/calomega.cpp
@@ -258,8 +258,6 @@
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
@@ -449,11 +447,10 @@
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.
- - Added new set: CEI 51.07 (CEI 906-III Poker).
- - 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.
+ - Fixed/added technical notes.
[2021-04-26]
@@ -4304,7 +4301,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) ) // schedule eprom 05F. checked in offset $8034
+ ROM_LOAD( "epr1.u28", 0x6000, 0x2000, CRC(3d6abca9) SHA1(54a802f89bd64380abf269a2b507513c8db5319b) ) // 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) )
@@ -4315,26 +4312,10 @@ 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 ) // second half is empty
+ ROM_REGION( 0x200, "proms", 0 ) // from other set, 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
/*********************** Diagnostic PROMs ***********************/
@@ -4625,6 +4606,58 @@ 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();
@@ -4752,32 +4785,6 @@ 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()
{
@@ -4831,8 +4838,7 @@ 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( 1988, comg5108, 0, sys906, stand906, calomega_state, empty_init, 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( 198?, comg5108, 0, sys906, stand906, calomega_state, init_comg5108, 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 )
@@ -4843,6 +4849,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, 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 )
+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 )