summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/m92.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/m92.h')
-rw-r--r--src/mame/includes/m92.h70
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: