diff --git a/hash/ekara.xml b/hash/ekara.xml
index e5e8daa8e8f..05261937812 100644
--- a/hash/ekara.xml
+++ b/hash/ekara.xml
@@ -8,7 +8,141 @@
There are some carts which are meant to be compatible with both Japanese e-Kara units and
several other systems.
- -->
+
+ The genres in the Japanese games are represented by the code after the EC number
+ ECxxxx-JPM = J-Pop Mix
+ ECxxxx-ATS = Artist Selection (all songs by a single artist)
+ ECxxxx-KID = Kid's Mix? (guess)
+ ECxxxx-ENK = unknown
+ ECxxxx-BSC = Graduation Encouragement
+
+ Some Japanese carts have a number starting with BC
+ BCxxxx-BHT = unknown
+
+ ***********************************************************************************
+
+ Japanese cart listing (by EC code) - the EC number is printed on the left side of the cart label, as well as in the serial code
+ * = dumped, # = identified, but not dumped. Titles in parenthesis are guessed
+
+ EC0001- (J-Pop Mix Volume 1?)
+ EC0002- (J-Pop Mix Volume 2?)
+ *EC0003- J-Pop Mix Volume 3
+ EC0004-
+ EC0005-
+ *EC0006- ENK Volume 1
+ EC0007-
+ EC0008-
+ EC0009-
+
+ *EC0010- Kid's Mix Volume 1
+ EC0011-
+ *EC0012- J-Pop Mix Volume 7
+ *EC0013- J-Pop Mix Volume 8
+ EC0014-
+ *EC0015- Artist Selection Volume 2 - unknown artist
+ EC0016-
+ EC0017-
+ EC0018-
+ EC0019-
+
+ #EC0020- Kid's Mix Volume 2
+ EC0021-
+ *EC0022- J-Pop Mix Volume 10
+ #EC0023- J-Pop Mix Volume 11
+ EC0024- (J-Pop Mix Volume 12?)
+ EC0025- (J-Pop Mix Volume 13?)
+ *EC0026- J-Pop Mix Volume 14
+ *EC0027- J-Pop Mix Volume 15
+ EC0028-
+ *EC0029- Artist Selection Volume 3 - Dreams Come True
+
+ EC0030-
+ *EC0031- Artist Selection Volume 4 - unknown artist
+ EC0032-
+ EC0033-
+ *EC0034- Kid's Mix Volume 3
+ #EC0035- Artist Selection Volume 5 - Matsuda Seiko
+ *EC0036- Artist Selection Volume 6 - KinKi Kids
+ EC0037-
+ #EC0038- Graduation Encouragement Volume 2
+ EC0039-
+
+ EC0040-
+ EC0041-
+ *EC0042- J-Pop Mix Volume 19
+ EC0043-
+ *EC0044- Artist Selection Volume 9 - Every Little Thing
+ *EC0045- Artist Selection Volume 10 - Mr. Children
+ EC0046-
+ EC0047-
+ *EC0048- ENK Volume 6
+ *EC0049- Artist Selection Volume 11 - Judy and Mary
+
+ EC0050-
+ #EC0051- J-Pop Mix Volume 21
+ EC0052-
+ EC0053-
+ *EC0054- J-Pop Mix Volume 23
+ EC0055
+ EC0056-
+ EC0057-
+ EC0058-
+ EC0059-
+
+ EC0060-
+ EC0061-
+ EC0062-
+ #EC0063- J-Pop Mix Volume 29
+ EC0064-
+ EC0065
+ EC0066-
+ EC0067-
+ EC0068-
+ EC0069-
+
+ EC0070- (J-Pop Mix Volume Vol ?)
+ EC0071-
+ EC0072- (J-Pop Mix Volume Vol ?)
+ EC0073-
+ EC0074-
+ EC0075
+ EC0076- (J-Pop Mix Volume Vol ?)
+
+
+ (more? what's the GC highest number?)
+
+ ***********************************************************************************
+
+ Japanese cart listing (by GC code)
+ * = dumped, # = identified, but not dumped. Titles in parenthesis are guessed
+
+ GC0001-
+ *GC0002- BHT Volume 1
+
+ (more? what's the BC highest number?)
+
+ ***********************************************************************************
+
+ Japanese cart listing (by DC code) (the numbering on these doesn't make much sense)
+ * = dumped, # = identified, but not dumped. Titles in parenthesis are guessed
+
+ #(cartridge marked D-2) DC0002-BAT Best Artist Volume 6
+ #(cartridge marked D-3) DC0003-BHT Best Artist Volume 9
+
+
+ (more? what's the BC highest number?)
+
+ ***********************************************************************************
+
+ Japanese cart listing (by S-* label) (these might have GC/DC numbering on the carts?)
+ # S-1 Hello Kitty Special
+ ...
+ S-23
+
+ (not seen above S-23)
+
+ -->
+
@@ -93,7 +227,7 @@
e-kara UK / Europe Volume 1 (UK-E001)
- 2000
+ 2002
Takara
@@ -102,4 +236,270 @@
+
+
+ e-kara UK / Europe Volume 7 (UK-E007)
+ 2002
+ Takara
+
+
+
+
+
+
+
+
+
+
+ e-kara Germany 5-Songs Starter (GER-M001)
+ 2002
+ Takara
+
+
+
+
+
+
+
+
+
+
+ J-Pop Mix Volume 3 (Japan) (EC0003-JPM)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ ENK Volume 1 (Japan) (EC0006-ENK)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ Kid's Mix Volume 1 (Japan) (EC0010-KID)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ J-Pop Mix Volume 7 (Japan) (EC0012-JPM)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ J-Pop Mix Volume 8 (Japan) (EC0013-JPM)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ Artist Selection Volume 2 (unknown) (Japan) (EC0015-ATS)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ J-Pop Mix Volume 10 (Japan) (EC0022-JPM)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ J-Pop Mix Volume 14 (Japan) (EC0026-JPM)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ J-Pop Mix Volume 15 (Japan) (EC0027-JPM)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ Artist Selection Volume 3 (Dreams Come True) (Japan) (EC0029-ATS)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ Artist Selection Volume 4 (unknown) (Japan) (EC0031-ATS)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ Kid's Mix Volume 3 (Japan) (EC0034-KID)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ Artist Selection Volume 6 (KinKi Kids) (Japan) (EC0036-ATS)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ J-Pop Mix Volume 19 (Japan) (EC0042-JPM)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ Artist Selection Volume 9 (Every Little Thing) (Japan) (EC0044-ATS)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ Artist Selection Volume 10 (Mr. Children) (Japan) (EC0045-ATS)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ ENK Volume 6 (Japan) (EC0048-ENK)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ Artist Selection Volume 11 (Judy and Mary) (Japan) (EC0049-ATS)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+ J-Pop Mix Volume 23 (Japan) (EC0054-JPM)
+ 2000
+ Takara
+
+
+
+
+
+
+
+
+
+
+ BHT Volume 1 (Japan) (GC0002-BHT)
+ 2000
+ Takara
+
+
+
+
+
+
+
diff --git a/src/mame/includes/xavix.h b/src/mame/includes/xavix.h
index ddf0f8b15de..063b7983b92 100644
--- a/src/mame/includes/xavix.h
+++ b/src/mame/includes/xavix.h
@@ -226,6 +226,9 @@ private:
DECLARE_WRITE8_MEMBER(adc_7b80_w);
DECLARE_READ8_MEMBER(adc_7b81_r);
DECLARE_WRITE8_MEMBER(adc_7b81_w);
+ TIMER_CALLBACK_MEMBER(adc_timer_done);
+ emu_timer *m_adc_timer;
+ uint8_t m_adc_control;
DECLARE_WRITE8_MEMBER(slotreg_7810_w);
diff --git a/src/mame/machine/xavix.cpp b/src/mame/machine/xavix.cpp
index 569fee85cda..d68a3426e87 100644
--- a/src/mame/machine/xavix.cpp
+++ b/src/mame/machine/xavix.cpp
@@ -48,6 +48,10 @@ WRITE8_MEMBER(xavix_state::rom_dmatrg_w)
update_irqs();
}
+ // ekara definitely wants this cleared
+ m_rom_dma_len[0] = 0;
+ m_rom_dma_len[1] = 0;
+
}
else // the interrupt routine writes 0x80 to the trigger, maybe 'clear IRQ?'
{
@@ -237,7 +241,14 @@ WRITE8_MEMBER(xavix_state::adc_7b80_w)
WRITE8_MEMBER(xavix_state::adc_7b81_w)
{
+// m_irqsource &= ~0x04;
+// update_irqs();
+
LOG("%s: adc_7b81_w %02x\n", machine().describe_context(), data);
+ m_adc_control = data;
+
+// m_adc_timer->adjust(attotime::from_usec(200));
+
}
READ8_MEMBER(xavix_state::adc_7b81_r)
@@ -700,6 +711,12 @@ TIMER_CALLBACK_MEMBER(xavix_state::freq_timer_done)
//m_freq_timer->adjust(attotime::from_usec(50000));
}
+TIMER_CALLBACK_MEMBER(xavix_state::adc_timer_done)
+{
+ //m_irqsource |= 0x04;
+ //update_irqs();
+}
+
READ8_MEMBER(xavix_state::mult_r)
@@ -803,6 +820,8 @@ void xavix_state::machine_start()
m_interrupt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(xavix_state::interrupt_gen), this));
m_freq_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(xavix_state::freq_timer_done), this));
+ m_adc_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(xavix_state::adc_timer_done), this));
+
}
void xavix_state::machine_reset()
@@ -867,6 +886,8 @@ void xavix_state::machine_reset()
m_sound_irqstatus = 0x00;
m_sound_regbase = 0x00;
+
+ m_adc_control = 0x00;
}
typedef device_delegate xavix_interrupt_vector_delegate;