Added sixteen TV games and handheld systems (five working). (#12919)

Also moved Classic Max Pocket PCMX11 - 12 in 1 Colour Games Console (horizontal, France) from nintendo/nes_vt369_vtunknown.cpp to nintendo/vt1682.cpp.

New working systems
----------------------
Tomy / SSD Company LTD IDATEN Jump: Gekisou IDATEN Battle (Japan) [TeamEurope, David Haywood]
YSN GameU Joint TV Bank 108-in-1 (model AH9069) [TeamEurope, David Haywood]

New working clones
--------------------
Radica / SSD Company LTD ConnecTV Opus (PAL) [TeamEurope, David Haywood]
Radica / SSD Company LTD Plug & Play Opus (NTSC) [TeamEurope, David Haywood]
Takara / SSD Company LTD Machi o Tsukurou: Kouji no Kuruma 5 (Japan) [TeamEurope, David Haywood]

New systems marked not working
---------------------------------
Bandai Tamagotchi Pix [TeamEurope, David Haywood]
BornKid 16 Bit Handheld Games 100-in-1 (model GB-10X) [TeamEurope, David Haywood]
Handheld Game Console 319-in-1 [TeamEurope, David Haywood]
Jungle Soft Classic Max Pocket Mx-10 - 12 in 1 (vertical) [TeamEurope, David Haywood]
San-X / Tomy Sumikko Gurashi - Sumikko Sagashi [TeamEurope, David Haywood]
SSD Company LTD XaviX Aerostep (XaviXPORT, Japan) [TeamEurope, David Haywood]
Takara / SSD Company LTD Beyblade Ultimate Shooter (Japan) [TeamEurope, David Haywood]
Takara / SSD Company LTD Zuba Zuba Blade (Japan) [TeamEurope, David Haywood]
Tomy / SSD Company LTD TV Hockey (Japan) [TeamEurope, David Haywood]
YSN Play Portable Color GameU+ (108-in-1) (Japan) [TeamEurope, David Haywood]

New clones marked not working
----------------------------
Epoch / SSD Company LTD Let's Play Excite Striker (UK) [TeamEurope, David Haywood]

New working software list items (ekara_cart.xml)
----------------------------------------
e-kara Web cartridge 12M (used, with 5 songs) (Japan) [TeamEurope, David Haywood]
This commit is contained in:
mamehaze 2024-11-07 18:25:33 +00:00 committed by GitHub
parent 7ddf5f19e8
commit 2823f3584b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 485 additions and 42 deletions

View File

@ -3151,7 +3151,7 @@ license:CC0-1.0
愛燦燦(あいさんさん) 美空ひばり Ai Sansan Misora Hibari
川の流れのように 美空ひばり Kawa no Nagare no Yō ni Misora Hibari
真赤な太陽 美空ひばり Makkana TaiYō Misora Hibari -->
<software name="ekaraweb12a">
<software name="ekaraweb12a" cloneof="ekaraweb12">
<description>e-kara Web cartridge 12M (used, with 7 songs) (Japan)</description>
<year>2003</year>
<publisher>Takara</publisher>
@ -3176,7 +3176,7 @@ license:CC0-1.0
LOVE LOVE LOVE DREAMS COME TRUE Love Love Love Dreams Come True
キラリ☆セーラードリーム 小枝(さえ) Kirari ☆ Sailor Dream Koeda (Sae)
夏祭り Whiteberry Natsu Matsuri Whiteberry -->
<software name="ekaraweb12b">
<software name="ekaraweb12b" cloneof="ekaraweb12">
<description>e-kara Web cartridge 12M (used, with 12 songs) (Japan)</description>
<year>2003</year>
<publisher>Takara</publisher>
@ -3188,6 +3188,24 @@ license:CC0-1.0
</part>
</software>
<!-- this one has some songs programmed into it:
月光町のうた おじゃる丸・キス Gekkō Machi no Uta Ojarumaru/Kiss
詠人(うたびと) 北島三郎 Utabito Kitajima Saburō
アララの呪文 ちびまる子ちゃんwith爆チュー問題 Arara no Jumon Chibi Maruko-chan with Bakuchū Mondai
サザエさん 宇野ゆう子 Sazae-san Uno Yūko
島人ぬ宝 BEGIN Shimanchunu Takara BEGIN -->
<software name="ekaraweb12c" cloneof="ekaraweb12">
<description>e-kara Web cartridge 12M (used, with 5 songs) (Japan)</description>
<year>2003</year>
<publisher>Takara</publisher>
<sharedfeat name="compatibility" value="EKARA"/>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
<rom name="usercart.bin" size="0x100000" crc="bc4635cd" sha1="5343b254218f85a2f9e5ae9e4646b456d82c7d27"/>
</dataarea>
</part>
</software>
<!-- this one has some songs programmed into it:
世界に一つだけの花 SMAP Sekai ni Hitotsu Dake no Hana SMAP
さくらんぼ 大塚愛 Sakuranbo Ōtsuka Ai

View File

@ -34668,6 +34668,7 @@ dgun853
gamezn2
gprnrs1
gprnrs16
gujtv108
joysti30
lxnoddy
majgnc
@ -34772,6 +34773,7 @@ egame150
fapocket
gcs2mgp
gtct885
hhgc319
hkb502
hkb502a
lpgm240
@ -34795,7 +34797,6 @@ mog_m320
myarccn
nubsupmf
otrail
pcmx11
q5_500in1
rd5_240
red5mam
@ -35020,6 +35021,8 @@ wrecking // (c) 1984 Nintendo
@source:nintendo/vt1682.cpp
110dance
cmpmx10
cmpmx11
dance555
exsprt48
gm235upc
@ -42688,6 +42691,9 @@ systel100 //
@source:skeleton/syvg.cpp
luckyvl
@source:skeleton/tamagotchi_pix.cpp
tamapix
@source:skeleton/tavernie.cpp
cpu09 //
ivg09 //
@ -45535,7 +45541,9 @@ beambox
@source:tvgames/generalplus_gpl16250_rom.cpp
beijuehh
bornkidh
gameu50
gameu108
gormiti
imgame
myac220
@ -45587,6 +45595,7 @@ kidizmb
kidizmp
pocketmp
pocketmr
sanxpet
zippity
zippityuk
@ -45903,6 +45912,7 @@ epo_mmsp //
epo_quiz //
epo_stad
epo_strk //
epo_strkp //
epo_tenn //
epo_tfp2 //
epo_tp2p //
@ -45937,6 +45947,8 @@ rad_madf //
rad_mtrk //
rad_mtrkp //
rad_opus //
rad_opusp //
rad_opusa //
rad_ping //
rad_pingp //
rad_rh //
@ -45949,12 +45961,16 @@ rad_ssxp //
taikodp //
taitons1 //
taitons2 //
tak_beyb //
tak_comt //
tak_daig
tak_gin //
tak_geig //
tak_hamr //
tak_town //
tak_zuba //
tcarnavi //
tom_tvho //
tomcpin //
tomshoot //
tomthr //
@ -45982,6 +45998,7 @@ epo_mini //
epo_sdb //
tak_chq //
tom_dpgm //
tom_jump
ttv_lotr //
ttv_mx //
ttv_sw //
@ -45999,6 +46016,7 @@ suprtvpcdo
suprtvpchk
tmy_thom //
udance
xavaero //
xavbaseb //
xavbassf //
xavbowl //

View File

@ -1387,7 +1387,10 @@ ROM_START( tvmjfc )
ROM_LOAD( "s29al016m90tfir2_tsop48.bin", 0x00000, 0x200000, CRC(28ef6219) SHA1(7ac2592f2a88532f537629660074ebae08efab82) )
ROM_END
ROM_START( gujtv108 )
ROM_REGION( 0x2000000, "mainrom", ROMREGION_ERASE00 )
ROM_LOAD( "29lv320.u1", 0x00000, 0x400000, CRC(56df0a09) SHA1(03aa6ad71ab283c99608a6dfa55c96148841bd10) )
ROM_END
void nes_vt_state::init_protpp()
@ -1465,6 +1468,7 @@ CONS( 200?, mc_dgear, 0, 0, nes_vt_4mb, nes_vt, nes_vt_state, empty_init,
CONS( 200?, sudo6in1, 0, 0, nes_vt_pal_1mb, nes_vt, nes_vt_state, empty_init, "Nice Code", "6-in-1 Sudoku Plug & Play", MACHINE_IMPERFECT_GRAPHICS ) // no manufacturer info on packaging, games seem to be from Nice Code, although this isn't certain
CONS( 200?, gujtv108, 0, 0, nes_vt_4mb, nes_vt, nes_vt_state, empty_init, "YSN", "GameU Joint TV Bank 108-in-1 (model AH9069)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
// small black unit, dpad on left, 4 buttons (A,B,X,Y) on right, Start/Reset/Select in middle, unit text "Sudoku Plug & Play TV Game"
CONS( 200?, sudopptv, 0, 0, nes_vt_waixing_512kb_rasterhack, nes_vt, nes_vt_waixing_state, empty_init, "Smart Planet", "Sudoku Plug & Play TV Game '6 Intelligent Games'", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
@ -1507,7 +1511,6 @@ CONS( 200?, joysti30, 0, 0, nes_vt_vh2009_4mb, nes_vt, nes_vt_swap_op_
// has no audio, is there extra hardware, or is it just using unemulated VT features?
CONS( 2005, lxnoddy, 0, 0, nes_vt_vh2009_pal_2mb, lxnoddy, nes_vt_swap_op_d5_d6_state, empty_init, "Lexibook", "Noddy's TV Console", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND )
// mostly bootleg NES games, but also has Frogger, Scramble and Asteroids in it
CONS( 200?, gamezn2, 0, 0, nes_vt_4mb, nes_vt, nes_vt_state, init_gamezn2, "<unknown>", "Game Zone II 128-in-1", MACHINE_IMPERFECT_GRAPHICS ) // was this PAL? (lots of raster splits are broken at the moment either way)

View File

@ -881,9 +881,12 @@ ROM_START( otrail )
ROM_LOAD( "t24c04a.bin", 0x000, 0x200, CRC(ce1fad6f) SHA1(82878996765739edba42042b6336460d5c8f8096) )
ROM_END
ROM_START( pcmx11 )
ROM_REGION( 0x800000, "mainrom", 0 )
ROM_LOAD( "pcmx11.bin", 0x000000, 0x800000, CRC(e1f3590b) SHA1(f78f7fc4f9a4474b5a9717dfbfc3199a5bc994ba) )
ROM_START( hhgc319 )
ROM_REGION( 0x1000000, "mainrom", 0 )
ROM_LOAD( "s29gl128n10tfi01.u3", 0x000000, 0x1000000, CRC(4b51125f) SHA1(bab3981ae1652cf6620c7c6769a6729a1e4d588f) )
ROM_END
void nes_vt369_vtunknown_state::init_lxcmcypp()
@ -996,9 +999,6 @@ CONS( 201?, 240in1ar, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknow
CONS( 2019, unk2019hh, 0, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "<unknown>", "unknown VTxx based GameBoy style handheld (2019 PCB)", MACHINE_NOT_WORKING )
CONS( 2020, unk2020hh, unk2019hh,0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "<unknown>", "unknown VTxx based GameBoy style handheld (2020 PCB)", MACHINE_NOT_WORKING )
// might be VT-09 or VT-162, uses a ROM glob on a sub-board, data lines seem scrambled at least?
// NOT the same as the (undumped) vertical handheld console of the same name with Jungletac / Nice Code games, that one has unique games
CONS( 2009, pcmx11, 0, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "Premier Portfolio International", "Classic Max Pocket PCMX11 - 12 in 1 Colour Games Console (France)", MACHINE_NOT_WORKING )
/*****************************************************************************
* below are VT369? games that use flash ROM
@ -1007,6 +1007,9 @@ CONS( 2009, pcmx11, 0, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtun
// portable fan + famiclone combo handheld
CONS( 2020, nubsupmf, 0, 0, nes_vt369_vtunknown_hh_4mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "<unknown>", "NubSup Mini Game Fan", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
// unknown tech level, might be scrambled as default codebank/boot vectors don't seem valid
CONS( 201?, hhgc319, 0, 0, nes_vt369_vtunknown_hh_16mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "<unknown>", "Handheld Game Console 319-in-1", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
/*****************************************************************************
* below are VT369 games that use BGA on sub
*****************************************************************************/

View File

@ -356,6 +356,8 @@ private:
uint8_t vt1682_2030_r();
void vt1682_2030_w(uint8_t data);
uint8_t io_ef_r() { return 0x00; }
/* Video Helpers */
uint16_t get_spriteram_addr()
@ -700,6 +702,42 @@ private:
required_ioport m_io_p1;
};
class vt1682_mx10_state : public vt_vt1682_state
{
public:
vt1682_mx10_state(const machine_config& mconfig, device_type type, const char* tag) :
vt_vt1682_state(mconfig, type, tag),
m_io_uiob(*this, "UIOB")
{ }
void mx10(machine_config& config);
void mx10_init();
protected:
uint8_t uiob_r() { logerror("%s uiob_r dir %02x\n", machine().describe_context(), m_uio->inteact_214a_uio_b_direction_r()); return m_io_uiob->read(); }
void uiob_w(u8 data)
{
u8 direction = m_uio->inteact_214a_uio_b_direction_r();
logerror("%s uiob_w %02x dir %02x\n", machine().describe_context(), data, direction );
if (direction & 0x10)
{
if (data & 0x10)
{
m_bank->set_entry(1);
}
else
{
m_bank->set_entry(0);
}
}
}
private:
required_ioport m_io_uiob;
};
class vt1682_exsport_state : public vt_vt1682_state
{
public:
@ -4106,7 +4144,7 @@ void vt_vt1682_state::vt1682_soundcpu_211c_reg_irqctrl_w(uint8_t data)
if (data & 0x10)
{
// not seen used
logerror("Main CPU IRQ Request from Sound CPU\n");
// logerror("Main CPU IRQ Request from Sound CPU\n");
}
if (data & 0x08)
@ -5272,6 +5310,7 @@ void vt_vt1682_state::vt_vt1682_map(address_map &map)
map(0x214a, 0x214a).rw(m_uio, FUNC(vrt_vt1682_uio_device::inteact_214a_uio_b_direction_r), FUNC(vrt_vt1682_uio_device::inteact_214a_uio_b_direction_w));
map(0x214b, 0x214b).rw(m_uio, FUNC(vrt_vt1682_uio_device::inteact_214b_uio_b_attribute_r), FUNC(vrt_vt1682_uio_device::inteact_214b_uio_b_attribute_w));
map(0x214d, 0x214d).r(FUNC(vt_vt1682_state::io_ef_r));
// 3000-3fff internal ROM if enabled
map(0x4000, 0x7fff).r(FUNC(vt_vt1682_state::rom_4000_to_7fff_r));
@ -5740,6 +5779,22 @@ static INPUT_PORTS_START( dance555 )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( mx10 )
PORT_START("UIOB")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
INPUT_PORTS_END
// this controller code is just designed to feed the games with data they're happy with, it probably has no grounds in reality
// as I don't know how they really work. presumably wireless with timeouts, sending signals for brief periods that need to be
@ -5980,6 +6035,28 @@ void vt1682_lxts3_state::vt1682_lxts3(machine_config& config)
m_uio->porta_in().set(FUNC(vt1682_lxts3_state::uio_porta_r));
}
void vt1682_mx10_state::mx10(machine_config& config)
{
vt_vt1682_ntscbase(config);
vt_vt1682_common(config);
M6502(config.replace(), m_maincpu, MAIN_CPU_CLOCK_NTSC); // no opcode bitswap
m_maincpu->set_addrmap(AS_PROGRAM, &vt1682_mx10_state::vt_vt1682_map);
m_uio->portb_in().set(FUNC(vt1682_mx10_state::uiob_r));
m_uio->portb_out().set(FUNC(vt1682_mx10_state::uiob_w));
m_leftdac->reset_routes();
m_rightdac->reset_routes();
config.device_remove(":lspeaker");
config.device_remove(":rspeaker");
SPEAKER(config, "mono").front_center();
m_leftdac->add_route(0, "mono", 0.5);
m_rightdac->add_route(0, "mono", 0.5);
}
void vt1682_lxts3_state::vt1682_unk1682(machine_config& config)
{
vt_vt1682_palbase(config);
@ -6020,6 +6097,36 @@ void vt_vt1682_state::regular_init()
m_bank->configure_entry(0, memregion("mainrom")->base() + 0x0000000);
}
void vt1682_mx10_state::mx10_init()
{
m_bank->configure_entry(0, memregion("mainrom")->base() + 0x0000000);
m_bank->configure_entry(1, memregion("mainrom")->base() + 0x2000000);
// this gets the tiles correct
u16* src = (u16*)memregion("mainrom")->base();
int len = memregion("mainrom")->bytes();
std::vector<u16> buffer(len/2);
{
for (int i = 0; i < len/2; i++)
{
buffer[i] = bitswap<16>(src[i],
15,14,2,12,
11,10,9,8,
7,6,5,4,
3,13,1,0);
}
std::copy(buffer.begin(), buffer.end(), &src[0]);
}
// for some reason, after changing banks, the sound CPU
// doesn't seem to end up in a good state, and trashes
// its own memory
//
// this is an ugly hack to prevent that for now, at the expense of any kind of correct sound
m_soundcpu->set_clock_scale(0.01f);
}
void intec_interact_state::banked_init()
@ -6277,3 +6384,26 @@ CONS( 2010, lxts3, 0, 0, vt1682_lxts3, lxts3, vt1682_lxts3_state, regular_
// there are products on SunPlus type hardware with nearly identical shells 'Mi DiGi World' / 'Mi Digi Diary'
// needs IO ports on sound CPU side, needs write access to space for RAM (inputs are 'mini-keyboard' style)
CONS( 200?, gm235upc, 0, 0, vt1682_dance, gm235upc, vt1682_dance_state, regular_init, "TimeTop", "Ultimate Pocket Console GM-235", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
ROM_START( cmpmx11 )
ROM_REGION( 0x4000000, "mainrom", ROMREGION_ERASE00 )
ROM_LOAD( "cmpmx11.bin", 0x000000, 0x400000, CRC(e1f3590b) SHA1(f78f7fc4f9a4474b5a9717dfbfc3199a5bc994ba) )
ROM_CONTINUE(0x2000000,0x400000)
ROM_END
ROM_START( cmpmx10 )
ROM_REGION( 0x4000000, "mainrom", ROMREGION_ERASE00 )
// despite V1682 being able to access 32Mbytes natively, this is split into 2 4Mbyte banks with external banking
// the 2nd bank contains an (unused) menu for a 6-in-1
ROM_LOAD( "classicmaxpocket_vertical.u3", 0x000000, 0x400000, CRC(9d3614f9) SHA1(e5de00b23eb1a2d39c524f5b5aed3b1cda44efce) )
ROM_CONTINUE(0x2000000,0x400000)
ROM_END
// might be VT-09 or VT-162, uses a ROM glob on a sub-board, data lines seem scrambled at least?
CONS( 2009, cmpmx11, 0, 0, mx10, mx10, vt1682_mx10_state, mx10_init, "Premier Portfolio International", "Classic Max Pocket PCMX11 - 12 in 1 Colour Games Console (horizontal, France)", MACHINE_NOT_WORKING )
// this unit has a vertical screen, and the games are designed for that aspect
// only Jungle Soft is shown on box for manufacturer details, 30-in-1 versions also exist
// see https://bootleggames.fandom.com/wiki/Classic_Max_Pocket for other units with these games
// how do you specify ROT270 with CONS? using GAME macro for now
GAME( 2009, cmpmx10, 0, mx10, mx10, vt1682_mx10_state, mx10_init, ROT270, "Jungle Soft", "Classic Max Pocket Mx-10 - 12 in 1 (vertical)", MACHINE_NOT_WORKING )

View File

@ -0,0 +1,87 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
/******************************************************************************
main SoC is marked
SONIX
SN73231M1N-000
215EATB1e^^e3 (^^ are some kind of graphic)
unknown architecture
other sources mention that the Tamagotchi Pix uses a GeneralPlus GP32 (ARM)
series CPU, so are there mutliple hardware revisions or is that information
incorrect?
device has a camera
*******************************************************************************/
#include "emu.h"
#include "screen.h"
#include "speaker.h"
namespace {
class tamagotchi_pix_state : public driver_device
{
public:
tamagotchi_pix_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_screen(*this, "screen")
{ }
void tamapix(machine_config &config);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
required_device<screen_device> m_screen;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
};
uint32_t tamagotchi_pix_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
void tamagotchi_pix_state::machine_start()
{
}
void tamagotchi_pix_state::machine_reset()
{
}
static INPUT_PORTS_START( tamapix )
INPUT_PORTS_END
void tamagotchi_pix_state::tamapix(machine_config &config)
{
// unknown CPU
SCREEN(config, m_screen, SCREEN_TYPE_LCD);
m_screen->set_refresh_hz(60);
m_screen->set_size(256, 256); // unknown resolution
m_screen->set_visarea(0, 255-1, 0, 255-1);
m_screen->set_screen_update(FUNC(tamagotchi_pix_state::screen_update));
SPEAKER(config, "mono").front_center();
}
ROM_START( tamapix )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF )
// this is an SPI ROM so there's probably an internal bootstrap at least
ROM_LOAD( "25q64.u5", 0x000000, 0x800000, CRC(559d0cc8) SHA1(bd5510a38cd4b293bc89bced99718d2998c5b893) )
ROM_END
} // anonymous namespace
CONS( 2020, tamapix, 0, 0, tamapix, tamapix, tamagotchi_pix_state, empty_init, "Bandai", "Tamagotchi Pix", MACHINE_IS_SKELETON )

View File

@ -154,6 +154,7 @@ public:
void gameu(machine_config &config);
void init_gameu();
void init_gameu108();
protected:
@ -166,6 +167,8 @@ private:
void gameu_portc_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
void gameu_portd_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
void decrypt_gameu();
uint32_t m_upperbase;
uint16_t m_porta_data;
uint16_t m_portb_data;

View File

@ -481,12 +481,29 @@ ROM_START( beijuehh )
ROM_LOAD16_WORD_SWAP( "beijeu.bin", 0x0000000, 0x8000000, CRC(e7b968af) SHA1(a39a3a70e6e0827e4395e09e55983eb9e9348e4a) ) // some address lines might be swapped
ROM_END
ROM_START( bornkidh )
ROM_REGION( 0x4000000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "sunplus.u3", 0x0000000, 0x0800000, CRC(c4da9d0b) SHA1(5fc644ae26046677e67a01dde3fc6061e73bb60f) )
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_END
ROM_START( gameu50 )
ROM_REGION( 0x2000000, "maincpu", ROMREGION_ERASEFF )
ROM_LOAD16_WORD_SWAP( "gameu.bin", 0x000000, 0x2000000, CRC(13c42bce) SHA1(f769ceabb8ab4e60c0d663dffd5cca91c6aec206) )
ROM_END
ROM_START( gameu108 )
ROM_REGION( 0x2000000, "maincpu", ROMREGION_ERASEFF )
ROM_LOAD16_WORD_SWAP( "s29gl256.u5", 0x000000, 0x2000000, CRC(48e727a4) SHA1(7338f8e46f794ae148adb84146cd2eddf4eba98d) )
ROM_END
void tkmag220_game_state::tkmag220(machine_config &config)
@ -711,7 +728,7 @@ void gameu_handheld_game_state::machine_reset()
m_upperbase = 0;
}
void gameu_handheld_game_state::init_gameu()
void gameu_handheld_game_state::decrypt_gameu()
{
uint16_t *ROM = (uint16_t*)memregion("maincpu")->base();
int size = memregion("maincpu")->bytes();
@ -727,22 +744,44 @@ void gameu_handheld_game_state::init_gameu()
m_maincpu->set_alt_tile_addressing_hack(0);
m_maincpu->set_disallow_resolution_control();
// why do we need these? it will jump to 0 after the menu selection (prior to fadeout and bank select) otherwise, which can't be correct
ROM[0x19c9a / 2] = 0xf165;
ROM[0x19c9c / 2] = 0xf165;
ROM[0x19c9e / 2] = 0xf165;
ROM[0x19cb8 / 2] = 0xf165;
ROM[0x19cba / 2] = 0xf165;
ROM[0x19cbc / 2] = 0xf165;
ROM[0x19cd4 / 2] = 0xf165;
ROM[0x19cd6 / 2] = 0xf165;
ROM[0x19cd8 / 2] = 0xf165;
}
void gameu_handheld_game_state::init_gameu()
{
decrypt_gameu();
// why do we need these? it will jump to 0 after the menu selection (prior to fadeout and bank select) otherwise, which can't be correct
uint16_t *ROM = (uint16_t*)memregion("maincpu")->base();
int base = 0x19c9a;
ROM[(base + 0x00) / 2] = 0xf165;
ROM[(base + 0x02) / 2] = 0xf165;
ROM[(base + 0x04) / 2] = 0xf165;
ROM[(base + 0x1e) / 2] = 0xf165;
ROM[(base + 0x20) / 2] = 0xf165;
ROM[(base + 0x22) / 2] = 0xf165;
ROM[(base + 0x3a) / 2] = 0xf165;
ROM[(base + 0x3c) / 2] = 0xf165;
ROM[(base + 0x3e) / 2] = 0xf165;
}
void gameu_handheld_game_state::init_gameu108()
{
decrypt_gameu();
uint16_t *ROM = (uint16_t*)memregion("maincpu")->base();
// why do we need these? it will jump to 0 after the menu selection (prior to fadeout and bank select) otherwise, which can't be correct
ROM[(0x1aa48) / 2] = 0xf165;
ROM[(0x1aa4a) / 2] = 0xf165;
ROM[(0x1aa4c) / 2] = 0xf165;
ROM[(0x1aa82) / 2] = 0xf165;
ROM[(0x1aa84) / 2] = 0xf165;
ROM[(0x1aa86) / 2] = 0xf165;
}
// the JAKKS ones of these seem to be known as 'Generalplus GPAC500' hardware?
CONS(2009, smartfp, 0, 0, base, smartfp, gcm394_game_state, empty_init, "Fisher-Price", "Fun 2 Learn Smart Fit Park (UK)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
@ -763,6 +802,7 @@ CONS(2012, imgame, 0, 0, tkmag220, tkmag220, tkmag220_game_state, empt
// Does the 'Helicopter' game work properly on real hardware? The function at 0x0D2BE7 uses RAM address 0x2372 for the upper bits of the tile base offset calculation
// but that RAM address doesn't appear to be written anywhere in the code, resulting in scrolling being entirely broken.
CONS(201?, beijuehh, 0, 0, beijuehh, beijuehh, beijuehh_game_state, empty_init, "Beijue", "Beijue 16 Bit Handheld Games 220-in-1 (Game Boy style case)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
CONS(201?, bornkidh, 0, 0, beijuehh, beijuehh, beijuehh_game_state, empty_init, "BornKid", "BornKid 16 Bit Handheld Games 100-in-1 (model GB-10X)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
// die on this one is 'GCM420'
CONS(2013, gormiti, 0, 0, base, gormiti, gormiti_game_state, empty_init, "Giochi Preziosi", "Gormiti Game Arena (Spain)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
@ -770,4 +810,6 @@ CONS(2013, gormiti, 0, 0, base, gormiti, gormiti_game_state, empty_init, "Gio
// Fun 2 Learn 3-in-1 SMART SPORTS ?
// unit looks a bit like a knock-off Wii-U tablet, but much smaller
CONS( 201?, gameu50, 0, 0, gameu, gameu, gameu_handheld_game_state, init_gameu, "YSN", "Play Portable Color GameU+ (50-in-1) (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// was also available under other names, with different designs (PSP style)
CONS( 201?, gameu50, 0, 0, gameu, gameu, gameu_handheld_game_state, init_gameu, "YSN", "Play Portable Color GameU+ (50-in-1) (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
CONS( 201?, gameu108, 0, 0, gameu, gameu, gameu_handheld_game_state, init_gameu108, "YSN", "Play Portable Color GameU+ (108-in-1) (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )

View File

@ -294,6 +294,11 @@ 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_END
void generalplus_gpl32612_game_state::nand_init(int blocksize, int blocksize_stripped)
{
@ -362,3 +367,7 @@ 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)

View File

@ -46,7 +46,6 @@
Let's!TVプレイ / / Let's!TV Play Narikiri Fight Ultraman Shoot! Deadly ray! ! / Takara Tomy / Japan
2005 DX体感 / / Doraemon anywhere - Japan travel game DX experience! Where is the Dragon Grand Prix! / Epoch / Japan
Let's!TVプレイ MaxHeart MaxHeartにおどっちゃおう / / Let's!TV Play Futari wa PreCure MaxHeart Dance on the mat Let's go to MaxHeart / Bandai / Japan
  / / Playing with TV Idaten Sho Gekisou Idaten Battle / Tommy / Japan
Let's!TVプレイ / / Let's!TV Play Mahou Sentai Magiranger Dance & Battle at Magimat / Bandai / Japan
Let's!TVプレイ / / Let's!TV Play Ongeki Battle! Kamen Rider Hibiki Decide! Ichikkasei no Kata / Bandai / Japan
Jala Jaland /atlus/Japan (arcade version) - - - - - - -
@ -64,14 +63,10 @@
not dumped: no TSOP pads
2003 Beyblade Arcade Challenge 5-in-1 /Hasbro/USA - - - - - - have
2002 Zuba-Zuba Blade /TAKARA/Japan - - - - - - -
2002 Excite Striker (UK)
2002 Beyblade Ultimate shooter /TAKARA/Japan - - - - - - -
2001 Let's construct the town! /TAKARA/Japan - - - - - - -
2001 TV hockey /TOMY/Japan - - - - - - -
2001 Webdiver Gradion /TAKARA/Japan - - - - - - -
2000 connecTV OPUS /RADICA EU (different ROM to US?)
* one version of Gin-Gin boarders also had no pads, but the unit it was dumped from did have them
not dumped: xavix2.cpp
@ -80,8 +75,12 @@
2006 SASUKE !!NO.1 / / SASUKE Sasuke & Muscle Battle!! Sportsman No. 1 Decisive Battle / Epoch Publishing / Japan
2005 Let's!TVプレイ / / Let's!TV Play Dragon Ball Z Battle Experience Kamehameha ~ Ometo Fusion / Bandai / Japan
dumped: either here, xavix_2000.cpp, or xavix_2002.cpp
Let's construct the town! /TAKARA/Japan - - - - - - -
TV hockey /TOMY/Japan - - - - - - -
Zuba-Zuba Blade /TAKARA/Japan - - - - - - -
  / / Playing with TV Idaten Sho Gekisou Idaten Battle / Tommy / Japan
Beyblade Ultimate shooter /TAKARA/Japan - - - - - - -
2 / / Tokyo Friend Park 2 Special / Epochsha / Japan
Let's!TVプレイ / / Let's!TV Play Keroro Sergeant Keroro Platoon Panic! Its a big slapstick battle / Bandai / Japan
Link / / Super TV PC Optional Cartridge Pet Mobile Link / Epochsha / Japan
@ -172,6 +171,7 @@
Gachinko Contest! Slot machine TV /DCT/Japan - - - - - - dumped
Hamutaro, Dancing', Running /EPOCH/Japan - - - - - - -
Gin-gin Snowboarders /TAKARA/Japan - - - - - - -
* one version of Gin-Gin boarders also had no pads, the content has been confirmed as identical
Shoot! Exciting striker /EPOCH/Japan - - - - - - -
e-kara US version /TAKARA USA, Hasbro/USA,EU 71076 x8 none 1M SSD 98 PA7351-107 this one or #20 above? dumped
Ms.Comett, Lovely baton /TAKARA/Japan< - - - - - - -
@ -727,6 +727,25 @@ static INPUT_PORTS_START( ltv_tam )
INPUT_PORTS_END
static INPUT_PORTS_START( tom_tvho )
PORT_INCLUDE(xavix)
PORT_MODIFY("MOUSE0X")
PORT_BIT( 0xff, 0x00, IPT_AD_STICK_X ) PORT_SENSITIVITY(7) PORT_KEYDELTA(35) PORT_REVERSE PORT_PLAYER(1)
PORT_MODIFY("MOUSE0Y")
PORT_BIT( 0xff, 0x00, IPT_AD_STICK_Y ) PORT_SENSITIVITY(7) PORT_KEYDELTA(35) PORT_PLAYER(1)
PORT_MODIFY("MOUSE1X")
PORT_BIT( 0xff, 0x00, IPT_AD_STICK_X ) PORT_SENSITIVITY(7) PORT_KEYDELTA(35) PORT_REVERSE PORT_PLAYER(2)
PORT_MODIFY("MOUSE1Y")
PORT_BIT( 0xff, 0x00, IPT_AD_STICK_Y ) PORT_SENSITIVITY(7) PORT_KEYDELTA(35) PORT_PLAYER(2)
PORT_MODIFY("IN0")
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_MODIFY("IN1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
INPUT_PORTS_END
// left + right drums together = select / forward (needed on initial screen). left drum = left in menus right drum = right in menus
// analog reading depends heavily on timers, they're too fast right now so drum hits are too hard and register multiple times
static INPUT_PORTS_START( taikodp )
@ -840,6 +859,13 @@ static INPUT_PORTS_START( rad_opus )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start / Bomb") // PI07
INPUT_PORTS_END
static INPUT_PORTS_START( rad_opusp )
PORT_INCLUDE(rad_opus)
PORT_MODIFY("REGION") // PAL/NTSC flag
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_CUSTOM )
INPUT_PORTS_END
static INPUT_PORTS_START( rad_hnt )
PORT_INCLUDE(xavix)
@ -1709,6 +1735,17 @@ void xavix_i2c_ltv_tam_state::xavix_i2c_24lc04_tam(machine_config &config)
m_anport->read_3_callback().set(FUNC(xavix_i2c_ltv_tam_state::tam_anport3_r));
}
void xavix_tom_tvho_state::xavix_tom_tvho(machine_config &config)
{
xavix(config);
m_anport->read_0_callback().set(FUNC(xavix_tom_tvho_state::tvho_anport0_r));
m_anport->read_1_callback().set(FUNC(xavix_tom_tvho_state::tvho_anport1_r));
m_anport->read_2_callback().set(FUNC(xavix_tom_tvho_state::tvho_anport2_r));
m_anport->read_3_callback().set(FUNC(xavix_tom_tvho_state::tvho_anport3_r));
}
void xavix_i2c_mj_state::xavix_i2c_24lc02_mj(machine_config &config)
{
xavix_i2c_24c02(config);
@ -2004,7 +2041,17 @@ ROM_END
ROM_START( rad_opus )
ROM_REGION(0x100000, "bios", ROMREGION_ERASE00)
ROM_LOAD("opus.bin", 0x000000, 0x100000, CRC(509df402) SHA1(c5b863670eac8498ddda9dfde91387634cf7aa9f) )
ROM_LOAD("opus.bin", 0x000000, 0x100000, CRC(f84c11c5) SHA1(6e34129d0ca9c52b7c342fc94860629d81705523) )
ROM_END
ROM_START( rad_opusp )
ROM_REGION(0x100000, "bios", ROMREGION_ERASE00)
ROM_LOAD("opus.bin", 0x000000, 0x100000, CRC(f84c11c5) SHA1(6e34129d0ca9c52b7c342fc94860629d81705523) )
ROM_END
ROM_START( rad_opusa )
ROM_REGION(0x100000, "bios", ROMREGION_ERASE00)
ROM_LOAD("opus_alt.bin", 0x000000, 0x100000, CRC(509df402) SHA1(c5b863670eac8498ddda9dfde91387634cf7aa9f) )
ROM_END
ROM_START( rad_hnt )
@ -2166,12 +2213,24 @@ ROM_START( epo_strk )
ROM_LOAD("excitestriker.u4", 0x400000, 0x200000, CRC(0f37ca15) SHA1(b35aaf7f5adddba57c898538f157146bb4d1f9b4) )
ROM_END
ROM_START( epo_strkp )
ROM_REGION(0x800000, "bios", ROMREGION_ERASE00)
ROM_LOAD("excitestriker_uk.u5", 0x000000, 0x100000, CRC(201e150e) SHA1(f11405a4b7349e4bdfeb04110b1b6f67e0b63f64) )
ROM_LOAD("excitestriker_uk.u4", 0x400000, 0x200000, CRC(efd648aa) SHA1(59358b9a9df27dadc33ed4c3da9083f739b68340) )
ROM_END
ROM_START( rad_jcon )
ROM_REGION(0x800000, "bios", ROMREGION_ERASE00)
ROM_LOAD("jrconstr_u5.bin", 0x000000, 0x200000, CRC(306699d2) SHA1(121b04bb598d4531db53e497be9270449bb8ffe4) )
ROM_LOAD("jrconstr_u4.bin", 0x400000, 0x100000, CRC(4cfb6193) SHA1(0f56dfc91db3cc066836daf37ff46f9ff5ec5f94) )
ROM_END
ROM_START( tak_town )
ROM_REGION(0x800000, "bios", ROMREGION_ERASE00)
ROM_LOAD("rom.u5", 0x000000, 0x200000, CRC(46587e78) SHA1(f163492139087f7aaeea6448b652f58afcb4dd5c) )
ROM_LOAD("rom.u4", 0x400000, 0x100000, CRC(642e7e6a) SHA1(d8ff88ad20a60d2eb702dd353f307aa3fcfbbdd5) )
ROM_END
ROM_START( epo_guru )
ROM_REGION(0x400000, "bios", ROMREGION_ERASE00)
ROM_LOAD("gururinworld.bin", 0x000000, 0x400000, CRC(e5ae4523) SHA1(0e39ef8f94203d34e49422081667805f50a339a1) )
@ -2207,6 +2266,11 @@ ROM_START( epo_mms )
ROM_LOAD("mmnj-main-4.u4", 0x000000, 0x400000, CRC(22f14ca2) SHA1(122e735eb7c54a22de16f65cd43d2cae788e0102) )
ROM_END
ROM_START( tak_zuba ) // CHBJ MAIN REV:01
ROM_REGION( 0x400000, "bios", ROMREGION_ERASE00)
ROM_LOAD("chbj.u2", 0x000000, 0x400000, CRC(6d60c8d2) SHA1(ba687fc95503223dd484ed9533dcb097ecfea00d) )
ROM_END
ROM_START( epo_mmsp )
ROM_REGION( 0x400000, "bios", ROMREGION_ERASE00)
ROM_LOAD("mm1j main-00.u1", 0x000000, 0x400000, CRC(65b40a27) SHA1(8f88973122277fe8f31bacb3a070609fde062946) )
@ -2222,6 +2286,11 @@ ROM_START( tak_geig )
ROM_LOAD("geigeki.bin", 0x000000, 0x400000, CRC(bd0c3576) SHA1(06f614dbec0225ce4ed866b98450912986d72faf) )
ROM_END
ROM_START( tom_tvho ) // ET105 REV 0.0
ROM_REGION(0x200000, "bios", ROMREGION_ERASE00)
ROM_LOAD("tvhockey.u4", 0x000000, 0x200000, CRC(9cd72ae2) SHA1(0530851123b607ddb85f9513405ce97c493f5fd6) )
ROM_END
ROM_START( tak_comt )
ROM_REGION(0x200000, "bios", ROMREGION_ERASE00)
ROM_LOAD("comet.u3", 0x000000, 0x200000, CRC(407c5566) SHA1(41d73c34af8cc3d07a34fcac0bc1856442c94200) )
@ -2446,7 +2515,7 @@ ROM_START( tvpc_ham )
ROM_LOAD( "hpcj.u3", 0x000000, 0x400000, CRC(76e8c854) SHA1(5998c03292a16107d0d7ae00f77677582680f323) )
ROM_END
ROM_START( tak_gin ) // dumped from a PCB with 1x ROM Glob with TSOP pads, 1x unknown glob, 1x CPU glob. It also exists in a configuration with just 1x ROM glob (no pads) and 1x CPU glob - unknown if code is the same
ROM_START( tak_gin )
ROM_REGION(0x200000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "snowboard.bin", 0x000000, 0x200000, CRC(79fdeae3) SHA1(ab08790e95cdccf3541ecbddb87ebf0dedb3718b) )
ROM_END
@ -2456,6 +2525,11 @@ ROM_START( tak_hamr ) // HAMJ MAIN on PCB
ROM_LOAD( "hamj.u4", 0x000000, 0x400000, CRC(2f4f5270) SHA1(dfb75f0d20247cf1c886840149c7cf91780ae1b9) )
ROM_END
ROM_START( tak_beyb )
ROM_REGION(0x200000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "beyblade.u2", 0x000000, 0x200000, CRC(bcf6b3a7) SHA1(1c80f1241138b9d7816f1e5285ff8f3c61739c95) )
ROM_END
/* XaviX hardware titles (1st Generation)
@ -2463,7 +2537,7 @@ ROM_END
SSD 98 PL7351-181
SSD 98 PA7351-107
SSD 97 PA7270-107
type CPUS
type CPUs
only new opcodes are callf and retf?
@ -2484,8 +2558,12 @@ CONS( 2006, namcons2, 0, 0, xavix_i2c_24lc04, nostalgia,xavix_i2c_sta
CONS( 2000, rad_ping, 0, 0, xavix, rad_ping, xavix_state, init_xavix, "Radica / SSD Company LTD / Simmer Technology", "Play TV Ping Pong (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // "Simmer Technology" is also known as "Hummer Technology Co., Ltd"
CONS( 2000, rad_pingp, rad_ping, 0, xavixp, rad_pingp,xavix_state, init_xavix, "Radica / SSD Company LTD / Simmer Technology", "ConnecTV Table Tennis (PAL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// this set reads the region byte and will show either 'RADICA: Play TV Opus' or 'RADICA: ConnecTV Opus' as the title
CONS( 2000, rad_opus, 0, 0, xavix_nv, rad_opus, xavix_state, init_xavix, "Radica / SSD Company LTD", "Play TV Opus (NTSC)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // there is a missing 'TV Static' noise effect when menus appear (box shows 'Play TV' ingame just shows 'Radica:Plug & Play')
// ConnecTV Opus is a different ROM in this case? Game doesn't read from PAL/NTSC flag? (verify it isn't detecting PAL in some other way) ( https://www.youtube.com/watch?v=Ub9tstLEj_0 )
CONS( 2000, rad_opusp, rad_opus, 0, xavixp_nv, rad_opusp,xavix_state, init_xavix, "Radica / SSD Company LTD", "ConnecTV Opus (PAL)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
// the set below does NOT read the PAL/NTSC flag, and will only display 'RADICA: Plug & Play Opus' as the title
// older release, or region where the Play TV / ConnecTV trademarks weren't used?
CONS( 2000, rad_opusa, rad_opus, 0, xavixp_nv, rad_opus, xavix_state, init_xavix, "Radica / SSD Company LTD", "Plug & Play Opus (NTSC)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2000, rad_hnt, 0, 0, xavix_nv, rad_hnt, xavix_state, init_xavix, "Radica / SSD Company LTD", "Play TV Buckmasters Huntin' (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // need to map gun (box shows 'Play TV' ingame just shows 'Plug & Play')
@ -2502,8 +2580,6 @@ CONS( 200?, rad_crdnp, rad_crdn, 0, xavixp, rad_crdnp,xavix_state,
CONS( 2000, rad_bb, 0, 0, xavix, rad_bb, xavix_state, init_xavix, "Radica / SSD Company LTD", "Play TV Baseball (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // Play TV branding used on box, not ingame
CONS( 2002, rad_bb2, 0, 0, xavix, rad_bb2, xavix_state, init_xavix, "Radica / SSD Company LTD", "Play TV Baseball 2 (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // contains string "Radica RBB2 V1.0"
CONS( 2001, rad_bass, 0, 0, xavix, rad_bass, xavix_state, init_xavix, "Radica / SSD Company LTD", "Play TV Bass Fishin' (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
CONS( 2001, rad_bassp, rad_bass, 0, xavixp, rad_bassp,xavix_state, init_xavix, "Radica / SSD Company LTD", "ConnecTV Bass Fishin' (PAL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
@ -2526,15 +2602,20 @@ CONS( 2006, rad_sbw, 0, 0, xavix, rad_snow, xavix_state,
CONS( 2002, rad_bdp, 0, 0, xavix, rad_bdp, xavix_state, init_xavix, "Radica / Mattel / SSD Company LTD", "Barbie Dance Party", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2002, rad_socr, 0, 0, xavix, epo_epp, xavix_state, init_xavix, "Radica / Epoch / SSD Company LTD", "Play TV Soccer", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// ゴール決めるぜ! エキサイトストライカー
CONS( 2001, epo_strk, 0, 0, xavix, epo_epp, xavix_state, init_xavix, "Epoch / SSD Company LTD", "Goal Kimeruze! Excite Striker (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// A UK branded Epoch version (no Radica involvement) also exists, but so far all units seen have been 'no TSOP pads' cases
CONS( 2002, epo_strkp, epo_strk, 0, xavixp, epo_epp, xavix_state, init_xavix, "Epoch / SSD Company LTD", "Let's Play Excite Striker (UK)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
CONS( 2002, rad_socr, epo_strk, 0, xavix, epo_epp, xavix_state, init_xavix, "Radica / Epoch / SSD Company LTD", "Play TV Soccer", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
CONS( 2002, rad_jcon, 0, 0, xavix, rad_jcon, xavix_state, init_xavix, "Radica / Takara / SSD Company LTD", "Play TV Jr. Construction", MACHINE_IMPERFECT_SOUND )
// まちをつくろう 工事のくるま5
CONS( 2001, tak_town, 0, 0, xavix, rad_jcon, xavix_state, init_xavix, "Takara / SSD Company LTD", "Machi o Tsukurou: Kouji no Kuruma 5 (Japan)", MACHINE_IMPERFECT_SOUND )
// this is roughly based on tak_town above
CONS( 2002, rad_jcon, tak_town, 0, xavix, rad_jcon, xavix_state, init_xavix, "Radica / Takara / SSD Company LTD", "Play TV Jr. Construction", MACHINE_IMPERFECT_SOUND )
// ホームラン打とうぜ! エキサイトスタジアム
CONS( 2000, epo_stad, 0, 0, xavix, epo_epp, xavix_state, init_xavix, "Epoch / SSD Company LTD", "Home Run Datouze! Excite Stadium (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// this seems to be based off the epo_stad code, but heavily modified
CONS( 2002, rad_bb2, 0, 0, xavix, rad_bb2, xavix_state, init_xavix, "Radica / SSD Company LTD", "Play TV Baseball 2 (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // contains string "Radica RBB2 V1.0"
// 勝負しようぜ! エキサイトスタジアムDX
CONS( 2002, epo_esdx, 0, 0, xavix, epo_epp, xavix_state, init_xavix, "Epoch / SSD Company LTD", "Shoubu Shiyouze! Excite Stadium DX (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
@ -2584,6 +2665,9 @@ CONS( 2003, epo_crok, 0, 0, xavix_i2c_24lc04, xavix_i2c,xavix_i2c_sta
// ミニモニ。ステージ!ダンスだぴょん!
CONS( 2002, epo_mms, 0, 0, xavix_i2c_24c02, epo_mms, xavix_i2c_state, init_xavix, "Epoch / SSD Company LTD", "mini-moni Stage! Dance Dapyon! (Japan)", MACHINE_IMPERFECT_SOUND )
// ズバズバブレード
CONS( 2002, tak_zuba, 0, 0, xavix_i2c_24c02, xavix_i2c,xavix_i2c_state, init_xavix, "Takara / SSD Company LTD", "Zuba Zuba Blade (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// ミニモニ。ステージ!ダンスだぴょん!ぷらすっ
CONS( 2003, epo_mmsp, 0, 0, xavix_i2c_24c02, epo_mms, xavix_i2c_state, init_xavix, "Epoch / SSD Company LTD", "mini-moni Stage! Dance Dapyon! Plus (Japan)", MACHINE_IMPERFECT_SOUND )
@ -2598,6 +2682,10 @@ CONS( 2005, has_wamg, 0, 0, xavix, has_wamg, xavix_state,
// GEIGEKI ゴーゴーシューティング
CONS( 2002, tak_geig, 0, 0, xavix_nv, tak_geig, xavix_state, init_xavix, "Takara / SSD Company LTD", "Geigeki Go Go Shooting (Japan)", MACHINE_IMPERFECT_SOUND )
// TVホッケー
// playable but could do with better deadzome handling on the controls at least, and for some reason auto-center heads to the bottom left corner in breakout mode?
CONS( 2001, tom_tvho, 0, 0, xavix_tom_tvho, tom_tvho, xavix_tom_tvho_state, init_xavix, "Tomy / SSD Company LTD", "TV Hockey (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// コメットさん☆ラブリンバトン
CONS( 2001, tak_comt, 0, 0, xavix_nv, tak_comt, xavix_state, init_xavix, "Takara / SSD Company LTD", "Comet-san Lovelin Baton (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
@ -2607,6 +2695,9 @@ CONS( 2001, tak_gin, 0, 0, xavix, tak_gin, xavix_state,
// ぽこぽこハンマーズ
CONS( 2002, tak_hamr, 0, 0, xavix_i2c_24c02, tak_hamr, xavix_i2c_state, init_xavix, "Takara / SSD Company LTD", "Poko Poko Hammers (Japan)", MACHINE_IMPERFECT_SOUND )
//ベイブレード アルティメットシューター
CONS( 2002, tak_beyb, 0, 0, xavix, xavix, xavix_state, init_xavix, "Takara / SSD Company LTD", "Beyblade Ultimate Shooter (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// was also distributed by Atlus as an arcade cabinet in 2005, ROM almost certainly different (this one will auto-power off after inactivity, an arcade wouldn't do that)
// ジャラジャランド
CONS( 2003, jarajal, 0, 0, xavix_nv, jarajal, xavix_state, init_xavix, "Takara / SSD Company LTD", "Jyarajyaland (Japan, PlugIt! version)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )

View File

@ -750,6 +750,25 @@ private:
uint8_t tam_anport3_r() { return m_mouse1y->read()^0x7f; }
};
class xavix_tom_tvho_state : public xavix_state
{
public:
xavix_tom_tvho_state(const machine_config &mconfig, device_type type, const char *tag)
: xavix_state(mconfig, type, tag)
{ }
void xavix_tom_tvho(machine_config &config);
private:
private:
uint8_t tvho_anport0_r() { return m_mouse0x->read()^0x7f; }
uint8_t tvho_anport1_r() { return m_mouse0y->read()^0x7f; }
uint8_t tvho_anport2_r() { return m_mouse1x->read()^0x7f; }
uint8_t tvho_anport3_r() { return m_mouse1y->read()^0x7f; }
};
class xavix_mtrk_state : public xavix_state
{
public:

View File

@ -312,6 +312,12 @@ ROM_START( ttv_mx )
ROM_LOAD( "mxdirtrebel.bin", 0x000000, 0x800000, CRC(e64bf1a1) SHA1(137f97d7d857697a13e0c8984509994dc7bc5fc5) )
ROM_END
ROM_START( tom_jump )
ROM_REGION(0x800000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "tom_jump.bin", 0x000000, 0x800000, CRC(20bf5c17) SHA1(bca7535baa6a54ad3ee0929bd3b74a22cb5139da) )
ROM_END
ROM_START( drgqst )
ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "dragonquest.bin", 0x000000, 0x800000, CRC(3d24413f) SHA1(1677e81cedcf349de7bf091a232dc82c6424efba) )
@ -390,6 +396,10 @@ CONS( 2005, ttv_sw, 0, 0, xavix2000_i2c_24c02, ttv_lotr, xavix_i2c_lot
CONS( 2005, ttv_swj, ttv_sw, 0, xavix2000_i2c_24c02, ttv_lotr, xavix_i2c_lotr_state, init_xavix, "Tomy / SSD Company LTD", "Star Wars Saga Edition - Lightsaber Battle Game (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
CONS( 2005, ttv_lotr, 0, 0, xavix2000_i2c_24c02, ttv_lotr, xavix_i2c_lotr_state, init_xavix, "Tiger / SSD Company LTD", "Lord Of The Rings - Warrior of Middle-Earth", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
CONS( 2005, ttv_mx, 0, 0, xavix2000_i2c_24c04, ttv_mx, xavix_i2c_state, init_xavix, "Tiger / SSD Company LTD", "MX Dirt Rebel", MACHINE_IMPERFECT_SOUND )
// テレビで遊び隊 韋駄天翔 激走 韋駄天バトル - seems to be based on the same engine at ttv_mx and has an almost identical controller, but not exactly the same game
CONS( 2005, tom_jump, 0, 0, xavix2000_i2c_24c04, ttv_mx, xavix_i2c_state, init_xavix, "Tomy / SSD Company LTD", "IDATEN Jump: Gekisou IDATEN Battle (Japan)", MACHINE_IMPERFECT_SOUND )
// 剣神ドラゴンクエスト 甦りし伝説の剣
CONS( 2003, drgqst, 0, 0, xavix2000_i2c_24c08, ttv_lotr, xavix_i2c_lotr_state, init_xavix, "Square Enix / SSD Company LTD", "Kenshin Dragon Quest: Yomigaerishi Densetsu no Ken (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )

View File

@ -473,6 +473,15 @@ ROM_START( xavjmat )
ROM_LOAD( "u3", 0x0000000, 0x0800000, CRC(52dc318c) SHA1(dc50e0747ba29cfb1048fd4a55d26870086c869b) )
ROM_END
ROM_START( xavaero )
ROM_REGION( 0x0800000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "aerostep.u2", 0x0000000, 0x0800000, CRC(7fce9cc1) SHA1(460bcef8a23d792941108e5da8c0d669a546b94c) )
ROM_REGION( 0x0800000, "biosu3", ROMREGION_ERASE00 )
ROM_LOAD( "aerostep.u3", 0x0000000, 0x0800000, CRC(ed9ca4ee) SHA1(4d90300880b02ac275e0cb502de16ae6f132aa2b) )
ROM_END
// currently copies the wrong code into RAM to execute (due to extended ROM size, and possible banking)
// [:] ':maincpu' (00E074): rom_dmatrg_w (do DMA?) 01
// [:] (possible DMA op SRC 00ebe2d3 DST 358a LEN 0398)
@ -585,6 +594,7 @@ CONS( 2004, xavbassf, 0, 0, xavix2002_i2c_24c08, xavix_i2c, xavix_i2c_state,
// TODO: check SEEPROM type and hookup, banking!
CONS( 2005, xavjmat, 0, 0, xavix2002_i2c_jmat, xavix, xavix_i2c_jmat_state, init_xavix, "SSD Company LTD", "Jackie Chan J-Mat Fitness (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2005, xavaero, 0, 0, xavix2002_i2c_jmat, xavix, xavix_i2c_jmat_state, init_xavix, "SSD Company LTD", "XaviX Aerostep (XaviXPORT, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2007, xavmusic, 0, 0, xavix2002_i2c_jmat, xavix, xavix_i2c_jmat_state, init_xavix, "SSD Company LTD", "XaviX Music & Circuit (XaviXPORT)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
// https://arnaudmeyer.wordpress.com/domyos-interactive-system/