Skip to content

Commit

Permalink
use more appropriate external bus sizes in some cases
Browse files Browse the repository at this point in the history
  • Loading branch information
David Haywood committed Dec 19, 2024
1 parent b5d4bc5 commit 7d6a993
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 12 deletions.
44 changes: 36 additions & 8 deletions src/mame/tvgames/xavix.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,21 @@ void xavix_cart_state::xavix_extbus_map(address_map &map)
map(0x600000, 0x7fffff).rom().region("bios", 0x600000);
}

void xavix_state::xavix_4mb_extbus_map(address_map &map)
{
map(0x000000, 0x3fffff).mirror(0x400000).rom().region("bios", 0x00000);
}

void xavix_state::xavix_2mb_extbus_map(address_map &map)
{
map(0x000000, 0x1fffff).mirror(0x600000).rom().region("bios", 0x00000);
}

void xavix_state::xavix_1mb_extbus_map(address_map &map)
{
map(0x000000, 0x0fffff).mirror(0x700000).rom().region("bios", 0x00000);
}

void xavix_state::xavix_lowbus_map(address_map &map)
{
map(0x0000, 0x3fff).ram().share("mainram");
Expand Down Expand Up @@ -1767,6 +1782,19 @@ void xavix_i2c_state::xavix_i2c_24lc04(machine_config &config)
I2C_24C04(config, "i2cmem", 0); // 24LC04 on Nostalgia games, 24C04 on others
}

void xavix_i2c_state::xavix_i2c_24lc04_2mb(machine_config &config)
{
xavix_i2c_24lc04(config);
m_maincpu->set_addrmap(6, &xavix_i2c_state::xavix_2mb_extbus_map);
}

void xavix_i2c_state::xavix_i2c_24lc04_1mb(machine_config &config)
{
xavix_i2c_24lc04(config);
m_maincpu->set_addrmap(6, &xavix_i2c_state::xavix_1mb_extbus_map);
}


