diff options
Diffstat (limited to 'src/mame/includes/ms32.h')
-rw-r--r-- | src/mame/includes/ms32.h | 65 |
1 files changed, 39 insertions, 26 deletions
diff --git a/src/mame/includes/ms32.h b/src/mame/includes/ms32.h index 65daebbc921..9fe4fa159f9 100644 --- a/src/mame/includes/ms32.h +++ b/src/mame/includes/ms32.h @@ -11,11 +11,11 @@ class ms32_state : public driver_device public: ms32_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), + m_palette(*this, "palette"), + m_gfxdecode(*this, "gfxdecode"), m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), - m_gfxdecode(*this, "gfxdecode"), m_screen(*this, "screen"), - m_palette(*this, "palette"), m_soundlatch(*this, "soundlatch"), m_mainram(*this, "mainram"), m_roz_ctrl(*this, "roz_ctrl"), @@ -32,11 +32,45 @@ public: m_f1superb_extraram(*this, "f1sb_extraram", 32), m_z80bank(*this, "z80bank%u", 1) { } + void ms32(machine_config &config); + void f1superb(machine_config &config); + + void init_ss92047_01(); + void init_ss91022_10(); + void init_kirarast(); + void init_suchie2(); + void init_ss92048_01(); + void init_bnstars(); + void init_f1superb(); + void init_ss92046_01(); + + IRQ_CALLBACK_MEMBER(irq_callback); + DECLARE_CUSTOM_INPUT_MEMBER(mahjong_ctrl_r); + +protected: + + void configure_banks(); + + TIMER_DEVICE_CALLBACK_MEMBER(ms32_interrupt); + DECLARE_WRITE8_MEMBER(ms32_snd_bank_w); + + DECLARE_READ8_MEMBER(latch_r); + DECLARE_WRITE8_MEMBER(to_main_w); + DECLARE_READ32_MEMBER(ms32_sound_r); + DECLARE_WRITE32_MEMBER(ms32_sound_w); + DECLARE_WRITE32_MEMBER(reset_sub_w); + + required_device<palette_device> m_palette; + required_device<gfxdecode_device> m_gfxdecode; + + int m_reverse_sprite_order; + int m_flipscreen; + +private: + required_device<cpu_device> m_maincpu; required_device<cpu_device> m_audiocpu; - required_device<gfxdecode_device> m_gfxdecode; optional_device<screen_device> m_screen; - required_device<palette_device> m_palette; optional_device<generic_latch_8_device> m_soundlatch; optional_shared_ptr<uint32_t> m_mainram; @@ -66,16 +100,11 @@ public: bitmap_ind16 m_temp_bitmap_tilemaps; bitmap_ind16 m_temp_bitmap_sprites; bitmap_ind8 m_temp_bitmap_sprites_pri; - int m_reverse_sprite_order; - int m_flipscreen; uint32_t m_brt[4]; int m_brt_r; int m_brt_g; int m_brt_b; DECLARE_READ32_MEMBER(ms32_read_inputs3); - DECLARE_WRITE32_MEMBER(ms32_sound_w); - DECLARE_READ32_MEMBER(ms32_sound_r); - DECLARE_WRITE32_MEMBER(reset_sub_w); DECLARE_READ8_MEMBER(ms32_nvram_r8); DECLARE_WRITE8_MEMBER(ms32_nvram_w8); DECLARE_READ8_MEMBER(ms32_priram_r8); @@ -97,22 +126,11 @@ public: DECLARE_READ16_MEMBER(ms32_extra_r16); DECLARE_WRITE32_MEMBER(ms32_irq2_guess_w); DECLARE_WRITE32_MEMBER(ms32_irq5_guess_w); - DECLARE_READ8_MEMBER(latch_r); - DECLARE_WRITE8_MEMBER(ms32_snd_bank_w); - DECLARE_WRITE8_MEMBER(to_main_w); DECLARE_WRITE32_MEMBER(ms32_brightness_w); DECLARE_WRITE32_MEMBER(ms32_gfxctrl_w); DECLARE_WRITE32_MEMBER(coin_counter_w); - DECLARE_CUSTOM_INPUT_MEMBER(mahjong_ctrl_r); void init_ms32_common(); - void init_ss92047_01(); - void init_ss91022_10(); - void init_kirarast(); - void init_suchie2(); - void init_ss92048_01(); - void init_bnstars(); - void init_f1superb(); - void init_ss92046_01(); + TILE_GET_INFO_MEMBER(get_ms32_tx_tile_info); TILE_GET_INFO_MEMBER(get_ms32_roz_tile_info); TILE_GET_INFO_MEMBER(get_ms32_bg_tile_info); @@ -121,16 +139,11 @@ public: virtual void video_start() override; DECLARE_VIDEO_START(f1superb); uint32_t screen_update_ms32(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - TIMER_DEVICE_CALLBACK_MEMBER(ms32_interrupt); - IRQ_CALLBACK_MEMBER(irq_callback); void irq_init(); void irq_raise(int level); void update_color(int color); void draw_sprites(bitmap_ind16 &bitmap, bitmap_ind8 &bitmap_pri, const rectangle &cliprect, uint16_t *sprram_top, size_t sprram_size, int gfxnum, int reverseorder); void draw_roz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect,int priority); - void configure_banks(); - void ms32(machine_config &config); - void f1superb(machine_config &config); void f1superb_map(address_map &map); void ms32_map(address_map &map); void ms32_sound_map(address_map &map); |