summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author David Haywood <mamehaze@gmail.com>2019-03-10 15:33:42 +0000
committer ajrhacker <ajrhacker@users.noreply.github.com>2019-03-10 11:33:42 -0400
commitf03db753db397e23d5f56fa9728dffdae009f449 (patch)
tree3b4cb900af6f975121e9eb32e395f5d9f8ca4b85
parent78c9ef697bba29cf3e28c6fde912ff37d9589fc2 (diff)
machines promoted, new software list stuff (#4738)
* machines promoted to working --- Disney Friends (JAKKS Pacific TV Game, Game-Key Ready) (17 MAY 2005 A) [Sean Riddle, Peter Wilhelmsen, Ryan Holtz] Justice League (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, Peter Wilhelmsen, Ryan Holtz] MX Dirt Rebel [Sean Riddle, Peter Wilhelmsen, Olivier Galibert, David Haywood] new NOT WORKING software list entries --- icanpian:jjs Jammin' Jungle Safari (Disney's The Lion King, Jungle Book, Tarzan) (K4653) [Sean Riddle, David Haywood] icanpian:jungboog Jungle Boogie (J7524) [Sean Riddle, David Haywood] icanpian:dpmagic Disney Princess Magical Melodies (K4656) [Sean Riddle, David Haywood] icanpian:rdp Rockin' Dance Party (J8715) [Sean Riddle, David Haywood] icanpian:scoobymm Scooby-Doo! Monster Mayhem (J7525) [Sean Riddle, David Haywood] icanpian:showtune Nicktoons Show Tunes (J7527) [Sean Riddle, David Haywood] * document this switch (nw) * some keys (nw) * needs more investigation here (nw) * new WORKING machines --- Disney (JAKKS Pacific TV Game, Game-Key Ready) (08 FEB 2005 A) [Sean Riddle, David Haywood, external donators] * new NOT WORKING software list entries --- icanguit:guitfav Guitar Favorites (K7357) [Sean Riddle, David Haywood] icanguit:surfsup SpongeBob SquarePants - Surf's Up (K9903) [Sean Riddle, David Haywood] icanguit:ggreats American Idol - Guitar Greats (K9907) [Sean Riddle, David Haywood] icanguit:nashhits Nashville Hits (K9905) [Sean Riddle, David Haywood] icanguit:roadtune Hot Wheels - Road Tunes (K9902) [Sean Riddle, David Haywood] * new NOT WORKING machines --- Evio (Japan) [Sean Riddle, Peter Wilhelmsen, ShouTime, David Haywood] (needs violin inputs mapping at least)
-rw-r--r--hash/icanguit.xml63
-rw-r--r--hash/icanpian.xml100
-rw-r--r--src/devices/bus/ekara/rom.cpp6
-rw-r--r--src/mame/drivers/vii.cpp320
-rw-r--r--src/mame/drivers/xavix.cpp36
-rw-r--r--src/mame/mame.lst2
6 files changed, 454 insertions, 73 deletions
diff --git a/hash/icanguit.xml b/hash/icanguit.xml
index a0c6fe50584..7f1d0bf7e81 100644
--- a/hash/icanguit.xml
+++ b/hash/icanguit.xml
@@ -2,16 +2,17 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
- Known cartridges (*=dumped)
- there could be more
+ Known cartridges (*=dumped) (#=sourced)
*Guitar Favorites (K7357)
- Barbie Guitar Party
- Hot Wheels Road Tunes
- Nashville Hits
- Rock 101
- Spongebob Squarepants Surf's Up
- American Idol Guitar Greats
+ #Barbie Guitar Party
+ #Rock 101
+ *Hot Wheels Road Tunes (K9902)
+ *Spongebob Squarepants Surf's Up (K9903)
+ *Nashville Hits (K9905)
+ *American Idol Guitar Greats (K9907)
+
+ (were there any more?)
cartridge pinout (not identical to I Can Play Piano)
@@ -44,7 +45,7 @@
<softwarelist name="icanguit_cart" description="Fisher-Price / Mattel I Can Play Guitar cartridges">
<software name="guitfav" supported="no">
- <description>Guitar Favorites</description>
+ <description>Guitar Favorites (K7357)</description>
<year>2007</year>
<publisher>Fisher-Price / Mattel</publisher>
<part name="cart" interface="icanguit_cart">
@@ -53,4 +54,48 @@
</dataarea>
</part>
</software>
+
+ <software name="ggreats" supported="no">
+ <description>American Idol - Guitar Greats (K9907)</description>
+ <year>2007</year>
+ <publisher>Fisher-Price / Mattel</publisher>
+ <part name="cart" interface="icanguit_cart">
+ <dataarea name="rom" size="0x800000">
+ <rom name="icpgguitargreats.bin" size="0x800000" crc="5a4daf19" sha1="4f673c39fe95399ebfd02257c7b6b80ec44ed14f" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="surfsup" supported="no">
+ <description>SpongeBob SquarePants - Surf's Up (K9903)</description>
+ <year>2007</year>
+ <publisher>Fisher-Price / Mattel</publisher>
+ <part name="cart" interface="icanguit_cart">
+ <dataarea name="rom" size="0x800000">
+ <rom name="icpgsurfsup.bin" size="0x800000" crc="c6ead0fd" sha1="f49ec1cf28e960dd5a253482e74978b67d92f652" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="roadtune" supported="no">
+ <description>Hot Wheels - Road Tunes (K9902)</description>
+ <year>2007</year>
+ <publisher>Fisher-Price / Mattel</publisher>
+ <part name="cart" interface="icanguit_cart">
+ <dataarea name="rom" size="0x800000">
+ <rom name="icpgroadtunes.bin" size="0x800000" crc="d2c4da6b" sha1="28cb2ea079e4a4885523ef94999342365316ef12" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="nashhits" supported="no">
+ <description>Nashville Hits (K9905)</description>
+ <year>2007</year>
+ <publisher>Fisher-Price / Mattel</publisher>
+ <part name="cart" interface="icanguit_cart">
+ <dataarea name="rom" size="0x800000">
+ <rom name="icpgnashvillehits.bin" size="0x800000" crc="b3615978" sha1="9c8d5c085feb55ed18d118d4dd7b9ff72872f3bc" offset="0" />
+ </dataarea>
+ </part>
+ </software>
</softwarelist>
diff --git a/hash/icanpian.xml b/hash/icanpian.xml
index cc61d339047..2ce66e512cc 100644
--- a/hash/icanpian.xml
+++ b/hash/icanpian.xml
@@ -2,22 +2,23 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
- Known cartridges (*=dumped)
- there could be more
+ Known cartridges (*=dumped) (#=sourced)
*Piano Favourites (J7522)
- Jammin Jungle Safari (Disney The Lion King, Disney The Jungle Book, Disney Tarzan)
- Jungle Boogie
- Scooby-Doo! Monster Mayhem
- Rockin' Dance Party
- Nicktoons Show Tunes
- Holiday Wonderland
- Barbie Princess Enchanted Sounds
- Pop Hits
- Dora the Explorer Musical Adventure
- American Idol - Take The Stage
- Disney Princess Magical Melodies
- The Wizard of Oz - We're Off to Play the Piano
+ *Jammin Jungle Safari (Disney The Lion King, Disney The Jungle Book, Disney Tarzan) (K4653)
+ *Jungle Boogie (J7524)
+ *Scooby-Doo! Monster Mayhem (J7525)
+ *Rockin' Dance Party (J8715)
+ *Nicktoons Show Tunes (J7527)
+ *Disney Princess Magical Melodies (K4656)
+ #Barbie Princess Enchanted Sounds
+ #Pop Hits
+ #Dora the Explorer Musical Adventure
+ #American Idol - Take The Stage
+ #Holiday Wonderland
+ #The Wizard of Oz - We're Off to Play the Piano
+
+ (were there any more?)
cartridge pinout (not identical to I Can Play Guitar)
@@ -49,8 +50,8 @@
<softwarelist name="icanpian_cart" description="Fisher-Price / Mattel I Can Play Piano cartridges">
<software name="pianfav" supported="no">
- <description>Piano Favorites</description>
- <year>2007</year>
+ <description>Piano Favorites (J7522)</description>
+ <year>2005</year>
<publisher>Fisher-Price / Mattel</publisher>
<part name="cart" interface="icanpian_cart">
<dataarea name="rom" size="0x800000">
@@ -58,4 +59,71 @@
</dataarea>
</part>
</software>
+
+ <software name="dpmagic" supported="no">
+ <description>Disney Princess Magical Melodies (K4656)</description>
+ <year>2005</year>
+ <publisher>Fisher-Price / Mattel</publisher>
+ <part name="cart" interface="icanpian_cart">
+ <dataarea name="rom" size="0x800000">
+ <rom name="icppmagicalmelodies.bin" size="0x800000" crc="c5f4c7eb" sha1="d47feebba010c498cd11cd6019df6c7680840ee5" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="jungboog" supported="no">
+ <description>Jungle Boogie (J7524)</description>
+ <year>2005</year>
+ <publisher>Fisher-Price / Mattel</publisher>
+ <part name="cart" interface="icanpian_cart">
+ <dataarea name="rom" size="0x800000">
+ <rom name="icppjungleboogie.bin" size="0x800000" crc="632ab0a3" sha1="ec8b56cc0eaec0ac31f7c224167449e691c07bc6" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="scoobymm" supported="no">
+ <description>Scooby-Doo! Monster Mayhem (J7525)</description>
+ <year>2005</year>
+ <publisher>Fisher-Price / Mattel</publisher>
+ <part name="cart" interface="icanpian_cart">
+ <dataarea name="rom" size="0x800000">
+ <rom name="icppscoobydoomonstermayhem.bin" size="0x800000" crc="e16c715e" sha1="3f6322ea9404b87620d924f0c0b0ad405f50f674" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="jjs" supported="no">
+ <description>Jammin' Jungle Safari (Disney's The Lion King, Jungle Book, Tarzan) (K4653)</description> <!-- Tarzan is shown on the cart, but none of the songs are from it? -->
+ <year>2005</year>
+ <publisher>Fisher-Price / Mattel</publisher>
+ <part name="cart" interface="icanpian_cart">
+ <dataarea name="rom" size="0x800000">
+ <rom name="icppjamminjunglesafari.bin" size="0x800000" crc="6408abb6" sha1="9c9c050e919222a80369d2a116a85db6cc4d7acb" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="showtune" supported="no">
+ <description>Nicktoons Show Tunes (J7527)</description>
+ <year>2005</year>
+ <publisher>Fisher-Price / Mattel</publisher>
+ <part name="cart" interface="icanpian_cart">
+ <dataarea name="rom" size="0x800000">
+ <rom name="icppshowtunes.bin" size="0x800000" crc="c95836fd" sha1="c07b500f241fc6b3a3302b580794bb2eb86977c7" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="rdp" supported="no">
+ <description>Rockin' Dance Party (J8715)</description>
+ <year>2005</year>
+ <publisher>Fisher-Price / Mattel</publisher>
+ <part name="cart" interface="icanpian_cart">
+ <dataarea name="rom" size="0x800000">
+ <rom name="icpprockindanceparty.bin" size="0x800000" crc="00d597d3" sha1="603c8d9d11f5e1d075a1b524e99b581d859b43ba" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
</softwarelist>
diff --git a/src/devices/bus/ekara/rom.cpp b/src/devices/bus/ekara/rom.cpp
index 9ebc85452eb..f55fd325d2a 100644
--- a/src/devices/bus/ekara/rom.cpp
+++ b/src/devices/bus/ekara/rom.cpp
@@ -148,21 +148,21 @@ bool ekara_rom_i2c_24c08_epitch_device::is_write_access_not_rom(void)
void ekara_rom_i2c_24c08_epitch_device::device_add_mconfig(machine_config &config)
{
- I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x400); // 24C08
+ I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x400); // 24C08
}
// i2c 24lc04
void ekara_rom_i2c_24lc04_device::device_add_mconfig(machine_config &config)
{
- I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x200); // 24LC04
+ I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x200); // 24LC04
}
// i2c 24lc02
void ekara_rom_i2c_24lc02_device::device_add_mconfig(machine_config &config)
{
- I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x100); // 24LC02
+ I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x100); // 24LC02
}
// i2c 24lc02 with direct IO port access
diff --git a/src/mame/drivers/vii.cpp b/src/mame/drivers/vii.cpp
index 96b723e2a3f..26371ff641c 100644
--- a/src/mame/drivers/vii.cpp
+++ b/src/mame/drivers/vii.cpp
@@ -66,11 +66,15 @@
All systems:
Various inaccuracies in samples/envelopes.
- walle:
+ jak_wall, jak_sdoo:
Game seems unhappy with NVRAM, clears contents on each boot.
jak_pooh:
In the 'Light Tag' minigame (select the rock) you can't move left with the DRC (ok with -nodrc)
and the game usually softlocks when you find a friend (with or without DRC)
+ jak_disf:
+ shows corrupt logo on first boot with no valid nvram (possibly hardware does too, or layer disable?)
+ jak_nick:
+ channel chasers (first game) title screen background should be blue, not the current pattern (possible layer disable?)
vii:
When loading a cart from file manager, sometimes MAME will crash.
@@ -214,6 +218,7 @@ public:
void jakks_gkr_2m_i2c(machine_config &config);
void jakks_gkr_nk(machine_config &config);
void jakks_gkr_nk_i2c(machine_config &config);
+ void jakks_gkr_dy(machine_config &config);
void jakks_gkr_dy_i2c(machine_config &config);
void jakks_gkr_dp_i2c(machine_config &config);
void jakks_gkr_sw_i2c(machine_config &config);
@@ -283,6 +288,8 @@ public:
: spg2xx_game_state(mconfig, type, tag)
, m_cart(*this, "cartslot")
, m_cart_region(nullptr)
+ , m_porta_in(*this, "INA_%u", 0U)
+ , m_portc_in(*this, "INC_%u", 0U)
{ }
void icanguit(machine_config &config);
@@ -290,12 +297,26 @@ public:
private:
virtual void machine_start() override;
- //virtual void machine_reset() override;
+ virtual void machine_reset() override;
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(icanguit_cart);
+ DECLARE_READ16_MEMBER(porta_r);
+ DECLARE_READ16_MEMBER(portb_r);
+ DECLARE_READ16_MEMBER(portc_r);
+ DECLARE_WRITE16_MEMBER(porta_w);
+ DECLARE_WRITE16_MEMBER(portb_w);
+ DECLARE_WRITE16_MEMBER(portc_w);
+
+
required_device<generic_slot_device> m_cart;
memory_region *m_cart_region;
+
+ uint16_t m_inlatch_a;
+ uint16_t m_inlatch_c;
+ optional_ioport_array<3> m_porta_in;
+ optional_ioport_array<3> m_portc_in;
+
};
@@ -550,7 +571,8 @@ static INPUT_PORTS_START( walle )
PORT_START("P3")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, spg2xx_game_state,i2c_r, nullptr)
- PORT_BIT( 0xfffe, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0xfff6, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PAL/NTSC flag, set to NTSC (unverified here)
INPUT_PORTS_END
static INPUT_PORTS_START( jak_sith_i2c )
@@ -562,7 +584,8 @@ static INPUT_PORTS_START( jak_sith_i2c )
PORT_START("P3")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, jakks_gkr_state,i2c_gkr_r, nullptr)
- PORT_BIT( 0xfffe, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PAL/NTSC flag, set to NTSC (unverified here)
+ PORT_BIT( 0xfff6, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("JOYX")
PORT_BIT(0x0fff, 0x0000, IPT_AD_STICK_X) PORT_SENSITIVITY(100) PORT_KEYDELTA(100) PORT_MINMAX(0x00,0x0fff)
@@ -578,7 +601,8 @@ static INPUT_PORTS_START( jak_pooh )
PORT_BIT( 0xf7df, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("P3")
- PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0xfff7, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PAL/NTSC flag, set to NTSC (unverified here)
PORT_START("JOYX")
PORT_BIT(0x0fff, 0x0000, IPT_AD_STICK_X) PORT_SENSITIVITY(100) PORT_KEYDELTA(100) PORT_MINMAX(0x00,0x0fff)
@@ -601,7 +625,7 @@ static INPUT_PORTS_START( jak_nm_i2c )
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, jakks_gkr_state,i2c_gkr_r, nullptr)
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PAL/NTSC flag? music speed changes in Mappy
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PAL/NTSC flag, set to NTSC
PORT_BIT( 0xfff0, IP_ACTIVE_HIGH, IPT_UNUSED )
@@ -624,9 +648,10 @@ static INPUT_PORTS_START( jak_wf_i2c )
PORT_START("P3")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, jakks_gkr_state,i2c_gkr_r, nullptr)
- PORT_BIT( 0xfffe, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0xfff6, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PAL/NTSC flag, set to NTSC
- /* on real unit you can spin the wheel (and must make sure it completes a full circle, or you lose your turn) instead of pressing 'B' for a random spin but where does it map?
+ /* on real unit you can spin the wheel (and must make sure it completes a full circle, or you lose your turn) instead of pressing 'B' for a random spin but where does it map? (it can be tested in secret test mode)
PORT_START("DIALX")
PORT_BIT(0x0fff, 0x0000, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(100) PORT_MINMAX(0x00,0x0fff)
@@ -659,9 +684,7 @@ static INPUT_PORTS_START( jak_gkr )
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PAL/NTSC flag, set to NTSC (not verified for all games, state can be seen in secret test menu of many tho)
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) // this causes WWE to think the unit is a '2nd Controller' and tells you to plug the 1st one in.
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -722,9 +745,7 @@ static INPUT_PORTS_START( jak_sdoo_i2c ) // GameKeyReady units had 2 main button
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PAL/NTSC flag, set to NTSC (unverified here)
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -787,7 +808,8 @@ static INPUT_PORTS_START( jak_disp_i2c )
PORT_START("P3")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, jakks_gkr_state,i2c_gkr_r, nullptr)
- PORT_BIT( 0xfffe, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PAL/NTSC flag, set to NTSC (unverified here)
+ PORT_BIT( 0xfff6, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
@@ -1140,19 +1162,20 @@ INPUT_PORTS_END
static INPUT_PORTS_START( icanpian ) // this has an entire piano keyboard + extras
- PORT_START("P1") // the keyboard keys are in here, but each seems triple mapped to 3 octaves so there must be multiplexing
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON4 )
- PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON5 )
- PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON6 )
- PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON7 )
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON8 )
- PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON9 )
- PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON10 )
- PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_BUTTON11 )
- PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON12 )
- PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_BUTTON13 )
- PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON14 )
- PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_BUTTON15 )
+
+ PORT_START("INA_0")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 F (Green)")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 F# (Purple)")
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 G (Yellow)")
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 G# (Dark Blue)")
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 A (Flesh)")
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 A# (Dark Green)")
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON10 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 B (Pink)")
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_BUTTON11 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 C (White)")
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON12 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 C# (Black)")
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_BUTTON13 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 D (Blue)")
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON14 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 D# (Red)")
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_BUTTON15 ) PORT_PLAYER(1) PORT_NAME("Octatve 0 E (Orange)")
PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -1166,6 +1189,61 @@ static INPUT_PORTS_START( icanpian ) // this has an entire piano keyboard + extr
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_START("INA_1")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 F (Green)")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 F# (Purple)")
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 G (Yellow)")
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 G# (Dark Blue)")
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 A (Flesh)")
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 A# (Dark Green)")
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON10 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 B (Pink)")
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_BUTTON11 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 C (White)")
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON12 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 C# (Black)")
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_BUTTON13 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 D (Blue)")
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON14 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 D# (Red)")
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_BUTTON15 ) PORT_PLAYER(2) PORT_NAME("Octatve 1 E (Orange)")
+ PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_START("INA_2")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 F (Green)")
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 F# (Purple)")
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 G (Yellow)")
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 G# (Dark Blue)")
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 A (Flesh)")
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 A# (Dark Green)")
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON10 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 B (Pink)")
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_BUTTON11 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 C (White)")
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON12 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 C# (Black)")
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_BUTTON13 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 D (Blue)")
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON14 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 D# (Red)")
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_BUTTON15 ) PORT_PLAYER(3) PORT_NAME("Octatve 2 E (Orange)")
+ PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_START("P1")
+ // uses multiplexed ports instead
+
PORT_START("P2")
PORT_DIPNAME( 0x0001, 0x0001, "P2" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
@@ -1217,15 +1295,82 @@ static INPUT_PORTS_START( icanpian ) // this has an entire piano keyboard + extr
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("P3")
- PORT_DIPNAME( 0x0001, 0x0000, "P3" ) // must be 'ON' to boot
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ // uses multiplexed ports instead
+
+ PORT_START("INC_0")
+ PORT_BIT( 0x003f, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // are these some of the other buttons? having any of them pressed will corrupt the startup of dpmagic and jjs at least
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_NAME("Power Switch") // presumably power, kils the game
+ PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_START("INC_1")
+ PORT_BIT( 0x003f, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // are these some of the other buttons? having any of them pressed will corrupt the startup of dpmagic and jjs at least
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
+ PORT_START("INC_2") // the system ALWAYS requires a cartridge, but has 2 modes of operation depending on a switch. The only way to use it as a normal keyboard is by flipping this switch.
+ PORT_DIPNAME( 0x0001, 0x0000, "System Mode" )
+ PORT_DIPSETTING( 0x0001, "Keyboard Mode (no TV output)" )
+ PORT_DIPSETTING( 0x0000, "TV Mode" )
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON3 )
- PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x0040, 0x0000, "INC_2" )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Unknown ) )
@@ -1240,7 +1385,9 @@ static INPUT_PORTS_START( icanpian ) // this has an entire piano keyboard + extr
PORT_DIPNAME( 0x0400, 0x0000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_NAME("Power Switch") // presumably power, kils the game
+ PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -1253,6 +1400,7 @@ static INPUT_PORTS_START( icanpian ) // this has an entire piano keyboard + extr
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+
INPUT_PORTS_END
@@ -1408,6 +1556,67 @@ static INPUT_PORTS_START( lexizeus ) // how many buttons does this have? I acci
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
+
+READ16_MEMBER(icanguit_state::porta_r)
+{
+ //logerror("%s: porta_r\n", machine().describe_context());
+ return m_inlatch_a;
+}
+
+
+READ16_MEMBER(icanguit_state::portc_r)
+{
+ //logerror("%s: portc_r\n", machine().describe_context());
+ return m_inlatch_c;
+}
+
+WRITE16_MEMBER(icanguit_state::porta_w)
+{
+ if (data == 0x0000)
+ {
+ m_inlatch_a = m_inlatch_c = 0x0000;
+ }
+ else if (data == 0x1000)
+ {
+ m_inlatch_a = m_porta_in[2]->read();
+ m_inlatch_c = m_portc_in[2]->read();
+ }
+ else if (data == 0x2000)
+ {
+ m_inlatch_a = m_porta_in[1]->read();
+ m_inlatch_c = m_portc_in[1]->read();
+ }
+ else if (data == 0x4000)
+ {
+ m_inlatch_a = m_porta_in[0]->read();
+ m_inlatch_c = m_portc_in[0]->read();
+ }
+ else
+ {
+ logerror("%s: unknown porta_w (%04x)\n", machine().describe_context(), data);
+ }
+}
+
+WRITE16_MEMBER(icanguit_state::portc_w)
+{
+ //logerror("%s: portc_w (%04x)\n", machine().describe_context(), data);
+}
+
+
+// portb is used on startup, something serial?
+READ16_MEMBER(icanguit_state::portb_r)
+{
+ //logerror("%s: portb_r\n", machine().describe_context());
+ return m_io_p2->read();
+}
+
+WRITE16_MEMBER(icanguit_state::portb_w)
+{
+ //logerror("%s: portb_w (%04x)\n", machine().describe_context(), data);
+}
+
+
+
void icanguit_state::machine_start()
{
spg2xx_game_state::machine_start();
@@ -1422,6 +1631,14 @@ void icanguit_state::machine_start()
}
}
+void icanguit_state::machine_reset()
+{
+ spg2xx_game_state::machine_reset();
+ m_inlatch_a = 0x0000;
+ m_inlatch_c = 0x0000;
+}
+
+
DEVICE_IMAGE_LOAD_MEMBER(icanguit_state, icanguit_cart)
{
uint32_t size = m_cart->common_get_size("rom");
@@ -1595,11 +1812,19 @@ void icanguit_state::icanguit(machine_config &config)
SPG24X(config, m_spg, XTAL(27'000'000), m_maincpu, m_screen);
spg2xx_base(config);
-
+ /*
+ m_spg->porta_in().set(FUNC(icanguit_state::porta_r));
+ m_spg->portb_in().set(FUNC(icanguit_state::portb_r));
+ m_spg->portc_in().set(FUNC(icanguit_state::portc_r));
+ m_spg->porta_out().set(FUNC(icanguit_state::porta_w));
+ m_spg->portb_out().set(FUNC(icanguit_state::portb_w));
+ m_spg->portc_out().set(FUNC(icanguit_state::portc_w));
+ */
m_spg->porta_in().set_ioport("P1");
m_spg->portb_in().set_ioport("P2");
m_spg->portc_in().set_ioport("P3");
+
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "icanguit_cart");
m_cart->set_width(GENERIC_ROM16_WIDTH);
m_cart->set_device_load(device_image_load_delegate(&icanguit_state::device_image_load_icanguit_cart, this));
@@ -1614,9 +1839,12 @@ void icanguit_state::icanpian(machine_config &config)
spg2xx_base(config);
- m_spg->porta_in().set_ioport("P1");
- m_spg->portb_in().set_ioport("P2");
- m_spg->portc_in().set_ioport("P3");
+ m_spg->porta_in().set(FUNC(icanguit_state::porta_r));
+ m_spg->portb_in().set(FUNC(icanguit_state::portb_r));
+ m_spg->portc_in().set(FUNC(icanguit_state::portc_r));
+ m_spg->porta_out().set(FUNC(icanguit_state::porta_w));
+ m_spg->portb_out().set(FUNC(icanguit_state::portb_w));
+ m_spg->portc_out().set(FUNC(icanguit_state::portc_w));
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "icanpian_cart");
m_cart->set_width(GENERIC_ROM16_WIDTH);
@@ -1719,6 +1947,13 @@ void jakks_gkr_state::jakks_gkr_nk_i2c(machine_config &config)
SOFTWARE_LIST(config, "jakks_gamekey_nk").set_original("jakks_gamekey_nk");
}
+void jakks_gkr_state::jakks_gkr_dy(machine_config &config)
+{
+ jakks_gkr(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
+ SOFTWARE_LIST(config, "jakks_gamekey_dy").set_original("jakks_gamekey_dy");
+}
+
void jakks_gkr_state::jakks_gkr_dy_i2c(machine_config &config)
{
jakks_gkr_i2c(config);
@@ -1911,6 +2146,11 @@ ROM_START( jak_wof )
ROM_LOAD16_WORD_SWAP( "jakkswheeloffortunegkr.bin", 0x000000, 0x200000, CRC(6a879620) SHA1(95478764a61741569041c2299528f6464651d593) )
ROM_END
+ROM_START( jak_disn )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "disneygkr.bin", 0x000000, 0x100000, CRC(7a5ebcd7) SHA1(9add8c2a6e3f0409c8957a2ba2d054fd2c4c39c1) )
+ROM_END
+
ROM_START( jak_disf )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "disneyfriendsgkr.bin", 0x000000, 0x200000, CRC(77bca50b) SHA1(6e0f4fd229ee11eac721b5dbe79cf9002d3dbd64) )
@@ -2194,21 +2434,23 @@ CONS( 2008, jak_wall, 0, 0, walle, walle, spg2xx_game_state, empty_init, "JAKKS
// 'Game-Key Ready' JAKKS games (these can also take per-game specific expansion cartridges, although not all games had them released)
// Some of these were available in versions without Game-Key ports, it is unconfirmed if code was the same unless otherwise stated
// For units released AFTER the GameKey promotion was cancelled it appears the code is the same as the PCB inside is the same, just the external port closed off, earlier units might be different hardware in some cases.
+// units released BEFORE the GameKey support were sometimes different hardware, eg. the Spider-Man and Disney units were SPG110 based
CONS( 2005, jak_wwe, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "WWE (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WW (no game-keys released)
CONS( 2005, jak_fan4, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Fantastic Four (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // F4 (no game-keys released)
-CONS( 2005, jak_just, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Taniko", "Justice League (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DC (no game-keys released)
+CONS( 2005, jak_just, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Taniko", "Justice League (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DC (no game-keys released)
CONS( 2005, jak_dora, 0, 0, jakks_gkr_nk, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dora the Explorer - Nursery Rhyme Adventure (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is pink/purple.
CONS( 2005, jak_dorr, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dora the Explorer - Race to Play Park (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is blue
CONS( 2004, jak_nick, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Nicktoons (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys
CONS( 2005, jak_sbfc, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "SpongeBob SquarePants - The Fry Cook Games (JAKKS Pacific TV Game, Game-Key Ready) (AUG 18 2005 21:31:56)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys
CONS( 2005, jak_sdoo, 0, 0, jakks_gkr_2m_i2c, jak_sdoo_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Jolliford Management", "Scooby-Doo! and the Mystery of the Castle (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // SD (no game-keys released) (was dumped from a later unit with GameKey port missing, but internal PCB still supported it, code likely the same)
-CONS( 2005, jak_disf, 0, 0, jakks_gkr_dy_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Disney Friends (JAKKS Pacific TV Game, Game-Key Ready) (17 MAY 2005 A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
+CONS( 2005, jak_disn, 0, 0, jakks_gkr_dy, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Disney (JAKKS Pacific TV Game, Game-Key Ready) (08 FEB 2005 A)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
+CONS( 2005, jak_disf, 0, 0, jakks_gkr_dy_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Disney Friends (JAKKS Pacific TV Game, Game-Key Ready) (17 MAY 2005 A)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
CONS( 2005, jak_disp, 0, 0, jakks_gkr_dp_i2c, jak_disp_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / 5000ft, Inc", "Disney Princess (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DP keys (1 key released)
// There seems to be a second game called 'Disney Princesses' with a 'board game' style front end as well as the minigames, also GKR, see https://www.youtube.com/watch?v=w9p5TI029bQ The one we have is https://www.youtube.com/watch?v=9ppPKVbpoMs the physical package seems identical.
CONS( 2005, jak_sith, 0, 0, jakks_gkr_sw_i2c, jak_sith_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Griptonite Games", "Star Wars - Revenge of the Sith (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses SW keys (1 released)
CONS( 2005, jak_dbz, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dragon Ball Z (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DB (no game-keys released, 1 in development but cancelled)
CONS( 2005, jak_mpac, 0, 0, jakks_gkr_nm_i2c, jak_nm_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Namco / HotGen Ltd", "Ms. Pac-Man 5-in-1 (Ms. Pac-Man, Pole Position, Galaga, Xevious, Mappy) (JAKKS Pacific TV Game, Game-Key Ready) (07 FEB 2005 A SKU F)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NM (3 keys available [Dig Dug, New Rally-X], [Rally-X, Pac-Man, Bosconian], [Pac-Man, Bosconian])
-CONS( 2005, jak_wof, 0, 0, jakks_gkr_wf_i2c, jak_wf_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Wheel of Fortune (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses WF keys (no game-keys released) analog wheel not emulated
+CONS( 2005, jak_wof, 0, 0, jakks_gkr_wf_i2c, jak_wf_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Wheel of Fortune (JAKKS Pacific TV Game, Game-Key Ready) (Jul 11 2005 ORIG)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses WF keys (no game-keys released) analog wheel not emulated
// There is a 'Second Edition' version of Wheel of Fortune with a Gold case, GameKey port removed, and a '2' over the usual Game Key Ready logo, internals are different too, not Game-Key Ready
CONS( 2004, jak_spdm, 0, 0, jakks_gkr_mv_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Spider-Man (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // MV (1 key available)
CONS( 2005, jak_pooh, 0, 0, jakks_gkr_wp, jak_pooh, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Backbone Entertainment", "Winnie the Pooh - Piglet's Special Day (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WP (no game-keys released)
diff --git a/src/mame/drivers/xavix.cpp b/src/mame/drivers/xavix.cpp
index 93351acb5de..f68ab35d8c9 100644
--- a/src/mame/drivers/xavix.cpp
+++ b/src/mame/drivers/xavix.cpp
@@ -1291,6 +1291,19 @@ static INPUT_PORTS_START( has_wamg )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // waits for this after fading out title, what is it?
INPUT_PORTS_END
+static INPUT_PORTS_START( evio )
+ PORT_INCLUDE(xavix)
+
+ PORT_MODIFY("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 )
+
+ PORT_MODIFY("IN1")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_NAME("Power Switch") // pressing this will turn the game off.
+INPUT_PORTS_END
+
/* correct, 4bpp gfxs */
static const gfx_layout charlayout =
{
@@ -1391,7 +1404,7 @@ void xavix_i2c_state::xavix_i2c_24lc02(machine_config &config)
{
xavix(config);
- I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x100); // 24LC02 (taiko)
+ I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x100); // 24LC02 (taiko)
}
void xavix_i2c_state::xavix_i2c_24c02(machine_config &config)
@@ -1407,14 +1420,14 @@ void xavix_i2c_state::xavix_i2c_24lc04(machine_config &config)
// according to http://ww1.microchip.com/downloads/en/devicedoc/21708k.pdf 'the master transmits up to 16 data bytes' however this breaks the Nostalgia games
// of note Galplus Phalanx on Namco Nostalgia 2, which will hang between stages unable to properly access the device, but with no page support it doesn't hang and scores save
- I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x200); // 24LC04 on Nostalgia games, 24C04 on others
+ I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x200); // 24LC04 on Nostalgia games, 24C04 on others
}
void xavix_i2c_state::xavix_i2c_24c08(machine_config &config)
{
xavix(config);
- I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x400); // 24C08 (Excite Fishing DX)
+ I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x400); // 24C08 (Excite Fishing DX)
}
void xavix_state::xavixp(machine_config &config)
@@ -1475,7 +1488,7 @@ void xavix_i2c_jmat_state::xavix2002_i2c_jmat(machine_config &config)
{
xavix2002(config);
- I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x200); // ?
+ I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x200); // ?
m_xavix2002io->read_0_callback().set(FUNC(xavix_i2c_jmat_state::read_extended_io0));
m_xavix2002io->write_0_callback().set(FUNC(xavix_i2c_jmat_state::write_extended_io0));
@@ -1542,7 +1555,7 @@ void xavix_i2c_cart_state::xavix_i2c_taiko(machine_config &config)
{
xavix_cart(config);
- I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x100); // 24LC02
+ I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x100); // 24LC02
SOFTWARE_LIST(config, "cart_list_japan_d").set_original("ekara_japan_d");
SOFTWARE_LIST(config, "cart_list_japan_sp").set_original("ekara_japan_sp");
@@ -1878,6 +1891,14 @@ ROM_START( taikodp )
ROM_RELOAD(0x000000, 0x200000)
ROM_END
+ROM_START( evio )
+ ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
+ ROM_LOAD( "evio.bin", 0x600000, 0x200000, CRC(ee22c764) SHA1(f2b7e213eb78065a63ef484a619bcfc61299e30e))
+ ROM_RELOAD(0x000000, 0x200000)
+ROM_END
+
+
+
/* XaviX hardware titles (1st Generation)
@@ -1987,6 +2008,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, 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
+
+
// Let’s!TVプレイ 超にんきスポット!ころがしほーだい たまごっちりぞーと (Let's! TV Play Chou Ninki Spot! Korogashi-Houdai Tamagotchi Resort) (only on the Japanese list? http://test.shinsedai.co.jp/english/products/Applied/list.html ) This also allows you to use an IR reciever to import a Tamagotchi from compatible games
CONS( 2006, ltv_tam, 0, 0, xavix_i2c_24lc04, ltv_tam,xavix_i2c_ltv_tam_state, init_xavix, "Bandai / SSD Company LTD", "Let's! TV Play Chou Ninki Spot! Korogashi-Houdai Tamagotchi Resort (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
@@ -2042,7 +2066,7 @@ CONS( 2004, epo_sdb, 0, 0, xavix2000_nv, epo_sdb, xavix_state,
CONS( 2005, ttv_sw, 0, 0, xavix2000_i2c_24c02, ttv_lotr, 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, ttv_lotr, 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( 2005, ttv_mx, 0, 0, xavix2000_i2c_24c04, ttv_mx, xavix_i2c_state, init_xavix, "Tiger / SSD Company LTD", "MX Dirt Rebel", MACHINE_IMPERFECT_SOUND )
CONS( 2003, drgqst, 0, 0, xavix2000_i2c_24c02, ttv_lotr, xavix_i2c_lotr_state, init_xavix, "Square Enix / SSD Company LTD", "Kenshin Dragon Quest: Yomigaerishi Densetsu no Ken", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// hangs after starting a game, or after quite a long time in attract mode (first problem could be bad save data read with the eeprom code, 2nd problem might just be how it is, ends up in a dead loop, not executing invalid code)
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 77272002a1d..606e0b55438 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -38734,6 +38734,7 @@ jak_fan4 //
jak_just //
jak_dora //
jak_dorr //
+jak_disn //
jak_disf //
jak_disp //
jak_sith //
@@ -39946,6 +39947,7 @@ ddrfammt //
popira //
popira2 //
taikodp //
+evio //
ttv_sw //
ttv_lotr //
ttv_mx //