summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ti99/peb/myarcfdc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ti99/peb/myarcfdc.h')
-rw-r--r--src/devices/bus/ti99/peb/myarcfdc.h42
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