-bus/nes: Added support for two more FDS bootlegs, fixed another. (#8247)
* Added boards for Palthena no Kagami (Kid Icarus) and Lucky Rabbit, (Roger Rabbit) FDS bootlegs. * Fixed background tiles in fuunsfds, it has hardwired vertical mirroring. -nes.xml: Marked tobidfds as not supported - it crashes on start. New working software list additions (nes.xml) ----------------------------------- Hikari Shinwa - Palthena no Kagami (Asia, FDS conversion) [famiac] Lucky Rabbit (Asia, Roger Rabbit FDS conversion) [famiac]
This commit is contained in:
parent
5421709031
commit
1c268bd116
36
hash/nes.xml
36
hash/nes.xml
@ -66692,7 +66692,6 @@ Also notice that VRAM & WRAM are probably incorrect for some of these sets, at t
|
|||||||
<part name="cart" interface="nes_cart">
|
<part name="cart" interface="nes_cart">
|
||||||
<feature name="slot" value="unl_lh10" />
|
<feature name="slot" value="unl_lh10" />
|
||||||
<feature name="pcb" value="UNL-LH10" />
|
<feature name="pcb" value="UNL-LH10" />
|
||||||
<feature name="mirroring" value="horizontal" />
|
|
||||||
<dataarea name="prg" size="131072">
|
<dataarea name="prg" size="131072">
|
||||||
<rom name="fuuun shaolin kyo (fds conversion) (unl).prg" size="131072" crc="120d5a6c" sha1="4c499a857087e6c121522435786792a2e4105ac1" offset="00000" status="baddump" />
|
<rom name="fuuun shaolin kyo (fds conversion) (unl).prg" size="131072" crc="120d5a6c" sha1="4c499a857087e6c121522435786792a2e4105ac1" offset="00000" status="baddump" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
@ -66771,6 +66770,39 @@ Also notice that VRAM & WRAM are probably incorrect for some of these sets, at t
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
|
<software name="hikaris">
|
||||||
|
<description>Hikari Shinwa - Palthena no Kagami (Asia, FDS conversion)</description>
|
||||||
|
<year>19??</year>
|
||||||
|
<publisher><pirate></publisher>
|
||||||
|
<part name="cart" interface="nes_cart">
|
||||||
|
<feature name="slot" value="palthena" />
|
||||||
|
<dataarea name="prg" size="131072">
|
||||||
|
<rom name="hikaris.prg" size="131072" crc="4da80b08" sha1="4f053c37d8bd0808e4edfd3922abb1a0cc1cd4dc" status="baddump" />
|
||||||
|
</dataarea>
|
||||||
|
<!-- 8k VRAM on cartridge -->
|
||||||
|
<dataarea name="vram" size="8192">
|
||||||
|
</dataarea>
|
||||||
|
<!-- 8k WRAM on cartridge -->
|
||||||
|
<dataarea name="wram" size="8192">
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
|
<software name="luckyrab">
|
||||||
|
<description>Lucky Rabbit (Asia, Roger Rabbit FDS conversion)</description>
|
||||||
|
<year>19??</year>
|
||||||
|
<publisher><pirate></publisher>
|
||||||
|
<part name="cart" interface="nes_cart">
|
||||||
|
<feature name="slot" value="btl_0353" />
|
||||||
|
<dataarea name="prg" size="131072">
|
||||||
|
<rom name="lucky rabbit.prg" size="131072" crc="dd7d6612" sha1="79106176aa04c669cd466963dfe7fdd187b8a9c7" status="baddump" />
|
||||||
|
</dataarea>
|
||||||
|
<!-- 8k VRAM on cartridge -->
|
||||||
|
<dataarea name="vram" size="8192">
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="meikyfds">
|
<software name="meikyfds">
|
||||||
<description>Meikyuu Jiin Dababa (Asia, FDS conversion)</description>
|
<description>Meikyuu Jiin Dababa (Asia, FDS conversion)</description>
|
||||||
<year>19??</year>
|
<year>19??</year>
|
||||||
@ -67067,7 +67099,7 @@ Also notice that VRAM & WRAM are probably incorrect for some of these sets, at t
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="tobidfds">
|
<software name="tobidfds" supported="no">
|
||||||
<description>Tobidase Daisakusen (Asia, FDS conversion)</description>
|
<description>Tobidase Daisakusen (Asia, FDS conversion)</description>
|
||||||
<year>19??</year>
|
<year>19??</year>
|
||||||
<publisher><pirate></publisher>
|
<publisher><pirate></publisher>
|
||||||
|
@ -46,7 +46,9 @@ DEFINE_DEVICE_TYPE(NES_BTL_DNINJA, nes_btl_dn_device, "nes_btl_dn", "N
|
|||||||
DEFINE_DEVICE_TYPE(NES_SMB2J, nes_smb2j_device, "nes_smb2j", "NES Cart Super Mario Bros. 2 Jpn PCB")
|
DEFINE_DEVICE_TYPE(NES_SMB2J, nes_smb2j_device, "nes_smb2j", "NES Cart Super Mario Bros. 2 Jpn PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_SMB2JA, nes_smb2ja_device, "nes_smb2ja", "NES Cart Super Mario Bros. 2 Jpn (Alt) PCB")
|
DEFINE_DEVICE_TYPE(NES_SMB2JA, nes_smb2ja_device, "nes_smb2ja", "NES Cart Super Mario Bros. 2 Jpn (Alt) PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_SMB2JB, nes_smb2jb_device, "nes_smb2jb", "NES Cart Super Mario Bros. 2 Jpn (Alt 2) PCB")
|
DEFINE_DEVICE_TYPE(NES_SMB2JB, nes_smb2jb_device, "nes_smb2jb", "NES Cart Super Mario Bros. 2 Jpn (Alt 2) PCB")
|
||||||
|
DEFINE_DEVICE_TYPE(NES_0353, nes_0353_device, "nes_0353", "NES Cart 0353 PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_09034A, nes_09034a_device, "nes_09034a", "NES Cart 09-034A PCB")
|
DEFINE_DEVICE_TYPE(NES_09034A, nes_09034a_device, "nes_09034a", "NES Cart 09-034A PCB")
|
||||||
|
DEFINE_DEVICE_TYPE(NES_PALTHENA, nes_palthena_device, "nes_palthena", "NES Cart Palthena no Kagami Pirate PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_TOBIDASE, nes_tobidase_device, "nes_tobidase", "NES Cart Tobidase Daisakusen Pirate PCB")
|
DEFINE_DEVICE_TYPE(NES_TOBIDASE, nes_tobidase_device, "nes_tobidase", "NES Cart Tobidase Daisakusen Pirate PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_DH08, nes_dh08_device, "nes_dh08", "NES Cart DH-08 Pirate PCB")
|
DEFINE_DEVICE_TYPE(NES_DH08, nes_dh08_device, "nes_dh08", "NES Cart DH-08 Pirate PCB")
|
||||||
DEFINE_DEVICE_TYPE(NES_LE05, nes_le05_device, "nes_le05", "NES Cart LE05 Pirate PCB")
|
DEFINE_DEVICE_TYPE(NES_LE05, nes_le05_device, "nes_le05", "NES Cart LE05 Pirate PCB")
|
||||||
@ -107,11 +109,21 @@ nes_smb2jb_device::nes_smb2jb_device(const machine_config &mconfig, const char *
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nes_0353_device::nes_0353_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
|
: nes_nrom_device(mconfig, NES_0353, tag, owner, clock), m_reg(0)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
nes_09034a_device::nes_09034a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
nes_09034a_device::nes_09034a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||||
: nes_nrom_device(mconfig, NES_09034A, tag, owner, clock), m_reg(0)
|
: nes_nrom_device(mconfig, NES_09034A, tag, owner, clock), m_reg(0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nes_palthena_device::nes_palthena_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
|
: nes_nrom_device(mconfig, NES_PALTHENA, tag, owner, clock), m_reg(0)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
nes_tobidase_device::nes_tobidase_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
nes_tobidase_device::nes_tobidase_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||||
: nes_nrom_device(mconfig, NES_TOBIDASE, tag, owner, clock), m_latch(0)
|
: nes_nrom_device(mconfig, NES_TOBIDASE, tag, owner, clock), m_latch(0)
|
||||||
{
|
{
|
||||||
@ -368,6 +380,20 @@ void nes_smb2jb_device::pcb_reset()
|
|||||||
m_irq_count = 0;
|
m_irq_count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void nes_0353_device::device_start()
|
||||||
|
{
|
||||||
|
common_start();
|
||||||
|
save_item(NAME(m_reg));
|
||||||
|
}
|
||||||
|
|
||||||
|
void nes_0353_device::pcb_reset()
|
||||||
|
{
|
||||||
|
prg32((m_prg_chunks >> 1) - 1); // fixed 32K bank
|
||||||
|
chr8(0, CHRRAM);
|
||||||
|
|
||||||
|
m_reg = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void nes_09034a_device::device_start()
|
void nes_09034a_device::device_start()
|
||||||
{
|
{
|
||||||
common_start();
|
common_start();
|
||||||
@ -382,6 +408,22 @@ void nes_09034a_device::pcb_reset()
|
|||||||
m_reg = 0;
|
m_reg = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void nes_palthena_device::device_start()
|
||||||
|
{
|
||||||
|
common_start();
|
||||||
|
save_item(NAME(m_reg));
|
||||||
|
}
|
||||||
|
|
||||||
|
void nes_palthena_device::pcb_reset()
|
||||||
|
{
|
||||||
|
prg8_89(0x0c);
|
||||||
|
// 0xa000-0xbfff switchable bank
|
||||||
|
prg16_cdef(m_prg_chunks - 1);
|
||||||
|
chr8(0, CHRRAM);
|
||||||
|
|
||||||
|
m_reg = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void nes_tobidase_device::device_start()
|
void nes_tobidase_device::device_start()
|
||||||
{
|
{
|
||||||
common_start();
|
common_start();
|
||||||
@ -436,14 +478,15 @@ void nes_lh10_device::device_start()
|
|||||||
|
|
||||||
void nes_lh10_device::pcb_reset()
|
void nes_lh10_device::pcb_reset()
|
||||||
{
|
{
|
||||||
chr8(0, CHRRAM);
|
|
||||||
|
|
||||||
prg8_89(0);
|
prg8_89(0);
|
||||||
prg8_ab(0);
|
prg8_ab(0);
|
||||||
// 0xc000-0xdfff reads/writes WRAM
|
// 0xc000-0xdfff reads/writes WRAM
|
||||||
prg8_ef(0xff);
|
prg8_ef((m_prg_chunks << 1) - 1);
|
||||||
memset(m_reg, 0, sizeof(m_reg));
|
chr8(0, CHRRAM);
|
||||||
|
set_nt_mirroring(PPU_MIRROR_VERT);
|
||||||
|
|
||||||
m_latch = 0;
|
m_latch = 0;
|
||||||
|
std::fill(std::begin(m_reg), std::end(m_reg), 0x00);
|
||||||
}
|
}
|
||||||
|
|
||||||
void nes_lh53_device::device_start()
|
void nes_lh53_device::device_start()
|
||||||
@ -462,8 +505,8 @@ void nes_lh53_device::pcb_reset()
|
|||||||
chr8(0, CHRRAM);
|
chr8(0, CHRRAM);
|
||||||
|
|
||||||
prg8_89(0xc);
|
prg8_89(0xc);
|
||||||
prg8_ab(0xd); // last 2K are overlayed by WRAM
|
prg8_ab(0xd); // last 2K are overlaid by WRAM
|
||||||
prg8_cd(0xe); // first 6K are overlayed by WRAM
|
prg8_cd(0xe); // first 6K are overlaid by WRAM
|
||||||
prg8_ef(0xf);
|
prg8_ef(0xf);
|
||||||
m_reg = 0;
|
m_reg = 0;
|
||||||
m_irq_count = 0;
|
m_irq_count = 0;
|
||||||
@ -481,7 +524,7 @@ void nes_2708_device::pcb_reset()
|
|||||||
chr8(0, CHRRAM);
|
chr8(0, CHRRAM);
|
||||||
|
|
||||||
prg32(7);
|
prg32(7);
|
||||||
// the upper PRG banks never change, but there are 8K of WRAM overlayed to the ROM area based on reg1
|
// the upper PRG banks never change, but there are 8K of WRAM overlaid to the ROM area based on reg1
|
||||||
m_reg[0] = 0;
|
m_reg[0] = 0;
|
||||||
m_reg[1] = 0;
|
m_reg[1] = 0;
|
||||||
}
|
}
|
||||||
@ -1181,6 +1224,32 @@ void nes_smb2jb_device::write_ex(offs_t offset, uint8_t data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*-------------------------------------------------
|
||||||
|
|
||||||
|
(BTL-)0353
|
||||||
|
|
||||||
|
Games: Lucky Rabbit (Roger Rabbit conversion)
|
||||||
|
|
||||||
|
NES 2.0: mapper 415
|
||||||
|
|
||||||
|
In MAME: Supported.
|
||||||
|
|
||||||
|
-------------------------------------------------*/
|
||||||
|
|
||||||
|
u8 nes_0353_device::read_m(offs_t offset)
|
||||||
|
{
|
||||||
|
// LOG_MMC(("0353 read_m, offset: %04x\n", offset));
|
||||||
|
return m_prg[m_reg * 0x2000 + offset];
|
||||||
|
}
|
||||||
|
|
||||||
|
void nes_0353_device::write_h(offs_t offset, u8 data)
|
||||||
|
{
|
||||||
|
LOG_MMC(("0353 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||||
|
|
||||||
|
set_nt_mirroring(BIT(data, 4) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||||
|
m_reg = data & 0x0f;
|
||||||
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
|
|
||||||
(UNL-)09-034A
|
(UNL-)09-034A
|
||||||
@ -1212,6 +1281,91 @@ uint8_t nes_09034a_device::read_m(offs_t offset)
|
|||||||
return m_prg[((m_reg + 4) * 0x2000) + offset];
|
return m_prg[((m_reg + 4) * 0x2000) + offset];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*-------------------------------------------------
|
||||||
|
|
||||||
|
BTL-PALTHENA
|
||||||
|
|
||||||
|
Games: Palthena no Kagami (FDS conversion)
|
||||||
|
|
||||||
|
This board has fixed 8K PRG banks at 0x6000, 0x8000,
|
||||||
|
0xc000, and 0xe000. The PRG bank at 0xa000 is switchable
|
||||||
|
by writing to the register in the same 0xa000-0xbfff
|
||||||
|
range. What makes the board interesting is the overlaid
|
||||||
|
8K of RAM with only 6K addressable:
|
||||||
|
|
||||||
|
8K WRAM: Addr:
|
||||||
|
0x0000-0x11ff 0xc000-0xd1ff
|
||||||
|
0x1200-0x12ff 0x8200-0x82ff
|
||||||
|
0x1300-0x17ff N/A
|
||||||
|
0x1800-0x18ff 0x6000-0x60ff
|
||||||
|
0x1900-0x19ff N/A
|
||||||
|
0x1a00-0x1aff 0x6200-0x62ff
|
||||||
|
0x1b00-0x1bff N/A
|
||||||
|
0x1c00-0x1dff 0x6400-0x65ff
|
||||||
|
0x1e00-0x1eff N/A
|
||||||
|
0x1f00-0x1fff 0xdf00-0xdfff
|
||||||
|
|
||||||
|
NES 2.0: mapper 539
|
||||||
|
|
||||||
|
In MAME: Supported.
|
||||||
|
|
||||||
|
-------------------------------------------------*/
|
||||||
|
|
||||||
|
u8 nes_palthena_device::read_m(offs_t offset)
|
||||||
|
{
|
||||||
|
// LOG_MMC(("palthena read_m, offset: %04x\n", offset));
|
||||||
|
switch (offset & 0x1f00)
|
||||||
|
{
|
||||||
|
case 0x0000:
|
||||||
|
case 0x0200:
|
||||||
|
case 0x0400:
|
||||||
|
case 0x0500:
|
||||||
|
return m_prgram[offset | 0x1800];
|
||||||
|
default:
|
||||||
|
return m_prg[0x0d * 0x2000 + offset]; // fixed PRG bank
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void nes_palthena_device::write_m(offs_t offset, u8 data)
|
||||||
|
{
|
||||||
|
LOG_MMC(("palthena write_m, offset: %04x, data: %02x\n", offset, data));
|
||||||
|
switch (offset & 0x1f00)
|
||||||
|
{
|
||||||
|
case 0x0000:
|
||||||
|
case 0x0200:
|
||||||
|
case 0x0400:
|
||||||
|
case 0x0500:
|
||||||
|
m_prgram[offset | 0x1800] = data;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 nes_palthena_device::read_h(offs_t offset)
|
||||||
|
{
|
||||||
|
// LOG_MMC(("palthena read_h, offset: %04x\n", offset));
|
||||||
|
u8 page = (offset >> 8);
|
||||||
|
if ((page >= 0x40 && page < 0x52) || page == 0x5f)
|
||||||
|
return m_prgram[offset & 0x1fff];
|
||||||
|
else if (page == 0x02)
|
||||||
|
return m_prgram[offset | 0x1000];
|
||||||
|
|
||||||
|
return hi_access_rom(offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
void nes_palthena_device::write_h(offs_t offset, u8 data)
|
||||||
|
{
|
||||||
|
LOG_MMC(("palthena write_h, offset: %04x, data: %02x\n", offset, data));
|
||||||
|
u8 page = (offset >> 8);
|
||||||
|
if ((page >= 0x40 && page < 0x52) || page == 0x5f)
|
||||||
|
m_prgram[offset & 0x1fff] = data;
|
||||||
|
else if (page == 0x02)
|
||||||
|
m_prgram[offset | 0x1000] = data;
|
||||||
|
else if (page >= 0x20 && page < 0x40)
|
||||||
|
prg8_ab(data & 0x0f);
|
||||||
|
else if (offset == 0x7fff)
|
||||||
|
set_nt_mirroring(BIT(data, 3) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||||
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
|
|
||||||
Bootleg Board used for FDS conversion
|
Bootleg Board used for FDS conversion
|
||||||
@ -1228,7 +1382,7 @@ uint8_t nes_09034a_device::read_m(offs_t offset)
|
|||||||
|
|
||||||
void nes_tobidase_device::write_l(offs_t offset, uint8_t data)
|
void nes_tobidase_device::write_l(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
LOG_MMC(("tobidase write_h, offset: %04x, data: %02x\n", offset, data));
|
LOG_MMC(("tobidase write_l, offset: %04x, data: %02x\n", offset, data));
|
||||||
offset += 0x4100;
|
offset += 0x4100;
|
||||||
|
|
||||||
if ((offset & 0x63c0) == 0x41c0)
|
if ((offset & 0x63c0) == 0x41c0)
|
||||||
@ -1335,7 +1489,6 @@ void nes_lh10_device::write_h(offs_t offset, uint8_t data)
|
|||||||
|
|
||||||
if (offset >= 0x4000 && offset < 0x6000)
|
if (offset >= 0x4000 && offset < 0x6000)
|
||||||
m_prgram[offset & 0x1fff] = data;
|
m_prgram[offset & 0x1fff] = data;
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
switch (offset & 0x6001)
|
switch (offset & 0x6001)
|
||||||
|
@ -231,6 +231,28 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ======================> nes_0353_device
|
||||||
|
|
||||||
|
class nes_0353_device : public nes_nrom_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// construction/destruction
|
||||||
|
nes_0353_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
|
virtual u8 read_m(offs_t offset) override;
|
||||||
|
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_reg;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> nes_09034a_device
|
// ======================> nes_09034a_device
|
||||||
|
|
||||||
class nes_09034a_device : public nes_nrom_device
|
class nes_09034a_device : public nes_nrom_device
|
||||||
@ -253,6 +275,30 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ======================> nes_palthena_device
|
||||||
|
|
||||||
|
class nes_palthena_device : public nes_nrom_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// construction/destruction
|
||||||
|
nes_palthena_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
|
virtual u8 read_m(offs_t offset) override;
|
||||||
|
virtual u8 read_h(offs_t offset) override;
|
||||||
|
virtual void write_m(offs_t offset, u8 data) override;
|
||||||
|
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_reg;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> nes_tobidase_device
|
// ======================> nes_tobidase_device
|
||||||
|
|
||||||
class nes_tobidase_device : public nes_nrom_device
|
class nes_tobidase_device : public nes_nrom_device
|
||||||
@ -445,6 +491,7 @@ private:
|
|||||||
uint8_t m_reg[2];
|
uint8_t m_reg[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> nes_ac08_device
|
// ======================> nes_ac08_device
|
||||||
|
|
||||||
class nes_ac08_device : public nes_nrom_device
|
class nes_ac08_device : public nes_nrom_device
|
||||||
@ -485,6 +532,7 @@ protected:
|
|||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> nes_shuiguan_device
|
// ======================> nes_shuiguan_device
|
||||||
|
|
||||||
class nes_shuiguan_device : public nes_nrom_device
|
class nes_shuiguan_device : public nes_nrom_device
|
||||||
@ -542,7 +590,9 @@ DECLARE_DEVICE_TYPE(NES_BTL_DNINJA, nes_btl_dn_device)
|
|||||||
DECLARE_DEVICE_TYPE(NES_SMB2J, nes_smb2j_device)
|
DECLARE_DEVICE_TYPE(NES_SMB2J, nes_smb2j_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_SMB2JA, nes_smb2ja_device)
|
DECLARE_DEVICE_TYPE(NES_SMB2JA, nes_smb2ja_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_SMB2JB, nes_smb2jb_device)
|
DECLARE_DEVICE_TYPE(NES_SMB2JB, nes_smb2jb_device)
|
||||||
|
DECLARE_DEVICE_TYPE(NES_0353, nes_0353_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_09034A, nes_09034a_device)
|
DECLARE_DEVICE_TYPE(NES_09034A, nes_09034a_device)
|
||||||
|
DECLARE_DEVICE_TYPE(NES_PALTHENA, nes_palthena_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_TOBIDASE, nes_tobidase_device)
|
DECLARE_DEVICE_TYPE(NES_TOBIDASE, nes_tobidase_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_DH08, nes_dh08_device)
|
DECLARE_DEVICE_TYPE(NES_DH08, nes_dh08_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_LE05, nes_le05_device)
|
DECLARE_DEVICE_TYPE(NES_LE05, nes_le05_device)
|
||||||
@ -557,5 +607,4 @@ DECLARE_DEVICE_TYPE(NES_MMALEE, nes_mmalee_device)
|
|||||||
DECLARE_DEVICE_TYPE(NES_SHUIGUAN, nes_shuiguan_device)
|
DECLARE_DEVICE_TYPE(NES_SHUIGUAN, nes_shuiguan_device)
|
||||||
DECLARE_DEVICE_TYPE(NES_RT01, nes_rt01_device)
|
DECLARE_DEVICE_TYPE(NES_RT01, nes_rt01_device)
|
||||||
|
|
||||||
|
|
||||||
#endif // MAME_BUS_NES_BOOTLEG_H
|
#endif // MAME_BUS_NES_BOOTLEG_H
|
||||||
|
@ -297,7 +297,9 @@ void nes_cart(device_slot_interface &device)
|
|||||||
device.option_add_internal("smb2j", NES_SMB2J);
|
device.option_add_internal("smb2j", NES_SMB2J);
|
||||||
device.option_add_internal("smb2ja", NES_SMB2JA);
|
device.option_add_internal("smb2ja", NES_SMB2JA);
|
||||||
device.option_add_internal("smb2jb", NES_SMB2JB);
|
device.option_add_internal("smb2jb", NES_SMB2JB);
|
||||||
|
device.option_add_internal("btl_0353", NES_0353); // used by Lucky (Roger) Rabbit FDS conversion
|
||||||
device.option_add_internal("09034a", NES_09034A);
|
device.option_add_internal("09034a", NES_09034A);
|
||||||
|
device.option_add_internal("palthena", NES_PALTHENA); // used by Palthena no Kagami FDS conversion
|
||||||
device.option_add_internal("tobidase", NES_TOBIDASE); // mapper 120
|
device.option_add_internal("tobidase", NES_TOBIDASE); // mapper 120
|
||||||
device.option_add_internal("mmalee2", NES_MMALEE); // mapper 55
|
device.option_add_internal("mmalee2", NES_MMALEE); // mapper 55
|
||||||
device.option_add_internal("unl_2708", NES_2708); // mapper 103
|
device.option_add_internal("unl_2708", NES_2708); // mapper 103
|
||||||
|
@ -205,7 +205,9 @@ static const nes_pcb pcb_list[] =
|
|||||||
{ "smb2j", UNL_SMB2J },
|
{ "smb2j", UNL_SMB2J },
|
||||||
{ "smb2ja", BTL_SMB2JA },
|
{ "smb2ja", BTL_SMB2JA },
|
||||||
{ "smb2jb", BTL_SMB2JB },
|
{ "smb2jb", BTL_SMB2JB },
|
||||||
|
{ "btl_0353", BTL_0353 },
|
||||||
{ "09034a", BTL_09034A },
|
{ "09034a", BTL_09034A },
|
||||||
|
{ "palthena", BTL_PALTHENA },
|
||||||
{ "tobidase", BTL_TOBIDASE }, // mapper 120
|
{ "tobidase", BTL_TOBIDASE }, // mapper 120
|
||||||
{ "dbz5", REXSOFT_DBZ5 },
|
{ "dbz5", REXSOFT_DBZ5 },
|
||||||
{ "sl1632", REXSOFT_SL1632 },
|
{ "sl1632", REXSOFT_SL1632 },
|
||||||
|
@ -111,7 +111,7 @@ enum
|
|||||||
/* Bootleg boards */
|
/* Bootleg boards */
|
||||||
BTL_SMB2JA, BTL_MARIOBABY, BTL_AISENSHINICOL, BTL_TOBIDASE,
|
BTL_SMB2JA, BTL_MARIOBABY, BTL_AISENSHINICOL, BTL_TOBIDASE,
|
||||||
BTL_SMB2JB, BTL_09034A, BTL_SMB3, BTL_SBROS11, BTL_DRAGONNINJA,
|
BTL_SMB2JB, BTL_09034A, BTL_SMB3, BTL_SBROS11, BTL_DRAGONNINJA,
|
||||||
BTL_PIKACHUY2K, BTL_SHUIGUAN,
|
BTL_PIKACHUY2K, BTL_SHUIGUAN, BTL_0353, BTL_PALTHENA,
|
||||||
/* Kaiser */
|
/* Kaiser */
|
||||||
KAISER_KS202, KAISER_KS7010, KAISER_KS7012, KAISER_KS7013B,
|
KAISER_KS202, KAISER_KS7010, KAISER_KS7012, KAISER_KS7013B,
|
||||||
KAISER_KS7016, KAISER_KS7017, KAISER_KS7022, KAISER_KS7030,
|
KAISER_KS7016, KAISER_KS7017, KAISER_KS7022, KAISER_KS7030,
|
||||||
|
@ -72,7 +72,7 @@ void nes_state::machine_start()
|
|||||||
// install additional handlers (read_h, read_ex, write_ex)
|
// install additional handlers (read_h, read_ex, write_ex)
|
||||||
if (m_cartslot->get_pcb_id() == STD_EXROM || m_cartslot->get_pcb_id() == STD_NROM368 || m_cartslot->get_pcb_id() == STD_DISKSYS
|
if (m_cartslot->get_pcb_id() == STD_EXROM || m_cartslot->get_pcb_id() == STD_NROM368 || m_cartslot->get_pcb_id() == STD_DISKSYS
|
||||||
|| m_cartslot->get_pcb_id() == GG_NROM || m_cartslot->get_pcb_id() == CAMERICA_ALADDIN || m_cartslot->get_pcb_id() == SUNSOFT_DCS
|
|| m_cartslot->get_pcb_id() == GG_NROM || m_cartslot->get_pcb_id() == CAMERICA_ALADDIN || m_cartslot->get_pcb_id() == SUNSOFT_DCS
|
||||||
|| m_cartslot->get_pcb_id() == BANDAI_DATACH || m_cartslot->get_pcb_id() == BANDAI_KARAOKE || m_cartslot->get_pcb_id() == UNL_2A03PURITANS || m_cartslot->get_pcb_id() == AVE_MAXI15
|
|| m_cartslot->get_pcb_id() == BANDAI_DATACH || m_cartslot->get_pcb_id() == BANDAI_KARAOKE || m_cartslot->get_pcb_id() == UNL_2A03PURITANS || m_cartslot->get_pcb_id() == AVE_MAXI15 || m_cartslot->get_pcb_id() == BTL_PALTHENA
|
||||||
|| m_cartslot->get_pcb_id() == KAISER_KS7010 || m_cartslot->get_pcb_id() == KAISER_KS7022 || m_cartslot->get_pcb_id() == KAISER_KS7030 || m_cartslot->get_pcb_id() == KAISER_KS7031 || m_cartslot->get_pcb_id() == KAISER_KS7037 || m_cartslot->get_pcb_id() == KAISER_KS7057 || m_cartslot->get_pcb_id() == BMC_VT5201
|
|| m_cartslot->get_pcb_id() == KAISER_KS7010 || m_cartslot->get_pcb_id() == KAISER_KS7022 || m_cartslot->get_pcb_id() == KAISER_KS7030 || m_cartslot->get_pcb_id() == KAISER_KS7031 || m_cartslot->get_pcb_id() == KAISER_KS7037 || m_cartslot->get_pcb_id() == KAISER_KS7057 || m_cartslot->get_pcb_id() == BMC_VT5201
|
||||||
|| m_cartslot->get_pcb_id() == UNL_LH32 || m_cartslot->get_pcb_id() == UNL_LH10 || m_cartslot->get_pcb_id() == UNL_2708 || m_cartslot->get_pcb_id() == UNL_RT01
|
|| m_cartslot->get_pcb_id() == UNL_LH32 || m_cartslot->get_pcb_id() == UNL_LH10 || m_cartslot->get_pcb_id() == UNL_2708 || m_cartslot->get_pcb_id() == UNL_RT01
|
||||||
|| m_cartslot->get_pcb_id() == UNL_43272 || m_cartslot->get_pcb_id() == BMC_G63IN1 || m_cartslot->get_pcb_id() == BMC_8157
|
|| m_cartslot->get_pcb_id() == UNL_43272 || m_cartslot->get_pcb_id() == BMC_G63IN1 || m_cartslot->get_pcb_id() == BMC_8157
|
||||||
|
Loading…
Reference in New Issue
Block a user