mirror of
https://github.com/holub/mame
synced 2025-05-08 23:31:54 +03:00
Removed bogus AM_SHARE for paletteram
This commit is contained in:
parent
4ff2daf1bf
commit
39e73d5495
@ -464,13 +464,15 @@ static void chcolor(palette_device &palette, pen_t color, UINT16 data)
|
|||||||
palette.set_pen_color(color, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
|
palette.set_pen_color(color, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE32_MEMBER(model2_state::pal32_w)
|
WRITE16_MEMBER(model2_state::model2_palette_w)
|
||||||
{
|
{
|
||||||
COMBINE_DATA(m_paletteram32 + offset);
|
COMBINE_DATA(&m_palram[offset]);
|
||||||
if(ACCESSING_BITS_0_15)
|
chcolor(m_palette, offset, m_palram[offset]);
|
||||||
chcolor(m_palette, offset * 2, m_paletteram32[offset]);
|
}
|
||||||
if(ACCESSING_BITS_16_31)
|
|
||||||
chcolor(m_palette, offset * 2 + 1, m_paletteram32[offset] >> 16);
|
READ16_MEMBER(model2_state::model2_palette_r)
|
||||||
|
{
|
||||||
|
return m_palram[offset];
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE32_MEMBER(model2_state::ctrl0_w)
|
WRITE32_MEMBER(model2_state::ctrl0_w)
|
||||||
@ -1512,7 +1514,7 @@ static ADDRESS_MAP_START( model2_base_mem, AS_PROGRAM, 32, model2_state )
|
|||||||
AM_RANGE(0x01070000, 0x01070003) AM_WRITENOP AM_MIRROR(0x100000) // Video synchronization switch
|
AM_RANGE(0x01070000, 0x01070003) AM_WRITENOP AM_MIRROR(0x100000) // Video synchronization switch
|
||||||
AM_RANGE(0x01080000, 0x010fffff) AM_DEVREADWRITE("tile", segas24_tile, char32_r, char32_w) AM_MIRROR(0x100000)
|
AM_RANGE(0x01080000, 0x010fffff) AM_DEVREADWRITE("tile", segas24_tile, char32_r, char32_w) AM_MIRROR(0x100000)
|
||||||
|
|
||||||
AM_RANGE(0x01800000, 0x01803fff) AM_RAM_WRITE(pal32_w) AM_SHARE("paletteram32")
|
AM_RANGE(0x01800000, 0x01803fff) AM_READWRITE16(model2_palette_r,model2_palette_w,0xffffffff)
|
||||||
AM_RANGE(0x01810000, 0x0181bfff) AM_RAM AM_SHARE("colorxlat")
|
AM_RANGE(0x01810000, 0x0181bfff) AM_RAM AM_SHARE("colorxlat")
|
||||||
AM_RANGE(0x0181c000, 0x0181c003) AM_WRITE(model2_3d_zclip_w)
|
AM_RANGE(0x0181c000, 0x0181c003) AM_WRITE(model2_3d_zclip_w)
|
||||||
AM_RANGE(0x01a10000, 0x01a1ffff) AM_READWRITE(network_r, network_w)
|
AM_RANGE(0x01a10000, 0x01a1ffff) AM_READWRITE(network_r, network_w)
|
||||||
|
@ -16,7 +16,6 @@ public:
|
|||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_workram(*this, "workram"),
|
m_workram(*this, "workram"),
|
||||||
m_bufferram(*this, "bufferram"),
|
m_bufferram(*this, "bufferram"),
|
||||||
m_paletteram32(*this, "paletteram32"),
|
|
||||||
m_colorxlat(*this, "colorxlat"),
|
m_colorxlat(*this, "colorxlat"),
|
||||||
m_textureram0(*this, "textureram0"),
|
m_textureram0(*this, "textureram0"),
|
||||||
m_textureram1(*this, "textureram1"),
|
m_textureram1(*this, "textureram1"),
|
||||||
@ -37,7 +36,7 @@ public:
|
|||||||
|
|
||||||
required_shared_ptr<UINT32> m_workram;
|
required_shared_ptr<UINT32> m_workram;
|
||||||
required_shared_ptr<UINT32> m_bufferram;
|
required_shared_ptr<UINT32> m_bufferram;
|
||||||
required_shared_ptr<UINT32> m_paletteram32;
|
UINT16 *m_palram;
|
||||||
required_shared_ptr<UINT32> m_colorxlat;
|
required_shared_ptr<UINT32> m_colorxlat;
|
||||||
required_shared_ptr<UINT32> m_textureram0;
|
required_shared_ptr<UINT32> m_textureram0;
|
||||||
required_shared_ptr<UINT32> m_textureram1;
|
required_shared_ptr<UINT32> m_textureram1;
|
||||||
@ -113,7 +112,8 @@ public:
|
|||||||
DECLARE_CUSTOM_INPUT_MEMBER(rchase2_devices_r);
|
DECLARE_CUSTOM_INPUT_MEMBER(rchase2_devices_r);
|
||||||
DECLARE_READ32_MEMBER(timers_r);
|
DECLARE_READ32_MEMBER(timers_r);
|
||||||
DECLARE_WRITE32_MEMBER(timers_w);
|
DECLARE_WRITE32_MEMBER(timers_w);
|
||||||
DECLARE_WRITE32_MEMBER(pal32_w);
|
DECLARE_READ16_MEMBER(model2_palette_r);
|
||||||
|
DECLARE_WRITE16_MEMBER(model2_palette_w);
|
||||||
DECLARE_WRITE32_MEMBER(ctrl0_w);
|
DECLARE_WRITE32_MEMBER(ctrl0_w);
|
||||||
DECLARE_WRITE32_MEMBER(analog_2b_w);
|
DECLARE_WRITE32_MEMBER(analog_2b_w);
|
||||||
DECLARE_READ32_MEMBER(fifoctl_r);
|
DECLARE_READ32_MEMBER(fifoctl_r);
|
||||||
|
@ -2713,6 +2713,9 @@ VIDEO_START_MEMBER(model2_state,model2)
|
|||||||
|
|
||||||
/* initialize the geometry engine */
|
/* initialize the geometry engine */
|
||||||
geo_init( machine(), (UINT32*)memregion("user2")->base() );
|
geo_init( machine(), (UINT32*)memregion("user2")->base() );
|
||||||
|
|
||||||
|
/* init various video-related pointers */
|
||||||
|
m_palram = auto_alloc_array_clear(machine(), UINT16, 0x2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT32 model2_state::screen_update_model2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
UINT32 model2_state::screen_update_model2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||||
@ -2733,7 +2736,7 @@ UINT32 model2_state::screen_update_model2(screen_device &screen, bitmap_rgb32 &b
|
|||||||
/* tell the rasterizer we're starting a frame */
|
/* tell the rasterizer we're starting a frame */
|
||||||
model2_3d_frame_start(this);
|
model2_3d_frame_start(this);
|
||||||
|
|
||||||
/* let the geometry engine do it's thing */
|
/* let the geometry engine do it's thing */ /* TODO: don't do it here! */
|
||||||
geo_parse(this);
|
geo_parse(this);
|
||||||
|
|
||||||
/* have the rasterizer output the frame */
|
/* have the rasterizer output the frame */
|
||||||
|
@ -67,7 +67,6 @@ static void MODEL2_FUNC_NAME(void *dest, INT32 scanline, const poly_extent *exte
|
|||||||
const UINT16 *colortable_g = (const UINT16 *)&state->m_colorxlat[0x4000/4];
|
const UINT16 *colortable_g = (const UINT16 *)&state->m_colorxlat[0x4000/4];
|
||||||
const UINT16 *colortable_b = (const UINT16 *)&state->m_colorxlat[0x8000/4];
|
const UINT16 *colortable_b = (const UINT16 *)&state->m_colorxlat[0x8000/4];
|
||||||
const UINT16 *lumaram = (const UINT16 *)state->m_lumaram.target();
|
const UINT16 *lumaram = (const UINT16 *)state->m_lumaram.target();
|
||||||
const UINT16 *palram = (const UINT16 *)state->m_paletteram32.target();
|
|
||||||
UINT32 lumabase = extra->lumabase;
|
UINT32 lumabase = extra->lumabase;
|
||||||
UINT32 color = extra->colorbase;
|
UINT32 color = extra->colorbase;
|
||||||
UINT8 luma;
|
UINT8 luma;
|
||||||
@ -81,7 +80,7 @@ static void MODEL2_FUNC_NAME(void *dest, INT32 scanline, const poly_extent *exte
|
|||||||
|
|
||||||
luma = lumaram[BYTE_XOR_LE(lumabase + (0xf << 3))] & 0x3F;
|
luma = lumaram[BYTE_XOR_LE(lumabase + (0xf << 3))] & 0x3F;
|
||||||
|
|
||||||
color = palram[BYTE_XOR_LE(color + 0x1000)] & 0x7fff;
|
color = state->m_palram[BYTE_XOR_LE(color + 0x1000)] & 0x7fff;
|
||||||
|
|
||||||
colortable_r += ((color >> 0) & 0x1f) << 8;
|
colortable_r += ((color >> 0) & 0x1f) << 8;
|
||||||
colortable_g += ((color >> 5) & 0x1f) << 8;
|
colortable_g += ((color >> 5) & 0x1f) << 8;
|
||||||
@ -123,7 +122,6 @@ static void MODEL2_FUNC_NAME(void *dest, INT32 scanline, const poly_extent *exte
|
|||||||
const UINT16 *colortable_g = (const UINT16 *)&state->m_colorxlat[0x4000/4];
|
const UINT16 *colortable_g = (const UINT16 *)&state->m_colorxlat[0x4000/4];
|
||||||
const UINT16 *colortable_b = (const UINT16 *)&state->m_colorxlat[0x8000/4];
|
const UINT16 *colortable_b = (const UINT16 *)&state->m_colorxlat[0x8000/4];
|
||||||
const UINT16 *lumaram = (const UINT16 *)state->m_lumaram.target();
|
const UINT16 *lumaram = (const UINT16 *)state->m_lumaram.target();
|
||||||
const UINT16 *palram = (const UINT16 *)state->m_paletteram32.target();
|
|
||||||
UINT32 colorbase = extra->colorbase;
|
UINT32 colorbase = extra->colorbase;
|
||||||
UINT32 lumabase = extra->lumabase;
|
UINT32 lumabase = extra->lumabase;
|
||||||
UINT32 tex_x = extra->texx;
|
UINT32 tex_x = extra->texx;
|
||||||
@ -143,7 +141,7 @@ static void MODEL2_FUNC_NAME(void *dest, INT32 scanline, const poly_extent *exte
|
|||||||
tex_x_mask = tex_width - 1;
|
tex_x_mask = tex_width - 1;
|
||||||
tex_y_mask = tex_height - 1;
|
tex_y_mask = tex_height - 1;
|
||||||
|
|
||||||
colorbase = palram[BYTE_XOR_LE(colorbase + 0x1000)] & 0x7fff;
|
colorbase = state->m_palram[BYTE_XOR_LE(colorbase + 0x1000)] & 0x7fff;
|
||||||
|
|
||||||
colortable_r += ((colorbase >> 0) & 0x1f) << 8;
|
colortable_r += ((colorbase >> 0) & 0x1f) << 8;
|
||||||
colortable_g += ((colorbase >> 5) & 0x1f) << 8;
|
colortable_g += ((colorbase >> 5) & 0x1f) << 8;
|
||||||
|
Loading…
Reference in New Issue
Block a user