Plug+Play work (1 working, 8 non-working, 2 softlist, minor research) (#13497)

- added controls to maxheart (game is playable, but shuts down into power saving after 15 minutes as if no buttons had been pressed) [David Haywood]
- started researching the banking scheme used by atgame40, while several games are now bootable the others appear to use video modes specific to this Genesis clone SoC so fail to display proper gameplay [David Haywood]

new WORKING machines
------------
Millennium Arcade 3D 15-in-1 [TeamEurope, David Haywood]

new NOT WORKING machines
------------
TV Games Baseball (SH6578 hardware) [Ankos, Kryzsiobal]
Chāo Jí Zhī Shi Dà Fù Wēng (vol. 1) [Ankos, Kryzsiobal]
Chāo Jí Zhī Shi Dà Fù Wēng (vol. 2) [Ankos, Kryzsiobal]
My Arcade Tetris (Slurpee) [Sean Riddle]
My Arcade Tetris (DGUNL-7030, Gamer V, with 220 bonus games) [Sean Riddle]
My Arcade Tetris (DGUNL-7027, Pico Player, with 100+ bonus games) [Sean Riddle]
My Arcade All Star Stadium - Pocket Player (307-in-1) [TeamEurope]
Hippo: et la formidable aventure des lettres (France) [TeamEurope, David Haywood]

new NOT WORKING software list entries
--------------
tvgogo.xml:
Snowboarding (Europe) [TeamEurope, David Haywood]
Paintball (Europe) [TeamEurope, David Haywood]
This commit is contained in:
mamehaze 2025-03-27 02:49:09 +00:00 committed by GitHub
parent 7555232b0c
commit dff08116da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 323 additions and 33 deletions

View File

@ -7,14 +7,15 @@ license:CC0-1.0
Dumped | Dumped | Name |Notes
_(EU)__|__(US)__|____________|_____________________________________
Y* | Y | 4 in 1 |No controller
Y | Y | Whac-A-Mole|Hammer-shaped IR motion controller
Y | Y | Basketball |Ball-shaped motion controller
Y | | Tennis |Racquet-shaped IR motion controller
| Y | Dodgeball |Motion controller
| Y | Baseball |Baseball Bat shaped motion controller
| | Paintball |Gun controller
| | Skateboard |Skateboard-shaped motion controller
Y* | Y | 4 in 1 |No controller
Y | Y | Whac-A-Mole |Hammer-shaped IR motion controller
Y | Y | Basketball |Ball-shaped motion controller
Y | | Tennis |Racquet-shaped IR motion controller
| Y | Dodgeball |Motion controller
| Y | Baseball |Baseball Bat shaped motion controller
Y | | Paintball |Gun controller
Y | | Snowboarding |Snowboard-shaped motion controller
| | Skateboard |Skateboard-shaped motion controller
The US carts do not appear to have a language selection screen
@ -127,4 +128,26 @@ _(EU)__|__(US)__|____________|_____________________________________
</part>
</software>
<software name="snowboar" supported="no">
<description>Snowboarding (Europe)</description>
<year>2005</year>
<publisher>Toyquest</publisher>
<part name="cart" interface="tvgogo_cart">
<dataarea name="rom" size="0x400000">
<rom name="gogotv_snowboarding.bin" size="0x400000" crc="a4472c30" sha1="5f9767cb488fc0627b4b3d1e38114db85ce40c6d"/>
</dataarea>
</part>
</software>
<software name="paintbal" supported="no">
<description>Paintball (Europe)</description>
<year>2005</year>
<publisher>Toyquest</publisher>
<part name="cart" interface="tvgogo_cart">
<dataarea name="rom" size="0x400000">
<rom name="gogotv_paintball.bin" size="0x400000" crc="b582384a" sha1="aaf793aeac5edef67f885f8e37bef2b431d8538e"/>
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -34994,8 +34994,11 @@ nesm8b
m82
@source:nintendo/nes_sh6578.cpp
6578cjz1
6578cjz2
bandgpad
bandggcn
bb6578
cpatrolm
dancmix3
ts_handy11
@ -35090,6 +35093,7 @@ cybar120
dturbogt
jl2050
joypad65
matetsl
msiwwe
msiwwea
msidd
@ -35115,7 +35119,9 @@ dgun2573a
dgunl3201
dgunl3202
fcpocket
matet220
matet300
myaass
rminitv
@source:nintendo/nes_vt369_vtunknown.cpp
@ -35151,6 +35157,7 @@ lxcmcysp
lxcmcysw
lxcyber
matet10
matet100
mc_cb280
mc_hh210
mog_m320
@ -46386,6 +46393,7 @@ tvtchspd
tvtchsb
@source:tvgames/spg2xx_lexibook.cpp
arcade3d
lexizeus
lexiseal
discpal
@ -46557,6 +46565,7 @@ gungunad
gungunrv
has_wamg
hikara
hippofr
isinger
jarajal
jpopira

View File

@ -59,6 +59,7 @@ protected:
virtual void video_start() override ATTR_COLD;
virtual void io_w(uint8_t data);
virtual uint8_t extio_r();
virtual void extio_w(uint8_t data);
bool m_isbanked;
required_memory_bank m_bank;
@ -164,6 +165,18 @@ protected:
virtual void machine_reset() override ATTR_COLD;
};
class nes_sh6578_cjz_state : public nes_sh6578_state
{
public:
nes_sh6578_cjz_state(const machine_config& mconfig, device_type type, const char* tag) :
nes_sh6578_state(mconfig, type, tag)
{ }
protected:
// TODO, work out the I/O and anything else specific to this machine
virtual uint8_t extio_r() override { return machine().rand(); }
};
uint8_t nes_sh6578_state::bank_r(int bank, uint16_t offset)
{
uint32_t address;
@ -428,6 +441,12 @@ void nes_sh6578_abl_wikid_state::io_w(uint8_t data)
}
}
uint8_t nes_sh6578_state::extio_r()
{
logerror("%s: extio_r\n", machine().describe_context());
return 0x00;
}
void nes_sh6578_state::extio_w(uint8_t data)
{
logerror("%s: extio_w : %02x\n", machine().describe_context(), data);
@ -476,7 +495,7 @@ void nes_sh6578_state::nes_sh6578_map(address_map& map)
//4023 read/write joystick,mouse control
//4024 read - mouse port / write - mouse baud
//4025 write - Printer Port
map(0x4026, 0x4026).w(FUNC(nes_sh6578_state::extio_w));
map(0x4026, 0x4026).rw(FUNC(nes_sh6578_state::extio_r), FUNC(nes_sh6578_state::extio_w));
//4027 read/write - DAC data register
map(0x4031, 0x4031).w(FUNC(nes_sh6578_state::initial_startup_w));
@ -666,6 +685,21 @@ ROM_START( cpatrolm )
ROM_LOAD( "citypatrolman.bin", 0x00000, 0x100000, CRC(4b139c67) SHA1(a5b03f472a94ee879f58bbff201b671fbf4f1ea1) )
ROM_END
ROM_START( bb6578 )
ROM_REGION( 0x80000, "maincpu", 0 )
ROM_LOAD( "tv game baseball.bin", 0x00000, 0x80000, CRC(dec862b2) SHA1(fb3d97ccde17ab6ead8eafb4e0aafb72fbb6674c) )
ROM_END
ROM_START( 6578cjz1 )
ROM_REGION( 0x100000, "maincpu", 0 )
ROM_LOAD( "tv game1.bin", 0x00000, 0x100000, CRC(161c4119) SHA1(b2ce91b070bcaba73c8a23e7067fe8ba41151a40) )
ROM_END
ROM_START( 6578cjz2 )
ROM_REGION( 0x100000, "maincpu", 0 )
ROM_LOAD( "tv game2.bin", 0x00000, 0x100000, CRC(cda1395c) SHA1(b0fdf1d3ebd9b7138ec907a0acdf0ea2d275c990) )
ROM_END
ROM_START( ablwikid )
ROM_REGION( 0x200000, "maincpu", 0 )
ROM_LOAD( "mx29f1610atc.u2", 0x00000, 0x200000, CRC(f16abf79) SHA1(aeccbb40d7fdd451ba8e5cca20464da2cf116461) )
@ -744,6 +778,13 @@ CONS( 1997, bandggcn, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, i
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 )
// these don't boot much further than the timetop logo and a splash screen
// "Super Knowledge Monopoly" is an English translation of the title
CONS( 200?, 6578cjz1, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_cjz_state, init_nes_sh6578, "TimeTop", u8"Chāo Jí Zhī Shi Dà Fù Wēng (vol. 1)", MACHINE_NOT_WORKING )
CONS( 200?, 6578cjz2, 6578cjz1, 0, nes_sh6578, nes_sh6578, nes_sh6578_cjz_state, init_nes_sh6578, "TimeTop", u8"Chāo Jí Zhī Shi Dà Fù Wēng (vol. 2)", MACHINE_NOT_WORKING )
// Super Moto 3 https://youtu.be/DR5Y_r6C_qk - has JungleTac copyrights intact, and appears to have the SH6578 versions of the games
// Handy Max 15-in-1 https://youtu.be/jQTUHj1cP-k - has JungleTac copyrights intact, and appears to have the SH6578 versions of the games

View File

@ -542,6 +542,10 @@ ROM_START( wfmotor )
ROM_LOAD( "motorcycle.bin", 0x00000, 0x400000, CRC(978f12f0) SHA1(a0230cfe4398d3971d487ff5d4b7107341799424) )
ROM_END
ROM_START( matetsl )
ROM_REGION( 0x100000, "mainrom", 0 )
ROM_LOAD( "slurpeetetris_p25q40sh_856013.bin", 0x00000, 0x80300, CRC(d3b68de8) SHA1(97bcdfcd31bc536b626f9a369afe18de60a399da) )
ROM_END
} // anonymous namespace
@ -589,6 +593,8 @@ CONS( 2006, vgtablet, 0, 0, nes_vt09_4mb_rasterhack, nes_vt09, nes_vt09_state
CONS( 200?, jl2050, 0, 0, nes_vt09_16mb,nes_vt09, nes_vt09_state, empty_init, "LexiBook / JungleTac / NiceCode", "Cyber Console Center 200-in-1 (JL2050)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
// might be VT369 based, if so, move
CONS( 2018, rbbrite, 0, 0, nes_vt09_1mb, nes_vt09, nes_vt09_state, empty_init, "Coleco", "Rainbow Brite (mini-arcade)", MACHINE_NOT_WORKING )
CONS( 2018, rbbrite, 0, 0, nes_vt09_1mb, nes_vt09, nes_vt09_state, empty_init, "Coleco", "Rainbow Brite (mini-arcade)", MACHINE_NOT_WORKING )
CONS( 200?, timetp25, 0, 0, nes_vt09_cart, nes_vt09, nes_vt09_cart_state, empty_init, "Timetop", "Super Game 25-in-1 (GM-228)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 200?, timetp25, 0, 0, nes_vt09_cart, nes_vt09, nes_vt09_cart_state, empty_init, "Timetop", "Super Game 25-in-1 (GM-228)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2021, matetsl, 0, 0, nes_vt09_1mb, nes_vt09, nes_vt09_state, empty_init, "dreamGEAR", "My Arcade Tetris (Slurpee)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) // no bonus games on this model

View File

@ -361,6 +361,12 @@ ROM_START( dgunl3202 )
ROM_IGNORE(0x100)
ROM_END
ROM_START( myaass )
ROM_REGION( 0x2000000, "mainrom", 0 )
ROM_LOAD( "s29gl256.u2", 0x00000, 0x2000000, CRC(71a3298d) SHA1(5a2441ae5a8bf3e5efe9f22843ad2b8ef2df0f40) )
ROM_END
ROM_START( fcpocket )
ROM_REGION( 0x8000000, "mainrom", 0 )
ROM_LOAD( "s29gl01gp.bin", 0x00000, 0x8000000, CRC(8703b18a) SHA1(07943443294e80ca93f83181c8bdbf950b87c52f) ) // 2nd half = 0x00 (so 64MByte of content)
@ -371,6 +377,12 @@ ROM_START( matet300 )
ROM_LOAD( "tetris.bin", 0x00000, 0x2000000, CRC(73cbd40a) SHA1(5996c97cebd6cec42a0ba1fba9517adf1af00098) )
ROM_END
ROM_START( matet220 )
ROM_REGION( 0x2000000, "mainrom", 0 )
ROM_LOAD( "gamervtetris_s29gl128n10tfi01_0001227e.bin", 0x00000, 0x1000000, CRC(ac244e56) SHA1(89897f5f65f55a46bf0d6b5ca534ca31c79a0658) )
ROM_IGNORE(0x100)
ROM_END
} // anonymous namespace
@ -387,7 +399,13 @@ CONS( 201?, dgunl3201, 0, 0, nes_vt32_32mb, nes_vt32, nes_vt32_unk_state, empt
CONS( 201?, dgunl3202, 0, 0, nes_vt32_32mb, nes_vt32, nes_vt32_unk_state, empty_init, "dreamGEAR", "My Arcade Data East Classics - Pixel Player (308-in-1) (DGUNL-3202)", MACHINE_NOT_WORKING ) // from a US unit single 32Mbyte bank!
// There was also a 34-in-1 version of the Data East Classics in a mini-cabinet, NOT running on VT hardware, but using proper arcade ROMs, that one is reportedly running an old MAME build on an ARM SoC (although some sources say FBA)
// 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( 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 )
// some games (eg F22) are scrambled like in myaass
CONS( 2021, matet220, 0, 0, nes_vt32_32mb, nes_vt32, nes_vt32_unk_state, empty_init, "dreamGEAR", "My Arcade Tetris (DGUNL-7030, Gamer V, with 220 bonus games)", MACHINE_NOT_WORKING )
// Use DIP switch to select console or cartridge, as cartridge is fake and just toggles a GPIO
CONS( 2016, fcpocket, 0, 0, nes_vt32_4x16mb, nes_vt32_fp, nes_vt32_unk_state, empty_init, "<unknown>", "FC Pocket 600 in 1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // has external banking (2x 32mbyte banks)

View File

@ -46,13 +46,39 @@ uint8_t nes_vt32_soc_device::vtfp_4119_r()
return 0x00;
}
void nes_vt32_soc_device::vtfp_411e_w(uint8_t data)
void nes_vt32_soc_device::vtfp_411e_encryption_state_w(uint8_t data)
{
logerror("411e_w %02x\n", data);
logerror("%s: vtfp_411e_encryption_state_w %02x\n", machine().describe_context(), data);
if (data == 0x05)
downcast<rp2a03_vtscr &>(*m_maincpu).set_next_scramble(true);
{
downcast<rp2a03_vtscr&>(*m_maincpu).set_next_scramble(true);
}
else if (data == 0x00)
downcast<rp2a03_vtscr &>(*m_maincpu).set_next_scramble(false);
{
downcast<rp2a03_vtscr&>(*m_maincpu).set_next_scramble(false);
}
else if (data == 0xc0)
{
/* this seems to turn off the code encryption
but turns on some kind of PPU data bitswap? myaass uses it on several games
in VRAM -> should be in VRAM
80 -> 08
40 -> 20
20- > 40
10 -> 01
08 -> 80
04 -> 02
02 -> 04
01 -> 10
it is unclear if this affects reads from ROM, or directly alters reads or
writes involving the VRAM
*/
downcast<rp2a03_vtscr&>(*m_maincpu).set_next_scramble(false);
}
}
void nes_vt32_soc_device::vtfp_4a00_w(uint8_t data)
@ -103,7 +129,7 @@ void nes_vt32_soc_device::nes_vt_fp_map(address_map &map)
map(0x411d, 0x411d).w(FUNC(nes_vt32_soc_device::vtfp_411d_w));
map(0x4119, 0x4119).r(FUNC(nes_vt32_soc_device::vtfp_4119_r));
map(0x411e, 0x411e).w(FUNC(nes_vt32_soc_device::vtfp_411e_w)); // encryption toggle
map(0x411e, 0x411e).w(FUNC(nes_vt32_soc_device::vtfp_411e_encryption_state_w)); // encryption toggle
map(0x412c, 0x412c).w(FUNC(nes_vt32_soc_device::vtfp_412c_extbank_w)); // GPIO
map(0x412d, 0x412d).r(FUNC(nes_vt32_soc_device::vtfp_412d_r)); // GPIO

View File

@ -30,7 +30,7 @@ protected:
void nes_vt_fp_map(address_map &map) ATTR_COLD;
uint8_t vtfp_4119_r();
void vtfp_411e_w(uint8_t data);
void vtfp_411e_encryption_state_w(uint8_t data);
void vtfp_412c_extbank_w(uint8_t data);
uint8_t vtfp_412d_r();
void vtfp_4242_w(uint8_t data);

View File

@ -938,6 +938,12 @@ ROM_START( matet10 )
ROM_IGNORE(0x300)
ROM_END
ROM_START( matet100 )
ROM_REGION( 0x2000000, "mainrom", 0 )
ROM_LOAD( "picotetris_s29gl064n90tfi04_0001227e.bin", 0x00000, 0x800000, CRC(7d9296f2) SHA1(0db5883028d14783d0abff1f7672e59534b0e513) )
ROM_IGNORE(0x100)
ROM_END
void nes_vt369_vtunknown_state::init_lxcmcypp()
{
int size = memregion("mainrom")->bytes()/2;
@ -1129,3 +1135,6 @@ CONS( 2021, unk128vt, 0, 0, nes_vt369_vtunknown_unk_4mb, nes_vt369_vtu
// uses a low res display like the above
CONS( 2021, matet10, 0, 0, nes_vt369_vtunknown_unk_2mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "dreamGEAR", "My Arcade Tetris (DGUNL-7083, Pixel Pocket, with 10 bonus games)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
// unknown tech level, scrambled opcodes
CONS( 2021, matet100, 0, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "dreamGEAR", "My Arcade Tetris (DGUNL-7027, Pico Player, with 100+ bonus games)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) // box says 100+ bonus games

View File

@ -36,21 +36,21 @@ public:
{ }
protected:
uint16_t read(offs_t offset);
virtual uint16_t read(offs_t offset);
uint16_t read_a13(offs_t offset);
void megadriv_radica_map(address_map &map) ATTR_COLD;
virtual void megadriv_radica_map(address_map &map) ATTR_COLD;
void radica_base_map(address_map &map) ATTR_COLD;
int m_bank;
int m_romsize;
private:
required_region_ptr<uint16_t> m_rom;
};
class megadriv_radica_state : public megadriv_radica_state_base
{
public:
@ -69,6 +69,28 @@ protected:
virtual void machine_reset() override ATTR_COLD;
};
class megadriv_b010xx_select_state : public megadriv_radica_state
{
public:
megadriv_b010xx_select_state(const machine_config& mconfig, device_type type, const char* tag) :
megadriv_radica_state(mconfig, type, tag)
{ }
void init_atgame40();
private:
virtual void machine_reset() override ATTR_COLD;
virtual uint16_t read(offs_t offset) override;
virtual void megadriv_radica_map(address_map &map) override ATTR_COLD;
void bank_high_w(offs_t offset, uint16_t data, uint16_t mem_mask);
void bank_low_w(offs_t offset, uint16_t data, uint16_t mem_mask);
void bank_upper_w(offs_t offset, uint16_t data, uint16_t mem_mask);
void b01036_w(offs_t offset, uint16_t data, uint16_t mem_mask);
};
class megadriv_dgunl_state : public megadriv_radica_state
{
@ -91,7 +113,7 @@ private:
uint16_t read_a16302(offs_t offset, uint16_t mem_mask);
virtual void write_a1630a(offs_t offset, uint16_t data, uint16_t mem_mask);
void megadriv_dgunl_map(address_map &map) ATTR_COLD;
virtual void megadriv_radica_map(address_map &map) override ATTR_COLD;
};
@ -333,8 +355,55 @@ void megadriv_ra145_state::write_a1630a(offs_t offset, uint16_t data, uint16_t m
m_bank = m_bank / 0x10000;
}
uint16_t megadriv_b010xx_select_state::read(offs_t offset)
{
return m_rom[((m_bank >> 1) + offset) & (m_romsize - 1)];
}
void megadriv_dgunl_state::megadriv_dgunl_map(address_map &map)
void megadriv_b010xx_select_state::bank_high_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
data &= 0x7f;
mem_mask &= 0x7f;
m_bank = (m_bank & 0xff80ffff) | (data & mem_mask) << 16;
logerror("%s: bank_high_w bank is now %08x\n", machine().describe_context(), m_bank);
}
void megadriv_b010xx_select_state::bank_low_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
m_bank = (m_bank & 0xffff0000) | (data & mem_mask);
logerror("%s: bank_low_w bank is now %08x\n", machine().describe_context(), m_bank);
}
void megadriv_b010xx_select_state::bank_upper_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
// this is handled differently to the other writes, probably some external logic
// rather than the same banking
// written before bank_high and bank_low
m_bank |= 0x800000;
logerror("%s: bank_upper_w (%04x %04x) bank is now %08x\n", machine().describe_context(), data, mem_mask, m_bank);
}
void megadriv_b010xx_select_state::b01036_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
// all games in atgame40 that fail to display anything write 0x0001 here
// could be coincidence, but could also be enabling the alt display mode?
logerror("%s: b01036_w %04x %04x (for games with no display?)\n", machine().describe_context(), data, mem_mask);
}
void megadriv_b010xx_select_state::megadriv_radica_map(address_map &map)
{
radica_base_map(map);
map(0xa10104, 0xa10105).w(FUNC(megadriv_b010xx_select_state::bank_upper_w)); // read and written
map(0xb01028, 0xb01029).w(FUNC(megadriv_b010xx_select_state::bank_low_w));
map(0xb0102a, 0xb0102b).w(FUNC(megadriv_b010xx_select_state::bank_high_w));
map(0xb01036, 0xb01037).w(FUNC(megadriv_b010xx_select_state::b01036_w));
}
void megadriv_dgunl_state::megadriv_radica_map(address_map &map)
{
radica_base_map(map);
@ -458,6 +527,11 @@ void megadriv_radica_state::machine_reset()
megadriv_radica_state_base::machine_reset();
}
void megadriv_b010xx_select_state::machine_reset()
{
m_bank = 0;
megadriv_radica_state_base::machine_reset();
}
void megadriv_radica_state::megadriv_radica_3button_ntsc(machine_config &config)
{
@ -502,7 +576,7 @@ void megadriv_dgunl_state::megadriv_dgunl_ntsc(machine_config &config)
ctrl1_3button(config);
ctrl2_3button(config);
m_maincpu->set_addrmap(AS_PROGRAM, &megadriv_dgunl_state::megadriv_dgunl_map);
m_maincpu->set_addrmap(AS_PROGRAM, &megadriv_dgunl_state::megadriv_radica_map);
}
void megadriv_ra145_state::megadriv_ra145_ntsc(machine_config &config)
@ -623,13 +697,59 @@ ROM_START( matet )
ROM_IGNORE(0x100)
ROM_END
/*
As the atgame40 is not running on standard MegaDrive hardware quite a few of these games rely
on an unsupported video mode (they still play sounds and resond to inputs / do colour fades)
00 Menu located at 00800000 WORKS
--
01 Air Hockey located at 0000c800 WORKS
02 Black Sheep located at 0002935a BOOTS - NO DISPLAY
03 Bomber located at 000b6f5a WORKS
04 Bottle Taps Race located at 000d6f5a WORKS
05 Brain Switch located at 000ec760 BOOTS - NO DISPLAY
06 Bulls and Cows located at 00800000 BOOTS - NO DISPLAY
07 Cannon located at 0013e360 WORKS
08 Checker located at 0016301e WORKS
09 Chess located at 001aa232 WORKS
10 Colour Puzzle located at 001f0a32 BOOTS - NO DISPLAY
11 Cross The Road located at 008a2800 BOOTS - NO DISPLAY
12 Curling 2010 located at 00953486 BOOTS - NO DISPLAY
13 Fight or Lose located at 009f002e WORKS
14 Fire Fly Glow located at 00a09ede BOOTS - NO DISPLAY
15 Fish Story located at 00aa2ede BOOTS - NO DISPLAY
16 Flash Memory located at 00285632 BOOTS - NO DISPLAY
17 Formula Challenge located at 00310232 BOOTS - NO DISPLAY
18 Hexagons located at 00394a32 WORKS
19 Jacks Pea located at 003b4a32 BOOTS - NO DISPLAY
20 Jewel Magic located at 00b4a874 BOOTS - NO DISPLAY
21 Logic Dial located at 0040b4ac BOOTS - NO DISPLAY
22 Table Magic located at 00be8f8c BOOTS - NO DISPLAY
23 Mahjong located at 0049e8ac WORKS
24 Match Eleven located at 004ae8ac BOOTS - NO DISPLAY
25 Mega Brain Switch located at 005390ac BOOTS - NO DISPLAY
26 Memory located at 0058a0ac WORKS
27 Memory Match located at 00c8538c BOOTS - NO DISPLAY
28 Mirror Mirror located at 00d2178c BOOTS - NO DISPLAY
29 Mr Balls located at 0059a0ac WORKS
30 Navel Power located at 005c0a08 WORKS
31 Panic Lift located at 00d86f8c BOOTS - NO DISPLAY
32 Reaction Match located at 00e2038c BOOTS - NO DISPLAY
33 Snake located at 005dbbd4 WORKS
34 Space Hunter located at 005ebbd4 BOOTS - NO DISPLAY
35 Spider located at 006817d4 WORKS
36 Sudoku Quiz located at 0069efb4 BOOTS - NO DISPLAY
37 Treasure Hunt located at 00eb9b8c BOOTS - NO DISPLAY
38 UFO Sighting located at 00f5938c BOOTS - NO DISPLAY
39 Warehouse Keeper located at 00730fb4 WORKS
40 Whack a Wolf located at 00740fb4 BOOTS - NO DISPLAY
*/
ROM_START( atgame40 )
ROM_REGION( 0x1000000, "rom", 0 )
ROM_LOAD16_WORD_SWAP( "40bonusgamesin1.bin", 0x000000, 0x1000000, CRC(4eba6e83) SHA1(b8edf1b6ecb70a136b551f1454ba8afa45bd8bc1) )
ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASE00 )
ROM_COPY( "rom", 0x800000, 0, 0x400000 )
ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "40bonusgamesin1.bin", 0x800000, 0x800000, CRC(4eba6e83) SHA1(b8edf1b6ecb70a136b551f1454ba8afa45bd8bc1) )
ROM_CONTINUE(0x000000, 0x800000)
ROM_END
@ -655,7 +775,11 @@ ROM_START( ra145 )
ROM_LOAD16_WORD_SWAP( "ra145.bin", 0x000000, 0x8000000, BAD_DUMP CRC(30583950) SHA1(855eae232e3830a505f9bc1a26edb3a7d15ce4d1) )
ROM_END
void megadriv_b010xx_select_state::init_atgame40()
{
m_romsize = 0x1000000;
init_megadrie();
}
void megadriv_dgunl_state::init_dgunl3227()
{
@ -795,14 +919,19 @@ CONS( 2018, msi_sf2, 0, 0, megadriv_radica_6button_ntsc, msi_6button,
CONS( 2018, dgunl3227, 0, 0, megadriv_dgunl_ntsc, dgunl_1player, megadriv_dgunl_state, init_dgunl3227, "dreamGEAR", "My Arcade Pac-Man Pocket Player (DGUNL-3227)", 0 )
CONS( 2018, dgunl3227a, dgunl3227,0, megadriv_dgunl_ntsc, dgunl_1player, megadriv_dgunl_state, init_dgunl3227, "dreamGEAR", "My Arcade Pac-Man Pocket Player (DGUNL-3227, older)", 0 )
CONS( 2021, matet, 0, 0, megadriv_radica_3button_ntsc, radica_3button, megadriv_radica_state, init_megadriv, "dreamGEAR", "My Arcade Tetris (DGUNL-7028, Pocket Player Pro)", MACHINE_NOT_WORKING)
CONS( 2018, ra145, 0, 0, megadriv_ra145_ntsc, msi_6button, megadriv_ra145_state, init_ra145, "<unknown>", "Retro Arcade 16 Bits Classic Edition Mini TV Game Console - 145 Classic Games - TV Arcade Plug and Play (Mega Drive bootlegs)", MACHINE_NOT_WORKING )
// Games below have a device at b0102x which appears to either be able to select ROM base on a byte boundary
// OR maybe are running from RAM instead of ROM (with an auto-copy at the start?) with that being a DMA operation.
// Technically this is a MD type cartridge, but it doesn't seem to be designed for use with a standard MD as it contains
// nothing but the 16Mbyte ROM and a 5v to 3.3v converter yet the code clearly requires some extensive banking logic.
// Testing it on a real MD shows nothing, not even the menu.
//
// We don't seem to emulate the system it's designed for, so for now just treat it as its own thing (which may become
// the basis of a driver for that console)
CONS( 2012, atgame40, 0, 0, megadriv_radica_3button_pal, radica_3button, megadriv_radica_state, init_megadrie, "AtGames", "40 Bonus Games in 1 (AtGames)", MACHINE_NOT_WORKING)
CONS( 2012, atgame40, 0, 0, megadriv_radica_3button_pal, radica_3button, megadriv_b010xx_select_state, init_atgame40, "AtGames", "40 Bonus Games in 1 (AtGames)", MACHINE_NOT_WORKING)
CONS( 2021, matet, 0, 0, megadriv_radica_3button_ntsc, radica_3button, megadriv_b010xx_select_state, init_megadriv, "dreamGEAR", "My Arcade Tetris (DGUNL-7028, Pocket Player Pro)", MACHINE_NOT_WORKING)

View File

@ -343,6 +343,11 @@ ROM_START( lexizeus )
ROM_LOAD16_WORD_SWAP( "lexibook1g900us.bin", 0x0000, 0x800000, CRC(c2370806) SHA1(cbb599c29c09b62b6a9951c724cd9fc496309cf9))
ROM_END
ROM_START( arcade3d )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "arcade3d.u3", 0x0000, 0x800000, CRC(130843a5) SHA1(f6494a34d162e702121cf71d384a4e57e0113498) )
ROM_END
ROM_START( vsplus )
ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "vsplus.bin", 0x0000, 0x1000000, CRC(2b13d2cc) SHA1(accae7606d83a313b8ec0232d2d67b63c9c617af) )
@ -423,6 +428,8 @@ ROM_END
CONS( 200?, lexizeus, 0, 0, lexizeus, lexizeus, spg2xx_lexizeus_game_state, init_zeus, "Lexibook / JungleTac", "Zeus IG900 20-in-1 (US?)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // bad sound and some corrupt bg tilemap entries in Tiger Rescue, verify ROM data (same game runs in Zone 60 without issue)
CONS( 200?, arcade3d, 0, 0, lexizeus, lexiseal, spg2xx_lexizeus_game_state, init_zeus, "Millennium 2000 GmbH / JungleTac", "Millennium Arcade 3D 15-in-1", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // bad sound and some corrupt bg tilemap entries in Tiger Rescue, verify ROM data (same game runs in Zone 60 without issue)
CONS( 200?, vsplus, 0, 0, vsplus, vsplus, spg2xx_vsplus_game_state, init_vsplus, "<unknown> / JungleTac", "Vs Power Plus 30-in-1", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )

View File

@ -42,7 +42,7 @@
Wildest computer robot "Daigander" (Korean version) /TAKARA/Korea - - - - - - -
2001 Ping-pong(Chinese version) /Tenpon/China - - - - - - -
Baseball Korean version /SONOKONG/Korea - - - - - - -
1999 ABC Jungle Fun Hippo /VTech/HK, USA, France - - - - - - -
1999 ABC Jungle Fun Hippo VTech/HK (USA and UK versions only, FR is dumped) - - - - - - -
not dumped: no TSOP pads
2003 Beyblade Arcade Challenge 5-in-1 /Hasbro/USA - - - - - - have
@ -2795,6 +2795,10 @@ ROM_START( tak_beyb )
ROM_LOAD( "beyblade.u2", 0x000000, 0x200000, CRC(bcf6b3a7) SHA1(1c80f1241138b9d7816f1e5285ff8f3c61739c95) )
ROM_END
ROM_START( hippofr )
ROM_REGION( 0x200000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "54-6447-010.u3", 0x000000, 0x200000, CRC(1fb15364) SHA1(ff2bb54f7d6ccd3c83e722599c6f2b213bf35df8) )
ROM_END
/* XaviX hardware titles (1st Generation)
@ -2808,6 +2812,13 @@ ROM_END
*/
// product code 80-32705.
// Some sites say 1997, but 1999 is what SSD had listed, and seems more fitting.
// Also exists as
// 80-32703 Hippo's Alphabet Adventure (UK)
// 80-32700 ABC Jungle Fun (US?)
CONS( 1999, hippofr, 0, 0, xavix_2mb, xavix,xavix_state, init_xavix, "VTech", "Hippo: et la formidable aventure des lettres (France)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // needs keyboard emulating
// Let's!TVプレイCLASSIC タイトースタルジア1
CONS( 2006, taitons1, 0, 0, xavix_i2c_24lc04_2mb, nostalgia,xavix_i2c_state, init_xavix, "Bandai / SSD Company LTD / Taito", "Let's! TV Play Classic - Taito Nostalgia 1 (Japan)", MACHINE_IMPERFECT_SOUND )

View File

@ -192,6 +192,17 @@ static INPUT_PORTS_START( xavix_i2c )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("i2cmem", FUNC(i2cmem_device::read_sda))
INPUT_PORTS_END
static INPUT_PORTS_START( maxheart )
PORT_INCLUDE(xavix_i2c)
PORT_MODIFY("IN0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_16WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_16WAY
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_16WAY
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_16WAY
INPUT_PORTS_END
static INPUT_PORTS_START( epo_tfit )
PORT_INCLUDE(xavix)
@ -912,7 +923,7 @@ CONS( 2004, epo_tfit, 0, 0, superxavix_i2c_24c04_4mb, epo_tfit, superxavix_
CONS( 2010, epo_rgfj, 0, 0, superxavix_i2c_24c08, xavix_i2c, superxavix_i2c_state, init_xavix, "Epoch / SSD Company LTD", "Ishikawa Ryou Excite Golf (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | 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 Mat de Dance MaxHeart ni Odotchaou (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
CONS( 2004, maxheart, 0, 0, superxavix_i2c_24c04_4mb, maxheart, superxavix_i2c_state, init_xavix, "Bandai / SSD Company LTD", "Let's! TV Play Futari wa PreCure MaxHeart Mat de Dance MaxHeart ni Odotchaou (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// どこでもドラえもん 日本旅行ゲームDX体感どこドラグランプリ
CONS( 2004, epo_doka, 0, 0, xavix2002_4mb, xavix, superxavix_state, init_epo_doka, "Epoch / SSD Company LTD", "Doko Demo Doraemon Nihon Ryokou Game DX Taikan! Doko Dora Grand Prix! (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )