new NOT WORKING machines (XaviX / eKara) (#4663)

* initial checkin, improved commit message to follow (nw)

* naming improvements (nw)

* naming improvements (nw)

* note what is changed (nw)

* new NOT WORKING machines
---
Popira 2 (Japan) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]

(technically it works for single player stuff, but my timer emulation, which is used for the ADC, means the 2nd player inputs lag about 10 frames behind, making it unplayable for 2 player use either co-op or vs.)

new software list entries
---
ekara_japan_d:dc0003 BHT Volume 9 (Japan) (DC0003-BHT)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_d:dc0001 BHT Volume 8 (Japan) (DC0001-BHT)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_g:gc0017 TV Pop Volume 6 (Japan) (GC0017-TPJ)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_web:ekaraweb12a e-kara Web cartridge 12M (used, with 7 Songs) (Japan)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_gk:gk1 GK-1 - Detective Conan (Japan)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_sp:sp04 SP-04 Super Cartridge (Japan)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_sp:sp03 SP-03 Super Cartridge (Japan)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_g:gc0014 MIN Volume 2 (GC0014-MIN)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_s:sc0003 unknown(1) Volume 1 (Japan) (SC0003-xxx)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_g:gc0008a MIN Volume 1 (Japan) (GC0008-MIN) (set 2)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_g:gc0008 MIN Volume 1 (Japan) (GC0008-MIN) (set 1)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_p:pc0002 TV Pop Volume 2 (Japan) (PC0002-TPJ) (set 1)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_p:pc0002a TV Pop Volume 2 (Japan) (PC0002-TPJ) ('World Trade Center' image removed)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_s:sc0018 (unknown) Volume 1 (SC0018-SAI)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_g:gc0007 BAT Volume 3 (Japan) (GC0007-BAT)   [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]

new NOT WORKING software list entries
---
jpopira_jp:jp02 JP-02 (Japan)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
jpopira_jp:jp01 JP-01 (Japan)  [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]

