tatsumi.c: fix generic_paletteram regression (nw)

This commit is contained in:
Alex W. Jackson 2014-04-24 18:16:57 +00:00
parent b112d3261d
commit ea7464bd5b
4 changed files with 6 additions and 45 deletions

View File

@ -165,11 +165,6 @@ WRITE16_MEMBER(tatsumi_state::cyclwarr_cpu_bb_w)
COMBINE_DATA(&m_cyclwarr_cpub_ram[offset]);
}
READ16_MEMBER(tatsumi_state::cyclwarr_palette_r)
{
return m_generic_paletteram_16[offset];
}
READ16_MEMBER(tatsumi_state::cyclwarr_sprite_r)
{
return m_spriteram[offset];
@ -218,7 +213,7 @@ WRITE16_MEMBER(tatsumi_state::cyclwarr_sound_w)
static ADDRESS_MAP_START( apache3_v30_map, AS_PROGRAM, 16, tatsumi_state )
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0x04000, 0x07fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x08000, 0x08fff) AM_RAM_WRITE(apache3_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x08000, 0x08fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x0c000, 0x0dfff) AM_RAM_WRITE(roundup5_text_w) AM_SHARE("videoram")
AM_RANGE(0x0e800, 0x0e803) AM_WRITENOP // CRT
AM_RANGE(0x0f000, 0x0f001) AM_READ_PORT("DSW")
@ -317,7 +312,7 @@ static ADDRESS_MAP_START( cyclwarr_68000a_map, AS_PROGRAM, 16, tatsumi_state )
AM_RANGE(0x0ba008, 0x0ba009) AM_READWRITE(cyclwarr_control_r, cyclwarr_control_w)
AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_SHARE("spriteram")
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w) AM_SHARE("sprite_ctlram")
AM_RANGE(0x0d0000, 0x0d3fff) AM_READ(cyclwarr_palette_r) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x140000, 0x1bffff) AM_ROMBANK("bank2") /* CPU B ROM */
AM_RANGE(0x2c0000, 0x33ffff) AM_ROMBANK("bank1") /* CPU A ROM */
ADDRESS_MAP_END
@ -338,7 +333,7 @@ static ADDRESS_MAP_START( cyclwarr_68000b_map, AS_PROGRAM, 16, tatsumi_state )
AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w)
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w)
AM_RANGE(0x0d0000, 0x0d3fff) AM_READ(cyclwarr_palette_r) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x140000, 0x1bffff) AM_ROMBANK("bank2") /* CPU B ROM */
AM_RANGE(0x2c0000, 0x33ffff) AM_ROMBANK("bank1") /* CPU A ROM */
ADDRESS_MAP_END
@ -373,7 +368,7 @@ static ADDRESS_MAP_START( bigfight_68000a_map, AS_PROGRAM, 16, tatsumi_state )
AM_RANGE(0x0ba008, 0x0ba009) AM_READWRITE(cyclwarr_control_r, cyclwarr_control_w)
AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_SHARE("spriteram")
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w) AM_SHARE("sprite_ctlram")
AM_RANGE(0x0d0000, 0x0d3fff) AM_READ(cyclwarr_palette_r) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x100000, 0x17ffff) AM_ROMBANK("bank2") /* CPU A ROM */
AM_RANGE(0x200000, 0x27ffff) AM_ROMBANK("bank1") /* CPU B ROM */
ADDRESS_MAP_END
@ -392,7 +387,7 @@ static ADDRESS_MAP_START( bigfight_68000b_map, AS_PROGRAM, 16, tatsumi_state )
AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w)
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w)
AM_RANGE(0x0d0000, 0x0d3fff) AM_READ(cyclwarr_palette_r) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x100000, 0x17ffff) AM_ROMBANK("bank2") /* CPU A ROM */
AM_RANGE(0x200000, 0x27ffff) AM_ROMBANK("bank1") /* CPU B ROM */
ADDRESS_MAP_END

View File

@ -79,7 +79,6 @@ public:
required_shared_ptr<UINT16> m_spriteram;
DECLARE_READ16_MEMBER(cyclwarr_cpu_bb_r);
DECLARE_WRITE16_MEMBER(cyclwarr_cpu_bb_w);
DECLARE_READ16_MEMBER(cyclwarr_palette_r);
DECLARE_READ16_MEMBER(cyclwarr_sprite_r);
DECLARE_WRITE16_MEMBER(cyclwarr_sprite_w);
DECLARE_WRITE16_MEMBER(bigfight_a20000_w);
@ -113,7 +112,6 @@ public:
DECLARE_READ16_MEMBER(roundup5_vram_r);
DECLARE_WRITE16_MEMBER(roundup5_vram_w);
DECLARE_WRITE16_MEMBER(roundup5_palette_w);
DECLARE_WRITE16_MEMBER(apache3_palette_w);
DECLARE_WRITE16_MEMBER(roundup5_text_w);
DECLARE_READ16_MEMBER(cyclwarr_videoram0_r);
DECLARE_READ16_MEMBER(cyclwarr_videoram1_r);
@ -146,7 +144,7 @@ public:
required_device<okim6295_device> m_oki;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
required_shared_ptr<UINT16> m_generic_paletteram_16;
optional_shared_ptr<UINT16> m_generic_paletteram_16;
};
/*----------- defined in machine/tatsumi.c -----------*/

View File

@ -346,8 +346,6 @@ READ8_MEMBER(tatsumi_state::tatsumi_hack_ym2151_r)
return r;
}
// Todo: Tatsumi self-test fails if OKI doesn't respond (when sound off).
// Mame really should emulate the OKI status reads even with Mame sound off.
READ8_MEMBER(tatsumi_state::tatsumi_hack_oki_r)
{
int r=m_oki->read(space,0);

View File

@ -79,36 +79,6 @@ bit 0: 3.9kOhm resistor
}
WRITE16_MEMBER(tatsumi_state::apache3_palette_w)
{
// static int hack=0;
COMBINE_DATA(&m_generic_paletteram_16[offset]);
// if (offset==0xbfe)
// hack++;
// if (hack>1)
// return;
/*
apache 3 schematics state
bit 4: 250
bit 3: 500
bit 2: 1k
bit 1: 2k
bit 0: 3.9kOhm resistor
*/
// logerror("PAL: %04x %02x\n",offset,data);
data = m_generic_paletteram_16[offset];
m_palette->set_pen_color(offset,pal5bit(data >> 10),pal5bit(data >> 5),pal5bit(data >> 0));
}
WRITE16_MEMBER(tatsumi_state::roundup5_text_w)
{
UINT16 *videoram = m_videoram;