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