diff options
Diffstat (limited to 'src/devices/bus/ti99/peb/myarcfdc.h')
-rw-r--r-- | src/devices/bus/ti99/peb/myarcfdc.h | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/src/devices/bus/ti99/peb/myarcfdc.h b/src/devices/bus/ti99/peb/myarcfdc.h index 6917d67c146..2e3bd355576 100644 --- a/src/devices/bus/ti99/peb/myarcfdc.h +++ b/src/devices/bus/ti99/peb/myarcfdc.h @@ -38,27 +38,27 @@ public: void crureadz(offs_t offset, uint8_t *value) override; void cruwrite(offs_t offset, uint8_t data) override; -private: - void device_start() override; - void device_reset() override; - void device_config_complete() override; +protected: + virtual void device_start() override; + virtual void device_reset() override; - const tiny_rom_entry *device_rom_region() const override; - void device_add_mconfig(machine_config &config) override; - ioport_constructor device_input_ports() const override; + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; + virtual ioport_constructor device_input_ports() const override; +private: static void floppy_formats(format_registration &fr); // Callback methods - DECLARE_WRITE_LINE_MEMBER( fdc_irq_w ); - DECLARE_WRITE_LINE_MEMBER( fdc_drq_w ); - DECLARE_WRITE_LINE_MEMBER( fdc_mon_w ); + void fdc_irq_w(int state); + void fdc_drq_w(int state); + void fdc_mon_w(int state); - DECLARE_WRITE_LINE_MEMBER( den_w ); - DECLARE_WRITE_LINE_MEMBER( wdreset_w ); - DECLARE_WRITE_LINE_MEMBER( sidsel_w ); - DECLARE_WRITE_LINE_MEMBER( bankdden_w ); - DECLARE_WRITE_LINE_MEMBER( drivesel_w ); + void den_w(int state); + void wdreset_w(int state); + void sidsel_w(int state); + void bankdden_w(int state); + void drivesel_w(int state); // Deliver the current state of the address bus offs_t get_address(); @@ -86,7 +86,7 @@ private: uint8_t* m_dsrrom; // Link to the attached floppy drives - floppy_image_device* m_floppy[4]; + required_device_array<floppy_connector, 4> m_floppy; // Debugger accessors void debug_read(offs_t offset, uint8_t* value); @@ -103,11 +103,16 @@ private: // Recent address int m_address; + + // AMA/B/C decoding active + bool m_dec_high; }; // =========== Decoder PAL circuit ================ class ddcc1_pal_device : public device_t { + friend class myarc_fdc_device; + public: ddcc1_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); @@ -119,10 +124,9 @@ public: bool cs259(); private: - void device_start() override { }; - void device_config_complete() override; - + void device_start() override { } myarc_fdc_device* m_board; + void set_board(myarc_fdc_device* board) { m_board = board; } }; } // end namespace bus::ti99::peb |