diff options
Diffstat (limited to 'src/mame/includes/m92.h')
-rw-r--r-- | src/mame/includes/m92.h | 70 |
1 files changed, 37 insertions, 33 deletions
diff --git a/src/mame/includes/m92.h b/src/mame/includes/m92.h index 2090bee8a04..f0c07ca5b7a 100644 --- a/src/mame/includes/m92.h +++ b/src/mame/includes/m92.h @@ -29,19 +29,20 @@ public: TIMER_SPRITEBUFFER }; - m92_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_spriteram(*this, "spriteram"), - m_vram_data(*this, "vram_data"), - m_spritecontrol(*this, "spritecontrol"), - m_maincpu(*this, "maincpu"), - m_soundcpu(*this, "soundcpu"), - m_oki(*this, "oki"), - m_gfxdecode(*this, "gfxdecode"), - m_screen(*this, "screen"), - m_palette(*this, "palette"), - m_upd71059c(*this, "upd71059c") - { } + m92_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_spriteram(*this, "spriteram"), + m_vram_data(*this, "vram_data"), + m_spritecontrol(*this, "spritecontrol"), + m_maincpu(*this, "maincpu"), + m_soundcpu(*this, "soundcpu"), + m_oki(*this, "oki"), + m_gfxdecode(*this, "gfxdecode"), + m_screen(*this, "screen"), + m_palette(*this, "palette"), + m_upd71059c(*this, "upd71059c"), + m_eeprom(*this, "eeprom", 16), + m_mainbank(*this, "mainbank") { } required_device<buffered_spriteram16_device> m_spriteram; required_shared_ptr<uint16_t> m_vram_data; @@ -54,6 +55,9 @@ public: required_device<palette_device> m_palette; required_device<pic8259_device> m_upd71059c; + optional_shared_ptr<uint8_t> m_eeprom; + optional_memory_bank m_mainbank; + emu_timer *m_spritebuffer_timer; uint32_t m_raster_irq_position; uint16_t m_videocontrol; @@ -64,40 +68,35 @@ public: uint8_t m_palette_bank; std::vector<uint16_t> m_paletteram; - DECLARE_READ16_MEMBER(m92_eeprom_r); - DECLARE_WRITE16_MEMBER(m92_eeprom_w); - DECLARE_WRITE16_MEMBER(m92_coincounter_w); - DECLARE_WRITE16_MEMBER(m92_bankswitch_w); - DECLARE_WRITE16_MEMBER(m92_sound_reset_w); - DECLARE_WRITE16_MEMBER(m92_spritecontrol_w); - DECLARE_WRITE16_MEMBER(m92_videocontrol_w); - DECLARE_READ16_MEMBER(m92_paletteram_r); - DECLARE_WRITE16_MEMBER(m92_paletteram_w); - DECLARE_WRITE16_MEMBER(m92_vram_w); - DECLARE_WRITE16_MEMBER(m92_pf1_control_w); - DECLARE_WRITE16_MEMBER(m92_pf2_control_w); - DECLARE_WRITE16_MEMBER(m92_pf3_control_w); - DECLARE_WRITE16_MEMBER(m92_master_control_w); + DECLARE_READ16_MEMBER(eeprom_r); + DECLARE_WRITE16_MEMBER(eeprom_w); + DECLARE_WRITE8_MEMBER(coincounter_w); + DECLARE_WRITE8_MEMBER(bankswitch_w); + DECLARE_WRITE16_MEMBER(sound_reset_w); + DECLARE_WRITE16_MEMBER(spritecontrol_w); + DECLARE_WRITE16_MEMBER(videocontrol_w); + DECLARE_READ16_MEMBER(paletteram_r); + DECLARE_WRITE16_MEMBER(paletteram_w); + DECLARE_WRITE16_MEMBER(vram_w); + template<int Layer> DECLARE_WRITE16_MEMBER(pf_control_w); + DECLARE_WRITE16_MEMBER(master_control_w); DECLARE_CUSTOM_INPUT_MEMBER(m92_sprite_busy_r); DECLARE_WRITE16_MEMBER(oki_bank_w); - void init_majtitl2(); - void init_ppan(); - void init_lethalth(); - void init_m92(); - void init_m92_bank(); + void init_bank(); TILE_GET_INFO_MEMBER(get_pf_tile_info); DECLARE_MACHINE_RESET(m92); DECLARE_VIDEO_START(m92); DECLARE_VIDEO_START(ppan); uint32_t screen_update_m92(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_ppan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - TIMER_DEVICE_CALLBACK_MEMBER(m92_scanline_interrupt); + TIMER_DEVICE_CALLBACK_MEMBER(scanline_interrupt); void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void ppan_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void m92_update_scroll_positions(); void m92_draw_tiles(screen_device &screen, bitmap_ind16 &bitmap,const rectangle &cliprect); void m92(machine_config &config); + void m92_banked(machine_config &config); void inthunt(machine_config &config); void lethalth(machine_config &config); void ppan(machine_config &config); @@ -112,10 +111,15 @@ public: void dsoccr94j(machine_config &config); void gunforce(machine_config &config); void majtitl2(machine_config &config); + void majtitl2a(machine_config &config); void mysticri(machine_config &config); void lethalth_map(address_map &map); void m92_map(address_map &map); + void m92_banked_map(address_map &map); + void m92_banked_portmap(address_map &map); + void m92_base_map(address_map &map); void m92_portmap(address_map &map); + void majtitl2_map(address_map &map); void ppan_portmap(address_map &map); void sound_map(address_map &map); protected: |