mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
xexex.cpp : Minor cleanup, Add object finder instead runtime tag lookup, Add notes (#3329)
Demote Xexex/Orius with MACHINE_IMPERFECT_GRAPHICS, because it has alpha blending issue. Add MACHINE_NO_COCKTAIL flag too, because tilemap scroll is wrong when cocktail mode
This commit is contained in:
parent
8c85589982
commit
4fe45e51cc
@ -128,6 +128,8 @@ Unresolved Issues:
|
||||
- the stage 4 boss(tentacles) sometimes appears darker (palette update timing?)
|
||||
- the furthest layer in stage 5 shakes when scrolling up or down (needs verification)
|
||||
- Elaine's end-game graphics has wrong masking effect (known non-zoomed pdrawgfx issue)
|
||||
- intro screen at wrong alpha effect; it has K054157 flag-per-tile for alpha blending?
|
||||
- Tilemap scroll is wrong at cocktail mode
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -269,15 +271,16 @@ WRITE16_MEMBER(xexex_state::sound_irq_w)
|
||||
|
||||
WRITE8_MEMBER(xexex_state::sound_bankswitch_w)
|
||||
{
|
||||
membank("z80bank")->set_entry(data & 0x07);
|
||||
m_z80bank->set_entry(data & 0x07);
|
||||
}
|
||||
|
||||
K054539_CB_MEMBER(xexex_state::ym_set_mixing)
|
||||
{
|
||||
m_filter1l->flt_volume_set_volume((71.0 * left) / 55.0);
|
||||
m_filter1r->flt_volume_set_volume((71.0 * right) / 55.0);
|
||||
m_filter2l->flt_volume_set_volume((71.0 * left) / 55.0);
|
||||
m_filter2r->flt_volume_set_volume((71.0 * right) / 55.0);
|
||||
for (int out = 0; out < 2; out++)
|
||||
{
|
||||
m_filter_l[out]->flt_volume_set_volume((71.0 * left) / 55.0);
|
||||
m_filter_r[out]->flt_volume_set_volume((71.0 * right) / 55.0);
|
||||
}
|
||||
}
|
||||
|
||||
TIMER_CALLBACK_MEMBER(xexex_state::dmaend_callback)
|
||||
@ -431,8 +434,8 @@ void xexex_state::xexex_postload()
|
||||
|
||||
void xexex_state::machine_start()
|
||||
{
|
||||
membank("z80bank")->configure_entries(0, 8, memregion("audiocpu")->base(), 0x4000);
|
||||
membank("z80bank")->set_entry(0);
|
||||
m_z80bank->configure_entries(0, 8, memregion("audiocpu")->base(), 0x4000);
|
||||
m_z80bank->set_entry(0);
|
||||
|
||||
save_item(NAME(m_cur_alpha));
|
||||
save_item(NAME(m_sprite_colorbase));
|
||||
@ -520,10 +523,10 @@ MACHINE_CONFIG_START(xexex_state::xexex)
|
||||
MCFG_K054321_ADD("k054321", ":lspeaker", ":rspeaker")
|
||||
|
||||
MCFG_YM2151_ADD("ymsnd", XTAL(32'000'000)/8) // 4MHz
|
||||
MCFG_SOUND_ROUTE(0, "filter1l", 0.50)
|
||||
MCFG_SOUND_ROUTE(0, "filter1r", 0.50)
|
||||
MCFG_SOUND_ROUTE(1, "filter2l", 0.50)
|
||||
MCFG_SOUND_ROUTE(1, "filter2r", 0.50)
|
||||
MCFG_SOUND_ROUTE(0, "filter1_l", 0.50)
|
||||
MCFG_SOUND_ROUTE(0, "filter1_r", 0.50)
|
||||
MCFG_SOUND_ROUTE(1, "filter2_l", 0.50)
|
||||
MCFG_SOUND_ROUTE(1, "filter2_r", 0.50)
|
||||
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL(18'432'000))
|
||||
MCFG_K054539_APAN_CB(xexex_state, ym_set_mixing)
|
||||
@ -532,13 +535,13 @@ MACHINE_CONFIG_START(xexex_state::xexex)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
||||
MCFG_FILTER_VOLUME_ADD("filter1l", 0)
|
||||
MCFG_FILTER_VOLUME_ADD("filter1_l", 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MCFG_FILTER_VOLUME_ADD("filter1r", 0)
|
||||
MCFG_FILTER_VOLUME_ADD("filter1_r", 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
MCFG_FILTER_VOLUME_ADD("filter2l", 0)
|
||||
MCFG_FILTER_VOLUME_ADD("filter2_l", 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MCFG_FILTER_VOLUME_ADD("filter2r", 0)
|
||||
MCFG_FILTER_VOLUME_ADD("filter2_r", 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -574,8 +577,6 @@ ROM_START( xexex ) /* Europe, Version AA */
|
||||
ROM_LOAD( "er5911.19b", 0x0000, 0x0080, CRC(155624cc) SHA1(457f921e3a5d053c53e4f1a44941eb0a1f22e1b2) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
ROM_START( orius ) /* USA, Version AA */
|
||||
ROM_REGION( 0x180000, "maincpu", 0 )
|
||||
ROM_LOAD16_BYTE( "067uaa01.16d", 0x000000, 0x040000, CRC(f1263d3e) SHA1(c8a10b90e754ec7a72a23ac85b888f071ca40bb1) )
|
||||
@ -683,7 +684,7 @@ DRIVER_INIT_MEMBER(xexex_state,xexex)
|
||||
}
|
||||
}
|
||||
|
||||
GAME( 1991, xexex, 0, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Xexex (ver EAA)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1991, orius, xexex, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Orius (ver UAA)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1991, xexexa, xexex, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Xexex (ver AAA)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1991, xexexj, xexex, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Xexex (ver JAA)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1991, xexex, 0, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Xexex (ver EAA)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1991, orius, xexex, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Orius (ver UAA)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1991, xexexa, xexex, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Xexex (ver AAA)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1991, xexexj, xexex, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Xexex (ver JAA)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -23,30 +23,34 @@ class xexex_state : public driver_device
|
||||
{
|
||||
public:
|
||||
xexex_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_workram(*this, "workram"),
|
||||
m_spriteram(*this, "spriteram"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_audiocpu(*this, "audiocpu"),
|
||||
m_k054539(*this, "k054539"),
|
||||
m_filter1l(*this, "filter1l"),
|
||||
m_filter1r(*this, "filter1r"),
|
||||
m_filter2l(*this, "filter2l"),
|
||||
m_filter2r(*this, "filter2r"),
|
||||
m_k056832(*this, "k056832"),
|
||||
m_k053246(*this, "k053246"),
|
||||
m_k053250(*this, "k053250"),
|
||||
m_k053251(*this, "k053251"),
|
||||
m_k053252(*this, "k053252"),
|
||||
m_k054338(*this, "k054338"),
|
||||
m_palette(*this, "palette"),
|
||||
m_screen(*this, "screen"),
|
||||
m_k054321(*this, "k054321") { }
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_workram(*this, "workram")
|
||||
, m_spriteram(*this, "spriteram")
|
||||
, m_z80bank(*this, "z80bank")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_audiocpu(*this, "audiocpu")
|
||||
, m_k054539(*this, "k054539")
|
||||
, m_filter_l(*this, "filter%u_l", 1)
|
||||
, m_filter_r(*this, "filter%u_r", 1)
|
||||
, m_k056832(*this, "k056832")
|
||||
, m_k053246(*this, "k053246")
|
||||
, m_k053250(*this, "k053250")
|
||||
, m_k053251(*this, "k053251")
|
||||
, m_k053252(*this, "k053252")
|
||||
, m_k054338(*this, "k054338")
|
||||
, m_palette(*this, "palette")
|
||||
, m_screen(*this, "screen")
|
||||
, m_k054321(*this, "k054321")
|
||||
{
|
||||
}
|
||||
|
||||
/* memory pointers */
|
||||
required_shared_ptr<uint16_t> m_workram;
|
||||
required_shared_ptr<uint16_t> m_spriteram;
|
||||
|
||||
/* memory regions */
|
||||
required_memory_bank m_z80bank;
|
||||
|
||||
/* video-related */
|
||||
int m_layer_colorbase[4];
|
||||
int m_sprite_colorbase;
|
||||
@ -65,10 +69,8 @@ public:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
required_device<k054539_device> m_k054539;
|
||||
required_device<filter_volume_device> m_filter1l;
|
||||
required_device<filter_volume_device> m_filter1r;
|
||||
required_device<filter_volume_device> m_filter2l;
|
||||
required_device<filter_volume_device> m_filter2r;
|
||||
required_device_array<filter_volume_device, 2> m_filter_l;
|
||||
required_device_array<filter_volume_device, 2> m_filter_r;
|
||||
required_device<k056832_device> m_k056832;
|
||||
required_device<k053247_device> m_k053246;
|
||||
required_device<k053250_device> m_k053250;
|
||||
|
Loading…
Reference in New Issue
Block a user