diff options
Diffstat (limited to 'src/mame/includes/nmk16.h')
-rw-r--r-- | src/mame/includes/nmk16.h | 53 |
1 files changed, 19 insertions, 34 deletions
diff --git a/src/mame/includes/nmk16.h b/src/mame/includes/nmk16.h index e16bde44ec8..392f388537f 100644 --- a/src/mame/includes/nmk16.h +++ b/src/mame/includes/nmk16.h @@ -22,18 +22,17 @@ public: m_palette(*this, "palette"), m_nmk004(*this, "nmk004"), m_soundlatch(*this, "soundlatch"), - m_nmk_bgvideoram0(*this, "nmk_bgvideoram0"), + m_nmk_bgvideoram(*this, "nmk_bgvideoram%u", 0), m_nmk_txvideoram(*this, "nmk_txvideoram"), m_mainram(*this, "mainram"), m_gunnail_scrollram(*this, "scrollram"), m_spriteram(*this, "spriteram"), m_nmk_fgvideoram(*this, "nmk_fgvideoram"), m_gunnail_scrollramy(*this, "scrollramy"), - m_nmk_bgvideoram1(*this, "nmk_bgvideoram1"), - m_nmk_bgvideoram2(*this, "nmk_bgvideoram2"), - m_nmk_bgvideoram3(*this, "nmk_bgvideoram3"), - m_afega_scroll_0(*this, "afega_scroll_0"), - m_afega_scroll_1(*this, "afega_scroll_1"), + m_afega_scroll(*this, "afega_scroll_%u", 0), + m_tilemap_rom(*this, "tilerom"), + m_audiobank(*this, "audiobank"), + m_okibank(*this, "okibank%u", 1), m_sprdma_base(0x8000) {} @@ -46,19 +45,18 @@ public: optional_device<nmk004_device> m_nmk004; optional_device<generic_latch_8_device> m_soundlatch; - required_shared_ptr<uint16_t> m_nmk_bgvideoram0; + optional_shared_ptr_array<uint16_t, 4> m_nmk_bgvideoram; optional_shared_ptr<uint16_t> m_nmk_txvideoram; required_shared_ptr<uint16_t> m_mainram; optional_shared_ptr<uint16_t> m_gunnail_scrollram; optional_shared_ptr<uint8_t> m_spriteram; optional_shared_ptr<uint16_t> m_nmk_fgvideoram; optional_shared_ptr<uint16_t> m_gunnail_scrollramy; - optional_shared_ptr<uint16_t> m_nmk_bgvideoram1; - optional_shared_ptr<uint16_t> m_nmk_bgvideoram2; - optional_shared_ptr<uint16_t> m_nmk_bgvideoram3; - optional_shared_ptr<uint16_t> m_afega_scroll_0; - optional_shared_ptr<uint16_t> m_afega_scroll_1; - + optional_shared_ptr_array<uint16_t, 2> m_afega_scroll; + + optional_region_ptr<uint16_t> m_tilemap_rom; + optional_memory_bank m_audiobank; + optional_memory_bank_array<2> m_okibank; int m_sprdma_base; int mask[4*2]; @@ -70,10 +68,7 @@ public: int m_videoshift; int m_bioship_background_bank; uint8_t m_bioship_scroll[4]; - tilemap_t *m_bg_tilemap0; - tilemap_t *m_bg_tilemap1; - tilemap_t *m_bg_tilemap2; - tilemap_t *m_bg_tilemap3; + tilemap_t *m_bg_tilemap[4]; tilemap_t *m_tx_tilemap; tilemap_t *m_fg_tilemap; std::unique_ptr<bitmap_ind16> m_background_bitmap; @@ -87,27 +82,19 @@ public: uint8_t m_coin_count[2]; uint8_t m_coin_count_frac[2]; DECLARE_WRITE16_MEMBER(nmk16_mainram_strange_w); - DECLARE_WRITE16_MEMBER(ssmissin_sound_w); DECLARE_WRITE8_MEMBER(ssmissin_soundbank_w); DECLARE_WRITE16_MEMBER(tharrier_mcu_control_w); DECLARE_READ16_MEMBER(tharrier_mcu_r); DECLARE_WRITE16_MEMBER(macross2_sound_reset_w); - DECLARE_WRITE16_MEMBER(macross2_sound_command_w); DECLARE_WRITE8_MEMBER(macross2_sound_bank_w); - DECLARE_WRITE8_MEMBER(tharrier_oki6295_bankswitch_0_w); - DECLARE_WRITE8_MEMBER(tharrier_oki6295_bankswitch_1_w); - DECLARE_WRITE16_MEMBER(afega_soundlatch_w); + template<int Chip> DECLARE_WRITE8_MEMBER(tharrier_oki6295_bankswitch_w); DECLARE_WRITE16_MEMBER(hachamf_mainram_w); DECLARE_WRITE16_MEMBER(tdragon_mainram_w); DECLARE_READ16_MEMBER(vandykeb_r); DECLARE_READ16_MEMBER(tdragonb_prot_r); DECLARE_READ16_MEMBER(afega_unknown_r); - DECLARE_WRITE16_MEMBER(afega_scroll0_w); - DECLARE_WRITE16_MEMBER(afega_scroll1_w); - DECLARE_WRITE16_MEMBER(nmk_bgvideoram0_w); - DECLARE_WRITE16_MEMBER(nmk_bgvideoram1_w); - DECLARE_WRITE16_MEMBER(nmk_bgvideoram2_w); - DECLARE_WRITE16_MEMBER(nmk_bgvideoram3_w); + template<int Scroll> DECLARE_WRITE16_MEMBER(afega_scroll_w); + template<int Bank> DECLARE_WRITE16_MEMBER(nmk_bgvideoram_w); DECLARE_WRITE16_MEMBER(nmk_fgvideoram_w); DECLARE_WRITE16_MEMBER(nmk_txvideoram_w); DECLARE_WRITE16_MEMBER(mustang_scroll_w); @@ -141,13 +128,11 @@ public: DECLARE_DRIVER_INIT(redfoxwp2a); DECLARE_DRIVER_INIT(grdnstrmg); DECLARE_DRIVER_INIT(bjtwin); - TILEMAP_MAPPER_MEMBER(afega_tilemap_scan_pages); - TILE_GET_INFO_MEMBER(macross_get_bg0_tile_info); - TILE_GET_INFO_MEMBER(macross_get_bg1_tile_info); - TILE_GET_INFO_MEMBER(macross_get_bg2_tile_info); - TILE_GET_INFO_MEMBER(macross_get_bg3_tile_info); + DECLARE_DRIVER_INIT(atombjt); + TILEMAP_MAPPER_MEMBER(tilemap_scan_pages); + template<int Bank> TILE_GET_INFO_MEMBER(common_get_bg_tile_info); TILE_GET_INFO_MEMBER(strahl_get_fg_tile_info); - TILE_GET_INFO_MEMBER(macross_get_tx_tile_info); + TILE_GET_INFO_MEMBER(common_get_tx_tile_info); TILE_GET_INFO_MEMBER(bjtwin_get_bg_tile_info); TILE_GET_INFO_MEMBER(get_tile_info_0_8bit); DECLARE_VIDEO_START(macross); |