diff options
Diffstat (limited to 'src/mame/drivers/xavix.cpp')
-rw-r--r-- | src/mame/drivers/xavix.cpp | 93 |
1 files changed, 81 insertions, 12 deletions
diff --git a/src/mame/drivers/xavix.cpp b/src/mame/drivers/xavix.cpp index ff1c7fc7f1d..a1a8000ac27 100644 --- a/src/mame/drivers/xavix.cpp +++ b/src/mame/drivers/xavix.cpp @@ -65,7 +65,7 @@ 13 STAR WARS Light Saber Battle /TOMY/Japan - - - - - - - 14 Jala Jaland /atlus/Japan - - - - - - - 15 Star Wars Lightsaber Battle Game /Hasbro/USA SWSA x8 48 8M 24C02 SSD 2000 NEC 85605-621 dumped - 16 Gururin World /EPOCH/Japan - - - - - - - + 16 Gururin World /EPOCH/Japan - x8 - - - SSD 98 PL7351-181 dumped 17 Toinohgi Onmyo-daisenki /BANDAI/Japan - - - - - - - 2004 1 Accessory cartridge for Super TV computer "Double mouse party"/EPOCH/Japan - - - - - - - 2 Printer for TV computer /EPOCH/Japan - - - - - - - @@ -73,12 +73,12 @@ 4 Accessory cartridge for Super TV computer "Doraemon"/EPOCH/Japan - - - - - - - 5 Accessory cartridge for Super TV computer "Hamutaro"/EPOCH/Japan - - - - - - - 6 Super TV computer /EPOCH/Japan - - - - - - - - 7 Super Dash ball /EPOCH/Japan - - - - - - - + 7 Super Dash ball /EPOCH/Japan - x8 - - - SSD 2000 NEC 85605-621 dumped 8 Exciting sports Tennis X Fitness /EPOCH/Japan - - - - - - - 9 Accessory memory mascot for TV mail Pc mail cot 2 characters (Putchi, Petchi) /EPOCH/Japan - - - - - - - 10 Accessory memory mascot for TV mail Pc mail cot 2 characters (Charuru, Kurau) /EPOCH/Japan - - - - - - - 11 The Lord of the Rings Warrior of Middle Earth /Hasbro/USA LORA x8 48 8M 24C02 SSD 2000 NEC 85605-621 dumped - 12 Beyblade Arcade Challenge 5-in-1 /Hasbro/USA - - - - - - - + 12 Beyblade Arcade Challenge 5-in-1 /Hasbro/USA - - - - - - have 13 All star Festival Quize /EPOCH/Japan - - - - - - - 14 e-kara mix /TAKARA/Japan - - - - - - - 15 Jumping Popira /TAKARA/Japan - - - - - - - @@ -98,7 +98,7 @@ 5 Exciting stadium DX, Hansin Tigers version /EPOCH/Japan - - - - - - - 6 Dragon Quest /SQUARE ENIX/Japan - - - 8M - SSD 2000? dumped 7 Croquette! Win a medal! /EPOCH/Japan - - - - - - - - 8 Taiko Popira /TAKARA/Japan - - - - - - - + 8 Taiko Popira /TAKARA/Japan - - - - - - dumped 9 Together Minimoni, Dancing' Stage! plus /EPOCH/Japan - - - - - - - 10 Evio /TOMY/Japan - - - - - - - 11 Together Minimoni,Jumping Party! /EPOCH/Japan - - - - - - - @@ -347,7 +347,10 @@ void xavix_state::xavix_lowbus_map(address_map &map) map(0x7a81, 0x7a81).rw(FUNC(xavix_state::ioevent_irqstate_r), FUNC(xavix_state::ioevent_irqack_w)); // Mouse? - map(0x7b00, 0x7b00).w(FUNC(xavix_state::adc_7b00_w)); // rad_snow (not often, why?) + map(0x7b00, 0x7b00).rw(FUNC(xavix_state::mouse_7b00_r), FUNC(xavix_state::mouse_7b00_w)); + map(0x7b01, 0x7b01).rw(FUNC(xavix_state::mouse_7b01_r), FUNC(xavix_state::mouse_7b01_w)); + map(0x7b10, 0x7b10).rw(FUNC(xavix_state::mouse_7b10_r), FUNC(xavix_state::mouse_7b10_w)); + map(0x7b11, 0x7b11).rw(FUNC(xavix_state::mouse_7b11_r), FUNC(xavix_state::mouse_7b11_w)); // Lightgun / pen 2 control //map(0x7b18, 0x7b1b) @@ -366,7 +369,7 @@ void xavix_state::xavix_lowbus_map(address_map &map) map(0x7c03, 0x7c03).r(FUNC(xavix_state::timer_curval_r)); // Barrel Shifter registers - // map(0x7ff0, 0x7ff1) + map(0x7ff0, 0x7ff1).rw(FUNC(xavix_state::barrel_r), FUNC(xavix_state::barrel_w)); // Multiply / Divide registers map(0x7ff2, 0x7ff4).rw(FUNC(xavix_state::mult_param_r), FUNC(xavix_state::mult_param_w)); @@ -463,6 +466,15 @@ static INPUT_PORTS_START( xavix ) PORT_START("AN7") PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_START("MOUSE0X") + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_START("MOUSE0Y") + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_START("MOUSE1X") + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_START("MOUSE1Y") + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_START("REGION") // PAL/NTSC flag PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM ) INPUT_PORTS_END @@ -489,6 +501,27 @@ static INPUT_PORTS_START( xavix_an ) PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) INPUT_PORTS_END + +static INPUT_PORTS_START( epo_sdb ) + PORT_INCLUDE(xavix) + + PORT_MODIFY("MOUSE0X") + PORT_BIT( 0xff, 0x00, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_REVERSE PORT_PLAYER(1) + PORT_MODIFY("MOUSE0Y") + PORT_BIT( 0xff, 0x00, IPT_AD_STICK_Y ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_PLAYER(1) + PORT_MODIFY("MOUSE1X") + PORT_BIT( 0xff, 0x00, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_REVERSE PORT_PLAYER(2) + PORT_MODIFY("MOUSE1Y") + PORT_BIT( 0xff, 0x00, IPT_AD_STICK_Y ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_PLAYER(2) + + PORT_MODIFY("IN0") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) + + PORT_MODIFY("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) +INPUT_PORTS_END + + // left + right drums together = select / forward (needed on initial screen). left drum = left in menus right drum = right in menus // analog reading depends heavily on timers, they're too fast right now so drum hits are too hard and register multiple times static INPUT_PORTS_START( taikodp ) @@ -1013,6 +1046,13 @@ void xavix_state::xavix2000(machine_config &config) m_palette->set_entries(512); } +void xavix_state::xavix2000_nv(machine_config &config) +{ + xavix2000(config); + + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); +} + void xavix_i2c_state::xavix2000_i2c_24c04(machine_config &config) { xavix2000(config); @@ -1231,6 +1271,12 @@ ROM_START( epo_efdx ) ROM_LOAD("excitefishing.bin", 0x000000, 0x400000, CRC(9c85b261) SHA1(6a363faed2ec89c5176e46554a98ca1e20132579) ) ROM_END +ROM_START( epo_guru ) + ROM_REGION(0x400000, "bios", ROMREGION_ERASE00) + ROM_LOAD("gururinworld.bin", 0x000000, 0x400000, CRC(e5ae4523) SHA1(0e39ef8f94203d34e49422081667805f50a339a1) ) +ROM_END + + ROM_START( rad_rh ) ROM_REGION(0x200000, "bios", ROMREGION_ERASE00) ROM_LOAD("rescueheroes.bin", 0x000000, 0x200000, CRC(38c391a7) SHA1(120334d4ce89d98438c2a35bf7e53af5096cc878) ) @@ -1264,6 +1310,15 @@ ROM_START( ekaraj ) ROM_RELOAD(0x000000, 0x100000) ROM_END +ROM_START( ekaraphs ) + ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 ) + ROM_LOAD( "ekaraheadset.bin", 0x600000, 0x200000, CRC(dd9b3cd7) SHA1(baaf35d56fa45b6f995b8466331bb30f0035f734) ) + ROM_RELOAD(0x000000, 0x200000) +ROM_END + + + + ROM_START( ddrfammt ) ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 ) ROM_LOAD( "ekara_ddr_ha010_81947.bin", 0x600000, 0x200000, CRC(737d5d1a) SHA1(a1043047056dd27bca69767ee2044461ec549465) ) @@ -1325,6 +1380,8 @@ CONS( 200?, rad_rh, 0, 0, xavix, rad_rh, xavix_state, CONS( 200?, epo_efdx, 0, 0, xavix_i2c_24c08, epo_efdx, xavix_i2c_state, init_epo_efdx, "Epoch / SSD Company LTD", "Excite Fishing DX (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +CONS( 2005, epo_guru, 0, 0, xavix, xavix, xavix_state, init_xavix, "Epoch / SSD Company LTD", "Gururin World (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) + CONS( 200?, has_wamg, 0, 0, xavix, xavix, xavix_state, init_xavix, "Hasbro / Milton Bradley / SSD Company LTD", "TV Wild Adventure Mini Golf (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) @@ -1335,7 +1392,8 @@ CONS( 200?, has_wamg, 0, 0, xavix, xavix, xavix_state, CONS( 2000, ekara, 0, 0, xavix_cart_ekara, ekara, xavix_ekara_state, init_xavix, "Takara / SSD Company LTD / Hasbro", "e-kara (US?, NTSC, set 1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*| MACHINE_IS_BIOS_ROOT*/ ) // shows "Please insert a cartridge before turn it on" without cart CONS( 2000, ekaraa, ekara, 0, xavix_cart_ekara, ekara, xavix_ekara_state, init_xavix, "Takara / SSD Company LTD / Hasbro", "e-kara (US?, NTSC, set 2)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*| MACHINE_IS_BIOS_ROOT*/ ) // shows "Please insert a cartridge before turning on e-kara" without cart CONS( 2000, ekaraj, ekara, 0, xavix_cart_ekara, ekara, xavix_ekara_state, init_xavix, "Takara / SSD Company LTD", "e-kara (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*| MACHINE_IS_BIOS_ROOT*/ ) // shows Japanese message without cart -// there appear to be later e-kara releases for each region with 3 built in songs too +// the 'e-kara pro headset' has 3 songs built in for the US release. The Japanese release of this appears to be called 'e-kara H.S.' and it is unclear if it also has built in songs. The Canadian box says 'cartridge contains' instead of 'songs included' but is likely a printing error. +CONS( 2002, ekaraphs, 0, 0, xavix_cart_ekara, ekara, xavix_ekara_state, init_xavix, "Takara / SSD Company LTD", "e-kara Pro Headset (US, includes 3 songs)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*| MACHINE_IS_BIOS_ROOT*/ ) CONS( 2001, ddrfammt, 0, 0, xavix_cart_ddrfammt,ddrfammt, xavix_cart_state, init_xavix, "Takara / Konami / SSD Company LTD", "Dance Dance Revolution Family Mat (Japan)", MACHINE_IMPERFECT_SOUND/*|MACHINE_IS_BIOS_ROOT*/ ) @@ -1346,7 +1404,12 @@ CONS( 2000, popira, 0, 0, xavix_cart_popira,popira, xavix_cart_st CONS( 2003, taikodp, 0, 0, xavix_i2c_taiko, taikodp, xavix_i2c_cart_state, init_xavix, "Takara / SSD Company LTD", "Taiko De Popira (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*|MACHINE_IS_BIOS_ROOT*/ ) // inputs? are the drums analog? -/* SuperXaviX hardware titles */ +/* SuperXaviX (XaviX 2000 type CPU) hardware titles */ + +ROM_START( epo_sdb ) + ROM_REGION(0x400000, "bios", ROMREGION_ERASE00) + ROM_LOAD("superdashball.bin", 0x000000, 0x400000, CRC(a004a764) SHA1(47a96822d4d7d6a0f6be5cd729c3747dbab65979) ) +ROM_END ROM_START( ttv_sw ) ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 ) @@ -1368,15 +1431,21 @@ ROM_START( drgqst ) ROM_LOAD( "dragonquest.bin", 0x000000, 0x800000, CRC(3d24413f) SHA1(1677e81cedcf349de7bf091a232dc82c6424efba) ) ROM_END -CONS( 2005, ttv_sw, 0, 0, xavix2000_i2c_24c02, xavix, xavix_i2c_lotr_state, init_xavix, "Tiger / SSD Company LTD", "Star Wars Saga Edition - Lightsaber Battle Game", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -CONS( 2005, ttv_lotr, 0, 0, xavix2000_i2c_24c02, xavix, xavix_i2c_lotr_state, init_xavix, "Tiger / SSD Company LTD", "Lord Of The Rings - Warrior of Middle-Earth", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -CONS( 2005, ttv_mx, 0, 0, xavix2000_i2c_24c04, ttv_mx, xavix_i2c_state, init_xavix, "Tiger / SSD Company LTD", "MX Dirt Rebel", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) -CONS( 2003, drgqst, 0, 0, xavix2000_i2c_24c02, xavix, xavix_i2c_lotr_state, init_xavix, "Square Enix / SSD Company LTD", "Kenshin Dragon Quest: Yomigaerishi Densetsu no Ken", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +CONS( 2004, epo_sdb, 0, 0, xavix2000_nv, epo_sdb, xavix_state, init_xavix, "Epoch / SSD Company LTD", "Super Dash Ball (Japan)", MACHINE_IMPERFECT_SOUND ) + +CONS( 2005, ttv_sw, 0, 0, xavix2000_i2c_24c02, xavix, xavix_i2c_lotr_state, init_xavix, "Tiger / SSD Company LTD", "Star Wars Saga Edition - Lightsaber Battle Game", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +CONS( 2005, ttv_lotr, 0, 0, xavix2000_i2c_24c02, xavix, xavix_i2c_lotr_state, init_xavix, "Tiger / SSD Company LTD", "Lord Of The Rings - Warrior of Middle-Earth", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +CONS( 2005, ttv_mx, 0, 0, xavix2000_i2c_24c04, ttv_mx, xavix_i2c_state, init_xavix, "Tiger / SSD Company LTD", "MX Dirt Rebel", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +CONS( 2003, drgqst, 0, 0, xavix2000_i2c_24c02, xavix , xavix_i2c_lotr_state, init_xavix, "Square Enix / SSD Company LTD", "Kenshin Dragon Quest: Yomigaerishi Densetsu no Ken", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) + +/* SuperXaviX (XaviX 2002 type CPU) hardware titles */ /* The 'XaviXPORT' isn't a real console, more of a TV adapter, all the actual hardware (CPU including video hw, sound hw) is in the cartridges and controllers and can vary between games, see notes at top of driver. */ +// SSD 2002 NEC 85054-611 CPU uses 16-bit ROMs + ROM_START( xavtenni ) ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 ) ROM_LOAD( "xavixtennis.bin", 0x000000, 0x800000, CRC(23a1d918) SHA1(2241c59e8ea8328013e55952ebf9060ea0a4675b) ) |