(how well these work depends on what you expect from them / use them with, for Karaoke you can listen to all the songs, as you'd expect, for voice controller minigames you can't do much, the ones compatible with Popira are fully playable.  The 2 for Jumping Popira can't be used with any current set as they require a Jumping Popira base, so those are marked as NOT WORKING)

* better names (nw)

* new software list additions
--
ekara_japan_bh:bh06 BH-06 Best Hit Collection (Japan) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_bh:bh05 BH-05 Best Hit Collection (Japan) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_bh:bh03 BH-03 Best Hit Collection (Japan) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_bh:bh02 BH-02 Best Hit Collection (Japan) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_m:mc0014 Artist Mini Volume 8 (BoA) (Japan) (MC0014-ATM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_m:mc0006 KSM Mini Volume 2 (Japan) (MC0006-KSM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan_m:mc0004 Artist Mini Volume 4 (w-inds) (Japan) (MC0004-ATM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]

* new software list entries
---
ekara_japan_m:mc0012  Artist Mini Volume 7 (untranslated artist) (Japan) (MC0012-ATM) [Sean Riddle, Peter Wilhelmsen, David Haywood, ShouTime]

* more 'I Can Play Guitar' cart ROM to software list

* new software list entries
---
ekara_japan:ec0060 J-Pop Mix Volume 26 (Japan) (EC0060-JPM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0062 J-Pop Mix Volume 28 (Japan) (EC0062-JPM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0065 J-Pop Mix Volume 30 (Japan) (EC0065-JPM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0066 J-Pop Mix Volume 31 (Japan) (EC0066-JPM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0067 J-Pop Mix Volume 32 (Japan) (EC0067-JPM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0069 ETZ (Japan) (EC0069-ETZ) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0071 J-Pop Mix Volume 35 (Japan) (EC0071-JPM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0073 untranslated volume 1 (Japan) (EC0073-) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0074 J-Pop Mix Volume 37 (Japan) (EC0074-JPM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0075 J-Pop Mix Volume 38 (Japan) (EC0075-JPM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0077 Artist Selection Volume 15 - unknown artist (Japan) (EC0077-ATS) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0078 J-Pop Mix Volume 40 (Japan) (EC0078-JPM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]
ekara_japan:ec0080 J-Pop Mix Volume 41 (Japan) (EC0080-JPM) [Sean Riddle, Peter Wilhelmsen. David Haywood, ShouTime]

* minor fixes / corrections to names (nw)

* (nw)

* comment updates (nw)
This commit is contained in:
David Haywood 2019-02-21 21:09:22 +00:00 committed by R. Belmont
parent 24259c9377
commit cf988598a5
21 changed files with 1152 additions and 70 deletions

View File

@ -125,33 +125,33 @@
58 EC0058-ENK ENK Volume 8
59 EC0059-JPM J-Pop Mix Volume 25
60 EC0060-JPM J-Pop Mix Volume 26
60 *EC0060-JPM J-Pop Mix Volume 26
61 *EC0061-JPM J-Pop Mix Volume 27
62 EC0062-JPM J-Pop Mix Volume 28
62 *EC0062-JPM J-Pop Mix Volume 28
63 *EC0063-JPM J-Pop Mix Volume 29
64 EC0064-ENK ENK Volume 9
65 EC0065-JPM J-Pop Mix Volume 30
66 EC0066-JPM J-Pop Mix Volume 31
67 EC0067-JPM J-Pop Mix Volume 32
65 *EC0065-JPM J-Pop Mix Volume 30
66 *EC0066-JPM J-Pop Mix Volume 31
67 *EC0067-JPM J-Pop Mix Volume 32
68 *EC0068-JPM J-Pop Mix Volume 33
69 EC0069- untranslated
69 *EC0069-ETZ ETZ (custom presentation etc.)
70 *EC0070-JPM J-Pop Mix Volume 34
71 EC0071-JPM J-Pop Mix Volume 35
71 *EC0071-JPM J-Pop Mix Volume 35
72 *EC0072-JPM J-Pop Mix Volume 36
73 EC0073- untranslated volume 1
74 EC0074-JPM J-Pop Mix Volume 37
75 EC0075-JPM J-Pop Mix Volume 38
73 *EC0073-MKC MKC volume 1 (Japan)
74 *EC0074-JPM J-Pop Mix Volume 37
75 *EC0075-JPM J-Pop Mix Volume 38
76 *EC0076-JPM J-Pop Mix Volume 39
77 EC0077-ATS Artist Selection Volume 15 - unknown artist (should be Vol 15? sales sheet lists 5?)
78 EC0078- (unknown)
79 *EC0079-ETZ ETZ (custom presentation etc.)
80 EC0080- (unknown)
77 *EC0077-ATS Artist Selection Volume 15 - unknown artist (should be Vol 15? sales sheet lists 5?)
78 *EC0078-JPM J-Pop Mix Volume 40
79 *EC0079-ETZ ETZ 2 (custom presentation etc.)
80 *EC0080-JPM J-Pop Mix Volume 41
81 EC0081-JPM J-Pop Mix Volume 42
82 *EC0082-MBH Matthew's Best Hit Selection
83 EC0083-JPM J-Pop Mix Volume 43
84 EC0084- (unknown, seen)
85 EC0085- (unknown, seen)
85 EC0085-ETZ ETZ 3 (custom presentation etc.) (guess)
(more? what's the highest regular number?)
@ -711,7 +711,16 @@
<!-- EC0059-JPM J-Pop Mix Volume 25 -->
<!-- EC0060-JPM J-Pop Mix Volume 26 -->
<software name="ec0060">
<description>J-Pop Mix Volume 26 (Japan) (EC0060-JPM)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0060-jpm.u1" size="0x100000" crc="04a0b834" sha1="916bac4b58210a0cbd8c9d76c39c802b6d68be32" offset="0" />
</dataarea>
</part>
</software>
<software name="ec0061">
<description>J-Pop Mix Volume 27 (Japan) (EC0061-JPM)</description>
@ -724,7 +733,16 @@
</part>
</software>
<!-- EC0062-JPM J-Pop Mix Volume 28 -->
<software name="ec0062">
<description>J-Pop Mix Volume 28 (Japan) (EC0062-JPM)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0062-jpm.u1" size="0x100000" crc="b3ea4218" sha1="4b186085ca5767f0c5dc3e67b4a316a3023a44bb" offset="0" />
</dataarea>
</part>
</software>
<software name="ec0063">
<description>J-Pop Mix Volume 29 (Japan) (EC0063-JPM)</description>
@ -739,11 +757,38 @@
<!-- EC0064-ENK ENK Volume 9 -->
<!-- EC0065-JPM J-Pop Mix Volume 30 -->
<software name="ec0065">
<description>J-Pop Mix Volume 30 (Japan) (EC0065-JPM)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0065-jpm.u1" size="0x100000" crc="fbf39688" sha1="fdf955de31bdb5bea078c0ae1305b67076093749" offset="0" />
</dataarea>
</part>
</software>
<!-- EC0066-JPM J-Pop Mix Volume 31 -->
<software name="ec0066">
<description>J-Pop Mix Volume 31 (Japan) (EC0066-JPM)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0066-jpm.u1" size="0x100000" crc="aa7b1374" sha1="07b61dc24273c41088c2a15e07f112fd7917d0bb" offset="0" />
</dataarea>
</part>
</software>
<!-- EC0067-JPM J-Pop Mix Volume 32 -->
<software name="ec0067">
<description>J-Pop Mix Volume 32 (Japan) (EC0067-JPM)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0067-jpm.u1" size="0x100000" crc="972cd1f3" sha1="0972800c5b64259e0a5953547c6c825ad68b0d83" offset="0" />
</dataarea>
</part>
</software>
<software name="ec0068">
<description>J-Pop Mix Volume 33 (Japan) (EC0068-JPM)</description>
@ -756,7 +801,16 @@
</part>
</software>
<!-- EC0069- untranslated -->
<software name="ec0069"> <!-- custom presentation -->
<description>ETZ (Japan) (EC0069-ETZ)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x200000">
<rom name="ec0069-etz.u1" size="0x200000" crc="849ebd23" sha1="752c500d3ff48f04b985fef04219824d1d746034" offset="0" />
</dataarea>
</part>
</software>
<software name="ec0070">
<description>J-Pop Mix Volume 34 (Japan) (EC0070-JPM)</description>
@ -769,7 +823,16 @@
</part>
</software>
<!-- EC0071-JPM J-Pop Mix Volume 35 -->
<software name="ec0071">
<description>J-Pop Mix Volume 35 (Japan) (EC0071-JPM)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0071-jpm.u1" size="0x100000" crc="5d62c9d6" sha1="c50efa872833016612fc69a3ef8ae6068d27a9d8" offset="0" />
</dataarea>
</part>
</software>
<software name="ec0072">
<description>J-Pop Mix Volume 36 (Japan) (EC0072-JPM)</description>
@ -782,11 +845,38 @@
</part>
</software>
<!-- EC0073- untranslated volume 1 -->
<software name="ec0073">
<description>MKC volume 1 (Japan) (EC0073-MKC)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0073-mkc.u1" size="0x100000" crc="e1ffa625" sha1="ee1bcd579a10085c4c094037e25345c17c063c7c" offset="0" />
</dataarea>
</part>
</software>
<!-- EC0074-JPM J-Pop Mix Volume 37 -->
<software name="ec0074">
<description>J-Pop Mix Volume 37 (Japan) (EC0074-JPM)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0074-jpm.u1" size="0x100000" crc="12aa9070" sha1="2b645d1cbc5716cd1f58a9d2f820a5b50b0d9448" offset="0" />
</dataarea>
</part>
</software>
<!-- EC0075-JPM J-Pop Mix Volume 38 -->
<software name="ec0075">
<description>J-Pop Mix Volume 38 (Japan) (EC0075-JPM)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0075-jpm.u1" size="0x100000" crc="cbb8e615" sha1="5fbbfbf4278ce7e289d859e389808b155bb16e4a" offset="0" />
</dataarea>
</part>
</software>
<software name="ec0076">
<description>J-Pop Mix Volume 39 (Japan) (EC0076-JPM)</description>
@ -799,12 +889,30 @@
</part>
</software>
<!-- EC0077-ATS Artist Selection Volume 15 - unknown artist -->
<software name="ec0077">
<description>Artist Selection Volume 15 - unknown artist (Japan) (EC0077-ATS)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0077-ats.u1" size="0x100000" crc="368b0daf" sha1="8274a06ca2e3dbcd5176ac1b916be4a5a0df12ef" offset="0" />
</dataarea>
</part>
</software>
<!-- EC0078-JPM J-Pop Mix Volume 40 -->
<software name="ec0078">
<description>J-Pop Mix Volume 40 (Japan) (EC0078-JPM)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0078-jpm.u1" size="0x100000" crc="a76c022f" sha1="983fb1a78f457edcac9c7eb0226bb1b629ec27a7" offset="0" />
</dataarea>
</part>
</software>
<software name="ec0079"> <!-- custom presentation -->
<description>ETZ (Japan) (EC0079-ETZ)</description> <!-- Japanese text in 'Volume' box -->
<description>ETZ 2 (Japan) (EC0079-ETZ)</description> <!-- Japanese text in 'Volume' box -->
<year>2002</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
@ -814,7 +922,16 @@
</part>
</software>
<!-- EC0080-JPM J-Pop Mix Volume 41-->
<software name="ec0080">
<description>J-Pop Mix Volume 41 (Japan) (EC0080-JPM)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ec0080-jpm.u1" size="0x100000" crc="6fc0b669" sha1="a712b5c25551b99b0c4a3650f71380087b5a54a7" offset="0" />
</dataarea>
</part>
</software>
<!-- EC0081-JPM J-Pop Mix Volume 42 -->

70
hash/ekara_japan_bh.xml Normal file
View File

@ -0,0 +1,70 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="ekara_japan_bh" description="Takara e-kara (Japan) BH-xx series cartridges">
<!-- cartridges contain the ROM only, the XaviX CPU and BIOS are in the base unit -->
<!--
Japanese cart listing (by BH code) * = dumped
* = dumped
A secondary 4-digit naming scheme BHxxxx (no extension) appears on a sticker on the cartridge PCB only
For e-kara only
These are probably all just titled 'Best Hit Collection'
BH-01 (unknown)
*BH-02 Best Hit Collection
*BH-03 Best Hit Collection
BH-04 (unknown)
*BH-05 Best Hit Collection)
*BH-06 Best Hit Collection
(more? what's the BH highest number?)
-->
<software name="bh02">
<description>BH-02 Best Hit Collection (Japan)</description>
<year>2005</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="bh02.bin" size="0x100000" crc="05ada4d7" sha1="abee397597f04f89b80bca69fa2daa4e2af7056b" offset="0" />
</dataarea>
</part>
</software>
<software name="bh03">
<description>BH-03 Best Hit Collection (Japan)</description>
<year>2005</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="bh03.bin" size="0x100000" crc="d17cafd4" sha1="b74fd0f77a726547d4001d4177a5ccd2ea35536a" offset="0" />
</dataarea>
</part>
</software>
<software name="bh05">
<description>BH-05 Best Hit Collection (Japan)</description>
<year>2005</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="bh05.bin" size="0x100000" crc="9713f0c1" sha1="1ccd666771dcaed304e69c7dee06ae11df4ab091" offset="0" />
</dataarea>
</part>
</software>
<software name="bh06">
<description>BH-06 Best Hit Collection (Japan)</description>
<year>2005</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="bh06.bin" size="0x100000" crc="6e264ecb" sha1="6c3e4253565242c0c6dcdab7698f5b1e28544b2e" offset="0" />
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -16,9 +16,9 @@
note BAT and BHT aren't the same series
D-1 DC0001-BHT BHT (Best Artists?) Volume 8 (most other BHT carts are in G series, or P series)
*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
*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-BHT BHT (Best Artists?) Volume 10
@ -29,6 +29,18 @@
-->
<software name="dc0001">
<description>BHT Volume 8 (Japan) (DC0001-BHT)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<feature name="slot" value="rom_24lc02"/>
<dataarea name="rom" size="0x100000">
<rom name="dc0001-bht.u1" size="0x100000" crc="bd0c4044" sha1="496f9270c0285480ad513c2628260a5ed629dfd6" offset="0" />
</dataarea>
</part>
</software>
<software name="dc0002">
<description>BAT Volume 6 (Japan) (DC0002-BAT)</description>
<year>2003</year>
@ -41,6 +53,18 @@
</part>
</software>
<software name="dc0003">
<description>BHT Volume 9 (Japan) (DC0003-BHT)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<feature name="slot" value="rom_24lc02"/>
<dataarea name="rom" size="0x100000">
<rom name="dc0003-bht.u1" size="0x100000" crc="fd15d60f" sha1="c017d3fa1e10ad13cc130b92bd149a347d5c996c" offset="0" />
</dataarea>
</part>
</software>
<software name="dc0005">
<description>TV Pop Volume 9 (Japan) (DC0005-TPJ)</description>
<year>2004</year>

View File

@ -9,7 +9,7 @@
These are for use with 2 different units
1. e-Kara
2. Popira (and Popira 2?)
2. Popira (and Popira 2? - earlier carts will run it as regular Popira, later carts have full Popira 2 support)
G-1 *GC0001-BAT BAT Volume 1 (Artist Selection?)
G-2 *GC0002-BHT BHT Volume 1 (Best Artists?)
@ -17,17 +17,17 @@
G-4 *GC0004-BHT BHT Volume 2 (Best Artists?)
G-5 GC0005-TPJ TV Pop Volume 1
G-6 *GC0006-BHT BHT Volume 3 (Best Artists?)
G-7 GC0007-BAT BAT Volume 3 (Artist Selection?)
G-8 GC0008-MIN? untranslated (no volume)
G-7 *GC0007-BAT BAT Volume 3 (Artist Selection?)
G-8 *GC0008-MIN? untranslated (no volume)
G-9 GC0009-TPJ TV Pop Volume 3 (Volume 2 is 'P-2' in 'P' series)
G-10 *GC0010-BAT BAT Volume 4 (Artist Selection?)
G-11 GC0011-TPJ TV Pop Volume 4
G-12 GC0012-BHT BHT Volume 5 (Best Artists?) (Volume 4 is 'P-1' in 'P' series)
G-13 GC0013- (unknown) Volume 6
G-14 GC0014-MIN? (unknown) Volume 2
G-14 *GC0014-MIN? (unknown) Volume 2
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-17 *GC0017-TPJ TV Pop Volume 6
G-18 GC0018-TPJ TV Pop Volume 7
(more? what's the G highest number?)
@ -62,7 +62,7 @@
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="gc00003-bat.u1" size="0x100000" crc="49536d5a" sha1="c112b6ac62f586fc1d1615406362fc659e587772" offset="0" />
<rom name="gc0003-bat.u1" size="0x100000" crc="49536d5a" sha1="c112b6ac62f586fc1d1615406362fc659e587772" offset="0" />
</dataarea>
</part>
</software>
@ -89,6 +89,39 @@
</part>
</software>
<software name="gc0007">
<description>BAT Volume 3 (Japan) (GC0007-BAT)</description>
<year>2000</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="gc0007-bat.u1" size="0x100000" crc="27b49bdb" sha1="2b64d978fc5df5869bc3c27d16642727e2d38999" offset="0" />
</dataarea>
</part>
</software>
<software name="gc0008">
<description>Mini Moni Volume 1 (Japan) (GC0008-MIN) (set 1)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x200000">
<rom name="gc0008-min.u1" size="0x200000" crc="8414c402" sha1="340c432eec8eb2108b8364b5936dd22dc34b51a9" offset="0" />
</dataarea>
</part>
</software>
<software name="gc0008a" cloneof="gc0008">
<description>MIN Volume 1 (Japan) (GC0008-MIN) (set 2)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x200000">
<rom name="gc0008-min(alt).u1" size="0x200000" crc="b34d1721" sha1="3621f02423f55c43d1b16855c01189719ddbcb6e" offset="0" />
</dataarea>
</part>
</software>
<!-- Notes from Sean
G10 has a 24LC02, but no 74HC125, and pin 2 isn't connected.
@ -99,13 +132,14 @@
e-Kara units, Popira, Taiko de Popira and DDR all of them have pin 4 of the cart connector going to VCC and pin 32 going to ground. So none of them can communicate with the SEEPROM in G10
Unless Popira 2 is different (unlikely) it doesn't look like the SEEPROM in this cartridge can be used (unfinished design?) -->
Popira 2 however can make use of these pins -->
<software name="gc0010">
<description>BAT Volume 4 (Japan) (GC0010-BAT)</description>
<year>2002</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<feature name="slot" value="rom_24lc02"/> <!-- no 74HC125, doesn't seem possible that this SEEPROM is actually used, see note above -->
<feature name="slot" value="rom_24lc02_gc0010"/>
<dataarea name="rom" size="0x100000">
<rom name="gc0010-bat.u1" size="0x100000" crc="c08be376" sha1="28cb6baacf64e0382fd9c8bb7167d7fdd96f57ee" offset="0" />
</dataarea>
@ -113,6 +147,18 @@
</software>
<software name="gc0014">
<description>Mini Moni Volume 2 (GC0014-MIN)</description>
<year>2002</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<feature name="slot" value="rom_24lc02"/> <!-- with 74HC125 -->
<dataarea name="rom" size="0x200000">
<rom name="gc0014-min.u1" size="0x200000" crc="309e0337" sha1="ac68ad33fd15d7c2cc507efc645a04a2e6d08d49" offset="0" />
</dataarea>
</part>
</software>
<!-- G15 looks like G16- 74HC125 and 24LC02. -->
<software name="gc0015">
<description>BAT Volume 5 (Japan) (GC0015-BAT)</description>
@ -138,4 +184,16 @@
</part>
</software>
<software name="gc0017">
<description>TV Pop Volume 6 (Japan) (GC0017-TPJ)</description>
<year>2002</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<feature name="slot" value="rom_24lc02"/> <!-- with 74HC125 -->
<dataarea name="rom" size="0x100000">
<rom name="gc0017-tpj.u1" size="0x100000" crc="2c7d00a2" sha1="5976b9f3a95afb3b23f1d1d996de0b7aa41ee25c" offset="0" />
</dataarea>
</part>
</software>
</softwarelist>

32
hash/ekara_japan_gk.xml Normal file
View File

@ -0,0 +1,32 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="ekara_japan_gk" description="Takara e-kara (Japan) GK-xx series cartridges">
<!-- cartridges contain the ROM only, the XaviX CPU and BIOS are in the base unit -->
<!--
Japanese cart listing (by GK code) * = dumped
* = dumped
A secondary 4-digit naming scheme GKxxxx (no extension) appears on a sticker on the cartridge PCB only
(check what units these are for)
*GK-1 Detective Conan
GK-2 (unknown)
GK-3 (seen)
(more? what's the GK highest number?)
-->
<software name="gk1">
<description>GK-1 - Detective Conan (Japan)</description>
<year>2004</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x200000">
<rom name="gk1.bin" size="0x200000" crc="775608cd" sha1="8b53fd4e8ced709df2716c839abfd7e41cc719d2" offset="0" />
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -8,17 +8,17 @@
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-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-6 *MC0006-KSM KSM Mini Volume 2
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-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-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)
@ -34,7 +34,7 @@
<!-- these have unique presentation -->
<software name="mc0001">
<description>ATM Mini Volume 1 (Japan) (MC0001-ATM)</description>
<description>Artist Mini Volume 1 (untranslated artist) (Japan) (MC0001-ATM)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
@ -44,8 +44,41 @@
</part>
</software>
<software name="mc0004">
<description>Artist Mini Volume 4 (w-inds) (Japan) (MC0004-ATM)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x080000">
<rom name="mc0004-atm.u1" size="0x080000" crc="e9ba14c1" sha1="3cad1a6b0d1ba24dfb6c1aec84a6d87816b16d54" offset="0" />
</dataarea>
</part>
</software>
<software name="mc0006">
<description>KSM Mini Volume 2 (Japan) (MC0006-KSM)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x080000">
<rom name="mc0006-ksm.u1" size="0x080000" crc="6d3c8c02" sha1="568a0e156a2189156149578277b6d615fe4e157f" offset="0" />
</dataarea>
</part>
</software>
<software name="mc0012">
<description>Artist Mini Volume 7 (untranslated artist) (Japan) (MC0012-ATM)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x080000">
<rom name="mc0012-atm.u1" size="0x080000" crc="f31d3de9" sha1="41e4de960b2f348a4bed3b9b6d51229878e8c8f3" offset="0" />
</dataarea>
</part>
</software>
<software name="mc0013">
<description>KSM Mini Volume 5 (Japan) (MC0005-KSM)</description>
<description>KSM Mini Volume 5 (Japan) (MC0013-KSM)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
@ -55,4 +88,15 @@
</part>
</software>
<software name="mc0014">
<description>Artist Mini Volume 8 (BoA) (Japan) (MC0014-ATM)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x080000">
<rom name="mc0014-atm.u1" size="0x080000" crc="170e02af" sha1="02b38146db7d74727f7dccf6dcc3d004979210a1" offset="0" />
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -13,7 +13,7 @@
3. Konami DDR Family Mat
*P-1 BHT Volume 4 (Best Artists?) (1,2,3, 5 in G series)
P-2 TV Pop Volume 2 (1,3,4 in G series)
*P-2 TV Pop Volume 2 (1,3,4 in G series)
*P-3 ENB Volume 1
*P-4 BHT Volume 7
-->
@ -29,6 +29,28 @@
</part>
</software>
<software name="pc0002">
<description>TV Pop Volume 2 (Japan) (PC0002-TPJ) (set 1)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="pc0002-tpj.u1" size="0x100000" crc="2ce065ed" sha1="1c0ae8050f7093a53f74637f27063f720f19610c" offset="0" />
</dataarea>
</part>
</software>
<software name="pc0002a" cloneof="pc0002">
<description>TV Pop Volume 2 (Japan) (PC0002-TPJ) ('World Trade Center' image removed)</description> <!-- The song 'Run Run Run' features an image containing the twin towers in the original release, it is swapped for another here -->
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="pc0002-tpj(alt).u1" size="0x100000" crc="f8c54474" sha1="4ae876d8deed068c710700499cba22b88bea3d17" offset="0" />
</dataarea>
</part>
</software>
<software name="pc0003">
<description>ENB Volume 1 (Japan) (PC0003-ENB)</description>
<year>2001</year>

View File

@ -12,7 +12,7 @@
S-1 SC0001- Hello Kitty Special
S-2 SC0002-SAI SAI (series 3) Volume 1
S-3 SC0003- unknown(1) 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)
@ -27,7 +27,7 @@
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-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- SAI (series 3) Volume 5
S-21 *SC0021-SAI SAI (series 2) Volume 7 (same series as 5,6,9,19,22)
@ -40,6 +40,17 @@
<!-- Japanese e-kara cartridges SC (Special?) series -->
<!-- these have unique presentation -->
<software name="sc0003">
<description>unknown(1) Volume 1 (Japan) (SC0003-xxx)</description>
<year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="sc0003-.u1" size="0x100000" crc="935e3445" sha1="e86949467e65d515523629ca1e8f8b47cdaaacf0" offset="0" />
</dataarea>
</part>
</software>
<software name="sc0004">
<description>SAI (series 1) Volume 1 (Japan) (SC0004-SAI)</description>
<year>2001</year>
@ -106,9 +117,20 @@
</part>
</software>
<software name="sc0018">
<description>(unknown) Volume 1 (SC0018-SAI)</description>
<year>2002</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="sc0018-sai.u1" size="0x100000" crc="23545417" sha1="64b84de483c6c5d1129826324b30580a189077ea" offset="0" />
</dataarea>
</part>
</software>
<software name="sc0019">
<description>SAI (series 2) Volume 6 (Japan) (SC0019-SAI)</description>
<year>2001</year>
<year>2002</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x200000">
@ -119,7 +141,7 @@
<software name="sc0021">
<description>SAI (series 2) Volume 7 (Japan) (SC0021-SAI)</description>
<year>2001</year>
<year>2002</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x200000">
@ -130,7 +152,7 @@
<software name="sc0022">
<description>SAI (series 2) Volume 8 (Japan) (SC0022-SAI)</description>
<year>2001</year>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x200000">

View File

@ -8,7 +8,7 @@
Japanese cart listing (by SP code) * = dumped
These don't seem to have a secondary numbering scheme (eg SPxxxx-xxx)
A secondary 4-digit naming scheme SPxxxx (no extension) appears on a sticker on the cartridge PCB only
These are for use with 5 different units
1. e-Kara
@ -21,13 +21,10 @@
"please play this cartridge on e-kara series, popira, popira 2, taiko de popira or jumping popira"
gives 'memory error' if plugged into Popira (needs cartridge SEEPROM emulating)
gives 'eep-rom error' if plugged into Taiko de Popira (same reason)
SP-01 (unknown)
*SP-02 'Super Cartridge' SP-2
SP-03 (unknown)
SP-04 (unknown)
*SP-03 'Super Cartridge' SP-3
*SP-04 'Super Cartridge' SP-4
SP-05
SP-06 (seen)
SP-07 (seen)
@ -36,9 +33,9 @@
-->
<software name="sp02"> <!-- also has SEEPROM inside -->
<software name="sp02">
<description>SP-02 Super Cartridge (Japan)</description>
<year>2000</year>
<year>2004</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<feature name="slot" value="rom_24lc04"/>
@ -47,4 +44,29 @@
</dataarea>
</part>
</software>
<software name="sp03">
<description>SP-03 Super Cartridge (Japan)</description>
<year>2004</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<feature name="slot" value="rom_24lc04"/>
<dataarea name="rom" size="0x200000">
<rom name="sp03.u1" size="0x200000" crc="cd7dbbaf" sha1="cc62c10f8f83015e4c472bc41e9a1fd7ac497655" offset="0" />
</dataarea>
</part>
</software>
<software name="sp04">
<description>SP-04 Super Cartridge (Japan)</description>
<year>2004</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<feature name="slot" value="rom_24lc04"/>
<dataarea name="rom" size="0x200000">
<rom name="sp04.u1" size="0x200000" crc="77818ddb" sha1="708980b1ae30864bd3395ef663de1c57ecbc113c" offset="0" />
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -28,4 +28,17 @@
</part>
</software>
<!-- this one has some songs programmed into it (TODO, list them here for reference) -->
<software name="ekaraweb12a">
<description>e-kara Web cartridge 12M (used, with 7 Songs) (Japan)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="ekaraweb3.bin" size="0x100000" crc="a6a095b9" sha1="709d7edb5799b97127502408bec698663b902462" offset="0" />
</dataarea>
</part>
</software>
</softwarelist>

14
hash/icanguit.xml Normal file
View File

@ -0,0 +1,14 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="icanguit_cart" description="Fisher-Price / Mattel I Can Play Guitar cartridges">
<software name="guitfav">
<description>Guitar Favorites</description>
<year>2007</year>
<publisher>Fisher-Price / Mattel</publisher>
<part name="cart" interface="icanguit_cart">
<dataarea name="rom" size="0x800000">
<rom name="icanplayguitar_guitarfavorites.bin" size="0x800000" crc="c804822e" sha1="81e10a033355f4ba4be23a6741bd9d81c5627544" offset="0" />
</dataarea>
</part>
</software>
</softwarelist>

45
hash/jpopira_jp.xml Normal file
View File

@ -0,0 +1,45 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="jpopira_jp" description="Takara Jumping Popira (Japan) JP-xx series cartridges">
<!-- cartridges contain the ROM only, the XaviX CPU and BIOS are in the base unit
***********************************************************************************
Japanese cart listing (by JP code) * = dumped
A secondary 4-digit naming scheme JPxxxx (no extension) appears on a sticker on the cartridge PCB only
These are for use with Jumping Popira ONLY (form factor is the same as e-Kara cartridges)
*JP-01 'Jumping Popira' JP-1
*JP-02 'Jumping Popira' JP-2
(more? what's the highest JP number?)
-->
<software name="jp01">
<description>JP-01 (Japan)</description>
<year>2004</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<!--<feature name="slot" value="rom_24lc04"/>-->
<dataarea name="rom" size="0x200000">
<rom name="jp1.bin" size="0x200000" crc="106544c5" sha1="1bff363ce13c0eaf344a8f36ed004c78e0ddd007" offset="0" />
</dataarea>
</part>
</software>
<software name="jp02">
<description>JP-02 (Japan)</description>
<year>2004</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<!--<feature name="slot" value="rom_24lc04"/>-->
<dataarea name="rom" size="0x200000">
<rom name="jp2.bin" size="0x200000" crc="f66d8ee8" sha1="3624c89197b1579fc60d5c40ff30bca248428a6c" offset="0" />
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -13,6 +13,7 @@ DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_BASE, ekara_rom_i2c_base_device, "ekara
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")
DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_24LC02_GC0010, ekara_rom_i2c_24lc02_gc0010_device, "ekara_rom_i2c_24lc02_gc0010", "EKARA Cartridge with I2C 24LC02 (GC0010 direct access)")
ekara_rom_plain_device::ekara_rom_plain_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
@ -54,6 +55,11 @@ ekara_rom_i2c_24lc02_device::ekara_rom_i2c_24lc02_device(const machine_config &m
{
}
ekara_rom_i2c_24lc02_gc0010_device::ekara_rom_i2c_24lc02_gc0010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
ekara_rom_i2c_base_device(mconfig, EKARA_ROM_I2C_24LC02_GC0010, tag, owner, clock)
{
}
/*-------------------------------------------------
mapper specific handlers
-------------------------------------------------*/
@ -159,6 +165,50 @@ 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
}
// i2c 24lc02 with direct IO port access
bool ekara_rom_i2c_24lc02_gc0010_device::is_read_access_not_rom(void)
{
return false;
}
bool ekara_rom_i2c_24lc02_gc0010_device::is_write_access_not_rom(void)
{
return false;
}
READ8_MEMBER(ekara_rom_i2c_24lc02_gc0010_device::read_extra)
{
return 0;
}
WRITE8_MEMBER(ekara_rom_i2c_24lc02_gc0010_device::write_extra)
{
}
WRITE_LINE_MEMBER(ekara_rom_i2c_24lc02_gc0010_device::write_sda)
{
m_i2cmem->write_sda(state);
}
WRITE_LINE_MEMBER(ekara_rom_i2c_24lc02_gc0010_device::write_scl)
{
m_i2cmem->write_scl(state);
}
READ_LINE_MEMBER(ekara_rom_i2c_24lc02_gc0010_device::read_sda )
{
return m_i2cmem->read_sda();
}
void ekara_rom_i2c_24lc02_gc0010_device::device_add_mconfig(machine_config &config)
{
I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x100); // 24LC02
}
/*-------------------------------------------------
slot interface
@ -170,4 +220,6 @@ void ekara_cart(device_slot_interface &device)
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);
device.option_add_internal("rom_24lc02_gc0010", EKARA_ROM_I2C_24LC02_GC0010);
}

View File

@ -105,11 +105,32 @@ protected:
};
// ======================> ekara_rom_i2c_24lc02_gc0010_device
class ekara_rom_i2c_24lc02_gc0010_device : public ekara_rom_i2c_base_device
{
public:
// construction/destruction
ekara_rom_i2c_24lc02_gc0010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
virtual void device_add_mconfig(machine_config &config) override;
bool is_read_access_not_rom(void) override;
bool is_write_access_not_rom(void) override;
DECLARE_READ8_MEMBER(read_extra) override;
DECLARE_WRITE8_MEMBER(write_extra) override;
DECLARE_WRITE_LINE_MEMBER(write_sda) override;
DECLARE_WRITE_LINE_MEMBER(write_scl) override;
DECLARE_READ_LINE_MEMBER(read_sda ) override;
};
// 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)
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24LC02_GC0010, ekara_rom_i2c_24lc02_gc0010_device)
#endif // MAME_BUS_EKARA_ROM_H

View File

@ -257,4 +257,21 @@ bool ekara_cart_slot_device::is_write_access_not_rom(void)
return m_cart->is_write_access_not_rom();
}
/*-------------------------------------------------
direct seeprom access (popira2, gc0010)
-------------------------------------------------*/
WRITE_LINE_MEMBER(ekara_cart_slot_device::write_sda)
{
m_cart->write_sda(state);
}
WRITE_LINE_MEMBER(ekara_cart_slot_device::write_scl)
{
m_cart->write_scl(state);
}
READ_LINE_MEMBER(ekara_cart_slot_device::read_sda )
{
return m_cart->read_sda();
}

View File

@ -36,6 +36,11 @@ public:
virtual DECLARE_READ8_MEMBER(read_extra) { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_extra) { }
virtual DECLARE_WRITE_LINE_MEMBER(write_sda) { }
virtual DECLARE_WRITE_LINE_MEMBER(write_scl) { }
//virtual DECLARE_WRITE_LINE_MEMBER( write_wc )
virtual DECLARE_READ_LINE_MEMBER( read_sda ) { return 0; }
virtual DECLARE_WRITE8_MEMBER(write_bus_control) { }
virtual bool is_read_access_not_rom(void) { return false; }
@ -102,6 +107,11 @@ public:
virtual DECLARE_READ8_MEMBER(read_extra);
virtual DECLARE_WRITE8_MEMBER(write_extra);
virtual DECLARE_WRITE_LINE_MEMBER(write_sda);
virtual DECLARE_WRITE_LINE_MEMBER(write_scl);
//virtual DECLARE_WRITE_LINE_MEMBER( write_wc );
virtual DECLARE_READ_LINE_MEMBER( read_sda );
virtual DECLARE_WRITE8_MEMBER(write_bus_control);
virtual bool is_read_access_not_rom(void);

View File

@ -261,6 +261,28 @@ private:
uint8_t m_controller_input[8];
};
class icanguit_state : public spg2xx_game_state
{
public:
icanguit_state(const machine_config &mconfig, device_type type, const char *tag)
: spg2xx_game_state(mconfig, type, tag)
, m_cart(*this, "cartslot")
, m_cart_region(nullptr)
{ }
void icanguit(machine_config &config);
private:
virtual void machine_start() override;
//virtual void machine_reset() override;
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(icanguit_cart);
required_device<generic_slot_device> m_cart;
memory_region *m_cart_region;
};
/*************************
* Machine Hardware *
*************************/
@ -952,6 +974,155 @@ static INPUT_PORTS_START( rad_crik )
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( icanguit ) // this has something like 55 buttons, and some strings to map, must be multiplexed somehow?
PORT_START("P1")
PORT_DIPNAME( 0x0001, 0x0001, "P1" )
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_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("P2")
PORT_DIPNAME( 0x0001, 0x0001, "P2" )
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_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("P3")
PORT_DIPNAME( 0x0001, 0x0001, "P3" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1 ) // Enter?
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_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_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_NAME("Power Switch") // presumably power, kils the game
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
static INPUT_PORTS_START( rad_fb2 ) // controls must be multiplexed somehow, as there's no room for P2 controls otherwise (unless P2 controls were never finished and it was only sold in a single mat version, Radica left useless P2 menu options in the mini Genesis consoles)
PORT_START("P1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) // 'left'
@ -1104,6 +1275,37 @@ static INPUT_PORTS_START( lexizeus ) // how many buttons does this have? I acci
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
void icanguit_state::machine_start()
{
spg2xx_game_state::machine_start();
// if there's a cart, override the standard banking
if (m_cart && m_cart->exists())
{
std::string region_tag;
m_cart_region = memregion(region_tag.assign(m_cart->tag()).append(GENERIC_ROM_REGION_TAG).c_str());
m_bank->configure_entries(0, (m_cart_region->bytes() + 0x7fffff) / 0x800000, m_cart_region->base(), 0x800000);
m_bank->set_entry(0);
}
}
DEVICE_IMAGE_LOAD_MEMBER(icanguit_state, icanguit_cart)
{
uint32_t size = m_cart->common_get_size("rom");
if (size < 0x800000)
{
image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unsupported cartridge size");
return image_init_result::FAIL;
}
m_cart->rom_alloc(size, GENERIC_ROM16_WIDTH, ENDIANNESS_LITTLE);
m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
return image_init_result::PASS;
}
void vii_state::machine_start()
{
@ -1255,6 +1457,25 @@ void vii_state::vii(machine_config &config)
SOFTWARE_LIST(config, "vii_cart").set_original("vii");
}
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_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));
m_cart->set_must_be_loaded(true);
SOFTWARE_LIST(config, "icanguit_cart").set_original("icanguit");
}
void spg2xx_game_state::wireless60(machine_config &config)
{
SPG24X(config, m_spg, XTAL(27'000'000), m_maincpu, m_screen);
@ -1627,6 +1848,12 @@ ROM_START( dreamlif )
ROM_LOAD16_WORD_SWAP( "dreamlife.bin", 0x000000, 0x800000, CRC(632e0237) SHA1(a8586e8a626d75cf7782f13cfd9f1b938af23d56) )
ROM_END
ROM_START( icanguit )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
// no internal ROM, requires a cartridge
ROM_END
/*
Wireless Air 60
(info provided with dump)
@ -1844,6 +2071,8 @@ CONS( 2005, mattelcs, 0, 0, rad_skat, mattelcs, spg2xx_game_state, emp
// Hasbro games
CONS( 2007, dreamlif, 0, 0, rad_skat, rad_crik, spg2xx_game_state, empty_init, "Hasbro", "Dream Life", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
CONS( 2007, icanguit, 0, 0, icanguit, icanguit, icanguit_state, empty_init, "Mattel / Fisher-Price", "I Can Play Guitar", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// might not fit here. First 0x8000 bytes are blank (not too uncommon for these) then rest of rom looks like it's probably encrypted at least
// could be later model VT based instead? even after decrypting (simple word xor) the vectors have a different format and are at a different location to the SunPlus titles
CONS( 2009, zone40, 0, 0, non_spg_base, wirels60, spg2xx_game_state, init_zone40, "Jungle Soft / Ultimate Products (HK) Ltd", "Zone 40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )

View File

@ -270,6 +270,9 @@ void xavix_state::xavix_map(address_map &map)
{
map(0x000000, 0x7fffff).r(FUNC(xavix_state::opcodes_000000_r));
map(0x800000, 0xffffff).r(FUNC(xavix_state::opcodes_800000_r));
map(0x000000, 0x003fff).w(FUNC(xavix_state::debug_mem_w));
}
// this is used by data reads / writes after some processing in the core to decide if data reads can see lowbus, zeropage, stack, bank registers etc. and only falls through to here on a true external bus access
@ -851,6 +854,225 @@ static INPUT_PORTS_START( popira )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( popira2 ) // player 2 buttons have heavy latency, probably due to incorrect timer emulation, hence NOT WORKING flag right now
PORT_INCLUDE(xavix)
PORT_MODIFY("IN0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Pad 1") PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Pad 2") PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Pad 3") PORT_PLAYER(1)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P1 Pad 4") PORT_PLAYER(1)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Select Previous") PORT_PLAYER(1)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Select Next") PORT_PLAYER(1)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start") PORT_PLAYER(1)
PORT_MODIFY("IN1")
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xavix_popira2_cart_state,i2c_r, nullptr)
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_NAME("Power Switch") // pressing this will turn the game off.
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_MODIFY("AN0") // 00
PORT_DIPNAME( 0x0001, 0x0001, "AN0" )
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_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // buttons respond in a strange way if these are high
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P2 Pad 1") PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P2 Pad 2") PORT_PLAYER(2)
PORT_MODIFY("AN1") // 01
PORT_DIPNAME( 0x0001, 0x0001, "AN1" )
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_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // buttons respond in a strange way if these are high
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P2 Pad 3") PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P2 Pad 4") PORT_PLAYER(2)
PORT_MODIFY("AN2") // 02
PORT_DIPNAME( 0x0001, 0x0001, "AN2" )
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_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_MODIFY("AN3") // 03
PORT_DIPNAME( 0x0001, 0x0001, "AN3" )
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_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_MODIFY("AN4") // 10
PORT_DIPNAME( 0x0001, 0x0001, "AN4" )
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_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_MODIFY("AN5") // 11
PORT_DIPNAME( 0x0001, 0x0001, "AN5" )
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_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_MODIFY("AN6") // 12
PORT_DIPNAME( 0x0001, 0x0001, "AN6" )
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_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_MODIFY("AN7") // 13
PORT_DIPNAME( 0x0001, 0x0001, "AN7" )
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_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 ) )
INPUT_PORTS_END
static INPUT_PORTS_START( rad_bassp )
PORT_INCLUDE(rad_bass)
@ -1321,6 +1543,9 @@ void xavix_cart_state::xavix_cart_ekara(machine_config &config)
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");
SOFTWARE_LIST(config, "cart_list_japan_gk").set_original("ekara_japan_gk");
SOFTWARE_LIST(config, "cart_list_japan_bh").set_original("ekara_japan_bh");
SOFTWARE_LIST(config, "cart_list_jpopira_jp").set_original("jpopira_jp"); // NOTE, these are for Jumping Popira only, they don't work with the karaoke or regular popira units
}
void xavix_cart_state::xavix_cart_popira(machine_config &config)
@ -1606,6 +1831,12 @@ ROM_START( popira )
ROM_RELOAD(0x000000, 0x100000)
ROM_END
ROM_START( popira2 )
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "popira2.bin", 0x600000, 0x200000, CRC(6acd8be0) SHA1(8b6c812d37e2dc2f2531b0e47d84ad8485729dc5) )
ROM_RELOAD(0x000000, 0x200000)
ROM_END
ROM_START( taikodp )
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "taikodepopira.bin", 0x600000, 0x200000, CRC(037a8472) SHA1(03cae465965935fc084fb906f8f5de7679f42dd1) )
@ -1713,7 +1944,7 @@ CONS( 2001, ddrfammt, 0, 0, xavix_cart_ddrfammt,ddrfammt, xavix_cart_
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
// Popira 2 is a Green unit and a Blue Unit linked together
CONS( 2002, popira2, 0, 0, xavix_cart_popira,popira2, xavix_popira2_cart_state, init_xavix, "Takara / SSD Company LTD", "Popira 2 (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND/*|MACHINE_IS_BIOS_ROOT*/ ) // Popira 2 is a set of 2 blue & green linked units (2nd unit is just a controller, no CPU or TV out)
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?

View File

@ -122,7 +122,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(ioevent_trg04);
DECLARE_WRITE_LINE_MEMBER(ioevent_trg08);
int m_rgnlen;
uint8_t* m_rgn;
@ -211,6 +210,11 @@ private:
virtual void video_start() override;
DECLARE_WRITE8_MEMBER(debug_mem_w)
{
m_mainram[offset] = data;
};
virtual uint8_t opcodes_000000_r(offs_t offset)
{
if (offset & 0x8000)
@ -909,6 +913,20 @@ protected:
required_device<i2cmem_device> m_i2cmem;
};
class xavix_popira2_cart_state : public xavix_cart_state
{
public:
xavix_popira2_cart_state(const machine_config &mconfig, device_type type, const char *tag)
: xavix_cart_state(mconfig,type,tag)
{ }
DECLARE_CUSTOM_INPUT_MEMBER(i2c_r);
protected:
virtual void write_io1(uint8_t data, uint8_t direction) override;
};
class xavix_ekara_state : public xavix_cart_state
{

View File

@ -663,6 +663,25 @@ WRITE8_MEMBER(xavix_i2c_jmat_state::write_extended_io2)
LOG("%s: io2_data_w %02x\n", machine().describe_context(), data);
}
// the cart pins Popira 2 uses for IO with cart gc0010 are not controllable by the CPU on other ekara systems
CUSTOM_INPUT_MEMBER(xavix_popira2_cart_state::i2c_r)
{
if (m_cartslot->has_cart())
return m_cartslot->read_sda();
else
return 0x0;
}
void xavix_popira2_cart_state::write_io1(uint8_t data, uint8_t direction)
{
if (m_cartslot->has_cart())
{
m_cartslot->write_sda((data & 0x08) >> 3);
m_cartslot->write_scl((data & 0x10) >> 4);
}
}
/* General IO port handling */

View File

@ -38741,6 +38741,7 @@ rad_crik //
rad_fb2 //
mattelcs //
dreamlif //
icanguit //
@source:vsmile.cpp
vsmile //
@ -39919,6 +39920,7 @@ ekaraphs //
epitch //
ddrfammt //
popira //
popira2 //
taikodp //
ttv_sw //
ttv_lotr //