diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2018-11-26 19:26:15 +0100 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2018-11-26 19:26:15 +0100 |
commit | b72560aeedce9b99fc1ad9e2780bf0c3bcc13c68 (patch) | |
tree | 632a0d8815e6968c8c39d6d01b3c26a220f7ab91 | |
parent | f77c730c6e646c0945f7e5bc3ae336eedc0b21b4 (diff) |
new working machine
-----------------------------------------
Trivial Pursuit (Young Players Edition?, Spanish, Maibesa license) [Sevilla Retro, Arcade Planet, Recreativas.org, The Dumping Union]
new not working machine
-----------------------------------------
unknown Trivial Pursuit bootleg [Sevilla Retro, Arcade Planet, Recreativas.org, The Dumping Union]
-rw-r--r-- | src/devices/sound/cem3394.h | 20 | ||||
-rw-r--r-- | src/mame/drivers/balsente.cpp | 274 | ||||
-rw-r--r-- | src/mame/includes/balsente.h | 8 | ||||
-rw-r--r-- | src/mame/mame.lst | 2 |
4 files changed, 187 insertions, 117 deletions
diff --git a/src/devices/sound/cem3394.h b/src/devices/sound/cem3394.h index b5a73f19941..3a2d59afc02 100644 --- a/src/devices/sound/cem3394.h +++ b/src/devices/sound/cem3394.h @@ -7,24 +7,6 @@ #define CEM3394_EXT_INPUT(_name) void _name(int count, short *buffer) -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_CEM3394_ADD(_tag, _clock) \ - MCFG_DEVICE_ADD(_tag, CEM3394, _clock) -#define MCFG_CEM3394_REPLACE(_tag, _clock) \ - MCFG_DEVICE_REPLACE(_tag, CEM3394, _clock) - -#define MCFG_CEM3394_EXT_INPUT_CB(_class, _method) \ - downcast<cem3394_device &>(*device).set_ext_input_callback(cem3394_device::ext_input_delegate(&_class::_method, #_class "::" #_method, this)); - -#define MCFG_CEM3394_VCO_ZERO(_freq) \ - downcast<cem3394_device &>(*device).set_vco_zero_freq(_freq); - -#define MCFG_CEM3394_FILTER_ZERO(_freq) \ - downcast<cem3394_device &>(*device).set_filter_zero_freq(_freq); - class cem3394_device : public device_t, public device_sound_interface { @@ -48,7 +30,7 @@ public: cem3394_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template <typename Object> void set_ext_input_callback(Object &&cb) { m_ext_cb = std::forward<Object>(cb); } + template <typename... T> void set_ext_input_callback(T &&... args) { m_ext_cb = ext_input_delegate(std::forward<T>(args)...); } void set_vco_zero_freq(double freq) { m_vco_zero_freq = freq; } void set_filter_zero_freq(double freq) { m_filter_zero_freq = freq; } diff --git a/src/mame/drivers/balsente.cpp b/src/mame/drivers/balsente.cpp index 5a661470e8f..09761617301 100644 --- a/src/mame/drivers/balsente.cpp +++ b/src/mame/drivers/balsente.cpp @@ -39,6 +39,7 @@ Known bugs: * CEM3394 emulation is not perfect * Shrike Avenger doesn't work properly + * unktp set runs on different hardware which isn't emulated yet Other: * Some of the cartridge types are unknown @@ -233,6 +234,9 @@ DIP locations verified for: #include "cpu/m68000/m68000.h" #include "machine/clock.h" #include "machine/watchdog.h" +#include "machine/z80ctc.h" +#include "sound/ay8910.h" +#include "sound/msm5205.h" #include "sound/cem3394.h" #include "speaker.h" @@ -313,6 +317,19 @@ void balsente_state::cpu2_io_map(address_map &map) } +// TODO: banking +void balsente_state::cpu2_unktp_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0x8000, 0x1fff).ram(); +} + +// TODO: hookup 2x Z80CTC, 2x AY8910A, 1x M5205 +void balsente_state::cpu2_unktp_io_map(address_map &map) +{ + map.global_mask(0xff); +} + /************************************* * @@ -1304,16 +1321,16 @@ INPUT_PORTS_END * *************************************/ -MACHINE_CONFIG_START(balsente_state::balsente) - +void balsente_state::balsente(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", MC6809E, 20_MHz_XTAL / 16) /* xtal verified but not speed */ - MCFG_DEVICE_PROGRAM_MAP(cpu1_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", balsente_state, update_analog_inputs) + MC6809E(config, m_maincpu, 20_MHz_XTAL / 16); /* xtal verified but not speed */ + m_maincpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu1_map); + m_maincpu->set_vblank_int("screen", FUNC(balsente_state::update_analog_inputs)); - MCFG_DEVICE_ADD("audiocpu", Z80, 8_MHz_XTAL / 2) /* xtal verified but not speed */ - MCFG_DEVICE_PROGRAM_MAP(cpu2_map) - MCFG_DEVICE_IO_MAP(cpu2_io_map) + Z80(config, m_audiocpu, 8_MHz_XTAL / 2); /* xtal verified but not speed */ + m_audiocpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu2_map); + m_audiocpu->set_addrmap(AS_IO, &balsente_state::cpu2_io_map); ACIA6850(config, m_acia, 0); m_acia->txd_handler().set(m_audiouart, FUNC(acia6850_device::write_rxd)); @@ -1335,8 +1352,8 @@ MACHINE_CONFIG_START(balsente_state::balsente) WATCHDOG_TIMER(config, "watchdog"); - MCFG_TIMER_DRIVER_ADD("scan_timer", balsente_state, interrupt_timer) - MCFG_TIMER_DRIVER_ADD("8253_0_timer", balsente_state, clock_counter_0_ff) + TIMER(config, m_scanline_timer, 0).configure_generic(timer_device::expired_delegate(FUNC(balsente_state::interrupt_timer), this)); + TIMER(config, m_counter_0_timer, 0).configure_generic(timer_device::expired_delegate(FUNC(balsente_state::clock_counter_0_ff), this)); PIT8253(config, m_pit, 0); m_pit->out_handler<0>().set(FUNC(balsente_state::counter_0_set_out)); @@ -1357,76 +1374,99 @@ MACHINE_CONFIG_START(balsente_state::balsente) m_outlatch->q_out_cb<7>().set(FUNC(balsente_state::nvrecall_w)); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) - MCFG_SCREEN_RAW_PARAMS(BALSENTE_PIXEL_CLOCK, BALSENTE_HTOTAL, BALSENTE_HBEND, BALSENTE_HBSTART, BALSENTE_VTOTAL, BALSENTE_VBEND, BALSENTE_VBSTART) - MCFG_SCREEN_UPDATE_DRIVER(balsente_state, screen_update_balsente) - MCFG_SCREEN_PALETTE("palette") + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK); + m_screen->set_raw(BALSENTE_PIXEL_CLOCK, BALSENTE_HTOTAL, BALSENTE_HBEND, BALSENTE_HBSTART, BALSENTE_VTOTAL, BALSENTE_VBEND, BALSENTE_VBSTART); + m_screen->set_screen_update(FUNC(balsente_state::screen_update_balsente)); + m_screen->set_palette(m_palette); - MCFG_PALETTE_ADD("palette", 1024) + PALETTE(config, m_palette, 1024); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_CEM3394_ADD("cem1", 0) - MCFG_CEM3394_EXT_INPUT_CB(balsente_state, noise_gen_0) - MCFG_CEM3394_VCO_ZERO(431.894) - MCFG_CEM3394_FILTER_ZERO(1300.0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90) - - MCFG_CEM3394_ADD("cem2", 0) - MCFG_CEM3394_EXT_INPUT_CB(balsente_state, noise_gen_1) - MCFG_CEM3394_VCO_ZERO(431.894) - MCFG_CEM3394_FILTER_ZERO(1300.0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90) - - MCFG_CEM3394_ADD("cem3", 0) - MCFG_CEM3394_EXT_INPUT_CB(balsente_state, noise_gen_2) - MCFG_CEM3394_VCO_ZERO(431.894) - MCFG_CEM3394_FILTER_ZERO(1300.0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90) - - MCFG_CEM3394_ADD("cem4", 0) - MCFG_CEM3394_EXT_INPUT_CB(balsente_state, noise_gen_3) - MCFG_CEM3394_VCO_ZERO(431.894) - MCFG_CEM3394_FILTER_ZERO(1300.0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90) - - MCFG_CEM3394_ADD("cem5", 0) - MCFG_CEM3394_EXT_INPUT_CB(balsente_state, noise_gen_4) - MCFG_CEM3394_VCO_ZERO(431.894) - MCFG_CEM3394_FILTER_ZERO(1300.0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90) - - MCFG_CEM3394_ADD("cem6", 0) - MCFG_CEM3394_EXT_INPUT_CB(balsente_state, noise_gen_5) - MCFG_CEM3394_VCO_ZERO(431.894) - MCFG_CEM3394_FILTER_ZERO(1300.0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90) -MACHINE_CONFIG_END - - -MACHINE_CONFIG_START(balsente_state::shrike) + CEM3394(config, m_cem_device[0], 0); + m_cem_device[0]->set_ext_input_callback(FUNC(balsente_state::noise_gen_0), this); + m_cem_device[0]->set_vco_zero_freq(431.894); + m_cem_device[0]->set_filter_zero_freq(1300.0); + m_cem_device[0]->add_route(ALL_OUTPUTS, "mono", 0.90); + + CEM3394(config, m_cem_device[1], 0); + m_cem_device[1]->set_ext_input_callback(FUNC(balsente_state::noise_gen_1), this); + m_cem_device[1]->set_vco_zero_freq(431.894); + m_cem_device[1]->set_filter_zero_freq(1300.0); + m_cem_device[1]->add_route(ALL_OUTPUTS, "mono", 0.90); + + CEM3394(config, m_cem_device[2], 0); + m_cem_device[2]->set_ext_input_callback(FUNC(balsente_state::noise_gen_2), this); + m_cem_device[2]->set_vco_zero_freq(431.894); + m_cem_device[2]->set_filter_zero_freq(1300.0); + m_cem_device[2]->add_route(ALL_OUTPUTS, "mono", 0.90); + + CEM3394(config, m_cem_device[3], 0); + m_cem_device[3]->set_ext_input_callback(FUNC(balsente_state::noise_gen_3), this); + m_cem_device[3]->set_vco_zero_freq(431.894); + m_cem_device[3]->set_filter_zero_freq(1300.0); + m_cem_device[3]->add_route(ALL_OUTPUTS, "mono", 0.90); + + CEM3394(config, m_cem_device[4], 0); + m_cem_device[4]->set_ext_input_callback(FUNC(balsente_state::noise_gen_4), this); + m_cem_device[4]->set_vco_zero_freq(431.894); + m_cem_device[4]->set_filter_zero_freq(1300.0); + m_cem_device[4]->add_route(ALL_OUTPUTS, "mono", 0.90); + + CEM3394(config, m_cem_device[5], 0); + m_cem_device[5]->set_ext_input_callback(FUNC(balsente_state::noise_gen_5), this); + m_cem_device[5]->set_vco_zero_freq(431.894); + m_cem_device[5]->set_filter_zero_freq(1300.0); + m_cem_device[5]->add_route(ALL_OUTPUTS, "mono", 0.90); +} + + +void balsente_state::shrike(machine_config &config) +{ balsente(config); /* basic machine hardware */ - MCFG_DEVICE_ADD("68k", M68000, 8000000) - MCFG_DEVICE_PROGRAM_MAP(shrike68k_map) + M68000(config, m_68k, 8000000); + m_68k->set_addrmap(AS_PROGRAM, &balsente_state::shrike68k_map); + + config.m_minimum_quantum = attotime::from_hz(6000); +} + - MCFG_QUANTUM_TIME(attotime::from_hz(6000)) -MACHINE_CONFIG_END +void balsente_state::rescraid(machine_config &config) +{ + balsente(config); + m_maincpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu1_smudge_map); +} -MACHINE_CONFIG_START(balsente_state::rescraid) +void balsente_state::unktp(machine_config &config) +{ balsente(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(cpu1_smudge_map) -MACHINE_CONFIG_END + // sound PCB has: 2x Z80CTC, 2x AY8910A, 1x M5205, 1x 8MHz XTAL (divisor unknown for every device) + m_audiocpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu2_unktp_map); + m_audiocpu->set_addrmap(AS_IO, &balsente_state::cpu2_unktp_io_map); + Z80CTC(config, "ctc1", 8_MHz_XTAL / 2); + Z80CTC(config, "ctc2", 8_MHz_XTAL / 2); + AY8910(config, "ay1", 8_MHz_XTAL / 6).add_route(ALL_OUTPUTS, "mono", 0.90); + AY8910(config, "ay2", 8_MHz_XTAL / 6).add_route(ALL_OUTPUTS, "mono", 0.90); + + MSM5205(config, "msm", 384000).add_route(ALL_OUTPUTS, "mono", 0.90); + + config.device_remove("cem1"); + config.device_remove("cem2"); + config.device_remove("cem3"); + config.device_remove("cem4"); + config.device_remove("cem5"); + config.device_remove("cem6"); +} /************************************* * @@ -1834,6 +1874,26 @@ ROM_START( triviaes ) MOTHERBOARD_PALS ROM_END +ROM_START( triviaes2 ) + ROM_REGION( 0x40000, "maincpu", 0 ) // all 27128 + ROM_LOAD( "tpe-2cd45.u2a", 0x10000, 0x04000, CRC(ef26b178) SHA1(7bf0453de9192f37f7c8855aaa752c5374e72eb8) ) + ROM_LOAD( "tpe-2ab23.u7a", 0x14000, 0x04000, CRC(348dc874) SHA1(eb5719db02f9cdfcfba47a93f0a4f2745ba96836) ) + ROM_LOAD( "tpe-2cd01.u4a", 0x18000, 0x04000, CRC(9695d8ed) SHA1(9849dbe3303335f7f0568aa0f45a431d60602e54) ) + ROM_LOAD( "tpe-2ab67.u5a", 0x1c000, 0x04000, CRC(808a3e1e) SHA1(ac34a131fea30729bb81a47cc6742a296ce65770) ) + ROM_LOAD( "tpe-2ab01.u8a", 0x20000, 0x04000, CRC(39ddbafd) SHA1(bb06ad80be7c49d0e2c6762b3e2220a85c273c99) ) + ROM_LOAD( "tpe-2cd23.u3a", 0x2c000, 0x04000, CRC(dacd287e) SHA1(3667c835a2b1f35ff69aa28d4f33824f4e457e1a) ) + ROM_LOAD( "tpe-2cdef.u1a", 0x24000, 0x04000, CRC(22f9e1b4) SHA1(f5f5d9dadcd12f8e8f3a715854243f6da8678c23) ) + ROM_LOAD( "tpe-2ab45.u6a", 0x28000, 0x04000, CRC(cf48b8eb) SHA1(f63590bcdd7e17d85f4f490640785e8828358f93) ) + + SOUNDBOARD_ROMS // 2764 labeled with handwritten 'PANEA' + + ROM_REGION( 0x10000, "gfx1", 0 ) // all 27128 + ROM_LOAD( "tpegr01.u6b", 0x00000, 0x4000, CRC(6829de8e) SHA1(4ec494883ba358f2ac7ce8d5a623a2f34b5bc843) ) + ROM_LOAD( "tpegr23.u5b", 0x04000, 0x4000, CRC(89398700) SHA1(771ee04baa9a31d435a6234490105878713e7845) ) + ROM_LOAD( "tpegr45.u4b", 0x08000, 0x4000, CRC(1242033e) SHA1(1a3fe186bb261e2c7d9fbbb2a3103b39bf029b35) ) + + MOTHERBOARD_PALS +ROM_END ROM_START( gimeabrk ) ROM_REGION( 0x40000, "maincpu", 0 ) /* 64k for code for the first CPU, plus 128k of banked ROMs */ @@ -2272,7 +2332,27 @@ ROM_START( shrike ) MOTHERBOARD_PALS ROM_END - +ROM_START( unktp ) // 2PCB set: main PCB marked 87111801 and MAB-016, sound PCB marked COM + ROM_REGION( 0x40000, "maincpu", 0 ) // all 27256, ROM loading order probably wrong + ROM_LOAD( "tpe-35-volumen 4.ic35", 0x20000, 0x08000, CRC(8233c9af) SHA1(1853cbff5ff9b0bed4c12717ef705f6ee9679622) ) + ROM_LOAD( "tpe-43-volumen 4.ic43", 0x18000, 0x08000, CRC(b404b163) SHA1(de30b47d08765a953b01cc3a6bdd95938af6b3d8) ) + ROM_LOAD( "tpe-53-volumen 4.ic53", 0x10000, 0x08000, CRC(64e439d9) SHA1(f5fe3fa38997c1088c16361f8949648acc353c57) ) + ROM_LOAD( "tpe-60-volumen 4.ic60", 0x28000, 0x08000, CRC(0773a142) SHA1(5654ece65be7714b25970f08ba876b9766d8ebb5) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) // all 27256 + ROM_LOAD( "tpe-2a0.bin", 0x00000, 0x8000, CRC(9aefea1d) SHA1(2af60e19de37533a5ad111de4c6b58de41be92fd) ) + ROM_LOAD( "tpe-2b0.bin", 0x08000, 0x8000, CRC(ddcb4f6f) SHA1(f29c97ccc6711c433e104a8fc738ff390ba102e8) ) + + ROM_REGION( 0x10000, "gfx1", 0 ) // all 27128, ROM loading order probably wrong + ROM_LOAD( "tpe-8.ic8", 0x00000, 0x4000, CRC(0cde2421) SHA1(54604817a456f78110458e588c91c5029cf3189b) ) + ROM_LOAD( "tpe-33.ic33", 0x04000, 0x4000, CRC(552c2f4f) SHA1(a72d112c70b2c7ffbb8d51cc76124d507a543e2b) ) + ROM_LOAD( "tpe-57.ic57", 0x08000, 0x4000, CRC(90c8948a) SHA1(4b19bed71889756162dfe226eb531084603cf76f) ) + ROM_LOAD( "tpe-73.ic73", 0x0c000, 0x4000, CRC(b15bc90b) SHA1(dc84717178a177904eb3ddbeeaae5fc9b19b4a12) ) + + ROM_REGION( 0x400, "motherbrd_pals", 0) /* Motherboard PAL's */ \ + ROM_LOAD( "pal16l8a.ic31", 0x000, 0x104, NO_DUMP ) /* PAL16L8 */ + ROM_LOAD( "pal16l8a.ic51", 0x200, 0x104, NO_DUMP ) /* PAL16L8 */ +ROM_END /************************************* * @@ -2381,6 +2461,7 @@ void balsente_state::init_triviag2() expand_roms(EXPAND_NONE); config_shooter_adc(false, 0 /* noanalog */); } void balsente_state::init_triviaes() { expand_roms(EXPAND_NONE | SWAP_HALVES); config_shooter_adc(false, 0 /* noanalog */); } +void balsente_state::init_triviaes2() { expand_roms(EXPAND_NONE); config_shooter_adc(false, 0 /* noanalog */); } void balsente_state::init_gimeabrk() { expand_roms(EXPAND_ALL); config_shooter_adc(false, 1); } void balsente_state::init_minigolf() { expand_roms(EXPAND_NONE); config_shooter_adc(false, 2); } void balsente_state::init_minigolf2() { expand_roms(0x0c); config_shooter_adc(false, 2); } @@ -2451,45 +2532,50 @@ GAME( 1984, hattrick, 0, balsente, hattrick, balsente_state, init_hattri GAME( 1984, trivia12, triviag1, balsente, triviag1, balsente_state, init_triviag1, ROT0, "Bally/Sente", "Trivial Pursuit (Think Tank - Genus Edition) (12/14/84)", MACHINE_SUPPORTS_SAVE ) /* Board: Unknown (From a picture on eBay Snacks'n Jaxson does not match any documented types here.) */ -GAME( 1984, otwalls, 0, balsente, otwalls, balsente_state, init_otwalls, ROT0, "Bally/Sente", "Off the Wall (Sente)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, snakepit, 0, balsente, sentetst, balsente_state, init_snakepit, ROT0, "Bally/Sente", "Snake Pit", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, snakepit2, snakepit, balsente, sentetst, balsente_state, init_snakepit, ROT0, "Sente Technologies Inc.", "Snake Pit (9/14/84)", MACHINE_SUPPORTS_SAVE ) // 1984, even though titlescreen says 1983 -GAME( 1984, snakjack, 0, balsente, snakjack, balsente_state, init_snakjack, ROT0, "Bally/Sente", "Snacks'n Jaxson", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, otwalls, 0, balsente, otwalls, balsente_state, init_otwalls, ROT0, "Bally/Sente", "Off the Wall (Sente)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, snakepit, 0, balsente, sentetst, balsente_state, init_snakepit, ROT0, "Bally/Sente", "Snake Pit", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, snakepit2, snakepit, balsente, sentetst, balsente_state, init_snakepit, ROT0, "Sente Technologies Inc.", "Snake Pit (9/14/84)", MACHINE_SUPPORTS_SAVE ) // 1984, even though titlescreen says 1983 +GAME( 1984, snakjack, 0, balsente, snakjack, balsente_state, init_snakjack, ROT0, "Bally/Sente", "Snacks'n Jaxson", MACHINE_SUPPORTS_SAVE ) /* Board: 006-8025-01-0B Rev B */ -GAMEL(1984, stocker, 0, balsente, stocker, balsente_state, init_stocker, ROT0, "Bally/Sente", "Stocker (3/19/85)", MACHINE_SUPPORTS_SAVE, layout_stocker ) // date from ROM chips -GAME( 1985, gimeabrk, 0, balsente, gimeabrk, balsente_state, init_gimeabrk, ROT0, "Bally/Sente", "Gimme A Break (7/7/85)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, minigolf, 0, balsente, minigolf, balsente_state, init_minigolf, ROT0, "Bally/Sente", "Mini Golf (11/25/85)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, minigolf2, minigolf, balsente, minigolf2,balsente_state, init_minigolf2,ROT0, "Bally/Sente", "Mini Golf (10/8/85)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, triviabb, 0, balsente, triviag1, balsente_state, init_triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Baby Boomer Edition) (3/20/85)", MACHINE_SUPPORTS_SAVE ) -GAME( 198?, grudge, 0, balsente, grudge, balsente_state, init_grudge, ROT0, "Bally Midway", "Grudge Match (v00.90, Italy, location test?)", MACHINE_SUPPORTS_SAVE ) // newer than set below, had a complete cabinet + art -GAME( 198?, grudgep, grudge, balsente, grudgep, balsente_state, init_grudge, ROT0, "Bally Midway", "Grudge Match (v00.80, prototype)", MACHINE_SUPPORTS_SAVE ) +GAMEL(1984, stocker, 0, balsente, stocker, balsente_state, init_stocker, ROT0, "Bally/Sente", "Stocker (3/19/85)", MACHINE_SUPPORTS_SAVE, layout_stocker ) // date from ROM chips +GAME( 1985, gimeabrk, 0, balsente, gimeabrk, balsente_state, init_gimeabrk, ROT0, "Bally/Sente", "Gimme A Break (7/7/85)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, minigolf, 0, balsente, minigolf, balsente_state, init_minigolf, ROT0, "Bally/Sente", "Mini Golf (11/25/85)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, minigolf2, minigolf, balsente, minigolf2,balsente_state, init_minigolf2, ROT0, "Bally/Sente", "Mini Golf (10/8/85)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, triviabb, 0, balsente, triviag1, balsente_state, init_triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Baby Boomer Edition) (3/20/85)", MACHINE_SUPPORTS_SAVE ) +GAME( 198?, grudge, 0, balsente, grudge, balsente_state, init_grudge, ROT0, "Bally Midway", "Grudge Match (v00.90, Italy, location test?)", MACHINE_SUPPORTS_SAVE ) // newer than set below, had a complete cabinet + art +GAME( 198?, grudgep, grudge, balsente, grudgep, balsente_state, init_grudge, ROT0, "Bally Midway", "Grudge Match (v00.80, prototype)", MACHINE_SUPPORTS_SAVE ) /* Board: Unknown */ -GAME( 1984, triviag1, 0, balsente, triviag1, balsente_state, init_triviag1, ROT0, "Bally/Sente", "Trivial Pursuit (Think Tank - Genus Edition) (set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, triviag2, 0, balsente, triviag1, balsente_state, init_triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Genus II Edition)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, triviasp, 0, balsente, triviag1, balsente_state, init_triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (All Star Sports Edition)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, triviayp, 0, balsente, triviag1, balsente_state, init_triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Young Players Edition)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, triviaes, 0, balsente, triviaes, balsente_state, init_triviaes, ROT0, "Bally/Sente (Maibesa license)", "Trivial Pursuit (Spanish, Maibesa license)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, toggle, 0, balsente, toggle, balsente_state, init_toggle, ROT0, "Bally/Sente", "Toggle (prototype)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, nametune, 0, balsente, nametune, balsente_state, init_nametune, ROT0, "Bally/Sente", "Name That Tune (set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, triviag1, 0, balsente, triviag1, balsente_state, init_triviag1, ROT0, "Bally/Sente", "Trivial Pursuit (Think Tank - Genus Edition) (set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, triviag2, 0, balsente, triviag1, balsente_state, init_triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Genus II Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, triviasp, 0, balsente, triviag1, balsente_state, init_triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (All Star Sports Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, triviayp, 0, balsente, triviag1, balsente_state, init_triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Young Players Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, triviaes, 0, balsente, triviaes, balsente_state, init_triviaes, ROT0, "Bally/Sente (Maibesa license)", "Trivial Pursuit (Spanish, Maibesa license)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, toggle, 0, balsente, toggle, balsente_state, init_toggle, ROT0, "Bally/Sente", "Toggle (prototype)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, nametune, 0, balsente, nametune, balsente_state, init_nametune, ROT0, "Bally/Sente", "Name That Tune (set 1)", MACHINE_SUPPORTS_SAVE ) + +/* Board: 007-8001-01-0C Rev C1 */ +GAME( 1987, triviaes2, triviaes, balsente, triviaes, balsente_state, init_triviaes2, ROT0, "Bally/Sente (Maibesa license)", "Trivial Pursuit (Young Players Edition?, Spanish, Maibesa license)", MACHINE_SUPPORTS_SAVE ) // Young Players edition not present on title screen, but red background supposedly means this /* Board: 006-8030-01-0A Rev A */ -GAME( 1986, nametune2, nametune, balsente, nametune, balsente_state, init_nametune, ROT0, "Bally/Sente", "Name That Tune (3/23/86)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, nametune2, nametune, balsente, nametune, balsente_state, init_nametune, ROT0, "Bally/Sente", "Name That Tune (3/23/86)", MACHINE_SUPPORTS_SAVE ) /* Board: 006-8027-01-0B Rev B */ -GAME( 1986, nstocker, 0, balsente, nstocker, balsente_state, init_nstocker, ROT0, "Bally/Sente", "Night Stocker (10/6/86)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, nstocker2, nstocker, balsente, nstocker, balsente_state, init_nstocker, ROT0, "Bally/Sente", "Night Stocker (8/27/86)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, sfootbal, 0, balsente, sfootbal, balsente_state, init_sfootbal, ROT0, "Bally/Sente", "Street Football (11/12/86)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, spiker, 0, balsente, spiker, balsente_state, init_spiker, ROT0, "Bally/Sente", "Spiker", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, spiker2, spiker, balsente, spiker, balsente_state, init_spiker, ROT0, "Bally/Sente", "Spiker (5/5/86)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, spiker3, spiker, balsente, spiker, balsente_state, init_spiker, ROT0, "Bally/Sente", "Spiker (6/9/86)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, stompin, 0, balsente, stompin, balsente_state, init_stompin, ROT0, "Bally/Sente", "Stompin' (4/4/86)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, nstocker, 0, balsente, nstocker, balsente_state, init_nstocker, ROT0, "Bally/Sente", "Night Stocker (10/6/86)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, nstocker2, nstocker, balsente, nstocker, balsente_state, init_nstocker, ROT0, "Bally/Sente", "Night Stocker (8/27/86)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, sfootbal, 0, balsente, sfootbal, balsente_state, init_sfootbal, ROT0, "Bally/Sente", "Street Football (11/12/86)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, spiker, 0, balsente, spiker, balsente_state, init_spiker, ROT0, "Bally/Sente", "Spiker", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, spiker2, spiker, balsente, spiker, balsente_state, init_spiker, ROT0, "Bally/Sente", "Spiker (5/5/86)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, spiker3, spiker, balsente, spiker, balsente_state, init_spiker, ROT0, "Bally/Sente", "Spiker (6/9/86)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, stompin, 0, balsente, stompin, balsente_state, init_stompin, ROT0, "Bally/Sente", "Stompin' (4/4/86)", MACHINE_SUPPORTS_SAVE ) /* Board: A084-91889-A000 (Not a cartridge, but dedicated board) */ -GAME( 1987, rescraid, 0, rescraid, rescraid, balsente_state, init_rescraid, ROT0, "Bally Midway", "Rescue Raider (5/11/87) (non-cartridge)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, rescraid, 0, rescraid, rescraid, balsente_state, init_rescraid, ROT0, "Bally Midway", "Rescue Raider (5/11/87) (non-cartridge)", MACHINE_SUPPORTS_SAVE ) /* Board: Unknown */ -GAME( 1986, shrike, 0, shrike, shrike, balsente_state, init_shrike, ROT0, "Bally/Sente", "Shrike Avenger (prototype)", MACHINE_SUPPORTS_SAVE ) -GAME( 1987, rescraida, rescraid, rescraid, rescraid, balsente_state, init_rescraid, ROT0, "Bally Midway", "Rescue Raider (stand-alone)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, teamht, 0, balsente, teamht, balsente_state, init_teamht, ROT0, "Bally/Sente", "Team Hat Trick", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, shrike, 0, shrike, shrike, balsente_state, init_shrike, ROT0, "Bally/Sente", "Shrike Avenger (prototype)", MACHINE_SUPPORTS_SAVE ) +GAME( 1987, rescraida, rescraid, rescraid, rescraid, balsente_state, init_rescraid, ROT0, "Bally Midway", "Rescue Raider (stand-alone)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, teamht, 0, balsente, teamht, balsente_state, init_teamht, ROT0, "Bally/Sente", "Team Hat Trick", MACHINE_SUPPORTS_SAVE ) + +GAME( 198?, unktp, 0, balsente, triviaes, balsente_state, init_triviaes2, ROT0, "bootleg?", "unknown Trivial Pursuit bootleg", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // different (bootleg?) hardware. maincpu ROMs structure clearly similar to Trivial Pursuit games diff --git a/src/mame/includes/balsente.h b/src/mame/includes/balsente.h index 955ea5e7e15..96057aa36a2 100644 --- a/src/mame/includes/balsente.h +++ b/src/mame/includes/balsente.h @@ -67,9 +67,11 @@ public: void shrike(machine_config &config); void rescraid(machine_config &config); void balsente(machine_config &config); + void unktp(machine_config &config); DECLARE_CUSTOM_INPUT_MEMBER(nstocker_bits_r); void init_otwalls(); void init_triviaes(); + void init_triviaes2(); void init_nstocker(); void init_sentetst(); void init_rescraid(); @@ -162,6 +164,8 @@ private: void cpu1_smudge_map(address_map &map); void cpu2_io_map(address_map &map); void cpu2_map(address_map &map); + void cpu2_unktp_io_map(address_map &map); + void cpu2_unktp_map(address_map &map); void shrike68k_map(address_map &map); required_device<timer_device> m_scanline_timer; @@ -233,8 +237,4 @@ private: required_shared_ptr<uint8_t> m_generic_paletteram_8; }; - -/*----------- defined in machine/balsente.c -----------*/ -void balsente_noise_gen(device_t *device, int count, short *buffer); - #endif // MAME_INCLUDES_BALSENTE_H diff --git a/src/mame/mame.lst b/src/mame/mame.lst index e99a121fead..3ecae64ba9e 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -2773,10 +2773,12 @@ toggle // (c) 1985 trivia12 // (c) 1984 triviabb // (c) 1984 triviaes // (c) 1984 +triviaes2 // (c) 1984 triviag1 // (c) 1984 triviag2 // (c) 1984 triviasp // (c) 1984 triviayp // (c) 1984 +unktp // bootleg? 198? @source:banctec.cpp banctec // BancTec ESeries panel |