diff options
Diffstat (limited to 'src/mame/includes/segas24.h')
-rw-r--r-- | src/mame/includes/segas24.h | 129 |
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); |