YGV608 accessors are 8-bits not 16 (nw)

This commit is contained in:
angelosa 2017-06-28 01:39:07 +02:00
parent 1af7c7c0f3
commit 0dd8184ab5
3 changed files with 14 additions and 14 deletions

View File

@ -200,7 +200,7 @@ Some logic, resistors/caps/transistors, some connectors etc.
static ADDRESS_MAP_START( namcond1_map, AS_PROGRAM, 16, namcond1_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE("ygv608", ygv608_device, read, write)
AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE8("ygv608", ygv608_device, read, write, 0xff00)
AM_RANGE(0xa00000, 0xa00fff) AM_DEVREADWRITE8("at28c16", at28c16_device, read, write, 0xff00)
#ifdef MAME_DEBUG
AM_RANGE(0xb00000, 0xb00001) AM_DEVREAD("ygv608", ygv608_device, debug_trigger_r)
@ -214,7 +214,7 @@ static ADDRESS_MAP_START( abcheck_map, AS_PROGRAM, 16, namcond1_state )
AM_RANGE(0x600000, 0x607fff) AM_RAM AM_SHARE("zpr1")
AM_RANGE(0x608000, 0x60ffff) AM_RAM AM_SHARE("zpr2")
AM_RANGE(0x780000, 0x780001) AM_READ(printer_r)
AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE("ygv608", ygv608_device, read, write)
AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE8("ygv608", ygv608_device, read, write, 0xff00)
AM_RANGE(0xa00000, 0xa00fff) AM_DEVREADWRITE8("at28c16", at28c16_device, read, write, 0xff00)
#ifdef MAME_DEBUG
AM_RANGE(0xb00000, 0xb00001) AM_DEVREAD("ygv608", ygv608_device, debug_trigger_r)

View File

@ -1208,13 +1208,13 @@ uint32_t ygv608_device::update_screen(screen_device &screen, bitmap_ind16 &bitma
return 0;
}
READ16_MEMBER( ygv608_device::read )
READ8_MEMBER( ygv608_device::read )
{
static int p0_state = 0;
static int p3_state = 0;
static int pattern_name_base = 0; /* pattern name table base address */
int pn=0;
uint16_t data = 0;
uint8_t data = 0;
switch (offset)
{
@ -1299,14 +1299,14 @@ READ16_MEMBER( ygv608_device::read )
p0_state = 0;
pattern_name_base = 0;
}
return (data << 8);
return (data);
}
case 0x01: /* P#1 - sprite data port */
data = m_sprite_attribute_table.b[m_regs.s.saa];
if (m_regs.s.r2 & r2_saar)
m_regs.s.saa++;
return (data << 8);
return (data);
case 0x02: /* P#2 - scroll data port */
data = m_scroll_data_table[(m_regs.s.r2 & r2_b_a) >> 4][m_regs.s.sca];
@ -1317,7 +1317,7 @@ READ16_MEMBER( ygv608_device::read )
if (m_regs.s.sca == 0)
m_regs.s.r2 ^= r2_b_a;
}
return( data << 8 );
return( data );
case 0x03: /* P#3 - color palette data port */
data = m_colour_palette[m_regs.s.cc][p3_state];
@ -1327,7 +1327,7 @@ READ16_MEMBER( ygv608_device::read )
if( m_regs.s.r2 & r2_cpar)
m_regs.s.cc++;
}
return( data << 8 );
return( data );
case 0x04: /* P#4 - register data port */
{
@ -1344,7 +1344,7 @@ READ16_MEMBER( ygv608_device::read )
m_ports.s.p5 &= ~p5_rn;
m_ports.s.p5 |= regNum;
}
return (data << 8);
return (data );
}
case 0x05:
@ -1352,7 +1352,7 @@ READ16_MEMBER( ygv608_device::read )
case 0x06:
case 0x07:
return( (uint16_t)(m_ports.b[offset]) << 8 );
return( (uint8_t)(m_ports.b[offset]) );
default :
logerror( "unknown ygv608 register (%d)\n", offset );
@ -1362,14 +1362,14 @@ READ16_MEMBER( ygv608_device::read )
return( 0 );
}
WRITE16_MEMBER( ygv608_device::write )
WRITE8_MEMBER( ygv608_device::write )
{
static int p0_state = 0;
static int p3_state = 0;
static int pattern_name_base = 0; /* pattern name table base address */
int pn=0;
data = ( data >> 8 ) & 0xff;
//data = ( data >> 8 ) & 0xff;
switch (offset)
{

View File

@ -17,8 +17,8 @@ public:
// construction/destruction
ygv608_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_WRITE16_MEMBER( write );
DECLARE_READ16_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
DECLARE_READ8_MEMBER( read );
void set_gfxbank(uint8_t gfxbank);