diff options
Diffstat (limited to 'src/mame/konami/xmen.cpp')
-rw-r--r-- | src/mame/konami/xmen.cpp | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/mame/konami/xmen.cpp b/src/mame/konami/xmen.cpp index 9ee01cd69b1..013ea020b4b 100644 --- a/src/mame/konami/xmen.cpp +++ b/src/mame/konami/xmen.cpp @@ -49,9 +49,9 @@ likewise a 2 screen game. // configurable logging -#define LOG_EEPROMW (1U << 1) -#define LOG_SOUNDIRQ (1U << 2) -#define LOG_OKI (1U << 3) +#define LOG_EEPROMW (1U << 1) +#define LOG_SOUNDIRQ (1U << 2) +#define LOG_OKI (1U << 3) //#define VERBOSE (LOG_GENERAL | LOG_EEPROMW | LOG_SOUNDIRQ | LOG_OKI) @@ -143,7 +143,7 @@ public: void xmen6p(machine_config &config); - DECLARE_READ_LINE_MEMBER(frame_r); + int frame_r(); protected: virtual void video_start() override; @@ -155,14 +155,12 @@ private: uint16_t *m_k053247_ram; template <uint8_t Which> uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - DECLARE_WRITE_LINE_MEMBER(screen_vblank); + void screen_vblank(int state); void main_map(address_map &map); }; -// video - /*************************************************************************** Callbacks for the K052109 @@ -277,7 +275,7 @@ uint32_t xmen6p_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap } // my lefts and rights are mixed up in several places.. -WRITE_LINE_MEMBER(xmen6p_state::screen_vblank) +void xmen6p_state::screen_vblank(int state) { // rising edge if (state) @@ -338,8 +336,6 @@ WRITE_LINE_MEMBER(xmen6p_state::screen_vblank) } -// machine - /*************************************************************************** EEPROM @@ -558,7 +554,7 @@ static INPUT_PORTS_START( xmen2p ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_er5911_device, cs_write) INPUT_PORTS_END -READ_LINE_MEMBER(xmen6p_state::frame_r) +int xmen6p_state::frame_r() { return m_screen->frame_number() & 1; } @@ -730,7 +726,9 @@ void xmen6p_state::xmen6p(machine_config &config) // video hardware config.set_default_layout(layout_dualhsxs); - SCREEN(config.replace(), m_screen, SCREEN_TYPE_RASTER); + config.device_remove("screen"); + + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_refresh_hz(60); m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); m_screen->set_size(64*8, 32*8); @@ -1218,26 +1216,26 @@ ROM_START( xmenabl ) ROM_LOAD16_BYTE( "rom1", 0x00000, 0x80000, CRC(c895fdc1) SHA1(e7e6908374310ef0e71d9541402a18818ea10134) ) ROM_LOAD16_BYTE( "rom2", 0x00001, 0x80000, CRC(50d56da7) SHA1(7ae0748f65d9de62be8c0cd1b41dceb1ea91ba3e) ) - ROM_REGION( 0x200000, "k052109", 0 ) // tiles, k052109 non really present + ROM_REGION( 0x200000, "k052109", 0 ) // tiles, k052109 not really present ROM_LOAD32_WORD( "gfx15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) ) ROM_LOAD32_WORD( "gfx16l", 0x000002, 0x100000, CRC(c5dc8fc4) SHA1(9887cb002c8b72be7ce933cb397f00cdc5506c8c) ) - ROM_REGION( 0x400000, "k053246", 0 ) // graphics (addressable by the main CPU), k053246 non really present + ROM_REGION( 0x400000, "k053246", 0 ) // graphics (addressable by the main CPU), k053246 not really present ROM_LOAD64_WORD( "gfx2h", 0x000000, 0x100000, CRC(ea05d52f) SHA1(7f2c14f907355856fb94e3a67b73aa1919776835) ) // sprites ROM_LOAD64_WORD( "gfx2l", 0x000002, 0x100000, CRC(96b91802) SHA1(641943557b59b91f0edd49ec8a73cef7d9268b32) ) ROM_LOAD64_WORD( "gfx1h", 0x000004, 0x100000, CRC(321ed07a) SHA1(5b00ed676daeea974bdce6701667cfe573099dad) ) ROM_LOAD64_WORD( "gfx1l", 0x000006, 0x100000, CRC(46da948e) SHA1(168ac9178ee5bad5931557fb549e1237971d7839) ) ROM_REGION( 0x100000, "oki", 0 ) - ROM_LOAD( "oki1", 0x00000, 0x80000, CRC(ded562e0) SHA1(e67daae3e8e4a3a4979d3debf085f9c332404dd4) ) // xx1xxxxxxxxxxxxxxxx = 0xFF + ROM_LOAD( "oki1", 0x00000, 0x80000, CRC(2967436b) SHA1(44d4bf4c38e340169577098d958a09877067e119) ) ROM_LOAD( "oki2", 0x80000, 0x80000, CRC(74a12d1e) SHA1(b5e23e8efea2cf19385c081cfe8088bead132c21) ) ROM_REGION( 0x80, "eeprom", 0 ) ROM_LOAD( "xmen_aea.nv", 0x0000, 0x0080, CRC(d73d4f20) SHA1(b39906eb59ecf8f1e8141b467021e0a581186d47) ) ROM_REGION( 0x400, "plds", 0 ) - ROM_LOAD( "gal16v8b", 0x000, 0x117, NO_DUMP ) // near the sprite hw and ROMs - ROM_LOAD( "gal16v8d", 0x200, 0x117, NO_DUMP ) // near the M6295 + ROM_LOAD( "gal16v8b", 0x000, 0x117, CRC(af9802f9) SHA1(173466314d8672232fa6ed7ad7ec0a3b6aeae85a) ) // near the sprite hw and ROMs + ROM_LOAD( "gal16v8d", 0x200, 0x117, CRC(5f0f86a3) SHA1(bcc78bf37ed8f11f76759a50e7639bb9b063bc29) ) // near the M6295 ROM_END } // anonymous namespace @@ -1262,7 +1260,7 @@ GAME( 1992, xmenj, xmen, xmen, xmen, xmen_state, empty_init, ROT0, "Kon GAME( 1992, xmenja, xmen, xmen, xmen, xmen_state, empty_init, ROT0, "Konami", "X-Men (4 Players ver JEA)", MACHINE_SUPPORTS_SAVE ) GAME( 1992, xmena, xmen, xmen, xmen, xmen_state, empty_init, ROT0, "Konami", "X-Men (4 Players ver AEA)", MACHINE_SUPPORTS_SAVE ) GAME( 1992, xmenaa, xmen, xmen, xmen, xmen_state, empty_init, ROT0, "Konami", "X-Men (4 Players ver ADA)", MACHINE_SUPPORTS_SAVE ) -GAME( 1992, xmenabl, xmen, xmenabl, xmen, xmen_state, empty_init, ROT0, "bootleg", "X-Men (4 Players ver AEA, bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // sprites are wrong, one oki ROM may be bad or the banking not correct (or both) +GAME( 1992, xmenabl, xmen, xmenabl, xmen, xmen_state, empty_init, ROT0, "bootleg", "X-Men (4 Players ver AEA, bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // sprites are wrong, Oki banking not correct (doubtful it can be this bad, even being a bootleg) GAME( 1992, xmen2pe, xmen, xmen, xmen2p, xmen_state, empty_init, ROT0, "Konami", "X-Men (2 Players ver EAA)", MACHINE_SUPPORTS_SAVE ) GAME( 1992, xmen2pu, xmen, xmen, xmen2p, xmen_state, empty_init, ROT0, "Konami", "X-Men (2 Players ver UAB)", MACHINE_SUPPORTS_SAVE ) |