Simplify object model by removing default_logic_family().

This commit is contained in:
couriersud 2016-05-08 15:04:54 +02:00
parent df8280806b
commit 38ca93a5d7
9 changed files with 10 additions and 21 deletions

View File

@ -11,6 +11,7 @@ NETLIB_NAMESPACE_DEVICES_START()
NETLIB_START(CD4020) NETLIB_START(CD4020)
{ {
set_logic_family(family_CD4XXX);
register_sub("sub", sub); register_sub("sub", sub);
register_sub("supply", m_supply); register_sub("supply", m_supply);

View File

@ -45,7 +45,6 @@ NETLIB_NAMESPACE_DEVICES_START()
NETLIB_SUBDEVICE(CD4020_sub, NETLIB_SUBDEVICE(CD4020_sub,
NETLIB_LOGIC_FAMILY(CD4XXX)
ATTR_HOT void update_outputs(const UINT16 cnt); ATTR_HOT void update_outputs(const UINT16 cnt);
logic_input_t m_IP; logic_input_t m_IP;
@ -56,7 +55,6 @@ NETLIB_SUBDEVICE(CD4020_sub,
); );
NETLIB_DEVICE(CD4020, NETLIB_DEVICE(CD4020,
NETLIB_LOGIC_FAMILY(CD4XXX)
NETLIB_SUB(CD4020_sub) sub; NETLIB_SUB(CD4020_sub) sub;
NETLIB_SUB(vdd_vss) m_supply; NETLIB_SUB(vdd_vss) m_supply;
logic_input_t m_RESET; logic_input_t m_RESET;

View File

@ -11,6 +11,7 @@ NETLIB_NAMESPACE_DEVICES_START()
NETLIB_START(CD4066_GATE) NETLIB_START(CD4066_GATE)
{ {
set_logic_family(family_CD4XXX);
register_input("CTL", m_control); register_input("CTL", m_control);
register_sub("PS", m_supply); register_sub("PS", m_supply);
register_sub("R", m_R); register_sub("R", m_R);

View File

@ -33,7 +33,6 @@
NETLIB_NAMESPACE_DEVICES_START() NETLIB_NAMESPACE_DEVICES_START()
NETLIB_DEVICE(CD4066_GATE, NETLIB_DEVICE(CD4066_GATE,
NETLIB_LOGIC_FAMILY(CD4XXX)
public: public:
analog_input_t m_control; analog_input_t m_control;

View File

@ -226,12 +226,14 @@ NETLIB_RESET(9602_dip)
NETLIB_START(4538_dip) NETLIB_START(4538_dip)
{ {
m_1->m_dev_type = 4538; set_logic_family(family_CD4XXX);
m_2->m_dev_type = 4538;
register_sub("1", m_1); register_sub("1", m_1);
register_sub("2", m_2); register_sub("2", m_2);
m_1->m_dev_type = 4538;
m_2->m_dev_type = 4538;
register_subalias("1", m_1->m_RN->m_R->m_N); // C1 register_subalias("1", m_1->m_RN->m_R->m_N); // C1
register_subalias("2", m_1->m_RN->m_R->m_P); // RC1 register_subalias("2", m_1->m_RN->m_R->m_P); // RC1
register_subalias("3", m_1->m_CLRQ); register_subalias("3", m_1->m_CLRQ);

View File

@ -116,7 +116,6 @@ NETLIB_DEVICE(9602_dip,
NET_REGISTER_DEV(CD4538_DIP, _name) NET_REGISTER_DEV(CD4538_DIP, _name)
NETLIB_DEVICE(4538_dip, NETLIB_DEVICE(4538_dip,
NETLIB_LOGIC_FAMILY(CD4XXX)
NETLIB_SUB(74123) m_1; NETLIB_SUB(74123) m_1;
NETLIB_SUB(74123) m_2; NETLIB_SUB(74123) m_2;
); );

View File

@ -49,8 +49,8 @@
#define TTL_7408_GATE(_name) \ #define TTL_7408_GATE(_name) \
NET_REGISTER_DEV(TTL_7408_GATE, _name) NET_REGISTER_DEV(TTL_7408_GATE, _name)
#define TTL_7408_NAND(_name, _A, _B) \ #define TTL_7408_AND(_name, _A, _B) \
NET_REGISTER_DEV(TTL_7408_NAND, _name) \ NET_REGISTER_DEV(TTL_7408_AND, _name) \
NET_CONNECT(_name, A, _A) \ NET_CONNECT(_name, A, _A) \
NET_CONNECT(_name, B, _B) NET_CONNECT(_name, B, _B)

View File

@ -398,7 +398,7 @@ ATTR_COLD core_device_t::core_device_t(const family_t afamily, netlist_t &anetli
#endif #endif
{ {
if (logic_family() == nullptr) if (logic_family() == nullptr)
set_logic_family(this->default_logic_family()); set_logic_family(family_TTL);
init_object(anetlist, name); init_object(anetlist, name);
} }

View File

@ -251,13 +251,6 @@ using netlist_sig_t = std::uint32_t;
ATTR_HOT void update_param() override; \ ATTR_HOT void update_param() override; \
, _priv) , _priv)
#define NETLIB_LOGIC_FAMILY(_fam) \
virtual logic_family_desc_t *default_logic_family() override \
{ \
return family_ ## _fam; \
}
//============================================================ //============================================================
// Asserts // Asserts
//============================================================ //============================================================
@ -1089,11 +1082,7 @@ namespace netlist
ATTR_HOT virtual void update() { } ATTR_HOT virtual void update() { }
virtual void start() { } virtual void start() { }
virtual void stop() { } \ virtual void stop() { }
virtual logic_family_desc_t *default_logic_family()
{
return family_TTL;
}
private: private: