mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
new WORKING machine (#6181)
* new WORKING machine ---- PDC100 - Portable Dream Console [Sean Riddle, David Haywood] * pocket, not portable * new NOT WORKING ----- Wow Wireless Gaming [TeamEurope, David Haywood] most games run, but the main menu needs an unemulated video mode * new WORKING machine --- Zone 100 [TeamEurope, David Haywood] new NOT WORKING machine ---- Zone 32-bit Gaming Console System (Family Sport 41-in-1) [TeamEurope, David Haywood] * (nw) * (nw) credit later * (nw) * (nw) * new WORKING machine --- Seal 50-in-1 [TeamEurope, David Haywood] new NOT WORKING machines ---- Zone 32-bit Gaming Console System (Family Sport 41-in-1) [TeamEurope, David Haywood] My Wico Deluxe [TeamEurope, David Haywood] Mini Arcade Games Console (Family Sport 220-in-1) [TeamEurope, David Haywood] * (nw) * (nw)
This commit is contained in:
parent
0706ebf694
commit
8db8ea427e
@ -334,7 +334,41 @@ private:
|
||||
|
||||
|
||||
|
||||
class tkmag220_game_state : public gcm394_game_state
|
||||
{
|
||||
public:
|
||||
tkmag220_game_state(const machine_config& mconfig, device_type type, const char* tag) :
|
||||
gcm394_game_state(mconfig, type, tag)
|
||||
{
|
||||
}
|
||||
|
||||
void tkmag220(machine_config &config);
|
||||
|
||||
protected:
|
||||
|
||||
/*
|
||||
virtual DECLARE_READ16_MEMBER(porta_r) override
|
||||
{
|
||||
return machine().rand();
|
||||
}
|
||||
|
||||
virtual DECLARE_READ16_MEMBER(portb_r) override
|
||||
{
|
||||
return machine().rand();
|
||||
}
|
||||
|
||||
virtual DECLARE_WRITE16_MEMBER(porta_w) override
|
||||
{
|
||||
}
|
||||
*/
|
||||
|
||||
private:
|
||||
|
||||
virtual DECLARE_READ16_MEMBER(cs0_r) override
|
||||
{
|
||||
return m_romregion[offset & 0x3ffffff];
|
||||
}
|
||||
};
|
||||
|
||||
class wrlshunt_game_state : public gcm394_game_state
|
||||
{
|
||||
@ -577,6 +611,15 @@ void wrlshunt_game_state::wrlshunt(machine_config &config)
|
||||
gcm394_game_state::base(config);
|
||||
}
|
||||
|
||||
void tkmag220_game_state::tkmag220(machine_config &config)
|
||||
{
|
||||
gcm394_game_state::base(config);
|
||||
|
||||
m_maincpu->porta_in().set_ioport("IN0");
|
||||
m_maincpu->portb_in().set_ioport("IN1");
|
||||
m_maincpu->portc_in().set_ioport("IN2");
|
||||
}
|
||||
|
||||
|
||||
READ16_MEMBER(wrlshunt_game_state::porta_r)
|
||||
{
|
||||
@ -841,6 +884,158 @@ static INPUT_PORTS_START( wrlshunt )
|
||||
PORT_START("IN2")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( tkmag220 )
|
||||
PORT_START("IN0")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "IN0" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "IN1" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0000, "Important" ) // gets stuck in inf loop if this is wrong
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "IN2" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( jak_car2 )
|
||||
PORT_START("IN0")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "IN0" )
|
||||
@ -1133,6 +1328,14 @@ ROM_START(smartfp)
|
||||
ROM_LOAD16_WORD_SWAP("smartfitpark.bin", 0x000000, 0x800000, CRC(ada84507) SHA1(a3a80bf71fae62ebcbf939166a51d29c24504428))
|
||||
ROM_END
|
||||
|
||||
ROM_START( tkmag220 )
|
||||
//ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) // not on this model? (or at least not this size, as CS base is different)
|
||||
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x8000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "u1g-2a.u2", 0x0000000, 0x8000000, CRC(0fd769a1) SHA1(df19402bcd20075483d63fb98fb3fa42bd33ccfd) )
|
||||
ROM_END
|
||||
|
||||
ROM_START(jak_s500)
|
||||
//ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) // not on this model? (or at least not this size, as CS base is different)
|
||||
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
|
||||
@ -1141,7 +1344,6 @@ ROM_START(jak_s500)
|
||||
ROM_LOAD16_WORD_SWAP("spbwheel.bin", 0x000000, 0x800000, CRC(6ba1d335) SHA1(1bb3e4d02c7b35dd4d336971c6a9f82071cc6ce1) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START(wrlshunt)
|
||||
//ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) // not on this model? (or at least not this size, as CS base is different)
|
||||
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
|
||||
@ -1150,7 +1352,6 @@ ROM_START(wrlshunt)
|
||||
ROM_LOAD16_WORD_SWAP("wireless.bin", 0x0000, 0x8000000, CRC(a6ecc20e) SHA1(3645f23ba2bb218e92d4560a8ae29dddbaabf796))
|
||||
ROM_END
|
||||
|
||||
|
||||
/*
|
||||
Wireless Hunting Video Game System
|
||||
(info provided with dump)
|
||||
@ -1300,11 +1501,12 @@ ROM_START( beambox )
|
||||
ROM_END
|
||||
|
||||
// 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 (Spain)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||
CONS(2009, smartfp, 0, 0, base, smartfp, gcm394_game_state, empty_init, "Fisher-Price", "Fun 2 Learn Smart Fit Park (Spain)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||
CONS(200?, tkmag220, 0, 0, tkmag220, tkmag220, tkmag220_game_state, empty_init, "TaiKee", "Mini Arcade Games Console (Family Sport 220-in-1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// Fun 2 Learn 3-in-1 SMART SPORTS ?
|
||||
CONS(2009, jak_s500, 0, 0, wrlshunt, jak_s500, jak_s500_game_state, init_wrlshunt, "JAKKS Pacific Inc", "SpongeBob SquarePants Bikini Bottom 500 (JAKKS Pacific TV Motion Game)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||
|
||||
|
||||
CONS(2011, wrlshunt, 0, 0, wrlshunt, wrlshunt, wrlshunt_game_state, init_wrlshunt, "Hamy / Kids Station Toys Inc", "Wireless Hunting Video Game System", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
|
||||
|
||||
void generalplus_gpac800_game_state::machine_start()
|
||||
|
@ -236,6 +236,39 @@ protected:
|
||||
optional_device<i2cmem_device> m_i2cmem;
|
||||
};
|
||||
|
||||
|
||||
class spg2xx_lexiseal_game_state : public spg2xx_game_state
|
||||
{
|
||||
public:
|
||||
spg2xx_lexiseal_game_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
spg2xx_game_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void lexiseal(machine_config& config);
|
||||
|
||||
protected:
|
||||
//virtual void machine_start() override;
|
||||
//virtual void machine_reset() override;
|
||||
|
||||
DECLARE_WRITE16_MEMBER(portb_w);
|
||||
};
|
||||
|
||||
class spg2xx_pdc100_game_state : public spg2xx_game_state
|
||||
{
|
||||
public:
|
||||
spg2xx_pdc100_game_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
spg2xx_game_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void pdc100(machine_config& config);
|
||||
|
||||
protected:
|
||||
//virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
DECLARE_WRITE16_MEMBER(porta_w);
|
||||
};
|
||||
|
||||
class wireless60_state : public spg2xx_game_state
|
||||
{
|
||||
public:
|
||||
@ -247,6 +280,7 @@ public:
|
||||
void wireless60(machine_config& config);
|
||||
|
||||
void init_lx_jg7415();
|
||||
void init_zone100();
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
@ -265,6 +299,39 @@ protected:
|
||||
private:
|
||||
};
|
||||
|
||||
class zon32bit_state : public spg2xx_game_state
|
||||
{
|
||||
public:
|
||||
zon32bit_state(const machine_config& mconfig, device_type type, const char* tag) :
|
||||
spg2xx_game_state(mconfig, type, tag),
|
||||
m_romregion(*this, "maincpu")
|
||||
{ }
|
||||
|
||||
void zon32bit(machine_config& config);
|
||||
|
||||
void mem_map_zon32bit(address_map &map);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
DECLARE_READ16_MEMBER(z32_rom_r);
|
||||
|
||||
required_region_ptr<uint16_t> m_romregion;
|
||||
|
||||
DECLARE_READ16_MEMBER(porta_r);
|
||||
DECLARE_READ16_MEMBER(portb_r);
|
||||
|
||||
DECLARE_WRITE16_MEMBER(porta_w);
|
||||
DECLARE_WRITE16_MEMBER(portb_w);
|
||||
DECLARE_WRITE16_MEMBER(portc_w);
|
||||
|
||||
private:
|
||||
int m_porta_dat;
|
||||
int m_portb_dat;
|
||||
|
||||
int m_hackbank;
|
||||
};
|
||||
|
||||
class zone40_state : public wireless60_state
|
||||
{
|
||||
@ -697,6 +764,8 @@ READ8_MEMBER(spg2xx_game_state::i2c_r)
|
||||
|
||||
WRITE16_MEMBER(wireless60_state::wireless60_porta_w)
|
||||
{
|
||||
//logerror("%s: wireless60_porta_w %04x\n", machine().describe_context(), data);
|
||||
|
||||
m_w60_porta_data = (data & 0x300) | m_w60_p1_ctrl_mask | m_w60_p2_ctrl_mask;
|
||||
switch (m_w60_porta_data & 0x300)
|
||||
{
|
||||
@ -718,6 +787,18 @@ WRITE16_MEMBER(wireless60_state::wireless60_porta_w)
|
||||
}
|
||||
}
|
||||
|
||||
READ16_MEMBER(wireless60_state::wireless60_porta_r)
|
||||
{
|
||||
//logerror("%s: wireless60_porta_r\n", machine().describe_context());
|
||||
return m_w60_porta_data;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(wireless60_state::wireless60_portb_w)
|
||||
{
|
||||
logerror("%s: wireless60_portb_w (bankswitch) %04x\n", machine().describe_context(), data);
|
||||
switch_bank(data & m_bankmask);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(zone40_state::zone40_porta_w)
|
||||
{
|
||||
wireless60_porta_w(space, offset, data);
|
||||
@ -729,11 +810,49 @@ WRITE16_MEMBER(zone40_state::zone40_porta_w)
|
||||
}
|
||||
}
|
||||
|
||||
READ16_MEMBER(wireless60_state::wireless60_porta_r)
|
||||
{
|
||||
return m_w60_porta_data;
|
||||
|
||||
READ16_MEMBER(zon32bit_state::porta_r)
|
||||
{
|
||||
return m_porta_dat;
|
||||
}
|
||||
|
||||
|
||||
WRITE16_MEMBER(zon32bit_state::porta_w)
|
||||
{
|
||||
if (data != 0x0101)
|
||||
logerror("%s: porta_w (%04x)\n", machine().describe_context(), data);
|
||||
|
||||
m_porta_dat = data;
|
||||
|
||||
// where is the banking?! this gets written from the RAM-based code when the lower bank needs to change, but the upper bank needs to change in places too
|
||||
// (and all these bits get unset again after this write, so this probably isn't the bank)
|
||||
if (data == 0x0e01)
|
||||
{
|
||||
m_hackbank = 1;
|
||||
}
|
||||
}
|
||||
|
||||
READ16_MEMBER(zon32bit_state::portb_r)
|
||||
{
|
||||
return m_portb_dat;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(zon32bit_state::portb_w)
|
||||
{
|
||||
if (data != 0x0001)
|
||||
logerror("%s: portb_w (%04x)\n", machine().describe_context(), data);
|
||||
|
||||
m_portb_dat = data;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(zon32bit_state::portc_w)
|
||||
{
|
||||
// very noisy
|
||||
//logerror("%s: portc_w (%04x)\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
READ16_MEMBER(zone40_state::zone40_porta_r)
|
||||
{
|
||||
uint16_t ret = wireless60_porta_r(space, offset) & (0x0300 | m_w60_p1_ctrl_mask | m_w60_p2_ctrl_mask);
|
||||
@ -741,11 +860,6 @@ READ16_MEMBER(zone40_state::zone40_porta_r)
|
||||
return ret;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(wireless60_state::wireless60_portb_w)
|
||||
{
|
||||
logerror("%s: wireless60_portb_w (bankswitch) %04x\n", machine().describe_context(), data);
|
||||
switch_bank(data & m_bankmask);
|
||||
}
|
||||
|
||||
void vii_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
|
||||
{
|
||||
@ -1018,6 +1132,49 @@ void telestory_state::mem_map_4m_tsram(address_map &map)
|
||||
}
|
||||
|
||||
|
||||
void zon32bit_state::mem_map_zon32bit(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x3fffff).r(FUNC(zon32bit_state::z32_rom_r));
|
||||
}
|
||||
|
||||
READ16_MEMBER(zon32bit_state::z32_rom_r)
|
||||
{
|
||||
/*
|
||||
This has upper and lower bank, which can be changed independently.
|
||||
I don't know where the bank registers are.
|
||||
*/
|
||||
|
||||
if (offset < 0x200000)
|
||||
{
|
||||
if (m_hackbank == 0) // if lower bank is 0
|
||||
return m_romregion[offset+ 0x000000];
|
||||
else // if lower bank is 1
|
||||
return m_romregion[offset+ 0x400000];
|
||||
}
|
||||
else
|
||||
{
|
||||
offset &= 0x1fffff;
|
||||
|
||||
if (m_hackbank == 0) // if lower bank is 0
|
||||
{
|
||||
return m_romregion[0x200000 + offset + 0x000000]; // this upper bank is needed to boot to the menu
|
||||
|
||||
// other banks are presumably needed for the games that don't change the lower bank but still don't run with the above.
|
||||
}
|
||||
else // if lower bank is 1
|
||||
{
|
||||
// these banks are used for different 'mini' games (and boxing) with the 2nd lower bank enabled
|
||||
return m_romregion[0x200000 + offset + 0x400000 + 0x000000]; // 31-44
|
||||
//return m_romregion[0x200000 + offset+ 0x400000 + 0x600000]; // 45-49
|
||||
//return m_romregion[0x200000 + offset+ 0x400000 + 0x800000]; // 50-59
|
||||
}
|
||||
}
|
||||
|
||||
return 0x0000;// m_romregion[offset];
|
||||
}
|
||||
|
||||
|
||||
|
||||
READ16_MEMBER(zone40_state::z40_rom_r)
|
||||
{
|
||||
// due to granularity of rom bank this manual method is safer
|
||||
@ -1381,6 +1538,141 @@ static INPUT_PORTS_START( wirels60 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( zon32bit )
|
||||
PORT_START("P1")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "P1" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
||||
PORT_START("P2")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "P2" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
||||
PORT_START("P3")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_BUTTON4 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON5 )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( rad_skat )
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Full Left")
|
||||
@ -2041,6 +2333,28 @@ static INPUT_PORTS_START( lexizeus ) // how many buttons does this have? I acci
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( lexiseal )
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED ) // doesn't respond as 'select'
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON3 ) // pause / start
|
||||
|
||||
PORT_START("P2")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("P3")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON4 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 )
|
||||
PORT_BIT( 0xfffc, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( tvgogo )
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Back")
|
||||
@ -2563,6 +2877,28 @@ static INPUT_PORTS_START( telestory ) // there is a hidden test mode, if you ret
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( pdc100 )
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Left Trigger")
|
||||
PORT_BIT( 0x0e00, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Right Trigger")
|
||||
PORT_BIT( 0xe000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("P2")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Pause")
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("P3")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
READ16_MEMBER(dreamlif_state::portb_r)
|
||||
{
|
||||
@ -2835,6 +3171,30 @@ void spg2xx_game_state::machine_reset()
|
||||
m_maincpu->reset();
|
||||
}
|
||||
|
||||
void spg2xx_pdc100_game_state::machine_reset()
|
||||
{
|
||||
m_current_bank = -1;
|
||||
switch_bank(7); // must boot from upper bank
|
||||
m_maincpu->reset();
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(spg2xx_pdc100_game_state::porta_w)
|
||||
{
|
||||
//logerror("%s: porta_w %04x\n", machine().describe_context(), data);
|
||||
switch_bank(data & 0x0007);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(spg2xx_lexiseal_game_state::portb_w)
|
||||
{
|
||||
//logerror("%s: portb_w %04x\n", machine().describe_context(), data);
|
||||
|
||||
// only 2 banks
|
||||
if (data == 0x5f)
|
||||
switch_bank(0);
|
||||
else if (data == 0xdf)
|
||||
switch_bank(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void wireless60_state::machine_start()
|
||||
@ -2848,6 +3208,11 @@ void wireless60_state::machine_start()
|
||||
m_w60_p2_ctrl_mask = 0x0800;
|
||||
}
|
||||
|
||||
void zon32bit_state::machine_start()
|
||||
{
|
||||
spg2xx_game_state::machine_start();
|
||||
}
|
||||
|
||||
void zone40_state::machine_start()
|
||||
{
|
||||
wireless60_state::machine_start();
|
||||
@ -2866,6 +3231,16 @@ void wireless60_state::machine_reset()
|
||||
m_w60_porta_data = 0;
|
||||
}
|
||||
|
||||
void zon32bit_state::machine_reset()
|
||||
{
|
||||
spg2xx_game_state::machine_reset();
|
||||
|
||||
m_porta_dat = 0x0000;
|
||||
m_portb_dat = 0x0000;
|
||||
|
||||
m_hackbank = 0;
|
||||
}
|
||||
|
||||
void zone40_state::machine_reset()
|
||||
{
|
||||
wireless60_state::machine_reset();
|
||||
@ -3167,6 +3542,25 @@ void wireless60_state::wireless60(machine_config &config)
|
||||
m_maincpu->porta_in().set(FUNC(wireless60_state::wireless60_porta_r));
|
||||
}
|
||||
|
||||
void zon32bit_state::zon32bit(machine_config &config)
|
||||
{
|
||||
SPG24X(config, m_maincpu, XTAL(27'000'000), m_screen);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &zon32bit_state::mem_map_zon32bit);
|
||||
m_maincpu->set_force_no_drc(true); // uses JVS opcode, not implemented in recompiler
|
||||
|
||||
spg2xx_base(config);
|
||||
|
||||
m_maincpu->porta_in().set(FUNC(zon32bit_state::porta_r));
|
||||
m_maincpu->portb_in().set(FUNC(zon32bit_state::portb_r));
|
||||
m_maincpu->portc_in().set_ioport("P3");
|
||||
|
||||
m_maincpu->porta_out().set(FUNC(zon32bit_state::porta_w));
|
||||
m_maincpu->portb_out().set(FUNC(zon32bit_state::portb_w));
|
||||
m_maincpu->portc_out().set(FUNC(zon32bit_state::portc_w));
|
||||
|
||||
|
||||
}
|
||||
|
||||
void zone40_state::zone40(machine_config &config)
|
||||
{
|
||||
SPG24X(config, m_maincpu, XTAL(27'000'000), m_screen);
|
||||
@ -3464,6 +3858,26 @@ void spg2xx_game_state::taikeegr(machine_config &config)
|
||||
// m_maincpu->portc_in().set_ioport("P3");
|
||||
}
|
||||
|
||||
|
||||
void spg2xx_pdc100_game_state::pdc100(machine_config &config)
|
||||
{
|
||||
non_spg_base(config);
|
||||
m_maincpu->porta_out().set(FUNC(spg2xx_pdc100_game_state::porta_w));
|
||||
m_maincpu->porta_in().set_ioport("P1");
|
||||
m_maincpu->portb_in().set_ioport("P2");
|
||||
m_maincpu->portc_in().set_ioport("P3"); // not used?
|
||||
}
|
||||
|
||||
void spg2xx_lexiseal_game_state::lexiseal(machine_config &config)
|
||||
{
|
||||
non_spg_base(config);
|
||||
m_maincpu->portb_out().set(FUNC(spg2xx_lexiseal_game_state::portb_w));
|
||||
m_maincpu->porta_in().set_ioport("P1");
|
||||
m_maincpu->portb_in().set_ioport("P2");
|
||||
m_maincpu->portc_in().set_ioport("P3");
|
||||
}
|
||||
|
||||
|
||||
// Shredmaster Jr uses the same input order as the regular Taikee Guitar, but reads all inputs through a single multplexed bit
|
||||
WRITE16_MEMBER(shredmjr_game_state::porta_w)
|
||||
{
|
||||
@ -4032,6 +4446,11 @@ ROM_START( lexizeus )
|
||||
ROM_LOAD16_WORD_SWAP( "lexibook1g900us.bin", 0x0000, 0x800000, CRC(c2370806) SHA1(cbb599c29c09b62b6a9951c724cd9fc496309cf9))
|
||||
ROM_END
|
||||
|
||||
ROM_START( lexiseal )
|
||||
ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "lexibook_seal.bin", 0x0000, 0x1000000, CRC(3529f154) SHA1(f5f142600c6b2d037b97e007364ea2fa228e0163) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( zone40 )
|
||||
ROM_REGION( 0x4000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "zone40.bin", 0x0000, 0x4000000, CRC(4ba1444f) SHA1(de83046ab93421486668a247972ad6d3cda19440) )
|
||||
@ -4047,6 +4466,13 @@ ROM_START( wirels60 )
|
||||
ROM_LOAD16_WORD_SWAP( "wirels60.bin", 0x0000, 0x4000000, CRC(b4df8b28) SHA1(00e3da542e4bc14baf4724ad436f66d4c0f65c84))
|
||||
ROM_END
|
||||
|
||||
ROM_START( mywicodx )
|
||||
ROM_REGION( 0x4000000, "maincpu", ROMREGION_ERASE00 )
|
||||
// the first bank contains the Mi Guitar game, the 2nd half of the ROM is where the Menu starts
|
||||
ROM_LOAD16_WORD_SWAP( "mywicodx.u2", 0x2000000, 0x2000000, CRC(ec7c5d2f) SHA1(330fb839c485713f7bec5bf9d2d42841612c5b45))
|
||||
ROM_CONTINUE(0x0000000, 0x2000000)
|
||||
ROM_END
|
||||
|
||||
// PCB marked 'Zone 100 110728 V2.1'
|
||||
ROM_START( lx_jg7415 )
|
||||
ROM_REGION( 0x10000000, "maincpu", ROMREGION_ERASE00 )
|
||||
@ -4055,8 +4481,15 @@ ROM_START( lx_jg7415 )
|
||||
ROM_LOAD16_WORD_SWAP( "rom.bin", 0x0000, 0x10000000, CRC(59442e00) SHA1(7e91cf6b19c37f9b4fa4dc21e241c6634d6a6f95) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( zone100 )
|
||||
ROM_REGION( 0x8000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "zone100.bin", 0x0000, 0x8000000, CRC(b966a54e) SHA1(e38156ebc4e2f2935b1acbeca33d1866d45c4f65) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( zon32bit )
|
||||
ROM_REGION( 0x2000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "41sports.bin", 0x0000, 0x2000000, CRC(86eee6e0) SHA1(3f6cab6649aebf596de5a8af21658bb1a27edb10) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( rad_skat )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
@ -4143,6 +4576,13 @@ ROM_START( wiwi18 )
|
||||
ROM_LOAD16_WORD_SWAP( "26gl128.bin", 0x000000, 0x1000000, CRC(0b103ac9) SHA1(14434908f429942096fb8db5b5630603fd54fb2c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( pdc100 )
|
||||
ROM_REGION( 0x8000000, "maincpu", ROMREGION_ERASE00 )
|
||||
// only 1st half of this is used "Jumper resistor (0 ohm) that short A25 to ground"
|
||||
// 2nd half just contains what seems to be random garbage
|
||||
ROM_LOAD16_WORD_SWAP( "pdc100.bin", 0x000000, 0x8000000, CRC(57285b49) SHA1(cfb4be7877ec263d24063a004c56985db5c0f4e2) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( sentx6p )
|
||||
ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASE00 )
|
||||
@ -4271,6 +4711,11 @@ void wireless60_state::init_lx_jg7415()
|
||||
m_bankmask = 0xf;
|
||||
}
|
||||
|
||||
void wireless60_state::init_zone100()
|
||||
{
|
||||
m_bankmask = 0xf;
|
||||
}
|
||||
|
||||
void spg2xx_game_state::init_wiwi18()
|
||||
{
|
||||
uint16_t* rom = (uint16_t*)memregion("maincpu")->base();
|
||||
@ -4288,9 +4733,16 @@ CONS( 2007, vii, 0, 0, vii, vii, vii_state, empty_init,
|
||||
// these don't have real motion controls
|
||||
CONS( 2009, zone40, 0, 0, zone40, wirels60, zone40_state, init_zone40, "Jungle Soft / Ultimate Products (HK) Ltd", "Zone 40", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
CONS( 2010, zone60, 0, 0, wireless60, wirels60, wireless60_state, empty_init, "Jungle's Soft / Ultimate Products (HK) Ltd", "Zone 60", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
CONS( 200?, zone100, 0, 0, wireless60, wirels60, wireless60_state, init_zone100, "Jungle's Soft / Ultimate Products (HK) Ltd", "Zone 100", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // unit was black, menus still show white controllers, unlike wireless 60
|
||||
CONS( 2010, wirels60, 0, 0, wireless60, wirels60, wireless60_state, empty_init, "Jungle Soft / Kids Station Toys Inc", "Wireless 60", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
CONS( 2011, lx_jg7415,0, 0, wireless60, wirels60, wireless60_state, init_lx_jg7415, "Lexibook", "Lexibook JG7415 120-in-1", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
|
||||
// Box advertises this as '40 Games Included' but the cartridge, which was glued directly to the PCB, not removable, is a 41-in-1. Maybe some versions exist with a 40 game selection.
|
||||
CONS( 200?, zon32bit, 0, 0, zon32bit, zon32bit, zon32bit_state, empty_init, "Jungle Soft / Ultimate Products (HK) Ltd", "Zone 32-bit Gaming Console System (Family Sport 41-in-1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
CONS( 200?, mywicodx, 0, 0, zon32bit, zon32bit, zon32bit_state, empty_init, "<unknown>", "My Wico Deluxe", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
|
||||
// JAKKS Pacific Inc TV games
|
||||
CONS( 2004, jak_batm, 0, 0, jakks, batman, spg2xx_game_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "The Batman (JAKKS Pacific TV Game)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
CONS( 2008, jak_wall, 0, 0, walle, walle, spg2xx_game_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Wall-E (JAKKS Pacific TV Game)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
@ -4359,6 +4811,8 @@ CONS( 2006, telestry, 0, 0, telestory, telestory, telestory_state, emp
|
||||
// Similar, SPG260?, scrambled
|
||||
CONS( 200?, lexizeus, 0, 0, lexizeus, lexizeus, spg2xx_game_state, init_zeus, "Lexibook", "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?, lexiseal, 0, 0, lexiseal, lexiseal, spg2xx_lexiseal_game_state, init_zeus, "Lexibook / Sit Up Limited", "Seal 50-in-1", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // also has bad sound in Tiger Rescue, but no corrupt tilemap
|
||||
|
||||
// there are other regions of this, including a Finnish version "Haluatko miljonääriksi?" (see https://millionaire.fandom.com/wiki/Haluatko_miljon%C3%A4%C3%A4riksi%3F_(Play_Vision_game) )
|
||||
CONS( 2006, pvmil, 0, 0, pvmil, pvmil, pvmil_state, empty_init, "Play Vision", "Who Wants to Be a Millionaire? (Play Vision, Plug and Play, UK)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
@ -4377,3 +4831,17 @@ CONS( 2004, sentx6p, 0, 0, sentx6p, sentx6p, sentx6p_state, em
|
||||
// actually a cartridge, but all hardware is in the cart, overriding any internal hardware entirely. see nes_vt.cp 'mc_sp69' for the '69 arcade game' part
|
||||
CONS( 200?, wiwi18, 0, 0, rad_skat, wiwi18, spg2xx_game_state, init_wiwi18, "Hamy System", "WiWi 18-in-1 Sports Game", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// Conny devices
|
||||
|
||||
// there were older models eg. PDC30 with fewer games, and some differences (eg "Jo Ma" instead of "Jo Ma 2")
|
||||
// "Jo Ma 2" shows "Licensed by Mitchell Corporation" (Mitchell made the original Puzzloop on which this style of game is based) Videos of the original Jo Ma show it lacking this text.
|
||||
|
||||
// Other known units
|
||||
// PDC Teenage Mutant Ninja Turtles
|
||||
// PDC Dora the Explorer
|
||||
// PDC 30
|
||||
// PDC 40
|
||||
// PDC 200
|
||||
|
||||
// This was dumped from an Anncia branded unit, although there's no ingame branding, so ROM is probably the same for all PDC100 units
|
||||
CONS( 2008, pdc100, 0, 0, pdc100, pdc100, spg2xx_pdc100_game_state, empty_init, "Conny", "PDC100 - Pocket Dream Console", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
@ -60,6 +60,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/m6502_vt1682.h"
|
||||
#include "machine/m6502_vh2009.h"
|
||||
#include "machine/vt1682_io.h"
|
||||
#include "machine/vt1682_uio.h"
|
||||
#include "machine/vt1682_alu.h"
|
||||
@ -474,6 +475,10 @@ private:
|
||||
DECLARE_READ8_MEMBER(vt1682_212c_prng_r);
|
||||
DECLARE_WRITE8_MEMBER(vt1682_212c_prng_seed_w);
|
||||
|
||||
virtual void clock_joy2();
|
||||
|
||||
READ8_MEMBER(inteact_212a_send_joy_clock2_r);
|
||||
|
||||
/* Hacky */
|
||||
|
||||
DECLARE_READ8_MEMBER(soundcpu_irq_vector_hack_r);
|
||||
@ -660,23 +665,36 @@ public:
|
||||
|
||||
void vt1682_exsport(machine_config& config);
|
||||
|
||||
DECLARE_READ8_MEMBER(uiob_r);
|
||||
virtual DECLARE_READ8_MEMBER(uiob_r);
|
||||
DECLARE_WRITE8_MEMBER(uiob_w);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
private:
|
||||
int m_old_portb;
|
||||
int m_portb_shiftpos = 0;
|
||||
int m_p1_latch;
|
||||
int m_p2_latch;
|
||||
virtual void clock_joy2() override;
|
||||
|
||||
required_ioport m_io_p1;
|
||||
required_ioport m_io_p2;
|
||||
};
|
||||
|
||||
class vt1682_wow_state : public vt1682_exsport_state
|
||||
{
|
||||
public:
|
||||
vt1682_wow_state(const machine_config& mconfig, device_type type, const char* tag) :
|
||||
vt1682_exsport_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void vt1682_wow(machine_config& config);
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
void vt_vt1682_state::video_start()
|
||||
@ -3624,6 +3642,17 @@ WRITE8_MEMBER(vt_vt1682_state::vt1682_2128_dma_sr_bank_addr_24_23_w)
|
||||
0x01 - UIOA DIRECTION
|
||||
*/
|
||||
|
||||
void vt_vt1682_state::clock_joy2()
|
||||
{
|
||||
}
|
||||
|
||||
READ8_MEMBER(vt_vt1682_state::inteact_212a_send_joy_clock2_r)
|
||||
{
|
||||
uint8_t ret = m_uio->inteact_212a_uio_a_direction_r(space,offset);
|
||||
clock_joy2();
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
Address 0x212b r/w (MAIN CPU)
|
||||
|
||||
@ -4850,7 +4879,11 @@ void vt_vt1682_state::draw_layer(int which, int opaque, const rectangle& cliprec
|
||||
|
||||
if (high_color)
|
||||
{
|
||||
|
||||
popmessage("high colour line mode\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
popmessage("line mode\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5162,7 +5195,8 @@ void vt_vt1682_state::vt_vt1682_map(address_map &map)
|
||||
map(0x2127, 0x2127).rw(FUNC(vt_vt1682_state::vt1682_2127_dma_status_r), FUNC(vt_vt1682_state::vt1682_2127_dma_size_trigger_w));
|
||||
map(0x2128, 0x2128).rw(FUNC(vt_vt1682_state::vt1682_2128_dma_sr_bank_addr_24_23_r), FUNC(vt_vt1682_state::vt1682_2128_dma_sr_bank_addr_24_23_w));
|
||||
map(0x2129, 0x2129).rw(m_uio, FUNC(vrt_vt1682_uio_device::inteact_2129_uio_a_data_r), FUNC(vrt_vt1682_uio_device::inteact_2129_uio_a_data_w));
|
||||
map(0x212a, 0x212a).rw(m_uio, FUNC(vrt_vt1682_uio_device::inteact_212a_uio_a_direction_r), FUNC(vrt_vt1682_uio_device::inteact_212a_uio_a_direction_w));
|
||||
map(0x212a, 0x212a).w(m_uio, FUNC(vrt_vt1682_uio_device::inteact_212a_uio_a_direction_w));
|
||||
map(0x212a, 0x212a).r(FUNC(vt_vt1682_state::inteact_212a_send_joy_clock2_r));
|
||||
map(0x212b, 0x212b).rw(m_uio, FUNC(vrt_vt1682_uio_device::inteact_212b_uio_a_attribute_r), FUNC(vrt_vt1682_uio_device::inteact_212b_uio_a_attribute_w));
|
||||
map(0x212c, 0x212c).rw(FUNC(vt_vt1682_state::vt1682_212c_prng_r), FUNC(vt_vt1682_state::vt1682_212c_prng_seed_w));
|
||||
// 212d PLL
|
||||
@ -5661,13 +5695,16 @@ WRITE8_MEMBER(intec_interact_state::portb_w)
|
||||
m_previous_port_b = data;
|
||||
};
|
||||
|
||||
void vt1682_exsport_state::clock_joy2()
|
||||
{
|
||||
m_portb_shiftpos++;
|
||||
}
|
||||
|
||||
READ8_MEMBER(vt1682_exsport_state::uiob_r)
|
||||
{
|
||||
int p1bit = (m_p1_latch >> m_portb_shiftpos) & 1;
|
||||
int p2bit = (m_p2_latch >> m_portb_shiftpos) & 1;
|
||||
|
||||
m_portb_shiftpos++;
|
||||
|
||||
return (p1bit << 1) | (p2bit << 3);
|
||||
};
|
||||
|
||||
@ -5678,6 +5715,9 @@ WRITE8_MEMBER(vt1682_exsport_state::uiob_w)
|
||||
if (!(data & 0x01))
|
||||
{
|
||||
m_portb_shiftpos = 0;
|
||||
|
||||
//logerror("%s: reset shift\n", machine().describe_context());
|
||||
|
||||
m_p1_latch = m_io_p1->read();
|
||||
m_p2_latch = m_io_p2->read();
|
||||
}
|
||||
@ -5729,6 +5769,14 @@ void vt1682_exsport_state::vt1682_exsport(machine_config& config)
|
||||
}
|
||||
|
||||
|
||||
void vt1682_wow_state::vt1682_wow(machine_config& config)
|
||||
{
|
||||
vt1682_exsport_state::vt1682_exsport(config);
|
||||
|
||||
M6502_VH2009(config.replace(), m_maincpu, MAIN_CPU_CLOCK_NTSC); // doesn't use the same bitswap as the other VT1682 games...
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vt1682_wow_state::vt_vt1682_map);
|
||||
}
|
||||
|
||||
|
||||
void vt_vt1682_state::regular_init()
|
||||
{
|
||||
@ -5792,6 +5840,13 @@ ROM_START( exsprt48 )
|
||||
ROM_LOAD( "excitesportgames_48.bin", 0x00000, 0x2000000, CRC(1bf239a0) SHA1(d69c16bac5fb15c62abb5a0c0920405647205539) ) // original dump had upper 2 address lines swapped, unmarked chip, so lines were guessed when dumping
|
||||
ROM_END
|
||||
|
||||
ROM_START( wowwg )
|
||||
ROM_REGION( 0x2000000, "mainrom", 0 )
|
||||
ROM_LOAD( "msp55lv128.bin", 0x00000, 0x1000000, CRC(f607c40c) SHA1(66d3960c3b8fbab06a88cf039419c79a6c8633f0) )
|
||||
ROM_RELOAD(0x1000000,0x1000000)
|
||||
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
|
||||
@ -5845,4 +5900,5 @@ Ball Shoot instead of 'Noshery' under Arcade
|
||||
This might be a regional / store thing if some places didn't want to sell a unit with a Poker game in it?
|
||||
*/
|
||||
|
||||
|
||||
CONS( 200?, wowwg, 0, 0, vt1682_wow, exsprt48, vt1682_wow_state, regular_init, "Wow", "Wow Wireless Gaming", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND) // needs high colour line mode for main menu
|
||||
// NJ Pocket 60-in-1 (NJ-250) is meant to have similar games, so might fit here
|
||||
|
@ -31315,6 +31315,7 @@ miwi2_7
|
||||
intact89
|
||||
intg5410
|
||||
exsprt48
|
||||
wowwg
|
||||
|
||||
@source:newbrain.cpp
|
||||
newbrain //
|
||||
@ -37458,6 +37459,7 @@ jak_s500
|
||||
smartfp // Smart Fit Park
|
||||
wlsair60 // Wireless Air 60
|
||||
wrlshunt // Wireless: Hunting Video Game System
|
||||
tkmag220 //
|
||||
jak_car2
|
||||
jak_gtg
|
||||
jak_tsm
|
||||
@ -39829,10 +39831,14 @@ jak_care //
|
||||
jak_nick //
|
||||
jak_sbfc //
|
||||
lexizeus // Lexibook
|
||||
lexiseal //
|
||||
vii // KenSingTon / Jungle Soft / Siatronics Vii
|
||||
wirels60 // Wireless 60
|
||||
zone40 // Zone 40
|
||||
zone60 // Zone 60
|
||||
zone100 //
|
||||
mywicodx //
|
||||
zon32bit // Zone 32-bit
|
||||
lx_jg7415 //
|
||||
rad_skat //
|
||||
rad_skatp //
|
||||
@ -39850,6 +39856,7 @@ shredmjr //
|
||||
sentx6p //
|
||||
telestry //
|
||||
wiwi18 //
|
||||
pdc100
|
||||
|
||||
@source:vsmile.cpp
|
||||
vsmile //
|
||||
|
Loading…
Reference in New Issue
Block a user