(MESS) nes_jy: Fixed a silly mistake and improved a little bit the

emulation of JY Company PCBs (mappers 90, 209 & 211). It's still
too glicthy to be promoted to working state, but you can now see
how Super Mario Wolrd, Contra Spirits, Donkey Kong Country 4 
and Tiny Toons Adventures 6 were like. nw.
This commit is contained in:
Fabio Priuli 2014-02-22 10:07:37 +00:00
parent 86e3a689e9
commit 78a59e6524
3 changed files with 62 additions and 35 deletions

View File

@ -59297,7 +59297,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="popeye2" supported="no">
<software name="popeye2" supported="partial">
<description>Popeye 2 - Travels In Persia ~ Aladdin III (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -59346,7 +59346,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="aladdinc" cloneof="aladdin" supported="no">
<software name="aladdinc" cloneof="aladdin" supported="partial">
<description>Aladdin (Asia, Alt 2)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -59646,7 +59646,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="chinarb" cloneof="mmania7" supported="no">
<software name="chinarb" cloneof="mmania7" supported="partial">
<description>China Rabbit Baby (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -59678,7 +59678,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="contrasp" supported="no">
<software name="contrasp" supported="partial">
<description>Contra Spirits (Asia, Newer)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -59694,7 +59694,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="contraspa" cloneof="contrasp" supported="no">
<software name="contraspa" cloneof="contrasp" supported="partial">
<description>Contra Spirits (Asia, Newer, Alt)</description>
<year>1996</year>
<publisher>&lt;unknown&gt;</publisher>
@ -59710,7 +59710,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="contraspb" cloneof="contrasp" supported="no">
<software name="contraspb" cloneof="contrasp" supported="partial">
<description>Contra Spirits (Asia)</description>
<year>1995</year>
<publisher>&lt;unknown&gt;</publisher>
@ -59727,7 +59727,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="contraspc" cloneof="contrasp" supported="no">
<software name="contraspc" cloneof="contrasp" supported="partial">
<description>Contra Spirits (Asia, Alt)</description>
<year>1995</year>
<publisher>&lt;unknown&gt;</publisher>
@ -59743,7 +59743,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="contraspd" cloneof="contrasp" supported="no">
<software name="contraspd" cloneof="contrasp" supported="partial">
<description>Contra Spirits (Asia, Alt 2)</description>
<year>1995</year>
<publisher>&lt;unknown&gt;</publisher>
@ -59848,7 +59848,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="dkongc4" supported="no">
<software name="dkongc4" supported="partial">
<description>Donkey Kong Country 4 ~ The Jungle Book 2 (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -60201,7 +60201,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="ffight3" supported="no">
<software name="ffight3" supported="partial">
<description>Final Fight 3 (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -60217,7 +60217,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="ffight3a" cloneof="ffight3" supported="no">
<software name="ffight3a" cloneof="ffight3" supported="partial">
<description>Final Fight 3 (Asia, Alt)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -60794,7 +60794,7 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
</part>
</software>
<software name="mmania7" supported="no">
<software name="mmania7" supported="partial">
<description>Mickey Mania 7</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -61549,7 +61549,7 @@ We don't include these hacks because they were not burned into real carts nor so
</part>
</software>
<software name="smw" supported="no">
<software name="smw" supported="partial">
<description>Super Mario World (Ripped from multicart)</description>
<year>19??</year>
<publisher>&lt;pirate&gt;</publisher>
@ -61565,7 +61565,7 @@ We don't include these hacks because they were not burned into real carts nor so
</part>
</software>
<software name="smwb" cloneof="smw" supported="no">
<software name="smwb" cloneof="smw" supported="partial">
<description>Super Mario World (Asia, Alt 2)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -61581,7 +61581,7 @@ We don't include these hacks because they were not burned into real carts nor so
</part>
</software>
<software name="smwa" cloneof="smw" supported="no">
<software name="smwa" cloneof="smw" supported="partial">
<description>Super Mario World (Asia, Alt)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -61664,7 +61664,7 @@ We don't include these hacks because they were not burned into real carts nor so
</part>
</software>
<software name="ttoons6" supported="no">
<software name="ttoons6" supported="partial">
<description>Tiny Toon Adventures 6 (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -69151,7 +69151,7 @@ Other
</part>
</software>
<software name="aladretj" cloneof="astyanax" supported="no">
<software name="aladretj" cloneof="astyanax" supported="partial">
<description>Aladdin - The Return of Jaffar (The Lord of King pirate)</description>
<year>19??</year>
<publisher>&lt;pirate&gt;</publisher>
@ -70114,7 +70114,7 @@ resulting in tons of glitches? -->
</part>
</software>
<software name="tysonpoh" cloneof="tysonpo" supported="no">
<software name="tysonpoh" cloneof="tysonpo" supported="partial">
<description>Mike Tyson's Punch-Out!! (Pirate)</description>
<year>19??</year>
<publisher>J. Y. Company</publisher>
@ -72740,7 +72740,7 @@ be better to redump them properly. -->
</part>
</software>
<software name="mk2b" supported="no">
<software name="mk2b" supported="partial">
<description>Mortal Kombat 2 (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -72821,7 +72821,7 @@ be better to redump them properly. -->
</part>
</software>
<software name="mk3sp56" supported="no">
<software name="mk3sp56" supported="partial">
<description>Mortal Kombat 3 - Special 56 Peoples (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -72987,7 +72987,7 @@ be better to redump them properly. -->
</software>
<!-- These two might have been ripped from a 2-in-1 MK cart... to be investigated later... -->
<software name="mk2sp" supported="no">
<software name="mk2sp" supported="partial">
<description>Mortal Kombat II Special (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -73020,7 +73020,7 @@ be better to redump them properly. -->
</part>
</software>
<software name="mk3sp" supported="no">
<software name="mk3sp" supported="partial">
<description>Mortal Kombat III Special (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -73100,7 +73100,7 @@ be better to redump them properly. -->
</part>
</software>
<software name="pr3" supported="no">
<software name="pr3" supported="partial">
<description>Power Rangers III (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -73116,7 +73116,7 @@ be better to redump them properly. -->
</part>
</software>
<software name="pr4" supported="no">
<software name="pr4" supported="partial">
<description>Power Rangers IV (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -73149,7 +73149,7 @@ be better to redump them properly. -->
</part>
</software>
<software name="ssamsho2" supported="no">
<software name="ssamsho2" supported="partial">
<description>Shin Samurai Spirits 2 - Haoumaru Jigoku Hen (Chi)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -73508,7 +73508,7 @@ be better to redump them properly. -->
</part>
</software>
<software name="tekken2" supported="no">
<software name="tekken2" supported="partial">
<description>Tekken 2 (Asia)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -75713,7 +75713,7 @@ be better to redump them properly. -->
</part>
</software>
<software name="mc_45" supported="no">
<software name="mc_45" supported="partial">
<description>45 in 1 (JY-120A)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -75729,14 +75729,14 @@ be better to redump them properly. -->
</part>
</software>
<software name="mc_45a" cloneof="mc_45" supported="no">
<software name="mc_45a" cloneof="mc_45" supported="partial">
<description>45 in 1 (JY-120A, Fixed?)</description>
<year>19??</year>
<publisher>&lt;pirate&gt;</publisher>
<part name="cart" interface="nes_cart">
<feature name="slot" value="jyc_a" />
<feature name="slot" value="jyc_c" />
<feature name="pcb" value="JYCOMPANY-A" />
<dataarea name="chr" size="2088960">
<dataarea name="chr" size="2097152">
<rom name="45 in 1 (jy-120a) (unl).chr" size="2088960" crc="d597100b" sha1="b2ba00ff5d4a049e6acdae5df0bb44a884e55507" offset="00000" status="baddump" />
</dataarea>
<dataarea name="prg" size="2097152">

View File

@ -20,9 +20,10 @@ public:
virtual DECLARE_READ8_MEMBER(read_m);
virtual DECLARE_WRITE8_MEMBER(write_l);
virtual DECLARE_WRITE8_MEMBER(write_h);
virtual DECLARE_READ8_MEMBER(chr_r);
virtual DECLARE_READ8_MEMBER(nt_r);
virtual void hblank_irq(int scanline, int vblank, int blanked);
virtual void scanline_irq(int scanline, int vblank, int blanked);
virtual void pcb_reset();
@ -31,8 +32,6 @@ protected:
void update_banks(int reg);
void update_prg();
void update_chr();
void update_chr_latches(); // 4KB mode updates in a more complicate way...
void update_extra_chr();
void update_mirror_typea();
virtual void update_mirror() { update_mirror_typea(); }
inline UINT8 unscramble(UINT8 bank);
@ -40,7 +39,7 @@ protected:
UINT8 m_mul[2];
UINT8 m_latch;
UINT8 m_reg[4];
UINT8 m_chr_latch[2];
UINT8 m_chr_latch[2]; // type C uses a more complex CHR 4K mode, and these vars are only changed for those games
UINT8 m_mmc_prg_bank[4];
UINT16 m_mmc_nt_bank[4];
UINT16 m_mmc_vrom_bank[8];
@ -84,9 +83,11 @@ public:
// construction/destruction
nes_jy_typec_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual DECLARE_READ8_MEMBER(chr_r);
protected:
void update_mirror_typec();
virtual void update_mirror() { update_mirror_typeb(); }
virtual void update_mirror() { update_mirror_typec(); }
};

View File

@ -307,6 +307,30 @@ void sns_sa1_device::dma_cctype1_transfer(address_space &space)
void sns_sa1_device::dma_cctype2_transfer(address_space &space)
{
UINT32 address = m_dst_addr & 0x07ff;
int base = (m_dma_line & 1) ? 8 : 0; // use either regs 0-7 or 8-15
int depth, bpp;
depth = m_dma_ccparam & 0x03;
if (depth > 2) depth = 2;
bpp = 2 << (2 - depth);
address &= ~((1 << (7 - depth)) - 1);
address += (m_dma_line & 8) * bpp;
address += (m_dma_line & 7) * 2;
for (int byte = 0; byte < bpp; byte++)
{
UINT8 output = 0;
for (int bit = 0; bit < 8; bit++)
output |= BIT(m_brf_reg[base + bit], byte) << (7 - bit);
write_iram(address + ((byte & 6) << 3) + (byte & 1), output);
}
m_dma_line++;
m_dma_line &= 0x0f;
}
UINT8 sns_sa1_device::read_regs(address_space &space, UINT32 offset)
@ -629,6 +653,8 @@ void sns_sa1_device::write_regs(address_space &space, UINT32 offset, UINT8 data)
// SA-1 DCNT 00h DMA Control (W)
// printf("%02x to SA-1 DMA control\n", data);
m_dma_ctrl = data;
if (!BIT(m_dma_ctrl, 7))
m_dma_line = 0;
break;
case 0x031:
// Both CDMA 00h Character Conversion DMA Parameters (W)