summaryrefslogtreecommitdiffstatshomepage
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/genie.lua100
-rw-r--r--scripts/minimaws/lib/assets/machine.js103
-rw-r--r--scripts/minimaws/lib/assets/romident.js10
-rw-r--r--scripts/minimaws/lib/dbaccess.py10
-rw-r--r--scripts/minimaws/lib/htmltmpl.py49
-rw-r--r--scripts/minimaws/lib/wsgiserve.py188
-rw-r--r--scripts/src/3rdparty.lua30
-rw-r--r--scripts/src/bus.lua49
-rw-r--r--scripts/src/cpu.lua119
-rw-r--r--scripts/src/formats.lua12
-rw-r--r--scripts/src/machine.lua36
-rw-r--r--scripts/src/netlist.lua3
-rw-r--r--scripts/target/mame/arcade.lua15
-rw-r--r--scripts/target/mame/mess.lua75
-rw-r--r--scripts/target/mame/nl.lua58
-rw-r--r--scripts/toolchain.lua2
16 files changed, 683 insertions, 176 deletions
diff --git a/scripts/genie.lua b/scripts/genie.lua
index 6aa28173b1d..a0bb95f83a6 100644
--- a/scripts/genie.lua
+++ b/scripts/genie.lua
@@ -338,15 +338,6 @@ newoption {
}
newoption {
- trigger = "FASTDEBUG",
- description = "Fast DEBUG.",
- allowed = {
- { "0", "Disabled" },
- { "1", "Enabled" },
- }
-}
-
-newoption {
trigger = "SEPARATE_BIN",
description = "Use separate bin folders.",
allowed = {
@@ -620,13 +611,6 @@ configuration { "Debug" }
-- "BGFX_CONFIG_DEBUG=1",
}
-if _OPTIONS["FASTDEBUG"]=="1" then
- defines {
- "MAME_DEBUG_FAST",
- "NDEBUG",
- }
-end
-
configuration { }
if _OPTIONS["PROFILER"]=="1" then
@@ -1082,7 +1066,6 @@ end
"-Wno-tautological-compare",
"-Wno-unused-value",
"-Wno-constant-logical-operand",
- "-Wno-missing-braces", -- clang is not as permissive as GCC about std::array initialization
"-fdiagnostics-show-note-include-stack",
}
if (version >= 30500) then
@@ -1099,8 +1082,8 @@ end
}
end
else
- if (version < 50000) then
- print("GCC version 5.0 or later needed")
+ if (version < 70000) then
+ print("GCC version 7.0 or later needed")
os.exit(-1)
end
buildoptions {
@@ -1335,68 +1318,39 @@ end
buildoptions {
"/WX", -- Treats all compiler warnings as errors.
- "/wd4025", -- warning C4025: 'number' : based pointer passed to function with variable arguments: parameter number
+ "/w45038", -- warning C5038: data member 'member1' will be initialized after data member 'member2'
+ }
+
+ buildoptions {
"/wd4003", -- warning C4003: not enough actual parameters for macro 'xxx'
+ "/wd4005", -- warning C4005: The macro identifier is defined twice. The compiler uses the second macro definition
"/wd4018", -- warning C4018: 'x' : signed/unsigned mismatch
- "/wd4061", -- warning C4061: enumerator 'xxx' in switch of enum 'xxx' is not explicitly handled by a case label
+ "/wd4060", -- warning C4060: switch statement contains no 'case' or 'default' labels
+ "/wd4065", -- warning C4065: switch statement contains 'default' but no 'case' labels
"/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
"/wd4127", -- warning C4127: conditional expression is constant
- "/wd4131", -- warning C4131: 'xxx' : uses old-style declarator
- "/wd4141", -- warning C4141: 'xxx' : used more than once
"/wd4146", -- warning C4146: unary minus operator applied to unsigned type, result still unsigned
- "/wd4150", -- warning C4150: deletion of pointer to incomplete type 'xxx'; no destructor called
- "/wd4189", -- warning C4189: 'xxx' : local variable is initialized but not referenced
- "/wd4191", -- warning C4191: 'type cast' : unsafe conversion from 'xxx' to 'xxx' // 64-bit only
"/wd4201", -- warning C4201: nonstandard extension used : nameless struct/union
- "/wd4232", -- warning C4232: nonstandard extension used : 'xxx' : address of dllimport 'xxx' is not static, identity not guaranteed
- "/wd4242", -- warning C4242: 'x' : conversion from 'xxx' to 'xxx', possible loss of data
"/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data
+ "/wd4245", -- warning C4245: 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch
"/wd4250", -- warning C4250: 'xxx' : inherits 'xxx' via dominance
- "/wd4255", -- warning C4255: 'xxx' : no function prototype given: converting '()' to '(void)'
- "/wd4296", -- warning C4296: 'x' : expression is always false
- "/wd4306", -- warning C4306: 'xxx': conversion from 'type1' to 'type2' of greater size // 64-bit only
+ "/wd4267", -- warning C4267: 'var' : conversion from 'size_t' to 'type', possible loss of data
"/wd4310", -- warning C4310: cast truncates constant value
- "/wd4312", -- warning C4312: 'type cast' : conversion from 'xxx' to 'xxx' of greater size
+ "/wd4319", -- warning C4319: 'operator' : zero extending 'type' to 'type' of greater size
"/wd4324", -- warning C4324: 'xxx' : structure was padded due to __declspec(align())
- "/wd4347", -- warning C4347: behavior change: 'xxx' is called instead of 'xxx' // obsolete VS2005 - VS2010 only
- "/wd4435", -- warning C4435: 'xxx' : Object layout under /vd2 will change due to virtual base 'xxx'
- "/wd4510", -- warning C4510: 'xxx' : default constructor could not be generated
- "/wd4512", -- warning C4512: 'xxx' : assignment operator could not be generated
- "/wd4514", -- warning C4514: 'xxx' : unreferenced inline function has been removed
- "/wd4521", -- warning C4521: 'xxx' : multiple copy constructors specified
- "/wd4571", -- warning C4611: interaction between '_setjmp' and C++ object destruction is non-portable
- "/wd4610", -- warning C4619: #pragma warning : there is no warning number 'xxx'
- "/wd4611", -- warning C4571: Informational: catch(...) semantics changed since Visual C++ 7.1; structured exceptions (SEH) are no longer caught
- "/wd4619", -- warning C4610: struct 'xxx' can never be instantiated - user defined constructor required
- "/wd4625", -- warning C4625: 'xxx' : copy constructor could not be generated because a base class copy constructor is inaccessible or deleted
- "/wd4626", -- warning C4626: 'xxx' : assignment operator could not be generated because a base class assignment operator is inaccessible or deleted
- "/wd4640", -- warning C4640: 'xxx' : construction of local static object is not thread-safe
- "/wd4668", -- warning C4668: 'xxx' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
+ "/wd4334", -- warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
+ "/wd4389", -- warning C4389: 'operator' : signed/unsigned mismatch
+ "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
+ "/wd4457", -- warning C4457: declaration of 'xxx' hides function parameter
+ "/wd4458", -- warning C4458: declaration of 'xxx' hides class member
+ "/wd4459", -- warning C4459: declaration of 'xxx' hides global declaration
"/wd4702", -- warning C4702: unreachable code
"/wd4706", -- warning C4706: assignment within conditional expression
- "/wd4710", -- warning C4710: 'xxx' : function not inlined
- "/wd4711", -- warning C4711: function 'xxx' selected for automatic inline expansion // optimized only
+ "/wd4804", -- warning C4804: '>>': unsafe use of type 'bool' in operation
"/wd4805", -- warning C4805: 'x' : unsafe mix of type 'xxx' and type 'xxx' in operation
- "/wd4820", -- warning C4820: 'xxx' : 'x' bytes padding added after data member 'xxx'
- "/wd4826", -- warning C4826: Conversion from 'type1 ' to 'type_2' is sign-extended. This may cause unexpected runtime behavior. // 32-bit only
- "/wd4365", -- warning C4365: 'action' : conversion from 'type_1' to 'type_2', signed/unsigned mismatch
- "/wd4389", -- warning C4389: 'operator' : signed/unsigned mismatch
- "/wd4245", -- warning C4245: 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch
- "/wd4388", -- warning C4388: signed/unsigned mismatch
- "/wd4267", -- warning C4267: 'var' : conversion from 'size_t' to 'type', possible loss of data
- "/wd4005", -- warning C4005: The macro identifier is defined twice. The compiler uses the second macro definition
- "/wd4350", -- warning C4350: behavior change: 'member1' called instead of 'member2'
"/wd4996", -- warning C4996: 'function': was declared deprecated
- "/wd4191", -- warning C4191: 'operator/operation' : unsafe conversion from 'type of expression' to 'type required'
- "/wd4060", -- warning C4060: switch statement contains no 'case' or 'default' labels
- "/wd4065", -- warning C4065: switch statement contains 'default' but no 'case' labels
- "/wd4640", -- warning C4640: 'instance' : construction of local static object is not thread-safe
- "/wd4290", -- warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
- "/wd4355", -- warning C4355: 'this' : used in base member initializer list
- "/wd4800", -- warning C4800: 'type' : forcing value to bool 'true' or 'false' (performance warning)
- "/wd4371", -- warning C4371: layout of class may have changed from a previous version of the compiler due to better packing of member 'member'
- "/wd4548", -- warning C4548: expression before comma has no effect; expected expression with side-effect
}
+
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd9", -- remark #9: nested comment is not allowed
@@ -1463,20 +1417,6 @@ end
includedirs {
MAME_DIR .. "3rdparty/dxsdk/Include"
}
-configuration { "vs201*" }
- buildoptions {
- "/wd4334", -- warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
- "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
- "/wd4457", -- warning C4457: declaration of 'xxx' hides function parameter
- "/wd4458", -- warning C4458: declaration of 'xxx' hides class member
- "/wd4459", -- warning C4459: declaration of 'xxx' hides global declaration
- "/wd4838", -- warning C4838: conversion from 'xxx' to 'yyy' requires a narrowing conversion
- "/wd4091", -- warning C4091: 'typedef ': ignored on left of '' when no variable is declared
- "/wd4463", -- warning C4463: overflow; assigning 1 to bit-field that can only hold values from -1 to 0
- "/wd4297", -- warning C4297: 'xxx::~xxx': function assumed not to throw an exception but does
- "/wd4319", -- warning C4319: 'operator' : zero extending 'type' to 'type' of greater size
- "/wd4592", -- warning C4592: symbol will be dynamically initialized (implementation limitation)
- }
configuration { "winphone8* or winstore8*" }
linkoptions {
"/ignore:4264" -- LNK4264: archiving object file compiled with /ZW into a static library; note that when authoring Windows Runtime types it is not recommended to link with a static library that contains Windows Runtime metadata
diff --git a/scripts/minimaws/lib/assets/machine.js b/scripts/minimaws/lib/assets/machine.js
index d40dca12be0..b7f600f04d6 100644
--- a/scripts/minimaws/lib/assets/machine.js
+++ b/scripts/minimaws/lib/assets/machine.js
@@ -4,6 +4,7 @@
var slot_info = Object.create(null);
var bios_sets = Object.create(null);
var machine_flags = Object.create(null);
+var softwarelist_info = Object.create(null);
function make_slot_popup_id(name) { return ('select-slot-choice-' + name).replace(/:/g, '-'); }
@@ -197,6 +198,47 @@ var fetch_machine_flags = (function ()
})();
+var fetch_softwarelist_info = (function ()
+ {
+ var pending = Object.create(null);
+ return function (device)
+ {
+ if (!Object.prototype.hasOwnProperty.call(softwarelist_info, device) && !Object.prototype.hasOwnProperty.call(pending, device))
+ {
+ pending[device] = true;
+ var req = new XMLHttpRequest();
+ req.open('GET', appurl + 'rpc/softwarelists/' + encodeURIComponent(device), true);
+ req.responseType = 'json';
+ req.onload =
+ function ()
+ {
+ delete pending[device];
+ if (req.status == 200)
+ {
+ softwarelist_info[device] = req.response;
+ var slotslist = document.getElementById('list-slot-options');
+ if (slotslist)
+ {
+ for (var item = slotslist.firstChild; item; item = item.nextSibling)
+ {
+ if ((item.nodeName == 'DT') && (item.getAttribute('data-slotcard') == device))
+ {
+ var slotname = item.getAttribute('data-slotname');
+ add_softwarelist_rows(
+ device,
+ slotname,
+ document.getElementById('select-slot-choice-' + slotname.replace(/:/g, '-')).value);
+ }
+ }
+ }
+ }
+ };
+ req.send();
+ }
+ };
+ })();
+
+
function add_flag_rows(table, device)
{
var sorted_features = Object.keys(machine_flags[device].features).sort();
@@ -228,6 +270,51 @@ function add_flag_rows(table, device)
}
+function add_softwarelist_rows(device, slot, card)
+{
+ var sorted_softwarelists = Object.keys(softwarelist_info[device]).sort();
+ var cardtag = slot + ':' + card;
+ if (sorted_softwarelists.length)
+ {
+ var table = document.getElementById('tbl-softwarelists').tBodies[0];
+ sorted_softwarelists.forEach(
+ function (tag)
+ {
+ var cell, link;
+ var info = softwarelist_info[device][tag];
+ var href = appurl + 'softwarelist/' + encodeURIComponent(info.shortname);
+ var row = table.appendChild(document.createElement('tr'));
+ row.setAttribute('id', 'row-softwarelists-' + (cardtag + tag).replace(/:/g, '-'))
+ row.appendChild(document.createElement('td')).textContent = cardtag;
+ link = row.appendChild(document.createElement('td')).appendChild(document.createElement('a'));
+ link.setAttribute('href', href);
+ link.textContent = info.shortname;
+ link = row.appendChild(document.createElement('td')).appendChild(document.createElement('a'));
+ link.setAttribute('href', href);
+ link.textContent = info.description;
+ row.appendChild(document.createElement('td')).textContent = info.status;
+ total = info.total;
+ cell = row.appendChild(document.createElement('td'));
+ cell.textContent = total.toString(10);
+ cell.style.textAlign = 'right';
+ if (!total)
+ total = 1;
+ cell = row.appendChild(document.createElement('td'));
+ cell.textContent = (info.supported * 100.0 / total).toFixed(1) + '%';
+ cell.style.textAlign = 'right';
+ cell = row.appendChild(document.createElement('td'));
+ cell.textContent = (info.partiallysupported * 100.0 / total).toFixed(1) + '%';
+ cell.style.textAlign = 'right';
+ cell = row.appendChild(document.createElement('td'));
+ cell.textContent = (info.unsupported * 100.0 / total).toFixed(1) + '%';
+ cell.style.textAlign = 'right';
+ });
+ document.getElementById('heading-softwarelists').style.removeProperty('display');
+ document.getElementById('tbl-softwarelists').style.removeProperty('display');
+ }
+}
+
+
function add_bios_row(slot, table, device)
{
var sorted_sets = Object.keys(bios_sets[device]).sort();
@@ -394,6 +481,16 @@ function make_slot_change_handler(name, slot, defaults, dfltbtn)
slotslist.removeChild(next);
}
+ // clear out any software lists from previous selection
+ var softwarelist_rowid_prefix = 'row-softwarelists-' + prefix.replace(/:/g, '-');
+ for (var candidate = document.getElementById('tbl-softwarelists').tBodies[0].rows[0]; candidate; )
+ {
+ var next = candidate.nextSibling;
+ if ((candidate.nodeName == 'TR') && candidate.getAttribute('id').startsWith(softwarelist_rowid_prefix))
+ candidate.parentNode.removeChild(candidate);
+ candidate = next;
+ }
+
if (selection === null)
{
// no selection, remove the slot card details table
@@ -427,6 +524,12 @@ function make_slot_change_handler(name, slot, defaults, dfltbtn)
else
add_bios_row(slotname, tbl, selection.device);
+ // if we have software list info, populate now, otherweise fetch asynchronously
+ if (!Object.prototype.hasOwnProperty.call(softwarelist_info, selection.device))
+ fetch_softwarelist_info(selection.device);
+ else
+ add_softwarelist_rows(selection.device, slotname, choice);
+
// drop the details table into the list
if (def.firstChild)
def.replaceChild(tbl, def.firstChild);
diff --git a/scripts/minimaws/lib/assets/romident.js b/scripts/minimaws/lib/assets/romident.js
index 9ca2c84f54d..e42daf875cf 100644
--- a/scripts/minimaws/lib/assets/romident.js
+++ b/scripts/minimaws/lib/assets/romident.js
@@ -454,6 +454,14 @@ function add_name(group, name, crc, sha1)
if (group.names.indexOf(name) < 0)
{
group.names.push(name);
+
+ if (group.hasOwnProperty('issues'))
+ {
+ var issues = group.issues;
+ if (issues !== null)
+ issues.parentNode.parentNode.insertBefore(document.createElement('dt'), issues.parentNode).textContent = name;
+ }
+
if (group.hasOwnProperty('machines'))
{
var machines = group.machines;
@@ -575,8 +583,6 @@ function identify_file(file, trychd, progress)
else
{
crcgrp = sha1grp.crc[crc];
- if (crcgrp.issues !== null)
- crcgrp.issues.parentNode.parentNode.insertBefore(document.createElement('dl'), crcgrp.issues.parentNode).textContent = file.name;
add_name(crcgrp, file.name, crc, sha1);
progress.parentNode.removeChild(progress);
}
diff --git a/scripts/minimaws/lib/dbaccess.py b/scripts/minimaws/lib/dbaccess.py
index cc359bfa65c..7ca5ebf243d 100644
--- a/scripts/minimaws/lib/dbaccess.py
+++ b/scripts/minimaws/lib/dbaccess.py
@@ -771,6 +771,14 @@ class QueryCursor(object):
'ORDER BY ramoption.size',
(machine, ))
+ def get_machine_softwarelists(self, machine):
+ return self.dbcurs.execute(
+ 'SELECT machinesoftwarelist.tag AS tag, machinesoftwareliststatustype.value AS status, softwarelist.shortname AS shortname, softwarelist.description AS description, COUNT(software.id) AS total, COUNT(CASE software.supported WHEN 0 THEN 1 ELSE NULL END) AS supported, COUNT(CASE software.supported WHEN 1 THEN 1 ELSE NULL END) AS partiallysupported, COUNT(CASE software.supported WHEN 2 THEN 1 ELSE NULL END) AS unsupported ' \
+ 'FROM machinesoftwarelist LEFT JOIN machinesoftwareliststatustype ON machinesoftwarelist.status = machinesoftwareliststatustype.id LEFT JOIN softwarelist ON machinesoftwarelist.softwarelist = softwarelist.id LEFT JOIN software ON softwarelist.id = software.softwarelist ' \
+ 'WHERE machinesoftwarelist.machine = ? ' \
+ 'GROUP BY machinesoftwarelist.id',
+ (machine, ))
+
def get_softwarelist_id(self, shortname):
return (self.dbcurs.execute('SELECT id FROM softwarelist WHERE shortname = ?', (shortname, )).fetchone() or (None, ))[0]
@@ -1075,6 +1083,8 @@ class UpdateConnection(object):
def prepare_for_load(self):
# here be dragons - this is a poor man's DROP ALL TABLES etc.
self.dbconn.execute('PRAGMA foreign_keys = OFF')
+ for query in self.dbconn.execute('SELECT \'DROP VIEW \' || name FROM sqlite_master WHERE type = \'view\'').fetchall():
+ self.dbconn.execute(query[0])
for query in self.dbconn.execute('SELECT \'DROP INDEX \' || name FROM sqlite_master WHERE type = \'index\' AND NOT name GLOB \'sqlite_autoindex_*\'').fetchall():
self.dbconn.execute(query[0])
for query in self.dbconn.execute('SELECT \'DROP TABLE \' || name FROM sqlite_master WHERE type = \'table\'').fetchall():
diff --git a/scripts/minimaws/lib/htmltmpl.py b/scripts/minimaws/lib/htmltmpl.py
index 185771af6ee..7c9246865b1 100644
--- a/scripts/minimaws/lib/htmltmpl.py
+++ b/scripts/minimaws/lib/htmltmpl.py
@@ -70,6 +70,47 @@ MACHINE_CLONES_ROW = string.Template(
' <td>${manufacturer}</td>\n' \
' </tr>\n')
+MACHINE_SOFTWARELISTS_TABLE_PROLOGUE = string.Template(
+ '<h2 id="heading-softwarelists">Software Lists</h2>\n' \
+ '<table id="tbl-softwarelists">\n' \
+ ' <thead>\n' \
+ ' <tr>\n' \
+ ' <th>Card</th>\n' \
+ ' <th>Short name</th>\n' \
+ ' <th>Description</th>\n' \
+ ' <th>Status</th>\n' \
+ ' <th class="numeric">Total</th>\n' \
+ ' <th class="numeric">Supported</th>\n' \
+ ' <th class="numeric">Partially supported</th>\n' \
+ ' <th class="numeric">Unsupported</th>\n' \
+ ' </tr>\n' \
+ ' </thead>\n' \
+ ' <tbody>\n')
+
+MACHINE_SOFTWARELISTS_TABLE_ROW = string.Template(
+ ' <tr id="row-softwarelists-${rowid}">\n' \
+ ' <td></td>\n' \
+ ' <td><a href="${href}">${shortname}</a></td>\n' \
+ ' <td><a href="${href}">${description}</a></td>\n' \
+ ' <td>${status}</td>\n' \
+ ' <td style="text-align: right">${total}</td>\n' \
+ ' <td style="text-align: right">${supported}</td>\n' \
+ ' <td style="text-align: right">${partiallysupported}</td>\n' \
+ ' <td style="text-align: right">${unsupported}</td>\n' \
+ ' </tr>\n')
+
+MACHINE_SOFTWARELISTS_TABLE_EPILOGUE = string.Template(
+ ' </tbody>\n' \
+ '</table>\n' \
+ '<script>\n' \
+ ' make_table_sortable(document.getElementById("tbl-softwarelists"));\n' \
+ ' if (!document.getElementById("tbl-softwarelists").tBodies[0].rows.length)\n' \
+ ' {\n' \
+ ' document.getElementById("heading-softwarelists").style.display = "none";\n' \
+ ' document.getElementById("tbl-softwarelists").style.display = "none";\n' \
+ ' }\n' \
+ '</script>\n')
+
MACHINE_OPTIONS_HEADING = string.Template(
'<h2>Options</h2>\n' \
'<p>\n' \
@@ -92,10 +133,14 @@ MACHINE_RAM_PROLOGUE = string.Template(
MACHINE_RAM_OPTION = string.Template(
' <option value="${name}" data-isdefault="${isdefault}">${name} (${size})</option>\n')
-MACHINE_SLOTS_PLACEHOLDER = string.Template(
+MACHINE_SLOTS_PLACEHOLDER_PROLOGUE = string.Template(
'<h3>Slots</h3>\n' \
'<p id="para-slots-placeholder">Loading slot information&hellip;<p>\n' \
- '<script>fetch_slots("${machine}");</script>\n')
+ '<script>\n')
+
+MACHINE_SLOTS_PLACEHOLDER_EPILOGUE = string.Template(
+ ' populate_slots(${machine});\n'
+ '</script>\n')
MACHINE_ROW = string.Template(
' <tr>\n' \
diff --git a/scripts/minimaws/lib/wsgiserve.py b/scripts/minimaws/lib/wsgiserve.py
index 8046785b5f1..e77bb3f637f 100644
--- a/scripts/minimaws/lib/wsgiserve.py
+++ b/scripts/minimaws/lib/wsgiserve.py
@@ -109,6 +109,80 @@ class QueryPageHandler(HandlerBase):
def software_href(self, softwarelist, software):
return cgi.escape(urlparse.urljoin(self.application_uri, 'softwarelist/%s/%s' % (urlquote(softwarelist), urlquote(software))), True)
+ def bios_data(self, machine):
+ result = { }
+ for name, description, isdefault in self.dbcurs.get_biossets(machine):
+ result[name] = { 'description': description, 'isdefault': True if isdefault else False }
+ return result
+
+ def flags_data(self, machine):
+ result = { 'features': { } }
+ for feature, status, overall in self.dbcurs.get_feature_flags(machine):
+ detail = { }
+ if status == 1:
+ detail['status'] = 'imperfect'
+ elif status > 1:
+ detail['status'] = 'unemulated'
+ if overall == 1:
+ detail['overall'] = 'imperfect'
+ elif overall > 1:
+ detail['overall'] = 'unemulated'
+ result['features'][feature] = detail
+ return result
+
+ def slot_data(self, machine):
+ result = { 'defaults': { }, 'slots': { } }
+
+ # get slot options
+ prev = None
+ for slot, option, shortname, description in self.dbcurs.get_slot_options(machine):
+ if slot != prev:
+ if slot in result['slots']:
+ options = result['slots'][slot]
+ else:
+ options = { }
+ result['slots'][slot] = options
+ prev = slot
+ options[option] = { 'device': shortname, 'description': description }
+
+ # if there are any slots, get defaults
+ if result['slots']:
+ for slot, default in self.dbcurs.get_slot_defaults(machine):
+ result['defaults'][slot] = default
+
+ # remove slots that come from default cards in other slots
+ for slot in tuple(result['slots'].keys()):
+ slot += ':'
+ for candidate in tuple(result['slots'].keys()):
+ if candidate.startswith(slot):
+ del result['slots'][candidate]
+
+ return result
+
+ def softwarelist_data(self, machine):
+ result = { }
+
+ # get software lists referenced by machine
+ for softwarelist in self.dbcurs.get_machine_softwarelists(machine):
+ result[softwarelist['tag']] = {
+ 'status': softwarelist['status'],
+ 'shortname': softwarelist['shortname'],
+ 'description': softwarelist['description'],
+ 'total': softwarelist['total'],
+ 'supported': softwarelist['supported'],
+ 'partiallysupported': softwarelist['partiallysupported'],
+ 'unsupported': softwarelist['unsupported'] }
+
+ # remove software lists that come from default cards in slots
+ if result:
+ for slot, default in self.dbcurs.get_slot_defaults(machine):
+ slot += ':'
+ for candidate in tuple(result.keys()):
+ if candidate.startswith(slot):
+ del result[candidate]
+
+ return result
+
class MachineRpcHandlerBase(QueryPageHandler):
def __init__(self, app, application_uri, environ, start_response, **kwargs):
@@ -215,6 +289,7 @@ class MachineHandler(QueryPageHandler):
tuple(imperfect)).encode('utf-8');
yield '</table>\n'.encode('utf-8')
+ # make a table of clones
first = True
for clone, clonedescription, cloneyear, clonemanufacturer in self.dbcurs.get_clones(self.shortname):
if first:
@@ -229,6 +304,22 @@ class MachineHandler(QueryPageHandler):
if not first:
yield htmltmpl.SORTABLE_TABLE_EPILOGUE.substitute(id='tbl-clones').encode('utf-8')
+ # make a table of software lists
+ yield htmltmpl.MACHINE_SOFTWARELISTS_TABLE_PROLOGUE.substitute().encode('utf-8')
+ for softwarelist in self.dbcurs.get_machine_softwarelists(id):
+ total = softwarelist['total']
+ yield htmltmpl.MACHINE_SOFTWARELISTS_TABLE_ROW.substitute(
+ rowid=cgi.escape(softwarelist['tag'].replace(':', '-'), True),
+ href=self.softwarelist_href(softwarelist['shortname']),
+ shortname=cgi.escape(softwarelist['shortname']),
+ description=cgi.escape(softwarelist['description']),
+ status=cgi.escape(softwarelist['status']),
+ total=cgi.escape('%d' % (total, )),
+ supported=cgi.escape('%.1f%%' % (softwarelist['supported'] * 100.0 / (total or 1), )),
+ partiallysupported=cgi.escape('%.1f%%' % (softwarelist['partiallysupported'] * 100.0 / (total or 1), )),
+ unsupported=cgi.escape('%.1f%%' % (softwarelist['unsupported'] * 100.0 / (total or 1), ))).encode('utf-8')
+ yield htmltmpl.MACHINE_SOFTWARELISTS_TABLE_EPILOGUE.substitute().encode('utf-8')
+
# allow system BIOS selection
haveoptions = False
for name, desc, isdef in self.dbcurs.get_biossets(id):
@@ -264,8 +355,29 @@ class MachineHandler(QueryPageHandler):
if not haveoptions:
haveoptions = True
yield htmltmpl.MACHINE_OPTIONS_HEADING.substitute().encode('utf-8')
- yield htmltmpl.MACHINE_SLOTS_PLACEHOLDER.substitute(
- machine=self.js_escape(self.shortname)).encode('utf=8')
+ yield htmltmpl.MACHINE_SLOTS_PLACEHOLDER_PROLOGUE.substitute().encode('utf=8')
+ pending = set((self.shortname, ))
+ added = set((self.shortname, ))
+ haveextra = set()
+ while pending:
+ requested = pending.pop()
+ slots = self.slot_data(self.dbcurs.get_machine_id(requested))
+ yield (' slot_info[%s] = %s;\n' % (self.sanitised_json(requested), self.sanitised_json(slots))).encode('utf-8')
+ for slotname, slot in slots['slots'].items():
+ for choice, card in slot.items():
+ carddev = card['device']
+ if carddev not in added:
+ pending.add(carddev)
+ added.add(carddev)
+ if (carddev not in haveextra) and (slots['defaults'].get(slotname) == choice):
+ haveextra.add(carddev)
+ cardid = self.dbcurs.get_machine_id(carddev)
+ carddev = self.sanitised_json(carddev)
+ yield (
+ ' bios_sets[%s] = %s;\n machine_flags[%s] = %s;\n softwarelist_info[%s] = %s;\n' %
+ (carddev, self.sanitised_json(self.bios_data(cardid)), carddev, self.sanitised_json(self.flags_data(cardid)), carddev, self.sanitised_json(self.softwarelist_data(cardid)))).encode('utf-8')
+ yield htmltmpl.MACHINE_SLOTS_PLACEHOLDER_EPILOGUE.substitute(
+ machine=self.sanitised_json(self.shortname)).encode('utf=8')
# list devices referenced by this system/device
first = True
@@ -332,6 +444,10 @@ class MachineHandler(QueryPageHandler):
description=cgi.escape(description or ''),
sourcefile=cgi.escape(sourcefile or '')).encode('utf-8')
+ @staticmethod
+ def sanitised_json(data):
+ return json.dumps(data).replace('<', '\\u003c').replace('>', '\\u003e')
+
class SourceFileHandler(QueryPageHandler):
def __init__(self, app, application_uri, environ, start_response, **kwargs):
@@ -531,7 +647,13 @@ class SoftwareListHandler(QueryPageHandler):
if first:
yield htmltmpl.SOFTWARELIST_MACHINE_TABLE_HEADER.substitute().encode('utf-8')
first = False
- yield self.machine_row(machine_info)
+ yield htmltmpl.SOFTWARELIST_MACHINE_TABLE_ROW.substitute(
+ machinehref=self.machine_href(machine_info['shortname']),
+ shortname=cgi.escape(machine_info['shortname']),
+ description=cgi.escape(machine_info['description']),
+ year=cgi.escape(machine_info['year'] or ''),
+ manufacturer=cgi.escape(machine_info['manufacturer'] or ''),
+ status=cgi.escape(machine_info['status'])).encode('utf-8')
if not first:
yield htmltmpl.SORTABLE_TABLE_EPILOGUE.substitute(id='tbl-machines').encode('utf-8')
@@ -613,15 +735,6 @@ class SoftwareListHandler(QueryPageHandler):
publisher=cgi.escape(clone_info['publisher']),
supported=self.format_supported(clone_info['supported'])).encode('utf-8')
- def machine_row(self, machine_info):
- return htmltmpl.SOFTWARELIST_MACHINE_TABLE_ROW.substitute(
- machinehref=self.machine_href(machine_info['shortname']),
- shortname=cgi.escape(machine_info['shortname']),
- description=cgi.escape(machine_info['description']),
- year=cgi.escape(machine_info['year'] or ''),
- manufacturer=cgi.escape(machine_info['manufacturer'] or ''),
- status=cgi.escape(machine_info['status'])).encode('utf-8')
-
@staticmethod
def format_supported(supported):
return 'Yes' if supported == 0 else 'Partial' if supported == 1 else 'No'
@@ -659,47 +772,17 @@ class BiosRpcHandler(MachineRpcHandlerBase):
class FlagsRpcHandler(MachineRpcHandlerBase):
def data_page(self, machine):
- result = { 'features': { } }
- for feature, status, overall in self.dbcurs.get_feature_flags(machine):
- detail = { }
- if status == 1:
- detail['status'] = 'imperfect'
- elif status > 1:
- detail['status'] = 'unemulated'
- if overall == 1:
- detail['overall'] = 'imperfect'
- elif overall > 1:
- detail['overall'] = 'unemulated'
- result['features'][feature] = detail
- yield json.dumps(result).encode('utf-8')
+ yield json.dumps(self.flags_data(machine)).encode('utf-8')
class SlotsRpcHandler(MachineRpcHandlerBase):
def data_page(self, machine):
- result = { 'defaults': { }, 'slots': { } }
+ yield json.dumps(self.slot_data(machine)).encode('utf-8')
- # get defaults and slot options
- for slot, default in self.dbcurs.get_slot_defaults(machine):
- result['defaults'][slot] = default
- prev = None
- for slot, option, shortname, description in self.dbcurs.get_slot_options(machine):
- if slot != prev:
- if slot in result['slots']:
- options = result['slots'][slot]
- else:
- options = { }
- result['slots'][slot] = options
- prev = slot
- options[option] = { 'device': shortname, 'description': description }
-
- # remove slots that come from default cards in other slots
- for slot in tuple(result['slots'].keys()):
- slot += ':'
- for candidate in tuple(result['slots'].keys()):
- if candidate.startswith(slot):
- del result['slots'][candidate]
- yield json.dumps(result).encode('utf-8')
+class SoftwareListsRpcHandler(MachineRpcHandlerBase):
+ def data_page(self, machine):
+ yield json.dumps(self.softwarelist_data(machine)).encode('utf-8')
class RomDumpsRpcHandler(QueryPageHandler):
@@ -817,11 +900,12 @@ class DiskDumpsRpcHandler(QueryPageHandler):
class MiniMawsApp(object):
JS_ESCAPE = re.compile('([\"\'\\\\])')
RPC_SERVICES = {
- 'bios': BiosRpcHandler,
- 'flags': FlagsRpcHandler,
- 'slots': SlotsRpcHandler,
- 'romdumps': RomDumpsRpcHandler,
- 'diskdumps': DiskDumpsRpcHandler }
+ 'bios': BiosRpcHandler,
+ 'flags': FlagsRpcHandler,
+ 'slots': SlotsRpcHandler,
+ 'softwarelists': SoftwareListsRpcHandler,
+ 'romdumps': RomDumpsRpcHandler,
+ 'diskdumps': DiskDumpsRpcHandler }
def __init__(self, dbfile, **kwargs):
super(MiniMawsApp, self).__init__(**kwargs)
diff --git a/scripts/src/3rdparty.lua b/scripts/src/3rdparty.lua
index db0e89ca862..bec2382971d 100644
--- a/scripts/src/3rdparty.lua
+++ b/scripts/src/3rdparty.lua
@@ -51,6 +51,7 @@ end
"/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
"/wd4127", -- warning C4127: conditional expression is constant
"/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data
+ "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
}
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
@@ -60,10 +61,6 @@ if _OPTIONS["vs"]=="intel-15" then
"/Qwd869", -- remark #869: parameter "xxx" was never referenced
}
end
- configuration { "vs201*" }
- buildoptions {
- "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
- }
configuration { }
files {
@@ -622,6 +619,7 @@ project "flac"
"/wd4127", -- warning C4127: conditional expression is constant
"/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data
"/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
+ "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
"/wd4702", -- warning C4702: unreachable code
}
if _OPTIONS["vs"]=="intel-15" then
@@ -639,11 +637,6 @@ end
"-include stdint.h"
}
- configuration { "vs201*" }
- buildoptions {
- "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
- }
-
configuration { "vsllvm" }
buildoptions {
"-Wno-unused-function",
@@ -727,17 +720,14 @@ project "7z"
configuration { "vs*" }
buildoptions {
"/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
+ "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
+ "/wd4457", -- warning C4457: declaration of 'xxx' hides function parameter
}
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd869", -- remark #869: parameter "xxx" was never referenced
}
end
- configuration { "vs201*" }
- buildoptions {
- "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
- "/wd4457", -- warning C4457: declaration of 'xxx' hides function parameter
- }
configuration { "winstore*" }
forcedincludes {
MAME_DIR .. "src/osd/uwp/uwpcompat.h"
@@ -1024,6 +1014,7 @@ project "portmidi"
"/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
"/wd4127", -- warning C4127: conditional expression is constant
"/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data
+ "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
"/wd4706", -- warning C4706: assignment within conditional expression
}
if _OPTIONS["vs"]=="intel-15" then
@@ -1035,11 +1026,6 @@ if _OPTIONS["vs"]=="intel-15" then
}
end
- configuration { "vs201*" }
- buildoptions {
- "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
- }
-
configuration { "linux*" }
defines {
"PMALSA=1",
@@ -1451,6 +1437,8 @@ project "portaudio"
"/wd4389", -- warning C4389: 'operator' : signed/unsigned mismatch
"/wd4189", -- warning C4189: 'xxx' : local variable is initialized but not referenced
"/wd4127", -- warning C4127: conditional expression is constant
+ "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
+ "/wd4312", -- warning C4312: 'type cast': conversion from 'UINT' to 'HWAVEIN' of greater size
}
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
@@ -1460,10 +1448,6 @@ project "portaudio"
"/Qwd1879", -- warning #1879: unimplemented pragma ignored
}
end
- configuration { "vs2015*" }
- buildoptions {
- "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
- }
configuration { "vsllvm" }
buildoptions {
diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua
index d917a846642..a2155edcea2 100644
--- a/scripts/src/bus.lua
+++ b/scripts/src/bus.lua
@@ -458,6 +458,21 @@ end
---------------------------------------------------
--
+--@src/devices/bus/bbc/modem/modem.h,BUSES["BBC_MODEM"] = true
+---------------------------------------------------
+
+if (BUSES["BBC_MODEM"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/bus/bbc/modem/modem.cpp",
+ MAME_DIR .. "src/devices/bus/bbc/modem/modem.h",
+ MAME_DIR .. "src/devices/bus/bbc/modem/scsiaiv.cpp",
+ MAME_DIR .. "src/devices/bus/bbc/modem/scsiaiv.h",
+ }
+end
+
+
+---------------------------------------------------
+--
--@src/devices/bus/bbc/1mhzbus/1mhzbus.h,BUSES["BBC_1MHZBUS"] = true
---------------------------------------------------
@@ -467,10 +482,14 @@ if (BUSES["BBC_1MHZBUS"]~=null) then
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/1mhzbus.h",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/autoprom.cpp",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/autoprom.h",
+ MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebopl.cpp",
+ MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebopl.h",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebsid.cpp",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebsid.h",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/emrmidi.cpp",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/emrmidi.h",
+ MAME_DIR .. "src/devices/bus/bbc/1mhzbus/ide.cpp",
+ MAME_DIR .. "src/devices/bus/bbc/1mhzbus/ide.h",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/ieee488.cpp",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/ieee488.h",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/m2000.cpp",
@@ -481,6 +500,8 @@ if (BUSES["BBC_1MHZBUS"]~=null) then
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/pms64k.h",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/ramdisc.cpp",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/ramdisc.h",
+ MAME_DIR .. "src/devices/bus/bbc/1mhzbus/scsi.cpp",
+ MAME_DIR .. "src/devices/bus/bbc/1mhzbus/scsi.h",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/sprite.cpp",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/sprite.h",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/cfa3000opt.cpp",
@@ -2649,6 +2670,20 @@ end
---------------------------------------------------
--
+--@src/devices/bus/sdk85/memexp.h,BUSES["SDK85"] = true
+---------------------------------------------------
+
+if (BUSES["SDK85"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/bus/sdk85/memexp.cpp",
+ MAME_DIR .. "src/devices/bus/sdk85/memexp.h",
+ MAME_DIR .. "src/devices/bus/sdk85/i8755.cpp",
+ MAME_DIR .. "src/devices/bus/sdk85/i8755.h",
+ }
+end
+
+---------------------------------------------------
+--
--@src/devices/bus/snes/snes_slot.h,BUSES["SNES"] = true
---------------------------------------------------
@@ -4085,3 +4120,17 @@ if (BUSES["TMC600"]~=null) then
MAME_DIR .. "src/devices/bus/tmc600/euro.h",
}
end
+
+---------------------------------------------------
+--
+--@src/devices/bus/multibus/multibus.h,BUSES["MULTIBUS"] = true
+---------------------------------------------------
+
+if (BUSES["MULTIBUS"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/bus/multibus/multibus.cpp",
+ MAME_DIR .. "src/devices/bus/multibus/multibus.h",
+ MAME_DIR .. "src/devices/bus/multibus/isbc202.cpp",
+ MAME_DIR .. "src/devices/bus/multibus/isbc202.h",
+ }
+end
diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua
index 4c5644c1bf7..9e2607d78eb 100644
--- a/scripts/src/cpu.lua
+++ b/scripts/src/cpu.lua
@@ -2982,6 +2982,23 @@ if (CPUS["CR16B"]~=null or _OPTIONS["with-tools"]) then
end
--------------------------------------------------
+-- Gigatron
+--@src/devices/cpu/gigatron/gigatron.h,CPUS["GTRON"] = true
+--------------------------------------------------
+
+if (CPUS["GTRON"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/cpu/gigatron/gigatron.cpp",
+ MAME_DIR .. "src/devices/cpu/gigatron/gigatron.h",
+ }
+end
+
+if (CPUS["GTRON"]~=null or _OPTIONS["with-tools"]) then
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/gigatron/gigatrondasm.cpp")
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/gigatron/gigatrondasm.h")
+end
+
+--------------------------------------------------
-- Motorola DSP56000
--@src/devices/cpu/dsp56000/dsp56000.h,CPUS["DSP56000"] = true
--------------------------------------------------
@@ -2997,3 +3014,105 @@ if (CPUS["DSP56000"]~=null or _OPTIONS["with-tools"]) then
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56000/dsp56000d.cpp")
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56000/dsp56000d.h")
end
+
+--------------------------------------------------
+-- DEC VT50/VT52
+--@src/devices/cpu/vt50/vt50.h,CPUS["VT50"] = true
+--------------------------------------------------
+
+if (CPUS["VT50"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/cpu/vt50/vt50.cpp",
+ MAME_DIR .. "src/devices/cpu/vt50/vt50.h",
+ }
+end
+
+if (CPUS["VT50"]~=null or _OPTIONS["with-tools"]) then
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/vt50/vt50dasm.cpp")
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/vt50/vt50dasm.h")
+end
+
+--------------------------------------------------
+-- DEC VT61
+--@src/devices/cpu/vt61/vt61.h,CPUS["VT61"] = true
+--------------------------------------------------
+
+if (CPUS["VT61"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/cpu/vt61/vt61.cpp",
+ MAME_DIR .. "src/devices/cpu/vt61/vt61.h",
+ }
+end
+
+if (CPUS["VT61"]~=null or _OPTIONS["with-tools"]) then
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/vt61/vt61dasm.cpp")
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/vt61/vt61dasm.h")
+end
+
+--------------------------------------------------
+-- National Semiconductor PACE/INS8900
+--@src/devices/cpu/pace/pace.h,CPUS["PACE"] = true
+--------------------------------------------------
+
+if (CPUS["PACE"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/cpu/pace/pace.cpp",
+ MAME_DIR .. "src/devices/cpu/pace/pace.h",
+ }
+end
+
+if (CPUS["PACE"]~=null or _OPTIONS["with-tools"]) then
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pace/pacedasm.cpp")
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pace/pacedasm.h")
+end
+
+--------------------------------------------------
+-- AT&T WE32000/WE32100/WE32200
+--@src/devices/cpu/we32000/we32100.h,CPUS["WE32000"] = true
+--------------------------------------------------
+
+if (CPUS["WE32000"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/cpu/we32000/we32100.cpp",
+ MAME_DIR .. "src/devices/cpu/we32000/we32100.h",
+ }
+end
+
+if (CPUS["WE32000"]~=null or _OPTIONS["with-tools"]) then
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/we32000/we32100d.cpp")
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/we32000/we32100d.h")
+end
+
+--------------------------------------------------
+-- DEC RX01
+--@src/devices/cpu/rx01/rx01.h,CPUS["RX01"] = true
+--------------------------------------------------
+
+if (CPUS["RX01"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/cpu/rx01/rx01.cpp",
+ MAME_DIR .. "src/devices/cpu/rx01/rx01.h",
+ }
+end
+
+if (CPUS["RX01"]~=null or _OPTIONS["with-tools"]) then
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/rx01/rx01dasm.cpp")
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/rx01/rx01dasm.h")
+end
+
+--------------------------------------------------
+-- Motorola M88000
+--@src/devices/cpu/m88000/m88000.h,CPUS["M88000"] = true
+--------------------------------------------------
+
+if (CPUS["M88000"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/cpu/m88000/m88000.cpp",
+ MAME_DIR .. "src/devices/cpu/m88000/m88000.h",
+ }
+end
+
+if (CPUS["M88000"]~=null or _OPTIONS["with-tools"]) then
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m88000/m88000d.cpp")
+ table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m88000/m88000d.h")
+end
diff --git a/scripts/src/formats.lua b/scripts/src/formats.lua
index 6bb724e3e40..e09d34c2e33 100644
--- a/scripts/src/formats.lua
+++ b/scripts/src/formats.lua
@@ -1003,6 +1003,18 @@ end
--------------------------------------------------
--
+--@src/lib/formats/img_dsk.h,FORMATS["IMG_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["IMG_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/img_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/img_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
--@src/lib/formats/iq151_dsk.h,FORMATS["IQ151_DSK"] = true
--------------------------------------------------
diff --git a/scripts/src/machine.lua b/scripts/src/machine.lua
index ed2dd04bc93..9188507cce4 100644
--- a/scripts/src/machine.lua
+++ b/scripts/src/machine.lua
@@ -3144,6 +3144,18 @@ end
---------------------------------------------------
--
+--@src/devices/machine/vic_pl192.h,MACHINES["VIC_PL192"] = true
+---------------------------------------------------
+
+if (MACHINES["VIC_PL192"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/machine/vic_pl192.cpp",
+ MAME_DIR .. "src/devices/machine/vic_pl192.h",
+ }
+end
+
+---------------------------------------------------
+--
--@src/devices/machine/wd_fdc.h,MACHINES["WD_FDC"] = true
---------------------------------------------------
@@ -4208,3 +4220,27 @@ if (MACHINES["VRENDER0"]~=null) then
MAME_DIR .. "src/devices/machine/vrender0.h",
}
end
+
+---------------------------------------------------
+--
+--@src/devices/machine/i3001.h,MACHINES["I3001"] = true
+---------------------------------------------------
+
+if (MACHINES["I3001"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/machine/i3001.cpp",
+ MAME_DIR .. "src/devices/machine/i3001.h",
+ }
+end
+
+---------------------------------------------------
+--
+--@src/devices/machine/i3002.h,MACHINES["I3002"] = true
+---------------------------------------------------
+
+if (MACHINES["I3002"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/machine/i3002.cpp",
+ MAME_DIR .. "src/devices/machine/i3002.h",
+ }
+end
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua
index 70ff1f54467..3bc6cb34645 100644
--- a/scripts/src/netlist.lua
+++ b/scripts/src/netlist.lua
@@ -120,6 +120,8 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/devices/nld_2716.h",
MAME_DIR .. "src/lib/netlist/devices/nld_tms4800.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_tms4800.h",
+ MAME_DIR .. "src/lib/netlist/devices/nld_4006.cpp",
+ MAME_DIR .. "src/lib/netlist/devices/nld_4006.h",
MAME_DIR .. "src/lib/netlist/devices/nld_4020.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_4020.h",
MAME_DIR .. "src/lib/netlist/devices/nld_4066.cpp",
@@ -218,7 +220,6 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/devices/nld_system.h",
MAME_DIR .. "src/lib/netlist/devices/nlid_truthtable.cpp",
MAME_DIR .. "src/lib/netlist/devices/nlid_truthtable.h",
- MAME_DIR .. "src/lib/netlist/devices/nlid_cmos.h",
MAME_DIR .. "src/lib/netlist/devices/nlid_system.h",
MAME_DIR .. "src/lib/netlist/devices/nlid_proxy.cpp",
MAME_DIR .. "src/lib/netlist/devices/nlid_proxy.h",
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
index 4cf82d097a0..7716cea4eeb 100644
--- a/scripts/target/mame/arcade.lua
+++ b/scripts/target/mame/arcade.lua
@@ -1670,6 +1670,7 @@ files {
MAME_DIR .. "src/mame/drivers/exprraid.cpp",
MAME_DIR .. "src/mame/includes/exprraid.h",
MAME_DIR .. "src/mame/video/exprraid.cpp",
+ MAME_DIR .. "src/mame/drivers/ffantasy_ms.cpp",
MAME_DIR .. "src/mame/drivers/firetrap.cpp",
MAME_DIR .. "src/mame/includes/firetrap.h",
MAME_DIR .. "src/mame/video/firetrap.cpp",
@@ -2417,6 +2418,7 @@ files {
MAME_DIR .. "src/mame/video/jailbrek.cpp",
MAME_DIR .. "src/mame/drivers/junofrst.cpp",
MAME_DIR .. "src/mame/drivers/konamigq.cpp",
+ MAME_DIR .. "src/mame/drivers/konamigs.cpp",
MAME_DIR .. "src/mame/drivers/konamigv.cpp",
MAME_DIR .. "src/mame/drivers/konamigx.cpp",
MAME_DIR .. "src/mame/includes/konamigx.h",
@@ -2669,6 +2671,7 @@ files {
MAME_DIR .. "src/mame/drivers/merit.cpp",
MAME_DIR .. "src/mame/drivers/merit3xx.cpp",
MAME_DIR .. "src/mame/drivers/meritm.cpp",
+ MAME_DIR .. "src/mame/drivers/merits.cpp",
MAME_DIR .. "src/mame/drivers/mtouchxl.cpp",
MAME_DIR .. "src/mame/drivers/pubtimed.cpp",
MAME_DIR .. "src/mame/machine/at.h",
@@ -2819,6 +2822,8 @@ files {
MAME_DIR .. "src/mame/audio/galaxian.cpp",
MAME_DIR .. "src/mame/audio/galaxian.h",
MAME_DIR .. "src/mame/video/galaxian.cpp",
+ MAME_DIR .. "src/mame/audio/nl_konami.h",
+ MAME_DIR .. "src/mame/audio/nl_konami.cpp",
MAME_DIR .. "src/mame/drivers/galaxold.cpp",
MAME_DIR .. "src/mame/includes/galaxold.h",
MAME_DIR .. "src/mame/machine/galaxold.cpp",
@@ -3401,10 +3406,14 @@ files {
MAME_DIR .. "src/mame/machine/naomim2.h",
MAME_DIR .. "src/mame/machine/naomim4.cpp",
MAME_DIR .. "src/mame/machine/naomim4.h",
+ MAME_DIR .. "src/mame/machine/gdrom.cpp",
+ MAME_DIR .. "src/mame/machine/gdrom.h",
MAME_DIR .. "src/mame/machine/m3comm.cpp",
MAME_DIR .. "src/mame/machine/m3comm.h",
MAME_DIR .. "src/mame/machine/315-5881_crypt.cpp",
MAME_DIR .. "src/mame/machine/315-5881_crypt.h",
+ MAME_DIR .. "src/mame/machine/315-6154.cpp",
+ MAME_DIR .. "src/mame/machine/315-6154.h",
MAME_DIR .. "src/mame/machine/awboard.cpp",
MAME_DIR .. "src/mame/machine/awboard.h",
MAME_DIR .. "src/mame/machine/mie.cpp",
@@ -3452,6 +3461,8 @@ files {
MAME_DIR .. "src/mame/drivers/segas16b.cpp",
MAME_DIR .. "src/mame/includes/segas16b.h",
MAME_DIR .. "src/mame/video/segas16b.cpp",
+ MAME_DIR .. "src/mame/audio/nl_segas16b.cpp",
+ MAME_DIR .. "src/mame/audio/nl_segas16b.h",
MAME_DIR .. "src/mame/drivers/segas18.cpp",
MAME_DIR .. "src/mame/includes/segas18.h",
MAME_DIR .. "src/mame/video/segas18.cpp",
@@ -3760,6 +3771,7 @@ files {
createMAMEProjects(_target, _subtarget, "sony")
files {
MAME_DIR .. "src/mame/drivers/zn.cpp",
+ MAME_DIR .. "src/mame/includes/zn.h",
MAME_DIR .. "src/mame/machine/znmcu.cpp",
MAME_DIR .. "src/mame/machine/znmcu.h",
MAME_DIR .. "src/mame/machine/cat702.cpp",
@@ -3879,6 +3891,7 @@ files {
MAME_DIR .. "src/mame/drivers/darius.cpp",
MAME_DIR .. "src/mame/includes/darius.h",
MAME_DIR .. "src/mame/video/darius.cpp",
+ MAME_DIR .. "src/mame/drivers/dinoking.cpp",
MAME_DIR .. "src/mame/drivers/exzisus.cpp",
MAME_DIR .. "src/mame/includes/exzisus.h",
MAME_DIR .. "src/mame/video/exzisus.cpp",
@@ -4925,6 +4938,7 @@ files {
MAME_DIR .. "src/mame/video/shangkid.cpp",
MAME_DIR .. "src/mame/drivers/skeetsht.cpp",
MAME_DIR .. "src/mame/drivers/skimaxx.cpp",
+ MAME_DIR .. "src/mame/drivers/skopro.cpp",
MAME_DIR .. "src/mame/drivers/skyarmy.cpp",
MAME_DIR .. "src/mame/drivers/skylncr.cpp",
MAME_DIR .. "src/mame/drivers/sliver.cpp",
@@ -4949,6 +4963,7 @@ files {
MAME_DIR .. "src/mame/drivers/taxidriv.cpp",
MAME_DIR .. "src/mame/includes/taxidriv.h",
MAME_DIR .. "src/mame/video/taxidriv.cpp",
+ MAME_DIR .. "src/mame/drivers/teamjocs.cpp",
MAME_DIR .. "src/mame/drivers/thayers.cpp",
MAME_DIR .. "src/mame/drivers/thedeep.cpp",
MAME_DIR .. "src/mame/includes/thedeep.h",
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index b448b883d7a..7e3e127fc1b 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -148,6 +148,13 @@ CPUS["F2MC16"] = true
CPUS["CR16B"] = true
CPUS["FR"] = true
CPUS["DSP56000"] = true
+CPUS["VT50"] = true
+CPUS["VT61"] = true
+CPUS["PACE"] = true
+CPUS["WE32000"] = true
+CPUS["RX01"] = true
+CPUS["GTRON"] = true
+CPUS["M88000"] = true
--------------------------------------------------
-- specify available sound cores; some of these are
@@ -483,6 +490,8 @@ MACHINES["HP_TACO"] = true
MACHINES["1MA6"] = true
MACHINES["1MB5"] = true
MACHINES["I2CMEM"] = true
+MACHINES["I3001"] = true
+MACHINES["I3002"] = true
MACHINES["I7220"] = true
MACHINES["I80130"] = true
MACHINES["I8087"] = true
@@ -664,6 +673,7 @@ MACHINES["UPD71071"] = true
MACHINES["UPD765"] = true
MACHINES["FDC_PLL"] = true
MACHINES["V3021"] = true
+MACHINES["VIC_PL192"] = true
MACHINES["WD_FDC"] = true
MACHINES["WD1000"] = true
MACHINES["WD1010"] = true
@@ -761,6 +771,7 @@ BUSES["BBC_CART"] = true
BUSES["BBC_EXP"] = true
BUSES["BBC_INTERNAL"] = true
BUSES["BBC_JOYPORT"] = true
+BUSES["BBC_MODEM"] = true
BUSES["BBC_1MHZBUS"] = true
BUSES["BBC_TUBE"] = true
BUSES["BBC_USERPORT"] = true
@@ -823,6 +834,7 @@ BUSES["MIDI"] = true
BUSES["MEGADRIVE"] = true
BUSES["MSX_SLOT"] = true
BUSES["MTX"] = true
+BUSES["MULTIBUS"] = true
BUSES["NASBUS"] = true
BUSES["NEOGEO"] = true
BUSES["NEOGEO_CTRL"] = true
@@ -851,6 +863,7 @@ BUSES["SATURN"] = true
BUSES["SBUS"] = true
BUSES["SCSI"] = true
BUSES["SCV"] = true
+BUSES["SDK85"] = true
BUSES["SEGA8"] = true
BUSES["SG1000_EXP"] = true
BUSES["SGIKBD"] = true
@@ -973,6 +986,7 @@ FORMATS["HECT_TAP"] = true
FORMATS["HTI_TAP"] = true
FORMATS["HPI_DSK"] = true
FORMATS["HP_IPC_DSK"] = true
+FORMATS["IMG_DSK"] = true
FORMATS["IQ151_DSK"] = true
FORMATS["ITT3030_DSK"] = true
FORMATS["JFD_DSK"] = true
@@ -1170,6 +1184,7 @@ function linkProjects_mame_mess(_target, _subtarget)
"kurzweil",
"kyocera",
"leapfrog",
+ "lsi",
"luxor",
"magnavox",
"makerbot",
@@ -1437,6 +1452,8 @@ files {
MAME_DIR .. "src/mame/machine/naomirom.h",
MAME_DIR .. "src/mame/machine/315-5881_crypt.cpp",
MAME_DIR .. "src/mame/machine/315-5881_crypt.h",
+ MAME_DIR .. "src/mame/machine/315-6154.cpp",
+ MAME_DIR .. "src/mame/machine/315-6154.h",
MAME_DIR .. "src/mame/video/powervr2.cpp",
MAME_DIR .. "src/mame/video/powervr2.h",
MAME_DIR .. "src/mame/drivers/neogeo.cpp",
@@ -1751,7 +1768,9 @@ files {
createMESSProjects(_target, _subtarget, "att")
files {
+ MAME_DIR .. "src/mame/drivers/att3b2.cpp",
MAME_DIR .. "src/mame/drivers/att4425.cpp",
+ MAME_DIR .. "src/mame/drivers/att610.cpp",
MAME_DIR .. "src/mame/drivers/att630.cpp",
MAME_DIR .. "src/mame/drivers/unixpc.cpp",
}
@@ -1783,6 +1802,7 @@ files {
MAME_DIR .. "src/mame/machine/wswan.cpp",
MAME_DIR .. "src/mame/video/wswan.cpp",
MAME_DIR .. "src/mame/video/wswan.h",
+ MAME_DIR .. "src/mame/drivers/bandai_design_master.cpp",
}
createMESSProjects(_target, _subtarget, "be")
@@ -2064,12 +2084,16 @@ files {
MAME_DIR .. "src/mame/machine/decioga.h",
MAME_DIR .. "src/mame/drivers/dectalk.cpp",
MAME_DIR .. "src/mame/drivers/decwritr.cpp",
+ MAME_DIR .. "src/mame/machine/dc305.cpp",
+ MAME_DIR .. "src/mame/machine/dc305.h",
MAME_DIR .. "src/mame/drivers/jensen.cpp",
MAME_DIR .. "src/mame/includes/jensen.h",
MAME_DIR .. "src/mame/drivers/pdp11.cpp",
MAME_DIR .. "src/mame/drivers/vax11.cpp",
MAME_DIR .. "src/mame/drivers/rainbow.cpp",
MAME_DIR .. "src/mame/drivers/vk100.cpp",
+ MAME_DIR .. "src/mame/drivers/vt52.cpp",
+ MAME_DIR .. "src/mame/drivers/vt62.cpp",
MAME_DIR .. "src/mame/drivers/vt100.cpp",
MAME_DIR .. "src/mame/drivers/vt220.cpp",
MAME_DIR .. "src/mame/drivers/vt240.cpp",
@@ -2364,17 +2388,21 @@ files {
createMESSProjects(_target, _subtarget, "hegener")
files {
+ MAME_DIR .. "src/mame/drivers/mephisto_berlin.cpp",
MAME_DIR .. "src/mame/drivers/mephisto_brikett.cpp",
MAME_DIR .. "src/mame/drivers/mephisto_glasgow.cpp",
MAME_DIR .. "src/mame/drivers/mephisto_mm1.cpp",
MAME_DIR .. "src/mame/drivers/mephisto_mm2.cpp",
MAME_DIR .. "src/mame/drivers/mephisto_modena.cpp",
MAME_DIR .. "src/mame/drivers/mephisto_modular.cpp",
+ MAME_DIR .. "src/mame/drivers/mephisto_modular_tm.cpp",
MAME_DIR .. "src/mame/drivers/mephisto_mondial68k.cpp",
MAME_DIR .. "src/mame/drivers/mephisto_montec.cpp",
MAME_DIR .. "src/mame/drivers/mephisto_polgar.cpp",
MAME_DIR .. "src/mame/machine/mmboard.cpp",
MAME_DIR .. "src/mame/machine/mmboard.h",
+ MAME_DIR .. "src/mame/video/mmdisplay2.cpp",
+ MAME_DIR .. "src/mame/video/mmdisplay2.h",
}
createMESSProjects(_target, _subtarget, "hitachi")
@@ -2558,8 +2586,8 @@ createMESSProjects(_target, _subtarget, "jazz")
files {
MAME_DIR .. "src/mame/drivers/jazz.cpp",
MAME_DIR .. "src/mame/includes/jazz.h",
- MAME_DIR .. "src/mame/machine/jazz_mct_adr.cpp",
- MAME_DIR .. "src/mame/machine/jazz_mct_adr.h",
+ MAME_DIR .. "src/mame/machine/mct_adr.cpp",
+ MAME_DIR .. "src/mame/machine/mct_adr.h",
}
createMESSProjects(_target, _subtarget, "kaypro")
@@ -2600,6 +2628,14 @@ files {
MAME_DIR .. "src/mame/drivers/leapfrog_leappad.cpp",
}
+createMESSProjects(_target, _subtarget, "lsi")
+files {
+ MAME_DIR .. "src/mame/drivers/adm11.cpp",
+ MAME_DIR .. "src/mame/drivers/adm23.cpp",
+ MAME_DIR .. "src/mame/drivers/adm31.cpp",
+ MAME_DIR .. "src/mame/drivers/adm36.cpp",
+}
+
createMESSProjects(_target, _subtarget, "luxor")
files {
MAME_DIR .. "src/mame/drivers/abc80.cpp",
@@ -2788,11 +2824,13 @@ files {
createMESSProjects(_target, _subtarget, "natsemi")
files {
MAME_DIR .. "src/mame/drivers/hh_cop400.cpp",
+ MAME_DIR .. "src/mame/drivers/ns5652.cpp",
}
createMESSProjects(_target, _subtarget, "ncd")
files {
MAME_DIR .. "src/mame/drivers/ncd68k.cpp",
+ MAME_DIR .. "src/mame/drivers/ncd88k.cpp",
MAME_DIR .. "src/mame/drivers/ncdmips.cpp",
MAME_DIR .. "src/mame/drivers/ncdppc.cpp",
MAME_DIR .. "src/mame/machine/bert.cpp",
@@ -2874,6 +2912,7 @@ files {
MAME_DIR .. "src/mame/machine/nes.cpp",
MAME_DIR .. "src/mame/video/nes.cpp",
MAME_DIR .. "src/mame/drivers/nes_vt.cpp",
+ MAME_DIR .. "src/mame/drivers/nes_boot.cpp",
MAME_DIR .. "src/mame/drivers/pokemini.cpp",
MAME_DIR .. "src/mame/drivers/snes.cpp",
MAME_DIR .. "src/mame/includes/snes.h",
@@ -2894,6 +2933,8 @@ files {
MAME_DIR .. "src/mame/drivers/vt1682.cpp",
MAME_DIR .. "src/mame/machine/vt1682_io.h",
MAME_DIR .. "src/mame/machine/vt1682_io.cpp",
+ MAME_DIR .. "src/mame/machine/vt1682_uio.h",
+ MAME_DIR .. "src/mame/machine/vt1682_uio.cpp",
MAME_DIR .. "src/mame/machine/vt1682_alu.h",
MAME_DIR .. "src/mame/machine/vt1682_alu.cpp",
MAME_DIR .. "src/mame/machine/vt1682_timer.h",
@@ -2926,6 +2967,7 @@ files {
MAME_DIR .. "src/mame/drivers/novag_presto.cpp",
MAME_DIR .. "src/mame/drivers/novag_savant.cpp",
MAME_DIR .. "src/mame/drivers/novag_sexpert.cpp",
+ MAME_DIR .. "src/mame/drivers/novag_supremo.cpp",
}
createMESSProjects(_target, _subtarget, "olivetti")
@@ -3070,6 +3112,10 @@ createMESSProjects(_target, _subtarget, "psion")
files {
MAME_DIR .. "src/mame/drivers/psion.cpp",
MAME_DIR .. "src/mame/includes/psion.h",
+ MAME_DIR .. "src/mame/drivers/psion5.cpp",
+ MAME_DIR .. "src/mame/includes/psion5.h",
+ MAME_DIR .. "src/mame/machine/etna.cpp",
+ MAME_DIR .. "src/mame/machine/etna.h",
MAME_DIR .. "src/mame/machine/psion_pack.cpp",
MAME_DIR .. "src/mame/machine/psion_pack.h",
}
@@ -3561,6 +3607,7 @@ files {
MAME_DIR .. "src/mame/drivers/ts816.cpp",
MAME_DIR .. "src/mame/drivers/tv910.cpp",
MAME_DIR .. "src/mame/drivers/tv912.cpp",
+ MAME_DIR .. "src/mame/drivers/tv924.cpp",
MAME_DIR .. "src/mame/drivers/tv950.cpp",
MAME_DIR .. "src/mame/drivers/tv955.cpp",
MAME_DIR .. "src/mame/drivers/tv965.cpp",
@@ -3753,7 +3800,22 @@ files {
MAME_DIR .. "src/mame/drivers/trkfldch.cpp",
MAME_DIR .. "src/mame/drivers/tvgame.cpp",
MAME_DIR .. "src/mame/drivers/spg110.cpp",
- MAME_DIR .. "src/mame/drivers/vii.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_jakks.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_zone.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_zone_32bit.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_senario.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_senario_poker.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_vii.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_ican.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_playvision.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_shredmjr.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_telestory.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_tvgogo.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_pdc.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_dreamlife.cpp",
+ MAME_DIR .. "src/mame/drivers/spg2xx_lexibook.cpp",
+ MAME_DIR .. "src/mame/includes/spg2xx.h",
MAME_DIR .. "src/mame/drivers/sunplus_gcm394.cpp",
MAME_DIR .. "src/mame/drivers/generalplus_gpl32612.cpp",
MAME_DIR .. "src/mame/drivers/xavix.cpp",
@@ -3780,6 +3842,8 @@ files {
MAME_DIR .. "src/mame/drivers/lexibook_jg7425.cpp",
MAME_DIR .. "src/mame/drivers/unkmandd.cpp",
MAME_DIR .. "src/mame/drivers/bbl380.cpp",
+ MAME_DIR .. "src/mame/drivers/actions_atj2279b.cpp",
+ MAME_DIR .. "src/mame/drivers/pubint_storyreader.cpp",
}
createMESSProjects(_target, _subtarget, "ultimachine")
@@ -4002,9 +4066,7 @@ files {
MAME_DIR .. "src/mame/drivers/aaa.cpp",
MAME_DIR .. "src/mame/drivers/acd.cpp",
MAME_DIR .. "src/mame/drivers/aceex.cpp",
- MAME_DIR .. "src/mame/drivers/adm23.cpp",
- MAME_DIR .. "src/mame/drivers/adm31.cpp",
- MAME_DIR .. "src/mame/drivers/adm36.cpp",
+ MAME_DIR .. "src/mame/drivers/aid80f.cpp",
MAME_DIR .. "src/mame/drivers/akaiax80.cpp",
MAME_DIR .. "src/mame/drivers/alcat7100.cpp",
MAME_DIR .. "src/mame/drivers/alesis_qs.cpp",
@@ -4093,6 +4155,7 @@ files {
MAME_DIR .. "src/mame/drivers/fs3216.cpp",
MAME_DIR .. "src/mame/drivers/ft68m.cpp",
MAME_DIR .. "src/mame/drivers/gameking.cpp",
+ MAME_DIR .. "src/mame/drivers/gigatron.cpp",
MAME_DIR .. "src/mame/drivers/gimix.cpp",
MAME_DIR .. "src/mame/drivers/goupil.cpp",
MAME_DIR .. "src/mame/drivers/grfd2301.cpp",
diff --git a/scripts/target/mame/nl.lua b/scripts/target/mame/nl.lua
index 6701256bc56..d2a0958df6e 100644
--- a/scripts/target/mame/nl.lua
+++ b/scripts/target/mame/nl.lua
@@ -23,10 +23,11 @@ CPUS["M6803"] = true
CPUS["M6809"] = true
CPUS["MCS48"] = true
CPUS["I8085"] = true
---CPUS["MCS51"] = true
+CPUS["MCS51"] = true
--CPUS["M6800"] = true
--CPUS["M6809"] = true
--CPUS["M680X0"] = true
+CPUS["M680X0"] = true
--CPUS["TMS9900"] = true
--CPUS["COP400"] = true
CPUS["F8"] = true
@@ -43,14 +44,18 @@ SOUNDS["AY8910"] = true
SOUNDS["MSM5205"] = true
--SOUNDS["ASTROCADE"] = true
SOUNDS["TMS5220"] = true
---SOUNDS["OKIM6295"] = true
+SOUNDS["OKIM6295"] = true
+SOUNDS["UPD7759"] = true
--SOUNDS["HC55516"] = true
--SOUNDS["YM3812"] = true
--SOUNDS["CEM3394"] = true
--SOUNDS["VOTRAX"] = true
+SOUNDS["YM2151"] = true
+SOUNDS["YM2413"] = true
SOUNDS["BEEP"] = true
SOUNDS["VOLT_REG"] = true
SOUNDS["SPEAKER"] = true
+SOUNDS["DIGITALKER"] = true
--------------------------------------------------
-- specify available video cores
@@ -80,6 +85,8 @@ MACHINES["6821PIA"] = true
MACHINES["I8255"] = true
MACHINES["WATCHDOG"] = true
MACHINES["EEPROMDEV"] = true
+MACHINES["UPD4701"] = true
+MACHINES["CXD1095"] = true
--MACHINES["TTL74148"] = true
--MACHINES["TTL74153"] = true
--MACHINES["TTL7474"] = true
@@ -149,17 +156,17 @@ files{
MAME_DIR .. "src/mame/includes/1942.h",
MAME_DIR .. "src/mame/video/1942.cpp",
MAME_DIR .. "src/mame/audio/nl_1942.cpp",
- MAME_DIR .. "src/mame/audio/nl_1942.h",
+ MAME_DIR .. "src/mame/audio/nl_1942.h",
MAME_DIR .. "src/mame/drivers/gamemachine.cpp",
- MAME_DIR .. "src/mame/audio/nl_gamemachine.h",
- MAME_DIR .. "src/mame/audio/nl_gamemachine.cpp",
+ MAME_DIR .. "src/mame/audio/nl_gamemachine.h",
+ MAME_DIR .. "src/mame/audio/nl_gamemachine.cpp",
MAME_DIR .. "src/mame/drivers/popeye.cpp",
MAME_DIR .. "src/mame/includes/popeye.h",
MAME_DIR .. "src/mame/video/popeye.cpp",
- MAME_DIR .. "src/mame/audio/nl_popeye.cpp",
- MAME_DIR .. "src/mame/audio/nl_popeye.h",
+ MAME_DIR .. "src/mame/audio/nl_popeye.cpp",
+ MAME_DIR .. "src/mame/audio/nl_popeye.h",
MAME_DIR .. "src/mame/drivers/mario.cpp",
MAME_DIR .. "src/mame/includes/mario.h",
@@ -184,6 +191,17 @@ files{
MAME_DIR .. "src/mame/includes/cheekyms.h",
MAME_DIR .. "src/mame/video/cheekyms.cpp",
+ MAME_DIR .. "src/mame/drivers/galaxian.cpp",
+ MAME_DIR .. "src/mame/includes/galaxian.h",
+ MAME_DIR .. "src/mame/audio/galaxian.cpp",
+ MAME_DIR .. "src/mame/audio/galaxian.h",
+ MAME_DIR .. "src/mame/video/galaxian.cpp",
+ MAME_DIR .. "src/mame/audio/nl_konami.h",
+ MAME_DIR .. "src/mame/audio/nl_konami.cpp",
+
+ MAME_DIR .. "src/mame/audio/cclimber.cpp",
+ MAME_DIR .. "src/mame/audio/cclimber.h",
+
MAME_DIR .. "src/mame/audio/nl_zac1b11142.cpp",
MAME_DIR .. "src/mame/audio/nl_zacc1b11142.h",
MAME_DIR .. "src/mame/audio/zaccaria.cpp",
@@ -193,13 +211,35 @@ files{
MAME_DIR .. "src/mame/video/zaccaria.cpp",
MAME_DIR .. "src/mame/drivers/cocoloco.cpp",
- MAME_DIR .. "src/mame/audio/nl_cocoloco.h",
- MAME_DIR .. "src/mame/audio/nl_cocoloco.cpp",
+ MAME_DIR .. "src/mame/audio/nl_cocoloco.h",
+ MAME_DIR .. "src/mame/audio/nl_cocoloco.cpp",
MAME_DIR .. "src/mame/drivers/palestra.cpp",
MAME_DIR .. "src/mame/machine/nl_palestra.cpp",
MAME_DIR .. "src/mame/machine/nl_palestra.h",
+ MAME_DIR .. "src/mame/drivers/segas16b.cpp",
+ MAME_DIR .. "src/mame/includes/segas16b.h",
+ MAME_DIR .. "src/mame/video/segas16b.cpp",
+ MAME_DIR .. "src/mame/audio/nl_segas16b.cpp",
+ MAME_DIR .. "src/mame/audio/nl_segas16b.h",
+ MAME_DIR .. "src/mame/machine/315_5195.cpp",
+ MAME_DIR .. "src/mame/machine/315_5195.h",
+ MAME_DIR .. "src/mame/machine/fd1089.cpp",
+ MAME_DIR .. "src/mame/machine/fd1089.h",
+ MAME_DIR .. "src/mame/machine/fd1094.cpp",
+ MAME_DIR .. "src/mame/machine/fd1094.h",
+ MAME_DIR .. "src/mame/machine/segaic16.cpp",
+ MAME_DIR .. "src/mame/machine/segaic16.h",
+ MAME_DIR .. "src/mame/video/sega16sp.cpp",
+ MAME_DIR .. "src/mame/video/sega16sp.h",
+ MAME_DIR .. "src/mame/machine/mc8123.cpp",
+ MAME_DIR .. "src/mame/machine/mc8123.h",
+ MAME_DIR .. "src/mame/video/segaic16.cpp",
+ MAME_DIR .. "src/mame/video/segaic16.h",
+ MAME_DIR .. "src/mame/video/segaic16_road.cpp",
+ MAME_DIR .. "src/mame/video/segaic16_road.h",
+
MAME_DIR .. "src/mame/drivers/testpat.cpp",
MAME_DIR .. "src/mame/machine/nl_tp1983.cpp",
MAME_DIR .. "src/mame/machine/nl_tp1983.h",
diff --git a/scripts/toolchain.lua b/scripts/toolchain.lua
index 79e3f84e17f..45734c11971 100644
--- a/scripts/toolchain.lua
+++ b/scripts/toolchain.lua
@@ -1,5 +1,5 @@
--
--- Copyright 2010-2015 Branimir Karadzic. All rights reserved.
+-- Copyright 2010-2020 Branimir Karadzic. All rights reserved.
-- License: https://github.com/bkaradzic/bx#license-bsd-2-clause
--