diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 61a60e4b1712c..28948182ee46e 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -35052,6 +35052,7 @@ m82 @source:nintendo/nes_sh6578.cpp 6578cjz1 6578cjz2 +bancook bandgpad bandggcn bb6578 @@ -35080,6 +35081,7 @@ dgun2869 dgun2959 dgun851 dgun853 +fccomp88 gamezn2 gprnrs1 gprnrs16 @@ -35177,6 +35179,7 @@ dgunl3202 fcpocket matet220 matet300 +myaasa myaass rminitv @@ -35212,12 +35215,14 @@ lxcmcypp lxcmcysp lxcmcysw lxcyber +lxpcsp matet10 matet100 mc_cb280 mc_hh210 mog_m320 myarccn +nesvt270 nubsupmf otrail pactin @@ -39937,6 +39942,7 @@ twinktmb @source:sega/megadriv_rad.cpp atgame40 +banmrid dgunl3227 dgunl3227a matet @@ -42908,6 +42914,7 @@ ht68k wlzb @source:skeleton/hudson_poems.cpp +ewalk2tv marimba poembase poemgolf @@ -46217,6 +46224,11 @@ spidtt teentit tsbuzz +@source:tvgames/generalplus_gp327902.cpp +sanxpet +sanxpeta +tomyegg + @source:tvgames/generalplus_gpl16250_mobigo.cpp mobigo mobigos @@ -46270,10 +46282,12 @@ jak_prft jak_tink jak_totm jak_ths +tomycar wrlshunt @source:tvgames/generalplus_gpl16250_spi.cpp anpanbd +anpanm15 bk139in1 bkrankp prailpls @@ -46295,6 +46309,8 @@ pcp8728 bkid218 @source:tvgames/generalplus_gpl32612.cpp +anpanm19 +dmnslayg jak_swbstrik jak_tmnthp jak_dchp @@ -46304,7 +46320,6 @@ kidizmb kidizmp pocketmp pocketmr -sanxpet zippity zippityuk @@ -46315,8 +46330,13 @@ tagalaga taspinv taturtf -@source:tvgames/gpm4530a_lexibook_jg7420.cpp +@source:tvgames/generalplus_gpm453x_nand.cpp +leapland +leappawp + +@source:tvgames/generalplus_gpm453x_sdcard.cpp lx_jg7420 +rizstals @source:tvgames/magiceyes_pollux_vr3520f.cpp didj @@ -46412,6 +46432,7 @@ vtechtvsgr vtechtvssp wfart wfcentro +wordlnch @source:tvgames/spg2xx_digimake.cpp rad_digi @@ -46763,6 +46784,7 @@ ndpbj suprtvpc suprtvpcdo suprtvpchk +suprtvpcln tmy_rkmj tmy_thom udance diff --git a/src/mame/nintendo/nes_sh6578.cpp b/src/mame/nintendo/nes_sh6578.cpp index 8ae9c2c874aca..83dbfa990a901 100644 --- a/src/mame/nintendo/nes_sh6578.cpp +++ b/src/mame/nintendo/nes_sh6578.cpp @@ -496,7 +496,7 @@ void nes_sh6578_state::nes_sh6578_map(address_map& map) //4024 read - mouse port / write - mouse baud //4025 write - Printer Port map(0x4026, 0x4026).rw(FUNC(nes_sh6578_state::extio_r), FUNC(nes_sh6578_state::extio_w)); - //4027 read/write - DAC data register + map(0x4027, 0x4027).ram(); //4027 read/write - DAC data register map(0x4031, 0x4031).w(FUNC(nes_sh6578_state::initial_startup_w)); map(0x4032, 0x4032).w(FUNC(nes_sh6578_state::irq_mask_w)); @@ -537,6 +537,15 @@ static INPUT_PORTS_START(nes_sh6578) PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +static INPUT_PORTS_START(bancook) + PORT_START("IN0") + PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_START("IN1") + PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) +INPUT_PORTS_END + + void nes_sh6578_state::video_start() { } @@ -673,7 +682,10 @@ ROM_START( bandggcn ) ROM_LOAD( "gogoconniechan.bin", 0x00000, 0x100000, CRC(715d66ae) SHA1(9326c227bad86eea85194a90f746c60dc032a323) ) ROM_END - +ROM_START( bancook ) + ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "mx27c8000.ic2", 0x00000, 0x100000, CRC(865bef26) SHA1(82820eac162a2b4b4b5da894df4bfc5521d4f89b) ) +ROM_END ROM_START( ts_handy11 ) ROM_REGION( 0x100000, "maincpu", 0 ) @@ -735,8 +747,6 @@ ROM_START( dgun806 ) ROM_LOAD( "dgpnpdgu806as29lv160be_000422c4.bin", 0x00000, 0x200000, CRC(576d6caf) SHA1(fdfa4712e6ed66d2af41ccfbfbf870cd01f7b0f7) ) ROM_END - - ROM_START( dancmix3 ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD( "e28f008sa.u5", 0x00000, 0x100000, CRC(faf6480c) SHA1(68bf79910e091443aecc7bf256cd5378a04c550e) ) @@ -776,6 +786,9 @@ CONS( 1997, bandgpad, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, i CONS( 1997, bandggcn, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "Bandai", "Go! Go! Connie-chan! Asobou Mouse", MACHINE_NOT_WORKING ) +// おジャ魔女どれみのTVでマジカルクッキング +CONS( 2001, bancook, 0, 0, nes_sh6578, bancook, nes_sh6578_cjz_state, init_nes_sh6578, "Bandai", "Ojamajo Doremi no TV de Magical Cooking (Japan)", MACHINE_NOT_WORKING ) + CONS( 200?, cpatrolm, 0, 0, nes_sh6578_pal, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "TimeTop", "City Patrolman", MACHINE_NOT_WORKING ) CONS( 200?, bb6578, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "DaiDaiXing Electronics", "TV Games Baseball (SH6578 hardware)", MACHINE_NOT_WORKING ) diff --git a/src/mame/nintendo/nes_vt02_vt03.cpp b/src/mame/nintendo/nes_vt02_vt03.cpp index f13738d3a06a0..a6fec672b2741 100644 --- a/src/mame/nintendo/nes_vt02_vt03.cpp +++ b/src/mame/nintendo/nes_vt02_vt03.cpp @@ -1215,6 +1215,11 @@ ROM_START( mc_9x6sa ) ROM_LOAD( "999999-in-1, 8 bit slim station, newpxp-dvt22-a pcb.bin", 0x00000, 0x200000, CRC(6a47c6a0) SHA1(b4dd376167a57dbee3dea70eb16f1a38e16bcdaa) ) ROM_END +ROM_START( fccomp88 ) + ROM_REGION( 0x400000, "mainrom", 0 ) + ROM_LOAD( "m29dw323db.u3", 0x00000, 0x400000, CRC(77664c7e) SHA1(2499cbabf74951ea99e71546e54d37b8b18bb1f3) ) +ROM_END + ROM_START( mc_sam60 ) ROM_REGION( 0x200000, "mainrom", 0 ) ROM_LOAD( "29lv160b.bin", 0x00000, 0x200000, CRC(7dac8efe) SHA1(ffb27ebb4299d5b9a4b976c418fcc7695200060c) ) @@ -1578,6 +1583,7 @@ CONS( 200?, mc_7x6ss, 0, 0, nes_vt_1mb, nes_vt, nes_vt_state, empty CONS( 200?, mc_8x6ss, 0, 0, nes_vt_1mb, nes_vt, nes_vt_state, empty_init, "", "888888 in 1 (8 bit Slim Station, NEWPXP-DVT22-A PCB)", MACHINE_IMPERFECT_GRAPHICS ) CONS( 2004, mc_dcat8, 0, 0, nes_vt_8mb, nes_vt, nes_vt_state, empty_init, "", "100 in 1 (D-CAT8 8bit Console, set 1) (v5.01.11-frd, BL 20041217)", MACHINE_IMPERFECT_GRAPHICS ) CONS( 2004, mc_dcat8a, mc_dcat8, 0, nes_vt_8mb, nes_vt, nes_vt_state, empty_init, "", "100 in 1 (D-CAT8 8bit Console, set 2)", MACHINE_IMPERFECT_GRAPHICS ) +CONS( 201?, fccomp88, 0, 0, nes_vt_4mb, nes_vt, nes_vt_state, empty_init, "Columbus Circle", "FC Compact 88-in-1 (CC-SFFC-WT) (Japan)", MACHINE_IMPERFECT_GRAPHICS ) // Runs well, all games seem to work CONS( 201?, mc_89in1, 0, 0, nes_vt_4mb, nes_vt, nes_vt_state, empty_init, "", "89 in 1 Mini Game Console (060-92023011V1.0)", MACHINE_IMPERFECT_GRAPHICS ) diff --git a/src/mame/nintendo/nes_vt32.cpp b/src/mame/nintendo/nes_vt32.cpp index 2ba38ae516946..d07fda9615c1e 100644 --- a/src/mame/nintendo/nes_vt32.cpp +++ b/src/mame/nintendo/nes_vt32.cpp @@ -366,6 +366,12 @@ ROM_START( myaass ) ROM_LOAD( "s29gl256.u2", 0x00000, 0x2000000, CRC(71a3298d) SHA1(5a2441ae5a8bf3e5efe9f22843ad2b8ef2df0f40) ) ROM_END +ROM_START( myaasa ) + ROM_REGION( 0x2000000, "mainrom", 0 ) + ROM_LOAD( "mx29gl256el.u2", 0x00000, 0x2000000, CRC(1882264c) SHA1(e594b5cea634fadc4aac217b6d651be72a3024c0) ) +ROM_END + + ROM_START( fcpocket ) ROM_REGION( 0x8000000, "mainrom", 0 ) @@ -401,6 +407,7 @@ CONS( 201?, dgunl3202, 0, 0, nes_vt32_32mb, nes_vt32, nes_vt32_unk_state, empt // many of the games don't work or have scrambled graphics, it writes 0xc0 to vtfp_411e_encryption_state_w in such cases CONS( 201?, myaass, 0, 0, nes_vt32_32mb, nes_vt32, nes_vt32_unk_state, empty_init, "dreamGEAR", "My Arcade All Star Stadium - Pocket Player (307-in-1)", MACHINE_NOT_WORKING ) +CONS( 201?, myaasa, 0, 0, nes_vt32_32mb, nes_vt32, nes_vt32_unk_state, empty_init, "dreamGEAR", "My Arcade All Star Arena - Pocket Player (307-in-1)", MACHINE_NOT_WORKING ) CONS( 2021, matet300, 0, 0, nes_vt32_32mb, nes_vt32, nes_vt32_unk_state, empty_init, "dreamGEAR", "My Arcade Tetris (DGUNL-7029, Go Gamer, with 300 bonus games)", MACHINE_NOT_WORKING ) diff --git a/src/mame/nintendo/nes_vt369_vtunknown.cpp b/src/mame/nintendo/nes_vt369_vtunknown.cpp index 265ef113607ba..25811e35b57bf 100644 --- a/src/mame/nintendo/nes_vt369_vtunknown.cpp +++ b/src/mame/nintendo/nes_vt369_vtunknown.cpp @@ -708,6 +708,13 @@ ROM_START( lxccplan ) ROM_IGNORE(0x4000000) ROM_END +ROM_START( lxpcsp ) + ROM_REGION( 0x4000000, "mainrom", 0 ) + // standard flash ROM + ROM_LOAD( "s29gl512n11tfi02.u2", 0x00000, 0x4000000, CRC(113e22f2) SHA1(c57184131db3f3c82d09d7757f0977223698f62c) ) +ROM_END + + ROM_START( red5mam ) ROM_REGION( 0x8000000, "mainrom", 0 ) ROM_LOAD( "mam.u3", 0x00000, 0x8000000, CRC(0c0a0ecd) SHA1(2dfd8437de17fc9975698f1933dd81fbac78466d) ) @@ -944,6 +951,12 @@ ROM_START( matet100 ) ROM_IGNORE(0x100) ROM_END +ROM_START( nesvt270 ) + ROM_REGION( 0x2000000, "mainrom", 0 ) + ROM_LOAD( "w25q128jvs.u3", 0x00000, 0x1000300, CRC(fe189a90) SHA1(7f07ae89ae7ff49f139e936b08c9ef2a3467ea92) ) +ROM_END + + void nes_vt369_vtunknown_state::init_lxcmcypp() { int size = memregion("mainrom")->bytes()/2; @@ -997,16 +1010,18 @@ CONS( 200?, lxcmc250, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknow CONS( 200?, lxcmcysw, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Star Wars Rebels", MACHINE_NOT_WORKING ) CONS( 200?, lxcmcyfz, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Frozen", MACHINE_NOT_WORKING ) CONS( 200?, lxcmcydp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Disney Princess", MACHINE_NOT_WORKING ) -CONS( 200?, lxcmcysp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Marvel Ultimate Spider-Man", MACHINE_NOT_WORKING ) +CONS( 200?, lxcmcysp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Marvel Ultimate Spider-Man", MACHINE_NOT_WORKING ) // is this the low-resolution pocket version? ROM structure is quite different CONS( 200?, lxcmcycr, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Cars", MACHINE_NOT_WORKING ) CONS( 200?, lxcmcypj, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - PJ Masks", MACHINE_NOT_WORKING ) -CONS( 200?, lxcmcyba, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Barbie", MACHINE_NOT_WORKING ) +CONS( 200?, lxcmcyba, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Compact Cyber Arcade - Barbie (JL2365BB)", MACHINE_NOT_WORKING ) // the data order is swapped for this one, maybe other internal differences? CONS( 200?, lxcmcypp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, init_lxcmcypp, "Lexibook", "Compact Cyber Arcade - Paw Patrol", MACHINE_NOT_WORKING ) CONS( 200?, lxccminn, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Console Colour - Minnie Mouse", MACHINE_NOT_WORKING ) CONS( 200?, lxccplan, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Console Colour - Disney's Planes", MACHINE_NOT_WORKING ) +CONS( 2020, lxpcsp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Power Console - Marvel Spider-Man", MACHINE_NOT_WORKING ) + // GB-NO13-Main-VT389-2 on PCBs CONS( 2016, rtvgc300, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Retro TV Game Console - 300 Games", MACHINE_NOT_WORKING ) CONS( 2017, rtvgc300fz,0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Lexibook", "Retro TV Game Console - Frozen - 300 Games", MACHINE_NOT_WORKING ) @@ -1015,12 +1030,25 @@ CONS( 2017, rtvgc300fz,0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknow /* The following are also confirmed to be NES/VT derived units, most having a standard set of games with a handful of lazy graphic mods thrown in to fit the unit theme (handheld units, use standard AAA batteries) - Lexibook Compact Cyber Arcade - Barbie + Lexibook Compact Cyber Arcade - Batman Lexibook Compact Cyber Arcade - Finding Dory - (Handheld units, but different form factor to Compact Cyber Arcade, charged via USB) + (handheld units, use standard AAA batteries, smaller display) + Lexibook Compact Cyber Arcade Pocket - Spiderman (may be what the dump above is) + + (Handheld units, but different form factor to Compact Cyber Arcade, charged via USB, different menus) Lexibook Console Colour - Barbie + (Handheld units, charged via USB-C, more educational focused, contain bootleg NES Pinball game in games section) + Power Console - Gabby's Dollhouse + Power Console - Disney Princess + Power Console - Stitch + Power Console - Frozen + Power Console - Generic EN/FR model + Power Console - Generic EN/ES model + Power Console - Generic EN/DE model + Power Console - Paw Patrol + (units for use with TV) Lexibook Retro TV Game Console (300 Games) - Cars Lexibook Retro TV Game Console (300 Games) - PJ Masks @@ -1114,6 +1142,8 @@ CONS( 201?, hkb502a, hkb502, 0, nes_vt369_vtunknown_hh_4mb, nes_vt369_vtunknow // contains a protection chip, command 80 XX returns a byte CONS( 201?, lxcap, 0, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "Lexibook", "Cyber Arcade Pocket (JL1895)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) +// 2022 date on 'BL-867 PCB03' PCB +CONS( 2022, nesvt270, 0, 0, nes_vt369_vtunknown_hh_16mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "", "unknown VT3xx based 270-in-1 (BL-867 PCB03)", MACHINE_NOT_WORKING ) // VT369, but doesn't use most features CONS( 201?, myarccn, 0, 0, nes_vt369_vtunknown_hh_1mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "DreamGear", "My Arcade Caveman Ninja", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) diff --git a/src/mame/sega/megadriv_rad.cpp b/src/mame/sega/megadriv_rad.cpp index 493b04c5a275f..6e5584a7f4896 100644 --- a/src/mame/sega/megadriv_rad.cpp +++ b/src/mame/sega/megadriv_rad.cpp @@ -1,4 +1,4 @@ -// license:BSD-3-Clause +// license:BSD-3-Clause // copyright-holders:David Haywood /* @@ -775,6 +775,11 @@ ROM_START( ra145 ) ROM_LOAD16_WORD_SWAP( "ra145.bin", 0x000000, 0x8000000, BAD_DUMP CRC(30583950) SHA1(855eae232e3830a505f9bc1a26edb3a7d15ce4d1) ) ROM_END +ROM_START( banmrid ) + ROM_REGION( 0x400000, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "b75909a.u10", 0x000000, 0x400000, CRC(b439e06e) SHA1(3a87fc16186b7042dd92c7cf68c4284cd86f9175) ) +ROM_END + void megadriv_b010xx_select_state::init_atgame40() { m_romsize = 0x1000000; @@ -902,6 +907,8 @@ CONS( 2004, rad_orun, 0, 0, megadriv_radica_3button_pal, radica_3button // this has been verified as identical to the 6-in-1 cartridge that came with the Menacer gun for the MD CONS( 2004, rad_mncr, 0, 0, megadriv_radica_3button_ntsc, radica_3button_1player, megadriv_radica_state, init_megadriv, "Radica / Sega", "Menacer (Radica Plug & Play)", MACHINE_NOT_WORKING ) +// 仮面ライダー龍騎 サバイバルファイト +CONS( 2002, banmrid, 0, 0, megadriv_radica_3button_ntsc, radica_3button_1player, megadriv_radica_state, init_megadriv, "Bandai", "Kamen Rider Ryuki: Survival Fight (Japan)", MACHINE_NOT_WORKING ) // From a European unit but NTSC? - code is hacked from original USA Genesis game with region check still intact? (does the clone hardware always identify as such? or does the bypassed boot code skip the check?) // TODO: move out of here eventually once the enhanced MD part is emulated rather than bypassed (it's probably the same as the 145-in-1 multigame unit, but modified to only include this single game) diff --git a/src/mame/skeleton/hudson_poems.cpp b/src/mame/skeleton/hudson_poems.cpp index 78e5f7362bf76..bdd327d88092d 100644 --- a/src/mame/skeleton/hudson_poems.cpp +++ b/src/mame/skeleton/hudson_poems.cpp @@ -233,6 +233,11 @@ static INPUT_PORTS_START( poemspoo ) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END +static INPUT_PORTS_START( ewalk ) + PORT_START( "IN1" ) + PORT_BIT( 0xffffffff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) +INPUT_PORTS_END + void hudson_poems_state::draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { int spritebase = (m_spritelistbase & 0x0003ffff) / 4; @@ -937,6 +942,10 @@ ROM_START(poemspoo) // seeprom position not populated ROM_END +ROM_START( ewalk2tv ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "poem.u2", 0x000000, 0x400000, CRC(933ed5fd) SHA1(d6c818cfb50be594969e712e394e1a372774ae98) ) // glob with TSOP pads +ROM_END } // anonymous namespace @@ -953,3 +962,6 @@ CONS( 2004, poemzet, 0, 0, hudson_poems, poemzet, hudson_po CONS( 2005, poemzet2, 0, 0, hudson_poems, poemzet, hudson_poems_state, init_marimba, "Konami", "Zettai Zetsumei Dangerous Jiisan Party ja! Zen-in Shuugou!!", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND ) CONS( 2005, poemspoo, 0, 0, hudson_poems, poemspoo, hudson_poems_state, init_marimba, "Konami", "Goo Choco Lantan Spoo Daisuki! Playmat", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND) + +// Kenshinkeikaku TV (健身計画TV) - TV unit to analyze data from e-walkeylife2 pedometer +CONS( 2006, ewalk2tv, 0, 0, hudson_poems, ewalk, hudson_poems_state, init_marimba, "Konami", "Kenshinkeikaku TV (for e-walkeylife2) (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND) diff --git a/src/mame/tvgames/generalplus_gp327902.cpp b/src/mame/tvgames/generalplus_gp327902.cpp new file mode 100644 index 0000000000000..8123191c7b138 --- /dev/null +++ b/src/mame/tvgames/generalplus_gp327902.cpp @@ -0,0 +1,204 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood + +#include "emu.h" + +#include "cpu/arm7/arm7.h" +#include "machine/timer.h" + +#include "screen.h" +#include "speaker.h" + +#include "multibyte.h" + + +namespace { + +class generalplus_gp327902_game_state : public driver_device +{ +public: + generalplus_gp327902_game_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_screen(*this, "screen") + { } + + void gp327902(machine_config &config) ATTR_COLD; + + void init_spi() ATTR_COLD; + +protected: + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; + + void arm_map(address_map &map) ATTR_COLD; + + required_device m_maincpu; + required_device m_screen; + + uint32_t screen_update_gp327902(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + +private: + TIMER_DEVICE_CALLBACK_MEMBER(timer); + + uint32_t c0020070_unk_r() { return machine().rand(); } + void c0060000_unk_w(uint32_t data); + uint32_t c008000c_unk_r() { return machine().rand(); } + uint32_t d000003c_unk_r() { return 0xffffffff; } + + int m_copybase; + int m_copylength; + int m_copydest; +}; + + +void generalplus_gp327902_game_state::c0060000_unk_w(uint32_t data) +{ + /* + + this is some kind of debug serial output, it currently outputs (if copy_lowest_block is set to false) the following sequence + + adc_init + DAC Task Create[0] + DAC BG Task Create[0] + Audio Task Create[4] + Audio BG Task Create[6] + FileServ Task Create[8] + Image Task Create[10] + audio_init() + watch-dog enable + power on + + with copy_lowest_block as true you get + + GP DV BootLoader v2.2 Entry @ 0 MHz + GPDV chip detect + + */ + //printf("%c", data & 0xff); +} + +void generalplus_gp327902_game_state::arm_map(address_map &map) +{ + map(0x00000000, 0x001fffff).ram(); // 16M-bit internal SDRAM + + map(0xc0020070, 0xc0020073).r(FUNC(generalplus_gp327902_game_state::c0020070_unk_r)); + map(0xc0060000, 0xc0060003).w(FUNC(generalplus_gp327902_game_state::c0060000_unk_w)); + map(0xc008000c, 0xc008000f).r(FUNC(generalplus_gp327902_game_state::c008000c_unk_r)); + map(0xd000003c, 0xd000003f).r(FUNC(generalplus_gp327902_game_state::d000003c_unk_r)); + + map(0xf8000000, 0xf80003ff).ram(); // writes pointers used by exceptions (including IRQs) here +} + +TIMER_DEVICE_CALLBACK_MEMBER( generalplus_gp327902_game_state::timer ) +{ + m_maincpu->set_input_line(arm7_cpu_device::ARM7_FIRQ_LINE, HOLD_LINE); +} + +uint32_t generalplus_gp327902_game_state::screen_update_gp327902(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +void generalplus_gp327902_game_state::machine_start() +{ +} + +void generalplus_gp327902_game_state::machine_reset() +{ + // perform some kind of bootstrap likely done by an internal ROM + uint8_t *spirom = memregion("spi")->base(); + address_space &mem = m_maincpu->space(AS_PROGRAM); + + for (int i = 0; i < m_copylength / 2; i++) + { + uint16_t word = get_u16le(&spirom[m_copybase + (i * 2)]); + mem.write_word(m_copydest + (i * 2), word); + } + + m_maincpu->set_state_int(arm7_cpu_device::ARM7_R15, m_copydest); +} + +static INPUT_PORTS_START( gp327902 ) +INPUT_PORTS_END + +void generalplus_gp327902_game_state::gp327902(machine_config &config) +{ + ARM9(config, m_maincpu, 240'000'000); // unknown core / frequency, but ARM based + m_maincpu->set_addrmap(AS_PROGRAM, &generalplus_gp327902_game_state::arm_map); + + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_refresh_hz(60); + m_screen->set_size(320, 262); + m_screen->set_visarea(0, 320-1, 0, 240-1); + m_screen->set_screen_update(FUNC(generalplus_gp327902_game_state::screen_update_gp327902)); + + SPEAKER(config, "lspeaker").front_left(); + SPEAKER(config, "rspeaker").front_right(); + + TIMER(config, "timer").configure_periodic(FUNC(generalplus_gp327902_game_state::timer), attotime::from_hz(1000)); +} + +void generalplus_gp327902_game_state::init_spi() +{ + const bool copy_lowest_block = true; // change this to false to copy a later part of the bootstrap sequence on sanpetx? + + // these likely come from the header at the start of the ROM + if (copy_lowest_block) + { + // all dumped sets have a block here + m_copybase = 0x800; + m_copydest = 0x1f8000; + m_copylength = 0x2800; + } + else + { + // sanxpet has the main block here, which is likely copied to RAM by previous parts of the bootloader above + m_copybase = 0x16000; + m_copydest = 0x0; + m_copylength = 0x200000; + } +} + +ROM_START( sanxpet ) + ROM_REGION( 0x800000, "spi", ROMREGION_ERASE00 ) + ROM_LOAD( "25l64.u1", 0x0000, 0x800000, CRC(f28b9fd3) SHA1(8ed4668f271cbe01065bc0836e49ce70faf10834) ) +ROM_END + +ROM_START( sanxpeta ) + ROM_REGION( 0x800000, "spi", ROMREGION_ERASE00 ) + ROM_LOAD( "gpr25l6403f.u1", 0x0000, 0x800000, CRC(cb5dc7b6) SHA1(425c4d01b56784278b77824a354d9efa46e1a74e) ) +ROM_END + +ROM_START( tomyegg ) + ROM_REGION( 0x800000, "spi", ROMREGION_ERASE00 ) + ROM_LOAD( "gpr25l6403f.u1", 0x0000, 0x800000, CRC(2acd6752) SHA1(85e59546a1af4618c75c275cead7ef0f5e3faa44) ) +ROM_END + +} // anonymous namespace + +// Tomy / San-X devices + +// dates for each of these taken from back of case, are the DX versions different software or just different accessories? + +// 2018 version is a square device - Sumikko Gurashi - Sumikko Atsume (すみっコぐらし すみっコあつめ) + +// 2019 version is house shaped device - すみっコぐらし すみっコさがし +CONS( 2019, sanxpet, 0, 0, gp327902, gp327902, generalplus_gp327902_game_state, init_spi, "San-X / Tomy", "Sumikko Gurashi - Sumikko Sagashi (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +// or Sumikko Gurashi - Sumikko Sagashi DX (すみっコぐらし すみっコさがしDX "Sumikko Gurashi the movie" alt version) + +// 2020 version is a cloud shaped device - Sumikko Gurashi - Sumikko Catch (すみっコぐらし すみっコキャッチ) +// or Sumikko Gurashi - Sumikko Catch DX (すみっコぐらし すみっコキャッチDX) = Sumikko Catch with pouch and strap + +// 2021 version is a square device with a tiny 'mole' figure on top - すみっコぐらし すみっコみっけDX +// or Sumikko Gurashi - Sumikko Mikke (すみっコぐらし すみっコみっけ) +CONS( 2021, sanxpeta, 0, 0, gp327902, gp327902, generalplus_gp327902_game_state, init_spi, "San-X / Tomy", "Sumikko Gurashi - Sumikko Mikke DX (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + + +// other devices on the same Soc + +// キラッとプリ☆チャン プリたまGO ミスティパープル +CONS( 2019, tomyegg, 0, 0, gp327902, gp327902, generalplus_gp327902_game_state, init_spi, "Tomy", "Kiratto Pri-Chan - PritamaGO: Misty Purple (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +// these also exist, are they the same software or different versions? +// Powder Pink (パウダーピンク) +// Mint Blue (ミントブルー). diff --git a/src/mame/tvgames/generalplus_gpl16250_romram.cpp b/src/mame/tvgames/generalplus_gpl16250_romram.cpp index 2192c6a53105c..dead2f8e7176c 100644 --- a/src/mame/tvgames/generalplus_gpl16250_romram.cpp +++ b/src/mame/tvgames/generalplus_gpl16250_romram.cpp @@ -612,6 +612,19 @@ which is also found in the Wireless Air 60 ROM. */ +// Bokudora Ver1.4 2014-09-20 on PCB +ROM_START(tomycar) + //ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) // not on this model? (or at least not this size, as CS base is different) + //ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) + + ROM_REGION(0x2000000, "maincpu", ROMREGION_ERASE00) + // this loading gives correct sprites (must be swapped somewhere on PCB because this was otherwise a standard pinout?) + // but backgrounds are still broken (different issue maybe? there are writes to CS0 ROM area) + ROM_LOAD16_WORD_SWAP( "tomycar.bin", 0x000000, 0x800000, CRC(bd98a198) SHA1(117aba55bf98bf76cbc9ed169e2a968bfdd9ed1a) ) + ROM_CONTINUE(0x1000000, 0x800000) + ROM_CONTINUE(0x0800000, 0x800000) + ROM_CONTINUE(0x1800000, 0x800000) +ROM_END @@ -630,3 +643,6 @@ CONS(2009, jak_ths, 0, 0, gpl16250_romram, jak_ths, jak_s500_game_state, init_ CONS(2011, wrlshunt, 0, 0, gpl16250_romram, wrlshunt, wrlshunt_game_state, init_wrlshunt, "Hamy / Kids Station Toys Inc", "Wireless Hunting Video Game System", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +// ぼくはトミカドライバー はたらくのりもの大集合! +CONS(2014, tomycar, 0, 0, gpl16250_romram, paccon, jak_prft_game_state, init_wrlshunt, "Tomy Takara", "Boku wa Tomica Driver - Hataraku Norimono Daishuugou! (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + diff --git a/src/mame/tvgames/generalplus_gpl16250_spi.cpp b/src/mame/tvgames/generalplus_gpl16250_spi.cpp index 8479625cbaf3f..3be14982e2950 100644 --- a/src/mame/tvgames/generalplus_gpl16250_spi.cpp +++ b/src/mame/tvgames/generalplus_gpl16250_spi.cpp @@ -148,6 +148,16 @@ ROM_START( anpanbd ) ROM_LOAD16_WORD_SWAP( "mx25l12835f.u2", 0x0000, 0x1000000, CRC(c4be09d7) SHA1(c9098d0c1c9db649a010f67469f500b69407372f) ) ROM_END +ROM_START( anpanm15 ) + 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(0x1000000, "maincpu", ROMREGION_ERASE00) + ROM_LOAD16_WORD_SWAP( "mx25l12835f.ic3", 0x0000, 0x1000000, CRC(47c36cbd) SHA1(f1cae506e21c1795401004d79f6bb1b1d982d657) ) +ROM_END + + + ROM_START( bk139in1 ) 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) @@ -210,6 +220,9 @@ CONS(2015, prailpls, 0, 0, generalplus_gpspispi, gcm394, generalplus_gps // this is a half-head shaped unit, SHP13017-R1 main PCB - アンパンマン レッツゴー!育脳ドライブ きみものれるよ!アンパンマンごう「それいけ!アンパンマン」 CONS(2014, anpanbd, 0, 0, generalplus_gpspispi, gcm394, generalplus_gpspispi_game_state, init_spi, "JoyPalette", "Anpanman: Let's Go! Ikunou Drive (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +// それいけ!アンパンマン」みんなで!育脳マット +CONS(2015, anpanm15, 0, 0, generalplus_gpspispi, gcm394, generalplus_gpspispi_game_state, init_spi, "JoyPalette", "Anpanman: Minnade! Ikunou Mat (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) + CONS(2015, bkrankp, 0, 0, generalplus_gpspispi_bkrankp, gcm394, generalplus_gpspispi_bkrankp_game_state, init_spi, "Bandai", "Karaoke Ranking Party (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) // This can be found listed as a ZHISHAN / Aojiao / Bornkid 32 Bit Preloaded 139-in-1 Handheld Game Console diff --git a/src/mame/tvgames/generalplus_gpl32612.cpp b/src/mame/tvgames/generalplus_gpl32612.cpp index 09a99e015ad87..61bae26c9aa42 100644 --- a/src/mame/tvgames/generalplus_gpl32612.cpp +++ b/src/mame/tvgames/generalplus_gpl32612.cpp @@ -294,9 +294,14 @@ ROM_START( pocketmr ) ROM_LOAD( "tc58nvg0s3hta00_withspare.u6", 0x0000, 0x8800000, CRC(ec839dde) SHA1(18b77c7e1cf3c66787ccfde9f450671e3d1b0e36) ) ROM_END -ROM_START( sanxpet ) - ROM_REGION( 0x800000, "spi", ROMREGION_ERASE00 ) - ROM_LOAD( "25l64.u1", 0x0000, 0x800000, CRC(f28b9fd3) SHA1(8ed4668f271cbe01065bc0836e49ce70faf10834) ) +ROM_START( dmnslayg ) + ROM_REGION( 0x8800000, "nand", ROMREGION_ERASE00 ) + ROM_LOAD( "tc58nvg0s3hta00_with_spare.u3", 0x0000, 0x8800000, CRC(a9402fdb) SHA1(0809a8da176f65efc2926131ba0259278d3c644d) ) +ROM_END + +ROM_START( anpanm19 ) + ROM_REGION( 0x1000000, "spi", ROMREGION_ERASE00 ) + ROM_LOAD( "25l1280.u3", 0x0000, 0x1000000, CRC(7932fb3e) SHA1(a381eeba5357fe71e4d6081b9b91b57e5705f7f1) ) ROM_END @@ -368,6 +373,10 @@ CONS( 201?, kidizmb, 0, 0, gpl32612, gpl32612, generalplus_g CONS( 2019, pocketmp, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init880, "Takara Tomy", "Pocket Monsters PC", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) CONS( 2019, pocketmr, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init880, "Takara Tomy", "Pocket Monsters Rotom Tablet", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) -// uses GP327902, might not fit here, 2019 date from case -// すみっコぐらし すみっコさがし -CONS( 2019, sanxpet, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, empty_init, "San-X / Tomy", "Sumikko Gurashi - Sumikko Sagashi", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) +// uses GPL32610 - 「それいけ!アンパンマン」スポーツ育脳マット +CONS( 2019, anpanm19, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, empty_init, "JoyPalette", "Anpanman: Sports Ikunou Mat (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) + +// unknown (uses a glob) but it's GeneralPlus and ARM based, so put in here for now +// ROM has 'GPNandTag2' header rather than the usual +// 鬼滅の刃 全集中パッド(グリーン) +CONS( 2021, dmnslayg, 0, 0, gpl32612, gpl32612, generalplus_gpl32612_game_state, nand_init880, "Bandai", "Demon Slayer: Kimetsu no Yaiba Zenshuuchuu Pad (green ver.) (Japan)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) diff --git a/src/mame/tvgames/generalplus_gpm453x_nand.cpp b/src/mame/tvgames/generalplus_gpm453x_nand.cpp new file mode 100644 index 0000000000000..c7a8c1272899a --- /dev/null +++ b/src/mame/tvgames/generalplus_gpm453x_nand.cpp @@ -0,0 +1,111 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood + + +/***************************************************************************** + + ARM Cortex M4F based GPM453x series chips + + all game data is stored on a NAND + + both games here are on HDMI sticks + + These likely boot from an internal ROM so will need bootstrapping without + a dump of it + + LeapLand Adventures - GPM4530A + Paw Patrol - GPM4532C + +*****************************************************************************/ + + +#include "emu.h" + +#include "bus/generic/slot.h" +#include "bus/generic/carts.h" +#include "cpu/arm7/arm7.h" + +#include "screen.h" +#include "softlist_dev.h" +#include "speaker.h" + + +namespace { + +class generalplus_gpm453x_game_state : public driver_device +{ +public: + generalplus_gpm453x_game_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_screen(*this, "screen") + { } + + void gpm453x(machine_config &config) ATTR_COLD; + +protected: + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; + + void arm_map(address_map &map) ATTR_COLD; + + required_device m_maincpu; + required_device m_screen; + + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + +private: + +}; + + +void generalplus_gpm453x_game_state::arm_map(address_map &map) +{ + map(0x00000000, 0x03ffffff).ram(); +} + +uint32_t generalplus_gpm453x_game_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +void generalplus_gpm453x_game_state::machine_start() +{ +} + +void generalplus_gpm453x_game_state::machine_reset() +{ +} + +static INPUT_PORTS_START( gpm453x ) +INPUT_PORTS_END + +void generalplus_gpm453x_game_state::gpm453x(machine_config &config) +{ + ARM9(config, m_maincpu, 240'000'000); // unknown core / frequency, but ARM based + m_maincpu->set_addrmap(AS_PROGRAM, &generalplus_gpm453x_game_state::arm_map); + + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_refresh_hz(60); + m_screen->set_size(320, 262); + m_screen->set_visarea(0, 320-1, 0, 240-1); + m_screen->set_screen_update(FUNC(generalplus_gpm453x_game_state::screen_update)); + + SPEAKER(config, "lspeaker").front_left(); + SPEAKER(config, "rspeaker").front_right(); +} + +ROM_START( leapland ) + ROM_REGION( 0x22000000, "nand", ROMREGION_ERASEFF ) + ROM_LOAD( "tc58nvg2s0hta00_withspare.u2", 0x000000, 0x22000000, CRC(2482c26d) SHA1(2ebaacdcc9188bcf86507ebdc9cea6e13f9b9988) ) +ROM_END + +ROM_START( leappawp ) + ROM_REGION( 0x11000000, "nand", ROMREGION_ERASEFF ) + ROM_LOAD( "tc58nvg1s3hta00_withspare.u2", 0x000000, 0x11000000, CRC(0d7ff9a1) SHA1(9916c3578595b89e94c0ab64f4356badc5b8a0dd) ) +ROM_END + +} // anonymous namespace + +CONS( 2021, leapland, 0, 0, gpm453x, gpm453x, generalplus_gpm453x_game_state, empty_init, "LeapFrog", "LeapLand Adventures (UK)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2021, leappawp, 0, 0, gpm453x, gpm453x, generalplus_gpm453x_game_state, empty_init, "LeapFrog", "PAW Patrol: To The Rescue! (UK)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/gpm4530a_lexibook_jg7420.cpp b/src/mame/tvgames/generalplus_gpm453x_sdcard.cpp similarity index 82% rename from src/mame/tvgames/gpm4530a_lexibook_jg7420.cpp rename to src/mame/tvgames/generalplus_gpm453x_sdcard.cpp index 6782cfcb1cf11..f1b6ae999c3dd 100644 --- a/src/mame/tvgames/gpm4530a_lexibook_jg7420.cpp +++ b/src/mame/tvgames/generalplus_gpm453x_sdcard.cpp @@ -82,13 +82,22 @@ void gpm4530a_lexibook_state::gpm4530a_lexibook(machine_config &config) ROM_START( lx_jg7420 ) ROM_REGION( 0x10000, "boot", ROMREGION_ERASEFF ) - ROM_LOAD( "bootrom.bin", 0x00000, 0x10000, NO_DUMP ) // unknown size/capacity/type + ROM_LOAD( "bootrom.bin", 0x00000, 0x10000, NO_DUMP ) // unknown size/capacity/type (internal?) DISK_REGION( "sdcard" ) // 4GB SD Card DISK_IMAGE( "jg7420", 0, SHA1(214a1686c7eefdb4cb5d723e98957600c8cb138d) ) ROM_END +ROM_START( rizstals ) + ROM_REGION( 0x100000, "spi", ROMREGION_ERASEFF ) + ROM_LOAD( "mx25v8035f.u5", 0x0000, 0x100000, CRC(1ba0c7b8) SHA1(d3f4fdabf07c1d8bbd73da54280e3fab006a72b6) ) + + DISK_REGION( "sdcard" ) // 8GB SD Card + DISK_IMAGE( "sdcard", 0, SHA1(79462dd4a632d9b9710581ed170a696c059e8a2d) ) +ROM_END + } // anonymous namespace // JG7420_24 on sticker CONS( 201?, lx_jg7420, 0, 0, gpm4530a_lexibook, gpm4530a_lexibook, gpm4530a_lexibook_state, empty_init, "Lexibook", "Lexibook JG7420 200-in-1", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 2021, rizstals, 0, 0, gpm4530a_lexibook, gpm4530a_lexibook, gpm4530a_lexibook_state, empty_init, "Takara Tomy", "RizSta Live Studio", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/spg2xx.cpp b/src/mame/tvgames/spg2xx.cpp index b587d6a54c532..afb4b093c64d9 100644 --- a/src/mame/tvgames/spg2xx.cpp +++ b/src/mame/tvgames/spg2xx.cpp @@ -485,6 +485,28 @@ static INPUT_PORTS_START( spg2xx ) // base structure for easy debugging / figuri PORT_DIPSETTING( 0x8000, "8000" ) INPUT_PORTS_END +static INPUT_PORTS_START( wordlnch ) + PORT_INCLUDE( spg2xx ) + + PORT_MODIFY("P1") + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON2 ) // might be multiple inputs here + PORT_DIPNAME( 0x8000, 0x8000, "PAL/NTSC" ) // shows in test mode, changes Z from 'Zed' to 'Zee' + PORT_DIPSETTING( 0x0000, "NTSC" ) + PORT_DIPSETTING( 0x8000, "PAL" ) + + PORT_MODIFY("P2") + PORT_DIPNAME( 0x0040, 0x0000, "Test Pin?" ) + PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON3 ) + + PORT_MODIFY("P3") + PORT_DIPNAME( 0x4000, 0x0000, "P3:4000 (Battery?)" ) // state of this can cause shutdowns too? + PORT_DIPSETTING( 0x0000, "0000" ) + PORT_DIPSETTING( 0x4000, "4000" ) +INPUT_PORTS_END + static INPUT_PORTS_START( epo_tetr ) // all inputs verified against hidden test mode PORT_INCLUDE( spg2xx ) @@ -2547,6 +2569,20 @@ ROM_START( prail ) ROM_LOAD16_WORD_SWAP( "traingame.u1", 0x000000, 0x8000000, CRC(5c96d526) SHA1(cda0280b320762bda7a7358ec7ce29690aa815fb) ) ROM_END +ROM_START( wordlnch ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD16_WORD_SWAP( "wordplay.u7", 0x000000, 0x800000, CRC(604f59ff) SHA1(024d554a15e6c3a6b9c3a15bfd657964d1deba83) ) + + // these are needed to boot right now, checksum passes without them + // patch start-up check + ROM_FILL( 0x97f9e, 1, 0x42 ) + ROM_FILL( 0x97f9f, 1, 0x40 ) + + // patch loop on leapfrog logo + ROM_FILL( 0x95bc8, 1, 0x44 ) + ROM_FILL( 0x95bc9, 1, 0x40 ) +ROM_END + void spg2xx_game_state::init_crc() { @@ -2668,7 +2704,7 @@ CONS( 2006, vtechtvsgr, 0, 0, spg2xx, spg2xx, spg2xx_game_state, CONS( 2007, itvphone, 0, 0, spg2xx_pal, itvphone, spg2xx_game_state, init_itvphone, "Taikee / Oregon Scientific / V-Tac Technology Co Ltd.", u8"Teléfono interactivo de TV (Spain)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // "Boots's" is used on the title screen and in the manual, even if "Boots'" is usually used outside of this game. -CONS( 2006, doraphon, 0, 0, doraphone, doraphone, spg2xx_game_doraphone_state,empty_init, "VTech", "Dora the Explorer - Dora TV Explorer Phone / Boots's Special Day (US)", MACHINE_IMPERFECT_SOUND ) +CONS( 2006, doraphon, 0, 0, doraphone, doraphone, spg2xx_game_doraphone_state,empty_init, "VTech", "Dora the Explorer - Dora TV Explorer Phone / Boots's Special Day (US/UK)", MACHINE_IMPERFECT_SOUND ) // same ROM confirmed on both US and UK units CONS( 2006, doraphonf, doraphon, 0, doraphonep,doraphonep,spg2xx_game_doraphone_state,empty_init, "VTech", "Dora the Explorer - Dora TV Explorer Phone / L'anniversaire de Babouche (France)", MACHINE_IMPERFECT_SOUND ) // This was from a 'cost reduced' unit with the 'non-TV' mode switch and internal speaker removed, however it looks like the code was not disabled or removed as the mode is fully functional. // The ZC-Infinity video for this on YouTube shows the map scrolling to center the continent, there doesn't appear to be an input for this, different revision? @@ -2749,3 +2785,5 @@ CONS( 2007, epo_tetr, 0, 0, epo_tetr, epo_tetr, epo_tetr_game_state, // Last few bytes of SEEPROM have 'JUNGT' in them, is this developed by JungleSoft/JungleTac? CONS( 2012, prail, 0, 0, prail, prail, spg2xx_game_prail_state, empty_init, "Takara Tomy", "Boku wa Plarail Untenshi - Shinkansen de Ikou! (Japan)", MACHINE_IMPERFECT_SOUND ) // the 'plus' version from 2015 runs on newer hardware, see generalplus_gpl16250_spi.cpp + +CONS( 2007, wordlnch, 0, 0, spg2xx, wordlnch, spg2xx_game_state, empty_init, "LeapFrog", "Word Launch (UK)", MACHINE_NOT_WORKING ) diff --git a/src/mame/tvgames/xavix.cpp b/src/mame/tvgames/xavix.cpp index ca291e82efff7..b89018bf7108b 100644 --- a/src/mame/tvgames/xavix.cpp +++ b/src/mame/tvgames/xavix.cpp @@ -35,7 +35,6 @@ year name PCB ID ROM width TSOP pads ROM size SEEPROM die markings extra components / notes 2006 Hello Kitty カードでおままごと あいうおえ図鑑 / エポック社 / 日本 Hello Kitty Play House with Cards Aiuoe Illustrated Book / Epochsha / Japan - スーパーテレビパソコンLink / エポック社 / 日本 Super TV PC Link / Epoch / Japan Let's!TVプレイ ふしぎ星のふたご姫Gyu! ドレスチェンジでキュートにダンス / バンダイ / 日本 Let's!TV Play Gyu, the Twin Princess of the Mysterious Planet! Dance cutely with a dress change / Bandai / Japan Jala Jaland /atlus/Japan (arcade version) - - - - - - - 2004 Printer for TV computer /EPOCH/Japan - - - - - - - @@ -55,6 +54,7 @@ 2005 Let's!TVプレイ ドラゴンボ-ルZ バトル体感かめはめ波~ おめぇとフュージョン / バンダイ / 日本 Let's! TV Play Dragon Ball Z Battle Taikan Kamehameha~ Omee to Fusion / Bandai / Japan dumped: either here, xavix_2000.cpp, or xavix_2002.cpp + スーパーテレビパソコンLink / エポック社 / 日本 Super TV PC Link / Epoch / Japan Let's!TVプレイ なりきりファイト ウルトラマン 撃て!必殺光線!! / タカラトミー / 日本 Let's!TV Play Narikiri Fight Ultraman Shoot! Deadly ray! ! / Takara Tomy / Japan Hello Kitty TV computer /EPOCH/Japan - - - - - - - Popira Korea version /SONOKONG/Korea - - - - - - - diff --git a/src/mame/tvgames/xavix_2002.cpp b/src/mame/tvgames/xavix_2002.cpp index 2d18a12f554fb..6aca38d0b3404 100644 --- a/src/mame/tvgames/xavix_2002.cpp +++ b/src/mame/tvgames/xavix_2002.cpp @@ -823,6 +823,14 @@ ROM_START( suprtvpcdo ) ROM_CONTINUE(0x400000, 0x200000) ROM_END +ROM_START( suprtvpcln ) // from the 'Super TV-PC Link' branded unit which was bundled with a link card, updated copyright date compared to suprtvpc set at least + ROM_REGION(0x800000, "bios", ROMREGION_ERASE00) // inverted line? + ROM_LOAD("stvpc.u3", 0x200000, 0x200000, CRC(55d872ca) SHA1(7d0b4b527e95f65df5d70dcc303c81c7d893c638) ) + ROM_CONTINUE(0x000000, 0x200000) + ROM_CONTINUE(0x600000, 0x200000) + ROM_CONTINUE(0x400000, 0x200000) +ROM_END + ROM_START( epo_ntpj ) ROM_REGION(0x800000, "bios", ROMREGION_ERASE00) ROM_LOAD("ntpj.u6", 0x000000, 0x800000, CRC(6ce02166) SHA1(21c2ed48014e66123bb9968648984f82de361e2a) ) @@ -965,6 +973,7 @@ CONS( 2008, udance, 0, 0, xavix2002, xavix, superxavix_state, init_xavix, "Tig CONS( 2004, suprtvpc, 0, 0, superxavix_super_tv_pc, suprtvpc, superxavix_super_tv_pc_state, init_stvpc, "Epoch / SSD Company LTD", "Super TV-PC (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) CONS( 2006, suprtvpchk, suprtvpc, 0, superxavix_super_tv_pc, suprtvpc, 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, suprtvpc, 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( 2006, suprtvpcln, suprtvpc, 0, superxavix_super_tv_pc, suprtvpc, superxavix_super_tv_pc_state, init_stvpc, "Epoch / SSD Company LTD", "Super TV-PC - Link (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // similar to Super TV-PC but with additional built in piano CONS( 2008, epo_ntpj, 0, 0, superxavix_piano_pc, suprtvpc, superxavix_piano_pc_state, init_piano_pc, "Epoch / SSD Company LTD", "Hello Kitty Piano PC (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )