This commit is contained in:
Cowering 2015-05-26 09:23:32 -05:00
commit ff11e4ce6a
60 changed files with 682 additions and 511 deletions

View File

@ -2070,6 +2070,18 @@ if (MACHINES["TMP68301"]~=null) then
}
end
---------------------------------------------------
--
--@src/emu/machine/tms1024.h,MACHINES += TMS1024
---------------------------------------------------
if (MACHINES["TMS1024"]~=null) then
files {
MAME_DIR .. "src/emu/machine/tms1024.c",
MAME_DIR .. "src/emu/machine/tms1024.h",
}
end
---------------------------------------------------
--
--@src/emu/machine/tms5501.h,MACHINES += TMS5501

View File

@ -557,6 +557,7 @@ MACHINES["STEPPERS"] = true
--MACHINES["WOZFDC"] = true
--MACHINES["DIABLO_HD"] = true
MACHINES["PCI9050"] = true
--MACHINES["TMS1024"] = true
--------------------------------------------------
-- specify available bus cores

View File

@ -556,6 +556,7 @@ MACHINES["STEPPERS"] = true
MACHINES["CORVUSHD"] = true
MACHINES["WOZFDC"] = true
MACHINES["DIABLO_HD"] = true
MACHINES["TMS1024"] = true
--------------------------------------------------
-- specify available bus cores

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:Tatsuyuki Satoh
/****************************************************************************
Alpha 8201/8301 Disassembler

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:Tatsuyuki Satoh
/****************************************************************************
Alpha8201 Emulator

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:Tatsuyuki Satoh
/**************************************************************************\
* Alpha8201 Emulator *

View File

@ -395,9 +395,9 @@ ATTR_HOT ATTR_ALIGN void netlist_mame_device_t::check_mame_abort_slice()
ATTR_COLD void netlist_mame_device_t::save_state()
{
for (pstate_entry_t * const *p = netlist().save_list().first(); p != NULL; p = netlist().save_list().next(p))
for (int i=0; i< netlist().save_list().size(); i++)
{
pstate_entry_t *s = *p;
pstate_entry_t *s = netlist().save_list()[i];
NL_VERBOSE_OUT(("saving state for %s\n", s->m_name.cstr()));
switch (s->m_dt)
{
@ -464,7 +464,7 @@ void netlist_mame_cpu_device_t::device_start()
state_add(STATE_GENPC, "curpc", m_genPC).noshow();
for (int i=0; i < netlist().m_nets.count(); i++)
for (int i=0; i < netlist().m_nets.size(); i++)
{
netlist_net_t *n = netlist().m_nets[i];
if (n->isFamily(netlist_object_t::LOGIC))
@ -559,10 +559,10 @@ void netlist_mame_sound_device_t::device_start()
// Configure outputs
plist_t<nld_sound_out *> outdevs = netlist().get_device_list<nld_sound_out>();
if (outdevs.count() == 0)
if (outdevs.size() == 0)
fatalerror("No output devices");
m_num_outputs = outdevs.count();
m_num_outputs = outdevs.size();
/* resort channels */
for (int i=0; i < MAX_OUT; i++) m_out[i] = NULL;
@ -572,7 +572,7 @@ void netlist_mame_sound_device_t::device_start()
netlist().log("Output %d on channel %d", i, chan);
if (chan < 0 || chan >= MAX_OUT || chan >= outdevs.count())
if (chan < 0 || chan >= MAX_OUT || chan >= outdevs.size())
fatalerror("illegal channel number");
m_out[chan] = outdevs[i];
m_out[chan]->m_sample = netlist_time::from_hz(clock());
@ -585,9 +585,9 @@ void netlist_mame_sound_device_t::device_start()
m_in = NULL;
plist_t<nld_sound_in *> indevs = netlist().get_device_list<nld_sound_in>();
if (indevs.count() > 1)
if (indevs.size() > 1)
fatalerror("A maximum of one input device is allowed!");
if (indevs.count() == 1)
if (indevs.size() == 1)
{
m_in = indevs[0];
m_num_inputs = m_in->resolve();

43
src/emu/machine/tms1024.c Normal file
View File

@ -0,0 +1,43 @@
// license:BSD-3-Clause
// copyright-holders:hap
/**********************************************************************
Texas Instruments TMS1024, TMS1025 I/O expander emulation
**********************************************************************/
#include "machine/tms1024.h"
const device_type TMS1024 = &device_creator<tms1024_device>;
//-------------------------------------------------
// tms1024_device - constructor
//-------------------------------------------------
tms1024_device::tms1024_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, TMS1024, "TMS1024", tag, owner, clock, "tms1024", __FILE__)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void tms1024_device::device_start()
{
// resolve callbacks
// register for savestates
}
//-------------------------------------------------
// device_reset - device-specific reset
//-------------------------------------------------
void tms1024_device::device_reset()
{
}
// handlers

52
src/emu/machine/tms1024.h Normal file
View File

@ -0,0 +1,52 @@
// license:BSD-3-Clause
// copyright-holders:hap
/**********************************************************************
Texas Instruments TMS1024, TMS1025 I/O expander emulation
**********************************************************************
**********************************************************************/
#ifndef _TMS1024_H_
#define _TMS1024_H_
#include "emu.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_TMS1024_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, TMS1024, 0)
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> tms1024_device
class tms1024_device : public device_t
{
public:
tms1024_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// static configuration helpers
protected:
// device-level overrides
virtual void device_start();
virtual void device_reset();
};
// device type definition
extern const device_type TMS1024;
#endif /* _TMS1024_H_ */

View File

@ -1035,8 +1035,8 @@ void wd_fdc_t::cmd_w(UINT8 val)
intrq_cb(intrq);
}
// No more than one write in flight
if(cmd_buffer != -1)
// No more than one write in flight, but interrupts take priority
if(cmd_buffer != -1 && ((val & 0xf0) != 0xd0))
return;
cmd_buffer = val;

View File

