From aca2fcf01ca745ce6e0374db928305a2b8cfe216 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Sat, 14 Jul 2018 00:04:51 +1000 Subject: (nw) clean up properly and remove comments that just repeat function names as they add no value and create clutter --- src/devices/machine/i8255.cpp | 167 +++++++----------------------------------- src/devices/machine/i8255.h | 13 +--- 2 files changed, 29 insertions(+), 151 deletions(-) diff --git a/src/devices/machine/i8255.cpp b/src/devices/machine/i8255.cpp index 0f2da852037..ff2a43f3caf 100644 --- a/src/devices/machine/i8255.cpp +++ b/src/devices/machine/i8255.cpp @@ -73,10 +73,6 @@ DEFINE_DEVICE_TYPE(AMS40489_PPI, ams40489_ppi_device, "ams40489_ppi", "Amstrad A // INLINE HELPERS //************************************************************************** -//------------------------------------------------- -// check_interrupt - -//------------------------------------------------- - inline void i8255_device::check_interrupt(int port) { switch (group_mode(port)) @@ -101,10 +97,6 @@ inline void i8255_device::check_interrupt(int port) } -//------------------------------------------------- -// set_ibf - -//------------------------------------------------- - inline void i8255_device::set_ibf(int port, int state) { LOG("I8255 Port %c IBF: %u\n", 'A' + port, state); @@ -115,10 +107,6 @@ inline void i8255_device::set_ibf(int port, int state) } -//------------------------------------------------- -// set_obf - -//------------------------------------------------- - inline void i8255_device::set_obf(int port, int state) { LOG("I8255 Port %c OBF: %u\n", 'A' + port, state); @@ -129,10 +117,6 @@ inline void i8255_device::set_obf(int port, int state) } -//------------------------------------------------- -// set_inte - -//------------------------------------------------- - inline void i8255_device::set_inte(int port, int state) { LOG("I8255 Port %c INTE: %u\n", 'A' + port, state); @@ -143,10 +127,6 @@ inline void i8255_device::set_inte(int port, int state) } -//------------------------------------------------- -// set_inte1 - -//------------------------------------------------- - inline void i8255_device::set_inte1(int state) { LOG("I8255 Port A INTE1: %u\n", state); @@ -157,10 +137,6 @@ inline void i8255_device::set_inte1(int state) } -//------------------------------------------------- -// set_inte2 - -//------------------------------------------------- - inline void i8255_device::set_inte2(int state) { LOG("I8255 Port A INTE2: %u\n", state); @@ -171,10 +147,6 @@ inline void i8255_device::set_inte2(int state) } -//------------------------------------------------- -// set_intr - -//------------------------------------------------- - inline void i8255_device::set_intr(int port, int state) { LOG("I8255 Port %c INTR: %u\n", 'A' + port, state); @@ -185,10 +157,6 @@ inline void i8255_device::set_intr(int port, int state) } -//------------------------------------------------- -// group_mode - -//------------------------------------------------- - inline int i8255_device::group_mode(int group) { int mode = 0; @@ -213,10 +181,6 @@ inline int i8255_device::group_mode(int group) } -//------------------------------------------------- -// port_mode - -//------------------------------------------------- - inline int i8255_device::port_mode(int port) { int mode = 0; @@ -231,20 +195,12 @@ inline int i8255_device::port_mode(int port) } -//------------------------------------------------- -// port_c_lower_mode - -//------------------------------------------------- - inline int i8255_device::port_c_lower_mode() { return m_control & CONTROL_PORT_C_LOWER_INPUT ? MODE_INPUT : MODE_OUTPUT; } -//------------------------------------------------- -// port_c_upper_mode - -//------------------------------------------------- - inline int i8255_device::port_c_upper_mode() { return m_control & CONTROL_PORT_C_UPPER_INPUT ? MODE_INPUT : MODE_OUTPUT; @@ -261,33 +217,29 @@ inline int i8255_device::port_c_upper_mode() //------------------------------------------------- i8255_device::i8255_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_ams40489) - : device_t(mconfig, type, tag, owner, clock), - m_force_portb_in(is_ams40489), - m_force_portc_out(is_ams40489), - m_dont_clear_output_latches(is_ams40489), - m_in_pa_cb(*this), - m_in_pb_cb(*this), - m_in_pc_cb(*this), - m_out_pa_cb(*this), - m_out_pb_cb(*this), - m_out_pc_cb(*this), - m_tri_pa_cb(*this), - m_tri_pb_cb(*this) + : device_t(mconfig, type, tag, owner, clock) + , m_force_portb_in(is_ams40489) + , m_force_portc_out(is_ams40489) + , m_dont_clear_output_latches(is_ams40489) + , m_in_pa_cb(*this) + , m_in_pb_cb(*this) + , m_in_pc_cb(*this) + , m_out_pa_cb(*this) + , m_out_pb_cb(*this) + , m_out_pc_cb(*this) + , m_tri_pa_cb(*this) + , m_tri_pb_cb(*this) + , m_control(0) + , m_intr{ 0, 0 } { - m_intr[PORT_A] = m_intr[PORT_B] = 0; - m_control = 0; } -i8255_device::i8255_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, bool is_ams40489) - : i8255_device(mconfig, I8255, tag, owner, clock) +i8255_device::i8255_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : i8255_device(mconfig, I8255, tag, owner, clock, false) { } -//------------------------------------------------- -// device_start - device-specific startup -//------------------------------------------------- - -void i8255_device::device_start() +void i8255_device::device_resolve_objects() { // resolve callbacks m_in_pa_cb.resolve_safe(0); @@ -298,7 +250,14 @@ void i8255_device::device_start() m_out_pc_cb.resolve_safe(); m_tri_pa_cb.resolve_safe(0xff); m_tri_pb_cb.resolve_safe(0xff); +} + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- +void i8255_device::device_start() +{ // register for state saving save_item(NAME(m_control)); save_item(NAME(m_output)); @@ -322,10 +281,6 @@ void i8255_device::device_reset() } -//------------------------------------------------- -// read_mode0 - -//------------------------------------------------- - uint8_t i8255_device::read_mode0(int port) { uint8_t data; @@ -345,10 +300,6 @@ uint8_t i8255_device::read_mode0(int port) } -//------------------------------------------------- -// read_mode1 - -//------------------------------------------------- - uint8_t i8255_device::read_mode1(int port) { uint8_t data; @@ -377,16 +328,10 @@ uint8_t i8255_device::read_mode1(int port) } -//------------------------------------------------- -// read_mode2 - -//------------------------------------------------- - uint8_t i8255_device::read_mode2() { - uint8_t data; - // read data from input latch - data = m_input[PORT_A]; + uint8_t const data = m_input[PORT_A]; // clear input buffer full flag set_ibf(PORT_A, 0); @@ -401,10 +346,6 @@ uint8_t i8255_device::read_mode2() } -//------------------------------------------------- -// read_pc - -//------------------------------------------------- - uint8_t i8255_device::read_pc() { uint8_t data = 0; @@ -501,10 +442,6 @@ uint8_t i8255_device::read_pc() } -//------------------------------------------------- -// write_mode0 - -//------------------------------------------------- - void i8255_device::write_mode0(int port, uint8_t data) { if (port_mode(port) == MODE_OUTPUT) @@ -523,10 +460,6 @@ void i8255_device::write_mode0(int port, uint8_t data) } -//------------------------------------------------- -// write_mode1 - -//------------------------------------------------- - void i8255_device::write_mode1(int port, uint8_t data) { if (port_mode(port) == MODE_OUTPUT) @@ -551,10 +484,6 @@ void i8255_device::write_mode1(int port, uint8_t data) } -//------------------------------------------------- -// write_mode2 - -//------------------------------------------------- - void i8255_device::write_mode2(uint8_t data) { // latch output data @@ -571,10 +500,6 @@ void i8255_device::write_mode2(uint8_t data) } -//------------------------------------------------- -// output_pc - -//------------------------------------------------- - void i8255_device::output_pc() { uint8_t data = 0; @@ -653,10 +578,6 @@ void i8255_device::output_pc() } -//------------------------------------------------- -// set_mode - -//------------------------------------------------- - void i8255_device::set_mode(uint8_t data) { m_control = data; @@ -723,10 +644,6 @@ void i8255_device::set_mode(uint8_t data) } -//------------------------------------------------- -// set_pc_bit - -//------------------------------------------------- - void i8255_device::set_pc_bit(int bit, int state) { // set output latch bit @@ -791,10 +708,6 @@ void i8255_device::set_pc_bit(int bit, int state) } -//------------------------------------------------- -// read - -//------------------------------------------------- - READ8_MEMBER( i8255_device::read ) { uint8_t data = 0; @@ -835,10 +748,6 @@ READ8_MEMBER( i8255_device::read ) } -//------------------------------------------------- -// write - -//------------------------------------------------- - WRITE8_MEMBER( i8255_device::write ) { switch (offset & 0x03) @@ -892,10 +801,6 @@ WRITE8_MEMBER( i8255_device::write ) } -//------------------------------------------------- -// pa_r - -//------------------------------------------------- - READ8_MEMBER( i8255_device::pa_r ) { return read_pa(); @@ -917,10 +822,6 @@ uint8_t i8255_device::read_pa() } -//------------------------------------------------- -// pb_r - -//------------------------------------------------- - READ8_MEMBER( i8255_device::pb_r ) { return read_pb(); @@ -944,10 +845,6 @@ uint8_t i8255_device::read_pb() } -//------------------------------------------------- -// pc2_w - -//------------------------------------------------- - WRITE_LINE_MEMBER( i8255_device::pc2_w ) { if (group_mode(GROUP_B) == 1) @@ -981,10 +878,6 @@ WRITE_LINE_MEMBER( i8255_device::pc2_w ) } -//------------------------------------------------- -// pc4_w - -//------------------------------------------------- - WRITE_LINE_MEMBER( i8255_device::pc4_w ) { if ((group_mode(GROUP_A) == 2) || ((group_mode(GROUP_A) == 1) && (port_mode(PORT_A) == MODE_INPUT))) @@ -1004,10 +897,6 @@ WRITE_LINE_MEMBER( i8255_device::pc4_w ) } -//------------------------------------------------- -// pc6_w - -//------------------------------------------------- - WRITE_LINE_MEMBER( i8255_device::pc6_w ) { if ((group_mode(GROUP_A) == 2) || ((group_mode(GROUP_A) == 1) && (port_mode(PORT_A) == MODE_OUTPUT))) @@ -1026,10 +915,6 @@ WRITE_LINE_MEMBER( i8255_device::pc6_w ) // AMS40489 (Amstrad Plus/GX4000 ASIC PPI implementation) ams40489_ppi_device::ams40489_ppi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : i8255_device(mconfig,AMS40489_PPI,tag,owner,clock,true) + : i8255_device(mconfig, AMS40489_PPI, tag, owner, clock, true) { } - -void ams40489_ppi_device::device_reset() { i8255_device::device_reset(); } -void ams40489_ppi_device::device_start() { i8255_device::device_start(); } - diff --git a/src/devices/machine/i8255.h b/src/devices/machine/i8255.h index 3787b757d42..3258f29256a 100644 --- a/src/devices/machine/i8255.h +++ b/src/devices/machine/i8255.h @@ -74,7 +74,7 @@ class i8255_device : public device_t { public: // construction/destruction - i8255_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, bool is_ams40489 = false); + i8255_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); template devcb_base &set_in_pa_callback(Object &&cb) { return m_in_pa_cb.set_callback(std::forward(cb)); } template devcb_base &set_in_pb_callback(Object &&cb) { return m_in_pb_cb.set_callback(std::forward(cb)); } @@ -107,9 +107,10 @@ public: DECLARE_WRITE_LINE_MEMBER( pc6_w ); protected: - i8255_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_ams40489 = false); + i8255_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_ams40489); // device-level overrides + virtual void device_resolve_objects() override; virtual void device_start() override; virtual void device_reset() override; @@ -170,14 +171,6 @@ class ams40489_ppi_device : public i8255_device public: // construction/destruction ams40489_ppi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - -protected: -// ams40489_ppi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - - // device-level overrides - virtual void device_start() override; - virtual void device_reset() override; - }; // device type definition -- cgit v1.2.3