mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
Namco System 23 texturing improvements + boot fix for aking (#12941)
New clones marked not working ----------------------------- Crisis Zone (World, CSZO2 Ver. B) [Guru] -namcos23.cpp: Improved texturing in Super System 23 games. [Ryan Holtz] * Added missing address-map setter.
This commit is contained in:
parent
88079a1bf3
commit
ae250c58d0
@ -110,20 +110,14 @@ c8000000:
|
||||
':maincpu' (801143E0): unmapped program memory write to 0C800010 = 00000000 & 0000FFFF
|
||||
|
||||
Game status:
|
||||
rapidrvr,v2c Glitchy graphics.
|
||||
rapidrvrp Same as above.
|
||||
finfurl Same as above.
|
||||
motoxgo(all) Glitchy graphics.
|
||||
downhill Extremely glitchy graphics.
|
||||
downhillu Same as above.
|
||||
timecrs2(all) Glitchy graphics but otherwise playable.
|
||||
panicprk,j,j2 Glitchy graphics. Coins up. Partly to fully playable depending on mini-game.
|
||||
gunwars,a Extremely glitchy graphics.
|
||||
all games: Glitchy graphics.
|
||||
downhill/u Extremely glitchy graphics.
|
||||
panicprk/j/j2 Some mini-games are not playable due to Z-sorting issues.
|
||||
gunwars/a Extremely glitchy graphics.
|
||||
raceon Locks up after POST.
|
||||
aking Locks up after displaying legal-notice screen or test menu. Inputs unresponsive.
|
||||
500gp Extremely glitchy graphics. Partly playable.
|
||||
finfurl2,j Glitchy graphics.
|
||||
crszone(all) Glitchy graphics.
|
||||
aking Inputs unresponsive.
|
||||
500gp Occasional lockups.
|
||||
crszone(all) Input issues.
|
||||
|
||||
****************************************************************************
|
||||
|
||||
@ -1446,6 +1440,8 @@ struct namcos23_render_entry
|
||||
int type;
|
||||
u16 absolute_priority;
|
||||
u16 model_blend_factor;
|
||||
u16 camera_power;
|
||||
u16 camera_ambient;
|
||||
u8 poly_fade_r;
|
||||
u8 poly_fade_g;
|
||||
u8 poly_fade_b;
|
||||
@ -1665,12 +1661,8 @@ public:
|
||||
m_lamps(*this, "lamp%u", 0U)
|
||||
{ }
|
||||
|
||||
void ss23(machine_config &config);
|
||||
void s23(machine_config &config);
|
||||
void timecrs2(machine_config &config);
|
||||
void timecrs2v4a(machine_config &config);
|
||||
void _500gp(machine_config &config);
|
||||
void aking(machine_config &config);
|
||||
void downhill(machine_config &config);
|
||||
void panicprk(machine_config &config);
|
||||
|
||||
@ -1814,6 +1806,8 @@ protected:
|
||||
void c435_scaling_set();
|
||||
void c435_model_blend_factor_set();
|
||||
void c435_absolute_priority_set();
|
||||
void c435_camera_power_set();
|
||||
void c435_camera_ambient_set();
|
||||
void c435_render();
|
||||
void c435_flush();
|
||||
|
||||
@ -1906,6 +1900,8 @@ protected:
|
||||
|
||||
u16 m_absolute_priority;
|
||||
u16 m_model_blend_factor;
|
||||
u16 m_camera_power;
|
||||
u16 m_camera_ambient;
|
||||
float m_proj_matrix[8*3];
|
||||
u8 m_proj_matrix_line;
|
||||
|
||||
@ -2077,11 +2073,30 @@ protected:
|
||||
u16 m_sensor[4];
|
||||
};
|
||||
|
||||
class namcos23_gmen_state : public namcos23_state
|
||||
class namcoss23_state : public namcos23_state
|
||||
{
|
||||
public:
|
||||
namcos23_gmen_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
namcos23_state(mconfig, type, tag),
|
||||
namcoss23_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
namcos23_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void ss23(machine_config &config);
|
||||
void timecrs2v4a(machine_config &config);
|
||||
void _500gp(machine_config &config);
|
||||
void aking(machine_config &config);
|
||||
|
||||
protected:
|
||||
void mips_map(address_map &map) ATTR_COLD;
|
||||
|
||||
private:
|
||||
void c435_c361_ack_w(offs_t offset, u32 data);
|
||||
};
|
||||
|
||||
class namcoss23_gmen_state : public namcoss23_state
|
||||
{
|
||||
public:
|
||||
namcoss23_gmen_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
namcoss23_state(mconfig, type, tag),
|
||||
m_sh2(*this, "sh2"),
|
||||
m_vpx(*this, "vpx"),
|
||||
m_firewire(*this, "firewire"),
|
||||
@ -2091,8 +2106,8 @@ public:
|
||||
|
||||
void gmen(machine_config &config);
|
||||
void gunwars(machine_config &config);
|
||||
void finfurl2(machine_config &config);
|
||||
void raceon(machine_config &config);
|
||||
void finfurl2(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override ATTR_COLD;
|
||||
@ -2129,11 +2144,11 @@ private:
|
||||
u32 m_sh2_unk;
|
||||
};
|
||||
|
||||
class crszone_state : public namcos23_state
|
||||
class crszone_state : public namcoss23_state
|
||||
{
|
||||
public:
|
||||
crszone_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
namcos23_state(mconfig, type, tag),
|
||||
namcoss23_state(mconfig, type, tag),
|
||||
m_acia(*this, "acia")
|
||||
{ }
|
||||
|
||||
@ -2642,6 +2657,8 @@ void namcos23_state::c435_state_set(u16 type, const u16 *param)
|
||||
re->fade_flags = m_c404.fade_flags;
|
||||
re->absolute_priority = m_absolute_priority;
|
||||
re->model_blend_factor = 0;
|
||||
re->camera_power = m_camera_power;
|
||||
re->camera_ambient = m_camera_ambient;
|
||||
if (m_c435.buffer[0] == 0x4f38)
|
||||
{
|
||||
re->immediate.type = param[ 0];
|
||||
@ -2719,6 +2736,8 @@ void namcos23_state::c435_state_set(u16 type, const u16 *param)
|
||||
re->type = IMMEDIATE;
|
||||
re->absolute_priority = m_absolute_priority;
|
||||
re->model_blend_factor = 0;
|
||||
re->camera_power = m_camera_power;
|
||||
re->camera_ambient = m_camera_ambient;
|
||||
/*
|
||||
3-e0: 1110 0000, has shade+tex+pos
|
||||
3-a0: 1010 0000, has tex+pos
|
||||
@ -2797,6 +2816,8 @@ void namcos23_state::c435_state_set(u16 type, const u16 *param)
|
||||
re->type = IMMEDIATE;
|
||||
re->absolute_priority = m_absolute_priority;
|
||||
re->model_blend_factor = 0;
|
||||
re->camera_power = m_camera_power;
|
||||
re->camera_ambient = m_camera_ambient;
|
||||
re->immediate.type = param[ 0];
|
||||
re->immediate.h = (param[ 1] << 16) | param[ 2];
|
||||
re->immediate.pal = (param[ 3] << 16) | param[ 4];
|
||||
@ -2870,14 +2891,24 @@ void namcos23_state::c435_state_set() // 4.f
|
||||
c435_state_set(m_c435.buffer[1], m_c435.buffer + 2);
|
||||
}
|
||||
|
||||
void namcos23_state::c435_absolute_priority_set() // 4.1
|
||||
{
|
||||
m_absolute_priority = m_c435.buffer[1];
|
||||
}
|
||||
|
||||
void namcos23_state::c435_model_blend_factor_set() // 4.5
|
||||
{
|
||||
m_model_blend_factor = m_c435.buffer[1];
|
||||
}
|
||||
|
||||
void namcos23_state::c435_absolute_priority_set() // 4.1
|
||||
void namcos23_state::c435_camera_power_set() // 4.7
|
||||
{
|
||||
m_absolute_priority = m_c435.buffer[1];
|
||||
m_camera_power = m_c435.buffer[1];
|
||||
}
|
||||
|
||||
void namcos23_state::c435_camera_ambient_set() // 4.8
|
||||
{
|
||||
m_camera_ambient = m_c435.buffer[1];
|
||||
}
|
||||
|
||||
void namcos23_state::c435_render() // 8
|
||||
@ -2907,6 +2938,8 @@ void namcos23_state::c435_render() // 8
|
||||
re->model.transpose = transpose;
|
||||
re->absolute_priority = m_absolute_priority;
|
||||
re->model_blend_factor = m_model_blend_factor;
|
||||
re->camera_power = m_camera_power;
|
||||
re->camera_ambient = m_camera_ambient;
|
||||
re->model.light_vector[0] = m_light_vector[0];
|
||||
re->model.light_vector[1] = m_light_vector[1];
|
||||
re->model.light_vector[2] = m_light_vector[2];
|
||||
@ -3018,6 +3051,12 @@ void namcos23_state::c435_pio_w(offs_t offset, u16 data)
|
||||
case 0x0500:
|
||||
c435_model_blend_factor_set();
|
||||
break;
|
||||
case 0x0700:
|
||||
c435_camera_power_set();
|
||||
break;
|
||||
case 0x0800:
|
||||
c435_camera_ambient_set();
|
||||
break;
|
||||
case 0x0f00:
|
||||
c435_state_set();
|
||||
break;
|
||||
@ -3182,6 +3221,11 @@ u32 namcos23_state::c435_busy_flag_r()
|
||||
return 1;
|
||||
}
|
||||
|
||||
void namcoss23_state::c435_c361_ack_w(offs_t offset, u32 data)
|
||||
{
|
||||
irq_update(m_main_irqcause & ~MAIN_C361_IRQ);
|
||||
}
|
||||
|
||||
void namcos23_state::c435_dma_addr_w(offs_t offset, u32 data, u32 mem_mask)
|
||||
{
|
||||
LOGMASKED(LOG_C435_REG, "%s: c435 write address: %08x & %08x\n", machine().describe_context(), data, mem_mask);
|
||||
@ -3480,8 +3524,8 @@ void namcos23_state::render_direct_poly(const namcos23_render_entry *re)
|
||||
p->rd.shade_enabled = true;
|
||||
p->rd.rgb = 0x00ffffff;
|
||||
p->rd.flags = flags;
|
||||
p->rd.tbase = (re->direct.d[2] & 0x000f) << 12;
|
||||
p->rd.cmode = (re->direct.d[2] & 0x00f0) >> 4;
|
||||
p->rd.tbase = ((re->direct.d[2] & 0x000f) << 12) | (BIT(re->direct.d[2], 7) << 16);
|
||||
p->rd.cmode = (re->direct.d[2] & 0x0070) >> 4;
|
||||
p->rd.cz_value = (re->direct.d[3] >> 2) & 0x1fff;
|
||||
p->rd.cz_type = re->direct.d[3] & 3;
|
||||
p->rd.prioverchar = ((p->rd.cmode & 7) == 1) ? 7 : 0;
|
||||
@ -3727,8 +3771,8 @@ void namcos23_state::render_model(const namcos23_render_entry *re)
|
||||
u32 type = data[offs++];
|
||||
u32 h = data[offs++];
|
||||
|
||||
u32 cmode = (type & 0xf0000000) >> 28;
|
||||
u32 tbase = ((type & 0x0f000000) >> 24) << 12;
|
||||
u32 cmode = (type & 0x70000000) >> 29;
|
||||
u32 tbase = (((type & 0x0f000000) >> 24) << 12) | (BIT(type, 31) << 16);
|
||||
u8 color = (h >> 24) & 0x7f;
|
||||
int lmode = (type >> 19) & 3;
|
||||
int ne = (type >> 8) & 15;
|
||||
@ -3830,27 +3874,21 @@ void namcos23_state::render_model(const namcos23_render_entry *re)
|
||||
nrz /= length;
|
||||
}
|
||||
|
||||
float light_vector[3] =
|
||||
{
|
||||
util::sext(re->model.light_vector[0], 24) / 16384.f,
|
||||
util::sext(re->model.light_vector[1], 24) / 16384.f,
|
||||
util::sext(re->model.light_vector[2], 24) / 16384.f
|
||||
};
|
||||
|
||||
length = sqrtf(light_vector[0] * light_vector[0] + light_vector[1] * light_vector[1] + light_vector[2] * light_vector[2]);
|
||||
float cx, cy, cz;
|
||||
render_apply_matrot(re->model.light_vector[0], re->model.light_vector[1], re->model.light_vector[2], re, cx, cy, cz);
|
||||
length = sqrtf(cx * cx + cy * cy + cz * cz);
|
||||
if (length != 0.0f)
|
||||
{
|
||||
light_vector[0] /= length;
|
||||
light_vector[1] /= length;
|
||||
light_vector[2] /= length;
|
||||
cx /= length;
|
||||
cy /= length;
|
||||
cz /= length;
|
||||
}
|
||||
|
||||
float lsi = nrx * light_vector[0] + nry * light_vector[1] + nrz * light_vector[2];
|
||||
float lsi = nrx * cx + nry * cy + nrz * cz;
|
||||
if (lsi < 0)
|
||||
lsi = 0;
|
||||
|
||||
// Mapping taken out of a hat
|
||||
pv[i].p[3] = std::clamp(16.f + 96.f * lsi, 0.f, 64.f);
|
||||
pv[i].p[3] = std::clamp(re->camera_ambient + re->camera_power * lsi, 0.f, 64.f);
|
||||
} break;
|
||||
}
|
||||
}
|
||||
@ -4455,7 +4493,7 @@ void namcos23_state::mix_text_layer(screen_device &screen, bitmap_rgb32 &bitmap,
|
||||
|
||||
// apply alpha
|
||||
if (m_c404.alpha_factor && ((pen & 0xf) == m_c404.alpha_mask || (pen >= m_c404.alpha_check12 && pen <= m_c404.alpha_check13)))
|
||||
rgb.blend(rgbaint_t(dst[x]), 0xff - m_c404.alpha_factor);
|
||||
rgb.blend(rgbaint_t(*dst), 0xff - m_c404.alpha_factor);
|
||||
|
||||
*dst = rgb.to_rgba();
|
||||
}
|
||||
@ -5043,7 +5081,9 @@ void namcos23_state::apply_text_scroll()
|
||||
|
||||
// apply current frame x scroll updates to tilemap
|
||||
for (int i = 0; i < 480; i++)
|
||||
{
|
||||
m_bgtilemap->set_scrollx((i + scroll_y + 4) & 0x3ff, m_c404.rowscroll[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void namcos23_state::c361_xscroll_w(offs_t offset, u16 data)
|
||||
@ -5547,9 +5587,15 @@ void namcos23_state::c404_map(address_map &map, const u32 addr)
|
||||
map(addr + 0x03e, addr + 0x03f).w(FUNC(namcos23_state::c404_layer_flags_w));
|
||||
}
|
||||
|
||||
void namcoss23_state::mips_map(address_map &map)
|
||||
{
|
||||
namcos23_state::mips_map(map);
|
||||
map(0x0100005c, 0x0100005f).w(FUNC(namcoss23_state::c435_c361_ack_w));
|
||||
}
|
||||
|
||||
// GMEN interface
|
||||
|
||||
u32 namcos23_gmen_state::sh2_trigger_r()
|
||||
u32 namcoss23_gmen_state::sh2_trigger_r()
|
||||
{
|
||||
LOGMASKED(LOG_SH2, "%s: sh2_trigger_r: booting SH-2\n", machine().describe_context());
|
||||
m_sh2->set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
|
||||
@ -5557,81 +5603,81 @@ u32 namcos23_gmen_state::sh2_trigger_r()
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 namcos23_gmen_state::sh2_shared_r(offs_t offset, u32 mem_mask)
|
||||
u32 namcoss23_gmen_state::sh2_shared_r(offs_t offset, u32 mem_mask)
|
||||
{
|
||||
return m_sh2_shared[offset];
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::sh2_shared_w(offs_t offset, u32 data, u32 mem_mask)
|
||||
void namcoss23_gmen_state::sh2_shared_w(offs_t offset, u32 data, u32 mem_mask)
|
||||
{
|
||||
COMBINE_DATA(&m_sh2_shared[offset]);
|
||||
}
|
||||
|
||||
u32 namcos23_gmen_state::sh2_dsw_r(offs_t offset, u32 mem_mask)
|
||||
u32 namcoss23_gmen_state::sh2_dsw_r(offs_t offset, u32 mem_mask)
|
||||
{
|
||||
return m_dsw->read() << 24;
|
||||
}
|
||||
|
||||
u32 namcos23_gmen_state::mips_sh2_unk_r(offs_t offset, u32 mem_mask)
|
||||
u32 namcoss23_gmen_state::mips_sh2_unk_r(offs_t offset, u32 mem_mask)
|
||||
{
|
||||
logerror("%s: mips_sh2_unk_r: %08x & %08x\n", machine().describe_context().c_str(), m_sh2_unk, mem_mask);
|
||||
return m_sh2_unk;
|
||||
}
|
||||
|
||||
u32 namcos23_gmen_state::sh2_unk_r(offs_t offset, u32 mem_mask)
|
||||
u32 namcoss23_gmen_state::sh2_unk_r(offs_t offset, u32 mem_mask)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::sh2_unk_w(offs_t offset, u32 data, u32 mem_mask)
|
||||
void namcoss23_gmen_state::sh2_unk_w(offs_t offset, u32 data, u32 mem_mask)
|
||||
{
|
||||
COMBINE_DATA(&m_sh2_unk);
|
||||
}
|
||||
|
||||
u32 namcos23_gmen_state::sh2_unk6200000_r(offs_t offset, u32 mem_mask)
|
||||
u32 namcoss23_gmen_state::sh2_unk6200000_r(offs_t offset, u32 mem_mask)
|
||||
{
|
||||
return 0x04000000;
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::vpx_i2c_sdao_w(int state)
|
||||
void namcoss23_gmen_state::vpx_i2c_sdao_w(int state)
|
||||
{
|
||||
m_vpx_sdao = state;
|
||||
}
|
||||
|
||||
u8 namcos23_gmen_state::vpx_i2c_r() {
|
||||
u8 namcoss23_gmen_state::vpx_i2c_r() {
|
||||
//LOGMASKED(LOG_GMEN, "%s: vpx_i2c_r: %02x\n", machine().describe_context().c_str(), m_vpx_sdao);
|
||||
return m_vpx_sdao;
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::vpx_i2c_w(u8 data) {
|
||||
void namcoss23_gmen_state::vpx_i2c_w(u8 data) {
|
||||
//LOGMASKED(LOG_GMEN, "%s: vpx_i2c_w: %02x\n", machine().describe_context().c_str(), data);
|
||||
m_vpx->sda_write(BIT(data, 0));
|
||||
m_vpx->scl_write(BIT(data, 1));
|
||||
}
|
||||
|
||||
u32 namcos23_gmen_state::sh2_kludge_r()
|
||||
u32 namcoss23_gmen_state::sh2_kludge_r()
|
||||
{
|
||||
return 0x22115566;
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::mips_map(address_map &map)
|
||||
void namcoss23_gmen_state::mips_map(address_map &map)
|
||||
{
|
||||
namcos23_state::mips_map(map);
|
||||
map(0x0e400000, 0x0e400003).r(FUNC(namcos23_gmen_state::sh2_trigger_r));
|
||||
map(0x0e600000, 0x0e600003).r(FUNC(namcos23_gmen_state::mips_sh2_unk_r));
|
||||
map(0x0e700000, 0x0e70ffff).rw(FUNC(namcos23_gmen_state::sh2_shared_r), FUNC(namcos23_gmen_state::sh2_shared_w));
|
||||
map(0x0e70c000, 0x0e70c003).r(FUNC(namcos23_gmen_state::sh2_kludge_r));
|
||||
namcoss23_state::mips_map(map);
|
||||
map(0x0e400000, 0x0e400003).r(FUNC(namcoss23_gmen_state::sh2_trigger_r));
|
||||
map(0x0e600000, 0x0e600003).r(FUNC(namcoss23_gmen_state::mips_sh2_unk_r));
|
||||
map(0x0e700000, 0x0e70ffff).rw(FUNC(namcoss23_gmen_state::sh2_shared_r), FUNC(namcoss23_gmen_state::sh2_shared_w));
|
||||
map(0x0e70c000, 0x0e70c003).r(FUNC(namcoss23_gmen_state::sh2_kludge_r));
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::sh2_map(address_map &map)
|
||||
void namcoss23_gmen_state::sh2_map(address_map &map)
|
||||
{
|
||||
map(0x00000000, 0x0000ffff).mirror(0x01000000).rw(FUNC(namcos23_gmen_state::sh2_shared_r), FUNC(namcos23_gmen_state::sh2_shared_w));
|
||||
map(0x00000000, 0x0000ffff).mirror(0x01000000).rw(FUNC(namcoss23_gmen_state::sh2_shared_r), FUNC(namcoss23_gmen_state::sh2_shared_w));
|
||||
map(0x04000000, 0x043fffff).ram(); // SH-2 main work RAM (SDRAM)
|
||||
map(0x01800000, 0x01bfffff).ram();
|
||||
map(0x02800000, 0x02800003).rw(FUNC(namcos23_gmen_state::sh2_unk_r), FUNC(namcos23_gmen_state::sh2_unk_w));
|
||||
map(0x03000000, 0x03000003).r(FUNC(namcos23_gmen_state::sh2_dsw_r));
|
||||
map(0x06000000, 0x06000003).umask32(0xff000000).rw(FUNC(namcos23_gmen_state::vpx_i2c_r), FUNC(namcos23_gmen_state::vpx_i2c_w));
|
||||
map(0x06200000, 0x06200003).r(FUNC(namcos23_gmen_state::sh2_unk6200000_r));
|
||||
map(0x02800000, 0x02800003).rw(FUNC(namcoss23_gmen_state::sh2_unk_r), FUNC(namcoss23_gmen_state::sh2_unk_w));
|
||||
map(0x03000000, 0x03000003).r(FUNC(namcoss23_gmen_state::sh2_dsw_r));
|
||||
map(0x06000000, 0x06000003).umask32(0xff000000).rw(FUNC(namcoss23_gmen_state::vpx_i2c_r), FUNC(namcoss23_gmen_state::vpx_i2c_w));
|
||||
map(0x06200000, 0x06200003).r(FUNC(namcoss23_gmen_state::sh2_unk6200000_r));
|
||||
//map(0x06600000, 0x06600003).nopw();
|
||||
map(0x00c00000, 0x00c0006b).m(m_firewire, FUNC(md8412b_device::map));
|
||||
}
|
||||
@ -5922,6 +5968,8 @@ void namcos23_state::machine_start()
|
||||
|
||||
save_item(NAME(m_absolute_priority));
|
||||
save_item(NAME(m_model_blend_factor));
|
||||
save_item(NAME(m_camera_power));
|
||||
save_item(NAME(m_camera_ambient));
|
||||
save_item(NAME(m_matrices));
|
||||
save_item(NAME(m_vectors));
|
||||
save_item(NAME(m_light_vector));
|
||||
@ -6022,15 +6070,15 @@ void gorgon_state::machine_reset()
|
||||
m_subcpu_scanline_off_timer->adjust(attotime::never);
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::machine_start()
|
||||
void namcoss23_gmen_state::machine_start()
|
||||
{
|
||||
namcos23_state::machine_start();
|
||||
|
||||
m_sh2_irq_timer = timer_alloc(FUNC(namcos23_gmen_state::sh2_irq_off), this);
|
||||
m_sh2_irq_timer = timer_alloc(FUNC(namcoss23_gmen_state::sh2_irq_off), this);
|
||||
save_item(NAME(m_vpx_sdao));
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::machine_reset()
|
||||
void namcoss23_gmen_state::machine_reset()
|
||||
{
|
||||
namcos23_state::machine_reset();
|
||||
|
||||
@ -6043,7 +6091,7 @@ void namcos23_gmen_state::machine_reset()
|
||||
m_vpx_sdao = 0;
|
||||
}
|
||||
|
||||
TIMER_CALLBACK_MEMBER(namcos23_gmen_state::sh2_irq_off)
|
||||
TIMER_CALLBACK_MEMBER(namcoss23_gmen_state::sh2_irq_off)
|
||||
{
|
||||
m_sh2->set_input_line(m_sh2_irq, CLEAR_LINE);
|
||||
m_sh2_irq = -1;
|
||||
@ -6263,57 +6311,58 @@ void namcos23_state::timecrs2(machine_config &config)
|
||||
m_jvs->set_default_option("namco_tssio");
|
||||
}
|
||||
|
||||
void namcos23_state::ss23(machine_config &config)
|
||||
void namcoss23_state::ss23(machine_config &config)
|
||||
{
|
||||
s23(config);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &namcoss23_state::mips_map);
|
||||
}
|
||||
|
||||
void namcos23_state::timecrs2v4a(machine_config &config)
|
||||
void namcoss23_state::timecrs2v4a(machine_config &config)
|
||||
{
|
||||
ss23(config);
|
||||
m_jvs->set_default_option("namco_tssio");
|
||||
}
|
||||
|
||||
void namcos23_state::_500gp(machine_config &config)
|
||||
void namcoss23_state::_500gp(machine_config &config)
|
||||
{
|
||||
ss23(config);
|
||||
m_jvs->set_default_option("namco_fca10");
|
||||
}
|
||||
|
||||
void namcos23_state::aking(machine_config &config)
|
||||
void namcoss23_state::aking(machine_config &config)
|
||||
{
|
||||
ss23(config);
|
||||
m_jvs->set_default_option("namco_fca10");
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::gmen(machine_config &config)
|
||||
void namcoss23_gmen_state::gmen(machine_config &config)
|
||||
{
|
||||
ss23(config);
|
||||
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &namcos23_gmen_state::mips_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &namcoss23_gmen_state::mips_map);
|
||||
|
||||
SH7604(config, m_sh2, XTAL(28'700'000));
|
||||
m_sh2->set_addrmap(AS_PROGRAM, &namcos23_gmen_state::sh2_map);
|
||||
m_sh2->set_addrmap(AS_PROGRAM, &namcoss23_gmen_state::sh2_map);
|
||||
|
||||
VPX3220A(config, m_vpx, 0);
|
||||
m_vpx->sda_callback().set(FUNC(namcos23_gmen_state::vpx_i2c_sdao_w));
|
||||
m_vpx->sda_callback().set(FUNC(namcoss23_gmen_state::vpx_i2c_sdao_w));
|
||||
|
||||
MD8412B(config, m_firewire, 0);
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::gunwars(machine_config &config)
|
||||
void namcoss23_gmen_state::gunwars(machine_config &config)
|
||||
{
|
||||
gmen(config);
|
||||
m_jvs->set_default_option("namco_asca5");
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::raceon(machine_config &config)
|
||||
void namcoss23_gmen_state::raceon(machine_config &config)
|
||||
{
|
||||
gmen(config);
|
||||
m_jvs->set_default_option("namco_asca5");
|
||||
}
|
||||
|
||||
void namcos23_gmen_state::finfurl2(machine_config &config)
|
||||
void namcoss23_gmen_state::finfurl2(machine_config &config)
|
||||
{
|
||||
gmen(config);
|
||||
m_jvs->set_default_option("namco_asca3a");
|
||||
@ -6350,15 +6399,21 @@ void crszone_state::crszone(machine_config &config)
|
||||
***************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START(s23)
|
||||
// You can go to the pcb test mode by pressing P1-A, and it doesn't crash anymore somehow
|
||||
// You can go to the pcb test mode by pressing P1-A in some games.
|
||||
// Use P1-A to select, P1-Sel+P1-A to exit, up/down to navigate
|
||||
PORT_START("P1")
|
||||
PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_PLAYER(2) PORT_NAME("Dev Service P1-D")
|
||||
PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_BUTTON6) PORT_PLAYER(2) PORT_NAME("Dev Service P1-E")
|
||||
PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_BUTTON7) PORT_PLAYER(2) PORT_NAME("Dev Service P1-F")
|
||||
PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) PORT_NAME("Dev Service P1-A")
|
||||
PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_BUTTON8) PORT_PLAYER(2) PORT_NAME("Dev Service P1-G")
|
||||
PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_BUTTON9) PORT_PLAYER(2) PORT_NAME("Dev Service P1-H")
|
||||
PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN) PORT_PLAYER(2) PORT_NAME("Dev Service Down")
|
||||
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP) PORT_PLAYER(2) PORT_NAME("Dev Service Up")
|
||||
PORT_BIT(0x100, IP_ACTIVE_LOW, IPT_START2) PORT_NAME("Dev Service Start")
|
||||
PORT_BIT(0x200, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(2) PORT_NAME("Dev Service P1-Sel")
|
||||
PORT_BIT(0xc37, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
PORT_BIT(0x400, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(2) PORT_NAME("Dev Service P1-B")
|
||||
PORT_BIT(0x800, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_PLAYER(2) PORT_NAME("Dev Service P1-C")
|
||||
|
||||
PORT_START("P2")
|
||||
PORT_BIT(0xfff, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
||||
@ -7536,14 +7591,14 @@ ROM_START( raceon )
|
||||
ROM_LOAD( "ro1ccrh.7e", 0x000000, 0x200000, CRC(1c958de2) SHA1(4893350999d5d377e68b9577187828de7a4c77c2) )
|
||||
|
||||
ROM_REGION32_LE( 0x2000000, "pointrom", 0 ) /* 3D model data */
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt0h.7a", 0x0000000, 0x400000, CRC(6ef742ab) SHA1(500ce413b2463a555237de7bcc9627d1082c9b52) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt0l.7c", 0x0000002, 0x400000, CRC(f4b88bd0) SHA1(cc642d959645730b03ef01e6dbb5d0077bce7163) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt1h.5a", 0x0800000, 0x400000, CRC(428bf573) SHA1(6be159e1cf7ef38639610c347fd2322ab9911a70) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt1l.5c", 0x0800002, 0x400000, CRC(f3df1d13) SHA1(9f96c99bd3537940a532d3dccb69a1c7d8c6be63) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt2h.4a", 0x1000000, 0x400000, CRC(e1abdbc9) SHA1(91827af01cb83f4422d7329c8eea52bb57d7d57e) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt2l.4c", 0x1000002, 0x400000, CRC(c64f5cdc) SHA1(e7261f3a56718f304127cc85c08d0b32525dc1cd) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt3h.3a", 0x1800000, 0x400000, CRC(ef4685f6) SHA1(930037cac4aae9892278aa322844d03c773c70f7) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt3l.3c", 0x1800002, 0x400000, CRC(07d27009) SHA1(770001bee9d7ace337db8a42bf377678b2b5d5fb) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt0h.7a", 0x0000000, 0x400000, CRC(b052c0dc) SHA1(ed60e2df68315da02a48a701841cd861e8dd46c2) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt0l.7c", 0x0000002, 0x400000, CRC(4f09e946) SHA1(4c0e1edb0e807b580849510aa45313ceb700b8b9) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt1h.5a", 0x0800000, 0x400000, CRC(94c6be22) SHA1(27fb80975a3332fe2ec91996d2c74b2f4fb5a2de) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt1l.5c", 0x0800002, 0x400000, CRC(307b30f2) SHA1(24e0e5d392751e1e4126a604c7a18f90be1e6771) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt2h.4a", 0x1000000, 0x400000, CRC(b77886f2) SHA1(efdeb11c9783dbd7eb776c2a99204fb2e55ecb6d) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt2l.4c", 0x1000002, 0x400000, CRC(6eaec66b) SHA1(d96d96d3b11a5109fed07e455e2abc9a8450080c) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt3h.3a", 0x1800000, 0x400000, CRC(87b8f7c5) SHA1(51f996199f7fc020f12c4ebd3e47acbc04341ce3) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt3l.3c", 0x1800002, 0x400000, CRC(ee1a4d1d) SHA1(4fa71edd26edcb3efc56b71f603fabcafcc2d3f3) )
|
||||
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* C352 PCM samples */
|
||||
ROM_LOAD( "ro1wavel.2c", 0x000000, 0x800000, CRC(c6aca840) SHA1(09a021459b6326fe161ffcee36376648a5bf0e00) )
|
||||
@ -7587,14 +7642,14 @@ ROM_START( raceonj )
|
||||
ROM_LOAD( "ro1ccrh.7e", 0x000000, 0x200000, CRC(1c958de2) SHA1(4893350999d5d377e68b9577187828de7a4c77c2) )
|
||||
|
||||
ROM_REGION32_LE( 0x2000000, "pointrom", 0 ) /* 3D model data */
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt0h.7a", 0x0000000, 0x400000, CRC(6ef742ab) SHA1(500ce413b2463a555237de7bcc9627d1082c9b52) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt0l.7c", 0x0000002, 0x400000, CRC(f4b88bd0) SHA1(cc642d959645730b03ef01e6dbb5d0077bce7163) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt1h.5a", 0x0800000, 0x400000, CRC(428bf573) SHA1(6be159e1cf7ef38639610c347fd2322ab9911a70) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt1l.5c", 0x0800002, 0x400000, CRC(f3df1d13) SHA1(9f96c99bd3537940a532d3dccb69a1c7d8c6be63) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt2h.4a", 0x1000000, 0x400000, CRC(e1abdbc9) SHA1(91827af01cb83f4422d7329c8eea52bb57d7d57e) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt2l.4c", 0x1000002, 0x400000, CRC(c64f5cdc) SHA1(e7261f3a56718f304127cc85c08d0b32525dc1cd) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt3h.3a", 0x1800000, 0x400000, CRC(ef4685f6) SHA1(930037cac4aae9892278aa322844d03c773c70f7) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt3l.3c", 0x1800002, 0x400000, CRC(07d27009) SHA1(770001bee9d7ace337db8a42bf377678b2b5d5fb) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt0h.7a", 0x0000000, 0x400000, CRC(b052c0dc) SHA1(ed60e2df68315da02a48a701841cd861e8dd46c2) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt0l.7c", 0x0000002, 0x400000, CRC(4f09e946) SHA1(4c0e1edb0e807b580849510aa45313ceb700b8b9) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt1h.5a", 0x0800000, 0x400000, CRC(94c6be22) SHA1(27fb80975a3332fe2ec91996d2c74b2f4fb5a2de) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt1l.5c", 0x0800002, 0x400000, CRC(307b30f2) SHA1(24e0e5d392751e1e4126a604c7a18f90be1e6771) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt2h.4a", 0x1000000, 0x400000, CRC(b77886f2) SHA1(efdeb11c9783dbd7eb776c2a99204fb2e55ecb6d) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt2l.4c", 0x1000002, 0x400000, CRC(6eaec66b) SHA1(d96d96d3b11a5109fed07e455e2abc9a8450080c) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt3h.3a", 0x1800000, 0x400000, CRC(87b8f7c5) SHA1(51f996199f7fc020f12c4ebd3e47acbc04341ce3) )
|
||||
ROM_LOAD32_WORD_SWAP( "ro1pt3l.3c", 0x1800002, 0x400000, CRC(ee1a4d1d) SHA1(4fa71edd26edcb3efc56b71f603fabcafcc2d3f3) )
|
||||
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* C352 PCM samples */
|
||||
ROM_LOAD( "ro1wavel.2c", 0x000000, 0x800000, CRC(c6aca840) SHA1(09a021459b6326fe161ffcee36376648a5bf0e00) )
|
||||
@ -8306,42 +8361,91 @@ ROM_START( crszonev2a )
|
||||
ROM_LOAD( "csz1ccrh.7k", 0x000000, 0x200000, CRC(bc2fa03c) SHA1(e63d8e75494a383bf9a213edfa9c472a010f8efe) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( crszonev2b )
|
||||
ROM_REGION32_BE( 0x800000, "user1", 0 ) /* 8 megs for main R4650 code */
|
||||
ROM_LOAD16_WORD_SWAP( "cszo2verb.ic4", 0x000000, 0x800000, CRC(1426d8d0) SHA1(e8049df1b2db1180f9edf6e5fa9fe8692ae81086) )
|
||||
|
||||
ROM_REGION( 0x80000, "subcpu", 0 ) /* Hitachi H8/3002 MCU code */
|
||||
ROM_LOAD16_WORD_SWAP( "cszo3verb.ic1", 0x000000, 0x080000, CRC(c790743b) SHA1(5fa7b83a7a1b1105a3aa0870b782cf2741b7d11c) )
|
||||
|
||||
ROM_REGION32_BE( 0x2000000, "data", 0 ) /* data ROMs */
|
||||
ROM_LOAD16_BYTE( "csz1mtah.2j", 0x0000000, 0x800000, CRC(66b076ad) SHA1(edd32e0b380f01a9626d32f5eec860f841c8be8a) )
|
||||
ROM_LOAD16_BYTE( "csz1mtal.2h", 0x0000001, 0x800000, CRC(38dc639a) SHA1(aa9b5b35174c1b007a57a4bd7a53bc3f479b5b71) )
|
||||
ROM_LOAD16_BYTE( "csz1mtbh.2m", 0x1000000, 0x800000, CRC(bdec4188) SHA1(a098651fbd8a69a0afc17f4b6c93350926cacd6b) )
|
||||
ROM_LOAD16_BYTE( "csz1mtbl.2f", 0x1000001, 0x800000, CRC(9c8f8d7a) SHA1(f61bcc9763df15428c82931a605ee40334d5ad98) )
|
||||
|
||||
ROM_REGION( 0x2000000, "textile", 0 ) /* texture tiles */
|
||||
ROM_LOAD( "csz1cgll.4m", 0x0000000, 0x800000, CRC(0bcd41f2) SHA1(80b74f9398e8bd074f79a14490d06cfeb875c874) )
|
||||
ROM_LOAD( "csz1cglm.4k", 0x0800000, 0x800000, CRC(d4af93d1) SHA1(0df37b793ce8da02d14f714722382786ae5d3ce2) )
|
||||
ROM_LOAD( "csz1cgum.4j", 0x1000000, 0x800000, CRC(913c98b5) SHA1(b952dbc19053796077d4f33e8da836893e933b12) )
|
||||
ROM_LOAD( "csz1cguu.5f", 0x1800000, 0x800000, CRC(e1d1bf24) SHA1(daf2c68e2d9a8f313d262d221cc990c93dfdf22f) )
|
||||
|
||||
ROM_REGION16_LE( 0x400000, "textilemapl", 0 ) /* texture tilemap 0-15 */
|
||||
ROM_LOAD( "csz1ccrl.7f", 0x000000, 0x400000, CRC(1c20768d) SHA1(6cf4280e26f3625d6f750837bf344163e7e93c3d) )
|
||||
|
||||
ROM_REGION( 0x200000, "textilemaph", 0 ) /* texture tilemap 16-17 + attr */
|
||||
ROM_LOAD( "csz1ccrh.7e", 0x000000, 0x200000, CRC(bc2fa03c) SHA1(e63d8e75494a383bf9a213edfa9c472a010f8efe) )
|
||||
|
||||
ROM_REGION32_BE( 0x2000000, "pointrom", 0 ) /* 3D model data */
|
||||
ROM_LOAD32_WORD_SWAP( "csz1pt0h.7a", 0x0000000, 0x400000, CRC(e82f1abb) SHA1(b1c57152cc27835e06e429fd1659fe0973638142) )
|
||||
ROM_LOAD32_WORD_SWAP( "csz1pt0l.7c", 0x0000002, 0x400000, CRC(b0d66afe) SHA1(7cda4eebf1bb1191d17e4b5e616be2fbe4ae9328) )
|
||||
ROM_LOAD32_WORD_SWAP( "csz1pt1h.5a", 0x0800000, 0x400000, CRC(e54f80ad) SHA1(3b3fbb3001e630d800b02ec8e653d74878ac5116) )
|
||||
ROM_LOAD32_WORD_SWAP( "csz1pt1l.5c", 0x0800002, 0x400000, CRC(527171c8) SHA1(0b2ce3858f40bdedf1543309a6bc28d780415250) )
|
||||
ROM_LOAD32_WORD_SWAP( "csz1pt2h.4a", 0x1000000, 0x400000, CRC(e295137a) SHA1(37b18af1b3d9f0e69b45135f89b49a1ceec79127) )
|
||||
ROM_LOAD32_WORD_SWAP( "csz1pt2l.4c", 0x1000002, 0x400000, CRC(c87d6dbd) SHA1(686f39073c521d6b21ef8bc1161b41b680697c63) )
|
||||
ROM_LOAD32_WORD_SWAP( "csz1pt3h.3a", 0x1800000, 0x400000, CRC(05f65bdf) SHA1(0c349fe5381fe7aeb81f9365a2b44a212f6bd33e) )
|
||||
ROM_LOAD32_WORD_SWAP( "csz1pt3l.3c", 0x1800002, 0x400000, CRC(5d077c0f) SHA1(a4fd0167d89bf9417766405726e0334e7c7eaec3) )
|
||||
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* C352 PCM samples */
|
||||
ROM_LOAD( "csz1wavel.2c", 0x000000, 0x800000, CRC(d0d74132) SHA1(a293d93bca8e12e388a088a592cfa7bcb9a976f7) )
|
||||
ROM_LOAD( "csz1waveh.2a", 0x800000, 0x800000, CRC(de9d14a8) SHA1(e5006861928bb1d29bf80c7304f1a6d044b094fd) )
|
||||
|
||||
ROM_REGION( 0x800000, "dups", 0 ) /* duplicate ROMs */
|
||||
ROM_LOAD( "csz1cguu.4f", 0x000000, 0x800000, CRC(e1d1bf24) SHA1(daf2c68e2d9a8f313d262d221cc990c93dfdf22f) )
|
||||
ROM_LOAD( "csz1cgum.5j", 0x000000, 0x800000, CRC(913c98b5) SHA1(b952dbc19053796077d4f33e8da836893e933b12) )
|
||||
ROM_LOAD( "csz1cgll.5m", 0x000000, 0x800000, CRC(0bcd41f2) SHA1(80b74f9398e8bd074f79a14490d06cfeb875c874) )
|
||||
ROM_LOAD( "csz1cglm.5k", 0x000000, 0x800000, CRC(d4af93d1) SHA1(0df37b793ce8da02d14f714722382786ae5d3ce2) )
|
||||
ROM_LOAD( "csz1ccrl.7m", 0x000000, 0x400000, CRC(1c20768d) SHA1(6cf4280e26f3625d6f750837bf344163e7e93c3d) )
|
||||
ROM_LOAD( "csz1ccrh.7k", 0x000000, 0x200000, CRC(bc2fa03c) SHA1(e63d8e75494a383bf9a213edfa9c472a010f8efe) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
/* Games */
|
||||
#define GAME_FLAGS ( MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
|
||||
// YEAR, NAME, PARENT, MACHINE, INPUT, CLASS, INIT, MNTR, COMPANY, FULLNAME, FLAGS
|
||||
GAME( 1997, rapidrvr, 0, rapidrvr, rapidrvr, rapidrvr_state, empty_init, ROT0, "Namco", "Rapid River (US, RD3 Ver. C)", GAME_FLAGS ) // 97/11/27, USA
|
||||
GAME( 1997, rapidrvrv2c, rapidrvr, rapidrvr, rapidrvr, rapidrvr_state, empty_init, ROT0, "Namco", "Rapid River (World, RD2 Ver. C)", GAME_FLAGS ) // 97/11/27, Europe
|
||||
GAME( 1997, rapidrvrp, rapidrvr, rapidrvr, rapidrvrp, rapidrvr_state, empty_init, ROT0, "Namco", "Rapid River (prototype)", GAME_FLAGS ) // 97/11/10, USA
|
||||
GAME( 1997, finfurl, 0, finfurl, finfurl, gorgon_state, empty_init, ROT0, "Namco", "Final Furlong (World, FF2 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, downhill, 0, downhill, downhill, namcos23_state, empty_init, ROT0, "Namco", "Downhill Bikers (World, DH2 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, downhillu, downhill, downhill, downhill, namcos23_state, empty_init, ROT0, "Namco", "Downhill Bikers (US, DH3 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, motoxgo, 0, motoxgo, motoxgo, motoxgo_state, empty_init, ROT0, "Namco", "Motocross Go! (US, MG3 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, motoxgov2a, motoxgo, motoxgo, motoxgo, motoxgo_state, empty_init, ROT0, "Namco", "Motocross Go! (World, MG2 Ver. A, set 1)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, motoxgov2a2, motoxgo, motoxgo, motoxgo, motoxgo_state, empty_init, ROT0, "Namco", "Motocross Go! (World, MG2 Ver. A, set 2)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, motoxgov1a, motoxgo, motoxgo, motoxgo, motoxgo_state, empty_init, ROT0, "Namco", "Motocross Go! (Japan, MG1 Ver. A, set 1)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, motoxgov1a2, motoxgo, motoxgo, motoxgo, motoxgo_state, empty_init, ROT0, "Namco", "Motocross Go! (Japan, MG1 Ver. A, set 2)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, timecrs2, 0, timecrs2, timecrs2, namcos23_state, empty_init, ROT0, "Namco", "Time Crisis II (US, TSS3 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, timecrs2v2b, timecrs2, timecrs2, timecrs2, namcos23_state, empty_init, ROT0, "Namco", "Time Crisis II (World, TSS2 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, timecrs2v1b, timecrs2, timecrs2, timecrs2, namcos23_state, empty_init, ROT0, "Namco", "Time Crisis II (Japan, TSS1 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, timecrs2v4a, timecrs2, timecrs2v4a, timecrs2, namcos23_state, empty_init, ROT0, "Namco", "Time Crisis II (World, TSS4 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, timecrs2v5a, timecrs2, timecrs2v4a, timecrs2, namcos23_state, empty_init, ROT0, "Namco", "Time Crisis II (US, TSS5 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, panicprk, 0, panicprk, panicprk, namcos23_state, empty_init, ROT0, "Namco", "Panic Park (World, PNP2 Ver. A)", GAME_FLAGS )
|
||||
GAME( 1997, panicprkj, panicprk, panicprk, panicprk, namcos23_state, empty_init, ROT0, "Namco", "Panic Park (Japan, PNP1 Ver. B, set 1)", GAME_FLAGS )
|
||||
GAME( 1997, panicprkj2, panicprk, panicprk, panicprk, namcos23_state, empty_init, ROT0, "Namco", "Panic Park (Japan, PNP1 Ver. B, set 2)", GAME_FLAGS )
|
||||
GAME( 1998, gunwars, 0, gunwars, gunwars, namcos23_gmen_state, empty_init, ROT0, "Namco", "Gunmen Wars (Japan, GM1 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1998, gunwarsa, gunwars, gunwars, gunwars, namcos23_gmen_state, empty_init, ROT0, "Namco", "Gunmen Wars (Japan, GM1 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1998, raceon, 0, raceon, raceon, namcos23_gmen_state, empty_init, ROT0, "Namco", "Race On! (World, RO2 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1998, raceonj, raceon, raceon, raceon, namcos23_gmen_state, empty_init, ROT0, "Namco", "Race On! (Japan, RO1 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1998, 500gp, 0, _500gp, 500gp, namcos23_state, empty_init, ROT0, "Namco", "500 GP (US, 5GP3 Ver. C)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1998, aking, 0, aking, aking, namcos23_state, empty_init, ROT0, "Namco", "Angler King (Japan, AG1 Ver. A)", GAME_FLAGS )
|
||||
GAME( 1998, finfurl2, 0, finfurl2, finfurl2, namcos23_gmen_state, empty_init, ROT0, "Namco", "Final Furlong 2 (World)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) // 99/02/26 15:08:47 Overseas
|
||||
GAME( 1998, finfurl2j, finfurl2, finfurl2, finfurl2, namcos23_gmen_state, empty_init, ROT0, "Namco", "Final Furlong 2 (Japan, FFS1 Ver.A)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) // 99/02/26 15:03:14 Japanese
|
||||
GAME( 1999, crszone, 0, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (World, CSZO4 Ver. B)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev4a, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (World, CSZO4 Ver. A)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev3b, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (US, CSZO3 Ver. B, set 1)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev3b2, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (US, CSZO3 Ver. B, set 2)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev3a, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (US, CSZO3 Ver. A)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev2a, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (World, CSZO2 Ver. A)", GAME_FLAGS )
|
||||
// YEAR, NAME, PARENT, MACHINE, INPUT, CLASS, INIT, MNTR, COMPANY, FULLNAME, FLAGS
|
||||
GAME( 1997, rapidrvr, 0, rapidrvr, rapidrvr, rapidrvr_state, empty_init, ROT0, "Namco", "Rapid River (US, RD3 Ver. C)", GAME_FLAGS ) // 97/11/27, USA
|
||||
GAME( 1997, rapidrvrv2c, rapidrvr, rapidrvr, rapidrvr, rapidrvr_state, empty_init, ROT0, "Namco", "Rapid River (World, RD2 Ver. C)", GAME_FLAGS ) // 97/11/27, Europe
|
||||
GAME( 1997, rapidrvrp, rapidrvr, rapidrvr, rapidrvrp, rapidrvr_state, empty_init, ROT0, "Namco", "Rapid River (prototype)", GAME_FLAGS ) // 97/11/10, USA
|
||||
GAME( 1997, finfurl, 0, finfurl, finfurl, gorgon_state, empty_init, ROT0, "Namco", "Final Furlong (World, FF2 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, downhill, 0, downhill, downhill, namcos23_state, empty_init, ROT0, "Namco", "Downhill Bikers (World, DH2 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, downhillu, downhill, downhill, downhill, namcos23_state, empty_init, ROT0, "Namco", "Downhill Bikers (US, DH3 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, motoxgo, 0, motoxgo, motoxgo, motoxgo_state, empty_init, ROT0, "Namco", "Motocross Go! (US, MG3 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, motoxgov2a, motoxgo, motoxgo, motoxgo, motoxgo_state, empty_init, ROT0, "Namco", "Motocross Go! (World, MG2 Ver. A, set 1)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, motoxgov2a2, motoxgo, motoxgo, motoxgo, motoxgo_state, empty_init, ROT0, "Namco", "Motocross Go! (World, MG2 Ver. A, set 2)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, motoxgov1a, motoxgo, motoxgo, motoxgo, motoxgo_state, empty_init, ROT0, "Namco", "Motocross Go! (Japan, MG1 Ver. A, set 1)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, motoxgov1a2, motoxgo, motoxgo, motoxgo, motoxgo_state, empty_init, ROT0, "Namco", "Motocross Go! (Japan, MG1 Ver. A, set 2)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, timecrs2, 0, timecrs2, timecrs2, namcos23_state, empty_init, ROT0, "Namco", "Time Crisis II (US, TSS3 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, timecrs2v2b, timecrs2, timecrs2, timecrs2, namcos23_state, empty_init, ROT0, "Namco", "Time Crisis II (World, TSS2 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, timecrs2v1b, timecrs2, timecrs2, timecrs2, namcos23_state, empty_init, ROT0, "Namco", "Time Crisis II (Japan, TSS1 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, timecrs2v4a, timecrs2, timecrs2v4a, timecrs2, namcoss23_state, empty_init, ROT0, "Namco", "Time Crisis II (World, TSS4 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, timecrs2v5a, timecrs2, timecrs2v4a, timecrs2, namcoss23_state, empty_init, ROT0, "Namco", "Time Crisis II (US, TSS5 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1997, panicprk, 0, panicprk, panicprk, namcos23_state, empty_init, ROT0, "Namco", "Panic Park (World, PNP2 Ver. A)", GAME_FLAGS )
|
||||
GAME( 1997, panicprkj, panicprk, panicprk, panicprk, namcos23_state, empty_init, ROT0, "Namco", "Panic Park (Japan, PNP1 Ver. B, set 1)", GAME_FLAGS )
|
||||
GAME( 1997, panicprkj2, panicprk, panicprk, panicprk, namcos23_state, empty_init, ROT0, "Namco", "Panic Park (Japan, PNP1 Ver. B, set 2)", GAME_FLAGS )
|
||||
GAME( 1998, gunwars, 0, gunwars, gunwars, namcoss23_gmen_state, empty_init, ROT0, "Namco", "Gunmen Wars (Japan, GM1 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1998, gunwarsa, gunwars, gunwars, gunwars, namcoss23_gmen_state, empty_init, ROT0, "Namco", "Gunmen Wars (Japan, GM1 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1998, raceon, 0, raceon, raceon, namcoss23_gmen_state, empty_init, ROT0, "Namco", "Race On! (World, RO2 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1998, raceonj, raceon, raceon, raceon, namcoss23_gmen_state, empty_init, ROT0, "Namco", "Race On! (Japan, RO1 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1998, 500gp, 0, _500gp, 500gp, namcoss23_state, empty_init, ROT0, "Namco", "500 GP (US, 5GP3 Ver. C)", GAME_FLAGS | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1998, aking, 0, aking, aking, namcoss23_state, empty_init, ROT0, "Namco", "Angler King (Japan, AG1 Ver. A)", GAME_FLAGS )
|
||||
GAME( 1998, finfurl2, 0, finfurl2, finfurl2, namcoss23_gmen_state, empty_init, ROT0, "Namco", "Final Furlong 2 (World)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) // 99/02/26 15:08:47 Overseas
|
||||
GAME( 1998, finfurl2j, finfurl2, finfurl2, finfurl2, namcoss23_gmen_state, empty_init, ROT0, "Namco", "Final Furlong 2 (Japan, FFS1 Ver.A)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) // 99/02/26 15:03:14 Japanese
|
||||
GAME( 1999, crszone, 0, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (World, CSZO4 Ver. B)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev4a, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (World, CSZO4 Ver. A)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev3b, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (US, CSZO3 Ver. B, set 1)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev3b2, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (US, CSZO3 Ver. B, set 2)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev3a, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (US, CSZO3 Ver. A)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev2a, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (World, CSZO2 Ver. A)", GAME_FLAGS )
|
||||
GAME( 1999, crszonev2b, crszone, crszone, crszone, crszone_state, empty_init, ROT0, "Namco", "Crisis Zone (World, CSZO2 Ver. B)", GAME_FLAGS )
|
||||
|
Loading…
Reference in New Issue
Block a user