summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/cbmiec/c1541.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/cbmiec/c1541.h')
-rw-r--r--src/devices/bus/cbmiec/c1541.h77
1 files changed, 46 insertions, 31 deletions
diff --git a/src/devices/bus/cbmiec/c1541.h b/src/devices/bus/cbmiec/c1541.h
index 3725da29fa5..d2f3cfca377 100644
--- a/src/devices/bus/cbmiec/c1541.h
+++ b/src/devices/bus/cbmiec/c1541.h
@@ -39,25 +39,6 @@ class c1541_device_base : public device_t,
public device_cbm_iec_interface,
public device_c64_floppy_parallel_interface
{
-public:
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- DECLARE_WRITE_LINE_MEMBER( via0_irq_w );
- virtual DECLARE_READ8_MEMBER( via0_pa_r );
- DECLARE_WRITE8_MEMBER( via0_pa_w );
- DECLARE_READ8_MEMBER( via0_pb_r );
- DECLARE_WRITE8_MEMBER( via0_pb_w );
- DECLARE_WRITE_LINE_MEMBER( via0_ca2_w );
- DECLARE_WRITE_LINE_MEMBER( via1_irq_w );
- DECLARE_READ8_MEMBER( via1_pb_r );
- DECLARE_WRITE8_MEMBER( via1_pb_w );
- DECLARE_WRITE_LINE_MEMBER( atn_w );
- DECLARE_WRITE_LINE_MEMBER( byte_w );
-
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
protected:
// construction/destruction
c1541_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -66,6 +47,10 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_cbm_iec_interface overrides
virtual void cbm_iec_atn(int state) override;
virtual void cbm_iec_reset(int state) override;
@@ -74,6 +59,9 @@ protected:
virtual void parallel_data_w(uint8_t data) override;
virtual void parallel_strobe_w(int state) override;
+ required_device<floppy_image_device> m_floppy;
+
+private:
enum
{
LED_POWER = 0,
@@ -82,11 +70,24 @@ protected:
inline void set_iec_data();
+ DECLARE_WRITE_LINE_MEMBER( via0_irq_w );
+ virtual DECLARE_READ8_MEMBER( via0_pa_r );
+ DECLARE_WRITE8_MEMBER( via0_pa_w );
+ DECLARE_READ8_MEMBER( via0_pb_r );
+ DECLARE_WRITE8_MEMBER( via0_pb_w );
+ DECLARE_WRITE_LINE_MEMBER( via0_ca2_w );
+ DECLARE_WRITE_LINE_MEMBER( via1_irq_w );
+ DECLARE_READ8_MEMBER( via1_pb_r );
+ DECLARE_WRITE8_MEMBER( via1_pb_w );
+ DECLARE_WRITE_LINE_MEMBER( atn_w );
+ DECLARE_WRITE_LINE_MEMBER( byte_w );
+
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<m6502_device> m_maincpu;
required_device<via6522_device> m_via0;
required_device<via6522_device> m_via1;
required_device<c64h156_device> m_ga;
- required_device<floppy_image_device> m_floppy;
required_ioport m_address;
// IEC bus
@@ -106,6 +107,7 @@ public:
// construction/destruction
c1540_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
@@ -119,6 +121,7 @@ public:
// construction/destruction
c1541_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
@@ -132,10 +135,12 @@ public:
// construction/destruction
c1541c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+private:
// not really public
virtual DECLARE_READ8_MEMBER( via0_pa_r ) override;
};
@@ -149,6 +154,7 @@ public:
// construction/destruction
c1541ii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
@@ -162,6 +168,7 @@ public:
// construction/destruction
sx1541_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
@@ -175,6 +182,7 @@ public:
// construction/destruction
fsd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
@@ -188,6 +196,7 @@ public:
// construction/destruction
fsd2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -204,6 +213,7 @@ public:
// construction/destruction
csd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
@@ -217,9 +227,10 @@ public:
// construction/destruction
c1541_dolphin_dos_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
@@ -231,9 +242,10 @@ public:
// construction/destruction
c1541_professional_dos_v1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
@@ -245,25 +257,27 @@ public:
// construction/destruction
c1541_prologic_dos_classic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
-
// not really public
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
+protected:
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
DECLARE_READ8_MEMBER( pia_r );
DECLARE_WRITE8_MEMBER( pia_w );
- DECLARE_WRITE8_MEMBER( pia_pa_w );
- DECLARE_READ8_MEMBER( pia_pb_r );
- DECLARE_WRITE8_MEMBER( pia_pb_w );
-
protected:
required_device<pia6821_device> m_pia;
required_device<output_latch_device> m_cent_data_out;
required_memory_region m_mmu_rom;
+
+private:
+ DECLARE_WRITE8_MEMBER( pia_pa_w );
+ DECLARE_READ8_MEMBER( pia_pb_r );
+ DECLARE_WRITE8_MEMBER( pia_pb_w );
};
@@ -275,6 +289,7 @@ public:
// construction/destruction
indus_gt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};