void xavix_i2c_ltv_tam_state::xavix_i2c_24lc04_tam(machine_config &config)
{
xavix_i2c_24lc04(config);
Expand Down Expand Up @@ -2047,22 +2075,22 @@ void xavix_state::init_xavix()
***************************************************************************/

ROM_START( taitons1 )
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
ROM_REGION( 0x200000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "taitonostalgia1.u3", 0x000000, 0x200000, CRC(25bd8c67) SHA1(a109cd2da6aa4596e3ca3abd1afce2d0001a473f) )
ROM_END

ROM_START( taitons2 )
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
ROM_REGION( 0x200000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "taitonostalgia2.bin", 0x000000, 0x200000, CRC(d7dbd93d) SHA1(ad96f80d317e7fd64682a1fe406c5ee9dd5eabf9) )
ROM_END

ROM_START( namcons1 )
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
ROM_REGION( 0x100000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "namconostalgia1.bin", 0x000000, 0x100000, CRC(9bcccccd) SHA1(cf8fe6de76fbd23974f999299db6f558f79c8f22) )
ROM_END

ROM_START( namcons2 )
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
ROM_REGION( 0x100000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "nostalgia.bin", 0x000000, 0x100000, CRC(03f7f755) SHA1(bdf1b10ab0104ed580951b0c428c4e93e7373afe) )
ROM_END

Expand Down Expand Up @@ -2591,16 +2619,16 @@ ROM_END
*/

// Let's!TVプレイCLASSIC タイトーノスタルジア1
CONS( 2006, taitons1, 0, 0, xavix_i2c_24lc04, nostalgia,xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD / Taito", "Let's! TV Play Classic - Taito Nostalgia 1 (Japan)", MACHINE_IMPERFECT_SOUND )
CONS( 2006, taitons1, 0, 0, xavix_i2c_24lc04_2mb, nostalgia,xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD / Taito", "Let's! TV Play Classic - Taito Nostalgia 1 (Japan)", MACHINE_IMPERFECT_SOUND )

// Let's!TVプレイCLASSIC タイトーノスタルジア2
CONS( 2006, taitons2, 0, 0, xavix_i2c_24lc04, nostalgia,xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD / Taito", "Let's! TV Play Classic - Taito Nostalgia 2 (Japan)", MACHINE_IMPERFECT_SOUND )
CONS( 2006, taitons2, 0, 0, xavix_i2c_24lc04_2mb, nostalgia,xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD / Taito", "Let's! TV Play Classic - Taito Nostalgia 2 (Japan)", MACHINE_IMPERFECT_SOUND )

// Let's!TVプレイCLASSIC ナムコノスタルジア1
CONS( 2006, namcons1, 0, 0, xavix_i2c_24lc04, nostalgia,xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD / Namco", "Let's! TV Play Classic - Namco Nostalgia 1 (Japan)", MACHINE_IMPERFECT_SOUND )
CONS( 2006, namcons1, 0, 0, xavix_i2c_24lc04_1mb, nostalgia,xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD / Namco", "Let's! TV Play Classic - Namco Nostalgia 1 (Japan)", MACHINE_IMPERFECT_SOUND )

// Let's!TVプレイCLASSIC ナムコノスタルジア2
CONS( 2006, namcons2, 0, 0, xavix_i2c_24lc04, nostalgia,xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD / Namco", "Let's! TV Play Classic - Namco Nostalgia 2 (Japan)", MACHINE_IMPERFECT_SOUND )
CONS( 2006, namcons2, 0, 0, xavix_i2c_24lc04_1mb, nostalgia,xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD / Namco", "Let's! TV Play Classic - Namco Nostalgia 2 (Japan)", MACHINE_IMPERFECT_SOUND )

CONS( 2000, rad_ping, 0, 0, xavix, rad_ping, xavix_state, init_xavix, "Radica / SSD Company LTD / Simmer Technology", "Play TV Ping Pong (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // "Simmer Technology" is also known as "Hummer Technology Co., Ltd"
CONS( 2000, rad_pingp, rad_ping, 0, xavixp, rad_pingp,xavix_state, init_xavix, "Radica / SSD Company LTD / Simmer Technology", "ConnecTV Table Tennis (PAL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
Expand Down
8 changes: 7 additions & 1 deletion src/mame/tvgames/xavix.h
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,10 @@ class xavix_state : public driver_device

virtual void xavix_extbus_map(address_map &map) ATTR_COLD;

void xavix_4mb_extbus_map(address_map &map) ATTR_COLD;
void xavix_2mb_extbus_map(address_map &map) ATTR_COLD;
void xavix_1mb_extbus_map(address_map &map) ATTR_COLD;

// screen updates
virtual uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);

Expand Down Expand Up @@ -703,9 +707,9 @@ class superxavix_i2c_state : public superxavix_state
m_i2cmem(*this, "i2cmem")
{ }


void superxavix_i2c_24c08(machine_config &config);
void superxavix_i2c_24c04(machine_config &config);
void superxavix_i2c_24c04_4mb(machine_config &config);
void superxavix_i2c_24c02(machine_config &config);
void superxavix_i2c_mrangbat(machine_config& config);

Expand All @@ -726,6 +730,8 @@ class xavix_i2c_state : public xavix_state
{ }

void xavix_i2c_24lc04(machine_config &config);
void xavix_i2c_24lc04_2mb(machine_config &config);
void xavix_i2c_24lc04_1mb(machine_config &config);
void xavix_i2c_24c02(machine_config &config);
void xavix_i2c_24c02_43mhz(machine_config &config);
void xavix_i2c_24c08(machine_config &config);
Expand Down
14 changes: 11 additions & 3 deletions src/mame/tvgames/xavix_2002.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -456,6 +456,12 @@ void superxavix_i2c_state::superxavix_i2c_24c04(machine_config &config)
I2C_24C04(config, "i2cmem", 0);
}

void superxavix_i2c_state::superxavix_i2c_24c04_4mb(machine_config &config)
{
superxavix_i2c_24c04(config);
m_maincpu->set_addrmap(6, &superxavix_i2c_state::xavix_4mb_extbus_map);
}

void superxavix_i2c_state::superxavix_i2c_24c02(machine_config &config)
{
xavix2002(config);
Expand All @@ -468,6 +474,8 @@ void superxavix_i2c_state::superxavix_i2c_mrangbat(machine_config &config)
{
xavix2002(config);

m_maincpu->set_addrmap(6, &superxavix_i2c_state::xavix_4mb_extbus_map);

I2C_24C02(config, "i2cmem", 0); // 24C02?

m_xavix2002io->read_0_callback().set_ioport("EX0");
Expand Down Expand Up @@ -576,7 +584,7 @@ ROM_START( domstepc )
ROM_END

ROM_START( mrangbat )
ROM_REGION(0x800000, "bios", ROMREGION_ERASE00)
ROM_REGION(0x400000, "bios", ROMREGION_ERASE00)
ROM_LOAD("powerrangerspad.bin", 0x000000, 0x400000, CRC(d3a98775) SHA1(485c66242dd0ee436a278d23005aece48d606431) )
ROM_END

Expand All @@ -601,7 +609,7 @@ ROM_START( ban_ordj )
ROM_END

ROM_START( epo_tfit )
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00)
ROM_REGION( 0x400000, "bios", ROMREGION_ERASE00)
ROM_LOAD("tennisfitness.bin", 0x000000, 0x400000, CRC(cbf65bd2) SHA1(30b3da6f061b2dd91679db42a050f715901beb87) )
ROM_END

Expand Down Expand Up @@ -680,7 +688,7 @@ CONS( 2007, domstepc, 0, 0, superxavix_i2c_jmat, xavixp, superxavix_i2c_jmat_sta
CONS( 2005, mrangbat, 0, 0, superxavix_i2c_mrangbat, mrangbat, superxavix_i2c_state, init_xavix, "Bandai / SSD Company LTD", "Let's! TV Play Mahou Taiketsu Magiranger - Magimat de Dance & Battle (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )

// エキサイトスポーツ テニス×フィットネス
CONS( 2004, epo_tfit, 0, 0, superxavix_i2c_24c04, epo_tfit, superxavix_i2c_state, init_xavix, "Epoch / SSD Company LTD", "Excite Sports Tennis x Fitness (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // Epoch Tennis and Fitness has 24LC04
CONS( 2004, epo_tfit, 0, 0, superxavix_i2c_24c04_4mb, epo_tfit, superxavix_i2c_state, init_xavix, "Epoch / SSD Company LTD", "Excite Sports Tennis x Fitness (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // Epoch Tennis and Fitness has 24LC04

// それいけトーマス ソドー島のなかまたち
CONS( 2005, tmy_thom, 0, 0, superxavix_i2c_24c04, xavix_i2c, superxavix_i2c_state, init_xavix, "Tomy / SSD Company LTD", "Soreike Thomas - Sodor Tou no Nakamatachi / Thomas & Friends on the Island of Sodor (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
Expand Down

0 comments on commit 7d6a993

Please sign in to comment.