mirror of
https://github.com/LIV2/WinUAE.git
synced 2025-12-06 00:12:52 +00:00
TMS34010 test fixes.
This commit is contained in:
parent
36a61eeb13
commit
83e908def0
@ -1046,7 +1046,7 @@ void FUNCTION_NAME(tms340x0_device::pixblt)(int src_is_linear, int dst_is_linear
|
||||
|
||||
/* fetch the initial source word */
|
||||
srcword = (this->*word_read)(*m_program, srcwordaddr++ << 1);
|
||||
srcword &= m_plane_mask_inv;
|
||||
//srcword &= m_plane_mask_inv;
|
||||
readwrites++;
|
||||
|
||||
/* fetch the initial dest word */
|
||||
@ -1066,7 +1066,7 @@ void FUNCTION_NAME(tms340x0_device::pixblt)(int src_is_linear, int dst_is_linear
|
||||
if (srcbit + BITS_PER_PIXEL > 16)
|
||||
{
|
||||
srcword |= (this->*word_read)(*m_program, srcwordaddr++ << 1) << 16;
|
||||
srcword &= m_plane_mask_inv;
|
||||
//srcword &= m_plane_mask_inv;
|
||||
readwrites++;
|
||||
}
|
||||
|
||||
@ -1421,7 +1421,7 @@ if ((daddr & (BITS_PER_PIXEL - 1)) != 0) osd_printf_debug("PIXBLT_R%d with odd d
|
||||
|
||||
/* fetch the initial source word */
|
||||
srcword = (this->*word_read)(*m_program, --swordaddr << 1);
|
||||
srcword &= m_plane_mask_inv;
|
||||
//srcword &= m_plane_mask_inv;
|
||||
srcmask = PIXEL_MASK << ((saddr - BITS_PER_PIXEL) & 15);
|
||||
|
||||
/* handle the right partial word */
|
||||
@ -1438,7 +1438,7 @@ if ((daddr & (BITS_PER_PIXEL - 1)) != 0) osd_printf_debug("PIXBLT_R%d with odd d
|
||||
if (srcmask == 0)
|
||||
{
|
||||
srcword = (this->*word_read)(*m_program, --swordaddr << 1);
|
||||
srcword &= m_plane_mask_inv;
|
||||
//srcword &= m_plane_mask_inv;
|
||||
srcmask = PIXEL_MASK << (16 - BITS_PER_PIXEL);
|
||||
}
|
||||
|
||||
@ -1487,7 +1487,7 @@ if ((daddr & (BITS_PER_PIXEL - 1)) != 0) osd_printf_debug("PIXBLT_R%d with odd d
|
||||
if (srcmask == 0)
|
||||
{
|
||||
srcword = (this->*word_read)(*m_program, --swordaddr << 1);
|
||||
srcword &= m_plane_mask_inv;
|
||||
//srcword &= m_plane_mask_inv;
|
||||
srcmask = PIXEL_MASK << (16 - BITS_PER_PIXEL);
|
||||
}
|
||||
|
||||
@ -1532,7 +1532,7 @@ if ((daddr & (BITS_PER_PIXEL - 1)) != 0) osd_printf_debug("PIXBLT_R%d with odd d
|
||||
if (srcmask == 0)
|
||||
{
|
||||
srcword = (this->*word_read)(*m_program, --swordaddr << 1);
|
||||
srcword &= m_plane_mask_inv;
|
||||
//srcword &= m_plane_mask_inv;
|
||||
srcmask = PIXEL_MASK << (16 - BITS_PER_PIXEL);
|
||||
}
|
||||
|
||||
@ -1686,7 +1686,7 @@ void FUNCTION_NAME(tms340x0_device::pixblt_b)(int dst_is_linear)
|
||||
|
||||
/* fetch the initial source word */
|
||||
srcword = (this->*word_read)(*m_program, swordaddr++ << 1);
|
||||
srcword &= m_plane_mask_inv;
|
||||
//srcword &= m_plane_mask_inv;
|
||||
srcmask = 1 << (saddr & 15);
|
||||
|
||||
/* handle the left partial word */
|
||||
@ -1711,7 +1711,7 @@ void FUNCTION_NAME(tms340x0_device::pixblt_b)(int dst_is_linear)
|
||||
if (srcmask == 0)
|
||||
{
|
||||
srcword = (this->*word_read)(*m_program, swordaddr++ << 1);
|
||||
srcword &= m_plane_mask_inv;
|
||||
//srcword &= m_plane_mask_inv;
|
||||
srcmask = 0x0001;
|
||||
}
|
||||
|
||||
@ -1749,7 +1749,7 @@ void FUNCTION_NAME(tms340x0_device::pixblt_b)(int dst_is_linear)
|
||||
if (srcmask == 0)
|
||||
{
|
||||
srcword = (this->*word_read)(*m_program, swordaddr++ << 1);
|
||||
srcword &= m_plane_mask_inv;
|
||||
//srcword &= m_plane_mask_inv;
|
||||
srcmask = 0x0001;
|
||||
}
|
||||
|
||||
@ -1784,7 +1784,7 @@ void FUNCTION_NAME(tms340x0_device::pixblt_b)(int dst_is_linear)
|
||||
if (srcmask == 0)
|
||||
{
|
||||
srcword = (this->*word_read)(*m_program, swordaddr++ << 1);
|
||||
srcword &= m_plane_mask_inv;
|
||||
//srcword &= m_plane_mask_inv;
|
||||
srcmask = 0x0001;
|
||||
}
|
||||
|
||||
|
||||
@ -1568,21 +1568,17 @@ WRITE16_MEMBER( tms340x0_device::host_w )
|
||||
/* upper 16 bits of the address */
|
||||
case TMS34010_HOST_ADDRESS_H:
|
||||
IOREG(REG_HSTADRH) = data;
|
||||
// !LBL && !INCW
|
||||
if (!(hstctlh & 0x2000) && !(hstctlh & 0x0800)) {
|
||||
addr = (IOREG(REG_HSTADRH) << 16) | IOREG(REG_HSTADRL);
|
||||
m_prefetch_data = TMS34010_RDMEM_WORD(TOBYTE(addr & 0xfffffff0));
|
||||
}
|
||||
addr = (IOREG(REG_HSTADRH) << 16) | IOREG(REG_HSTADRL);
|
||||
m_prefetch_data = TMS34010_RDMEM_WORD(TOBYTE(addr & 0xfffffff0));
|
||||
break;
|
||||
|
||||
/* lower 16 bits of the address */
|
||||
case TMS34010_HOST_ADDRESS_L:
|
||||
IOREG(REG_HSTADRL) = data;
|
||||
// LBL && !INCW
|
||||
if ((hstctlh & 0x2000) && !(hstctlh & 0x0800)) {
|
||||
addr = (IOREG(REG_HSTADRH) << 16) | IOREG(REG_HSTADRL);
|
||||
m_prefetch_data = TMS34010_RDMEM_WORD(TOBYTE(addr & 0xfffffff0));
|
||||
}
|
||||
#if 0
|
||||
addr = (IOREG(REG_HSTADRH) << 16) | IOREG(REG_HSTADRL);
|
||||
m_prefetch_data = TMS34010_RDMEM_WORD(TOBYTE(addr & 0xfffffff0));
|
||||
#endif
|
||||
break;
|
||||
|
||||
/* actual data */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user