mirror of
https://github.com/holub/mame
synced 2025-06-30 07:58:56 +03:00
new WORKING machines (Jumping Popira) (#4752)
* new NOT WORKING machines --- Jumping Popira [Sean Riddle, Peter Wilhelmsen, ShouTime, David Haywood] (seeprom? troubles, i've documented a hack to bypass them right now, but then it boots in an invalid state thinking you've cleared all songs with some corruption due to that) * new NOT WORKING machines --- Fun 2 Learn Smart Fit Park [Sean Riddle, Clawgrip] * (nw) * promote jumping popira (nw) * preinit for now (nw)
This commit is contained in:
parent
a4d666aa08
commit
1c8b595998
@ -23,7 +23,7 @@
|
|||||||
<year>2004</year>
|
<year>2004</year>
|
||||||
<publisher>Takara</publisher>
|
<publisher>Takara</publisher>
|
||||||
<part name="cart" interface="ekara_cart">
|
<part name="cart" interface="ekara_cart">
|
||||||
<!--<feature name="slot" value="rom_24lc04"/>-->
|
<feature name="slot" value="rom_24lc04"/>
|
||||||
<dataarea name="rom" size="0x200000">
|
<dataarea name="rom" size="0x200000">
|
||||||
<rom name="jp1.bin" size="0x200000" crc="106544c5" sha1="1bff363ce13c0eaf344a8f36ed004c78e0ddd007" offset="0" />
|
<rom name="jp1.bin" size="0x200000" crc="106544c5" sha1="1bff363ce13c0eaf344a8f36ed004c78e0ddd007" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
@ -35,7 +35,7 @@
|
|||||||
<year>2004</year>
|
<year>2004</year>
|
||||||
<publisher>Takara</publisher>
|
<publisher>Takara</publisher>
|
||||||
<part name="cart" interface="ekara_cart">
|
<part name="cart" interface="ekara_cart">
|
||||||
<!--<feature name="slot" value="rom_24lc04"/>-->
|
<feature name="slot" value="rom_24lc04"/>
|
||||||
<dataarea name="rom" size="0x200000">
|
<dataarea name="rom" size="0x200000">
|
||||||
<rom name="jp2.bin" size="0x200000" crc="f66d8ee8" sha1="3624c89197b1579fc60d5c40ff30bca248428a6c" offset="0" />
|
<rom name="jp2.bin" size="0x200000" crc="f66d8ee8" sha1="3624c89197b1579fc60d5c40ff30bca248428a6c" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
|
@ -9,49 +9,67 @@
|
|||||||
die markings show
|
die markings show
|
||||||
"SunPlus QL8041" ( also known as Sunplus SPG240 & PAC300 )
|
"SunPlus QL8041" ( also known as Sunplus SPG240 & PAC300 )
|
||||||
|
|
||||||
(all GameKeyReady units?)
|
(all GameKeyReady units?)
|
||||||
Disney Princess (GKR)
|
Disney Princess (GKR)
|
||||||
Wheel of Fortune (GKR)
|
Wheel of Fortune (GKR)
|
||||||
JAKKS WWE (GKR)
|
JAKKS WWE (GKR)
|
||||||
Fantastic 4 (GKR)
|
Fantastic 4 (GKR)
|
||||||
Justice League (GKR)
|
Justice League (GKR)
|
||||||
Dora the Explorer Nursery Rhyme (GKR)
|
Dora the Explorer Nursery Rhyme (GKR)
|
||||||
Dora the Explorer Play Park (GKR)
|
Dora the Explorer Play Park (GKR)
|
||||||
Spiderman 5-in-1 (GKR)
|
Spiderman 5-in-1 (GKR)
|
||||||
etc.
|
etc.
|
||||||
|
|
||||||
(other non GKR JAKKS games)
|
(other non GKR JAKKS games)
|
||||||
X-Men (Wolverine pad)
|
X-Men (Wolverine pad)
|
||||||
Avatar: The Last Airbender
|
Avatar: The Last Airbender
|
||||||
|
|
||||||
(other games)
|
(other games)
|
||||||
Mattel Classic Sports
|
Mattel Classic Sports
|
||||||
|
|
||||||
"SunPlus QL8041C" ( known as Sunplus SPG2??, seems to be compatible with above, so probably just a chip revision )
|
"SunPlus QL8041C" ( known as Sunplus SPG2??, seems to be compatible with above, so probably just a chip revision )
|
||||||
Clickstart ( see clickstart.cpp instead)
|
|
||||||
Wheel of Fortune 2nd Edition
|
Clickstart ( see clickstart.cpp instead)
|
||||||
Spider-man - Villain Roundup
|
Wheel of Fortune 2nd Edition
|
||||||
|
Spider-man - Villain Roundup
|
||||||
|
|
||||||
"SunPlus PA7801" ( known as Sunplus SPG110? ) see spg110.cpp instead
|
"SunPlus QU7074-P69A"
|
||||||
Classic Arcade Pinball
|
|
||||||
EA Sports (NHL95 + Madden 95)
|
The Batman
|
||||||
Spiderman 5-in-1 (original release)
|
|
||||||
|
---
|
||||||
|
|
||||||
It is unknown if the following are close to this architecture or not (no dumps yet)
|
It is unknown if the following are close to this architecture or not (no dumps yet)
|
||||||
|
|
||||||
"SunPlus QU7073-P69A"
|
"SunPlus QU7073-P69A"
|
||||||
Mortal Kombat
|
|
||||||
|
|
||||||
|
Mortal Kombat
|
||||||
|
|
||||||
"Sunplus PU7799-P680?" (difficult to read)
|
"Sunplus PU7799-P680?" (difficult to read)
|
||||||
Mission Paintball
|
|
||||||
|
Mission Paintball
|
||||||
|
|
||||||
"Sunplus QL8167"
|
"Sunplus QL8167"
|
||||||
Disney Princess (newer?)
|
|
||||||
Go Diego Go
|
|
||||||
Shrek - Over the Hedge (this unit shows a GameKey Unlock More Games' on startup, but has no port, not even on the internal PCB)
|
|
||||||
Marvel Heroes (Spider-man)
|
|
||||||
Spiderman 3 (Movie - black)
|
|
||||||
|
|
||||||
|
Disney Princess (newer?)
|
||||||
|
Go Diego Go
|
||||||
|
Shrek - Over the Hedge (this unit shows a GameKey Unlock More Games' on startup, but has no port, not even on the internal PCB)
|
||||||
|
Marvel Heroes (Spider-man)
|
||||||
|
Spiderman 3 (Movie - black)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
These are definitely different
|
||||||
|
|
||||||
|
"SunPlus PA7801" ( known as Sunplus SPG110? ) see spg110.cpp instead
|
||||||
|
|
||||||
|
Classic Arcade Pinball
|
||||||
|
EA Sports (NHL95 + Madden 95)
|
||||||
|
Spiderman 5-in-1 (original release)
|
||||||
|
|
||||||
|
"GCM394" (this is clearly newer, has extra opcodes, different internal map etc.)
|
||||||
|
|
||||||
|
Smart Fit Park
|
||||||
|
|
||||||
Status:
|
Status:
|
||||||
|
|
||||||
@ -2244,6 +2262,13 @@ ROM_START( dreamlif )
|
|||||||
ROM_LOAD16_WORD_SWAP( "dreamlife.bin", 0x000000, 0x800000, CRC(632e0237) SHA1(a8586e8a626d75cf7782f13cfd9f1b938af23d56) )
|
ROM_LOAD16_WORD_SWAP( "dreamlife.bin", 0x000000, 0x800000, CRC(632e0237) SHA1(a8586e8a626d75cf7782f13cfd9f1b938af23d56) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
ROM_START( smartfp )
|
||||||
|
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||||
|
ROM_LOAD16_WORD_SWAP( "smartfitpark.bin", 0x000000, 0x800000, CRC(ada84507) SHA1(a3a80bf71fae62ebcbf939166a51d29c24504428) )
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ROM_START( icanguit )
|
ROM_START( icanguit )
|
||||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||||
// no internal ROM, requires a cartridge
|
// no internal ROM, requires a cartridge
|
||||||
@ -2474,8 +2499,10 @@ CONS( 2005, mattelcs, 0, 0, rad_skat, mattelcs, spg2xx_game_state, emp
|
|||||||
// Hasbro games
|
// Hasbro games
|
||||||
CONS( 2007, dreamlif, 0, 0, rad_skat, rad_crik, spg2xx_game_state, empty_init, "Hasbro", "Dream Life", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
CONS( 2007, dreamlif, 0, 0, rad_skat, rad_crik, spg2xx_game_state, empty_init, "Hasbro", "Dream Life", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||||
|
|
||||||
CONS( 2007, icanguit, 0, 0, icanguit, icanguit, icanguit_state, empty_init, "Mattel / Fisher-Price", "I Can Play Guitar", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
|
||||||
CONS( 2007, icanpian, 0, 0, icanpian, icanpian, icanguit_state, empty_init, "Mattel / Fisher-Price", "I Can Play Piano", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
|
||||||
|
CONS( 2007, icanguit, 0, 0, icanguit, icanguit, icanguit_state, empty_init, "Fisher-Price", "I Can Play Guitar", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||||
|
CONS( 2007, icanpian, 0, 0, icanpian, icanpian, icanguit_state, empty_init, "Fisher-Price", "I Can Play Piano", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||||
|
|
||||||
// might not fit here. First 0x8000 bytes are blank (not too uncommon for these) then rest of rom looks like it's probably encrypted at least
|
// might not fit here. First 0x8000 bytes are blank (not too uncommon for these) then rest of rom looks like it's probably encrypted at least
|
||||||
// could be later model VT based instead? even after decrypting (simple word xor) the vectors have a different format and are at a different location to the SunPlus titles
|
// could be later model VT based instead? even after decrypting (simple word xor) the vectors have a different format and are at a different location to the SunPlus titles
|
||||||
@ -2487,6 +2514,9 @@ CONS( 200?, lexizeus, 0, 0, lexizeus, lexizeus, spg2xx_game_stat
|
|||||||
|
|
||||||
// valid looking code, but extended periperhal area (twice the size?) makes use of unemulated opcode 0xfe00 ?
|
// valid looking code, but extended periperhal area (twice the size?) makes use of unemulated opcode 0xfe00 ?
|
||||||
CONS( 2011, wrlshunt, 0, 0, non_spg_base, wirels60, spg2xx_game_state, empty_init, "Hamy / Kids Station Toys Inc", "Wireless Hunting Video Game System", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
|
CONS( 2011, wrlshunt, 0, 0, non_spg_base, wirels60, spg2xx_game_state, empty_init, "Hamy / Kids Station Toys Inc", "Wireless Hunting Video Game System", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
|
||||||
|
// extended opcodes different internal map?
|
||||||
|
CONS( 2009, smartfp, 0, 0, non_spg_base, wirels60, spg2xx_game_state, empty_init, "Fisher-Price", "Fun 2 Learn Smart Fit Park", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||||
|
// Fun 2 Learn 3-in-1 SMART SPORTS ?
|
||||||
|
|
||||||
// NAND dumps w/ internal bootstrap. Almost certainly do not fit in this driver, as the SPG2xx can only address up to 4Mwords. These are 'GeneralPlus' instead?
|
// NAND dumps w/ internal bootstrap. Almost certainly do not fit in this driver, as the SPG2xx can only address up to 4Mwords. These are 'GeneralPlus' instead?
|
||||||
CONS( 2010, wlsair60, 0, 0, non_spg_base, wirels60, spg2xx_game_state, empty_init, "Jungle Soft / Kids Station Toys Inc", "Wireless Air 60", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
|
CONS( 2010, wlsair60, 0, 0, non_spg_base, wirels60, spg2xx_game_state, empty_init, "Jungle Soft / Kids Station Toys Inc", "Wireless Air 60", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
|
||||||
|
@ -634,6 +634,21 @@ static INPUT_PORTS_START( taikodp )
|
|||||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xavix_i2c_cart_state,i2c_r, nullptr)
|
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xavix_i2c_cart_state,i2c_r, nullptr)
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
static INPUT_PORTS_START( jpopira )
|
||||||
|
PORT_INCLUDE(xavix)
|
||||||
|
|
||||||
|
PORT_MODIFY("IN0")
|
||||||
|
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Pad 1")
|
||||||
|
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Pad 2")
|
||||||
|
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Pad 3")
|
||||||
|
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Pad 4")
|
||||||
|
|
||||||
|
PORT_MODIFY("IN1")
|
||||||
|
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xavix_i2c_cart_state,i2c_r, nullptr)
|
||||||
|
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_NAME("Power Switch") // pressing this will turn the game off.
|
||||||
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static INPUT_PORTS_START( xavixp )
|
static INPUT_PORTS_START( xavixp )
|
||||||
PORT_INCLUDE(xavix)
|
PORT_INCLUDE(xavix)
|
||||||
@ -1559,8 +1574,18 @@ void xavix_i2c_cart_state::xavix_i2c_taiko(machine_config &config)
|
|||||||
|
|
||||||
SOFTWARE_LIST(config, "cart_list_japan_d").set_original("ekara_japan_d");
|
SOFTWARE_LIST(config, "cart_list_japan_d").set_original("ekara_japan_d");
|
||||||
SOFTWARE_LIST(config, "cart_list_japan_sp").set_original("ekara_japan_sp");
|
SOFTWARE_LIST(config, "cart_list_japan_sp").set_original("ekara_japan_sp");
|
||||||
|
}
|
||||||
|
|
||||||
// do any of the later G/P series carts with SEEPROM work with this too? check
|
void xavix_i2c_cart_state::xavix_i2c_jpopira(machine_config &config)
|
||||||
|
{
|
||||||
|
xavix_cart(config);
|
||||||
|
|
||||||
|
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||||
|
|
||||||
|
I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x100); // 24LC02
|
||||||
|
|
||||||
|
SOFTWARE_LIST(config, "cart_list_jpopira_jp").set_original("jpopira_jp"); // NOTE, these are for Jumping Popira only, they don't work with the karaoke or regular popira units
|
||||||
|
SOFTWARE_LIST(config, "cart_list_japan_sp").set_original("ekara_japan_sp");
|
||||||
}
|
}
|
||||||
|
|
||||||
void xavix_cart_state::xavix_cart_ekara(machine_config &config)
|
void xavix_cart_state::xavix_cart_ekara(machine_config &config)
|
||||||
@ -1582,7 +1607,6 @@ void xavix_cart_state::xavix_cart_ekara(machine_config &config)
|
|||||||
SOFTWARE_LIST(config, "cart_list_japan_a").set_original("ekara_japan_a");
|
SOFTWARE_LIST(config, "cart_list_japan_a").set_original("ekara_japan_a");
|
||||||
SOFTWARE_LIST(config, "cart_list_japan_gk").set_original("ekara_japan_gk");
|
SOFTWARE_LIST(config, "cart_list_japan_gk").set_original("ekara_japan_gk");
|
||||||
SOFTWARE_LIST(config, "cart_list_japan_bh").set_original("ekara_japan_bh");
|
SOFTWARE_LIST(config, "cart_list_japan_bh").set_original("ekara_japan_bh");
|
||||||
SOFTWARE_LIST(config, "cart_list_jpopira_jp").set_original("jpopira_jp"); // NOTE, these are for Jumping Popira only, they don't work with the karaoke or regular popira units
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void xavix_cart_state::xavix_cart_popira(machine_config &config)
|
void xavix_cart_state::xavix_cart_popira(machine_config &config)
|
||||||
@ -1891,6 +1915,15 @@ ROM_START( taikodp )
|
|||||||
ROM_RELOAD(0x000000, 0x200000)
|
ROM_RELOAD(0x000000, 0x200000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
ROM_START( jpopira )
|
||||||
|
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
|
||||||
|
ROM_LOAD( "jumpingpopira.bin", 0x600000, 0x200000, CRC(a7bedbd2) SHA1(d62d4ca660c8df14891217fb7b7a2b4a931ff35f) )
|
||||||
|
ROM_RELOAD(0x000000, 0x200000)
|
||||||
|
|
||||||
|
ROM_REGION( 0x100, "i2cmem", ROMREGION_ERASE00 ) // maybe we can remove this eventually, but for now it won't init without a reset between
|
||||||
|
ROM_LOAD( "i2cmem.bin", 0x000, 0x100, CRC(70a05af1) SHA1(e8f4ab51445777fe459f9ff09333f548c4e3507c) )
|
||||||
|
ROM_END
|
||||||
|
|
||||||
ROM_START( evio )
|
ROM_START( evio )
|
||||||
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
|
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
|
||||||
ROM_LOAD( "evio.bin", 0x600000, 0x200000, CRC(ee22c764) SHA1(f2b7e213eb78065a63ef484a619bcfc61299e30e))
|
ROM_LOAD( "evio.bin", 0x600000, 0x200000, CRC(ee22c764) SHA1(f2b7e213eb78065a63ef484a619bcfc61299e30e))
|
||||||
@ -2008,6 +2041,9 @@ CONS( 2002, popira2, 0, 0, xavix_cart_popira,popira2, xavix_popira2
|
|||||||
|
|
||||||
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?
|
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?
|
||||||
|
|
||||||
|
CONS( 2004, jpopira, 0, 0, xavix_i2c_jpopira,jpopira, xavix_i2c_cart_state, init_xavix, "Takara / SSD Company LTD", "Jumping Popira (Japan)", MACHINE_IMPERFECT_SOUND /*|MACHINE_IS_BIOS_ROOT*/ )
|
||||||
|
|
||||||
|
|
||||||
CONS( 2003, evio, 0, 0, xavix_nv, evio, xavix_state, init_xavix, "Tomy / SSD Company LTD", "Evio (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*|MACHINE_IS_BIOS_ROOT*/ ) // inputs? it's a violin controller
|
CONS( 2003, evio, 0, 0, xavix_nv, evio, xavix_state, init_xavix, "Tomy / SSD Company LTD", "Evio (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*|MACHINE_IS_BIOS_ROOT*/ ) // inputs? it's a violin controller
|
||||||
|
|
||||||
|
|
||||||
@ -2020,7 +2056,7 @@ CONS( 2006, ltv_tam, 0, 0, xavix_i2c_24lc04, ltv_tam,xavix_i2c_ltv_
|
|||||||
these use the SSD 2000 NEC 85605-621 type CPU
|
these use the SSD 2000 NEC 85605-621 type CPU
|
||||||
|
|
||||||
XavixPort Golf is "SSD 2003 SuperXaviX MXIC 2003 3009" (not dumped yet, but actually marked as SuperXaviX unlike the others!)
|
XavixPort Golf is "SSD 2003 SuperXaviX MXIC 2003 3009" (not dumped yet, but actually marked as SuperXaviX unlike the others!)
|
||||||
|
|
||||||
This CPU type adds extra opcodes that don't appear to be present in the 97/98 types
|
This CPU type adds extra opcodes that don't appear to be present in the 97/98 types
|
||||||
It does not appear to support the bitmap modes or 16-bit ROMs found in the 2002 type
|
It does not appear to support the bitmap modes or 16-bit ROMs found in the 2002 type
|
||||||
*/
|
*/
|
||||||
|
@ -903,6 +903,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
|
|
||||||
void xavix_i2c_taiko(machine_config &config);
|
void xavix_i2c_taiko(machine_config &config);
|
||||||
|
void xavix_i2c_jpopira(machine_config &config);
|
||||||
|
|
||||||
DECLARE_CUSTOM_INPUT_MEMBER(i2c_r);
|
DECLARE_CUSTOM_INPUT_MEMBER(i2c_r);
|
||||||
|
|
||||||
|
@ -547,12 +547,16 @@ CUSTOM_INPUT_MEMBER(xavix_ekara_state::ekara_multi1_r)
|
|||||||
|
|
||||||
uint8_t xavix_state::read_io0(uint8_t direction)
|
uint8_t xavix_state::read_io0(uint8_t direction)
|
||||||
{
|
{
|
||||||
|
// LOG("%s: read_io0\n", machine().describe_context());
|
||||||
|
|
||||||
// no special handling
|
// no special handling
|
||||||
return m_in0->read();
|
return m_in0->read();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t xavix_state::read_io1(uint8_t direction)
|
uint8_t xavix_state::read_io1(uint8_t direction)
|
||||||
{
|
{
|
||||||
|
// LOG("%s: read_io1\n", machine().describe_context());
|
||||||
|
|
||||||
// no special handling
|
// no special handling
|
||||||
return m_in1->read();
|
return m_in1->read();
|
||||||
}
|
}
|
||||||
@ -605,8 +609,15 @@ void xavix_i2c_ltv_tam_state::write_io1(uint8_t data, uint8_t direction)
|
|||||||
// for taikodp
|
// for taikodp
|
||||||
void xavix_i2c_cart_state::write_io1(uint8_t data, uint8_t direction)
|
void xavix_i2c_cart_state::write_io1(uint8_t data, uint8_t direction)
|
||||||
{
|
{
|
||||||
m_i2cmem->write_sda((data & 0x08) >> 3);
|
if (direction & 0x08)
|
||||||
m_i2cmem->write_scl((data & 0x10) >> 4);
|
{
|
||||||
|
m_i2cmem->write_sda((data & 0x08) >> 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (direction & 0x10)
|
||||||
|
{
|
||||||
|
m_i2cmem->write_scl((data & 0x10) >> 4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void xavix_ekara_state::write_io0(uint8_t data, uint8_t direction)
|
void xavix_ekara_state::write_io0(uint8_t data, uint8_t direction)
|
||||||
@ -713,14 +724,14 @@ READ8_MEMBER(xavix_state::io1_direction_r)
|
|||||||
WRITE8_MEMBER(xavix_state::io0_data_w)
|
WRITE8_MEMBER(xavix_state::io0_data_w)
|
||||||
{
|
{
|
||||||
m_io0_data = data;
|
m_io0_data = data;
|
||||||
write_io0(data, m_io0_direction);
|
write_io0((data & m_io0_direction) | (read_io0(m_io0_direction) & ~m_io0_direction), m_io0_direction);
|
||||||
LOG("%s: io0_data_w %02x\n", machine().describe_context(), data);
|
LOG("%s: io0_data_w %02x\n", machine().describe_context(), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(xavix_state::io1_data_w)
|
WRITE8_MEMBER(xavix_state::io1_data_w)
|
||||||
{
|
{
|
||||||
m_io1_data = data;
|
m_io1_data = data;
|
||||||
write_io1(data, m_io1_direction);
|
write_io1((data & m_io1_direction) | (read_io1(m_io1_direction) & ~m_io1_direction), m_io1_direction);
|
||||||
LOG("%s: io1_data_w %02x\n", machine().describe_context(), data);
|
LOG("%s: io1_data_w %02x\n", machine().describe_context(), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38762,6 +38762,7 @@ rad_crik //
|
|||||||
rad_fb2 //
|
rad_fb2 //
|
||||||
mattelcs //
|
mattelcs //
|
||||||
dreamlif //
|
dreamlif //
|
||||||
|
smartfp //
|
||||||
icanguit //
|
icanguit //
|
||||||
icanpian //
|
icanpian //
|
||||||
|
|
||||||
@ -39949,6 +39950,7 @@ ddrfammt //
|
|||||||
popira //
|
popira //
|
||||||
popira2 //
|
popira2 //
|
||||||
taikodp //
|
taikodp //
|
||||||
|
jpopira //
|
||||||
evio //
|
evio //
|
||||||
ttv_sw //
|
ttv_sw //
|
||||||
ttv_lotr //
|
ttv_lotr //
|
||||||
|
Loading…
Reference in New Issue
Block a user