@ -144,7 +144,6 @@ NETLIB_UPDATE_TERMINALS(QBJT_switch)
const int new_state = (m_RB.deltaV() * m > m_V ) ? 1 : 0;
if (m_state_on ^ new_state)
{
const nl_double gb = new_state ? m_gB : netlist().gmin();
const nl_double gc = new_state ? m_gC : netlist().gmin();
const nl_double v = new_state ? m_V * m : 0;

View File

@ -142,8 +142,8 @@ ATTR_COLD void netlist_matrix_solver_direct_t<m_N, _storage_N>::add_term(int k,
template <int m_N, int _storage_N>
ATTR_COLD void netlist_matrix_solver_direct_t<m_N, _storage_N>::vsetup(netlist_analog_net_t::list_t &nets)
{
if (m_dim < nets.count())
netlist().error("Dimension %d less than %d", m_dim, nets.count());
if (m_dim < nets.size())
netlist().error("Dimension %d less than %" SIZETFMT, m_dim, nets.size());
for (int k = 0; k < N(); k++)
{
@ -212,7 +212,6 @@ ATTR_COLD void netlist_matrix_solver_direct_t<m_N, _storage_N>::vsetup(netlist_a
template <int m_N, int _storage_N>
ATTR_HOT void netlist_matrix_solver_direct_t<m_N, _storage_N>::build_LE_A()
{
for (int k = 0; k < N(); k++)
{
for (int i=0; i < N(); i++)

View File

@ -166,7 +166,7 @@ ATTR_HOT inline int netlist_matrix_solver_SOR_mat_t<m_N, _storage_N>::vsolve_non
s = s + nl_math::abs(this->m_A[k][i]);
akk = s / akk - 1.0;
//if ( akk > lambdaN)
// lambdaN = akk;
// lambdaN = akk;
if (akk < lambda1)
lambda1 = akk;
#endif

View File

@ -88,12 +88,12 @@ ATTR_COLD void netlist_matrix_solver_t::setup(netlist_analog_net_t::list_t &nets
m_nets.clear();
for (int k = 0; k < nets.count(); k++)
for (int k = 0; k < nets.size(); k++)
{
m_nets.add(nets[k]);
}
for (int k = 0; k < nets.count(); k++)
for (int k = 0; k < nets.size(); k++)
{
NL_VERBOSE_OUT(("setting up net\n"));
@ -101,7 +101,7 @@ ATTR_COLD void netlist_matrix_solver_t::setup(netlist_analog_net_t::list_t &nets
net->m_solver = this;
for (int i = 0; i < net->m_core_terms.count(); i++)
for (int i = 0; i < net->m_core_terms.size(); i++)
{
netlist_core_terminal_t *p = net->m_core_terms[i];
NL_VERBOSE_OUT(("%s %s %d\n", p->name().cstr(), net->name().cstr(), (int) net->isRailNet()));
@ -134,7 +134,7 @@ ATTR_COLD void netlist_matrix_solver_t::setup(netlist_analog_net_t::list_t &nets
case netlist_terminal_t::INPUT:
{
netlist_analog_output_t *net_proxy_output = NULL;
for (int i = 0; i < m_inps.count(); i++)
for (int i = 0; i < m_inps.size(); i++)
if (m_inps[i]->m_proxied_net == &p->net().as_analog())
{
net_proxy_output = m_inps[i];
@ -144,7 +144,7 @@ ATTR_COLD void netlist_matrix_solver_t::setup(netlist_analog_net_t::list_t &nets
if (net_proxy_output == NULL)
{
net_proxy_output = palloc(netlist_analog_output_t);
net_proxy_output->init_object(*this, this->name() + "." + pstring::sprintf("m%d", m_inps.count()));
net_proxy_output->init_object(*this, this->name() + "." + pstring::sprintf("m%" SIZETFMT, m_inps.size()));
m_inps.add(net_proxy_output);
net_proxy_output->m_proxied_net = &p->net().as_analog();
}
@ -159,7 +159,7 @@ ATTR_COLD void netlist_matrix_solver_t::setup(netlist_analog_net_t::list_t &nets
break;
}
}
NL_VERBOSE_OUT(("added net with %d populated connections\n", net->m_core_terms.count()));
NL_VERBOSE_OUT(("added net with %d populated connections\n", net->m_core_terms.size()));
}
}
@ -167,22 +167,22 @@ ATTR_COLD void netlist_matrix_solver_t::setup(netlist_analog_net_t::list_t &nets
ATTR_HOT void netlist_matrix_solver_t::update_inputs()
{
// avoid recursive calls. Inputs are updated outside this call
for (netlist_analog_output_t * const *p = m_inps.first(); p != NULL; p = m_inps.next(p))
(*p)->set_Q((*p)->m_proxied_net->m_cur_Analog);
for (int i=0; i<m_inps.size(); i++)
m_inps[i]->set_Q(m_inps[i]->m_proxied_net->m_cur_Analog);
}
ATTR_HOT void netlist_matrix_solver_t::update_dynamic()
{
/* update all non-linear devices */
for (netlist_core_device_t * const *p = m_dynamic_devices.first(); p != NULL; p = m_dynamic_devices.next(p))
switch ((*p)->family())
for (int i=0; i < m_dynamic_devices.size(); i++)
switch (m_dynamic_devices[i]->family())
{
case netlist_device_t::DIODE:
static_cast<NETLIB_NAME(D) *>((*p))->update_terminals();
static_cast<NETLIB_NAME(D) *>(m_dynamic_devices[i])->update_terminals();
break;
default:
(*p)->update_terminals();
m_dynamic_devices[i]->update_terminals();
break;
}
}
@ -218,7 +218,7 @@ ATTR_COLD void netlist_matrix_solver_t::update_forced()
ATTR_HOT void netlist_matrix_solver_t::step(const netlist_time delta)
{
const nl_double dd = delta.as_double();
for (int k=0; k < m_step_devices.count(); k++)
for (int k=0; k < m_step_devices.size(); k++)
m_step_devices[k]->step_time(dd);
}
@ -281,7 +281,7 @@ ATTR_HOT nl_double netlist_matrix_solver_t::solve()
ATTR_COLD int netlist_matrix_solver_t::get_net_idx(netlist_net_t *net)
{
for (int k = 0; k < m_nets.count(); k++)
for (int k = 0; k < m_nets.size(); k++)
if (m_nets[k] == net)
return k;
return -1;
@ -329,7 +329,7 @@ NETLIB_START(solver)
NETLIB_RESET(solver)
{
for (int i = 0; i < m_mat_solvers.count(); i++)
for (int i = 0; i < m_mat_solvers.size(); i++)
m_mat_solvers[i]->reset();
}
@ -341,20 +341,13 @@ NETLIB_UPDATE_PARAM(solver)
NETLIB_STOP(solver)
{
for (int i = 0; i < m_mat_solvers.count(); i++)
for (int i = 0; i < m_mat_solvers.size(); i++)
m_mat_solvers[i]->log_stats();
}
NETLIB_NAME(solver)::~NETLIB_NAME(solver)()
{
netlist_matrix_solver_t * const *e = m_mat_solvers.first();
while (e != NULL)
{
netlist_matrix_solver_t * const *en = m_mat_solvers.next(e);
pfree(*e);
e = en;
}
m_mat_solvers.clear_and_free();
}
NETLIB_UPDATE(solver)
@ -362,7 +355,7 @@ NETLIB_UPDATE(solver)
if (m_params.m_dynamic)
return;
const int t_cnt = m_mat_solvers.count();
const int t_cnt = m_mat_solvers.size();
#if HAS_OPENMP && USE_OPENMP
if (m_parallel.Value())
@ -471,13 +464,13 @@ ATTR_COLD void NETLIB_NAME(solver)::post_start()
netlist().log("Scanning net groups ...");
// determine net groups
for (netlist_net_t * const *pn = netlist().m_nets.first(); pn != NULL; pn = netlist().m_nets.next(pn))
for (int i=0; i<netlist().m_nets.size(); i++)
{
SOLVER_VERBOSE_OUT(("processing %s\n", (*pn)->name().cstr()));
if (!(*pn)->isRailNet())
SOLVER_VERBOSE_OUT(("processing %s\n", netlist().m_nets[i]->name().cstr()));
if (!netlist().m_nets[i]->isRailNet())
{
SOLVER_VERBOSE_OUT((" ==> not a rail net\n"));
netlist_analog_net_t *n = &(*pn)->as_analog();
netlist_analog_net_t *n = &netlist().m_nets[i]->as_analog();
if (!n->already_processed(groups, cur_group))
{
cur_group++;
@ -487,11 +480,11 @@ ATTR_COLD void NETLIB_NAME(solver)::post_start()
}
// setup the solvers
netlist().log("Found %d net groups in %d nets\n", cur_group + 1, netlist().m_nets.count());
netlist().log("Found %d net groups in %" SIZETFMT " nets\n", cur_group + 1, netlist().m_nets.size());
for (int i = 0; i <= cur_group; i++)
{
netlist_matrix_solver_t *ms;
int net_count = groups[i].count();
int net_count = groups[i].size();
switch (net_count)
{
@ -544,21 +537,21 @@ ATTR_COLD void NETLIB_NAME(solver)::post_start()
break;
}
register_sub(pstring::sprintf("Solver_%d",m_mat_solvers.count()), *ms);
register_sub(pstring::sprintf("Solver_%" SIZETFMT,m_mat_solvers.size()), *ms);
ms->vsetup(groups[i]);
m_mat_solvers.add(ms);
netlist().log("Solver %s", ms->name().cstr());
netlist().log(" # %d ==> %d nets", i, groups[i].count()); //, (*(*groups[i].first())->m_core_terms.first())->name().cstr());
netlist().log(" # %d ==> %" SIZETFMT " nets", i, groups[i].size()); //, (*(*groups[i].first())->m_core_terms.first())->name().cstr());
netlist().log(" has %s elements", ms->is_dynamic() ? "dynamic" : "no dynamic");
netlist().log(" has %s elements", ms->is_timestep() ? "timestep" : "no timestep");
for (int j=0; j<groups[i].count(); j++)
for (int j=0; j<groups[i].size(); j++)
{
netlist().log("Net %d: %s", j, groups[i][j]->name().cstr());
netlist_net_t *n = groups[i][j];
for (int k = 0; k < n->m_core_terms.count(); k++)
for (int k = 0; k < n->m_core_terms.size(); k++)
{
const netlist_core_terminal_t *p = n->m_core_terms[k];
netlist().log(" %s", p->name().cstr());

View File

@ -62,14 +62,14 @@ class terms_t
ATTR_COLD void add(netlist_terminal_t *term, int net_other);
ATTR_HOT inline int count() { return m_term.count(); }
ATTR_HOT inline int count() { return m_term.size(); }
ATTR_HOT inline netlist_terminal_t **terms() { return m_term; }
ATTR_HOT inline int *net_other() { return m_net_other; }
ATTR_HOT inline nl_double *gt() { return m_gt; }
ATTR_HOT inline nl_double *go() { return m_go; }
ATTR_HOT inline nl_double *Idr() { return m_Idr; }
ATTR_HOT inline nl_double **other_curanalog() { return m_other_curanalog; }
ATTR_HOT inline netlist_terminal_t **terms() { return m_term.data(); }
ATTR_HOT inline int *net_other() { return m_net_other.data(); }
ATTR_HOT inline nl_double *gt() { return m_gt.data(); }
ATTR_HOT inline nl_double *go() { return m_go.data(); }
ATTR_HOT inline nl_double *Idr() { return m_Idr.data(); }
ATTR_HOT inline nl_double **other_curanalog() { return m_other_curanalog.data(); }
ATTR_COLD void set_pointers();
@ -106,8 +106,8 @@ public:
ATTR_HOT nl_double solve();
ATTR_HOT inline bool is_dynamic() { return m_dynamic_devices.count() > 0; }
ATTR_HOT inline bool is_timestep() { return m_step_devices.count() > 0; }
ATTR_HOT inline bool is_dynamic() { return m_dynamic_devices.size() > 0; }
ATTR_HOT inline bool is_timestep() { return m_step_devices.size() > 0; }
ATTR_HOT void update_forced();
ATTR_HOT inline void update_after(const netlist_time after)

View File

@ -108,7 +108,7 @@ NETLIB_START(9312)
register_input("D7", m_D[7]);
register_output("Y", m_Y);
register_output("YQ", m_YQ);
register_output("YQ", m_YQ);
m_last_chan = 0;
m_last_G = 0;

View File

@ -52,7 +52,7 @@ NETLIB_TRUTHTABLE(9312, 12, 2, 0);
NETLIB_DEVICE(9312,
public:
// C, B, A, G,D0,D1,D2,D3,D4,D5,D6,D7| Y,YQ
// C, B, A, G,D0,D1,D2,D3,D4,D5,D6,D7| Y,YQ
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
netlist_logic_input_t m_C;

View File

@ -80,7 +80,7 @@ NETLIB_START(extclock)
m_off = netlist_time::from_double(m_offset.Value());
int pati[256];
m_size = pat.count();
m_size = pat.size();
int total = 0;
for (int i=0; i<m_size; i++)
{

View File

@ -35,7 +35,7 @@
#define EXTCLOCK(_name, _freq, _pattern) \
NET_REGISTER_DEV(extclock, _name) \
PARAM(_name.FREQ, _freq) \
PARAM(_name.FREQ, _freq) \
PARAM(_name.PATTERN, _pattern)
#define GNDA() \
@ -52,13 +52,11 @@
#define RES_SWITCH(_name, _IN, _P1, _P2) \
NET_REGISTER_DEV(res_sw, _name) \
NET_C(_IN, _name.I) \
NET_C(_P1, _name.1) \
NET_C(_P2, _name.2) \
NET_C(_P1, _name.1) \
NET_C(_P2, _name.2)
/* Default device to hold netlist parameters */
#define PARAMETERS(_name) \
NET_REGISTER_DEV(netlistparams, _name) \
#define PARAMETERS(_name) \
NET_REGISTER_DEV(netlistparams, _name)
// -----------------------------------------------------------------------------
// mainclock
// -----------------------------------------------------------------------------

View File

@ -162,13 +162,13 @@ ATTR_COLD void truthtable_desc_t::setup(const char **truthtable, UINT32 disabled
{
nl_util::pstring_list io = nl_util::split(ttline,"|");
// checks
nl_assert_always(io.count() == 3, "io.count mismatch");
nl_assert_always(io.size() == 3, "io.count mismatch");
nl_util::pstring_list inout = nl_util::split(io[0], ",");
nl_assert_always(inout.count() == m_num_bits, "number of bits not matching");
nl_assert_always(inout.size() == m_num_bits, "number of bits not matching");
nl_util::pstring_list out = nl_util::split(io[1], ",");
nl_assert_always(out.count() == m_NO, "output count not matching");
nl_assert_always(out.size() == m_NO, "output count not matching");
nl_util::pstring_list times = nl_util::split(io[2], ",");
nl_assert_always(times.count() == m_NO, "timing count not matching");
nl_assert_always(times.size() == m_NO, "timing count not matching");
UINT16 val = 0;
parray_t<UINT8> tindex(m_NO);
@ -233,5 +233,3 @@ ATTR_COLD void truthtable_desc_t::setup(const char **truthtable, UINT32 disabled
*m_initialized = true;
}

View File

@ -38,9 +38,9 @@ struct truthtable_desc_t
truthtable_desc_t(int NO, int NI, int has_state, bool *initialized,
UINT32 *outs, UINT8 *timing, netlist_time *timing_nt)
: m_NO(NO), m_NI(NI), /*m_has_state(has_state),*/ m_initialized(initialized),
m_outs(outs), m_timing(timing), m_timing_nt(timing_nt),
m_num_bits(m_NI + has_state * (m_NI + m_NO)),
m_size(1 << (m_num_bits))
m_outs(outs), m_timing(timing), m_timing_nt(timing_nt),
m_num_bits(m_NI + has_state * (m_NI + m_NO)),
m_size(1 << (m_num_bits))
{
}
@ -99,11 +99,11 @@ public:
nl_util::pstring_list io = nl_util::split(ttline,"|");
// checks
nl_assert_always(io.count() == 2, "too many '|'");
nl_assert_always(io.size() == 2, "too many '|'");
nl_util::pstring_list inout = nl_util::split(io[0], ",");
nl_assert_always(inout.count() == m_num_bits, "bitcount wrong");
nl_assert_always(inout.size() == m_num_bits, "bitcount wrong");
nl_util::pstring_list out = nl_util::split(io[1], ",");
nl_assert_always(out.count() == m_NO, "output count wrong");
nl_assert_always(out.size() == m_NO, "output count wrong");
for (int i=0; i < m_NI; i++)
{
@ -163,7 +163,6 @@ public:
template<bool doOUT>
ATTR_HOT inline void process()
{
netlist_time mt = netlist_time::zero;
UINT32 state = 0;

View File

@ -144,7 +144,6 @@ ATTR_COLD netlist_object_t::netlist_object_t(const type_t atype, const family_t
ATTR_COLD netlist_object_t::~netlist_object_t()
{
}
ATTR_COLD void netlist_object_t::init_object(netlist_base_t &nl, const pstring &aname)
@ -198,7 +197,7 @@ netlist_base_t::netlist_base_t()
netlist_base_t::~netlist_base_t()
{
for (int i=0; i < m_nets.count(); i++)
for (int i=0; i < m_nets.size(); i++)
{
if (!m_nets[i]->isRailNet())
{
@ -249,9 +248,9 @@ ATTR_COLD void netlist_base_t::start()
m_use_deactivate = (m_params->m_use_deactivate.Value() ? true : false);
NL_VERBOSE_OUT(("Initializing devices ...\n"));
for (netlist_device_t * const * entry = m_devices.first(); entry != NULL; entry = m_devices.next(entry))
for (int i = 0; i < m_devices.size(); i++)
{
netlist_device_t *dev = *entry;
netlist_device_t *dev = m_devices[i];
if (dev != m_solver && dev != m_params)
dev->start_dev();
}
@ -265,7 +264,7 @@ ATTR_COLD void netlist_base_t::stop()
NL_VERBOSE_OUT(("Stopping all devices ...\n"));
// Step all devices once !
for (int i = 0; i < m_devices.count(); i++)
for (int i = 0; i < m_devices.size(); i++)
{
m_devices[i]->stop_dev();
}
@ -273,7 +272,7 @@ ATTR_COLD void netlist_base_t::stop()
ATTR_COLD netlist_net_t *netlist_base_t::find_net(const pstring &name)
{
for (int i = 0; i < m_nets.count(); i++)
for (int i = 0; i < m_nets.size(); i++)
{
if (m_nets[i]->name() == name)
return m_nets[i];
@ -283,7 +282,7 @@ ATTR_COLD netlist_net_t *netlist_base_t::find_net(const pstring &name)
ATTR_COLD void netlist_base_t::rebuild_lists()
{
for (int i = 0; i < m_nets.count(); i++)
for (int i = 0; i < m_nets.size(); i++)
m_nets[i]->rebuild_list();
}
@ -298,24 +297,24 @@ ATTR_COLD void netlist_base_t::reset()
m_solver->do_reset();
// Reset all nets once !
for (int i = 0; i < m_nets.count(); i++)
for (int i = 0; i < m_nets.size(); i++)
m_nets[i]->do_reset();
// Reset all devices once !
for (int i = 0; i < m_devices.count(); i++)
for (int i = 0; i < m_devices.size(); i++)
{
m_devices[i]->do_reset();
}
// Step all devices once !
for (int i = 0; i < m_devices.count(); i++)
for (int i = 0; i < m_devices.size(); i++)
{
m_devices[i]->update_dev();
}
// FIXME: some const devices rely on this
/* make sure params are set now .. */
for (int i = 0; i < m_devices.count(); i++)
for (int i = 0; i < m_devices.size(); i++)
{
m_devices[i]->update_param();
}
@ -628,7 +627,7 @@ ATTR_HOT void netlist_net_t::inc_active(netlist_core_terminal_t &term)
}
}
//else if (netlist().use_deactivate())
// m_cur_Q = m_new_Q;
// m_cur_Q = m_new_Q;
}
}
@ -651,7 +650,7 @@ ATTR_COLD void netlist_net_t::rebuild_list()
/* rebuild m_list */
m_list_active.clear();
for (int i=0; i < m_core_terms.count(); i++)
for (int i=0; i < m_core_terms.size(); i++)
if (m_core_terms[i]->state() != netlist_logic_t::STATE_INP_PASSIVE)
m_list_active.add(*m_core_terms[i]);
}
@ -709,13 +708,13 @@ ATTR_COLD void netlist_net_t::reset()
/* rebuild m_list */
m_list_active.clear();
for (int i=0; i < m_core_terms.count(); i++)
for (int i=0; i < m_core_terms.size(); i++)
m_list_active.add(*m_core_terms[i]);
for (int i=0; i < m_core_terms.count(); i++)
for (int i=0; i < m_core_terms.size(); i++)
m_core_terms[i]->do_reset();
for (int i=0; i < m_core_terms.count(); i++)
for (int i=0; i < m_core_terms.size(); i++)
if (m_core_terms[i]->state() != netlist_logic_t::STATE_INP_PASSIVE)
m_active++;
}
@ -732,7 +731,7 @@ ATTR_COLD void netlist_net_t::register_con(netlist_core_terminal_t &terminal)
ATTR_COLD void netlist_net_t::move_connections(netlist_net_t *dest_net)
{
for (int i = 0; i < m_core_terms.count(); i++)
for (int i = 0; i < m_core_terms.size(); i++)
{
netlist_core_terminal_t *p = m_core_terms[i];
dest_net->register_con(*p);
@ -830,7 +829,7 @@ ATTR_COLD void netlist_analog_net_t::process_net(list_t *groups, int &cur_group)
/* add the net */
//SOLVER_VERBOSE_OUT(("add %d - %s\n", cur_group, name().cstr()));
groups[cur_group].add(this);
for (int i = 0; i < m_core_terms.count(); i++)
for (int i = 0; i < m_core_terms.size(); i++)
{
netlist_core_terminal_t *p = m_core_terms[i];
//SOLVER_VERBOSE_OUT(("terminal %s\n", p->name().cstr()));

View File

@ -267,7 +267,7 @@ public:
nl_fatalerror(const char *format, va_list ap);
virtual ~nl_fatalerror() throw() {}
inline const pstring &text() { return m_text; }
/* inline */ const pstring &text() { return m_text; }
private:
pstring m_text;
};
@ -329,7 +329,7 @@ public:
netlist_logic_family_t() : m_logic_family(NULL) {}
ATTR_HOT inline const netlist_logic_family_desc_t *logic_family() const { return m_logic_family; }
ATTR_HOT /* inline */ const netlist_logic_family_desc_t *logic_family() const { return m_logic_family; }
ATTR_COLD void set_logic_family(const netlist_logic_family_desc_t *fam) { m_logic_family = fam; }
private:
@ -396,16 +396,16 @@ public:
PSTATE_INTERFACE_DECL()
ATTR_HOT inline type_t type() const { return m_objtype; }
ATTR_HOT inline family_t family() const { return m_family; }
ATTR_HOT /* inline */ type_t type() const { return m_objtype; }
ATTR_HOT /* inline */ family_t family() const { return m_family; }
ATTR_HOT inline bool isType(const type_t atype) const { return (m_objtype == atype); }
ATTR_HOT inline bool isFamily(const family_t afamily) const { return (m_family == afamily); }
ATTR_HOT /* inline */ bool isType(const type_t atype) const { return (m_objtype == atype); }
ATTR_HOT /* inline */ bool isFamily(const family_t afamily) const { return (m_family == afamily); }
ATTR_HOT inline netlist_base_t & netlist() { return *m_netlist; }
ATTR_HOT inline const netlist_base_t & netlist() const { return *m_netlist; }
ATTR_HOT /* inline */ netlist_base_t & netlist() { return *m_netlist; }
ATTR_HOT /* inline */ const netlist_base_t & netlist() const { return *m_netlist; }
ATTR_COLD void inline do_reset()
ATTR_COLD void /* inline */ do_reset()
{
reset();
}
@ -435,7 +435,7 @@ public:
ATTR_COLD void init_object(netlist_core_device_t &dev, const pstring &aname);
ATTR_HOT inline netlist_core_device_t &netdev() const { return *m_netdev; }
ATTR_HOT /* inline */ netlist_core_device_t &netdev() const { return *m_netdev; }
private:
netlist_core_device_t * m_netdev;
};
@ -468,22 +468,22 @@ public:
//ATTR_COLD void init_object(netlist_core_device_t &dev, const pstring &aname);
ATTR_COLD void set_net(netlist_net_t &anet);
ATTR_COLD inline void clear_net() { m_net = NULL; }
ATTR_HOT inline bool has_net() const { return (m_net != NULL); }
ATTR_COLD /* inline */ void clear_net() { m_net = NULL; }
ATTR_HOT /* inline */ bool has_net() const { return (m_net != NULL); }
ATTR_HOT inline const netlist_net_t & net() const { return *m_net;}
ATTR_HOT inline netlist_net_t & net() { return *m_net;}
ATTR_HOT /* inline */ const netlist_net_t & net() const { return *m_net;}
ATTR_HOT /* inline */ netlist_net_t & net() { return *m_net;}
ATTR_HOT inline bool is_state(const state_e astate) const { return (m_state == astate); }
ATTR_HOT inline state_e state() const { return m_state; }
ATTR_HOT inline void set_state(const state_e astate)
ATTR_HOT /* inline */ bool is_state(const state_e astate) const { return (m_state == astate); }
ATTR_HOT /* inline */ state_e state() const { return m_state; }
ATTR_HOT /* inline */ void set_state(const state_e astate)
{
nl_assert(astate != STATE_NONEX);
m_state = astate;
}
/* inline, only intended to be called from nl_base.c */
ATTR_HOT inline void update_dev(const UINT32 mask);
/* inline only intended to be called from nl_base.c */
ATTR_HOT /* inline */ void update_dev(const UINT32 mask);
protected:
/* ATTR_COLD */ virtual void save_register()
@ -513,21 +513,21 @@ public:
nl_double *m_go1; // conductance for Voltage from other term
nl_double *m_gt1; // conductance for total conductance
ATTR_HOT inline void set(const nl_double G)
ATTR_HOT /* inline */ void set(const nl_double G)
{
set_ptr(m_Idr1, 0);
set_ptr(m_go1, G);
set_ptr(m_gt1, G);
}
ATTR_HOT inline void set(const nl_double GO, const nl_double GT)
ATTR_HOT /* inline */ void set(const nl_double GO, const nl_double GT)
{
set_ptr(m_Idr1, 0);
set_ptr(m_go1, GO);
set_ptr(m_gt1, GT);
}
ATTR_HOT inline void set(const nl_double GO, const nl_double GT, const nl_double I)
ATTR_HOT /* inline */ void set(const nl_double GO, const nl_double GT, const nl_double I)
{
set_ptr(m_Idr1, I);
set_ptr(m_go1, GO);
@ -544,7 +544,7 @@ protected:
/* ATTR_COLD */ virtual void reset();
private:
ATTR_HOT inline void set_ptr(nl_double *ptr, const nl_double val)
ATTR_HOT /* inline */ void set_ptr(nl_double *ptr, const nl_double val)
{
if (ptr != NULL && *ptr != val)
{
@ -565,7 +565,7 @@ public:
ATTR_COLD netlist_logic_t(const type_t atype)
: netlist_core_terminal_t(atype, LOGIC), netlist_logic_family_t(),
m_proxy(NULL)
m_proxy(NULL)
{
}
@ -607,13 +607,13 @@ public:
set_state(STATE_INP_ACTIVE);
}
ATTR_HOT inline netlist_sig_t Q() const;
ATTR_HOT inline netlist_sig_t last_Q() const;
ATTR_HOT /* inline */ netlist_sig_t Q() const;
ATTR_HOT /* inline */ netlist_sig_t last_Q() const;
ATTR_HOT inline void inactivate();
ATTR_HOT inline void activate();
ATTR_HOT inline void activate_hl();
ATTR_HOT inline void activate_lh();
ATTR_HOT /* inline */ void inactivate();
ATTR_HOT /* inline */ void activate();
ATTR_HOT /* inline */ void activate_hl();
ATTR_HOT /* inline */ void activate_lh();
protected:
/* ATTR_COLD */ virtual void reset()
@ -637,7 +637,7 @@ public:
set_state(STATE_INP_ACTIVE);
}
ATTR_HOT inline nl_double Q_Analog() const;
ATTR_HOT /* inline */ nl_double Q_Analog() const;
protected:
/* ATTR_COLD */ virtual void reset()
@ -667,25 +667,25 @@ public:
ATTR_COLD void merge_net(netlist_net_t *othernet);
ATTR_COLD void register_railterminal(netlist_core_terminal_t &mr);
ATTR_HOT inline netlist_logic_net_t & as_logic();
ATTR_HOT inline const netlist_logic_net_t & as_logic() const;
ATTR_HOT /* inline */ netlist_logic_net_t & as_logic();
ATTR_HOT /* inline */ const netlist_logic_net_t & as_logic() const;
ATTR_HOT inline netlist_analog_net_t & as_analog();
ATTR_HOT inline const netlist_analog_net_t & as_analog() const;
ATTR_HOT /* inline */ netlist_analog_net_t & as_analog();
ATTR_HOT /* inline */ const netlist_analog_net_t & as_analog() const;
ATTR_HOT void update_devs();
ATTR_HOT inline const netlist_time &time() const { return m_time; }
ATTR_HOT inline void set_time(const netlist_time &ntime) { m_time = ntime; }
ATTR_HOT /* inline */ const netlist_time &time() const { return m_time; }
ATTR_HOT /* inline */ void set_time(const netlist_time &ntime) { m_time = ntime; }
ATTR_HOT inline bool isRailNet() const { return !(m_railterminal == NULL); }
ATTR_HOT inline netlist_core_terminal_t & railterminal() const { return *m_railterminal; }
ATTR_HOT /* inline */ bool isRailNet() const { return !(m_railterminal == NULL); }
ATTR_HOT /* inline */ netlist_core_terminal_t & railterminal() const { return *m_railterminal; }
ATTR_HOT inline void push_to_queue(const netlist_time &delay);
ATTR_HOT inline void reschedule_in_queue(const netlist_time &delay);
ATTR_HOT bool inline is_queued() const { return m_in_queue == 1; }
ATTR_HOT /* inline */ void push_to_queue(const netlist_time &delay);
ATTR_HOT /* inline */ void reschedule_in_queue(const netlist_time &delay);
ATTR_HOT bool /* inline */ is_queued() const { return m_in_queue == 1; }
ATTR_HOT inline int num_cons() const { return m_core_terms.count(); }
ATTR_HOT /* inline */ int num_cons() const { return m_core_terms.size(); }
ATTR_HOT void inc_active(netlist_core_terminal_t &term);
ATTR_HOT void dec_active(netlist_core_terminal_t &term);
@ -696,7 +696,7 @@ public:
plist_t<netlist_core_terminal_t *> m_core_terms; // save post-start m_list ...
ATTR_HOT inline void set_Q_time(const netlist_sig_t &newQ, const netlist_time &at)
ATTR_HOT /* inline */ void set_Q_time(const netlist_sig_t &newQ, const netlist_time &at)
{
if (newQ != m_new_Q)
{
@ -741,17 +741,17 @@ public:
ATTR_COLD netlist_logic_net_t();
/* ATTR_COLD */ virtual ~netlist_logic_net_t() { };
ATTR_HOT inline netlist_sig_t Q() const
ATTR_HOT /* inline */ netlist_sig_t Q() const
{
return m_cur_Q;
}
ATTR_HOT inline netlist_sig_t new_Q() const
ATTR_HOT /* inline */ netlist_sig_t new_Q() const
{
return m_new_Q;
}
ATTR_HOT inline void set_Q(const netlist_sig_t &newQ, const netlist_time &delay)
ATTR_HOT /* inline */ void set_Q(const netlist_sig_t &newQ, const netlist_time &delay)
{
if (newQ != m_new_Q)
{
@ -760,7 +760,7 @@ public:
}
}
ATTR_HOT inline void toggle_new_Q()
ATTR_HOT /* inline */ void toggle_new_Q()
{
m_new_Q ^= 1;
}
@ -774,7 +774,7 @@ public:
/* internal state support
* FIXME: get rid of this and implement export/import in MAME
*/
ATTR_COLD inline netlist_sig_t &Q_state_ptr()
ATTR_COLD /* inline */ netlist_sig_t &Q_state_ptr()
{
return m_cur_Q;
}
@ -801,17 +801,17 @@ public:
ATTR_COLD netlist_analog_net_t();
/* ATTR_COLD */ virtual ~netlist_analog_net_t() { };
ATTR_HOT inline nl_double Q_Analog() const
ATTR_HOT /* inline */ nl_double Q_Analog() const
{
return m_cur_Analog;
}
ATTR_COLD inline nl_double &Q_Analog_state_ptr()
ATTR_COLD /* inline */ nl_double &Q_Analog_state_ptr()
{
return m_cur_Analog;
}
ATTR_HOT inline netlist_matrix_solver_t *solver() { return m_solver; }
ATTR_HOT /* inline */ netlist_matrix_solver_t *solver() { return m_solver; }
ATTR_COLD bool already_processed(list_t *groups, int cur_group);
ATTR_COLD void process_net(list_t *groups, int &cur_group);
@ -851,7 +851,7 @@ public:
ATTR_COLD void initial(const netlist_sig_t val);
ATTR_HOT inline void set_Q(const netlist_sig_t newQ, const netlist_time &delay)
ATTR_HOT /* inline */ void set_Q(const netlist_sig_t newQ, const netlist_time &delay)
{
net().as_logic().set_Q(newQ, delay);
}
@ -875,7 +875,7 @@ public:
ATTR_COLD void initial(const nl_double val);
ATTR_HOT inline void set_Q(const nl_double newQ);
ATTR_HOT /* inline */ void set_Q(const nl_double newQ);
netlist_analog_net_t *m_proxied_net; // only for proxy nets in analog input logic
@ -902,7 +902,7 @@ public:
ATTR_COLD netlist_param_t(const param_type_t atype);
ATTR_HOT inline param_type_t param_type() const { return m_param_type; }
ATTR_HOT /* inline */ param_type_t param_type() const { return m_param_type; }
protected:
@ -918,9 +918,9 @@ class netlist_param_double_t : public netlist_param_t
public:
ATTR_COLD netlist_param_double_t();
ATTR_HOT inline void setTo(const nl_double param);
ATTR_COLD inline void initial(const nl_double val) { m_param = val; }
ATTR_HOT inline nl_double Value() const { return m_param; }
ATTR_HOT /* inline */ void setTo(const nl_double param);
ATTR_COLD /* inline */ void initial(const nl_double val) { m_param = val; }
ATTR_HOT /* inline */ nl_double Value() const { return m_param; }
protected:
/* ATTR_COLD */ virtual void save_register()
@ -939,10 +939,10 @@ class netlist_param_int_t : public netlist_param_t
public:
ATTR_COLD netlist_param_int_t();
ATTR_HOT inline void setTo(const int param);
ATTR_COLD inline void initial(const int val) { m_param = val; }
ATTR_HOT /* inline */ void setTo(const int param);
ATTR_COLD /* inline */ void initial(const int val) { m_param = val; }
ATTR_HOT inline int Value() const { return m_param; }
ATTR_HOT /* inline */ int Value() const { return m_param; }
protected:
/* ATTR_COLD */ virtual void save_register()
@ -968,10 +968,10 @@ class netlist_param_str_t : public netlist_param_t
public:
ATTR_COLD netlist_param_str_t();
ATTR_HOT inline void setTo(const pstring &param);
ATTR_COLD inline void initial(const pstring &val) { m_param = val; }
ATTR_HOT /* inline */ void setTo(const pstring &param);
ATTR_COLD /* inline */ void initial(const pstring &val) { m_param = val; }
ATTR_HOT inline const pstring &Value() const { return m_param; }
ATTR_HOT /* inline */ const pstring &Value() const { return m_param; }
private:
pstring m_param;
@ -983,9 +983,9 @@ class netlist_param_model_t : public netlist_param_t
public:
ATTR_COLD netlist_param_model_t();
ATTR_COLD inline void initial(const pstring &val) { m_param = val; }
ATTR_COLD /* inline */ void initial(const pstring &val) { m_param = val; }
ATTR_HOT inline const pstring &Value() const { return m_param; }
ATTR_HOT /* inline */ const pstring &Value() const { return m_param; }
/* these should be cached! */
ATTR_COLD nl_double model_value(const pstring &entity, const nl_double defval = 0.0) const;
@ -1013,12 +1013,12 @@ public:
/* ATTR_COLD */ virtual void init(netlist_base_t &anetlist, const pstring &name);
ATTR_HOT virtual void update_param() {}
ATTR_HOT inline void update_dev()
ATTR_HOT /* inline */ void update_dev()
{
begin_timing(stat_total_time);
inc_stat(stat_update_count);
#if USE_PMFDELEGATES
#if NO_USE_PMFCONVERSION
#if NO_USE_PMFCONVERSION
(this->*static_update)();
#else
static_update(this);
@ -1033,22 +1033,22 @@ public:
ATTR_HOT netlist_sig_t INPLOGIC_PASSIVE(netlist_logic_input_t &inp);
ATTR_HOT inline netlist_sig_t INPLOGIC(const netlist_logic_input_t &inp) const
ATTR_HOT /* inline */ netlist_sig_t INPLOGIC(const netlist_logic_input_t &inp) const
{
nl_assert(inp.state() != netlist_logic_t::STATE_INP_PASSIVE);
return inp.Q();
}
ATTR_HOT inline void OUTLOGIC(netlist_logic_output_t &out, const netlist_sig_t val, const netlist_time &delay)
ATTR_HOT /* inline */ void OUTLOGIC(netlist_logic_output_t &out, const netlist_sig_t val, const netlist_time &delay)
{
out.set_Q(val, delay);
}
ATTR_HOT inline nl_double INPANALOG(const netlist_analog_input_t &inp) const { return inp.Q_Analog(); }
ATTR_HOT /* inline */ nl_double INPANALOG(const netlist_analog_input_t &inp) const { return inp.Q_Analog(); }
ATTR_HOT inline nl_double TERMANALOG(const netlist_terminal_t &term) const { return term.net().as_analog().Q_Analog(); }
ATTR_HOT /* inline */ nl_double TERMANALOG(const netlist_terminal_t &term) const { return term.net().as_analog().Q_Analog(); }
ATTR_HOT inline void OUTANALOG(netlist_analog_output_t &out, const nl_double val)
ATTR_HOT /* inline */ void OUTANALOG(netlist_analog_output_t &out, const nl_double val)
{
out.set_Q(val);
}
@ -1167,20 +1167,20 @@ public:
ATTR_COLD void start();
ATTR_COLD void stop();
ATTR_HOT inline const netlist_queue_t &queue() const { return m_queue; }
ATTR_HOT inline netlist_queue_t &queue() { return m_queue; }
ATTR_HOT inline const netlist_time &time() const { return m_time; }
ATTR_HOT inline NETLIB_NAME(solver) *solver() const { return m_solver; }
ATTR_HOT inline NETLIB_NAME(gnd) *gnd() const { return m_gnd; }
ATTR_HOT /* inline */ const netlist_queue_t &queue() const { return m_queue; }
ATTR_HOT /* inline */ netlist_queue_t &queue() { return m_queue; }
ATTR_HOT /* inline */ const netlist_time &time() const { return m_time; }
ATTR_HOT /* inline */ NETLIB_NAME(solver) *solver() const { return m_solver; }
ATTR_HOT /* inline */ NETLIB_NAME(gnd) *gnd() const { return m_gnd; }
ATTR_HOT nl_double gmin() const;
ATTR_HOT void push_to_queue(netlist_net_t &out, const netlist_time &attime);
ATTR_HOT void remove_from_queue(netlist_net_t &out);
ATTR_HOT void process_queue(const netlist_time &delta);
ATTR_HOT inline void abort_current_queue_slice() { m_stop = netlist_time::zero; }
ATTR_HOT /* inline */ void abort_current_queue_slice() { m_stop = netlist_time::zero; }
ATTR_HOT inline const bool &use_deactivate() const { return m_use_deactivate; }
ATTR_HOT /* inline */ const bool &use_deactivate() const { return m_use_deactivate; }
ATTR_COLD void rebuild_lists(); /* must be called after post_load ! */
@ -1197,9 +1197,9 @@ public:
plist_t<_C *> get_device_list()
{
plist_t<_C *> tmp;
for (netlist_device_t * const *entry = m_devices.first(); entry != NULL; entry = m_devices.next(entry))
for (int i = 0; i < m_devices.size(); i++)
{
_C *dev = dynamic_cast<_C *>(*entry);
_C *dev = dynamic_cast<_C *>(m_devices[i]);
if (dev != NULL)
tmp.add(dev);
}
@ -1209,9 +1209,9 @@ public:
template<class _C>
_C *get_first_device()
{
for (netlist_device_t * const *entry = m_devices.first(); entry != NULL; entry = m_devices.next(entry))
for (int i = 0; i < m_devices.size(); i++)
{
_C *dev = dynamic_cast<_C *>(*entry);
_C *dev = dynamic_cast<_C *>(m_devices[i]);
if (dev != NULL)
return dev;
}
@ -1222,9 +1222,9 @@ public:
_C *get_single_device(const char *classname)
{
_C *ret = NULL;
for (netlist_device_t * const *entry = m_devices.first(); entry != NULL; entry = m_devices.next(entry))
for (int i = 0; i < m_devices.size(); i++)
{
_C *dev = dynamic_cast<_C *>(*entry);
_C *dev = dynamic_cast<_C *>(m_devices[i]);
if (dev != NULL)
{
if (ret != NULL)
@ -1283,7 +1283,7 @@ private:
};
// -----------------------------------------------------------------------------
// Inline implementations
// /* inline */ implementations
// -----------------------------------------------------------------------------
PSTATE_INTERFACE(netlist_object_t, m_netlist, name())

View File

@ -23,22 +23,22 @@
* To get a performance increase we need the GCC extension.
*
* Todo: This doesn't work with current (4.8+) mingw 32bit builds.
* Therefore disabled for now for i386 builds.
* Therefore disabled for now for i386 builds.
*
*/
#ifndef USE_PMFDELEGATES
#if defined(__clang__) || (defined(__GNUC__) && defined(__i386__))
#define USE_PMFDELEGATES (0)
#define NO_USE_PMFCONVERSION (1)
#define USE_PMFDELEGATES (0)
#define NO_USE_PMFCONVERSION (1)
#else
#if defined(__GNUC__)
#define USE_PMFDELEGATES (1)
#define NO_USE_PMFCONVERSION (0)
#define NO_USE_PMFCONVERSION (0)
#pragma GCC diagnostic ignored "-Wpmf-conversions"
#else
#define USE_PMFDELEGATES (0)
#define NO_USE_PMFCONVERSION (1)
#define NO_USE_PMFCONVERSION (1)
#endif
#endif
#endif

View File

@ -38,9 +38,9 @@ netlist_factory_t::netlist_factory_t()
netlist_factory_t::~netlist_factory_t()
{
for (net_device_t_base_factory * const *e = m_list.first(); e != NULL; e = m_list.next(e))
for (int i=0; i < m_list.size(); i++)
{
net_device_t_base_factory *p = *e;
net_device_t_base_factory *p = m_list[i];
pfree(p);
}
m_list.clear();
@ -48,9 +48,9 @@ netlist_factory_t::~netlist_factory_t()
netlist_device_t *netlist_factory_t::new_device_by_classname(const pstring &classname) const
{
for (net_device_t_base_factory * const *e = m_list.first(); e != NULL; e = m_list.next(e))
for (int i=0; i < m_list.size(); i++)
{
net_device_t_base_factory *p = *e;
net_device_t_base_factory *p = m_list[i];
if (p->classname() == classname)
{
netlist_device_t *ret = p->Create();
@ -69,9 +69,9 @@ netlist_device_t *netlist_factory_t::new_device_by_name(const pstring &name, net
net_device_t_base_factory * netlist_factory_t::factory_by_name(const pstring &name, netlist_setup_t &setup) const
{
for (net_device_t_base_factory * const *e = m_list.first(); e != NULL; e = m_list.next(e))
for (int i=0; i < m_list.size(); i++)
{
net_device_t_base_factory *p = *e;
net_device_t_base_factory *p = m_list[i];
if (p->name() == name)
{
return p;

View File

@ -26,13 +26,13 @@ public:
class entry_t
{
public:
ATTR_HOT inline entry_t()
ATTR_HOT /* inline */ entry_t()
: m_object(), m_exec_time() {}
ATTR_HOT inline entry_t(const _Time &atime, const _Element &elem) : m_object(elem), m_exec_time(atime) {}
ATTR_HOT inline const _Time exec_time() const { return m_exec_time; }
ATTR_HOT inline const _Element object() const { return m_object; }
ATTR_HOT /* inline */ entry_t(const _Time &atime, const _Element &elem) : m_object(elem), m_exec_time(atime) {}
ATTR_HOT /* inline */ const _Time exec_time() const { return m_exec_time; }
ATTR_HOT /* inline */ const _Element object() const { return m_object; }
ATTR_HOT inline entry_t &operator=(const entry_t &right) {
ATTR_HOT /* inline */ entry_t &operator=(const entry_t &right) {
m_object = right.m_object;
m_exec_time = right.m_exec_time;
return *this;
@ -48,9 +48,9 @@ public:
clear();
}
ATTR_HOT inline int capacity() const { return _Size; }
ATTR_HOT inline bool is_empty() const { return (m_end == &m_list[0]); }
ATTR_HOT inline bool is_not_empty() const { return (m_end > &m_list[0]); }
ATTR_HOT /* inline */ int capacity() const { return _Size; }
ATTR_HOT /* inline */ bool is_empty() const { return (m_end == &m_list[0]); }
ATTR_HOT /* inline */ bool is_not_empty() const { return (m_end > &m_list[0]); }
ATTR_HOT void push(const entry_t &e)
{
@ -66,17 +66,17 @@ public:
//nl_assert(m_end - m_list < _Size);
}
ATTR_HOT inline const entry_t *pop()
ATTR_HOT /* inline */ const entry_t *pop()
{
return --m_end;
}
ATTR_HOT inline const entry_t *peek() const
ATTR_HOT /* inline */ const entry_t *peek() const
{
return (m_end-1);
}
ATTR_HOT /*inline*/ void remove(const _Element &elem)
ATTR_HOT /* inline */ void remove(const _Element &elem)
{
entry_t * i = m_end - 1;
while (i > &m_list[0])
@ -102,9 +102,9 @@ public:
// save state support & mame disasm
ATTR_COLD inline const entry_t *listptr() const { return &m_list[0]; }
ATTR_HOT inline int count() const { return m_end - m_list; }
ATTR_HOT inline const entry_t & operator[](const int & index) const { return m_list[index]; }
ATTR_COLD /* inline */ const entry_t *listptr() const { return &m_list[0]; }
ATTR_HOT /* inline */ int count() const { return m_end - m_list; }
ATTR_HOT /* inline */ const entry_t & operator[](const int & index) const { return m_list[index]; }
#if (NL_KEEP_STATISTICS)
// profiling

View File

@ -238,7 +238,7 @@ void netlist_parser::device(const pstring &dev_type)
NL_VERBOSE_OUT(("Parser: IC: %s\n", devname.cstr()));
cnt = 0;
while (cnt < def_params.count())
while (cnt < def_params.size())
{
pstring paramfq = devname + "." + def_params[cnt];
@ -259,7 +259,7 @@ void netlist_parser::device(const pstring &dev_type)
token_t tok = get_token();
cnt = 0;
while (tok.is(m_tok_comma) && cnt < termlist.count())
while (tok.is(m_tok_comma) && cnt < termlist.size())
{
pstring output_name = get_identifier();
@ -268,8 +268,8 @@ void netlist_parser::device(const pstring &dev_type)
cnt++;
tok = get_token();
}
if (cnt != termlist.count())
m_setup.netlist().error("netlist: input count mismatch for %s - expected %d found %d\n", devname.cstr(), termlist.count(), cnt);
if (cnt != termlist.size())
m_setup.netlist().error("netlist: input count mismatch for %s - expected %" SIZETFMT " found %d\n", devname.cstr(), termlist.size(), cnt);
require_token(tok, m_tok_param_right);
}

View File

@ -129,6 +129,14 @@ private:
class netlist_sources_t
{
public:
netlist_sources_t() { }
~netlist_sources_t()
{
m_list.clear();
}
void add(netlist_source_t src)
{
m_list.add(src);
@ -136,7 +144,7 @@ public:
void parse(netlist_setup_t &setup, const pstring name)
{
for (int i=0; i < m_list.count(); i++)
for (int i=0; i < m_list.size(); i++)
{
if (m_list[i].parse(setup, name))
return;

View File

@ -107,7 +107,7 @@ netlist_device_t *netlist_setup_t::register_dev(const pstring &classname, const
template <class T>
static void remove_start_with(T &hm, pstring &sw)
{
for (int i = hm.count() - 1; i >= 0; i--)
for (int i = hm.size() - 1; i >= 0; i--)
{
pstring x = hm[i]->name();
if (sw.equals(x.substr(0, sw.len())))
@ -128,10 +128,10 @@ void netlist_setup_t::remove_dev(const pstring &name)
remove_start_with<tagmap_terminal_t>(m_terminals, temp);
remove_start_with<tagmap_param_t>(m_params, temp);
const link_t *p = m_links.first();
const link_t *p = m_links.data();
while (p != NULL)
{
const link_t *n = m_links.next(p);
const link_t *n = p+1;
if (temp.equals(p->e1.substr(0,temp.len())) || temp.equals(p->e2.substr(0,temp.len())))
m_links.remove(*p);
p = n;
@ -248,7 +248,7 @@ void netlist_setup_t::register_object(netlist_device_t &dev, const pstring &name
{
pstring search = (".model " + val + " ").ucase();
bool found = false;
for (int i=0; i < m_models.count(); i++)
for (int i=0; i < m_models.size(); i++)
{
if (m_models[i].ucase().startsWith(search))
{
@ -287,9 +287,9 @@ void netlist_setup_t::register_object(netlist_device_t &dev, const pstring &name
void netlist_setup_t::register_link_arr(const pstring &terms)
{
nl_util::pstring_list list = nl_util::split(terms,", ");
if (list.count() < 2)
if (list.size() < 2)
netlist().error("You must pass at least 2 terminals to NET_C");
for (int i = 1; i < list.count(); i++)
for (int i = 1; i < list.size(); i++)
{
register_link(list[0], list[i]);
}
@ -418,7 +418,7 @@ nld_base_proxy *netlist_setup_t::get_d_a_proxy(netlist_core_terminal_t &out)
#if 1
/* connect all existing terminals to new net */
for (int i = 0; i < out.net().m_core_terms.count(); i++)
for (int i = 0; i < out.net().m_core_terms.size(); i++)
{
netlist_core_terminal_t *p = out.net().m_core_terms[i];
p->clear_net(); // de-link from all nets ...
@ -577,7 +577,7 @@ bool netlist_setup_t::connect_input_input(netlist_core_terminal_t &t1, netlist_c
ret = connect(t2, t1.net().railterminal());
if (!ret)
{
for (int i=0; i<t1.net().m_core_terms.count(); i++)
for (int i=0; i<t1.net().m_core_terms.size(); i++)
{
if (t1.net().m_core_terms[i]->isType(netlist_core_terminal_t::TERMINAL)
/*|| t1.net().m_core_terms[i]->isType(netlist_core_terminal_t::OUTPUT)*/)
@ -595,7 +595,7 @@ bool netlist_setup_t::connect_input_input(netlist_core_terminal_t &t1, netlist_c
ret = connect(t1, t2.net().railterminal());
if (!ret)
{
for (int i=0; i<t2.net().m_core_terms.count(); i++)
for (int i=0; i<t2.net().m_core_terms.size(); i++)
{
if (t2.net().m_core_terms[i]->isType(netlist_core_terminal_t::TERMINAL)
/*|| t2.net().m_core_terms[i]->isType(netlist_core_terminal_t::OUTPUT)*/)
@ -672,10 +672,10 @@ void netlist_setup_t::resolve_inputs()
* after all other terminals were connected.
*/
int tries = 100;
while (m_links.count() > 0 && tries > 0) // FIXME: convert into constant
while (m_links.size() > 0 && tries > 0) // FIXME: convert into constant
{
int li = 0;
while (li < m_links.count())
while (li < m_links.size())
{
const pstring t1s = m_links[li].e1;
const pstring t2s = m_links[li].e2;
@ -695,7 +695,7 @@ void netlist_setup_t::resolve_inputs()
}
if (tries == 0)
{
for (int i = 0; i < m_links.count(); i++ )
for (int i = 0; i < m_links.size(); i++ )
netlist().warning("Error connecting %s to %s\n", m_links[i].e1.cstr(), m_links[i].e2.cstr());
netlist().error("Error connecting -- bailing out\n");
@ -707,19 +707,19 @@ void netlist_setup_t::resolve_inputs()
netlist_net_t::list_t todelete;
for (netlist_net_t *const *pn = netlist().m_nets.first(); pn != NULL; pn = netlist().m_nets.next(pn))
for (int i = 0; i<netlist().m_nets.size(); i++)
{
if ((*pn)->num_cons() == 0)
if (netlist().m_nets[i]->num_cons() == 0)
{
todelete.add(*pn);
todelete.add(netlist().m_nets[i]);
}
else
{
(*pn)->rebuild_list();
netlist().m_nets[i]->rebuild_list();
}
}
for (int i=0; i < todelete.count(); i++)
for (int i=0; i < todelete.size(); i++)
{
netlist().log("Deleting net %s ...", todelete[i]->name().cstr());
netlist().m_nets.remove(todelete[i]);
@ -730,7 +730,7 @@ void netlist_setup_t::resolve_inputs()
pstring errstr("");
netlist().log("looking for terminals not connected ...");
for (int i = 0; i < m_terminals.count(); i++)
for (int i = 0; i < m_terminals.size(); i++)
{
if (!m_terminals[i]->has_net())
errstr += pstring::sprintf("Found terminal %s without a net\n",
@ -745,7 +745,7 @@ void netlist_setup_t::resolve_inputs()
netlist().log("looking for two terms connected to rail nets ...\n");
// FIXME: doesn't find internal devices. This needs to be more clever
for (int i=0; i < netlist().m_devices.count(); i++)
for (int i=0; i < netlist().m_devices.size(); i++)
{
NETLIB_NAME(twoterm) *t = dynamic_cast<NETLIB_NAME(twoterm) *>(netlist().m_devices[i]);
if (t != NULL)
@ -777,7 +777,7 @@ void netlist_setup_t::start_devices()
{
NL_VERBOSE_OUT(("Creating dynamic logs ...\n"));
nl_util::pstring_list ll = nl_util::split(env, ":");
for (int i=0; i < ll.count(); i++)
for (int i=0; i < ll.size(); i++)
{
NL_VERBOSE_OUT(("%d: <%s>\n",i, ll[i].cstr()));
NL_VERBOSE_OUT(("%d: <%s>\n",i, ll[i].cstr()));

View File

@ -56,7 +56,7 @@ public:
while (i<str.len())
{
int p = -1;
for (int j=0; j < onstrl.count(); j++)
for (int j=0; j < onstrl.size(); j++)
{
if (std::strncmp(onstrl[j].cstr(), &(str.cstr()[i]), onstrl[j].len())==0)
{

View File

@ -33,13 +33,13 @@
/* not supported in GCC prior to 4.4.x */
/* ATTR_HOT and ATTR_COLD cause performance degration in 5.1 */
//#define ATTR_HOT
//#define ATTR_COLD
//#define ATTR_COLD
#define ATTR_HOT __attribute__((hot))
#define ATTR_COLD __attribute__((cold))
#define RESTRICT
#define EXPECTED(x) (x)
#define UNEXPECTED(x) (x)
#define EXPECTED(x) (x)
#define UNEXPECTED(x) (x)
#define ATTR_PRINTF(x,y) __attribute__((format(printf, x, y)))
#define ATTR_UNUSED __attribute__((__unused__))

View File

@ -22,7 +22,7 @@ class parray_t
{
public:
ATTR_COLD parray_t(int numElements)
ATTR_COLD parray_t(std::size_t numElements)
: m_list(0), m_capacity(0)
{
set_capacity(numElements);
@ -31,15 +31,15 @@ public:
ATTR_COLD parray_t(const parray_t &rhs)
: m_list(0), m_capacity(0)
{
set_capacity(rhs.capacity());
for (int i=0; i<m_capacity; i++)
set_capacity(rhs.size());
for (std::size_t i=0; i<m_capacity; i++)
m_list[i] = rhs[i];
}
ATTR_COLD parray_t &operator=(const parray_t &rhs)
{
set_capacity(rhs.capacity());
for (int i=0; i<m_capacity; i++)
set_capacity(rhs.size());
for (std::size_t i=0; i<m_capacity; i++)
m_list[i] = rhs[i];
return *this;
}
@ -51,23 +51,23 @@ public:
m_list = NULL;
}
ATTR_HOT inline operator _ListClass * () { return m_list; }
ATTR_HOT inline operator const _ListClass * () const { return m_list; }
ATTR_HOT /* inline */ operator _ListClass * () { return m_list; }
ATTR_HOT /* inline */ operator const _ListClass * () const { return m_list; }
/* using the [] operator will not allow gcc to vectorize code because
* basically a pointer is returned.
* array works around this.
*/
ATTR_HOT inline _ListClass *array() { return m_list; }
ATTR_HOT /* inline */ _ListClass *array() { return m_list; }
ATTR_HOT inline _ListClass& operator[](const int index) { return m_list[index]; }
ATTR_HOT inline const _ListClass& operator[](const int index) const { return m_list[index]; }
ATTR_HOT /* inline */ _ListClass& operator[](const std::size_t index) { return m_list[index]; }
ATTR_HOT /* inline */ const _ListClass& operator[](const std::size_t index) const { return m_list[index]; }
ATTR_HOT inline int capacity() const { return m_capacity; }
ATTR_HOT /* inline */ std::size_t size() const { return m_capacity; }
protected:
ATTR_COLD void set_capacity(const int new_capacity)
ATTR_COLD void set_capacity(const std::size_t new_capacity)
{
if (m_list != NULL)
pfree_array(m_list);
@ -79,26 +79,93 @@ protected:
}
private:
_ListClass * m_list;
int m_capacity;
};
// ----------------------------------------------------------------------------------------
// plinearlist_t: a simple list
// plist_t: a simple list
// ----------------------------------------------------------------------------------------
#if 0
#include <vector>
//#define plist_t std::vector
template <typename _ListClass>
class plist_t : public std::vector<_ListClass>
{
public:
plist_t() : std::vector<_ListClass>() {}
plist_t(const int numElements) : std::vector<_ListClass>(numElements) {}
template <class _ListClass>
/* inline */ void add(const _ListClass &elem) { this->push_back(elem); }
void clear_and_free()
{
for (_ListClass *i = this->data(); i < this->data() + this->size(); i++)
{
pfree(*i);
}
this->clear();
}
/* inline */ bool contains(const _ListClass &elem) const
{
for (const _ListClass *i = this->data(); i < this->data() + this->size(); i++)
{
if (*i == elem)
return true;
}
return false;
}
/* inline */ void remove(const _ListClass &elem)
{
for (int i = 0; i < this->size(); i++)
{
if (this->at(i) == elem)
{
this->erase(this->begin() + i);
return;
}
}
}
/* inline */ void remove_at(const int pos)
{
this->erase(this->begin() + pos);
}
/* inline */ int indexof(const _ListClass &elem) const
{
for (int i = 0; i < this->size(); i++)
{
if (this->at(i) == elem)
return i;
}
return -1;
}
ATTR_HOT /* inline */ void swap(const int pos1, const int pos2)
{
//nl_assert((pos1>=0) && (pos1<m_count));
//nl_assert((pos2>=0) && (pos2<m_count));
_ListClass tmp = (*this)[pos1];
(*this)[pos1] = (*this)[pos2];
(*this)[pos2] =tmp;
}
};
#else
template <typename _ListClass>
class plist_t
{
public:
ATTR_COLD plist_t(const int numElements = 0)
ATTR_COLD plist_t(const std::size_t numElements = 0)
{
m_capacity = numElements;
if (m_capacity == 0)
m_list = NULL;
else
m_list = palloc_array(_ListClass, m_capacity);
m_list = this->alloc(m_capacity);
m_count = 0;
}
@ -108,9 +175,9 @@ public:
if (m_capacity == 0)
m_list = NULL;
else
m_list = palloc_array(_ListClass, m_capacity);
m_list = this->alloc(m_capacity);
m_count = 0;
for (int i=0; i<rhs.count(); i++)
for (std::size_t i=0; i<rhs.size(); i++)
{
this->add(rhs[i]);
}
@ -119,7 +186,7 @@ public:
ATTR_COLD plist_t &operator=(const plist_t &rhs)
{
this->clear();
for (int i=0; i<rhs.count(); i++)
for (std::size_t i=0; i<rhs.size(); i++)
{
this->add(rhs[i]);
}
@ -130,27 +197,19 @@ public:
~plist_t()
{
if (m_list != NULL)
pfree_array(m_list);
this->dealloc(m_list, m_capacity);
m_list = NULL;
}
ATTR_HOT inline operator _ListClass * () { return m_list; }
ATTR_HOT inline operator const _ListClass * () const { return m_list; }
ATTR_HOT /* inline */ _ListClass *data() { return m_list; }
/* using the [] operator will not allow gcc to vectorize code because
* basically a pointer is returned.
* array works around this.
*/
ATTR_HOT /* inline */ _ListClass& operator[](std::size_t index) { return *(m_list + index); }
ATTR_HOT /* inline */ const _ListClass& operator[](std::size_t index) const { return *(m_list + index); }
ATTR_HOT inline _ListClass *array() { return m_list; }
ATTR_HOT inline _ListClass& operator[](const int index) { return m_list[index]; }
ATTR_HOT inline const _ListClass& operator[](const int index) const { return m_list[index]; }
ATTR_HOT inline void add(const _ListClass &elem)
ATTR_HOT /* inline */ void add(const _ListClass &elem)
{
if (m_count >= m_capacity){
int new_size = m_capacity * 2;
std::size_t new_size = m_capacity * 2;
if (new_size < 32)
new_size = 32;
set_capacity(new_size);
@ -159,9 +218,9 @@ public:
m_list[m_count++] = elem;
}
ATTR_HOT inline void remove(const _ListClass &elem)
ATTR_HOT /* inline */ void remove(const _ListClass &elem)
{
for (int i = 0; i < m_count; i++)
for (std::size_t i = 0; i < m_count; i++)
{
if (m_list[i] == elem)
{
@ -176,7 +235,7 @@ public:
}
}
ATTR_HOT inline void remove_at(const int pos)
ATTR_HOT /* inline */ void remove_at(const std::size_t pos)
{
//nl_assert((pos>=0) && (pos<m_count));
m_count--;
@ -186,7 +245,7 @@ public:
}
}
ATTR_HOT inline void swap(const int pos1, const int pos2)
ATTR_HOT /* inline */ void swap(const std::size_t pos1, const std::size_t pos2)
{
//nl_assert((pos1>=0) && (pos1<m_count));
//nl_assert((pos2>=0) && (pos2<m_count));
@ -195,7 +254,7 @@ public:
m_list[pos2] =tmp;
}
ATTR_HOT inline bool contains(const _ListClass &elem) const
ATTR_HOT /* inline */ bool contains(const _ListClass &elem) const
{
for (_ListClass *i = m_list; i < m_list + m_count; i++)
{
@ -205,9 +264,9 @@ public:
return false;
}
ATTR_HOT inline int indexof(const _ListClass &elem) const
ATTR_HOT /* inline */ int indexof(const _ListClass &elem) const
{
for (int i = 0; i < m_count; i++)
for (std::size_t i = 0; i < m_count; i++)
{
if (m_list[i] == elem)
return i;
@ -215,13 +274,10 @@ public:
return -1;
}
ATTR_HOT inline const _ListClass *first() const { return ((m_count > 0) ? &m_list[0] : NULL ); }
ATTR_HOT inline const _ListClass *next(const _ListClass *lc) const { return ((lc < last()) ? lc + 1 : NULL ); }
ATTR_HOT inline const _ListClass *last() const { return &m_list[m_count -1]; }
ATTR_HOT inline int count() const { return m_count; }
ATTR_HOT inline bool is_empty() const { return (m_count == 0); }
ATTR_HOT inline void clear() { m_count = 0; }
ATTR_HOT inline int capacity() const { return m_capacity; }
ATTR_HOT /* inline */ std::size_t size() const { return m_count; }
ATTR_HOT /* inline */ bool is_empty() const { return (m_count == 0); }
ATTR_HOT /* inline */ void clear() { m_count = 0; }
ATTR_HOT /* inline */ std::size_t capacity() const { return m_capacity; }
ATTR_COLD void clear_and_free()
{
@ -233,12 +289,12 @@ public:
}
private:
ATTR_COLD void set_capacity(const int new_capacity)
ATTR_COLD void set_capacity(const std::size_t new_capacity)
{
int cnt = count();
std::size_t cnt = size();
if (new_capacity > 0)
{
_ListClass *m_new = palloc_array(_ListClass, new_capacity);
_ListClass *m_new = this->alloc(new_capacity);
_ListClass *pd = m_new;
if (cnt > new_capacity)
@ -246,24 +302,35 @@ private:
for (_ListClass *ps = m_list; ps < m_list + cnt; ps++, pd++)
*pd = *ps;
if (m_list != NULL)
pfree_array(m_list);
this->dealloc(m_list, m_capacity);
m_list = m_new;
m_count = cnt;
}
else
{
if (m_list != NULL)
pfree_array(m_list);
this->dealloc(m_list, m_capacity);
m_list = NULL;
m_count = 0;
}
m_capacity = new_capacity;
}
int m_count;
_ListClass *alloc(const std::size_t n)
{
return palloc_array(_ListClass, n);
}
void dealloc(_ListClass *p, std::size_t n)
{
pfree_array(p);
}
std::size_t m_count;
_ListClass * m_list;
int m_capacity;
std::size_t m_capacity;
};
#endif
// ----------------------------------------------------------------------------------------
// pnamedlist_t: a simple list of elements which have a name() interface
@ -275,7 +342,7 @@ class pnamedlist_t : public plist_t<_ListClass>
public:
_ListClass find(const pstring &name) const
{
for (int i=0; i < this->count(); i++)
for (int i=0; i < this->size(); i++)
if (get_name((*this)[i]) == name)
return (*this)[i];
return _ListClass(NULL);
@ -337,27 +404,27 @@ public:
{
}
ATTR_HOT inline void push(const _StackClass &elem)
ATTR_HOT /* inline */ void push(const _StackClass &elem)
{
m_list.add(elem);
}
ATTR_HOT inline _StackClass peek() const
ATTR_HOT /* inline */ _StackClass peek() const
{
return m_list[m_list.count() - 1];
return m_list[m_list.size() - 1];
}
ATTR_HOT inline _StackClass pop()
ATTR_HOT /* inline */ _StackClass pop()
{
_StackClass ret = peek();
m_list.remove_at(m_list.count() - 1);
m_list.remove_at(m_list.size() - 1);
return ret;
}
ATTR_HOT inline int count() const { return m_list.count(); }
ATTR_HOT inline bool empty() const { return (m_list.count() == 0); }
ATTR_HOT inline void reset() { m_list.reset(); }
ATTR_HOT inline int capacity() const { return m_list.capacity(); }
ATTR_HOT /* inline */ int count() const { return m_list.size(); }
ATTR_HOT /* inline */ bool empty() const { return (m_list.size() == 0); }
ATTR_HOT /* inline */ void reset() { m_list.reset(); }
ATTR_HOT /* inline */ int capacity() const { return m_list.capacity(); }
private:
plist_t<_StackClass> m_list;
@ -382,7 +449,7 @@ public:
plinkedlist_t() : m_head(NULL) {}
ATTR_HOT inline void insert(const _ListClass &before, _ListClass &elem)
ATTR_HOT /* inline */ void insert(const _ListClass &before, _ListClass &elem)
{
if (m_head == &before)
{
@ -407,13 +474,13 @@ public:
}
}
ATTR_HOT inline void insert(_ListClass &elem)
ATTR_HOT /* inline */ void insert(_ListClass &elem)
{
elem.m_next = m_head;
m_head = &elem;
}
ATTR_HOT inline void add(_ListClass &elem)
ATTR_HOT /* inline */ void add(_ListClass &elem)
{
_ListClass **p = &m_head;
while (*p != NULL)
@ -424,7 +491,7 @@ public:
elem.m_next = NULL;
}
ATTR_HOT inline void remove(const _ListClass &elem)
ATTR_HOT /* inline */ void remove(const _ListClass &elem)
{
_ListClass **p = &m_head;
while (*p != &elem)
@ -436,11 +503,11 @@ public:
}
ATTR_HOT static inline _ListClass *next(const _ListClass &elem) { return elem.m_next; }
ATTR_HOT static inline _ListClass *next(const _ListClass *elem) { return elem->m_next; }
ATTR_HOT inline _ListClass *first() const { return m_head; }
ATTR_HOT inline void clear() { m_head = NULL; }
ATTR_HOT inline bool is_empty() const { return (m_head == NULL); }
ATTR_HOT static /* inline */ _ListClass *next(const _ListClass &elem) { return elem.m_next; }
ATTR_HOT static /* inline */ _ListClass *next(const _ListClass *elem) { return elem->m_next; }
ATTR_HOT /* inline */ _ListClass *first() const { return m_head; }
ATTR_HOT /* inline */ void clear() { m_head = NULL; }
ATTR_HOT /* inline */ bool is_empty() const { return (m_head == NULL); }
private:
_ListClass *m_head;

View File

@ -32,7 +32,6 @@ public:
virtual ~poption()
{
}
/* no_argument options will be called with "" argument */
@ -157,7 +156,7 @@ public:
{
pstring ret;
for (int i=0; i<m_opts.count(); i++ )
for (int i=0; i<m_opts.size(); i++ )
{
poption *opt = m_opts[i];
pstring line = "";
@ -182,7 +181,7 @@ private:
poption *getopt_short(pstring arg)
{
for (int i=0; i < m_opts.count(); i++)
for (int i=0; i < m_opts.size(); i++)
{
if (m_opts[i]->m_short == arg)
return m_opts[i];
@ -191,7 +190,7 @@ private:
}
poption *getopt_long(pstring arg)
{
for (int i=0; i < m_opts.count(); i++)
for (int i=0; i < m_opts.size(); i++)
{
if (m_opts[i]->m_long == arg)
return m_opts[i];

View File

@ -245,7 +245,7 @@ double ppreprocessor::expr(const nl_util::pstring_list &sexpr, int &start, int p
val = tok.as_double();
start++;
}
while (start < sexpr.count())
while (start < sexpr.size())
{
tok=sexpr[start];
if (tok == ")")
@ -278,7 +278,7 @@ double ppreprocessor::expr(const nl_util::pstring_list &sexpr, int &start, int p
ppreprocessor::define_t *ppreprocessor::get_define(const pstring &name)
{
for (int i = 0; i<m_defines.count(); i++)
for (int i = 0; i<m_defines.size(); i++)
{
if (m_defines[i].m_name == name)
return &m_defines[i];
@ -290,7 +290,7 @@ pstring ppreprocessor::replace_macros(const pstring &line)
{
nl_util::pstring_list elems = nl_util::splitexpr(line, m_expr_sep);
pstringbuffer ret = "";
for (int i=0; i<elems.count(); i++)
for (int i=0; i<elems.size(); i++)
{
define_t *def = get_define(elems[i]);
if (def != NULL)
@ -310,7 +310,7 @@ pstring ppreprocessor::process(const pstring &contents)
int level = 0;
int i=0;
while (i<lines.count())
while (i<lines.size())
{
pstring line = lines[i];
pstring lt = line.replace("\t"," ").trim();
@ -342,7 +342,7 @@ pstring ppreprocessor::process(const pstring &contents)
}
else if (lti[0].equals("#define"))
{
if (lti.count() != 3)
if (lti.size() != 3)
error(pstring::sprintf("PREPRO: only simple defines allowed: %s", line.cstr()));
m_defines.add(define_t(lti[1], lti[2]));
}
@ -352,7 +352,7 @@ pstring ppreprocessor::process(const pstring &contents)
else
{
//if (ifflag == 0 && level > 0)
// fprintf(stderr, "conditional: %s\n", line.cstr());
// fprintf(stderr, "conditional: %s\n", line.cstr());
if (ifflag == 0)
{
ret.cat(line);

View File

@ -93,7 +93,7 @@ public:
token_id_t register_token(pstring token)
{
m_tokens.add(token);
return token_id_t(m_tokens.count() - 1);
return token_id_t(m_tokens.size() - 1);
}
void set_identifier_chars(pstring s) { m_identifier_chars = s; }

View File

@ -41,12 +41,12 @@ ATTR_COLD void pstate_manager_t::remove_save_items(const void *owner)
{
pstate_entry_t::list_t todelete;
for (int i=0; i < m_save.count(); i++)
for (int i=0; i < m_save.size(); i++)
{
if (m_save[i]->m_owner == owner)
todelete.add(m_save[i]);
}
for (int i=0; i < todelete.count(); i++)
for (int i=0; i < todelete.size(); i++)
{
m_save.remove(todelete[i]);
}
@ -55,14 +55,14 @@ ATTR_COLD void pstate_manager_t::remove_save_items(const void *owner)
ATTR_COLD void pstate_manager_t::pre_save()
{
for (int i=0; i < m_save.count(); i++)
for (int i=0; i < m_save.size(); i++)
if (m_save[i]->m_dt == DT_CUSTOM)
m_save[i]->m_callback->on_pre_save();
}
ATTR_COLD void pstate_manager_t::post_load()
{
for (int i=0; i < m_save.count(); i++)
for (int i=0; i < m_save.size(); i++)
if (m_save[i]->m_dt == DT_CUSTOM)
m_save[i]->m_callback->on_post_load();
}

View File

@ -26,7 +26,7 @@
template<typename C, std::size_t N> ATTR_COLD void obj::save(C (&state)[N], const pstring &stname) \
{ manager->save_state_ptr(module + "." + stname, nl_datatype<C>::type, this, sizeof(state[0]), N, &(state[0]), false); } \
template<typename C> ATTR_COLD void obj::save(C *state, const pstring &stname, const int count) \
{ manager->save_state_ptr(module + "." + stname, nl_datatype<C>::type, this, sizeof(C), count, state, false); }
{ manager->save_state_ptr(module + "." + stname, nl_datatype<C>::type, this, sizeof(C), count, state, false); }
enum pstate_data_type_e {
NOT_SUPPORTED,

View File

@ -245,7 +245,7 @@ pstring::str_t *pstring::salloc(int n)
{
int size = sizeof(str_t) + n + 1;
str_t *p = (str_t *) palloc_array(char, size);
// str_t *p = (str_t *) _mm_malloc(size, 8);
// str_t *p = (str_t *) _mm_malloc(size, 8);
p->init(n);
return p;
}
@ -358,4 +358,3 @@ void pstringbuffer::pcat(const pstring &s)
std::strncpy(m_ptr + m_len, s.cstr(), slen + 1);
m_len += slen;
}

View File

@ -132,9 +132,9 @@ protected:
}
void init(const int alen)
{
m_ref_count = 1;
m_len = alen;
m_str[0] = 0;
m_ref_count = 1;
m_len = alen;
m_str[0] = 0;
}
char *str() { return &m_str[0]; }
int len() { return m_len; }

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:Tatsuyuki Satoh
/*
vlm5030.c

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:Tatsuyuki Satoh
#pragma once

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:Tatsuyuki Satoh
/***************************************************************************

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:BUT
/*

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:BUT
/*
* Thunder Ceptor board

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:Tatsuyuki Satoh
#include "sound/msm5205.h"

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:BUT

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:BUT
#include "sound/dac.h"
#include "sound/namco.h"

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:BUT
/*
* Chack'n Pop (C) 1983 TAITO Corp.

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:Tatsuyuki Satoh
/***************************************************************************

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:BUT
/*
* Chack'n Pop (C) 1983 TAITO Corp.

View File

@ -1,4 +1,4 @@
// license:???
// license:BSD-3-Clause
// copyright-holders:BUT
/*
* Thunder Ceptor board

View File

@ -1,5 +1,5 @@
// license:BSD-3-Clause
// copyright-holders:Dan Boris
// copyright-holders:Dan Boris, Fabio Priuli, Mike Saarna, Robert Tuccitto
/***************************************************************************
a7800.c

View File

@ -213,9 +213,9 @@ ROM_START( elecbowl )
ROM_LOAD( "mp3403.u9", 0x0000, 0x0800, CRC(9eabaa7d) SHA1(b1f54587ed7f2bbf3a5d49075c807296384c2b06) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_elecbowl_opla.pla", 0, 365, NO_DUMP )
ROM_LOAD( "tms1100_elecbowl_output.pla", 0, 365, NO_DUMP )
ROM_END

View File

@ -91,6 +91,7 @@
***************************************************************************/
#include "includes/hh_tms1k.h"
#include "machine/tms1024.h"
#include "sound/beep.h"
// internal artwork
@ -4106,9 +4107,9 @@ ROM_START( mathmagi )
ROM_LOAD( "mp1030", 0x0000, 0x800, CRC(a81d7ccb) SHA1(4756ce42f1ea28ce5fe6498312f8306f10370969) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_mathmagi_opla.pla", 0, 365, NO_DUMP )
ROM_LOAD( "tms1100_mathmagi_output.pla", 0, 365, NO_DUMP )
ROM_END
@ -4117,9 +4118,9 @@ ROM_START( amaztron )
ROM_LOAD( "mp3405", 0x0000, 0x0800, CRC(9cbc0009) SHA1(17772681271b59280687492f37fa0859998f041d) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_amaztron_mpla.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) )
ROM_LOAD( "tms1100_common3_micro.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_amaztron_opla.pla", 0, 365, CRC(f3875384) SHA1(3c256a3db4f0aa9d93cf78124db39f4cbdc57e4a) )
ROM_LOAD( "tms1100_amaztron_output.pla", 0, 365, CRC(f3875384) SHA1(3c256a3db4f0aa9d93cf78124db39f4cbdc57e4a) )
ROM_END
@ -4128,9 +4129,9 @@ ROM_START( h2hbaseb )
ROM_LOAD( "mp1525", 0x0000, 0x0800, CRC(b5d6bf9b) SHA1(2cc9f35f077c1209c46d16ec853af87e4725c2fd) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_h2hbaseb_opla.pla", 0, 365, CRC(cb3d7e38) SHA1(6ab4a7c52e6010b7c7158463cb499973e52ff556) )
ROM_LOAD( "tms1100_h2hbaseb_output.pla", 0, 365, CRC(cb3d7e38) SHA1(6ab4a7c52e6010b7c7158463cb499973e52ff556) )
ROM_END
@ -4139,9 +4140,9 @@ ROM_START( h2hfootb )
ROM_LOAD( "mp3460.u3", 0x0000, 0x0800, CRC(3a4e53a8) SHA1(5052e706f992c6c4bada1fa7769589eec3df6471) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_h2hfootb_opla.pla", 0, 365, CRC(c8d85873) SHA1(16bd6fc8e3cd16d5f8fd32d0c74e67de77f5487e) )
ROM_LOAD( "tms1100_h2hfootb_output.pla", 0, 365, CRC(c8d85873) SHA1(16bd6fc8e3cd16d5f8fd32d0c74e67de77f5487e) )
ROM_END
@ -4150,9 +4151,9 @@ ROM_START( tc4 )
ROM_LOAD( "mp7334", 0x0000, 0x1000, CRC(923f3821) SHA1(a9ae342d7ff8dae1dedcd1e4984bcfae68586581) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_REGION( 557, "maincpu:opla", 0 )
ROM_LOAD( "tms1400_tc4_opla.pla", 0, 557, CRC(3b908725) SHA1(f83bf5faa5b3cb51f87adc1639b00d6f9a71ad19) )
ROM_LOAD( "tms1400_tc4_output.pla", 0, 557, CRC(3b908725) SHA1(f83bf5faa5b3cb51f87adc1639b00d6f9a71ad19) )
ROM_END
@ -4161,9 +4162,9 @@ ROM_START( ebball )
ROM_LOAD( "mp0914", 0x0000, 0x0400, CRC(3c6fb05b) SHA1(b2fe4b3ca72d6b4c9bfa84d67f64afdc215e7178) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1000_ebball_mpla.pla", 0, 867, CRC(d33da3cf) SHA1(13c4ebbca227818db75e6db0d45b66ba5e207776) )
ROM_LOAD( "tms1000_common2_micro.pla", 0, 867, CRC(d33da3cf) SHA1(13c4ebbca227818db75e6db0d45b66ba5e207776) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1000_ebball_opla.pla", 0, 365, CRC(062bf5bb) SHA1(8d73ee35444299595961225528b153e3a5fe66bf) )
ROM_LOAD( "tms1000_ebball_output.pla", 0, 365, CRC(062bf5bb) SHA1(8d73ee35444299595961225528b153e3a5fe66bf) )
ROM_END
@ -4172,9 +4173,9 @@ ROM_START( ebball2 )
ROM_LOAD( "mp0923", 0x0000, 0x0400, CRC(077acfe2) SHA1(a294ce7614b2cdb01c754a7a50d60d807e3f0939) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1000_ebball2_mpla.pla", 0, 867, CRC(d33da3cf) SHA1(13c4ebbca227818db75e6db0d45b66ba5e207776) )
ROM_LOAD( "tms1000_common2_micro.pla", 0, 867, CRC(d33da3cf) SHA1(13c4ebbca227818db75e6db0d45b66ba5e207776) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1000_ebball2_opla.pla", 0, 365, CRC(adcd73d1) SHA1(d69e590d288ef99293d86716498f3971528e30de) )
ROM_LOAD( "tms1000_ebball2_output.pla", 0, 365, CRC(adcd73d1) SHA1(d69e590d288ef99293d86716498f3971528e30de) )
ROM_END
@ -4183,9 +4184,9 @@ ROM_START( ebball3 )
ROM_LOAD( "6007_mp1204", 0x0000, 0x0800, CRC(987a29ba) SHA1(9481ae244152187d85349d1a08e439e798182938) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_ebball3_mpla.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_ebball3_opla.pla", 0, 365, CRC(00db663b) SHA1(6eae12503364cfb1f863df0e57970d3e766ec165) )
ROM_LOAD( "tms1100_ebball3_output.pla", 0, 365, CRC(00db663b) SHA1(6eae12503364cfb1f863df0e57970d3e766ec165) )
ROM_END
@ -4194,9 +4195,9 @@ ROM_START( einvader )
ROM_LOAD( "mp1211", 0x0000, 0x0800, CRC(b6efbe8e) SHA1(d7d54921dab22bb0c2956c896a5d5b56b6f64969) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_einvader_mpla.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_einvader_opla.pla", 0, 365, CRC(490158e1) SHA1(61cace1eb09244663de98d8fb04d9459b19668fd) )
ROM_LOAD( "tms1100_einvader_output.pla", 0, 365, CRC(490158e1) SHA1(61cace1eb09244663de98d8fb04d9459b19668fd) )
ROM_END
@ -4205,9 +4206,9 @@ ROM_START( efootb4 )
ROM_LOAD( "6009_mp7551", 0x0000, 0x1000, CRC(54fa7244) SHA1(4d16bd825c4a2db76ca8a263c373ade15c20e270) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1400_efootb4_mpla.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_LOAD( "tms1400_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_REGION( 557, "maincpu:opla", 0 )
ROM_LOAD( "tms1400_efootb4_opla.pla", 0, 557, CRC(5c87c753) SHA1(bde9d4aa1e57a718affd969475c0a1edcf60f444) )
ROM_LOAD( "tms1400_efootb4_output.pla", 0, 557, CRC(5c87c753) SHA1(bde9d4aa1e57a718affd969475c0a1edcf60f444) )
ROM_END
@ -4216,9 +4217,9 @@ ROM_START( ebaskb2 )
ROM_LOAD( "6010_mp1218", 0x0000, 0x0800, CRC(0089ede8) SHA1(c8a79d5aca7e37b637a4d152150acba9f41aad96) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_ebaskb2_mpla.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_ebaskb2_opla.pla", 0, 365, CRC(c18103ae) SHA1(5a9bb8e1d95a9f6919b05ff9471fa0a8014b8b81) )
ROM_LOAD( "tms1100_ebaskb2_output.pla", 0, 365, CRC(c18103ae) SHA1(5a9bb8e1d95a9f6919b05ff9471fa0a8014b8b81) )
ROM_END
@ -4227,9 +4228,9 @@ ROM_START( raisedvl )
ROM_LOAD( "mp1221", 0x0000, 0x0800, CRC(782791cc) SHA1(214249406fcaf44efc6350022bd534e59ec69c88) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_raisedvl_mpla.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_raisedvl_opla.pla", 0, 365, CRC(00db663b) SHA1(6eae12503364cfb1f863df0e57970d3e766ec165) )
ROM_LOAD( "tms1100_raisedvl_output.pla", 0, 365, CRC(00db663b) SHA1(6eae12503364cfb1f863df0e57970d3e766ec165) )
ROM_END
@ -4238,9 +4239,9 @@ ROM_START( gpoker )
ROM_LOAD( "mp2105", 0x0000, 0x0800, CRC(95a8f5b4) SHA1(d14f00ba9f57e437264d972baa14a14a28ff8719) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_gpoker_mpla.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_gpoker_opla.pla", 0, 365, CRC(f7e2d812) SHA1(cc3abd89afb1d2145dc47636553ccd0ba7de70d9) )
ROM_LOAD( "tms1100_gpoker_output.pla", 0, 365, CRC(f7e2d812) SHA1(cc3abd89afb1d2145dc47636553ccd0ba7de70d9) )
ROM_END
@ -4249,9 +4250,9 @@ ROM_START( gjackpot )
ROM_LOAD( "mpf553", 0x0000, 0x1000, CRC(f45fd008) SHA1(8d5d6407a8a031a833ceedfb931f5c9d2725ecd0) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1400_gjackpot_mpla.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_LOAD( "tms1400_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_REGION( 557, "maincpu:opla", 0 )
ROM_LOAD( "tms1400_gjackpot_opla.pla", 0, 557, CRC(50e471a7) SHA1(9d862cb9f51a563882b62662c5bfe61b52e3df00) )
ROM_LOAD( "tms1400_gjackpot_output.pla", 0, 557, CRC(50e471a7) SHA1(9d862cb9f51a563882b62662c5bfe61b52e3df00) )
ROM_END
@ -4260,13 +4261,13 @@ ROM_START( elecdet )
ROM_LOAD( "mp6100a", 0x0000, 0x1000, CRC(6f396bb8) SHA1(1f104d4ca9bee0d4572be4779b7551dfe20c4f04) )
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 1982, "maincpu:mpla", 0 )
ROM_LOAD( "tms0980_default_mpla.pla", 0, 1982, CRC(3709014f) SHA1(d28ee59ded7f3b9dc3f0594a32a98391b6e9c961) )
ROM_LOAD( "tms0980_common1_micro.pla", 0, 1982, CRC(3709014f) SHA1(d28ee59ded7f3b9dc3f0594a32a98391b6e9c961) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0980_elecdet_opla.pla", 0, 352, CRC(652d19c3) SHA1(75550c2b293453b6b9efed88c8cc77195a53161f) )
ROM_LOAD( "tms0980_elecdet_output.pla", 0, 352, CRC(652d19c3) SHA1(75550c2b293453b6b9efed88c8cc77195a53161f) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0980_elecdet_spla.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_LOAD( "tms0980_common1_segment.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_END
@ -4275,9 +4276,9 @@ ROM_START( starwbc )
ROM_LOAD( "mp3438a", 0x0000, 0x0800, CRC(c12b7069) SHA1(d1f39c69a543c128023ba11cc6228bacdfab04de) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_starwbc_mpla.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) )
ROM_LOAD( "tms1100_common3_micro.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_starwbc_opla.pla", 0, 365, CRC(d358a76d) SHA1(06b60b207540e9b726439141acadea9aba718013) )
ROM_LOAD( "tms1100_starwbc_output.pla", 0, 365, CRC(d358a76d) SHA1(06b60b207540e9b726439141acadea9aba718013) )
ROM_END
ROM_START( starwbcp )
@ -4285,9 +4286,9 @@ ROM_START( starwbcp )
ROM_LOAD( "us4270755", 0x0000, 0x0800, BAD_DUMP CRC(fb3332f2) SHA1(a79ac81e239983cd699b7cfcc55f89b203b2c9ec) ) // from patent US4270755, may have errors
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_starwbc_mpla.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) )
ROM_LOAD( "tms1100_common3_micro.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_starwbc_opla.pla", 0, 365, CRC(d358a76d) SHA1(06b60b207540e9b726439141acadea9aba718013) )
ROM_LOAD( "tms1100_starwbc_output.pla", 0, 365, CRC(d358a76d) SHA1(06b60b207540e9b726439141acadea9aba718013) )
ROM_END
@ -4296,9 +4297,9 @@ ROM_START( astro )
ROM_LOAD( "mp1133", 0x0000, 0x1000, CRC(bc21109c) SHA1(05a433cce587d5c0c2d28b5fda5f0853ea6726bf) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1400_astro_mpla.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_LOAD( "tms1400_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_REGION( 557, "maincpu:opla", 0 )
ROM_LOAD( "tms1400_astro_opla.pla", 0, 557, CRC(eb08957e) SHA1(62ae0d13a1eaafb34f1b27d7df51441b400ccd56) )
ROM_LOAD( "tms1400_astro_output.pla", 0, 557, CRC(eb08957e) SHA1(62ae0d13a1eaafb34f1b27d7df51441b400ccd56) )
ROM_END
@ -4307,13 +4308,13 @@ ROM_START( comp4 )
ROM_LOAD( "tmc0904nl_cp0904a", 0x0000, 0x0400, CRC(6233ee1b) SHA1(738e109b38c97804b4ec52bed80b00a8634ad453) )
ROM_REGION( 782, "maincpu:ipla", 0 )
ROM_LOAD( "tms0970_default_ipla.pla", 0, 782, CRC(e038fc44) SHA1(dfc280f6d0a5828d1bb14fcd59ac29caf2c2d981) )
ROM_LOAD( "tms0970_common2_instr.pla", 0, 782, CRC(e038fc44) SHA1(dfc280f6d0a5828d1bb14fcd59ac29caf2c2d981) )
ROM_REGION( 860, "maincpu:mpla", 0 )
ROM_LOAD( "tms0970_comp4_mpla.pla", 0, 860, CRC(ee9d7d9e) SHA1(25484e18f6a07f7cdb21a07220e2f2a82fadfe7b) )
ROM_LOAD( "tms0970_comp4_micro.pla", 0, 860, CRC(ee9d7d9e) SHA1(25484e18f6a07f7cdb21a07220e2f2a82fadfe7b) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0970_comp4_opla.pla", 0, 352, CRC(a0f887d1) SHA1(3c666663d484d5bed81e1014f8715aab8a3d489f) )
ROM_LOAD( "tms0970_comp4_output.pla", 0, 352, CRC(a0f887d1) SHA1(3c666663d484d5bed81e1014f8715aab8a3d489f) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0970_comp4_spla.pla", 0, 157, CRC(e5bddd90) SHA1(4b1c6512c70e5bcd23c2dbf0c88cd8aa2c632a10) )
ROM_LOAD( "tms0970_comp4_segment.pla", 0, 157, CRC(e5bddd90) SHA1(4b1c6512c70e5bcd23c2dbf0c88cd8aa2c632a10) )
ROM_END
@ -4322,9 +4323,9 @@ ROM_START( simon )
ROM_LOAD( "tms1000.u1", 0x0000, 0x0400, CRC(9961719d) SHA1(35dddb018a8a2b31f377ab49c1f0cb76951b81c0) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1000_simon_mpla.pla", 0, 867, CRC(52f7c1f1) SHA1(dbc2634dcb98eac173ad0209df487cad413d08a5) )
ROM_LOAD( "tms1000_simon_micro.pla", 0, 867, CRC(52f7c1f1) SHA1(dbc2634dcb98eac173ad0209df487cad413d08a5) )
ROM_REGION( 365, "maincpu:opla", 0 ) // unused
ROM_LOAD( "tms1000_simon_opla.pla", 0, 365, CRC(2943c71b) SHA1(bd5bb55c57e7ba27e49c645937ec1d4e67506601) )
ROM_LOAD( "tms1000_simon_output.pla", 0, 365, CRC(2943c71b) SHA1(bd5bb55c57e7ba27e49c645937ec1d4e67506601) )
ROM_END
@ -4333,9 +4334,9 @@ ROM_START( ssimon )
ROM_LOAD( "mp3476", 0x0000, 0x800, CRC(98200571) SHA1(cbd0bcfc11a534aa0be5d011584cdcac58ff437a) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_REGION( 365, "maincpu:opla", 0 ) // unused
ROM_LOAD( "tms1100_ssimon_opla.pla", 0, 365, CRC(0fea09b0) SHA1(27a56fcf2b490e9a7dbbc6ad48cc8aaca4cada94) )
ROM_LOAD( "tms1100_ssimon_output.pla", 0, 365, CRC(0fea09b0) SHA1(27a56fcf2b490e9a7dbbc6ad48cc8aaca4cada94) )
ROM_END
@ -4344,9 +4345,9 @@ ROM_START( bigtrak )
ROM_LOAD( "mp3301a", 0x0000, 0x0400, CRC(1351bcdd) SHA1(68865389c25b541c09a742be61f8fb6488134d4e) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1000_bigtrak_mpla.pla", 0, 867, CRC(80912d0a) SHA1(7ae5293ed4d93f5b7a64d43fe30c3639f39fbe5a) )
ROM_LOAD( "tms1000_bigtrak_micro.pla", 0, 867, CRC(80912d0a) SHA1(7ae5293ed4d93f5b7a64d43fe30c3639f39fbe5a) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1000_bigtrak_opla.pla", 0, 365, CRC(63be45f6) SHA1(918e38a223152db883c1a6f7acf56e87d7074734) )
ROM_LOAD( "tms1000_bigtrak_output.pla", 0, 365, CRC(63be45f6) SHA1(918e38a223152db883c1a6f7acf56e87d7074734) )
ROM_END
@ -4355,13 +4356,13 @@ ROM_START( cnsector )
ROM_LOAD( "mp0905bnl_za0379", 0x0000, 0x0400, CRC(201036e9) SHA1(b37fef86bb2bceaf0ac8bb3745b4702d17366914) )
ROM_REGION( 782, "maincpu:ipla", 0 )
ROM_LOAD( "tms0970_default_ipla.pla", 0, 782, CRC(e038fc44) SHA1(dfc280f6d0a5828d1bb14fcd59ac29caf2c2d981) )
ROM_LOAD( "tms0970_common2_instr.pla", 0, 782, CRC(e038fc44) SHA1(dfc280f6d0a5828d1bb14fcd59ac29caf2c2d981) )
ROM_REGION( 860, "maincpu:mpla", 0 )
ROM_LOAD( "tms0970_cnsector_mpla.pla", 0, 860, CRC(059f5bb4) SHA1(2653766f9fd74d41d44013bb6f54c0973a6080c9) )
ROM_LOAD( "tms0970_cnsector_micro.pla", 0, 860, CRC(059f5bb4) SHA1(2653766f9fd74d41d44013bb6f54c0973a6080c9) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0970_cnsector_opla.pla", 0, 352, CRC(7c0bdcd6) SHA1(dade774097e8095dca5deac7b2367d0c701aca51) )
ROM_LOAD( "tms0970_cnsector_output.pla", 0, 352, CRC(7c0bdcd6) SHA1(dade774097e8095dca5deac7b2367d0c701aca51) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0970_cnsector_spla.pla", 0, 157, CRC(56c37a4f) SHA1(18ecc20d2666e89673739056483aed5a261ae927) )
ROM_LOAD( "tms0970_common2_segment.pla", 0, 157, CRC(56c37a4f) SHA1(18ecc20d2666e89673739056483aed5a261ae927) )
ROM_END
@ -4370,9 +4371,9 @@ ROM_START( merlin )
ROM_LOAD( "mp3404", 0x0000, 0x800, CRC(7515a75d) SHA1(76ca3605d3fde1df62f79b9bb1f534c2a2ae0229) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_merlin_mpla.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) )
ROM_LOAD( "tms1100_common3_micro.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_merlin_opla.pla", 0, 365, CRC(3921b074) SHA1(12bd58e4d6676eb8c7059ef53598279e4f1a32ea) )
ROM_LOAD( "tms1100_merlin_output.pla", 0, 365, CRC(3921b074) SHA1(12bd58e4d6676eb8c7059ef53598279e4f1a32ea) )
ROM_END
@ -4381,9 +4382,9 @@ ROM_START( mmerlin )
ROM_LOAD( "mp7351", 0x0000, 0x1000, CRC(0f7a4c83) SHA1(242c1278ddfe92c28fd7cd87300e48e7a4827831) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_REGION( 557, "maincpu:opla", 0 )
ROM_LOAD( "tms1400_mmerlin_opla.pla", 0, 557, CRC(fd3dcd93) SHA1(f2afc52df700daa0eb7356c7876af9b2966f971b) )
ROM_LOAD( "tms1400_mmerlin_output.pla", 0, 557, CRC(fd3dcd93) SHA1(f2afc52df700daa0eb7356c7876af9b2966f971b) )
ROM_END
@ -4392,13 +4393,13 @@ ROM_START( stopthie )
ROM_LOAD( "mp6101b", 0x0000, 0x1000, CRC(8bde5bb4) SHA1(8c318fcce67acc24c7ae361f575f28ec6f94665a) )
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 1982, "maincpu:mpla", 0 )
ROM_LOAD( "tms0980_default_mpla.pla", 0, 1982, CRC(3709014f) SHA1(d28ee59ded7f3b9dc3f0594a32a98391b6e9c961) )
ROM_LOAD( "tms0980_common1_micro.pla", 0, 1982, CRC(3709014f) SHA1(d28ee59ded7f3b9dc3f0594a32a98391b6e9c961) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0980_stopthie_opla.pla", 0, 352, CRC(50337a48) SHA1(4a9ea62ed797a9ac5190eec3bb6ebebb7814628c) )
ROM_LOAD( "tms0980_stopthie_output.pla", 0, 352, CRC(50337a48) SHA1(4a9ea62ed797a9ac5190eec3bb6ebebb7814628c) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0980_stopthie_spla.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_LOAD( "tms0980_common1_segment.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_END
ROM_START( stopthiep )
@ -4406,13 +4407,13 @@ ROM_START( stopthiep )
ROM_LOAD16_WORD( "us4341385", 0x0000, 0x1000, CRC(07aec38a) SHA1(0a3d0956495c0d6d9ea771feae6c14a473a800dc) ) // from patent US4341385, data should be correct (it included checksums)
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 1982, "maincpu:mpla", 0 )
ROM_LOAD( "tms0980_default_mpla.pla", 0, 1982, CRC(3709014f) SHA1(d28ee59ded7f3b9dc3f0594a32a98391b6e9c961) )
ROM_LOAD( "tms0980_common1_micro.pla", 0, 1982, CRC(3709014f) SHA1(d28ee59ded7f3b9dc3f0594a32a98391b6e9c961) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0980_stopthie_opla.pla", 0, 352, CRC(50337a48) SHA1(4a9ea62ed797a9ac5190eec3bb6ebebb7814628c) )
ROM_LOAD( "tms0980_stopthie_output.pla", 0, 352, CRC(50337a48) SHA1(4a9ea62ed797a9ac5190eec3bb6ebebb7814628c) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0980_stopthie_spla.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_LOAD( "tms0980_common1_segment.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_END
@ -4421,9 +4422,9 @@ ROM_START( bankshot )
ROM_LOAD( "mp7313", 0x0000, 0x1000, CRC(7a5016a9) SHA1(a8730dc8a282ffaa3d89e675f371d43eb39f39b4) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_REGION( 557, "maincpu:opla", 0 )
ROM_LOAD( "tms1400_bankshot_opla.pla", 0, 557, CRC(7539283b) SHA1(f791fa98259fc10c393ff1961d4c93040f1a2932) )
ROM_LOAD( "tms1400_bankshot_output.pla", 0, 557, CRC(7539283b) SHA1(f791fa98259fc10c393ff1961d4c93040f1a2932) )
ROM_END
@ -4432,9 +4433,9 @@ ROM_START( splitsec )
ROM_LOAD( "mp7314", 0x0000, 0x1000, CRC(e94b2098) SHA1(f0fc1f56a829252185592a2508740354c50bedf8) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_REGION( 557, "maincpu:opla", 0 )
ROM_LOAD( "tms1400_splitsec_opla.pla", 0, 557, CRC(7539283b) SHA1(f791fa98259fc10c393ff1961d4c93040f1a2932) )
ROM_LOAD( "tms1400_splitsec_output.pla", 0, 557, CRC(7539283b) SHA1(f791fa98259fc10c393ff1961d4c93040f1a2932) )
ROM_END
@ -4443,9 +4444,9 @@ ROM_START( tandy12 )
ROM_LOAD( "cd7282sl", 0x0000, 0x800, CRC(a10013dd) SHA1(42ebd3de3449f371b99937f9df39c240d15ac686) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_tandy12_opla.pla", 0, 365, NO_DUMP )
ROM_LOAD( "tms1100_tandy12_output.pla", 0, 365, NO_DUMP )
ROM_END
@ -4454,9 +4455,9 @@ ROM_START( tbreakup )
ROM_LOAD( "mp2726a", 0x0000, 0x0400, CRC(1f7c28e2) SHA1(164cda4eb3f0b1d20955212a197c9aadf8d18a06) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1000_tbreakup_mpla.pla", 0, 867, CRC(d33da3cf) SHA1(13c4ebbca227818db75e6db0d45b66ba5e207776) )
ROM_LOAD( "tms1000_common2_micro.pla", 0, 867, CRC(d33da3cf) SHA1(13c4ebbca227818db75e6db0d45b66ba5e207776) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1000_tbreakup_opla.pla", 0, 365, CRC(a1ea035e) SHA1(fcf0b57ed90b41441a8974223a697f530daac0ab) )
ROM_LOAD( "tms1000_tbreakup_output.pla", 0, 365, CRC(a1ea035e) SHA1(fcf0b57ed90b41441a8974223a697f530daac0ab) )
ROM_END

View File

@ -276,9 +276,9 @@ ROM_START( mbdtower )
ROM_LOAD( "mp7332", 0x0000, 0x1000, CRC(ebeab91a) SHA1(7edbff437da371390fa8f28b3d183f833eaa9be9) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_REGION( 557, "maincpu:opla", 0 )
ROM_LOAD( "tms1400_mbdtower_opla.pla", 0, 557, CRC(64c84697) SHA1(72ce6d24cedf9c606f1742cd5620f75907246e87) )
ROM_LOAD( "tms1400_mbdtower_output.pla", 0, 557, CRC(64c84697) SHA1(72ce6d24cedf9c606f1742cd5620f75907246e87) )
ROM_END

View File

@ -1030,9 +1030,9 @@ ROM_START( tisr16 )
ROM_LOAD( "tms1001nl", 0x0000, 0x0400, CRC(b7ce3c1d) SHA1(95cdb0c6be31043f4fe06314ed41c0ca1337bc46) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1000_sr16_mpla.pla", 0, 867, CRC(5b35019c) SHA1(730d3b9041ed76d57fbedd73b009477fe432b386) )
ROM_LOAD( "tms1000_sr16_micro.pla", 0, 867, CRC(5b35019c) SHA1(730d3b9041ed76d57fbedd73b009477fe432b386) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1000_sr16_opla.pla", 0, 365, CRC(29b08739) SHA1(d55f01e40a2d493d45ea422f12e63b01bcde08fb) )
ROM_LOAD( "tms1000_sr16_output.pla", 0, 365, CRC(29b08739) SHA1(d55f01e40a2d493d45ea422f12e63b01bcde08fb) )
ROM_END
@ -1041,9 +1041,9 @@ ROM_START( tisr16ii )
ROM_LOAD( "tms1016nl", 0x0000, 0x0400, CRC(c07a7b27) SHA1(34ea4d3b59871e08db74f8c5bfb7ff00d1f0adc7) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1000_sr16ii_mpla.pla", 0, 867, CRC(31b43e95) SHA1(6864e4c20f3affffcd3810dcefbc9484dd781547) )
ROM_LOAD( "tms1000_sr16ii_micro.pla", 0, 867, CRC(31b43e95) SHA1(6864e4c20f3affffcd3810dcefbc9484dd781547) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1000_sr16ii_opla.pla", 0, 365, CRC(c45dfbd0) SHA1(5d588c1abc317134b51eb08ac3953f1009d80056) )
ROM_LOAD( "tms1000_sr16ii_output.pla", 0, 365, CRC(c45dfbd0) SHA1(5d588c1abc317134b51eb08ac3953f1009d80056) )
ROM_END
@ -1052,13 +1052,13 @@ ROM_START( ti1270 )
ROM_LOAD( "za0355", 0x0000, 0x0400, CRC(48e09b4b) SHA1(17f27167164df223f9f06082ece4c3fc3900eda3) )
ROM_REGION( 782, "maincpu:ipla", 0 )
ROM_LOAD( "tms0970_ti1270_ipla.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
ROM_REGION( 860, "maincpu:mpla", 0 )
ROM_LOAD( "tms0970_ti1270_mpla.pla", 0, 860, CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) )
ROM_LOAD( "tms0970_ti1270_micro.pla", 0, 860, CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0970_ti1270_opla.pla", 0, 352, CRC(f39bf0a4) SHA1(160341490043eb369720d5f487cf0f59f458a93e) )
ROM_LOAD( "tms0970_ti1270_output.pla", 0, 352, CRC(f39bf0a4) SHA1(160341490043eb369720d5f487cf0f59f458a93e) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0970_ti1270_spla.pla", 0, 157, CRC(56c37a4f) SHA1(18ecc20d2666e89673739056483aed5a261ae927) )
ROM_LOAD( "tms0970_common2_segment.pla", 0, 157, CRC(56c37a4f) SHA1(18ecc20d2666e89673739056483aed5a261ae927) )
ROM_END
@ -1067,13 +1067,13 @@ ROM_START( ti1000 )
ROM_LOAD( "tmc1991nl", 0x0000, 0x0400, CRC(2da5381d) SHA1(b5dc14553db2068ed48e130e5ec9109930d8cda9) )
ROM_REGION( 782, "maincpu:ipla", 0 )
ROM_LOAD( "tms0970_ti1000_ipla.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
ROM_REGION( 860, "maincpu:mpla", 0 )
ROM_LOAD( "tms0970_ti1000_mpla.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) )
ROM_LOAD( "tms0970_common1_micro.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0970_ti1000_opla.pla", 0, 352, CRC(1d82061a) SHA1(90e4a4b0fb3b4ae5965da90479b7fed737ad8831) )
ROM_LOAD( "tms0970_ti1000_output.pla", 0, 352, CRC(1d82061a) SHA1(90e4a4b0fb3b4ae5965da90479b7fed737ad8831) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0970_ti1000_spla.pla", 0, 157, CRC(234ca3a8) SHA1(76844dd87cb380a07c8fcbef143038087e98f138) )
ROM_LOAD( "tms0970_ti1000_segment.pla", 0, 157, CRC(234ca3a8) SHA1(76844dd87cb380a07c8fcbef143038087e98f138) )
ROM_END
@ -1082,13 +1082,13 @@ ROM_START( wizatron )
ROM_LOAD( "za0379", 0x0000, 0x0400, CRC(5a6af094) SHA1(b1f27e1f13f4db3b052dd50fb08dbf9c4d8db26e) )
ROM_REGION( 782, "maincpu:ipla", 0 )
ROM_LOAD( "tms0970_wizatron_ipla.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
ROM_REGION( 860, "maincpu:mpla", 0 )
ROM_LOAD( "tms0970_wizatron_mpla.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) )
ROM_LOAD( "tms0970_common1_micro.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0970_wizatron_opla.pla", 0, 352, CRC(745a3900) SHA1(031b55a0cf783c8a88eec4289d4373eb8538f374) )
ROM_LOAD( "tms0970_wizatron_output.pla", 0, 352, CRC(745a3900) SHA1(031b55a0cf783c8a88eec4289d4373eb8538f374) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0970_wizatron_spla.pla", 0, 157, CRC(56c37a4f) SHA1(18ecc20d2666e89673739056483aed5a261ae927) )
ROM_LOAD( "tms0970_common2_segment.pla", 0, 157, CRC(56c37a4f) SHA1(18ecc20d2666e89673739056483aed5a261ae927) )
ROM_END
@ -1097,13 +1097,13 @@ ROM_START( lilprof )
ROM_LOAD( "za0356", 0x0000, 0x0400, CRC(fef9dd39) SHA1(5c9614c9c5092d55dabeee2d6e0387d50d6ad4d5) )
ROM_REGION( 782, "maincpu:ipla", 0 )
ROM_LOAD( "tms0970_lilprof_ipla.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
ROM_REGION( 860, "maincpu:mpla", 0 )
ROM_LOAD( "tms0970_lilprof_mpla.pla", 0, 860, CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) )
ROM_LOAD( "tms0970_lilprof_micro.pla", 0, 860, CRC(6ff5d51d) SHA1(59d3e5de290ba57694068ddba78d21a0c1edf427) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0970_lilprof_opla.pla", 0, 352, CRC(c74daf97) SHA1(c4948000196171b34d4fe9cdd2962a945da9883d) )
ROM_LOAD( "tms0970_lilprof_output.pla", 0, 352, CRC(c74daf97) SHA1(c4948000196171b34d4fe9cdd2962a945da9883d) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0970_lilprof_spla.pla", 0, 157, CRC(56c37a4f) SHA1(18ecc20d2666e89673739056483aed5a261ae927) )
ROM_LOAD( "tms0970_common2_segment.pla", 0, 157, CRC(56c37a4f) SHA1(18ecc20d2666e89673739056483aed5a261ae927) )
ROM_END
ROM_START( lilprof78 )
@ -1111,13 +1111,13 @@ ROM_START( lilprof78 )
ROM_LOAD( "tmc1993nl", 0x0000, 0x0400, CRC(e941316b) SHA1(7e1542045d1e731cea81a639c9ac9e91bb233b15) )
ROM_REGION( 782, "maincpu:ipla", 0 )
ROM_LOAD( "tms0970_lilprof78_ipla.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
ROM_LOAD( "tms0970_common1_instr.pla", 0, 782, CRC(05306ef8) SHA1(60a0a3c49ce330bce0c27f15f81d61461d0432ce) )
ROM_REGION( 860, "maincpu:mpla", 0 )
ROM_LOAD( "tms0970_lilprof78_mpla.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) )
ROM_LOAD( "tms0970_common1_micro.pla", 0, 860, CRC(7f50ab2e) SHA1(bff3be9af0e322986f6e545b567c97d70e135c93) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0970_lilprof78_opla.pla", 0, 352, CRC(03f509c4) SHA1(691554a55db0c5950df848077095f23a991b1909) )
ROM_LOAD( "tms0970_lilprof78_output.pla", 0, 352, CRC(03f509c4) SHA1(691554a55db0c5950df848077095f23a991b1909) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0970_lilprof78_spla.pla", 0, 157, CRC(234ca3a8) SHA1(76844dd87cb380a07c8fcbef143038087e98f138) )
ROM_LOAD( "tms0970_lilprof78_segment.pla", 0, 157, CRC(234ca3a8) SHA1(76844dd87cb380a07c8fcbef143038087e98f138) )
ROM_END
@ -1126,13 +1126,13 @@ ROM_START( ti30 )
ROM_LOAD16_WORD( "tmc0981nl", 0x0000, 0x1000, CRC(41298a14) SHA1(06f654c70add4044a612d3a38b0c2831c188fd0c) )
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 1982, "maincpu:mpla", 0 )
ROM_LOAD( "tms0980_default_mpla.pla", 0, 1982, CRC(3709014f) SHA1(d28ee59ded7f3b9dc3f0594a32a98391b6e9c961) )
ROM_LOAD( "tms0980_common1_micro.pla", 0, 1982, CRC(3709014f) SHA1(d28ee59ded7f3b9dc3f0594a32a98391b6e9c961) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0980_ti30_opla.pla", 0, 352, CRC(38788410) SHA1(cb3d1a61190b887cd2e6d9c60b4fdb9b901f7eed) )
ROM_LOAD( "tms0980_ti30_output.pla", 0, 352, CRC(38788410) SHA1(cb3d1a61190b887cd2e6d9c60b4fdb9b901f7eed) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0980_ti30_spla.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_LOAD( "tms0980_common1_segment.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_END
@ -1141,13 +1141,13 @@ ROM_START( tibusan1 )
ROM_LOAD16_WORD( "tmc0982nl", 0x0000, 0x1000, CRC(6954560a) SHA1(6c153a0c9239a811e3514a43d809964c06f8f88e) )
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 1982, "maincpu:mpla", 0 )
ROM_LOAD( "tms0980_default_mpla.pla", 0, 1982, CRC(3709014f) SHA1(d28ee59ded7f3b9dc3f0594a32a98391b6e9c961) )
ROM_LOAD( "tms0980_common1_micro.pla", 0, 1982, CRC(3709014f) SHA1(d28ee59ded7f3b9dc3f0594a32a98391b6e9c961) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0980_tibusan1_opla.pla", 0, 352, CRC(38788410) SHA1(cb3d1a61190b887cd2e6d9c60b4fdb9b901f7eed) )
ROM_LOAD( "tms0980_tibusan1_output.pla", 0, 352, CRC(38788410) SHA1(cb3d1a61190b887cd2e6d9c60b4fdb9b901f7eed) )
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0980_tibusan1_spla.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_LOAD( "tms0980_common1_segment.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_END
@ -1156,13 +1156,13 @@ ROM_START( tiprog )
ROM_LOAD16_WORD( "za0675nl", 0x0000, 0x1000, CRC(82355854) SHA1(03fab373bce04df8ea3fe25352525e8539213626) )
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 1982, "maincpu:mpla", 0 )
ROM_LOAD( "tms0980_tiprog_mpla.pla", 0, 1982, CRC(57043284) SHA1(0fa06d5865830ecdb3d870271cb92ac917bed3ca) )
ROM_LOAD( "tms0980_tiprog_micro.pla", 0, 1982, CRC(57043284) SHA1(0fa06d5865830ecdb3d870271cb92ac917bed3ca) )
ROM_REGION( 352, "maincpu:opla", 0 )
ROM_LOAD( "tms0980_tiprog_opla.pla", 0, 352, BAD_DUMP CRC(2a63956f) SHA1(26a62ca2b5973d8564e580e12230292f6d2888d9) ) // corrected by hand
ROM_LOAD( "tms0980_tiprog_output.pla", 0, 352, BAD_DUMP CRC(2a63956f) SHA1(26a62ca2b5973d8564e580e12230292f6d2888d9) ) // corrected by hand
ROM_REGION( 157, "maincpu:spla", 0 )
ROM_LOAD( "tms0980_tiprog_spla.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_LOAD( "tms0980_common1_segment.pla", 0, 157, CRC(399aa481) SHA1(72c56c58fde3fbb657d69647a9543b5f8fc74279) )
ROM_END

View File

@ -1,5 +1,5 @@
// license:BSD-3-Clause
// copyright-holders:hap, Jonathan Gevaryahu
// copyright-holders:hap, Lord Nightmare
/***************************************************************************
** subclass of hh_tms1k_state (includes/hh_tms1k.h, drivers/hh_tms1k.c) **
@ -746,11 +746,11 @@ ROM_START( snspell )
ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // typed in from patent 4189779, verified by 2 sources
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "tmc0351nl.vsm", 0x0000, 0x4000, CRC(beea3373) SHA1(8b0f7586d2f12c3d4a885fdb528cf23feffa1a3b) )
@ -762,11 +762,11 @@ ROM_START( snspella )
ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "tmc0351n2l.vsm", 0x0000, 0x4000, CRC(2d03b292) SHA1(a3e9a365307ae936c7472f720a7a8240741531d6) )
@ -778,11 +778,11 @@ ROM_START( snspellb )
ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd2350a.vsm", 0x0000, 0x4000, CRC(2adda742) SHA1(3f868ed8284b723c815a30343057e03467c043b5) )
@ -793,11 +793,11 @@ ROM_START( snspelluk )
ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd2303.vsm", 0x0000, 0x4000, CRC(0fae755c) SHA1(b68c3120a63a61db474feb5d71a6e5dd67910d80) )
@ -809,11 +809,11 @@ ROM_START( snspelluka )
ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd62175.vsm", 0x0000, 0x4000, CRC(6e1063d4) SHA1(b5c66c51148c5921ecb8ffccd7a460ae639cdb68) )
@ -824,11 +824,11 @@ ROM_START( snspelljp )
ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd2321.vsm", 0x0000, 0x4000, CRC(ac010cce) SHA1(c0200d857b62be696248ac2d684a390c66ab0c31) )
@ -840,11 +840,11 @@ ROM_START( ladictee )
ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, BAD_DUMP CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // placeholder, use the one we have
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, BAD_DUMP CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // placeholder, use the one we have
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd2352.vsm", 0x0000, 0x4000, CRC(181a239e) SHA1(e16043766c385e152b7005c1c010be4c5fccdd9b) )
@ -856,11 +856,11 @@ ROM_START( snmath )
ROM_LOAD( "cd2708n2l", 0x0000, 0x1000, CRC(35937360) SHA1(69c362c75bb459056c09c7fab37c91040485474b) )
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) )
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) )
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_cd2708_opla.pla", 0, 1246, CRC(1abad753) SHA1(53d20b519ed73ce248368047a056836afbe3cd46) )
ROM_LOAD( "tms0270_cd2708_output.pla", 0, 1246, CRC(1abad753) SHA1(53d20b519ed73ce248368047a056836afbe3cd46) )
ROM_REGION( 0x8000, "tms6100", 0 )
ROM_LOAD( "cd2381.vsm", 0x0000, 0x4000, CRC(f048dc81) SHA1(e97667d1002de40ab3d702c63b82311480032e0f) )
@ -877,11 +877,11 @@ ROM_START( snmathp )
ROM_LOAD( "us4946391_t2074", 0x0000, 0x1000, CRC(011f0c2d) SHA1(d2e14d72e03ca864abd51da78ffb71a9da82f624) )
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_cd2708_opla.pla", 0, 1246, BAD_DUMP CRC(1abad753) SHA1(53d20b519ed73ce248368047a056836afbe3cd46) ) // taken from cd2708, need to verify if it's same as cd2704
ROM_LOAD( "tms0270_cd2708_output.pla", 0, 1246, BAD_DUMP CRC(1abad753) SHA1(53d20b519ed73ce248368047a056836afbe3cd46) ) // taken from cd2708, need to verify if it's same as cd2704
ROM_REGION( 0x8000, "tms6100", 0 )
ROM_LOAD( "cd2392.vsm", 0x0000, 0x4000, CRC(4ed2e920) SHA1(8896f29e25126c1e4d9a47c9a325b35dddecc61f) )
@ -894,11 +894,11 @@ ROM_START( snread )
ROM_LOAD( "cd2705b-n2l", 0x0000, 0x1000, CRC(c235636e) SHA1(57b24dd8414bf76ec786a51d10cb8a5898b60e18) )
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) )
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) )
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_cd2705_opla.pla", 0, 1246, CRC(bf859848) SHA1(66b297fbf534968fa6db7413b99ef0e81cc35ddc) )
ROM_LOAD( "tms0270_cd2705_output.pla", 0, 1246, CRC(bf859848) SHA1(66b297fbf534968fa6db7413b99ef0e81cc35ddc) )
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd2394a.vsm", 0x0000, 0x4000, CRC(cbb0e2b1) SHA1(5e322c683baf806523de171310258ae371671327) )
@ -911,11 +911,11 @@ ROM_START( lantutor )
ROM_LOAD( "us4631748_tmc0275", 0x0000, 0x1000, CRC(22818845) SHA1(1a84f15fb18ca66b1f2bf7491d76fbc56068984d) ) // extracted visually from patent 4631748, verified with source code
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_default_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, BAD_DUMP CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // taken from snspell, mostly looks correct
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, BAD_DUMP CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // taken from snspell, mostly looks correct
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // cartridge area
ROM_END

View File

@ -1,5 +1,5 @@
// license:BSD-3-Clause
// copyright-holders:Dan Boris
// copyright-holders:Dan Boris, Fabio Priuli, Mike Saarna, Robert Tuccitto
/***************************************************************************
Atari MARIA video emulation

View File

@ -368,6 +368,9 @@ file_error osd_truncate(osd_file *file, UINT64 offset)
{
UINT32 result;
if (!file || !file->handle)
return FILERR_FAILURE;
switch (file->type)
{
case SDLFILE_FILE:

View File

@ -210,7 +210,7 @@ public:
{
NL_VERBOSE_OUT(("Creating dynamic logs ...\n"));
nl_util::pstring_list ll = nl_util::split(m_logs, ":");
for (int i=0; i < ll.count(); i++)
for (int i=0; i < ll.size(); i++)
{
pstring name = "log_" + ll[i];
/*netlist_device_t *nc = */ m_setup->register_dev("nld_log", name);
@ -303,7 +303,7 @@ static void listdevices()
nt.setup().start_devices();
nt.setup().resolve_inputs();
for (int i=0; i < list.count(); i++)
for (int i=0; i < list.size(); i++)
{
pstring out = pstring::sprintf("%-20s %s(<id>", list[i]->classname().cstr(),
list[i]->name().cstr() );
@ -315,7 +315,7 @@ static void listdevices()
d->start_dev();
// get the list of terminals ...
for (int j=0; j < d->m_terminals.count(); j++)
for (int j=0; j < d->m_terminals.size(); j++)
{
pstring inp = d->m_terminals[j];
if (inp.startsWith(d->name() + "."))
@ -369,7 +369,7 @@ public:
pstring line = "";
for (int i=0; i < spnl.count(); i++)
for (int i=0; i < spnl.size(); i++)
{
// Basic preprocessing
pstring inl = spnl[i].trim().ucase();
@ -493,16 +493,16 @@ protected:
void dump_nl()
{
for (int i=0; i<alias.count(); i++)
for (int i=0; i<alias.size(); i++)
{
sp_net_t *net = nets.find(alias[i]);
// use the first terminal ...
printf("ALIAS(%s, %s)\n", alias[i].cstr(), net->terminals()[0].cstr());
// if the aliased net only has this one terminal connected ==> don't dump
if (net->terminals().count() == 1)
if (net->terminals().size() == 1)
net->set_no_export();
}
for (int i=0; i<devs.count(); i++)
for (int i=0; i<devs.size(); i++)
{
if (devs[i]->has_value())
printf("%s(%s, %s)\n", devs[i]->type().cstr(),
@ -515,14 +515,14 @@ protected:
devs[i]->name().cstr());
}
// print nets
for (int i=0; i<nets.count(); i++)
for (int i=0; i<nets.size(); i++)
{
sp_net_t * net = nets[i];
if (!net->is_no_export())
{
//printf("Net %s\n", net->name().cstr());
printf("NET_C(%s", net->terminals()[0].cstr() );
for (int j=1; j<net->terminals().count(); j++)
for (int j=1; j<net->terminals().size(); j++)
{
printf(", %s", net->terminals()[j].cstr() );
}
@ -552,7 +552,7 @@ protected:
if (tt[0].equals(".SUBCKT"))
{
printf("NETLIST_START(%s)\n", tt[1].cstr());
for (int i=2; i<tt.count(); i++)
for (int i=2; i<tt.size(); i++)
alias.add(tt[i]);
}
else if (tt[0].equals(".ENDS"))
@ -571,7 +571,7 @@ protected:
*/
// FIXME: we need a is_long method ..
ATTR_UNUSED int nval =tt[4].as_long(&cerr);
if ((!cerr || tt[4].startsWith("N")) && tt.count() > 5)
if ((!cerr || tt[4].startsWith("N")) && tt.size() > 5)
devs.add(palloc(sp_dev_t, "QBJT", tt[0], tt[5]), false);
else
devs.add(palloc(sp_dev_t, "QBJT", tt[0], tt[4]), false);
@ -614,9 +614,9 @@ protected:
{
// FIXME: specific code for KICAD exports
// last element is component type
pstring tname = "TTL_" + tt[tt.count()-1] + "_DIP";
pstring tname = "TTL_" + tt[tt.size()-1] + "_DIP";
devs.add(palloc(sp_dev_t, tname, tt[0]), false);
for (int i=1; i < tt.count() - 1; i++)
for (int i=1; i < tt.size() - 1; i++)
{
pstring term = pstring::sprintf("%s.%d", tt[0].cstr(), i);
add_term(tt[i], term);