diff --git a/src/mame/mame.lst b/src/mame/mame.lst index a103f0b5d26e4..f4ae3abb9620d 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -46288,13 +46288,17 @@ ttv_swj // @source:tvgames/xavix_2002.cpp anpanmdx +apmj2009 ban_kksj ban_ordj domdance // domfitch // domfitex // domstepc // +doradraw +epo_doka epo_tfit +maxheart mrangbat suprtvpc suprtvpcdo diff --git a/src/mame/tvgames/xavix.cpp b/src/mame/tvgames/xavix.cpp index 3230cf99a2cb2..59169e19cb91e 100644 --- a/src/mame/tvgames/xavix.cpp +++ b/src/mame/tvgames/xavix.cpp @@ -34,7 +34,6 @@ year name PCB ID ROM width TSOP pads ROM size SEEPROM die markings extra components / notes - 2009 anpan-man pyon-pyon ikunou mat /JoyPalette/Japan - - - - - - - 2006 Hello Kitty カードでおままごと あいうおえ図鑑 / エポック社 / 日本 Hello Kitty Play House with Cards Aiuoe Illustrated Book / Epochsha / Japan ドラえもん 体感タケコプター! 空とぶ大冒険 / エポック社 / 日本 Doraemon Experience Takecopter! Great Flying Adventure / Epoch Publishing / Japan スーパーテレビパソコンLink / エポック社 / 日本 Super TV PC Link / Epoch / Japan @@ -42,9 +41,7 @@ Let's!TVプレイ 体感キャストオフ 仮面ライダーカブト クロックアップ&ライダーキック / バンダイ / 日本 Let's!TV Play Experience Cast Off Kamen Rider Kabuto Clock Up & Rider Kick / Bandai / Japan Let's!TVプレイ なりきり体感 ボウケンジャー 走れ!撃て!ミッションスタート!! / バンダイ / 日本 Let's! TV Play Narikiri Experience Boukenger Run! Shoot! Mission starts! ! / Bandai / Japan Let's!TVプレイ なりきりファイト ウルトラマン 撃て!必殺光線!! / タカラトミー / 日本 Let's!TV Play Narikiri Fight Ultraman Shoot! Deadly ray! ! / Takara Tomy / Japan - 2005 どこでもドラえもん 日本旅行ゲームDX体感!どこドラグランプリ! / エポック社 / 日本 Doraemon anywhere - Japan travel game DX experience! Where is the Dragon Grand Prix! / Epoch / Japan - Let's!TVプレイ ふたりはプリキュアMaxHeart マットでダンス MaxHeartにおどっちゃおう / バンダイ / 日本 Let's!TV Play Futari wa PreCure MaxHeart Dance on the mat Let's go to MaxHeart / Bandai / Japan - Let's!TVプレイ 魔法戦隊マジレンジャー マジマットでダンス&バトル / バンダイ / 日本 Let's!TV Play Mahou Sentai Magiranger Dance & Battle at Magimat / Bandai / Japan + 2005 Let's!TVプレイ 魔法戦隊マジレンジャー マジマットでダンス&バトル / バンダイ / 日本 Let's!TV Play Mahou Sentai Magiranger Dance & Battle at Magimat / Bandai / Japan Jala Jaland /atlus/Japan (arcade version) - - - - - - - 2004 Printer for TV computer /EPOCH/Japan - - - - - - - Accessory memory mascot for TV mail Pc mail cot 2 characters (Putchi, Petchi) /EPOCH/Japan - - - - - - - @@ -70,6 +67,9 @@ 2005 Let's!TVプレイ ドラゴンボ-ルZ バトル体感かめはめ波~ おめぇとフュージョン / バンダイ / 日本 Let's!TV Play Dragon Ball Z Battle Experience Kamehameha ~ Ometo Fusion / Bandai / Japan dumped: either here, xavix_2000.cpp, or xavix_2002.cpp + anpan-man pyon-pyon ikunou mat /JoyPalette/Japan - - - - - - - + どこでもドラえもん 日本旅行ゲームDX体感!どこドラグランプリ! / エポック社 / 日本 Doraemon anywhere - Japan travel game DX experience! Where is the Dragon Grand Prix! / Epoch / Japan + Let's!TVプレイ ふたりはプリキュアMaxHeart マットでダンス MaxHeartにおどっちゃおう / バンダイ / 日本 Let's!TV Play Futari wa PreCure MaxHeart Dance on the mat Let's go to MaxHeart / Bandai / Japan anpan-man kazoku de ikunou mat DX /JoyPalette/Japan - - - - - - - Excite Striker (UK) connecTV OPUS /RADICA EU (different ROM to US?) @@ -449,7 +449,7 @@ void superxavix_state::superxavix_lowbus_map(address_map &map) // bitmap plotter(!) (with auto-inc?) - used by super pc tv units map(0x6f60, 0x6f60).w(FUNC(superxavix_state::superxavix_plt_flush_w)); // writes here to flush plotter FIFO map(0x6f62, 0x6f62).w(FUNC(superxavix_state::superxavix_plt_dat_w)); // writes plotter data here - // 0x6f63 can be used to read from bitmap? + map(0x6f63, 0x6f63).r(FUNC(superxavix_state::superxavix_plt_dat_r)); map(0x6f64, 0x6f67).rw(FUNC(superxavix_state::superxavix_plt_loc_r), FUNC(superxavix_state::superxavix_plt_loc_w)).share("sx_plt_loc"); map(0x6f78, 0x6f78).rw(FUNC(superxavix_state::superxavix_chr_pal_index_r), FUNC(superxavix_state::superxavix_chr_pal_index_w)); // SgdPalChrIdx diff --git a/src/mame/tvgames/xavix.h b/src/mame/tvgames/xavix.h index f172654d3a3de..cc379c121dd10 100644 --- a/src/mame/tvgames/xavix.h +++ b/src/mame/tvgames/xavix.h @@ -644,6 +644,7 @@ class superxavix_state : public xavix_state } void xavix2002(machine_config &config); + void xavix2002_4mb(machine_config &config); protected: virtual void machine_start() override ATTR_COLD; @@ -659,6 +660,7 @@ class superxavix_state : public xavix_state private: void superxavix_plt_flush_w(uint8_t data); + uint8_t superxavix_plt_dat_r(); void superxavix_plt_dat_w(uint8_t data); void superxavix_plt_loc_w(offs_t offset, uint8_t data); uint8_t superxavix_plt_loc_r(offs_t offset); @@ -733,6 +735,7 @@ class superxavix_i2c_state : public superxavix_state m_i2cmem(*this, "i2cmem") { } + void superxavix_i2c_24c16(machine_config &config); void superxavix_i2c_24c08(machine_config &config); void superxavix_i2c_24c04(machine_config &config); void superxavix_i2c_24c04_4mb(machine_config &config); diff --git a/src/mame/tvgames/xavix_2002.cpp b/src/mame/tvgames/xavix_2002.cpp index 508ebaa50a215..6f166d805f201 100644 --- a/src/mame/tvgames/xavix_2002.cpp +++ b/src/mame/tvgames/xavix_2002.cpp @@ -361,7 +361,11 @@ void superxavix_state::xavix2002(machine_config &config) XAVIX2002IO(config, m_xavix2002io, 0); } - +void superxavix_state::xavix2002_4mb(machine_config &config) +{ + xavix2002(config); + m_maincpu->set_addrmap(6, &superxavix_state::xavix_4mb_extbus_map); +} void superxavix_i2c_jmat_state::superxavix_i2c_jmat(machine_config &config) { @@ -454,6 +458,27 @@ void superxavix_super_tv_pc_state::superxavix_super_tv_pc(machine_config& config } + +void superxavix_doradraw_state::xavix_extbus_map(address_map &map) +{ + map(0x000000, 0x7fffff).rom().region("bios", 0x000000); + map(0x400000, 0x4fffff).ram().share("bitmap_buffer"); // reads/writes here + map(0x600000, 0x6fffff).ram().share("bitmap_buffer2"); // reads/writes here +} + + +void superxavix_doradraw_state::superxavix_doradraw(machine_config& config) +{ + xavix2002(config); +} + +void superxavix_i2c_state::superxavix_i2c_24c16(machine_config &config) +{ + xavix2002(config); + + I2C_24C16(config, "i2cmem", 0); +} + void superxavix_i2c_state::superxavix_i2c_24c08(machine_config &config) { xavix2002(config); @@ -597,12 +622,16 @@ ROM_END ROM_START( anpanmdx ) ROM_REGION( 0x0800000, "bios", ROMREGION_ERASE00 ) - ROM_LOAD( "am2j.u3", 0x0000000, 0x0800000, CRC(41348086) SHA1(63bbf6128901c1518f537766a40e162b2616d00c) ) + ROM_LOAD( "apmj.u3", 0x0000000, 0x0800000, CRC(41348086) SHA1(63bbf6128901c1518f537766a40e162b2616d00c) ) ROM_REGION( 0x0800000, "extra", ROMREGION_ERASE00 ) ROM_LOAD( "am2j.u7", 0x0000000, 0x0800000, CRC(ff653a6b) SHA1(ece11198a06f9cddfae7f8c7e038675010869723) ) ROM_END +ROM_START( apmj2009 ) + ROM_REGION( 0x0800000, "bios", ROMREGION_ERASE00 ) + ROM_LOAD( "apmj.u3", 0x0000000, 0x0800000, CRC(5fab9492) SHA1(aa588e5333bdf81daf3b5868e00783d76a42e80e) ) +ROM_END ROM_START( mrangbat ) ROM_REGION(0x400000, "bios", ROMREGION_ERASE00) @@ -634,6 +663,18 @@ ROM_START( epo_tfit ) ROM_LOAD("tennisfitness.bin", 0x000000, 0x400000, CRC(cbf65bd2) SHA1(30b3da6f061b2dd91679db42a050f715901beb87) ) ROM_END +ROM_START( maxheart ) + ROM_REGION( 0x400000, "bios", ROMREGION_ERASE00) + ROM_LOAD("mgrj.u2", 0x000000, 0x400000, CRC(447c25e6) SHA1(9cc65088512218f43d66b332de7a862d95c1c353) ) +ROM_END + +ROM_START( epo_doka ) + ROM_REGION( 0x400000, "bios", ROMREGION_ERASE00) + ROM_LOAD("doka.u1", 0x000000, 0x400000, CRC(853266d2) SHA1(d4121b89ee464088951898282404e5a2b788dd69) ) +ROM_END + + + ROM_START( udance ) ROM_REGION(0x800000, "bios", ROMREGION_ERASE00) ROM_LOAD("udancerom0.bin", 0x000000, 0x800000, CRC(3066580a) SHA1(545257c75a892894faf386f4ab9a31967cdbe8ae) ) @@ -666,6 +707,15 @@ ROM_START( suprtvpcdo ) ROM_CONTINUE(0x400000, 0x200000) ROM_END +ROM_START( doradraw ) + ROM_REGION(0x800000, "bios", ROMREGION_ERASE00) + ROM_LOAD("dmdj.u2", 0x000000, 0x800000, CRC(b3ca50ab) SHA1(9e6d28c1e170d3556e3c4ddcefb4cb51fd100df5) ) + + ROM_REGION(0x200000, "data", ROMREGION_ERASE00) // banked or extended video bus? + ROM_LOAD("dmdj.u7", 0x000000, 0x200000, CRC(0e6392f9) SHA1(30fa3d3451b37d663e124c7d1d52c7e30284d2fb) ) +ROM_END + + void superxavix_super_tv_pc_state::init_stvpc() { init_xavix(); @@ -679,6 +729,11 @@ void superxavix_i2c_jmat_state::init_xavmusic() m_disable_sprite_yflip = true; } +void superxavix_doradraw_state::init_doradraw() +{ + init_xavix(); + m_disable_memory_bypass = true; +} CONS( 2004, xavtenni, 0, 0, superxavix_i2c_24c04, xavix_i2c, superxavix_i2c_state, init_xavix, "SSD Company LTD", "XaviX Tennis (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) @@ -717,7 +772,13 @@ CONS( 2007, domstepc, 0, 0, superxavix_i2c_jmat, xavixp, superxavix_i2c_jmat_sta CONS( 2005, mrangbat, 0, 0, superxavix_i2c_mrangbat, mrangbat, superxavix_i2c_state, init_xavix, "Bandai / SSD Company LTD", "Let's! TV Play Mahou Taiketsu Magiranger - Magimat de Dance & Battle (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // エキサイトスポーツ テニス×フィットネス -CONS( 2004, epo_tfit, 0, 0, superxavix_i2c_24c04_4mb, epo_tfit, superxavix_i2c_state, init_xavix, "Epoch / SSD Company LTD", "Excite Sports Tennis x Fitness (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // Epoch Tennis and Fitness has 24LC04 +CONS( 2004, epo_tfit, 0, 0, superxavix_i2c_24c04_4mb, epo_tfit, superxavix_i2c_state, init_xavix, "Epoch / SSD Company LTD", "Excite Sports Tennis x Fitness (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) + +// Let's!TVプレイ ふたりはプリキュアMaxHeart マットでダンス MaxHeartにおどっちゃおう +CONS( 2004, maxheart, 0, 0, superxavix_i2c_24c04_4mb, xavix_i2c, superxavix_i2c_state, init_xavix, "Bandai / SSD Company LTD", "Let's! TV Play Futari wa PreCure MaxHeart Dance on the mat Let's go to MaxHeart (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) + +// どこでもドラえもん 日本旅行ゲームDX体感!どこドラグランプリ! +CONS( 2004, epo_doka, 0, 0, xavix2002_4mb, xavix, superxavix_state, init_xavix, "Epoch / SSD Company LTD", "Doraemon anywhere - Japan travel game DX experience! Where is the Dragon Grand Prix! (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // それいけトーマス ソドー島のなかまたち CONS( 2005, tmy_thom, 0, 0, superxavix_i2c_24c04, xavix_i2c, superxavix_i2c_state, init_xavix, "Tomy / SSD Company LTD", "Soreike Thomas - Sodor Tou no Nakamatachi / Thomas & Friends on the Island of Sodor (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) @@ -733,14 +794,17 @@ CONS( 2005, ban_ordj, 0, 0, superxavix_i2c_24c04, ban_ordj, superxavix_i2c_ CONS( 2011, anpanmdx, 0, 0, superxavix_i2c_24c08, anpanmdx, superxavix_i2c_state, init_xavix, "JoyPalette / SSD Company LTD", "Anpanman Kazoku De Ikunou Mat DX (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) +CONS( 2009, apmj2009, 0, 0, superxavix_i2c_24c16, xavix_i2c, superxavix_i2c_state, init_xavix, "JoyPalette / SSD Company LTD", "Anpanman Pyon-Pyon Ikunou Mat (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // has HT24LC16 CONS( 2008, udance, 0, 0, xavix2002, xavix, superxavix_state, init_xavix, "Tiger / SSD Company LTD", "U-Dance", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // these have RAM in the usual ROM space (still needs handling) & also have an Atmel 24LC64, // this one (pet themed) boots to the desktop (as do the 'hamtaro' 'eccjr' cartridges) -CONS( 2004, suprtvpc, 0, 0, superxavix_super_tv_pc, xavix, superxavix_super_tv_pc_state, init_stvpc, "Epoch / SSD Company LTD", "Super TV-PC", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) +CONS( 2004, suprtvpc, 0, 0, superxavix_super_tv_pc, xavix, superxavix_super_tv_pc_state, init_stvpc, "Epoch / SSD Company LTD", "Super TV-PC (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // hangs after 'loading' sequence -CONS( 2006, suprtvpchk, suprtvpc, 0, superxavix_super_tv_pc, xavix, superxavix_super_tv_pc_state, init_stvpc, "Epoch / SSD Company LTD", "Super TV-PC - Hello Kitty", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) -CONS( 2006, suprtvpcdo, suprtvpc, 0, superxavix_super_tv_pc, xavix, superxavix_super_tv_pc_state, init_stvpc, "Epoch / SSD Company LTD", "Super TV-PC - Doraemon", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) +CONS( 2006, suprtvpchk, suprtvpc, 0, superxavix_super_tv_pc, xavix, superxavix_super_tv_pc_state, init_stvpc, "Epoch / SSD Company LTD", "Super TV-PC - Hello Kitty (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) +CONS( 2006, suprtvpcdo, suprtvpc, 0, superxavix_super_tv_pc, xavix, superxavix_super_tv_pc_state, init_stvpc, "Epoch / SSD Company LTD", "Super TV-PC - Doraemon (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) +// ドラえもん うごく!おえかき エポック社 +CONS( 2007, doradraw, 0, 0, superxavix_doradraw, xavix, superxavix_doradraw_state, init_doradraw, "Epoch / SSD Company LTD", "Doraemon Moving! Oekaki (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/tvgames/xavix_2002.h b/src/mame/tvgames/xavix_2002.h index 27c8bf0ef5f6d..314be70ff6d5e 100644 --- a/src/mame/tvgames/xavix_2002.h +++ b/src/mame/tvgames/xavix_2002.h @@ -68,6 +68,22 @@ class superxavix_super_tv_pc_state : public superxavix_state required_memory_bank m_rombank; }; +class superxavix_doradraw_state : public superxavix_state +{ +public: + superxavix_doradraw_state(const machine_config &mconfig, device_type type, const char *tag) + : superxavix_state(mconfig, type, tag) + { } + + void superxavix_doradraw(machine_config &config); + + void init_doradraw(); + +private: + + virtual void xavix_extbus_map(address_map &map) override; +}; + class superxavix_i2c_bowl_state : public superxavix_i2c_state { public: diff --git a/src/mame/tvgames/xavix_v.cpp b/src/mame/tvgames/xavix_v.cpp index 5625c440ebd6e..920baaf162d18 100644 --- a/src/mame/tvgames/xavix_v.cpp +++ b/src/mame/tvgames/xavix_v.cpp @@ -172,7 +172,10 @@ void superxavix_state::superxavix_plt_flush_w(uint8_t data) m_sx_plt_mode = data; } - +uint8_t superxavix_state::superxavix_plt_dat_r() +{ + return machine().rand(); +} void superxavix_state::superxavix_plt_dat_w(uint8_t data) {