diff --git a/hash/microvision.xml b/hash/microvision.xml index a6dcaadd7f7..82414a93454 100644 --- a/hash/microvision.xml +++ b/hash/microvision.xml @@ -25,7 +25,7 @@ One more game "Barrage" was announced but not released. The "clock" feature is used to indicate MCU clock frequency The "pla" feature is for TMS1100 output PLA type -The "paddle" feature is used to indicate whether there is paddle circuitry on the PCB +The "paddle" feature is used to indicate if paddle circuitry exists on the PCB The "butmask" feature indicates cartridge button restrict mask (active-low) --> diff --git a/src/mame/drivers/fidel_card.cpp b/src/mame/drivers/fidel_card.cpp index 0d4798be468..215fd9daa26 100644 --- a/src/mame/drivers/fidel_card.cpp +++ b/src/mame/drivers/fidel_card.cpp @@ -3,21 +3,31 @@ /****************************************************************************** Fidelity electronic card games -- *Bridge Challenger (BRC) -- Advanced Bridge Challenger (UBC) -- Voice Bridge Challenger (VBRC) -- Bridge Challenger III (English,*French) (BV3) +- Bridge Challenger (BRC) +- Advanced Bridge Challenger (UBC/UB2) +- Voice Bridge Challenger (VBRC/BV2) +- Bridge Challenger III (BV3) - Gin & Cribbage Challenger (GIN) - *Skat Challenger (SKT) *: not dumped yet +Card Challenger (model CDC) was announced but not released, it was supposed to be +a card games console, with games on separate cartridges. Maybe some of the games +were already finished, and used later for GIN and SKT. + NOTE: The card scanner is simulated, but the player is kind of forced to cheat and has to peek at the card before it is scanned. +BTANB: +- on BRC, the 2 jokers are identified as Spade 1 and Spade 2 + +TODO: +- verify if BV2 is a newer program version than VBRC + ******************************************************************************* -Voice Bridge Challenger (Model VBRC, later reissued as Model 7002) +Voice Bridge Challenger (Model VBRC, later reissued as Model 7002/BV2) and Bridge Challenger 3 (Model 7014) (which both share the same* hardware) -------------------------------- @@ -152,7 +162,7 @@ cards: Playing cards have a 9-bit barcode on the face side near the edge. Swipe them downward against the card scanner and the game will detect the card. Barcode sync bits(msb and lsb) are the same for each card so that leaves 7 bits of data: -2 for suit, 4 for value, and 1 for parity so the card can't be scanned backwards. +2 for suit, 4 for value, and 1 for parity so the card can be scanned backwards. Two card decks exist (red and blue), each has the same set of barcodes. @@ -193,7 +203,7 @@ public: { } // machine configs - void ubc(machine_config &config); + void brc(machine_config &config); void vbrc(machine_config &config); void bv3(machine_config &config); void gin(machine_config &config); @@ -221,9 +231,9 @@ private: void main_io(address_map &map); TIMER_DEVICE_CALLBACK_MEMBER(barcode_shift) { m_barcode >>= 1; } - u32 m_barcode; - u16 m_vfd_data; - u8 m_inp_mux; + u32 m_barcode = 0; + u16 m_vfd_data = 0; + u8 m_inp_mux = 0; // I/O handlers void update_display(); @@ -236,17 +246,19 @@ private: void card_state::machine_start() { - // zerofill - m_barcode = 0; - m_vfd_data = 0; - m_inp_mux = 0; - // register for savestates save_item(NAME(m_barcode)); save_item(NAME(m_vfd_data)); save_item(NAME(m_inp_mux)); } +INPUT_CHANGED_MEMBER(card_state::reset_button) +{ + // reset button is directly wired to maincpu/mcu RESET pins + m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); + m_mcu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); +} + /****************************************************************************** @@ -260,6 +272,10 @@ void card_state::update_display() // 14seg VFD segments, d15(12) is extra LED u16 outdata = bitswap<16>(m_vfd_data,12,13,1,6,5,2,0,7,15,11,10,14,4,3,9,8); m_display->matrix(m_inp_mux, outdata); + + // I8243 P71 + I8041 P17 is tone (not on speech model) + if (m_dac != nullptr) + m_dac->write(BIT(~m_inp_mux, 7) & BIT(m_vfd_data, 13)); } WRITE8_MEMBER(card_state::speech_w) @@ -273,6 +289,30 @@ WRITE8_MEMBER(card_state::speech_w) } +// card scanner + +INPUT_CHANGED_MEMBER(card_state::start_scan) +{ + if (!newval) + return; + + u32 code = (u32)param; + m_barcode = 0; + + // convert bits to rising/falling edges + for (int i = 0; i < 9; i++) + { + m_barcode <<= 2; + m_barcode |= 1 << (code & 1); + code >>= 1; + } + + // 6*white at msb for card edge + m_barcode <<= 8; + m_barcode = ~m_barcode; +} + + // I8243 I/O expander template @@ -281,10 +321,6 @@ void card_state::ioexp_port_w(uint8_t data) // P4x-P7x: digit segment data m_vfd_data = (m_vfd_data & ~(0xf << (4*P))) | ((data & 0xf) << (4*P)); update_display(); - - // P71 is tone (not on speech model) - if (P == 3 && m_dac != nullptr) - m_dac->write(BIT(data, 1)); } @@ -312,8 +348,8 @@ READ8_MEMBER(card_state::mcu_p2_r) READ_LINE_MEMBER(card_state::mcu_t0_r) { - // T0: card scanner light sensor (1=white/none, 0=black) - return ~m_barcode & 1; + // T0: card scanner light sensor (1=white, 0=black/none) + return m_barcode & 1; } @@ -342,32 +378,6 @@ void card_state::main_io(address_map &map) Input Ports ******************************************************************************/ -INPUT_CHANGED_MEMBER(card_state::start_scan) -{ - if (!newval) - return; - - u32 code = (u32)param; - m_barcode = 0; - - // convert bits to rising/falling edges - for (int i = 0; i < 9; i++) - { - m_barcode <<= 2; - m_barcode |= 1 << (code & 1); - code >>= 1; - } - - m_barcode <<= 1; // in case next barcode_shift timeout is soon -} - -INPUT_CHANGED_MEMBER(card_state::reset_button) -{ - // reset button is directly wired to maincpu/mcu RESET pins - m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); - m_mcu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); -} - static INPUT_PORTS_START( scanner ) PORT_START("CARDS.0") // spades + jokers PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CHANGED_MEMBER(DEVICE_SELF, card_state, start_scan, 0x6f) PORT_NAME("Scan: Spades A") @@ -592,7 +602,7 @@ void card_state::brc_base(machine_config &config) config.set_default_layout(layout_fidel_brc); } -void card_state::ubc(machine_config &config) +void card_state::brc(machine_config &config) { brc_base(config); @@ -615,13 +625,13 @@ void card_state::vbrc(machine_config &config) void card_state::bv3(machine_config &config) { - vbrc(config); + brc(config); config.set_default_layout(layout_fidel_bv3); } void card_state::gin(machine_config &config) { - ubc(config); + brc(config); config.set_default_layout(layout_fidel_gin); } @@ -631,27 +641,38 @@ void card_state::gin(machine_config &config) ROM Definitions ******************************************************************************/ -ROM_START( vbrc ) // model VBRC aka 7002 - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("101-64108", 0x0000, 0x2000, CRC(08472223) SHA1(859865b13c908dbb474333263dc60f6a32461141) ) // NEC 2364 - ROM_LOAD("101-64109", 0x2000, 0x2000, CRC(320afa0f) SHA1(90edfe0ac19b108d232cda376b03a3a24befad4c) ) // NEC 2364 - ROM_LOAD("101-64110", 0x4000, 0x2000, CRC(3040d0bd) SHA1(caa55fc8d9196e408fb41e7171a68e5099519813) ) // NEC 2364 +ROM_START( bridgec ) // model BRC, PCB label 510-4020-1C + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD("bridge-1", 0x0000, 0x2000, CRC(83319c59) SHA1(db2dffb99320cbd60d33dcf9bb56a51266a041b2) ) // NEC 2364C 069 + ROM_LOAD("bridge-2", 0x2000, 0x2000, CRC(7c54f9bc) SHA1(e57221ea3e22238192bb260ad5e385f5179bb34e) ) // NEC 2364C 070 + ROM_LOAD("bridge-3", 0x4000, 0x1000, CRC(d3cda2e3) SHA1(69b62fa22b388a922abad4e89c78bdb01a5fb322) ) // NEC 2332C 188 ROM_REGION( 0x0400, "mcu", 0 ) - ROM_LOAD("100-1009", 0x0000, 0x0400, CRC(60eb343f) SHA1(8a63e95ebd62e123bdecc330c0484a47c354bd1a) ) + ROM_LOAD("d8041c_531", 0x0000, 0x0400, CRC(b2baaaec) SHA1(bb0764d91dc1dcb143213faba204c2f2ff80aa33) ) // no custom label +ROM_END + + +ROM_START( vbrc ) // model VBRC aka 7002/BV2 + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("101-64108", 0x0000, 0x2000, CRC(08472223) SHA1(859865b13c908dbb474333263dc60f6a32461141) ) // NEC 2364C 210 + ROM_LOAD("101-64109", 0x2000, 0x2000, CRC(320afa0f) SHA1(90edfe0ac19b108d232cda376b03a3a24befad4c) ) // NEC 2364C 211 + ROM_LOAD("101-64110", 0x4000, 0x2000, CRC(3040d0bd) SHA1(caa55fc8d9196e408fb41e7171a68e5099519813) ) // NEC 2364C 212 + + ROM_REGION( 0x0400, "mcu", 0 ) + ROM_LOAD("100-1009", 0x0000, 0x0400, CRC(60eb343f) SHA1(8a63e95ebd62e123bdecc330c0484a47c354bd1a) ) // NEC D8041C 563 ROM_REGION( 0x1000, "speech", 0 ) ROM_LOAD("101-32118", 0x0000, 0x1000, CRC(a0b8bb8f) SHA1(f56852108928d5c6caccfc8166fa347d6760a740) ) ROM_END -ROM_START( bridgeca ) // model UBC +ROM_START( bridgeca ) // model UBC, PCB label 510-4020-1C ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("101-64108", 0x0000, 0x2000, CRC(08472223) SHA1(859865b13c908dbb474333263dc60f6a32461141) ) - ROM_LOAD("101-64109", 0x2000, 0x2000, CRC(320afa0f) SHA1(90edfe0ac19b108d232cda376b03a3a24befad4c) ) - ROM_LOAD("101-64110", 0x4000, 0x2000, CRC(3040d0bd) SHA1(caa55fc8d9196e408fb41e7171a68e5099519813) ) + ROM_LOAD("101-64108", 0x0000, 0x2000, CRC(08472223) SHA1(859865b13c908dbb474333263dc60f6a32461141) ) // NEC 2364C 210 + ROM_LOAD("101-64109", 0x2000, 0x2000, CRC(320afa0f) SHA1(90edfe0ac19b108d232cda376b03a3a24befad4c) ) // NEC 2364C 211 + ROM_LOAD("101-64110", 0x4000, 0x2000, CRC(3040d0bd) SHA1(caa55fc8d9196e408fb41e7171a68e5099519813) ) // NEC 2364C 212 ROM_REGION( 0x0400, "mcu", 0 ) - ROM_LOAD("100-1009", 0x0000, 0x0400, CRC(60eb343f) SHA1(8a63e95ebd62e123bdecc330c0484a47c354bd1a) ) + ROM_LOAD("100-1009", 0x0000, 0x0400, CRC(60eb343f) SHA1(8a63e95ebd62e123bdecc330c0484a47c354bd1a) ) // NEC D8041C 563 ROM_END @@ -676,7 +697,7 @@ ROM_START( gincribc ) // model GIN, PCB label 510-4020-1C ROM_LOAD("bridge-3", 0x4000, 0x1000, CRC(d3cda2e3) SHA1(69b62fa22b388a922abad4e89c78bdb01a5fb322) ) // NEC 2332C 188 ROM_REGION( 0x0400, "mcu", 0 ) - ROM_LOAD("100-1009", 0x0000, 0x0400, CRC(60eb343f) SHA1(8a63e95ebd62e123bdecc330c0484a47c354bd1a) ) + ROM_LOAD("100-1009", 0x0000, 0x0400, CRC(60eb343f) SHA1(8a63e95ebd62e123bdecc330c0484a47c354bd1a) ) // NEC D8041C 563 ROM_END } // anonymous namespace @@ -688,8 +709,10 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS -CONS( 1980, vbrc, 0, 0, vbrc, brc, card_state, empty_init, "Fidelity Electronics", "Voice Bridge Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) -CONS( 1980, bridgeca, vbrc, 0, ubc, brc, card_state, empty_init, "Fidelity Electronics", "Advanced Bridge Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) +CONS( 1979, bridgec, 0, 0, brc, brc, card_state, empty_init, "Fidelity Electronics", "Bridge Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) + +CONS( 1979, vbrc, 0, 0, vbrc, brc, card_state, empty_init, "Fidelity Electronics", "Voice Bridge Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) +CONS( 1979, bridgeca, vbrc, 0, brc, brc, card_state, empty_init, "Fidelity Electronics", "Advanced Bridge Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) CONS( 1982, bridgec3, 0, 0, bv3, bv3, card_state, empty_init, "Fidelity Electronics", "Bridge Challenger III", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) diff --git a/src/mame/drivers/fidel_cc1.cpp b/src/mame/drivers/fidel_cc1.cpp index 9b1df3fa7a9..6ad739f4fd0 100644 --- a/src/mame/drivers/fidel_cc1.cpp +++ b/src/mame/drivers/fidel_cc1.cpp @@ -5,8 +5,8 @@ Fidelity's 1st generation chess computers: - *Chess Challenger -- Chess Challenger 3 -- *Chess Challenger 10 (UCC10) +- Chess Challenger (upgraded version) - more commonly known as CC3 +- *Chess Challenger (model UCC10) - more commonly known as CC10 ver. C * denotes not dumped (actually CC1 is dumped, but with half of the contents missing) @@ -30,13 +30,19 @@ CC1 hardware overview: - NEC 2316A ROM(2KB), 4*2101AL RAM(0.5KB total) - 8255C for I/O, 4*7seg display + 2 extra leds, 12-key keypad -Chess Challenger 3 is on the same hardware, but with double ROM size, and they -corrected the reversed chess notation. It was also offered as an upgrade to CC1. -PCB label P179 C-3 9.77. +Chess Challenger (upgraded version) is on the same hardware, but with double the +ROM size, and they corrected the reversed chess notation. It was also offered as +an upgrade to CC1. PCB label P179 C-3 9.77. -Chess Challenger 10 version 'C'(model UCC10) is on (nearly) the same PCB too, -same label as CC3, with a small daughterboard for 8KB ROM. Again, it was also -offered as an upgrade to CC1, or CC3. +Chess Challenger (model UCC10) is on nearly the same PCB too, same label as CC3, +with a small daughterboard for 8KB ROM. Again, it was also offered as an upgrade +to CC1, or CC3. + +Note that although these 2 newer versions are known as "Chess Challenger 3" and +"Chess Challeger 10 C" nowadays, those are not the official titles. CC3 simply +says "upgraded version" on the 1st page of the manual (even the newly sold ones, +not just the literal CC1 upgrades). UCC10 mentions "10 levels of play". Fidelity +started adding level numbers to their chesscomputer titles with CCX and CC7. ******************************************************************************/ @@ -258,7 +264,6 @@ ROM_START( cc1 ) ROM_LOAD( "d2316ac_011", 0x0000, 0x0800, BAD_DUMP CRC(e27f9816) SHA1(ad9881b3bf8341829a27e86de27805fc2ccb5f7d) ) // A4 line was broken ROM_END - ROM_START( cc3 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "d2332c_011", 0x0000, 0x1000, CRC(51cf4682) SHA1(197374c633a0bf1a9b7ea51a72dc2b89a6c9c508) ) @@ -274,5 +279,4 @@ ROM_END // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS CONS( 1977, cc1, 0, 0, cc1, cc1, cc1_state, empty_init, "Fidelity Electronics", "Chess Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING ) - -CONS( 1977, cc3, 0, 0, cc3, cc3, cc1_state, empty_init, "Fidelity Electronics", "Chess Challenger 3", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NO_SOUND_HW ) +CONS( 1977, cc3, 0, 0, cc3, cc3, cc1_state, empty_init, "Fidelity Electronics", "Chess Challenger (upgraded version, 3 levels)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NO_SOUND_HW ) // aka Chess Challenger 3 diff --git a/src/mame/drivers/fidel_cc10.cpp b/src/mame/drivers/fidel_cc10.cpp index 00d13ceec87..701bcfe3d8e 100644 --- a/src/mame/drivers/fidel_cc10.cpp +++ b/src/mame/drivers/fidel_cc10.cpp @@ -20,7 +20,9 @@ Z80A CPU @ 4MHz, NEC D8255C 4KB ROM(NEC 2332A), 2*256 bytes RAM(4*NEC 2111AL-4) The beeper is via a 556 timer, fixed-frequency at around 1300-1400Hz. -Checker Challenger 4 (ACR) is on the same PCB, twice less RAM and the beeper gone. +Checker Challenger (ACR) is on the same PCB, twice less RAM and the beeper gone. +In the 1980s, Fidelity started naming it Checker Challenger "4" in some of their +advertisements, but box and manual still simply name it Checker Challenger. ******************************************************************************/ @@ -358,7 +360,7 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS -CONS( 1978, cc10, 0, 0, ccx, ccx, ccx_state, empty_init, "Fidelity Electronics", "Chess Challenger 10 (model CCX, rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1978, cc10a, cc10, 0, ccx, ccx, ccx_state, empty_init, "Fidelity Electronics", "Chess Challenger 10 (model CCX)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // aka version A +CONS( 1978, cc10, 0, 0, ccx, ccx, ccx_state, empty_init, "Fidelity Electronics", "Chess Challenger \"10\" (model CCX, rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1978, cc10a, cc10, 0, ccx, ccx, ccx_state, empty_init, "Fidelity Electronics", "Chess Challenger \"10\" (model CCX)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // aka version A -CONS( 1978, checkc4, 0, 0, acr, acr, ccx_state, empty_init, "Fidelity Electronics", "Checker Challenger 4", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NO_SOUND_HW ) +CONS( 1978, checkc4, 0, 0, acr, acr, ccx_state, empty_init, "Fidelity Electronics", "Checker Challenger (model ACR, 4 levels)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NO_SOUND_HW ) diff --git a/src/mame/drivers/fidel_cc7.cpp b/src/mame/drivers/fidel_cc7.cpp index fe19380202d..6cefe12dcd5 100644 --- a/src/mame/drivers/fidel_cc7.cpp +++ b/src/mame/drivers/fidel_cc7.cpp @@ -276,7 +276,7 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS -CONS( 1979, cc7, 0, 0, bcc, bcc, bcc_state, empty_init, "Fidelity Electronics", "Chess Challenger 7 (model BCC, rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1979, cc7o, cc7, 0, bcc, bcc, bcc_state, empty_init, "Fidelity Electronics", "Chess Challenger 7 (model CC7)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // 2nd revision of model CC7? +CONS( 1979, cc7, 0, 0, bcc, bcc, bcc_state, empty_init, "Fidelity Electronics", "Chess Challenger \"7\" (model BCC, rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1979, cc7o, cc7, 0, bcc, bcc, bcc_state, empty_init, "Fidelity Electronics", "Chess Challenger \"7\" (model CC7)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // 2nd revision of model CC7? CONS( 1979, backgamc, 0, 0, bkc, bkc, bcc_state, empty_init, "Fidelity Electronics", "Backgammon Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NO_SOUND_HW ) diff --git a/src/mame/drivers/fidel_csc.cpp b/src/mame/drivers/fidel_csc.cpp index d47cbdbc6bf..d78062c2ba5 100644 --- a/src/mame/drivers/fidel_csc.cpp +++ b/src/mame/drivers/fidel_csc.cpp @@ -824,6 +824,6 @@ ROM_END CONS( 1981, csc, 0, 0, csc, csc, csc_state, empty_init, "Fidelity Electronics", "Champion Sensory Chess Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1981, csce, 0, 0, csce, csc, csc_state, empty_init, "Fidelity Electronics", "Elite Champion Challenger (Travemuende version)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1983, super9cc, 0, 0, su9, su9, su9_state, empty_init, "Fidelity Electronics", "Super 9 Sensory Chess Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1983, super9cc, 0, 0, su9, su9, su9_state, empty_init, "Fidelity Electronics", "Super \"9\" Sensory Chess Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1981, reversic, 0, 0, rsc, rsc, csc_state, empty_init, "Fidelity Electronics", "Reversi Sensory Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/fidel_desdis.cpp b/src/mame/drivers/fidel_desdis.cpp index 7ed198d5dad..cbe105e2dca 100644 --- a/src/mame/drivers/fidel_desdis.cpp +++ b/src/mame/drivers/fidel_desdis.cpp @@ -358,7 +358,7 @@ void desmas_state::fdes2325(machine_config &config) ROM Definitions ******************************************************************************/ -ROM_START( fdes2100d ) // model 6106, PCB label 510.1130A01. The 'rev B' dump came from a post-release bugfix by Fidelity +ROM_START( fdes2100d ) // model 6106, PCB label 510.1130A01 - this dump came from a post-release bugfix by Fidelity ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD("i9_orange.ic9", 0x8000, 0x8000, CRC(83fec02a) SHA1(6f43ab05bc605061989b05d0592dbd184efff9d4) ) // WSI 27C256L-12 @@ -397,7 +397,7 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS -CONS( 1988, fdes2100d, 0, 0, fdes2100d, desdis, desdis_state, init_fdes2100d, "Fidelity Electronics", "Designer 2100 Display (rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1988, fdes2100d, 0, 0, fdes2100d, desdis, desdis_state, init_fdes2100d, "Fidelity Electronics", "Designer 2100 Display", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1988, fdes2000d, fdes2100d, 0, fdes2000d, desdis, desdis_state, init_fdes2100d, "Fidelity Electronics", "Designer 2000 Display", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1989, fdes2265, 0, 0, fdes2265, desdis, desmas_state, init_fdes2265, "Fidelity Electronics", "Designer Mach III Master 2265", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/fidel_sc12.cpp b/src/mame/drivers/fidel_sc12.cpp index 9f5f5d3bdb1..b80546b619d 100644 --- a/src/mame/drivers/fidel_sc12.cpp +++ b/src/mame/drivers/fidel_sc12.cpp @@ -276,5 +276,5 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS -CONS( 1984, fscc12, 0, 0, sc12, sc12, sc12_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger 12", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING ) -CONS( 1984, fscc12b, fscc12, 0, sc12b, sc12b, sc12_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger 12-B", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING ) +CONS( 1984, fscc12, 0, 0, sc12, sc12, sc12_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger \"12\"", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING ) +CONS( 1984, fscc12b, fscc12, 0, sc12b, sc12b, sc12_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger \"12 B\"", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING ) diff --git a/src/mame/drivers/fidel_sc6.cpp b/src/mame/drivers/fidel_sc6.cpp index c5511fd0516..927f3a2928f 100644 --- a/src/mame/drivers/fidel_sc6.cpp +++ b/src/mame/drivers/fidel_sc6.cpp @@ -242,4 +242,4 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -CONS( 1982, fscc6, 0, 0, sc6, sc6, sc6_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger 6", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1982, fscc6, 0, 0, sc6, sc6, sc6_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger \"6\"", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/fidel_sc8.cpp b/src/mame/drivers/fidel_sc8.cpp index 5f1949eff74..252c35a3e0d 100644 --- a/src/mame/drivers/fidel_sc8.cpp +++ b/src/mame/drivers/fidel_sc8.cpp @@ -3,7 +3,13 @@ // thanks-to:yoyo_chessboard /****************************************************************************** -Fidelity Sensory Chess Challenger 8 +Fidelity Sensory Chess Challenger "8" + +It is the first chesscomputer with sensors under the chessboard. + +The box names it Sensory Chess Challenger, Sensory Chess Challenger "8" title +is on the 1st page of the manual. Like other Fidelity chesscomputers from +around this time, the number indicates maximum difficulty level. Hardware notes: - Z80A CPU @ 3.9MHz @@ -61,16 +67,12 @@ private: DECLARE_READ8_MEMBER(input_r); DECLARE_WRITE8_MEMBER(control_w); - u8 m_inp_mux; - u8 m_led_data; + u8 m_inp_mux = 0; + u8 m_led_data = 0; }; void scc_state::machine_start() { - // zerofill - m_inp_mux = 0; - m_led_data = 0; - // register for savestates save_item(NAME(m_inp_mux)); save_item(NAME(m_led_data)); @@ -165,7 +167,7 @@ void scc_state::scc(machine_config &config) SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS); m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); - m_board->set_delay(attotime::from_msec(100)); + m_board->set_delay(attotime::from_msec(150)); /* video hardware */ PWM_DISPLAY(config, m_display).set_size(9, 8); @@ -197,4 +199,4 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS -CONS( 1980, fscc8, 0, 0, scc, scc, scc_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger 8", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1980, fscc8, 0, 0, scc, scc, scc_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger \"8\"", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/fidel_sc9.cpp b/src/mame/drivers/fidel_sc9.cpp index dd5d377bfed..e209b8f3eb9 100644 --- a/src/mame/drivers/fidel_sc9.cpp +++ b/src/mame/drivers/fidel_sc9.cpp @@ -344,7 +344,7 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS -CONS( 1982, fscc9, 0, 0, sc9d, sc9, sc9_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger 9 (rev. D)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // aka version "B" -CONS( 1982, fscc9b, fscc9, 0, sc9b, sc9, sc9_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger 9 (rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1982, fscc9c, fscc9, 0, sc9b, sc9c, sc9c_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger 9 (rev. C)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1983, fscc9ps, fscc9, 0, playmatic, sc9, sc9_state, empty_init, "Fidelity Deutschland", "Sensory 9 Playmatic S", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1982, fscc9, 0, 0, sc9d, sc9, sc9_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger \"9\" (rev. D)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // aka version "B" +CONS( 1982, fscc9b, fscc9, 0, sc9b, sc9, sc9_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger \"9\" (rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1982, fscc9c, fscc9, 0, sc9b, sc9c, sc9c_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger \"9\" (rev. C)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1983, fscc9ps, fscc9, 0, playmatic, sc9, sc9_state, empty_init, "Fidelity Deutschland", "Sensory 9 Playmatic S", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // 9 is not between quotation marks here diff --git a/src/mame/drivers/hh_hmcs40.cpp b/src/mame/drivers/hh_hmcs40.cpp index 3ddc3b35416..9c5f48fa3ce 100644 --- a/src/mame/drivers/hh_hmcs40.cpp +++ b/src/mame/drivers/hh_hmcs40.cpp @@ -16,11 +16,13 @@ *A56 HD38750 1981, Actronics(Hanzawa) Twinvader (small brown version) *A58 HD38750 1981, Actronics(Hanzawa) Challenge Racer/Ludotronic(Hanzawa) Grand Prix Turbo *A62 HD38750 1982, Actronics(Hanzawa) Pack'n Maze + *A67 HD38750 1982, Romtec Pucki & Monsters (ET-803) @A04 HD38800 1980, Gakken Heiankyo Alien + *A20 HD38800 1981, Entex Super Space Invader 2 @A25 HD38800 1981, Coleco Alien Attack @A27 HD38800 1981, Bandai Packri Monster - A31 HD38800 1981, Entex Select-A-Game cartridge: Space Invader 2 -> sag.cpp + A31 HD38800 1981, Entex Select-A-Game cartridge: Space Invader 2 -> sag.cpp - also used in 2nd version of Super Space Invader 2! A37 HD38800 1981, Entex Select-A-Game cartridge: Baseball 4 -> " A38 HD38800 1981, Entex Select-A-Game cartridge: Pinball -> " *A41 HD38800 1982, Gakken Puck Monster @@ -35,9 +37,11 @@ @B23 HD38800 1982, Tomy Kingman (THF-01II) *B24 HD38800 1982, Actronics(Hanzawa) Wanted G-Man *B29 HD38800 1984, Tomy Portable 6000 Bombman - *B31 HD38800 1983, Gongoll Frog Prince (ET-806) + *B31 HD38800 1983, Romtec Frog Prince (ET-806) *B35 HD38800 1983, Bandai Gundam vs Gelgoog Zaku + *B42 HD38800 1983, Bandai Kiteyo Parman @B43 HD38800 1983, Bandai Dokodemo Dorayaki Doraemon (PT-412) + *B48 HD38800 1983, Bandai Go Go Dynaman @B52 HD38800 1983, Bandai Ultraman Monster Battle (PT-424) @A09 HD38820 1980, Mattel World Championship Baseball @@ -56,6 +60,7 @@ @A65 HD38820 1983, Bandai Burger Time (PT-389) @A69 HD38820 1983, Gakken Dig Dug @A70 HD38820 1983, Parker Brothers Q*Bert + *A75 HD38820 1983, Bandai Toukon Juohmaru @A85 HD38820 1984, Bandai Machine Man (PT-438) @A88 HD38820 1984, Bandai Pair Match (PT-460) (1/2) @A89 HD38820 1984, Bandai Pair Match (PT-460) (2/2) @@ -2454,6 +2459,10 @@ ROM_END * Hitachi QFP HD38820A13 MCU * cyan/red/green VFD display Futaba DM-20 + known releases: + - USA: Galaxian 2 + - UK: Astro Invader (Hales/Entex) + ***************************************************************************/ class egalaxn2_state : public hh_hmcs40_state diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 4ffe7769ee3..a06e21cad8c 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -115,7 +115,7 @@ *MP6061 TMS0970 1979, Texas Instruments Electronic Digital Thermostat (from patent, the one in MAME didn't have a label) @MP6100A TMS0980 1979, Ideal Electronic Detective @MP6101B TMS0980 1979, Parker Brothers Stop Thief - *MP6354 ? 1982, Tsukuda The Dracula (? note: 40-pin, VFD-capable, pinout seems to match TMS1670) + *MP6354 ? 1982, Tsukuda The Dracula (? note: 40-pin, VFD-capable) *MP6361 ? 1983, Defender Strikes (? note: VFD-capable) @MP7304 TMS1400 1982, Tiger 7 in 1 Sports Stadium (model 7-555) @MP7313 TMS1400 1980, Parker Brothers Bank Shot diff --git a/src/mame/drivers/microvsn.cpp b/src/mame/drivers/microvsn.cpp index 28a5623ff3d..8dfd3f78a5c 100644 --- a/src/mame/drivers/microvsn.cpp +++ b/src/mame/drivers/microvsn.cpp @@ -14,13 +14,13 @@ Hardware notes: games had an Intel 8021 MCU at first, but Milton Bradley switched to TMS1100. See the softwarelist XML for details. -Each game had a screen- and keypad overlay attached to it, MAME external +Each game had a screen- and button overlay attached to it, MAME external artwork is recommended. It's also advised to disable screen filtering, eg. with -prescale or -nofilter. TODO: - dump/add remaining 8021 cartridges, which games have 8021 versions? An online - FAQ mentions at least Block Buster, Connect 4, Bowling. + FAQ mentions at least Block Buster, Connect Four, Bowling. ******************************************************************************/ diff --git a/src/mame/drivers/regence.cpp b/src/mame/drivers/regence.cpp index 0301ece923e..8156482ada7 100644 --- a/src/mame/drivers/regence.cpp +++ b/src/mame/drivers/regence.cpp @@ -17,7 +17,6 @@ Hardware notes: TODO: - verify irq source/frequency, probably a 555 ic, current approximation is from comparing led blink rate with a video recording -- ARC0/ARC2 rom labels might be the wrong way around ******************************************************************************/ @@ -207,9 +206,9 @@ void regence_state::regence(machine_config &config) ROM_START( regence ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("arc0.ic13", 0x0000, 0x1000, CRC(ac6a0a67) SHA1(52b115c7cd372dfbad14b00854aa4f6f75a937d3) ) - ROM_LOAD("arc1.ic12", 0x4000, 0x1000, CRC(5c2fb0c7) SHA1(811ab3d7cefcf872741eb2265115080aaf913f0f) ) - ROM_LOAD("arc2.ic11", 0x8000, 0x1000, CRC(e4c39dbd) SHA1(b6a6d1d39f73a2ff1ade6205bdf180be13e84df3) ) + ROM_LOAD("ic13", 0x0000, 0x1000, CRC(ac6a0a67) SHA1(52b115c7cd372dfbad14b00854aa4f6f75a937d3) ) + ROM_LOAD("ic12", 0x4000, 0x1000, CRC(5c2fb0c7) SHA1(811ab3d7cefcf872741eb2265115080aaf913f0f) ) + ROM_LOAD("ic11", 0x8000, 0x1000, CRC(e4c39dbd) SHA1(b6a6d1d39f73a2ff1ade6205bdf180be13e84df3) ) ROM_END } // anonymous namespace diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 98a63ed6efb..0a1b0642d1f 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -13433,6 +13433,7 @@ fgoala // MF (c) 1979 Taito Corporation feleg // @source:fidel_card.cpp +bridgec bridgec3 bridgeca gincribc