summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/isa/omti8621.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/isa/omti8621.h')
-rw-r--r--src/devices/bus/isa/omti8621.h55
1 files changed, 28 insertions, 27 deletions
diff --git a/src/devices/bus/isa/omti8621.h b/src/devices/bus/isa/omti8621.h
index 6aabeb85780..0893dec9352 100644
--- a/src/devices/bus/isa/omti8621.h
+++ b/src/devices/bus/isa/omti8621.h
@@ -16,8 +16,10 @@
#pragma once
#include "isa.h"
-#include "machine/upd765.h"
+
#include "imagedev/floppy.h"
+#include "machine/upd765.h"
+
/***************************************************************************
FUNCTION PROTOTYPES
@@ -33,8 +35,6 @@ public:
uint16_t read(offs_t offset, uint16_t mem_mask = 0xffff);
void write(offs_t offset, uint16_t data, uint16_t mem_mask = 0xffff);
- static void set_verbose(int on_off);
-
protected:
static constexpr unsigned OMTI_MAX_LUN = 1;
static constexpr unsigned CDB_SIZE = 10;
@@ -46,11 +46,10 @@ protected:
device_t *owner,
uint32_t clock);
- // device-level overrides
+ // device_t implementation
virtual void device_start() override;
virtual void device_reset() override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual void device_add_mconfig(machine_config &config) override;
virtual ioport_constructor device_input_ports() const override;
@@ -59,7 +58,9 @@ protected:
virtual void dack_line_w(int line, int state) override;
virtual void eop_w(int state) override;
- void set_interrupt(enum line_state line_state);
+ void set_interrupt(line_state state);
+
+ TIMER_CALLBACK_MEMBER(trigger_interrupt);
required_device<upd765a_device> m_fdc;
optional_device_array<floppy_connector, 2> m_floppy;
@@ -71,8 +72,8 @@ protected:
std::string cpu_context() const;
private:
- DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
- DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
+ void fdc_irq_w(int state);
+ void fdc_drq_w(int state);
static void floppy_formats(format_registration &fr);
void fd_moten_w(uint8_t data);
@@ -82,34 +83,34 @@ private:
void fdc_map(address_map &map);
- uint16_t jumper;
+ uint16_t m_jumper;
- uint8_t omti_state;
+ uint8_t m_omti_state;
- uint8_t status_port;
- uint8_t config_port;
- uint8_t mask_port;
+ uint8_t m_status_port;
+ uint8_t m_config_port;
+ uint8_t m_mask_port;
// command descriptor block
- uint8_t command_buffer[CDB_SIZE];
- int command_length;
- int command_index;
- int command_status;
+ uint8_t m_command_buffer[CDB_SIZE];
+ uint8_t m_command_length;
+ uint16_t m_command_index;
+ uint8_t m_command_status;
// data buffer
- std::vector<uint8_t> sector_buffer;
- uint8_t *data_buffer;
- int data_length;
- int data_index;
+ std::vector<uint8_t> m_sector_buffer;
+ uint8_t *m_data_buffer;
+ uint16_t m_data_length;
+ uint16_t m_data_index;
// sense data
- uint8_t sense_data[4];
+ uint8_t m_sense_data[4];
// these are used only to satisfy dex
- uint32_t diskaddr_ecc_error;
- uint32_t diskaddr_format_bad_track;
- uint8_t alternate_track_buffer[4];
- uint32_t alternate_track_address[2];
+ uint32_t m_diskaddr_ecc_error;
+ uint32_t m_diskaddr_format_bad_track;
+ uint8_t m_alternate_track_buffer[4];
+ uint32_t m_alternate_track_address[2];
emu_timer *m_timer;
@@ -162,7 +163,7 @@ public:
omti8621_apollo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// get sector diskaddr of logical unit lun into data_buffer
- uint32_t get_sector(int32_t diskaddr, uint8_t *data_buffer, uint32_t length, uint8_t lun);
+ uint32_t get_sector(int32_t diskaddr, uint8_t *buffer, uint32_t length, uint8_t lun);
protected:
virtual void device_add_mconfig(machine_config &config) override;