diff --git a/src/mame/konami/cougar.cpp b/src/mame/konami/cougar.cpp new file mode 100644 index 00000000000..47602e35591 --- /dev/null +++ b/src/mame/konami/cougar.cpp @@ -0,0 +1,114 @@ +// license:BSD-3-Clause +// copyright-holders: +/* +Konami Cougar system +Used for coin pushers + +Hardware: +GSDRA PWB(A2) 0000327125 Cougar (with 378 117 11119970 sticker) +* 6417751A SH-4 BP240 CPU with 20.000 MHz and 32.768 KHz XTALs nearby +* SiS 315 GFX +* 2x 48LC8M16A2 128Mb SDRAM (near SH-4) +* 8x 48LC8M16A2 128Mb SDRAM (near SiS 315) +* R1LV0416CSB 4M SRAM +* 2x Xilinx Spartan XC2S50E FPGA +* Xilinx XC95144XL CPLD with 66.0000 MHz XTAL nearby +* SMSC LAN91C111-NU Ethernet controller with 25.000 MHz XTAL nearby +* CR2032 3V battery +* 4-dip bank +* S29AL016D70TFI020 16Mb boot sector FLASH (on solder side) +* R4543 B RTC (on solder side) + +GSGPB PWB(B) 111436540000 AI AM-1 +* YMZ280B-F with 16.9344 MHz XTAL nearby +* Xilinx XC95144XL CPLD with 66.0000 MHz XTAL nearby +* 4x TC58FVM6T5BTG65 64Mb Flash +* 2x 8-dip bank +* 64x Sharp PC817 photocoupler +*/ + +#include "emu.h" + +#include "cpu/sh/sh4.h" +#include "machine/intelfsh.h" +#include "machine/rtc4543.h" +#include "sound/ymz280b.h" + +#include "screen.h" +#include "speaker.h" + + +namespace { + +class cougar_state : public driver_device +{ +public: + cougar_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu") + { } + + void cougar(machine_config &config); + +private: + required_device m_maincpu; + + void program_map(address_map &map); +}; + +void cougar_state::program_map(address_map &map) +{ + map(0x00000000, 0x001fffff).rom(); +} + +static INPUT_PORTS_START( cougar ) +INPUT_PORTS_END + + +void cougar_state::cougar(machine_config &config) +{ + SH4LE(config, m_maincpu, 20_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &cougar_state::program_map); + m_maincpu->set_force_no_drc(true); + + RTC4543(config, "rtc", 32.768_kHz_XTAL); + + //SCREEN(config, "screen", SCREEN_TYPE_RASTER); + + SPEAKER(config, "lspeaker").front_left(); + SPEAKER(config, "rspeaker").front_right(); + + ymz280b_device &ymz(YMZ280B(config, "ymz", 16.9344_MHz_XTAL)); + ymz.add_route(0, "lspeaker", 1.0); + ymz.add_route(1, "rspeaker", 1.0); +} + +/*************************************************************************** + + Game drivers + +***************************************************************************/ + +ROM_START( spinfev ) + ROM_REGION32_LE( 0x200000, "maincpu", 0 ) + ROM_LOAD( "11060030.ic17", 0x000000, 0x200000, CRC(f39ef488) SHA1(83d04ee6edae3273511d1d036c93029214a15252) ) + + ROM_REGION( 0x810000, "sndflash0", 0) + ROM_LOAD( "flash.ic120", 0x000000, 0x810000, CRC(724ab5c0) SHA1(4ff2c4440586f58f7805ff9310dcbbbbc3c35157) ) + + ROM_REGION( 0x810000, "sndflash1", 0) + ROM_LOAD( "flash.ic118", 0x000000, 0x810000, CRC(31b8d161) SHA1(0baf5ef251abbfdba5c1ab905e6238ba21674130) ) + + ROM_REGION( 0x810000, "sndflash2", 0) + ROM_LOAD( "flash.ic119", 0x000000, 0x810000, CRC(a7980e6f) SHA1(150f92fcd18f39ba256602941cb45d6647ca1099) ) + + ROM_REGION( 0x810000, "sndflash3", ROMREGION_ERASE00) // empty on this PCB + + DISK_REGION( "ide:0:hdd" ) + DISK_IMAGE( "unkcougar", 0, SHA1(a15e8fc9c0cdb97781a9bce223297bc028dc04e7) ) +ROM_END + +} // anonymous namespace + + +GAME( 2008, spinfev, 0, cougar, cougar, cougar_state, empty_init, ROT0, "Konami", "Spin Fever", MACHINE_IS_SKELETON ) // 'GPB-JB-F01 2008-04-17' and 'SPIN FEVER (GSGPB) BOOT SCRIPT' strings in HDD diff --git a/src/mame/mame.lst b/src/mame/mame.lst index d7d06821036..819d07a5eb1 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -23401,6 +23401,9 @@ contraj1 // GX633 (c) 1987 (Japan) gryzor // GX633 (c) 1987 gryzor1 // GX633 (c) 1987 +@source:konami/cougar.cpp +spinfev + @source:konami/crimfght.cpp crimfght // GX821 (c) 1989 (World) crimfghtu // GX821 (c) 1989 (US) @@ -44101,6 +44104,7 @@ demonwld1 // TP-O16 (c) 1989 Toaplan + Taito license demonwld2 // TP-O16 (c) 1989 Toaplan demonwld3 // TP-O16 (c) 1989 Toaplan demonwld4 // TP-O16 (c) 1989 Toaplan +demonwld5 // TP-O16 (c) 1989 Toaplan + APM Electronics license fireshrk // TP-O17 (c) 1990 Toaplan fireshrka // TP-O17 (c) 1989 Toaplan fireshrkd // TP-O17 (c) 1990 Toaplan diff --git a/src/mame/misc/joystand.cpp b/src/mame/misc/joystand.cpp index 4cb97dac913..487c5375c6f 100644 --- a/src/mame/misc/joystand.cpp +++ b/src/mame/misc/joystand.cpp @@ -558,8 +558,6 @@ void joystand_state::x180ii_map(address_map &map) // TODO: verify everything // map(0xe00080, 0xe00081) // write (bit 0 = cart? bit 1 = ? bit 3 = ?) //map(0xe00000, 0xe00001).r(FUNC(joystand_state::e00000_r)); // copy slot //map(0xe00020, 0xe00021).r(FUNC(joystand_state::e00020_r)); // master slot - - //map(0xe80040, 0xe8005f).rw("rtc", FUNC(msm6242_device::read), FUNC(msm6242_device::write)).umask16(0x00ff); } @@ -718,11 +716,10 @@ void joystand_state::x180ii(machine_config &config) YM2413(config, "ym2413", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 0.80); - OKIM6295(config, m_oki, XTAL(16'000'000) / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.50); // pin 7 not verified + OKIM6295(config, m_oki, XTAL(16'000'000) / 16, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 0.50); // clock supplied by pin 15 of the XCT GAL, to be verified // devices EEPROM_93C46_16BIT(config, "eeprom"); - // MSM6242(config, "rtc", XTAL(32'768)); // TODO: is this present on this PCB? } diff --git a/src/mame/toaplan/toaplan1.cpp b/src/mame/toaplan/toaplan1.cpp index 90535f41595..4e6ec3eda09 100644 --- a/src/mame/toaplan/toaplan1.cpp +++ b/src/mame/toaplan/toaplan1.cpp @@ -2673,6 +2673,35 @@ ROM_START( demonwld4 ) ROM_LOAD( "prom13.bpr", 0x20, 0x20, CRC(a1e17492) SHA1(9ddec4c97f2d541f69f3c32c47aaa21fd9699ae2) ) /* ??? */ ROM_END +ROM_START( demonwld5 ) // standard TP-O16 PCB + ROM_REGION( 0x040000, "maincpu", 0 ) /* Main 68K code */ + ROM_LOAD16_BYTE( "o16-10.bin", 0x000000, 0x20000, CRC(4bcd85f6) SHA1(5349480cc4289ef60dcd523757bd38c19e6f23b0) ) // SLDH + ROM_LOAD16_BYTE( "o16-09.bin", 0x000001, 0x20000, CRC(8e5445ba) SHA1(a071e9e60bda27446fce0ddb50df9b5b1720f568) ) // SLDH + + ROM_REGION( 0x8000, "audiocpu", 0 ) /* Sound Z80 code */ + ROM_LOAD( "rom11", 0x0000, 0x8000, CRC(397eca1b) SHA1(84073ff6d1bc46ec6162d66ec5de305700938380) ) + + ROM_REGION( 0x2000, "dsp", 0 ) /* Co-Processor TMS320C10 MCU code */ + ROM_LOAD16_BYTE( "dsp_21.bin", 0x0000, 0x0800, BAD_DUMP CRC(2d135376) SHA1(67a2cc774d272ee1cd6e6bc1c5fc33fc6968837e) ) + ROM_LOAD16_BYTE( "dsp_22.bin", 0x0001, 0x0800, BAD_DUMP CRC(79389a71) SHA1(14ec4c1c9b06702319e89a7a250d0038393437f4) ) + + ROM_REGION( 0x80000, "gfx1", 0 ) + ROM_LOAD16_BYTE( "rom05", 0x00000, 0x20000, CRC(6506c982) SHA1(6d4c1ef91e5617724789ff196abb7abf23e4a7fb) ) + ROM_LOAD16_BYTE( "rom07", 0x00001, 0x20000, CRC(a3a0d993) SHA1(50311b9447eb04271b17b212ca31d083ab5b2414) ) + ROM_LOAD16_BYTE( "rom06", 0x40000, 0x20000, CRC(4fc5e5f3) SHA1(725d4b009d575ff8ffbe1c00df352ccf235465d7) ) + ROM_LOAD16_BYTE( "rom08", 0x40001, 0x20000, CRC(eb53ab09) SHA1(d98195cc1b65b76335b5b24adb31deae1b313f3a) ) + + ROM_REGION( 0x80000, "gfx2", 0 ) + ROM_LOAD16_BYTE( "rom01", 0x00000, 0x20000, CRC(1b3724e9) SHA1(3dbb0450ab1e40e6df2b7c7356352419cd3f113d) ) + ROM_LOAD16_BYTE( "rom02", 0x00001, 0x20000, CRC(7b20a44d) SHA1(4dc1a2fa2058077b112c73492808ee9381060ec7) ) + ROM_LOAD16_BYTE( "rom03", 0x40000, 0x20000, CRC(2cacdcd0) SHA1(92216d1c6859e05d39363c30e0beb45bc0ae4e1c) ) + ROM_LOAD16_BYTE( "rom04", 0x40001, 0x20000, CRC(76fd3201) SHA1(7a12737bf90bd9760074132edeb22f3fd3e16b4f) ) + + ROM_REGION( 0x40, "proms", 0 ) /* nibble bproms, lo/hi order to be determined */ + ROM_LOAD( "prom12.bpr", 0x00, 0x20, CRC(bc88cced) SHA1(5055362710c0f58823c05fb4c0e0eec638b91e3d) ) /* sprite attribute (flip/position) ?? */ + ROM_LOAD( "prom13.bpr", 0x20, 0x20, CRC(a1e17492) SHA1(9ddec4c97f2d541f69f3c32c47aaa21fd9699ae2) ) /* ??? */ +ROM_END + ROM_START( samesame ) ROM_REGION( 0x080000, "maincpu", 0 ) /* Main 68K code */ ROM_LOAD16_BYTE( "o17_09.8j", 0x000000, 0x08000, CRC(3f69e437) SHA1(f2a40fd42cb5ecb2e514b72e7550aa479a9f9ad6) ) @@ -3171,43 +3200,44 @@ ROM_START( vimanaj ) ROM_END -// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 1988, rallybik, 0, rallybik, rallybik, toaplan1_rallybik_state, empty_init, ROT270, "Toaplan / Taito Corporation", "Rally Bike / Dash Yarou", 0 ) +// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS +GAME( 1988, rallybik, 0, rallybik, rallybik, toaplan1_rallybik_state, empty_init, ROT270, "Toaplan / Taito Corporation", "Rally Bike / Dash Yarou", 0 ) -GAME( 1988, truxton, 0, truxton, truxton, toaplan1_state, empty_init, ROT270, "Toaplan / Taito Corporation", "Truxton / Tatsujin", 0 ) +GAME( 1988, truxton, 0, truxton, truxton, toaplan1_state, empty_init, ROT270, "Toaplan / Taito Corporation", "Truxton / Tatsujin", 0 ) -GAME( 1989, hellfire, 0, hellfire, hellfire, toaplan1_state, empty_init, ROT0, "Toaplan (Taito license)", "Hellfire (2P set)", 0 ) -GAME( 1989, hellfire1, hellfire, hellfire, hellfire1, toaplan1_state, empty_init, ROT0, "Toaplan (Taito license)", "Hellfire (1P set)", 0 ) -GAME( 1989, hellfire2a, hellfire, hellfire, hellfire2a,toaplan1_state, empty_init, ROT0, "Toaplan (Taito license)", "Hellfire (2P set, older)", 0 ) -GAME( 1989, hellfire1a, hellfire, hellfire, hellfire1a,toaplan1_state, empty_init, ROT0, "Toaplan (Taito license)", "Hellfire (1P set, older)", 0 ) +GAME( 1989, hellfire, 0, hellfire, hellfire, toaplan1_state, empty_init, ROT0, "Toaplan (Taito license)", "Hellfire (2P set)", 0 ) +GAME( 1989, hellfire1, hellfire, hellfire, hellfire1, toaplan1_state, empty_init, ROT0, "Toaplan (Taito license)", "Hellfire (1P set)", 0 ) +GAME( 1989, hellfire2a, hellfire, hellfire, hellfire2a,toaplan1_state, empty_init, ROT0, "Toaplan (Taito license)", "Hellfire (2P set, older)", 0 ) +GAME( 1989, hellfire1a, hellfire, hellfire, hellfire1a,toaplan1_state, empty_init, ROT0, "Toaplan (Taito license)", "Hellfire (1P set, older)", 0 ) -GAME( 1989, zerowing, 0, zerowing, zerowing2, toaplan1_state, empty_init, ROT0, "Toaplan", "Zero Wing (2P set)", 0 ) -GAME( 1989, zerowing1, zerowing, zerowing, zerowing, toaplan1_state, empty_init, ROT0, "Toaplan", "Zero Wing (1P set)", 0 ) -GAME( 1989, zerowingw, zerowing, zerowing, zerowing2, toaplan1_state, empty_init, ROT0, "Toaplan (Williams license)", "Zero Wing (2P set, Williams license)", 0 ) +GAME( 1989, zerowing, 0, zerowing, zerowing2, toaplan1_state, empty_init, ROT0, "Toaplan", "Zero Wing (2P set)", 0 ) +GAME( 1989, zerowing1, zerowing, zerowing, zerowing, toaplan1_state, empty_init, ROT0, "Toaplan", "Zero Wing (1P set)", 0 ) +GAME( 1989, zerowingw, zerowing, zerowing, zerowing2, toaplan1_state, empty_init, ROT0, "Toaplan (Williams license)", "Zero Wing (2P set, Williams license)", 0 ) -GAME( 1990, demonwld, 0, demonwld, demonwld, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan", "Demon's World / Horror Story (set 1)", 0 ) -GAME( 1989, demonwld1, demonwld, demonwld, demonwld, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan", "Demon's World / Horror Story (set 2)", 0 ) -GAME( 1989, demonwld2, demonwld, demonwld, demonwld1, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan", "Demon's World / Horror Story (set 3)", 0 ) -GAME( 1989, demonwld3, demonwld, demonwld, demonwld1, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan", "Demon's World / Horror Story (set 4)", 0 ) -GAME( 1989, demonwld4, demonwld, demonwld, demonwld1, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan", "Demon's World / Horror Story (set 5)", 0 ) +GAME( 1990, demonwld, 0, demonwld, demonwld, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan", "Demon's World / Horror Story (set 1)", 0 ) +GAME( 1989, demonwld1, demonwld, demonwld, demonwld, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan", "Demon's World / Horror Story (set 2)", 0 ) +GAME( 1989, demonwld2, demonwld, demonwld, demonwld1, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan", "Demon's World / Horror Story (set 3)", 0 ) +GAME( 1989, demonwld3, demonwld, demonwld, demonwld1, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan", "Demon's World / Horror Story (set 4)", 0 ) +GAME( 1989, demonwld4, demonwld, demonwld, demonwld1, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan", "Demon's World / Horror Story (set 5)", 0 ) +GAME( 1989, demonwld5, demonwld, demonwld, demonwld1, toaplan1_demonwld_state, empty_init, ROT0, "Toaplan (APM Electronics license)", "Demon's World / Horror Story (set 6)", 0 ) -GAME( 1990, fireshrk, 0, samesame, fireshrk, toaplan1_samesame_state, empty_init, ROT270, "Toaplan", "Fire Shark", 0 ) -GAME( 1989, fireshrka, fireshrk, samesame, fireshrka, toaplan1_samesame_state, empty_init, ROT270, "Toaplan", "Fire Shark (earlier)", 0 ) -GAME( 1990, fireshrkd, fireshrk, samesame, samesame2, toaplan1_samesame_state, empty_init, ROT270, "Toaplan (Dooyong license)", "Fire Shark (Korea, set 1, easier)", 0 ) -GAME( 1990, fireshrkdh, fireshrk, samesame, samesame2, toaplan1_samesame_state, empty_init, ROT270, "Toaplan (Dooyong license)", "Fire Shark (Korea, set 2, harder)", 0 ) -GAME( 1989, samesame, fireshrk, samesame, samesame, toaplan1_samesame_state, empty_init, ROT270, "Toaplan", "Same! Same! Same! (1P set)", 0 ) -GAME( 1989, samesame2, fireshrk, samesame, samesame2, toaplan1_samesame_state, empty_init, ROT270, "Toaplan", "Same! Same! Same! (2P set)", 0 ) -GAME( 1990, samesamecn, fireshrk, samesame, jiaojiao, toaplan1_samesame_state, empty_init, ROT270, "Toaplan (Hong Kong Honest Trading license)", "Jiao! Jiao! Jiao! (China, 2P set)", 0 ) -GAME( 2015, samesamenh, fireshrk, samesame, samesame, toaplan1_samesame_state, empty_init, ROT270, "hack (trap15)", "Same! Same! Same! (1P set, NEW VER! hack)", 0 ) +GAME( 1990, fireshrk, 0, samesame, fireshrk, toaplan1_samesame_state, empty_init, ROT270, "Toaplan", "Fire Shark", 0 ) +GAME( 1989, fireshrka, fireshrk, samesame, fireshrka, toaplan1_samesame_state, empty_init, ROT270, "Toaplan", "Fire Shark (earlier)", 0 ) +GAME( 1990, fireshrkd, fireshrk, samesame, samesame2, toaplan1_samesame_state, empty_init, ROT270, "Toaplan (Dooyong license)", "Fire Shark (Korea, set 1, easier)", 0 ) +GAME( 1990, fireshrkdh, fireshrk, samesame, samesame2, toaplan1_samesame_state, empty_init, ROT270, "Toaplan (Dooyong license)", "Fire Shark (Korea, set 2, harder)", 0 ) +GAME( 1989, samesame, fireshrk, samesame, samesame, toaplan1_samesame_state, empty_init, ROT270, "Toaplan", "Same! Same! Same! (1P set)", 0 ) +GAME( 1989, samesame2, fireshrk, samesame, samesame2, toaplan1_samesame_state, empty_init, ROT270, "Toaplan", "Same! Same! Same! (2P set)", 0 ) +GAME( 1990, samesamecn, fireshrk, samesame, jiaojiao, toaplan1_samesame_state, empty_init, ROT270, "Toaplan (Hong Kong Honest Trading license)", "Jiao! Jiao! Jiao! (China, 2P set)", 0 ) +GAME( 2015, samesamenh, fireshrk, samesame, samesame, toaplan1_samesame_state, empty_init, ROT270, "hack (trap15)", "Same! Same! Same! (1P set, NEW VER! hack)", 0 ) -GAME( 1990, outzone, 0, outzone, outzone, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone", 0 ) -GAME( 1990, outzoneh, outzone, outzone, outzone, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone (harder)", 0 ) -GAME( 1990, outzonea, outzone, outzone, outzonea, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone (old set)", 0 ) -GAME( 1990, outzoneb, outzone, outzone, outzonea, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone (older set)", 0 ) -GAME( 1990, outzonec, outzone, outzone, outzonec, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone (oldest set)", MACHINE_IMPERFECT_SOUND ) // prototype? -GAME( 1990, outzonecv, outzone, outzonecv,outzone, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone (Zero Wing TP-015 PCB conversion)", 0 ) +GAME( 1990, outzone, 0, outzone, outzone, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone", 0 ) +GAME( 1990, outzoneh, outzone, outzone, outzone, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone (harder)", 0 ) +GAME( 1990, outzonea, outzone, outzone, outzonea, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone (old set)", 0 ) +GAME( 1990, outzoneb, outzone, outzone, outzonea, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone (older set)", 0 ) +GAME( 1990, outzonec, outzone, outzone, outzonec, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone (oldest set)", MACHINE_IMPERFECT_SOUND ) // prototype? +GAME( 1990, outzonecv, outzone, outzonecv,outzone, toaplan1_state, empty_init, ROT270, "Toaplan", "Out Zone (Zero Wing TP-015 PCB conversion)", 0 ) // has various licenses / regions depending on jumpers, including Tecmo -GAME( 1991, vimana, 0, vimana, vimana, toaplan1_state, empty_init, ROT270, "Toaplan", "Vimana (World, set 1)", 0 ) -GAME( 1991, vimanan, vimana, vimana, vimanan, toaplan1_state, empty_init, ROT270, "Toaplan", "Vimana (World, set 2)", 0 ) -GAME( 1991, vimanaj, vimana, vimana, vimanaj, toaplan1_state, empty_init, ROT270, "Toaplan", "Vimana (Japan)", 0 ) +GAME( 1991, vimana, 0, vimana, vimana, toaplan1_state, empty_init, ROT270, "Toaplan", "Vimana (World, set 1)", 0 ) +GAME( 1991, vimanan, vimana, vimana, vimanan, toaplan1_state, empty_init, ROT270, "Toaplan", "Vimana (World, set 2)", 0 ) +GAME( 1991, vimanaj, vimana, vimana, vimanaj, toaplan1_state, empty_init, ROT270, "Toaplan", "Vimana (Japan)", 0 )