mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
netlist: Fix parameter value resolution on rom devices.
* also simplifiy a return. * document parameter value resolution.
This commit is contained in:
parent
d7cbe855aa
commit
e6d7db27cf
@ -42,7 +42,7 @@ static NETLIST_START(PROM_82S126_DIP)
|
||||
|
||||
DEFPARAM(ROM, "unknown")
|
||||
DEFPARAM(FORCE_TRISTATE_LOGIC, 0)
|
||||
DEFPARAM(MODEL, "$(A.MODEL)")
|
||||
DEFPARAM(MODEL, "$(@.A.MODEL)")
|
||||
PARAM(A.ROM, "$(@.ROM)")
|
||||
PARAM(A.FORCE_TRISTATE_LOGIC, "$(@.FORCE_TRISTATE_LOGIC)")
|
||||
PARAM(A.MODEL, "$(@.MODEL)")
|
||||
@ -102,7 +102,7 @@ static NETLIST_START(PROM_74S287_DIP)
|
||||
|
||||
DEFPARAM(ROM, "unknown")
|
||||
DEFPARAM(FORCE_TRISTATE_LOGIC, 0)
|
||||
DEFPARAM(MODEL, "$(A.MODEL)")
|
||||
DEFPARAM(MODEL, "$(@.A.MODEL)")
|
||||
PARAM(A.ROM, "$(@.ROM)")
|
||||
PARAM(A.FORCE_TRISTATE_LOGIC, "$(@.FORCE_TRISTATE_LOGIC)")
|
||||
PARAM(A.MODEL, "$(@.MODEL)")
|
||||
@ -162,7 +162,7 @@ static NETLIST_START(PROM_82S123_DIP)
|
||||
|
||||
DEFPARAM(ROM, "unknown")
|
||||
DEFPARAM(FORCE_TRISTATE_LOGIC, 0)
|
||||
DEFPARAM(MODEL, "$(A.MODEL)")
|
||||
DEFPARAM(MODEL, "$(@.A.MODEL)")
|
||||
PARAM(A.ROM, "$(@.ROM)")
|
||||
PARAM(A.FORCE_TRISTATE_LOGIC, "$(@.FORCE_TRISTATE_LOGIC)")
|
||||
PARAM(A.MODEL, "$(@.MODEL)")
|
||||
@ -233,7 +233,7 @@ static NETLIST_START(EPROM_2716_DIP)
|
||||
|
||||
DEFPARAM(ROM, "unknown")
|
||||
DEFPARAM(FORCE_TRISTATE_LOGIC, 0)
|
||||
DEFPARAM(MODEL, "$(A.MODEL)")
|
||||
DEFPARAM(MODEL, "$(@.A.MODEL)")
|
||||
PARAM(A.ROM, "$(@.ROM)")
|
||||
PARAM(A.FORCE_TRISTATE_LOGIC, "$(@.FORCE_TRISTATE_LOGIC)")
|
||||
PARAM(A.MODEL, "$(@.MODEL)")
|
||||
|
@ -1240,7 +1240,7 @@ namespace netlist
|
||||
}
|
||||
protected:
|
||||
virtual void changed() noexcept;
|
||||
pstring str() const noexcept { pstring ret = *m_param; return ret;}
|
||||
pstring str() const noexcept { return *m_param; }
|
||||
private:
|
||||
host_arena::unique_ptr<pstring> m_param;
|
||||
};
|
||||
|
@ -434,6 +434,13 @@ pstring setup_t::termtype_as_str(detail::core_terminal_t &in)
|
||||
|
||||
pstring setup_t::get_initial_param_val(const pstring &name, const pstring &def) const
|
||||
{
|
||||
// when get_intial_param_val is called the parameter <name> is already registered
|
||||
// and the value (valstr()) is set to the default value, e.g. "74XX"
|
||||
// If thus $(IC5E.A.MODEL) is given for name=="IC5E.A.MODEL" valstr() below
|
||||
// will return the default.
|
||||
// FIXME: It may be more explicit and stable to test if pattern==name and return
|
||||
// def in this case.
|
||||
|
||||
auto i = m_abstract.m_param_values.find(name);
|
||||
auto found_pat(false);
|
||||
pstring v = (i == m_abstract.m_param_values.end()) ? def : i->second;
|
||||
@ -1440,7 +1447,7 @@ void setup_t::prepare_to_run()
|
||||
m_parser.register_dynamic_log_devices(loglist);
|
||||
}
|
||||
|
||||
// create defparams!
|
||||
// create defparams first!
|
||||
|
||||
for (auto & e : m_abstract.m_defparams)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user