diff options
Diffstat (limited to 'src/devices/bus/bbc/internal/cumana68k.h')
-rw-r--r-- | src/devices/bus/bbc/internal/cumana68k.h | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/src/devices/bus/bbc/internal/cumana68k.h b/src/devices/bus/bbc/internal/cumana68k.h index e27f14bc4d8..2b565fb4cd6 100644 --- a/src/devices/bus/bbc/internal/cumana68k.h +++ b/src/devices/bus/bbc/internal/cumana68k.h @@ -19,6 +19,7 @@ #include "machine/mc146818.h" #include "imagedev/floppy.h" #include "machine/wd_fdc.h" +#include "formats/os9_dsk.h" #include "bus/scsi/scsi.h" //************************************************************************** @@ -33,25 +34,17 @@ public: // construction/destruction bbc_cumana68k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - DECLARE_WRITE_LINE_MEMBER(write_sasi_sel); - DECLARE_WRITE_LINE_MEMBER(write_sasi_msg); - DECLARE_WRITE_LINE_MEMBER(write_sasi_bsy); - DECLARE_WRITE_LINE_MEMBER(write_sasi_req); - DECLARE_WRITE_LINE_MEMBER(write_sasi_io); - DECLARE_WRITE_LINE_MEMBER(write_sasi_cd); - DECLARE_READ8_MEMBER(pia_sasi_pa_r); - DECLARE_WRITE8_MEMBER(pia_sasi_pa_w); - DECLARE_READ8_MEMBER(pia_sasi_pb_r); - DECLARE_READ_LINE_MEMBER(pia_sasi_cb1_r); DECLARE_WRITE8_MEMBER(pia_rtc_pb_w); + DECLARE_WRITE8_MEMBER(pia_sasi_pb_w); - DECLARE_READ8_MEMBER(dma_r); - DECLARE_WRITE8_MEMBER(dma_w); + DECLARE_READ8_MEMBER(mem6502_r); + DECLARE_WRITE8_MEMBER(mem6502_w); + + DECLARE_FLOPPY_FORMATS(floppy_formats); protected: // device-level overrides virtual void device_start() override; - virtual void device_reset() override; virtual void device_reset_after_children() override; // optional information overrides @@ -59,28 +52,31 @@ protected: virtual const tiny_rom_entry *device_rom_region() const override; private: - DECLARE_WRITE_LINE_MEMBER(intrq_w); - DECLARE_WRITE_LINE_MEMBER(drq_w); DECLARE_WRITE_LINE_MEMBER(reset68008_w); - IRQ_CALLBACK_MEMBER(irq_callback); + DECLARE_WRITE_LINE_MEMBER(rtc_ce_w); - required_device<cpu_device> m_maincpu; required_device<m68000_base_device> m_m68008; required_device<pia6821_device> m_pia_sasi; required_device<pia6821_device> m_pia_rtc; required_device<input_merger_device> m_irqs; required_device<mc146818_device> m_rtc; required_device<wd2797_device> m_fdc; - required_device<floppy_connector> m_floppy0; - optional_device<floppy_connector> m_floppy1; - //required_device<scsi_port_device> m_scsibus; - //required_device<output_latch_device> m_scsi_data_out; - //required_device<input_buffer_device> m_scsi_data_in; + required_device_array<floppy_connector, 4> m_floppy; + required_device<scsi_port_device> m_sasibus; + required_device<output_latch_device> m_sasi_data_out; + required_device<input_buffer_device> m_sasi_data_in; void cumana68k_mem(address_map &map); - bool m_bEnabled; - uint8_t m_pia_sasi_pb; + void fsel_w(offs_t offset, uint8_t data); + + int m_masknmi; + + void mc146818_set(); + int m_mc146818_as; + int m_mc146818_ds; + int m_mc146818_rw; + int m_mc146818_ce; }; |