mirror of
https://github.com/holub/mame
synced 2025-04-19 15:11:37 +03:00
new WORKING Gamate game + Working DBZ JAKKS + misc bits (#4614)
* new WORKING Software List entries --- gamate:fortress Fortress of Fierceness [Peter Wilhelmsen] new NOT WORKING Software List entries --- ekara_japan_a:a7 A-7 Pichi Pichi Pitch Pure Chapter 3 (Japan) [Peter Wilhelmsen, Sean Riddle] ekara_japan_a:a5 A-5 Pichi Pichi Pitch Karaoke Party (Japan) [Peter Wilhelmsen, Sean Riddle] ekara_japan_a:a4 A-4 Pichi Pichi Pitch Pure Chapter 1 (Japan) [Peter Wilhelmsen, Sean Riddle] ekara_japan_a:a1 A-1 Pichi Pichi Pitch vol.1 (Japan) [Peter Wilhelmsen, Sean Riddle] new NOT WORKING clones --- Play 2000 (Super Slot & Gran Tesoro) (v7.0i) (Italy) [Peter Wilhelmsen, Morten Shearman Kirkegaard] * new WORKING machines --- Dragon Ball Z (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 19 external donators] * flag (nw) * allow 'a7' to boot (nw) * move XaviX2 sets to new files (nw) * new machines marked as NOT WORKING --- Let's TV Play Naruto [Peter Wilhelmsen, Sean Riddle] This is another XaviX2 thing.
This commit is contained in:
parent
24248c8ca8
commit
668c87dca2
@ -801,7 +801,7 @@
|
||||
|
||||
<!-- EC0077-ATS Artist Selection Volume 15 - unknown artist -->
|
||||
|
||||
<!-- EC0078- (unknown) -->
|
||||
<!-- EC0078-JPM J-Pop Mix Volume 40 -->
|
||||
|
||||
<software name="ec0079"> <!-- custom presentation -->
|
||||
<description>ETZ (Japan) (EC0079-ETZ)</description> <!-- Japanese text in 'Volume' box -->
|
||||
@ -814,7 +814,7 @@
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!-- EC0080- (unknown) -->
|
||||
<!-- EC0080-JPM J-Pop Mix Volume 41-->
|
||||
|
||||
<!-- EC0081-JPM J-Pop Mix Volume 42 -->
|
||||
|
||||
@ -831,8 +831,8 @@
|
||||
|
||||
<!-- EC0083-JPM J-Pop Mix Volume 43 -->
|
||||
|
||||
<!-- EC0084- (unknown, seen) -->
|
||||
<!-- EC0084- Something 40 (unknown, seen) -->
|
||||
|
||||
<!-- EC0085- (unknown, seen in the wild) -->
|
||||
<!-- EC0085- (unknown, seen in the wild, sequel to 69, 79 so probably ETZ) -->
|
||||
|
||||
</softwarelist>
|
||||
|
72
hash/ekara_japan_a.xml
Normal file
72
hash/ekara_japan_a.xml
Normal file
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||
<softwarelist name="ekara_japan_a" description="Takara e-pitch / e-kara (Japan) A-x series cartridges">
|
||||
<!-- cartridges contain the ROM only, the XaviX CPU and BIOS are in the base unit
|
||||
|
||||
***********************************************************************************
|
||||
|
||||
Japanese cart listing (by A code) (A-x on cartridge)
|
||||
|
||||
These are for use with e-pitch / e-kara (e-pitch internal ROM is the same as e-kara Japan, just button layout is changed)
|
||||
|
||||
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10109392860
|
||||
|
||||
A-1 Pichi Pichi Pitch vol.1 / ぴちぴちピッチvol.1
|
||||
A-2 Pichi Pichi Pitch vol.2 / ぴちぴちピッチvol.2
|
||||
A-3 Pichi Pichi Pitch vol.3 / ぴちぴちピッチvol.3
|
||||
A-4 Pichi Pichi Pitch Pure Chapter 1 / ぴちぴちピッチピュア第1章
|
||||
A-5 Pichi Pichi Pitch Karaoke Party / ぴちぴちピッチカラオケパーティー
|
||||
A-6 Pichi Pichi Pitch Pure Chapter 2 / ぴちぴちピッチピュア第2章
|
||||
A-7 Pichi Pichi Pitch Pure Chapter 3 / ぴちぴちピッチピュア第3章
|
||||
A-8 Pichi Pichi Pitch Karaoke Party 2 / ぴちぴちピッチカラオケパーティー2
|
||||
|
||||
-->
|
||||
|
||||
<software name="a1" supported="no">
|
||||
<description>A-1 Pichi Pichi Pitch vol.1 (Japan)</description>
|
||||
<year>2003</year>
|
||||
<publisher>Takara</publisher>
|
||||
<part name="cart" interface="ekara_cart">
|
||||
<feature name="slot" value="rom_24c08_epitch"/>
|
||||
<dataarea name="rom" size="0x200000">
|
||||
<rom name="ekaraa1.bin" size="0x200000" crc="5f69a977" sha1="33e7b453e1e78ac5e4a20c81c00f5c0c1260c6b0" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="a4" supported="no">
|
||||
<description>A-4 Pichi Pichi Pitch Pure Chapter 1 (Japan)</description>
|
||||
<year>2004</year>
|
||||
<publisher>Takara</publisher>
|
||||
<part name="cart" interface="ekara_cart">
|
||||
<feature name="slot" value="rom_24c08_epitch"/>
|
||||
<dataarea name="rom" size="0x200000">
|
||||
<rom name="ekaraa4.bin" size="0x200000" crc="03dcc45a" sha1="ae884128c09b4fc7521f0010bbe9624419a3d0b8" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="a5">
|
||||
<description>A-5 Pichi Pichi Pitch Karaoke Party (Japan)</description>
|
||||
<year>2004</year>
|
||||
<publisher>Takara</publisher>
|
||||
<part name="cart" interface="ekara_cart">
|
||||
<dataarea name="rom" size="0x100000">
|
||||
<rom name="ekaraa5.bin" size="0x100000" crc="6cec888a" sha1="5cb4abefb4a5aaec8827bf2d6abc2dfda8099136" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="a7" supported="no">
|
||||
<description>A-7 Pichi Pichi Pitch Pure Chapter 3 (Japan)</description>
|
||||
<year>2004</year>
|
||||
<publisher>Takara</publisher>
|
||||
<part name="cart" interface="ekara_cart">
|
||||
<feature name="slot" value="rom_24c08_epitch"/>
|
||||
<dataarea name="rom" size="0x200000">
|
||||
<rom name="ekaraa7.bin" size="0x200000" crc="5b59900e" sha1="fdb8148211f00d0119b9ad082bf8fd348d509800" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</softwarelist>
|
@ -16,14 +16,14 @@
|
||||
|
||||
note BAT and BHT aren't the same series
|
||||
|
||||
D-1 DC0001- (unknown)
|
||||
D-1 DC0001-BHT BHT (Best Artists?) Volume 8 (most other BHT carts are in G series, or P series)
|
||||
*D-2 DC0002-BAT BAT Volume 6
|
||||
D-3 DC0003-BHT BHT (Best Artists?) Volume 9? (most other BHT carts are in G series, or P series)
|
||||
D-4 DC0004- (unknown)
|
||||
D-3 DC0003-BHT BHT (Best Artists?) Volume 9
|
||||
D-4 DC0004-TPJ TV Pop Volume 8
|
||||
*D-5 DC0005-TPJ TV Pop Volume 9
|
||||
D-6 DC0006- (seen)
|
||||
D-7 DC0007- (seen)
|
||||
D-8 DC0008- (seen)
|
||||
D-6 DC0006-BHT BHT (Best Artists?) Volume 10
|
||||
D-7 DC0007- (untranslated) Volume 4
|
||||
D-8 DC0008-BAT BAT Volume 7?
|
||||
|
||||
(more? what's the D highest number?)
|
||||
|
||||
|
@ -28,6 +28,7 @@
|
||||
G-15 *GC0015-BAT BAT Volume 5 (Artist Selection?)
|
||||
G-16 *GC0016-TPJ TV Pop Volume 5
|
||||
G-17 GC0017-TPJ TV Pop Volume 6
|
||||
G-18 GC0018-TPJ TV Pop Volume 7
|
||||
|
||||
(more? what's the G highest number?)
|
||||
|
||||
|
@ -5,21 +5,26 @@
|
||||
|
||||
Japanese cart listing (by M code) (M-x on cartridge / box, MC in cart identifier code)
|
||||
|
||||
M-1 *MC0001-ATM ATM Mini Volume 1
|
||||
M-2 MC0002-
|
||||
M-3 MC0003-
|
||||
M-4 MC0004- ? Mini Volume 4 (w-inds)
|
||||
M-5 MC0005-
|
||||
M-6 MC0006-
|
||||
M-7 MC0007-ATM ATM Mini Volume 5
|
||||
M-8
|
||||
M-9
|
||||
M-10
|
||||
M-11
|
||||
M-12
|
||||
M-13 MC0013-KSM KSM Mini Volume 5
|
||||
M-14
|
||||
M-15 MC0015-TPM TV Pop Mini Volume 1
|
||||
M-1 *MC0001-ATM Artist Mini Volume 1 (untranslated artist)
|
||||
M-2 MC0002-ATM Artist Mini Volume 2 (untranslated artist)
|
||||
M-3 MC0003-ATM Artist Mini Volume 3 (untranslated artist)
|
||||
M-4 MC0004-ATM Artist Mini Volume 4 (w-inds)
|
||||
M-5 MC0005- KSM? unknown Vol 1
|
||||
M-6 MC0006- KSM? TPM? unknown Vol 2 (TV)
|
||||
M-7 MC0007-ATM Artist Mini Volume 5 (SMAP, KinKi Kids)
|
||||
M-8 MC0008- KSM? TPM? unknown Vol 3 (TV)
|
||||
M-9 MC0009-KSM JPop Mix Mini Vol 1
|
||||
M-10 MC0010-ATM Artist Mini Volume 6 (untranslated artist)
|
||||
M-11 MC0011- KSM? unknown Vol 4
|
||||
M-12 MC0012-ATM Artist Mini Volume 7 (untranslated artist)
|
||||
M-13 *MC0013-KSM KSM Mini Volume 5
|
||||
M-14 MC0014-ATM Artist Mini Volume 8 (BoA)
|
||||
M-15 MC0015- KSM? TPM? unknown Vol 6 (TV Pop)
|
||||
M-16 MC0016-ATM Artist Mini Volume 9 (untranslated artist)
|
||||
M-17 MC0017- KSM? TPM? TV Pop Mini Vol 7 (TV Pop)
|
||||
|
||||
unsure of KSM / TMP naming, MC0005/0005/0008/0011/0013/0015/0017 all seem to be the same series
|
||||
but might have different 3 letter codes
|
||||
|
||||
(more? what's the M highest number?)
|
||||
|
||||
|
@ -11,30 +11,29 @@
|
||||
SAI seems to be used for multiple different series here, need to look at the subtitles too
|
||||
|
||||
S-1 SC0001- Hello Kitty Special
|
||||
S-2 SC0002-SAI (unknown)
|
||||
S-3 SC0003- (unknown)
|
||||
S-2 SC0002-SAI SAI (series 3) Volume 1
|
||||
S-3 SC0003- unknown(1) Volume 1
|
||||
S-4 *SC0004-SAI SAI (series 1) Volume 1
|
||||
S-5 *SC0005-SAI SAI (series 2) Volume 1 (same series as 6,9,19,21,22)
|
||||
S-6 *SC0006-SAI SAI (series 2) Volume 2 (same series as 5,9,19,21,22)
|
||||
S-7 SC0007- (unknown)
|
||||
S-8 SC0008- (unknown)
|
||||
S-7 SC0007- unknown(2) Volume 1
|
||||
S-8 SC0008-SAI SAI (series 3) Volume 2
|
||||
S-9 *SC0009-SAI SAI (series 2) Volume 3 (same series as 5,6,19,21,22)
|
||||
S-10 *SC0010-HWK HWK (untranslated)
|
||||
S-11 SC0011- (unknown)
|
||||
S-11 SC0011- PostPet
|
||||
S-12 *SC0012-SAI SAI (series 3) Volume 3
|
||||
S-13 SC0013- (unknown)
|
||||
S-14 SC0014- (unknown)
|
||||
S-15 SC0015- (unknown)
|
||||
S-16 SC0016- (unknown)
|
||||
S-17 SC0017- (unknown)
|
||||
S-13 SC0013- SAI (series 2) Volume 4
|
||||
S-14 SC0014- SAI (series 3) Volume 4
|
||||
S-15 SC0015- unknown(2) Volume 2
|
||||
S-16 SC0016-SAI SAI (series 2) Volume 5
|
||||
S-17 SC0017- unknown(1) Volume 2
|
||||
S-18 SC0018-SAI (unknown) Volume 1
|
||||
S-19 *SC0019-SAI SAI (series 2) Volume 6 (same series as 5,6,9,21,22)
|
||||
S-20 SC0020- (unknown) Volume 5
|
||||
S-20 SC0020- SAI (series 3) Volume 5
|
||||
S-21 *SC0021-SAI SAI (series 2) Volume 7 (same series as 5,6,9,19,22)
|
||||
S-22 *SC0022-SAI SAI (series 2) Volume 8 (same series as 5,6,9,19,21)
|
||||
S-23 SC0023- (unknown)
|
||||
|
||||
(more? what's the S highest number?)
|
||||
(more? what's the S highest number?, had S-23 noted, but can't find evidence of it now)
|
||||
|
||||
-->
|
||||
|
||||
|
@ -11,7 +11,6 @@ C1034 - Superboy (Unreleased?)
|
||||
C1039 - Column #5 (Unreleased?)
|
||||
C1040 - ??
|
||||
C1041 - Mighty Boxer
|
||||
C1050 - Fortress of Fierceness
|
||||
C1051 - Incantational Couple
|
||||
C1055 - ??
|
||||
C1059 - ??
|
||||
@ -536,6 +535,18 @@ C1066 - ??
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="fortress">
|
||||
<description>Fortress of Fierceness</description>
|
||||
<year>1991</year>
|
||||
<publisher>Bit Corporation</publisher>
|
||||
<info name="serial" value="C1050" />
|
||||
<part name="cart" interface="gamate_cart">
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="fortress.bin" size="32768" crc="c771e16b" sha1="aa971e546da8957de29837e5310452c129771967" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="famous7">
|
||||
<description>Famous 7</description>
|
||||
<year>1993</year>
|
||||
|
@ -3515,6 +3515,7 @@ files {
|
||||
MAME_DIR .. "src/mame/machine/xavix_io.h",
|
||||
MAME_DIR .. "src/mame/machine/xavix2002_io.cpp",
|
||||
MAME_DIR .. "src/mame/machine/xavix2002_io.h",
|
||||
MAME_DIR .. "src/mame/drivers/xavix2.cpp",
|
||||
}
|
||||
|
||||
createMESSProjects(_target, _subtarget, "ultimachine")
|
||||
|
@ -10,6 +10,7 @@
|
||||
|
||||
DEFINE_DEVICE_TYPE(EKARA_ROM_PLAIN, ekara_rom_plain_device, "ekara_rom_plain", "EKARA Cartridge")
|
||||
DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_BASE, ekara_rom_i2c_base_device, "ekara_rom_i2c_base", "EKARA Cartridge with I2C")
|
||||
DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_24C08_EPITCH, ekara_rom_i2c_24c08_epitch_device, "ekara_rom_i2c_24c08", "EKARA Cartridge with I2C 24C08 (e-pitch)")
|
||||
DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_24LC04, ekara_rom_i2c_24lc04_device, "ekara_rom_i2c_24lc04", "EKARA Cartridge with I2C 24LC04")
|
||||
DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_24LC02, ekara_rom_i2c_24lc02_device, "ekara_rom_i2c_24lc02", "EKARA Cartridge with I2C 24LC02")
|
||||
|
||||
@ -24,18 +25,24 @@ ekara_rom_plain_device::ekara_rom_plain_device(const machine_config &mconfig, co
|
||||
{
|
||||
}
|
||||
|
||||
ekara_rom_i2c_base_device::ekara_rom_i2c_base_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
ekara_rom_plain_device(mconfig, EKARA_ROM_I2C_BASE, tag, owner, clock),
|
||||
m_i2cmem(*this, "i2cmem")
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
ekara_rom_i2c_base_device::ekara_rom_i2c_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
ekara_rom_plain_device(mconfig, type, tag, owner, clock),
|
||||
m_i2cmem(*this, "i2cmem")
|
||||
{
|
||||
m_buscontrol[0] = m_buscontrol[1] = m_buscontrol[2] = 0x00;
|
||||
}
|
||||
|
||||
ekara_rom_i2c_base_device::ekara_rom_i2c_base_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
ekara_rom_i2c_base_device(mconfig, EKARA_ROM_I2C_BASE, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
ekara_rom_i2c_24c08_epitch_device::ekara_rom_i2c_24c08_epitch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
ekara_rom_i2c_base_device(mconfig, EKARA_ROM_I2C_24C08_EPITCH, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
ekara_rom_i2c_24lc04_device::ekara_rom_i2c_24lc04_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
ekara_rom_i2c_base_device(mconfig, EKARA_ROM_I2C_24LC04, tag, owner, clock)
|
||||
@ -75,6 +82,22 @@ WRITE8_MEMBER(ekara_rom_plain_device::write_rom)
|
||||
|
||||
// i2c base
|
||||
|
||||
bool ekara_rom_i2c_base_device::is_read_access_not_rom(void)
|
||||
{
|
||||
return (m_buscontrol[1] & 0x08) ? true : false;
|
||||
}
|
||||
|
||||
bool ekara_rom_i2c_base_device::is_write_access_not_rom(void)
|
||||
{
|
||||
return (m_buscontrol[0] & 0x08) ? true : false;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(ekara_rom_i2c_base_device::write_bus_control)
|
||||
{
|
||||
logerror("ekara_rom_i2c_base_device::write_bus_control %08x %02x\n", offset, data);
|
||||
m_buscontrol[offset] = data;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(ekara_rom_i2c_base_device::write_rom)
|
||||
{
|
||||
logerror("ekara_rom_i2c_base_device::write_rom %08x %02x\n", offset, data);
|
||||
@ -100,6 +123,26 @@ WRITE8_MEMBER(ekara_rom_i2c_base_device::write_extra)
|
||||
m_i2cmem->write_scl((data & 0x02) >> 1);
|
||||
}
|
||||
|
||||
// i2c 24c08 (for epitch carts)
|
||||
|
||||
bool ekara_rom_i2c_24c08_epitch_device::is_read_access_not_rom(void)
|
||||
{
|
||||
// write 0x08 before reading from SEEPROM
|
||||
// reads from 005fffff, cart does no accress decoding
|
||||
return (m_buscontrol[1] & 0x08) ? true : false;
|
||||
}
|
||||
|
||||
bool ekara_rom_i2c_24c08_epitch_device::is_write_access_not_rom(void)
|
||||
{
|
||||
// writes 0x05 before writing to SEEPROM
|
||||
// actually writes to address 3fffff which is where a mirror of the base ROM sits, but clearly all signals route through the cartridge too
|
||||
// cart does no accress decoding
|
||||
return (m_buscontrol[1] & 0x04) ? true : false;
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(ekara_rom_i2c_24c08_epitch_device::device_add_mconfig)
|
||||
I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x400); // 24C08
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
// i2c 24lc04
|
||||
|
||||
@ -121,6 +164,7 @@ MACHINE_CONFIG_END
|
||||
void ekara_cart(device_slot_interface &device)
|
||||
{
|
||||
device.option_add_internal("plain", EKARA_ROM_PLAIN);
|
||||
device.option_add_internal("rom_24c08_epitch", EKARA_ROM_I2C_24C08_EPITCH);
|
||||
device.option_add_internal("rom_24lc04", EKARA_ROM_I2C_24LC04);
|
||||
device.option_add_internal("rom_24lc02", EKARA_ROM_I2C_24LC02);
|
||||
}
|
||||
|
@ -54,8 +54,32 @@ protected:
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_extra) override;
|
||||
virtual DECLARE_WRITE8_MEMBER(write_extra) override;
|
||||
|
||||
virtual DECLARE_WRITE8_MEMBER(write_bus_control) override;
|
||||
|
||||
virtual bool is_read_access_not_rom(void) override;
|
||||
virtual bool is_write_access_not_rom(void) override;
|
||||
|
||||
uint8_t m_buscontrol[3];
|
||||
};
|
||||
|
||||
|
||||
// ======================> ekara_rom_i2c_24c08_epitch_device
|
||||
|
||||
class ekara_rom_i2c_24c08_epitch_device : public ekara_rom_i2c_base_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
ekara_rom_i2c_24c08_epitch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
virtual bool is_read_access_not_rom(void) override;
|
||||
virtual bool is_write_access_not_rom(void) override;
|
||||
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
|
||||
// ======================> ekara_rom_i2c_24lc04_device
|
||||
|
||||
class ekara_rom_i2c_24lc04_device : public ekara_rom_i2c_base_device
|
||||
@ -84,6 +108,7 @@ protected:
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(EKARA_ROM_PLAIN, ekara_rom_plain_device)
|
||||
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_BASE, ekara_rom_i2c_base_device)
|
||||
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24C08_EPITCH, ekara_rom_i2c_24c08_epitch_device)
|
||||
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24LC04, ekara_rom_i2c_24lc04_device)
|
||||
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24LC02, ekara_rom_i2c_24lc02_device)
|
||||
|
||||
|
@ -95,6 +95,7 @@ static const ekara_slot slot_list[] =
|
||||
{
|
||||
{ EKARA_PLAIN, "plain" },
|
||||
{ EKARA_I2C_BASE, "i2c_base" },
|
||||
{ EKARA_I2C_24C08, "rom_24c08" },
|
||||
{ EKARA_I2C_24LC04, "rom_24lc04" },
|
||||
{ EKARA_I2C_24LC02, "rom_24lc02" },
|
||||
};
|
||||
@ -237,3 +238,23 @@ WRITE8_MEMBER(ekara_cart_slot_device::write_extra)
|
||||
m_cart->write_extra(space, offset, data);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
write control
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER(ekara_cart_slot_device::write_bus_control)
|
||||
{
|
||||
m_cart->write_bus_control(space, offset, data);
|
||||
}
|
||||
|
||||
bool ekara_cart_slot_device::is_read_access_not_rom(void)
|
||||
{
|
||||
return m_cart->is_read_access_not_rom();
|
||||
}
|
||||
|
||||
bool ekara_cart_slot_device::is_write_access_not_rom(void)
|
||||
{
|
||||
return m_cart->is_write_access_not_rom();
|
||||
}
|
||||
|
||||
|
||||
|
@ -16,6 +16,7 @@ enum
|
||||
{
|
||||
EKARA_PLAIN = 0,
|
||||
EKARA_I2C_BASE,
|
||||
EKARA_I2C_24C08,
|
||||
EKARA_I2C_24LC04,
|
||||
EKARA_I2C_24LC02,
|
||||
};
|
||||
@ -35,6 +36,11 @@ public:
|
||||
virtual DECLARE_READ8_MEMBER(read_extra) { return 0xff; }
|
||||
virtual DECLARE_WRITE8_MEMBER(write_extra) { }
|
||||
|
||||
virtual DECLARE_WRITE8_MEMBER(write_bus_control) { }
|
||||
|
||||
virtual bool is_read_access_not_rom(void) { return false; }
|
||||
virtual bool is_write_access_not_rom(void) { return false; }
|
||||
|
||||
void rom_alloc(uint32_t size, const char *tag);
|
||||
uint8_t* get_rom_base() { return m_rom; }
|
||||
uint32_t get_rom_size() { return m_rom_size; }
|
||||
@ -96,6 +102,11 @@ public:
|
||||
virtual DECLARE_READ8_MEMBER(read_extra);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_extra);
|
||||
|
||||
virtual DECLARE_WRITE8_MEMBER(write_bus_control);
|
||||
|
||||
virtual bool is_read_access_not_rom(void);
|
||||
virtual bool is_write_access_not_rom(void);
|
||||
|
||||
bool has_cart() { return m_cart ? true : false; }
|
||||
|
||||
protected:
|
||||
|
@ -1933,6 +1933,9 @@ void spg2xx_device::device_timer(emu_timer &timer, device_timer_id id, int param
|
||||
check_video_irq();
|
||||
}
|
||||
m_screen->update_partial(m_screen->vpos());
|
||||
|
||||
// fire again, jak_dbz pinball needs this
|
||||
m_screenpos_timer->adjust(m_screen->time_until_pos(m_video_regs[0x36], m_video_regs[0x37] << 1));
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -590,6 +590,7 @@ READ16_MEMBER(gaelco2_state::play2000_shareram_68k_r)
|
||||
}
|
||||
|
||||
logerror("%04x read from shareram %04x %04x %04x\n", pc, offset * 2, mem_mask, ret & mem_mask);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -610,7 +611,7 @@ void gaelco2_state::play2000_map(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x03ffff).rom(); /* ROM */
|
||||
map(0x100000, 0x100001).portr("IN0"); /* Coins + other buttons? */
|
||||
// AM_RANGE(0x110000, 0x110001) ?
|
||||
map(0x110000, 0x110001).portr("IN1");
|
||||
map(0x200000, 0x20ffff).ram().w(FUNC(gaelco2_state::gaelco2_vram_w)).share("spriteram"); /* Video RAM */
|
||||
map(0x202890, 0x2028ff).rw("gaelco", FUNC(gaelco_gae1_device::gaelcosnd_r), FUNC(gaelco_gae1_device::gaelcosnd_w)); /* Sound Registers */
|
||||
map(0x214000, 0x214fff).ram().w(FUNC(gaelco2_state::gaelco2_palette_w)).share("paletteram"); /* Palette */
|
||||
@ -634,9 +635,82 @@ static INPUT_PORTS_START( play2000 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON6 )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON7 )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "IN1" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
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_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0040, IP_ACTIVE_LOW )
|
||||
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 ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
ROM_START( play2000 ) /* there are version 4.0 and version 1.0 strings in this, go with the higher one */
|
||||
ROM_START( play2000 )
|
||||
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "tms27c010a.2", 0x000000, 0x020000, CRC(598102f9) SHA1(66fb6d321c886099b99d048d1f9f13cf016b9c43) )
|
||||
ROM_LOAD16_BYTE( "tms27c010a.1", 0x000001, 0x020000, CRC(e2b5d79a) SHA1(f004352ddb9bc92aab126627689b45b2ef8583b1) )
|
||||
|
||||
ROM_REGION( 0x8000, "gaelco_ds5002fp:sram", 0 ) /* DS5002FP code */
|
||||
ROM_LOAD( "ds5002fp.bin", 0x00000, 0x8000, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x100, "gaelco_ds5002fp:mcu:internal", ROMREGION_ERASE00 )
|
||||
//DS5002FP_SET_MON( x )
|
||||
//DS5002FP_SET_RPCTL( x )
|
||||
//DS5002FP_SET_CRCR( x )
|
||||
|
||||
ROM_REGION( 0x0a00000, "gfx1", 0 ) /* GFX + Sound */
|
||||
ROM_LOAD( "6.u51", 0x0000000, 0x0100000, CRC(6dafc11c) SHA1(2aa3d6318418578433b3060bda6e27adf794dea4) ) /* GFX + Sound*/
|
||||
ROM_LOAD( "4.u53", 0x0200000, 0x0080000, CRC(94dc37a7) SHA1(28f9832b61541b292682a6e2d2264abccd138a2e) ) /* GFX only */
|
||||
ROM_LOAD( "7.u50", 0x0400000, 0x0080000, CRC(e80c6d39) SHA1(b3ae5d66c48c2ba6665a181e311b0c834384258a) ) /* GFX only */
|
||||
ROM_LOAD( "5.u52", 0x0600000, 0x0080000, CRC(19b939f4) SHA1(7281709aa3ab1decb84bf7ab10492fb6ec197c80) ) /* GFX only */
|
||||
ROM_LOAD( "3.u54", 0x0800000, 0x0080000, CRC(085008ed) SHA1(06eb4f972d79eab13b1b3b6829ef280e079abdb6) ) /* GFX only */
|
||||
|
||||
ROM_REGION( 0x0600, "plds", 0 )
|
||||
ROM_LOAD( "palce16v8h.u29", 0x0000, 0x0117, BAD_DUMP CRC(4a0a6f39) SHA1(57351e471649391c9abf110828fe2f128fe84eee) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( play2000a ) /* there are version 4.0 and version 1.0 strings in this, go with the higher one */
|
||||
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "2.u39_v4", 0x000000, 0x020000, CRC(fff16141) SHA1(8493c3e58a231c03b152b336f43422a9a2d2618c) )
|
||||
ROM_LOAD16_BYTE( "1.u40_v4", 0x000001, 0x020000, CRC(39f9d58e) SHA1(1cbdae2adc570f2a2e10a707075312ef717e2643) )
|
||||
@ -695,7 +769,7 @@ REF: 990315
|
||||
| |------------| |
|
||||
-----------------------------------------------------------------------------|
|
||||
*/
|
||||
ROM_START( play2000a )
|
||||
ROM_START( play2000b )
|
||||
/*at least 1.u40 is bad, on every 0x40 bytes the first four are always 0xff.*/
|
||||
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "2.u39", 0x000000, 0x020000, BAD_DUMP CRC(9939299e) SHA1(55303a2adf199f4b5a60f57be7480b0e119f8624) )
|
||||
@ -2330,8 +2404,9 @@ GAME( 1998, bang, 0, bang, bang, bang_state, i
|
||||
GAME( 1998, bangj, bang, bang, bang, bang_state, init_bang, ROT0, "Gaelco", "Gun Gabacho (Japan)", 0 )
|
||||
|
||||
// 2-in-1 gambling game, appears to be cloned Gaelco hardware complete with DS5002FP, or possibly manufactured by Gaelco for Nova Desitec but without any Gaelco branding.
|
||||
GAME( 1999, play2000, 0, play2000, play2000, gaelco2_state, empty_init, ROT0, "Nova Desitec", "Play 2000 (Super Slot & Gran Tesoro) (v4.0) (Italy)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
|
||||
GAME( 1999, play2000a, play2000, play2000, play2000, gaelco2_state, empty_init, ROT0, "Nova Desitec", "Play 2000 (Super Slot & Gran Tesoro) (v5.01) (Italy)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // bad dump
|
||||
GAME( 1999, play2000, 0, play2000, play2000, gaelco2_state, empty_init, ROT0, "Nova Desitec", "Play 2000 (Super Slot & Gran Tesoro) (v7.0i) (Italy)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
|
||||
GAME( 1999, play2000a, play2000, play2000, play2000, gaelco2_state, empty_init, ROT0, "Nova Desitec", "Play 2000 (Super Slot & Gran Tesoro) (v4.0i) (Italy)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
|
||||
GAME( 1999, play2000b, play2000, play2000, play2000, gaelco2_state, empty_init, ROT0, "Nova Desitec", "Play 2000 (Super Slot & Gran Tesoro) (v5.0i) (Italy)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // bad dump
|
||||
|
||||
// Gym exercise bike
|
||||
GAME( 1997, saltcrdi, 0, saltcrdi, saltcrdi, gaelco2_state, empty_init, ROT0, "Salter Fitness / Gaelco", "Pro Tele Cardioline (Salter Fitness Bike V.1.0, Checksum 02AB)", MACHINE_NOT_WORKING ) // there are other machines in the Cardioline series, without TV displays
|
||||
|
@ -1091,6 +1091,11 @@ ROM_START( jak_sdoo )
|
||||
ROM_LOAD16_WORD_SWAP( "jakksscoobydoogkr.bin", 0x000000, 0x400000, CRC(61062ce5) SHA1(9d21767fd855385ef83e4209c429ecd4bf7e5384) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( jak_dbz )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "jakksdragonballzgkr.bin", 0x000000, 0x200000, CRC(d52c3b20) SHA1(fd5ce41c143cad9bca3372054f4ff98b52c33874) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( jak_sith )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "jakksstarwarsgkr.bin", 0x000000, 0x200000, CRC(932cde19) SHA1(b88b748c235e9eeeda574e4d5b4077ae9da6fbd0) )
|
||||
@ -1288,15 +1293,18 @@ CONS( 2010, wirels60, 0, 0, wireless60, wirels60, spg2xx_game_state, empty_init,
|
||||
CONS( 2004, jak_batm, 0, 0, jakks, batman, spg2xx_game_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "The Batman (JAKKS Pacific TV Game)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
CONS( 2008, jak_wall, 0, 0, walle, walle, spg2xx_game_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Wall-E (JAKKS Pacific TV Game)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// '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
|
||||
// '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.
|
||||
CONS( 2005, jak_wwe, 0, 0, jakks_gkr_1m, jak_gkr, 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, jak_gkr, 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, jak_gkr, 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_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_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.
|
||||
// there is also a Dora the Explorer 'Race to Play Park' which is also a GameKeyReady unit with NK code, and different games - the upper part of this one is blue.
|
||||
CONS( 2005, jak_sdoo, 0, 0, jakks_gkr_2m, jak_gkr, 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)
|
||||
CONS( 2005, jak_disf, 0, 0, jakks_gkr_dy, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Disney Friends (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
|
||||
CONS( 2005, jak_sith, 0, 0, jakks_gkr_sw, jak_sith, 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, jak_gkr, 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)
|
||||
|
||||
// Nicktoons NK (3? keys available) (same keys as Dora the Explorer)
|
||||
// SpongeBob SquarePants: The Fry Cook Games NK (3? keys available) ^^
|
||||
@ -1305,7 +1313,6 @@ CONS( 2005, jak_sith, 0, 0, jakks_gkr_sw, jak_sith, jakks_gkr_state, empty_init,
|
||||
// Spider-Man MV (1? key available)
|
||||
|
||||
// no keys released for the following, some were in development but cancelled
|
||||
// Dragon Ball Z DB (no game-keys released)
|
||||
// Capcom 3-in-1 CC (no game-keys released)
|
||||
// Care Bears CB (no game-keys released)
|
||||
// Wheel of Fortune WF (no game-keys released)
|
||||
|
@ -1301,6 +1301,7 @@ void xavix_cart_state::xavix_cart_ekara(machine_config &config)
|
||||
SOFTWARE_LIST(config, "cart_list_japan_en").set_original("ekara_japan_en");
|
||||
SOFTWARE_LIST(config, "cart_list_japan_sp").set_original("ekara_japan_sp");
|
||||
SOFTWARE_LIST(config, "cart_list_japan_web").set_original("ekara_japan_web");
|
||||
SOFTWARE_LIST(config, "cart_list_japan_a").set_original("ekara_japan_a");
|
||||
}
|
||||
|
||||
void xavix_cart_state::xavix_cart_popira(machine_config &config)
|
||||
@ -1550,6 +1551,11 @@ ROM_START( ekarag )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( epitch )
|
||||
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "ekarajapan.bin", 0x600000, 0x100000, CRC(e459e43b) SHA1(58b7f36a81571a2df5e812c118fdf68812a05abc) )
|
||||
ROM_RELOAD(0x000000, 0x100000)
|
||||
ROM_END
|
||||
|
||||
ROM_START( ddrfammt )
|
||||
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
|
||||
@ -1659,6 +1665,10 @@ CONS( 2002, ekarag, ekara, 0, xavix_cart_ekara, ekara, xavix_ekara_s
|
||||
// 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, ekara, 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*/ )
|
||||
|
||||
// epitch (at least the pichi pichi pitch mermaid starter pack) uses the same internal rom as the Japanese ekara, but has less buttons, so some features aren't available (some games also seem to expect to read it with a different layout eg 'a7' cart, but 'a5' cart doesn't, so must be a way to enable that mode, or bug in code?)
|
||||
CONS( 2003, epitch, 0, 0, xavix_cart_ekara, ekara, xavix_ekara_state, init_xavix, "Takara / SSD Company LTD", "e-pitch (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*| MACHINE_IS_BIOS_ROOT*/ ) // shows Japanese message without cart
|
||||
|
||||
|
||||
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*/ )
|
||||
|
||||
CONS( 2000, popira, 0, 0, xavix_cart_popira,popira, xavix_cart_state, init_xavix, "Takara / SSD Company LTD", "Popira (Japan)", MACHINE_IMPERFECT_SOUND/*|MACHINE_IS_BIOS_ROOT*/ ) // The original Popira is a single yellow unit
|
||||
@ -1824,27 +1834,4 @@ CONS( 2008, domfitex, 0, 0, xavix2002_i2c_jmat, xavixp, xavix_i2c_jmat_state, in
|
||||
CONS( 2008, domfitch, 0, 0, xavix2002_i2c_jmat, xavixp, xavix_i2c_jmat_state, init_xavix, "Decathlon / SSD Company LTD", "Domyos Fitness Challenge (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2007, domdance, 0, 0, xavix2002_i2c_jmat, xavixp, xavix_i2c_jmat_state, init_xavix, "Decathlon / SSD Company LTD", "Domyos Fitness Dance (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
|
||||
|
||||
// Domyos DiS (unknown hardware, probably XaviX 2)
|
||||
// This DOES NOT look like a 6502 based Xavix / Super Xavix! maybe XaviX 2, the cartridges contain the entire system (CPU,Video,Sound,ROM) so that is possible.
|
||||
// die is marked "SSD 2002-2004 NEC 800208-51"
|
||||
// Seems to have 32-bit looking stuff, possible vectors at start?
|
||||
|
||||
ROM_START( domfitad )
|
||||
ROM_REGION( 0x1000000, "bios", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "xpfitnessadventure.bin", 0x000000, 0x1000000, CRC(a7917081) SHA1(95ae5dc6e64a78ae060cb0e61d8b0af34a93c4ce) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( dombikec )
|
||||
ROM_REGION( 0x1000000, "bios", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "xpbikeconcept.bin", 0x000000, 0x1000000, CRC(3447fce5) SHA1(c7e9e9cd789a17ac886ecf253f67753213cf8d21) )
|
||||
ROM_END
|
||||
|
||||
// Has SEEPROM and an RTC. Adventure has the string DOMYSSDCOLTD a couple of times.
|
||||
CONS( 2008, domfitad, 0, 0, xavix2002_i2c_jmat, xavixp, xavix_i2c_jmat_state, init_xavix, "Decathlon / SSD Company LTD", "Domyos Fitness Adventure (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2008, dombikec, 0, 0, xavix2002_i2c_jmat, xavixp, xavix_i2c_jmat_state, init_xavix, "Decathlon / SSD Company LTD", "Domyos Bike Concept (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
|
||||
|
||||
|
||||
// some DIS games run on XaviX 2 instead, see xavix2.cpp for Domyos Fitness Adventure and Domyos Bike Concept
|
||||
|
161
src/mame/drivers/xavix2.cpp
Normal file
161
src/mame/drivers/xavix2.cpp
Normal file
@ -0,0 +1,161 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:David Haywood
|
||||
/******************************************************************************
|
||||
|
||||
XaviX 2
|
||||
|
||||
unknown architecture, does not appear to be 6502 derived like XaviX / SuperXaviX
|
||||
|
||||
die is marked "SSD 2002-2004 NEC 800208-51"
|
||||
|
||||
*******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "screen.h"
|
||||
#include "emupal.h"
|
||||
#include "softlist.h"
|
||||
#include "speaker.h"
|
||||
|
||||
class xavix2_state : public driver_device
|
||||
{
|
||||
public:
|
||||
xavix2_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_screen(*this, "screen")
|
||||
, m_palette(*this, "palette")
|
||||
, m_gfxdecode(*this, "gfxdecode")
|
||||
{ }
|
||||
|
||||
void xavix2(machine_config &config);
|
||||
|
||||
private:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
};
|
||||
|
||||
uint32_t xavix2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void xavix2_state::machine_start()
|
||||
{
|
||||
}
|
||||
|
||||
void xavix2_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( xavix2 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ 1*4,0*4,3*4,2*4,5*4,4*4,7*4,6*4 },
|
||||
{ STEP8(0,4*8) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static const gfx_layout char16layout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ 1*4,0*4,3*4,2*4,5*4,4*4,7*4,6*4, 9*4,8*4,11*4,10*4,13*4,12*4,15*4,14*4 },
|
||||
{ STEP16(0,4*16) },
|
||||
16*16*4
|
||||
};
|
||||
|
||||
static const gfx_layout charlayout8bpp =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
8,
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
{ STEP8(0,8*8) },
|
||||
8*8*8
|
||||
};
|
||||
|
||||
static const gfx_layout char16layout8bpp =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
8,
|
||||
{ STEP8(0,1) },
|
||||
{ STEP16(0,8) },
|
||||
{ STEP16(0,16*8) },
|
||||
16*16*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_xavix )
|
||||
GFXDECODE_ENTRY( "maincpu", 0, charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "maincpu", 0, char16layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "maincpu", 0, charlayout8bpp, 0, 1 )
|
||||
GFXDECODE_ENTRY( "maincpu", 0, char16layout8bpp, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
void xavix2_state::xavix2(machine_config &config)
|
||||
{
|
||||
// unknown CPU 'SSD 2002-2004 NEC 800208-51'
|
||||
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
m_screen->set_refresh_hz(60);
|
||||
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500));
|
||||
m_screen->set_screen_update(FUNC(xavix2_state::screen_update));
|
||||
m_screen->set_size(32*8, 32*8);
|
||||
m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
|
||||
m_screen->set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_xavix);
|
||||
|
||||
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 256);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
// unknown sound hardware
|
||||
}
|
||||
|
||||
|
||||
ROM_START( ltv_naru )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "naruto.bin", 0x000000, 0x800000, CRC(e3465ad2) SHA1(13e3d2de5d5a084635cab158f3639a1ea73265dc) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( domfitad )
|
||||
ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "xpfitnessadventure.bin", 0x000000, 0x1000000, CRC(a7917081) SHA1(95ae5dc6e64a78ae060cb0e61d8b0af34a93c4ce) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( dombikec )
|
||||
ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "xpbikeconcept.bin", 0x000000, 0x1000000, CRC(3447fce5) SHA1(c7e9e9cd789a17ac886ecf253f67753213cf8d21) )
|
||||
ROM_END
|
||||
|
||||
|
||||
CONS( 2006, ltv_naru, 0, 0, xavix2, xavix2, xavix2_state, empty_init, "Bandai / SSD Company LTD", "Let's TV Play Naruto", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
// These are for the 'Domyos Interactive System' other Domyos Interactive System games can be found in xavix.cpp (the SoC is inside the cartridge, base acts as a 'TV adapter' only)
|
||||
|
||||
// Has SEEPROM and an RTC. Adventure has the string DOMYSSDCOLTD a couple of times.
|
||||
CONS( 2008, domfitad, 0, 0, xavix2, xavix2, xavix2_state, empty_init, "Decathlon / SSD Company LTD", "Domyos Fitness Adventure (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2008, dombikec, 0, 0, xavix2, xavix2, xavix2_state, empty_init, "Decathlon / SSD Company LTD", "Domyos Bike Concept (Domyos Interactive System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
|
||||
|
||||
|
@ -190,7 +190,6 @@ protected:
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<address_map_bank_device> m_lowbus;
|
||||
address_space* m_cpuspace;
|
||||
uint8_t m_extbusctrl[3];
|
||||
|
||||
private:
|
||||
|
||||
@ -263,8 +262,6 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
DECLARE_READ8_MEMBER(extintrf_790x_r);
|
||||
DECLARE_WRITE8_MEMBER(extintrf_790x_w);
|
||||
|
||||
DECLARE_READ8_MEMBER(ioevent_enable_r);
|
||||
DECLARE_WRITE8_MEMBER(ioevent_enable_w);
|
||||
@ -577,8 +574,12 @@ private:
|
||||
protected:
|
||||
optional_device<xavix2002_io_device> m_xavix2002io;
|
||||
|
||||
// additional SuperXaviX / XaviX2002 stuff
|
||||
uint8_t m_extbusctrl[3];
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(extintrf_790x_r);
|
||||
virtual DECLARE_WRITE8_MEMBER(extintrf_790x_w);
|
||||
|
||||
// additional SuperXaviX / XaviX2002 stuff
|
||||
uint8_t m_sx_extended_extbus[3];
|
||||
|
||||
DECLARE_WRITE8_MEMBER(extended_extbus_reg0_w);
|
||||
@ -763,9 +764,26 @@ protected:
|
||||
}
|
||||
}
|
||||
|
||||
// TODO, use callbacks?
|
||||
virtual DECLARE_READ8_MEMBER(extintrf_790x_r) override
|
||||
{
|
||||
return xavix_state::extintrf_790x_r(space,offset,mem_mask);
|
||||
}
|
||||
|
||||
virtual DECLARE_WRITE8_MEMBER(extintrf_790x_w) override
|
||||
{
|
||||
xavix_state::extintrf_790x_w(space,offset,data, mem_mask);
|
||||
|
||||
if (offset < 3)
|
||||
{
|
||||
if (m_cartslot->has_cart())
|
||||
m_cartslot->write_bus_control(space,offset,data,mem_mask);
|
||||
}
|
||||
};
|
||||
|
||||
virtual uint8_t extbus_r(offs_t offset) override
|
||||
{
|
||||
if (m_extbusctrl[1] & 0x08)
|
||||
if (m_cartslot->has_cart() && m_cartslot->is_read_access_not_rom())
|
||||
{
|
||||
logerror("%s: read from external bus %06x (SEEPROM READ?)\n", machine().describe_context(), offset);
|
||||
return m_cartslot->read_extra(*m_cpuspace, offset);
|
||||
@ -791,7 +809,7 @@ protected:
|
||||
}
|
||||
virtual void extbus_w(offs_t offset, uint8_t data) override
|
||||
{
|
||||
if (m_extbusctrl[0] & 0x08)
|
||||
if (m_cartslot->has_cart() && m_cartslot->is_write_access_not_rom())
|
||||
{
|
||||
logerror("%s: write to external bus %06x %02x (SEEPROM WRITE?)\n", machine().describe_context(), offset, data);
|
||||
return m_cartslot->write_extra(*m_cpuspace, offset, data);
|
||||
|
@ -13280,6 +13280,7 @@ bang // (c) 1998 - Ref ???
|
||||
bangj // (c) 1999 - Ref ???
|
||||
play2000 // (c) 1999 - Ref ???
|
||||
play2000a // (c) 1999 - Ref ???
|
||||
play2000b // (c) 1999 - Ref ???
|
||||
maniacsq // (c) 1996 - Ref 940411
|
||||
maniacsqa // (c) 1996 - Ref 940411
|
||||
maniacsqu // (c) 1996 - Ref 940411 - (unprotected)
|
||||
@ -38668,6 +38669,7 @@ jak_dora //
|
||||
jak_disf //
|
||||
jak_sith //
|
||||
jak_sdoo //
|
||||
jak_dbz //
|
||||
vii // KenSingTon / Jungle Soft / Siatronics Vii
|
||||
wrlshunt // Wireless: Hunting Video Game System
|
||||
wirels60 // Wireless 60
|
||||
@ -39846,6 +39848,7 @@ ekaraa //
|
||||
ekaraj //
|
||||
ekarag //
|
||||
ekaraphs //
|
||||
epitch //
|
||||
ddrfammt //
|
||||
popira //
|
||||
taikodp //
|
||||
@ -39864,6 +39867,9 @@ xavmusic //
|
||||
domfitex //
|
||||
domfitch //
|
||||
domdance //
|
||||
|
||||
@source:xavix2.cpp
|
||||
ltv_naru //
|
||||
domfitad //
|
||||
dombikec //
|
||||
|
||||
|
@ -862,6 +862,7 @@ x1.cpp
|
||||
x1twin.cpp
|
||||
x68k.cpp
|
||||
xavix.cpp
|
||||
xavix2.cpp
|
||||
xbox.cpp
|
||||
xerox820.cpp
|
||||
xor100.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user