summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/segas24.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/segas24.h')
-rw-r--r--src/mame/includes/segas24.h129
1 files changed, 64 insertions, 65 deletions
diff --git a/src/mame/includes/segas24.h b/src/mame/includes/segas24.h
index 55c861f5dc8..15b636fa7e3 100644
--- a/src/mame/includes/segas24.h
+++ b/src/mame/includes/segas24.h
@@ -7,7 +7,6 @@
#include "machine/timer.h"
#include "video/segaic24.h"
-#include "sound/dac.h"
#include "screen.h"
class segas24_state : public driver_device
@@ -17,11 +16,11 @@ public:
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_subcpu(*this, "subcpu")
- , m_dac(*this, "dac")
, m_screen(*this, "screen")
, m_palette(*this, "palette")
, m_generic_paletteram_16(*this, "paletteram")
, m_romboard(*this, "romboard")
+ , m_floppy(*this, "floppy")
, m_irq_timer(*this, "irq_timer")
, m_irq_timer_clear(*this, "irq_timer_clear")
, m_frc_cnt_timer(*this, "frc_timer")
@@ -33,61 +32,85 @@ public:
, m_p2(*this, "P2")
, m_p3(*this, "P3")
, m_paddle(*this, "PADDLE")
- , m_dials(*this, {"DIAL1", "DIAL2", "DIAL3", "DIAL4"})
, m_mj_inputs(*this, {"MJ0", "MJ1", "MJ2", "MJ3", "MJ4", "MJ5", "P1", "P2"})
{
}
+ void init_crkdown();
+ void init_quizmeku();
+ void init_qrouka();
+ void init_roughrac();
+ void init_qgh();
+ void init_gground();
+ void init_mahmajn2();
+ void init_sspiritj();
+ void init_mahmajn();
+ void init_hotrod();
+ void init_sspirits();
+ void init_dcclub();
+ void init_bnzabros();
+ void init_dcclubfd();
+ void init_qsww();
+ void init_sgmast();
+
+ void mahmajn(machine_config &config);
+ void system24_floppy_fd_upd(machine_config &config);
+ void system24_floppy(machine_config &config);
+ void system24_floppy_fd1094(machine_config &config);
+ void dcclub(machine_config &config);
+ void system24_floppy_dcclub(machine_config &config);
+ void system24_floppy_hotrod(machine_config &config);
+ void system24(machine_config &config);
+
+private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_subcpu;
- required_device<dac_byte_interface> m_dac;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
required_shared_ptr<uint16_t> m_generic_paletteram_16;
optional_memory_region m_romboard;
+ optional_region_ptr<uint8_t> m_floppy;
+
+ static const uint8_t s_mahmajn_mlt[8];
+ static const uint8_t s_mahmajn2_mlt[8];
+ static const uint8_t s_qgh_mlt[8];
+ static const uint8_t s_bnzabros_mlt[8];
+ static const uint8_t s_qrouka_mlt[8];
+ static const uint8_t s_quizmeku_mlt[8];
+ static const uint8_t s_dcclub_mlt[8];
- static const uint8_t mahmajn_mlt[8];
- static const uint8_t mahmajn2_mlt[8];
- static const uint8_t qgh_mlt[8];
- static const uint8_t bnzabros_mlt[8];
- static const uint8_t qrouka_mlt[8];
- static const uint8_t quizmeku_mlt[8];
- static const uint8_t dcclub_mlt[8];
-
- int fdc_status;
- int fdc_track;
- int fdc_sector;
- int fdc_data;
- int fdc_phys_track;
- int fdc_irq;
- int fdc_drq;
- int fdc_span;
- int fdc_index_count;
- uint8_t *fdc_pt;
- int track_size;
- int cur_input_line;
- uint8_t curbank;
- uint8_t mlatch;
- const uint8_t *mlatch_table;
-
- uint16_t irq_tdata, irq_tval;
- uint8_t irq_tmode, irq_allow0, irq_allow1;
- int irq_timer_pend0;
- int irq_timer_pend1;
- int irq_yms;
- int irq_vblank;
- int irq_sprite;
- attotime irq_synctime, irq_vsynctime;
+ int m_fdc_status;
+ int m_fdc_track;
+ int m_fdc_sector;
+ int m_fdc_data;
+ int m_fdc_phys_track;
+ bool m_fdc_irq;
+ bool m_fdc_drq;
+ int m_fdc_span;
+ int m_fdc_index_count;
+ uint8_t *m_fdc_pt;
+ int m_track_size;
+ int m_cur_input_line;
+ uint8_t m_curbank;
+ uint8_t m_mlatch;
+ const uint8_t *m_mlatch_table;
+
+ uint16_t m_irq_tdata, m_irq_tval;
+ uint8_t m_irq_tmode, m_irq_allow0, m_irq_allow1;
+ bool m_irq_timer_pend0;
+ bool m_irq_timer_pend1;
+ bool m_irq_yms;
+ bool m_irq_vblank;
+ bool m_irq_sprite;
+ attotime m_irq_synctime, m_irq_vsynctime;
required_device<timer_device> m_irq_timer;
required_device<timer_device> m_irq_timer_clear;
- //timer_device *irq_frc;
+ //timer_device *m_irq_frc;
required_device<timer_device> m_frc_cnt_timer;
- uint8_t frc_mode;
+ uint8_t m_frc_mode;
bool m_cnt1;
- uint16_t *shared_ram;
-
required_device<segas24_tile_device> m_vtile;
required_device<segas24_sprite_device> m_vsprite;
required_device<segas24_mixer_device> m_vmixer;
@@ -127,22 +150,6 @@ public:
void irq_timer_sync();
void irq_timer_start(int old_tmode);
WRITE_LINE_MEMBER(cnt1);
- void init_crkdown();
- void init_quizmeku();
- void init_qrouka();
- void init_roughrac();
- void init_qgh();
- void init_gground();
- void init_mahmajn2();
- void init_sspiritj();
- void init_mahmajn();
- void init_hotrod();
- void init_sspirits();
- void init_dcclub();
- void init_bnzabros();
- void init_dcclubfd();
- void init_qsww();
- void init_sgmast();
virtual void machine_start() override;
virtual void machine_reset() override;
uint32_t screen_update_system24(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -158,16 +165,8 @@ public:
required_ioport m_p2;
required_ioport m_p3;
optional_ioport m_paddle;
- optional_ioport_array<4> m_dials;
optional_ioport_array<8> m_mj_inputs;
- void mahmajn(machine_config &config);
- void system24_floppy_fd_upd(machine_config &config);
- void system24_floppy(machine_config &config);
- void system24_floppy_fd1094(machine_config &config);
- void dcclub(machine_config &config);
- void system24_floppy_dcclub(machine_config &config);
- void system24_floppy_hotrod(machine_config &config);
- void system24(machine_config &config);
+
void decrypted_opcodes_map(address_map &map);
void hotrod_cpu1_map(address_map &map);
void hotrod_cpu2_map(address_map &map);