summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/bus/pet/user.h
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2014-02-02 01:00:11 +0000
committer smf- <smf-@users.noreply.github.com>2014-02-02 01:00:11 +0000
commit3614d52b49ef9ef33d000ab2710b2398ae5266c5 (patch)
tree4da5da1960c63035be2e540b7f825acb0aa6b678 /src/emu/bus/pet/user.h
parentf5bdd1267461291a638c7a7a5ea6462f00f1e448 (diff)
resolves the user port handlers in device_config_complete() & replaced calling reset() on user port with toggling of input line 3 as not all computers have reset hooked up on the user port. I believe device_reset() will always be called, which makes the call in the drivers machine_reset() unnecessary. [smf]
Diffstat (limited to 'src/emu/bus/pet/user.h')
-rw-r--r--src/emu/bus/pet/user.h50
1 files changed, 27 insertions, 23 deletions
diff --git a/src/emu/bus/pet/user.h b/src/emu/bus/pet/user.h
index f19c753f086..ded6fa319fb 100644
--- a/src/emu/bus/pet/user.h
+++ b/src/emu/bus/pet/user.h
@@ -104,6 +104,8 @@ class device_pet_user_port_interface;
class pet_user_port_device : public device_t,
public device_slot_interface
{
+ friend class device_pet_user_port_interface;
+
public:
// construction/destruction
pet_user_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
@@ -145,6 +147,11 @@ public:
DECLARE_WRITE_LINE_MEMBER( write_l );
DECLARE_WRITE_LINE_MEMBER( write_m );
+protected:
+ // device-level overrides
+ virtual void device_start();
+ virtual void device_config_complete();
+
// device interface
devcb2_write_line m_3_handler;
devcb2_write_line m_4_handler;
@@ -164,11 +171,6 @@ public:
devcb2_write_line m_l_handler;
devcb2_write_line m_m_handler;
-protected:
- // device-level overrides
- virtual void device_start();
- virtual void device_reset();
-
device_pet_user_port_interface *m_card;
};
@@ -178,28 +180,12 @@ protected:
// class representing interface-specific pet_expansion card
class device_pet_user_port_interface : public device_slot_card_interface
{
+ friend class pet_user_port_device;
+
public:
device_pet_user_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_pet_user_port_interface();
- virtual DECLARE_WRITE_LINE_MEMBER( input_3 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_4 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_5 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_6 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_7 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_8 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_9 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_b ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_c ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_d ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_e ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_f ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_h ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_j ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_k ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_l ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_m ) {}
-
DECLARE_WRITE_LINE_MEMBER( output_3 ) { m_slot->m_3_handler(state); }
DECLARE_WRITE_LINE_MEMBER( output_4 ) { m_slot->m_4_handler(state); }
DECLARE_WRITE_LINE_MEMBER( output_5 ) { m_slot->m_5_handler(state); }
@@ -219,6 +205,24 @@ public:
DECLARE_WRITE_LINE_MEMBER( output_m ) { m_slot->m_m_handler(state); }
protected:
+ virtual DECLARE_WRITE_LINE_MEMBER( input_3 ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_4 ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_5 ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_6 ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_7 ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_8 ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_9 ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_b ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_c ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_d ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_e ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_f ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_h ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_j ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_k ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_l ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_m ) {}
+
pet_user_port_device *m_slot;
};