diff --git a/hash/ekara_japan.xml b/hash/ekara_japan.xml index 39142bbaf37..34691abfb53 100644 --- a/hash/ekara_japan.xml +++ b/hash/ekara_japan.xml @@ -63,7 +63,7 @@ .. *EC0001-JPM J-Pop Mix Volume 1 .. *EC0002-JPM J-Pop Mix Volume 2 .. *EC0003-JPM J-Pop Mix Volume 3 - .. EC0004-JPM J-Pop Mix Volume 4 + .. *EC0004-JPM J-Pop Mix Volume 4 .. *EC0005-JPM J-Pop Mix Volume 5 .. *EC0006-ENK ENK Volume 1 .. *EC0007-G76 1976-78 Volume 1 @@ -71,31 +71,31 @@ .. *EC0009-ANM ANM Volume 1 .. *EC0010-KID Kid's Mix Volume 1 - .. EC0011-JPM J-Pop Mix Volume 6 + .. *EC0011-JPM J-Pop Mix Volume 6 .. *EC0012-JPM J-Pop Mix Volume 7 .. *EC0013-JPM J-Pop Mix Volume 8 .. *EC0014-ATS Artist Selection Volume 1 - untranslated artist .. *EC0015-ATS Artist Selection Volume 2 - untranslated artist .. EC0016-ENK ENK Volume 2 .. EC0017-G73 1973-75 Volume 1 - .. EC0018-G82 1982-84 Volume 1 + .. *EC0018-G82 1982-84 Volume 1 .. EC0019-BSC Graduation Encouragement Volume 1 .. EC0020-KID Kid's Mix Volume 2 - .. EC0021-JPM J-Pop Mix Volume 9 + .. *EC0021-JPM J-Pop Mix Volume 9 .. *EC0022-JPM J-Pop Mix Volume 10 23 *EC0023-JPM J-Pop Mix Volume 11 - 24 EC0024-JPM J-Pop Mix Volume 12 + 24 *EC0024-JPM J-Pop Mix Volume 12 25 *EC0025-JPM J-Pop Mix Volume 13 26 *EC0026-JPM J-Pop Mix Volume 14 27 *EC0027-JPM J-Pop Mix Volume 15 28 EC0028-JPM J-Pop Mix Volume 16 29 *EC0029-ATS Artist Selection Volume 3 - Dreams Come True - 30 EC0030-ENK ENK Volume 3 + 30 *EC0030-ENK ENK Volume 3 31 *EC0031-ATS Artist Selection Volume 4 - untranslated artist 32 *EC0032-ANM ANM Volume 2 - 33 EC0033-JPM J-Pop Mix Volume 17 + 33 *EC0033-JPM J-Pop Mix Volume 17 34 *EC0034-KID Kid's Mix Volume 3 35 *EC0035-ATS Artist Selection Volume 5 - Matsuda Seiko 36 *EC0036-ATS Artist Selection Volume 6 - KinKi Kids @@ -110,13 +110,13 @@ 44 *EC0044-ATS Artist Selection Volume 9 - Every Little Thing 45 *EC0045-ATS Artist Selection Volume 10 - Mr. Children 46 *EC0046-JPM J-Pop Mix Volume 20 - 47 EC0047- untranslated Volume 1 + 47 *EC0047-DUE DUE Volume 1 48 *EC0048-ENK ENK Volume 6 49 *EC0049-ATS Artist Selection Volume 11 - Judy and Mary 50 EC0050-ATS Artist Selection Volume 12 - The Beatles - 51 EC0051-JPM J-Pop Mix Volume 21 - 52 EC0052-ENK ENK Volume 7 + 51 *EC0051-JPM J-Pop Mix Volume 21 + 52 *EC0052-ENK ENK Volume 7 53 EC0053-JPM J-Pop Mix Volume 22 54 *EC0054-JPM J-Pop Mix Volume 23 55 EC0055-ATS Artist Selection Volume 13 - Tube @@ -126,9 +126,9 @@ 59 EC0059-JPM J-Pop Mix Volume 25 60 EC0060-JPM J-Pop Mix Volume 26 - 61 EC0061-JPM J-Pop Mix Volume 27 + 61 *EC0061-JPM J-Pop Mix Volume 27 62 EC0062-JPM J-Pop Mix Volume 28 - 63 EC0063-JPM J-Pop Mix Volume 29 + 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 @@ -149,9 +149,9 @@ 80 EC0080- (unknown) 81 EC0081-JPM J-Pop Mix Volume 42 82 *EC0082-MBH Matthew's Best Hit Selection - 83 - 84 - 85 (seen in the wild) + 83 EC0083-JPM J-Pop Mix Volume 43 + 84 EC0084- (unknown, seen) + 85 EC0085- (unknown, seen) (more? what's the highest regular number?) @@ -236,6 +236,17 @@ + + J-Pop Mix Volume 4 (Japan) (EC0004-JPM) + 2000 + Takara + + + + + + + J-Pop Mix Volume 5 (Japan) (EC0005-JPM) 2000 @@ -247,6 +258,17 @@ + + J-Pop Mix Volume 6 (Japan) (EC0011-JPM) + 2000 + Takara + + + + + + + ENK Volume 1 (Japan) (EC0006-ENK) 2000 @@ -346,6 +368,36 @@ + + + + + + 1982-84 Volume 1 (Japan) (EC0018-G82) + 2000 + Takara + + + + + + + + + + + + + J-Pop Mix Volume 9 (Japan) (EC0021-JPM) + 2000 + Takara + + + + + + + J-Pop Mix Volume 10 (Japan) (EC0022-JPM) 2000 @@ -368,6 +420,17 @@ + + J-Pop Mix Volume 12 (Japan) (EC0024-JPM) + 2000 + Takara + + + + + + + J-Pop Mix Volume 13 (Japan) (EC0025-JPM) 2000 @@ -401,6 +464,8 @@ + + Artist Selection Volume 3 (Dreams Come True) (Japan) (EC0029-ATS) 2000 @@ -412,6 +477,17 @@ + + ENK Volume 3 (Japan) (EC0030-ENK) + 2000 + Takara + + + + + + + Artist Selection Volume 4 (unknown) (Japan) (EC0031-ATS) 2000 @@ -434,6 +510,17 @@ + + J-Pop Mix Volume 17 (Japan) (EC0033-JPM) + 2000 + Takara + + + + + + + Kid's Mix Volume 3 (Japan) (EC0034-KID) 2000 @@ -478,6 +565,12 @@ + + + + + + Artist Selection Volume 8 (unknown) (Japan) (EC0041-ATS) 2001 @@ -500,13 +593,18 @@ + + Artist Selection Volume 9 (Every Little Thing) (Japan) (EC0044-ATS) 2001 Takara - + + + @@ -533,6 +631,17 @@ + + DUE Volume 1 (Japan) (EC0047-DUE) + 2001 + Takara + + + + + + + ENK Volume 6 (Japan) (EC0048-ENK) 2001 @@ -555,6 +664,32 @@ + + + + J-Pop Mix Volume 21 (Japan) (EC0051-JPM) + 2001 + Takara + + + + + + + + + ENK Volume 7 (Japan) (EC0052-ENK) + 2001 + Takara + + + + + + + + + J-Pop Mix Volume 23 (Japan) (EC0054-JPM) 2001 @@ -566,6 +701,50 @@ + + + + + + + + + + + + + + J-Pop Mix Volume 27 (Japan) (EC0061-JPM) + 2001 + Takara + + + + + + + + + + + J-Pop Mix Volume 29 (Japan) (EC0063-JPM) + 2001 + Takara + + + + + + + + + + + + + + + J-Pop Mix Volume 33 (Japan) (EC0068-JPM) 2001 @@ -577,6 +756,8 @@ + + J-Pop Mix Volume 34 (Japan) (EC0070-JPM) 2001 @@ -588,6 +769,8 @@ + + J-Pop Mix Volume 36 (Japan) (EC0072-JPM) 2001 @@ -599,6 +782,12 @@ + + + + + + J-Pop Mix Volume 39 (Japan) (EC0076-JPM) 2001 @@ -610,6 +799,10 @@ + + + + ETZ (Japan) (EC0079-ETZ) 2002 @@ -621,6 +814,10 @@ + + + + Matthew's Best Hit Selection (Japan) (EC0082-MBH) 2003 @@ -632,4 +829,10 @@ + + + + + + diff --git a/hash/ekara_japan_d.xml b/hash/ekara_japan_d.xml index 78835696566..859ccb93a85 100644 --- a/hash/ekara_japan_d.xml +++ b/hash/ekara_japan_d.xml @@ -21,7 +21,10 @@ 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-5 DC0005-TPJ TV Pop Volume 9 - + D-6 DC0006- (seen) + D-7 DC0007- (seen) + D-8 DC0008- (seen) + (more? what's the D highest number?) --> diff --git a/hash/ekara_japan_g.xml b/hash/ekara_japan_g.xml index 5d8cc24d2e2..1191b84109c 100644 --- a/hash/ekara_japan_g.xml +++ b/hash/ekara_japan_g.xml @@ -88,14 +88,23 @@ - + BAT Volume 4 (Japan) (GC0010-BAT) 2002 Takara - + diff --git a/hash/ekara_japan_sp.xml b/hash/ekara_japan_sp.xml index a8a418e268f..efb6ea08554 100644 --- a/hash/ekara_japan_sp.xml +++ b/hash/ekara_japan_sp.xml @@ -24,8 +24,13 @@ gives 'memory error' if plugged into Popira (needs cartridge SEEPROM emulating) gives 'eep-rom error' if plugged into Taiko de Popira (same reason) - SP-1 (unknown) - *SP-2 (unknown) + SP-01 (unknown) + *SP-02 'Super Cartridge' SP-2 + SP-03 (unknown) + SP-04 (unknown) + SP-05 + SP-06 (seen) + SP-07 (seen) (more? what's the SP highest number?) diff --git a/src/mame/drivers/xavix.cpp b/src/mame/drivers/xavix.cpp index 486fc9ce2a3..ff1c7fc7f1d 100644 --- a/src/mame/drivers/xavix.cpp +++ b/src/mame/drivers/xavix.cpp @@ -378,8 +378,8 @@ void xavix_state::xavix_lowbus_map(address_map &map) map(0x7ffb, 0x7ffb).rw(FUNC(xavix_state::nmi_vector_hi_r), FUNC(xavix_state::nmi_vector_hi_w)); map(0x7ffc, 0x7ffc).rw(FUNC(xavix_state::irq_source_r), FUNC(xavix_state::irq_source_w)); // map(0x7ffd, 0x7ffd) some of the Nostalgia games read here, why? - map(0x7ffe, 0x7ffe).w(FUNC(xavix_state::irq_vector_lo_w)); // an IRQ vector (irq?) - map(0x7fff, 0x7fff).w(FUNC(xavix_state::irq_vector_hi_w)); + map(0x7ffe, 0x7ffe).rw(FUNC(xavix_state::irq_vector_lo_r),FUNC(xavix_state::irq_vector_lo_w)); // an IRQ vector (irq?) - rad_opus needs to read this back! + map(0x7fff, 0x7fff).rw(FUNC(xavix_state::irq_vector_hi_r),FUNC(xavix_state::irq_vector_hi_w)); } void xavix_state::superxavix_lowbus_map(address_map &map) @@ -568,6 +568,21 @@ static INPUT_PORTS_START( rad_mtrkp ) PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_CUSTOM ) INPUT_PORTS_END +static INPUT_PORTS_START( rad_opus ) + PORT_INCLUDE(xavix) + + PORT_MODIFY("IN0") // comments show how inputs labeled on PCB + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Pad 1 <") // PI00 + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Pad 2") // PI01 + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Pad 3") // PI02 + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Pad 4 >") // PI03 + + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Pause") // PI05 + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Menu Select") // PI06 + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start / Bomb") // PI07 +INPUT_PORTS_END + + static INPUT_PORTS_START( rad_crdn ) PORT_INCLUDE(xavix) @@ -971,10 +986,18 @@ void xavix_i2c_state::xavix_i2c_24c08(machine_config &config) void xavix_state::xavixp(machine_config &config) { + // other clocks should change too! + xavix(config); m_screen->set_refresh_hz(50); } +void xavix_state::xavix_nv(machine_config &config) +{ + xavix(config); + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); +} + void xavix_state::xavix2000(machine_config &config) { xavix(config); @@ -1141,6 +1164,11 @@ ROM_START( rad_bassp ) ROM_LOAD("bassfishin.bin", 0x000000, 0x100000, CRC(b54eb1c5) SHA1(084faa9349369f2b8846950765f9c8f758db3e9e) ) ROM_END +ROM_START( rad_opus ) + ROM_REGION(0x100000, "bios", ROMREGION_ERASE00) + ROM_LOAD("opus.bin", 0x000000, 0x100000, CRC(509df402) SHA1(c5b863670eac8498ddda9dfde91387634cf7aa9f) ) +ROM_END + ROM_START( rad_snow ) ROM_REGION(0x100000, "bios", ROMREGION_ERASE00) ROM_LOAD("snoblu.bin", 0x000000, 0x100000, CRC(593e40b3) SHA1(03483ac39eddd7746470fb60018e704382b0da59) ) @@ -1268,6 +1296,9 @@ CONS( 2006, namcons2, 0, 0, xavix_i2c_24lc04, nostalgia,xavix_i2c_sta CONS( 2000, rad_ping, 0, 0, xavix, rad_ping, xavix_state, init_xavix, "Radica / SSD Company LTD / Simmer Technology", "Play TV Ping Pong (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // "Simmer Technology" is also known as "Hummer Technology Co., Ltd" CONS( 2000, rad_pingp, rad_ping, 0, xavixp, rad_pingp,xavix_state, init_xavix, "Radica / SSD Company LTD / Simmer Technology", "ConnecTV Table Tennis (PAL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +CONS( 2000, rad_opus, 0, 0, xavix_nv, rad_opus, xavix_state, init_xavix, "Radica / SSD Company LTD", "Play TV Opus (NTSC)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // there is a missing 'TV Static' noise effect when menus appear (box shows 'Play TV' ingame just shows 'Radica:Plug & Play') +// ConnecTV Opus is a different ROM in this case? Game doesn't read from PAL/NTSC flag? (verify it isn't detecting PAL in some other way) ( https://www.youtube.com/watch?v=Ub9tstLEj_0 ) + CONS( 2003, rad_mtrk, 0, 0, xavix_mtrk, rad_mtrk, xavix_mtrk_state, init_xavix, "Radica / SSD Company LTD", "Play TV Monster Truck (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) CONS( 2003, rad_mtrkp, rad_mtrk, 0, xavix_mtrkp, rad_mtrkp,xavix_mtrk_state, init_xavix, "Radica / SSD Company LTD", "ConnecTV Monster Truck (PAL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/includes/xavix.h b/src/mame/includes/xavix.h index cdc0c1d79d4..11646e1c113 100644 --- a/src/mame/includes/xavix.h +++ b/src/mame/includes/xavix.h @@ -101,6 +101,7 @@ public: void xavix(machine_config &config); void xavixp(machine_config &config); void xavix2000(machine_config &config); + void xavix_nv(machine_config &config); void init_xavix(); @@ -300,6 +301,8 @@ private: DECLARE_READ8_MEMBER(nmi_vector_lo_r); DECLARE_READ8_MEMBER(nmi_vector_hi_r); + DECLARE_READ8_MEMBER(irq_vector_lo_r); + DECLARE_READ8_MEMBER(irq_vector_hi_r); DECLARE_WRITE8_MEMBER(vector_enable_w); DECLARE_WRITE8_MEMBER(nmi_vector_lo_w); diff --git a/src/mame/machine/xavix.cpp b/src/mame/machine/xavix.cpp index 2f2d164be05..dc4058f861f 100644 --- a/src/mame/machine/xavix.cpp +++ b/src/mame/machine/xavix.cpp @@ -128,6 +128,19 @@ WRITE8_MEMBER(xavix_state::irq_vector_hi_w) m_irq_vector_hi_data = data; } +READ8_MEMBER(xavix_state::irq_vector_lo_r) +{ + LOG("%s: irq_vector_lo_r\n", machine().describe_context()); + return m_irq_vector_lo_data; +} + +READ8_MEMBER(xavix_state::irq_vector_hi_r) +{ + LOG("%s: irq_vector_hi_r\n", machine().describe_context()); + return m_irq_vector_hi_data; +} + + // this is external bus control (access to ROM etc.) READ8_MEMBER(xavix_state::extintrf_790x_r) @@ -883,9 +896,15 @@ WRITE8_MEMBER(xavix_state::irq_source_w) void xavix_state::machine_start() { + // at least some of the internal CPU RAM can be backed up, not sure how much + int nvram_size = 0x1000; + + if (!m_nvram) + nvram_size = 0; + // card night expects RAM to be initialized to 0xff or it will show the pause menu over the startup graphics?! // don't do this every reset or it breaks the baseball 2 secret mode toggle which flips a bit in RAM - std::fill_n(&m_mainram[0], 0x3e00, 0xff); + std::fill_n(&m_mainram[0], 0x4000 - nvram_size, 0xff); 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)); @@ -896,9 +915,8 @@ void xavix_state::machine_start() m_sound_timer[i] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(xavix_state::sound_timer_done), this)); } - // at least some of the internal CPU RAM is backed up, not sure how much if (m_nvram) - m_nvram->set_base(&m_mainram[0x3e00], 0x200); + m_nvram->set_base(&m_mainram[0x4000 - nvram_size], nvram_size); save_item(NAME(m_extbusctrl)); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 871b8da21b0..5cd4e19ef2d 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -39671,6 +39671,7 @@ rad_box // rad_boxp // rad_crdn // rad_crdnp // +rad_opus // rad_bass // rad_bassp // rad_snow //