mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
new WORKING machines (Plug Play) (#7017)
new WORKING machines ----- Vs Maxx 10-in-1 Casino / Senario Card & Casino Games [Sean Riddle, David Haywood] new NOT WORKING machines ----- Ordenador-TV (Spain) [ClawGrip, Sean Riddle, David Haywood] Centro TV de Diseno Artistico [ClawGrip, Sean Riddle, David Haywood] I'm Game! GP120 (Family Sport 120-in-1) [Sean Riddle, David Haywood] My Wico Guitar [ClawGrip, Sean Riddle, David Haywood] unknown VT1682 based 101-in-1 handheld (PAL) [Takashi Omoto / https://twitter.com/takashioomoto , TeamEurope, David Haywood] Lexibook Compact Cyber Arcade - Paw Patrol [TeamEurope]
This commit is contained in:
parent
b5bbf672f0
commit
3b905df6c7
@ -400,6 +400,14 @@ ROM_START( tkmag220 )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( imgame )
|
||||
//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 ) // the 2nd half of this ROM required multiple attempts to get a matching dump, so could be suspect, might also be unused as this only has 120 games
|
||||
ROM_LOAD16_WORD_SWAP( "imgame.bin", 0x0000000, 0x8000000, CRC(6fba9021) SHA1(852f4c0aaed682aa8ff5b8cd52313ea2d3d920a1))
|
||||
ROM_END
|
||||
|
||||
ROM_START( myac220 )
|
||||
//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 )
|
||||
@ -474,6 +482,10 @@ CONS(201?, tkmag220, 0, 0, tkmag220, tkmag220, tkmag220_game_state, empt
|
||||
// DGUN-2891 or DGUN-2864 ? both look the same, no indication on unboxed unit?
|
||||
CONS(201?, myac220, 0, 0, tkmag220, tkmag220, tkmag220_game_state, empty_init, "dreamGEAR", "My Arcade Go Gamer Portable (Family Sport 220-in-1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// 2012 date from manual
|
||||
CONS(2012, imgame, 0, 0, tkmag220, tkmag220, tkmag220_game_state, empty_init, "I'm Game", "I'm Game! GP120 (Family Sport 120-in-1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
// a 180 game Family Sport I'm Game! also exists (and some Famiclones)
|
||||
|
||||
// die on this one is 'GCM420'
|
||||
CONS(2013, gormiti, 0, 0, base, gormiti, gormiti_game_state, empty_init, "Giochi Preziosi", "Gormiti Game Arena (Spain)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||
|
||||
|
@ -35,9 +35,9 @@ class nes_sh6578_state : public driver_device
|
||||
public:
|
||||
nes_sh6578_state(const machine_config& mconfig, device_type type, const char* tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_bank(*this, "cartbank"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_ppu(*this, "ppu"),
|
||||
m_bank(*this, "cartbank"),
|
||||
m_fullrom(*this, "fullrom"),
|
||||
m_screen(*this, "screen"),
|
||||
m_apu(*this, "nesapu"),
|
||||
@ -57,10 +57,14 @@ protected:
|
||||
|
||||
void sprite_dma_w(address_space &space, uint8_t data);
|
||||
|
||||
virtual void io_w(uint8_t data);
|
||||
virtual void extio_w(uint8_t data);
|
||||
bool m_isbanked;
|
||||
required_memory_bank m_bank;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<ppu_sh6578_device> m_ppu;
|
||||
required_memory_bank m_bank;
|
||||
required_device<address_map_bank_device> m_fullrom;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<nesapu_device> m_apu;
|
||||
@ -101,7 +105,6 @@ private:
|
||||
|
||||
uint8_t io0_r();
|
||||
uint8_t io1_r();
|
||||
void io_w(uint8_t data);
|
||||
|
||||
uint8_t psg1_4014_r();
|
||||
uint8_t psg1_4015_r();
|
||||
@ -138,11 +141,31 @@ private:
|
||||
// this might be game specific
|
||||
uint8_t m_previo;
|
||||
uint8_t m_iolatch[2];
|
||||
bool m_isbanked;
|
||||
required_ioport_array<2> m_in;
|
||||
};
|
||||
|
||||
class nes_sh6578_abl_wikid_state : public nes_sh6578_state
|
||||
{
|
||||
public:
|
||||
nes_sh6578_abl_wikid_state(const machine_config& mconfig, device_type type, const char* tag) :
|
||||
nes_sh6578_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
protected:
|
||||
virtual void io_w(uint8_t data) override;
|
||||
};
|
||||
|
||||
class nes_sh6578_max10in1_state : public nes_sh6578_state
|
||||
{
|
||||
public:
|
||||
nes_sh6578_max10in1_state(const machine_config& mconfig, device_type type, const char* tag) :
|
||||
nes_sh6578_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
protected:
|
||||
virtual void extio_w(uint8_t data) override;
|
||||
virtual void machine_reset() override;
|
||||
};
|
||||
|
||||
uint8_t nes_sh6578_state::bank_r(int bank, uint16_t offset)
|
||||
{
|
||||
@ -400,14 +423,34 @@ void nes_sh6578_state::io_w(uint8_t data)
|
||||
}
|
||||
}
|
||||
|
||||
m_previo = data;
|
||||
}
|
||||
|
||||
void nes_sh6578_abl_wikid_state::io_w(uint8_t data)
|
||||
{
|
||||
nes_sh6578_state::io_w(data);
|
||||
|
||||
if (m_isbanked)
|
||||
{
|
||||
m_bank->set_entry((data>>1)&1);
|
||||
}
|
||||
|
||||
m_previo = data;
|
||||
}
|
||||
|
||||
void nes_sh6578_state::extio_w(uint8_t data)
|
||||
{
|
||||
logerror("%s: extio_w : %02x\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
void nes_sh6578_max10in1_state::extio_w(uint8_t data)
|
||||
{
|
||||
logerror("%s: extio_w : %02x (max10in1)\n", machine().describe_context(), data);
|
||||
|
||||
m_bank->set_entry((data & 0x80) >> 7);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
uint8_t nes_sh6578_state::psg1_4014_r()
|
||||
{
|
||||
@ -456,6 +499,13 @@ void nes_sh6578_state::nes_sh6578_map(address_map& map)
|
||||
map(0x4017, 0x4017).rw(FUNC(nes_sh6578_state::io1_r), FUNC(nes_sh6578_state::psg1_4017_w));
|
||||
|
||||
map(0x4020, 0x4020).w(FUNC(nes_sh6578_state::timing_setting_control_w));
|
||||
//4021 write keyboard output port
|
||||
//4022 read/write keyboard data control
|
||||
//4023 read/write joystick,mouse control
|
||||
//4024 read - mouse port / write - mouse baud
|
||||
//4025 write - Printer Port
|
||||
map(0x4026, 0x4026).w(FUNC(nes_sh6578_state::extio_w));
|
||||
//4027 read/write - DAC data register
|
||||
|
||||
map(0x4031, 0x4031).w(FUNC(nes_sh6578_state::initial_startup_w));
|
||||
map(0x4032, 0x4032).w(FUNC(nes_sh6578_state::irq_mask_w));
|
||||
@ -512,6 +562,12 @@ void nes_sh6578_state::machine_reset()
|
||||
m_timerval = 0x00;
|
||||
}
|
||||
|
||||
void nes_sh6578_max10in1_state::machine_reset()
|
||||
{
|
||||
nes_sh6578_state::machine_reset();
|
||||
m_bank->set_entry(1);
|
||||
}
|
||||
|
||||
void nes_sh6578_state::machine_start()
|
||||
{
|
||||
m_bank->configure_entry(0, memregion("maincpu")->base() + 0x0000000);
|
||||
@ -653,6 +709,11 @@ ROM_START( maxx6in1 )
|
||||
ROM_LOAD( "maxx6in1.bin", 0x00000, 0x100000, CRC(8e582298) SHA1(89892b9095dbd5101cdf2477a66abd2cb11ad8c8) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( max10in1 )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF )
|
||||
ROM_LOAD( "csmaxxcasino10.bin", 0x000000, 0x200000, CRC(2a05e9af) SHA1(fcf591c22ce8773f72e9d0fa0bae545f6a82a063) )
|
||||
ROM_END
|
||||
|
||||
CONS( 1997, bandgpad, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "Bandai", "Multi Game Player Gamepad", MACHINE_NOT_WORKING )
|
||||
CONS( 1997, bandggcn, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "Bandai", "Go! Go! Connie-chan! Asobou Mouse", MACHINE_NOT_WORKING )
|
||||
|
||||
@ -662,8 +723,10 @@ CONS( 2001, ts_handy11, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, i
|
||||
CONS( 200?, cpatrolm, 0, 0, nes_sh6578_pal, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "TimeTop", "City Patrolman", MACHINE_NOT_WORKING )
|
||||
|
||||
// ROM is banked
|
||||
CONS( 200?, ablwikid, 0, 0, nes_sh6578_pal, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "Advance Bright Ltd.", "Wikid Joystick", MACHINE_NOT_WORKING ) // or Wik!d Joystick
|
||||
CONS( 200?, ablwikid, 0, 0, nes_sh6578_pal, nes_sh6578, nes_sh6578_abl_wikid_state, init_nes_sh6578, "Advance Bright Ltd.", "Wikid Joystick", MACHINE_NOT_WORKING ) // or Wik!d Joystick
|
||||
|
||||
CONS( 200?, maxx5in1, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "Senario", "Vs Maxx 5-in-1 Casino / Senario Card & Casino Games", 0 ) // advertised on box as 'With Solitaire" (was there an even older version without it?)
|
||||
|
||||
CONS( 200?, maxx6in1, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_state, init_nes_sh6578, "Senario", "Vs Maxx 6-in-1 Casino / Senario Card & Casino Games", 0 ) // advertised on box as "With Texas Hold 'Em" (which is the added game since the 5-in-1)
|
||||
|
||||
CONS( 200?, max10in1, 0, 0, nes_sh6578, nes_sh6578, nes_sh6578_max10in1_state, init_nes_sh6578, "Senario", "Vs Maxx 10-in-1 Casino / Senario Card & Casino Games", 0 )
|
@ -274,6 +274,8 @@ public:
|
||||
m_latch1_bit(0)
|
||||
{ }
|
||||
|
||||
void init_lxcmcypp();
|
||||
|
||||
protected:
|
||||
virtual uint8_t in0_r() override;
|
||||
virtual uint8_t in1_r() override;
|
||||
@ -394,23 +396,6 @@ private:
|
||||
required_ioport m_plunger;
|
||||
};
|
||||
|
||||
class nes_vt_sudoku_state : public nes_vt_state
|
||||
{
|
||||
public:
|
||||
nes_vt_sudoku_state(const machine_config& mconfig, device_type type, const char* tag) :
|
||||
nes_vt_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void init_sudoku();
|
||||
|
||||
void nes_vt_sudoku_512kb(machine_config& config);
|
||||
|
||||
private:
|
||||
virtual uint8_t in0_r() override;
|
||||
virtual uint8_t in1_r() override;
|
||||
virtual void in0_w(uint8_t data) override;
|
||||
};
|
||||
|
||||
class nes_vt_vg_1mb_majgnc_state : public nes_vt_state
|
||||
{
|
||||
public:
|
||||
@ -724,20 +709,6 @@ void nes_vt_ablpinb_state::in0_w(uint8_t data)
|
||||
logerror("in0_w %02x\n", data);
|
||||
}
|
||||
|
||||
uint8_t nes_vt_sudoku_state::in0_r()
|
||||
{
|
||||
return machine().rand();
|
||||
}
|
||||
|
||||
uint8_t nes_vt_sudoku_state::in1_r()
|
||||
{
|
||||
return machine().rand();
|
||||
}
|
||||
|
||||
void nes_vt_sudoku_state::in0_w(uint8_t data)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/* not strictly needed, but helps us see where things are in ROM to aid with figuring out banking schemes*/
|
||||
static const gfx_layout helper_layout =
|
||||
@ -1614,6 +1585,12 @@ ROM_START( lxcmcysp )
|
||||
ROM_LOAD( "lexibookspiderman.bin", 0x00000, 0x4000000, CRC(ef6e8847) SHA1(0012df193c52fd48595d85886fd431619c5d5e3e) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( lxcmcypp )
|
||||
ROM_REGION( 0x4000000, "mainrom", 0 )
|
||||
// marked 512mbit, possible A22 / A23 are swapped as they were marked on the board in a different way.
|
||||
ROM_LOAD( "pawpatrol_compact.bin", 0x00000, 0x4000000, CRC(bf536762) SHA1(80dde8426a636bae33a82d779e564fa743eb3776) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( lxcmc250 )
|
||||
ROM_REGION( 0x4000000, "mainrom", 0 )
|
||||
// sub-board was marked for 2GB capacity (A0-A26 address lines), but only address lines A0-A24 are connected to the chip
|
||||
@ -1979,6 +1956,17 @@ ROM_START( zonefusn )
|
||||
ROM_LOAD( "fusion.bin", 0x00000, 0x1000000, CRC(240bf970) SHA1(1b82d95a252c08e52fb8da6320276574a30b60db) )
|
||||
ROM_END
|
||||
|
||||
void nes_vt_cy_lexibook_state::init_lxcmcypp()
|
||||
{
|
||||
int size = memregion("mainrom")->bytes()/2;
|
||||
uint16_t* ROM = (uint16_t*)memregion("mainrom")->base();
|
||||
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
ROM[i] = bitswap<16>(ROM[i], 4, 5, 6, 7, 0, 1, 2, 3, 12, 13, 14, 15, 8, 9, 10, 11);
|
||||
}
|
||||
}
|
||||
|
||||
// earlier version of vdogdemo
|
||||
CONS( 200?, vdogdeme, 0, 0, nes_vt_1mb, nes_vt, nes_vt_state, empty_init, "VRT", "V-Dog (prototype, earlier)", MACHINE_NOT_WORKING )
|
||||
|
||||
@ -2052,27 +2040,27 @@ CONS( 200?, dgun2500, 0, 0, nes_vt_dg_baddma_16mb, nes_vt, nes_vt_dg_state, e
|
||||
CONS( 2012, dgun2561, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "dreamGEAR", "My Arcade Portable Gaming System with 140 Games (DGUN-2561)", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 2016, dgun2593, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "dreamGEAR", "My Arcade Retro Arcade Machine - 300 Handheld Video Games (DGUN-2593)", MACHINE_NOT_WORKING ) // 128Mbyte ROM, must be externally banked or different addressing scheme
|
||||
|
||||
CONS( 200?, lxcmcy, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmc250, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - 250-in-1 (JL2375)", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmcysw, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Star Wars Rebels", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmcyfz, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Frozen", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmcydp, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Disney Princess", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmcysp, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Marvel Ultimate Spider-Man", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmcy, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmc250, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - 250-in-1 (JL2375)", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmcysw, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Star Wars Rebels", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmcyfz, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Frozen", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmcydp, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Disney Princess", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmcysp, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Compact Cyber Arcade - Marvel Ultimate Spider-Man", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxcmcypp, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, init_lxcmcypp, "Lexibook", "Lexibook Compact Cyber Arcade - Paw Patrol", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
|
||||
CONS( 200?, lxccminn, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Console Colour - Minnie Mouse", MACHINE_NOT_WORKING ) // 64Mbyte (used) ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxccplan, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Console Colour - Disney's Planes", MACHINE_NOT_WORKING ) // 64Mbyte (used) ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxccminn, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Console Colour - Minnie Mouse", MACHINE_NOT_WORKING ) // 64Mbyte (used) ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 200?, lxccplan, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Console Colour - Disney's Planes", MACHINE_NOT_WORKING ) // 64Mbyte (used) ROM, must be externally banked, or different addressing scheme
|
||||
|
||||
|
||||
// GB-NO13-Main-VT389-2 on PCBs
|
||||
CONS( 2016, rtvgc300, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Retro TV Game Console - 300 Games", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 2017, rtvgc300fz,0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Retro TV Game Console - Frozen - 300 Games", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 2016, rtvgc300, 0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Retro TV Game Console - 300 Games", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
CONS( 2017, rtvgc300fz,0, 0, nes_vt_cy_bigger, nes_vt, nes_vt_cy_lexibook_state, empty_init, "Lexibook", "Lexibook Retro TV Game Console - Frozen - 300 Games", MACHINE_NOT_WORKING ) // 64Mbyte ROM, must be externally banked, or different addressing scheme
|
||||
|
||||
|
||||
/* The following are also confirmed to be NES/VT derived units, most having a standard set of games with a handful of lazy graphic mods thrown in to fit the unit theme
|
||||
|
||||
(handhekd units, use standard AAA batteries)
|
||||
Lexibook Compact Cyber Arcade - Cars
|
||||
Lexibook Compact Cyber Arcade - Paw Patrol
|
||||
Lexibook Compact Cyber Arcade - Barbie
|
||||
Lexibook Compact Cyber Arcade - Finding Dory
|
||||
Lexibook Compact Cyber Arcade - PJ Masks
|
||||
|
@ -317,6 +317,14 @@ void spg2xx_game_gssytts_state::mem_map_upperbank(address_map &map)
|
||||
map(0x200000, 0x3fffff).bankr("upperbank");
|
||||
}
|
||||
|
||||
|
||||
void spg2xx_game_wfcentro_state::mem_map_wfcentro(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x37ffff).bankr("cartbank");
|
||||
map(0x380000, 0x3fffff).ram();
|
||||
}
|
||||
|
||||
|
||||
static INPUT_PORTS_START( spg2xx ) // base structure for easy debugging / figuring out of inputs
|
||||
PORT_START("P1")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "P1:0001" )
|
||||
@ -629,6 +637,19 @@ static INPUT_PORTS_START( abltenni )
|
||||
PORT_MODIFY("P3")
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( ordentv )
|
||||
PORT_INCLUDE( spg2xx )
|
||||
|
||||
PORT_MODIFY("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_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( fordrace )
|
||||
PORT_INCLUDE( spg2xx )
|
||||
|
||||
@ -1482,6 +1503,20 @@ void spg2xx_game_gssytts_state::gssytts(machine_config &config)
|
||||
}
|
||||
|
||||
|
||||
void spg2xx_game_wfcentro_state::wfcentro(machine_config &config)
|
||||
{
|
||||
SPG24X(config, m_maincpu, XTAL(27'000'000), m_screen);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &spg2xx_game_wfcentro_state::mem_map_wfcentro);
|
||||
|
||||
spg2xx_base(config);
|
||||
|
||||
m_maincpu->porta_in().set(FUNC(spg2xx_game_wfcentro_state::base_porta_r));
|
||||
m_maincpu->portb_in().set(FUNC(spg2xx_game_wfcentro_state::base_portb_r));
|
||||
m_maincpu->portc_in().set(FUNC(spg2xx_game_wfcentro_state::base_portc_r));
|
||||
}
|
||||
|
||||
|
||||
|
||||
void spg2xx_game_senwfit_state::portc_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
int bank = 0;
|
||||
@ -1560,6 +1595,26 @@ void spg2xx_game_state::rad_crik(machine_config &config)
|
||||
m_maincpu->i2c_r().set(FUNC(spg2xx_game_state::i2c_r));
|
||||
}
|
||||
|
||||
uint16_t spg2xx_game_ordentv_state::ordentv_portc_r(offs_t offset, uint16_t mem_mask)
|
||||
{
|
||||
uint16_t data = m_io_p3->read() ^ (machine().rand() & 1);
|
||||
logerror("%s: Port C Read: %04x (%04x)\n", machine().describe_context(), data, mem_mask);
|
||||
return data;
|
||||
}
|
||||
|
||||
void spg2xx_game_ordentv_state::ordentv(machine_config &config)
|
||||
{
|
||||
SPG24X(config, m_maincpu, XTAL(27'000'000), m_screen);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &spg2xx_game_ordentv_state::mem_map_4m);
|
||||
|
||||
spg2xx_base(config);
|
||||
|
||||
m_maincpu->porta_in().set(FUNC(spg2xx_game_ordentv_state::base_porta_r));
|
||||
m_maincpu->portb_in().set(FUNC(spg2xx_game_ordentv_state::base_portb_r));
|
||||
m_maincpu->portc_in().set(FUNC(spg2xx_game_ordentv_state::ordentv_portc_r));
|
||||
}
|
||||
|
||||
|
||||
ROM_START( rad_skat )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "skateboarder.bin", 0x000000, 0x400000, CRC(08b9ab91) SHA1(6665edc4740804956136c68065890925a144626b) )
|
||||
@ -1716,6 +1771,17 @@ ROM_START( senspeed )
|
||||
ROM_LOAD16_WORD_SWAP( "speedracer.bin", 0x000000, 0x800000, CRC(4efbcd39) SHA1(2edffbaa9ea309ad308fa60f32d8b7a98ee313c7) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( ordentv )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "taikeeordenadortv.bin", 0x000000, 0x800000, CRC(ba15895a) SHA1(0a18076cbc3264c91473b8518dfb10d679321b47) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( wfcentro )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "winfuncentro.bin", 0x000000, 0x800000, CRC(fd6ad052) SHA1(78af844729bf4843dc70531349e38a8c25caf748) )
|
||||
ROM_END
|
||||
|
||||
|
||||
void spg2xx_game_state::init_crc()
|
||||
{
|
||||
// several games have a byte sum checksum listed at the start of ROM, this little helper function logs what it should match.
|
||||
@ -1764,6 +1830,13 @@ void spg2xx_game_albkickb_state::init_ablkickb()
|
||||
decrypt_ac_ff(ROM, size);
|
||||
}
|
||||
|
||||
void spg2xx_game_ordentv_state::init_ordentv()
|
||||
{
|
||||
// the game will die by jumping to an infinite loop if this check fails, what is it checking?
|
||||
uint16_t* rom = (uint16_t*)memregion("maincpu")->base();
|
||||
rom[0x4fef8] = 0xee07;
|
||||
}
|
||||
|
||||
|
||||
// year, name, parent, compat, machine, input, class, init, company, fullname, flags
|
||||
|
||||
@ -1825,6 +1898,9 @@ CONS( 2007, dreamlss, 0, 0, dreamlss, dreamlss, spg2xx_game_dreamlss_
|
||||
CONS( 2008, swclone, 0, 0, swclone, swclone, spg2xx_game_swclone_state, init_swclone, "Hasbro / Tiger Electronics", "Star Wars - The Clone Wars", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// Mattel games
|
||||
CONS( 2005, mattelcs, 0, 0, rad_skat, mattelcs, spg2xx_game_state, empty_init, "Mattel", "Mattel Classic Sports", MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 2005, mattelcs, 0, 0, rad_skat, mattelcs, spg2xx_game_state, empty_init, "Mattel", "Mattel Classic Sports", MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
CONS( 2007, ordentv, 0, 0, ordentv, ordentv, spg2xx_game_ordentv_state, init_ordentv, "Taikee / V-Tac", "Ordenador-TV (Spain)", MACHINE_NOT_WORKING )
|
||||
|
||||
CONS( 200?, wfcentro, 0, 0, wfcentro, spg2xx, spg2xx_game_wfcentro_state, empty_init, "WinFun", "Centro TV de Diseno Artistico (Spain)", MACHINE_NOT_WORKING )
|
||||
|
||||
// Both the WiWi and Fox Sports units seem to be related to the 'Virtual Interactive' (aka 'Vi') console
|
||||
|
@ -49,6 +49,18 @@ protected:
|
||||
int m_basebank;
|
||||
};
|
||||
|
||||
class mywicogt_state : public zon32bit_state
|
||||
{
|
||||
public:
|
||||
mywicogt_state(const machine_config& mconfig, device_type type, const char* tag) :
|
||||
zon32bit_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
protected:
|
||||
virtual void porta_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override;
|
||||
};
|
||||
|
||||
|
||||
class mywicodx_state : public zon32bit_state
|
||||
{
|
||||
public:
|
||||
@ -153,6 +165,52 @@ void zon32bit_state::porta_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
}
|
||||
|
||||
|
||||
void mywicogt_state::porta_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
if (1)
|
||||
logerror("%s: porta_w %04x (%04x) %c %c %c %c | %c %c %c %c | %c %c %c %c | %c %c %c %c \n", machine().describe_context(), data, mem_mask,
|
||||
(mem_mask & 0x8000) ? ((data & 0x8000) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x4000) ? ((data & 0x4000) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x2000) ? ((data & 0x2000) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x1000) ? ((data & 0x1000) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0800) ? ((data & 0x0800) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0400) ? ((data & 0x0400) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0200) ? ((data & 0x0200) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0100) ? ((data & 0x0100) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0080) ? ((data & 0x0080) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0040) ? ((data & 0x0040) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0020) ? ((data & 0x0020) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0010) ? ((data & 0x0010) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0008) ? ((data & 0x0008) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0004) ? ((data & 0x0004) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0002) ? ((data & 0x0002) ? '1' : '0') : 'x',
|
||||
(mem_mask & 0x0001) ? ((data & 0x0001) ? '1' : '0') : 'x');
|
||||
|
||||
//[:] ':maincpu' (000508): porta_w 0b00 (0f00) x x x x | 1 0 1 1 | x x x x | x x x x
|
||||
//[:] ':maincpu' (000510): porta_w 0b00 (0f00) x x x x | 1 0 1 1 | x x x x | x x x x
|
||||
//[:] ':maincpu' (000518): porta_w 0f00 (0f00) x x x x | 1 1 1 1 | x x x x | x x x x
|
||||
|
||||
if (m_maincpu->pc() < 0x1000)
|
||||
{
|
||||
if (data == 0x0f00)
|
||||
{
|
||||
m_basebank = 1;
|
||||
m_maincpu->invalidate_cache();
|
||||
logerror("changing to bank 1\n");
|
||||
|
||||
}
|
||||
else if (data == 0x0b00)
|
||||
{
|
||||
m_basebank = 0;
|
||||
m_maincpu->invalidate_cache();
|
||||
logerror("changing to bank 0\n");
|
||||
}
|
||||
}
|
||||
|
||||
m_porta_dat = data;
|
||||
}
|
||||
|
||||
|
||||
void mywicodx_state::porta_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
if (0)
|
||||
@ -747,6 +805,14 @@ ROM_START( zon32bit )
|
||||
ROM_CONTINUE(0x1800000, 0x0800000)
|
||||
ROM_END
|
||||
|
||||
ROM_START( mywicogt )
|
||||
ROM_REGION( 0x2000000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "mywicoguitar.bin", 0x0000000, 0x0800000, CRC(3c037c50) SHA1(3b9a28fb643c9f90563d653be0f38eba09c26f26) )
|
||||
ROM_CONTINUE(0x1000000, 0x0800000)
|
||||
ROM_CONTINUE(0x0800000, 0x0800000)
|
||||
ROM_CONTINUE(0x1800000, 0x0800000)
|
||||
ROM_END
|
||||
|
||||
|
||||
/*
|
||||
Following pinout was used for dumping
|
||||
@ -928,6 +994,8 @@ CONS( 200?, zon32bit, 0, 0, zon32bit, zon32bit, zon32bit_state, empty_init,
|
||||
// The Mi Guitar menu contains 24 games, but they're dupes, and just counting those would exclude the other Mi Fit and Mi Papacon menus (which also contain dupes)
|
||||
CONS( 200?, mywicodx, 0, 0, zon32bit, zon32bit, mywicodx_state, empty_init, "<unknown>", "My Wico Deluxe (Family Sport 85-in-1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
CONS( 200?, mywicogt, 0, 0, zon32bit, zon32bit, mywicogt_state, empty_init, "<unknown>", "My Wico Guitar", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
// issues with 'low battery' always showing, but otherwise functional
|
||||
CONS( 200?, oplayer, 0, 0, zon32bit_bat, oplayer, oplayer_100in1_state, init_oplayer, "OPlayer", "OPlayer Mobile Game Console (MGS03-white) (Family Sport 100-in-1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
|
@ -685,6 +685,9 @@ public:
|
||||
{ }
|
||||
|
||||
void vt1682_lxts3(machine_config& config);
|
||||
void vt1682_unk1682(machine_config& config);
|
||||
|
||||
void unk1682_init();
|
||||
|
||||
protected:
|
||||
uint8_t uio_porta_r();
|
||||
@ -5964,6 +5967,26 @@ void vt1682_lxts3_state::vt1682_lxts3(machine_config& config)
|
||||
m_uio->porta_in().set(FUNC(vt1682_lxts3_state::uio_porta_r));
|
||||
}
|
||||
|
||||
void vt1682_lxts3_state::vt1682_unk1682(machine_config& config)
|
||||
{
|
||||
vt_vt1682_palbase(config);
|
||||
vt_vt1682_common(config);
|
||||
|
||||
M6502(config.replace(), m_maincpu, MAIN_CPU_CLOCK_PAL); // no opcode bitswap
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vt1682_lxts3_state::vt_vt1682_map);
|
||||
|
||||
m_leftdac->reset_routes();
|
||||
m_rightdac->reset_routes();
|
||||
|
||||
config.device_remove(":lspeaker");
|
||||
config.device_remove(":rspeaker");
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
m_leftdac->add_route(0, "mono", 0.5);
|
||||
m_rightdac->add_route(0, "mono", 0.5);
|
||||
|
||||
m_uio->porta_in().set(FUNC(vt1682_lxts3_state::uio_porta_r));
|
||||
}
|
||||
|
||||
|
||||
void vt1682_wow_state::vt1682_wow(machine_config& config)
|
||||
@ -5996,7 +6019,17 @@ void intec_interact_state::banked_init()
|
||||
}
|
||||
|
||||
|
||||
void vt1682_lxts3_state::unk1682_init()
|
||||
{
|
||||
regular_init();
|
||||
|
||||
uint8_t* ROM = memregion("mainrom")->base();
|
||||
// this jumps to a function on startup that has a bunch of jumps / accesses to the 3xxx region, which is internal ROM
|
||||
// but bypassing it allows the unit to boot.
|
||||
ROM[0x7ef43] = 0xea;
|
||||
ROM[0x7ef44] = 0xea;
|
||||
ROM[0x7ef45] = 0xea;
|
||||
}
|
||||
|
||||
|
||||
// the VT1682 can have 0x1000 bytes of internal ROM, but none of the software dumped makes use of it.
|
||||
@ -6072,6 +6105,19 @@ ROM_START( wowwg )
|
||||
ROM_RELOAD(0x1000000,0x1000000)
|
||||
ROM_END
|
||||
|
||||
ROM_START( unk1682 )
|
||||
ROM_REGION( 0x1000, "internal", 0 )
|
||||
// this appears to use the internal ROM on startup, so mark it as missing
|
||||
ROM_LOAD( "101in1.internal.rom", 0x00000, 0x1000, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x2000000, "mainrom", 0 )
|
||||
ROM_LOAD( "vt1682_101in1.bin", 0x00000, 0x0800000, CRC(82879200) SHA1(c1977d1733f8849326286102c0755629d0406ec4) )
|
||||
ROM_CONTINUE(0x0800000, 0x0800000)
|
||||
ROM_CONTINUE(0x1000000, 0x0800000)
|
||||
ROM_CONTINUE(0x1800000, 0x0800000)
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( 110dance )
|
||||
ROM_REGION( 0x2000000, "mainrom", 0 )
|
||||
ROM_LOAD( "110songdancemat.bin", 0x00000, 0x2000000, CRC(cd668e41) SHA1(975bfe05f4cce047860b05766bc8539218f6014f) )
|
||||
@ -6144,6 +6190,7 @@ This might be a regional / store thing if some places didn't want to sell a unit
|
||||
// 'Riding Horse' on the other hand actually needs PAL timings, so this unit clearly was designed for PAL regions, however 'Explosion' was left broken.
|
||||
CONS( 200?, wowwg, 0, 0, vt1682_wow, exsprt48, vt1682_wow_state, regular_init, "Wow", "Wow Wireless Gaming (PAL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND) // needs high colour line mode for main menu
|
||||
|
||||
|
||||
CONS( 200?, 110dance, 0, 0, vt1682_dance, 110dance, vt1682_dance_state, regular_init, "<unknown>", "Retro Dance Mat (110 song Super StepMania + 9-in-1 games) (PAL)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND)
|
||||
|
||||
// songs 5-8 are repeats of songs 1-4, but probably not a bug?
|
||||
@ -6152,4 +6199,7 @@ CONS( 200?, dance555, 0, 0, vt1682_exsportp, dance555, vt1682_exsport_state
|
||||
|
||||
// NJ Pocket 60-in-1 (NJ-250) is meant to have similar games to the mini-games found in wowwg and 110dance, so almost certainly fits here
|
||||
|
||||
// this appears to be related to the NJ Pocket, claims 101-in-1 but has some duplicates. It once again seems to incorrectly have the PAL version of 'Ranning Horse' but the NTSC version of 'Bomberman'
|
||||
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) // needs high colour line mode for main menu
|
||||
|
||||
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 ) // random number generation issues on 2 games, linescroll on racing games
|
||||
|
@ -275,4 +275,43 @@ private:
|
||||
};
|
||||
|
||||
|
||||
|
||||
class spg2xx_game_wfcentro_state : public spg2xx_game_state
|
||||
{
|
||||
public:
|
||||
spg2xx_game_wfcentro_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
spg2xx_game_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void wfcentro(machine_config &config);
|
||||
|
||||
protected:
|
||||
// virtual void machine_start() override;
|
||||
// virtual void machine_reset() override;
|
||||
|
||||
// virtual void portc_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override;
|
||||
|
||||
private:
|
||||
|
||||
void mem_map_wfcentro(address_map& map);
|
||||
};
|
||||
|
||||
class spg2xx_game_ordentv_state : public spg2xx_game_state
|
||||
{
|
||||
public:
|
||||
spg2xx_game_ordentv_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
spg2xx_game_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void ordentv(machine_config &config);
|
||||
|
||||
void init_ordentv();
|
||||
|
||||
protected:
|
||||
|
||||
uint16_t ordentv_portc_r(offs_t offset, uint16_t mem_mask = ~0);
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
#endif // MAME_INCLUDES_SPG2XX_H
|
||||
|
@ -14798,6 +14798,7 @@ smartfps
|
||||
gormiti
|
||||
tkmag220 //
|
||||
myac220
|
||||
imgame
|
||||
|
||||
@source:generalplus_gpl16250_romram.cpp
|
||||
paccon
|
||||
@ -32067,6 +32068,7 @@ ts_handy11
|
||||
ablwikid
|
||||
maxx5in1
|
||||
maxx6in1
|
||||
max10in1
|
||||
|
||||
@source:nes_vt.cpp
|
||||
vdogdeme
|
||||
@ -32085,6 +32087,7 @@ lxcmcysw
|
||||
lxcmcyfz
|
||||
lxcmcydp
|
||||
lxcmcysp
|
||||
lxcmcypp
|
||||
lxccminn
|
||||
lxccplan
|
||||
rtvgc300
|
||||
@ -32174,6 +32177,7 @@ xing48
|
||||
wowwg
|
||||
110dance
|
||||
lxts3
|
||||
unk1682
|
||||
|
||||
@source:newbrain.cpp
|
||||
newbrain //
|
||||
@ -37999,6 +38003,8 @@ pballpup
|
||||
swclone
|
||||
dreamlss
|
||||
senspeed
|
||||
ordentv
|
||||
wfcentro
|
||||
|
||||
@source:spg2xx_digimake.cpp
|
||||
rad_digi
|
||||
@ -38128,6 +38134,7 @@ react
|
||||
|
||||
@source:spg2xx_zone_32bit.cpp
|
||||
mywicodx //
|
||||
mywicogt
|
||||
zon32bit // Zone 32-bit
|
||||
oplayer
|
||||
dnv200fs
|
||||
|
Loading…
Reference in New Issue
Block a user