diff --git a/src/mame/drivers/rocnrope.c b/src/mame/drivers/rocnrope.c index a053b3b2f76..4823bc6d7fb 100644 --- a/src/mame/drivers/rocnrope.c +++ b/src/mame/drivers/rocnrope.c @@ -344,10 +344,11 @@ ROM_START( ropeman ) ROM_LOAD( "pal10l8.6g", 0x0000, 0x0001, NO_DUMP ) ROM_REGION( 0x01D6, "pals_daughterbd", 0 ) /* N82S153's located on the daughterboard of the cpu/video board */ - ROM_LOAD( "n82s153.pal1.bin", 0x0000, 0x00EB, CRC(baebe804) SHA1(c2e084b4df8a5c6d12cc34106583b532cd7a697b) ) /* Signetics N82S153 */ - ROM_LOAD( "n82s153.pal2.bin", 0x00EB, 0x00EB, CRC(a0e1b7a0) SHA1(7c3ce1a286bef69830a5e67a85965fe71f7ee283) ) /* Signetics N82S153 */ + ROM_LOAD( "n82s153.pal1.bin", 0x0000, 0x00eb, CRC(baebe804) SHA1(c2e084b4df8a5c6d12cc34106583b532cd7a697b) ) /* Signetics N82S153 */ + ROM_LOAD( "n82s153.pal2.bin", 0x00eb, 0x00eb, CRC(a0e1b7a0) SHA1(7c3ce1a286bef69830a5e67a85965fe71f7ee283) ) /* Signetics N82S153 */ ROM_END + /************************************* * * Driver initialization @@ -356,11 +357,7 @@ ROM_END DRIVER_INIT_MEMBER(rocnrope_state,rocnrope) { - memregion("maincpu")->base()[0x703d] = 0x98^0x88; /* fix one instruction */ -} - -DRIVER_INIT_MEMBER(rocnrope_state,rocnropk) -{ + memregion("maincpu")->base()[0x703d] = 0x98^0x22; // HACK: fix one instruction } @@ -370,6 +367,6 @@ DRIVER_INIT_MEMBER(rocnrope_state,rocnropk) * *************************************/ -GAME( 1983, rocnrope, 0, rocnrope, rocnrope, rocnrope_state, rocnrope, ROT270, "Konami", "Roc'n Rope", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, rocnropek,rocnrope, rocnrope, rocnrope, rocnrope_state, rocnropk, ROT270, "Konami / Kosuka", "Roc'n Rope (Kosuka)", MACHINE_SUPPORTS_SAVE ) -GAME( 1983, ropeman, rocnrope, rocnrope, rocnrope, rocnrope_state, rocnrope, ROT270, "bootleg", "Ropeman (bootleg of Roc'n Rope)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, rocnrope, 0, rocnrope, rocnrope, rocnrope_state, rocnrope, ROT270, "Konami", "Roc'n Rope", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, rocnropek, rocnrope, rocnrope, rocnrope, driver_device, 0, ROT270, "Konami (Kosuka license)", "Roc'n Rope (Kosuka)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, ropeman, rocnrope, rocnrope, rocnrope, rocnrope_state, rocnrope, ROT270, "bootleg", "Ropeman (bootleg of Roc'n Rope)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/includes/rocnrope.h b/src/mame/includes/rocnrope.h index 9345b69eeef..545862727c3 100644 --- a/src/mame/includes/rocnrope.h +++ b/src/mame/includes/rocnrope.h @@ -5,38 +5,40 @@ class rocnrope_state : public driver_device public: rocnrope_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_gfxdecode(*this, "gfxdecode"), + m_palette(*this, "palette"), m_spriteram2(*this, "spriteram2"), m_spriteram(*this, "spriteram"), m_colorram(*this, "colorram"), - m_videoram(*this, "videoram"), - m_maincpu(*this, "maincpu"), - m_gfxdecode(*this, "gfxdecode"), - m_palette(*this, "palette") { } + m_videoram(*this, "videoram") + { } - /* memory pointers */ + // devices + required_device m_maincpu; + required_device m_gfxdecode; + required_device m_palette; + + // memory pointers required_shared_ptr m_spriteram2; required_shared_ptr m_spriteram; required_shared_ptr m_colorram; required_shared_ptr m_videoram; - /* video-related */ - tilemap_t *m_bg_tilemap; - - UINT8 m_irq_mask; + tilemap_t *m_bg_tilemap; + UINT8 m_irq_mask; + DECLARE_WRITE8_MEMBER(rocnrope_interrupt_vector_w); DECLARE_WRITE8_MEMBER(irq_mask_w); DECLARE_WRITE8_MEMBER(rocnrope_videoram_w); DECLARE_WRITE8_MEMBER(rocnrope_colorram_w); DECLARE_WRITE8_MEMBER(rocnrope_flipscreen_w); DECLARE_DRIVER_INIT(rocnrope); - DECLARE_DRIVER_INIT(rocnropk); + TILE_GET_INFO_MEMBER(get_bg_tile_info); virtual void video_start(); DECLARE_PALETTE_INIT(rocnrope); UINT32 screen_update_rocnrope(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(vblank_irq); void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect ); - required_device m_maincpu; - required_device m_gfxdecode; - required_device m_palette; };