mirror of
https://github.com/holub/mame
synced 2025-06-03 19:36:26 +03:00
bus/nes: Added support for GN-91B and NC-20MB multicart boards. (#8672)
New working software list additions (nes.xml) ----------------------------------- 2 in 1 (GN-91B) [Consolethinks, Nikolka] 20 in 1 (CA-006) [Consolethinks, Nikolka] 2 in 1 (VT-2037) [Consolethinks, Nikolka] 2 in 1 (VT-2038) [Consolethinks, Nikolka] Super 2 in 1 (WQ 2047) [Consolethinks, Nikolka]
This commit is contained in:
parent
49a62ba99c
commit
cdd5ad2045
87
hash/nes.xml
87
hash/nes.xml
@ -79192,6 +79192,22 @@ be better to redump them properly. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!-- Gunsmoke has a bug that makes some enemies and barrels not appear in-game until they are near the bottom of the screen. They cannot be interacted with until they materialize. It needs to be confirmed if this happens on hardware. -->
|
||||
<software name="mc_2gn91">
|
||||
<description>2 in 1 (GN-91B)</description>
|
||||
<year>19??</year>
|
||||
<publisher><pirate></publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_gn91b" />
|
||||
<dataarea name="prg" size="262144">
|
||||
<rom name="2-in-1 (gn-91b).prg" size="262144" crc="3c1d4ae3" sha1="ea31bf78a2bcb9fff752c12b07dfff8d65ba89fe" status="baddump" />
|
||||
</dataarea>
|
||||
<!-- 8k VRAM on cartridge -->
|
||||
<dataarea name="vram" size="8192">
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_2hikg">
|
||||
<description>2 in 1 1996 Super HIK Gold Card (NT-803)</description>
|
||||
<year>19??</year>
|
||||
@ -79226,6 +79242,60 @@ be better to redump them properly. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_2vt37">
|
||||
<description>2 in 1 (VT-2037)</description>
|
||||
<year>199?</year>
|
||||
<publisher><pirate></publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="262144">
|
||||
<rom name="2-in-1 (vt-2037).prg" size="262144" crc="9c1ab014" sha1="d5b565c27cab0fbe0cf2bc46a748f292323faa4b" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="262144">
|
||||
<rom name="2-in-1 (vt-2037).chr" size="262144" crc="df2c7a9b" sha1="8b40907ea0e753fecdfcb1962dae0fa7f76f21c7" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_2vt38">
|
||||
<description>2 in 1 (VT-2038)</description>
|
||||
<year>199?</year>
|
||||
<publisher><pirate></publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="262144">
|
||||
<rom name="2-in-1 (vt-2038).prg" size="262144" crc="0b86f42d" sha1="f39e83f7aadcd62e9901604dd58e6ba0f8601a47" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="262144">
|
||||
<rom name="2-in-1 (vt-2038).chr" size="262144" crc="46d5f59b" sha1="3273cd0f59aa765d3d7c14dfb97221a06b303ae9" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_2wq47">
|
||||
<description>Super 2 in 1 (WQ 2047)</description>
|
||||
<year>1998</year>
|
||||
<publisher><pirate></publisher>
|
||||
<info name="usage" value="Press reset to switch games."/>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="resettxrom" />
|
||||
<feature name="outer-prg-size" value="128K" />
|
||||
<feature name="outer-chr-size" value="128K" />
|
||||
<dataarea name="prg" size="262144">
|
||||
<rom name="super 2-in-1 (wq 2047, 1998).prg" size="262144" crc="018a778d" sha1="b6d579b431f2b3869b7a738b4778069d4002a6c0" status="baddump" />
|
||||
</dataarea>
|
||||
<dataarea name="chr" size="262144">
|
||||
<rom name="super 2-in-1 (wq 2047, 1998).chr" size="262144" crc="16685dcc" sha1="c51cf4df3122610cf2f90a9b75b77e2942f3ba1a" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!-- JP Ronny (Unl) [headerless crc: a9c69118] has been ripped from this multicart -->
|
||||
<software name="mc_20asd">
|
||||
<description>ASDER 20 in 1</description>
|
||||
@ -79303,6 +79373,22 @@ be better to redump them properly. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_20ca6">
|
||||
<description>20 in 1 (CA-006)</description>
|
||||
<year>19??</year>
|
||||
<publisher><pirate></publisher>
|
||||
<part name="cart" interface="nes_cart">
|
||||
<feature name="slot" value="bmc_nc20mb" />
|
||||
<feature name="pcb_model" value="NC-20MB" />
|
||||
<dataarea name="prg" size="524288">
|
||||
<rom name="20-in-1 (ca-006).prg" size="524288" crc="2f544832" sha1="9aeb8ea71ceff1eeea5a293c4257d259d1652aae" status="baddump" />
|
||||
</dataarea>
|
||||
<!-- 8k VRAM on cartridge -->
|
||||
<dataarea name="vram" size="8192">
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mc_200">
|
||||
<description>200 in 1 - Elfland</description>
|
||||
<year>1992</year>
|
||||
@ -81553,6 +81639,7 @@ be better to redump them properly. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!-- Gunsmoke has a bug that makes some enemies and barrels not appear in-game until they are near the bottom of the screen. They cannot be interacted with until they materialize. It needs to be confirmed if this happens on hardware. -->
|
||||
<software name="mc_8et40">
|
||||
<description>8 in 1 (ET40, 821242c)</description>
|
||||
<year>19??</year>
|
||||
|
@ -8,6 +8,10 @@
|
||||
|
||||
Here we emulate several PCBs used in multigame pirate carts (not MMC-3 based)
|
||||
|
||||
TODO: Investigate further Gunsmoke on mc_8et40 and mc_2gn91. Both exhibit the
|
||||
same bug where enemies/barrels don't appear until they are halfway down the
|
||||
screen. They are both almost the same minor hack of the US release.
|
||||
|
||||
***********************************************************************************************************/
|
||||
|
||||
|
||||
@ -53,6 +57,7 @@ DEFINE_DEVICE_TYPE(NES_BMC_CTC09, nes_bmc_ctc09_device, "nes_bmc_ctc09
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_GKA, nes_bmc_gka_device, "nes_bmc_gka", "NES Cart BMC GK-A PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_GKB, nes_bmc_gkb_device, "nes_bmc_gkb", "NES Cart BMC GK-B PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_GKCXIN1, nes_bmc_gkcxin1_device, "nes_bmc_gkcxin1", "NES Cart BMC GKCXIN1 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_GN91B, nes_bmc_gn91b_device, "nes_bmc_gn91b", "NES Cart BMC GN-91B PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_HP898F, nes_bmc_hp898f_device, "nes_bmc_hp898f", "NES Cart BMC HP-898F PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_K1029, nes_bmc_k1029_device, "nes_bmc_k1029", "NES Cart BMC K-1029 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_K3036, nes_bmc_k3036_device, "nes_bmc_k3036", "NES Cart BMC K-3036 PCB")
|
||||
@ -90,6 +95,7 @@ DEFINE_DEVICE_TYPE(NES_BMC_GOLD260, nes_bmc_gold260_device, "nes_bmc_gold2
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_TH22913, nes_bmc_th22913_device, "nes_bmc_th22913", "NES Cart BMC TH2291-3 PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_4IN1RESET, nes_bmc_4in1reset_device, "nes_bmc_4in1reset", "NES Cart BMC 4 in 1 (Reset Based) PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_42IN1RESET, nes_bmc_42in1reset_device, "nes_bmc_42in1reset", "NES Cart BMC 42 in 1 (Reset Based) PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_NC20MB, nes_bmc_nc20mb_device, "nes_bmc_nc20mb", "NES Cart BMC NC-20MB PCB")
|
||||
DEFINE_DEVICE_TYPE(NES_BMC_LC160, nes_bmc_lc160_device, "nes_bmc_lc160", "NES Cart BMC Little Com 160 PCB")
|
||||
|
||||
|
||||
@ -241,6 +247,11 @@ nes_bmc_gkcxin1_device::nes_bmc_gkcxin1_device(const machine_config &mconfig, co
|
||||
{
|
||||
}
|
||||
|
||||
nes_bmc_gn91b_device::nes_bmc_gn91b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_nrom_device(mconfig, NES_BMC_GN91B, tag, owner, clock), m_latch(0)
|
||||
{
|
||||
}
|
||||
|
||||
nes_bmc_hp898f_device::nes_bmc_hp898f_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_nrom_device(mconfig, NES_BMC_HP898F, tag, owner, clock)
|
||||
{
|
||||
@ -413,8 +424,18 @@ nes_bmc_4in1reset_device::nes_bmc_4in1reset_device(const machine_config &mconfig
|
||||
{
|
||||
}
|
||||
|
||||
nes_bmc_42in1reset_device::nes_bmc_42in1reset_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_nrom_device(mconfig, type, tag, owner, clock), m_latch(0), m_mirror_flip(type == NES_BMC_NC20MB)
|
||||
{
|
||||
}
|
||||
|
||||
nes_bmc_42in1reset_device::nes_bmc_42in1reset_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_nrom_device(mconfig, NES_BMC_42IN1RESET, tag, owner, clock), m_latch(0)
|
||||
: nes_bmc_42in1reset_device(mconfig, NES_BMC_42IN1RESET, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
nes_bmc_nc20mb_device::nes_bmc_nc20mb_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: nes_bmc_42in1reset_device(mconfig, NES_BMC_NC20MB, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
@ -744,6 +765,21 @@ void nes_bmc_gka_device::pcb_reset()
|
||||
m_reg[0] = m_reg[1] = 0;
|
||||
}
|
||||
|
||||
void nes_bmc_gn91b_device::device_start()
|
||||
{
|
||||
common_start();
|
||||
save_item(NAME(m_latch));
|
||||
}
|
||||
|
||||
void nes_bmc_gn91b_device::pcb_reset()
|
||||
{
|
||||
prg16_89ab(0);
|
||||
prg16_cdef(7);
|
||||
chr8(0, CHRRAM);
|
||||
|
||||
m_latch = 0;
|
||||
}
|
||||
|
||||
void nes_bmc_k3036_device::pcb_reset()
|
||||
{
|
||||
prg16_89ab(0);
|
||||
@ -1411,10 +1447,6 @@ void nes_a65as_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
In MAME: Supported.
|
||||
|
||||
TODO: Gunsmoke on 8-in-1 (ET40) has invisible sprites
|
||||
that suddenly appear closer to the bottom of the screen.
|
||||
Mirroring is correct, so is this a bug on the cartridge?
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_t262_device::write_h(offs_t offset, u8 data)
|
||||
@ -1887,6 +1919,32 @@ void nes_bmc_gkcxin1_device::write_h(offs_t offset, u8 data)
|
||||
chr8(offset & 0x07, CHRROM);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Board BMC-GN-91B
|
||||
|
||||
Unknown Bootleg Multigame Board
|
||||
Games: 2 in 1
|
||||
|
||||
NES 2.0: mapper 431
|
||||
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_bmc_gn91b_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_gn91b write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
|
||||
if (offset < 0x4000)
|
||||
{
|
||||
m_latch = (offset & 0x10) >> 1;
|
||||
prg16_cdef(m_latch | 0x07);
|
||||
set_nt_mirroring(m_latch ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
}
|
||||
prg16_89ab(m_latch | (data & 0x07));
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Board HP-898F
|
||||
@ -2970,17 +3028,22 @@ uint8_t nes_bmc_gold150_device::read_h(offs_t offset)
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
BMC-42IN1RESETBASED
|
||||
BMC-42IN1RESETBASED, BMC-NC-20MB
|
||||
|
||||
Unknown Bootleg Multigame Board
|
||||
Games: 42 (22 + 20) in 1
|
||||
Games: 42 (22 + 20) in 1, 20 in 1 (CA-006)
|
||||
|
||||
There is an identical dump identified as SUPER22GAMES
|
||||
that supposedly selected between the two menus by
|
||||
dip switch. It's not clear which, if any, variants of
|
||||
this cart exist, nor if this is really reset-based.
|
||||
Here we implement two nearly identical mappers. The
|
||||
NC-20MB board does not have the reset latch and its
|
||||
mirroring bit is inverted from the 42 in 1.
|
||||
|
||||
There is an identical dump of the 42 in 1 identified
|
||||
as SUPER22GAMES that supposedly selected between the
|
||||
two menus via dip switch. It's not clear which, if
|
||||
any, variants of this cart exist, nor if this is
|
||||
really reset-based.
|
||||
|
||||
iNES: mapper 233
|
||||
NES 2.0: mapper 433
|
||||
|
||||
In MAME: Supported.
|
||||
|
||||
@ -2995,8 +3058,8 @@ void nes_bmc_42in1reset_device::write_h(offs_t offset, u8 data)
|
||||
prg16_89ab(bank & ~mode);
|
||||
prg16_cdef(bank | mode);
|
||||
|
||||
// some sources say there are 1-screen modes, but this works as is
|
||||
set_nt_mirroring(BIT(data, 6) ? PPU_MIRROR_VERT : PPU_MIRROR_HORZ);
|
||||
// some sources say there are 1-screen modes for 42-in-1, but this works as is
|
||||
set_nt_mirroring(BIT(data, 6) ^ m_mirror_flip ? PPU_MIRROR_VERT : PPU_MIRROR_HORZ);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
@ -469,6 +469,27 @@ public:
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_bmc_gn91b_device
|
||||
|
||||
class nes_bmc_gn91b_device : public nes_nrom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
nes_bmc_gn91b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
virtual void write_h(offs_t offset, u8 data) override;
|
||||
|
||||
virtual void pcb_reset() override;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
private:
|
||||
u8 m_latch;
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_bmc_hp898f_device
|
||||
|
||||
class nes_bmc_hp898f_device : public nes_nrom_device
|
||||
@ -1056,11 +1077,24 @@ public:
|
||||
virtual void pcb_reset() override;
|
||||
|
||||
protected:
|
||||
// construction/destruction
|
||||
nes_bmc_42in1reset_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
private:
|
||||
u8 m_latch;
|
||||
u8 m_latch, m_mirror_flip;
|
||||
};
|
||||
|
||||
|
||||
// ======================> nes_bmc_nc20mb_device
|
||||
|
||||
class nes_bmc_nc20mb_device : public nes_bmc_42in1reset_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
nes_bmc_nc20mb_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
};
|
||||
|
||||
|
||||
@ -1192,6 +1226,7 @@ DECLARE_DEVICE_TYPE(NES_BMC_CTC09, nes_bmc_ctc09_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_GKA, nes_bmc_gka_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_GKB, nes_bmc_gkb_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_GKCXIN1, nes_bmc_gkcxin1_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_GN91B, nes_bmc_gn91b_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_HP898F, nes_bmc_hp898f_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_K1029, nes_bmc_k1029_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_K3036, nes_bmc_k3036_device)
|
||||
@ -1228,6 +1263,7 @@ DECLARE_DEVICE_TYPE(NES_BMC_GOLD150, nes_bmc_gold150_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_GOLD260, nes_bmc_gold260_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_4IN1RESET, nes_bmc_4in1reset_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_42IN1RESET, nes_bmc_42in1reset_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_NC20MB, nes_bmc_nc20mb_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_LC160, nes_bmc_lc160_device)
|
||||
DECLARE_DEVICE_TYPE(NES_BMC_TH22913, nes_bmc_th22913_device)
|
||||
|
||||
|
@ -387,6 +387,7 @@ void nes_cart(device_slot_interface &device)
|
||||
device.option_add_internal("bmc_gka", NES_BMC_GKA);
|
||||
device.option_add_internal("bmc_gkb", NES_BMC_GKB);
|
||||
device.option_add_internal("bmc_gkcxin1", NES_BMC_GKCXIN1);
|
||||
device.option_add_internal("bmc_gn91b", NES_BMC_GN91B);
|
||||
device.option_add_internal("bmc_hp898f", NES_BMC_HP898F);
|
||||
device.option_add_internal("bmc_k1029", NES_BMC_K1029);
|
||||
device.option_add_internal("bmc_k3006", NES_BMC_K3006);
|
||||
@ -426,6 +427,7 @@ void nes_cart(device_slot_interface &device)
|
||||
device.option_add_internal("bmc_th22913", NES_BMC_TH22913); // mapper 63
|
||||
device.option_add_internal("bmc_reset4", NES_BMC_4IN1RESET); // mapper 60 with 64k prg and 32k chr
|
||||
device.option_add_internal("bmc_reset42", NES_BMC_42IN1RESET); // mapper 233
|
||||
device.option_add_internal("bmc_nc20mb", NES_BMC_NC20MB);
|
||||
device.option_add_internal("bmc_lc160", NES_BMC_LC160);
|
||||
device.option_add_internal("resetsxrom", NES_RESETSXROM);
|
||||
// misc multigame cart MMC3 clone boards
|
||||
|
@ -466,9 +466,9 @@ static const nes_mmc mmc_list[] =
|
||||
// 428 a couple multicarts
|
||||
// 429 Unused
|
||||
// 430 Unused
|
||||
// 431 Realtec GN-91B
|
||||
{ 431, BMC_GN91B },
|
||||
// 432 Realtec 8090
|
||||
// 433 NC-20MB 20 in 1 (CA-006)
|
||||
{ 433, BMC_NC20MB },
|
||||
// 434 S-009
|
||||
{ 435, NTDEC_2746 },
|
||||
// 436...442 Unused
|
||||
|
@ -268,6 +268,7 @@ static const nes_pcb pcb_list[] =
|
||||
{ "bmc_gka", BMC_GKA },
|
||||
{ "bmc_gkb", BMC_GKB },
|
||||
{ "bmc_gkcxin1", BMC_GKCXIN1 },
|
||||
{ "bmc_gn91b", BMC_GN91B },
|
||||
{ "bmc_hp898f", BMC_HP898F },
|
||||
{ "bmc_k1029", BMC_K1029 },
|
||||
{ "bmc_k3006", BMC_K3006 },
|
||||
@ -334,6 +335,7 @@ static const nes_pcb pcb_list[] =
|
||||
{ "bmc_th22913", BMC_TH22913 },
|
||||
{ "bmc_reset4", BMC_4IN1RESET },
|
||||
{ "bmc_reset42", BMC_42IN1RESET },
|
||||
{ "bmc_nc20mb", BMC_NC20MB },
|
||||
{ "bmc_lc160", BMC_LITTLECOM160 },
|
||||
{ "jncota_kt1001", JNCOTA_KT1001 },
|
||||
{ "jyc_a", JYCOMPANY_A },
|
||||
|
@ -94,10 +94,11 @@ enum
|
||||
BMC_72IN1, BMC_SUPER_42IN1, BMC_76IN1,
|
||||
BMC_31IN1, BMC_22GAMES, BMC_20IN1,
|
||||
BMC_70IN1, BMC_500IN1, BMC_800IN1, BMC_1200IN1,
|
||||
BMC_GKA, BMC_GKB, BMC_GKCXIN1, BMC_HP898F, BMC_VT5201, BMC_BENSHIENG,
|
||||
BMC_GKA, BMC_GKB, BMC_GKCXIN1, BMC_GN91B,
|
||||
BMC_HP898F, BMC_VT5201, BMC_BENSHIENG,
|
||||
BMC_60311C, BMC_80013B, BMC_810544C, BMC_830425C,
|
||||
BMC_830928C, BMC_850437C, BMC_970630C,
|
||||
BMC_N32_4IN1, BMC_NT639, BMC_NTD_03,
|
||||
BMC_N32_4IN1, BMC_NC20MB, BMC_NT639, BMC_NTD_03,
|
||||
BMC_EL860947C, BMC_EL861121C, BMC_FK23C, BMC_FK23CA, BMC_JY820845C,
|
||||
BMC_PJOY84, BMC_TH22913, BMC_11160, BMC_G146,
|
||||
BMC_2751, BMC_8157, BMC_00202650,
|
||||
|
Loading…
Reference in New Issue
Block a user