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 ) static ADDRESS_MAP_START( namcond1_map, AS_PROGRAM, 16, namcond1_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("shared_ram") 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) AM_RANGE(0xa00000, 0xa00fff) AM_DEVREADWRITE8("at28c16", at28c16_device, read, write, 0xff00)
#ifdef MAME_DEBUG #ifdef MAME_DEBUG
AM_RANGE(0xb00000, 0xb00001) AM_DEVREAD("ygv608", ygv608_device, debug_trigger_r) 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(0x600000, 0x607fff) AM_RAM AM_SHARE("zpr1")
AM_RANGE(0x608000, 0x60ffff) AM_RAM AM_SHARE("zpr2") AM_RANGE(0x608000, 0x60ffff) AM_RAM AM_SHARE("zpr2")
AM_RANGE(0x780000, 0x780001) AM_READ(printer_r) 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) AM_RANGE(0xa00000, 0xa00fff) AM_DEVREADWRITE8("at28c16", at28c16_device, read, write, 0xff00)
#ifdef MAME_DEBUG #ifdef MAME_DEBUG
AM_RANGE(0xb00000, 0xb00001) AM_DEVREAD("ygv608", ygv608_device, debug_trigger_r) 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; return 0;
} }
READ16_MEMBER( ygv608_device::read ) READ8_MEMBER( ygv608_device::read )
{ {
static int p0_state = 0; static int p0_state = 0;
static int p3_state = 0; static int p3_state = 0;
static int pattern_name_base = 0; /* pattern name table base address */ static int pattern_name_base = 0; /* pattern name table base address */
int pn=0; int pn=0;
uint16_t data = 0; uint8_t data = 0;
switch (offset) switch (offset)
{ {
@ -1299,14 +1299,14 @@ READ16_MEMBER( ygv608_device::read )
p0_state = 0; p0_state = 0;
pattern_name_base = 0; pattern_name_base = 0;
} }
return (data << 8); return (data);
} }
case 0x01: /* P#1 - sprite data port */ case 0x01: /* P#1 - sprite data port */
data = m_sprite_attribute_table.b[m_regs.s.saa]; data = m_sprite_attribute_table.b[m_regs.s.saa];
if (m_regs.s.r2 & r2_saar) if (m_regs.s.r2 & r2_saar)
m_regs.s.saa++; m_regs.s.saa++;
return (data << 8); return (data);
case 0x02: /* P#2 - scroll data port */ case 0x02: /* P#2 - scroll data port */
data = m_scroll_data_table[(m_regs.s.r2 & r2_b_a) >> 4][m_regs.s.sca]; 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) if (m_regs.s.sca == 0)
m_regs.s.r2 ^= r2_b_a; m_regs.s.r2 ^= r2_b_a;
} }
return( data << 8 ); return( data );
case 0x03: /* P#3 - color palette data port */ case 0x03: /* P#3 - color palette data port */
data = m_colour_palette[m_regs.s.cc][p3_state]; 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) if( m_regs.s.r2 & r2_cpar)
m_regs.s.cc++; m_regs.s.cc++;
} }
return( data << 8 ); return( data );
case 0x04: /* P#4 - register data port */ 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 &= ~p5_rn;
m_ports.s.p5 |= regNum; m_ports.s.p5 |= regNum;
} }
return (data << 8); return (data );
} }
case 0x05: case 0x05:
@ -1352,7 +1352,7 @@ READ16_MEMBER( ygv608_device::read )
case 0x06: case 0x06:
case 0x07: case 0x07:
return( (uint16_t)(m_ports.b[offset]) << 8 ); return( (uint8_t)(m_ports.b[offset]) );
default : default :
logerror( "unknown ygv608 register (%d)\n", offset ); logerror( "unknown ygv608 register (%d)\n", offset );
@ -1362,14 +1362,14 @@ READ16_MEMBER( ygv608_device::read )
return( 0 ); return( 0 );
} }
WRITE16_MEMBER( ygv608_device::write ) WRITE8_MEMBER( ygv608_device::write )
{ {
static int p0_state = 0; static int p0_state = 0;
static int p3_state = 0; static int p3_state = 0;
static int pattern_name_base = 0; /* pattern name table base address */ static int pattern_name_base = 0; /* pattern name table base address */
int pn=0; int pn=0;
data = ( data >> 8 ) & 0xff; //data = ( data >> 8 ) & 0xff;
switch (offset) switch (offset)
{ {

View File

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