Plug and Play work (some working VT additions) + some non-working + 2 IQuest cartridges (#7450)

new NOT WORKING software list entries
--------------------
leapfrog_iquest_cart.xml:
start40 IQuest 4.0 Starter Pack [David Haywood, Sean Riddle, Kamaal Brown]
scig5 Science Grade 5 [David Haywood, Sean Riddle, Kamaal Brown]

new WORKING machines
--------------------
Joystick 30 [David Haywood, Sean Riddle, Kamaal Brown]
Joypad 65 [David Haywood, Sean Riddle, Kamaal Brown]

new NOT WORKING machines
--------------------
Virtual TV Soccer [David Haywood, Sean Riddle]
Cyber Arcade Pocket (JL1895) [Tim Schuerewegen]

new NOT WORKING clones
--------------------
Seal 30-in-1 (VT based, Model FN098134) [David Haywood, Team Europe]
This commit is contained in:
David Haywood 2020-11-07 17:50:42 +00:00 committed by GitHub
parent 97578c5d94
commit 0460594109
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 205 additions and 43 deletions

View File

@ -0,0 +1,30 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0
-->
<softwarelist name="leapfrog_iquest_cart" description="LeapFrog IQuest cartridges">
<software name="start40" supported="no">
<description>IQuest 4.0 Starter Pack</description>
<year>200?</year>
<publisher>LeapFrog</publisher>
<part name="cart" interface="leapfrog_iquest_cart">
<dataarea name="rom" size="0x400000">
<rom name="iqueststarterpack.bin" size="0x400000" crc="f20f1a67" sha1="4bc8533e0266ba6d21d14e45e30af3cdb943c865" />
</dataarea>
</part>
</software>
<software name="scig5" supported="no">
<description>Science Grade 5</description>
<year>200?</year>
<publisher>LeapFrog</publisher>
<part name="cart" interface="leapfrog_iquest_cart">
<dataarea name="rom" size="0x400000">
<rom name="iquestsciencegrade5.bin" size="0x400000" crc="0ce7729c" sha1="b3585b1f181afe618835742d2dcd05903671c789" />
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -4,7 +4,7 @@
Leapfrog IQuest
has LCD display, resolution unknown
has LCD display
*******************************************************************************/
@ -102,8 +102,8 @@ void leapfrog_iquest_state::leapfrog_iquest(machine_config &config)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(10));
m_screen->set_size(160, 160);
m_screen->set_visarea(0, 160-1, 0, 160-1);
m_screen->set_size(90, 64);
m_screen->set_visarea(0, 90-1, 0, 64-1);
m_screen->set_screen_update(FUNC(leapfrog_iquest_state::screen_update));
//m_screen->screen_vblank().set(FUNC(leapfrog_iquest_state::screen_vblank));
@ -120,4 +120,5 @@ ROM_START( iquest )
ROM_END
// year, name, parent, compat, machine, input, class, init, company, fullname, flags
CONS( 200?, iquest, 0, 0, leapfrog_iquest, leapfrog_iquest, leapfrog_iquest_state, empty_init, "LeapFrog", "IQuest (US)", MACHINE_IS_SKELETON )
// it is unknown if the versions of IQuest without 4.0 on the case have different system ROM
CONS( 200?, iquest, 0, 0, leapfrog_iquest, leapfrog_iquest, leapfrog_iquest_state, empty_init, "LeapFrog", "IQuest 4.0 (US)", MACHINE_IS_SKELETON )

View File

