diff options
Diffstat (limited to 'src/mame/includes/bw12.h')
-rw-r--r-- | src/mame/includes/bw12.h | 103 |
1 files changed, 54 insertions, 49 deletions
diff --git a/src/mame/includes/bw12.h b/src/mame/includes/bw12.h index 6a10d8db569..d8e9d9e525e 100644 --- a/src/mame/includes/bw12.h +++ b/src/mame/includes/bw12.h @@ -38,26 +38,61 @@ class bw12_state : public driver_device { public: bw12_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this, Z80_TAG), - m_pia(*this, PIA6821_TAG), - m_sio(*this, Z80SIO_TAG), - m_fdc(*this, UPD765_TAG), - m_kbc(*this, AY3600PRO002_TAG), - m_crtc(*this, MC6845_TAG), - m_pit(*this, PIT8253_TAG), - m_palette(*this, "palette"), - m_centronics(*this, CENTRONICS_TAG), - m_ram(*this, RAM_TAG), - m_floppy0(*this, UPD765_TAG ":1:525dd"), - m_floppy1(*this, UPD765_TAG ":2:525dd"), - m_floppy_timer(*this, FLOPPY_TIMER_TAG), - m_rom(*this, Z80_TAG), - m_char_rom(*this, "chargen"), - m_video_ram(*this, "video_ram"), - m_modifiers(*this, "MODIFIERS") + : driver_device(mconfig, type, tag) + , m_maincpu(*this, Z80_TAG) + , m_pia(*this, PIA6821_TAG) + , m_sio(*this, Z80SIO_TAG) + , m_fdc(*this, UPD765_TAG) + , m_kbc(*this, AY3600PRO002_TAG) + , m_crtc(*this, MC6845_TAG) + , m_pit(*this, PIT8253_TAG) + , m_palette(*this, "palette") + , m_centronics(*this, CENTRONICS_TAG) + , m_ram(*this, RAM_TAG) + , m_floppy0(*this, UPD765_TAG ":1:525dd") + , m_floppy1(*this, UPD765_TAG ":2:525dd") + , m_floppy_timer(*this, FLOPPY_TIMER_TAG) + , m_rom(*this, Z80_TAG) + , m_char_rom(*this, "chargen") + , m_video_ram(*this, "video_ram") + , m_modifiers(*this, "MODIFIERS") + , m_led(*this, "led0") { } + void bankswitch(); + void floppy_motor_off(); + void set_floppy_motor_off_timer(); + void ls259_w(int address, int data); + + DECLARE_READ8_MEMBER( ls259_r ); + DECLARE_WRITE8_MEMBER( ls259_w ); + DECLARE_READ8_MEMBER( pia_pa_r ); + DECLARE_WRITE_LINE_MEMBER( pia_cb2_w ); + DECLARE_WRITE_LINE_MEMBER( pit_out2_w ); + DECLARE_READ_LINE_MEMBER( ay3600_shift_r ); + DECLARE_READ_LINE_MEMBER( ay3600_control_r ); + DECLARE_WRITE_LINE_MEMBER( ay3600_data_ready_w ); + MC6845_UPDATE_ROW( crtc_update_row ); + + TIMER_DEVICE_CALLBACK_MEMBER(floppy_motor_off_tick); + DECLARE_WRITE_LINE_MEMBER(pit_out0_w); + DECLARE_FLOPPY_FORMATS( bw12_floppy_formats ); + DECLARE_FLOPPY_FORMATS( bw14_floppy_formats ); + + DECLARE_WRITE_LINE_MEMBER(write_centronics_busy); + DECLARE_WRITE_LINE_MEMBER(write_centronics_fault); + DECLARE_WRITE_LINE_MEMBER(write_centronics_perror); + + void common(machine_config &config); + void bw14(machine_config &config); + void bw12(machine_config &config); + void bw12_io(address_map &map); + void bw12_mem(address_map &map); + +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + required_device<cpu_device> m_maincpu; required_device<pia6821_device> m_pia; required_device<z80sio0_device> m_sio; @@ -75,24 +110,7 @@ public: required_memory_region m_char_rom; required_shared_ptr<uint8_t> m_video_ram; required_ioport m_modifiers; - - virtual void machine_start() override; - virtual void machine_reset() override; - - void bankswitch(); - void floppy_motor_off(); - void set_floppy_motor_off_timer(); - void ls259_w(int address, int data); - - DECLARE_READ8_MEMBER( ls259_r ); - DECLARE_WRITE8_MEMBER( ls259_w ); - DECLARE_READ8_MEMBER( pia_pa_r ); - DECLARE_WRITE_LINE_MEMBER( pia_cb2_w ); - DECLARE_WRITE_LINE_MEMBER( pit_out2_w ); - DECLARE_READ_LINE_MEMBER( ay3600_shift_r ); - DECLARE_READ_LINE_MEMBER( ay3600_control_r ); - DECLARE_WRITE_LINE_MEMBER( ay3600_data_ready_w ); - MC6845_UPDATE_ROW( crtc_update_row ); + output_finder<> m_led; /* memory state */ int m_bank; @@ -110,23 +128,10 @@ public: int m_motor_on; int m_motor0; int m_motor1; - TIMER_DEVICE_CALLBACK_MEMBER(floppy_motor_off_tick); - DECLARE_WRITE_LINE_MEMBER(pit_out0_w); - DECLARE_FLOPPY_FORMATS( bw12_floppy_formats ); - DECLARE_FLOPPY_FORMATS( bw14_floppy_formats ); - DECLARE_WRITE_LINE_MEMBER(write_centronics_busy); - DECLARE_WRITE_LINE_MEMBER(write_centronics_fault); - DECLARE_WRITE_LINE_MEMBER(write_centronics_perror); int m_centronics_busy; int m_centronics_fault; int m_centronics_perror; - - void common(machine_config &config); - void bw14(machine_config &config); - void bw12(machine_config &config); - void bw12_io(address_map &map); - void bw12_mem(address_map &map); }; #endif |