mirror of
https://github.com/holub/mame
synced 2025-06-07 13:23:50 +03:00
namcos22: no need for parentheses when bitshift has higher precendece,
namcos23: copy over simpler gfxlayout from namcos22
This commit is contained in:
parent
d5d2481478
commit
dad2f0c855
@ -2012,7 +2012,7 @@ void namcos22_state::namcos22_dspram16_w(offs_t offset, u16 data, u16 mem_mask)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_polygonram[offset] = (hi << 16) | lo;
|
m_polygonram[offset] = hi << 16 | lo;
|
||||||
}
|
}
|
||||||
|
|
||||||
void namcos22_state::namcos22_dspram16_bank_w(offs_t offset, u16 data, u16 mem_mask)
|
void namcos22_state::namcos22_dspram16_bank_w(offs_t offset, u16 data, u16 mem_mask)
|
||||||
@ -2080,7 +2080,7 @@ u16 namcos22_state::point_loword_r()
|
|||||||
u16 namcos22_state::point_hiword_ir()
|
u16 namcos22_state::point_hiword_ir()
|
||||||
{
|
{
|
||||||
// high bit is unknown busy signal (ridgerac, ridgera2, raverace, cybrcomm)
|
// high bit is unknown busy signal (ridgerac, ridgera2, raverace, cybrcomm)
|
||||||
const u16 ret = 0x8000 | ((point_read(m_point_address) >> 16) & 0x00ff);
|
const u16 ret = 0x8000 | (point_read(m_point_address) >> 16 & 0x00ff);
|
||||||
if (!machine().side_effects_disabled())
|
if (!machine().side_effects_disabled())
|
||||||
m_point_address++;
|
m_point_address++;
|
||||||
|
|
||||||
@ -2495,7 +2495,7 @@ u16 namcos22_state::dsp_slave_port5_r()
|
|||||||
#if 0
|
#if 0
|
||||||
int numWords = SlaveBufSize();
|
int numWords = SlaveBufSize();
|
||||||
int mode = 2;
|
int mode = 2;
|
||||||
return (numWords<<4) | mode;
|
return numWords << 4 | mode;
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -2782,7 +2782,7 @@ void namcos22_state::handle_driving_io()
|
|||||||
{
|
{
|
||||||
const u16 flags = m_inputs->read();
|
const u16 flags = m_inputs->read();
|
||||||
u16 steer = m_adc_ports[0]->read();
|
u16 steer = m_adc_ports[0]->read();
|
||||||
u16 gas = m_adc_ports[1]->read();
|
u16 gas = m_adc_ports[1]->read();
|
||||||
u16 brake = m_adc_ports[2]->read();
|
u16 brake = m_adc_ports[2]->read();
|
||||||
|
|
||||||
switch (m_gametype)
|
switch (m_gametype)
|
||||||
@ -3575,12 +3575,6 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
/*********************************************************************************************/
|
/*********************************************************************************************/
|
||||||
|
|
||||||
/* System Super22 supports a sprite layer.
|
|
||||||
* Sprites are rendered as part of the polygon draw list, based on a per-sprite Z attribute.
|
|
||||||
* Each sprite has explicit placement/color/zoom controls.
|
|
||||||
*/
|
|
||||||
static GFXLAYOUT_RAW(sprite_layout, 32, 32, 32*8, 32*32*8)
|
|
||||||
|
|
||||||
/* text layer uses a set of 16x16x4bpp tiles defined in RAM */
|
/* text layer uses a set of 16x16x4bpp tiles defined in RAM */
|
||||||
#define XOR(a) WORD2_XOR_BE(a)
|
#define XOR(a) WORD2_XOR_BE(a)
|
||||||
static const gfx_layout namcos22_cg_layout =
|
static const gfx_layout namcos22_cg_layout =
|
||||||
@ -3597,6 +3591,12 @@ static const gfx_layout namcos22_cg_layout =
|
|||||||
|
|
||||||
#undef XOR
|
#undef XOR
|
||||||
|
|
||||||
|
/* System Super22 supports a sprite layer.
|
||||||
|
* Sprites are rendered as part of the polygon draw list, based on a per-sprite Z attribute.
|
||||||
|
* Each sprite has explicit placement/color/zoom controls.
|
||||||
|
*/
|
||||||
|
static GFXLAYOUT_RAW(sprite_layout, 32, 32, 32*8, 32*32*8)
|
||||||
|
|
||||||
static GFXDECODE_START( gfx_namcos22 )
|
static GFXDECODE_START( gfx_namcos22 )
|
||||||
GFXDECODE_ENTRY( nullptr, 0, namcos22_cg_layout, 0, 0x800 )
|
GFXDECODE_ENTRY( nullptr, 0, namcos22_cg_layout, 0, 0x800 )
|
||||||
GFXDECODE_ENTRY( "textile", 0, gfx_16x16x8_raw, 0, 0x80 )
|
GFXDECODE_ENTRY( "textile", 0, gfx_16x16x8_raw, 0, 0x80 )
|
||||||
|
@ -83,9 +83,9 @@ void namcos22_renderer::renderscanline_poly(int32_t scanline, const extent_t &ex
|
|||||||
{
|
{
|
||||||
const int tx = int(u * ooz) & 0xfff;
|
const int tx = int(u * ooz) & 0xfff;
|
||||||
const int ty = (int(v * ooz) & 0xfff) | bn;
|
const int ty = (int(v * ooz) & 0xfff) | bn;
|
||||||
const int to = ((ty << 4) & 0xfff00) | (tx >> 4);
|
const int to = (ty << 4 & 0xfff00) | (tx >> 4);
|
||||||
pen = ttdata[(ttmap[to] << 8) | tt_ayx_to_pixel[(ttattr[to] << 8) | ((ty << 4) & 0xf0) | (tx & 0xf)]];
|
pen = ttdata[(ttmap[to] << 8) | tt_ayx_to_pixel[(ttattr[to] << 8) | (ty << 4 & 0xf0) | (tx & 0xf)]];
|
||||||
rgb.set(pens[(pen >> penshift) & penmask]);
|
rgb.set(pens[pen >> penshift & penmask]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
rgb.set(0, 0xff, 0xff, 0xff);
|
rgb.set(0, 0xff, 0xff, 0xff);
|
||||||
@ -176,9 +176,9 @@ void namcos22_renderer::renderscanline_poly_ss22(int32_t scanline, const extent_
|
|||||||
{
|
{
|
||||||
const int tx = int(u * ooz) & 0xfff;
|
const int tx = int(u * ooz) & 0xfff;
|
||||||
const int ty = (int(v * ooz) & 0xfff) | bn;
|
const int ty = (int(v * ooz) & 0xfff) | bn;
|
||||||
const int to = ((ty << 4) & 0xfff00) | (tx >> 4);
|
const int to = (ty << 4 & 0xfff00) | (tx >> 4);
|
||||||
pen = ttdata[(ttmap[to] << 8) | tt_ayx_to_pixel[(ttattr[to] << 8) | ((ty << 4) & 0xf0) | (tx & 0xf)]];
|
pen = ttdata[(ttmap[to] << 8) | tt_ayx_to_pixel[(ttattr[to] << 8) | (ty << 4 & 0xf0) | (tx & 0xf)]];
|
||||||
rgb.set(pens[(pen >> penshift) & penmask]);
|
rgb.set(pens[pen >> penshift & penmask]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
rgb.set(0, 0xff, 0xff, 0xff);
|
rgb.set(0, 0xff, 0xff, 0xff);
|
||||||
@ -697,7 +697,7 @@ float namcos22_state::dspfloat_to_nativefloat(u32 val)
|
|||||||
{
|
{
|
||||||
const s16 mantissa = (s16)val;
|
const s16 mantissa = (s16)val;
|
||||||
float result = (float)mantissa;
|
float result = (float)mantissa;
|
||||||
int exponent = (val >> 16) & 0x3f;
|
int exponent = val >> 16 & 0x3f;
|
||||||
while (exponent < 0x2e)
|
while (exponent < 0x2e)
|
||||||
{
|
{
|
||||||
result /= 2.0f;
|
result /= 2.0f;
|
||||||
@ -864,7 +864,7 @@ void namcos22_state::draw_direct_poly(const u16 *src)
|
|||||||
node->data.quad.texturebank = (src[1 + 4] & 0xf000) >> 12;
|
node->data.quad.texturebank = (src[1 + 4] & 0xf000) >> 12;
|
||||||
}
|
}
|
||||||
node->data.quad.color = (src[2] & 0xff00) >> 8;
|
node->data.quad.color = (src[2] & 0xff00) >> 8;
|
||||||
node->data.quad.cz_value = (src[3] >> 2) & 0x1fff;
|
node->data.quad.cz_value = src[3] >> 2 & 0x1fff;
|
||||||
node->data.quad.cz_type = src[3] & 3;
|
node->data.quad.cz_type = src[3] & 3;
|
||||||
node->data.quad.cz_adjust = 0;
|
node->data.quad.cz_adjust = 0;
|
||||||
node->data.quad.objectflags = 0;
|
node->data.quad.objectflags = 0;
|
||||||
@ -1068,12 +1068,12 @@ void namcos22_state::blit_single_quad(u32 color, u32 addr, float m[4][4], int po
|
|||||||
else if (packetformat & 0x40)
|
else if (packetformat & 0x40)
|
||||||
{
|
{
|
||||||
// gourad shading
|
// gourad shading
|
||||||
bri = (point_read(i + addr) >> 16) & 0xff;
|
bri = point_read(i + addr) >> 16 & 0xff;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// flat shading
|
// flat shading
|
||||||
bri = (color >> 16) & 0xff;
|
bri = color >> 16 & 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
v[i].bri = bri;
|
v[i].bri = bri;
|
||||||
@ -1081,11 +1081,11 @@ void namcos22_state::blit_single_quad(u32 color, u32 addr, float m[4][4], int po
|
|||||||
|
|
||||||
// allocate quad
|
// allocate quad
|
||||||
struct namcos22_scenenode *node = m_poly->new_scenenode(machine(), zsort, NAMCOS22_SCENENODE_QUAD);
|
struct namcos22_scenenode *node = m_poly->new_scenenode(machine(), zsort, NAMCOS22_SCENENODE_QUAD);
|
||||||
node->data.quad.cmode = (v[0].u >> 12) & 0xf;
|
node->data.quad.cmode = v[0].u >> 12 & 0xf;
|
||||||
node->data.quad.texturebank = (v[0].v >> 12) & 0xf;
|
node->data.quad.texturebank = v[0].v >> 12 & 0xf;
|
||||||
node->data.quad.color = (color >> 8) & 0xff;
|
node->data.quad.color = color >> 8 & 0xff;
|
||||||
node->data.quad.cz_value = cz_value >> 8;
|
node->data.quad.cz_value = cz_value >> 8;
|
||||||
node->data.quad.cz_type = (flags >> 10) & 3;
|
node->data.quad.cz_type = flags >> 10 & 3;
|
||||||
node->data.quad.cz_adjust = m_cz_adjust;
|
node->data.quad.cz_adjust = m_cz_adjust;
|
||||||
node->data.quad.objectflags = m_objectflags;
|
node->data.quad.objectflags = m_objectflags;
|
||||||
|
|
||||||
@ -1282,14 +1282,14 @@ void namcos22_state::slavesim_handle_bb0003(const s32 *src)
|
|||||||
0000 7ffe 0000
|
0000 7ffe 0000
|
||||||
0000 0000 7ffe
|
0000 0000 7ffe
|
||||||
*/
|
*/
|
||||||
m_camera_ambient = (src[0x1] >> 16) & 0xffff;
|
m_camera_ambient = src[0x1] >> 16 & 0xffff;
|
||||||
m_camera_power = src[0x1] & 0xffff;
|
m_camera_power = src[0x1] & 0xffff;
|
||||||
|
|
||||||
m_camera_lx = dspfixed_to_nativefloat(src[0x2]);
|
m_camera_lx = dspfixed_to_nativefloat(src[0x2]);
|
||||||
m_camera_ly = dspfixed_to_nativefloat(src[0x3]);
|
m_camera_ly = dspfixed_to_nativefloat(src[0x3]);
|
||||||
m_camera_lz = dspfixed_to_nativefloat(src[0x4]);
|
m_camera_lz = dspfixed_to_nativefloat(src[0x4]);
|
||||||
|
|
||||||
m_absolute_priority = (src[0x3] >> 16) & 0xffff;
|
m_absolute_priority = src[0x3] >> 16 & 0xffff;
|
||||||
m_camera_vx = signed12(src[0x5] >> 16);
|
m_camera_vx = signed12(src[0x5] >> 16);
|
||||||
m_camera_vy = signed12(src[0x5] & 0xffff);
|
m_camera_vy = signed12(src[0x5] & 0xffff);
|
||||||
m_camera_zoom = dspfloat_to_nativefloat(src[0x6]);
|
m_camera_zoom = dspfloat_to_nativefloat(src[0x6]);
|
||||||
@ -1298,7 +1298,7 @@ void namcos22_state::slavesim_handle_bb0003(const s32 *src)
|
|||||||
m_camera_vu = dspfloat_to_nativefloat(src[0x9]) * m_camera_zoom - 0.5f;
|
m_camera_vu = dspfloat_to_nativefloat(src[0x9]) * m_camera_zoom - 0.5f;
|
||||||
m_camera_vd = dspfloat_to_nativefloat(src[0xa]) * m_camera_zoom - 0.5f;
|
m_camera_vd = dspfloat_to_nativefloat(src[0xa]) * m_camera_zoom - 0.5f;
|
||||||
|
|
||||||
m_reflection = (src[0x2] >> 16) & 0x30; // z too?
|
m_reflection = src[0x2] >> 16 & 0x30; // z too?
|
||||||
m_cullflip = (m_reflection == 0x10 || m_reflection == 0x20);
|
m_cullflip = (m_reflection == 0x10 || m_reflection == 0x20);
|
||||||
|
|
||||||
if (BIT(m_reflection, 4))
|
if (BIT(m_reflection, 4))
|
||||||
@ -1607,17 +1607,17 @@ void namcos22_state::draw_sprite_group(const u32 *src, const u32 *attr, int num_
|
|||||||
int ypos = (src[0] & 0xffff) - deltay;
|
int ypos = (src[0] & 0xffff) - deltay;
|
||||||
int sizex = src[1] >> 16;
|
int sizex = src[1] >> 16;
|
||||||
int sizey = src[1] & 0xffff;
|
int sizey = src[1] & 0xffff;
|
||||||
const int flipy = (src[2] >> 3) & 0x1;
|
const int flipy = BIT(src[2], 3);
|
||||||
int rows = src[2] & 0x7;
|
int rows = src[2] & 0x7;
|
||||||
const int linktype = (src[2] & 0x00ff0000) >> 16;
|
const int linktype = src[2] >> 16 & 0xff;
|
||||||
const int flipx = (src[2] >> 7) & 0x1;
|
const int flipx = BIT(src[2], 7);
|
||||||
int cols = (src[2] >> 4) & 0x7;
|
int cols = src[2] >> 4 & 0x7;
|
||||||
const u32 code = src[3];
|
const u32 code = src[3];
|
||||||
const int tile = code >> 16;
|
const int tile = code >> 16;
|
||||||
const int alpha = (code & 0xff00) >> 8;
|
const int alpha = code >> 8 & 0xff;
|
||||||
|
|
||||||
const u32 zcoord = attr[0] & 0x00ffffff;
|
const u32 zcoord = attr[0] & 0x00ffffff;
|
||||||
const int color = (attr[1] >> 16) & 0xff;
|
const int color = attr[1] >> 16 & 0xff;
|
||||||
const int cz = attr[1] & 0xff;
|
const int cz = attr[1] & 0xff;
|
||||||
|
|
||||||
// one of these is to override global fade setting?
|
// one of these is to override global fade setting?
|
||||||
@ -1628,7 +1628,7 @@ void namcos22_state::draw_sprite_group(const u32 *src, const u32 *attr, int num_
|
|||||||
const int prioverchar = (cz == 0xfe) ? 1 : 0;
|
const int prioverchar = (cz == 0xfe) ? 1 : 0;
|
||||||
|
|
||||||
// set window clipping
|
// set window clipping
|
||||||
const int clip = (src[2] >> 23) & 0xe;
|
const int clip = src[2] >> 23 & 0xe;
|
||||||
const int cx_min = -deltax + (s16)(m_spriteram[0x80|clip] >> 16);
|
const int cx_min = -deltax + (s16)(m_spriteram[0x80|clip] >> 16);
|
||||||
const int cx_max = -deltax + (s16)(m_spriteram[0x80|clip] & 0xffff);
|
const int cx_max = -deltax + (s16)(m_spriteram[0x80|clip] & 0xffff);
|
||||||
const int cy_min = -deltay + (s16)(m_spriteram[0x81|clip] >> 16);
|
const int cy_min = -deltay + (s16)(m_spriteram[0x81|clip] >> 16);
|
||||||
@ -1788,7 +1788,7 @@ void namcos22_state::draw_sprites()
|
|||||||
|
|
||||||
// where do the games store the number of sprites to be processed by vics???
|
// where do the games store the number of sprites to be processed by vics???
|
||||||
// the current default implementation (using spritelist size) is clearly wrong and causes problems in dirtdash and airco22b
|
// the current default implementation (using spritelist size) is clearly wrong and causes problems in dirtdash and airco22b
|
||||||
num_sprites = (m_vics_control[0x40/4] >> 4) & 0x1ff; // no +1
|
num_sprites = m_vics_control[0x40/4] >> 4 & 0x1ff; // no +1
|
||||||
|
|
||||||
// dirtdash sprite list starts at xxx4, number of sprites is stored in xxx0, it doesn't use set#2
|
// dirtdash sprite list starts at xxx4, number of sprites is stored in xxx0, it doesn't use set#2
|
||||||
if (m_gametype == NAMCOS22_DIRT_DASH)
|
if (m_gametype == NAMCOS22_DIRT_DASH)
|
||||||
@ -1801,7 +1801,7 @@ void namcos22_state::draw_sprites()
|
|||||||
draw_sprite_group(src, attr, num_sprites, deltax, deltay, y_lowres);
|
draw_sprite_group(src, attr, num_sprites, deltax, deltay, y_lowres);
|
||||||
}
|
}
|
||||||
|
|
||||||
num_sprites = (m_vics_control[0x60/4] >> 4) & 0x1ff; // no +1
|
num_sprites = m_vics_control[0x60/4] >> 4 & 0x1ff; // no +1
|
||||||
|
|
||||||
// airco22b number of sprites for set#2 is stored in set#1 - it does not use set 1, or main set for sprites
|
// airco22b number of sprites for set#2 is stored in set#1 - it does not use set 1, or main set for sprites
|
||||||
if (m_gametype == NAMCOS22_AIR_COMBAT22)
|
if (m_gametype == NAMCOS22_AIR_COMBAT22)
|
||||||
@ -1987,7 +1987,7 @@ u16 namcos22s_state::spotram_r(offs_t offset)
|
|||||||
if (offset == 2)
|
if (offset == 2)
|
||||||
{
|
{
|
||||||
// read
|
// read
|
||||||
const u16 ret = m_spotram[(m_spotram_address >> 1) & 0x7ff];
|
const u16 ret = m_spotram[m_spotram_address >> 1 & 0x7ff];
|
||||||
|
|
||||||
if (!machine().side_effects_disabled())
|
if (!machine().side_effects_disabled())
|
||||||
m_spotram_address += 2;
|
m_spotram_address += 2;
|
||||||
@ -2009,7 +2009,7 @@ void namcos22s_state::spotram_w(offs_t offset, u16 data, u16 mem_mask)
|
|||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
// write
|
// write
|
||||||
COMBINE_DATA(&m_spotram[(m_spotram_address >> 1) & 0x7ff]);
|
COMBINE_DATA(&m_spotram[m_spotram_address >> 1 & 0x7ff]);
|
||||||
m_spotram_address += 2;
|
m_spotram_address += 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -2039,7 +2039,7 @@ void namcos22s_state::namcos22s_mix_text_layer(screen_device &screen, bitmap_rgb
|
|||||||
// prepare spot
|
// prepare spot
|
||||||
const bool spot_enabled = BIT(m_spotram_enable, 0) && (m_chipselect & 0xc000);
|
const bool spot_enabled = BIT(m_spotram_enable, 0) && (m_chipselect & 0xc000);
|
||||||
const int spot_factor = (m_spot_factor < 0x100) ? 0 : m_spot_factor & 0xff;
|
const int spot_factor = (m_spot_factor < 0x100) ? 0 : m_spot_factor & 0xff;
|
||||||
const int spot_palbase = (m_text_palbase >> 8) & 3; // (src[x] >> 8) & 3
|
const int spot_palbase = m_text_palbase >> 8 & 3; // src[x] >> 8 & 3
|
||||||
|
|
||||||
// prepare fader
|
// prepare fader
|
||||||
const bool fade_enabled = BIT(m_mixer_flags, 1) && m_screen_fade_factor;
|
const bool fade_enabled = BIT(m_mixer_flags, 1) && m_screen_fade_factor;
|
||||||
@ -2160,7 +2160,7 @@ void namcos22_state::namcos22_mix_text_layer(screen_device &screen, bitmap_rgb32
|
|||||||
}
|
}
|
||||||
|
|
||||||
// apply gamma
|
// apply gamma
|
||||||
dest[x] = (rlut[(pixel >> 16) & 0xff] << 16) | (glut[(pixel >> 8) & 0xff] << 8) | blut[pixel & 0xff];
|
dest[x] = (rlut[pixel >> 16 & 0xff] << 16) | (glut[pixel >> 8 & 0xff] << 8) | blut[pixel & 0xff];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2540,8 +2540,8 @@ u32 namcos22s_state::screen_update_namcos22s(screen_device &screen, bitmap_rgb32
|
|||||||
for (int x = cliprect.left(); x <= cliprect.right(); x++)
|
for (int x = cliprect.left(); x <= cliprect.right(); x++)
|
||||||
{
|
{
|
||||||
const u32 rgb = dest[x];
|
const u32 rgb = dest[x];
|
||||||
const u8 r = rlut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ ((rgb >> 16) & 0xff)];
|
const u8 r = rlut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ (rgb >> 16 & 0xff)];
|
||||||
const u8 g = glut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ ((rgb >> 8) & 0xff)];
|
const u8 g = glut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ (rgb >> 8 & 0xff)];
|
||||||
const u8 b = blut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ (rgb & 0xff)];
|
const u8 b = blut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ (rgb & 0xff)];
|
||||||
dest[x] = (r << 16) | (g << 8) | b;
|
dest[x] = (r << 16) | (g << 8) | b;
|
||||||
}
|
}
|
||||||
|
@ -6050,28 +6050,6 @@ TIMER_CALLBACK_MEMBER(namcos23_gmen_state::sh2_irq_off)
|
|||||||
|
|
||||||
|
|
||||||
#define XOR(a) WORD2_XOR_BE(a)
|
#define XOR(a) WORD2_XOR_BE(a)
|
||||||
|
|
||||||
static const gfx_layout namcos23_sprite_layout =
|
|
||||||
{
|
|
||||||
32,32,
|
|
||||||
RGN_FRAC(1,1),
|
|
||||||
8,
|
|
||||||
{ 0,1,2,3,4,5,6,7 },
|
|
||||||
{
|
|
||||||
0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8,
|
|
||||||
8*8,9*8,10*8,11*8,12*8,13*8,14*8,15*8,
|
|
||||||
16*8,17*8,18*8,19*8,20*8,21*8,22*8,23*8,
|
|
||||||
24*8,25*8,26*8,27*8,28*8,29*8,30*8,31*8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
0*32*8,1*32*8,2*32*8,3*32*8,4*32*8,5*32*8,6*32*8,7*32*8,
|
|
||||||
8*32*8,9*32*8,10*32*8,11*32*8,12*32*8,13*32*8,14*32*8,15*32*8,
|
|
||||||
16*32*8,17*32*8,18*32*8,19*32*8,20*32*8,21*32*8,22*32*8,23*32*8,
|
|
||||||
24*32*8,25*32*8,26*32*8,27*32*8,28*32*8,29*32*8,30*32*8,31*32*8
|
|
||||||
},
|
|
||||||
32*32*8
|
|
||||||
};
|
|
||||||
|
|
||||||
static const gfx_layout namcos23_cg_layout =
|
static const gfx_layout namcos23_cg_layout =
|
||||||
{
|
{
|
||||||
16,16,
|
16,16,
|
||||||
@ -6084,43 +6062,19 @@ static const gfx_layout namcos23_cg_layout =
|
|||||||
64*16
|
64*16
|
||||||
}; /* cg_layout */
|
}; /* cg_layout */
|
||||||
|
|
||||||
static const gfx_layout namcos23_textile_layout =
|
#undef XOR
|
||||||
{
|
|
||||||
16,16,
|
|
||||||
RGN_FRAC(1,1),
|
|
||||||
8,
|
|
||||||
{ 0,1,2,3,4,5,6,7 },
|
|
||||||
{
|
|
||||||
0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8,8*8,9*8,10*8,11*8,12*8,13*8,14*8,15*8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
0*16*8,1*16*8,2*16*8,3*16*8,4*16*8,5*16*8,6*16*8,7*16*8,
|
|
||||||
8*16*8,9*16*8,10*16*8,11*16*8,12*16*8,13*16*8,14*16*8,15*16*8
|
|
||||||
},
|
|
||||||
16*16*8
|
|
||||||
}; /* textile_layout */
|
|
||||||
|
|
||||||
static const gfx_layout namcos23_texram_layout =
|
static GFXLAYOUT_RAW(namcos23_sprite_layout, 32, 32, 32*8, 32*32*8)
|
||||||
{
|
|
||||||
16,16,
|
|
||||||
0x400, /* 0x3c0 */
|
|
||||||
4,
|
|
||||||
{ 0,1,2,3 },
|
|
||||||
{ XOR(0)*4, XOR(1)*4, XOR(2)*4, XOR(3)*4, XOR(4)*4, XOR(5)*4, XOR(6)*4, XOR(7)*4,
|
|
||||||
XOR(8)*4, XOR(9)*4, XOR(10)*4, XOR(11)*4, XOR(12)*4, XOR(13)*4, XOR(14)*4, XOR(15)*4 },
|
|
||||||
{ 64*0,64*1,64*2,64*3,64*4,64*5,64*6,64*7,64*8,64*9,64*10,64*11,64*12,64*13,64*14,64*15 },
|
|
||||||
64*16
|
|
||||||
}; /* cg_layout */
|
|
||||||
|
|
||||||
static GFXDECODE_START( gfx_namcos23 )
|
static GFXDECODE_START( gfx_namcos23 )
|
||||||
GFXDECODE_ENTRY( nullptr, 0, namcos23_cg_layout, 0, 0x800 )
|
GFXDECODE_ENTRY( nullptr, 0, namcos23_cg_layout, 0, 0x800 )
|
||||||
GFXDECODE_ENTRY( "textile", 0, namcos23_textile_layout, 0, 0x80 )
|
GFXDECODE_ENTRY( "textile", 0, gfx_16x16x8_raw, 0, 0x80 )
|
||||||
GFXDECODE_END
|
GFXDECODE_END
|
||||||
|
|
||||||
static GFXDECODE_START( gfx_gorgon )
|
static GFXDECODE_START( gfx_gorgon )
|
||||||
GFXDECODE_ENTRY( nullptr, 0, namcos23_cg_layout, 0, 0x800 )
|
GFXDECODE_ENTRY( nullptr, 0, namcos23_cg_layout, 0, 0x800 )
|
||||||
GFXDECODE_ENTRY( "textile", 0, namcos23_textile_layout, 0, 0x80 )
|
GFXDECODE_ENTRY( "textile", 0, gfx_16x16x8_raw, 0, 0x80 )
|
||||||
GFXDECODE_ENTRY( "sprites", 0, namcos23_sprite_layout, 0, 0x80 )
|
GFXDECODE_ENTRY( "sprites", 0, namcos23_sprite_layout, 0, 0x80 )
|
||||||
GFXDECODE_END
|
GFXDECODE_END
|
||||||
|
|
||||||
void gorgon_state::gorgon(machine_config &config)
|
void gorgon_state::gorgon(machine_config &config)
|
||||||
|
Loading…
Reference in New Issue
Block a user