diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/build/complay.py | 112 | ||||
-rw-r--r-- | scripts/src/cpu.lua | 10 | ||||
-rw-r--r-- | scripts/src/formats.lua | 13 | ||||
-rw-r--r-- | scripts/src/machine.lua | 11 | ||||
-rw-r--r-- | scripts/src/netlist.lua | 9 | ||||
-rw-r--r-- | scripts/target/mame/arcade.lua | 2 | ||||
-rw-r--r-- | scripts/target/mame/mess.lua | 7 |
7 files changed, 109 insertions, 55 deletions
diff --git a/scripts/build/complay.py b/scripts/build/complay.py index 2fbc7667a8e..34a43992b7c 100755 --- a/scripts/build/complay.py +++ b/scripts/build/complay.py @@ -219,10 +219,6 @@ class LayoutChecker(Minifyer): self.variable_scopes[-1][attrs['name']] = False def checkBounds(self, attrs): - if self.have_bounds[-1]: - self.handleError('Duplicate element bounds') - else: - self.have_bounds[-1] = True left = self.checkFloatAttribute('bounds', attrs, 'left', 0.0) top = self.checkFloatAttribute('bounds', attrs, 'top', 0.0) right = self.checkFloatAttribute('bounds', attrs, 'right', 1.0) @@ -258,9 +254,15 @@ class LayoutChecker(Minifyer): if self.checkIntAttribute('orientation', attrs, 'rotate', 0) not in self.ORIENTATIONS: self.handleError('Element orientation attribute rotate "%s" is unsupported' % (attrs['rotate'], )) for name in ('swapxy', 'flipx', 'flipy'): - if attrs.get(name, 'no') not in self.YESNO: + if (attrs.get(name, 'no') not in self.YESNO) and (not self.VARPATTERN.match(attrs['yesno'])): self.handleError('Element orientation attribute %s "%s" is not "yes" or "no"' % (name, attrs[name])) + def checkColor(self, attrs): + self.checkColorChannel(attrs, 'red') + self.checkColorChannel(attrs, 'green') + self.checkColorChannel(attrs, 'blue') + self.checkColorChannel(attrs, 'alpha') + def checkColorChannel(self, attrs, name): channel = self.checkFloatAttribute('color', attrs, name, None) if (channel is not None) and ((0.0 > channel) or (1.0 < channel)): @@ -268,7 +270,7 @@ class LayoutChecker(Minifyer): def checkTag(self, tag, element, attr): if '' == tag: - self.handleError('Element %s attribute %s is empty', (element, attr)) + self.handleError('Element %s attribute %s is empty' % (element, attr)) else: if tag.find('^') >= 0: self.handleError('Element %s attribute %s "%s" contains parent device reference' % (element, attr, tag)) @@ -278,12 +280,22 @@ class LayoutChecker(Minifyer): self.handleError('Element %s attribute %s "%s" contains double separator' % (element, attr, tag)) def checkComponent(self, name, attrs): - state = self.checkIntAttribute(name, attrs, 'state', None) - if (state is not None) and (0 > state): - self.handleError('Element %s attribute state "%s" is negative' % (name, attrs['state'])) + statemask = self.checkIntAttribute(name, attrs, 'statemask', None) + stateval = self.checkIntAttribute(name, attrs, 'state', None) + if stateval is not None: + if 0 > stateval: + self.handleError('Element %s attribute state "%s" is negative' % (name, attrs['state'])) + if (statemask is not None) and (stateval & ~statemask): + self.handleError('Element %s attribute state "%s" has bits set that are clear in attribute statemask "%s"' % (name, attrs['state'], attrs['statemask'])) self.handlers.append((self.componentStartHandler, self.componentEndHandler)) - self.have_bounds.append(False) - self.have_color.append(False) + self.have_bounds.append({ }) + self.have_color.append({ }) + + def startObject(self): + self.handlers.append((self.objectStartHandler, self.objectEndHandler)) + self.have_bounds.append(None) + self.have_orientation.append(False) + self.have_color.append(None) def rootStartHandler(self, name, attrs): if 'mamelayout' != name: @@ -337,7 +349,7 @@ class LayoutChecker(Minifyer): self.handlers.append((self.groupViewStartHandler, self.groupViewEndHandler)) self.variable_scopes.append({ }) self.repeat_depth.append(0) - self.have_bounds.append(False) + self.have_bounds.append(None) elif ('view' == name) and (not self.repeat_depth[-1]): self.current_collections = { } if 'name' not in attrs: @@ -350,7 +362,7 @@ class LayoutChecker(Minifyer): self.handlers.append((self.groupViewStartHandler, self.groupViewEndHandler)) self.variable_scopes.append({ }) self.repeat_depth.append(0) - self.have_bounds.append(False) + self.have_bounds.append(None) elif 'repeat' == name: if 'count' not in attrs: self.handleError('Element repeat missing attribute count') @@ -433,16 +445,25 @@ class LayoutChecker(Minifyer): def componentStartHandler(self, name, attrs): if 'bounds' == name: + state = self.checkIntAttribute(name, attrs, 'state', 0) + if state is not None: + if 0 > state: + self.handleError('Element bounds attribute state "%s" is negative' % (attrs['state'], )) + if state in self.have_bounds[-1]: + self.handleError('Duplicate bounds for state %d (previous %s)' % (state, self.have_bounds[-1][state])) + else: + self.have_bounds[-1][state] = self.formatLocation() self.checkBounds(attrs) elif 'color' == name: - if self.have_color[-1]: - self.handleError('Duplicate color element') - else: - self.have_color[-1] = True - self.checkColorChannel(attrs, 'red') - self.checkColorChannel(attrs, 'green') - self.checkColorChannel(attrs, 'blue') - self.checkColorChannel(attrs, 'alpha') + state = self.checkIntAttribute(name, attrs, 'state', 0) + if state is not None: + if 0 > state: + self.handleError('Element color attribute state "%s" is negative' % (attrs['state'], )) + if state in self.have_color[-1]: + self.handleError('Duplicate color for state %d (previous %s)' % (state, self.have_color[-1][state])) + else: + self.have_color[-1][state] = self.formatLocation() + self.checkColor(attrs) self.ignored_depth = 1 def componentEndHandler(self, name): @@ -464,25 +485,21 @@ class LayoutChecker(Minifyer): self.checkTag(attrs['inputtag'], name, 'inputtag') elif 'inputmask' in attrs: self.handleError('Element %s has inputmask attribute without inputtag attribute' % (name, )) - inputraw = self.checkIntAttribute(name, attrs, 'inputraw', None) - if (inputraw is not None): + inputraw = None + if 'inputraw' in attrs: + if (attrs['inputraw'] not in self.YESNO) and (not self.VARPATTERN.match(attrs['inputraw'])): + self.handleError('Element %s attribute inputraw "%s" is not "yes" or "no"' % (name, attrs['inputraw'])) + else: + inputraw = 'yes' == attrs['inputraw'] if 'inputmask' not in attrs: self.handleError('Element %s has inputraw attribute without inputmask attribute' % (name, )) if 'inputtag' not in attrs: self.handleError('Element %s has inputraw attribute without inputtag attribute' % (name, )) - if ((0 > inputraw) or (1 < inputraw)): - self.handleError('Element %s attribute inputraw "%s" not in valid range 0-1' % (name, attrs['inputraw'])) inputmask = self.checkIntAttribute(name, attrs, 'inputmask', None) if (inputmask is not None) and (0 == inputmask): if (inputraw is None) or (0 == inputraw): self.handleError('Element %s attribute inputmask "%s" is zero' % (name, attrs['inputmask'])) - if ('element' != name) and not self.has_legacy_object: - self.has_legacy_object = True - if self.has_collection: - self.handleError('Layout contains collection as well as legacy backdrop elements') - self.handlers.append((self.objectStartHandler, self.objectEndHandler)) - self.have_bounds.append(False) - self.have_orientation.append(False) + self.startObject(); elif 'screen' == name: if 'index' in attrs: index = self.checkIntAttribute(name, attrs, 'index', None) @@ -495,9 +512,7 @@ class LayoutChecker(Minifyer): self.checkTag(tag, name, 'tag') if self.BADTAGPATTERN.search(tag): self.handleError('Element screen attribute tag "%s" contains invalid characters' % (tag, )) - self.handlers.append((self.objectStartHandler, self.objectEndHandler)) - self.have_bounds.append(False) - self.have_orientation.append(False) + self.startObject(); elif 'group' == name: if 'ref' not in attrs: self.handleError('Element group missing attribute ref') @@ -510,9 +525,7 @@ class LayoutChecker(Minifyer): self.current_collections[n] = l else: self.handleError('Element group instantiates collection with duplicate name "%s" from %s (previous %s)' % (n, l, self.current_collections[n])) - self.handlers.append((self.objectStartHandler, self.objectEndHandler)) - self.have_bounds.append(False) - self.have_orientation.append(False) + self.startObject(); elif 'repeat' == name: if 'count' not in attrs: self.handleError('Element repeat missing attribute count') @@ -532,16 +545,16 @@ class LayoutChecker(Minifyer): self.handleError('Element collection has duplicate name (previous %s)' % (self.current_collections[attrs['name']], )) if attrs.get('visible', 'yes') not in self.YESNO: self.handleError('Element collection attribute visible "%s" is not "yes" or "no"' % (attrs['visible'], )) - if not self.has_collection: - self.has_collection = True - if self.has_legacy_object: - self.handleError('Layout contains collection as well as legacy backdrop elements') self.variable_scopes.append({ }) self.collection_depth += 1 elif 'param' == name: self.checkParameter(attrs) self.ignored_depth = 1 elif 'bounds' == name: + if self.have_bounds[-1] is not None: + self.handleError('Duplicate element bounds (previous %s)' % (self.have_bounds[-1], )) + else: + self.have_bounds[-1] = self.formatLocation() self.checkBounds(attrs) if self.repeat_depth[-1]: self.handleError('Element bounds inside repeat') @@ -566,14 +579,25 @@ class LayoutChecker(Minifyer): def objectStartHandler(self, name, attrs): if 'bounds' == name: + if self.have_bounds[-1] is not None: + self.handleError('Duplicate element bounds (previous %s)' % (self.have_bounds[-1], )) + else: + self.have_bounds[-1] = self.formatLocation() self.checkBounds(attrs) elif 'orientation' == name: self.checkOrientation(attrs) + if 'color' == name: + if self.have_color[-1] is not None: + self.handleError('Duplicate element color (previous %s)' % (self.have_color[-1], )) + else: + self.have_color[-1] = self.formatLocation() + self.checkColor(attrs) self.ignored_depth = 1 def objectEndHandler(self, name): self.have_bounds.pop() self.have_orientation.pop() + self.have_color.pop() self.handlers.pop() def setDocumentLocator(self, locator): @@ -586,8 +610,6 @@ class LayoutChecker(Minifyer): self.variable_scopes = [ ] self.repeat_depth = [ ] self.collection_depth = 0 - self.has_collection = False - self.has_legacy_object = False self.have_bounds = [ ] self.have_orientation = [ ] self.have_color = [ ] @@ -609,8 +631,6 @@ class LayoutChecker(Minifyer): del self.variable_scopes del self.repeat_depth del self.collection_depth - del self.has_collection - del self.has_legacy_object del self.have_bounds del self.have_orientation del self.have_color diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua index f8c16807c87..a55cf443fdb 100644 --- a/scripts/src/cpu.lua +++ b/scripts/src/cpu.lua @@ -49,6 +49,14 @@ if (CPU_INCLUDE_DRC) then MAME_DIR .. "src/devices/cpu/drcbex86.h", } end + + if _OPTIONS["targetos"]=="macosx" and _OPTIONS["gcc"]~=nil then + if string.find(_OPTIONS["gcc"], "clang") and (str_to_version(_OPTIONS["gcc_version"]) < 80000) then + defines { + "TARGET_OS_OSX=1", + } + end + end end -------------------------------------------------- @@ -2624,6 +2632,8 @@ if (CPUS["Z80"]~=null) then MAME_DIR .. "src/devices/cpu/z80/kl5c80a12.h", MAME_DIR .. "src/devices/cpu/z80/kl5c80a16.cpp", MAME_DIR .. "src/devices/cpu/z80/kl5c80a16.h", + MAME_DIR .. "src/devices/cpu/z80/kp63.cpp", + MAME_DIR .. "src/devices/cpu/z80/kp63.h", MAME_DIR .. "src/devices/cpu/z80/kp69.cpp", MAME_DIR .. "src/devices/cpu/z80/kp69.h", MAME_DIR .. "src/devices/cpu/z80/ky80.cpp", diff --git a/scripts/src/formats.lua b/scripts/src/formats.lua index f88266bcd7c..815ecabe73d 100644 --- a/scripts/src/formats.lua +++ b/scripts/src/formats.lua @@ -1411,6 +1411,19 @@ end -------------------------------------------------- -- +--@src/lib/formats/p2000t_cas.h,FORMATS["P2000T_CAS"] = true +-------------------------------------------------- + +if (FORMATS["P2000T_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/p2000t_cas.cpp", + MAME_DIR.. "src/lib/formats/p2000t_cas.h", + } +end + + +-------------------------------------------------- +-- --@src/lib/formats/p6001_cas.h,FORMATS["P6001_CAS"] = true -------------------------------------------------- diff --git a/scripts/src/machine.lua b/scripts/src/machine.lua index a4751370c7d..600c22f2746 100644 --- a/scripts/src/machine.lua +++ b/scripts/src/machine.lua @@ -4535,3 +4535,14 @@ if (MACHINES["SWIM3"]~=null) then MAME_DIR .. "src/devices/machine/swim3.h", } end + +--------------------------------------------------- +-- +--@src/devices/machine/alpha_8921.h,MACHINES["ALPHA_8921"] = true +--------------------------------------------------- +if (MACHINES["ALPHA_8921"]~=null) then + files { + MAME_DIR .. "src/devices/machine/alpha_8921.cpp", + MAME_DIR .. "src/devices/machine/alpha_8921.h", + } +end diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua index 72d7117fce9..442074f0215 100644 --- a/scripts/src/netlist.lua +++ b/scripts/src/netlist.lua @@ -106,22 +106,15 @@ project "netlist" MAME_DIR .. "src/lib/netlist/tools/nl_convert.cpp", MAME_DIR .. "src/lib/netlist/tools/nl_convert.h", MAME_DIR .. "src/lib/netlist/analog/nld_bjt.cpp", - MAME_DIR .. "src/lib/netlist/analog/nld_bjt.h", MAME_DIR .. "src/lib/netlist/analog/nld_generic_models.h", MAME_DIR .. "src/lib/netlist/analog/nld_mosfet.cpp", - MAME_DIR .. "src/lib/netlist/analog/nld_mosfet.h", MAME_DIR .. "src/lib/netlist/analog/nlid_fourterm.cpp", MAME_DIR .. "src/lib/netlist/analog/nlid_fourterm.h", - MAME_DIR .. "src/lib/netlist/analog/nld_fourterm.h", MAME_DIR .. "src/lib/netlist/analog/nld_switches.cpp", - MAME_DIR .. "src/lib/netlist/analog/nld_switches.h", MAME_DIR .. "src/lib/netlist/analog/nlid_twoterm.cpp", MAME_DIR .. "src/lib/netlist/analog/nlid_twoterm.h", - MAME_DIR .. "src/lib/netlist/analog/nld_twoterm.h", MAME_DIR .. "src/lib/netlist/analog/nld_opamps.cpp", - MAME_DIR .. "src/lib/netlist/analog/nld_opamps.h", MAME_DIR .. "src/lib/netlist/solver/nld_solver.cpp", - MAME_DIR .. "src/lib/netlist/solver/nld_solver.h", MAME_DIR .. "src/lib/netlist/solver/nld_matrix_solver.cpp", MAME_DIR .. "src/lib/netlist/solver/nld_matrix_solver.h", MAME_DIR .. "src/lib/netlist/solver/nld_ms_direct.h", @@ -210,6 +203,8 @@ project "netlist" MAME_DIR .. "src/lib/netlist/macro/nlm_roms_lib.cpp", MAME_DIR .. "src/lib/netlist/macro/modules/nlmod_RTEST.cpp", + MAME_DIR .. "src/lib/netlist/macro/modules/nlmod_NE556_DIP.cpp", + MAME_DIR .. "src/lib/netlist/macro/modules/nlmod_ICL8038_DIP.cpp", MAME_DIR .. "src/lib/netlist/generated/static_solvers.cpp", MAME_DIR .. "src/lib/netlist/generated/nld_devinc.h", diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 1a295e77378..98d86d70a89 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -388,6 +388,7 @@ VIDEOS["VRENDER0"] = true MACHINES["ACORN_VIDC"] = true MACHINES["AKIKO"] = true +MACHINES["ALPHA_8921"] = true --MACHINES["AM2901B"] = true MACHINES["ARM_IOMD"] = true MACHINES["AUTOCONFIG"] = true @@ -1938,7 +1939,6 @@ files { MAME_DIR .. "src/mame/audio/exidy.h", MAME_DIR .. "src/mame/video/exidy.cpp", MAME_DIR .. "src/mame/audio/targ.cpp", - MAME_DIR .. "src/mame/audio/targ.h", MAME_DIR .. "src/mame/drivers/exidy440.cpp", MAME_DIR .. "src/mame/includes/exidy440.h", MAME_DIR .. "src/mame/audio/exidy440.cpp", diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 879f722a883..cc704293f0f 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -426,6 +426,7 @@ VIDEOS["BT431"] = true -------------------------------------------------- MACHINES["AKIKO"] = true +MACHINES["ALPHA_8921"] = true MACHINES["AM2901B"] = true MACHINES["AUTOCONFIG"] = true MACHINES["BUSMOUSE"] = true @@ -882,6 +883,7 @@ BUSES["NSCSI"] = true BUSES["NUBUS"] = true BUSES["O2"] = true BUSES["ORICEXT"] = true +BUSES["P2000"] = true BUSES["PASOPIA"] = true BUSES["PC1512"] = true BUSES["PCE"] = true @@ -1063,6 +1065,7 @@ FORMATS["OPD_DSK"] = true FORMATS["ORAO_CAS"] = true FORMATS["ORIC_DSK"] = true FORMATS["ORIC_TAP"] = true +FORMATS["P2000T_CAS"] = true FORMATS["P6001_CAS"] = true FORMATS["PASTI_DSK"] = true FORMATS["PC98FDI_DSK"] = true @@ -2603,7 +2606,7 @@ createMESSProjects(_target, _subtarget, "informer") files { MAME_DIR .. "src/mame/drivers/informer_207_100.cpp", MAME_DIR .. "src/mame/drivers/informer_207_376.cpp", - MAME_DIR .. "src/mame/drivers/informer_213ae.cpp", + MAME_DIR .. "src/mame/drivers/informer_213.cpp", MAME_DIR .. "src/mame/machine/informer_207_376_kbd.cpp", MAME_DIR .. "src/mame/machine/informer_207_376_kbd.h", } @@ -3224,6 +3227,7 @@ files { MAME_DIR .. "src/mame/drivers/p2000t.cpp", MAME_DIR .. "src/mame/includes/p2000t.h", MAME_DIR .. "src/mame/machine/p2000t.cpp", + MAME_DIR .. "src/mame/machine/p2000t_mdcr.cpp", MAME_DIR .. "src/mame/video/p2000t.cpp", MAME_DIR .. "src/mame/drivers/vg5k.cpp", } @@ -3337,6 +3341,7 @@ files { MAME_DIR .. "src/mame/drivers/roland_cm32p.cpp", MAME_DIR .. "src/mame/drivers/roland_d10.cpp", MAME_DIR .. "src/mame/drivers/roland_d50.cpp", + MAME_DIR .. "src/mame/drivers/roland_jd800.cpp", MAME_DIR .. "src/mame/drivers/roland_jv80.cpp", MAME_DIR .. "src/mame/drivers/roland_jx3p.cpp", MAME_DIR .. "src/mame/drivers/roland_jx8p.cpp", |