new NOT WORKING machines (Plug and Play) (#7541)

* set additions, see main decription

* not working additions, see main description

* more not working bits, see main description

* more not working additions, see main description

* consistency fix
This commit is contained in:
David Haywood 2020-12-10 19:36:44 +00:00 committed by GitHub
parent c1741e625b
commit 7936345809
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 500 additions and 16 deletions

View File

@ -0,0 +1,36 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0
-->
<softwarelist name="easy_karaoke_cart" description="IVL Technologies Easy Karaoke cartridges">
<software name="ekgg3" supported="no">
<description>Golden Greats Vol.3</description>
<year>2004</year>
<publisher>IVL Technologies</publisher>
<part name="cart" interface="easy_karaoke_cart">
<dataarea name="rom" size="0x80000">
<rom name="MX29LV040.U3" size="0x80000" crc="163e6f6d" sha1="baa95437161459d3874fe0576a813907d2ee7869" />
</dataarea>
<dataarea name="mcu" size="0x2000">
<rom name="IC89LV52A-24PQ.U1" size="0x2000" status="nodump" />
</dataarea>
</part>
</software>
<software name="ekgg4" supported="no">
<description>Golden Greats Vol.4</description>
<year>2004</year>
<publisher>IVL Technologies</publisher>
<part name="cart" interface="easy_karaoke_cart">
<dataarea name="rom" size="0x80000">
<rom name="MX29LV040.U3" size="0x80000" crc="41587eea" sha1="efe29e7dfae91c1f5d0fd196197c3021e8907b58" />
</dataarea>
<dataarea name="mcu" size="0x2000">
<rom name="IC89LV52A-24PQ.U1" size="0x2000" status="nodump" />
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -4068,6 +4068,7 @@ files {
MAME_DIR .. "src/mame/drivers/generalplus_gpl16250_nand.cpp",
MAME_DIR .. "src/mame/drivers/generalplus_gpl16250_mobigo.cpp",
MAME_DIR .. "src/mame/drivers/generalplus_gpl16250_spi.cpp",
MAME_DIR .. "src/mame/drivers/generalplus_gpl16250_spi_direct.cpp",
MAME_DIR .. "src/mame/includes/generalplus_gpl16250.h",
MAME_DIR .. "src/mame/includes/generalplus_gpl16250_romram.h",
MAME_DIR .. "src/mame/includes/generalplus_gpl16250_nand.h",
@ -4101,6 +4102,7 @@ files {
MAME_DIR .. "src/mame/machine/xavix2002_io.h",
MAME_DIR .. "src/mame/drivers/xavix2.cpp",
MAME_DIR .. "src/mame/drivers/titan_soc.cpp",
MAME_DIR .. "src/mame/drivers/st22xx_bbl338.cpp",
MAME_DIR .. "src/mame/drivers/unk6502_st2xxx.cpp",
MAME_DIR .. "src/mame/drivers/actions_atj2279b.cpp",
MAME_DIR .. "src/mame/drivers/pubint_storyreader.cpp",
@ -4410,6 +4412,7 @@ files {
MAME_DIR .. "src/mame/drivers/dual68.cpp",
MAME_DIR .. "src/mame/drivers/e100.cpp",
MAME_DIR .. "src/mame/drivers/eacc.cpp",
MAME_DIR .. "src/mame/drivers/easy_karaoke.cpp",
MAME_DIR .. "src/mame/drivers/elwro800.cpp",
MAME_DIR .. "src/mame/drivers/epic14e.cpp",
MAME_DIR .. "src/mame/drivers/esprit.cpp",

View File

@ -46,6 +46,35 @@ generalplus_gpspispi_device::generalplus_gpspispi_device(const machine_config &m
}
uint16_t generalplus_gpspi_direct_device::spi_direct_7b40_r()
{
return machine().rand();
}
void generalplus_gpspi_direct_device::gpspi_direct_internal_map(address_map& map)
{
sunplus_gcm394_base_device::base_internal_map(map);
map(0x0079f4, 0x0079f4).r(FUNC(generalplus_gpspi_direct_device::spi_direct_7b40_r));
map(0x0079f5, 0x0079f5).r(FUNC(generalplus_gpspi_direct_device::spi_direct_7b40_r));
map(0x007b40, 0x007b40).r(FUNC(generalplus_gpspi_direct_device::spi_direct_7b40_r));
map(0x009000, 0x3fffff).rom().region("spidirect", 0);
}
DEFINE_DEVICE_TYPE(GP_SPI_DIRECT, generalplus_gpspi_direct_device, "gpac800spi_direct", "GeneralPlus GPL16250 (with direct SPI handling)")
generalplus_gpspi_direct_device::generalplus_gpspi_direct_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
sunplus_gcm394_base_device(mconfig, GP_SPISPI, tag, owner, clock, address_map_constructor(FUNC(generalplus_gpspi_direct_device::gpspi_direct_internal_map), this))
{
}
void sunplus_gcm394_base_device::default_cs_callback(uint16_t cs0, uint16_t cs1, uint16_t cs2, uint16_t cs3, uint16_t cs4)
{
logerror("callback not hooked\n");

View File

@ -464,10 +464,34 @@ private:
uint16_t spi_unk_7943_r();
};
class generalplus_gpspi_direct_device : public sunplus_gcm394_base_device
{
public:
template <typename T>
generalplus_gpspi_direct_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&screen_tag) :
generalplus_gpspi_direct_device(mconfig, tag, owner, clock)
{
m_screen.set_tag(std::forward<T>(screen_tag));
m_csbase = 0x30000;
}
generalplus_gpspi_direct_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
void gpspi_direct_internal_map(address_map &map);
//virtual void device_start() override;
//virtual void device_reset() override;
private:
uint16_t spi_direct_7b40_r();
};
DECLARE_DEVICE_TYPE(GCM394, sunplus_gcm394_device)
DECLARE_DEVICE_TYPE(GPAC800, generalplus_gpac800_device)
DECLARE_DEVICE_TYPE(GP_SPISPI, generalplus_gpspispi_device)
DECLARE_DEVICE_TYPE(GP_SPI_DIRECT, generalplus_gpspi_direct_device)
#endif // MAME_MACHINE_GENERALPLUS_GPL16250SOC_H

View File

@ -0,0 +1,160 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
/******************************************************************************
Easy Karaoke (c)IVL Technologies
A version of this was also released in France by Lexibook, with French songs
This uses
Clarity 4.3 ARM
SVI1186
NV0165 0317
Sound Vision Inc.
an overview for 4.1 and 4.2 can be found at
http://web.archive.org/web/20031212120255fw_/http://www.soundvisioninc.com/OEMProducts/C4datasheet072401.pdf
Amusingly this datasheet advertises 'MAME Game emulation' as one of the capabilities despite the chip
clocking in at only 72Mhz
Support chip is
IVL
Technologies
ICS0253R1.0
UA1068ABK-RD
0327 A01491F
RAM chip is
IC42S16400-7T
ROM is
IVL
Technologies
ICS0303-B
(c)1985-1986
3415BAI THAI
--------------
Cartridges contain:
1x MX 29LV040TC-90 (Flash ROM)
1x HC573A
1x ICSI IC89LV52A-24PQ (80C52 MCU with 8KBytes Flash memory, can be read protected)
presumably manages a serial protocol to send data to the main unit
*******************************************************************************/
#include "emu.h"
#include "cpu/arm7/arm7.h"
#include "cpu/arm7/arm7core.h"
#include "bus/generic/slot.h"
#include "bus/generic/carts.h"
#include "screen.h"
#include "softlist.h"
#include "speaker.h"
class easy_karaoke_state : public driver_device
{
public:
easy_karaoke_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_screen(*this, "screen")
, m_cart(*this, "cartslot")
, m_cart_region(nullptr)
{ }
void easy_karaoke(machine_config &config);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
void easy_karaoke_base(machine_config &config);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load);
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
required_device<generic_slot_device> m_cart;
memory_region *m_cart_region;
uint32_t screen_update_storio(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
};
uint32_t easy_karaoke_state::screen_update_storio(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
void easy_karaoke_state::machine_start()
{
// if there's a cart, override the standard mapping
if (m_cart && m_cart->exists())
{
m_cart_region = memregion(std::string(m_cart->tag()) + GENERIC_ROM_REGION_TAG);
}
}
void easy_karaoke_state::machine_reset()
{
}
DEVICE_IMAGE_LOAD_MEMBER(easy_karaoke_state::cart_load)
{
uint32_t size = m_cart->common_get_size("rom");
m_cart->rom_alloc(size, GENERIC_ROM16_WIDTH, ENDIANNESS_LITTLE);
m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
return image_init_result::PASS;
}
static INPUT_PORTS_START( easy_karaoke )
INPUT_PORTS_END
void easy_karaoke_state::easy_karaoke_base(machine_config &config)
{
ARM9(config, m_maincpu, 72000000); // ARM 720 core
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(easy_karaoke_state::screen_update_storio));
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "easy_karaoke_cart");
m_cart->set_width(GENERIC_ROM16_WIDTH);
m_cart->set_device_load(FUNC(easy_karaoke_state::cart_load));
}
void easy_karaoke_state::easy_karaoke(machine_config &config)
{
easy_karaoke_base(config);
SOFTWARE_LIST(config, "cart_list").set_original("easy_karaoke_cart");
}
ROM_START( easykara )
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) // unknown size
ROM_LOAD( "ics0303-b.bin", 0x000000, 0x200000, NO_DUMP )
ROM_END
CONS( 2004, easykara, 0, 0, easy_karaoke, easy_karaoke, easy_karaoke_state, empty_init, "IVL Technologies", "Easy Karaoke Groove Station", MACHINE_IS_SKELETON )

View File

@ -0,0 +1,107 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
/*
These seem to be GPL16250 related based on video register use
however the SPI ROM maps directly into CPU space, where you'd
expect internal ROM to be?!
*/
#include "emu.h"
#include "includes/generalplus_gpl16250.h"
class generalplus_gpspi_direct_game_state : public gcm394_game_state
{
public:
generalplus_gpspi_direct_game_state(const machine_config& mconfig, device_type type, const char* tag) :
gcm394_game_state(mconfig, type, tag)
{
}
void init_fif();
void generalplus_gpspi_direct(machine_config &config);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
};
void generalplus_gpspi_direct_game_state::machine_start()
{
}
void generalplus_gpspi_direct_game_state::machine_reset()
{
m_maincpu->reset(); // reset CPU so vector gets read etc.
}
static INPUT_PORTS_START( gcm394 )
PORT_START("IN0")
PORT_START("IN1")
PORT_START("IN2")
INPUT_PORTS_END
void generalplus_gpspi_direct_game_state::generalplus_gpspi_direct(machine_config &config)
{
GP_SPI_DIRECT(config, m_maincpu, 96000000/2, m_screen);
m_maincpu->porta_in().set(FUNC(generalplus_gpspi_direct_game_state::porta_r));
m_maincpu->portb_in().set(FUNC(generalplus_gpspi_direct_game_state::portb_r));
m_maincpu->portc_in().set(FUNC(generalplus_gpspi_direct_game_state::portc_r));
m_maincpu->porta_out().set(FUNC(generalplus_gpspi_direct_game_state::porta_w));
m_maincpu->space_read_callback().set(FUNC(generalplus_gpspi_direct_game_state::read_external_space));
m_maincpu->space_write_callback().set(FUNC(generalplus_gpspi_direct_game_state::write_external_space));
m_maincpu->set_irq_acknowledge_callback(m_maincpu, FUNC(sunplus_gcm394_base_device::irq_vector_cb));
m_maincpu->add_route(ALL_OUTPUTS, "lspeaker", 0.5);
m_maincpu->add_route(ALL_OUTPUTS, "rspeaker", 0.5);
m_maincpu->set_bootmode(0);
m_maincpu->set_cs_config_callback(FUNC(gcm394_game_state::cs_callback));
FULL_MEMORY(config, m_memory).set_map(&generalplus_gpspi_direct_game_state::cs_map_base);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_size(320*2, 262*2);
m_screen->set_visarea(0, (320*2)-1, 0, (240*2)-1);
m_screen->set_screen_update("maincpu", FUNC(sunplus_gcm394_device::screen_update));
m_screen->screen_vblank().set(m_maincpu, FUNC(sunplus_gcm394_device::vblank));
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
}
// Is there an internal ROM that gets mapped out or can this type really execute directly from scrambled SPI?
ROM_START( fixitflx )
ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00)
ROM_LOAD16_WORD_SWAP( "fixitfelix_md25q16csig_c84015.bin", 0x0000, 0x200000, CRC(605c6863) SHA1(4f6cc2e8388e20eb90c6b05265273650eeea56eb) )
ROM_END
ROM_START( wiwcs )
ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00)
ROM_LOAD16_WORD_SWAP( "wwcs.img", 0x0000, 0x800000, CRC(9b86bc45) SHA1(17721c662642a257d3e0f56e351a9a80d75d9110) )
ROM_REGION16_BE(0x400, "i2c", ROMREGION_ERASE00)
ROM_LOAD( "witw_eeprom.bin", 0x0000, 0x400, CRC(9426350b) SHA1(c481ded8b1f61fbf2403532dabb9c0a5c2a33fa2) )
ROM_END
void generalplus_gpspi_direct_game_state::init_fif()
{
uint16_t* spirom16 = (uint16_t*)memregion("maincpu:spidirect")->base();
for (int i = 0; i < 0x800000 / 2; i++)
{
spirom16[i] = bitswap<16>(spirom16[i] ^ 0xdd0d,
3, 1, 11, 9, 6, 14, 0, 2, 8, 7, 13, 15, 4, 5, 12, 10);
}
}
CONS(2017, fixitflx, 0, 0, generalplus_gpspi_direct, gcm394, generalplus_gpspi_direct_game_state , init_fif, "Basic Fun", "Fix It Felix Jr. (Mini Arcade)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
CONS(2018, wiwcs, 0, 0, generalplus_gpspi_direct, gcm394, generalplus_gpspi_direct_game_state , init_fif, "Basic Fun", "Where in the World is Carmen Sandiego? (Handheld)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)

View File

@ -1074,6 +1074,21 @@ ROM_START( vtvsocr )
ROM_LOAD16_WORD_SWAP( "virtualtvsoccer.bin", 0x00000, 0x40000, CRC(2cfe42aa) SHA1(c2cafdbd5cc6491c94efd3f1be4b70c9de737b46) )
ROM_END
ROM_START( hs36red )
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD( "mx29lv160cb.u3", 0x00000, 0x200000, CRC(318a81bb) SHA1(8b207e6a5fca53cbf383b79ff570fcdb89639fa3) )
ROM_END
ROM_START( hs36blk )
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD( "mx29lv160cbtc.u3", 0x00000, 0x200000, CRC(b5cf91a0) SHA1(399f015fb0580c90928e7f3d73810cc4b6cc70d9) )
ROM_END
ROM_START( dancmix3 )
ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD( "e28f008sa.u5", 0x00000, 0x100000, CRC(faf6480c) SHA1(68bf79910e091443aecc7bf256cd5378a04c550e) )
ROM_END
void nes_clone_state::init_nes_clone()
{
}
@ -1097,3 +1112,12 @@ CONS( 200?, vtvppong, 0, 0, nes_clone_vtvppong, nes_clone, nes_clone_vtvpp
CONS( 200?, pjoypj001, 0, 0, nes_clone, nes_clone, nes_clone_state, init_nes_clone, "Trump Grand", "PowerJoy (PJ001, NES based plug & play)", MACHINE_NOT_WORKING )
CONS( 200?, vtvsocr, 0, 0, nes_clone_vtvsocr, nes_clone, nes_clone_vtvsocr_state, init_nes_clone, "<unknown>", "Virtual TV Soccer", MACHINE_NOT_WORKING )
// might be VT02 hardware, needs decrypting, possibly designed by wellminds (M350 etc.)
CONS( 2010, hs36red, 0, 0, nes_clone, nes_clone, nes_clone_state, init_nes_clone, "HengSheng", "HengSheng 36-in-1 (Red pad)", MACHINE_NOT_WORKING )
CONS( 2010, hs36blk, 0, 0, nes_clone, nes_clone, nes_clone_state, init_nes_clone, "HengSheng", "HengSheng 36-in-1 (Black pad)", MACHINE_NOT_WORKING )
// probably not a plain NES clone, uses extended opcodes found in later chips, but doesn't fit directly in either
// ROM seems very small for a device with sampled music, but size matches chip type
// does access NES-like addresses
CONS( 201?, dancmix3, 0, 0, nes_clone, nes_clone, nes_clone_state, init_nes_clone, "Venom", "TV Dance Mat 4 Games in 1 (Mix Party 3 / Dance Mix 3)", MACHINE_NOT_WORKING )

View File

@ -0,0 +1,68 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood, AJR
#include "emu.h"
#include "cpu/m6502/st2205u.h"
#include "screen.h"
class st22xx_bbl338_state : public driver_device
{
public:
st22xx_bbl338_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 st22xx_bbl338(machine_config &config);
private:
void st22xx_bbl338_map(address_map &map);
required_device<st2xxx_device> m_maincpu;
required_device<screen_device> m_screen;
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
};
void st22xx_bbl338_state::st22xx_bbl338_map(address_map &map)
{
map(0x000000, 0x1fffff).rom().region("maincpu", 0);
}
static INPUT_PORTS_START(st22xx_bbl338)
INPUT_PORTS_END
u32 st22xx_bbl338_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
void st22xx_bbl338_state::st22xx_bbl338(machine_config &config)
{
ST2205U(config, m_maincpu, 4000000); // likely higher clock
m_maincpu->set_addrmap(AS_DATA, &st22xx_bbl338_state::st22xx_bbl338_map);
SCREEN(config, m_screen, SCREEN_TYPE_LCD);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(160, 128); // incorrect
m_screen->set_visarea(0, 160 - 1, 0, 128 - 1);
m_screen->set_screen_update(FUNC(st22xx_bbl338_state::screen_update));
}
ROM_START( bbl338 )
// is internal ROM used? the code in the external ROM contains a bank for 4000-6fff including vectors at least.
// it sets stack to 14f, but quickly jumps to 150 in RAM where there is no code? was something meant to have copied
// code there earlier?
ROM_REGION( 0x200000, "maincpu", 0 )
ROM_LOAD( "en29lv160ab.u1", 0x000000, 0x200000, CRC(2c73e16c) SHA1(e2c69b3534e32ef384c0c2f5618118a419326e3a) )
ROM_END
// this is uses a higher resolution display than the common units, but not as high as the SunPlus based ones
COMP( 201?, bbl338, 0, 0, st22xx_bbl338, st22xx_bbl338, st22xx_bbl338_state, empty_init, "BaoBaoLong", "Portable Game Player BBL-338 (BaoBaoLong, 48-in-1)", MACHINE_IS_SKELETON )

View File

@ -5671,6 +5671,10 @@ static INPUT_PORTS_START( 110dance )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_NAME("Pad Right") PORT_16WAY
INPUT_PORTS_END
static INPUT_PORTS_START( gm235upc )
PORT_START("IN0")
INPUT_PORTS_END
static INPUT_PORTS_START( lxts3 )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
@ -6156,6 +6160,15 @@ ROM_START( lxts3 )
ROM_END
ROM_START( gm235upc )
ROM_REGION( 0x800000, "mainrom", 0 )
ROM_LOAD( "39vf3201.u3", 0x00000, 0x400000, CRC(182f8a2c) SHA1(7be56e1063cc8dbb78c419f5adc05b8cd65c8e2f))
// also has RAM
ROM_END
// TODO: this is a cartridge based system (actually, verify this, it seems some versions simply had built in games) move these to SL if verified as from cartridge config
// actually it appears that for the cart based systems these are 'fake systems' anyway, where the base unit is just a Famiclone but as soon as you plug in a cart none of
// the internal hardware gets used at all.
@ -6228,12 +6241,15 @@ CONS( 200?, dance555, 0, 0, vt1682_exsportp, dance555, vt1682_exsport_state
// manual explicitly states it has NTSC output only (unit can be connected to a TV) and both Ranning Horse + Explosion (Bomberman) are the NTSC versions
// has 21.477 Mhz XTAL
CONS( 200?, njp60in1, 0, 0, vt1682_lxts3, njp60in1, vt1682_lxts3_state, njp60in1_init, "<unknown>", "NJ Pocket 60-in-1 handheld 'X zero' (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND) // RNG + linescroll issues
CONS( 200?, njp60in1, 0, 0, vt1682_lxts3, njp60in1, vt1682_lxts3_state, njp60in1_init, "<unknown>", "NJ Pocket 60-in-1 handheld 'X zero' (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND) // linescroll issues
// this appears to be related to the NJ Pocket, claims 101-in-1 but has some duplicates.
// Like the 'Wow Wireless gaming' it incorrectly mixes the PAL version of 'Ranning Horse' with the NTSC version of 'Bomberman', it has no TV output.
// has 26.6017 Mhz (6xPAL) XTAL
CONS( 200?, unk1682, 0, 0, vt1682_unk1682, lxts3, vt1682_lxts3_state, unk1682_init, "<unknown>", "unknown VT1682-based 101-in-1 handheld (PAL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND) // RNG + linescroll issues
CONS( 200?, unk1682, 0, 0, vt1682_unk1682, lxts3, vt1682_lxts3_state, unk1682_init, "<unknown>", "unknown VT1682-based 101-in-1 handheld (PAL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND) // linescroll issues
CONS( 2010, lxts3, 0, 0, vt1682_lxts3, lxts3, vt1682_lxts3_state, regular_init, "Lexibook", "Toy Story 3 (Lexibook)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // RNG + linescroll issues
CONS( 2010, lxts3, 0, 0, vt1682_lxts3, lxts3, vt1682_lxts3_state, regular_init, "Lexibook", "Toy Story 3 (Lexibook)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // linescroll issues
// 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 )

View File

@ -12558,6 +12558,9 @@ e9161 //
@source:eacc.cpp
eacc //
@source:easy_karaoke.cpp
easykara
@source:ec184x.cpp
ec1840 //
ec1841 //
@ -14924,6 +14927,10 @@ wrlshunt // Wireless: Hunting Video Game System
@source:generalplus_gpl16250_spi.cpp
bkrankp
@source:generalplus_gpl16250_spi_direct.cpp
fixitflx
wiwcs
@source:generalplus_gpl32612.cpp
jak_swbstrik
jak_tmnthp
@ -32271,12 +32278,15 @@ nes // Nintendo Entertainment System
nespal // Nintendo Entertainment System PAL
@source:nes_clone.cpp
pjoypj001
afbm7800
dancmix3
dnce2000
vtvppong
papsudok
hs36blk
hs36red
nytsudo
papsudok
pjoypj001
vtvppong
vtvsocr
@source:nes_sh6578.cpp
@ -38122,6 +38132,9 @@ sorcerera // Sorcerer with Dreamdisk fdc
sorcererb // Sorcerer with Digitrio fdc
sorcererd // Sorcerer with Micropolis fdc
@source:st22xx_bbl338.cpp
bbl338
@source:storio.cpp
innotab2 // (c) 2011 V.Tech
storio // (c) 2011 V.Tech
@ -41601,23 +41614,24 @@ wrecking // (c) 1984 Nintendo
dgun2572
@source:vt1682.cpp
110dance
dance555
exsprt48
gm235upc
ii8in1
ii32in1
zone7in1
zone7in1p
dance555
miwi2_16
miwi2_7
intact89
intg5410
exsprt48
itvg48
xing48
wowwg
110dance
lxts3
unk1682
miwi2_16
miwi2_7
njp60in1
unk1682
wowwg
xing48
zone7in1
zone7in1p
@source:vt52.cpp
vt52 // 1975 Digital Equipment Corporation

View File

@ -250,6 +250,7 @@ dvk_ksm.cpp
e100.cpp
e9161.cpp
eacc.cpp
easy_karaoke.cpp
ec184x.cpp
ec65.cpp
ec7915.cpp
@ -346,6 +347,7 @@ generalplus_gpl16250_nand.cpp
generalplus_gpl16250_rom.cpp
generalplus_gpl16250_romram.cpp
generalplus_gpl16250_spi.cpp
generalplus_gpl16250_spi_direct.cpp
generalplus_gpl32612.cpp
geneve.cpp
geniusiq.cpp
@ -946,6 +948,7 @@ spg2xx_zone.cpp
squale.cpp
ssem.cpp
st17xx.cpp
st22xx_bbl338.cpp
storio.cpp
studio2.cpp
sun1.cpp