mirror of
https://github.com/holub/mame
synced 2025-06-17 17:59:05 +03:00
namcos22: add object brightness adjust
This commit is contained in:
parent
103a89ddeb
commit
0cf7e30b41
@ -28,8 +28,6 @@ TODO:
|
|||||||
- improve ss22 lighting:
|
- improve ss22 lighting:
|
||||||
+ mountains in alpinr2b selection screen
|
+ mountains in alpinr2b selection screen
|
||||||
+ ridgerac waving flag shadowing
|
+ ridgerac waving flag shadowing
|
||||||
+ cybrcomm enemies should flash white when you shoot them, probably lighting related
|
|
||||||
+ timecris helicopter, car, grenade boxes should flash white when you shoot them (similar to cybrcomm)
|
|
||||||
- improve ss22 spot, used in dirtdash, alpines highscore entry, testmode screen#14 - not understood well:
|
- improve ss22 spot, used in dirtdash, alpines highscore entry, testmode screen#14 - not understood well:
|
||||||
+ does not work at all in alpines (uses spot_factor, not spotram, should show a spotlight with darkened background)
|
+ does not work at all in alpines (uses spot_factor, not spotram, should show a spotlight with darkened background)
|
||||||
+ should be done before global fade, see dirtdash when starting at jungle level
|
+ should be done before global fade, see dirtdash when starting at jungle level
|
||||||
@ -2068,7 +2066,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, raveracw, cybrcomm)
|
// high bit is unknown busy signal (ridgerac, ridgera2, raverace, cybrcomm)
|
||||||
return 0x8000 | (point_read(m_point_address++) >> 16 & 0x00ff);
|
return 0x8000 | (point_read(m_point_address++) >> 16 & 0x00ff);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3043,7 +3041,7 @@ static INPUT_PORTS_START( ridgera2 )
|
|||||||
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
static INPUT_PORTS_START( raveracw )
|
static INPUT_PORTS_START( raverace )
|
||||||
PORT_INCLUDE( ridgera )
|
PORT_INCLUDE( ridgera )
|
||||||
|
|
||||||
PORT_MODIFY("INPUTS")
|
PORT_MODIFY("INPUTS")
|
||||||
@ -3110,7 +3108,7 @@ static INPUT_PORTS_START( cybrcomm )
|
|||||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
|
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
static INPUT_PORTS_START( acedrvr )
|
static INPUT_PORTS_START( acedrive )
|
||||||
PORT_START("INPUTS")
|
PORT_START("INPUTS")
|
||||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_NAME("Shift Down")
|
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_NAME("Shift Down")
|
||||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_NAME("Shift Up")
|
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_NAME("Shift Up")
|
||||||
@ -3188,7 +3186,7 @@ static INPUT_PORTS_START( acedrvr )
|
|||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
static INPUT_PORTS_START( victlap )
|
static INPUT_PORTS_START( victlap )
|
||||||
PORT_INCLUDE( acedrvr )
|
PORT_INCLUDE( acedrive )
|
||||||
|
|
||||||
PORT_MODIFY("CUSTOM.0")
|
PORT_MODIFY("CUSTOM.0")
|
||||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CONDITION("DEV", 0x01, EQUALS, 0x01) PORT_PLAYER(2) PORT_NAME("Dev Service Exit")
|
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CONDITION("DEV", 0x01, EQUALS, 0x01) PORT_PLAYER(2) PORT_NAME("Dev Service Exit")
|
||||||
@ -3673,6 +3671,7 @@ void namcos22_state::machine_start()
|
|||||||
save_item(NAME(m_keycus_id));
|
save_item(NAME(m_keycus_id));
|
||||||
save_item(NAME(m_keycus_rng));
|
save_item(NAME(m_keycus_rng));
|
||||||
save_item(NAME(m_cz_adjust));
|
save_item(NAME(m_cz_adjust));
|
||||||
|
save_item(NAME(m_bri_adjust));
|
||||||
save_item(NAME(m_dspram_bank));
|
save_item(NAME(m_dspram_bank));
|
||||||
save_item(NAME(m_dspram16_latch));
|
save_item(NAME(m_dspram16_latch));
|
||||||
save_item(NAME(m_slave_simulation_active));
|
save_item(NAME(m_slave_simulation_active));
|
||||||
@ -6089,19 +6088,19 @@ void namcos22s_state::install_141_speedup()
|
|||||||
|
|
||||||
/*********************************************************************************************/
|
/*********************************************************************************************/
|
||||||
|
|
||||||
void namcos22_state::init_ridgeraj()
|
void namcos22_state::init_ridgerac()
|
||||||
{
|
{
|
||||||
m_gametype = NAMCOS22_RIDGE_RACER;
|
m_gametype = NAMCOS22_RIDGE_RACER;
|
||||||
install_c74_speedup();
|
install_c74_speedup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void namcos22_state::init_ridger2j()
|
void namcos22_state::init_ridgera2()
|
||||||
{
|
{
|
||||||
m_gametype = NAMCOS22_RIDGE_RACER2;
|
m_gametype = NAMCOS22_RIDGE_RACER2;
|
||||||
install_c74_speedup();
|
install_c74_speedup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void namcos22_state::init_acedrvr()
|
void namcos22_state::init_acedrive()
|
||||||
{
|
{
|
||||||
m_gametype = NAMCOS22_ACE_DRIVER;
|
m_gametype = NAMCOS22_ACE_DRIVER;
|
||||||
install_c74_speedup();
|
install_c74_speedup();
|
||||||
@ -6113,7 +6112,7 @@ void namcos22_state::init_victlap()
|
|||||||
install_c74_speedup();
|
install_c74_speedup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void namcos22_state::init_raveracw()
|
void namcos22_state::init_raverace()
|
||||||
{
|
{
|
||||||
m_gametype = NAMCOS22_RAVE_RACER;
|
m_gametype = NAMCOS22_RAVE_RACER;
|
||||||
install_c74_speedup();
|
install_c74_speedup();
|
||||||
@ -6189,7 +6188,7 @@ void propcycl_state::init_propcyclj()
|
|||||||
install_141_speedup();
|
install_141_speedup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void namcos22s_state::init_cybrcyc()
|
void namcos22s_state::init_cybrcycc()
|
||||||
{
|
{
|
||||||
m_gametype = NAMCOS22_CYBER_CYCLES;
|
m_gametype = NAMCOS22_CYBER_CYCLES;
|
||||||
install_130_speedup();
|
install_130_speedup();
|
||||||
@ -6231,21 +6230,21 @@ void namcos22s_state::init_dirtdash()
|
|||||||
|
|
||||||
/* YEAR, NAME, PARENT, MACHINE, INPUT, CLASS, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
|
/* YEAR, NAME, PARENT, MACHINE, INPUT, CLASS, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
|
||||||
// System22 games
|
// System22 games
|
||||||
GAME( 1993, ridgerac, 0, namcos22, ridgera, namcos22_state, init_ridgeraj, ROT0, "Namco", "Ridge Racer (World, RR2 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1994-01-17
|
GAME( 1993, ridgerac, 0, namcos22, ridgera, namcos22_state, init_ridgerac, ROT0, "Namco", "Ridge Racer (World, RR2 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1994-01-17
|
||||||
GAME( 1993, ridgeraca, ridgerac, namcos22, ridgera, namcos22_state, init_ridgeraj, ROT0, "Namco", "Ridge Racer (World, RR2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1993-10-28
|
GAME( 1993, ridgeraca, ridgerac, namcos22, ridgera, namcos22_state, init_ridgerac, ROT0, "Namco", "Ridge Racer (World, RR2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1993-10-28
|
||||||
GAME( 1993, ridgeracb, ridgerac, namcos22, ridgera, namcos22_state, init_ridgeraj, ROT0, "Namco", "Ridge Racer (US, RR3 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1994-01-17, reports as "-Foreign B-" RR3 means USA?
|
GAME( 1993, ridgeracb, ridgerac, namcos22, ridgera, namcos22_state, init_ridgerac, ROT0, "Namco", "Ridge Racer (US, RR3 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1994-01-17, reports as "-Foreign B-" RR3 means USA?
|
||||||
GAME( 1993, ridgeracc, ridgerac, namcos22, ridgera, namcos22_state, init_ridgeraj, ROT0, "Namco", "Ridge Racer (US, RR3)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1993-10-28, purportedly 3 Screen version, reports as "-Foreign B-"
|
GAME( 1993, ridgeracc, ridgerac, namcos22, ridgera, namcos22_state, init_ridgerac, ROT0, "Namco", "Ridge Racer (US, RR3)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1993-10-28, purportedly 3 Screen version, reports as "-Foreign B-"
|
||||||
GAME( 1993, ridgeracj, ridgerac, namcos22, ridgera, namcos22_state, init_ridgeraj, ROT0, "Namco", "Ridge Racer (Japan, RR1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1993-10-07
|
GAME( 1993, ridgeracj, ridgerac, namcos22, ridgera, namcos22_state, init_ridgerac, ROT0, "Namco", "Ridge Racer (Japan, RR1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1993-10-07
|
||||||
GAME( 1993, ridgeracf, ridgerac, namcos22, ridgeracf, namcos22_state, init_ridgeraj, ROT0, "Namco", "Ridge Racer Full Scale (World, RRF2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // 1993-12-13, very different version, incomplete dump.
|
GAME( 1993, ridgeracf, ridgerac, namcos22, ridgeracf, namcos22_state, init_ridgerac, ROT0, "Namco", "Ridge Racer Full Scale (World, RRF2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // 1993-12-13, very different version, incomplete dump.
|
||||||
GAME( 1994, ridgera2, 0, namcos22, ridgera2, namcos22_state, init_ridger2j, ROT0, "Namco", "Ridge Racer 2 (World, RRS2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-06-21 - NOT labeled "B" but based off Japan Rev.B
|
GAME( 1994, ridgera2, 0, namcos22, ridgera2, namcos22_state, init_ridgera2, ROT0, "Namco", "Ridge Racer 2 (World, RRS2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-06-21 - NOT labeled "B" but based off Japan Rev.B
|
||||||
GAME( 1994, ridgera2j, ridgera2, namcos22, ridgera2, namcos22_state, init_ridger2j, ROT0, "Namco", "Ridge Racer 2 (Japan, RRS1 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-06-21
|
GAME( 1994, ridgera2j, ridgera2, namcos22, ridgera2, namcos22_state, init_ridgera2, ROT0, "Namco", "Ridge Racer 2 (Japan, RRS1 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-06-21
|
||||||
GAME( 1994, ridgera2ja, ridgera2, namcos22, ridgera2, namcos22_state, init_ridger2j, ROT0, "Namco", "Ridge Racer 2 (Japan, RRS1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-06-13
|
GAME( 1994, ridgera2ja, ridgera2, namcos22, ridgera2, namcos22_state, init_ridgera2, ROT0, "Namco", "Ridge Racer 2 (Japan, RRS1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-06-13
|
||||||
GAME( 1994, ridgera28, ridgera2, namcos22, ridgera2, namcos22_state, init_ridger2j, ROT0, "Namco", "Ridge Racer 2 (World, RRS8)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-XX-XX - Test Location / proto??
|
GAME( 1994, ridgera28, ridgera2, namcos22, ridgera2, namcos22_state, init_ridgera2, ROT0, "Namco", "Ridge Racer 2 (World, RRS8)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-XX-XX - Test Location / proto??
|
||||||
GAME( 1994, cybrcomm, 0, cybrcomm, cybrcomm, namcos22_state, init_cybrcomm, ROT0, "Namco", "Cyber Commando (Japan, CY1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 10/14/94
|
GAME( 1994, cybrcomm, 0, cybrcomm, cybrcomm, namcos22_state, init_cybrcomm, ROT0, "Namco", "Cyber Commando (Japan, CY1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 10/14/94
|
||||||
GAME( 1995, raverace, 0, namcos22, raveracw, namcos22_state, init_raveracw, ROT0, "Namco", "Rave Racer (World, RV2 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 07/16/95
|
GAME( 1995, raverace, 0, namcos22, raverace, namcos22_state, init_raverace, ROT0, "Namco", "Rave Racer (World, RV2 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 07/16/95
|
||||||
GAME( 1995, raveracej, raverace, namcos22, raveracw, namcos22_state, init_raveracw, ROT0, "Namco", "Rave Racer (Japan, RV1 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 07/16/95
|
GAME( 1995, raveracej, raverace, namcos22, raverace, namcos22_state, init_raverace, ROT0, "Namco", "Rave Racer (Japan, RV1 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 07/16/95
|
||||||
GAME( 1995, raveraceja, raverace, namcos22, raveracw, namcos22_state, init_raveracw, ROT0, "Namco", "Rave Racer (Japan, RV1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 06/29/95
|
GAME( 1995, raveraceja, raverace, namcos22, raverace, namcos22_state, init_raverace, ROT0, "Namco", "Rave Racer (Japan, RV1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 06/29/95
|
||||||
GAME( 1994, acedrive, 0, namcos22, acedrvr, namcos22_state, init_acedrvr, ROT0, "Namco", "Ace Driver: Racing Evolution (World, AD2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 94/10/20 16:22:25
|
GAME( 1994, acedrive, 0, namcos22, acedrive, namcos22_state, init_acedrive, ROT0, "Namco", "Ace Driver: Racing Evolution (World, AD2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 94/10/20 16:22:25
|
||||||
GAME( 1996, victlap, 0, namcos22, victlap, namcos22_state, init_victlap, ROT0, "Namco", "Ace Driver: Victory Lap (World, ADV2 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 96/05/21 19:39:59
|
GAME( 1996, victlap, 0, namcos22, victlap, namcos22_state, init_victlap, ROT0, "Namco", "Ace Driver: Victory Lap (World, ADV2 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 96/05/21 19:39:59
|
||||||
GAME( 1996, victlapa, victlap, namcos22, victlap, namcos22_state, init_victlap, ROT0, "Namco", "Ace Driver: Victory Lap (World, ADV2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 96/02/13 17:29:10
|
GAME( 1996, victlapa, victlap, namcos22, victlap, namcos22_state, init_victlap, ROT0, "Namco", "Ace Driver: Victory Lap (World, ADV2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 96/02/13 17:29:10
|
||||||
GAME( 1996, victlapj, victlap, namcos22, victlap, namcos22_state, init_victlap, ROT0, "Namco", "Ace Driver: Victory Lap (Japan, ADV1 Ver.C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 96/02/13 17:29:10
|
GAME( 1996, victlapj, victlap, namcos22, victlap, namcos22_state, init_victlap, ROT0, "Namco", "Ace Driver: Victory Lap (Japan, ADV1 Ver.C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 96/02/13 17:29:10
|
||||||
@ -6255,8 +6254,8 @@ GAME( 1994, alpinerd, 0, alpine, alpiner, alpine_state, init_al
|
|||||||
GAME( 1994, alpinerc, alpinerd, alpine, alpiner, alpine_state, init_alpiner, ROT0, "Namco", "Alpine Racer (World, AR2 Ver.C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS )
|
GAME( 1994, alpinerc, alpinerd, alpine, alpiner, alpine_state, init_alpiner, ROT0, "Namco", "Alpine Racer (World, AR2 Ver.C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS )
|
||||||
GAME( 1994, alpinerjc, alpinerd, alpine, alpiner, alpine_state, init_alpiner, ROT0, "Namco", "Alpine Racer (Japan, AR1 Ver.C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS )
|
GAME( 1994, alpinerjc, alpinerd, alpine, alpiner, alpine_state, init_alpiner, ROT0, "Namco", "Alpine Racer (Japan, AR1 Ver.C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS )
|
||||||
GAME( 1995, airco22b, 0, airco22b, airco22, namcos22s_state, init_airco22, ROT0, "Namco", "Air Combat 22 (Japan, ACS1 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS )
|
GAME( 1995, airco22b, 0, airco22b, airco22, namcos22s_state, init_airco22, ROT0, "Namco", "Air Combat 22 (Japan, ACS1 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS )
|
||||||
GAME( 1995, cybrcycc, 0, cybrcycc, cybrcycc, namcos22s_state, init_cybrcyc, ROT0, "Namco", "Cyber Cycles (World, CB2 Ver.C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 95/04/04
|
GAME( 1995, cybrcycc, 0, cybrcycc, cybrcycc, namcos22s_state, init_cybrcycc, ROT0, "Namco", "Cyber Cycles (World, CB2 Ver.C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 95/04/04
|
||||||
GAME( 1995, cybrcyccj, cybrcycc, cybrcycc, cybrcycc, namcos22s_state, init_cybrcyc, ROT0, "Namco", "Cyber Cycles (Japan, CB1 Ver.C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 95/04/04
|
GAME( 1995, cybrcyccj, cybrcycc, cybrcycc, cybrcycc, namcos22s_state, init_cybrcycc, ROT0, "Namco", "Cyber Cycles (Japan, CB1 Ver.C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 95/04/04
|
||||||
GAME( 1995, dirtdash, 0, dirtdash, dirtdash, namcos22s_state, init_dirtdash, ROT0, "Namco", "Dirt Dash (World, DT2 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // 96/?1/0? 21:03:?6, one ROM is bad
|
GAME( 1995, dirtdash, 0, dirtdash, dirtdash, namcos22s_state, init_dirtdash, ROT0, "Namco", "Dirt Dash (World, DT2 Ver.B)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // 96/?1/0? 21:03:?6, one ROM is bad
|
||||||
GAME( 1995, dirtdasha, dirtdash, dirtdash, dirtdash, namcos22s_state, init_dirtdash, ROT0, "Namco", "Dirt Dash (World, DT2 Ver.A)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 95/12/20 20:01:56
|
GAME( 1995, dirtdasha, dirtdash, dirtdash, dirtdash, namcos22s_state, init_dirtdash, ROT0, "Namco", "Dirt Dash (World, DT2 Ver.A)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 95/12/20 20:01:56
|
||||||
GAME( 1995, dirtdashj, dirtdash, dirtdash, dirtdash, namcos22s_state, init_dirtdash, ROT0, "Namco", "Dirt Dash (Japan, DT1 Ver.A)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 95/12/20 20:06:45
|
GAME( 1995, dirtdashj, dirtdash, dirtdash, dirtdash, namcos22s_state, init_dirtdash, ROT0, "Namco", "Dirt Dash (Japan, DT1 Ver.A)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 95/12/20 20:06:45
|
||||||
|
@ -82,6 +82,7 @@ struct namcos22_scenenode
|
|||||||
int cmode;
|
int cmode;
|
||||||
int flags;
|
int flags;
|
||||||
int cz_adjust;
|
int cz_adjust;
|
||||||
|
int bri_adjust;
|
||||||
int direct;
|
int direct;
|
||||||
namcos22_polyvertex v[4];
|
namcos22_polyvertex v[4];
|
||||||
} quad;
|
} quad;
|
||||||
@ -120,6 +121,7 @@ struct namcos22_object_data
|
|||||||
int cmode;
|
int cmode;
|
||||||
int fadefactor;
|
int fadefactor;
|
||||||
int pfade_enabled;
|
int pfade_enabled;
|
||||||
|
int brifactor;
|
||||||
int fogfactor;
|
int fogfactor;
|
||||||
int zfog_enabled;
|
int zfog_enabled;
|
||||||
int cz_adjust;
|
int cz_adjust;
|
||||||
@ -225,12 +227,12 @@ public:
|
|||||||
void cybrcomm(machine_config &config);
|
void cybrcomm(machine_config &config);
|
||||||
void namcos22(machine_config &config);
|
void namcos22(machine_config &config);
|
||||||
|
|
||||||
void init_acedrvr();
|
void init_acedrive();
|
||||||
void init_raveracw();
|
void init_raverace();
|
||||||
void init_ridger2j();
|
void init_ridgera2();
|
||||||
void init_victlap();
|
void init_victlap();
|
||||||
void init_cybrcomm();
|
void init_cybrcomm();
|
||||||
void init_ridgeraj();
|
void init_ridgerac();
|
||||||
|
|
||||||
// renderer
|
// renderer
|
||||||
u16 *m_texture_tilemap;
|
u16 *m_texture_tilemap;
|
||||||
@ -458,6 +460,7 @@ protected:
|
|||||||
u16 m_keycus_rng = 0;
|
u16 m_keycus_rng = 0;
|
||||||
int m_gametype = 0;
|
int m_gametype = 0;
|
||||||
int m_cz_adjust = 0;
|
int m_cz_adjust = 0;
|
||||||
|
int m_bri_adjust = 0;
|
||||||
std::unique_ptr<namcos22_renderer> m_poly;
|
std::unique_ptr<namcos22_renderer> m_poly;
|
||||||
u16 m_dspram_bank = 0;
|
u16 m_dspram_bank = 0;
|
||||||
u16 m_dspram16_latch = 0;
|
u16 m_dspram16_latch = 0;
|
||||||
@ -521,7 +524,7 @@ public:
|
|||||||
void tokyowar(machine_config &config);
|
void tokyowar(machine_config &config);
|
||||||
|
|
||||||
void init_aquajet();
|
void init_aquajet();
|
||||||
void init_cybrcyc();
|
void init_cybrcycc();
|
||||||
void init_tokyowar();
|
void init_tokyowar();
|
||||||
void init_dirtdash();
|
void init_dirtdash();
|
||||||
void init_airco22();
|
void init_airco22();
|
||||||
|
@ -44,12 +44,14 @@ void namcos22_renderer::renderscanline_uvi_full(int32_t scanline, const extent_t
|
|||||||
int zfog_enabled = extra.zfog_enabled;
|
int zfog_enabled = extra.zfog_enabled;
|
||||||
int fogfactor = 0xff - extra.fogfactor;
|
int fogfactor = 0xff - extra.fogfactor;
|
||||||
int fadefactor = 0xff - extra.fadefactor;
|
int fadefactor = 0xff - extra.fadefactor;
|
||||||
|
int brifactor = 0xff - extra.brifactor;
|
||||||
int alphafactor = 0xff - extra.alpha;
|
int alphafactor = 0xff - extra.alpha;
|
||||||
bool alpha_enabled = extra.alpha_enabled;
|
bool alpha_enabled = extra.alpha_enabled;
|
||||||
u8 alpha_pen = m_state.m_poly_alpha_pen;
|
u8 alpha_pen = m_state.m_poly_alpha_pen;
|
||||||
rgbaint_t fogcolor = extra.fogcolor;
|
rgbaint_t fogcolor = extra.fogcolor;
|
||||||
rgbaint_t fadecolor = extra.fadecolor;
|
rgbaint_t fadecolor = extra.fadecolor;
|
||||||
rgbaint_t polycolor = extra.polycolor;
|
rgbaint_t polycolor = extra.polycolor;
|
||||||
|
rgbaint_t white(0, 0xff, 0xff, 0xff);
|
||||||
int polyfade_enabled = extra.pfade_enabled;
|
int polyfade_enabled = extra.pfade_enabled;
|
||||||
int penmask = 0xff;
|
int penmask = 0xff;
|
||||||
int penshift = 0;
|
int penshift = 0;
|
||||||
@ -172,6 +174,12 @@ void namcos22_renderer::renderscanline_uvi_full(int32_t scanline, const extent_t
|
|||||||
int shade = i*ooz;
|
int shade = i*ooz;
|
||||||
rgb.scale_imm_and_clamp(shade << 2);
|
rgb.scale_imm_and_clamp(shade << 2);
|
||||||
|
|
||||||
|
// additional brightness
|
||||||
|
if (brifactor != 0xff)
|
||||||
|
{
|
||||||
|
rgb.blend(white, brifactor);
|
||||||
|
}
|
||||||
|
|
||||||
dest[x] = rgb.to_rgba();
|
dest[x] = rgb.to_rgba();
|
||||||
primap[x] = (primap[x] & ~1) | prioverchar;
|
primap[x] = (primap[x] & ~1) | prioverchar;
|
||||||
|
|
||||||
@ -297,16 +305,19 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
namcos22_object_data &extra = object_data().next();
|
|
||||||
int flags = node->data.quad.flags;
|
int flags = node->data.quad.flags;
|
||||||
int color = node->data.quad.color;
|
int color = node->data.quad.color;
|
||||||
int cz_adjust = node->data.quad.cz_adjust;
|
int cz_adjust = node->data.quad.cz_adjust;
|
||||||
|
int bri_adjust = node->data.quad.bri_adjust;
|
||||||
|
|
||||||
|
namcos22_object_data &extra = object_data().next();
|
||||||
|
|
||||||
extra.destbase = &bitmap;
|
extra.destbase = &bitmap;
|
||||||
extra.pfade_enabled = 0;
|
extra.pfade_enabled = 0;
|
||||||
extra.zfog_enabled = 0;
|
extra.zfog_enabled = 0;
|
||||||
extra.fadefactor = 0;
|
extra.fadefactor = 0;
|
||||||
extra.fogfactor = 0;
|
extra.fogfactor = 0;
|
||||||
|
extra.brifactor = 0;
|
||||||
|
|
||||||
extra.pens = &m_state.m_palette->pen((color & 0x7f) << 8);
|
extra.pens = &m_state.m_palette->pen((color & 0x7f) << 8);
|
||||||
extra.primap = &screen.priority();
|
extra.primap = &screen.priority();
|
||||||
@ -370,6 +381,11 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
|||||||
extra.czram = m_state.m_recalc_czram[bank].get();
|
extra.czram = m_state.m_recalc_czram[bank].get();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
extra.fogcolor.set(0, 0xff, 0xff, 0xff);
|
||||||
|
extra.fogfactor = std::clamp(bri_adjust >> 15 & 0x1c0, 0, 0xff);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -396,6 +412,9 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
|||||||
extra.czram = (u8*)&m_state.m_czram[cztype << (13-2)];
|
extra.czram = (u8*)&m_state.m_czram[cztype << (13-2)];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// additional brightness, only used in cybrcomm
|
||||||
|
extra.brifactor = std::clamp(bri_adjust >> 15 & 0x1c0, 0, 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
render_triangle_fan<4>(m_cliprect, render_delegate(&namcos22_renderer::renderscanline_uvi_full, this), clipverts, clipv);
|
render_triangle_fan<4>(m_cliprect, render_delegate(&namcos22_renderer::renderscanline_uvi_full, this), clipverts, clipv);
|
||||||
@ -536,7 +555,7 @@ struct namcos22_scenenode *namcos22_renderer::alloc_scenenode(running_machine &m
|
|||||||
{
|
{
|
||||||
if (node)
|
if (node)
|
||||||
{
|
{
|
||||||
/* use free pool */
|
// use free pool
|
||||||
m_scenenode_cur = node->next;
|
m_scenenode_cur = node->next;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -559,7 +578,7 @@ struct namcos22_scenenode *namcos22_renderer::new_scenenode(running_machine &mac
|
|||||||
struct namcos22_scenenode *next = node->data.nonleaf.next[hash];
|
struct namcos22_scenenode *next = node->data.nonleaf.next[hash];
|
||||||
if (!next)
|
if (!next)
|
||||||
{
|
{
|
||||||
/* lazily allocate tree node for this radix */
|
// lazily allocate tree node for this radix
|
||||||
next = alloc_scenenode(machine, m_scenenode_cur);
|
next = alloc_scenenode(machine, m_scenenode_cur);
|
||||||
next->type = NAMCOS22_SCENENODE_NONLEAF;
|
next->type = NAMCOS22_SCENENODE_NONLEAF;
|
||||||
node->data.nonleaf.next[hash] = next;
|
node->data.nonleaf.next[hash] = next;
|
||||||
@ -571,7 +590,7 @@ struct namcos22_scenenode *namcos22_renderer::new_scenenode(running_machine &mac
|
|||||||
|
|
||||||
if (node->type == NAMCOS22_SCENENODE_NONLEAF)
|
if (node->type == NAMCOS22_SCENENODE_NONLEAF)
|
||||||
{
|
{
|
||||||
/* first leaf allocation on this branch */
|
// first leaf allocation on this branch
|
||||||
node->type = type;
|
node->type = type;
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
@ -732,7 +751,7 @@ void namcos22_state::register_normals(int addr, float m[4][4])
|
|||||||
float ny = dspfixed_to_nativefloat(point_read(addr + i * 3 + 1));
|
float ny = dspfixed_to_nativefloat(point_read(addr + i * 3 + 1));
|
||||||
float nz = dspfixed_to_nativefloat(point_read(addr + i * 3 + 2));
|
float nz = dspfixed_to_nativefloat(point_read(addr + i * 3 + 2));
|
||||||
|
|
||||||
/* transform normal vector */
|
// transform normal vector
|
||||||
transform_normal(&nx, &ny, &nz, m);
|
transform_normal(&nx, &ny, &nz, m);
|
||||||
float dotproduct = nx*m_camera_lx + ny*m_camera_ly + nz*m_camera_lz;
|
float dotproduct = nx*m_camera_lx + ny*m_camera_ly + nz*m_camera_lz;
|
||||||
if (dotproduct < 0.0f)
|
if (dotproduct < 0.0f)
|
||||||
@ -790,6 +809,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.cz_adjust = m_cz_adjust;
|
node->data.quad.cz_adjust = m_cz_adjust;
|
||||||
|
node->data.quad.bri_adjust = m_bri_adjust;
|
||||||
node->data.quad.flags = (src[3] << 6 & 0x1fff00) | cztype;
|
node->data.quad.flags = (src[3] << 6 & 0x1fff00) | cztype;
|
||||||
node->data.quad.color = (src[2] & 0xff00) >> 8;
|
node->data.quad.color = (src[2] & 0xff00) >> 8;
|
||||||
src += 4;
|
src += 4;
|
||||||
@ -901,7 +921,7 @@ void namcos22_state::blit_single_quad(u32 color, u32 addr, float m[4][4], int po
|
|||||||
transform_point(&pv->x, &pv->y, &pv->z, m);
|
transform_point(&pv->x, &pv->y, &pv->z, m);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* backface cull one-sided polygons */
|
// backface cull one-sided polygons
|
||||||
if (flags & 0x0020)
|
if (flags & 0x0020)
|
||||||
{
|
{
|
||||||
float c1 =
|
float c1 =
|
||||||
@ -1010,6 +1030,7 @@ void namcos22_state::blit_single_quad(u32 color, u32 addr, float m[4][4], int po
|
|||||||
node->data.quad.color = (color >> 8) & 0xff;
|
node->data.quad.color = (color >> 8) & 0xff;
|
||||||
node->data.quad.flags = flags >> 10 & 3;
|
node->data.quad.flags = flags >> 10 & 3;
|
||||||
node->data.quad.cz_adjust = m_cz_adjust;
|
node->data.quad.cz_adjust = m_cz_adjust;
|
||||||
|
node->data.quad.bri_adjust = m_bri_adjust;
|
||||||
|
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
@ -1290,9 +1311,9 @@ void namcos22_state::slavesim_handle_200002(const s32 *src, int code)
|
|||||||
m[1][2] = dspfixed_to_nativefloat(src[0x8]);
|
m[1][2] = dspfixed_to_nativefloat(src[0x8]);
|
||||||
m[2][2] = dspfixed_to_nativefloat(src[0x9]);
|
m[2][2] = dspfixed_to_nativefloat(src[0x9]);
|
||||||
|
|
||||||
m[3][0] = src[0xa]; /* xpos */
|
m[3][0] = src[0xa]; // xpos
|
||||||
m[3][1] = src[0xb]; /* ypos */
|
m[3][1] = src[0xb]; // ypos
|
||||||
m[3][2] = src[0xc]; /* zpos */
|
m[3][2] = src[0xc]; // zpos
|
||||||
|
|
||||||
matrix3d_multiply(m, m_viewmatrix);
|
matrix3d_multiply(m, m_viewmatrix);
|
||||||
blit_polyobject(code, m);
|
blit_polyobject(code, m);
|
||||||
@ -1322,18 +1343,28 @@ void namcos22_state::slavesim_handle_300000(const s32 *src)
|
|||||||
|
|
||||||
void namcos22_state::slavesim_handle_233002(const s32 *src)
|
void namcos22_state::slavesim_handle_233002(const s32 *src)
|
||||||
{
|
{
|
||||||
/*
|
/**
|
||||||
00233002
|
* 00233002
|
||||||
00000000 // cz adjust (signed24)
|
* 00000000 // cz adjust (signed24)
|
||||||
0003dd00 // z bias adjust
|
* 0003dd00 // z bias adjust
|
||||||
001fffff // far plane?
|
* 001fffff // brightness adjust?
|
||||||
00007fff 00000000 00000000
|
* 00007fff 00000000 00000000
|
||||||
00000000 00007fff 00000000
|
* 00000000 00007fff 00000000
|
||||||
00000000 00000000 00007fff
|
* 00000000 00000000 00007fff
|
||||||
00000000 00000000 00000000
|
* 00000000 00000000 00000000
|
||||||
*/
|
*/
|
||||||
m_cz_adjust = signed24(src[1]);
|
m_cz_adjust = signed24(src[1]);
|
||||||
m_objectshift = src[2];
|
m_objectshift = src[2];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 001fffff: common - no effect
|
||||||
|
* 003fffff: adillor arrows on level select screen - no effect according to video
|
||||||
|
* 003fffff: propcycl attract mode particles when Solitar rises - unknown
|
||||||
|
* 003fffff: timecris shoot helicopter - small increase in brightness
|
||||||
|
* 005fffff: timecris shoot other destructible object - big increase in brightness
|
||||||
|
* 009fffff: cybrcomm shoot enemy with machine gun - opaque white (no shading)
|
||||||
|
*/
|
||||||
|
m_bri_adjust = src[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
void namcos22_state::simulate_slavedsp()
|
void namcos22_state::simulate_slavedsp()
|
||||||
@ -2389,7 +2420,7 @@ void namcos22_state::update_mixer()
|
|||||||
m_screen_fade_g = nthbyte(m_mixer, 0x13) << 8 | nthbyte(m_mixer, 0x14);
|
m_screen_fade_g = nthbyte(m_mixer, 0x13) << 8 | nthbyte(m_mixer, 0x14);
|
||||||
m_screen_fade_b = nthbyte(m_mixer, 0x15) << 8 | nthbyte(m_mixer, 0x16);
|
m_screen_fade_b = nthbyte(m_mixer, 0x15) << 8 | nthbyte(m_mixer, 0x16);
|
||||||
|
|
||||||
// raveracw is the only game using multiple fog colors (city smog, cars under tunnels, brake disc in attract mode)
|
// raverace is the only game using multiple fog colors (city smog, cars under tunnels, brake disc in attract mode)
|
||||||
m_fog_colormask = m_mixer[0x84/4];
|
m_fog_colormask = m_mixer[0x84/4];
|
||||||
|
|
||||||
// fog color per cz type
|
// fog color per cz type
|
||||||
|
Loading…
Reference in New Issue
Block a user