diff --git a/src/devices/video/ppu2c0x_vt.cpp b/src/devices/video/ppu2c0x_vt.cpp index d2e10b9683990..7ae95c59321bc 100644 --- a/src/devices/video/ppu2c0x_vt.cpp +++ b/src/devices/video/ppu2c0x_vt.cpp @@ -746,8 +746,9 @@ void ppu_vt3xx_device::lcdc_regs_w(offs_t offset, u8 data) static const vid_mode mode_table[] = { // configurations used for lower resolution output { 0, 159, 0, 127, { 0xa0, 0xff, 0x00, 0x40, 0xff, 0x04, 0x00, 0xa8, 0x04, 0x0f }, }, - { 0, 199, 0, 199, { 0xdc, 0xff, 0x00, 0x58, 0xff, 0x04, 0x10, 0xa8, 0x04, 0x00 }, }, // hkb502 menu, uncertain dimensions - { 0, 127, 0, 159, { 0x80, 0x80, 0x00, 0x50, 0xff, 0x04, 0x00, 0xaa, 0x08, 0x00 }, }, // lexi30 menu + { 0, 199, 0, 199, { 0xdc, 0xff, 0x00, 0x58, 0xff, 0x04, 0x10, 0xa8, 0x04, 0x00 }, }, // hkb502 menu, uncertain dimensions + { 0, 127, 0, 159, { 0x80, 0x80, 0x00, 0x50, 0xff, 0x04, 0x00, 0xaa, 0x08, 0x00 }, }, // lexi30 menu + { 0, 127, 0, 159, { 0x80, 0xff, 0x00, 0x50, 0xff, 0x04, 0x00, 0xa6, 0x04, 0x00 }, }, // jl1810gr { 0, 127, 0, 159, { 0x80, 0x3f, 0x00, 0x50, 0xff, 0x69, 0x00, 0x54, 0x08, 0x00 }, }, // gcs2mgp // lxcypkdp uses this on the menus, they must rotate the rendering somehow as this is vertical and the games are horizontal! diff --git a/src/mame/handheld/evolution_handheld.cpp b/src/mame/handheld/evolution_handheld.cpp index 67a4fc175f4ca..067ad4393b98e 100644 --- a/src/mame/handheld/evolution_handheld.cpp +++ b/src/mame/handheld/evolution_handheld.cpp @@ -100,11 +100,31 @@ ROM_START( pokexyqz ) // also has an SD card slot (was empty) ROM_END +ROM_START( pokesmqz ) + ROM_REGION( 0x1000000, "maincpu", 0 ) + ROM_LOAD( "mx25l12845e.u3", 0x000000, 0x1000000, CRC(c9b79adf) SHA1(fd0180529166ed6daf73ae6734183031c42257a5) ) + + ROM_REGION( 0x800, "i2cmem", 0 ) + ROM_LOAD( "24c16.u4", 0x000, 0x800, CRC(1b4058f2) SHA1(813961f0afd1b36d78563074ddc796cf8826c6ff) ) +ROM_END + ROM_START( yuleyuan ) ROM_REGION( 0x1000000, "maincpu", 0 ) ROM_LOAD( "25l128.bin", 0x0000000, 0x1000000, CRC(51ab49e2) SHA1(ecad532d27efea55031ffd31ac4479c9c4eceae6) ) ROM_END +ROM_START( tomyspt ) + ROM_REGION( 0x1000000, "maincpu", 0 ) + ROM_LOAD( "mx25l12845e.u3", 0x000000, 0x1000000, CRC(3c8685ed) SHA1(289948c3d9a06db184397bc6a31ea594c404449d) ) + + // there was also a FT24C16.u4, blank on dumped unit +ROM_END + +ROM_START( hoppech ) + ROM_REGION( 0x1000000, "maincpu", 0 ) + ROM_LOAD( "25l128.u3", 0x000000, 0x1000000, CRC(4a983ab2) SHA1(d5571cf0f3fcf872826a2ff8b45be69336b117dd) ) +ROM_END + void evolution_handheldgame_state::init_yuleyuan() { u16 *spi = &memregion("maincpu")->as_u16(); @@ -124,5 +144,13 @@ CONS( 2020, buttdtct, 0, 0, evolhh, evolhh, evolution_handheldgame CONS( 2015, pokexyqz, 0, 0, evolhh, evolhh, evolution_handheldgame_state, empty_init, "Takara Tomy", "Pokemon Encyclopedia Z Pokemon XY Quiz Game Rotom (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// ロトム図鑑 サン&ムーン ポケモン クイズ +CONS( 2015, pokesmqz, 0, 0, evolhh, evolhh, evolution_handheldgame_state, empty_init, "Takara Tomy", "Pokedex Sun & Moon Pokemon Quiz Rotom (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) + +CONS( 201?, tomyspt, 0, 0, evolhh, evolhh, evolution_handheldgame_state, empty_init, "Takara Tomy", "Pretty Rhythm Smart Pod Touch (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) + +// ほっぺちゃん スイ☆コレ ホワイト +CONS( 201?, hoppech, 0, 0, evolhh, evolhh, evolution_handheldgame_state, empty_init, "Takara Tomy", "Hoppe-chan Sweet Collection (white, Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) + // 星座电子宠物机 (virtual pet by 育乐元) CONS( 2022, yuleyuan, 0, 0, evolhh, evolhh, evolution_handheldgame_state, init_yuleyuan, "Yule Yuan", "Xingzuo Dianzi Chongwu Ji", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // dumped from yellow model diff --git a/src/mame/handheld/st2302u_bbl_spi.cpp b/src/mame/handheld/st2302u_bbl_spi.cpp index 09a0731e12f80..4fa3488d96540 100644 --- a/src/mame/handheld/st2302u_bbl_spi.cpp +++ b/src/mame/handheld/st2302u_bbl_spi.cpp @@ -466,6 +466,20 @@ ROM_START(toumapet) ROM_LOAD("p25d32sh.bin", 0x000000, 0x400000, CRC(25498f00) SHA1(c5c410e29f540d7f1fd4bbb333467f8a3eaccc15) ) ROM_END +ROM_START(touma560) + INTERNAL_ROM_TYPE2 // still does't boot with this one, is it different internal ROM again, or just different mappings? + + ROM_REGION(0x800000, "spi", ROMREGION_ERASEFF) + ROM_LOAD("py25q64ha.bin", 0x000000, 0x800000, CRC(7974bf3c) SHA1(8467f869f86b51a86eb115e1408b30daa8f148e7) ) +ROM_END + +ROM_START(touma568) + INTERNAL_ROM_TYPE2 // still does't boot with this one, is it different internal ROM again, or just different mappings? + + ROM_REGION(0x800000, "spi", ROMREGION_ERASEFF) + ROM_LOAD("p25q64sh.bin", 0x000000, 0x800000, CRC(32f6d834) SHA1(c0dc5b4792a6d86822a666a0f8de7380d1905505) ) +ROM_END + ROM_START(qpet) INTERNAL_ROM_TYPE2 // not checked if it uses this ROM type @@ -513,7 +527,9 @@ CONS( 201?, dphh8633, 0, 0, bbl380_menuprot, bbl380_prot, bbl3 CONS( 2016, dphh8661, 0, 0, bbl380_menuprot, bbl380_prot, bbl380_state, empty_init, "", "Digital Pocket Hand Held System 268-in-1 - Model 8661", MACHINE_NOT_WORKING ) // from PCP? (logo on back of console) 2016 date on PCB // also has the 0xE4 XOR, also doesn't currently boot, could be yet another internal ROM -// there are also OK-560 and OK-568 models which may have different ROM or be on different hardware CONS( 2021, toumapet, 0, 0, bbl380, bbl380, bbl380_state, empty_init, "Shenzhen Shiji New Technology", "Tou ma Pet (OK-550)", MACHINE_NOT_WORKING ) +CONS( 2021, touma560, 0, 0, bbl380, bbl380, bbl380_state, empty_init, "Shenzhen Shiji New Technology", "Tou ma Pet (OK-560)", MACHINE_NOT_WORKING ) +CONS( 2021, touma568, 0, 0, bbl380, bbl380, bbl380_state, empty_init, "Shenzhen Shiji New Technology", "Tou ma Pet (OK-568)", MACHINE_NOT_WORKING ) + CONS( 2020, qpet, 0, 0, bbl380, bbl380, bbl380_state, empty_init, "M&D", "Q Pet (2nd version)", MACHINE_NOT_WORKING ) diff --git a/src/mame/handheld/tama_4u.cpp b/src/mame/handheld/tama_4u.cpp new file mode 100644 index 0000000000000..30886e1e5e6f9 --- /dev/null +++ b/src/mame/handheld/tama_4u.cpp @@ -0,0 +1,72 @@ +// license:BSD-3-Clause +// copyright-holders: + +// TODO: identify CPU type + +#include "emu.h" + +#include "screen.h" +#include "speaker.h" + + +namespace { + +class tama_4u_state : public driver_device +{ +public: + tama_4u_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_screen(*this, "screen") + { + } + + void tama4u(machine_config &config) ATTR_COLD; + +protected: + virtual void machine_start() override ATTR_COLD; + +private: + u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + required_device m_screen; +}; + +u32 tama_4u_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +void tama_4u_state::machine_start() +{ +} + + +static INPUT_PORTS_START(tama4u) +INPUT_PORTS_END + + +void tama_4u_state::tama4u(machine_config &config) +{ + // unknown CPU + + // wrong, just so it's clear this has a screen + SCREEN(config, m_screen, SCREEN_TYPE_LCD); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); + m_screen->set_size(128, 128); + m_screen->set_visarea(0, 128 - 1, 0, 128 - 1); + m_screen->set_screen_update(FUNC(tama_4u_state::screen_update)); + + SPEAKER(config, "speaker").front_center(); +} + +ROM_START( tama4u ) + ROM_REGION( 0x800000, "maincpu", 0 ) + // vector table(?) at 0x400000, similar to tamaid + ROM_LOAD( "mx29lb640eb.u4", 0x000000, 0x800000, CRC(f9dcc04a) SHA1(5f5d738357219b2a4a1452835455abef25fe7dcb) ) +ROM_END + +} // anonymous namespace + +// 2014/06/10 MODEL:WIZ245 on PCB +GAME( 2014, tama4u, 0, tama4u, tama4u, tama_4u_state, empty_init, ROT0, "Bandai", "Tamagotchi 4U (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/handheld/tama_id.cpp b/src/mame/handheld/tama_id.cpp new file mode 100644 index 0000000000000..3e17f10f5cd52 --- /dev/null +++ b/src/mame/handheld/tama_id.cpp @@ -0,0 +1,71 @@ +// license:BSD-3-Clause +// copyright-holders: + +// TODO: identify CPU type + +#include "emu.h" + +#include "screen.h" +#include "speaker.h" + + +namespace { + +class tama_id_state : public driver_device +{ +public: + tama_id_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_screen(*this, "screen") + { + } + + void tamaid(machine_config &config) ATTR_COLD; + +protected: + virtual void machine_start() override ATTR_COLD; + +private: + u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + required_device m_screen; +}; + +u32 tama_id_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +void tama_id_state::machine_start() +{ +} + + +static INPUT_PORTS_START(tamaid) +INPUT_PORTS_END + + +void tama_id_state::tamaid(machine_config &config) +{ + // unknown CPU + + // wrong, just so it's clear this has a screen + SCREEN(config, m_screen, SCREEN_TYPE_LCD); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); + m_screen->set_size(128, 128); + m_screen->set_visarea(0, 128 - 1, 0, 128 - 1); + m_screen->set_screen_update(FUNC(tama_id_state::screen_update)); + + SPEAKER(config, "speaker").front_center(); +} + +ROM_START( tamaid ) + ROM_REGION( 0x400000, "maincpu", 0 ) + ROM_LOAD( "mx29lb320dt.ic4", 0x000000, 0x400000, CRC(6272c24d) SHA1(f4d67409fa15873961bda684c68f3febf501218f) ) +ROM_END + +} // anonymous namespace + +// 2010/2/5 MODEL: WIZ229 on PCB, 2009 on case +GAME( 2010, tamaid, 0, tamaid, tamaid, tama_id_state, empty_init, ROT0, "Bandai", "Tamagotchi iD (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/handheld/tama_mix.cpp b/src/mame/handheld/tama_mix.cpp new file mode 100644 index 0000000000000..a0e4e084f58d2 --- /dev/null +++ b/src/mame/handheld/tama_mix.cpp @@ -0,0 +1,71 @@ +// license:BSD-3-Clause +// copyright-holders: + +// TODO: identify CPU type + +#include "emu.h" + +#include "screen.h" +#include "speaker.h" + + +namespace { + +class tama_mix_state : public driver_device +{ +public: + tama_mix_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_screen(*this, "screen") + { + } + + void tama_mix(machine_config &config) ATTR_COLD; + +protected: + virtual void machine_start() override ATTR_COLD; + +private: + u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + required_device m_screen; +}; + +u32 tama_mix_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +void tama_mix_state::machine_start() +{ +} + + +static INPUT_PORTS_START(tama_mix) +INPUT_PORTS_END + + +void tama_mix_state::tama_mix(machine_config &config) +{ + // unknown CPU + + // wrong, just so it's clear this has a screen + SCREEN(config, m_screen, SCREEN_TYPE_LCD); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); + m_screen->set_size(128, 128); + m_screen->set_visarea(0, 128 - 1, 0, 128 - 1); + m_screen->set_screen_update(FUNC(tama_mix_state::screen_update)); + + SPEAKER(config, "speaker").front_center(); +} + +ROM_START( tamamixm ) + ROM_REGION( 0x800000, "maincpu", 0 ) + ROM_LOAD( "mx29lv640et.u4", 0x000000, 0x800000, CRC(6e9301d2) SHA1(25a0df83da441d18467f82e8854e195139cce4a1) ) +ROM_END + +} // anonymous namespace + +// 2016/03/14 MODEL: WIZ249 on PCB +GAME( 2016, tamamixm, 0, tama_mix, tama_mix, tama_mix_state, empty_init, ROT0, "Bandai", "Tamagotchi m!x Melody Blue (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 777e82877590c..7ebcf52f65c7b 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -19460,6 +19460,8 @@ rhhc152 supreme table108 throwbck +touma560 +touma568 toumapet @source:handheld/chessking.cpp @@ -19471,8 +19473,11 @@ dbridgec @source:handheld/evolution_handheld.cpp buttdtct evolhh +hoppech +pokesmqz pokexyqz smkatsum +tomyspt yuleyuan @source:handheld/gameking.cpp @@ -20005,6 +20010,15 @@ talkingbb @source:handheld/talkingfb.cpp talkingfb +@source:handheld/tama_4u.cpp +tama4u + +@source:handheld/tama_id.cpp +tamaid + +@source:handheld/tama_mix.cpp +tamamixm + @source:handheld/teammate.cpp teammate @@ -35752,11 +35766,13 @@ lxpcsp matet100 matet220 matet300 +micac250 myaasa myaass mymman retror30 rminitv +tvkunio1 typo240 @source:nintendo/nes_vt369_vtunknown.cpp @@ -35782,7 +35798,9 @@ gtct885 h12p1000 hkb502 hkb502a +jl1810gr jl2050 +jl2377 lexi30 lpgm240 lxcap @@ -35793,15 +35811,20 @@ lxcmc250 lxcmcy lxcmcyba lxcmcybt +lxcmcyco lxcmcycr lxcmcydp lxcmcydpn lxcmcyfd lxcmcyfz +lxcmcyfza +lxcmcyfzb +lxcmcyls lxcmcypj lxcmcypp lxcmcyppa lxcmcysp +lxcmcyspa lxcmcyspn lxcmcysw lxcyber @@ -47102,6 +47125,8 @@ anpanbd anpanm15 bk139in1 bkrankp +lxcympp +lxcymsm lxcyrace pokegac2 pokegac2y @@ -47126,6 +47151,7 @@ punij1pk punij1pu punij2pk punirune +punistar segapet1 segapet1a segapet2 @@ -47133,6 +47159,7 @@ segapet2a segapet3 segapet3a smkcatch +smkgacha smkguras smkgurasa wiwcs @@ -47408,6 +47435,7 @@ tvtchsb @source:tvgames/spg2xx_lexibook.cpp arcade3d +cybrtvfe lexizeus lexiseal discpal diff --git a/src/mame/nintendo/nes_vt32.cpp b/src/mame/nintendo/nes_vt32.cpp index fd8b8e138a59d..33db8d7873077 100644 --- a/src/mame/nintendo/nes_vt32.cpp +++ b/src/mame/nintendo/nes_vt32.cpp @@ -92,6 +92,7 @@ class nes_vt32_unk_state : public nes_vt32_state { } void nes_vt32_fp(machine_config& config); + void nes_vt32_2mb(machine_config& config); void nes_vt32_8mb(machine_config& config); void nes_vt32_16mb(machine_config& config); void nes_vt32_32mb(machine_config& config); @@ -329,6 +330,12 @@ void nes_vt32_unk_state::nes_vt32_4x16mb(machine_config& config) dynamic_cast(*m_soc).upper_read_412d_callback().set(FUNC(nes_vt32_unk_state::fcpocket_412d_r)); } +void nes_vt32_unk_state::nes_vt32_2mb(machine_config& config) +{ + nes_vt32_fp(config); + m_soc->set_addrmap(AS_PROGRAM, &nes_vt32_unk_state::vt_external_space_map_2mbyte); +} + void nes_vt32_unk_state::nes_vt32_8mb(machine_config& config) { nes_vt32_fp(config); @@ -459,6 +466,17 @@ ROM_START( k10_2l ) ROM_LOAD( "s29gl128n10tfi01.u4", 0x00000, 0x1000000, CRC(3ca75ab7) SHA1(a4e4f939c26b4a2f361261fa8b5303c6eeee9c41) ) ROM_END +ROM_START( micac250 ) + ROM_REGION( 0x1000000, "mainrom", 0 ) + ROM_LOAD( "250in1microarcade.u2", 0x000000, 0x1000000, CRC(3bb2a65c) SHA1(294eb2165466981a79e1d4ec535038e73fbca4de) ) +ROM_END + +ROM_START( tvkunio1 ) + ROM_REGION( 0x200000, "mainrom", 0 ) + ROM_LOAD( "mx29lv160dt.u3", 0x00000, 0x200000, CRC(4f502bff) SHA1(5c91c46c8b3b837cf98a5519d71117164c23a721) ) +ROM_END + + } // anonymous namespace @@ -518,3 +536,7 @@ CONS( 2020, lxpcpp, 0, 0, nes_vt32_32mb, nes_vt32, nes_vt32_unk_state, empt CONS( 201?, k10_5l, 0, 0, nes_vt32_16mb, nes_vt32, nes_vt32_unk_state, empty_init, "", "Games Power 500-in-1 Ultra Thin Handheld Game (K10) (5 languages)", MACHINE_NOT_WORKING ) CONS( 201?, k10_2l, 0, 0, nes_vt32_16mb, nes_vt32, nes_vt32_unk_state, empty_init, "", "Games Power 500-in-1 Ultra Thin Handheld Game (K10) (2 languages)", MACHINE_NOT_WORKING ) +CONS( 202?, micac250, 0, 0, nes_vt32_16mb, nes_vt32, nes_vt32_unk_state, empty_init, "", "Micro Arcade 250-in-1", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) + +CONS( 2022, tvkunio1, 0, 0, nes_vt32_2mb, nes_vt32, nes_vt32_unk_state, empty_init, "Arc System Works", "Kunio-kun TV! Bikkuri Nekketsu Shin Kiroku! Harukanaru Kin Medal (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) // yellow unit + diff --git a/src/mame/nintendo/nes_vt369_vtunknown.cpp b/src/mame/nintendo/nes_vt369_vtunknown.cpp index 61b573cba3a2d..247c1d5ac03f1 100644 --- a/src/mame/nintendo/nes_vt369_vtunknown.cpp +++ b/src/mame/nintendo/nes_vt369_vtunknown.cpp @@ -626,15 +626,7 @@ ROM_END ROM_START( rtvgc300 ) ROM_REGION( 0x8000000, "mainrom", 0 ) - // some of the higher address lines might be swapped - ROM_LOAD( "lexibook300.bin", 0x00000, 0x0800000, CRC(015c4067) SHA1(a12986c4a366a23c4c7ca7b3d33e421a8dfdffc0) ) - ROM_CONTINUE(0x1000000, 0x0800000) - ROM_CONTINUE(0x0800000, 0x0800000) - ROM_CONTINUE(0x1800000, 0x0800000) - ROM_CONTINUE(0x2000000, 0x0800000) - ROM_CONTINUE(0x3000000, 0x0800000) - ROM_CONTINUE(0x2800000, 0x0800000) - ROM_CONTINUE(0x3800000, 0x0800000) + ROM_LOAD( "jg7800.bin", 0x00000, 0x8000000, CRC(44f50d4c) SHA1(39ad63220ddd72c5a77f125614efa77501efe59f) ) VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END @@ -681,16 +673,16 @@ ROM_START( lxcmcy ) // all games selectable VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END +ROM_START( jl2377 ) // all games selectable + ROM_REGION( 0x4000000, "mainrom", 0 ) + ROM_LOAD( "jl2377.u2", 0x00000, 0x4000000, CRC(cb3643c8) SHA1(c0d6211eddf28d1541e791d0bd3e5aef9f1d4d46) ) + + VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing +ROM_END + ROM_START( lxcmcysw ) // all games selectable ROM_REGION( 0x4000000, "mainrom", 0 ) - ROM_LOAD( "jl2365swr-1.u2", 0x0000000, 0x0800000, CRC(60ece391) SHA1(655de6b36ba596d873de2839522b948ccf45e006) ) - ROM_CONTINUE(0x1000000, 0x0800000) - ROM_CONTINUE(0x0800000, 0x0800000) - ROM_CONTINUE(0x1800000, 0x0800000) - ROM_CONTINUE(0x2000000, 0x0800000) - ROM_CONTINUE(0x3000000, 0x0800000) - ROM_CONTINUE(0x2800000, 0x0800000) - ROM_CONTINUE(0x3800000, 0x0800000) + ROM_LOAD( "starwars_jl2365swr-1.u2", 0x00000, 0x4000000, CRC(a34669db) SHA1(fc5c432492473cd0896ef95a67832d422294925a) ) VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END @@ -698,14 +690,21 @@ ROM_END ROM_START( lxcmcyfz ) // all games selectable ROM_REGION( 0x4000000, "mainrom", 0 ) // sub-board was marked for 2GB capacity (A0-A26 address lines), but only address lines A0-A24 are connected to the chip - ROM_LOAD( "jl2365_frozen.u1", 0x00000, 0x0800000, CRC(64d4c708) SHA1(1bc2d161326ce3039ab9ba46ad62695060cfb2e1) ) - ROM_CONTINUE(0x1000000, 0x0800000) - ROM_CONTINUE(0x0800000, 0x0800000) - ROM_CONTINUE(0x1800000, 0x0800000) - ROM_CONTINUE(0x2000000, 0x0800000) - ROM_CONTINUE(0x3000000, 0x0800000) - ROM_CONTINUE(0x2800000, 0x0800000) - ROM_CONTINUE(0x3800000, 0x0800000) + ROM_LOAD( "frozen_jl2365.u1", 0x00000, 0x4000000, CRC(41c64019) SHA1(17ec755d5f4afc39c2863b75367e6368c039f347) ) + + VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing +ROM_END + +ROM_START( lxcmcyfza ) // all games selectable + ROM_REGION( 0x4000000, "mainrom", 0 ) + ROM_LOAD( "jl2365fz-6.u2", 0x00000, 0x4000000, CRC(8d365623) SHA1(1484295264601113c2edd31a7b673266f10157d7) ) + + VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing +ROM_END + +ROM_START( lxcmcyfzb ) // all games selectable + ROM_REGION( 0x4000000, "mainrom", 0 ) + ROM_LOAD( "jl2367fz.u2", 0x00000, 0x4000000, CRC(c6fee0f2) SHA1(55ece7cebeda87eb0a7461073192e25944ffacc8) ) VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END @@ -718,6 +717,14 @@ ROM_START( lxcmcydp ) // all games selectable VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END +ROM_START( lxcmcyco ) // all games selectable + ROM_REGION( 0x4000000, "mainrom", 0 ) + ROM_LOAD( "jl2360dc-1.u1", 0x00000, 0x4000000, CRC(710fcafc) SHA1(bfd7dba546b62f1ea337d6f7f8f32ffccffa0a0d) ) + + VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing +ROM_END + + ROM_START( lxcmcysp ) // all games selectable ROM_REGION( 0x4000000, "mainrom", 0 ) // sub-board was marked for 2GB capacity (A0-A26 address lines), but only address lines A0-A24 are connected to the chip @@ -726,6 +733,13 @@ ROM_START( lxcmcysp ) // all games selectable VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END +ROM_START( lxcmcyspa ) // all games selectable + ROM_REGION( 0x4000000, "mainrom", 0 ) + ROM_LOAD( "jl2350sp.u2", 0x00000, 0x4000000, CRC(54c66fe0) SHA1(44d71881c0edb2c913f144fe0da8026958c6cfbb) ) + + VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing +ROM_END + ROM_START( lxcmcycr ) // all games selectable ROM_REGION( 0x4000000, "mainrom", 0 ) ROM_LOAD( "lexibook cars.bin", 0x00000, 0x4000000, CRC(198fe11b) SHA1(5e35caa3fc319ec69812c187a3ec89f01749f749) ) @@ -735,15 +749,7 @@ ROM_END ROM_START( lxcmcypj ) // all games selectable ROM_REGION( 0x4000000, "mainrom", 0 ) - // sub-board was marked for 1GB capacity (A0-A25 address lines), but only address lines A0-A24 are connected to the chip - ROM_LOAD( "cob66-1g-new02.u4", 0x00000, 0x0800000, CRC(78149671) SHA1(00dab8c0919e909e910525c18142e6a195b364f8) ) - ROM_CONTINUE(0x1000000, 0x0800000) - ROM_CONTINUE(0x0800000, 0x0800000) - ROM_CONTINUE(0x1800000, 0x0800000) - ROM_CONTINUE(0x2000000, 0x0800000) - ROM_CONTINUE(0x3000000, 0x0800000) - ROM_CONTINUE(0x2800000, 0x0800000) - ROM_CONTINUE(0x3800000, 0x0800000) + ROM_LOAD( "pjmasks_cob66-1g-new02.u4", 0x00000, 0x4000000, CRC(d4380394) SHA1(d2b467db12ef541ab5e102ac095a84a64e66d4fe) ) VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END @@ -762,6 +768,13 @@ ROM_START( lxcmcybt ) // all games selectable VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END +ROM_START( lxcmcyls ) // all games selectable + ROM_REGION( 0x4000000, "mainrom", 0 ) + ROM_LOAD( "lexibook_stitch.bin", 0x00000, 0x4000000, CRC(f15f6a2d) SHA1(b92dbf0ce12aea0b58c7a873a3c72afcae11cde5) ) + + VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing +ROM_END + ROM_START( lxcmcyfd ) // all games selectable ROM_REGION( 0x4000000, "mainrom", 0 ) ROM_LOAD( "dory.u2", 0x00000, 0x4000000, CRC(315bf615) SHA1(3b8b9c6428084ae82a38b7bcfe029180501f1488) ) @@ -822,30 +835,23 @@ ROM_END ROM_START( lxcmc250 ) // all games selectable ROM_REGION( 0x4000000, "mainrom", 0 ) // sub-board was marked for 2GB capacity (A0-A26 address lines), but only address lines A0-A24 are connected to the chip - ROM_LOAD( "cca250in1.u1", 0x00000, 0x0800000, CRC(6ccd6ad6) SHA1(fafed339097c3d1538faa306021a8373c1b799b3) ) - ROM_CONTINUE(0x1000000, 0x0800000) - ROM_CONTINUE(0x0800000, 0x0800000) - ROM_CONTINUE(0x1800000, 0x0800000) - ROM_CONTINUE(0x2000000, 0x0800000) - ROM_CONTINUE(0x3000000, 0x0800000) - ROM_CONTINUE(0x2800000, 0x0800000) - ROM_CONTINUE(0x3800000, 0x0800000) + ROM_LOAD( "250in1_cca250in1.u1", 0x00000, 0x4000000, CRC(54335d7c) SHA1(ecddc74b751806a61551d495dc733a642515f719) ) VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END ROM_START( lxccminn ) // all games selectable - ROM_REGION( 0x4000000, "mainrom", 0 ) // sub-board was hardwired to only be able to address the lower 64MByte, was rewired to also dump upper half when dumping, upper half contains only garbage, hence ROM_IGNORE - ROM_LOAD( "minnie_lexibook.bin", 0x00000, 0x4000000, CRC(3f8e5a69) SHA1(c9f11f3e5f9b73832a191f4d1620a85c1b70f79e) ) - ROM_IGNORE(0x4000000) + ROM_REGION( 0x4000000, "mainrom", 0 ) + // has also been seen with double sized ROM, but 2nd half only contained garbage and upper pin wasn't connected + ROM_LOAD( "minnie_lexibook.bin", 0x00000, 0x4000000, CRC(1434460c) SHA1(9a0951f630d5412172e0a912d043897e4b8e9007) ) VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END ROM_START( lxccplan ) // all games selectable - ROM_REGION( 0x4000000, "mainrom", 0 ) // sub-board was hardwired to only be able to address the lower 64MByte, was rewired to also dump upper half when dumping, upper half contains only garbage, hence ROM_IGNORE - ROM_LOAD( "planes_lexibook.bin", 0x00000, 0x4000000, CRC(76e1a962) SHA1(83b801c0e0e941ceb1c93e565e833b07c09412c3)) - ROM_IGNORE(0x4000000) + ROM_REGION( 0x4000000, "mainrom", 0 ) + // has also been seen with double sized ROM, but 2nd half only contained garbage and upper pin wasn't connected + ROM_LOAD( "planes_lexibook.bin", 0x00000, 0x4000000, CRC(f9ba6cfc) SHA1(e0f83f286653fb410638c01b928b391c5868d14f) ) VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END @@ -1058,6 +1064,13 @@ ROM_START( lexi30 ) VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing ROM_END +ROM_START( jl1810gr ) + ROM_REGION( 0x1000000, "mainrom", 0 ) + ROM_LOAD( "jl1810gr.u3", 0x00000, 0x1000000, CRC(c0a62d05) SHA1(1d5536e96d65ee9a0aab2fd5b155ee87d5eb2938) ) + + VT3XX_INTERNAL_NO_SWAP // not verified for this set, used for testing +ROM_END + ROM_START( matet10 ) ROM_REGION( 0x200000, "mainrom", 0 ) ROM_LOAD( "tetriskeychain_p25q16sh_856015.bin", 0x00000, 0x200000, CRC(7a7251ea) SHA1(7ace8482a54f6b06982a90328779c21266d864fa) ) @@ -1189,6 +1202,7 @@ void vt369_state::init_lxcmcypp() void vt369_state::init_dgun2572() { + // this might simply be due to an incorrect pinout when dumping u8 *rom = memregion("mainrom")->base(); for (offs_t base = 0; base < 0x2000000; base += 0x200) { @@ -1231,15 +1245,18 @@ CONS( 201?, dvnimbus, 0, 0, vt369_unk_16mb, vt369, vt36x_state, empty_ ****************************************************************************************************************/ -CONS( 2012, lexi30, 0,0, vt36x_8mb, vt369_rot, vt36x_state, empty_init, "Lexibook", "Arcade Center (JL1800_01)", MACHINE_NOT_WORKING | ROT270 ) +CONS( 2012, lexi30, 0, 0, vt36x_8mb, vt369_rot, vt36x_state, empty_init, "Lexibook", "Arcade Center - 30-in-1 (JL1800_01)", MACHINE_NOT_WORKING | ROT270 ) +// Q2 1.8 VER1.2 2012.03.18 on PCB +CONS( 2012, jl1810gr, 0, 0, vt36x_16mb, vt369_rot, vt36x_state, empty_init, "Lexibook", "Arcade Center - 60-in-1 (JL1810GR)", MACHINE_NOT_WORKING | ROT270 ) -CONS( 2012, lxccatv, 0, 0, vt36x_32mb, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade TV - 120 in 1 (JL2370)", MACHINE_NOT_WORKING ) // 32MByte ROM, 2011 on case, 2012 on PCB +CONS( 2012, lxccatv, 0, 0, vt36x_32mb, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade TV - 120 in 1 (JL2370)", MACHINE_NOT_WORKING ) // 32MByte ROM, 2011 on case, 2012 on PCB // All Lexibook units below have 64Mbyte ROMs, must be externally banked, or different addressing scheme CONS( 2012, lxcmcysp, 0, 0, vt36x_32mb_2banks_lexi, vt369_rot, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - Spider-Man (120-in-1)", MACHINE_NOT_WORKING | ROT270) // renders vertically, but screen stretches it to horizontal -CONS( 200?, lxcmc250, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - 250-in-1 (JL2375)", MACHINE_NOT_WORKING ) +CONS( 2012, lxcmcyspa, lxcmcysp, 0, vt36x_32mb_2banks_lexi, vt369_rot, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - Spider-Man (JL2350SP, 120-in-1)", MACHINE_NOT_WORKING | ROT270) CONS( 2012, lxcmcydp, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - Disney Princess (120-in-1)", MACHINE_NOT_WORKING ) +CONS( 2014, lxcmcyco, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - Cars (JL2360DC-1, 120-in-1)", MACHINE_NOT_WORKING ) // JL2365 models (150-in-1 versions) CONS( 200?, lxcmcysw, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - Star Wars Rebels (JL2365SW)", MACHINE_NOT_WORKING ) CONS( 200?, lxcmcyfz, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - Frozen (JL2365FZ)", MACHINE_NOT_WORKING ) @@ -1247,12 +1264,16 @@ CONS( 2018, lxcmcypj, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_s CONS( 2014, lxcmcyba, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - Barbie (JL2365BB)", MACHINE_NOT_WORKING ) CONS( 2014, lxcmcycr, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - Cars (JL2365DC)", MACHINE_NOT_WORKING ) CONS( 2014, lxcmcyfd, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - Finding Dory", MACHINE_NOT_WORKING ) -CONS( 2018, lxcmcyppa, lxcmcypp, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Paw Patrol (JL2365PA-5)", MACHINE_NOT_WORKING ) // yes, it has the bitswap even if it's a JL2365 unit +// later JL2365 models (with added bitswap) +CONS( 200?, lxcmcyfza, lxcmcyfz, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Frozen (JL2365FZ-6)", MACHINE_NOT_WORKING ) +CONS( 2018, lxcmcyppa, lxcmcypp, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Paw Patrol (JL2365PA-5)", MACHINE_NOT_WORKING ) // JL2367 models (150-in-1 versions, newer case style) CONS( 2018, lxcmcypp, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Paw Patrol (JL2367PA)", MACHINE_NOT_WORKING ) CONS( 2020, lxcmcybt, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Batman (JL2367BAT)", MACHINE_NOT_WORKING ) +CONS( 2021, lxcmcyls, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Lilo & Stitch (JL2367D)", MACHINE_NOT_WORKING ) CONS( 2014, lxcmcydpn, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Disney Princess (JL2367DP, 150-in-1)", MACHINE_NOT_WORKING ) CONS( 2014, lxcmcyspn, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Spider-Man (JL2367SP, 150-in-1)", MACHINE_NOT_WORKING ) +CONS( 200?, lxcmcyfzb, lxcmcyfz, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Frozen (JL2367FZ)", MACHINE_NOT_WORKING ) // JL1895 models, Cyber Arcade Pocket. This make strange use of the LCDC, the menus are vertical (so must be copied to the LCD rotated) but the games are horizontal as usual CONS( 201?, lxcypkdp, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Cyber Arcade Pocket - Disney Princess (JL1895DP)", MACHINE_NOT_WORKING ) @@ -1263,7 +1284,12 @@ CONS( 200?, lxccminn, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty CONS( 200?, lxccplan, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Console Colour - Disney's Planes (JL2800PL)", MACHINE_NOT_WORKING ) // similar menus to the lxccminn/lxccplan sets CONS( 2013, lxcmcy, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - 200 in 1 (JL2355)", MACHINE_NOT_WORKING ) -CONS( 2012, dgun2561, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "dreamGEAR", "My Arcade Portable Gaming System with 140 Games (DGUN-2561)", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme +CONS( 2012, dgun2561, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "dreamGEAR", "My Arcade Portable Gaming System with 140 Games (DGUN-2561)", MACHINE_NOT_WORKING ) + +CONS( 200?, lxcmc250, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, empty_init, "Lexibook", "Compact Cyber Arcade - 250-in-1 (JL2375)", MACHINE_NOT_WORKING ) + +// JL2367-V1.03 20200228 on PCB, JL2377 on case +CONS( 2020, jl2377, 0, 0, vt36x_32mb_2banks_lexi, vt369, vt36x_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - 250 in 1 (JL2377)", MACHINE_NOT_WORKING ) // GB-NO13-Main-VT389-2 on PCBs - uses higher resolution mode (twice usual h-res?) CONS( 2016, rtvgc300, 0, 0, vt36x_32mb_2banks_lexi300, vt369, vt36x_state, empty_init, "Lexibook", "Retro TV Game Console - 300 Games", MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/generalplus_gpl16250_spi.cpp b/src/mame/tvgames/generalplus_gpl16250_spi.cpp index bb964cd2160f9..b9046b7d03d73 100644 --- a/src/mame/tvgames/generalplus_gpl16250_spi.cpp +++ b/src/mame/tvgames/generalplus_gpl16250_spi.cpp @@ -202,6 +202,21 @@ ROM_START( lxcyrace ) ROM_LOAD( "25q128.u2", 0x0000, 0x1000000, CRC(4489c99d) SHA1(792d6d224584fe1f3349c64a59aa79a587dd8c17) ) ROM_END +ROM_START( lxcymsm ) + ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) + //ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only (if it exists at all) + + ROM_REGION(0x2000000, "maincpu", ROMREGION_ERASE00) + ROM_LOAD( "25q256.bin", 0x0000, 0x2000000, CRC(96b3ee5c) SHA1(f1e6bf46a4503877074310506d1acc4607dac331) ) +ROM_END + +ROM_START( lxcympp ) + ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) + //ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only (if it exists at all) + + ROM_REGION(0x2000000, "maincpu", ROMREGION_ERASE00) + ROM_LOAD( "25q256.bin", 0x0000, 0x2000000, CRC(570b669c) SHA1(e7fcae662c8c8cae18cf1151d6caefacfe1e9fda) ) +ROM_END void generalplus_gpspispi_game_state::init_spi() { @@ -281,3 +296,5 @@ CONS(2015, pokegac2y, pokegach, 0, generalplus_gpspispi_bkrankp, gcm394, general CONS(202?, bk139in1, 0, 0, generalplus_gpspispi, gcm394, generalplus_gpspispi_game_state, empty_init, "", "BornKid 32 Bit Preloaded 139-in-1 Handheld Game Console", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) // same unknown hardware as above, fewer games CONS(2021, lxcyrace, 0, 0, generalplus_gpspispi, gcm394, generalplus_gpspispi_game_state, empty_init, "Lexibook", "Cyber Arcade Racing (JL3150)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +CONS(2021, lxcymsm, 0, 0, generalplus_gpspispi, gcm394, generalplus_gpspispi_game_state, empty_init, "Lexibook", "Cyber Arcade Motion - Superman (JL3180SU)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +CONS(2021, lxcympp, 0, 0, generalplus_gpspispi, gcm394, generalplus_gpspispi_game_state, empty_init, "Lexibook", "Cyber Arcade Motion - Paw Patrol (JL3180PA)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) diff --git a/src/mame/tvgames/generalplus_gpl951xx.cpp b/src/mame/tvgames/generalplus_gpl951xx.cpp index 6935df025896b..0d72f1f6b2f87 100644 --- a/src/mame/tvgames/generalplus_gpl951xx.cpp +++ b/src/mame/tvgames/generalplus_gpl951xx.cpp @@ -241,6 +241,11 @@ ROM_START( punifrnd ) ROM_LOAD16_WORD_SWAP( "25oh64.ic3", 0x0000, 0x800000, CRC(622ca9b3) SHA1(4206393a4458ffcdb63352e743481865532fe8b5) ) ROM_END +ROM_START( punistar ) + ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00) + ROM_LOAD16_WORD_SWAP( "xm25qh64c.ic3", 0x0000, 0x800000, CRC(72f54f23) SHA1(902955764d0b61decc057eb3afaf2960cf2134c6) ) +ROM_END + ROM_START( pokgoget ) ROM_REGION16_BE(0x2000000, "maincpu:spidirect", ROMREGION_ERASE00) ROM_LOAD16_WORD_SWAP( "mx25l25645g.u1", 0x0000, 0x2000000, CRC(a76ae22f) SHA1(3fa5eeedb3fe343a7707d76710298377b22b0681) ) @@ -266,6 +271,11 @@ ROM_START( smkgurasa ) // code is the same, some data area differs, could be dif ROM_LOAD16_WORD_SWAP( "xm25qh64c.u3", 0x0000, 0x800000, CRC(2c9e82af) SHA1(8c475783eafbeaeb88d62b145758ad3487410222) ) ROM_END +ROM_START( smkgacha ) + ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00 ) + ROM_LOAD16_WORD_SWAP( "kg25l64.u2", 0x0000, 0x800000, CRC(eb461d92) SHA1(7481e8b3f2eaa9c8d992f3d9c58c1c7e3f27b380) ) +ROM_END + ROM_START( dsgnpal ) ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00 ) ROM_LOAD16_WORD_SWAP( "gpr25l64.ic2", 0x0000, 0x800000, CRC(a1017ea8) SHA1(bd4b553ff71e763cd3fd726c49f5408eac3b7984) ) @@ -350,6 +360,8 @@ CONS(2021, punij2pk, punirune, 0, generalplus_gpspi_direct, bfspyhnt, generalplu // has a link feature CONS(2021, punifrnd, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", "Punirunes Punitomo Tsuushin (hot pink, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +CONS(2021, punistar, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", "Punirunes Punistarz (pink, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) + // Pocket Monsters ガチッとゲットだぜ! モンスターボールゴー! - Pocket Monsters is printed on the inner shell, but not the box? CONS(2021, pokgoget, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", "Gachitto Get da ze! Monster Ball Go! (210406, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) // ガチッとゲットだぜ! モンスターボール @@ -361,8 +373,10 @@ CONS( 2021, smkcatch, 0, 0, generalplus_gpspi_direct, bfmpac, generalplus_gpspi_ // or Sumikko Gurashi - Sumikko Catch DX (すみっコぐらし すみっコキャッチDX) = Sumikko Catch with pouch and strap // is there a subtitle for this one? it's different to the others -CONS( 201?, smkguras, 0, 0, generalplus_gpspi_direct, bfmpac, generalplus_gpspi_direct_game_state, empty_init, "San-X / Tomy", "Sumikko Gurashi (Japan, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) -CONS( 201?, smkgurasa, smkguras, 0, generalplus_gpspi_direct, bfmpac, generalplus_gpspi_direct_game_state, empty_init, "San-X / Tomy", "Sumikko Gurashi (Japan, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +CONS( 201?, smkguras, 0, 0, generalplus_gpspi_direct, bfmpac, generalplus_gpspi_direct_game_state, empty_init, "San-X / Tomy", "Sumikko Gurashi DX (Japan, set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +CONS( 201?, smkgurasa, smkguras, 0, generalplus_gpspi_direct, bfmpac, generalplus_gpspi_direct_game_state, empty_init, "San-X / Tomy", "Sumikko Gurashi DX (Japan, set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + +CONS( 2021, smkgacha, 0, 0, generalplus_gpspi_direct, bfmpac, generalplus_gpspi_direct_game_state, empty_init, "San-X / Tomy", "Sumikko Gacha (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // there seem to be different versions of this available, is the software the same? CONS( 201?, dsgnpal, 0, 0, generalplus_gpspi_direct, bfmpac, generalplus_gpspi_direct_game_state, empty_init, "Tomy", "Kiratto Pri-Chan Design Palette (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/tvgames/spg2xx_lexibook.cpp b/src/mame/tvgames/spg2xx_lexibook.cpp index 71c486b64a4ad..d0659ac6b34ea 100644 --- a/src/mame/tvgames/spg2xx_lexibook.cpp +++ b/src/mame/tvgames/spg2xx_lexibook.cpp @@ -44,6 +44,18 @@ class spg2xx_lexiseal_game_state : public spg2xx_lexizeus_game_state virtual void portb_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override; }; +class spg2xx_cybrtvfe_game_state : public spg2xx_lexiseal_game_state +{ +public: + spg2xx_cybrtvfe_game_state(const machine_config &mconfig, device_type type, const char *tag) : + spg2xx_lexiseal_game_state(mconfig, type, tag) + { } + +protected: + virtual void portb_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override; +}; + + class spg2xx_vsplus_game_state : public spg2xx_lexizeus_game_state { public: @@ -258,6 +270,12 @@ void spg2xx_lexiseal_game_state::portb_w(offs_t offset, uint16_t data, uint16_t switch_bank(2); } +void spg2xx_cybrtvfe_game_state::portb_w(offs_t offset, uint16_t data, uint16_t mem_mask) +{ + int bank = data & mem_mask; + logerror("%s: portb_w %04x %04x - %04x\n", machine().describe_context(), data, mem_mask, bank); + switch_bank(bank & 0x07); +} void spg2xx_vsplus_game_state::portb_w(offs_t offset, uint16_t data, uint16_t mem_mask) { @@ -368,6 +386,11 @@ ROM_START( disppal ) ROM_LOAD16_WORD_SWAP( "vgpocketdisney.u3", 0x0000, 0x400000, CRC(051bd073) SHA1(e453677437206e11fb50b8b86853e466978338a2) ) ROM_END +ROM_START( cybrtvfe ) + ROM_REGION( 0x4000000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD16_WORD_SWAP( "jl2500fe.u6", 0x0000, 0x4000000, CRC(2fce6685) SHA1(6fc329204fdb401c72884349f29201fb783fe2ea) ) +ROM_END + /* VG Caplet ROM pinout from Sean Riddle (2 ROMs in single package) @@ -437,6 +460,8 @@ CONS( 200?, arcade3d, 0, 0, lexizeus, lexiseal, spg2xx_lexizeu CONS( 200?, vsplus, 0, 0, vsplus, vsplus, spg2xx_vsplus_game_state, init_vsplus, " / JungleTac", "Vs Power Plus 30-in-1", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) +// marked as SPG260 +CONS( 2010, cybrtvfe, 0, 0, lexiseal, lexiseal, spg2xx_cybrtvfe_game_state, init_zeus, "Lexibook", "Cyber Arcade TV - Ferrari (JL2500FE)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) CONS( 200?, lexiseal, 0, 0, lexiseal, lexiseal, spg2xx_lexiseal_game_state, init_zeus, "Lexibook / Sit Up Limited / JungleTac", "Seal 50-in-1", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // also has bad sound in Tiger Rescue, but no corrupt tilemap // There are versions of the Seal 50-in-1 that actually show Lexibook on the boot screen rather than it just being on the unit. The Seal name was also used for some VT systems