@ -52,6 +52,7 @@ protected:
optional_ioport m_io1;
uint8_t m_latch0;
uint8_t m_latch1;
uint8_t m_previous_port0;
required_device<ppu2c0x_device> m_ppu;
@ -74,7 +75,7 @@ private:
virtual void machine_reset() override;
uint8_t rom_r(offs_t offset);
void bank_w(uint8_t data);
int m_rombase;
uint8_t m_rombase;
};
class nes_clone_vtvppong_state : public nes_clone_state
@ -91,26 +92,45 @@ private:
void nes_clone_vtvppong_map(address_map& map);
};
class nes_clone_suduko_state : public nes_clone_state
class nes_clone_sudoku_state : public nes_clone_state
{
public:
nes_clone_suduko_state(const machine_config& mconfig, device_type type, const char* tag) :
nes_clone_sudoku_state(const machine_config& mconfig, device_type type, const char* tag) :
nes_clone_state(mconfig, type, tag)
{ }
void init_sudoku();
void nes_clone_suduko(machine_config& config);
void nes_clone_sudoku(machine_config& config);
private:
void nes_clone_suduko_map(address_map& map);
void nes_clone_sudoku_map(address_map& map);
virtual void machine_start() override;
virtual void machine_reset() override;
uint8_t rom_r(offs_t offset);
void bank_w(uint8_t data);
int m_rombase;
uint8_t m_rombase;
};
class nes_clone_vtvsocr_state : public nes_clone_state
{
public:
nes_clone_vtvsocr_state(const machine_config& mconfig, device_type type, const char* tag) :
nes_clone_state(mconfig, type, tag)
{ }
void nes_clone_vtvsocr(machine_config& config);
private:
void nes_clone_vtvsocr_map(address_map& map);
virtual void machine_start() override;
virtual void machine_reset() override;
uint8_t rom_r(offs_t offset);
void bank_w(offs_t offset, uint8_t data);
uint8_t m_bankregs[4];
};
class nes_clone_afbm7800_state : public nes_clone_state
{
@ -218,11 +238,16 @@ uint8_t nes_clone_state::in1_r()
void nes_clone_state::in0_w(uint8_t data)
{
//logerror("%s: in0_w %02x\n", machine().describe_context(), data);
if (data & 0x01)
return;
if ((data & 0x01) != (m_previous_port0 & 0x01))
{
if (data & 0x01)
{
m_latch0 = m_io0->read();
m_latch1 = m_io1->read();
}
}
m_latch0 = m_io0->read();
m_latch1 = m_io1->read();
m_previous_port0 = data;
}
@ -312,6 +337,7 @@ void nes_clone_state::machine_reset()
{
m_latch0 = 0;
m_latch1 = 0;
m_previous_port0 = 0;
}
@ -864,43 +890,42 @@ void nes_clone_afbm7800_state::machine_start()
Sudoku Specifics
**************************************************/
void nes_clone_suduko_state::machine_reset()
void nes_clone_sudoku_state::machine_reset()
{
nes_clone_state::machine_reset();
m_rombase = 0;
}
void nes_clone_suduko_state::machine_start()
void nes_clone_sudoku_state::machine_start()
{
nes_clone_state::machine_start();
save_item(NAME(m_rombase));
}
void nes_clone_suduko_state::nes_clone_suduko(machine_config& config)
void nes_clone_sudoku_state::nes_clone_sudoku(machine_config& config)
{
nes_clone(config);
m_maincpu->set_addrmap(AS_PROGRAM, &nes_clone_suduko_state::nes_clone_suduko_map);
m_maincpu->set_addrmap(AS_PROGRAM, &nes_clone_sudoku_state::nes_clone_sudoku_map);
}
void nes_clone_suduko_state::nes_clone_suduko_map(address_map& map)
void nes_clone_sudoku_state::nes_clone_sudoku_map(address_map& map)
{
nes_clone_basemap(map);
map(0x8000, 0xffff).rw(FUNC(nes_clone_suduko_state::rom_r), FUNC(nes_clone_suduko_state::bank_w));
map(0x8000, 0xffff).rw(FUNC(nes_clone_sudoku_state::rom_r), FUNC(nes_clone_sudoku_state::bank_w));
}
uint8_t nes_clone_suduko_state::rom_r(offs_t offset)
uint8_t nes_clone_sudoku_state::rom_r(offs_t offset)
{
return m_mainrom[(offset + (m_rombase * 0x8000)) & (m_mainromsize - 1)];
}
void nes_clone_suduko_state::bank_w(uint8_t data)
void nes_clone_sudoku_state::bank_w(uint8_t data)
{
logerror("%04x: bank_w %02x\n", machine().describe_context(), data);
m_rombase = data;
}
void nes_clone_suduko_state::init_sudoku()
void nes_clone_sudoku_state::init_sudoku()
{
u8 *src = memregion("maincpu")->base();
int len = memregion("maincpu")->bytes();
@ -921,10 +946,58 @@ void nes_clone_suduko_state::init_sudoku()
std::copy(buffer.begin(), buffer.end(), &src[0]);
}
}
/**************************************************
Soccer Specifics
INES Mapper 178 / NES 2.0 Mapper 551 clone or similar?
**************************************************/
void nes_clone_vtvsocr_state::machine_reset()
{
nes_clone_state::machine_reset();
m_bankregs[0] = 0;
m_bankregs[1] = 0;
m_bankregs[2] = 0;
m_bankregs[3] = 0;
}
void nes_clone_vtvsocr_state::machine_start()
{
nes_clone_state::machine_start();
save_item(NAME(m_bankregs));
}
void nes_clone_vtvsocr_state::nes_clone_vtvsocr(machine_config& config)
{
nes_clone(config);
m_maincpu->set_addrmap(AS_PROGRAM, &nes_clone_vtvsocr_state::nes_clone_vtvsocr_map);
}
void nes_clone_vtvsocr_state::nes_clone_vtvsocr_map(address_map& map)
{
nes_clone_basemap(map);
map(0x4800, 0x4803).w(FUNC(nes_clone_vtvsocr_state::bank_w));
map(0x8000, 0xffff).r(FUNC(nes_clone_vtvsocr_state::rom_r));
}
uint8_t nes_clone_vtvsocr_state::rom_r(offs_t offset)
{
int bank = m_bankregs[1] >> 1;
return m_mainrom[(offset + (bank * 0x8000)) & (m_mainromsize - 1)];
}
void nes_clone_vtvsocr_state::bank_w(offs_t offset, uint8_t data)
{
logerror("%04x: bank_w %02x %02x\n", machine().describe_context(), offset, data);
m_bankregs[offset] = data;
}
/**************************************************
Ping Pong Specifics
**************************************************/
void nes_clone_vtvppong_state::init_vtvppong()
{
u8 *src = memregion("maincpu")->base();
@ -995,6 +1068,12 @@ ROM_START( vtvppong )
ROM_LOAD( "vtvpongppu.bin", 0x00000, 0x20000, CRC(474dfc0c) SHA1(4d0afab111e40172ae0b31e94f1b74b73a18385f) )
ROM_END
ROM_START( vtvsocr )
ROM_REGION( 0x40000, "maincpu", 0 )
// 8-bit ROM, but byteswapped for encryption?
ROM_LOAD16_WORD_SWAP( "virtualtvsoccer.bin", 0x00000, 0x40000, CRC(2cfe42aa) SHA1(c2cafdbd5cc6491c94efd3f1be4b70c9de737b46) )
ROM_END
void nes_clone_state::init_nes_clone()
{
}
@ -1009,10 +1088,12 @@ CONS( 200?, dnce2000, 0, 0, nes_clone_dnce2000, dnce2000, nes_clone_dnce2000_sta
// Black pad marked 'SUDOKU' with tails on the S and U characters looping over the logo. Box says "Plug and Play Sudoku"
// Has 2 sets of 4 buttons in circular 'direction pad' layouts (on the left for directions, on the right for functions) and 9 red numbered buttons with red power LED on left of them, and reset button on right
// Alt. version was released with 'New York Times' titlescreen
CONS( 200?, papsudok, 0, 0, nes_clone_suduko, papsudok, nes_clone_suduko_state, init_sudoku, "Nice Code", "Plug and Play Sudoku Game (NES based)", 0 ) // plays, but unclear how 'save' feature is meant to work, is it meant to save after shutdown or not? no obvious writes
CONS( 200?, papsudok, 0, 0, nes_clone_sudoku, papsudok, nes_clone_sudoku_state, init_sudoku, "Nice Code", "Plug and Play Sudoku Game (NES based)", 0 ) // plays, but unclear how 'save' feature is meant to work, is it meant to save after shutdown or not? no obvious writes
CONS( 200?, nytsudo, 0, 0, nes_clone_suduko, papsudok, nes_clone_suduko_state, init_sudoku, "Excalibur / Nice Code", "The New York Times Sudoku", 0 ) // based on the above
CONS( 200?, nytsudo, 0, 0, nes_clone_sudoku, papsudok, nes_clone_sudoku_state, init_sudoku, "Excalibur / Nice Code", "The New York Times Sudoku", 0 ) // based on the above
CONS( 200?, vtvppong, 0, 0, nes_clone_vtvppong, nes_clone, nes_clone_vtvppong_state, init_vtvppong, "<unknown>", "Virtual TV Ping Pong", MACHINE_NOT_WORKING )
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 )

View File

@ -1099,7 +1099,10 @@ ROM_START( pjoys60 )
ROM_LOAD( "power joy supermax 60-in-1.prg", 0x00000, 0x400000, CRC(1ab45228) SHA1(d148924afc39fc588235331a1a30df6e0d8e1e18) )
ROM_END
ROM_START( joysti30 )
ROM_REGION( 0x400000, "mainrom", 0 )
ROM_LOAD( "joystick30.bin", 0x00000, 0x400000, CRC(b3f089af) SHA1(478d53d38eeffdbc4a1271d0e060aeb29e919502) )
ROM_END
// CoolBoy AEF-390 8bit Console, B8VPCBVer03 20130703 0401E2015897A
ROM_START( mc_8x6cb )
@ -1363,6 +1366,9 @@ CONS( 200?, dgun853, 0, 0, nes_vt_vh2009_8mb, nes_vt, nes_vt_swap_op_
CONS( 200?, silv35, 0, 0, nes_vt_vh2009_4mb, nes_vt, nes_vt_swap_op_d5_d6_state, empty_init, "SilverLit / JungleTac", "35 in 1 Super Twins", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2004, vsmaxxvd, 0, 0, nes_vt_vh2009_8mb, nes_vt, nes_vt_swap_op_d5_d6_state, empty_init, "Senario / JungleTac", "Vs Maxx Video Extreme 50-in-1 (with Speed Racer and Snood)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 200?, vsmaxx77, 0, 0, nes_vt_vh2009_8mb, nes_vt, nes_vt_swap_op_d5_d6_state, empty_init, "Senario / JungleTac", "Vs Maxx Wireless 77-in-1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 200?, joysti30, 0, 0, nes_vt_vh2009_4mb, nes_vt, nes_vt_swap_op_d5_d6_state, empty_init, "WinFun / JungleTac", "Joystick 30", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // doesn't show WinFun onscreen, but packaging does
// die is marked as VH2009, as above, but no scrambled opcodes here
CONS( 201?, techni4, 0, 0, nes_vt_pal_2mb, nes_vt, nes_vt_state, empty_init, "Technigame", "Technigame Super 4-in-1 Sports (PAL)", MACHINE_IMPERFECT_GRAPHICS )

View File

@ -433,6 +433,11 @@ ROM_START( vgpmini )
// there was a dump of a 'secure' area with this, but it was just the bottom 0x10000 bytes of the existing rom.
ROM_END
ROM_START( joypad65 )
ROM_REGION( 0x800000, "mainrom", 0 )
ROM_LOAD( "joypad65.bin", 0x00000, 0x800000, CRC(b7f81c5f) SHA1(8579d9bc866415e0049979b7c3427d8dd0a60813) )
ROM_END
// MSI Entertainment games (MSI previously operated as Majesco Entertainment)
// There are meant to be multiple revisions of this software, some with theme tunes for the new wrestlers, some without. This one appears to lack them.
@ -462,6 +467,7 @@ CONS( 200?, senario25, 0, 0, nes_vt09_2mb, nes_vt09, nes_vt09_state, empty_ini
CONS( 200?, rcapnp, 0, 0, nes_vt09_2mb, nes_vt09, nes_vt09_state, empty_init, "RCA / JungleTac", "RCA NS-500 30-in-1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 200?, dturbogt, 0, 0, nes_vt09_8mb, nes_vt09, nes_vt09_state, empty_init, "dreamGEAR / JungleTac", "Turbo GT 50-in-1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 200?, ventur25, 0, 0, nes_vt09_4mb, nes_vt09, nes_vt09_state, empty_init, "<unknown> / JungleTac", "Venturer '25 Games' 25-in-1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 200?, joypad65, 0, 0, nes_vt09_8mb, nes_vt09, nes_vt09_state, empty_init, "WinFun / JungleTac", "Joypad 65", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 2005, vgpocket, 0, 0, nes_vt09_4mb, nes_vt09, nes_vt09_state, empty_init, "Performance Designed Products / JungleTac", "VG Pocket (VG-2000)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
CONS( 200?, vgpmini, 0, 0, nes_vt09_4mb, nes_vt09, nes_vt09_state, empty_init, "Performance Designed Products / JungleTac", "VG Pocket Mini (VG-1500)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
// VG Pocket Max (VG-2500) (blue case, 75 games)

View File

@ -158,6 +158,7 @@ public:
{ }
void nes_vt369_vtunknown_hh(machine_config& config);
void nes_vt369_vtunknown_hh_1mb(machine_config& config);
void nes_vt369_vtunknown_hh_4mb(machine_config& config);
void nes_vt369_vtunknown_hh_8mb(machine_config& config);
void nes_vt369_vtunknown_hh_16mb(machine_config& config);
@ -472,6 +473,17 @@ void nes_vt369_vtunknown_unk_state::nes_vt369_vtunknown_hh_swap_8mb(machine_conf
m_soc->set_addrmap(AS_PROGRAM, &nes_vt369_vtunknown_unk_state::vt_external_space_map_8mbyte);
}
void nes_vt369_vtunknown_unk_state::nes_vt369_vtunknown_hh_1mb(machine_config& config)
{
nes_vt369_vtunknown_hh(config);
m_soc->set_addrmap(AS_PROGRAM, &nes_vt369_vtunknown_unk_state::vt_external_space_map_1mbyte);
}
void nes_vt369_vtunknown_unk_state::nes_vt369_vtunknown_hh_4mb(machine_config& config)
{
nes_vt369_vtunknown_hh(config);
m_soc->set_addrmap(AS_PROGRAM, &nes_vt369_vtunknown_unk_state::vt_external_space_map_4mbyte);
}
void nes_vt369_vtunknown_unk_state::nes_vt369_vtunknown_hh_8mb(machine_config& config)
{
@ -485,11 +497,7 @@ void nes_vt369_vtunknown_unk_state::nes_vt369_vtunknown_hh_16mb(machine_config&
m_soc->set_addrmap(AS_PROGRAM, &nes_vt369_vtunknown_unk_state::vt_external_space_map_16mbyte);
}
void nes_vt369_vtunknown_unk_state::nes_vt369_vtunknown_hh_4mb(machine_config& config)
{
nes_vt369_vtunknown_hh(config);
m_soc->set_addrmap(AS_PROGRAM, &nes_vt369_vtunknown_unk_state::vt_external_space_map_4mbyte);
}
static INPUT_PORTS_START( nes_vt369_vtunknown )
@ -698,6 +706,11 @@ ROM_START( zonefusn )
ROM_LOAD( "fusion.bin", 0x00000, 0x1000000, CRC(240bf970) SHA1(1b82d95a252c08e52fb8da6320276574a30b60db) )
ROM_END
ROM_START( sealvt )
ROM_REGION( 0x1000000, "mainrom", 0 )
ROM_LOAD( "l157-44 v02.u1", 0x00000, 0x1000000, CRC(0fabced0) SHA1(3f8cd85b12b125b01c831c9f2f2937e29c1b6205) )
ROM_END
ROM_START( gcs2mgp )
ROM_REGION( 0x2000000, "mainrom", 0 )
ROM_LOAD( "gcs2_v4.u3", 0x00000, 0x1000000, CRC(3b5be765) SHA1(c54f1a732d638b0ee582ca822715c9d3a3af5ef3) )
@ -756,7 +769,7 @@ ROM_START( gtct885 )
ROM_REGION( 0x800000, "mainrom", 0 )
ROM_LOAD( "ct-885 g25q64c.bin", 0x00000, 0x800000, CRC(a5b2b568) SHA1(79de79364fa731e421627ec68e3bfa9d311aa7fc) )
ROM_REGION( 0x100, "extra", 0 ) // additional 8-pin chip (maybe SEEPROM? or PROM?)
ROM_REGION( 0x100, "extra", 0 ) // data from additional 8-pin chip for protection
ROM_LOAD( "mystery chip.bin", 0x00000, 0x100, CRC(8173c1c2) SHA1(7521a4676166a81a79209638491026b2d8e32895) )
ROM_END
@ -764,7 +777,7 @@ ROM_START( rd5_240 )
ROM_REGION( 0x800000, "mainrom", 0 )
ROM_LOAD( "red5.bin", 0x00000, 0x800000, CRC(0e564e73) SHA1(c29a927c830ab3876e9b63e2d41bef962c05518f) )
ROM_REGION( 0x100, "extra", 0 ) // additional 8-pin chip (maybe SEEPROM? or PROM?)
ROM_REGION( 0x100, "extra", 0 ) // data from additional 8-pin chip for protection
ROM_LOAD( "mystery chip.bin", 0x00000, 0x100, NO_DUMP )
ROM_END
@ -792,6 +805,17 @@ ROM_START( hkb502a )
ROM_LOAD( "internal.bin", 0x0000, 0x1000, CRC(da5850f0) SHA1(39d674d965818922aad5993e9499170d3ebc43bf) )
ROM_END
ROM_START( lxcap )
ROM_REGION( 0x800000, "mainrom", 0 )
ROM_LOAD( "lexibook_cyber_arcade_pocket.bin", 0x00000, 0x800000, CRC(245d0cd3) SHA1(d91cca2d0f99a6ca202fa9ba6d03587ea8af0cd9) )
ROM_REGION( 0x1000, "internal", 0 ) // maps at 1000-1fff on main CPU, and it boots using vectors in 1ffx area
ROM_LOAD( "internal.bin", 0x0000, 0x1000, CRC(da5850f0) SHA1(39d674d965818922aad5993e9499170d3ebc43bf) )
ROM_REGION( 0x100, "extra", 0 ) // data from additional 8-pin chip for protection
ROM_LOAD( "mystery chip.bin", 0x00000, 0x100, CRC(491d206b) SHA1(a5411a7afe3b4df93b1b22e5533f5010bd3aaa93) )
ROM_END
ROM_START( denv150 )
ROM_REGION( 0x1000000, "mainrom", 0 )
ROM_LOAD( "denver150in1.bin", 0x00000, 0x1000000, CRC(6b3819d7) SHA1(b0039945ce44a52ea224ab736d5f3c6980409b5d) ) // 2nd half is blank
@ -799,7 +823,7 @@ ROM_END
ROM_START( egame150 )
ROM_REGION( 0x800000, "mainrom", 0 )
ROM_LOAD( "rom.bin", 0x00000, 0x800000, CRC(113819d7) SHA1(b0039945ce44a52ea224ab736d5f3c6980409b5d) )
ROM_LOAD( "rom.bin", 0x00000, 0x800000, CRC(a19644ea) SHA1(01c004d126edf792f71c1e9ed98b3c96d9278a69) )
ROM_END
ROM_START( retro400 )
@ -911,6 +935,8 @@ CONS( 2017, rtvgc300fz,0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknow
// uncertain, NOT SPI ROM
CONS( 200?, zonefusn, 0, 0, nes_vt369_vtunknown_fp_16mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "Ultimate Products / Jungle's Soft", "Zone Fusion", MACHINE_NOT_WORKING )
// same as above but without Jungle's Soft boot logo? model number taken from cover of manual
CONS( 200?, sealvt, zonefusn, 0, nes_vt369_vtunknown_fp_16mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "Lexibook / Sit Up Limited / Jungle's Soft", "Seal 30-in-1 (VT based, Model FN098134)", MACHINE_NOT_WORKING )
// NOT SPI roms, start with '6a'
@ -921,7 +947,12 @@ CONS( 2016, dgun2593, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknow
// similar, starts with a '6a' ror a opcode which is presumably encrypted / extended, then normal looking code, then unknown instructions
CONS( 200?, gcs2mgp, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Jungle's Soft", "Mini Game Player 48-in-1", MACHINE_NOT_WORKING )
/*****************************************************************************
* below are VT369 games that use BGA on sub
*****************************************************************************/
// doesn't use most features, M705-128A6 sub-board with BGA
CONS( 201?, retro400, 0, 0, nes_vt369_vtunknown_hh_16mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "<unknown>", "Retro FC 400-in-1", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
/*****************************************************************************
* below are VT369 games that use SQI / SPI ROM
@ -950,19 +981,21 @@ CONS( 201?, gtct885, mc_tv200, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtun
// similar to above, but with 40 extra games, menu is protected with code from extra ROM (although RTS opcodes seem to work)
CONS( 201?, rd5_240, 0, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "Red5", "Mini Arcade Machine 240-in-1 (Red5)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
CONS( 201?, hkb502, 0, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "<unknown>", "HKB-502 268-in-1 (set 1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
CONS( 201?, hkb502a, hkb502, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "<unknown>", "HKB-502 268-in-1 (set 2)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
CONS( 201?, hkb502, 0, 0, nes_vt369_vtunknown_hh_4mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "<unknown>", "HKB-502 268-in-1 (set 1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
CONS( 201?, hkb502a, hkb502, 0, nes_vt369_vtunknown_hh_4mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "<unknown>", "HKB-502 268-in-1 (set 2)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
// uses a LCD with resolution of 160x128 (image scaled to fit for some games, others run natively at 160x128)
// contains a protection chip, command 80 XX returns a byte
CONS( 201?, lxcap, 0, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "Lexibook", "Cyber Arcade Pocket (JL1895)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
// VT369, but doesn't use most features
CONS( 201?, myarccn, 0, 0, nes_vt369_vtunknown_hh_8mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "DreamGear", "My Arcade Caveman Ninja", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
CONS( 201?, myarccn, 0, 0, nes_vt369_vtunknown_hh_1mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "DreamGear", "My Arcade Caveman Ninja", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
// confirmed VT369, uses more features (including sound CPU)
CONS( 201?, denv150, 0, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "Denver", "Denver Game Console GMP-240C 150-in-1", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
CONS( 201?, egame150, denv150, 0, nes_vt369_vtunknown_cy_bigger, nes_vt369_vtunknown, nes_vt369_vtunknown_cy_state, empty_init, "<unknown>", "E-Game! 150-in-1", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
// doesn't use most features
CONS( 201?, retro400, 0, 0, nes_vt369_vtunknown_hh_16mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "<unknown>", "Retro FC 400-in-1", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )
// uncertain, uses SPI ROM so probably VT369
CONS( 2017, otrail, 0, 0, nes_vt369_vtunknown_unk_1mb, nes_vt369_vtunknown, nes_vt369_vtunknown_unk_state, empty_init, "Basic Fun", "The Oregon Trail", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS )

View File

@ -32235,6 +32235,7 @@ dnce2000
vtvppong
papsudok
nytsudo
vtvsocr
@source:nes_sh6578.cpp
bandgpad
@ -32280,6 +32281,7 @@ dgun853
silv35
vsmaxxvd
vsmaxx77
joysti30
techni4
senwld
protpp
@ -32332,6 +32334,7 @@ ventur25
vgpocket
vgpmini
vgtablet
joypad65
@source:nes_vt32.cpp
dgun2573
@ -32351,6 +32354,7 @@ gtct885
rd5_240
hkb502
hkb502a
lxcap
retro400
myarccn
fapocket
@ -32379,6 +32383,7 @@ lpgm240
tup240
otrail
zonefusn
sealvt
gcs2mgp
@source:newbrain.cpp