Beispiel #1
0
UINT8 tms34061_device::xypixel_r(address_space &space, int offset)
{
	/* determine the offset, then adjust it */
	offs_t pixeloffs = m_regs[TMS34061_XYADDRESS];
	if (offset)
		adjust_xyaddress(offset);

	/* adjust for the upper bits */
	pixeloffs |= (m_regs[TMS34061_XYOFFSET] & 0x0f00) << 8;

	/* mask to the VRAM size */
	pixeloffs &= m_vrammask;

	/* return the result */
	return m_vram[pixeloffs];
}
Beispiel #2
0
static UINT8 xypixel_r(int offset)
{
    /* determine the offset, then adjust it */
    offs_t pixeloffs = tms34061.regs[TMS34061_XYADDRESS];
    if (offset)
        adjust_xyaddress(offset);

    /* adjust for the upper bits */
    pixeloffs |= (tms34061.regs[TMS34061_XYOFFSET] & 0x0f00) << 8;

    /* mask to the VRAM size */
    pixeloffs &= tms34061.vrammask;

    /* return the result */
    return tms34061.vram[pixeloffs];
}
Beispiel #3
0
static void xypixel_w(int offset, UINT8 data)
{
    /* determine the offset, then adjust it */
    offs_t pixeloffs = tms34061.regs[TMS34061_XYADDRESS];
    if (offset)
        adjust_xyaddress(offset);

    /* adjust for the upper bits */
    pixeloffs |= (tms34061.regs[TMS34061_XYOFFSET] & 0x0f00) << 8;

    /* mask to the VRAM size */
    pixeloffs &= tms34061.vrammask;

    /* set the pixel data */
    tms34061.vram[pixeloffs] = data;
    tms34061.latchram[pixeloffs] = tms34061.latchdata;
}
Beispiel #4
0
void tms34061_device::xypixel_w(address_space &space, int offset, UINT8 data)
{
	/* determine the offset, then adjust it */
	offs_t pixeloffs = m_regs[TMS34061_XYADDRESS];
	if (offset)
		adjust_xyaddress(offset);

	/* adjust for the upper bits */
	pixeloffs |= (m_regs[TMS34061_XYOFFSET] & 0x0f00) << 8;

	/* mask to the VRAM size */
	pixeloffs &= m_vrammask;
	if (VERBOSE) logerror("%s:tms34061 xy (%04x) = %02x/%02x\n", space.machine().describe_context(), pixeloffs, data, m_latchdata);

	/* set the pixel data */
	m_vram[pixeloffs] = data;
	m_latchram[pixeloffs] = m_latchdata;
}