diff options
Diffstat (limited to 'docs/release/scripts')
89 files changed, 43777 insertions, 0 deletions
diff --git a/docs/release/scripts/build/complay.py b/docs/release/scripts/build/complay.py new file mode 100644 index 00000000000..b89ca98e19a --- /dev/null +++ b/docs/release/scripts/build/complay.py @@ -0,0 +1,667 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Vas Crabb + +import os +import os.path +import re +import sys +import xml.sax +import xml.sax.saxutils +import zlib + + +# workaround for version incompatibility +if sys.version_info > (3, ): + long = int + + +class ErrorHandler(object): + def __init__(self, **kwargs): + super(ErrorHandler, self).__init__(**kwargs) + self.errors = 0 + self.warnings = 0 + + def error(self, exception): + self.errors += 1 + sys.stderr.write('error: %s' % (exception)) + + def fatalError(self, exception): + raise exception + + def warning(self, exception): + self.warnings += 1 + sys.stderr.write('warning: %s' % (exception)) + + +class Minifyer(object): + def __init__(self, output, **kwargs): + super(Minifyer, self).__init__(**kwargs) + + self.output = output + self.incomplete_tag = False + self.element_content = '' + + def setDocumentLocator(self, locator): + pass + + def startDocument(self): + self.output('<?xml version="1.0"?>') + + def endDocument(self): + self.output('\n') + + def startElement(self, name, attrs): + self.flushElementContent() + if self.incomplete_tag: + self.output('>') + self.output('<%s' % (name)) + for name in attrs.getNames(): + self.output(' %s=%s' % (name, xml.sax.saxutils.quoteattr(attrs[name]))) + self.incomplete_tag = True + + def endElement(self, name): + self.flushElementContent() + if self.incomplete_tag: + self.output('/>') + else: + self.output('</%s>' % (name)) + self.incomplete_tag = False + + def characters(self, content): + self.element_content += content + + def ignorableWhitespace(self, whitespace): + pass + + def processingInstruction(self, target, data): + pass + + def flushElementContent(self): + self.element_content = self.element_content.strip() + if self.element_content: + if self.incomplete_tag: + self.output('>') + self.incomplete_tag = False + self.output(xml.sax.saxutils.escape(self.element_content)) + self.element_content = '' + + +class XmlError(Exception): + pass + + +class LayoutChecker(Minifyer): + BADTAGPATTERN = re.compile('[^abcdefghijklmnopqrstuvwxyz0123456789_.:^$]') + VARPATTERN = re.compile('^.*~[0-9A-Za-z_]+~.*$') + FLOATCHARS = re.compile('^.*[.eE].*$') + SHAPES = frozenset(('disk', 'dotmatrix', 'dotmatrix5dot', 'dotmatrixdot', 'led14seg', 'led14segsc', 'led16seg', 'led16segsc', 'led7seg', 'led8seg_gts1', 'rect')) + OBJECTS = frozenset(('backdrop', 'bezel', 'cpanel', 'marquee', 'overlay')) + ORIENTATIONS = frozenset((0, 90, 180, 270)) + YESNO = frozenset(("yes", "no")) + + def __init__(self, output, **kwargs): + super(LayoutChecker, self).__init__(output=output, **kwargs) + self.locator = None + self.errors = 0 + self.elements = { } + self.groups = { } + self.views = { } + self.referenced_elements = { } + self.referenced_groups = { } + + def formatLocation(self): + return '%s:%d:%d' % (self.locator.getSystemId(), self.locator.getLineNumber(), self.locator.getColumnNumber()) + + def handleError(self, msg): + self.errors += 1 + sys.stderr.write('error: %s: %s\n' % (self.formatLocation(), msg)) + + def checkIntAttribute(self, name, attrs, key, default): + if key not in attrs: + return default + val = attrs[key] + if self.VARPATTERN.match(val): + return None + base = 10 + offs = 0 + if (len(val) >= 1) and ('$' == val[0]): + base = 16 + offs = 1 + elif (len(val) >= 2) and ('0' == val[0]) and (('x' == val[1]) or ('X' == val[1])): + base = 16 + offs = 2 + elif (len(val) >= 1) and ('#' == val[0]): + offs = 1 + try: + return int(val[offs:], base) + except: + self.handleError('Element %s attribute %s "%s" is not an integer' % (name, key, val)) + return None + + def checkFloatAttribute(self, name, attrs, key, default): + if key not in attrs: + return default + val = attrs[key] + if self.VARPATTERN.match(val): + return None + try: + return float(val) + except: + self.handleError('Element %s attribute %s "%s" is not a floating point number' % (name, key, val)) + return None + + def checkNumericAttribute(self, name, attrs, key, default): + if key not in attrs: + return default + val = attrs[key] + if self.VARPATTERN.match(val): + return None + base = 0 + offs = 0 + try: + if (len(val) >= 1) and ('$' == val[0]): + base = 16 + offs = 1 + elif (len(val) >= 2) and ('0' == val[0]) and (('x' == val[1]) or ('X' == val[1])): + base = 16 + offs = 2 + elif (len(val) >= 1) and ('#' == val[0]): + base = 10 + offs = 1 + elif self.FLOATCHARS.match(val): + return float(val) + return int(val[offs:], base) + except: + self.handleError('Element %s attribute %s "%s" is not a number' % (name, key, val)) + return None + + def checkParameter(self, attrs): + if 'name' not in attrs: + self.handleError('Element param missing attribute name') + else: + name = attrs['name'] + self.checkNumericAttribute('param', attrs, 'increment', None) + lshift = self.checkIntAttribute('param', attrs, 'lshift', None) + if (lshift is not None) and (0 > lshift): + self.handleError('Element param attribute lshift "%s" is negative' % (attrs['lshift'], )) + rshift = self.checkIntAttribute('param', attrs, 'rshift', None) + if (rshift is not None) and (0 > rshift): + self.handleError('Element param attribute rshift "%s" is negative' % (attrs['rshift'], )) + if self.repeat_depth and self.repeat_depth[-1]: + if 'start' in attrs: + if 'value' in attrs: + self.handleError('Element param has both start and value attributes') + if 'name' in attrs: + if name not in self.variable_scopes[-1]: + self.variable_scopes[-1][name] = True + elif not self.VARPATTERN.match(name): + self.handleError('Generator parameter "%s" redefined' % (name, )) + else: + if 'value' not in attrs: + self.handleError('Element param missing attribute value') + if ('increment' in attrs) or ('lshift' in attrs) or ('rshift' in attrs): + self.handleError('Element param has increment/lshift/rshift attribute(s) without start attribute') + if 'name' in attrs: + if not self.variable_scopes[-1].get(name, False): + self.variable_scopes[-1][name] = False + elif not self.VARPATTERN.match(name): + self.handleError('Generator parameter "%s" redefined' % (name, )) + else: + if ('start' in attrs) or ('increment' in attrs) or ('lshift' in attrs) or ('rshift' in attrs): + self.handleError('Element param with start/increment/lshift/rshift attribute(s) not in repeat scope') + if 'value' not in attrs: + self.handleError('Element param missing attribute value') + if 'name' in attrs: + 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) + bottom = self.checkFloatAttribute('bounds', attrs, 'bottom', 1.0) + x = self.checkFloatAttribute('bounds', attrs, 'x', 0.0) + y = self.checkFloatAttribute('bounds', attrs, 'y', 0.0) + width = self.checkFloatAttribute('bounds', attrs, 'width', 1.0) + height = self.checkFloatAttribute('bounds', attrs, 'height', 1.0) + if (left is not None) and (right is not None) and (left > right): + self.handleError('Element bounds attribute left "%s" is greater than attribute right "%s"' % ( + attrs.get('left', 0.0), + attrs.get('right', 1.0))) + if (top is not None) and (bottom is not None) and (top > bottom): + self.handleError('Element bounds attribute top "%s" is greater than attribute bottom "%s"' % ( + attrs.get('top', 0.0), + attrs.get('bottom', 1.0))) + if (width is not None) and (0.0 > width): + self.handleError('Element bounds attribute width "%s" is negative' % (attrs['width'], )) + if (height is not None) and (0.0 > height): + self.handleError('Element bounds attribute height "%s" is negative' % (attrs['height'], )) + if ('left' not in attrs) and ('x' not in attrs): + self.handleError('Element bounds has neither attribute left nor attribute x') + has_ltrb = ('left' in attrs) or ('top' in attrs) or ('right' in attrs) or ('bottom' in attrs) + has_origin_size = ('x' in attrs) or ('y' in attrs) or ('width' in attrs) or ('height' in attrs) + if has_ltrb and has_origin_size: + self.handleError('Element bounds has both left/top/right/bottom and origin/size attributes') + + def checkOrientation(self, attrs): + if self.have_orientation[-1]: + self.handleError('Duplicate element orientation') + else: + self.have_orientation[-1] = True + 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: + self.handleError('Element orientation attribute %s "%s" is not "yes" or "no"' % (name, attrs[name])) + + 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)): + self.handleError('Element color attribute %s "%s" outside valid range 0.0-1.0' % (name, attrs[name])) + + def checkTag(self, tag, element, attr): + if '' == tag: + 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)) + if ':' == tag[-1]: + self.handleError('Element %s attribute %s "%s" ends with separator' % (element, attr, tag)) + if tag.find('::') >= 0: + 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'])) + self.handlers.append((self.componentStartHandler, self.componentEndHandler)) + self.have_bounds.append(False) + self.have_color.append(False) + + def rootStartHandler(self, name, attrs): + if 'mamelayout' != name: + self.ignored_depth = 1 + self.handleError('Expected root element mamelayout but found %s' % (name, )) + else: + if 'version' not in attrs: + self.handleError('Element mamelayout missing attribute version') + else: + try: + long(attrs['version']) + except: + self.handleError('Element mamelayout attribute version "%s" is not an integer' % (attrs['version'], )) + self.variable_scopes.append({ }) + self.repeat_depth.append(0) + self.handlers.append((self.layoutStartHandler, self.layoutEndHandler)) + + def rootEndHandler(self, name, attrs): + pass # should be unreachable + + def layoutStartHandler(self, name, attrs): + if 'element' == name: + if 'name' not in attrs: + self.handleError('Element element missing attribute name') + else: + generated_name = self.VARPATTERN.match(attrs['name']) + if generated_name: + self.generated_element_names = True + if attrs['name'] not in self.elements: + self.elements[attrs['name']] = self.formatLocation() + elif not generated_name: + self.handleError('Element element has duplicate name (previous %s)' % (self.elements[attrs['name']], )) + defstate = self.checkIntAttribute(name, attrs, 'defstate', None) + if (defstate is not None) and (0 > defstate): + self.handleError('Element element attribute defstate "%s" is negative' % (attrs['defstate'], )) + self.handlers.append((self.elementStartHandler, self.elementEndHandler)) + elif 'group' == name: + if 'name' not in attrs: + self.handleError('Element group missing attribute name') + else: + generated_name = self.VARPATTERN.match(attrs['name']) + if generated_name: + self.generated_group_names = True + if attrs['name'] not in self.groups: + self.groups[attrs['name']] = self.formatLocation() + elif not generated_name: + self.handleError('Element group has duplicate name (previous %s)' % (self.groups[attrs['name']], )) + self.handlers.append((self.groupViewStartHandler, self.groupViewEndHandler)) + self.variable_scopes.append({ }) + self.repeat_depth.append(0) + self.have_bounds.append(False) + elif ('view' == name) and (not self.repeat_depth[-1]): + if 'name' not in attrs: + self.handleError('Element view missing attribute name') + else: + if attrs['name'] not in self.views: + self.views[attrs['name']] = self.formatLocation() + elif not self.VARPATTERN.match(attrs['name']): + self.handleError('Element view has duplicate name (previous %s)' % (self.views[attrs['name']], )) + self.handlers.append((self.groupViewStartHandler, self.groupViewEndHandler)) + self.variable_scopes.append({ }) + self.repeat_depth.append(0) + self.have_bounds.append(False) + elif 'repeat' == name: + if 'count' not in attrs: + self.handleError('Element repeat missing attribute count') + else: + count = self.checkIntAttribute(name, attrs, 'count', None) + if (count is not None) and (0 >= count): + self.handleError('Element repeat attribute count "%s" is not positive' % (attrs['count'], )) + self.variable_scopes.append({ }) + self.repeat_depth[-1] += 1 + elif 'param' == name: + self.checkParameter(attrs) + self.ignored_depth = 1 + elif ('script' == name) and (not self.repeat_depth[-1]): + self.ignored_depth = 1 + else: + self.handleError('Encountered unexpected element %s' % (name, )) + self.ignored_depth = 1 + + def layoutEndHandler(self, name): + self.variable_scopes.pop() + if self.repeat_depth[-1]: + self.repeat_depth[-1] -= 1 + else: + if not self.generated_element_names: + for element in self.referenced_elements: + if (element not in self.elements) and (not self.VARPATTERN.match(element)): + self.handleError('Element "%s" not found (first referenced at %s)' % (element, self.referenced_elements[element])) + if not self.generated_group_names: + for group in self.referenced_groups: + if (group not in self.groups) and (not self.VARPATTERN.match(group)): + self.handleError('Group "%s" not found (first referenced at %s)' % (group, self.referenced_groups[group])) + if not self.views: + self.handleError('No view elements found') + self.handlers.pop() + + def elementStartHandler(self, name, attrs): + if name in self.SHAPES: + self.checkComponent(name, attrs) + elif 'text' == name: + if 'string' not in attrs: + self.handleError('Element text missing attribute string') + align = self.checkIntAttribute(name, attrs, 'align', None) + if (align is not None) and ((0 > align) or (2 < align)): + self.handleError('Element text attribute align "%s" not in valid range 0-2' % (attrs['align'], )) + self.checkComponent(name, attrs) + elif 'simplecounter' == name: + maxstate = self.checkIntAttribute(name, attrs, 'maxstate', None) + if (maxstate is not None) and (0 > maxstate): + self.handleError('Element simplecounter attribute maxstate "%s" is negative' % (attrs['maxstate'], )) + digits = self.checkIntAttribute(name, attrs, 'digits', None) + if (digits is not None) and (0 >= digits): + self.handleError('Element simplecounter attribute digits "%s" is not positive' % (attrs['digits'], )) + align = self.checkIntAttribute(name, attrs, 'align', None) + if (align is not None) and ((0 > align) or (2 < align)): + self.handleError('Element simplecounter attribute align "%s" not in valid range 0-2' % (attrs['align'], )) + self.checkComponent(name, attrs) + elif 'image' == name: + if 'file' not in attrs: + self.handleError('Element image missing attribute file') + self.checkComponent(name, attrs) + elif 'reel' == name: + # TODO: validate symbollist and improve validation of other attributes + self.checkIntAttribute(name, attrs, 'stateoffset', None) + numsymbolsvisible = self.checkIntAttribute(name, attrs, 'numsymbolsvisible', None) + if (numsymbolsvisible is not None) and (0 >= numsymbolsvisible): + self.handleError('Element reel attribute numsymbolsvisible "%s" not positive' % (attrs['numsymbolsvisible'], )) + reelreversed = self.checkIntAttribute(name, attrs, 'reelreversed', None) + if (reelreversed is not None) and ((0 > reelreversed) or (1 < reelreversed)): + self.handleError('Element reel attribute reelreversed "%s" not in valid range 0-1' % (attrs['reelreversed'], )) + beltreel = self.checkIntAttribute(name, attrs, 'beltreel', None) + if (beltreel is not None) and ((0 > beltreel) or (1 < beltreel)): + self.handleError('Element reel attribute beltreel "%s" not in valid range 0-1' % (attrs['beltreel'], )) + self.checkComponent(name, attrs) + else: + self.handleError('Encountered unexpected element %s' % (name, )) + self.ignored_depth = 1 + + def elementEndHandler(self, name): + self.handlers.pop() + + def componentStartHandler(self, name, attrs): + if 'bounds' == name: + 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') + self.ignored_depth = 1 + + def componentEndHandler(self, name): + self.have_bounds.pop() + self.have_color.pop() + self.handlers.pop() + + def groupViewStartHandler(self, name, attrs): + if name in self.OBJECTS: + if 'element' not in attrs: + self.handleError('Element %s missing attribute element' % (name, )) + elif attrs['element'] not in self.referenced_elements: + self.referenced_elements[attrs['element']] = self.formatLocation() + if 'inputtag' in attrs: + if 'inputmask' not in attrs: + self.handleError('Element %s has inputtag attribute without inputmask attribute' % (name, )) + self.checkTag(attrs['inputtag'], name, 'inputtag') + elif 'inputmask' in attrs: + self.handleError('Element %s has inputmask attribute without inputtag attribute' % (name, )) + inputmask = self.checkIntAttribute(name, attrs, 'inputmask', None) + if (inputmask is not None) and (0 == inputmask): + self.handleError('Element %s has attribute inputmask "%s" is zero' % (name, attrs['inputmask'])) + inputraw = self.checkIntAttribute(name, attrs, 'inputraw', None) + if (inputraw is not None): + 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'])) + self.handlers.append((self.objectStartHandler, self.objectEndHandler)) + self.have_bounds.append(False) + self.have_orientation.append(False) + elif 'screen' == name: + if 'index' in attrs: + index = self.checkIntAttribute(name, attrs, 'index', None) + if (index is not None) and (0 > index): + self.handleError('Element screen attribute index "%s" is negative' % (attrs['index'], )) + if 'tag' in attrs: + self.handleError('Element screen has both index and tag attributes') + if 'tag' in attrs: + tag = attrs['tag'] + 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) + elif 'group' == name: + if 'ref' not in attrs: + self.handleError('Element group missing attribute ref') + elif attrs['ref'] not in self.referenced_groups: + self.referenced_groups[attrs['ref']] = self.formatLocation() + self.handlers.append((self.objectStartHandler, self.objectEndHandler)) + self.have_bounds.append(False) + self.have_orientation.append(False) + elif 'repeat' == name: + if 'count' not in attrs: + self.handleError('Element repeat missing attribute count') + else: + count = self.checkIntAttribute(name, attrs, 'count', None) + if (count is not None) and (0 >= count): + self.handleError('Element repeat attribute count "%s" is negative' % (attrs['count'], )) + self.variable_scopes.append({ }) + self.repeat_depth[-1] += 1 + elif 'param' == name: + self.checkParameter(attrs) + self.ignored_depth = 1 + elif 'bounds' == name: + self.checkBounds(attrs) + if self.repeat_depth[-1]: + self.handleError('Element bounds inside repeat') + self.ignored_depth = 1 + else: + self.handleError('Encountered unexpected element %s' % (name, )) + self.ignored_depth = 1 + + def groupViewEndHandler(self, name): + self.variable_scopes.pop() + if self.repeat_depth[-1]: + self.repeat_depth[-1] -= 1 + else: + self.repeat_depth.pop() + self.have_bounds.pop() + self.handlers.pop() + + def objectStartHandler(self, name, attrs): + if 'bounds' == name: + self.checkBounds(attrs) + elif 'orientation' == name: + self.checkOrientation(attrs) + self.ignored_depth = 1 + + def objectEndHandler(self, name): + self.have_bounds.pop() + self.have_orientation.pop() + self.handlers.pop() + + def setDocumentLocator(self, locator): + self.locator = locator + super(LayoutChecker, self).setDocumentLocator(locator) + + def startDocument(self): + self.handlers = [(self.rootStartHandler, self.rootEndHandler)] + self.ignored_depth = 0 + self.variable_scopes = [ ] + self.repeat_depth = [ ] + self.have_bounds = [ ] + self.have_orientation = [ ] + self.have_color = [ ] + self.generated_element_names = False + self.generated_group_names = False + super(LayoutChecker, self).startDocument() + + def endDocument(self): + self.locator = None + self.elements.clear() + self.groups.clear() + self.views.clear() + self.referenced_elements.clear() + self.referenced_groups.clear() + del self.handlers + del self.ignored_depth + del self.variable_scopes + del self.repeat_depth + del self.have_bounds + del self.have_orientation + del self.have_color + del self.generated_element_names + del self.generated_group_names + super(LayoutChecker, self).endDocument() + + def startElement(self, name, attrs): + if 0 < self.ignored_depth: + self.ignored_depth += 1 + else: + self.handlers[-1][0](name, attrs) + super(LayoutChecker, self).startElement(name, attrs) + + def endElement(self, name): + if 0 < self.ignored_depth: + self.ignored_depth -= 1 + else: + self.handlers[-1][1](name) + super(LayoutChecker, self).endElement(name) + + +def compressLayout(src, dst, comp): + state = [0, 0] + def write(block): + for ch in bytearray(block): + if 0 == state[0]: + dst('\t') + elif 0 == (state[0] % 32): + dst(',\n\t') + else: + dst(', ') + state[0] += 1 + dst('%3u' % (ch)) + + def output(text): + block = text.encode('UTF-8') + state[1] += len(block) + write(comp.compress(block)) + + error_handler = ErrorHandler() + content_handler = LayoutChecker(output) + parser = xml.sax.make_parser() + parser.setErrorHandler(error_handler) + parser.setContentHandler(content_handler) + try: + parser.parse(src) + write(comp.flush()) + dst('\n') + except xml.sax.SAXException as exception: + print('fatal error: %s' % (exception)) + raise XmlError('Fatal error parsing XML') + if (content_handler.errors > 0) or (error_handler.errors > 0) or (error_handler.warnings > 0): + raise XmlError('Error(s) and/or warning(s) parsing XML') + + return state[1], state[0] + + +class BlackHole(object): + def write(self, *args): + pass + def close(self): + pass + + +if __name__ == '__main__': + if (len(sys.argv) > 4) or (len(sys.argv) < 2): + print('Usage:') + print(' complay <source.lay> [<output.h> [<varname>]]') + sys.exit(0 if len(sys.argv) <= 1 else 1) + + srcfile = sys.argv[1] + dstfile = sys.argv[2] if len(sys.argv) >= 3 else None + if len(sys.argv) >= 4: + varname = sys.argv[3] + else: + varname = os.path.basename(srcfile) + base, ext = os.path.splitext(varname) + if ext.lower() == '.lay': + varname = base + varname = 'layout_' + re.sub('[^0-9A-Za-z_]', '_', varname) + + comp_type = 1 + try: + dst = open(dstfile,'w') if dstfile is not None else BlackHole() + dst.write('static const unsigned char %s_data[] = {\n' % (varname)) + byte_count, comp_size = compressLayout(srcfile, lambda x: dst.write(x), zlib.compressobj()) + dst.write('};\n\n') + dst.write('const internal_layout %s = {\n' % (varname)) + dst.write('\t%d, sizeof(%s_data), %d, %s_data\n' % (byte_count, varname, comp_type, varname)) + dst.write('};\n') + dst.close() + except XmlError: + dst.close() + if dstfile is not None: + os.remove(dstfile) + sys.exit(2) + except IOError: + sys.stderr.write("Unable to open output file '%s'\n" % dstfile) + dst.close() + if dstfile is not None: + os.remove(dstfile) + sys.exit(3) diff --git a/docs/release/scripts/build/file2str.py b/docs/release/scripts/build/file2str.py new file mode 100644 index 00000000000..7417f338328 --- /dev/null +++ b/docs/release/scripts/build/file2str.py @@ -0,0 +1,63 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Aaron Giles, Andrew Gardner + +from __future__ import with_statement + +import sys +import os + +if len(sys.argv) < 4: + print('Usage:') + print(' file2str <source.lay> <output.h> <varname> [<type>]') + print('') + print('The default <type> is char, with an assumed NULL terminator') + sys.exit(0) + +terminate = 1 +srcfile = sys.argv[1] +dstfile = sys.argv[2] +varname = sys.argv[3] + +if len(sys.argv) >= 5: + type = sys.argv[4] + terminate = 0 +else: + type = 'char' + +try: + myfile = open(srcfile, 'rb') +except IOError: + sys.stderr.write("Unable to open source file '%s'\n" % srcfile) + sys.exit(-1) + +byteCount = os.path.getsize(srcfile) +try: + dst = open(dstfile,'w') + dst.write('extern const %s %s[];\n' % ( type, varname )) + dst.write('const %s %s[] =\n{\n\t' % ( type, varname)) + offs = 0 + with open(srcfile, "rb") as src: + while True: + chunk = src.read(16) + if chunk: + for b in chunk: + # For Python 2.x compatibility. + if isinstance(b, str): + b = ord(b) + dst.write('0x%02x' % b) + offs += 1 + if offs != byteCount: + dst.write(',') + else: + break + if offs != byteCount: + dst.write('\n\t') + if terminate == 1: + dst.write(',0x00') + dst.write('\n};\n') + dst.close() +except IOError: + sys.stderr.write("Unable to open output file '%s'\n" % dstfile) + sys.exit(-1) diff --git a/docs/release/scripts/build/makedep.py b/docs/release/scripts/build/makedep.py new file mode 100644 index 00000000000..be885f1c6b0 --- /dev/null +++ b/docs/release/scripts/build/makedep.py @@ -0,0 +1,261 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Miodrag Milanovic + +from __future__ import with_statement + +import sys +## to ignore include of emu.h add it always to list + +files_included = ['src/emu/emu.h'] + +include_dirs = ['src/emu/', 'src/devices/', 'src/mame/', 'src/lib/'] + +mappings = dict() + +deps_files_included = [ ] + +deps_include_dirs = ['src/mame/'] + +components = [ ] + +drivers = [ ] + +def file_exists(root, srcfile, folder, inc_dir): + includes = [ folder ] + includes.extend(inc_dir) + for line in includes: + try: + fp = open(root + line + srcfile, 'r') + fp.close() + return line + srcfile + except IOError: + pass + return '' + +def add_c_if_exists(root, fullname): + try: + fp = open(root + fullname, 'r') + fp.close() + deps_files_included.append(fullname) + except IOError: + pass + +def add_rest_if_exists(root, srcfile,folder): + t = srcfile.rsplit('/', 2) + if t[1]=='includes': + t[2] = t[2].replace('.h','.cpp') + t[1] = 'drivers' + add_c_if_exists(root,"/".join(t)) + parse_file_for_deps(root, "/".join(t), folder) + t[1] = 'machine' + add_c_if_exists(root,"/".join(t)) + parse_file_for_deps(root, "/".join(t), folder) + t[1] = 'video' + add_c_if_exists(root,"/".join(t)) + parse_file_for_deps(root, "/".join(t), folder) + t[1] = 'audio' + add_c_if_exists(root,"/".join(t)) + parse_file_for_deps(root, "/".join(t), folder) + +def parse_file_for_deps(root, srcfile, folder): + try: + fp = open(root + srcfile, 'r') + except IOError: + return 1 + in_comment = 0 + linenum = 0 + for line in fp.readlines(): + content = '' + linenum+=1 + srcptr = 0 + while srcptr < len(line): + c = line[srcptr] + srcptr+=1 + if ord(c)==13 or ord(c)==10: + if ord(c)==13 and ord(line[srcptr])==10: + srcptr+=1 + continue + if c==' ' or ord(c)==9: + continue + if in_comment==1 and c=='*' and line[srcptr]=='/' : + srcptr+=1 + in_comment = 0 + continue + if in_comment: + continue + if c=='/' and line[srcptr]=='*' : + srcptr+=1 + in_comment = 1 + continue + if c=='/' and line[srcptr]=='/' : + break + content += c + content = content.strip() + if len(content)>0: + if content.startswith('#include'): + name = content[8:] + name = name.replace('"','') + fullname = file_exists(root, name, folder,deps_include_dirs) + if fullname in deps_files_included: + continue + if fullname!='': + deps_files_included.append(fullname) + add_c_if_exists(root, fullname.replace('.h','.cpp')) + add_rest_if_exists(root, fullname,folder) + newfolder = fullname.rsplit('/', 1)[0] + '/' + parse_file_for_deps(root, fullname, newfolder) + continue + fp.close() + return 0 + +def parse_file(root, srcfile, folder): + try: + fp = open(root + srcfile, 'r') + except IOError: + return 1 + in_comment = 0 + linenum = 0 + for line in fp.readlines(): + content = '' + linenum+=1 + srcptr = 0 + while srcptr < len(line): + c = line[srcptr] + srcptr+=1 + if ord(c)==13 or ord(c)==10: + if ord(c)==13 and ord(line[srcptr])==10: + srcptr+=1 + continue + if c==' ' or ord(c)==9: + continue + if in_comment==1 and c=='*' and line[srcptr]=='/' : + srcptr+=1 + in_comment = 0 + continue + if in_comment: + continue + if c=='/' and line[srcptr]=='*' : + srcptr+=1 + in_comment = 1 + continue + if c=='/' and line[srcptr]=='/' : + break + content += c + content = content.strip() + if len(content)>0: + if content.startswith('#include'): + name = content[8:] + name = name.replace('"','') + fullname = file_exists(root, name, folder,include_dirs) + if fullname in files_included: + continue + if "src/lib/netlist/" in fullname: + continue + if fullname!='': + if fullname in mappings.keys(): + if not(mappings[fullname] in components): + components.append(mappings[fullname]) + files_included.append(fullname) + newfolder = fullname.rsplit('/', 1)[0] + '/' + parse_file(root, fullname, newfolder) + if (fullname.endswith('.h') and not("src/emu" in fullname) and not("src/devices" in fullname) and not("src/lib" in fullname) and not("src/osd" in fullname)): + parse_file_for_deps(root, fullname.replace('.h','.cpp'), newfolder) + elif fullname.endswith('.h'): + parse_file(root, fullname.replace('.h','.cpp'), newfolder) + continue + fp.close() + return 0 + +def parse_file_for_drivers(root, srcfile): + srcfile = srcfile.replace('\\','/') + if srcfile.startswith('src/mame/drivers'): + splitname = srcfile.split('/', 4) + drivers.append(splitname[3]) + return 0 + +def parse_lua_file(srcfile): + try: + fp = open(srcfile, 'r') + except IOError: + sys.stderr.write("Unable to open source file '%s'\n" % srcfile) + return 1 + for line in fp.readlines(): + content = line.strip() + if len(content)>0: + if content.startswith('--@'): + name = content[3:] + mappings[name.rsplit(',', 1)[0]] = name.rsplit(',', 1)[1] + return 0 + +if len(sys.argv) < 5: + print('Usage:') + print(' makedep <root> <source.c> <type> <target>') + sys.exit(0) + +root = sys.argv[1] + '/' + +parse_lua_file(root +'scripts/src/bus.lua') +parse_lua_file(root +'scripts/src/cpu.lua') +parse_lua_file(root +'scripts/src/machine.lua') +parse_lua_file(root +'scripts/src/sound.lua') +parse_lua_file(root +'scripts/src/video.lua') +parse_lua_file(root +'scripts/src/formats.lua') + +for filename in sys.argv[2].rsplit(',') : + deps_files_included.append(filename.replace('\\','/')) + parse_file_for_deps(root,filename,'') + +for filename in deps_files_included: + parse_file(root,filename,'') + +for filename in sys.argv[2].rsplit(',') : + parse_file_for_drivers(root,filename) + +# display output +if sys.argv[3]=='drivers': + #output the list of externs first + for drv in sorted(drivers): + print(drv) + print("") + +if sys.argv[3]=='target': + for line in components: + sys.stdout.write("%s\n" % line) + sys.stdout.write('\n') + sys.stdout.write('function createProjects_mame_%s(_target, _subtarget)\n' % sys.argv[4]) + sys.stdout.write(' project ("mame_%s")\n' % sys.argv[4]) + sys.stdout.write(' targetsubdir(_target .."_" .. _subtarget)\n') + sys.stdout.write(' kind (LIBTYPE)\n') + sys.stdout.write(' uuid (os.uuid("drv-mame-%s"))\n' % sys.argv[4]) + sys.stdout.write(' addprojectflags()\n') + sys.stdout.write(' \n') + sys.stdout.write(' includedirs {\n') + sys.stdout.write(' MAME_DIR .. "src/osd",\n') + sys.stdout.write(' MAME_DIR .. "src/emu",\n') + sys.stdout.write(' MAME_DIR .. "src/devices",\n') + sys.stdout.write(' MAME_DIR .. "src/mame",\n') + sys.stdout.write(' MAME_DIR .. "src/lib",\n') + sys.stdout.write(' MAME_DIR .. "src/lib/util",\n') + sys.stdout.write(' MAME_DIR .. "src/lib/netlist",\n') + sys.stdout.write(' MAME_DIR .. "3rdparty",\n') + sys.stdout.write(' GEN_DIR .. "mame/layout",\n') + sys.stdout.write(' ext_includedir("flac"),\n') + sys.stdout.write(' ext_includedir("glm"),\n') + sys.stdout.write(' ext_includedir("jpeg"),\n') + sys.stdout.write(' ext_includedir("rapidjson"),\n') + sys.stdout.write(' ext_includedir("zlib"),\n') + sys.stdout.write(' }\n') + sys.stdout.write('\n') + sys.stdout.write(' files{\n') + for line in deps_files_included: + sys.stdout.write(' MAME_DIR .. "%s",\n' % line) + sys.stdout.write(' }\n') + sys.stdout.write('end\n') + sys.stdout.write('\n') + sys.stdout.write('function linkProjects_mame_%s(_target, _subtarget)\n' % sys.argv[4]) + sys.stdout.write(' links {\n') + sys.stdout.write(' "mame_%s",\n' % sys.argv[4]) + sys.stdout.write(' }\n') + sys.stdout.write('end\n') diff --git a/docs/release/scripts/build/makelist.py b/docs/release/scripts/build/makelist.py new file mode 100644 index 00000000000..1a27a515e04 --- /dev/null +++ b/docs/release/scripts/build/makelist.py @@ -0,0 +1,167 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Aaron Giles, Andrew Gardner + +from __future__ import with_statement + +import sys + +drivlist = [] +sourcelist = [] +filter_addlist = [] +filter_removelist = [] + +def parse_file(srcfile): + try: + fp = open(srcfile, 'rt') + except IOError: + sys.stderr.write("Unable to open source file '%s'\n" % srcfile) + return 1 + in_comment = 0 + linenum = 0 + curr_source = '' + for line in fp.readlines(): + drivname = '' + linenum+=1 + srcptr = 0 + while srcptr < len(line): + c = line[srcptr] + srcptr+=1 + if c==13 or c==10: + if c==13 and line[srcptr]==10: + srcptr+=1 + continue + if c==' ' or c==9: + continue + if in_comment==1 and c=='*' and line[srcptr]=='/' : + srcptr+=1 + in_comment = 0 + continue + if in_comment: + continue + if c=='/' and line[srcptr]=='*' : + srcptr+=1 + in_comment = 1 + continue + if c=='/' and line[srcptr]=='/' : + break + drivname += c + drivname = drivname.strip() + if len(drivname)>0: + if drivname[0]=='#': + sys.stderr.write("Importing drivers from '%s'\n" % drivname[1:]) + parse_file(drivname[1:]) + continue + if drivname[0]=='@': + curr_source= drivname[8:] + continue + if not all(((c >='a' and c<='z') or (c>='0' and c<='9') or c=='_') for c in drivname): + sys.stderr.write("%s:%d - Invalid character in driver \"%s\"\n" % (srcfile, linenum, drivname)) + return 1 + else: + if (curr_source == '') or (len(sourcelist)==0) or (curr_source in sourcelist): + drivlist.append(drivname) + return 0 + +def parse_filter_file(srcfile): + try: + fp = open(srcfile, 'rt') + except IOError: + sys.stderr.write("Unable to open filter file '%s'\n" % srcfile) + return 1 + in_comment = 0 + linenum = 0 + for line in fp.readlines(): + sourcename = '' + linenum+=1 + srcptr = 0 + while srcptr < len(line): + c = line[srcptr] + srcptr+=1 + if c==13 or c==10: + if c==13 and line[srcptr]==10: + srcptr+=1 + continue + if c==' ' or c==9: + continue + if in_comment==1 and c=='*' and line[srcptr]=='/' : + srcptr+=1 + in_comment = 0 + continue + if in_comment: + continue + if c=='/' and line[srcptr]=='*' : + srcptr+=1 + in_comment = 1 + continue + if c=='/' and line[srcptr]=='/' : + break + sourcename += c + sourcename = sourcename.strip() + if len(sourcename)>0: + if sourcename[0]=='#': + sys.stderr.write("Importing drivers from '%s'\n" % sourcename[1:]) + parse_filter_file(sourcename[1:]) + continue + if sourcename[0]=='+': + filter_addlist.append(sourcename[1:]) + continue + if sourcename[0]=='-': + filter_removelist.append(sourcename[1:]) + continue + if not all(((c >='a' and c<='z') or (c>='0' and c<='9') or c=='_' or c=='.' or c=='-') for c in sourcename): + sys.stderr.write("%s:%d - Invalid character in driver \"%s\"\n" % (srcfile, linenum, sourcename)) + return 1 + else: + sourcelist.append(sourcename) + return 0 + + +if len(sys.argv) < 2 or len(sys.argv) > 3: + print('Usage:') + print(' makelist <source.lst> [<filter.flt>]') + sys.exit(0) + +if len(sys.argv) == 3: + if parse_filter_file(sys.argv[2]) : + sys.exit(1) + sys.stderr.write("%d source file(s) found\n" % len(sourcelist)) + +if parse_file(sys.argv[1]) : + sys.exit(1) + +# output a count +if len(drivlist)==0 : + sys.stderr.write("No drivers found\n") + sys.exit(1) + +for x in filter_addlist: + drivlist.append(x) + +drivlist = [x for x in drivlist if (x not in filter_removelist)] + +sys.stderr.write("%d driver(s) found\n" % len(drivlist)) + +# add a reference to the ___empty driver +drivlist.append("___empty") + +# start with a header +print('#include "emu.h"\n') +print('#include "drivenum.h"\n') + +#output the list of externs first +for drv in sorted(drivlist): + print("GAME_EXTERN(%s);" % drv) +print("") + +# then output the array +print("const game_driver * const driver_list::s_drivers_sorted[%d] =" % len(drivlist)) +print("{") +for drv in sorted(drivlist): + print("\t&GAME_NAME(%s)," % drv) +print("};") +print("") + +# also output a global count +print("std::size_t const driver_list::s_driver_count = %d;\n" % len(drivlist)) diff --git a/docs/release/scripts/build/msgfmt.py b/docs/release/scripts/build/msgfmt.py new file mode 100644 index 00000000000..deb02ae32b2 --- /dev/null +++ b/docs/release/scripts/build/msgfmt.py @@ -0,0 +1,291 @@ +#! /usr/bin/env python +# -*- coding: utf-8 -*- +# Written by Martin v. Löwis <loewis@informatik.hu-berlin.de> + +"""Generate binary message catalog from textual translation description. + +This program converts a textual Uniforum-style message catalog (.po file) into +a binary GNU catalog (.mo file). This is essentially the same function as the +GNU msgfmt program, however, it is a simpler implementation. + +Usage: msgfmt.py [OPTIONS] filename.po + +Options: + -o file + --output-file=file + Specify the output file to write to. If omitted, output will go to a + file named filename.mo (based off the input file name). + + -h + --help + Print this message and exit. + + -V + --version + Display version information and exit. +""" + +from __future__ import print_function +import os +import sys +import getopt +import struct +import array +import re +import codecs +from email.parser import HeaderParser + +__version__ = "1.2" + +MESSAGES = {} + + + +def usage(code, msg=''): + print(__doc__, file=sys.stderr) + if msg: + print(msg, file=sys.stderr) + sys.exit(code) + + + +def add(id, str, fuzzy): + "Add a non-fuzzy translation to the dictionary." + global MESSAGES + if not fuzzy and str: + MESSAGES[id] = str + +def dequote(s): + if (s[0] == s[-1]) and s.startswith(("'", '"')): + return s[1:-1] + return s + +# decode_escapes from http://stackoverflow.com/a/24519338 +ESCAPE_SEQUENCE_RE = re.compile(r''' + ( \\U........ # 8-digit hex escapes + | \\u.... # 4-digit hex escapes + | \\x.. # 2-digit hex escapes + | \\[0-7]{1,3} # Octal escapes + | \\N\{[^}]+\} # Unicode characters by name + | \\[\\'"abfnrtv] # Single-character escapes + )''', re.UNICODE | re.VERBOSE) + +def decode_escapes(s): + def decode_match(match): + return codecs.decode(match.group(0), 'unicode-escape') + + return ESCAPE_SEQUENCE_RE.sub(decode_match, s) + + +def generate(): + "Return the generated output." + global MESSAGES + # the keys are sorted in the .mo file + keys = sorted(MESSAGES.keys()) + offsets = [] + ids = strs = b'' + for id in keys: + # For each string, we need size and file offset. Each string is NUL + # terminated; the NUL does not count into the size. + offsets.append((len(ids), len(id), len(strs), len(MESSAGES[id]))) + ids += id + b'\0' + strs += MESSAGES[id] + b'\0' + output = '' + # The header is 7 32-bit unsigned integers. We don't use hash tables, so + # the keys start right after the index tables. + # translated string. + keystart = 7*4+16*len(keys) + # and the values start after the keys + valuestart = keystart + len(ids) + koffsets = [] + voffsets = [] + # The string table first has the list of keys, then the list of values. + # Each entry has first the size of the string, then the file offset. + for o1, l1, o2, l2 in offsets: + koffsets += [l1, o1+keystart] + voffsets += [l2, o2+valuestart] + offsets = koffsets + voffsets + output = struct.pack("Iiiiiii", + 0x950412de, # Magic + 0, # Version + len(keys), # # of entries + 7*4, # start of key index + 7*4+len(keys)*8, # start of value index + 0, 0) # size and offset of hash table + output += array.array("i", offsets).tostring() + output += ids + output += strs + return output + + + +def make(filename, outfile): + ID = 1 + STR = 2 + + # Compute .mo name from .po name and arguments + if filename.endswith('.po'): + infile = filename + else: + infile = filename + '.po' + if outfile is None: + outfile = os.path.splitext(infile)[0] + '.mo' + + try: + lines = open(infile, 'rb').readlines() + except IOError as msg: + print(msg, file=sys.stderr) + sys.exit(1) + + section = None + fuzzy = 0 + empty = 0 + header_attempted = False + + # Start off assuming Latin-1, so everything decodes without failure, + # until we know the exact encoding + encoding = 'latin-1' + + # Start off assuming Latin-1, so everything decodes without failure, + # until we know the exact encoding + encoding = 'latin-1' + + # Parse the catalog + for lno, l in enumerate(lines): + l = l.decode(encoding) + # If we get a comment line after a msgstr, this is a new entry + if l[0] == '#' and section == STR: + add(msgid, msgstr, fuzzy) + section = None + fuzzy = 0 + # Record a fuzzy mark + if l[:2] == '#,' and 'fuzzy' in l: + fuzzy = 1 + # Skip comments + if l[0] == '#': + continue + # Now we are in a msgid section, output previous section + if l.startswith('msgid') and not l.startswith('msgid_plural'): + if section == STR: + add(msgid, msgstr, fuzzy) + if not msgid: + # See whether there is an encoding declaration + p = HeaderParser() + charset = p.parsestr(msgstr.decode(encoding)).get_content_charset() + if charset: + encoding = charset + section = ID + l = l[5:] + msgid = msgstr = b'' + is_plural = False + if l.strip() == '""': + # Check if next line is msgstr. If so, this is a multiline msgid. + if lines[lno+1].decode(encoding).startswith('msgstr'): + # If this is the first empty msgid and is followed by msgstr, this is the header, which may contain the encoding declaration. + # Otherwise this file is not valid + if empty > 1: + print("Found multiple empty msgids on line " + str(lno) + ", not valid!") + empty += 1 + # This is a message with plural forms + elif l.startswith('msgid_plural'): + if section != ID: + print('msgid_plural not preceded by msgid on %s:%d' % (infile, lno), + file=sys.stderr) + sys.exit(1) + l = l[12:] + msgid += b'\0' # separator of singular and plural + is_plural = True + # Now we are in a msgstr section + elif l.startswith('msgstr'): + section = STR + if l.startswith('msgstr['): + if not is_plural: + print('plural without msgid_plural on %s:%d' % (infile, lno), + file=sys.stderr) + sys.exit(1) + l = l.split(']', 1)[1] + if msgstr: + msgstr += b'\0' # Separator of the various plural forms + else: + if (l[6:].strip() == '""') and (empty == 1) and (not header_attempted): + header = "" + # parse up until next empty line = end of header + hdrno = lno + while(hdrno < len(lines)-1): + # This is a roundabout way to strip non-ASCII unicode characters from the header. + # As we are only parsing out the encoding, we don't need any unicode chars in it. + l = lines[hdrno+1].decode('unicode_escape').encode('ascii','ignore').decode(encoding) + if l.strip(): + header += decode_escapes(dequote(l.strip())) + else: + break + hdrno += 1 + # See whether there is an encoding declaration + if(hdrno > lno): + p = HeaderParser() + charset = p.parsestr(str(header)).get_content_charset() + header_attempted = True + if charset: + encoding = charset + if is_plural: + print('indexed msgstr required for plural on %s:%d' % (infile, lno), + file=sys.stderr) + sys.exit(1) + l = l[6:] + # Skip empty lines + l = l.strip() + if not l: + continue + l = decode_escapes(dequote(l)) # strip quotes and replace newlines if present + if section == ID: + msgid += l.encode(encoding) + elif section == STR: + msgstr += l.encode(encoding) + else: + print('Syntax error on %s:%d' % (infile, lno), \ + 'before:', file=sys.stderr) + print(l, file=sys.stderr) + sys.exit(1) + # Add last entry + if section == STR: + add(msgid, msgstr, fuzzy) + + # Compute output + output = generate() + + try: + open(outfile,"wb").write(output) + except IOError as msg: + print(msg, file=sys.stderr) + + + +def main(): + try: + opts, args = getopt.getopt(sys.argv[1:], 'hVo:', + ['help', 'version', 'output-file=']) + except getopt.error as msg: + usage(1, msg) + + outfile = None + # parse options + for opt, arg in opts: + if opt in ('-h', '--help'): + usage(0) + elif opt in ('-V', '--version'): + print("msgfmt.py", __version__) + sys.exit(0) + elif opt in ('-o', '--output-file'): + outfile = arg + # do it + if not args: + print('No input file given', file=sys.stderr) + print("Try `msgfmt --help' for more information.", file=sys.stderr) + return + + for filename in args: + make(filename, outfile) + + +if __name__ == '__main__': + main() diff --git a/docs/release/scripts/build/png.py b/docs/release/scripts/build/png.py new file mode 100644 index 00000000000..76798443669 --- /dev/null +++ b/docs/release/scripts/build/png.py @@ -0,0 +1,2782 @@ +#!/usr/bin/env python + +# png.py - PNG encoder/decoder in pure Python +# +# Copyright (C) 2006 Johann C. Rocholl <johann@browsershots.org> +# Portions Copyright (C) 2009 David Jones <drj@pobox.com> +# And probably portions Copyright (C) 2006 Nicko van Someren <nicko@nicko.org> +# +# Original concept by Johann C. Rocholl. +# +# LICENCE (MIT) +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +""" +Pure Python PNG Reader/Writer + +This Python module implements support for PNG images (see PNG +specification at http://www.w3.org/TR/2003/REC-PNG-20031110/ ). It reads +and writes PNG files with all allowable bit depths +(1/2/4/8/16/24/32/48/64 bits per pixel) and colour combinations: +greyscale (1/2/4/8/16 bit); RGB, RGBA, LA (greyscale with alpha) with +8/16 bits per channel; colour mapped images (1/2/4/8 bit). +Adam7 interlacing is supported for reading and +writing. A number of optional chunks can be specified (when writing) +and understood (when reading): ``tRNS``, ``bKGD``, ``gAMA``. + +For help, type ``import png; help(png)`` in your python interpreter. + +A good place to start is the :class:`Reader` and :class:`Writer` +classes. + +Requires Python 2.3. Limited support is available for Python 2.2, but +not everything works. Best with Python 2.4 and higher. Installation is +trivial, but see the ``README.txt`` file (with the source distribution) +for details. + +This file can also be used as a command-line utility to convert +`Netpbm <http://netpbm.sourceforge.net/>`_ PNM files to PNG, and the +reverse conversion from PNG to PNM. The interface is similar to that +of the ``pnmtopng`` program from Netpbm. Type ``python png.py --help`` +at the shell prompt for usage and a list of options. + +A note on spelling and terminology +---------------------------------- + +Generally British English spelling is used in the documentation. So +that's "greyscale" and "colour". This not only matches the author's +native language, it's also used by the PNG specification. + +The major colour models supported by PNG (and hence by PyPNG) are: +greyscale, RGB, greyscale--alpha, RGB--alpha. These are sometimes +referred to using the abbreviations: L, RGB, LA, RGBA. In this case +each letter abbreviates a single channel: *L* is for Luminance or Luma +or Lightness which is the channel used in greyscale images; *R*, *G*, +*B* stand for Red, Green, Blue, the components of a colour image; *A* +stands for Alpha, the opacity channel (used for transparency effects, +but higher values are more opaque, so it makes sense to call it +opacity). + +A note on formats +----------------- + +When getting pixel data out of this module (reading) and presenting +data to this module (writing) there are a number of ways the data could +be represented as a Python value. Generally this module uses one of +three formats called "flat row flat pixel", "boxed row flat pixel", and +"boxed row boxed pixel". Basically the concern is whether each pixel +and each row comes in its own little tuple (box), or not. + +Consider an image that is 3 pixels wide by 2 pixels high, and each pixel +has RGB components: + +Boxed row flat pixel:: + + list([R,G,B, R,G,B, R,G,B], + [R,G,B, R,G,B, R,G,B]) + +Each row appears as its own list, but the pixels are flattened so +that three values for one pixel simply follow the three values for +the previous pixel. This is the most common format used, because it +provides a good compromise between space and convenience. PyPNG regards +itself as at liberty to replace any sequence type with any sufficiently +compatible other sequence type; in practice each row is an array (from +the array module), and the outer list is sometimes an iterator rather +than an explicit list (so that streaming is possible). + +Flat row flat pixel:: + + [R,G,B, R,G,B, R,G,B, + R,G,B, R,G,B, R,G,B] + +The entire image is one single giant sequence of colour values. +Generally an array will be used (to save space), not a list. + +Boxed row boxed pixel:: + + list([ (R,G,B), (R,G,B), (R,G,B) ], + [ (R,G,B), (R,G,B), (R,G,B) ]) + +Each row appears in its own list, but each pixel also appears in its own +tuple. A serious memory burn in Python. + +In all cases the top row comes first, and for each row the pixels are +ordered from left-to-right. Within a pixel the values appear in the +order, R-G-B-A (or L-A for greyscale--alpha). + +There is a fourth format, mentioned because it is used internally, +is close to what lies inside a PNG file itself, and has some support +from the public API. This format is called packed. When packed, +each row is a sequence of bytes (integers from 0 to 255), just as +it is before PNG scanline filtering is applied. When the bit depth +is 8 this is essentially the same as boxed row flat pixel; when the +bit depth is less than 8, several pixels are packed into each byte; +when the bit depth is 16 (the only value more than 8 that is supported +by the PNG image format) each pixel value is decomposed into 2 bytes +(and `packed` is a misnomer). This format is used by the +:meth:`Writer.write_packed` method. It isn't usually a convenient +format, but may be just right if the source data for the PNG image +comes from something that uses a similar format (for example, 1-bit +BMPs, or another PNG file). + +And now, my famous members +-------------------------- +""" + +# http://www.python.org/doc/2.2.3/whatsnew/node5.html +from __future__ import generators,print_function + +__version__ = "0.0.17" + +from array import array +try: + from itertools import imap +except ImportError: + imap = map +import math +# http://www.python.org/doc/2.4.4/lib/module-operator.html +import operator +import struct +import sys +import zlib +# http://www.python.org/doc/2.4.4/lib/module-warnings.html +import warnings +try: + # `cpngfilters` is a Cython module: it must be compiled by + # Cython for this import to work. + # If this import does work, then it overrides pure-python + # filtering functions defined later in this file (see `class + # pngfilters`). + import cpngfilters as pngfilters +except ImportError: + pass + + +__all__ = ['Image', 'Reader', 'Writer', 'write_chunks', 'from_array'] + + +# The PNG signature. +# http://www.w3.org/TR/PNG/#5PNG-file-signature +_signature = struct.pack('8B', 137, 80, 78, 71, 13, 10, 26, 10) + +_adam7 = ((0, 0, 8, 8), + (4, 0, 8, 8), + (0, 4, 4, 8), + (2, 0, 4, 4), + (0, 2, 2, 4), + (1, 0, 2, 2), + (0, 1, 1, 2)) + +def group(s, n): + # See http://www.python.org/doc/2.6/library/functions.html#zip + return zip(*[iter(s)]*n) + +def isarray(x): + """Same as ``isinstance(x, array)`` except on Python 2.2, where it + always returns ``False``. This helps PyPNG work on Python 2.2. + """ + + try: + return isinstance(x, array) + except TypeError: + # Because on Python 2.2 array.array is not a type. + return False + +try: + array.tobytes +except AttributeError: + try: # see :pyver:old + array.tostring + except AttributeError: + def tostring(row): + l = len(row) + return struct.pack('%dB' % l, *row) + else: + def tostring(row): + """Convert row of bytes to string. Expects `row` to be an + ``array``. + """ + return row.tostring() +else: + def tostring(row): + """ Python3 definition, array.tostring() is deprecated in Python3 + """ + return row.tobytes() + +# Conditionally convert to bytes. Works on Python 2 and Python 3. +try: + bytes('', 'ascii') + def strtobytes(x): return bytes(x, 'iso8859-1') + def bytestostr(x): return str(x, 'iso8859-1') +except (NameError, TypeError): + # We get NameError when bytes() does not exist (most Python + # 2.x versions), and TypeError when bytes() exists but is on + # Python 2.x (when it is an alias for str() and takes at most + # one argument). + strtobytes = str + bytestostr = str + +def interleave_planes(ipixels, apixels, ipsize, apsize): + """ + Interleave (colour) planes, e.g. RGB + A = RGBA. + + Return an array of pixels consisting of the `ipsize` elements of + data from each pixel in `ipixels` followed by the `apsize` elements + of data from each pixel in `apixels`. Conventionally `ipixels` + and `apixels` are byte arrays so the sizes are bytes, but it + actually works with any arrays of the same type. The returned + array is the same type as the input arrays which should be the + same type as each other. + """ + + itotal = len(ipixels) + atotal = len(apixels) + newtotal = itotal + atotal + newpsize = ipsize + apsize + # Set up the output buffer + # See http://www.python.org/doc/2.4.4/lib/module-array.html#l2h-1356 + out = array(ipixels.typecode) + # It's annoying that there is no cheap way to set the array size :-( + out.extend(ipixels) + out.extend(apixels) + # Interleave in the pixel data + for i in range(ipsize): + out[i:newtotal:newpsize] = ipixels[i:itotal:ipsize] + for i in range(apsize): + out[i+ipsize:newtotal:newpsize] = apixels[i:atotal:apsize] + return out + +def check_palette(palette): + """Check a palette argument (to the :class:`Writer` class) + for validity. Returns the palette as a list if okay; raises an + exception otherwise. + """ + + # None is the default and is allowed. + if palette is None: + return None + + p = list(palette) + if not (0 < len(p) <= 256): + raise ValueError("a palette must have between 1 and 256 entries") + seen_triple = False + for i,t in enumerate(p): + if len(t) not in (3,4): + raise ValueError( + "palette entry %d: entries must be 3- or 4-tuples." % i) + if len(t) == 3: + seen_triple = True + if seen_triple and len(t) == 4: + raise ValueError( + "palette entry %d: all 4-tuples must precede all 3-tuples" % i) + for x in t: + if int(x) != x or not(0 <= x <= 255): + raise ValueError( + "palette entry %d: values must be integer: 0 <= x <= 255" % i) + return p + +def check_sizes(size, width, height): + """Check that these arguments, in supplied, are consistent. + Return a (width, height) pair. + """ + + if not size: + return width, height + + if len(size) != 2: + raise ValueError( + "size argument should be a pair (width, height)") + if width is not None and width != size[0]: + raise ValueError( + "size[0] (%r) and width (%r) should match when both are used." + % (size[0], width)) + if height is not None and height != size[1]: + raise ValueError( + "size[1] (%r) and height (%r) should match when both are used." + % (size[1], height)) + return size + +def check_color(c, greyscale, which): + """Checks that a colour argument for transparent or + background options is the right form. Returns the colour + (which, if it's a bar integer, is "corrected" to a 1-tuple). + """ + + if c is None: + return c + if greyscale: + try: + len(c) + except TypeError: + c = (c,) + if len(c) != 1: + raise ValueError("%s for greyscale must be 1-tuple" % + which) + if not isinteger(c[0]): + raise ValueError( + "%s colour for greyscale must be integer" % which) + else: + if not (len(c) == 3 and + isinteger(c[0]) and + isinteger(c[1]) and + isinteger(c[2])): + raise ValueError( + "%s colour must be a triple of integers" % which) + return c + +class Error(Exception): + def __str__(self): + return self.__class__.__name__ + ': ' + ' '.join(self.args) + +class FormatError(Error): + """Problem with input file format. In other words, PNG file does + not conform to the specification in some way and is invalid. + """ + +class ChunkError(FormatError): + pass + + +class Writer: + """ + PNG encoder in pure Python. + """ + + def __init__(self, width=None, height=None, + size=None, + greyscale=False, + alpha=False, + bitdepth=8, + palette=None, + transparent=None, + background=None, + gamma=None, + compression=None, + interlace=False, + bytes_per_sample=None, # deprecated + planes=None, + colormap=None, + maxval=None, + chunk_limit=2**20, + x_pixels_per_unit = None, + y_pixels_per_unit = None, + unit_is_meter = False): + """ + Create a PNG encoder object. + + Arguments: + + width, height + Image size in pixels, as two separate arguments. + size + Image size (w,h) in pixels, as single argument. + greyscale + Input data is greyscale, not RGB. + alpha + Input data has alpha channel (RGBA or LA). + bitdepth + Bit depth: from 1 to 16. + palette + Create a palette for a colour mapped image (colour type 3). + transparent + Specify a transparent colour (create a ``tRNS`` chunk). + background + Specify a default background colour (create a ``bKGD`` chunk). + gamma + Specify a gamma value (create a ``gAMA`` chunk). + compression + zlib compression level: 0 (none) to 9 (more compressed); + default: -1 or None. + interlace + Create an interlaced image. + chunk_limit + Write multiple ``IDAT`` chunks to save memory. + x_pixels_per_unit (pHYs chunk) + Number of pixels a unit along the x axis + y_pixels_per_unit (pHYs chunk) + Number of pixels a unit along the y axis + With x_pixel_unit, give the pixel size ratio + unit_is_meter (pHYs chunk) + Indicates if unit is meter or not + + The image size (in pixels) can be specified either by using the + `width` and `height` arguments, or with the single `size` + argument. If `size` is used it should be a pair (*width*, + *height*). + + `greyscale` and `alpha` are booleans that specify whether + an image is greyscale (or colour), and whether it has an + alpha channel (or not). + + `bitdepth` specifies the bit depth of the source pixel values. + Each source pixel value must be an integer between 0 and + ``2**bitdepth-1``. For example, 8-bit images have values + between 0 and 255. PNG only stores images with bit depths of + 1,2,4,8, or 16. When `bitdepth` is not one of these values, + the next highest valid bit depth is selected, and an ``sBIT`` + (significant bits) chunk is generated that specifies the + original precision of the source image. In this case the + supplied pixel values will be rescaled to fit the range of + the selected bit depth. + + The details of which bit depth / colour model combinations the + PNG file format supports directly, are somewhat arcane + (refer to the PNG specification for full details). Briefly: + "small" bit depths (1,2,4) are only allowed with greyscale and + colour mapped images; colour mapped images cannot have bit depth + 16. + + For colour mapped images (in other words, when the `palette` + argument is specified) the `bitdepth` argument must match one of + the valid PNG bit depths: 1, 2, 4, or 8. (It is valid to have a + PNG image with a palette and an ``sBIT`` chunk, but the meaning + is slightly different; it would be awkward to press the + `bitdepth` argument into service for this.) + + The `palette` option, when specified, causes a colour mapped + image to be created: the PNG colour type is set to 3; greyscale + must not be set; alpha must not be set; transparent must not be + set; the bit depth must be 1,2,4, or 8. When a colour mapped + image is created, the pixel values are palette indexes and + the `bitdepth` argument specifies the size of these indexes + (not the size of the colour values in the palette). + + The palette argument value should be a sequence of 3- or + 4-tuples. 3-tuples specify RGB palette entries; 4-tuples + specify RGBA palette entries. If both 4-tuples and 3-tuples + appear in the sequence then all the 4-tuples must come + before all the 3-tuples. A ``PLTE`` chunk is created; if there + are 4-tuples then a ``tRNS`` chunk is created as well. The + ``PLTE`` chunk will contain all the RGB triples in the same + sequence; the ``tRNS`` chunk will contain the alpha channel for + all the 4-tuples, in the same sequence. Palette entries + are always 8-bit. + + If specified, the `transparent` and `background` parameters must + be a tuple with three integer values for red, green, blue, or + a simple integer (or singleton tuple) for a greyscale image. + + If specified, the `gamma` parameter must be a positive number + (generally, a float). A ``gAMA`` chunk will be created. + Note that this will not change the values of the pixels as + they appear in the PNG file, they are assumed to have already + been converted appropriately for the gamma specified. + + The `compression` argument specifies the compression level to + be used by the ``zlib`` module. Values from 1 to 9 specify + compression, with 9 being "more compressed" (usually smaller + and slower, but it doesn't always work out that way). 0 means + no compression. -1 and ``None`` both mean that the default + level of compession will be picked by the ``zlib`` module + (which is generally acceptable). + + If `interlace` is true then an interlaced image is created + (using PNG's so far only interace method, *Adam7*). This does + not affect how the pixels should be presented to the encoder, + rather it changes how they are arranged into the PNG file. + On slow connexions interlaced images can be partially decoded + by the browser to give a rough view of the image that is + successively refined as more image data appears. + + .. note :: + + Enabling the `interlace` option requires the entire image + to be processed in working memory. + + `chunk_limit` is used to limit the amount of memory used whilst + compressing the image. In order to avoid using large amounts of + memory, multiple ``IDAT`` chunks may be created. + """ + + # At the moment the `planes` argument is ignored; + # its purpose is to act as a dummy so that + # ``Writer(x, y, **info)`` works, where `info` is a dictionary + # returned by Reader.read and friends. + # Ditto for `colormap`. + + width, height = check_sizes(size, width, height) + del size + + if width <= 0 or height <= 0: + raise ValueError("width and height must be greater than zero") + if not isinteger(width) or not isinteger(height): + raise ValueError("width and height must be integers") + # http://www.w3.org/TR/PNG/#7Integers-and-byte-order + if width > 2**32-1 or height > 2**32-1: + raise ValueError("width and height cannot exceed 2**32-1") + + if alpha and transparent is not None: + raise ValueError( + "transparent colour not allowed with alpha channel") + + if bytes_per_sample is not None: + warnings.warn('please use bitdepth instead of bytes_per_sample', + DeprecationWarning) + if bytes_per_sample not in (0.125, 0.25, 0.5, 1, 2): + raise ValueError( + "bytes per sample must be .125, .25, .5, 1, or 2") + bitdepth = int(8*bytes_per_sample) + del bytes_per_sample + if not isinteger(bitdepth) or bitdepth < 1 or 16 < bitdepth: + raise ValueError("bitdepth (%r) must be a positive integer <= 16" % + bitdepth) + + self.rescale = None + palette = check_palette(palette) + if palette: + if bitdepth not in (1,2,4,8): + raise ValueError("with palette, bitdepth must be 1, 2, 4, or 8") + if transparent is not None: + raise ValueError("transparent and palette not compatible") + if alpha: + raise ValueError("alpha and palette not compatible") + if greyscale: + raise ValueError("greyscale and palette not compatible") + else: + # No palette, check for sBIT chunk generation. + if alpha or not greyscale: + if bitdepth not in (8,16): + targetbitdepth = (8,16)[bitdepth > 8] + self.rescale = (bitdepth, targetbitdepth) + bitdepth = targetbitdepth + del targetbitdepth + else: + assert greyscale + assert not alpha + if bitdepth not in (1,2,4,8,16): + if bitdepth > 8: + targetbitdepth = 16 + elif bitdepth == 3: + targetbitdepth = 4 + else: + assert bitdepth in (5,6,7) + targetbitdepth = 8 + self.rescale = (bitdepth, targetbitdepth) + bitdepth = targetbitdepth + del targetbitdepth + + if bitdepth < 8 and (alpha or not greyscale and not palette): + raise ValueError( + "bitdepth < 8 only permitted with greyscale or palette") + if bitdepth > 8 and palette: + raise ValueError( + "bit depth must be 8 or less for images with palette") + + transparent = check_color(transparent, greyscale, 'transparent') + background = check_color(background, greyscale, 'background') + + # It's important that the true boolean values (greyscale, alpha, + # colormap, interlace) are converted to bool because Iverson's + # convention is relied upon later on. + self.width = width + self.height = height + self.transparent = transparent + self.background = background + self.gamma = gamma + self.greyscale = bool(greyscale) + self.alpha = bool(alpha) + self.colormap = bool(palette) + self.bitdepth = int(bitdepth) + self.compression = compression + self.chunk_limit = chunk_limit + self.interlace = bool(interlace) + self.palette = palette + self.x_pixels_per_unit = x_pixels_per_unit + self.y_pixels_per_unit = y_pixels_per_unit + self.unit_is_meter = bool(unit_is_meter) + + self.color_type = 4*self.alpha + 2*(not greyscale) + 1*self.colormap + assert self.color_type in (0,2,3,4,6) + + self.color_planes = (3,1)[self.greyscale or self.colormap] + self.planes = self.color_planes + self.alpha + # :todo: fix for bitdepth < 8 + self.psize = (self.bitdepth/8) * self.planes + + def make_palette(self): + """Create the byte sequences for a ``PLTE`` and if necessary a + ``tRNS`` chunk. Returned as a pair (*p*, *t*). *t* will be + ``None`` if no ``tRNS`` chunk is necessary. + """ + + p = array('B') + t = array('B') + + for x in self.palette: + p.extend(x[0:3]) + if len(x) > 3: + t.append(x[3]) + p = tostring(p) + t = tostring(t) + if t: + return p,t + return p,None + + def write(self, outfile, rows): + """Write a PNG image to the output file. `rows` should be + an iterable that yields each row in boxed row flat pixel + format. The rows should be the rows of the original image, + so there should be ``self.height`` rows of ``self.width * + self.planes`` values. If `interlace` is specified (when + creating the instance), then an interlaced PNG file will + be written. Supply the rows in the normal image order; + the interlacing is carried out internally. + + .. note :: + + Interlacing will require the entire image to be in working + memory. + """ + + if self.interlace: + fmt = 'BH'[self.bitdepth > 8] + a = array(fmt, itertools.chain(*rows)) + return self.write_array(outfile, a) + + nrows = self.write_passes(outfile, rows) + if nrows != self.height: + raise ValueError( + "rows supplied (%d) does not match height (%d)" % + (nrows, self.height)) + + def write_passes(self, outfile, rows, packed=False): + """ + Write a PNG image to the output file. + + Most users are expected to find the :meth:`write` or + :meth:`write_array` method more convenient. + + The rows should be given to this method in the order that + they appear in the output file. For straightlaced images, + this is the usual top to bottom ordering, but for interlaced + images the rows should have already been interlaced before + passing them to this function. + + `rows` should be an iterable that yields each row. When + `packed` is ``False`` the rows should be in boxed row flat pixel + format; when `packed` is ``True`` each row should be a packed + sequence of bytes. + """ + + # http://www.w3.org/TR/PNG/#5PNG-file-signature + outfile.write(_signature) + + # http://www.w3.org/TR/PNG/#11IHDR + write_chunk(outfile, 'IHDR', + struct.pack("!2I5B", self.width, self.height, + self.bitdepth, self.color_type, + 0, 0, self.interlace)) + + # See :chunk:order + # http://www.w3.org/TR/PNG/#11gAMA + if self.gamma is not None: + write_chunk(outfile, 'gAMA', + struct.pack("!L", int(round(self.gamma*1e5)))) + + # See :chunk:order + # http://www.w3.org/TR/PNG/#11sBIT + if self.rescale: + write_chunk(outfile, 'sBIT', + struct.pack('%dB' % self.planes, + *[self.rescale[0]]*self.planes)) + + # :chunk:order: Without a palette (PLTE chunk), ordering is + # relatively relaxed. With one, gAMA chunk must precede PLTE + # chunk which must precede tRNS and bKGD. + # See http://www.w3.org/TR/PNG/#5ChunkOrdering + if self.palette: + p,t = self.make_palette() + write_chunk(outfile, 'PLTE', p) + if t: + # tRNS chunk is optional. Only needed if palette entries + # have alpha. + write_chunk(outfile, 'tRNS', t) + + # http://www.w3.org/TR/PNG/#11tRNS + if self.transparent is not None: + if self.greyscale: + write_chunk(outfile, 'tRNS', + struct.pack("!1H", *self.transparent)) + else: + write_chunk(outfile, 'tRNS', + struct.pack("!3H", *self.transparent)) + + # http://www.w3.org/TR/PNG/#11bKGD + if self.background is not None: + if self.greyscale: + write_chunk(outfile, 'bKGD', + struct.pack("!1H", *self.background)) + else: + write_chunk(outfile, 'bKGD', + struct.pack("!3H", *self.background)) + + # http://www.w3.org/TR/PNG/#11pHYs + if self.x_pixels_per_unit is not None and self.y_pixels_per_unit is not None: + tup = (self.x_pixels_per_unit, self.y_pixels_per_unit, int(self.unit_is_meter)) + write_chunk(outfile, 'pHYs', struct.pack("!LLB",*tup)) + + # http://www.w3.org/TR/PNG/#11IDAT + if self.compression is not None: + compressor = zlib.compressobj(self.compression) + else: + compressor = zlib.compressobj() + + # Choose an extend function based on the bitdepth. The extend + # function packs/decomposes the pixel values into bytes and + # stuffs them onto the data array. + data = array('B') + if self.bitdepth == 8 or packed: + extend = data.extend + elif self.bitdepth == 16: + # Decompose into bytes + def extend(sl): + fmt = '!%dH' % len(sl) + data.extend(array('B', struct.pack(fmt, *sl))) + else: + # Pack into bytes + assert self.bitdepth < 8 + # samples per byte + spb = int(8/self.bitdepth) + def extend(sl): + a = array('B', sl) + # Adding padding bytes so we can group into a whole + # number of spb-tuples. + l = float(len(a)) + extra = math.ceil(l / float(spb))*spb - l + a.extend([0]*int(extra)) + # Pack into bytes + l = group(a, spb) + l = map(lambda e: reduce(lambda x,y: + (x << self.bitdepth) + y, e), l) + data.extend(l) + if self.rescale: + oldextend = extend + factor = \ + float(2**self.rescale[1]-1) / float(2**self.rescale[0]-1) + def extend(sl): + oldextend(map(lambda x: int(round(factor*x)), sl)) + + # Build the first row, testing mostly to see if we need to + # changed the extend function to cope with NumPy integer types + # (they cause our ordinary definition of extend to fail, so we + # wrap it). See + # http://code.google.com/p/pypng/issues/detail?id=44 + enumrows = enumerate(rows) + del rows + + # First row's filter type. + data.append(0) + # :todo: Certain exceptions in the call to ``.next()`` or the + # following try would indicate no row data supplied. + # Should catch. + i,row = enumrows.next() + try: + # If this fails... + extend(row) + except: + # ... try a version that converts the values to int first. + # Not only does this work for the (slightly broken) NumPy + # types, there are probably lots of other, unknown, "nearly" + # int types it works for. + def wrapmapint(f): + return lambda sl: f(map(int, sl)) + extend = wrapmapint(extend) + del wrapmapint + extend(row) + + for i,row in enumrows: + # Add "None" filter type. Currently, it's essential that + # this filter type be used for every scanline as we do not + # mark the first row of a reduced pass image; that means we + # could accidentally compute the wrong filtered scanline if + # we used "up", "average", or "paeth" on such a line. + data.append(0) + extend(row) + if len(data) > self.chunk_limit: + compressed = compressor.compress(tostring(data)) + if len(compressed): + write_chunk(outfile, 'IDAT', compressed) + # Because of our very witty definition of ``extend``, + # above, we must re-use the same ``data`` object. Hence + # we use ``del`` to empty this one, rather than create a + # fresh one (which would be my natural FP instinct). + del data[:] + if len(data): + compressed = compressor.compress(tostring(data)) + else: + compressed = strtobytes('') + flushed = compressor.flush() + if len(compressed) or len(flushed): + write_chunk(outfile, 'IDAT', compressed + flushed) + # http://www.w3.org/TR/PNG/#11IEND + write_chunk(outfile, 'IEND') + return i+1 + + def write_array(self, outfile, pixels): + """ + Write an array in flat row flat pixel format as a PNG file on + the output file. See also :meth:`write` method. + """ + + if self.interlace: + self.write_passes(outfile, self.array_scanlines_interlace(pixels)) + else: + self.write_passes(outfile, self.array_scanlines(pixels)) + + def write_packed(self, outfile, rows): + """ + Write PNG file to `outfile`. The pixel data comes from `rows` + which should be in boxed row packed format. Each row should be + a sequence of packed bytes. + + Technically, this method does work for interlaced images but it + is best avoided. For interlaced images, the rows should be + presented in the order that they appear in the file. + + This method should not be used when the source image bit depth + is not one naturally supported by PNG; the bit depth should be + 1, 2, 4, 8, or 16. + """ + + if self.rescale: + raise Error("write_packed method not suitable for bit depth %d" % + self.rescale[0]) + return self.write_passes(outfile, rows, packed=True) + + def convert_pnm(self, infile, outfile): + """ + Convert a PNM file containing raw pixel data into a PNG file + with the parameters set in the writer object. Works for + (binary) PGM, PPM, and PAM formats. + """ + + if self.interlace: + pixels = array('B') + pixels.fromfile(infile, + (self.bitdepth/8) * self.color_planes * + self.width * self.height) + self.write_passes(outfile, self.array_scanlines_interlace(pixels)) + else: + self.write_passes(outfile, self.file_scanlines(infile)) + + def convert_ppm_and_pgm(self, ppmfile, pgmfile, outfile): + """ + Convert a PPM and PGM file containing raw pixel data into a + PNG outfile with the parameters set in the writer object. + """ + pixels = array('B') + pixels.fromfile(ppmfile, + (self.bitdepth/8) * self.color_planes * + self.width * self.height) + apixels = array('B') + apixels.fromfile(pgmfile, + (self.bitdepth/8) * + self.width * self.height) + pixels = interleave_planes(pixels, apixels, + (self.bitdepth/8) * self.color_planes, + (self.bitdepth/8)) + if self.interlace: + self.write_passes(outfile, self.array_scanlines_interlace(pixels)) + else: + self.write_passes(outfile, self.array_scanlines(pixels)) + + def file_scanlines(self, infile): + """ + Generates boxed rows in flat pixel format, from the input file + `infile`. It assumes that the input file is in a "Netpbm-like" + binary format, and is positioned at the beginning of the first + pixel. The number of pixels to read is taken from the image + dimensions (`width`, `height`, `planes`) and the number of bytes + per value is implied by the image `bitdepth`. + """ + + # Values per row + vpr = self.width * self.planes + row_bytes = vpr + if self.bitdepth > 8: + assert self.bitdepth == 16 + row_bytes *= 2 + fmt = '>%dH' % vpr + def line(): + return array('H', struct.unpack(fmt, infile.read(row_bytes))) + else: + def line(): + scanline = array('B', infile.read(row_bytes)) + return scanline + for y in range(self.height): + yield line() + + def array_scanlines(self, pixels): + """ + Generates boxed rows (flat pixels) from flat rows (flat pixels) + in an array. + """ + + # Values per row + vpr = self.width * self.planes + stop = 0 + for y in range(self.height): + start = stop + stop = start + vpr + yield pixels[start:stop] + + def array_scanlines_interlace(self, pixels): + """ + Generator for interlaced scanlines from an array. `pixels` is + the full source image in flat row flat pixel format. The + generator yields each scanline of the reduced passes in turn, in + boxed row flat pixel format. + """ + + # http://www.w3.org/TR/PNG/#8InterlaceMethods + # Array type. + fmt = 'BH'[self.bitdepth > 8] + # Value per row + vpr = self.width * self.planes + for xstart, ystart, xstep, ystep in _adam7: + if xstart >= self.width: + continue + # Pixels per row (of reduced image) + ppr = int(math.ceil((self.width-xstart)/float(xstep))) + # number of values in reduced image row. + row_len = ppr*self.planes + for y in range(ystart, self.height, ystep): + if xstep == 1: + offset = y * vpr + yield pixels[offset:offset+vpr] + else: + row = array(fmt) + # There's no easier way to set the length of an array + row.extend(pixels[0:row_len]) + offset = y * vpr + xstart * self.planes + end_offset = (y+1) * vpr + skip = self.planes * xstep + for i in range(self.planes): + row[i::self.planes] = \ + pixels[offset+i:end_offset:skip] + yield row + +def write_chunk(outfile, tag, data=strtobytes('')): + """ + Write a PNG chunk to the output file, including length and + checksum. + """ + + # http://www.w3.org/TR/PNG/#5Chunk-layout + outfile.write(struct.pack("!I", len(data))) + tag = strtobytes(tag) + outfile.write(tag) + outfile.write(data) + checksum = zlib.crc32(tag) + checksum = zlib.crc32(data, checksum) + checksum &= 2**32-1 + outfile.write(struct.pack("!I", checksum)) + +def write_chunks(out, chunks): + """Create a PNG file by writing out the chunks.""" + + out.write(_signature) + for chunk in chunks: + write_chunk(out, *chunk) + +def filter_scanline(type, line, fo, prev=None): + """Apply a scanline filter to a scanline. `type` specifies the + filter type (0 to 4); `line` specifies the current (unfiltered) + scanline as a sequence of bytes; `prev` specifies the previous + (unfiltered) scanline as a sequence of bytes. `fo` specifies the + filter offset; normally this is size of a pixel in bytes (the number + of bytes per sample times the number of channels), but when this is + < 1 (for bit depths < 8) then the filter offset is 1. + """ + + assert 0 <= type < 5 + + # The output array. Which, pathetically, we extend one-byte at a + # time (fortunately this is linear). + out = array('B', [type]) + + def sub(): + ai = -fo + for x in line: + if ai >= 0: + x = (x - line[ai]) & 0xff + out.append(x) + ai += 1 + def up(): + for i,x in enumerate(line): + x = (x - prev[i]) & 0xff + out.append(x) + def average(): + ai = -fo + for i,x in enumerate(line): + if ai >= 0: + x = (x - ((line[ai] + prev[i]) >> 1)) & 0xff + else: + x = (x - (prev[i] >> 1)) & 0xff + out.append(x) + ai += 1 + def paeth(): + # http://www.w3.org/TR/PNG/#9Filter-type-4-Paeth + ai = -fo # also used for ci + for i,x in enumerate(line): + a = 0 + b = prev[i] + c = 0 + + if ai >= 0: + a = line[ai] + c = prev[ai] + p = a + b - c + pa = abs(p - a) + pb = abs(p - b) + pc = abs(p - c) + if pa <= pb and pa <= pc: + Pr = a + elif pb <= pc: + Pr = b + else: + Pr = c + + x = (x - Pr) & 0xff + out.append(x) + ai += 1 + + if not prev: + # We're on the first line. Some of the filters can be reduced + # to simpler cases which makes handling the line "off the top" + # of the image simpler. "up" becomes "none"; "paeth" becomes + # "left" (non-trivial, but true). "average" needs to be handled + # specially. + if type == 2: # "up" + type = 0 + elif type == 3: + prev = [0]*len(line) + elif type == 4: # "paeth" + type = 1 + if type == 0: + out.extend(line) + elif type == 1: + sub() + elif type == 2: + up() + elif type == 3: + average() + else: # type == 4 + paeth() + return out + + +def from_array(a, mode=None, info={}): + """Create a PNG :class:`Image` object from a 2- or 3-dimensional + array. One application of this function is easy PIL-style saving: + ``png.from_array(pixels, 'L').save('foo.png')``. + + .. note : + + The use of the term *3-dimensional* is for marketing purposes + only. It doesn't actually work. Please bear with us. Meanwhile + enjoy the complimentary snacks (on request) and please use a + 2-dimensional array. + + Unless they are specified using the *info* parameter, the PNG's + height and width are taken from the array size. For a 3 dimensional + array the first axis is the height; the second axis is the width; + and the third axis is the channel number. Thus an RGB image that is + 16 pixels high and 8 wide will use an array that is 16x8x3. For 2 + dimensional arrays the first axis is the height, but the second axis + is ``width*channels``, so an RGB image that is 16 pixels high and 8 + wide will use a 2-dimensional array that is 16x24 (each row will be + 8*3==24 sample values). + + *mode* is a string that specifies the image colour format in a + PIL-style mode. It can be: + + ``'L'`` + greyscale (1 channel) + ``'LA'`` + greyscale with alpha (2 channel) + ``'RGB'`` + colour image (3 channel) + ``'RGBA'`` + colour image with alpha (4 channel) + + The mode string can also specify the bit depth (overriding how this + function normally derives the bit depth, see below). Appending + ``';16'`` to the mode will cause the PNG to be 16 bits per channel; + any decimal from 1 to 16 can be used to specify the bit depth. + + When a 2-dimensional array is used *mode* determines how many + channels the image has, and so allows the width to be derived from + the second array dimension. + + The array is expected to be a ``numpy`` array, but it can be any + suitable Python sequence. For example, a list of lists can be used: + ``png.from_array([[0, 255, 0], [255, 0, 255]], 'L')``. The exact + rules are: ``len(a)`` gives the first dimension, height; + ``len(a[0])`` gives the second dimension; ``len(a[0][0])`` gives the + third dimension, unless an exception is raised in which case a + 2-dimensional array is assumed. It's slightly more complicated than + that because an iterator of rows can be used, and it all still + works. Using an iterator allows data to be streamed efficiently. + + The bit depth of the PNG is normally taken from the array element's + datatype (but if *mode* specifies a bitdepth then that is used + instead). The array element's datatype is determined in a way which + is supposed to work both for ``numpy`` arrays and for Python + ``array.array`` objects. A 1 byte datatype will give a bit depth of + 8, a 2 byte datatype will give a bit depth of 16. If the datatype + does not have an implicit size, for example it is a plain Python + list of lists, as above, then a default of 8 is used. + + The *info* parameter is a dictionary that can be used to specify + metadata (in the same style as the arguments to the + :class:``png.Writer`` class). For this function the keys that are + useful are: + + height + overrides the height derived from the array dimensions and allows + *a* to be an iterable. + width + overrides the width derived from the array dimensions. + bitdepth + overrides the bit depth derived from the element datatype (but + must match *mode* if that also specifies a bit depth). + + Generally anything specified in the + *info* dictionary will override any implicit choices that this + function would otherwise make, but must match any explicit ones. + For example, if the *info* dictionary has a ``greyscale`` key then + this must be true when mode is ``'L'`` or ``'LA'`` and false when + mode is ``'RGB'`` or ``'RGBA'``. + """ + + # We abuse the *info* parameter by modifying it. Take a copy here. + # (Also typechecks *info* to some extent). + info = dict(info) + + # Syntax check mode string. + bitdepth = None + try: + # Assign the 'L' or 'RGBA' part to `gotmode`. + if mode.startswith('L'): + gotmode = 'L' + mode = mode[1:] + elif mode.startswith('RGB'): + gotmode = 'RGB' + mode = mode[3:] + else: + raise Error() + if mode.startswith('A'): + gotmode += 'A' + mode = mode[1:] + + # Skip any optional ';' + while mode.startswith(';'): + mode = mode[1:] + + # Parse optional bitdepth + if mode: + try: + bitdepth = int(mode) + except (TypeError, ValueError): + raise Error() + except Error: + raise Error("mode string should be 'RGB' or 'L;16' or similar.") + mode = gotmode + + # Get bitdepth from *mode* if possible. + if bitdepth: + if info.get('bitdepth') and bitdepth != info['bitdepth']: + raise Error("mode bitdepth (%d) should match info bitdepth (%d)." % + (bitdepth, info['bitdepth'])) + info['bitdepth'] = bitdepth + + # Fill in and/or check entries in *info*. + # Dimensions. + if 'size' in info: + # Check width, height, size all match where used. + for dimension,axis in [('width', 0), ('height', 1)]: + if dimension in info: + if info[dimension] != info['size'][axis]: + raise Error( + "info[%r] should match info['size'][%r]." % + (dimension, axis)) + info['width'],info['height'] = info['size'] + if 'height' not in info: + try: + l = len(a) + except TypeError: + raise Error( + "len(a) does not work, supply info['height'] instead.") + info['height'] = l + # Colour format. + if 'greyscale' in info: + if bool(info['greyscale']) != ('L' in mode): + raise Error("info['greyscale'] should match mode.") + info['greyscale'] = 'L' in mode + if 'alpha' in info: + if bool(info['alpha']) != ('A' in mode): + raise Error("info['alpha'] should match mode.") + info['alpha'] = 'A' in mode + + planes = len(mode) + if 'planes' in info: + if info['planes'] != planes: + raise Error("info['planes'] should match mode.") + + # In order to work out whether we the array is 2D or 3D we need its + # first row, which requires that we take a copy of its iterator. + # We may also need the first row to derive width and bitdepth. + a,t = itertools.tee(a) + row = t.next() + del t + try: + row[0][0] + threed = True + testelement = row[0] + except (IndexError, TypeError): + threed = False + testelement = row + if 'width' not in info: + if threed: + width = len(row) + else: + width = len(row) // planes + info['width'] = width + + # Not implemented yet + assert not threed + + if 'bitdepth' not in info: + try: + dtype = testelement.dtype + # goto the "else:" clause. Sorry. + except AttributeError: + try: + # Try a Python array.array. + bitdepth = 8 * testelement.itemsize + except AttributeError: + # We can't determine it from the array element's + # datatype, use a default of 8. + bitdepth = 8 + else: + # If we got here without exception, we now assume that + # the array is a numpy array. + if dtype.kind == 'b': + bitdepth = 1 + else: + bitdepth = 8 * dtype.itemsize + info['bitdepth'] = bitdepth + + for thing in 'width height bitdepth greyscale alpha'.split(): + assert thing in info + return Image(a, info) + +# So that refugee's from PIL feel more at home. Not documented. +fromarray = from_array + +class Image: + """A PNG image. You can create an :class:`Image` object from + an array of pixels by calling :meth:`png.from_array`. It can be + saved to disk with the :meth:`save` method. + """ + + def __init__(self, rows, info): + """ + .. note :: + + The constructor is not public. Please do not call it. + """ + + self.rows = rows + self.info = info + + def save(self, file): + """Save the image to *file*. If *file* looks like an open file + descriptor then it is used, otherwise it is treated as a + filename and a fresh file is opened. + + In general, you can only call this method once; after it has + been called the first time and the PNG image has been saved, the + source data will have been streamed, and cannot be streamed + again. + """ + + w = Writer(**self.info) + + try: + file.write + def close(): pass + except AttributeError: + file = open(file, 'wb') + def close(): file.close() + + try: + w.write(file, self.rows) + finally: + close() + +class _readable: + """ + A simple file-like interface for strings and arrays. + """ + + def __init__(self, buf): + self.buf = buf + self.offset = 0 + + def read(self, n): + r = self.buf[self.offset:self.offset+n] + if isarray(r): + r = r.tostring() + self.offset += n + return r + + +class Reader: + """ + PNG decoder in pure Python. + """ + + def __init__(self, _guess=None, **kw): + """ + Create a PNG decoder object. + + The constructor expects exactly one keyword argument. If you + supply a positional argument instead, it will guess the input + type. You can choose among the following keyword arguments: + + filename + Name of input file (a PNG file). + file + A file-like object (object with a read() method). + bytes + ``array`` or ``string`` with PNG data. + + """ + if ((_guess is not None and len(kw) != 0) or + (_guess is None and len(kw) != 1)): + raise TypeError("Reader() takes exactly 1 argument") + + # Will be the first 8 bytes, later on. See validate_signature. + self.signature = None + self.transparent = None + # A pair of (len,type) if a chunk has been read but its data and + # checksum have not (in other words the file position is just + # past the 4 bytes that specify the chunk type). See preamble + # method for how this is used. + self.atchunk = None + + if _guess is not None: + if isarray(_guess): + kw["bytes"] = _guess + elif isinstance(_guess, str): + kw["filename"] = _guess + elif hasattr(_guess, 'read'): + kw["file"] = _guess + + if "filename" in kw: + self.file = open(kw["filename"], "rb") + elif "file" in kw: + self.file = kw["file"] + elif "bytes" in kw: + self.file = _readable(kw["bytes"]) + else: + raise TypeError("expecting filename, file or bytes array") + + + def chunk(self, seek=None, lenient=False): + """ + Read the next PNG chunk from the input file; returns a + (*type*,*data*) tuple. *type* is the chunk's type as a string + (all PNG chunk types are 4 characters long). *data* is the + chunk's data content, as a string. + + If the optional `seek` argument is + specified then it will keep reading chunks until it either runs + out of file or finds the type specified by the argument. Note + that in general the order of chunks in PNGs is unspecified, so + using `seek` can cause you to miss chunks. + + If the optional `lenient` argument evaluates to True, + checksum failures will raise warnings rather than exceptions. + """ + + self.validate_signature() + + while True: + # http://www.w3.org/TR/PNG/#5Chunk-layout + if not self.atchunk: + self.atchunk = self.chunklentype() + length,type = self.atchunk + self.atchunk = None + data = self.file.read(length) + if len(data) != length: + raise ChunkError('Chunk %s too short for required %i octets.' + % (type, length)) + checksum = self.file.read(4) + if len(checksum) != 4: + raise ChunkError('Chunk %s too short for checksum.' % type) + if seek and type != seek: + continue + verify = zlib.crc32(strtobytes(type)) + verify = zlib.crc32(data, verify) + # Whether the output from zlib.crc32 is signed or not varies + # according to hideous implementation details, see + # http://bugs.python.org/issue1202 . + # We coerce it to be positive here (in a way which works on + # Python 2.3 and older). + verify &= 2**32 - 1 + verify = struct.pack('!I', verify) + if checksum != verify: + (a, ) = struct.unpack('!I', checksum) + (b, ) = struct.unpack('!I', verify) + message = "Checksum error in %s chunk: 0x%08X != 0x%08X." % (type, a, b) + if lenient: + warnings.warn(message, RuntimeWarning) + else: + raise ChunkError(message) + return type, data + + def chunks(self): + """Return an iterator that will yield each chunk as a + (*chunktype*, *content*) pair. + """ + + while True: + t,v = self.chunk() + yield t,v + if t == 'IEND': + break + + def undo_filter(self, filter_type, scanline, previous): + """Undo the filter for a scanline. `scanline` is a sequence of + bytes that does not include the initial filter type byte. + `previous` is decoded previous scanline (for straightlaced + images this is the previous pixel row, but for interlaced + images, it is the previous scanline in the reduced image, which + in general is not the previous pixel row in the final image). + When there is no previous scanline (the first row of a + straightlaced image, or the first row in one of the passes in an + interlaced image), then this argument should be ``None``. + + The scanline will have the effects of filtering removed, and the + result will be returned as a fresh sequence of bytes. + """ + + # :todo: Would it be better to update scanline in place? + # Yes, with the Cython extension making the undo_filter fast, + # updating scanline inplace makes the code 3 times faster + # (reading 50 images of 800x800 went from 40s to 16s) + result = scanline + + if filter_type == 0: + return result + + if filter_type not in (1,2,3,4): + raise FormatError('Invalid PNG Filter Type.' + ' See http://www.w3.org/TR/2003/REC-PNG-20031110/#9Filters .') + + # Filter unit. The stride from one pixel to the corresponding + # byte from the previous pixel. Normally this is the pixel + # size in bytes, but when this is smaller than 1, the previous + # byte is used instead. + fu = max(1, self.psize) + + # For the first line of a pass, synthesize a dummy previous + # line. An alternative approach would be to observe that on the + # first line 'up' is the same as 'null', 'paeth' is the same + # as 'sub', with only 'average' requiring any special case. + if not previous: + previous = array('B', [0]*len(scanline)) + + def sub(): + """Undo sub filter.""" + + ai = 0 + # Loop starts at index fu. Observe that the initial part + # of the result is already filled in correctly with + # scanline. + for i in range(fu, len(result)): + x = scanline[i] + a = result[ai] + result[i] = (x + a) & 0xff + ai += 1 + + def up(): + """Undo up filter.""" + + for i in range(len(result)): + x = scanline[i] + b = previous[i] + result[i] = (x + b) & 0xff + + def average(): + """Undo average filter.""" + + ai = -fu + for i in range(len(result)): + x = scanline[i] + if ai < 0: + a = 0 + else: + a = result[ai] + b = previous[i] + result[i] = (x + ((a + b) >> 1)) & 0xff + ai += 1 + + def paeth(): + """Undo Paeth filter.""" + + # Also used for ci. + ai = -fu + for i in range(len(result)): + x = scanline[i] + if ai < 0: + a = c = 0 + else: + a = result[ai] + c = previous[ai] + b = previous[i] + p = a + b - c + pa = abs(p - a) + pb = abs(p - b) + pc = abs(p - c) + if pa <= pb and pa <= pc: + pr = a + elif pb <= pc: + pr = b + else: + pr = c + result[i] = (x + pr) & 0xff + ai += 1 + + # Call appropriate filter algorithm. Note that 0 has already + # been dealt with. + (None, + pngfilters.undo_filter_sub, + pngfilters.undo_filter_up, + pngfilters.undo_filter_average, + pngfilters.undo_filter_paeth)[filter_type](fu, scanline, previous, result) + return result + + def deinterlace(self, raw): + """ + Read raw pixel data, undo filters, deinterlace, and flatten. + Return in flat row flat pixel format. + """ + + # Values per row (of the target image) + vpr = self.width * self.planes + + # Make a result array, and make it big enough. Interleaving + # writes to the output array randomly (well, not quite), so the + # entire output array must be in memory. + fmt = 'BH'[self.bitdepth > 8] + a = array(fmt, [0]*vpr*self.height) + source_offset = 0 + + for xstart, ystart, xstep, ystep in _adam7: + if xstart >= self.width: + continue + # The previous (reconstructed) scanline. None at the + # beginning of a pass to indicate that there is no previous + # line. + recon = None + # Pixels per row (reduced pass image) + ppr = int(math.ceil((self.width-xstart)/float(xstep))) + # Row size in bytes for this pass. + row_size = int(math.ceil(self.psize * ppr)) + for y in range(ystart, self.height, ystep): + filter_type = raw[source_offset] + source_offset += 1 + scanline = raw[source_offset:source_offset+row_size] + source_offset += row_size + recon = self.undo_filter(filter_type, scanline, recon) + # Convert so that there is one element per pixel value + flat = self.serialtoflat(recon, ppr) + if xstep == 1: + assert xstart == 0 + offset = y * vpr + a[offset:offset+vpr] = flat + else: + offset = y * vpr + xstart * self.planes + end_offset = (y+1) * vpr + skip = self.planes * xstep + for i in range(self.planes): + a[offset+i:end_offset:skip] = \ + flat[i::self.planes] + return a + + def iterboxed(self, rows): + """Iterator that yields each scanline in boxed row flat pixel + format. `rows` should be an iterator that yields the bytes of + each row in turn. + """ + + def asvalues(raw): + """Convert a row of raw bytes into a flat row. Result will + be a freshly allocated object, not shared with + argument. + """ + + if self.bitdepth == 8: + return array('B', raw) + if self.bitdepth == 16: + raw = tostring(raw) + return array('H', struct.unpack('!%dH' % (len(raw)//2), raw)) + assert self.bitdepth < 8 + width = self.width + # Samples per byte + spb = 8//self.bitdepth + out = array('B') + mask = 2**self.bitdepth - 1 + shifts = list(map(self.bitdepth.__mul__, reversed(range(spb)))) + for o in raw: + out.extend(list(map(lambda i: mask&(o>>i), shifts))) + return out[:width] + return itertools.imap(asvalues, rows) + + def serialtoflat(self, bytes, width=None): + """Convert serial format (byte stream) pixel data to flat row + flat pixel. + """ + + if self.bitdepth == 8: + return bytes + if self.bitdepth == 16: + bytes = tostring(bytes) + return array('H', + struct.unpack('!%dH' % (len(bytes)//2), bytes)) + assert self.bitdepth < 8 + if width is None: + width = self.width + # Samples per byte + spb = 8//self.bitdepth + out = array('B') + mask = 2**self.bitdepth - 1 + shifts = map(self.bitdepth.__mul__, reversed(range(spb))) + l = width + for o in bytes: + out.extend([(mask&(o>>s)) for s in shifts][:l]) + l -= spb + if l <= 0: + l = width + return out + + def iterstraight(self, raw): + """Iterator that undoes the effect of filtering, and yields + each row in serialised format (as a sequence of bytes). + Assumes input is straightlaced. `raw` should be an iterable + that yields the raw bytes in chunks of arbitrary size. + """ + + # length of row, in bytes + rb = self.row_bytes + a = array('B') + # The previous (reconstructed) scanline. None indicates first + # line of image. + recon = None + for some in raw: + a.extend(some) + while len(a) >= rb + 1: + filter_type = a[0] + scanline = a[1:rb+1] + del a[:rb+1] + recon = self.undo_filter(filter_type, scanline, recon) + yield recon + if len(a) != 0: + # :file:format We get here with a file format error: + # when the available bytes (after decompressing) do not + # pack into exact rows. + raise FormatError( + 'Wrong size for decompressed IDAT chunk.') + assert len(a) == 0 + + def validate_signature(self): + """If signature (header) has not been read then read and + validate it; otherwise do nothing. + """ + + if self.signature: + return + self.signature = self.file.read(8) + if self.signature != _signature: + raise FormatError("PNG file has invalid signature.") + + def preamble(self, lenient=False): + """ + Extract the image metadata by reading the initial part of + the PNG file up to the start of the ``IDAT`` chunk. All the + chunks that precede the ``IDAT`` chunk are read and either + processed for metadata or discarded. + + If the optional `lenient` argument evaluates to True, checksum + failures will raise warnings rather than exceptions. + """ + + self.validate_signature() + + while True: + if not self.atchunk: + self.atchunk = self.chunklentype() + if self.atchunk is None: + raise FormatError( + 'This PNG file has no IDAT chunks.') + if self.atchunk[1] == 'IDAT': + return + self.process_chunk(lenient=lenient) + + def chunklentype(self): + """Reads just enough of the input to determine the next + chunk's length and type, returned as a (*length*, *type*) pair + where *type* is a string. If there are no more chunks, ``None`` + is returned. + """ + + x = self.file.read(8) + if not x: + return None + if len(x) != 8: + raise FormatError( + 'End of file whilst reading chunk length and type.') + length,type = struct.unpack('!I4s', x) + type = bytestostr(type) + if length > 2**31-1: + raise FormatError('Chunk %s is too large: %d.' % (type,length)) + return length,type + + def process_chunk(self, lenient=False): + """Process the next chunk and its data. This only processes the + following chunk types, all others are ignored: ``IHDR``, + ``PLTE``, ``bKGD``, ``tRNS``, ``gAMA``, ``sBIT``, ``pHYs``. + + If the optional `lenient` argument evaluates to True, + checksum failures will raise warnings rather than exceptions. + """ + + type, data = self.chunk(lenient=lenient) + method = '_process_' + type + m = getattr(self, method, None) + if m: + m(data) + + def _process_IHDR(self, data): + # http://www.w3.org/TR/PNG/#11IHDR + if len(data) != 13: + raise FormatError('IHDR chunk has incorrect length.') + (self.width, self.height, self.bitdepth, self.color_type, + self.compression, self.filter, + self.interlace) = struct.unpack("!2I5B", data) + + check_bitdepth_colortype(self.bitdepth, self.color_type) + + if self.compression != 0: + raise Error("unknown compression method %d" % self.compression) + if self.filter != 0: + raise FormatError("Unknown filter method %d," + " see http://www.w3.org/TR/2003/REC-PNG-20031110/#9Filters ." + % self.filter) + if self.interlace not in (0,1): + raise FormatError("Unknown interlace method %d," + " see http://www.w3.org/TR/2003/REC-PNG-20031110/#8InterlaceMethods ." + % self.interlace) + + # Derived values + # http://www.w3.org/TR/PNG/#6Colour-values + colormap = bool(self.color_type & 1) + greyscale = not (self.color_type & 2) + alpha = bool(self.color_type & 4) + color_planes = (3,1)[greyscale or colormap] + planes = color_planes + alpha + + self.colormap = colormap + self.greyscale = greyscale + self.alpha = alpha + self.color_planes = color_planes + self.planes = planes + self.psize = float(self.bitdepth)/float(8) * planes + if int(self.psize) == self.psize: + self.psize = int(self.psize) + self.row_bytes = int(math.ceil(self.width * self.psize)) + # Stores PLTE chunk if present, and is used to check + # chunk ordering constraints. + self.plte = None + # Stores tRNS chunk if present, and is used to check chunk + # ordering constraints. + self.trns = None + # Stores sbit chunk if present. + self.sbit = None + + def _process_PLTE(self, data): + # http://www.w3.org/TR/PNG/#11PLTE + if self.plte: + warnings.warn("Multiple PLTE chunks present.") + self.plte = data + if len(data) % 3 != 0: + raise FormatError( + "PLTE chunk's length should be a multiple of 3.") + if len(data) > (2**self.bitdepth)*3: + raise FormatError("PLTE chunk is too long.") + if len(data) == 0: + raise FormatError("Empty PLTE is not allowed.") + + def _process_bKGD(self, data): + try: + if self.colormap: + if not self.plte: + warnings.warn( + "PLTE chunk is required before bKGD chunk.") + self.background = struct.unpack('B', data) + else: + self.background = struct.unpack("!%dH" % self.color_planes, + data) + except struct.error: + raise FormatError("bKGD chunk has incorrect length.") + + def _process_tRNS(self, data): + # http://www.w3.org/TR/PNG/#11tRNS + self.trns = data + if self.colormap: + if not self.plte: + warnings.warn("PLTE chunk is required before tRNS chunk.") + else: + if len(data) > len(self.plte)/3: + # Was warning, but promoted to Error as it + # would otherwise cause pain later on. + raise FormatError("tRNS chunk is too long.") + else: + if self.alpha: + raise FormatError( + "tRNS chunk is not valid with colour type %d." % + self.color_type) + try: + self.transparent = \ + struct.unpack("!%dH" % self.color_planes, data) + except struct.error: + raise FormatError("tRNS chunk has incorrect length.") + + def _process_gAMA(self, data): + try: + self.gamma = struct.unpack("!L", data)[0] / 100000.0 + except struct.error: + raise FormatError("gAMA chunk has incorrect length.") + + def _process_sBIT(self, data): + self.sbit = data + if (self.colormap and len(data) != 3 or + not self.colormap and len(data) != self.planes): + raise FormatError("sBIT chunk has incorrect length.") + + def _process_pHYs(self, data): + # http://www.w3.org/TR/PNG/#11pHYs + self.phys = data + fmt = "!LLB" + if len(data) != struct.calcsize(fmt): + raise FormatError("pHYs chunk has incorrect length.") + self.x_pixels_per_unit, self.y_pixels_per_unit, unit = struct.unpack(fmt,data) + self.unit_is_meter = bool(unit) + + def read(self, lenient=False): + """ + Read the PNG file and decode it. Returns (`width`, `height`, + `pixels`, `metadata`). + + May use excessive memory. + + `pixels` are returned in boxed row flat pixel format. + + If the optional `lenient` argument evaluates to True, + checksum failures will raise warnings rather than exceptions. + """ + + def iteridat(): + """Iterator that yields all the ``IDAT`` chunks as strings.""" + while True: + try: + type, data = self.chunk(lenient=lenient) + except ValueError: + raise ChunkError(sys.exc_info()[1].args[0]) + if type == 'IEND': + # http://www.w3.org/TR/PNG/#11IEND + break + if type != 'IDAT': + continue + # type == 'IDAT' + # http://www.w3.org/TR/PNG/#11IDAT + if self.colormap and not self.plte: + warnings.warn("PLTE chunk is required before IDAT chunk") + yield data + + def iterdecomp(idat): + """Iterator that yields decompressed strings. `idat` should + be an iterator that yields the ``IDAT`` chunk data. + """ + + # Currently, with no max_length parameter to decompress, + # this routine will do one yield per IDAT chunk: Not very + # incremental. + d = zlib.decompressobj() + # Each IDAT chunk is passed to the decompressor, then any + # remaining state is decompressed out. + for data in idat: + # :todo: add a max_length argument here to limit output + # size. + yield array('B', d.decompress(data)) + yield array('B', d.flush()) + + self.preamble(lenient=lenient) + raw = iterdecomp(iteridat()) + if self.interlace: + raw = array('B', itertools.chain(*raw)) + arraycode = 'BH'[self.bitdepth>8] + # Like :meth:`group` but producing an array.array object for + # each row. + pixels = itertools.imap(lambda *row: array(arraycode, row), + *[iter(self.deinterlace(raw))]*self.width*self.planes) + else: + pixels = self.iterboxed(self.iterstraight(raw)) + meta = dict() + for attr in 'greyscale alpha planes bitdepth interlace'.split(): + meta[attr] = getattr(self, attr) + meta['size'] = (self.width, self.height) + for attr in 'gamma transparent background'.split(): + a = getattr(self, attr, None) + if a is not None: + meta[attr] = a + if self.plte: + meta['palette'] = self.palette() + return self.width, self.height, pixels, meta + + + def read_flat(self): + """ + Read a PNG file and decode it into flat row flat pixel format. + Returns (*width*, *height*, *pixels*, *metadata*). + + May use excessive memory. + + `pixels` are returned in flat row flat pixel format. + + See also the :meth:`read` method which returns pixels in the + more stream-friendly boxed row flat pixel format. + """ + + x, y, pixel, meta = self.read() + arraycode = 'BH'[meta['bitdepth']>8] + pixel = array(arraycode, itertools.chain(*pixel)) + return x, y, pixel, meta + + def palette(self, alpha='natural'): + """Returns a palette that is a sequence of 3-tuples or 4-tuples, + synthesizing it from the ``PLTE`` and ``tRNS`` chunks. These + chunks should have already been processed (for example, by + calling the :meth:`preamble` method). All the tuples are the + same size: 3-tuples if there is no ``tRNS`` chunk, 4-tuples when + there is a ``tRNS`` chunk. Assumes that the image is colour type + 3 and therefore a ``PLTE`` chunk is required. + + If the `alpha` argument is ``'force'`` then an alpha channel is + always added, forcing the result to be a sequence of 4-tuples. + """ + + if not self.plte: + raise FormatError( + "Required PLTE chunk is missing in colour type 3 image.") + plte = group(array('B', self.plte), 3) + if self.trns or alpha == 'force': + trns = array('B', self.trns or '') + trns.extend([255]*(len(plte)-len(trns))) + plte = map(operator.add, plte, group(trns, 1)) + return plte + + def asDirect(self): + """Returns the image data as a direct representation of an + ``x * y * planes`` array. This method is intended to remove the + need for callers to deal with palettes and transparency + themselves. Images with a palette (colour type 3) + are converted to RGB or RGBA; images with transparency (a + ``tRNS`` chunk) are converted to LA or RGBA as appropriate. + When returned in this format the pixel values represent the + colour value directly without needing to refer to palettes or + transparency information. + + Like the :meth:`read` method this method returns a 4-tuple: + + (*width*, *height*, *pixels*, *meta*) + + This method normally returns pixel values with the bit depth + they have in the source image, but when the source PNG has an + ``sBIT`` chunk it is inspected and can reduce the bit depth of + the result pixels; pixel values will be reduced according to + the bit depth specified in the ``sBIT`` chunk (PNG nerds should + note a single result bit depth is used for all channels; the + maximum of the ones specified in the ``sBIT`` chunk. An RGB565 + image will be rescaled to 6-bit RGB666). + + The *meta* dictionary that is returned reflects the `direct` + format and not the original source image. For example, an RGB + source image with a ``tRNS`` chunk to represent a transparent + colour, will have ``planes=3`` and ``alpha=False`` for the + source image, but the *meta* dictionary returned by this method + will have ``planes=4`` and ``alpha=True`` because an alpha + channel is synthesized and added. + + *pixels* is the pixel data in boxed row flat pixel format (just + like the :meth:`read` method). + + All the other aspects of the image data are not changed. + """ + + self.preamble() + + # Simple case, no conversion necessary. + if not self.colormap and not self.trns and not self.sbit: + return self.read() + + x,y,pixels,meta = self.read() + + if self.colormap: + meta['colormap'] = False + meta['alpha'] = bool(self.trns) + meta['bitdepth'] = 8 + meta['planes'] = 3 + bool(self.trns) + plte = list(self.palette()) + def iterpal(pixels): + for row in pixels: + row = list(map(plte.__getitem__, row)) + yield array('B', itertools.chain(*row)) + pixels = iterpal(pixels) + elif self.trns: + # It would be nice if there was some reasonable way + # of doing this without generating a whole load of + # intermediate tuples. But tuples does seem like the + # easiest way, with no other way clearly much simpler or + # much faster. (Actually, the L to LA conversion could + # perhaps go faster (all those 1-tuples!), but I still + # wonder whether the code proliferation is worth it) + it = self.transparent + maxval = 2**meta['bitdepth']-1 + planes = meta['planes'] + meta['alpha'] = True + meta['planes'] += 1 + typecode = 'BH'[meta['bitdepth']>8] + def itertrns(pixels): + for row in pixels: + # For each row we group it into pixels, then form a + # characterisation vector that says whether each + # pixel is opaque or not. Then we convert + # True/False to 0/maxval (by multiplication), + # and add it as the extra channel. + row = group(row, planes) + opa = map(it.__ne__, row) + opa = map(maxval.__mul__, opa) + opa = zip(opa) # convert to 1-tuples + yield array(typecode, + itertools.chain(*map(operator.add, row, opa))) + pixels = itertrns(pixels) + targetbitdepth = None + if self.sbit: + sbit = struct.unpack('%dB' % len(self.sbit), self.sbit) + targetbitdepth = max(sbit) + if targetbitdepth > meta['bitdepth']: + raise Error('sBIT chunk %r exceeds bitdepth %d' % + (sbit,self.bitdepth)) + if min(sbit) <= 0: + raise Error('sBIT chunk %r has a 0-entry' % sbit) + if targetbitdepth == meta['bitdepth']: + targetbitdepth = None + if targetbitdepth: + shift = meta['bitdepth'] - targetbitdepth + meta['bitdepth'] = targetbitdepth + def itershift(pixels): + for row in pixels: + yield map(shift.__rrshift__, row) + pixels = itershift(pixels) + return x,y,pixels,meta + + def asFloat(self, maxval=1.0): + """Return image pixels as per :meth:`asDirect` method, but scale + all pixel values to be floating point values between 0.0 and + *maxval*. + """ + + x,y,pixels,info = self.asDirect() + sourcemaxval = 2**info['bitdepth']-1 + del info['bitdepth'] + info['maxval'] = float(maxval) + factor = float(maxval)/float(sourcemaxval) + def iterfloat(): + for row in pixels: + yield map(factor.__mul__, row) + return x,y,iterfloat(),info + + def _as_rescale(self, get, targetbitdepth): + """Helper used by :meth:`asRGB8` and :meth:`asRGBA8`.""" + + width,height,pixels,meta = get() + maxval = 2**meta['bitdepth'] - 1 + targetmaxval = 2**targetbitdepth - 1 + factor = float(targetmaxval) / float(maxval) + meta['bitdepth'] = targetbitdepth + def iterscale(): + for row in pixels: + yield map(lambda x: int(round(x*factor)), row) + if maxval == targetmaxval: + return width, height, pixels, meta + else: + return width, height, iterscale(), meta + + def asRGB8(self): + """Return the image data as an RGB pixels with 8-bits per + sample. This is like the :meth:`asRGB` method except that + this method additionally rescales the values so that they + are all between 0 and 255 (8-bit). In the case where the + source image has a bit depth < 8 the transformation preserves + all the information; where the source image has bit depth + > 8, then rescaling to 8-bit values loses precision. No + dithering is performed. Like :meth:`asRGB`, an alpha channel + in the source image will raise an exception. + + This function returns a 4-tuple: + (*width*, *height*, *pixels*, *metadata*). + *width*, *height*, *metadata* are as per the + :meth:`read` method. + + *pixels* is the pixel data in boxed row flat pixel format. + """ + + return self._as_rescale(self.asRGB, 8) + + def asRGBA8(self): + """Return the image data as RGBA pixels with 8-bits per + sample. This method is similar to :meth:`asRGB8` and + :meth:`asRGBA`: The result pixels have an alpha channel, *and* + values are rescaled to the range 0 to 255. The alpha channel is + synthesized if necessary (with a small speed penalty). + """ + + return self._as_rescale(self.asRGBA, 8) + + def asRGB(self): + """Return image as RGB pixels. RGB colour images are passed + through unchanged; greyscales are expanded into RGB + triplets (there is a small speed overhead for doing this). + + An alpha channel in the source image will raise an + exception. + + The return values are as for the :meth:`read` method + except that the *metadata* reflect the returned pixels, not the + source image. In particular, for this method + ``metadata['greyscale']`` will be ``False``. + """ + + width,height,pixels,meta = self.asDirect() + if meta['alpha']: + raise Error("will not convert image with alpha channel to RGB") + if not meta['greyscale']: + return width,height,pixels,meta + meta['greyscale'] = False + typecode = 'BH'[meta['bitdepth'] > 8] + def iterrgb(): + for row in pixels: + a = array(typecode, [0]) * 3 * width + for i in range(3): + a[i::3] = row + yield a + return width,height,iterrgb(),meta + + def asRGBA(self): + """Return image as RGBA pixels. Greyscales are expanded into + RGB triplets; an alpha channel is synthesized if necessary. + The return values are as for the :meth:`read` method + except that the *metadata* reflect the returned pixels, not the + source image. In particular, for this method + ``metadata['greyscale']`` will be ``False``, and + ``metadata['alpha']`` will be ``True``. + """ + + width,height,pixels,meta = self.asDirect() + if meta['alpha'] and not meta['greyscale']: + return width,height,pixels,meta + typecode = 'BH'[meta['bitdepth'] > 8] + maxval = 2**meta['bitdepth'] - 1 + maxbuffer = struct.pack('=' + typecode, maxval) * 4 * width + def newarray(): + return array(typecode, maxbuffer) + + if meta['alpha'] and meta['greyscale']: + # LA to RGBA + def convert(): + for row in pixels: + # Create a fresh target row, then copy L channel + # into first three target channels, and A channel + # into fourth channel. + a = newarray() + pngfilters.convert_la_to_rgba(row, a) + yield a + elif meta['greyscale']: + # L to RGBA + def convert(): + for row in pixels: + a = newarray() + pngfilters.convert_l_to_rgba(row, a) + yield a + else: + assert not meta['alpha'] and not meta['greyscale'] + # RGB to RGBA + def convert(): + for row in pixels: + a = newarray() + pngfilters.convert_rgb_to_rgba(row, a) + yield a + meta['alpha'] = True + meta['greyscale'] = False + return width,height,convert(),meta + +def check_bitdepth_colortype(bitdepth, colortype): + """Check that `bitdepth` and `colortype` are both valid, + and specified in a valid combination. Returns if valid, + raise an Exception if not valid. + """ + + if bitdepth not in (1,2,4,8,16): + raise FormatError("invalid bit depth %d" % bitdepth) + if colortype not in (0,2,3,4,6): + raise FormatError("invalid colour type %d" % colortype) + # Check indexed (palettized) images have 8 or fewer bits + # per pixel; check only indexed or greyscale images have + # fewer than 8 bits per pixel. + if colortype & 1 and bitdepth > 8: + raise FormatError( + "Indexed images (colour type %d) cannot" + " have bitdepth > 8 (bit depth %d)." + " See http://www.w3.org/TR/2003/REC-PNG-20031110/#table111 ." + % (bitdepth, colortype)) + if bitdepth < 8 and colortype not in (0,3): + raise FormatError("Illegal combination of bit depth (%d)" + " and colour type (%d)." + " See http://www.w3.org/TR/2003/REC-PNG-20031110/#table111 ." + % (bitdepth, colortype)) + +def isinteger(x): + try: + return int(x) == x + except (TypeError, ValueError): + return False + + +# === Legacy Version Support === + +# :pyver:old: PyPNG works on Python versions 2.3 and 2.2, but not +# without some awkward problems. Really PyPNG works on Python 2.4 (and +# above); it works on Pythons 2.3 and 2.2 by virtue of fixing up +# problems here. It's a bit ugly (which is why it's hidden down here). +# +# Generally the strategy is one of pretending that we're running on +# Python 2.4 (or above), and patching up the library support on earlier +# versions so that it looks enough like Python 2.4. When it comes to +# Python 2.2 there is one thing we cannot patch: extended slices +# http://www.python.org/doc/2.3/whatsnew/section-slices.html. +# Instead we simply declare that features that are implemented using +# extended slices will not work on Python 2.2. +# +# In order to work on Python 2.3 we fix up a recurring annoyance involving +# the array type. In Python 2.3 an array cannot be initialised with an +# array, and it cannot be extended with a list (or other sequence). +# Both of those are repeated issues in the code. Whilst I would not +# normally tolerate this sort of behaviour, here we "shim" a replacement +# for array into place (and hope no-one notices). You never read this. +# +# In an amusing case of warty hacks on top of warty hacks... the array +# shimming we try and do only works on Python 2.3 and above (you can't +# subclass array.array in Python 2.2). So to get it working on Python +# 2.2 we go for something much simpler and (probably) way slower. +try: + array('B').extend([]) + array('B', array('B')) +# :todo:(drj) Check that TypeError is correct for Python 2.3 +except TypeError: + # Expect to get here on Python 2.3 + try: + class _array_shim(array): + true_array = array + def __new__(cls, typecode, init=None): + super_new = super(_array_shim, cls).__new__ + it = super_new(cls, typecode) + if init is None: + return it + it.extend(init) + return it + def extend(self, extension): + super_extend = super(_array_shim, self).extend + if isinstance(extension, self.true_array): + return super_extend(extension) + if not isinstance(extension, (list, str)): + # Convert to list. Allows iterators to work. + extension = list(extension) + return super_extend(self.true_array(self.typecode, extension)) + array = _array_shim + except TypeError: + # Expect to get here on Python 2.2 + def array(typecode, init=()): + if type(init) == str: + return map(ord, init) + return list(init) + +# Further hacks to get it limping along on Python 2.2 +try: + enumerate +except NameError: + def enumerate(seq): + i=0 + for x in seq: + yield i,x + i += 1 + +try: + reversed +except NameError: + def reversed(l): + l = list(l) + l.reverse() + for x in l: + yield x + +try: + itertools +except NameError: + class _dummy_itertools: + pass + itertools = _dummy_itertools() + def _itertools_imap(f, seq): + for x in seq: + yield f(x) + itertools.imap = _itertools_imap + def _itertools_chain(*iterables): + for it in iterables: + for element in it: + yield element + itertools.chain = _itertools_chain + + +# === Support for users without Cython === + +try: + pngfilters +except NameError: + class pngfilters(object): + def undo_filter_sub(filter_unit, scanline, previous, result): + """Undo sub filter.""" + + ai = 0 + # Loops starts at index fu. Observe that the initial part + # of the result is already filled in correctly with + # scanline. + for i in range(filter_unit, len(result)): + x = scanline[i] + a = result[ai] + result[i] = (x + a) & 0xff + ai += 1 + undo_filter_sub = staticmethod(undo_filter_sub) + + def undo_filter_up(filter_unit, scanline, previous, result): + """Undo up filter.""" + + for i in range(len(result)): + x = scanline[i] + b = previous[i] + result[i] = (x + b) & 0xff + undo_filter_up = staticmethod(undo_filter_up) + + def undo_filter_average(filter_unit, scanline, previous, result): + """Undo up filter.""" + + ai = -filter_unit + for i in range(len(result)): + x = scanline[i] + if ai < 0: + a = 0 + else: + a = result[ai] + b = previous[i] + result[i] = (x + ((a + b) >> 1)) & 0xff + ai += 1 + undo_filter_average = staticmethod(undo_filter_average) + + def undo_filter_paeth(filter_unit, scanline, previous, result): + """Undo Paeth filter.""" + + # Also used for ci. + ai = -filter_unit + for i in range(len(result)): + x = scanline[i] + if ai < 0: + a = c = 0 + else: + a = result[ai] + c = previous[ai] + b = previous[i] + p = a + b - c + pa = abs(p - a) + pb = abs(p - b) + pc = abs(p - c) + if pa <= pb and pa <= pc: + pr = a + elif pb <= pc: + pr = b + else: + pr = c + result[i] = (x + pr) & 0xff + ai += 1 + undo_filter_paeth = staticmethod(undo_filter_paeth) + + def convert_la_to_rgba(row, result): + for i in range(3): + result[i::4] = row[0::2] + result[3::4] = row[1::2] + convert_la_to_rgba = staticmethod(convert_la_to_rgba) + + def convert_l_to_rgba(row, result): + """Convert a grayscale image to RGBA. This method assumes + the alpha channel in result is already correctly + initialized. + """ + for i in range(3): + result[i::4] = row + convert_l_to_rgba = staticmethod(convert_l_to_rgba) + + def convert_rgb_to_rgba(row, result): + """Convert an RGB image to RGBA. This method assumes the + alpha channel in result is already correctly initialized. + """ + for i in range(3): + result[i::4] = row[i::3] + convert_rgb_to_rgba = staticmethod(convert_rgb_to_rgba) + + +# === Command Line Support === + +def read_pam_header(infile): + """ + Read (the rest of a) PAM header. `infile` should be positioned + immediately after the initial 'P7' line (at the beginning of the + second line). Returns are as for `read_pnm_header`. + """ + + # Unlike PBM, PGM, and PPM, we can read the header a line at a time. + header = dict() + while True: + l = infile.readline().strip() + if l == strtobytes('ENDHDR'): + break + if not l: + raise EOFError('PAM ended prematurely') + if l[0] == strtobytes('#'): + continue + l = l.split(None, 1) + if l[0] not in header: + header[l[0]] = l[1] + else: + header[l[0]] += strtobytes(' ') + l[1] + + required = ['WIDTH', 'HEIGHT', 'DEPTH', 'MAXVAL'] + required = [strtobytes(x) for x in required] + WIDTH,HEIGHT,DEPTH,MAXVAL = required + present = [x for x in required if x in header] + if len(present) != len(required): + raise Error('PAM file must specify WIDTH, HEIGHT, DEPTH, and MAXVAL') + width = int(header[WIDTH]) + height = int(header[HEIGHT]) + depth = int(header[DEPTH]) + maxval = int(header[MAXVAL]) + if (width <= 0 or + height <= 0 or + depth <= 0 or + maxval <= 0): + raise Error( + 'WIDTH, HEIGHT, DEPTH, MAXVAL must all be positive integers') + return 'P7', width, height, depth, maxval + +def read_pnm_header(infile, supported=('P5','P6')): + """ + Read a PNM header, returning (format,width,height,depth,maxval). + `width` and `height` are in pixels. `depth` is the number of + channels in the image; for PBM and PGM it is synthesized as 1, for + PPM as 3; for PAM images it is read from the header. `maxval` is + synthesized (as 1) for PBM images. + """ + + # Generally, see http://netpbm.sourceforge.net/doc/ppm.html + # and http://netpbm.sourceforge.net/doc/pam.html + + supported = [strtobytes(x) for x in supported] + + # Technically 'P7' must be followed by a newline, so by using + # rstrip() we are being liberal in what we accept. I think this + # is acceptable. + type = infile.read(3).rstrip() + if type not in supported: + raise NotImplementedError('file format %s not supported' % type) + if type == strtobytes('P7'): + # PAM header parsing is completely different. + return read_pam_header(infile) + # Expected number of tokens in header (3 for P4, 4 for P6) + expected = 4 + pbm = ('P1', 'P4') + if type in pbm: + expected = 3 + header = [type] + + # We have to read the rest of the header byte by byte because the + # final whitespace character (immediately following the MAXVAL in + # the case of P6) may not be a newline. Of course all PNM files in + # the wild use a newline at this point, so it's tempting to use + # readline; but it would be wrong. + def getc(): + c = infile.read(1) + if not c: + raise Error('premature EOF reading PNM header') + return c + + c = getc() + while True: + # Skip whitespace that precedes a token. + while c.isspace(): + c = getc() + # Skip comments. + while c == '#': + while c not in '\n\r': + c = getc() + if not c.isdigit(): + raise Error('unexpected character %s found in header' % c) + # According to the specification it is legal to have comments + # that appear in the middle of a token. + # This is bonkers; I've never seen it; and it's a bit awkward to + # code good lexers in Python (no goto). So we break on such + # cases. + token = strtobytes('') + while c.isdigit(): + token += c + c = getc() + # Slight hack. All "tokens" are decimal integers, so convert + # them here. + header.append(int(token)) + if len(header) == expected: + break + # Skip comments (again) + while c == '#': + while c not in '\n\r': + c = getc() + if not c.isspace(): + raise Error('expected header to end with whitespace, not %s' % c) + + if type in pbm: + # synthesize a MAXVAL + header.append(1) + depth = (1,3)[type == strtobytes('P6')] + return header[0], header[1], header[2], depth, header[3] + +def write_pnm(file, width, height, pixels, meta): + """Write a Netpbm PNM/PAM file. + """ + + bitdepth = meta['bitdepth'] + maxval = 2**bitdepth - 1 + # Rudely, the number of image planes can be used to determine + # whether we are L (PGM), LA (PAM), RGB (PPM), or RGBA (PAM). + planes = meta['planes'] + # Can be an assert as long as we assume that pixels and meta came + # from a PNG file. + assert planes in (1,2,3,4) + if planes in (1,3): + if 1 == planes: + # PGM + # Could generate PBM if maxval is 1, but we don't (for one + # thing, we'd have to convert the data, not just blat it + # out). + fmt = 'P5' + else: + # PPM + fmt = 'P6' + header = '%s %d %d %d\n' % (fmt, width, height, maxval) + if planes in (2,4): + # PAM + # See http://netpbm.sourceforge.net/doc/pam.html + if 2 == planes: + tupltype = 'GRAYSCALE_ALPHA' + else: + tupltype = 'RGB_ALPHA' + header = ('P7\nWIDTH %d\nHEIGHT %d\nDEPTH %d\nMAXVAL %d\n' + 'TUPLTYPE %s\nENDHDR\n' % + (width, height, planes, maxval, tupltype)) + file.write(header.encode('ascii')) + # Values per row + vpr = planes * width + # struct format + fmt = '>%d' % vpr + if maxval > 0xff: + fmt = fmt + 'H' + else: + fmt = fmt + 'B' + for row in pixels: + file.write(struct.pack(fmt, *row)) + file.flush() + +def color_triple(color): + """ + Convert a command line colour value to a RGB triple of integers. + FIXME: Somewhere we need support for greyscale backgrounds etc. + """ + if color.startswith('#') and len(color) == 4: + return (int(color[1], 16), + int(color[2], 16), + int(color[3], 16)) + if color.startswith('#') and len(color) == 7: + return (int(color[1:3], 16), + int(color[3:5], 16), + int(color[5:7], 16)) + elif color.startswith('#') and len(color) == 13: + return (int(color[1:5], 16), + int(color[5:9], 16), + int(color[9:13], 16)) + +def _add_common_options(parser): + """Call *parser.add_option* for each of the options that are + common between this PNG--PNM conversion tool and the gen + tool. + """ + parser.add_option("-i", "--interlace", + default=False, action="store_true", + help="create an interlaced PNG file (Adam7)") + parser.add_option("-t", "--transparent", + action="store", type="string", metavar="#RRGGBB", + help="mark the specified colour as transparent") + parser.add_option("-b", "--background", + action="store", type="string", metavar="#RRGGBB", + help="save the specified background colour") + parser.add_option("-g", "--gamma", + action="store", type="float", metavar="value", + help="save the specified gamma value") + parser.add_option("-c", "--compression", + action="store", type="int", metavar="level", + help="zlib compression level (0-9)") + return parser + +def _main(argv): + """ + Run the PNG encoder with options from the command line. + """ + + # Parse command line arguments + from optparse import OptionParser + version = '%prog ' + __version__ + parser = OptionParser(version=version) + parser.set_usage("%prog [options] [imagefile]") + parser.add_option('-r', '--read-png', default=False, + action='store_true', + help='Read PNG, write PNM') + parser.add_option("-a", "--alpha", + action="store", type="string", metavar="pgmfile", + help="alpha channel transparency (RGBA)") + _add_common_options(parser) + + (options, args) = parser.parse_args(args=argv[1:]) + + # Convert options + if options.transparent is not None: + options.transparent = color_triple(options.transparent) + if options.background is not None: + options.background = color_triple(options.background) + + # Prepare input and output files + if len(args) == 0: + infilename = '-' + infile = sys.stdin + elif len(args) == 1: + infilename = args[0] + infile = open(infilename, 'rb') + else: + parser.error("more than one input file") + outfile = sys.stdout + if sys.platform == "win32": + import msvcrt, os + msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) + + if options.read_png: + # Encode PNG to PPM + png = Reader(file=infile) + width,height,pixels,meta = png.asDirect() + write_pnm(outfile, width, height, pixels, meta) + else: + # Encode PNM to PNG + format, width, height, depth, maxval = \ + read_pnm_header(infile, ('P5','P6','P7')) + # When it comes to the variety of input formats, we do something + # rather rude. Observe that L, LA, RGB, RGBA are the 4 colour + # types supported by PNG and that they correspond to 1, 2, 3, 4 + # channels respectively. So we use the number of channels in + # the source image to determine which one we have. We do not + # care about TUPLTYPE. + greyscale = depth <= 2 + pamalpha = depth in (2,4) + supported = map(lambda x: 2**x-1, range(1,17)) + try: + mi = supported.index(maxval) + except ValueError: + raise NotImplementedError( + 'your maxval (%s) not in supported list %s' % + (maxval, str(supported))) + bitdepth = mi+1 + writer = Writer(width, height, + greyscale=greyscale, + bitdepth=bitdepth, + interlace=options.interlace, + transparent=options.transparent, + background=options.background, + alpha=bool(pamalpha or options.alpha), + gamma=options.gamma, + compression=options.compression) + if options.alpha: + pgmfile = open(options.alpha, 'rb') + format, awidth, aheight, adepth, amaxval = \ + read_pnm_header(pgmfile, 'P5') + if amaxval != '255': + raise NotImplementedError( + 'maxval %s not supported for alpha channel' % amaxval) + if (awidth, aheight) != (width, height): + raise ValueError("alpha channel image size mismatch" + " (%s has %sx%s but %s has %sx%s)" + % (infilename, width, height, + options.alpha, awidth, aheight)) + writer.convert_ppm_and_pgm(infile, pgmfile, outfile) + else: + writer.convert_pnm(infile, outfile) + + +if __name__ == '__main__': + try: + _main(sys.argv) + except Error: + e = sys.exc_info()[1] + print(e, file=sys.stderr) diff --git a/docs/release/scripts/build/png2bdc.py b/docs/release/scripts/build/png2bdc.py new file mode 100644 index 00000000000..a1be5c552d0 --- /dev/null +++ b/docs/release/scripts/build/png2bdc.py @@ -0,0 +1,391 @@ +#!/usr/bin/env python +## +## license:BSD-3-Clause +## copyright-holders:Aaron Giles, Andrew Gardner +## **************************************************************************** +## +## png2bdc.c +## +## Super-simple PNG to BDC file generator +## +## **************************************************************************** +## +## Format of PNG data: +## +## Multiple rows of characters. A black pixel means "on". All other colors +## mean "off". Each row looks like this: +## +## * 8888 *** * +## * 4444 * * ** +## * 2222 * * * +## * 1111 * * * +## * * * * +## ** *** *** +## * +## * +## +## ****** **** +## +## The column of pixels on the left-hand side (column 0) indicates the +## character cell height. This column must be present on each row and +## the height must be consistent for each row. +## +## Protruding one pixel into column 1 is the baseline indicator. There +## should only be one row with a pixel in column 1 for each line, and +## that pixel row index should be consistent for each row. +## +## In columns 2-5 are a 4-hex-digit starting character index number. This +## is encoded as binary value. Each column is 4 pixels tall and represents +## one binary digit. The character index number is the unicode character +## number of the first character encoded in this row; subsequent +## characters in the row are at increasing character indices. +## +## Starting in column 6 and beyond are the actual character bitmaps. +## Below them, in the second row after the last row of the character, +## is a solid line that indicates the width of the character, and also +## where the character bitmap begins and ends. +## +## *************************************************************************** + +## +## Python note: +## This is a near-literal translation of the original C++ code. As such there +## are some very non-pythonic things done throughout. The conversion was done +## this way so as to insure compatibility as much as possible given the small +## number of test cases. +## + +import os +import png +import sys + +if sys.version_info >= (3,): + def b2p(v): + return bytes([v]) +else: + def b2p(v): + return chr(v) + + +######################################## +## Helper classes +######################################## +class RenderFontChar: + """ + Contains information about a single character in a font. + """ + + def __init__(self): + """ + """ + self.width = 0 # width from this character to the next + self.xOffs = 0 # X offset from baseline to top,left of bitmap + self.yOffs = 0 # Y offset from baseline to top,left of bitmap + self.bmWidth = 0 # width of bitmap + self.bmHeight = 0 # height of bitmap + self.bitmap = None # pointer to the bitmap containing the raw data + + +class RenderFont: + """ + Contains information about a font + """ + + def __init__(self): + self.height = 0 # height of the font, from ascent to descent + self.yOffs = 0 # y offset from baseline to descent + self.defChar = -1 # default character for glyphs not present + self.chars = list() # array of characters + for i in range(0, 65536): + self.chars.append(RenderFontChar()) + + + +######################################## +## Helper functions +######################################## +def pixelIsSet(value): + return (value & 0xffffff) == 0 + + +def renderFontSaveCached(font, filename, length64, hash32): + """ + """ + fp = open(filename, "wb") + if not fp: + return 1 + + # Write the header + numChars = 0 + for c in font.chars: + if c.width > 0: + numChars += 1 + + CACHED_CHAR_SIZE = 16 + CACHED_HEADER_SIZE = 32 + + try: + fp.write(b'b') + fp.write(b'd') + fp.write(b'c') + fp.write(b'f') + fp.write(b'n') + fp.write(b't') + fp.write(b2p(1)) + fp.write(b2p(0)) + fp.write(b2p(length64 >> 56 & 0xff)) + fp.write(b2p(length64 >> 48 & 0xff)) + fp.write(b2p(length64 >> 40 & 0xff)) + fp.write(b2p(length64 >> 32 & 0xff)) + fp.write(b2p(length64 >> 24 & 0xff)) + fp.write(b2p(length64 >> 16 & 0xff)) + fp.write(b2p(length64 >> 8 & 0xff)) + fp.write(b2p(length64 >> 0 & 0xff)) + fp.write(b2p(hash32 >> 24 & 0xff)) + fp.write(b2p(hash32 >> 16 & 0xff)) + fp.write(b2p(hash32 >> 8 & 0xff)) + fp.write(b2p(hash32 >> 0 & 0xff)) + fp.write(b2p(numChars >> 24 & 0xff)) + fp.write(b2p(numChars >> 16 & 0xff)) + fp.write(b2p(numChars >> 8 & 0xff)) + fp.write(b2p(numChars >> 0 & 0xff)) + fp.write(b2p(font.height >> 8 & 0xff)) + fp.write(b2p(font.height >> 0 & 0xff)) + fp.write(b2p(font.yOffs >> 8 & 0xff)) + fp.write(b2p(font.yOffs >> 0 & 0xff)) + fp.write(b2p(font.defChar >> 24 & 0xff)) + fp.write(b2p(font.defChar >> 16 & 0xff)) + fp.write(b2p(font.defChar >> 8 & 0xff)) + fp.write(b2p(font.defChar >> 0 & 0xff)) + + # Write a blank table at first (?) + charTable = [0]*(numChars * CACHED_CHAR_SIZE) + for i in range(numChars * CACHED_CHAR_SIZE): + fp.write(b2p(charTable[i])) + + # Loop over all characters + tableIndex = 0 + + for i in range(len(font.chars)): + c = font.chars[i] + if c.width == 0: + continue + + if c.bitmap: + dBuffer = list() + accum = 0 + accbit = 7 + + # Bit-encode the character data + for y in range(0, c.bmHeight): + src = None + desty = y + font.height + font.yOffs - c.yOffs - c.bmHeight + if desty >= 0 and desty < font.height: + src = c.bitmap[desty] + for x in range(0, c.bmWidth): + if src is not None and src[x] != 0: + accum |= 1 << accbit + accbit -= 1 + if accbit+1 == 0: + dBuffer.append(accum) + accum = 0 + accbit = 7 + + # Flush any extra + if accbit != 7: + dBuffer.append(accum) + + # Write the data + for j in range(len(dBuffer)): + fp.write(b2p(dBuffer[j])) + + destIndex = tableIndex * CACHED_CHAR_SIZE + charTable[destIndex + 0] = i >> 24 & 0xff + charTable[destIndex + 1] = i >> 16 & 0xff + charTable[destIndex + 2] = i >> 8 & 0xff + charTable[destIndex + 3] = i >> 0 & 0xff + charTable[destIndex + 4] = c.width >> 8 & 0xff + charTable[destIndex + 5] = c.width >> 0 & 0xff + charTable[destIndex + 8] = c.xOffs >> 8 & 0xff + charTable[destIndex + 9] = c.xOffs >> 0 & 0xff + charTable[destIndex + 10] = c.yOffs >> 8 & 0xff + charTable[destIndex + 11] = c.yOffs >> 0 & 0xff + charTable[destIndex + 12] = c.bmWidth >> 8 & 0xff + charTable[destIndex + 13] = c.bmWidth >> 0 & 0xff + charTable[destIndex + 14] = c.bmHeight >> 8 & 0xff + charTable[destIndex + 15] = c.bmHeight >> 0 & 0xff + tableIndex += 1 + + # Seek back to the beginning and rewrite the table + fp.seek(CACHED_HEADER_SIZE, 0) + for i in range(numChars * CACHED_CHAR_SIZE): + fp.write(b2p(charTable[i])) + + fp.close() + return 0 + + except: + print(sys.exc_info[1]) + return 1 + + +def bitmapToChars(pngObject, font): + """ + Convert a bitmap to characters in the given font + """ + # Just cache the bitmap into a list of lists since random access is paramount + bitmap = list() + width = pngObject.asRGBA8()[0] + height = pngObject.asRGBA8()[1] + rowGenerator = pngObject.asRGBA8()[2] + for row in rowGenerator: + cRow = list() + irpd = iter(row) + for r,g,b,a in zip(irpd, irpd, irpd, irpd): + cRow.append(a << 24 | r << 16 | g << 8 | b) + bitmap.append(cRow) + + rowStart = 0 + while rowStart < height: + # Find the top of the row + for i in range(rowStart, height): + if pixelIsSet(bitmap[rowStart][0]): + break + rowStart += 1 + if rowStart >= height: + break + + # Find the bottom of the row + rowEnd = rowStart + 1 + for i in range(rowEnd, height): + if not pixelIsSet(bitmap[rowEnd][0]): + rowEnd -= 1 + break + rowEnd += 1 + + # Find the baseline + baseline = rowStart + for i in range(rowStart, rowEnd+1): + if pixelIsSet(bitmap[baseline][1]): + break + baseline += 1 + if baseline > rowEnd: + sys.stderr.write("No baseline found between rows %d-%d\n" % (rowStart, rowEnd)) + break + + # Set or confirm the height + if font.height == 0: + font.height = rowEnd - rowStart + 1 + font.yOffs = baseline - rowEnd + else: + if font.height != (rowEnd - rowStart + 1): + sys.stderr.write("Inconsistent font height at rows %d-%d\n" % (rowStart, rowEnd)) + break + if font.yOffs != (baseline - rowEnd): + sys.stderr.write("Inconsistent baseline at rows %d-%d\n" % (rowStart, rowEnd)) + break + + # decode the starting character + chStart = 0 + for x in range(0, 4): + for y in range(0, 4): + chStart = (chStart << 1) | pixelIsSet(bitmap[rowStart+y][2+x]) + + # Print debug info + # print("Row %d-%d, baseline %d, character start %X" % (rowStart, rowEnd, baseline, chStart)) + + # scan the column to find characters + colStart = 0 + while colStart < width: + ch = RenderFontChar() + + # Find the start of the character + for i in range(colStart, width): + if pixelIsSet(bitmap[rowEnd+2][colStart]): + break + colStart += 1 + if colStart >= width: + break + + # Find the end of the character + colEnd = colStart + 1 + for i in range(colEnd, width): + if not pixelIsSet(bitmap[rowEnd+2][colEnd]): + colEnd -= 1 + break + colEnd += 1 + + # Skip char which code is already registered + if ch.width <= 0: + # Print debug info + # print " Character %X - width = %d" % (chStart, colEnd - colStart + 1) + + # Plot the character + ch.bitmap = list() + for y in range(rowStart, rowEnd+1): + ch.bitmap.append(list()) + for x in range(colStart, colEnd+1): + if pixelIsSet(bitmap[y][x]): + ch.bitmap[-1].append(0xffffffff) + else: + ch.bitmap[-1].append(0x00000000) + + # Set the character parameters + ch.width = colEnd - colStart + 1 + ch.xOffs = 0 + ch.yOffs = font.yOffs + ch.bmWidth = len(ch.bitmap[0]) + ch.bmHeight = len(ch.bitmap) + + # Insert the character into the list + font.chars[chStart] = ch + + # Next character + chStart += 1 + colStart = colEnd + 1 + + # Next row + rowStart = rowEnd + 1 + + # Return non-zero if we errored + return rowStart < height + + + +######################################## +## Main +######################################## +def main(): + if len(sys.argv) < 3: + sys.stderr.write("Usage:\n%s <input.png> [<input2.png> [...]] <output.bdc>\n" % sys.argv[0]) + return 1 + bdcName = sys.argv[-1] + + font = RenderFont() + for i in range(1, len(sys.argv)-1): + filename = sys.argv[i] + if not os.path.exists(filename): + sys.stderr.write("Error attempting to open PNG file.\n") + return 1 + + pngObject = png.Reader(filename) + try: + pngObject.validate_signature() + except: + sys.stderr.write("Error reading PNG file.\n") + return 1 + + error = bitmapToChars(pngObject, font) + if error: + return 1 + + error = renderFontSaveCached(font, bdcName, 0, 0) + return error + + + +######################################## +## Program entry point +######################################## +if __name__ == "__main__": + sys.exit(main()) diff --git a/docs/release/scripts/build/verinfo.py b/docs/release/scripts/build/verinfo.py new file mode 100644 index 00000000000..3437288b447 --- /dev/null +++ b/docs/release/scripts/build/verinfo.py @@ -0,0 +1,181 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Aaron Giles, Andrew Gardner + +from __future__ import with_statement + +import re +import sys + + +def parse_args(): + def usage(): + sys.stderr.write('Usage: verinfo.py [-b mame|mess|ume] [-r|-p] [-o <outfile>] <srcfile>\n') + sys.exit(1) + + flags = True + target = 'mame' + format = 'rc' + input = None + output = None + i = 1 + while i < len(sys.argv): + if flags and (sys.argv[i] == '-r'): + format = 'rc' + elif flags and (sys.argv[i] == '-p'): + format = 'plist' + elif flags and (sys.argv[i] == '-b'): + i += 1 + if (i >= len(sys.argv)): + usage() + else: + target = sys.argv[i] + elif flags and (sys.argv[i] == '-o'): + i += 1 + if (i >= len(sys.argv)) or (output is not None): + usage() + else: + output = sys.argv[i] + elif flags and (sys.argv[i] == '--'): + flags = False + elif flags and sys.argv[i].startswith('-'): + usage() + elif input is not None: + usage() + else: + input = sys.argv[i] + i += 1 + if input is None: + usage() + return target, format, input, output + + +def extract_version(input): + pattern = re.compile('\s+BARE_BUILD_VERSION\s+"(([^."]+)\.([^."]+))"') + for line in input.readlines(): + match = pattern.search(line) + if match: + return match.group(1), match.group(2), match.group(3) + return None, None, None + + +build, outfmt, srcfile, dstfile = parse_args() + +try: + fp = open(srcfile, 'rU') +except IOError: + sys.stderr.write("Unable to open source file '%s'\n" % srcfile) + sys.exit(1) + +version_string, version_major, version_minor = extract_version(fp) +version_build = "0" +version_subbuild = "0" +if not version_string: + sys.stderr.write("Unable to extract version from source file '%s'\n" % srcfile) + sys.exit(1) +fp.close() + +if dstfile is not None: + try: + fp = open(dstfile, 'w') + except IOError: + sys.stderr.write("Unable to open output file '%s'\n" % dstfile) + sys.exit(1) +else: + fp = sys.stdout + +legal_copyright = "Copyright Nicola Salmoria and the MAME team" + +if build == "mess": + # MESS + author = "MESS Team" + comments = "Multi Emulation Super System" + company_name = "MESS Team" + file_description = "MESS" + internal_name = "MESS" + original_filename = "MESS" + product_name = "MESS" + bundle_identifier = "org.mamedev.mess" +elif build == "hbmame": + # HBMAME + author = "Robbbert and the MAME team" + legal_copyright = author + comments = "Homebrew MAME" + company_name = "MAME Team" + file_description = "HBMAME" + internal_name = "HBMAME" + original_filename = "HBMAME" + product_name = "HBMAME" + bundle_identifier = "org.mamedev.hbmame" +else: + # MAME + author = "Nicola Salmoria and the MAME Team" + comments = "Multi-purpose emulation framework" + company_name = "MAME Team" + file_description = "MAME" + internal_name = "MAME" if build == "mame" else build + original_filename = "MAME" if build == "mame" else build + product_name = "MAME" if build == "mame" else build + bundle_identifier = "org.mamedev." + build + +if outfmt == 'rc': + fp.write('VS_VERSION_INFO VERSIONINFO\n') + fp.write('\tFILEVERSION %s,%s,%s,%s\n' % (version_major, version_minor, version_build, version_subbuild)) + fp.write('\tPRODUCTVERSION %s,%s,%s,%s\n' % (version_major, version_minor, version_build, version_subbuild)) + fp.write('\tFILEFLAGSMASK 0x3fL\n') + if version_build == 0: + fp.write('\tFILEFLAGS 0x0L\n') + else: + fp.write('\tFILEFLAGS VS_FF_PRERELEASE\n') + fp.write('\tFILEOS VOS_NT_WINDOWS32\n') + fp.write('\tFILETYPE VFT_APP\n') + fp.write('\tFILESUBTYPE VFT2_UNKNOWN\n') + fp.write('BEGIN\n') + fp.write('\tBLOCK "StringFileInfo"\n') + fp.write('\tBEGIN\n') + fp.write('#ifdef UNICODE\n') + fp.write('\t\tBLOCK "040904b0"\n') + fp.write('#else\n') + fp.write('\t\tBLOCK "040904E4"\n') + fp.write('#endif\n') + fp.write('\t\tBEGIN\n') + fp.write('\t\t\tVALUE "Author", "%s\\0"\n' % author) + fp.write('\t\t\tVALUE "Comments", "%s\\0"\n' % comments) + fp.write('\t\t\tVALUE "CompanyName", "%s\\0"\n' % company_name) + fp.write('\t\t\tVALUE "FileDescription", "%s\\0"\n' % file_description) + fp.write('\t\t\tVALUE "FileVersion", "%s, %s, %s, %s\\0"\n' % (version_major, version_minor, version_build, version_subbuild)) + fp.write('\t\t\tVALUE "InternalName", "%s\\0"\n' % internal_name) + fp.write('\t\t\tVALUE "LegalCopyright", "%s\\0"\n' % legal_copyright) + fp.write('\t\t\tVALUE "OriginalFilename", "%s\\0"\n' % original_filename) + fp.write('\t\t\tVALUE "ProductName", "%s\\0"\n' % product_name) + fp.write('\t\t\tVALUE "ProductVersion", "%s\\0"\n' % version_string) + fp.write('\t\tEND\n') + fp.write('\tEND\n') + fp.write('\tBLOCK "VarFileInfo"\n') + fp.write('\tBEGIN\n') + fp.write('#ifdef UNICODE\n') + fp.write('\t\tVALUE "Translation", 0x409, 1200\n') + fp.write('#else\n') + fp.write('\t\tVALUE "Translation", 0x409, 1252\n') + fp.write('#endif\n') + fp.write('\tEND\n') + fp.write('END\n') +elif outfmt == 'plist': + fp.write('<?xml version="1.0" encoding="UTF-8"?>\n') + fp.write('<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n') + fp.write('<plist version="1.0">\n') + fp.write('<dict>\n') + fp.write('\t<key>CFBundleDisplayName</key>\n') + fp.write('\t<string>%s</string>\n' % product_name) + fp.write('\t<key>CFBundleIdentifier</key>\n') + fp.write('\t<string>%s</string>\n' % bundle_identifier) + fp.write('\t<key>CFBundleInfoDictionaryVersion</key>\n') + fp.write('\t<string>6.0</string>\n') + fp.write('\t<key>CFBundleName</key>\n') + fp.write('\t<string>%s</string>\n' % product_name) + fp.write('\t<key>CFBundleShortVersionString</key>\n') + fp.write('\t<string>%s.%s.%s</string>\n' % (version_major, version_minor, version_build)) + fp.write('</dict>\n') + fp.write('</plist>\n') +fp.flush() diff --git a/docs/release/scripts/depfilter.awk b/docs/release/scripts/depfilter.awk new file mode 100644 index 00000000000..74f3cce9ce7 --- /dev/null +++ b/docs/release/scripts/depfilter.awk @@ -0,0 +1,25 @@ +function base_dir(f) +{ + ne = split(f, s, "/") + for(k=ne;k>=1 && s[k] != "src";k--); + r = s[k] + for(j=k+1;j<ne;j++) + r = r "/" s[j] + return r +} + +{ + for(i=1; i<=NF; i++) { + if($i != "\\") { + ff = $i + fd = base_dir(ff) + if(substr(ff,length(ff)) == ":") { + root_dir = fd + } else if(fd != root_dir) { + if(fd == "src/emu" || fd == "src/osd" || fd == "src/lib/util") + $i = "" + } + } + } + print +}
\ No newline at end of file diff --git a/docs/release/scripts/extlib.lua b/docs/release/scripts/extlib.lua new file mode 100644 index 00000000000..a1fa4f5eb9d --- /dev/null +++ b/docs/release/scripts/extlib.lua @@ -0,0 +1,128 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team,Jeffrey Clark + +local extlibs = { +-- +-- 3rdparty system 3rdparty +-- lib name: lib name, include dir +-- + asio = { "asio", "3rdparty/asio/include" }, + expat = { "expat", "3rdparty/expat/lib" }, + zlib = { "z", "3rdparty/zlib" }, + jpeg = { "jpeg", "3rdparty/libjpeg" }, + flac = { "FLAC", "3rdparty/libflac/include" }, + sqlite3 = { "sqlite3", "3rdparty/sqlite3" }, + portmidi = { "portmidi", "3rdparty/portmidi/pm_common" }, + portaudio = { "portaudio", "3rdparty/portaudio/include" }, + lua = { "lua", "3rdparty/lua/src" }, + utf8proc = { "utf8proc", "3rdparty/utf8proc" }, + glm = { "glm", "3rdparty/glm" }, + rapidjson = { "rapidjson", "3rdparty/rapidjson/include" }, + pugixml = { "pugixml", "3rdparty/pugixml/src" }, +} + +-- system lib options +newoption { + trigger = 'with-system-asio', + description = 'Use system Asio library', +} + +newoption { + trigger = 'with-system-expat', + description = 'Use system Expat library', +} + +newoption { + trigger = 'with-system-zlib', + description = 'Use system Zlib library', +} + +newoption { + trigger = 'with-system-jpeg', + description = 'Use system JPEG library', +} + +newoption { + trigger = 'with-system-flac', + description = 'Use system FLAC library', +} + +newoption { + trigger = 'with-system-sqlite3', + description = 'Use system SQLite library', +} + +newoption { + trigger = 'with-system-portmidi', + description = 'Use system PortMidi library', +} + +newoption { + trigger = 'with-system-portaudio', + description = 'Use system PortAudio library', +} + +newoption { + trigger = "with-system-lua", + description = "Use system LUA library", +} + +newoption { + trigger = "with-system-utf8proc", + description = "Use system utf8proc library", +} + +newoption { + trigger = "with-system-glm", + description = "Use system glm library", +} + +newoption { + trigger = "with-system-rapidjson", + description = "Use system rapidjson library", +} + +newoption { + trigger = "with-system-pugixml", + description = "Use system pugixml library", +} + +-- build helpers +function ext_lib(lib) + local opt = _OPTIONS["with-system-" .. lib] + if (opt~=nil and opt=="1") then + default = extlibs[lib][1] + else + default = lib + end + return ext_best(lib, default, 1) +end + +function ext_includedir(lib) + local opt = _OPTIONS["with-system-" .. lib] + if (opt==nil or opt=="0") then + -- using bundled, prepend MAME_DIR + default = MAME_DIR .. extlibs[lib][2] + else + default = "" + end + return ext_best(lib, default, 2) +end + +function ext_best(lib, default, idx) + local opt = _OPTIONS["with-system-" .. lib] + local found = default + if (opt~=nil and opt~="0" and opt~="1") then + -- override default if provided (format <libname:includedir>) + local x = opt:explode(":") + if x[idx]~=nil then + local y = x[idx]:explode(",") + if y[1]~=nil then + found = y + else + found = x[idx] + end + end + end + return found +end diff --git a/docs/release/scripts/font/LICENSE b/docs/release/scripts/font/LICENSE new file mode 100644 index 00000000000..d952d62c065 --- /dev/null +++ b/docs/release/scripts/font/LICENSE @@ -0,0 +1,92 @@ +This Font Software is licensed under the SIL Open Font License, +Version 1.1. + +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font +creation efforts of academic and linguistic communities, and to +provide a free and open framework in which fonts may be shared and +improved in partnership with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply to +any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software +components as distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, +deleting, or substituting -- in part or in whole -- any of the +components of the Original Version, by changing formats or by porting +the Font Software to a new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, +modify, redistribute, and sell modified and unmodified copies of the +Font Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, in +Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the +corresponding Copyright Holder. This restriction only applies to the +primary font name as presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created using +the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/docs/release/scripts/font/NotoSans-Bold.bdc b/docs/release/scripts/font/NotoSans-Bold.bdc Binary files differnew file mode 100644 index 00000000000..2ac5c7e0e59 --- /dev/null +++ b/docs/release/scripts/font/NotoSans-Bold.bdc diff --git a/docs/release/scripts/font/NotoSans-Bold.ttf b/docs/release/scripts/font/NotoSans-Bold.ttf Binary files differnew file mode 100644 index 00000000000..21dddde9d3b --- /dev/null +++ b/docs/release/scripts/font/NotoSans-Bold.ttf diff --git a/docs/release/scripts/font/README.md b/docs/release/scripts/font/README.md new file mode 100644 index 00000000000..36ed4bbac77 --- /dev/null +++ b/docs/release/scripts/font/README.md @@ -0,0 +1,52 @@ + + +# Noto fonts + +Noto's goal is to provide a beautiful reading experience for everyone and for all languages. With visual harmony when multiple languages share a page. With multiple styles and weights. **_Freely available to all._** + +Currently, Noto covers all major languages of the world and many others, including European, African, Middle Eastern, Indic, South and Southeast Asian, Central Asian, American, and East Asian languages. Several minority and historical languages are also supported. + +Support for Simplified Chinese, Traditional Chinese, Japanese, and Korean was first added in July 2014. + +You can preview and download the Noto fonts at http://www.google.com/get/noto + +Noto fonts are open source. All fonts are published under the [SIL Open Font License, Version 1.1](http://scripts.sil.org/OFL). (Prior to September 29, 2015, Noto fonts other than CJK were published under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).) + +Use unhinted fonts for Android and Mac (Android and Mac ignore hinting information embedded in fonts). Use hinted fonts for other platforms. + +## Development + +All Noto fonts are included in this repository, except: + + * Noto CJK fonts are in [noto-cjk](https://github.com/googlei18n/noto-cjk), + * Noto Emoji and Noto Color Emoji are in [noto-emoji](https://github.com/googlei18n/noto-emoji). + +Tools used for testing fonts are in [nototools](https://github.com/googlei18n/nototools). + +Some source files are available in [noto-source](https://github.com/googlei18n/noto-source). + +Development and user discussions happen on the [noto-font Google Group](https://groups.google.com/d/forum/noto-font). + +## News + +* [2015-09-29](NEWS): All Noto fonts now licensed under SIL Open Font License v1.1. + +* 2015-06-08: The Noto project moved from Google Code to Github. + +* 2015-04-20: Noto Sans CJK Version 1.002 released. + +* 2015-03-30: Noto Sans Oriya and and a new design for Armenian fonts released. + +* 2014-10-23: Experimental version of Noto Nastaliq Urdu released. + +## Special Note on Droid Fonts + +The Droid fonts are superseded by Noto. Noto began as Droid, and since renaming all updates are made to the Noto fonts. +Today Noto gives better support to all languages covered by Droid fonts, with more characters and fewer bugs, and covers many more languages. +Both Android and ChromeOS have switched to Noto, and we strongly recommend everyone to replace Droid with Noto. + +Similarly, the Droid Sans Fallback font is superseded by Noto Sans CJK, available from [noto-cjk](https://github.com/googlei18n/noto-cjk). + +Have fun! + +Google Internationalization Team diff --git a/docs/release/scripts/genie.lua b/docs/release/scripts/genie.lua new file mode 100644 index 00000000000..aea60a45cc5 --- /dev/null +++ b/docs/release/scripts/genie.lua @@ -0,0 +1,1579 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team +STANDALONE = false + +-- Big project specific +premake.make.makefile_ignore = true +premake._checkgenerate = false + +newoption { + trigger = 'build-dir', + description = 'Build directory name', +} + +premake.check_paths = true +premake.make.override = { "TARGET" } + +premake.xcode.parameters = { 'CLANG_CXX_LANGUAGE_STANDARD = "c++14"', 'CLANG_CXX_LIBRARY = "libc++"' } + +MAME_DIR = (path.getabsolute("..") .. "/") +--MAME_DIR = string.gsub(MAME_DIR, "(%s)", "\\%1") +local MAME_BUILD_DIR = (MAME_DIR .. _OPTIONS["build-dir"] .. "/") +local naclToolchain = "" + +newoption { + trigger = "precompile", + description = "Precompiled headers generation.", + allowed = { + { "0", "Disabled" }, + { "1", "Enabled" }, + } +} + +function backtick(cmd) + result = string.gsub(string.gsub(os.outputof(cmd), "\r?\n$", ""), " $", "") + return result +end + +function str_to_version(str) + local val = 0 + if (str == nil or str == '') then + return val + end + local cnt = 10000 + for word in string.gmatch(str, '([^.]+)') do + val = val + tonumber(word) * cnt + cnt = cnt / 100 + end + return val +end + +function findfunction(x) + assert(type(x) == "string") + local f=_G + for v in x:gmatch("[^%.]+") do + if type(f) ~= "table" then + return nil, "looking for '"..v.."' expected table, not "..type(f) + end + f=f[v] + end + if type(f) == "function" then + return f + else + return nil, "expected function, not "..type(f) + end +end + +function layoutbuildtask(_folder, _name) + return { MAME_DIR .. "src/".._folder.."/".. _name ..".lay" , GEN_DIR .. _folder .. "/".._name..".lh", + { MAME_DIR .. "scripts/build/complay.py" }, {"@echo Compressing src/".._folder.."/".._name..".lay...", PYTHON .. " $(1) $(<) $(@) layout_".._name }}; +end + +function precompiledheaders() + if _OPTIONS["precompile"]==nil or (_OPTIONS["precompile"]~=nil and _OPTIONS["precompile"]=="1") then + configuration { "not xcode4" } + pchheader("emu.h") + configuration { } + end +end + +function addprojectflags() + local version = str_to_version(_OPTIONS["gcc_version"]) + if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "gcc") then + if version >= 50100 then + buildoptions_cpp { + "-Wsuggest-override", + } + end + if version >= 60000 then + buildoptions_cpp { + "-flifetime-dse=1", + } + end + end +end + +CPUS = {} +SOUNDS = {} +MACHINES = {} +VIDEOS = {} +BUSES = {} +FORMATS = {} + +newoption { + trigger = "with-tools", + description = "Enable building tools.", +} + +newoption { + trigger = "with-tests", + description = "Enable building tests.", +} + +newoption { + trigger = "with-benchmarks", + description = "Enable building benchmarks.", +} + +newoption { + trigger = "osd", + description = "Choose OSD layer implementation", +} + +newoption { + trigger = "targetos", + description = "Choose target OS", + allowed = { + { "android", "Android" }, + { "asmjs", "Emscripten/asm.js" }, + { "freebsd", "FreeBSD" }, + { "netbsd", "NetBSD" }, + { "openbsd", "OpenBSD" }, + { "pnacl", "Native Client - PNaCl" }, + { "linux", "Linux" }, + { "ios", "iOS" }, + { "macosx", "OSX" }, + { "windows", "Windows" }, + { "haiku", "Haiku" }, + { "solaris", "Solaris SunOS" }, + { "steamlink", "Steam Link" }, + { "rpi", "Raspberry Pi" }, + { "ci20", "Creator-Ci20" }, + }, +} + +newoption { + trigger = 'with-bundled-sdl2', + description = 'Build bundled SDL2 library', +} + +newoption { + trigger = "distro", + description = "Choose distribution", + allowed = { + { "generic", "generic" }, + { "debian-stable", "debian-stable" }, + { "ubuntu-intrepid", "ubuntu-intrepid" }, + }, +} + +newoption { + trigger = "target", + description = "Building target", +} + +newoption { + trigger = "subtarget", + description = "Building subtarget", +} + +newoption { + trigger = "gcc_version", + description = "GCC compiler version", +} + +newoption { + trigger = "CC", + description = "CC replacement", +} + +newoption { + trigger = "CXX", + description = "CXX replacement", +} + +newoption { + trigger = "LD", + description = "LD replacement", +} + +newoption { + trigger = "TOOLCHAIN", + description = "Toolchain prefix" +} + +newoption { + trigger = "PROFILE", + description = "Enable profiling.", +} + +newoption { + trigger = "SYMBOLS", + description = "Enable symbols.", +} + +newoption { + trigger = "SYMLEVEL", + description = "Symbols level.", +} + +newoption { + trigger = "PROFILER", + description = "Include the internal profiler.", +} + +newoption { + trigger = "OPTIMIZE", + description = "Optimization level.", +} + +newoption { + trigger = "ARCHOPTS", + description = "Additional options for target C/C++/Objective-C/Objective-C++ compilers and linker.", +} + +newoption { + trigger = "ARCHOPTS_C", + description = "Additional options for target C++ compiler.", +} + +newoption { + trigger = "ARCHOPTS_CXX", + description = "Additional options for target C++ compiler.", +} + +newoption { + trigger = "ARCHOPTS_OBJC", + description = "Additional options for target Objective-C compiler.", +} + +newoption { + trigger = "ARCHOPTS_OBJCXX", + description = "Additional options for target Objective-C++ compiler.", +} + +newoption { + trigger = "OPT_FLAGS", + description = "OPT_FLAGS.", +} + +newoption { + trigger = "LDOPTS", + description = "Additional linker options", +} + +newoption { + trigger = "MAP", + description = "Generate a link map.", +} + +newoption { + trigger = "NOASM", + description = "Disable implementations based on assembler code", + allowed = { + { "0", "Enable assembler code" }, + { "1", "Disable assembler code" }, + }, +} + +newoption { + trigger = "BIGENDIAN", + description = "Build for big endian target", + allowed = { + { "0", "Little endian target" }, + { "1", "Big endian target" }, + }, +} + +newoption { + trigger = "FORCE_DRC_C_BACKEND", + description = "Force DRC C backend.", +} + +newoption { + trigger = "NOWERROR", + description = "NOWERROR", +} + +newoption { + trigger = "DEPRECATED", + description = "Generate deprecation warnings during compilation.", + allowed = { + { "0", "Disabled" }, + { "1", "Enabled" }, + } +} + +newoption { + trigger = "LTO", + description = "Clang link time optimization.", + allowed = { + { "0", "Disabled" }, + { "1", "Enabled" }, + } +} + +newoption { + trigger = "SSE2", + description = "SSE2 optimized code and SSE2 code generation.", + allowed = { + { "0", "Disabled" }, + { "1", "Enabled" }, + } +} + +newoption { + trigger = "SSE3", + description = "SSE3 optimized code and SSE3 code generation.", + allowed = { + { "0", "Disabled" }, + { "1", "Enabled" }, + } +} + +newoption { + trigger = "OPENMP", + description = "OpenMP optimized code.", + allowed = { + { "0", "Disabled" }, + { "1", "Enabled" }, + } +} + +newoption { + trigger = "FASTDEBUG", + description = "Fast DEBUG.", + allowed = { + { "0", "Disabled" }, + { "1", "Enabled" }, + } +} + +newoption { + trigger = "SEPARATE_BIN", + description = "Use separate bin folders.", + allowed = { + { "0", "Disabled" }, + { "1", "Enabled" }, + } +} + +newoption { + trigger = "PYTHON_EXECUTABLE", + description = "Python executable.", +} + +newoption { + trigger = "SHADOW_CHECK", + description = "Shadow checks.", + allowed = { + { "0", "Disabled" }, + { "1", "Enabled" }, + } +} + +newoption { + trigger = "STRIP_SYMBOLS", + description = "Symbols stripping.", + allowed = { + { "0", "Disabled" }, + { "1", "Enabled" }, + } +} + + +newoption { + trigger = "SHLIB", + description = "Generate shared libs.", + allowed = { + { "0", "Static libs" }, + { "1", "Shared libs" }, + } +} + +newoption { + trigger = "SOURCES", + description = "List of sources to compile.", +} + +newoption { + trigger = "PLATFORM", + description = "Target machine platform (x86,arm,...)", +} + +newoption { + trigger = "DEBUG_DIR", + description = "Default directory for debugger.", +} + +newoption { + trigger = "DEBUG_ARGS", + description = "Arguments for running debug build.", +} + +newoption { + trigger = "WEBASSEMBLY", + description = "Produce WebAssembly output when building with Emscripten.", +} + +newoption { + trigger = "SANITIZE", + description = "Specifies the santizer(s) to use." +} + +newoption { + trigger = "PROJECT", + description = "Select projects to be built. Will look into project folder for files.", +} + +dofile ("extlib.lua") + +if _OPTIONS["SHLIB"]=="1" then + LIBTYPE = "SharedLib" +else + LIBTYPE = "StaticLib" +end + +PYTHON = "python" + +if _OPTIONS["PYTHON_EXECUTABLE"]~=nil then + PYTHON = _OPTIONS["PYTHON_EXECUTABLE"] +end + +if not _OPTIONS["BIGENDIAN"] then + _OPTIONS["BIGENDIAN"] = "0" +end + +if _OPTIONS["NOASM"]=="1" and not _OPTIONS["FORCE_DRC_C_BACKEND"] then + _OPTIONS["FORCE_DRC_C_BACKEND"] = "1" +end + +if(_OPTIONS["TOOLCHAIN"] == nil) then + _OPTIONS['TOOLCHAIN'] = "" +end + +GEN_DIR = MAME_BUILD_DIR .. "generated/" + +if (_OPTIONS["target"] == nil) then return false end +if (_OPTIONS["subtarget"] == nil) then return false end + +if (_OPTIONS["target"] == _OPTIONS["subtarget"]) then + solution (_OPTIONS["target"]) +else + if (_OPTIONS["subtarget"]=="mess") then + solution (_OPTIONS["subtarget"]) + else + solution (_OPTIONS["target"] .. _OPTIONS["subtarget"]) + end +end + + +configurations { + "Debug", + "Release", +} + +if _ACTION == "xcode4" then + platforms { + "x64", + } +else + platforms { + "x32", + "x64", + "Native", -- for targets where bitness is not specified + } +end + +language "C++" + +flags { + "StaticRuntime", +} + +configuration { "vs20*" } + buildoptions { + "/bigobj", + } + flags { + "NoPCH", + "ExtraWarnings", + } + if not _OPTIONS["NOWERROR"] then + flags{ + "FatalWarnings", + } + end + + +configuration { "Debug", "vs20*" } + flags { + "Symbols", + "NoMultiProcessorCompilation", + } + +configuration { "Release", "vs20*" } + flags { + "Optimize", + "NoEditAndContinue", + "NoIncrementalLink", + } + +configuration { "vsllvm" } + buildoptions { + "/bigobj", + } + flags { + "NoPCH", + "ExtraWarnings", + } + if not _OPTIONS["NOWERROR"] then + flags{ + "FatalWarnings", + } + end + + +configuration { "Debug", "vsllvm" } + flags { + "Symbols", + "NoMultiProcessorCompilation", + } + +configuration { "Release", "vsllvm" } + flags { + "Optimize", + "NoEditAndContinue", + "NoIncrementalLink", + } + +-- Force VS2015/17 targets to use bundled SDL2 +if string.sub(_ACTION,1,4) == "vs20" and _OPTIONS["osd"]=="sdl" then + if _OPTIONS["with-bundled-sdl2"]==nil then + _OPTIONS["with-bundled-sdl2"] = "1" + end +end +-- Build SDL2 for Android +if _OPTIONS["targetos"] == "android" then + _OPTIONS["with-bundled-sdl2"] = "1" +end + +configuration {} + +if _OPTIONS["osd"] == "uwp" then + windowstargetplatformversion("10.0.14393.0") + windowstargetplatformminversion("10.0.14393.0") + premake._filelevelconfig = true +end + +msgcompile ("Compiling $(subst ../,,$<)...") + +msgcompile_objc ("Objective-C compiling $(subst ../,,$<)...") + +msgresource ("Compiling resources $(subst ../,,$<)...") + +msglinking ("Linking $(notdir $@)...") + +msgarchiving ("Archiving $(notdir $@)...") + +msgprecompile ("Precompiling $(subst ../,,$<)...") + +messageskip { "SkipCreatingMessage", "SkipBuildingMessage", "SkipCleaningMessage" } + +if (_OPTIONS["PROJECT"] ~= nil) then + PROJECT_DIR = path.join(path.getabsolute(".."),"projects",_OPTIONS["PROJECT"]) .. "/" + if (not os.isfile(path.join("..", "projects", _OPTIONS["PROJECT"], "scripts", "target", _OPTIONS["target"],_OPTIONS["subtarget"] .. ".lua"))) then + error("File definition for TARGET=" .. _OPTIONS["target"] .. " SUBTARGET=" .. _OPTIONS["subtarget"] .. " does not exist") + end + dofile (path.join(".." ,"projects", _OPTIONS["PROJECT"], "scripts", "target", _OPTIONS["target"],_OPTIONS["subtarget"] .. ".lua")) +end +if (_OPTIONS["SOURCES"] == nil and _OPTIONS["PROJECT"] == nil) then + if (not os.isfile(path.join("target", _OPTIONS["target"],_OPTIONS["subtarget"] .. ".lua"))) then + error("File definition for TARGET=" .. _OPTIONS["target"] .. " SUBTARGET=" .. _OPTIONS["subtarget"] .. " does not exist") + end + dofile (path.join("target", _OPTIONS["target"],_OPTIONS["subtarget"] .. ".lua")) +end + +configuration { "gmake or ninja" } + flags { + "SingleOutputDir", + } + +dofile ("toolchain.lua") + +if _OPTIONS["targetos"]=="windows" then + configuration { "x64" } + defines { + "X64_WINDOWS_ABI", + } + configuration { } +end + +-- Avoid error when invoking genie --help. +if (_ACTION == nil) then return false end + +-- define PTR64 if we are a 64-bit target +configuration { "x64 or android-*64"} + defines { "PTR64=1" } + +-- define MAME_DEBUG if we are a debugging build +configuration { "Debug" } + defines { + "MAME_DEBUG", + "MAME_PROFILER", +-- "BGFX_CONFIG_DEBUG=1", + } + +if _OPTIONS["FASTDEBUG"]=="1" then + defines { + "MAME_DEBUG_FAST", + "NDEBUG", + } +end + +configuration { } + +if _OPTIONS["PROFILER"]=="1" then + defines{ + "MAME_PROFILER", -- define MAME_PROFILER if we are a profiling build + } +end + +configuration { "Release" } + defines { + "NDEBUG", + } + +configuration { } + +-- CR/LF setup: use on win32, CR only on everything else +if _OPTIONS["targetos"]=="windows" then + defines { + "CRLF=3", + } +else + defines { + "CRLF=2", + } +end + + +if _OPTIONS["BIGENDIAN"]=="1" then + if _OPTIONS["targetos"]=="macosx" then + defines { + "OSX_PPC", + } + buildoptions { + "-Wno-unused-label", + "-flax-vector-conversions", + } + if _OPTIONS["SYMBOLS"] then + buildoptions { + "-mlong-branch", + } + end + configuration { "x64" } + buildoptions { + "-arch ppc64", + } + linkoptions { + "-arch ppc64", + } + configuration { "x32" } + buildoptions { + "-arch ppc", + } + linkoptions { + "-arch ppc", + } + configuration { } + end +else + defines { + "LSB_FIRST", + } + if _OPTIONS["targetos"]=="macosx" then + configuration { "x64" } + buildoptions { + "-arch x86_64", + } + linkoptions { + "-arch x86_64", + } + configuration { "x32" } + buildoptions { + "-arch i386", + } + linkoptions { + "-arch i386", + } + configuration { } + end +end + +if _OPTIONS["with-system-jpeg"]~=nil then + defines { + "XMD_H", + } +end + +if not _OPTIONS["with-system-flac"]~=nil then + defines { + "FLAC__NO_DLL", + } +end + +if not _OPTIONS["with-system-pugixml"] then + defines { + "PUGIXML_HEADER_ONLY", + } +else + links { + ext_lib("pugixml"), + } +end + +if _OPTIONS["NOASM"]=="1" then + defines { + "MAME_NOASM" + } +end + +if not _OPTIONS["FORCE_DRC_C_BACKEND"] then + if _OPTIONS["BIGENDIAN"]~="1" then + configuration { "x64" } + defines { + "NATIVE_DRC=drcbe_x64", + } + configuration { "x32" } + defines { + "NATIVE_DRC=drcbe_x86", + } + configuration { } + end +end + + defines { + "LUA_COMPAT_ALL", + "LUA_COMPAT_5_1", + "LUA_COMPAT_5_2", + } + + if _ACTION == "gmake" or _ACTION == "ninja" then + + --we compile C-only to C99 standard with GNU extensions + + buildoptions_c { + "-std=gnu99", + } + +local version = str_to_version(_OPTIONS["gcc_version"]) +if string.find(_OPTIONS["gcc"], "clang") and ((version < 30500) or (_OPTIONS["targetos"]=="macosx" and (version <= 60000))) then + buildoptions_cpp { + "-x c++", + "-std=c++1y", + } + + buildoptions_objcpp { + "-x objective-c++", + "-std=c++1y", + } +else + buildoptions_cpp { + "-x c++", + "-std=c++14", + } + + buildoptions_objcpp { + "-x objective-c++", + "-std=c++14", + } +end +-- this speeds it up a bit by piping between the preprocessor/compiler/assembler + if not ("pnacl" == _OPTIONS["gcc"]) then + buildoptions { + "-pipe", + } + end +-- add -g if we need symbols, and ensure we have frame pointers +if _OPTIONS["SYMBOLS"]~=nil and _OPTIONS["SYMBOLS"]~="0" then + buildoptions { + "-g" .. _OPTIONS["SYMLEVEL"], + "-fno-omit-frame-pointer", + "-fno-optimize-sibling-calls", + } +end + +--# we need to disable some additional implicit optimizations for profiling +if _OPTIONS["PROFILE"] then + buildoptions { + "-mno-omit-leaf-frame-pointer", + } +end +-- add -v if we need verbose build information +if _OPTIONS["VERBOSE"] then + buildoptions { + "-v", + } +end + +-- only show shadow warnings when enabled +if (_OPTIONS["SHADOW_CHECK"]=="1") then + buildoptions { + "-Wshadow" + } +end + +-- only show deprecation warnings when enabled +if _OPTIONS["DEPRECATED"]=="0" then + buildoptions { + "-Wno-deprecated-declarations" + } +end + +-- add profiling information for the compiler +if _OPTIONS["PROFILE"] then + buildoptions { + "-pg", + } + linkoptions { + "-pg", + } +end + +if _OPTIONS["SYMBOLS"]~=nil and _OPTIONS["SYMBOLS"]~="0" then + flags { + "Symbols", + } +end + +-- add the error warning flag +if _OPTIONS["NOWERROR"]==nil then + buildoptions { + "-Werror", + } +end + +-- if we are optimizing, include optimization options +if _OPTIONS["OPTIMIZE"] then + buildoptions { + "-O".. _OPTIONS["OPTIMIZE"], + "-fno-strict-aliasing" + } + if _OPTIONS["OPT_FLAGS"] then + buildoptions { + _OPTIONS["OPT_FLAGS"] + } + end + if _OPTIONS["LTO"]=="1" then + buildoptions { +-- windows native mingw GCC 5.2 fails with -flto=x with x > 1. bug unfixed as of this commit + "-flto=1", +-- if ld fails, just buy more RAM or uncomment this! +-- "-Wl,-no-keep-memory", + "-Wl,-v", +-- silence redefine warnings from discrete.c. + "-Wl,-allow-multiple-definition", + "-fuse-linker-plugin", +-- these next flags allow MAME to compile in GCC 5.2. odr warnings should be fixed as LTO randomly crashes otherwise +-- some GCC 4.9.x on Windows do not have -Wodr and -flto-odr-type-merging enabled. adjust accordingly... +-- no-fat-lto-objects is faster to compile and uses less memory, but you can't mix with a non-lto .o/.a without rebuilding + "-fno-fat-lto-objects", + "-flto-odr-type-merging", + "-Wodr", + "-flto-compression-level=0", -- lto doesn't work with anything <9 on linux with < 12G RAM, much slower if <> 0 +-- "-flto-report", -- if you get an error in lto after [WPA] stage, but before [LTRANS] stage, you need more memory! +-- "-fmem-report-wpa","-fmem-report","-fpre-ipa-mem-report","-fpost-ipa-mem-report","-flto-report-wpa","-fmem-report", +-- this six flag combo lets MAME compile with LTO=1 on linux with no errors and ~2% speed boost, but compile time is much longer +-- if you are going to wait on lto, you might as well enable these for GCC +-- "-fdevirtualize-at-ltrans","-fgcse-sm","-fgcse-las", +-- "-fipa-pta","-fipa-icf","-fvariable-expansion-in-unroller", + } +-- same flags are needed by linker + linkoptions { + "-flto=1", +-- "-Wl,-no-keep-memory", + "-Wl,-v", + "-Wl,-allow-multiple-definition", + "-fuse-linker-plugin", + "-fno-fat-lto-objects", + "-flto-odr-type-merging", + "-Wodr", + "-flto-compression-level=0", -- lto doesn't work with anything <9 on linux with < 12G RAM, much slower if <> 0 +-- "-flto-report", -- if you get an error in lto after [WPA] stage, but before [LTRANS] stage, you need more memory! +-- "-fmem-report-wpa","-fmem-report","-fpre-ipa-mem-report","-fpost-ipa-mem-report","-flto-report-wpa","-fmem-report", +-- this six flag combo lets MAME compile with LTO=1 on linux with no errors and ~2% speed boost, but compile time is much longer +-- if you are going to wait on lto, you might as well enable these for GCC +-- "-fdevirtualize-at-ltrans","-fgcse-sm","-fgcse-las", +-- "-fipa-pta","-fipa-icf","-fvariable-expansion-in-unroller", + + } + + end +end + +configuration { "mingw-clang" } + buildoptions { + "-Xclang -flto-visibility-public-std", -- workround for __imp___ link errors + } +configuration { } + +if _OPTIONS["ARCHOPTS"] then + buildoptions { + _OPTIONS["ARCHOPTS"] + } + linkoptions { + _OPTIONS["ARCHOPTS"] + } +end + +if _OPTIONS["ARCHOPTS_C"] then + buildoptions_c { + _OPTIONS["ARCHOPTS_C"] + } +end + +if _OPTIONS["ARCHOPTS_CXX"] then + buildoptions_cpp { + _OPTIONS["ARCHOPTS_CXX"] + } +end + +if _OPTIONS["ARCHOPTS_OBJC"] then + buildoptions_objc { + _OPTIONS["ARCHOPTS_OBJC"] + } +end + +if _OPTIONS["ARCHOPTS_OBJCXX"] then + buildoptions_objcpp { + _OPTIONS["ARCHOPTS_OBJCXX"] + } +end + +if _OPTIONS["SHLIB"] then + buildoptions { + "-fPIC" + } +end + +if _OPTIONS["SSE2"]=="1" then + buildoptions { + "-msse", + "-msse2" + } +end + +if _OPTIONS["SSE3"]=="1" then + buildoptions { + "-msse", + "-msse2", + "-msse3" + } +end + + +if _OPTIONS["OPENMP"]=="1" then + buildoptions { + "-fopenmp", + } + linkoptions { + "-fopenmp" + } + defines { + "USE_OPENMP=1", + } + +else + buildoptions { + "-Wno-unknown-pragmas", + } +end + +if _OPTIONS["LDOPTS"] then + linkoptions { + _OPTIONS["LDOPTS"] + } +end + +if _OPTIONS["MAP"] then + if (_OPTIONS["target"] == _OPTIONS["subtarget"]) then + linkoptions { + "-Wl,-Map," .. "../../../../" .. _OPTIONS["target"] .. ".map" + } + else + linkoptions { + "-Wl,-Map," .. "../../../../" .. _OPTIONS["target"] .. _OPTIONS["subtarget"] .. ".map" + } + + end +end + + +-- add a basic set of warnings + buildoptions { + "-Wall", + "-Wcast-align", + "-Wundef", + "-Wformat-security", + "-Wwrite-strings", + "-Wno-sign-compare", + "-Wno-conversion", + "-Wno-error=deprecated-declarations", + } +-- warnings only applicable to C compiles + buildoptions_c { + "-Wpointer-arith", + "-Wstrict-prototypes", + } + +if _OPTIONS["targetos"]~="freebsd" then + buildoptions_c { + "-Wbad-function-cast", + } +end + +-- warnings only applicable to OBJ-C compiles + buildoptions_objcpp { + "-Wpointer-arith", + } + +-- warnings only applicable to C++ compiles + buildoptions_cpp { + "-Woverloaded-virtual", + } + +if _OPTIONS["SANITIZE"] then + buildoptions { + "-fsanitize=".. _OPTIONS["SANITIZE"] + } + linkoptions { + "-fsanitize=".. _OPTIONS["SANITIZE"] + } + if string.find(_OPTIONS["SANITIZE"], "address") then + buildoptions { + "-fsanitize-address-use-after-scope" + } + linkoptions { + "-fsanitize-address-use-after-scope" + } + end + if string.find(_OPTIONS["SANITIZE"], "undefined") then + -- 'function' produces errors without delegates by design + -- 'alignment' produces a lot of errors which we are not interested in + buildoptions { + "-fno-sanitize=function", + "-fno-sanitize=alignment" + } + linkoptions { + "-fno-sanitize=function", + "-fno-sanitize=alignment" + } + end +end + +--ifneq (,$(findstring thread,$(SANITIZE))) +--CCOMFLAGS += -fPIE +--endif + + + + local version = str_to_version(_OPTIONS["gcc_version"]) + if string.find(_OPTIONS["gcc"], "clang") or string.find(_OPTIONS["gcc"], "pnacl") or string.find(_OPTIONS["gcc"], "asmjs") or string.find(_OPTIONS["gcc"], "android") then + if (version < 30400) then + print("Clang version 3.4 or later needed") + os.exit(-1) + end + buildoptions { + "-Wno-cast-align", + "-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 + buildoptions { + "-Wno-unknown-warning-option", + "-Wno-extern-c-compat", + "-Wno-unknown-attributes", + "-Wno-ignored-qualifiers" + } + end + if (version >= 60000) then + buildoptions { + "-Wno-pragma-pack" -- clang 6.0 complains when the packing change lifetime is not contained within a header file. + } + end + else + if (version < 50000) then + print("GCC version 5.0 or later needed") + os.exit(-1) + end + buildoptions { + "-Wno-unused-result", -- needed for fgets,fread on linux + -- array bounds checking seems to be buggy in 4.8.1 (try it on video/stvvdp1.c and video/model1.c without -Wno-array-bounds) + "-Wno-array-bounds", + } + if (version >= 80000) then + buildoptions { + "-Wno-format-overflow", -- try machine/bfm_sc45_helper.cpp in GCC 8.0.1, among others + "-Wno-stringop-truncation", -- ImGui again + "-Wno-stringop-overflow", -- formats/victor9k_dsk.cpp bugs the compiler + } + buildoptions_cpp { + "-Wno-class-memaccess", -- many instances in ImGui and BGFX + } + end + end + end + +if (_OPTIONS["PLATFORM"]=="alpha") then + defines { + "PTR64=1", + } +end + +if (_OPTIONS["PLATFORM"]=="arm") then + buildoptions { + "-Wno-cast-align", + } +end + +if (_OPTIONS["PLATFORM"]=="arm64") then + buildoptions { + "-Wno-cast-align", + } + defines { + "PTR64=1", + } +end + +if (_OPTIONS["PLATFORM"]=="riscv64") then + defines { + "PTR64=1", + } +end + +if (_OPTIONS["PLATFORM"]=="mips64") then + defines { + "PTR64=1", + } +end + +local subdir +if (_OPTIONS["target"] == _OPTIONS["subtarget"]) then + subdir = _OPTIONS["osd"] .. "/" .. _OPTIONS["target"] +else + subdir = _OPTIONS["osd"] .. "/" .. _OPTIONS["target"] .. _OPTIONS["subtarget"] +end + +if not toolchain(MAME_BUILD_DIR, subdir) then + return -- no action specified +end + +configuration { "asmjs" } + buildoptions { + "-std=gnu89", + "-Wno-implicit-function-declaration", + "-s USE_SDL_TTF=2", + } + buildoptions_cpp { + "-x c++", + "-std=c++14", + } + linkoptions { + "-Wl,--start-group", + } + archivesplit_size "20" + +configuration { "android*" } + buildoptions { + "-Wno-undef", + "-Wno-typedef-redefinition", + "-Wno-unknown-warning-option", + "-Wno-incompatible-ms-struct", + } + buildoptions_cpp { + "-x c++", + "-std=c++14", + "-Wno-extern-c-compat", + "-Wno-tautological-constant-out-of-range-compare", + "-Wno-tautological-pointer-compare", + } + archivesplit_size "20" + +configuration { "android-arm64" } + buildoptions { + "-Wno-asm-operand-widths", + } + +configuration { "pnacl" } + buildoptions { + "-std=gnu89", + "-Wno-inline-new-delete", + } + buildoptions_cpp { + "-x c++", + "-std=c++14", + } + archivesplit_size "20" + +configuration { "linux-* or rpi or ci20"} + links { + "dl", + "rt", + } + if _OPTIONS["distro"]=="debian-stable" then + defines + { + "NO_AFFINITY_NP", + } + end + + + +configuration { "steamlink" } + links { + "dl", + "EGL", + "GLESv2", + "SDL2", + } + defines { + "EGL_API_FB", + } + +configuration { "rpi" } + links { + "SDL2", + "fontconfig", + "X11", + "GLESv2", + "EGL", + "bcm_host", + "vcos", + "vchiq_arm", + "pthread", + } + + +configuration { "ci20" } + links { + "SDL2", + "asound", + "fontconfig", + "freetype", + "pthread", + } + + +configuration { "osx* or xcode4" } + links { + "pthread", + } + +configuration { "mingw*" } + if _OPTIONS["osd"]~="sdl" + then + linkoptions { + "-static", + } + end + linkoptions { + "-Wl,--start-group", + } + links { + "user32", + "winmm", + "advapi32", + "shlwapi", + "wsock32", + "ws2_32", + "psapi", + "iphlpapi", + "shell32", + "userenv", + } + +configuration { "mingw-clang" } + local version = str_to_version(_OPTIONS["gcc_version"]) + if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "clang") and ((version < 30900)) then + linkoptions { + "-pthread", + } + end + +configuration { "vsllvm" } + defines { + "XML_STATIC", + "WIN32", + "_WIN32", + "_CRT_NONSTDC_NO_DEPRECATE", + "_CRT_SECURE_NO_DEPRECATE", + "_CRT_STDIO_LEGACY_WIDE_SPECIFIERS", + } + includedirs { + MAME_DIR .. "3rdparty/dxsdk/Include" + } + +configuration { "vs20*" } + defines { + "XML_STATIC", + "WIN32", + "_WIN32", + "_CRT_NONSTDC_NO_DEPRECATE", + "_CRT_SECURE_NO_DEPRECATE", + "_CRT_STDIO_LEGACY_WIDE_SPECIFIERS", + } + +-- Windows Store/Phone projects already link against the available libraries. +if _OPTIONS["vs"]==nil or not (string.startswith(_OPTIONS["vs"], "winstore8") or string.startswith(_OPTIONS["vs"], "winphone8")) then + links { + "user32", + "winmm", + "advapi32", + "shlwapi", + "wsock32", + "ws2_32", + "psapi", + "iphlpapi", + "shell32", + "userenv", + } +end + + buildoptions { + "/WX", -- Treats all compiler warnings as errors. + "/wd4025", -- warning C4025: 'number' : based pointer passed to function with variable arguments: parameter number + "/wd4003", -- warning C4003: not enough actual parameters for macro 'xxx' + "/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 + "/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 + "/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 + "/wd4310", -- warning C4310: cast truncates constant value + "/wd4312", -- warning C4312: 'type cast' : conversion from 'xxx' to 'xxx' 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' + "/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 + "/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 + "/Qwd82", -- remark #82: storage class is not first + "/Qwd111", -- remark #111: statement is unreachable + "/Qwd128", -- remark #128: loop is not reachable + "/Qwd177", -- remark #177: function "xxx" was declared but never referenced + "/Qwd181", -- remark #181: argument of type "UINT32={unsigned int}" is incompatible with format "%d", expecting argument of type "int" + "/Qwd185", -- remark #185: dynamic initialization in unreachable code + "/Qwd280", -- remark #280: selector expression is constant + "/Qwd344", -- remark #344: typedef name has already been declared (with same type) + "/Qwd411", -- remark #411: class "xxx" defines no constructor to initialize the following + "/Qwd869", -- remark #869: parameter "xxx" was never referenced + "/Qwd2545", -- remark #2545: empty dependent statement in "else" clause of if - statement + "/Qwd2553", -- remark #2553: nonstandard second parameter "TCHAR={WCHAR = { __wchar_t } } **" of "main", expected "char *[]" or "char **" extern "C" int _tmain(int argc, TCHAR **argv) + "/Qwd2557", -- remark #2557: comparison between signed and unsigned operands + "/Qwd3280", -- remark #3280: declaration hides member "attotime::seconds" (declared at line 126) static attotime from_seconds(INT32 seconds) { return attotime(seconds, 0); } + + "/Qwd170", -- error #170: pointer points outside of underlying object + "/Qwd188", -- error #188: enumerated type mixed with another type + + "/Qwd63", -- warning #63: shift count is too large + "/Qwd177", -- warning #177: label "xxx" was declared but never referenced + "/Qwd186", -- warning #186: pointless comparison of unsigned integer with zero + "/Qwd488", -- warning #488: template parameter "_FunctionClass" is not used in declaring the parameter types of function template "device_delegate<_Signature>::device_delegate<_FunctionClass>(delegate<_Signature>: + "/Qwd1478", -- warning #1478: function "xxx" (declared at line yyy of "zzz") was declared deprecated + "/Qwd1879", -- warning #1879: unimplemented pragma ignored + "/Qwd3291", -- warning #3291: invalid narrowing conversion from "double" to "int" + "/Qwd1195", -- error #1195: conversion from integer to smaller pointer + "/Qwd47", -- error #47: incompatible redefinition of macro "xxx" + "/Qwd265", -- error #265: floating-point operation result is out of range + -- these occur on a release build, while we can increase the size limits instead some of the files do require extreme amounts + "/Qwd11074", -- remark #11074: Inlining inhibited by limit max-size / remark #11074: Inlining inhibited by limit max-total-size + "/Qwd11075", -- remark #11075: To get full report use -Qopt-report:4 -Qopt-report-phase ipo + } +end + + linkoptions { + "/ignore:4221", -- LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library + } + 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 + } +configuration { "vsllvm" } + buildoptions { + "-Wno-tautological-constant-out-of-range-compare", + "-Wno-ignored-qualifiers", + "-Wno-missing-field-initializers", + "-Wno-ignored-pragma-optimize", + "-Wno-unknown-warning-option", + "-Wno-unused-function", + "-Wno-unused-label", + "-Wno-unused-local-typedef", + "-Wno-unused-const-variable", + "-Wno-unused-parameter", + "-Wno-unneeded-internal-declaration", + "-Wno-unused-private-field", + "-Wno-missing-braces", + "-Wno-unused-variable", + "-Wno-tautological-pointer-compare", + "-Wno-nonportable-include-path", + "-Wno-enum-conversion", + "-Wno-pragma-pack", + "-Wno-new-returns-null", + "-Wno-sign-compare", + "-Wno-switch", + "-Wno-tautological-undefined-compare", + "-Wno-deprecated-declarations", + "-Wno-macro-redefined", + "-Wno-narrowing", + } + + +-- adding this till we sort out asserts in debug mode +configuration { "Debug", "gmake" } + buildoptions_cpp { + "-Wno-terminate", + } + +configuration { } + +if (_OPTIONS["SOURCES"] ~= nil) then + local str = _OPTIONS["SOURCES"] + for word in string.gmatch(str, '([^,]+)') do + if (not os.isfile(path.join(MAME_DIR ,word))) then + print("File " .. word.. " does not exist") + os.exit() + end + end + OUT_STR = os.outputof( PYTHON .. " " .. MAME_DIR .. "scripts/build/makedep.py " .. MAME_DIR .. " " .. _OPTIONS["SOURCES"] .. " target " .. _OPTIONS["subtarget"]) + load(OUT_STR)() + os.outputof( PYTHON .. " " .. MAME_DIR .. "scripts/build/makedep.py " .. MAME_DIR .. " " .. _OPTIONS["SOURCES"] .. " drivers " .. _OPTIONS["subtarget"] .. " > ".. GEN_DIR .. _OPTIONS["target"] .. "/" .. _OPTIONS["subtarget"]..".flt") +end + +group "libs" + +if (not os.isfile(path.join("src", "osd", _OPTIONS["osd"] .. ".lua"))) then + error("Unsupported value '" .. _OPTIONS["osd"] .. "' for OSD") +end +dofile(path.join("src", "osd", _OPTIONS["osd"] .. ".lua")) +dofile(path.join("src", "lib.lua")) +if (MACHINES["NETLIST"]~=null or _OPTIONS["with-tools"]) then +dofile(path.join("src", "netlist.lua")) +end +--if (STANDALONE~=true) then +dofile(path.join("src", "formats.lua")) +formatsProject(_OPTIONS["target"],_OPTIONS["subtarget"]) +--end + +group "3rdparty" +dofile(path.join("src", "3rdparty.lua")) + + +group "core" + +dofile(path.join("src", "emu.lua")) + +if (STANDALONE~=true) then + dofile(path.join("src", "mame", "frontend.lua")) +end + +group "devices" +dofile(path.join("src", "devices.lua")) +devicesProject(_OPTIONS["target"],_OPTIONS["subtarget"]) + +if (STANDALONE~=true) then + group "drivers" + findfunction("createProjects_" .. _OPTIONS["target"] .. "_" .. _OPTIONS["subtarget"])(_OPTIONS["target"], _OPTIONS["subtarget"]) +end + +group "emulator" +dofile(path.join("src", "main.lua")) +if (_OPTIONS["SOURCES"] == nil) then + if (_OPTIONS["target"] == _OPTIONS["subtarget"]) then + startproject (_OPTIONS["target"]) + else + if (_OPTIONS["subtarget"]=="mess") then + startproject (_OPTIONS["subtarget"]) + else + startproject (_OPTIONS["target"] .. _OPTIONS["subtarget"]) + end + end +else + startproject (_OPTIONS["subtarget"]) +end +mainProject(_OPTIONS["target"],_OPTIONS["subtarget"]) +strip() + +if _OPTIONS["with-tools"] then + group "tools" + dofile(path.join("src", "tools.lua")) +end + +if _OPTIONS["with-tests"] then + group "tests" + dofile(path.join("src", "tests.lua")) +end + +if _OPTIONS["with-benchmarks"] then + group "benchmarks" + dofile(path.join("src", "benchmarks.lua")) +end diff --git a/docs/release/scripts/minimaws/lib/__init__.py b/docs/release/scripts/minimaws/lib/__init__.py new file mode 100644 index 00000000000..d89cb7f81ba --- /dev/null +++ b/docs/release/scripts/minimaws/lib/__init__.py @@ -0,0 +1,4 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Vas Crabb diff --git a/docs/release/scripts/minimaws/lib/assets/common.js b/docs/release/scripts/minimaws/lib/assets/common.js new file mode 100644 index 00000000000..79200217ddb --- /dev/null +++ b/docs/release/scripts/minimaws/lib/assets/common.js @@ -0,0 +1,78 @@ +// license:BSD-3-Clause +// copyright-holders:Vas Crabb + +function sort_table(tbl, col, dir, numeric) +{ + var tbody = tbl.tBodies[0]; + var trows = Array.prototype.slice.call(tbody.rows, 0).sort( + function (x, y) + { + if (numeric) + return dir * (parseInt(x.cells[col].textContent) - parseInt(y.cells[col].textContent)); + else + return dir * x.cells[col].textContent.localeCompare(y.cells[col].textContent); + }) + trows.forEach(function (row) { tbody.appendChild(row); }); +} + + +function make_table_sortable(tbl) +{ + var headers = tbl.tHead.rows[0].cells; + for (var i = 0; i < headers.length; i++) + { + (function (col) + { + var dir = 1; + var sorticon = document.createElement('img'); + sorticon.setAttribute('src', assetsurl + '/sortind.png'); + sorticon.style.cssFloat = 'right'; + sorticon.style.marginLeft = '0.5em'; + headers[col].appendChild(sorticon); + headers[col].addEventListener( + 'click', + function (event) + { + var imgsrc = sorticon.getAttribute('src'); + imgsrc = imgsrc.substr(imgsrc.lastIndexOf('/') + 1); + if (imgsrc != 'sortind.png') + dir = -dir; + if (dir < 0) + sorticon.setAttribute('src', assetsurl + '/sortdesc.png'); + else + sorticon.setAttribute('src', assetsurl + '/sortasc.png'); + for (var i = 0; i < headers.length; i++) + { + if (i != col) + headers[i].lastChild.setAttribute('src', assetsurl + '/sortind.png'); + } + sort_table(tbl, col, dir, headers[col].getAttribute('class') == 'numeric'); + }); + }(i)); + } +} + + +function make_restore_default_handler(popup, index) +{ + return function (event) + { + if (popup.selectedIndex != index) + { + popup.selectedIndex = index; + popup.dispatchEvent(new Event('change')); + } + } +} + + +function make_restore_default_button(title, id, popup, index) +{ + var btn = document.createElement('button'); + btn.setAttribute('id', id); + btn.setAttribute('type', 'button'); + btn.disabled = popup.selectedIndex == index; + btn.textContent = title; + btn.onclick = make_restore_default_handler(popup, index); + return btn; +} diff --git a/docs/release/scripts/minimaws/lib/assets/machine.js b/docs/release/scripts/minimaws/lib/assets/machine.js new file mode 100644 index 00000000000..d0774d02c0a --- /dev/null +++ b/docs/release/scripts/minimaws/lib/assets/machine.js @@ -0,0 +1,525 @@ +// license:BSD-3-Clause +// copyright-holders:Vas Crabb + +var slot_info = Object.create(null); +var bios_sets = Object.create(null); +var machine_flags = Object.create(null); + + +function make_slot_popup_id(name) { return ('select-slot-choice-' + name).replace(/:/g, '-'); } +function get_slot_popup(name) { return document.getElementById(make_slot_popup_id(name)); } + + +function update_cmd_preview() +{ + var inifmt = document.getElementById('select-options-format').value == 'ini'; + var result = ''; + var first = true; + function add_option(flag, value) + { + if (first) + first = false; + else if (inifmt) + result += '\n'; + else + result += ' '; + + if (inifmt) + { + result += flag + ' '; + if (flag.length < 25) + result += ' '.repeat(25 - flag.length); + result += value; + } + else + { + result += '-' + flag + ' '; + if (value == '') + result += '""'; + else + result += value; + } + } + var elide_defaults = !document.getElementById('check-explicit-defaults').checked; + + // add system BIOS if applicable + var sysbios = document.getElementById('select-system-bios'); + if (sysbios && (!elide_defaults || (sysbios.selectedOptions[0].getAttribute('data-isdefault') != 'yes'))) + add_option('bios', sysbios.value); + + // add RAM option if applicable + var ramopt = document.getElementById('select-ram-option'); + if (ramopt && (!elide_defaults || (ramopt.selectedOptions[0].getAttribute('data-isdefault') != 'yes'))) + add_option('ramsize', ramopt.value); + + var slotslist = document.getElementById('list-slot-options'); + if (slotslist) + { + for (var item = slotslist.firstChild; item; item = item.nextSibling) + { + if (item.nodeName == 'DT') + { + // need to set the slot option if it has non-default card and/or non-default card BIOS + var slotname = item.getAttribute('data-slotname'); + var selection = get_slot_popup(slotname).selectedOptions[0]; + var biospopup = document.getElementById(('select-slot-bios-' + slotname).replace(/:/g, '-')); + var defcard = selection.getAttribute('data-isdefault') == 'yes'; + var defbios = !biospopup || (biospopup.selectedOptions[0].getAttribute('data-isdefault') == 'yes'); + if (!elide_defaults || !defcard || !defbios) + { + var card = selection.value; + add_option(slotname, card + ((biospopup && (!elide_defaults || !defbios)) ? (',bios=' + biospopup.value) : '')); + } + } + } + } + + // replace the preview with appropriate element + var target = document.getElementById('para-cmd-preview'); + var replacement = document.createElement(inifmt ? 'pre' : 'tt'); + replacement.setAttribute('id', 'para-cmd-preview'); + replacement.textContent = result; + target.parentNode.replaceChild(replacement, target); +} + + +function set_default_system_bios() +{ + // search for an explicit default option + var sysbios = document.getElementById('select-system-bios'); + var len = sysbios.options.length; + for (var i = 0; i < len; i++) + { + if (sysbios.options[i].getAttribute('data-isdefault') == 'yes') + { + // select it and add a button for restoring it + sysbios.selectedIndex = i; + var dflt = make_restore_default_button('default', 'btn-def-system-bios', sysbios, i); + sysbios.onchange = make_slot_bios_change_handler(dflt); + sysbios.parentNode.appendChild(document.createTextNode(' ')); + sysbios.parentNode.appendChild(dflt); + break; + } + } + update_cmd_preview(); +} + + +function set_default_ram_option() +{ + // search for an explicit default option + var ramopt = document.getElementById('select-ram-option'); + var len = ramopt.options.length; + for (var i = 0; i < len; i++) + { + if (ramopt.options[i].getAttribute('data-isdefault') == 'yes') + { + // select it and add a button for restoring it + ramopt.selectedIndex = i; + var dflt = make_restore_default_button('default', 'btn-def-ram-option', ramopt, i); + ramopt.onchange = make_slot_bios_change_handler(dflt); + ramopt.parentNode.appendChild(document.createTextNode(' ')); + ramopt.parentNode.appendChild(dflt); + break; + } + } + update_cmd_preview(); +} + + +var fetch_bios_sets = (function () + { + var pending = Object.create(null); + return function (device) + { + if (!Object.prototype.hasOwnProperty.call(bios_sets, device) && !Object.prototype.hasOwnProperty.call(pending, device)) + { + pending[device] = true; + var req = new XMLHttpRequest(); + req.open('GET', appurl + 'rpc/bios/' + device, true); + req.responseType = 'json'; + req.onload = + function () + { + delete pending[device]; + if (req.status == 200) + { + bios_sets[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)) + add_bios_row(item.getAttribute('data-slotname'), item.nextSibling.firstChild, device); + } + } + } + }; + req.send(); + } + }; + })(); + + +var fetch_machine_flags = (function () + { + var pending = Object.create(null); + return function (device) + { + if (!Object.prototype.hasOwnProperty.call(machine_flags, device) && !Object.prototype.hasOwnProperty.call(pending, device)) + { + pending[device] = true; + var req = new XMLHttpRequest(); + req.open('GET', appurl + 'rpc/flags/' + device, true); + req.responseType = 'json'; + req.onload = + function () + { + delete pending[device]; + if (req.status == 200) + { + machine_flags[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)) + add_flag_rows(item.nextSibling.firstChild, device); + } + } + } + }; + req.send(); + } + }; + })(); + + +function add_flag_rows(table, device) +{ + var sorted_features = Object.keys(machine_flags[device].features).sort(); + var imperfect = [], unemulated = []; + var len = sorted_features.length; + for (var i = 0; i < len; i++) + ((machine_flags[device].features[sorted_features[i]].overall == 'unemulated') ? unemulated : imperfect).push(sorted_features[i]); + + function add_one(flags, title) + { + var len = flags.length; + if (len > 0) + { + var row = document.createElement('tr'); + row.appendChild(document.createElement('th')).textContent = title; + var cell = row.appendChild(document.createElement('td')); + cell.textContent = flags[0]; + for (i = 1; i < len; i++) + cell.textContent += ', ' + flags[i]; + if (table.lastChild.getAttribute('class') == 'devbios') + table.insertBefore(row, table.lastChild); + else + table.appendChild(row); + } + } + + add_one(unemulated, 'Unemulated features:'); + add_one(imperfect, 'Imperfect features:'); +} + + +function add_bios_row(slot, table, device) +{ + var sorted_sets = Object.keys(bios_sets[device]).sort(); + var len = sorted_sets.length; + if (len > 0) + { + // create table row, add heading + var row = document.createElement('tr'); + row.setAttribute('class', 'devbios'); + row.appendChild(document.createElement('th')).textContent = 'BIOS:'; + var cell = document.createElement('td'); + + // make the BIOS popul itself + var popup = document.createElement('select'); + popup.setAttribute('id', ('select-slot-bios-' + slot).replace(/:/g, '-')); + for (var i = 0; i < len; i++) + { + var set = sorted_sets[i]; + var detail = bios_sets[device][set]; + var option = document.createElement('option'); + option.setAttribute('value', set); + option.setAttribute('data-isdefault', detail.isdefault ? 'yes' : 'no'); + option.textContent = set + ' - ' + detail.description; + popup.appendChild(option); + if (detail.isdefault) + popup.selectedIndex = i; + } + cell.appendChild(popup); + + // make a button to restore the default + var dflt; + if (popup.selectedOptions[0].getAttribute('data-isdefault') == 'yes') + { + dflt = make_restore_default_button('default', ('btn-def-slot-bios-' + slot).replace(/:/g, '-'), popup, popup.selectedIndex); + cell.appendChild(document.createTextNode(' ')) + cell.appendChild(dflt); + } + + // drop the controls into a cell, add it to the table, keep the command line preview up-to-date + popup.onchange = make_slot_bios_change_handler(dflt); + row.appendChild(cell); + table.appendChild(row); + update_cmd_preview(); + } +} + + +function make_slot_term(name, slot, defaults) +{ + var len, i; + + // see if we can find a default, outer layers take precedence + var defcard = ''; + len = defaults.length; + for (i = 0; (i < len) && (defcard == ''); i++) + { + if (Object.prototype.hasOwnProperty.call(defaults[i], name)) + defcard = defaults[i][name]; + } + + // create a container with the slot name and popup + var term = document.createElement('dt'); + term.setAttribute('id', ('item-slot-choice-' + name).replace(/:/g, '-')); + term.setAttribute('data-slotname', name); + term.setAttribute('data-slotcard', ''); + term.textContent = name + ': '; + var popup = document.createElement('select'); + popup.setAttribute('id', make_slot_popup_id(name)); + term.appendChild(popup); + + // add the empty slot option + var option = document.createElement('option'); + option.setAttribute('value', ''); + option.setAttribute('data-isdefault', ('' == defcard) ? 'yes' : 'no'); + option.textContent = '-'; + popup.appendChild(option); + popup.selectedIndex = 0; + + // add options for the cards + var sorted_choices = Object.keys(slot).sort(); + len = sorted_choices.length; + for (i = 0; i < len; i++) + { + var choice = sorted_choices[i]; + var card = slot[choice]; + option = document.createElement('option'); + option.setAttribute('value', choice); + option.setAttribute('data-isdefault', (choice == defcard) ? 'yes' : 'no'); + option.textContent = choice + ' - ' + card.description; + popup.appendChild(option); + if (choice == defcard) + popup.selectedIndex = i + 1; + } + + // make a button for restoring the default and hook up events + var dflt = make_restore_default_button('default', ('btn-def-slot-choice-' + name).replace(/:/g, '-'), popup, popup.selectedIndex); + term.appendChild(document.createTextNode(' ')); + term.appendChild(dflt); + popup.onchange = make_slot_change_handler(name, slot, defaults, dflt); + return term; +} + + +function add_slot_items(root, device, defaults, slotslist, pos) +{ + // add another layer of defaults for this device + var defvals = Object.create(null); + for (var key in slot_info[device].defaults) + defvals[root + key] = slot_info[device].defaults[key]; + defaults = defaults.slice(); + defaults.push(defvals); + var defcnt = defaults.length; + + // add controls for each subslot + var slots = slot_info[device].slots; + var sorted_slots = Object.keys(slots).sort(); + var len = sorted_slots.length; + for (var i = 0; i < len; i++) + { + var slotname = sorted_slots[i]; + var slotabs = root + slotname; + var slot = slots[slotname]; + var term = make_slot_term(slotabs, slot, defaults); + var def = document.createElement('dd'); + def.setAttribute('id', ('item-slot-detail-' + slotabs).replace(/:/g, '-')); + if (pos) + { + slotslist.insertBefore(term, pos); + slotslist.insertBefore(def, pos); + } + else + { + slotslist.appendChild(term); + slotslist.appendChild(def); + } + + // force a change event to populate subslot controls if the default isn't empty + get_slot_popup(slotabs).dispatchEvent(new Event('change')); + } + + update_cmd_preview(); +} + + +function make_slot_change_handler(name, slot, defaults, dfltbtn) +{ + var selection = null; + return function (event) + { + var choice = event.target.value; + var slotslist = event.target.parentNode.parentNode; + var def = event.target.parentNode.nextSibling; + var slotname = event.target.parentNode.getAttribute('data-slotname'); + selection = (choice == '') ? null : slot[choice]; + dfltbtn.disabled = event.target.selectedOptions[0].getAttribute('data-isdefault') == 'yes'; + + // clear out any subslots from previous selection + var prefix = slotname + ':'; + for (var candidate = def.nextSibling; candidate && candidate.getAttribute('data-slotname').startsWith(prefix); ) + { + var next = candidate.nextSibling; + slotslist.removeChild(candidate); + candidate = next.nextSibling; + slotslist.removeChild(next); + } + + if (selection === null) + { + // no selection, remove the slot card details table + event.target.parentNode.setAttribute('data-slotcard', ''); + if (def.firstChild) + def.removeChild(def.firstChild); + } + else + { + // stash the selected device where it's easy to find + event.target.parentNode.setAttribute('data-slotcard', selection.device); + + // create details table and add a link to the device's page + var tbl = document.createElement('table'); + tbl.setAttribute('class', 'sysinfo'); + var row = tbl.appendChild(document.createElement('tr')); + row.appendChild(document.createElement('th')).textContent = 'Short name:'; + var link = row.appendChild(document.createElement('td')).appendChild(document.createElement('a')); + link.textContent = selection.device; + link.setAttribute('href', appurl + 'machine/' + selection.device); + + // if we have emulation flags, populate now, otherwise fetch asynchronously + if (!Object.prototype.hasOwnProperty.call(machine_flags, selection.device)) + fetch_machine_flags(selection.device); + else + add_flag_rows(tbl, selection.device); + + // if we have BIOS details, populate now, otherwise fetch asynchronously + if (!Object.prototype.hasOwnProperty.call(bios_sets, selection.device)) + fetch_bios_sets(selection.device); + else + add_bios_row(slotname, tbl, selection.device); + + // drop the details table into the list + if (def.firstChild) + def.replaceChild(tbl, def.firstChild); + else + def.appendChild(tbl); + + // create controls for subslots + add_slot_items(slotname + ':' + choice, selection.device, defaults, slotslist, def.nextSibling); + } + update_cmd_preview(); + }; +} + + +function make_slot_bios_change_handler(dflt) +{ + return function (event) + { + if (dflt) + dflt.disabled = event.target.selectedOptions[0].getAttribute('data-isdefault') == 'yes'; + update_cmd_preview(); + } +} + + +function populate_slots(machine) +{ + var placeholder = document.getElementById('para-slots-placeholder'); + var slotslist = document.createElement('dl'); + slotslist.setAttribute('id', 'list-slot-options'); + placeholder.parentNode.replaceChild(slotslist, placeholder); + add_slot_items('', machine, [], slotslist, null); +} + + +function slot_retrieve_error(device) +{ + var errors; + var placeholder = document.getElementById('para-slots-placeholder'); + if (placeholder) + { + errors = document.createElement('div'); + errors.setAttribute('id', 'div-slots-errors'); + placeholder.parentNode.replaceChild(errors, placeholder); + } + else + { + errors = document.getElementById('div-slots-errors'); + } + var message = document.createElement('p'); + message.textContent = 'Error retrieving slot information for ' + device + '.'; + errors.appendChild(message); +} + + +function fetch_slots(machine) +{ + function make_request(device) + { + var req = new XMLHttpRequest(); + req.open('GET', appurl + 'rpc/slots/' + device, true); + req.responseType = 'json'; + req.onload = + function () + { + if (req.status == 200) + { + slot_info[device] = req.response; + delete pending[device]; + for (var slotname in req.response.slots) + { + var slot = req.response.slots[slotname]; + for (var choice in slot) + { + var card = slot[choice].device + if (!Object.prototype.hasOwnProperty.call(slot_info, card) && !Object.prototype.hasOwnProperty.call(pending, card)) + { + pending[card] = true; + make_request(card); + } + } + } + if (!Object.keys(pending).length) + populate_slots(machine); + } + else + { + slot_retrieve_error(device); + } + }; + req.send(); + } + var pending = Object.create(null); + pending[machine] = true; + make_request(machine); +} diff --git a/docs/release/scripts/minimaws/lib/assets/sortasc.png b/docs/release/scripts/minimaws/lib/assets/sortasc.png Binary files differnew file mode 100644 index 00000000000..29b893cdd02 --- /dev/null +++ b/docs/release/scripts/minimaws/lib/assets/sortasc.png diff --git a/docs/release/scripts/minimaws/lib/assets/sortdesc.png b/docs/release/scripts/minimaws/lib/assets/sortdesc.png Binary files differnew file mode 100644 index 00000000000..63f48fc7213 --- /dev/null +++ b/docs/release/scripts/minimaws/lib/assets/sortdesc.png diff --git a/docs/release/scripts/minimaws/lib/assets/sortind.png b/docs/release/scripts/minimaws/lib/assets/sortind.png Binary files differnew file mode 100644 index 00000000000..773dd6aec02 --- /dev/null +++ b/docs/release/scripts/minimaws/lib/assets/sortind.png diff --git a/docs/release/scripts/minimaws/lib/assets/style.css b/docs/release/scripts/minimaws/lib/assets/style.css new file mode 100644 index 00000000000..75ea0fa93de --- /dev/null +++ b/docs/release/scripts/minimaws/lib/assets/style.css @@ -0,0 +1,11 @@ +/* license:BSD-3-Clause + * copyright-holders:Vas Crabb + */ + +th { text-align: left; background-color: #ddd; padding: 0.25em } +td { padding-left: 0.25em; padding-right: 0.25em } + +table[class=sysinfo] th { text-align: right } + +dl[id=list-slot-options] dt { font-weight: bold; margin-top: 1em } +dl[id=list-slot-options] dd table { margin-top: 0.5em; margin-bottom: 1em } diff --git a/docs/release/scripts/minimaws/lib/auxverbs.py b/docs/release/scripts/minimaws/lib/auxverbs.py new file mode 100644 index 00000000000..c68c528af6f --- /dev/null +++ b/docs/release/scripts/minimaws/lib/auxverbs.py @@ -0,0 +1,83 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Vas Crabb + +from . import dbaccess + +import sys + + +def do_listfull(options): + dbconn = dbaccess.QueryConnection(options.database) + dbcurs = dbconn.cursor() + first = True + for shortname, description in dbcurs.listfull(options.pattern): + if first: + sys.stdout.write('Name: Description:\n') + first = False + sys.stdout.write('%-16s "%s"\n' % (shortname, description)) + if first: + sys.stderr.write('No matching systems found for \'%s\'\n' % (options.pattern, )) + dbcurs.close() + dbconn.close() + + +def do_listsource(options): + dbconn = dbaccess.QueryConnection(options.database) + dbcurs = dbconn.cursor() + shortname = None + for shortname, sourcefile in dbcurs.listsource(options.pattern): + sys.stdout.write('%-16s %s\n' % (shortname, sourcefile)) + if shortname is None: + sys.stderr.write('No matching systems found for \'%s\'\n' % (options.pattern, )) + dbcurs.close() + dbconn.close() + + +def do_listclones(options): + dbconn = dbaccess.QueryConnection(options.database) + dbcurs = dbconn.cursor() + first = True + for shortname, parent in dbcurs.listclones(options.pattern): + if first: + sys.stdout.write('Name: Clone of:\n') + first = False + sys.stdout.write('%-16s %s\n' % (shortname, parent)) + if first: + count = dbcurs.count_systems(options.pattern).fetchone()[0] + if count: + sys.stderr.write('Found %d match(es) for \'%s\' but none were clones\n' % (count, options.pattern)) + else: + sys.stderr.write('No matching systems found for \'%s\'\n' % (options.pattern, )) + dbcurs.close() + dbconn.close() + + +def do_listbrothers(options): + dbconn = dbaccess.QueryConnection(options.database) + dbcurs = dbconn.cursor() + first = True + for sourcefile, shortname, parent in dbcurs.listbrothers(options.pattern): + if first: + sys.stdout.write('%-20s %-16s %s\n' % ('Source file:', 'Name:', 'Parent:')) + first = False + sys.stdout.write('%-20s %-16s %s\n' % (sourcefile, shortname, parent or '')) + if first: + sys.stderr.write('No matching systems found for \'%s\'\n' % (options.pattern, )) + dbcurs.close() + dbconn.close() + +def do_listaffected(options): + dbconn = dbaccess.QueryConnection(options.database) + dbcurs = dbconn.cursor() + first = True + for shortname, description in dbcurs.listaffected(*options.pattern): + if first: + sys.stdout.write('Name: Description:\n') + first = False + sys.stdout.write('%-16s "%s"\n' % (shortname, description)) + if first: + sys.stderr.write('No matching systems found for \'%s\'\n' % (options.pattern, )) + dbcurs.close() + dbconn.close() diff --git a/docs/release/scripts/minimaws/lib/dbaccess.py b/docs/release/scripts/minimaws/lib/dbaccess.py new file mode 100644 index 00000000000..57de6aeb236 --- /dev/null +++ b/docs/release/scripts/minimaws/lib/dbaccess.py @@ -0,0 +1,606 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Vas Crabb + +import sqlite3 +import sys + +if sys.version_info >= (3, 4): + import urllib.request + + +class SchemaQueries(object): + CREATE_FEATURETYPE = \ + 'CREATE TABLE featuretype (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' name TEXT NOT NULL,\n' \ + ' UNIQUE (name ASC))' + CREATE_SOURCEFILE = \ + 'CREATE TABLE sourcefile (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' filename TEXT NOT NULL,\n' \ + ' UNIQUE (filename ASC))' + CREATE_MACHINE = \ + 'CREATE TABLE machine (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' shortname TEXT NOT NULL,\n' \ + ' description TEXT NOT NULL,\n' \ + ' sourcefile INTEGER NOT NULL,\n' \ + ' isdevice INTEGER NOT NULL,\n' \ + ' runnable INTEGER NOT NULL,\n' \ + ' UNIQUE (shortname ASC),\n' \ + ' UNIQUE (description ASC),\n' \ + ' FOREIGN KEY (sourcefile) REFERENCES sourcefile (id))' + CREATE_SYSTEM = \ + 'CREATE TABLE system (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' year TEXT NOT NULL,\n' \ + ' manufacturer TEXT NOT NULL,\n' \ + ' FOREIGN KEY (id) REFERENCES machine (id))' + CREATE_CLONEOF = \ + 'CREATE TABLE cloneof (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' parent TEXT NOT NULL,\n' \ + ' FOREIGN KEY (id) REFERENCES machine (id))' + CREATE_ROMOF = \ + 'CREATE TABLE romof (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' parent TEXT NOT NULL,\n' \ + ' FOREIGN KEY (id) REFERENCES machine (id))' + CREATE_BIOSSET = \ + 'CREATE TABLE biosset (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' machine INTEGER NOT NULL,\n' \ + ' name TEXT NOT NULL,\n' \ + ' description TEXT NOT NULL,\n' \ + ' UNIQUE (machine ASC, name ASC),\n' \ + ' FOREIGN KEY (machine) REFERENCES machine (id))' + CREATE_BIOSSETDEFAULT = \ + 'CREATE TABLE biossetdefault (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' FOREIGN KEY (id) REFERENCES biosset (id))' + CREATE_DEVICEREFERENCE = \ + 'CREATE TABLE devicereference (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' machine INTEGER NOT NULL,\n' \ + ' device INTEGER NOT NULL,\n' \ + ' UNIQUE (machine ASC, device ASC),\n' \ + ' FOREIGN KEY (machine) REFERENCES machine (id),\n' \ + ' FOREIGN KEY (device) REFERENCES machine (id))' + CREATE_DIPSWITCH = \ + 'CREATE TABLE dipswitch (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' machine INTEGER NOT NULL,\n' \ + ' isconfig INTEGER NOT NULL,\n' \ + ' name TEXT NOT NULL,\n' \ + ' tag TEXT NOT NULL,\n' \ + ' mask INTEGER NOT NULL,\n' \ + ' --UNIQUE (machine ASC, tag ASC, mask ASC), not necessarily true, need to expose port conditions\n' \ + ' FOREIGN KEY (machine) REFERENCES machine (id))' + CREATE_DIPLOCATION = \ + 'CREATE TABLE diplocation (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' dipswitch INTEGER NOT NULL,\n' \ + ' bit INTEGER NOT NULL,\n' \ + ' name TEXT NOT NULL,\n' \ + ' num INTEGER NOT NULL,\n' \ + ' inverted INTEGER NOT NULL,\n' \ + ' UNIQUE (dipswitch ASC, bit ASC),\n' \ + ' FOREIGN KEY (dipswitch) REFERENCES dipswitch (id))' + CREATE_DIPVALUE = \ + 'CREATE TABLE dipvalue (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' dipswitch INTEGER NOT NULL,\n' \ + ' name TEXT NOT NULL,\n' \ + ' value INTEGER NOT NULL,\n' \ + ' isdefault INTEGER NOT NULL,\n' \ + ' FOREIGN KEY (dipswitch) REFERENCES dipswitch (id))' + CREATE_FEATURE = \ + 'CREATE TABLE feature (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' machine INTEGER NOT NULL,\n' \ + ' featuretype INTEGER NOT NULL,\n' \ + ' status INTEGER NOT NULL,\n' \ + ' overall INTEGER NOT NULL,\n' \ + ' UNIQUE (machine ASC, featuretype ASC),\n' \ + ' FOREIGN KEY (machine) REFERENCES machine (id),\n' \ + ' FOREIGN KEY (featuretype) REFERENCES featuretype (id))' + CREATE_SLOT = \ + 'CREATE TABLE slot (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' machine INTEGER NOT NULL,\n' \ + ' name TEXT NOT NULL,\n' \ + ' UNIQUE (machine ASC, name ASC),\n' \ + ' FOREIGN KEY (machine) REFERENCES machine (id))' + CREATE_SLOTOPTION = \ + 'CREATE TABLE slotoption (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' slot INTEGER NOT NULL,\n' \ + ' device INTEGER NOT NULL,\n' \ + ' name TEXT NOT NULL,\n' \ + ' UNIQUE (slot ASC, name ASC),\n' \ + ' FOREIGN KEY (slot) REFERENCES slot (id),\n' \ + ' FOREIGN KEY (device) REFERENCES machine (id))' + CREATE_SLOTDEFAULT = \ + 'CREATE TABLE slotdefault (\n' \ + ' id INTEGER PRIMARY KEY,\n' \ + ' slotoption INTEGER NOT NULL,\n' \ + ' FOREIGN KEY (id) REFERENCES slot (id),\n' \ + ' FOREIGN KEY (slotoption) REFERENCES slotoption (id))' + CREATE_RAMOPTION = \ + 'CREATE TABLE ramoption (\n' \ + ' machine INTEGER NOT NULL,\n' \ + ' size INTEGER NOT NULL,\n' \ + ' name TEXT NOT NULL,\n' \ + ' PRIMARY KEY (machine ASC, size ASC),\n' \ + ' FOREIGN KEY (machine) REFERENCES machine (id))' + CREATE_RAMDEFAULT = \ + 'CREATE TABLE ramdefault (\n' \ + ' machine INTEGER PRIMARY KEY,\n' \ + ' size INTEGER NOT NULL,\n' \ + ' FOREIGN KEY (machine) REFERENCES machine (id),\n' \ + ' FOREIGN KEY (machine, size) REFERENCES ramoption (machine, size))' + + CREATE_TEMPORARY_DEVICEREFERENCE = 'CREATE TEMPORARY TABLE temp_devicereference (id INTEGER PRIMARY KEY, machine INTEGER NOT NULL, device TEXT NOT NULL, UNIQUE (machine, device))' + CREATE_TEMPORARY_SLOTOPTION = 'CREATE TEMPORARY TABLE temp_slotoption (id INTEGER PRIMARY KEY, slot INTEGER NOT NULL, device TEXT NOT NULL, name TEXT NOT NULL)' + CREATE_TEMPORARY_SLOTDEFAULT = 'CREATE TEMPORARY TABLE temp_slotdefault (id INTEGER PRIMARY KEY, slotoption INTEGER NOT NULL)' + + DROP_TEMPORARY_DEVICEREFERENCE = 'DROP TABLE IF EXISTS temp_devicereference' + DROP_TEMPORARY_SLOTOPTION = 'DROP TABLE IF EXISTS temp_slotoption' + DROP_TEMPORARY_SLOTDEFAULT = 'DROP TABLE IF EXISTS temp_slotdefault' + + INDEX_MACHINE_ISDEVICE_SHORTNAME = 'CREATE INDEX machine_isdevice_shortname ON machine (isdevice ASC, shortname ASC)' + INDEX_MACHINE_ISDEVICE_DESCRIPTION = 'CREATE INDEX machine_isdevice_description ON machine (isdevice ASC, description ASC)' + INDEX_MACHINE_RUNNABLE_SHORTNAME = 'CREATE INDEX machine_runnable_shortname ON machine (runnable ASC, shortname ASC)' + INDEX_MACHINE_RUNNABLE_DESCRIPTION = 'CREATE INDEX machine_runnable_description ON machine (runnable ASC, description ASC)' + + INDEX_SYSTEM_YEAR = 'CREATE INDEX system_year ON system (year ASC)' + INDEX_SYSTEM_MANUFACTURER = 'CREATE INDEX system_manufacturer ON system (manufacturer ASC)' + + INDEX_ROMOF_PARENT = 'CREATE INDEX romof_parent ON romof (parent ASC)' + + INDEX_CLONEOF_PARENT = 'CREATE INDEX cloneof_parent ON cloneof (parent ASC)' + + INDEX_DIPSWITCH_MACHINE_ISCONFIG = 'CREATE INDEX dipswitch_machine_isconfig ON dipswitch (machine ASC, isconfig ASC)' + + DROP_MACHINE_ISDEVICE_SHORTNAME = 'DROP INDEX IF EXISTS machine_isdevice_shortname' + DROP_MACHINE_ISDEVICE_DESCRIPTION = 'DROP INDEX IF EXISTS machine_isdevice_description' + DROP_MACHINE_RUNNABLE_SHORTNAME = 'DROP INDEX IF EXISTS machine_runnable_shortname' + DROP_MACHINE_RUNNABLE_DESCRIPTION = 'DROP INDEX IF EXISTS machine_runnable_description' + + DROP_SYSTEM_YEAR = 'DROP INDEX IF EXISTS system_year' + DROP_SYSTEM_MANUFACTURER = 'DROP INDEX IF EXISTS system_manufacturer' + + DROP_ROMOF_PARENT = 'DROP INDEX IF EXISTS romof_parent' + + DROP_CLONEOF_PARENT = 'DROP INDEX IF EXISTS cloneof_parent' + + DROP_DIPSWITCH_MACHINE_ISCONFIG = 'DROP INDEX IF EXISTS dipswitch_machine_isconfig' + + CREATE_TABLES = ( + CREATE_FEATURETYPE, + CREATE_SOURCEFILE, + CREATE_MACHINE, + CREATE_SYSTEM, + CREATE_CLONEOF, + CREATE_ROMOF, + CREATE_BIOSSET, + CREATE_BIOSSETDEFAULT, + CREATE_DEVICEREFERENCE, + CREATE_DIPSWITCH, + CREATE_DIPLOCATION, + CREATE_DIPVALUE, + CREATE_FEATURE, + CREATE_SLOT, + CREATE_SLOTOPTION, + CREATE_SLOTDEFAULT, + CREATE_RAMOPTION, + CREATE_RAMDEFAULT) + + CREATE_TEMPORARY_TABLES = ( + CREATE_TEMPORARY_DEVICEREFERENCE, + CREATE_TEMPORARY_SLOTOPTION, + CREATE_TEMPORARY_SLOTDEFAULT) + + CREATE_INDEXES = ( + INDEX_MACHINE_ISDEVICE_SHORTNAME, + INDEX_MACHINE_ISDEVICE_DESCRIPTION, + INDEX_MACHINE_RUNNABLE_SHORTNAME, + INDEX_MACHINE_RUNNABLE_DESCRIPTION, + INDEX_SYSTEM_YEAR, + INDEX_SYSTEM_MANUFACTURER, + INDEX_ROMOF_PARENT, + INDEX_CLONEOF_PARENT, + INDEX_DIPSWITCH_MACHINE_ISCONFIG) + + DROP_INDEXES = ( + DROP_MACHINE_ISDEVICE_SHORTNAME, + DROP_MACHINE_ISDEVICE_DESCRIPTION, + DROP_MACHINE_RUNNABLE_SHORTNAME, + DROP_MACHINE_RUNNABLE_DESCRIPTION, + DROP_SYSTEM_YEAR, + DROP_SYSTEM_MANUFACTURER, + DROP_ROMOF_PARENT, + DROP_CLONEOF_PARENT, + DROP_DIPSWITCH_MACHINE_ISCONFIG) + + +class UpdateQueries(object): + ADD_FEATURETYPE = 'INSERT OR IGNORE INTO featuretype (name) VALUES (?)' + ADD_SOURCEFILE = 'INSERT OR IGNORE INTO sourcefile (filename) VALUES (?)' + ADD_MACHINE = 'INSERT INTO machine (shortname, description, sourcefile, isdevice, runnable) SELECT ?, ?, id, ?, ? FROM sourcefile WHERE filename = ?' + ADD_SYSTEM = 'INSERT INTO system (id, year, manufacturer) VALUES (?, ?, ?)' + ADD_CLONEOF = 'INSERT INTO cloneof (id, parent) VALUES (?, ?)' + ADD_ROMOF = 'INSERT INTO romof (id, parent) VALUES (?, ?)' + ADD_BIOSSET = 'INSERT INTO biosset (machine, name, description) VALUES (?, ?, ?)' + ADD_BIOSSETDEFAULT = 'INSERT INTO biossetdefault (id) VALUES (?)' + ADD_DIPSWITCH = 'INSERT INTO dipswitch (machine, isconfig, name, tag, mask) VALUES (?, ?, ?, ?, ?)' + ADD_DIPLOCATION = 'INSERT INTO diplocation (dipswitch, bit, name, num, inverted) VALUES (?, ?, ?, ?, ?)' + ADD_DIPVALUE = 'INSERT INTO dipvalue (dipswitch, name, value, isdefault) VALUES (?, ?, ?, ?)' + ADD_FEATURE = 'INSERT INTO feature (machine, featuretype, status, overall) SELECT ?, id, ?, ? FROM featuretype WHERE name = ?' + ADD_SLOT = 'INSERT INTO slot (machine, name) VALUES (?, ?)' + ADD_RAMOPTION = 'INSERT INTO ramoption (machine, size, name) VALUES (?, ?, ?)' + ADD_RAMDEFAULT = 'INSERT INTO ramdefault (machine, size) VALUES (?, ?)' + + ADD_TEMPORARY_DEVICEREFERENCE = 'INSERT OR IGNORE INTO temp_devicereference (machine, device) VALUES (?, ?)' + ADD_TEMPORARY_SLOTOPTION = 'INSERT INTO temp_slotoption (slot, device, name) VALUES (?, ?, ?)' + ADD_TEMPORARY_SLOTDEFAULT = 'INSERT INTO temp_slotdefault (id, slotoption) VALUES (?, ?)' + + FINALISE_DEVICEREFERENCES = 'INSERT INTO devicereference (id, machine, device) SELECT temp_devicereference.id, temp_devicereference.machine, machine.id FROM temp_devicereference LEFT JOIN machine ON temp_devicereference.device = machine.shortname' + FINALISE_SLOTOPTIONS = 'INSERT INTO slotoption (id, slot, device, name) SELECT temp_slotoption.id, temp_slotoption.slot, machine.id, temp_slotoption.name FROM temp_slotoption LEFT JOIN machine ON temp_slotoption.device = machine.shortname' + FINALISE_SLOTDEFAULTS = 'INSERT INTO slotdefault (id, slotoption) SELECT id, slotoption FROM temp_slotdefault' + + +class QueryCursor(object): + def __init__(self, dbconn, **kwargs): + super(QueryCursor, self).__init__(**kwargs) + self.dbcurs = dbconn.cursor() + + def close(self): + self.dbcurs.close() + + def is_glob(self, *patterns): + for pattern in patterns: + if any(ch in pattern for ch in '?*['): + return True + return False + + def count_systems(self, pattern): + if pattern is not None: + return self.dbcurs.execute( + 'SELECT COUNT(*) ' \ + 'FROM machine WHERE isdevice = 0 AND shortname GLOB ? ', + (pattern, )) + else: + return self.dbcurs.execute( + 'SELECT COUNT(*) ' \ + 'FROM machine WHERE isdevice = 0 ') + + def listfull(self, pattern): + if pattern is not None: + return self.dbcurs.execute( + 'SELECT shortname, description ' \ + 'FROM machine WHERE isdevice = 0 AND shortname GLOB ? ' \ + 'ORDER BY shortname ASC', + (pattern, )) + else: + return self.dbcurs.execute( + 'SELECT shortname, description ' \ + 'FROM machine WHERE isdevice = 0 ' \ + 'ORDER BY shortname ASC') + + def listsource(self, pattern): + if pattern is not None: + return self.dbcurs.execute( + 'SELECT machine.shortname, sourcefile.filename ' \ + 'FROM machine JOIN sourcefile ON machine.sourcefile = sourcefile.id ' \ + 'WHERE machine.isdevice = 0 AND machine.shortname GLOB ? ' \ + 'ORDER BY machine.shortname ASC', + (pattern, )) + else: + return self.dbcurs.execute( + 'SELECT machine.shortname, sourcefile.filename ' \ + 'FROM machine JOIN sourcefile ON machine.sourcefile = sourcefile.id ' \ + 'WHERE machine.isdevice = 0 ORDER BY machine.shortname ASC') + + def listclones(self, pattern): + if pattern is not None: + return self.dbcurs.execute( + 'SELECT machine.shortname, cloneof.parent ' \ + 'FROM machine JOIN cloneof ON machine.id = cloneof.id ' \ + 'WHERE machine.shortname GLOB ? OR cloneof.parent GLOB ? ' \ + 'ORDER BY machine.shortname ASC', + (pattern, pattern)) + else: + return self.dbcurs.execute( + 'SELECT machine.shortname, cloneof.parent ' \ + 'FROM machine JOIN cloneof ON machine.id = cloneof.id ' \ + 'ORDER BY machine.shortname ASC') + + def listbrothers(self, pattern): + if pattern is not None: + return self.dbcurs.execute( + 'SELECT sourcefile.filename, machine.shortname, cloneof.parent ' \ + 'FROM machine JOIN sourcefile ON machine.sourcefile = sourcefile.id LEFT JOIN cloneof ON machine.id = cloneof.id ' \ + 'WHERE machine.isdevice = 0 AND sourcefile.id IN (SELECT sourcefile FROM machine WHERE shortname GLOB ?)' \ + 'ORDER BY machine.shortname ASC', + (pattern, )) + else: + return self.dbcurs.execute( + 'SELECT sourcefile.filename, machine.shortname, cloneof.parent ' \ + 'FROM machine JOIN sourcefile ON machine.sourcefile = sourcefile.id LEFT JOIN cloneof ON machine.id = cloneof.id ' \ + 'WHERE machine.isdevice = 0 ' \ + 'ORDER BY machine.shortname ASC') + + def listaffected(self, *patterns): + if 1 == len(patterns): + return self.dbcurs.execute( + 'SELECT shortname, description ' \ + 'FROM machine ' \ + 'WHERE id IN (SELECT machine FROM devicereference WHERE device IN (SELECT id FROM machine WHERE sourcefile IN (SELECT id FROM sourcefile WHERE filename GLOB ?))) AND runnable = 1 ' \ + 'ORDER BY shortname ASC', + patterns) + elif self.is_glob(*patterns): + return self.dbcurs.execute( + 'SELECT shortname, description ' \ + 'FROM machine ' \ + 'WHERE id IN (SELECT machine FROM devicereference WHERE device IN (SELECT id FROM machine WHERE sourcefile IN (SELECT id FROM sourcefile WHERE filename GLOB ?' + (' OR filename GLOB ?' * (len(patterns) - 1)) + '))) AND runnable = 1 ' \ + 'ORDER BY shortname ASC', + patterns) + else: + return self.dbcurs.execute( + 'SELECT shortname, description ' \ + 'FROM machine ' \ + 'WHERE id IN (SELECT machine FROM devicereference WHERE device IN (SELECT id FROM machine WHERE sourcefile IN (SELECT id FROM sourcefile WHERE filename IN (?' + (', ?' * (len(patterns) - 1)) + ')))) AND runnable = 1 ' \ + 'ORDER BY shortname ASC', + patterns) + + def get_machine_id(self, machine): + return (self.dbcurs.execute('SELECT id FROM machine WHERE shortname = ?', (machine, )).fetchone() or (None, ))[0] + + def get_machine_info(self, machine): + return self.dbcurs.execute( + 'SELECT machine.id AS id, machine.description AS description, machine.isdevice AS isdevice, machine.runnable AS runnable, sourcefile.filename AS sourcefile, system.year AS year, system.manufacturer AS manufacturer, cloneof.parent AS cloneof, romof.parent AS romof ' \ + 'FROM machine JOIN sourcefile ON machine.sourcefile = sourcefile.id LEFT JOIN system ON machine.id = system.id LEFT JOIN cloneof ON system.id = cloneof.id LEFT JOIN romof ON system.id = romof.id ' \ + 'WHERE machine.shortname = ?', + (machine, )) + + def get_biossets(self, machine): + return self.dbcurs.execute( + 'SELECT biosset.name AS name, biosset.description AS description, COUNT(biossetdefault.id) AS isdefault ' \ + 'FROM biosset LEFT JOIN biossetdefault USING (id) ' \ + 'WHERE biosset.machine = ? ' \ + 'GROUP BY biosset.id', + (machine, )) + + def get_devices_referenced(self, machine): + return self.dbcurs.execute( + 'SELECT machine.shortname AS shortname, machine.description AS description, sourcefile.filename AS sourcefile ' \ + 'FROM devicereference LEFT JOIN machine ON devicereference.device = machine.id LEFT JOIN sourcefile ON machine.sourcefile = sourcefile.id ' \ + 'WHERE devicereference.machine = ?', + (machine, )) + + def get_device_references(self, device): + return self.dbcurs.execute( + 'SELECT machine.shortname AS shortname, machine.description AS description, sourcefile.filename AS sourcefile ' \ + 'FROM machine JOIN sourcefile ON machine.sourcefile = sourcefile.id ' \ + 'WHERE machine.id IN (SELECT machine FROM devicereference WHERE device = ?)', + (device, )) + + def get_compatible_slots(self, device): + return self.dbcurs.execute( + 'SELECT machine.shortname AS shortname, machine.description AS description, slot.name AS slot, slotoption.name AS slotoption, sourcefile.filename AS sourcefile ' \ + 'FROM slotoption JOIN slot ON slotoption.slot = slot.id JOIN machine on slot.machine = machine.id JOIN sourcefile ON machine.sourcefile = sourcefile.id ' + 'WHERE slotoption.device = ?', + (device, )) + + def get_sourcefile_id(self, filename): + return (self.dbcurs.execute('SELECT id FROM sourcefile WHERE filename = ?', (filename, )).fetchone() or (None, ))[0] + + def get_sourcefile_machines(self, id): + return self.dbcurs.execute( + 'SELECT machine.shortname AS shortname, machine.description AS description, machine.isdevice AS isdevice, machine.runnable AS runnable, sourcefile.filename AS sourcefile, system.year AS year, system.manufacturer AS manufacturer, cloneof.parent AS cloneof, romof.parent AS romof ' \ + 'FROM machine JOIN sourcefile ON machine.sourcefile = sourcefile.id LEFT JOIN system ON machine.id = system.id LEFT JOIN cloneof ON system.id = cloneof.id LEFT JOIN romof ON system.id = romof.id ' \ + 'WHERE machine.sourcefile = ?', + (id, )) + + def get_sourcefiles(self, pattern): + if pattern is not None: + return self.dbcurs.execute( + 'SELECT sourcefile.filename AS filename, COUNT(machine.id) AS machines ' \ + 'FROM sourcefile LEFT JOIN machine ON sourcefile.id = machine.sourcefile ' \ + 'WHERE sourcefile.filename GLOB ?' \ + 'GROUP BY sourcefile.id ', + (pattern, )) + else: + return self.dbcurs.execute( + 'SELECT sourcefile.filename AS filename, COUNT(machine.id) AS machines ' \ + 'FROM sourcefile LEFT JOIN machine ON sourcefile.id = machine.sourcefile ' \ + 'GROUP BY sourcefile.id') + + def count_sourcefiles(self, pattern): + if pattern is not None: + return self.dbcurs.execute('SELECT COUNT(*) FROM sourcefile WHERE filename GLOB ?', (pattern, )).fetchone()[0] + else: + return self.dbcurs.execute('SELECT COUNT(*) FROM sourcefile').fetchone()[0] + + def count_slots(self, machine): + return self.dbcurs.execute( + 'SELECT COUNT(*) FROM slot WHERE machine = ?', (machine, )).fetchone()[0] + + def get_feature_flags(self, machine): + return self.dbcurs.execute( + 'SELECT featuretype.name AS featuretype, feature.status AS status, feature.overall AS overall ' \ + 'FROM feature JOIN featuretype ON feature.featuretype = featuretype.id ' \ + 'WHERE feature.machine = ?', + (machine, )) + + def get_slot_defaults(self, machine): + return self.dbcurs.execute( + 'SELECT slot.name AS name, slotoption.name AS option ' \ + 'FROM slot JOIN slotdefault ON slot.id = slotdefault.id JOIN slotoption ON slotdefault.slotoption = slotoption.id ' \ + 'WHERE slot.machine = ?', + (machine, )) + + def get_slot_options(self, machine): + return self.dbcurs.execute( + 'SELECT slot.name AS slot, slotoption.name AS option, machine.shortname AS shortname, machine.description AS description ' \ + 'FROM slot JOIN slotoption ON slot.id = slotoption.slot JOIN machine ON slotoption.device = machine.id ' \ + 'WHERE slot.machine = ?', + (machine, )) + + def get_ram_options(self, machine): + return self.dbcurs.execute( + 'SELECT ramoption.name AS name, ramoption.size AS size, COUNT(ramdefault.machine) AS isdefault ' \ + 'FROM ramoption LEFT JOIN ramdefault USING (machine, size) WHERE ramoption.machine = ? ' \ + 'GROUP BY ramoption.machine, ramoption.size ' \ + 'ORDER BY ramoption.size', + (machine, )) + + +class UpdateCursor(object): + def __init__(self, dbconn, **kwargs): + super(UpdateCursor, self).__init__(**kwargs) + self.dbcurs = dbconn.cursor() + + def close(self): + self.dbcurs.close() + + def add_featuretype(self, name): + self.dbcurs.execute(UpdateQueries.ADD_FEATURETYPE, (name, )) + + def add_sourcefile(self, filename): + self.dbcurs.execute(UpdateQueries.ADD_SOURCEFILE, (filename, )) + + def add_machine(self, shortname, description, sourcefile, isdevice, runnable): + self.dbcurs.execute(UpdateQueries.ADD_MACHINE, (shortname, description, isdevice, runnable, sourcefile)) + return self.dbcurs.lastrowid + + def add_system(self, machine, year, manufacturer): + self.dbcurs.execute(UpdateQueries.ADD_SYSTEM, (machine, year, manufacturer)) + return self.dbcurs.lastrowid + + def add_cloneof(self, machine, parent): + self.dbcurs.execute(UpdateQueries.ADD_CLONEOF, (machine, parent)) + return self.dbcurs.lastrowid + + def add_romof(self, machine, parent): + self.dbcurs.execute(UpdateQueries.ADD_ROMOF, (machine, parent)) + return self.dbcurs.lastrowid + + def add_biosset(self, machine, name, description): + self.dbcurs.execute(UpdateQueries.ADD_BIOSSET, (machine, name, description)) + return self.dbcurs.lastrowid + + def add_biossetdefault(self, biosset): + self.dbcurs.execute(UpdateQueries.ADD_BIOSSETDEFAULT, (biosset, )) + return self.dbcurs.lastrowid + + def add_devicereference(self, machine, device): + self.dbcurs.execute(UpdateQueries.ADD_TEMPORARY_DEVICEREFERENCE, (machine, device)) + + def add_dipswitch(self, machine, isconfig, name, tag, mask): + self.dbcurs.execute(UpdateQueries.ADD_DIPSWITCH, (machine, isconfig, name, tag, mask)) + return self.dbcurs.lastrowid + + def add_diplocation(self, dipswitch, bit, name, num, inverted): + self.dbcurs.execute(UpdateQueries.ADD_DIPLOCATION, (dipswitch, bit, name, num, inverted)) + return self.dbcurs.lastrowid + + def add_dipvalue(self, dipswitch, name, value, isdefault): + self.dbcurs.execute(UpdateQueries.ADD_DIPVALUE, (dipswitch, name, value, isdefault)) + return self.dbcurs.lastrowid + + def add_feature(self, machine, featuretype, status, overall): + self.dbcurs.execute(UpdateQueries.ADD_FEATURE, (machine, status, overall, featuretype)) + return self.dbcurs.lastrowid + + def add_slot(self, machine, name): + self.dbcurs.execute(UpdateQueries.ADD_SLOT, (machine, name)) + return self.dbcurs.lastrowid + + def add_slotoption(self, slot, device, name): + self.dbcurs.execute(UpdateQueries.ADD_TEMPORARY_SLOTOPTION, (slot, device, name)) + return self.dbcurs.lastrowid + + def add_slotdefault(self, slot, slotoption): + self.dbcurs.execute(UpdateQueries.ADD_TEMPORARY_SLOTDEFAULT, (slot, slotoption)) + return self.dbcurs.lastrowid + + def add_ramoption(self, machine, name, size): + self.dbcurs.execute(UpdateQueries.ADD_RAMOPTION, (machine, size, name)) + return self.dbcurs.lastrowid + + def add_ramdefault(self, machine, size): + self.dbcurs.execute(UpdateQueries.ADD_RAMDEFAULT, (machine, size)) + return self.dbcurs.lastrowid + + +class QueryConnection(object): + def __init__(self, database, **kwargs): + super(QueryConnection, self).__init__(**kwargs) + if sys.version_info >= (3, 4): + self.dbconn = sqlite3.connect('file:' + urllib.request.pathname2url(database) + '?mode=ro', uri=True) + else: + self.dbconn = sqlite3.connect(database) + self.dbconn.row_factory = sqlite3.Row + self.dbconn.execute('PRAGMA foreign_keys = ON') + + def close(self): + self.dbconn.close() + + def cursor(self): + return QueryCursor(self.dbconn) + + +class UpdateConnection(object): + def __init__(self, database, **kwargs): + super(UpdateConnection, self).__init__(**kwargs) + self.dbconn = sqlite3.connect(database) + self.dbconn.execute('PRAGMA page_size = 4096') + self.dbconn.execute('PRAGMA foreign_keys = ON') + + def commit(self): + self.dbconn.commit() + + def rollback(self): + self.dbconn.rollback() + + def close(self): + self.dbconn.close() + + def cursor(self): + return UpdateCursor(self.dbconn) + + 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 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(): + self.dbconn.execute(query[0]) + self.dbconn.execute('PRAGMA foreign_keys = ON') + + # this is where the sanity starts + for query in SchemaQueries.DROP_INDEXES: + self.dbconn.execute(query) + for query in SchemaQueries.CREATE_TABLES: + self.dbconn.execute(query) + for query in SchemaQueries.CREATE_TEMPORARY_TABLES: + self.dbconn.execute(query) + self.dbconn.commit() + + def finalise_load(self): + self.dbconn.execute(UpdateQueries.FINALISE_DEVICEREFERENCES) + self.dbconn.commit() + self.dbconn.execute(SchemaQueries.DROP_TEMPORARY_DEVICEREFERENCE) + self.dbconn.execute(UpdateQueries.FINALISE_SLOTOPTIONS) + self.dbconn.commit() + self.dbconn.execute(SchemaQueries.DROP_TEMPORARY_SLOTOPTION) + self.dbconn.execute(UpdateQueries.FINALISE_SLOTDEFAULTS) + self.dbconn.commit() + self.dbconn.execute(SchemaQueries.DROP_TEMPORARY_SLOTDEFAULT) + for query in SchemaQueries.CREATE_INDEXES: + self.dbconn.execute(query) + self.dbconn.commit() diff --git a/docs/release/scripts/minimaws/lib/htmltmpl.py b/docs/release/scripts/minimaws/lib/htmltmpl.py new file mode 100644 index 00000000000..1a030d04e93 --- /dev/null +++ b/docs/release/scripts/minimaws/lib/htmltmpl.py @@ -0,0 +1,165 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Vas Crabb + +import string + + +ERROR_PAGE = string.Template( + '<!DOCTYPE html>\n' \ + '<html>\n' \ + '<head>\n' \ + ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n' \ + ' <title>${code} ${message}</title>\n' \ + '</head>\n' \ + '<body>\n' \ + '<h1>${message}</h1>\n' \ + '</body>\n' \ + '</html>\n') + + +SORTABLE_TABLE_EPILOGUE = string.Template( + ' </tbody>\n' + '</table>\n' + '<script>make_table_sortable(document.getElementById("${id}"));</script>\n') + +MACHINE_PROLOGUE = string.Template( + '<!DOCTYPE html>\n' \ + '<html>\n' \ + '<head>\n' \ + ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n' \ + ' <meta http-equiv="Content-Style-Type" content="text/css">\n' \ + ' <meta http-equiv="Content-Script-Type" content="text/javascript">\n' \ + ' <link rel="stylesheet" type="text/css" href="${assets}/style.css">\n' \ + ' <script type="text/javascript">\n' \ + ' var appurl="${app}"\n' \ + ' var assetsurl="${assets}"\n' \ + ' </script>\n' \ + ' <script type="text/javascript" src="${assets}/common.js"></script>\n' \ + ' <script type="text/javascript" src="${assets}/machine.js"></script>\n' \ + ' <title>Machine: ${description} (${shortname})</title>\n' \ + '</head>\n' \ + '<body>\n' \ + '<h1>${description}</h1>\n' \ + '<table class="sysinfo">\n' \ + ' <tr><th>Short name:</th><td>${shortname}</td></tr>\n' \ + ' <tr><th>Is device:</th><td>${isdevice}</td></tr>\n' \ + ' <tr><th>Runnable:</th><td>${runnable}</td></tr>\n' \ + ' <tr><th>Source file:</th><td><a href="${sourcehref}">${sourcefile}</a></td></tr>\n') + +MACHINE_OPTIONS_HEADING = string.Template( + '<h2>Options</h2>\n' \ + '<p>\n' \ + ' Format: <select id="select-options-format" onchange="update_cmd_preview()"><option value="cmd">Command line</option><option value="ini">INI file</option></select>\n' \ + ' <input type="checkbox" id="check-explicit-defaults" onchange="update_cmd_preview()"><label for="check-explicit-defaults">Explicit defaults</label>\n' \ + '</p>\n' \ + '<p id="para-cmd-preview"></p>\n') + +MACHINE_BIOS_PROLOGUE = string.Template( + '<h3>System BIOS</h3>' \ + '<select id="select-system-bios" onchange="update_cmd_preview()">') + +MACHINE_BIOS_OPTION = string.Template( + ' <option value="${name}" data-isdefault="${isdefault}">${name} - ${description}</option>\n') + +MACHINE_RAM_PROLOGUE = string.Template( + '<h3>RAM Size</h3>' \ + '<select id="select-ram-option" onchange="update_cmd_preview()">') + +MACHINE_RAM_OPTION = string.Template( + ' <option value="${name}" data-isdefault="${isdefault}">${name} (${size})</option>\n') + +MACHINE_SLOTS_PLACEHOLDER = string.Template( + '<h3>Slots</h3>\n' \ + '<p id="para-slots-placeholder">Loading slot information…<p>\n' \ + '<script>fetch_slots("${machine}");</script>\n') + +MACHINE_ROW = string.Template( + ' <tr>\n' \ + ' <td><a href="${machinehref}">${shortname}</a></td>\n' \ + ' <td><a href="${machinehref}">${description}</a></td>\n' \ + ' <td><a href="${sourcehref}">${sourcefile}</a></td>\n' \ + ' </tr>\n') + +EXCL_MACHINE_ROW = string.Template( + ' <tr>\n' \ + ' <td><a href="${machinehref}">${shortname}</a></td>\n' \ + ' <td></td>\n' \ + ' <td></td>\n' \ + ' </tr>\n') + +COMPATIBLE_SLOT_ROW = string.Template( + ' <tr>\n' \ + ' <td><a href="${machinehref}">${shortname}</a></td>\n' \ + ' <td><a href="${machinehref}">${description}</a></td>\n' \ + ' <td>${slot}</td>\n' \ + ' <td>${slotoption}</td>\n' \ + ' <td><a href="${sourcehref}">${sourcefile}</a></td>\n' \ + ' </tr>\n') + + +SOURCEFILE_PROLOGUE = string.Template( + '<!DOCTYPE html>\n' \ + '<html>\n' \ + '<head>\n' \ + ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n' \ + ' <meta http-equiv="Content-Style-Type" content="text/css">\n' \ + ' <meta http-equiv="Content-Script-Type" content="text/javascript">\n' \ + ' <link rel="stylesheet" type="text/css" href="${assets}/style.css">\n' \ + ' <script type="text/javascript">var assetsurl="${assets}"</script>\n' \ + ' <script type="text/javascript" src="${assets}/common.js"></script>\n' \ + ' <title>Source File: ${filename}</title>\n' \ + '</head>\n' \ + '<body>\n' \ + '<h1>${title}</h1>\n') + +SOURCEFILE_ROW_PARENT = string.Template( + ' <tr>\n' \ + ' <td><a href="${machinehref}">${shortname}</a></td>\n' \ + ' <td><a href="${machinehref}">${description}</a></td>\n' \ + ' <td>${year}</td>\n' \ + ' <td>${manufacturer}</td>\n' \ + ' <td>${runnable}</td>\n' \ + ' <td></td>\n' \ + ' </tr>\n') + +SOURCEFILE_ROW_CLONE = string.Template( + ' <tr>\n' \ + ' <td><a href="${machinehref}">${shortname}</a></td>\n' \ + ' <td><a href="${machinehref}">${description}</a></td>\n' \ + ' <td>${year}</td>\n' \ + ' <td>${manufacturer}</td>\n' \ + ' <td>${runnable}</td>\n' \ + ' <td><a href="${parenthref}">${parent}</a></td>\n' \ + ' </tr>\n') + + +SOURCEFILE_LIST_PROLOGUE = string.Template( + '<!DOCTYPE html>\n' \ + '<html>\n' \ + '<head>\n' \ + ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n' \ + ' <meta http-equiv="Content-Style-Type" content="text/css">\n' \ + ' <meta http-equiv="Content-Script-Type" content="text/javascript">\n' \ + ' <link rel="stylesheet" type="text/css" href="${assets}/style.css">\n' \ + ' <script type="text/javascript">var assetsurl="${assets}"</script>\n' \ + ' <script type="text/javascript" src="${assets}/common.js"></script>\n' \ + ' <title>${title}</title>\n' \ + '</head>\n' \ + '<body>\n' \ + '<h1>${heading}</h1>\n' \ + '<table id="tbl-sourcefiles">\n' \ + ' <thead>\n' \ + ' <tr>\n' \ + ' <th>Source file</th>\n' \ + ' <th class="numeric">Machines</th>\n' \ + ' </tr>\n' \ + ' </thead>\n' \ + ' <tbody>\n') + +SOURCEFILE_LIST_ROW = string.Template( + ' <tr>\n' \ + ' <td>${sourcefile}</td>\n' \ + ' <td style="text-align: right">${machines}</td>\n' \ + ' </tr>\n') diff --git a/docs/release/scripts/minimaws/lib/lxparse.py b/docs/release/scripts/minimaws/lib/lxparse.py new file mode 100644 index 00000000000..dfd8cbae45e --- /dev/null +++ b/docs/release/scripts/minimaws/lib/lxparse.py @@ -0,0 +1,280 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Vas Crabb + +from . import dbaccess + +import subprocess +import xml.sax +import xml.sax.saxutils + + +class ElementHandlerBase(object): + def __init__(self, parent, **kwargs): + super(ElementHandlerBase, self).__init__(**kwargs) + self.dbconn = parent.dbconn if parent is not None else None + self.locator = parent.locator if parent is not None else None + self.depth = 0 + self.childhandler = None + self.childdepth = 0 + + def startMainElement(self, name, attrs): + pass + + def endMainElement(self, name): + pass + + def mainCharacters(self, content): + pass + + def mainIgnorableWitespace(self, whitespace): + pass + + def startChildElement(self, name, attrs): + pass + + def endChildElement(self, name): + pass + + def childCharacters(self, content): + pass + + def childIgnorableWitespace(self, whitespace): + pass + + def endChildHandler(self, name, handler): + pass + + def setChildHandler(self, name, attrs, handler): + self.depth -= 1 + self.childhandler = handler + self.childdepth += 1 + handler.startElement(name, attrs) + + def setDocumentLocator(self, locator): + self.locator = locator + + def startElement(self, name, attrs): + if self.childhandler is not None: + self.childdepth += 1 + self.childhandler.startElement(name, attrs) + else: + self.depth += 1 + if 1 == self.depth: + self.startMainElement(name, attrs) + else: + self.startChildElement(name, attrs) + + def endElement(self, name): + if self.childhandler is not None: + self.childdepth -= 1 + self.childhandler.endElement(name) + if 0 == self.childdepth: + self.endChildHandler(name, self.childhandler) + self.childhandler = None + else: + self.depth -= 1 + if 0 == self.depth: + self.endMainElement(name) + else: + self.endChildElement(name) + + def characters(self, content): + if self.childhandler is not None: + self.childhandler.characters(content) + elif 1 < self.depth: + self.childCharacters(content) + else: + self.mainCharacters(content) + + def ignorableWhitespace(self, content): + if self.childhandler is not None: + self.childhandler.ignorableWhitespace(content) + elif 1 < self.depth: + self.childIgnorableWitespace(content) + else: + self.mainIgnorableWitespace(content) + + +class ElementHandler(ElementHandlerBase): + IGNORE = ElementHandlerBase(parent=None) + + +class TextAccumulator(ElementHandler): + def __init__(self, parent, **kwargs): + super(TextAccumulator, self).__init__(parent=parent, **kwargs) + self.text = '' + + def mainCharacters(self, content): + self.text += content + + +class DipSwitchHandler(ElementHandler): + def __init__(self, parent, **kwargs): + super(DipSwitchHandler, self).__init__(parent=parent, **kwargs) + self.dbcurs = parent.dbcurs + self.machine = parent.id + + def startMainElement(self, name, attrs): + self.mask = int(attrs['mask']) + self.bit = 0 + self.id = self.dbcurs.add_dipswitch(self.machine, name == 'configuration', attrs['name'], attrs['tag'], self.mask) + + def startChildElement(self, name, attrs): + if (name == 'diplocation') or (name == 'conflocation'): + while (0 != self.mask) and not (self.mask & 1): + self.mask >>= 1 + self.bit += 1 + self.dbcurs.add_diplocation(self.id, self.bit, attrs['name'], attrs['number'], attrs.get('inverted', 'no') == 'yes') + self.mask >>= 1 + self.bit += 1 + elif (name == 'dipvalue') or (name == 'confsetting'): + self.dbcurs.add_dipvalue(self.id, attrs['name'], attrs['value'], attrs.get('default', 'no') == 'yes') + self.setChildHandler(name, attrs, self.IGNORE) + + +class SlotHandler(ElementHandler): + def __init__(self, parent, **kwargs): + super(SlotHandler, self).__init__(parent=parent, **kwargs) + self.dbcurs = parent.dbcurs + self.machine = parent.id + + def startMainElement(self, name, attrs): + self.id = self.dbcurs.add_slot(self.machine, attrs['name']) + + def startChildElement(self, name, attrs): + if name == 'slotoption': + option = self.dbcurs.add_slotoption(self.id, attrs['devname'], attrs['name']) + if attrs.get('default') == 'yes': + self.dbcurs.add_slotdefault(self.id, option) + self.setChildHandler(name, attrs, self.IGNORE) + + +class RamOptionHandler(TextAccumulator): + def __init__(self, parent, **kwargs): + super(RamOptionHandler, self).__init__(parent=parent, **kwargs) + self.dbcurs = parent.dbcurs + self.machine = parent.id + + def startMainElement(self, name, attrs): + self.name = attrs['name'] + self.default = attrs.get('default', 'no') == 'yes'; + + def endMainElement(self, name): + self.size = int(self.text) + self.dbcurs.add_ramoption(self.machine, self.name, self.size) + if self.default: + self.dbcurs.add_ramdefault(self.machine, self.size) + + +class MachineHandler(ElementHandler): + CHILD_HANDLERS = { + 'description': TextAccumulator, + 'year': TextAccumulator, + 'manufacturer': TextAccumulator, + 'dipswitch': DipSwitchHandler, + 'configuration': DipSwitchHandler, + 'slot': SlotHandler, + 'ramoption': RamOptionHandler } + + def __init__(self, parent, **kwargs): + super(MachineHandler, self).__init__(parent=parent, **kwargs) + self.dbcurs = self.dbconn.cursor() + + def startMainElement(self, name, attrs): + self.shortname = attrs['name'] + self.sourcefile = attrs['sourcefile'] + self.isdevice = attrs.get('isdevice', 'no') == 'yes' + self.runnable = attrs.get('runnable', 'yes') == 'yes' + self.cloneof = attrs.get('cloneof') + self.romof = attrs.get('romof') + self.dbcurs.add_sourcefile(self.sourcefile) + + def startChildElement(self, name, attrs): + if name in self.CHILD_HANDLERS: + self.setChildHandler(name, attrs, self.CHILD_HANDLERS[name](self)) + else: + if name == 'biosset': + bios = self.dbcurs.add_biosset(self.id, attrs['name'], attrs['description']) + if attrs.get('default', 'no') == 'yes': + self.dbcurs.add_biossetdefault(bios) + elif name == 'device_ref': + self.dbcurs.add_devicereference(self.id, attrs['name']) + elif name == 'feature': + self.dbcurs.add_featuretype(attrs['type']) + status = 0 if 'status' not in attrs else 2 if attrs['status'] == 'unemulated' else 1 + overall = status if 'overall' not in attrs else 2 if attrs['overall'] == 'unemulated' else 1 + self.dbcurs.add_feature(self.id, attrs['type'], status, overall) + self.setChildHandler(name, attrs, self.IGNORE) + + def endChildHandler(self, name, handler): + if name == 'description': + self.description = handler.text + self.id = self.dbcurs.add_machine(self.shortname, self.description, self.sourcefile, self.isdevice, self.runnable) + if self.cloneof is not None: + self.dbcurs.add_cloneof(self.id, self.cloneof) + if self.romof is not None: + self.dbcurs.add_romof(self.id, self.romof) + elif name == 'year': + self.year = handler.text + elif name == 'manufacturer': + self.manufacturer = handler.text + self.dbcurs.add_system(self.id, self.year, self.manufacturer) + + def endMainElement(self, name): + self.dbcurs.close() + + +class ListXmlHandler(ElementHandler): + def __init__(self, dbconn, **kwargs): + super(ListXmlHandler, self).__init__(parent=None, **kwargs) + self.dbconn = dbconn + + def startDocument(self): + pass + + def endDocument(self): + pass + + def startMainElement(self, name, attrs): + if name != 'mame': + raise xml.sax.SAXParseException( + msg=('Expected "mame" element but found "%s"' % (name, )), + exception=None, + locator=self.locator) + self.dbconn.prepare_for_load() + self.machines = 0 + + def endMainElement(self, name): + # TODO: build index by first letter or whatever + self.dbconn.finalise_load() + + def startChildElement(self, name, attrs): + if name != 'machine': + raise xml.sax.SAXParseException( + msg=('Expected "machine" element but found "%s"' % (name, )), + exception=None, + locator=self.locator) + self.setChildHandler(name, attrs, MachineHandler(self)) + + def endChildHandler(self, name, handler): + if name == 'machine': + if self.machines >= 1023: + self.dbconn.commit() + self.machines = 0 + else: + self.machines += 1 + + def processingInstruction(self, target, data): + pass + + +def load_info(options): + parser = xml.sax.make_parser() + parser.setContentHandler(ListXmlHandler(dbaccess.UpdateConnection(options.database))) + if options.executable is not None: + task = subprocess.Popen([options.executable, '-listxml'], stdout=subprocess.PIPE) + parser.parse(task.stdout) + else: + parser.parse(options.file) diff --git a/docs/release/scripts/minimaws/lib/wsgiserve.py b/docs/release/scripts/minimaws/lib/wsgiserve.py new file mode 100644 index 00000000000..b30828e01e0 --- /dev/null +++ b/docs/release/scripts/minimaws/lib/wsgiserve.py @@ -0,0 +1,526 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Vas Crabb + +from . import dbaccess +from . import htmltmpl + +import cgi +import inspect +import json +import mimetypes +import os.path +import re +import sys +import wsgiref.simple_server +import wsgiref.util + +if sys.version_info >= (3, ): + import urllib.parse as urlparse +else: + import urlparse + + +class HandlerBase(object): + STATUS_MESSAGE = { + 400: 'Bad Request', + 401: 'Unauthorized', + 403: 'Forbidden', + 404: 'Not Found', + 405: 'Method Not Allowed', + 500: 'Internal Server Error', + 501: 'Not Implemented', + 502: 'Bad Gateway', + 503: 'Service Unavailable', + 504: 'Gateway Timeout', + 505: 'HTTP Version Not Supported' } + + def __init__(self, app, application_uri, environ, start_response, **kwargs): + super(HandlerBase, self).__init__(**kwargs) + self.app = app + self.js_escape = app.js_escape + self.application_uri = application_uri + self.environ = environ + self.start_response = start_response + + def error_page(self, code): + yield htmltmpl.ERROR_PAGE.substitute(code=cgi.escape('%d' % code), message=cgi.escape(self.STATUS_MESSAGE[code])).encode('utf-8') + + +class ErrorPageHandler(HandlerBase): + def __init__(self, code, app, application_uri, environ, start_response, **kwargs): + super(ErrorPageHandler, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs) + self.code = code + self.start_response('%d %s' % (self.code, self.STATUS_MESSAGE[code]), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + + def __iter__(self): + return self.error_page(self.code) + + +class AssetHandler(HandlerBase): + def __init__(self, directory, app, application_uri, environ, start_response, **kwargs): + super(AssetHandler, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs) + self.directory = directory + self.asset = wsgiref.util.shift_path_info(environ) + + def __iter__(self): + if not self.asset: + self.start_response('403 %s' % (self.STATUS_MESSAGE[403], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(403) + elif self.environ['PATH_INFO']: + self.start_response('404 %s' % (self.STATUS_MESSAGE[404], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(404) + else: + path = os.path.join(self.directory, self.asset) + if not os.path.isfile(path): + self.start_response('404 %s' % (self.STATUS_MESSAGE[404], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(404) + elif self.environ['REQUEST_METHOD'] != 'GET': + self.start_response('405 %s' % (self.STATUS_MESSAGE[405], ), [('Content-type', 'text/html; charset=utf-8'), ('Accept', 'GET, HEAD, OPTIONS'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(405) + else: + try: + f = open(path, 'rb') + type, encoding = mimetypes.guess_type(path) + self.start_response('200 OK', [('Content-type', type or 'application/octet-stream'), ('Cache-Control', 'public, max-age=3600')]) + return wsgiref.util.FileWrapper(f) + except: + self.start_response('500 %s' % (self.STATUS_MESSAGE[500], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(500) + + +class QueryPageHandler(HandlerBase): + def __init__(self, app, application_uri, environ, start_response, **kwargs): + super(QueryPageHandler, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs) + self.dbcurs = app.dbconn.cursor() + + def machine_href(self, shortname): + return cgi.escape(urlparse.urljoin(self.application_uri, 'machine/%s' % (shortname, )), True) + + def sourcefile_href(self, sourcefile): + return cgi.escape(urlparse.urljoin(self.application_uri, 'sourcefile/%s' % (sourcefile, )), True) + + +class MachineRpcHandlerBase(QueryPageHandler): + def __init__(self, app, application_uri, environ, start_response, **kwargs): + super(MachineRpcHandlerBase, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs) + self.shortname = wsgiref.util.shift_path_info(environ) + + def __iter__(self): + if not self.shortname: + self.start_response('403 %s' % (self.STATUS_MESSAGE[403], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(403) + elif self.environ['PATH_INFO']: + self.start_response('404 %s' % (self.STATUS_MESSAGE[404], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(404) + else: + machine = self.dbcurs.get_machine_id(self.shortname) + if machine is None: + self.start_response('404 %s' % (self.STATUS_MESSAGE[404], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(404) + elif self.environ['REQUEST_METHOD'] != 'GET': + self.start_response('405 %s' % (self.STATUS_MESSAGE[405], ), [('Content-type', 'text/html; charset=utf-8'), ('Accept', 'GET, HEAD, OPTIONS'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(405) + else: + self.start_response('200 OK', [('Content-type', 'application/json; chearset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.data_page(machine) + + +class MachineHandler(QueryPageHandler): + def __init__(self, app, application_uri, environ, start_response, **kwargs): + super(MachineHandler, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs) + self.shortname = wsgiref.util.shift_path_info(environ) + + def __iter__(self): + if not self.shortname: + # could probably list machines here or something + self.start_response('403 %s' % (self.STATUS_MESSAGE[403], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(403) + elif self.environ['PATH_INFO']: + self.start_response('404 %s' % (self.STATUS_MESSAGE[404], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(404) + else: + machine_info = self.dbcurs.get_machine_info(self.shortname).fetchone() + if not machine_info: + self.start_response('404 %s' % (self.STATUS_MESSAGE[404], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(404) + elif self.environ['REQUEST_METHOD'] != 'GET': + self.start_response('405 %s' % (self.STATUS_MESSAGE[405], ), [('Content-type', 'text/html; charset=utf-8'), ('Accept', 'GET, HEAD, OPTIONS'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(405) + else: + self.start_response('200 OK', [('Content-type', 'text/html; chearset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.machine_page(machine_info) + + def machine_page(self, machine_info): + id = machine_info['id'] + description = machine_info['description'] + yield htmltmpl.MACHINE_PROLOGUE.substitute( + app=self.js_escape(cgi.escape(self.application_uri, True)), + assets=self.js_escape(cgi.escape(urlparse.urljoin(self.application_uri, 'static'), True)), + sourcehref=self.sourcefile_href(machine_info['sourcefile']), + description=cgi.escape(description), + shortname=cgi.escape(self.shortname), + isdevice=cgi.escape('Yes' if machine_info['isdevice'] else 'No'), + runnable=cgi.escape('Yes' if machine_info['runnable'] else 'No'), + sourcefile=cgi.escape(machine_info['sourcefile'])).encode('utf-8') + if machine_info['year'] is not None: + yield ( + ' <tr><th>Year:</th><td>%s</td></tr>\n' \ + ' <tr><th>Manufacturer:</th><td>%s</td></tr>\n' % + (cgi.escape(machine_info['year']), cgi.escape(machine_info['Manufacturer']))).encode('utf-8') + if machine_info['cloneof'] is not None: + parent = self.dbcurs.listfull(machine_info['cloneof']).fetchone() + if parent: + yield ( + ' <tr><th>Parent Machine:</th><td><a href="%s">%s (%s)</a></td></tr>\n' % + (cgi.escape('%smachine/%s' % (self.application_uri, machine_info['cloneof']), True), cgi.escape(parent[1]), cgi.escape(machine_info['cloneof']))).encode('utf-8') + else: + yield ( + ' <tr><th>Parent Machine:</th><td><a href="%s">%s</a></td></tr>\n' % + (cgi.escape('%smachine/%s' % (self.application_uri, machine_info['cloneof']), True), cgi.escape(machine_info['cloneof']))).encode('utf-8') + if (machine_info['romof'] is not None) and (machine_info['romof'] != machine_info['cloneof']): + parent = self.dbcurs.listfull(machine_info['romof']).fetchone() + if parent: + yield ( + ' <tr><th>Parent ROM set:</th><td><a href="%s">%s (%s)</a></td></tr>\n' % + (cgi.escape('%smachine/%s' % (self.application_uri, machine_info['romof']), True), cgi.escape(parent[1]), cgi.escape(machine_info['romof']))).encode('utf-8') + else: + yield ( + ' <tr><th>Parent Machine:</th><td><a href="%s">%s</a></td></tr>\n' % + (cgi.escape('%smachine/%s' % (self.application_uri, machine_info['romof']), True), cgi.escape(machine_info['romof']))).encode('utf-8') + unemulated = [] + imperfect = [] + for feature, status, overall in self.dbcurs.get_feature_flags(id): + if overall == 1: + imperfect.append(feature) + elif overall > 1: + unemulated.append(feature) + if (unemulated): + unemulated.sort() + yield( + (' <tr><th>Unemulated Features:</th><td>%s' + (', %s' * (len(unemulated) - 1)) + '</td></tr>\n') % + tuple(unemulated)).encode('utf-8'); + if (imperfect): + yield( + (' <tr><th>Imperfect Features:</th><td>%s' + (', %s' * (len(imperfect) - 1)) + '</td></tr>\n') % + tuple(imperfect)).encode('utf-8'); + yield '</table>\n'.encode('utf-8') + + # allow system BIOS selection + haveoptions = False + for name, desc, isdef in self.dbcurs.get_biossets(id): + if not haveoptions: + haveoptions = True; + yield htmltmpl.MACHINE_OPTIONS_HEADING.substitute().encode('utf-8') + yield htmltmpl.MACHINE_BIOS_PROLOGUE.substitute().encode('utf-8') + yield htmltmpl.MACHINE_BIOS_OPTION.substitute( + name=cgi.escape(name, True), + description=cgi.escape(desc), + isdefault=('yes' if isdef else 'no')).encode('utf-8') + if haveoptions: + yield '</select>\n<script>set_default_system_bios();</script>\n'.encode('utf-8') + + # allow RAM size selection + first = True + for name, size, isdef in self.dbcurs.get_ram_options(id): + if first: + if not haveoptions: + haveoptions = True; + yield htmltmpl.MACHINE_OPTIONS_HEADING.substitute().encode('utf-8') + yield htmltmpl.MACHINE_RAM_PROLOGUE.substitute().encode('utf-8') + first = False + yield htmltmpl.MACHINE_RAM_OPTION.substitute( + name=cgi.escape(name, True), + size=cgi.escape('{:,}'.format(size)), + isdefault=('yes' if isdef else 'no')).encode('utf-8') + if not first: + yield '</select>\n<script>set_default_ram_option();</script>\n'.encode('utf-8') + + # placeholder for machine slots - populated by client-side JavaScript + if self.dbcurs.count_slots(id): + 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') + + # list devices referenced by this system/device + first = True + for name, desc, src in self.dbcurs.get_devices_referenced(id): + if first: + yield \ + '<h2>Devices Referenced</h2>\n' \ + '<table id="tbl-dev-refs">\n' \ + ' <thead>\n' \ + ' <tr><th>Short name</th><th>Description</th><th>Source file</th></tr>\n' \ + ' </thead>\n' \ + ' <tbody>\n'.encode('utf-8') + first = False + yield self.machine_row(name, desc, src) + if not first: + yield htmltmpl.SORTABLE_TABLE_EPILOGUE.substitute(id='tbl-dev-refs').encode('utf-8') + + # list slots where this device is an option + first = True + for name, desc, slot, opt, src in self.dbcurs.get_compatible_slots(id): + if (first): + yield \ + '<h2>Compatible Slots</h2>\n' \ + '<table id="tbl-comp-slots">\n' \ + ' <thead>\n' \ + ' <tr><th>Short name</th><th>Description</th><th>Slot</th><th>Choice</th><th>Source file</th></tr>\n' \ + ' </thead>\n' \ + ' <tbody>\n'.encode('utf-8') + first = False + yield htmltmpl.COMPATIBLE_SLOT_ROW.substitute( + machinehref=self.machine_href(name), + sourcehref=self.sourcefile_href(src), + shortname=cgi.escape(name), + description=cgi.escape(desc), + sourcefile=cgi.escape(src), + slot=cgi.escape(slot), + slotoption=cgi.escape(opt)).encode('utf-8') + if not first: + yield htmltmpl.SORTABLE_TABLE_EPILOGUE.substitute(id='tbl-comp-slots').encode('utf-8') + + # list systems/devices that reference this device + first = True + for name, desc, src in self.dbcurs.get_device_references(id): + if first: + yield \ + '<h2>Referenced By</h2>\n' \ + '<table id="tbl-ref-by">\n' \ + ' <thead>\n' \ + ' <tr><th>Short name</th><th>Description</th><th>Source file</th></tr>\n' \ + ' </thead>\n' \ + ' <tbody>\n'.encode('utf-8') + first = False + yield self.machine_row(name, desc, src) + if not first: + yield htmltmpl.SORTABLE_TABLE_EPILOGUE.substitute(id='tbl-ref-by').encode('utf-8') + + yield '</html>\n'.encode('utf-8') + + def machine_row(self, shortname, description, sourcefile): + return (htmltmpl.MACHINE_ROW if description is not None else htmltmpl.EXCL_MACHINE_ROW).substitute( + machinehref=self.machine_href(shortname), + sourcehref=self.sourcefile_href(sourcefile), + shortname=cgi.escape(shortname), + description=cgi.escape(description or ''), + sourcefile=cgi.escape(sourcefile or '')).encode('utf-8') + + +class SourceFileHandler(QueryPageHandler): + def __init__(self, app, application_uri, environ, start_response, **kwargs): + super(SourceFileHandler, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs) + + def __iter__(self): + self.filename = self.environ['PATH_INFO'] + if self.filename and (self.filename[0] == '/'): + self.filename = self.filename[1:] + if not self.filename: + if self.environ['REQUEST_METHOD'] != 'GET': + self.start_response('405 %s' % (self.STATUS_MESSAGE[405], ), [('Content-type', 'text/html; charset=utf-8'), ('Accept', 'GET, HEAD, OPTIONS'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(405) + else: + self.start_response('200 OK', [('Content-type', 'text/html; chearset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.sourcefile_listing_page(None) + else: + id = self.dbcurs.get_sourcefile_id(self.filename) + if id is None: + if ('*' not in self.filename) and ('?' not in self.filename) and ('?' not in self.filename): + self.filename += '*' if self.filename[-1] == '/' else '/*' + if not self.dbcurs.count_sourcefiles(self.filename): + self.start_response('404 %s' % (self.STATUS_MESSAGE[404], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(404) + elif self.environ['REQUEST_METHOD'] != 'GET': + self.start_response('405 %s' % (self.STATUS_MESSAGE[405], ), [('Content-type', 'text/html; charset=utf-8'), ('Accept', 'GET, HEAD, OPTIONS'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(405) + else: + self.start_response('200 OK', [('Content-type', 'text/html; chearset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.sourcefile_listing_page(self.filename) + else: + self.start_response('404 %s' % (self.STATUS_MESSAGE[404], ), [('Content-type', 'text/html; charset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(404) + elif self.environ['REQUEST_METHOD'] != 'GET': + self.start_response('405 %s' % (self.STATUS_MESSAGE[405], ), [('Content-type', 'text/html; charset=utf-8'), ('Accept', 'GET, HEAD, OPTIONS'), ('Cache-Control', 'public, max-age=3600')]) + return self.error_page(405) + else: + self.start_response('200 OK', [('Content-type', 'text/html; chearset=utf-8'), ('Cache-Control', 'public, max-age=3600')]) + return self.sourcefile_page(id) + + def sourcefile_listing_page(self, pattern): + if not pattern: + title = heading = 'All Source Files' + else: + heading = self.linked_title(pattern) + title = 'Source Files: ' + cgi.escape(pattern) + yield htmltmpl.SOURCEFILE_LIST_PROLOGUE.substitute( + assets=cgi.escape(urlparse.urljoin(self.application_uri, 'static'), True), + title=title, + heading=heading).encode('utf-8') + for filename, machines in self.dbcurs.get_sourcefiles(pattern): + yield htmltmpl.SOURCEFILE_LIST_ROW.substitute( + sourcefile=self.linked_title(filename, True), + machines=cgi.escape('%d' % machines)).encode('utf-8') + yield ' </tbody>\n</table>\n<script>make_table_sortable(document.getElementById("tbl-sourcefiles"));</script>\n</body>\n</html>\n'.encode('utf-8') + + def sourcefile_page(self, id): + yield htmltmpl.SOURCEFILE_PROLOGUE.substitute( + assets=cgi.escape(urlparse.urljoin(self.application_uri, 'static'), True), + filename=cgi.escape(self.filename), + title=self.linked_title(self.filename)).encode('utf-8') + + first = True + for machine_info in self.dbcurs.get_sourcefile_machines(id): + if first: + yield \ + '<table id="tbl-machines">\n' \ + ' <thead>\n' \ + ' <tr>\n' \ + ' <th>Short name</th>\n' \ + ' <th>Description</th>\n' \ + ' <th>Year</th>\n' \ + ' <th>Manufacturer</th>\n' \ + ' <th>Runnable</th>\n' \ + ' <th>Parent</th>\n' \ + ' </tr>\n' \ + ' </thead>\n' \ + ' <tbody>\n'.encode('utf-8') + first = False + yield self.machine_row(machine_info) + if first: + yield '<p>No machines found.</p>\n'.encode('utf-8') + else: + yield ' </tbody>\n</table>\n<script>make_table_sortable(document.getElementById("tbl-machines"));</script>\n'.encode('utf-8') + + yield '</body>\n</html>\n'.encode('utf-8') + + def linked_title(self, filename, linkfinal=False): + parts = filename.split('/') + final = parts[-1] + del parts[-1] + uri = urlparse.urljoin(self.application_uri, 'sourcefile') + title = '' + for part in parts: + uri = urlparse.urljoin(uri + '/', part) + title += '<a href="{0}">{1}</a>/'.format(cgi.escape(uri, True), cgi.escape(part)) + if linkfinal: + uri = urlparse.urljoin(uri + '/', final) + return title + '<a href="{0}">{1}</a>'.format(cgi.escape(uri, True), cgi.escape(final)) + else: + return title + final + + def machine_row(self, machine_info): + return (htmltmpl.SOURCEFILE_ROW_PARENT if machine_info['cloneof'] is None else htmltmpl.SOURCEFILE_ROW_CLONE).substitute( + machinehref=self.machine_href(machine_info['shortname']), + parenthref=self.machine_href(machine_info['cloneof'] or '__invalid'), + 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 ''), + runnable=cgi.escape('Yes' if machine_info['runnable'] else 'No'), + parent=cgi.escape(machine_info['cloneof'] or '')).encode('utf-8') + + +class BiosRpcHandler(MachineRpcHandlerBase): + def data_page(self, machine): + result = { } + for name, description, isdefault in self.dbcurs.get_biossets(machine): + result[name] = { 'description': description, 'isdefault': True if isdefault else False } + yield json.dumps(result).encode('utf-8') + + +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') + + +class SlotsRpcHandler(MachineRpcHandlerBase): + def data_page(self, machine): + result = { 'defaults': { }, 'slots': { } } + + # 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 MiniMawsApp(object): + JS_ESCAPE = re.compile('([\"\'\\\\])') + RPC_SERVICES = { + 'bios': BiosRpcHandler, + 'flags': FlagsRpcHandler, + 'slots': SlotsRpcHandler } + + def __init__(self, dbfile, **kwargs): + super(MiniMawsApp, self).__init__(**kwargs) + self.dbconn = dbaccess.QueryConnection(dbfile) + self.assetsdir = os.path.join(os.path.dirname(inspect.getfile(self.__class__)), 'assets') + if not mimetypes.inited: + mimetypes.init() + + def __call__(self, environ, start_response): + application_uri = wsgiref.util.application_uri(environ) + module = wsgiref.util.shift_path_info(environ) + if module == 'machine': + return MachineHandler(self, application_uri, environ, start_response) + elif module == 'sourcefile': + return SourceFileHandler(self, application_uri, environ, start_response) + elif module == 'static': + return AssetHandler(self.assetsdir, self, application_uri, environ, start_response) + elif module == 'rpc': + service = wsgiref.util.shift_path_info(environ) + if not service: + return ErrorPageHandler(403, self, application_uri, environ, start_response) + elif service in self.RPC_SERVICES: + return self.RPC_SERVICES[service](self, application_uri, environ, start_response) + else: + return ErrorPageHandler(404, self, application_uri, environ, start_response) + elif not module: + return ErrorPageHandler(403, self, application_uri, environ, start_response) + else: + return ErrorPageHandler(404, self, application_uri, environ, start_response) + + def js_escape(self, str): + return self.JS_ESCAPE.sub('\\\\\\1', str).replace('\0', '\\0') + + +def run_server(options): + application = MiniMawsApp(options.database) + server = wsgiref.simple_server.make_server(options.host, options.port, application) + try: + server.serve_forever() + except KeyboardInterrupt: + pass diff --git a/docs/release/scripts/minimaws/minimaws.py b/docs/release/scripts/minimaws/minimaws.py new file mode 100644 index 00000000000..656956a0275 --- /dev/null +++ b/docs/release/scripts/minimaws/minimaws.py @@ -0,0 +1,126 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Vas Crabb +## +## Demonstrates use of MAME's XML system information output +## +## This script requires Python 2.7 or Python 3.4, and SQLite 3.6.19 at +## the very least. Help is provided for all command-line options (use +## -h or --help). +## +## Before you can use the scripts, you need to load MAME system +## information into a database: +## +## $ python minimaws.py load --executable path/to/mame +## +## (The script uses the name "minimaws.sqlite3" for the database by +## default, but you can override this with the --database option.) +## +## After you've loaded the database, you can use query commands. Most +## of the query commands behave similarly to MAME's auxiliary verbs but +## case-sensitive and with better globbing (output not shown for +## brevity): +## +## $ python minimaws.py listfull "unkch*" +## $ python minimaws.py listclones "unkch*" +## $ python minimaws.py listbrothers superx +## +## One more sophisticated query command is provided that MAME has no +## equivalent for. The listaffected command shows all runnable machines +## that reference devices defined in specified source files: +## +## $ python minimaws.py listaffected "src/devices/cpu/m6805/*" src/devices/cpu/mcs40/mcs40.cpp +## +## This script can also run a local web server allowing you to explore +## systems, devices and source files: +## +## $ python minimaws.py serve +## +## The default TCP port is 8080 but if desired, this can be changed with +## the --port option. The web service is implemented using WSGI, so it +## can be run in a web server if desired (e.g. using Apache mod_wsgi). +## It uses get queries and provides cacheable reponses, so it should +## work behind a caching proxy (e.g. squid or nginx). Although the +## service is written to avoid SQL injected and directory traversal +## attacks, and it avoids common sources of security issues, it has not +## been audited for vulnerabilities and is not recommended for use on +## public web sites. +## +## To use the web service, you need to know the short name of a device/ +## system, or the name of a source file containing a system: +## +## http://localhost:8080/machine/intlc440 +## http://localhost:8080/machine/a2mouse +## http://localhost:8080/sourcefile/src/devices/cpu/m68000/m68kcpu.cpp +## +## You can also start with a list of all source files containing machine +## definitions, but this is quite a large page and may perform poorly: +## +## http://localhost:8080/sourcefile/ +## +## One feature that may be of iterest to front-end authors or users of +## computer emulation is the ability to show available slot options and +## update live as changes are made. This can be seen in action on +## computer systems: +## +## http://localhost:8080/machine/ibm5150 +## http://localhost:8080/machine/apple2e +## http://localhost:8080/machine/ti82 +## +## On any of these, and many other systems, you can select slot options +## and see dependent slots update. Required command-line arguments to +## produce the selected configuration are also displayed. + +import lib.auxverbs +import lib.lxparse +import lib.wsgiserve + +import argparse +import sys + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--database', metavar='<dbfile>', default='minimaws.sqlite3', help='SQLite 3 info database file (defaults to minimaws.sqlite3)') + subparsers = parser.add_subparsers(title='commands', dest='command', metavar='<command>') + + subparser = subparsers.add_parser('listfull', help='list short names and full names') + subparser.add_argument('pattern', nargs='?', metavar='<pat>', help='short name glob pattern') + + subparser = subparsers.add_parser('listsource', help='list short names and source files') + subparser.add_argument('pattern', nargs='?', metavar='<pat>', help='short name glob pattern') + + subparser = subparsers.add_parser('listclones', help='show clones') + subparser.add_argument('pattern', nargs='?', metavar='<pat>', help='short name/parent glob pattern') + + subparser = subparsers.add_parser('listbrothers', help='show drivers from the same source file(s)') + subparser.add_argument('pattern', nargs='?', metavar='<pat>', help='short name glob pattern') + + subparser = subparsers.add_parser('listaffected', help='show drivers affected by source change(s)') + subparser.add_argument('pattern', nargs='+', metavar='<pat>', help='source file glob pattern') + + subparser = subparsers.add_parser('serve', help='serve over HTTP') + subparser.add_argument('--port', metavar='<port>', default=8080, type=int, help='server TCP port') + subparser.add_argument('--host', metavar='<host>', default='', help='server TCP hostname') + + subparser = subparsers.add_parser('load', help='load machine information') + group = subparser.add_mutually_exclusive_group(required=True) + group.add_argument('--executable', metavar='<exe>', help='emulator executable') + group.add_argument('--file', metavar='<xmlfile>', help='XML machine information file') + + options = parser.parse_args() + if options.command == 'listfull': + lib.auxverbs.do_listfull(options) + elif options.command == 'listsource': + lib.auxverbs.do_listsource(options) + elif options.command == 'listclones': + lib.auxverbs.do_listclones(options) + elif options.command == 'listbrothers': + lib.auxverbs.do_listbrothers(options) + elif options.command == 'listaffected': + lib.auxverbs.do_listaffected(options) + elif options.command == 'serve': + lib.wsgiserve.run_server(options) + elif options.command == 'load': + lib.lxparse.load_info(options) diff --git a/docs/release/scripts/resources/emscripten/emscripten_post.js b/docs/release/scripts/resources/emscripten/emscripten_post.js new file mode 100644 index 00000000000..b23f1820175 --- /dev/null +++ b/docs/release/scripts/resources/emscripten/emscripten_post.js @@ -0,0 +1,18 @@ +// MAME-JavaScript function mappings +var JSMAME = JSMAME || {}; +JSMAME.get_machine = Module.cwrap('_ZN15running_machine30emscripten_get_running_machineEv', 'number'); +JSMAME.get_ui = Module.cwrap('_ZN15running_machine17emscripten_get_uiEv', 'number'); +JSMAME.get_sound = Module.cwrap('_ZN15running_machine20emscripten_get_soundEv', 'number'); +JSMAME.ui_set_show_fps = Module.cwrap('_ZN15mame_ui_manager12set_show_fpsEb', '', ['number', 'number']); +JSMAME.ui_get_show_fps = Module.cwrap('_ZNK15mame_ui_manager8show_fpsEv', 'number', ['number']); +JSMAME.sound_manager_mute = Module.cwrap('_ZN13sound_manager4muteEbh', '', ['number', 'number', 'number']); +JSMAME.sdl_pauseaudio = Module.cwrap('SDL_PauseAudio', '', ['number']); +JSMAME.sdl_sendkeyboardkey = Module.cwrap('SDL_SendKeyboardKey', '', ['number', 'number']); + +JSMAME.soft_reset = Module.cwrap('_ZN15running_machine21emscripten_soft_resetEv', null); +JSMAME.hard_reset = Module.cwrap('_ZN15running_machine21emscripten_hard_resetEv', null); +JSMAME.exit = Module.cwrap('_ZN15running_machine15emscripten_exitEv', null, []); +JSMAME.save = Module.cwrap('_ZN15running_machine15emscripten_saveEPKc', null, ['string']); +JSMAME.load = Module.cwrap('_ZN15running_machine15emscripten_loadEPKc', null, ['string']); + +var JSMESS = JSMAME; diff --git a/docs/release/scripts/resources/uwp/Package.appxmanifest b/docs/release/scripts/resources/uwp/Package.appxmanifest new file mode 100644 index 00000000000..60092db9fed --- /dev/null +++ b/docs/release/scripts/resources/uwp/Package.appxmanifest @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp"> + <Identity Name="f0273023-de0a-46a5-b0db-1514f3a84c71" Publisher="CN=bradhugh" Version="1.0.0.0" /> + <mp:PhoneIdentity PhoneProductId="f0273023-de0a-46a5-b0db-1514f3a84c71" PhonePublisherId="00000000-0000-0000-0000-000000000000" /> + <Properties> + <DisplayName>MAME</DisplayName> + <PublisherDisplayName>MAME Team</PublisherDisplayName> + <Logo>scripts\resources\uwp\assets\StoreLogo.png</Logo> + </Properties> + <Dependencies> + <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" /> + </Dependencies> + <Resources> + <Resource Language="x-generate" /> + </Resources> + <Applications> + <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="Mameuwp.App"> + <uap:VisualElements DisplayName="MAME" Square150x150Logo="scripts\resources\uwp\assets\Square150x150Logo.png" Square44x44Logo="scripts\resources\uwp\assets\Square44x44Logo.png" Description="MAME for Windows 10" BackgroundColor="transparent"> + <uap:DefaultTile Wide310x150Logo="scripts\resources\uwp\assets\Wide310x150Logo.png"> + <uap:ShowNameOnTiles> + <uap:ShowOn Tile="square150x150Logo" /> + </uap:ShowNameOnTiles> + </uap:DefaultTile> + <uap:SplashScreen Image="scripts\resources\uwp\assets\SplashScreen.scale-200.png" /> + <uap:InitialRotationPreference> + <uap:Rotation Preference="landscape" /> + </uap:InitialRotationPreference> + </uap:VisualElements> + </Application> + </Applications> + <Capabilities> + <Capability Name="internetClient" /> + <Capability Name="codeGeneration" /> + <Capability Name="privateNetworkClientServer" /> + </Capabilities> +</Package>
\ No newline at end of file diff --git a/docs/release/scripts/resources/uwp/assets/LockScreenLogo.scale-200.png b/docs/release/scripts/resources/uwp/assets/LockScreenLogo.scale-200.png Binary files differnew file mode 100644 index 00000000000..989319d4ec3 --- /dev/null +++ b/docs/release/scripts/resources/uwp/assets/LockScreenLogo.scale-200.png diff --git a/docs/release/scripts/resources/uwp/assets/SplashScreen.scale-200.png b/docs/release/scripts/resources/uwp/assets/SplashScreen.scale-200.png Binary files differnew file mode 100644 index 00000000000..538a6ad95a9 --- /dev/null +++ b/docs/release/scripts/resources/uwp/assets/SplashScreen.scale-200.png diff --git a/docs/release/scripts/resources/uwp/assets/Square150x150Logo.scale-200.png b/docs/release/scripts/resources/uwp/assets/Square150x150Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..15b8043caa8 --- /dev/null +++ b/docs/release/scripts/resources/uwp/assets/Square150x150Logo.scale-200.png diff --git a/docs/release/scripts/resources/uwp/assets/Square44x44Logo.scale-200.png b/docs/release/scripts/resources/uwp/assets/Square44x44Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..420dc54bf73 --- /dev/null +++ b/docs/release/scripts/resources/uwp/assets/Square44x44Logo.scale-200.png diff --git a/docs/release/scripts/resources/uwp/assets/Square44x44Logo.targetsize-24_altform-unplated.png b/docs/release/scripts/resources/uwp/assets/Square44x44Logo.targetsize-24_altform-unplated.png Binary files differnew file mode 100644 index 00000000000..ba31e4f883f --- /dev/null +++ b/docs/release/scripts/resources/uwp/assets/Square44x44Logo.targetsize-24_altform-unplated.png diff --git a/docs/release/scripts/resources/uwp/assets/StoreLogo.png b/docs/release/scripts/resources/uwp/assets/StoreLogo.png Binary files differnew file mode 100644 index 00000000000..a16e59dcee9 --- /dev/null +++ b/docs/release/scripts/resources/uwp/assets/StoreLogo.png diff --git a/docs/release/scripts/resources/uwp/assets/Wide310x150Logo.scale-200.png b/docs/release/scripts/resources/uwp/assets/Wide310x150Logo.scale-200.png Binary files differnew file mode 100644 index 00000000000..b6fd1f57bca --- /dev/null +++ b/docs/release/scripts/resources/uwp/assets/Wide310x150Logo.scale-200.png diff --git a/docs/release/scripts/resources/uwp/mame_TemporaryKey.pfx b/docs/release/scripts/resources/uwp/mame_TemporaryKey.pfx Binary files differnew file mode 100644 index 00000000000..de6ef5c5f88 --- /dev/null +++ b/docs/release/scripts/resources/uwp/mame_TemporaryKey.pfx diff --git a/docs/release/scripts/resources/windows/hbmame/hbmame.ico b/docs/release/scripts/resources/windows/hbmame/hbmame.ico Binary files differnew file mode 100644 index 00000000000..845ec9aedd7 --- /dev/null +++ b/docs/release/scripts/resources/windows/hbmame/hbmame.ico diff --git a/docs/release/scripts/resources/windows/hbmame/hbmame.man b/docs/release/scripts/resources/windows/hbmame/hbmame.man new file mode 100644 index 00000000000..45d07d3f853 --- /dev/null +++ b/docs/release/scripts/resources/windows/hbmame/hbmame.man @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> + <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> + <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="HBMAME" type="win32" /> + <description>Homebrew MAME</description> + <dependency> + <dependentAssembly> + <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> + </dependentAssembly> + </dependency> + <asmv3:application> + <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> + <dpiAware>true</dpiAware> + </asmv3:windowsSettings> + </asmv3:application> +</assembly> diff --git a/docs/release/scripts/resources/windows/hbmame/hbmame.rc b/docs/release/scripts/resources/windows/hbmame/hbmame.rc new file mode 100644 index 00000000000..33da7f1d685 --- /dev/null +++ b/docs/release/scripts/resources/windows/hbmame/hbmame.rc @@ -0,0 +1,14 @@ +// license:BSD-3-Clause +// copyright-holders:Robbbert +//============================================================ +// +// mame.rc - Minimal resource file for Win32 MAME +// +//============================================================ + +#include <windows.h> +#include "hbmamevers.rc" + +1 24 MOVEABLE PURE "hbmame.man" + +2 ICON DISCARDABLE "hbmame.ico" diff --git a/docs/release/scripts/resources/windows/mame/mame.ico b/docs/release/scripts/resources/windows/mame/mame.ico Binary files differnew file mode 100644 index 00000000000..62761447fc2 --- /dev/null +++ b/docs/release/scripts/resources/windows/mame/mame.ico diff --git a/docs/release/scripts/resources/windows/mame/mame.man b/docs/release/scripts/resources/windows/mame/mame.man new file mode 100644 index 00000000000..85e0f31644e --- /dev/null +++ b/docs/release/scripts/resources/windows/mame/mame.man @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> + <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> + <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="MAME" type="win32" /> + <description>MAME</description> + <dependency> + <dependentAssembly> + <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> + </dependentAssembly> + </dependency> + <asmv3:application> + <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> + <dpiAware>true</dpiAware> + </asmv3:windowsSettings> + </asmv3:application> +</assembly> diff --git a/docs/release/scripts/resources/windows/mame/mame.rc b/docs/release/scripts/resources/windows/mame/mame.rc new file mode 100644 index 00000000000..deceb068193 --- /dev/null +++ b/docs/release/scripts/resources/windows/mame/mame.rc @@ -0,0 +1,14 @@ +// license:BSD-3-Clause +// copyright-holders:Aaron Giles +//============================================================ +// +// mame.rc - Minimal resource file for Win32 MAME +// +//============================================================ + +#include <windows.h> +//#include "mamevers.rc" + +1 24 MOVEABLE PURE "mame.man" + +2 ICON DISCARDABLE "mame.ico" diff --git a/docs/release/scripts/resources/windows/mess/mess.ico b/docs/release/scripts/resources/windows/mess/mess.ico Binary files differnew file mode 100644 index 00000000000..bab67dd6195 --- /dev/null +++ b/docs/release/scripts/resources/windows/mess/mess.ico diff --git a/docs/release/scripts/resources/windows/mess/mess.man b/docs/release/scripts/resources/windows/mess/mess.man new file mode 100644 index 00000000000..4856b147be1 --- /dev/null +++ b/docs/release/scripts/resources/windows/mess/mess.man @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> + <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> + <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="MESS" type="win32" /> + <description>MESS</description> + <dependency> + <dependentAssembly> + <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> + </dependentAssembly> + </dependency> + <asmv3:application> + <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> + <dpiAware>true</dpiAware> + </asmv3:windowsSettings> + </asmv3:application> +</assembly> diff --git a/docs/release/scripts/resources/windows/mess/mess.rc b/docs/release/scripts/resources/windows/mess/mess.rc new file mode 100644 index 00000000000..1329bcd6fb8 --- /dev/null +++ b/docs/release/scripts/resources/windows/mess/mess.rc @@ -0,0 +1,14 @@ +// license:BSD-3-Clause +// copyright-holders:Aaron Giles +//============================================================ +// +// mess.rc - Minimal resource file for Win32 MAME +// +//============================================================ + +#include <windows.h> +#include "messvers.rc" + +1 24 MOVEABLE PURE "mess.man" + +2 ICON DISCARDABLE "mess.ico" diff --git a/docs/release/scripts/src/3rdparty.lua b/docs/release/scripts/src/3rdparty.lua new file mode 100644 index 00000000000..2a31b4ee392 --- /dev/null +++ b/docs/release/scripts/src/3rdparty.lua @@ -0,0 +1,2127 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- 3rdparty.lua +-- +-- Library objects for all 3rdparty sources +-- +--------------------------------------------------------------------------- + +-------------------------------------------------- +-- expat library objects +-------------------------------------------------- + +if not _OPTIONS["with-system-expat"] then +project "expat" + uuid "f4cd40b1-c37c-452d-9785-640f26f0bf54" + kind "StaticLib" + + -- fake out the enough of expat_config.h to get by + defines { + "HAVE_MEMMOVE", + "HAVE_STDINT_H", + "HAVE_STDLIB_H", + "HAVE_STRING_H", + "PACKAGE_BUGREPORT=\"expat-bugs@libexpat.org\"", + "PACKAGE_NAME=\"expat\"", + "PACKAGE_STRING=\"expat 2.1.1\"", + "PACKAGE_TARNAME=\"expat\"", + "PACKAGE_URL=\"\"", + "PACKAGE_VERSION=\"2.1.1\"", + "STDC_HEADERS", + "XML_CONTEXT_BYTES=1024", + "XML_DTD", + "XML_NS", + } +if _OPTIONS["BIGENDIAN"]=="1" then + defines { + "BYTEORDER=4321", + "WORDS_BIGENDIAN", + } +else + defines { + "BYTEORDER=1234", + } +end + + configuration { "vs*" } + buildoptions { + "/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 + } +if _OPTIONS["vs"]=="intel-15" then + buildoptions { + "/Qwd111", -- remark #111: statement is unreachable + "/Qwd1879", -- warning #1879: unimplemented pragma ignored + "/Qwd2557", -- remark #2557: comparison between signed and unsigned operands + "/Qwd869", -- remark #869: parameter "xxx" was never referenced + } +end + configuration { "vs201*" } + buildoptions { + "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration + } + configuration { } + + files { + MAME_DIR .. "3rdparty/expat/lib/xmlparse.c", + MAME_DIR .. "3rdparty/expat/lib/xmlrole.c", + MAME_DIR .. "3rdparty/expat/lib/xmltok.c", + } +else +links { + ext_lib("expat"), +} +end + +-------------------------------------------------- +-- zlib library objects +-------------------------------------------------- + +if not _OPTIONS["with-system-zlib"] then +project "zlib" + uuid "3d78bd2a-2bd0-4449-8087-42ddfaef7ec9" + kind "StaticLib" + + local version = str_to_version(_OPTIONS["gcc_version"]) + if _OPTIONS["gcc"]~=nil and ((string.find(_OPTIONS["gcc"], "clang") or string.find(_OPTIONS["gcc"], "asmjs") or string.find(_OPTIONS["gcc"], "android"))) then + configuration { "gmake or ninja" } + if (version >= 30700) then + buildoptions { + "-Wno-shift-negative-value", + } + end + end + + configuration { "vs*" } + buildoptions { + "/wd4131", -- warning C4131: 'xxx' : uses old-style declarator + "/wd4127", -- warning C4127: conditional expression is constant + "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data + } +if _OPTIONS["vs"]=="intel-15" then + buildoptions { + "/Qwd111", -- remark #111: statement is unreachable + "/Qwd280", -- remark #280: selector expression is constant + } +end + configuration "Debug" + defines { + "verbose=-1", + } + + configuration { "gmake or ninja" } + buildoptions_c { + "-Wno-strict-prototypes", + } + + configuration { } + defines { + "ZLIB_CONST", + } + + files { + MAME_DIR .. "3rdparty/zlib/adler32.c", + MAME_DIR .. "3rdparty/zlib/compress.c", + MAME_DIR .. "3rdparty/zlib/crc32.c", + MAME_DIR .. "3rdparty/zlib/deflate.c", + MAME_DIR .. "3rdparty/zlib/inffast.c", + MAME_DIR .. "3rdparty/zlib/inflate.c", + MAME_DIR .. "3rdparty/zlib/infback.c", + MAME_DIR .. "3rdparty/zlib/inftrees.c", + MAME_DIR .. "3rdparty/zlib/trees.c", + MAME_DIR .. "3rdparty/zlib/uncompr.c", + MAME_DIR .. "3rdparty/zlib/zutil.c", + } +else +links { + ext_lib("zlib"), +} +end + +-------------------------------------------------- +-- SoftFloat library objects +-------------------------------------------------- + +project "softfloat" + uuid "04fbf89e-4761-4cf2-8a12-64500cf0c5c5" + kind "StaticLib" + + options { + "ForceCPP", + } + + includedirs { + MAME_DIR .. "src/osd", + } + configuration { "vs*" } + buildoptions { + "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data + "/wd4146", -- warning C4146: unary minus operator applied to unsigned type, result still unsigned + "/wd4018", -- warning C4018: 'x' : signed/unsigned mismatch + } +if _OPTIONS["vs"]=="intel-15" then + buildoptions { + "/Qwd2557", -- remark #2557: comparison between signed and unsigned operands + } +end + configuration { } + + files { + MAME_DIR .. "3rdparty/softfloat/softfloat.c", + MAME_DIR .. "3rdparty/softfloat/fsincos.c", + MAME_DIR .. "3rdparty/softfloat/fyl2x.c", + } + +-------------------------------------------------- +-- SoftFloat 3 library objects +-------------------------------------------------- + +project "softfloat3" +uuid "9c22fc90-53fd-11e8-b566-0800200c9a66" +kind "StaticLib" + +options { + "ForceCPP", +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "3rdparty/softfloat3/build/MAME", + MAME_DIR .. "3rdparty/softfloat3/source", + MAME_DIR .. "3rdparty/softfloat3/source/include", + MAME_DIR .. "3rdparty/softfloat3/source/8086", +} + +configuration { "vs*" } +buildoptions { + "/wd4701", -- warning C4701: potentially uninitialized local variable 'xxx' used + "/wd4703", -- warning C4703: potentially uninitialized local pointer variable 'xxx' used +} + +configuration { } +defines { + "SOFTFLOAT_ROUND_ODD", + "INLINE_LEVEL=5", + "SOFTFLOAT_FAST_DIV32TO16", + "SOFTFLOAT_FAST_DIV64TO32", + "SOFTFLOAT_FAST_INT64" +} + +files { + MAME_DIR .. "3rdparty/softfloat3/source/s_eq128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_le128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_lt128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shortShiftLeft128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shortShiftRight128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shortShiftRightJam64.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shortShiftRightJam64Extra.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shortShiftRightJam128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shortShiftRightJam128Extra.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shiftRightJam32.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shiftRightJam64.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shiftRightJam64Extra.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shiftRightJam128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shiftRightJam128Extra.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_shiftRightJam256M.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_countLeadingZeros8.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_countLeadingZeros16.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_countLeadingZeros32.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_countLeadingZeros64.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_add128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_add256M.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_sub128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_sub256M.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_mul64ByShifted32To128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_mul64To128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_mul128By32.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_mul128To256M.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_approxRecip_1Ks.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_approxRecip32_1.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_approxRecipSqrt_1Ks.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_approxRecipSqrt32_1.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/softfloat_raiseFlags.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_commonNaNToF16UI.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_propagateNaNF16UI.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_f32UIToCommonNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_commonNaNToF32UI.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_propagateNaNF32UI.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_f64UIToCommonNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_commonNaNToF64UI.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_propagateNaNF64UI.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/extF80M_isSignalingNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_extF80UIToCommonNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_commonNaNToExtF80UI.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_propagateNaNExtF80UI.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/f128M_isSignalingNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_f128UIToCommonNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_commonNaNToF128UI.c", + MAME_DIR .. "3rdparty/softfloat3/source/8086/s_propagateNaNF128UI.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_roundToUI32.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_roundToUI64.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_roundToI32.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_roundToI64.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_normSubnormalF16Sig.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_roundPackToF16.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_normRoundPackToF16.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_addMagsF16.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_subMagsF16.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_mulAddF16.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_normSubnormalF32Sig.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_roundPackToF32.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_normRoundPackToF32.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_addMagsF32.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_subMagsF32.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_mulAddF32.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_normSubnormalF64Sig.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_roundPackToF64.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_normRoundPackToF64.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_addMagsF64.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_subMagsF64.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_mulAddF64.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_normSubnormalExtF80Sig.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_roundPackToExtF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_normRoundPackToExtF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_addMagsExtF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_subMagsExtF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_normSubnormalF128Sig.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_roundPackToF128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_normRoundPackToF128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_addMagsF128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_subMagsF128.c", + MAME_DIR .. "3rdparty/softfloat3/source/s_mulAddF128.c", + MAME_DIR .. "3rdparty/softfloat3/source/softfloat_state.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui32_to_f16.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui32_to_f32.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui32_to_f64.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui32_to_extF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui32_to_extF80M.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui32_to_f128.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui32_to_f128M.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui64_to_f16.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui64_to_f32.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui64_to_f64.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui64_to_extF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui64_to_extF80M.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui64_to_f128.c", + MAME_DIR .. "3rdparty/softfloat3/source/ui64_to_f128M.c", + MAME_DIR .. "3rdparty/softfloat3/source/i32_to_f16.c", + MAME_DIR .. "3rdparty/softfloat3/source/i32_to_f32.c", + MAME_DIR .. "3rdparty/softfloat3/source/i32_to_f64.c", + MAME_DIR .. "3rdparty/softfloat3/source/i32_to_extF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/i32_to_extF80M.c", + MAME_DIR .. "3rdparty/softfloat3/source/i32_to_f128.c", + MAME_DIR .. "3rdparty/softfloat3/source/i32_to_f128M.c", + MAME_DIR .. "3rdparty/softfloat3/source/i64_to_f16.c", + MAME_DIR .. "3rdparty/softfloat3/source/i64_to_f32.c", + MAME_DIR .. "3rdparty/softfloat3/source/i64_to_f64.c", + MAME_DIR .. "3rdparty/softfloat3/source/i64_to_extF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/i64_to_extF80M.c", + MAME_DIR .. "3rdparty/softfloat3/source/i64_to_f128.c", + MAME_DIR .. "3rdparty/softfloat3/source/i64_to_f128M.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_ui32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_ui64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_i32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_i64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_ui32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_ui64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_i32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_i64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_f32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_f64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_extF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_extF80M.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_f128.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_to_f128M.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_roundToInt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_add.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_sub.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_mul.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_mulAdd.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_div.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_rem.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_sqrt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_eq.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_le.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_lt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_eq_signaling.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_le_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_lt_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/f16_isSignalingNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_ui32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_ui64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_i32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_i64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_ui32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_ui64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_i32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_i64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_f16.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_f64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_extF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_extF80M.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_f128.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_to_f128M.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_roundToInt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_add.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_sub.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_mul.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_mulAdd.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_div.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_rem.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_sqrt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_eq.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_le.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_lt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_eq_signaling.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_le_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_lt_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/f32_isSignalingNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_ui32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_ui64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_i32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_i64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_ui32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_ui64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_i32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_i64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_f16.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_f32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_extF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_extF80M.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_f128.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_to_f128M.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_roundToInt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_add.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_sub.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_mul.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_mulAdd.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_div.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_rem.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_sqrt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_eq.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_le.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_lt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_eq_signaling.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_le_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_lt_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/f64_isSignalingNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_ui32.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_ui64.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_i32.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_i64.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_ui32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_ui64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_i32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_i64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_f16.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_f32.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_f64.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_to_f128.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_roundToInt.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_add.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_sub.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_mul.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_div.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_rem.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_sqrt.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_eq.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_le.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_lt.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_eq_signaling.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_le_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_lt_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80_isSignalingNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_ui32.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_ui64.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_i32.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_i64.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_ui32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_ui64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_i32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_i64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_f16.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_f32.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_f64.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_to_f128M.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_roundToInt.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_add.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_sub.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_mul.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_div.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_rem.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_sqrt.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_eq.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_le.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_lt.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_eq_signaling.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_le_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/extF80M_lt_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_ui32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_ui64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_i32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_i64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_ui32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_ui64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_i32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_i64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_f16.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_f32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_extF80.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_to_f64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_roundToInt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_add.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_sub.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_mul.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_mulAdd.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_div.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_rem.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_sqrt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_eq.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_le.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_lt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_eq_signaling.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_le_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_lt_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128_isSignalingNaN.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_ui32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_ui64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_i32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_i64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_ui32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_ui64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_i32_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_i64_r_minMag.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_f16.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_f32.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_extF80M.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_to_f64.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_roundToInt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_add.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_sub.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_mul.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_mulAdd.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_div.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_rem.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_sqrt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_eq.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_le.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_lt.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_eq_signaling.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_le_quiet.c", + MAME_DIR .. "3rdparty/softfloat3/source/f128M_lt_quiet.c", +} + +------------------------------------------------- +-- libJPEG library objects +-------------------------------------------------- + +if not _OPTIONS["with-system-jpeg"] then +project "jpeg" + uuid "447c6800-dcfd-4c48-b72a-a8223bb409ca" + kind "StaticLib" + + configuration { "vs*" } + buildoptions { + "/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 + } +if _OPTIONS["vs"]=="intel-15" then + buildoptions { + "/Qwd869", -- remark #869: parameter "xxx" was never referenced + } +end + + configuration { "winstore*" } + defines { + "NO_GETENV" + } + + configuration { } + + files { + MAME_DIR .. "3rdparty/libjpeg/jaricom.c", + MAME_DIR .. "3rdparty/libjpeg/jcapimin.c", + MAME_DIR .. "3rdparty/libjpeg/jcapistd.c", + MAME_DIR .. "3rdparty/libjpeg/jcarith.c", + MAME_DIR .. "3rdparty/libjpeg/jccoefct.c", + MAME_DIR .. "3rdparty/libjpeg/jccolor.c", + MAME_DIR .. "3rdparty/libjpeg/jcdctmgr.c", + MAME_DIR .. "3rdparty/libjpeg/jchuff.c", + MAME_DIR .. "3rdparty/libjpeg/jcinit.c", + MAME_DIR .. "3rdparty/libjpeg/jcmainct.c", + MAME_DIR .. "3rdparty/libjpeg/jcmarker.c", + MAME_DIR .. "3rdparty/libjpeg/jcmaster.c", + MAME_DIR .. "3rdparty/libjpeg/jcomapi.c", + MAME_DIR .. "3rdparty/libjpeg/jcparam.c", + MAME_DIR .. "3rdparty/libjpeg/jcprepct.c", + MAME_DIR .. "3rdparty/libjpeg/jcsample.c", + MAME_DIR .. "3rdparty/libjpeg/jctrans.c", + MAME_DIR .. "3rdparty/libjpeg/jdapimin.c", + MAME_DIR .. "3rdparty/libjpeg/jdapistd.c", + MAME_DIR .. "3rdparty/libjpeg/jdarith.c", + MAME_DIR .. "3rdparty/libjpeg/jdatadst.c", + MAME_DIR .. "3rdparty/libjpeg/jdatasrc.c", + MAME_DIR .. "3rdparty/libjpeg/jdcoefct.c", + MAME_DIR .. "3rdparty/libjpeg/jdcolor.c", + MAME_DIR .. "3rdparty/libjpeg/jddctmgr.c", + MAME_DIR .. "3rdparty/libjpeg/jdhuff.c", + MAME_DIR .. "3rdparty/libjpeg/jdinput.c", + MAME_DIR .. "3rdparty/libjpeg/jdmainct.c", + MAME_DIR .. "3rdparty/libjpeg/jdmarker.c", + MAME_DIR .. "3rdparty/libjpeg/jdmaster.c", + MAME_DIR .. "3rdparty/libjpeg/jdmerge.c", + MAME_DIR .. "3rdparty/libjpeg/jdpostct.c", + MAME_DIR .. "3rdparty/libjpeg/jdsample.c", + MAME_DIR .. "3rdparty/libjpeg/jdtrans.c", + MAME_DIR .. "3rdparty/libjpeg/jerror.c", + MAME_DIR .. "3rdparty/libjpeg/jfdctflt.c", + MAME_DIR .. "3rdparty/libjpeg/jfdctfst.c", + MAME_DIR .. "3rdparty/libjpeg/jfdctint.c", + MAME_DIR .. "3rdparty/libjpeg/jidctflt.c", + MAME_DIR .. "3rdparty/libjpeg/jidctfst.c", + MAME_DIR .. "3rdparty/libjpeg/jidctint.c", + MAME_DIR .. "3rdparty/libjpeg/jquant1.c", + MAME_DIR .. "3rdparty/libjpeg/jquant2.c", + MAME_DIR .. "3rdparty/libjpeg/jutils.c", + MAME_DIR .. "3rdparty/libjpeg/jmemmgr.c", + MAME_DIR .. "3rdparty/libjpeg/jmemansi.c", + } +else +links { + ext_lib("jpeg"), +} +end + +-------------------------------------------------- +-- libflac library objects +-------------------------------------------------- + +if not _OPTIONS["with-system-flac"] then +project "flac" + uuid "b6fc19e8-073a-4541-bb7b-d24b548d424a" + kind "StaticLib" + + configuration { "vs*" } + buildoptions { + "/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 + "/wd4702", -- warning C4702: unreachable code + } +if _OPTIONS["vs"]=="intel-15" then + buildoptions { + "/Qwd111", -- remark #111: statement is unreachable + "/Qwd177", -- remark #177: function "xxx" was declared but never referenced + "/Qwd181", -- remark #181: argument of type "UINT32={unsigned int}" is incompatible with format "%d", expecting argument of type "int" + "/Qwd188", -- error #188: enumerated type mixed with another type + "/Qwd869", -- remark #869: parameter "xxx" was never referenced + } +end + + configuration { "mingw-clang" } + buildoptions { + "-include stdint.h" + } + + configuration { "vs201*" } + buildoptions { + "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration + } + + configuration { "vsllvm" } + buildoptions { + "-Wno-unused-function", + "-Wno-enum-conversion", + } + + configuration { } + defines { + "WORDS_BIGENDIAN=0", + "FLAC__NO_ASM", + "_LARGEFILE_SOURCE", + "_FILE_OFFSET_BITS=64", + "FLAC__HAS_OGG=0", + "HAVE_CONFIG_H=1", + } + + configuration { "gmake or ninja" } + buildoptions_c { + "-Wno-unused-function", + "-O0", + } + if _OPTIONS["gcc"]~=nil and (string.find(_OPTIONS["gcc"], "clang") or string.find(_OPTIONS["gcc"], "android")) then + buildoptions { + "-Wno-enum-conversion", + } + if _OPTIONS["targetos"]=="macosx" then + buildoptions_c { + "-Wno-unknown-attributes", + } + end + end + configuration { } + + includedirs { + MAME_DIR .. "3rdparty/libflac/src/libFLAC/include", + MAME_DIR .. "3rdparty/libflac/include", + } + + files { + MAME_DIR .. "3rdparty/libflac/src/libFLAC/bitmath.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/bitreader.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/bitwriter.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/cpu.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/crc.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/fixed.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/float.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/format.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/lpc.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/md5.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/memory.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/stream_decoder.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/stream_encoder.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/stream_encoder_framing.c", + MAME_DIR .. "3rdparty/libflac/src/libFLAC/window.c", + } +else +links { + ext_lib("flac"), +} +end + +-------------------------------------------------- +-- lib7z library objects +-------------------------------------------------- + +project "7z" + uuid "ad573d62-e76a-4b11-ae34-5110a6789a42" + kind "StaticLib" + + configuration { "gmake or ninja" } + buildoptions_c { + "-Wno-undef", + "-Wno-strict-prototypes", + } + + configuration { "mingw*" } + buildoptions_c { + "-Wno-strict-prototypes", + } + + configuration { "vs*" } + buildoptions { + "/wd4100", -- warning C4100: 'xxx' : unreferenced formal 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" + } + + configuration { } + defines { + "_7ZIP_PPMD_SUPPPORT", + "_7ZIP_ST", + } + + files { + MAME_DIR .. "3rdparty/lzma/C/7zAlloc.c", + MAME_DIR .. "3rdparty/lzma/C/7zArcIn.c", + MAME_DIR .. "3rdparty/lzma/C/7zBuf.c", + MAME_DIR .. "3rdparty/lzma/C/7zBuf2.c", + MAME_DIR .. "3rdparty/lzma/C/7zCrc.c", + MAME_DIR .. "3rdparty/lzma/C/7zCrcOpt.c", + MAME_DIR .. "3rdparty/lzma/C/7zDec.c", + MAME_DIR .. "3rdparty/lzma/C/7zFile.c", + MAME_DIR .. "3rdparty/lzma/C/7zStream.c", + MAME_DIR .. "3rdparty/lzma/C/Aes.c", + MAME_DIR .. "3rdparty/lzma/C/AesOpt.c", + MAME_DIR .. "3rdparty/lzma/C/Alloc.c", + MAME_DIR .. "3rdparty/lzma/C/Bcj2.c", + -- MAME_DIR .. "3rdparty/lzma/C/Bcj2Enc.c", + MAME_DIR .. "3rdparty/lzma/C/Bra.c", + MAME_DIR .. "3rdparty/lzma/C/Bra86.c", + MAME_DIR .. "3rdparty/lzma/C/BraIA64.c", + MAME_DIR .. "3rdparty/lzma/C/CpuArch.c", + MAME_DIR .. "3rdparty/lzma/C/Delta.c", + -- MAME_DIR .. "3rdparty/lzma/C/DllSecur.c", + MAME_DIR .. "3rdparty/lzma/C/LzFind.c", + -- MAME_DIR .. "3rdparty/lzma/C/LzFindMt.c", + MAME_DIR .. "3rdparty/lzma/C/Lzma2Dec.c", + MAME_DIR .. "3rdparty/lzma/C/Lzma2Enc.c", + MAME_DIR .. "3rdparty/lzma/C/Lzma86Dec.c", + MAME_DIR .. "3rdparty/lzma/C/Lzma86Enc.c", + MAME_DIR .. "3rdparty/lzma/C/LzmaDec.c", + MAME_DIR .. "3rdparty/lzma/C/LzmaEnc.c", + -- MAME_DIR .. "3rdparty/lzma/C/LzmaLib.c", + -- MAME_DIR .. "3rdparty/lzma/C/MtCoder.c", + MAME_DIR .. "3rdparty/lzma/C/Ppmd7.c", + MAME_DIR .. "3rdparty/lzma/C/Ppmd7Dec.c", + MAME_DIR .. "3rdparty/lzma/C/Ppmd7Enc.c", + MAME_DIR .. "3rdparty/lzma/C/Sha256.c", + MAME_DIR .. "3rdparty/lzma/C/Sort.c", + -- MAME_DIR .. "3rdparty/lzma/C/Threads.c", + -- MAME_DIR .. "3rdparty/lzma/C/Xz.c", + -- MAME_DIR .. "3rdparty/lzma/C/XzCrc64.c", + -- MAME_DIR .. "3rdparty/lzma/C/XzCrc64Opt.c", + -- MAME_DIR .. "3rdparty/lzma/C/XzDec.c", + -- MAME_DIR .. "3rdparty/lzma/C/XzEnc.c", + -- MAME_DIR .. "3rdparty/lzma/C/XzIn.c", + } + +-------------------------------------------------- +-- LUA library objects +-------------------------------------------------- +if (STANDALONE~=true) then + +if not _OPTIONS["with-system-lua"] then +project "lua" + uuid "d9e2eed1-f1ab-4737-a6ac-863700b1a5a9" + kind "StaticLib" + + -- uncomment the options below to + -- compile using c++. Do the same + -- in lualibs. + -- In addition comment out the "extern "C"" + -- in lua.hpp and do the same in luaengine.c line 47 + --options { + -- "ForceCPP", + --} + + configuration { "gmake or ninja" } + buildoptions_c { + "-Wno-bad-function-cast" + } + + configuration { "vs*" } + buildoptions { + "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data + "/wd4702", -- warning C4702: unreachable code + "/wd4310", -- warning C4310: cast truncates constant value + } +if _OPTIONS["vs"]=="intel-15" then + buildoptions { + "/Qwd592", -- error #592: variable "xxx" is used before its value is set + } +end + + configuration { "winstore*" } + forcedincludes { + MAME_DIR .. "src/osd/uwp/uwpcompat.h", + } + + configuration { } + defines { + "LUA_COMPAT_ALL", + "LUA_COMPAT_5_1", + "LUA_COMPAT_5_2", + } + if not (_OPTIONS["targetos"]=="windows") and not (_OPTIONS["targetos"]=="asmjs") and not (_OPTIONS["targetos"]=="pnacl") then + defines { + "LUA_USE_POSIX", + } + end + if ("pnacl" == _OPTIONS["gcc"]) then + defines { + "LUA_32BITS", + } + end + + configuration { } + + includedirs { + MAME_DIR .. "3rdparty", + } + + files { + MAME_DIR .. "3rdparty/lua/src/lapi.c", + MAME_DIR .. "3rdparty/lua/src/lcode.c", + MAME_DIR .. "3rdparty/lua/src/lctype.c", + MAME_DIR .. "3rdparty/lua/src/ldebug.c", + MAME_DIR .. "3rdparty/lua/src/ldo.c", + MAME_DIR .. "3rdparty/lua/src/ldump.c", + MAME_DIR .. "3rdparty/lua/src/lfunc.c", + MAME_DIR .. "3rdparty/lua/src/lgc.c", + MAME_DIR .. "3rdparty/lua/src/llex.c", + MAME_DIR .. "3rdparty/lua/src/lmem.c", + MAME_DIR .. "3rdparty/lua/src/lobject.c", + MAME_DIR .. "3rdparty/lua/src/lopcodes.c", + MAME_DIR .. "3rdparty/lua/src/lparser.c", + MAME_DIR .. "3rdparty/lua/src/lstate.c", + MAME_DIR .. "3rdparty/lua/src/lstring.c", + MAME_DIR .. "3rdparty/lua/src/ltable.c", + MAME_DIR .. "3rdparty/lua/src/ltm.c", + MAME_DIR .. "3rdparty/lua/src/lundump.c", + MAME_DIR .. "3rdparty/lua/src/lvm.c", + MAME_DIR .. "3rdparty/lua/src/lzio.c", + MAME_DIR .. "3rdparty/lua/src/lauxlib.c", + MAME_DIR .. "3rdparty/lua/src/lbaselib.c", + MAME_DIR .. "3rdparty/lua/src/lbitlib.c", + MAME_DIR .. "3rdparty/lua/src/lcorolib.c", + MAME_DIR .. "3rdparty/lua/src/ldblib.c", + MAME_DIR .. "3rdparty/lua/src/liolib.c", + MAME_DIR .. "3rdparty/lua/src/lmathlib.c", + MAME_DIR .. "3rdparty/lua/src/loslib.c", + MAME_DIR .. "3rdparty/lua/src/lstrlib.c", + MAME_DIR .. "3rdparty/lua/src/ltablib.c", + MAME_DIR .. "3rdparty/lua/src/loadlib.c", + MAME_DIR .. "3rdparty/lua/src/linit.c", + MAME_DIR .. "3rdparty/lua/src/lutf8lib.c", + } +else +links { + ext_lib("lua"), +} +end + +-------------------------------------------------- +-- small lua library objects +-------------------------------------------------- + +project "lualibs" + uuid "1d84edab-94cf-48fb-83ee-b75bc697660e" + kind "StaticLib" + + configuration { "vs*" } + buildoptions { + "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data + "/wd4055", -- warning C4055: 'type cast': from data pointer 'void *' to function pointer 'xxx' + "/wd4152", -- warning C4152: nonstandard extension, function/data pointer conversion in expression + "/wd4130", -- warning C4130: '==': logical operation on address of string constant + } + + configuration { "pnacl"} + buildoptions { + "-Wno-char-subscripts", + } + + configuration { } + defines { + "LUA_COMPAT_ALL", + } + + includedirs { + MAME_DIR .. "3rdparty", + } +if (_OPTIONS["osd"] ~= "uwp") then + includedirs { + MAME_DIR .. "3rdparty/linenoise", + } +end + includedirs { + ext_includedir("lua"), + ext_includedir("zlib"), + ext_includedir("sqlite3"), + } + + configuration { "winstore*" } + forcedincludes { + MAME_DIR .. "src/osd/uwp/uwpcompat.h" + } + + configuration {} + + files { + MAME_DIR .. "3rdparty/lsqlite3/lsqlite3.c", + MAME_DIR .. "3rdparty/lua-zlib/lua_zlib.c", + MAME_DIR .. "3rdparty/luafilesystem/src/lfs.c", + } +if (_OPTIONS["osd"] == "uwp") then + files { + MAME_DIR .. "3rdparty/lua-linenoise/linenoise_none.c", + } +else + files { + MAME_DIR .. "3rdparty/lua-linenoise/linenoise.c", + } +end + +-------------------------------------------------- +-- SQLite3 library objects +-------------------------------------------------- + +if not _OPTIONS["with-system-sqlite3"] then +project "sqlite3" + uuid "5cb3d495-57ed-461c-81e5-80dc0857517d" + kind "StaticLib" + + configuration { "gmake" } + buildoptions_c { + "-Wno-discarded-qualifiers", + "-Wno-unused-but-set-variable", + "-Wno-bad-function-cast", + "-Wno-undef", + } +if _OPTIONS["gcc"]~=nil and ((string.find(_OPTIONS["gcc"], "clang") or string.find(_OPTIONS["gcc"], "asmjs") or string.find(_OPTIONS["gcc"], "android"))) then + buildoptions_c { + "-Wno-incompatible-pointer-types-discards-qualifiers", + } +end + configuration { "winstore*" } + defines { + "SQLITE_OS_WINRT", + } + + configuration { "vsllvm" } + buildoptions { + "-Wno-deprecated-declarations", + "-Wno-unused-variable", + } + + configuration { } + + files { + MAME_DIR .. "3rdparty/sqlite3/sqlite3.c", + } +else +links { + ext_lib("sqlite3"), +} +end + +end +-------------------------------------------------- +-- portmidi library objects +-------------------------------------------------- +if _OPTIONS["NO_USE_MIDI"]~="1" then +if not _OPTIONS["with-system-portmidi"] then +project "portmidi" + uuid "587f2da6-3274-4a65-86a2-f13ea315bb98" + kind "StaticLib" + + includedirs { + MAME_DIR .. "3rdparty/portmidi/pm_common", + MAME_DIR .. "3rdparty/portmidi/porttime", + } + + configuration { "vs*" } + buildoptions { + "/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 + "/wd4706", -- warning C4706: assignment within conditional expression + } +if _OPTIONS["vs"]=="intel-15" then + buildoptions { + "/Qwd188", -- error #188: enumerated type mixed with another type + "/Qwd344", -- remark #344: typedef name has already been declared (with same type) + "/Qwd869", -- remark #869: parameter "xxx" was never referenced + "/Qwd2557", -- remark #2557: comparison between signed and unsigned operands + } +end + + configuration { "vs201*" } + buildoptions { + "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration + } + + configuration { "linux*" } + defines { + "PMALSA=1", + } + + configuration { } + + files { + MAME_DIR .. "3rdparty/portmidi/pm_common/portmidi.c", + MAME_DIR .. "3rdparty/portmidi/pm_common/pmutil.c", + } + + if _OPTIONS["targetos"]=="windows" then + files { + MAME_DIR .. "3rdparty/portmidi/porttime/ptwinmm.c", + MAME_DIR .. "3rdparty/portmidi/pm_win/pmwin.c", + MAME_DIR .. "3rdparty/portmidi/pm_win/pmwinmm.c", + MAME_DIR .. "3rdparty/portmidi/porttime/ptwinmm.c", + } + end + + if _OPTIONS["targetos"]=="linux" then + files { + MAME_DIR .. "3rdparty/portmidi/pm_linux/pmlinux.c", + MAME_DIR .. "3rdparty/portmidi/pm_linux/pmlinuxalsa.c", + MAME_DIR .. "3rdparty/portmidi/pm_linux/finddefault.c", + MAME_DIR .. "3rdparty/portmidi/porttime/ptlinux.c", + } + end + if _OPTIONS["targetos"]=="netbsd" then + files { + MAME_DIR .. "3rdparty/portmidi/pm_linux/pmlinux.c", + MAME_DIR .. "3rdparty/portmidi/pm_linux/finddefault.c", + MAME_DIR .. "3rdparty/portmidi/porttime/ptlinux.c", + } + end + if _OPTIONS["targetos"]=="macosx" then + files { + MAME_DIR .. "3rdparty/portmidi/pm_mac/pmmac.c", + MAME_DIR .. "3rdparty/portmidi/pm_mac/pmmacosxcm.c", + MAME_DIR .. "3rdparty/portmidi/pm_mac/finddefault.c", + MAME_DIR .. "3rdparty/portmidi/pm_mac/readbinaryplist.c", + MAME_DIR .. "3rdparty/portmidi/pm_mac/osxsupport.m", + MAME_DIR .. "3rdparty/portmidi/porttime/ptmacosx_mach.c", + } + end +else +links { + ext_lib("portmidi"), +} +end +end + +-------------------------------------------------- +-- BX library objects +-------------------------------------------------- + +project "bx" + uuid "238318fe-49f5-4eb4-88be-0618900f5eac" + kind "StaticLib" + + defines { + "__STDC_LIMIT_MACROS", + "__STDC_FORMAT_MACROS", + "__STDC_CONSTANT_MACROS", + } + + configuration { "vs*" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/msvc", + } + configuration { "mingw*" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/mingw", + } + + configuration { "osx* or xcode4" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/osx", + } + + configuration { "freebsd" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/freebsd", + } + + configuration { "netbsd" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/freebsd", + } + + configuration { } + + local version = str_to_version(_OPTIONS["gcc_version"]) + if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "gcc") then + if version < 60000 then + buildoptions { + "-Wno-strict-overflow", + } + end + end + + includedirs { + MAME_DIR .. "3rdparty/bx/include", + MAME_DIR .. "3rdparty/bx/3rdparty", + } + + files { + MAME_DIR .. "3rdparty/bx/src/allocator.cpp", + MAME_DIR .. "3rdparty/bx/src/bx.cpp", + MAME_DIR .. "3rdparty/bx/src/commandline.cpp", + MAME_DIR .. "3rdparty/bx/src/crtnone.cpp", + MAME_DIR .. "3rdparty/bx/src/debug.cpp", + MAME_DIR .. "3rdparty/bx/src/dtoa.cpp", + MAME_DIR .. "3rdparty/bx/src/easing.cpp", + MAME_DIR .. "3rdparty/bx/src/file.cpp", + MAME_DIR .. "3rdparty/bx/src/filepath.cpp", + MAME_DIR .. "3rdparty/bx/src/hash.cpp", + MAME_DIR .. "3rdparty/bx/src/math.cpp", + MAME_DIR .. "3rdparty/bx/src/mutex.cpp", + MAME_DIR .. "3rdparty/bx/src/os.cpp", + MAME_DIR .. "3rdparty/bx/src/process.cpp", + MAME_DIR .. "3rdparty/bx/src/semaphore.cpp", + MAME_DIR .. "3rdparty/bx/src/settings.cpp", + MAME_DIR .. "3rdparty/bx/src/sort.cpp", + MAME_DIR .. "3rdparty/bx/src/string.cpp", + MAME_DIR .. "3rdparty/bx/src/thread.cpp", + MAME_DIR .. "3rdparty/bx/src/timer.cpp", + MAME_DIR .. "3rdparty/bx/src/url.cpp", + } + +-------------------------------------------------- +-- BIMG library objects +-------------------------------------------------- + +project "bimg" + uuid "5603611b-8bf8-4ffd-85bc-76858cd7df39" + kind "StaticLib" + + includedirs { + MAME_DIR .. "3rdparty/bx/include", + } + + configuration { "vs*" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/msvc", + } + configuration { "mingw*" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/mingw", + } + + configuration { "osx* or xcode4" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/osx", + } + + configuration { "freebsd" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/freebsd", + } + + configuration { "netbsd" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/freebsd", + } + + configuration { } + + defines { + "__STDC_LIMIT_MACROS", + "__STDC_FORMAT_MACROS", + "__STDC_CONSTANT_MACROS", + } + + includedirs { + MAME_DIR .. "3rdparty/bimg/include", + } + + files { + MAME_DIR .. "3rdparty/bimg/src/image.cpp", + MAME_DIR .. "3rdparty/bimg/src/image_gnf.cpp", + } + +-------------------------------------------------- +-- BGFX library objects +-------------------------------------------------- + +project "bgfx" + uuid "d3e7e119-35cf-4f4f-aba0-d3bdcd1b879a" + kind "StaticLib" + + configuration { "vs*" } + buildoptions { + "/wd4324", -- warning C4324: 'xxx' : structure was padded due to __declspec(align()) + "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data + "/wd4611", -- warning C4611: interaction between '_setjmp' and C++ object destruction is non-portable + "/wd4310", -- warning C4310: cast truncates constant value + } + + configuration { "vsllvm" } + buildoptions { + "-Wno-unneeded-internal-declaration", + "-Wno-unused-const-variable", + } + +if _OPTIONS["vs"]=="intel-15" then + buildoptions { + "/Qwd906", -- message #906: effect of this "#pragma pack" directive is local to function "xxx" + "/Qwd1879", -- warning #1879: unimplemented pragma ignored + "/Qwd82", -- remark #82: storage class is not first + } +end + configuration { } + + includedirs { + MAME_DIR .. "3rdparty/bgfx/include", + MAME_DIR .. "3rdparty/bgfx/3rdparty", + MAME_DIR .. "3rdparty/bx/include", + MAME_DIR .. "3rdparty/bimg/include", + MAME_DIR .. "3rdparty/bgfx/3rdparty/dxsdk/include", + } + + configuration { "not steamlink"} + includedirs { + MAME_DIR .. "3rdparty/bgfx/3rdparty/khronos", + } + + configuration { "android-*"} + buildoptions { + "-Wno-macro-redefined", + } + + configuration { "vs*" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/msvc", + } + configuration { "mingw*" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/mingw", + } + + configuration { "osx* or xcode4" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/osx", + } + + configuration { "freebsd" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/freebsd", + } + + configuration { "netbsd" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/freebsd", + } + + configuration { "gmake or ninja" } + buildoptions { + "-Wno-uninitialized", + "-Wno-unused-function", + "-Wno-unused-variable", + "-Wno-unused-but-set-variable", + "-Wno-format-extra-args", -- temp for mingw 6.1 till update bgfx code + } + configuration { "rpi" } + buildoptions { + "-Wno-unused-but-set-variable", + "-Wno-unused-variable", + } + defines { + "__STDC_VERSION__=199901L", + } + + configuration { } + + local version = str_to_version(_OPTIONS["gcc_version"]) + if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "gcc") then + if version >= 60000 then + buildoptions_cpp { + "-Wno-misleading-indentation", + } + end + end + + if _OPTIONS["targetos"]=="windows" then + if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "clang") then + buildoptions { + "-Wno-unknown-attributes", + "-Wno-missing-braces", + "-Wno-int-to-pointer-cast", + } + end + end + + if _OPTIONS["targetos"]=="macosx" or _OPTIONS["targetos"]=="linux" then + if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "clang") then + buildoptions { + "-Wno-switch", + } + buildoptions_cpp { + "-Wno-unknown-pragmas", + } + end + end + + defines { + "__STDC_LIMIT_MACROS", + "__STDC_FORMAT_MACROS", + "__STDC_CONSTANT_MACROS", + "BGFX_CONFIG_MAX_FRAME_BUFFERS=128", + } + files { + MAME_DIR .. "3rdparty/bgfx/src/bgfx.cpp", + MAME_DIR .. "3rdparty/bgfx/src/debug_renderdoc.cpp", + MAME_DIR .. "3rdparty/bgfx/src/dxgi.cpp", + MAME_DIR .. "3rdparty/bgfx/src/glcontext_egl.cpp", + MAME_DIR .. "3rdparty/bgfx/src/glcontext_glx.cpp", + MAME_DIR .. "3rdparty/bgfx/src/glcontext_wgl.cpp", + MAME_DIR .. "3rdparty/bgfx/src/nvapi.cpp", + MAME_DIR .. "3rdparty/bgfx/src/renderer_d3d11.cpp", + MAME_DIR .. "3rdparty/bgfx/src/renderer_d3d12.cpp", + MAME_DIR .. "3rdparty/bgfx/src/renderer_d3d9.cpp", + MAME_DIR .. "3rdparty/bgfx/src/renderer_gl.cpp", + MAME_DIR .. "3rdparty/bgfx/src/renderer_gnm.cpp", + MAME_DIR .. "3rdparty/bgfx/src/renderer_noop.cpp", + MAME_DIR .. "3rdparty/bgfx/src/renderer_vk.cpp", + MAME_DIR .. "3rdparty/bgfx/src/shader.cpp", + MAME_DIR .. "3rdparty/bgfx/src/shader_dx9bc.cpp", + MAME_DIR .. "3rdparty/bgfx/src/shader_dxbc.cpp", + MAME_DIR .. "3rdparty/bgfx/src/shader_spirv.cpp", + MAME_DIR .. "3rdparty/bgfx/src/topology.cpp", + MAME_DIR .. "3rdparty/bgfx/src/vertexdecl.cpp", + MAME_DIR .. "3rdparty/bgfx/examples/common/imgui/imgui.cpp", + MAME_DIR .. "3rdparty/bgfx/examples/common/nanovg/nanovg.cpp", + MAME_DIR .. "3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp", + MAME_DIR .. "3rdparty/bgfx/3rdparty/dear-imgui/imgui.cpp", + MAME_DIR .. "3rdparty/bgfx/3rdparty/dear-imgui/imgui_draw.cpp", + MAME_DIR .. "3rdparty/bgfx/3rdparty/dear-imgui/imgui_widgets.cpp", + } + if _OPTIONS["targetos"]=="macosx" then + files { + MAME_DIR .. "3rdparty/bgfx/src/glcontext_eagl.mm", + MAME_DIR .. "3rdparty/bgfx/src/glcontext_nsgl.mm", + MAME_DIR .. "3rdparty/bgfx/src/renderer_mtl.mm", + } + end + +-------------------------------------------------- +-- PortAudio library objects +-------------------------------------------------- +if _OPTIONS["NO_USE_PORTAUDIO"]~="1" then +if not _OPTIONS["with-system-portaudio"] then +project "portaudio" + uuid "0755c5f5-eccf-47f3-98a9-df67018a94d4" + kind "StaticLib" + + configuration { "vs*" } + buildoptions { + "/wd4245", -- warning C4245: 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch + "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data + "/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter + "/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 + } + if _OPTIONS["vs"]=="intel-15" then + buildoptions { + "/Qwd869", -- remark #869: parameter "xxx" was never referenced + "/Qwd1478", -- warning #1478: function "xxx" (declared at line yyy of "zzz") was declared deprecated + "/Qwd2544", -- message #2544: empty dependent statement in if-statement + "/Qwd1879", -- warning #1879: unimplemented pragma ignored + } + end + configuration { "vs2015*" } + buildoptions { + "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration + } + + configuration { "vsllvm" } + buildoptions { + "-Wno-deprecated-declarations", + "-Wno-missing-braces", + "-Wno-unused-variable", + "-Wno-switch", + "-Wno-unused-function", + } + + configuration { "gmake or ninja" } + buildoptions_c { + "-Wno-strict-prototypes", + "-Wno-bad-function-cast", + "-Wno-undef", + "-Wno-missing-braces", + "-Wno-unused-variable", + "-Wno-unused-value", + "-Wno-unused-function", + "-Wno-unknown-pragmas", + } + + local version = str_to_version(_OPTIONS["gcc_version"]) + if (_OPTIONS["gcc"]~=nil) then + if string.find(_OPTIONS["gcc"], "clang") or string.find(_OPTIONS["gcc"], "android") then + buildoptions_c { + "-Wno-unknown-warning-option", + "-Wno-absolute-value", + "-Wno-unused-but-set-variable", + "-Wno-maybe-uninitialized", + "-Wno-sometimes-uninitialized", + } + else + if (version >= 40600) then + buildoptions_c { + "-Wno-unused-but-set-variable", + "-Wno-maybe-uninitialized", + "-Wno-sometimes-uninitialized", + "-w", + "-Wno-incompatible-pointer-types-discards-qualifiers", + } + end + end + end + configuration { "vs*" } + buildoptions { + "/wd4204", -- warning C4204: nonstandard extension used : non-constant aggregate initializer + "/wd4701", -- warning C4701: potentially uninitialized local variable 'xxx' used + "/wd4057", -- warning C4057: 'function': 'xxx' differs in indirection to slightly different base types from 'xxx' + } + + configuration { } + + includedirs { + MAME_DIR .. "3rdparty/portaudio/include", + MAME_DIR .. "3rdparty/portaudio/src/common", + } + + files { + MAME_DIR .. "3rdparty/portaudio/src/common/pa_allocation.c", + MAME_DIR .. "3rdparty/portaudio/src/common/pa_converters.c", + MAME_DIR .. "3rdparty/portaudio/src/common/pa_cpuload.c", + MAME_DIR .. "3rdparty/portaudio/src/common/pa_dither.c", + MAME_DIR .. "3rdparty/portaudio/src/common/pa_debugprint.c", + MAME_DIR .. "3rdparty/portaudio/src/common/pa_front.c", + MAME_DIR .. "3rdparty/portaudio/src/common/pa_process.c", + MAME_DIR .. "3rdparty/portaudio/src/common/pa_stream.c", + MAME_DIR .. "3rdparty/portaudio/src/common/pa_trace.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/skeleton/pa_hostapi_skeleton.c", + } + + if _OPTIONS["targetos"]=="windows" then + defines { + "PA_USE_DS=1", + "PA_USE_WASAPI=1", + "PA_USE_WDMKS=1", + "PA_USE_WMME=1", + } + includedirs { + MAME_DIR .. "3rdparty/portaudio/src/os/win", + } + + configuration { "mingw*" } + includedirs { + MAME_DIR .. "3rdparty/portaudio/src/hostapi/wasapi/mingw-include", + } + + configuration { } + files { + MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_util.c", + MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_waveformat.c", + MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_hostapis.c", + MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_coinitialize.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/dsound/pa_win_ds.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.c", + MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_hostapis.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/wasapi/pa_win_wasapi.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/wdmks/pa_win_wdmks.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/wmme/pa_win_wmme.c", + MAME_DIR .. "3rdparty/portaudio/src/common/pa_ringbuffer.c", + } + + end + if _OPTIONS["targetos"]=="linux" then + defines { + "PA_USE_ALSA=1", + "PA_USE_OSS=1", + "HAVE_LINUX_SOUNDCARD_H", + } + includedirs { + MAME_DIR .. "3rdparty/portaudio/src/os/unix", + } + files { + MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_hostapis.c", + MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_util.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/alsa/pa_linux_alsa.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/oss/pa_unix_oss.c", + } + end + if _OPTIONS["targetos"]=="macosx" then + defines { + "PA_USE_COREAUDIO=1", + } + includedirs { + MAME_DIR .. "3rdparty/portaudio/src/os/unix", + } + files { + MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_hostapis.c", + MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_util.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/coreaudio/pa_mac_core.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c", + MAME_DIR .. "3rdparty/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c", + MAME_DIR .. "3rdparty/portaudio/src/common/pa_ringbuffer.c", + } + end + +else +links { + ext_lib("portaudio"), +} +end +end + +-------------------------------------------------- +-- SDL2 library +-------------------------------------------------- +if _OPTIONS["with-bundled-sdl2"] then +project "SDL2" + uuid "caab3327-574f-4abf-b25b-74d5238ae59b" +if _OPTIONS["targetos"]=="android" then + kind "SharedLib" + targetextension ".so" + targetprefix "lib" + links { + "GLESv1_CM", + "GLESv2", + "log", + "OpenSLES", + "c++_static" + } + linkoptions { + "-Wl,-soname,libSDL2.so", + } + + if _OPTIONS["SEPARATE_BIN"]~="1" then + if _OPTIONS["PLATFORM"]=="arm" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/armeabi-v7a") + end + if _OPTIONS["PLATFORM"]=="arm64" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/arm64-v8a") + end + if _OPTIONS["PLATFORM"]=="mips" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/mips") + end + if _OPTIONS["PLATFORM"]=="mips64" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/mips64") + end + if _OPTIONS["PLATFORM"]=="x86" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/x86") + end + if _OPTIONS["PLATFORM"]=="x64" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/x86_64") + end + end + + strip() +else + kind "StaticLib" +end + + files { + MAME_DIR .. "3rdparty/SDL2/include/begin_code.h", + MAME_DIR .. "3rdparty/SDL2/include/close_code.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_assert.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_atomic.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_audio.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_bits.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_blendmode.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_clipboard.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_config.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_config_windows.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_copying.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_cpuinfo.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_egl.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_endian.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_error.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_events.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_filesystem.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_gamecontroller.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_gesture.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_haptic.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_hints.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_joystick.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_keyboard.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_keycode.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_loadso.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_log.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_main.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_messagebox.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_mouse.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_mutex.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_name.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_opengl.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_opengl_glext.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_opengles.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_opengles2.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_opengles2_gl2.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_opengles2_gl2ext.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_opengles2_gl2platform.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_opengles2_khrplatform.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_pixels.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_platform.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_power.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_quit.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_rect.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_render.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_revision.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_rwops.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_scancode.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_shape.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_stdinc.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_surface.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_system.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_syswm.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_assert.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_common.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_compare.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_crc32.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_font.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_fuzzer.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_harness.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_images.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_log.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_md5.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_test_random.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_thread.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_timer.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_touch.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_types.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_version.h", + MAME_DIR .. "3rdparty/SDL2/include/SDL_video.h", + + + MAME_DIR .. "3rdparty/SDL2/src/atomic/SDL_atomic.c", + MAME_DIR .. "3rdparty/SDL2/src/atomic/SDL_spinlock.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/disk/SDL_diskaudio.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/disk/SDL_diskaudio.h", + MAME_DIR .. "3rdparty/SDL2/src/audio/dummy/SDL_dummyaudio.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/dummy/SDL_dummyaudio.h", + MAME_DIR .. "3rdparty/SDL2/src/audio/SDL_audio.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/SDL_audio_c.h", + MAME_DIR .. "3rdparty/SDL2/src/audio/SDL_audiocvt.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/SDL_audiodev.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/SDL_audiodev_c.h", + MAME_DIR .. "3rdparty/SDL2/src/audio/SDL_audiotypecvt.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/SDL_mixer.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/SDL_sysaudio.h", + MAME_DIR .. "3rdparty/SDL2/src/audio/SDL_wave.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/SDL_wave.h", + MAME_DIR .. "3rdparty/SDL2/src/cpuinfo/SDL_cpuinfo.c", + MAME_DIR .. "3rdparty/SDL2/src/dynapi/SDL_dynapi.c", + MAME_DIR .. "3rdparty/SDL2/src/dynapi/SDL_dynapi.h", + MAME_DIR .. "3rdparty/SDL2/src/dynapi/SDL_dynapi_overrides.h", + MAME_DIR .. "3rdparty/SDL2/src/dynapi/SDL_dynapi_procs.h", + MAME_DIR .. "3rdparty/SDL2/src/events/blank_cursor.h", + MAME_DIR .. "3rdparty/SDL2/src/events/default_cursor.h", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_clipboardevents.c", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_clipboardevents_c.h", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_dropevents.c", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_dropevents_c.h", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_events.c", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_events_c.h", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_gesture.c", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_gesture_c.h", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_keyboard.c", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_keyboard_c.h", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_mouse.c", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_mouse_c.h", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_quit.c", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_sysevents.h", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_touch.c", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_touch_c.h", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_windowevents.c", + MAME_DIR .. "3rdparty/SDL2/src/events/SDL_windowevents_c.h", + MAME_DIR .. "3rdparty/SDL2/src/file/SDL_rwops.c", + MAME_DIR .. "3rdparty/SDL2/src/haptic/SDL_haptic.c", + MAME_DIR .. "3rdparty/SDL2/src/haptic/SDL_syshaptic.h", + MAME_DIR .. "3rdparty/SDL2/src/joystick/SDL_gamecontroller.c", + MAME_DIR .. "3rdparty/SDL2/src/joystick/SDL_joystick.c", + MAME_DIR .. "3rdparty/SDL2/src/joystick/SDL_joystick_c.h", + MAME_DIR .. "3rdparty/SDL2/src/joystick/SDL_sysjoystick.h", + MAME_DIR .. "3rdparty/SDL2/src/loadso/windows/SDL_sysloadso.c", + MAME_DIR .. "3rdparty/SDL2/src/power/SDL_power.c", + MAME_DIR .. "3rdparty/SDL2/src/power/windows/SDL_syspower.c", + MAME_DIR .. "3rdparty/SDL2/src/render/direct3d/SDL_render_d3d.c", + MAME_DIR .. "3rdparty/SDL2/src/render/direct3d11/SDL_render_d3d11.c", + MAME_DIR .. "3rdparty/SDL2/src/render/mmx.h", + MAME_DIR .. "3rdparty/SDL2/src/render/opengl/SDL_render_gl.c", + MAME_DIR .. "3rdparty/SDL2/src/render/opengl/SDL_shaders_gl.c", + MAME_DIR .. "3rdparty/SDL2/src/render/opengl/SDL_shaders_gl.h", + MAME_DIR .. "3rdparty/SDL2/src/render/opengles2/SDL_render_gles2.c", + MAME_DIR .. "3rdparty/SDL2/src/render/opengles2/SDL_shaders_gles2.c", + MAME_DIR .. "3rdparty/SDL2/src/render/SDL_d3dmath.c", + MAME_DIR .. "3rdparty/SDL2/src/render/SDL_d3dmath.h", + MAME_DIR .. "3rdparty/SDL2/src/render/SDL_render.c", + MAME_DIR .. "3rdparty/SDL2/src/render/SDL_sysrender.h", + MAME_DIR .. "3rdparty/SDL2/src/render/SDL_yuv_mmx.c", + MAME_DIR .. "3rdparty/SDL2/src/render/SDL_yuv_sw.c", + MAME_DIR .. "3rdparty/SDL2/src/render/SDL_yuv_sw_c.h", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_blendfillrect.c", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_blendfillrect.h", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_blendline.c", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_blendline.h", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_blendpoint.c", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_blendpoint.h", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_draw.h", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_drawline.c", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_drawline.h", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_drawpoint.c", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_drawpoint.h", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_render_sw.c", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_render_sw_c.h", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_rotate.c", + MAME_DIR .. "3rdparty/SDL2/src/render/software/SDL_rotate.h", + MAME_DIR .. "3rdparty/SDL2/src/SDL.c", + MAME_DIR .. "3rdparty/SDL2/src/SDL_assert.c", + MAME_DIR .. "3rdparty/SDL2/src/SDL_error.c", + MAME_DIR .. "3rdparty/SDL2/src/SDL_error_c.h", + MAME_DIR .. "3rdparty/SDL2/src/SDL_hints.c", + MAME_DIR .. "3rdparty/SDL2/src/SDL_hints_c.h", + MAME_DIR .. "3rdparty/SDL2/src/SDL_log.c", + MAME_DIR .. "3rdparty/SDL2/src/stdlib/SDL_getenv.c", + MAME_DIR .. "3rdparty/SDL2/src/stdlib/SDL_iconv.c", + MAME_DIR .. "3rdparty/SDL2/src/stdlib/SDL_malloc.c", + MAME_DIR .. "3rdparty/SDL2/src/stdlib/SDL_qsort.c", + MAME_DIR .. "3rdparty/SDL2/src/stdlib/SDL_stdlib.c", + MAME_DIR .. "3rdparty/SDL2/src/stdlib/SDL_string.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/SDL_systhread.h", + MAME_DIR .. "3rdparty/SDL2/src/thread/SDL_thread.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/SDL_thread_c.h", + MAME_DIR .. "3rdparty/SDL2/src/timer/SDL_systimer.h", + MAME_DIR .. "3rdparty/SDL2/src/timer/SDL_timer.c", + MAME_DIR .. "3rdparty/SDL2/src/timer/SDL_timer_c.h", + MAME_DIR .. "3rdparty/SDL2/src/video/dummy/SDL_nullevents.c", + MAME_DIR .. "3rdparty/SDL2/src/video/dummy/SDL_nullevents_c.h", + MAME_DIR .. "3rdparty/SDL2/src/video/dummy/SDL_nullframebuffer.c", + MAME_DIR .. "3rdparty/SDL2/src/video/dummy/SDL_nullframebuffer_c.h", + MAME_DIR .. "3rdparty/SDL2/src/video/dummy/SDL_nullvideo.c", + MAME_DIR .. "3rdparty/SDL2/src/video/dummy/SDL_nullvideo.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit_0.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit_1.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit_A.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit_auto.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit_auto.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit_copy.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit_copy.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit_N.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit_slow.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_blit_slow.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_bmp.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_clipboard.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_egl.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_fillrect.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_glesfuncs.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_glfuncs.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_pixels.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_pixels_c.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_rect.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_rect_c.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_RLEaccel.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_RLEaccel_c.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_shape.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_shape_internals.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_stretch.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_surface.c", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_sysvideo.h", + MAME_DIR .. "3rdparty/SDL2/src/video/SDL_video.c", + + } + if _OPTIONS["targetos"]=="macosx" or _OPTIONS["targetos"]=="windows" then + files { + MAME_DIR .. "3rdparty/SDL2/src/libm/e_atan2.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/e_log.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/e_pow.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/e_rem_pio2.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/e_sqrt.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/k_cos.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/k_rem_pio2.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/k_sin.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/k_tan.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/math.h", + MAME_DIR .. "3rdparty/SDL2/src/libm/math_private.h", + MAME_DIR .. "3rdparty/SDL2/src/libm/s_atan.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/s_copysign.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/s_cos.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/s_fabs.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/s_floor.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/s_scalbn.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/s_sin.c", + MAME_DIR .. "3rdparty/SDL2/src/libm/s_tan.c", + } + end + if _OPTIONS["targetos"]~="windows" then + files { + MAME_DIR .. "3rdparty/SDL2/src/render/opengles/SDL_render_gles.c", + MAME_DIR .. "3rdparty/SDL2/src/render/opengles/SDL_glesfuncs.h", + } + end + + if _OPTIONS["targetos"]=="android" then + files { + MAME_DIR .. "3rdparty/SDL2/src/audio/android/opensl_io.h", + MAME_DIR .. "3rdparty/SDL2/src/audio/android/opensl_io.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/android/SDL_androidaudio.h", + MAME_DIR .. "3rdparty/SDL2/src/audio/android/SDL_androidaudio.c", + MAME_DIR .. "3rdparty/SDL2/src/core/android/SDL_android.c", + MAME_DIR .. "3rdparty/SDL2/src/core/android/SDL_android.h", + MAME_DIR .. "3rdparty/SDL2/src/filesystem/android/SDL_sysfilesystem.c", + MAME_DIR .. "3rdparty/SDL2/src/haptic/dummy/SDL_syshaptic.c", + MAME_DIR .. "3rdparty/SDL2/src/joystick/android/SDL_sysjoystick.c", + MAME_DIR .. "3rdparty/SDL2/src/loadso/dlopen/SDL_sysloadso.c", + MAME_DIR .. "3rdparty/SDL2/src/power/android/SDL_syspower.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_syscond.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_sysmutex.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_sysmutex_c.h", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_syssem.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_systhread.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_systhread_c.h", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_systls.c", + MAME_DIR .. "3rdparty/SDL2/src/timer/unix/SDL_systimer.c", + MAME_DIR .. "3rdparty/SDL2/src/timer/unix/SDL_systimer_c.h", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidclipboard.c", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidclipboard.h", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidevents.c", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidevents.h", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidgl.c", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidkeyboard.c", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidkeyboard.h", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidmessagebox.c", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidmessagebox.h", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidmouse.c", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidmouse.h", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidtouch.c", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidtouch.h", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidvideo.c", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidvideo.h", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidwindow.c", + MAME_DIR .. "3rdparty/SDL2/src/video/android/SDL_androidwindow.h", + } + end + + if _OPTIONS["targetos"]=="macosx" then + files { + MAME_DIR .. "3rdparty/SDL2/src/audio/coreaudio/SDL_coreaudio.m", + MAME_DIR .. "3rdparty/SDL2/src/audio/coreaudio/SDL_coreaudio.h", + MAME_DIR .. "3rdparty/SDL2/src/file/cocoa/SDL_rwopsbundlesupport.m", + MAME_DIR .. "3rdparty/SDL2/src/file/cocoa/SDL_rwopsbundlesupport.h", + MAME_DIR .. "3rdparty/SDL2/src/filesystem/cocoa/SDL_sysfilesystem.m", + MAME_DIR .. "3rdparty/SDL2/src/haptic/darwin/SDL_syshaptic.c", + MAME_DIR .. "3rdparty/SDL2/src/haptic/darwin/SDL_syshaptic_c.h", + MAME_DIR .. "3rdparty/SDL2/src/joystick/darwin/SDL_sysjoystick.c", + MAME_DIR .. "3rdparty/SDL2/src/joystick/darwin/SDL_sysjoystick_c.h", + MAME_DIR .. "3rdparty/SDL2/src/loadso/dlopen/SDL_sysloadso.c", + MAME_DIR .. "3rdparty/SDL2/src/power/macosx/SDL_syspower.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_syscond.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_sysmutex.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_sysmutex_c.h", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_syssem.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_systhread.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_systhread_c.h", + MAME_DIR .. "3rdparty/SDL2/src/thread/pthread/SDL_systls.c", + MAME_DIR .. "3rdparty/SDL2/src/timer/unix/SDL_systimer.c", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoaclipboard.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoaclipboard.h", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoaevents.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoaevents.h", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoakeyboard.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoakeyboard.h", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoamessagebox.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoamessagebox.h", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoamodes.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoamodes.h", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoamouse.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoamouse.h", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoamousetap.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoamousetap.h", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoaopengl.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoaopengl.h", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoashape.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoashape.h", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoavideo.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoavideo.h", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoawindow.m", + MAME_DIR .. "3rdparty/SDL2/src/video/cocoa/SDL_cocoawindow.h", + + } + end + + if _OPTIONS["targetos"]=="windows" then + files { + MAME_DIR .. "3rdparty/SDL2/src/thread/generic/SDL_syscond.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/directsound/SDL_directsound.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/directsound/SDL_directsound.h", + MAME_DIR .. "3rdparty/SDL2/src/audio/winmm/SDL_winmm.c", + MAME_DIR .. "3rdparty/SDL2/src/audio/winmm/SDL_winmm.h", + MAME_DIR .. "3rdparty/SDL2/src/core/windows/SDL_directx.h", + MAME_DIR .. "3rdparty/SDL2/src/core/windows/SDL_windows.c", + MAME_DIR .. "3rdparty/SDL2/src/core/windows/SDL_windows.h", + MAME_DIR .. "3rdparty/SDL2/src/core/windows/SDL_xinput.c", + MAME_DIR .. "3rdparty/SDL2/src/core/windows/SDL_xinput.h", + MAME_DIR .. "3rdparty/SDL2/src/filesystem/windows/SDL_sysfilesystem.c", + MAME_DIR .. "3rdparty/SDL2/src/haptic/windows/SDL_dinputhaptic.c", + MAME_DIR .. "3rdparty/SDL2/src/haptic/windows/SDL_dinputhaptic_c.h", + MAME_DIR .. "3rdparty/SDL2/src/haptic/windows/SDL_windowshaptic.c", + MAME_DIR .. "3rdparty/SDL2/src/haptic/windows/SDL_windowshaptic_c.h", + MAME_DIR .. "3rdparty/SDL2/src/haptic/windows/SDL_xinputhaptic.c", + MAME_DIR .. "3rdparty/SDL2/src/haptic/windows/SDL_xinputhaptic_c.h", + MAME_DIR .. "3rdparty/SDL2/src/joystick/windows/SDL_dinputjoystick.c", + MAME_DIR .. "3rdparty/SDL2/src/joystick/windows/SDL_dinputjoystick_c.h", + MAME_DIR .. "3rdparty/SDL2/src/joystick/windows/SDL_mmjoystick.c", + MAME_DIR .. "3rdparty/SDL2/src/joystick/windows/SDL_windowsjoystick.c", + MAME_DIR .. "3rdparty/SDL2/src/joystick/windows/SDL_windowsjoystick_c.h", + MAME_DIR .. "3rdparty/SDL2/src/joystick/windows/SDL_xinputjoystick.c", + MAME_DIR .. "3rdparty/SDL2/src/joystick/windows/SDL_xinputjoystick_c.h", + MAME_DIR .. "3rdparty/SDL2/src/thread/windows/SDL_sysmutex.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/windows/SDL_syssem.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/windows/SDL_systhread.c", + MAME_DIR .. "3rdparty/SDL2/src/thread/windows/SDL_systhread_c.h", + MAME_DIR .. "3rdparty/SDL2/src/thread/windows/SDL_systls.c", + MAME_DIR .. "3rdparty/SDL2/src/timer/windows/SDL_systimer.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_vkeys.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsclipboard.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsclipboard.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsevents.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsevents.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsframebuffer.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsframebuffer.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowskeyboard.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowskeyboard.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsmessagebox.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsmessagebox.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsmodes.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsmodes.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsmouse.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsmouse.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsopengl.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsopengl.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsopengles.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsshape.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsshape.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsvideo.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowsvideo.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowswindow.c", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/SDL_windowswindow.h", + MAME_DIR .. "3rdparty/SDL2/src/video/windows/wmmsg.h", + MAME_DIR .. "3rdparty/SDL2/src/main/windows/version.rc", + } + end + + configuration { "vs*" } + files { + MAME_DIR .. "3rdparty/SDL2/src/audio/xaudio2/SDL_xaudio2.c", + } + + buildoptions { + "/wd4200", -- warning C4200: nonstandard extension used: zero-sized array in struct/union + "/wd4055", -- warning C4055: 'type cast': from data pointer 'void *' to function pointer 'xxx' + "/wd4152", -- warning C4152: nonstandard extension, function/data pointer conversion in expression + "/wd4057", -- warning C4057: 'function': 'xxx' differs in indirection to slightly different base types from 'xxx' + "/wd4701", -- warning C4701: potentially uninitialized local variable 'xxx' used + "/wd4204", -- warning C4204: nonstandard extension used: non-constant aggregate initializer + "/wd4054", -- warning C4054: 'type cast': from function pointer 'xxx' to data pointer 'xxx' + } + defines { + "HAVE_LIBC", + } + + configuration { "mingw*"} + includedirs { + MAME_DIR .. "3rdparty/SDL2-override/mingw", + MAME_DIR .. "3rdparty/bgfx/3rdparty/khronos", + } + buildoptions_c { + "-Wno-undef", + "-Wno-format", + "-Wno-format-security", + "-Wno-strict-prototypes", + "-Wno-bad-function-cast", + "-Wno-pointer-to-int-cast", + "-Wno-discarded-qualifiers", + "-Wno-unused-but-set-variable", + } + + configuration { "mingw-clang"} + buildoptions_c { + "-Wno-incompatible-pointer-types-discards-qualifiers" + } + + configuration { "osx*"} + buildoptions { + "-Wno-undef", + } + buildoptions_objc { + "-x objective-c", + "-std=c99", + } + + buildoptions_c { + "-Wno-bad-function-cast", + } + + configuration { "android-*"} + defines { + "GL_GLEXT_PROTOTYPES", + } + buildoptions_c { + "-Wno-bad-function-cast", + "-Wno-incompatible-pointer-types-discards-qualifiers", + "-Wno-unneeded-internal-declaration", + "-Wno-unused-const-variable", + } + + configuration { } + includedirs { + MAME_DIR .. "3rdparty/SDL2/include", + } + +end + +-------------------------------------------------- +-- linenoise library +-------------------------------------------------- +if (_OPTIONS["osd"] ~= "uwp") then +project "linenoise" + uuid "7320ffc8-2748-4add-8864-ae29b72a8511" + kind (LIBTYPE) + + addprojectflags() + + configuration { "vs*" } + buildoptions { + "/wd4701", -- warning C4701: potentially uninitialized local variable 'xxx' used + } + + configuration { } + + includedirs { + MAME_DIR .. "3rdparty/linenoise", + } + + files { + MAME_DIR .. "3rdparty/linenoise/utf8.c", + MAME_DIR .. "3rdparty/linenoise/linenoise.c", + } +end + + +-------------------------------------------------- +-- utf8proc library objects +-------------------------------------------------- + +if not _OPTIONS["with-system-utf8proc"] then +project "utf8proc" + uuid "1f881f09-0395-4483-ac37-2935fb092187" + kind "StaticLib" + + defines { + "UTF8PROC_DLLEXPORT=" + } + + configuration "Debug" + defines { + "verbose=-1", + } + + configuration { "gmake or ninja" } + buildoptions_c { + "-Wno-strict-prototypes", + } + + configuration { } + defines { + "ZLIB_CONST", + } + + files { + MAME_DIR .. "3rdparty/utf8proc/utf8proc.c" + } +else +links { + ext_lib("utf8proc"), +} +end + diff --git a/docs/release/scripts/src/benchmarks.lua b/docs/release/scripts/src/benchmarks.lua new file mode 100644 index 00000000000..2e1f97405a2 --- /dev/null +++ b/docs/release/scripts/src/benchmarks.lua @@ -0,0 +1,74 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- benchmarks.lua +-- +-- Rules for building benchmarks +-- +--------------------------------------------------------------------------- + +-------------------------------------------------- +-- Google Benchmark library objects +-------------------------------------------------- + +project "benchmark" + uuid "60a7e05c-8b4f-497c-bfda-2949a009ba0d" + kind "StaticLib" + + configuration { } + defines { + "HAVE_STD_REGEX", + } + + includedirs { + MAME_DIR .. "3rdparty/benchmark/include", + } + files { + MAME_DIR .. "3rdparty/benchmark/src/benchmark.cc", + MAME_DIR .. "3rdparty/benchmark/src/colorprint.cc", + MAME_DIR .. "3rdparty/benchmark/src/commandlineflags.cc", + MAME_DIR .. "3rdparty/benchmark/src/complexity.cc", + MAME_DIR .. "3rdparty/benchmark/src/console_reporter.cc", + MAME_DIR .. "3rdparty/benchmark/src/csv_reporter.cc", + MAME_DIR .. "3rdparty/benchmark/src/json_reporter.cc", + MAME_DIR .. "3rdparty/benchmark/src/reporter.cc", + MAME_DIR .. "3rdparty/benchmark/src/sleep.cc", + MAME_DIR .. "3rdparty/benchmark/src/string_util.cc", + MAME_DIR .. "3rdparty/benchmark/src/sysinfo.cc", + MAME_DIR .. "3rdparty/benchmark/src/timers.cc", + MAME_DIR .. "3rdparty/benchmark/src/re_std.cc", + } + + + +project("benchmarks") + uuid ("a9750a48-d283-4a6d-b126-31c7ce049af1") + kind "ConsoleApp" + + flags { + "Symbols", -- always include minimum symbols for executables + } + + if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) + end + + configuration { } + + links { + "benchmark", + } + + includedirs { + MAME_DIR .. "3rdparty/benchmark/include", + MAME_DIR .. "src/osd", + } + + files { + MAME_DIR .. "benchmarks/main.cpp", + MAME_DIR .. "benchmarks/eminline_native.cpp", + MAME_DIR .. "benchmarks/eminline_noasm.cpp", + } + diff --git a/docs/release/scripts/src/bus.lua b/docs/release/scripts/src/bus.lua new file mode 100644 index 00000000000..780df068e5c --- /dev/null +++ b/docs/release/scripts/src/bus.lua @@ -0,0 +1,3874 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- bus.lua +-- +-- Rules for building bus cores +-- +--------------------------------------------------------------------------- + +------------------------------------------------- +-- +--@src/devices/bus/a7800/a78_slot.h,BUSES["A7800"] = true +--------------------------------------------------- + +if (BUSES["A7800"]~=null) then + files { + MAME_DIR .. "src/devices/bus/a7800/a78_slot.cpp", + MAME_DIR .. "src/devices/bus/a7800/a78_slot.h", + MAME_DIR .. "src/devices/bus/a7800/a78_carts.h", + MAME_DIR .. "src/devices/bus/a7800/rom.cpp", + MAME_DIR .. "src/devices/bus/a7800/rom.h", + MAME_DIR .. "src/devices/bus/a7800/hiscore.cpp", + MAME_DIR .. "src/devices/bus/a7800/hiscore.h", + MAME_DIR .. "src/devices/bus/a7800/xboard.cpp", + MAME_DIR .. "src/devices/bus/a7800/xboard.h", + MAME_DIR .. "src/devices/bus/a7800/cpuwiz.cpp", + MAME_DIR .. "src/devices/bus/a7800/cpuwiz.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/a800/a800_slot.h,BUSES["A800"] = true +--------------------------------------------------- + +if (BUSES["A800"]~=null) then + files { + MAME_DIR .. "src/devices/bus/a800/a8sio.cpp", + MAME_DIR .. "src/devices/bus/a800/a8sio.h", + MAME_DIR .. "src/devices/bus/a800/atari810.cpp", + MAME_DIR .. "src/devices/bus/a800/atari810.h", + MAME_DIR .. "src/devices/bus/a800/atari1050.cpp", + MAME_DIR .. "src/devices/bus/a800/atari1050.h", + MAME_DIR .. "src/devices/bus/a800/cassette.cpp", + MAME_DIR .. "src/devices/bus/a800/cassette.h", + MAME_DIR .. "src/devices/bus/a800/a800_slot.cpp", + MAME_DIR .. "src/devices/bus/a800/a800_slot.h", + MAME_DIR .. "src/devices/bus/a800/a800_carts.h", + MAME_DIR .. "src/devices/bus/a800/rom.cpp", + MAME_DIR .. "src/devices/bus/a800/rom.h", + MAME_DIR .. "src/devices/bus/a800/oss.cpp", + MAME_DIR .. "src/devices/bus/a800/oss.h", + MAME_DIR .. "src/devices/bus/a800/sparta.cpp", + MAME_DIR .. "src/devices/bus/a800/sparta.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/abcbus/abcbus.h,BUSES["ABCBUS"] = true +--------------------------------------------------- + +if (BUSES["ABCBUS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/abcbus/abcbus.cpp", + MAME_DIR .. "src/devices/bus/abcbus/abcbus.h", + MAME_DIR .. "src/devices/bus/abcbus/abc890.cpp", + MAME_DIR .. "src/devices/bus/abcbus/abc890.h", + MAME_DIR .. "src/devices/bus/abcbus/cadmouse.cpp", + MAME_DIR .. "src/devices/bus/abcbus/cadmouse.h", + MAME_DIR .. "src/devices/bus/abcbus/db411223.cpp", + MAME_DIR .. "src/devices/bus/abcbus/db411223.h", + MAME_DIR .. "src/devices/bus/abcbus/fd2.cpp", + MAME_DIR .. "src/devices/bus/abcbus/fd2.h", + MAME_DIR .. "src/devices/bus/abcbus/hdc.cpp", + MAME_DIR .. "src/devices/bus/abcbus/hdc.h", + MAME_DIR .. "src/devices/bus/abcbus/lux10828.cpp", + MAME_DIR .. "src/devices/bus/abcbus/lux10828.h", + MAME_DIR .. "src/devices/bus/abcbus/lux21046.cpp", + MAME_DIR .. "src/devices/bus/abcbus/lux21046.h", + MAME_DIR .. "src/devices/bus/abcbus/lux21056.cpp", + MAME_DIR .. "src/devices/bus/abcbus/lux21056.h", + MAME_DIR .. "src/devices/bus/abcbus/lux4105.cpp", + MAME_DIR .. "src/devices/bus/abcbus/lux4105.h", + MAME_DIR .. "src/devices/bus/abcbus/memcard.cpp", + MAME_DIR .. "src/devices/bus/abcbus/memcard.h", + MAME_DIR .. "src/devices/bus/abcbus/ram.cpp", + MAME_DIR .. "src/devices/bus/abcbus/ram.h", + MAME_DIR .. "src/devices/bus/abcbus/sio.cpp", + MAME_DIR .. "src/devices/bus/abcbus/sio.h", + MAME_DIR .. "src/devices/bus/abcbus/slutprov.cpp", + MAME_DIR .. "src/devices/bus/abcbus/slutprov.h", + MAME_DIR .. "src/devices/bus/abcbus/ssa.cpp", + MAME_DIR .. "src/devices/bus/abcbus/ssa.h", + MAME_DIR .. "src/devices/bus/abcbus/uni800.cpp", + MAME_DIR .. "src/devices/bus/abcbus/uni800.h", + MAME_DIR .. "src/devices/bus/abcbus/unidisk.cpp", + MAME_DIR .. "src/devices/bus/abcbus/unidisk.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/acorn/bus.h,BUSES["ACORN"] = true +--------------------------------------------------- + +if (BUSES["ACORN"]~=null) then + files { + MAME_DIR .. "src/devices/bus/acorn/bus.cpp", + MAME_DIR .. "src/devices/bus/acorn/bus.h", + MAME_DIR .. "src/devices/bus/acorn/atom/discpack.cpp", + MAME_DIR .. "src/devices/bus/acorn/atom/discpack.h", + MAME_DIR .. "src/devices/bus/acorn/atom/econet.cpp", + MAME_DIR .. "src/devices/bus/acorn/atom/econet.h", + MAME_DIR .. "src/devices/bus/acorn/atom/sid.cpp", + MAME_DIR .. "src/devices/bus/acorn/atom/sid.h", + MAME_DIR .. "src/devices/bus/acorn/cms/4080term.cpp", + MAME_DIR .. "src/devices/bus/acorn/cms/4080term.h", + MAME_DIR .. "src/devices/bus/acorn/cms/fdc.cpp", + MAME_DIR .. "src/devices/bus/acorn/cms/fdc.h", + MAME_DIR .. "src/devices/bus/acorn/cms/hires.cpp", + MAME_DIR .. "src/devices/bus/acorn/cms/hires.h", + MAME_DIR .. "src/devices/bus/acorn/system/32k.cpp", + MAME_DIR .. "src/devices/bus/acorn/system/32k.h", + MAME_DIR .. "src/devices/bus/acorn/system/8k.cpp", + MAME_DIR .. "src/devices/bus/acorn/system/8k.h", + MAME_DIR .. "src/devices/bus/acorn/system/cass.cpp", + MAME_DIR .. "src/devices/bus/acorn/system/cass.h", + MAME_DIR .. "src/devices/bus/acorn/system/econet.cpp", + MAME_DIR .. "src/devices/bus/acorn/system/econet.h", + MAME_DIR .. "src/devices/bus/acorn/system/fdc.cpp", + MAME_DIR .. "src/devices/bus/acorn/system/fdc.h", + MAME_DIR .. "src/devices/bus/acorn/system/vdu40.cpp", + MAME_DIR .. "src/devices/bus/acorn/system/vdu40.h", + MAME_DIR .. "src/devices/bus/acorn/system/vdu80.cpp", + MAME_DIR .. "src/devices/bus/acorn/system/vdu80.h", + MAME_DIR .. "src/devices/bus/acorn/system/vib.cpp", + MAME_DIR .. "src/devices/bus/acorn/system/vib.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/adam/exp.h,BUSES["ADAM"] = true +--------------------------------------------------- + +if (BUSES["ADAM"]~=null) then + files { + MAME_DIR .. "src/devices/bus/adam/exp.cpp", + MAME_DIR .. "src/devices/bus/adam/exp.h", + MAME_DIR .. "src/devices/bus/adam/adamlink.cpp", + MAME_DIR .. "src/devices/bus/adam/adamlink.h", + MAME_DIR .. "src/devices/bus/adam/ide.cpp", + MAME_DIR .. "src/devices/bus/adam/ide.h", + MAME_DIR .. "src/devices/bus/adam/ram.cpp", + MAME_DIR .. "src/devices/bus/adam/ram.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/adamnet/adamnet.h,BUSES["ADAMNET"] = true +--------------------------------------------------- + +if (BUSES["ADAMNET"]~=null) then + files { + MAME_DIR .. "src/devices/bus/adamnet/adamnet.cpp", + MAME_DIR .. "src/devices/bus/adamnet/adamnet.h", + MAME_DIR .. "src/devices/bus/adamnet/ddp.cpp", + MAME_DIR .. "src/devices/bus/adamnet/ddp.h", + MAME_DIR .. "src/devices/bus/adamnet/fdc.cpp", + MAME_DIR .. "src/devices/bus/adamnet/fdc.h", + MAME_DIR .. "src/devices/bus/adamnet/kb.cpp", + MAME_DIR .. "src/devices/bus/adamnet/kb.h", + MAME_DIR .. "src/devices/bus/adamnet/printer.cpp", + MAME_DIR .. "src/devices/bus/adamnet/printer.h", + MAME_DIR .. "src/devices/bus/adamnet/spi.cpp", + MAME_DIR .. "src/devices/bus/adamnet/spi.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/apf/slot.h,BUSES["APF"] = true +--------------------------------------------------- + +if (BUSES["APF"]~=null) then + files { + MAME_DIR .. "src/devices/bus/apf/slot.cpp", + MAME_DIR .. "src/devices/bus/apf/slot.h", + MAME_DIR .. "src/devices/bus/apf/rom.cpp", + MAME_DIR .. "src/devices/bus/apf/rom.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/apricot/expansion/expansion.h,BUSES["APRICOT_EXPANSION"] = true +--------------------------------------------------- + +if (BUSES["APRICOT_EXPANSION"]~=null) then + files { + MAME_DIR .. "src/devices/bus/apricot/expansion/expansion.cpp", + MAME_DIR .. "src/devices/bus/apricot/expansion/expansion.h", + MAME_DIR .. "src/devices/bus/apricot/expansion/cards.cpp", + MAME_DIR .. "src/devices/bus/apricot/expansion/cards.h", + MAME_DIR .. "src/devices/bus/apricot/expansion/ram.cpp", + MAME_DIR .. "src/devices/bus/apricot/expansion/ram.h", + MAME_DIR .. "src/devices/bus/apricot/expansion/winchester.cpp", + MAME_DIR .. "src/devices/bus/apricot/expansion/winchester.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/apricot/keyboard/keyboard.h,BUSES["APRICOT_KEYBOARD"] = true +--------------------------------------------------- + +if (BUSES["APRICOT_KEYBOARD"]~=null) then + files { + MAME_DIR .. "src/devices/bus/apricot/keyboard/keyboard.cpp", + MAME_DIR .. "src/devices/bus/apricot/keyboard/keyboard.h", + MAME_DIR .. "src/devices/bus/apricot/keyboard/hle.cpp", + MAME_DIR .. "src/devices/bus/apricot/keyboard/hle.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/arcadia/slot.h,BUSES["ARCADIA"] = true +--------------------------------------------------- + +if (BUSES["ARCADIA"]~=null) then + files { + MAME_DIR .. "src/devices/bus/arcadia/slot.cpp", + MAME_DIR .. "src/devices/bus/arcadia/slot.h", + MAME_DIR .. "src/devices/bus/arcadia/rom.cpp", + MAME_DIR .. "src/devices/bus/arcadia/rom.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/astrocde/slot.h,BUSES["ASTROCADE"] = true +--------------------------------------------------- + +if (BUSES["ASTROCADE"]~=null) then + files { + MAME_DIR .. "src/devices/bus/astrocde/slot.cpp", + MAME_DIR .. "src/devices/bus/astrocde/slot.h", + MAME_DIR .. "src/devices/bus/astrocde/rom.cpp", + MAME_DIR .. "src/devices/bus/astrocde/rom.h", + MAME_DIR .. "src/devices/bus/astrocde/exp.cpp", + MAME_DIR .. "src/devices/bus/astrocde/exp.h", + MAME_DIR .. "src/devices/bus/astrocde/ram.cpp", + MAME_DIR .. "src/devices/bus/astrocde/ram.h", + MAME_DIR .. "src/devices/bus/astrocde/ctrl.cpp", + MAME_DIR .. "src/devices/bus/astrocde/ctrl.h", + MAME_DIR .. "src/devices/bus/astrocde/joy.cpp", + MAME_DIR .. "src/devices/bus/astrocde/joy.h", + MAME_DIR .. "src/devices/bus/astrocde/cassette.cpp", + MAME_DIR .. "src/devices/bus/astrocde/cassette.h", + MAME_DIR .. "src/devices/bus/astrocde/accessory.cpp", + MAME_DIR .. "src/devices/bus/astrocde/accessory.h", + MAME_DIR .. "src/devices/bus/astrocde/lightpen.cpp", + MAME_DIR .. "src/devices/bus/astrocde/lightpen.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/bbc/fdc/fdc.h,BUSES["BBC_FDC"] = true +--------------------------------------------------- + +if (BUSES["BBC_FDC"]~=null) then + files { + MAME_DIR .. "src/devices/bus/bbc/fdc/fdc.cpp", + MAME_DIR .. "src/devices/bus/bbc/fdc/fdc.h", + MAME_DIR .. "src/devices/bus/bbc/fdc/acorn.cpp", + MAME_DIR .. "src/devices/bus/bbc/fdc/acorn.h", + MAME_DIR .. "src/devices/bus/bbc/fdc/ams.cpp", + MAME_DIR .. "src/devices/bus/bbc/fdc/ams.h", + MAME_DIR .. "src/devices/bus/bbc/fdc/cumana.cpp", + MAME_DIR .. "src/devices/bus/bbc/fdc/cumana.h", + MAME_DIR .. "src/devices/bus/bbc/fdc/cv1797.cpp", + MAME_DIR .. "src/devices/bus/bbc/fdc/cv1797.h", + MAME_DIR .. "src/devices/bus/bbc/fdc/microware.cpp", + MAME_DIR .. "src/devices/bus/bbc/fdc/microware.h", + MAME_DIR .. "src/devices/bus/bbc/fdc/opus.cpp", + MAME_DIR .. "src/devices/bus/bbc/fdc/opus.h", + MAME_DIR .. "src/devices/bus/bbc/fdc/watford.cpp", + MAME_DIR .. "src/devices/bus/bbc/fdc/watford.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/bbc/analogue/analogue.h,BUSES["BBC_ANALOGUE"] = true +--------------------------------------------------- + +if (BUSES["BBC_ANALOGUE"]~=null) then + files { + MAME_DIR .. "src/devices/bus/bbc/analogue/analogue.cpp", + MAME_DIR .. "src/devices/bus/bbc/analogue/analogue.h", + MAME_DIR .. "src/devices/bus/bbc/analogue/bitstik.cpp", + MAME_DIR .. "src/devices/bus/bbc/analogue/bitstik.h", + MAME_DIR .. "src/devices/bus/bbc/analogue/joystick.cpp", + MAME_DIR .. "src/devices/bus/bbc/analogue/joystick.h", + MAME_DIR .. "src/devices/bus/bbc/analogue/cfa3000a.cpp", + MAME_DIR .. "src/devices/bus/bbc/analogue/cfa3000a.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/bbc/exp/exp.h,BUSES["BBC_EXP"] = true +--------------------------------------------------- + +if (BUSES["BBC_EXP"]~=null) then + files { + MAME_DIR .. "src/devices/bus/bbc/exp/exp.cpp", + MAME_DIR .. "src/devices/bus/bbc/exp/exp.h", + MAME_DIR .. "src/devices/bus/bbc/exp/mertec.cpp", + MAME_DIR .. "src/devices/bus/bbc/exp/mertec.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/bbc/joyport/joyport.h,BUSES["BBC_JOYPORT"] = true +--------------------------------------------------- + +if (BUSES["BBC_JOYPORT"]~=null) then + files { + MAME_DIR .. "src/devices/bus/bbc/joyport/joyport.cpp", + MAME_DIR .. "src/devices/bus/bbc/joyport/joyport.h", + MAME_DIR .. "src/devices/bus/bbc/joyport/joystick.cpp", + MAME_DIR .. "src/devices/bus/bbc/joyport/joystick.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/bbc/1mhzbus/1mhzbus.h,BUSES["BBC_1MHZBUS"] = true +--------------------------------------------------- + +if (BUSES["BBC_1MHZBUS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/1mhzbus.cpp", + 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/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/ieee488.cpp", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/ieee488.h", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/m2000.cpp", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/m2000.h", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/opus3.cpp", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/opus3.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", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/cfa3000opt.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/bbc/rom/slot.h,BUSES["BBC_ROM"] = true +--------------------------------------------------- + +if (BUSES["BBC_ROM"]~=null) then + files { + MAME_DIR .. "src/devices/bus/bbc/rom/slot.cpp", + MAME_DIR .. "src/devices/bus/bbc/rom/slot.h", + MAME_DIR .. "src/devices/bus/bbc/rom/rom.cpp", + MAME_DIR .. "src/devices/bus/bbc/rom/rom.h", + MAME_DIR .. "src/devices/bus/bbc/rom/ram.cpp", + MAME_DIR .. "src/devices/bus/bbc/rom/ram.h", + MAME_DIR .. "src/devices/bus/bbc/rom/dfs.cpp", + MAME_DIR .. "src/devices/bus/bbc/rom/dfs.h", + MAME_DIR .. "src/devices/bus/bbc/rom/genie.cpp", + MAME_DIR .. "src/devices/bus/bbc/rom/genie.h", + MAME_DIR .. "src/devices/bus/bbc/rom/pal.cpp", + MAME_DIR .. "src/devices/bus/bbc/rom/pal.h", + MAME_DIR .. "src/devices/bus/bbc/rom/rtc.cpp", + MAME_DIR .. "src/devices/bus/bbc/rom/rtc.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/bbc/tube/tube.h,BUSES["BBC_TUBE"] = true +--------------------------------------------------- + +if (BUSES["BBC_TUBE"]~=null) then + files { + MAME_DIR .. "src/devices/bus/bbc/tube/tube.cpp", + MAME_DIR .. "src/devices/bus/bbc/tube/tube.h", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_32016.cpp", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_32016.h", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_6502.cpp", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_6502.h", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_80186.cpp", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_80186.h", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_80286.cpp", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_80286.h", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_arm.cpp", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_arm.h", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_casper.cpp", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_casper.h", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_rc6502.cpp", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_rc6502.h", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_z80.cpp", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_z80.h", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_zep100.cpp", + MAME_DIR .. "src/devices/bus/bbc/tube/tube_zep100.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/bbc/userport/userport.h,BUSES["BBC_USERPORT"] = true +--------------------------------------------------- + +if (BUSES["BBC_USERPORT"]~=null) then + files { + MAME_DIR .. "src/devices/bus/bbc/userport/userport.cpp", + MAME_DIR .. "src/devices/bus/bbc/userport/userport.h", + MAME_DIR .. "src/devices/bus/bbc/userport/beebspch.cpp", + MAME_DIR .. "src/devices/bus/bbc/userport/beebspch.h", + MAME_DIR .. "src/devices/bus/bbc/userport/pointer.cpp", + MAME_DIR .. "src/devices/bus/bbc/userport/pointer.h", + MAME_DIR .. "src/devices/bus/bbc/userport/usersplit.cpp", + MAME_DIR .. "src/devices/bus/bbc/userport/usersplit.h", + MAME_DIR .. "src/devices/bus/bbc/userport/cfa3000kbd.cpp", + MAME_DIR .. "src/devices/bus/bbc/userport/cfa3000kbd.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/bw2/exp.h,BUSES["BW2"] = true +--------------------------------------------------- + +if (BUSES["BW2"]~=null) then + files { + MAME_DIR .. "src/devices/bus/bw2/exp.cpp", + MAME_DIR .. "src/devices/bus/bw2/exp.h", + MAME_DIR .. "src/devices/bus/bw2/ramcard.cpp", + MAME_DIR .. "src/devices/bus/bw2/ramcard.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/c64/exp.h,BUSES["C64"] = true +--@src/devices/bus/c64/user.h,BUSES["C64"] = true +--------------------------------------------------- + +if (BUSES["C64"]~=null) then + files { + MAME_DIR .. "src/devices/bus/c64/exp.cpp", + MAME_DIR .. "src/devices/bus/c64/exp.h", + MAME_DIR .. "src/devices/bus/c64/buscard.cpp", + MAME_DIR .. "src/devices/bus/c64/buscard.h", + MAME_DIR .. "src/devices/bus/c64/buscard2.cpp", + MAME_DIR .. "src/devices/bus/c64/buscard2.h", + MAME_DIR .. "src/devices/bus/c64/c128_comal80.cpp", + MAME_DIR .. "src/devices/bus/c64/c128_comal80.h", + MAME_DIR .. "src/devices/bus/c64/c128_partner.cpp", + MAME_DIR .. "src/devices/bus/c64/c128_partner.h", + MAME_DIR .. "src/devices/bus/c64/comal80.cpp", + MAME_DIR .. "src/devices/bus/c64/comal80.h", + MAME_DIR .. "src/devices/bus/c64/cpm.cpp", + MAME_DIR .. "src/devices/bus/c64/cpm.h", + MAME_DIR .. "src/devices/bus/c64/currah_speech.cpp", + MAME_DIR .. "src/devices/bus/c64/currah_speech.h", + MAME_DIR .. "src/devices/bus/c64/dela_ep256.cpp", + MAME_DIR .. "src/devices/bus/c64/dela_ep256.h", + MAME_DIR .. "src/devices/bus/c64/dela_ep64.cpp", + MAME_DIR .. "src/devices/bus/c64/dela_ep64.h", + MAME_DIR .. "src/devices/bus/c64/dela_ep7x8.cpp", + MAME_DIR .. "src/devices/bus/c64/dela_ep7x8.h", + MAME_DIR .. "src/devices/bus/c64/dinamic.cpp", + MAME_DIR .. "src/devices/bus/c64/dinamic.h", + MAME_DIR .. "src/devices/bus/c64/dqbb.cpp", + MAME_DIR .. "src/devices/bus/c64/dqbb.h", + MAME_DIR .. "src/devices/bus/c64/easy_calc_result.cpp", + MAME_DIR .. "src/devices/bus/c64/easy_calc_result.h", + MAME_DIR .. "src/devices/bus/c64/easyflash.cpp", + MAME_DIR .. "src/devices/bus/c64/easyflash.h", + MAME_DIR .. "src/devices/bus/c64/epyx_fast_load.cpp", + MAME_DIR .. "src/devices/bus/c64/epyx_fast_load.h", + MAME_DIR .. "src/devices/bus/c64/exos.cpp", + MAME_DIR .. "src/devices/bus/c64/exos.h", + MAME_DIR .. "src/devices/bus/c64/fcc.cpp", + MAME_DIR .. "src/devices/bus/c64/fcc.h", + MAME_DIR .. "src/devices/bus/c64/final.cpp", + MAME_DIR .. "src/devices/bus/c64/final.h", + MAME_DIR .. "src/devices/bus/c64/final3.cpp", + MAME_DIR .. "src/devices/bus/c64/final3.h", + MAME_DIR .. "src/devices/bus/c64/fun_play.cpp", + MAME_DIR .. "src/devices/bus/c64/fun_play.h", + MAME_DIR .. "src/devices/bus/c64/georam.cpp", + MAME_DIR .. "src/devices/bus/c64/georam.h", + MAME_DIR .. "src/devices/bus/c64/ide64.cpp", + MAME_DIR .. "src/devices/bus/c64/ide64.h", + MAME_DIR .. "src/devices/bus/c64/ieee488.cpp", + MAME_DIR .. "src/devices/bus/c64/ieee488.h", + MAME_DIR .. "src/devices/bus/c64/kingsoft.cpp", + MAME_DIR .. "src/devices/bus/c64/kingsoft.h", + MAME_DIR .. "src/devices/bus/c64/mach5.cpp", + MAME_DIR .. "src/devices/bus/c64/mach5.h", + MAME_DIR .. "src/devices/bus/c64/magic_desk.cpp", + MAME_DIR .. "src/devices/bus/c64/magic_desk.h", + MAME_DIR .. "src/devices/bus/c64/magic_formel.cpp", + MAME_DIR .. "src/devices/bus/c64/magic_formel.h", + MAME_DIR .. "src/devices/bus/c64/magic_voice.cpp", + MAME_DIR .. "src/devices/bus/c64/magic_voice.h", + MAME_DIR .. "src/devices/bus/c64/midi_maplin.cpp", + MAME_DIR .. "src/devices/bus/c64/midi_maplin.h", + MAME_DIR .. "src/devices/bus/c64/midi_namesoft.cpp", + MAME_DIR .. "src/devices/bus/c64/midi_namesoft.h", + MAME_DIR .. "src/devices/bus/c64/midi_passport.cpp", + MAME_DIR .. "src/devices/bus/c64/midi_passport.h", + MAME_DIR .. "src/devices/bus/c64/midi_sci.cpp", + MAME_DIR .. "src/devices/bus/c64/midi_sci.h", + MAME_DIR .. "src/devices/bus/c64/midi_siel.cpp", + MAME_DIR .. "src/devices/bus/c64/midi_siel.h", + MAME_DIR .. "src/devices/bus/c64/mikro_assembler.cpp", + MAME_DIR .. "src/devices/bus/c64/mikro_assembler.h", + MAME_DIR .. "src/devices/bus/c64/multiscreen.cpp", + MAME_DIR .. "src/devices/bus/c64/multiscreen.h", + MAME_DIR .. "src/devices/bus/c64/music64.cpp", + MAME_DIR .. "src/devices/bus/c64/music64.h", + MAME_DIR .. "src/devices/bus/c64/neoram.cpp", + MAME_DIR .. "src/devices/bus/c64/neoram.h", + MAME_DIR .. "src/devices/bus/c64/ocean.cpp", + MAME_DIR .. "src/devices/bus/c64/ocean.h", + MAME_DIR .. "src/devices/bus/c64/pagefox.cpp", + MAME_DIR .. "src/devices/bus/c64/pagefox.h", + MAME_DIR .. "src/devices/bus/c64/partner.cpp", + MAME_DIR .. "src/devices/bus/c64/partner.h", + MAME_DIR .. "src/devices/bus/c64/prophet64.cpp", + MAME_DIR .. "src/devices/bus/c64/prophet64.h", + MAME_DIR .. "src/devices/bus/c64/ps64.cpp", + MAME_DIR .. "src/devices/bus/c64/ps64.h", + MAME_DIR .. "src/devices/bus/c64/reu.cpp", + MAME_DIR .. "src/devices/bus/c64/reu.h", + MAME_DIR .. "src/devices/bus/c64/rex.cpp", + MAME_DIR .. "src/devices/bus/c64/rex.h", + MAME_DIR .. "src/devices/bus/c64/rex_ep256.cpp", + MAME_DIR .. "src/devices/bus/c64/rex_ep256.h", + MAME_DIR .. "src/devices/bus/c64/ross.cpp", + MAME_DIR .. "src/devices/bus/c64/ross.h", + MAME_DIR .. "src/devices/bus/c64/sfx_sound_expander.cpp", + MAME_DIR .. "src/devices/bus/c64/sfx_sound_expander.h", + MAME_DIR .. "src/devices/bus/c64/silverrock.cpp", + MAME_DIR .. "src/devices/bus/c64/silverrock.h", + MAME_DIR .. "src/devices/bus/c64/simons_basic.cpp", + MAME_DIR .. "src/devices/bus/c64/simons_basic.h", + MAME_DIR .. "src/devices/bus/c64/speakeasy.cpp", + MAME_DIR .. "src/devices/bus/c64/speakeasy.h", + MAME_DIR .. "src/devices/bus/c64/stardos.cpp", + MAME_DIR .. "src/devices/bus/c64/stardos.h", + MAME_DIR .. "src/devices/bus/c64/std.cpp", + MAME_DIR .. "src/devices/bus/c64/std.h", + MAME_DIR .. "src/devices/bus/c64/structured_basic.cpp", + MAME_DIR .. "src/devices/bus/c64/structured_basic.h", + MAME_DIR .. "src/devices/bus/c64/super_explode.cpp", + MAME_DIR .. "src/devices/bus/c64/super_explode.h", + MAME_DIR .. "src/devices/bus/c64/super_games.cpp", + MAME_DIR .. "src/devices/bus/c64/super_games.h", + MAME_DIR .. "src/devices/bus/c64/supercpu.cpp", + MAME_DIR .. "src/devices/bus/c64/supercpu.h", + MAME_DIR .. "src/devices/bus/c64/sw8k.cpp", + MAME_DIR .. "src/devices/bus/c64/sw8k.h", + MAME_DIR .. "src/devices/bus/c64/swiftlink.cpp", + MAME_DIR .. "src/devices/bus/c64/swiftlink.h", + MAME_DIR .. "src/devices/bus/c64/system3.cpp", + MAME_DIR .. "src/devices/bus/c64/system3.h", + MAME_DIR .. "src/devices/bus/c64/tdos.cpp", + MAME_DIR .. "src/devices/bus/c64/tdos.h", + MAME_DIR .. "src/devices/bus/c64/turbo232.cpp", + MAME_DIR .. "src/devices/bus/c64/turbo232.h", + MAME_DIR .. "src/devices/bus/c64/vizastar.cpp", + MAME_DIR .. "src/devices/bus/c64/vizastar.h", + MAME_DIR .. "src/devices/bus/c64/vw64.cpp", + MAME_DIR .. "src/devices/bus/c64/vw64.h", + MAME_DIR .. "src/devices/bus/c64/warp_speed.cpp", + MAME_DIR .. "src/devices/bus/c64/warp_speed.h", + MAME_DIR .. "src/devices/bus/c64/westermann.cpp", + MAME_DIR .. "src/devices/bus/c64/westermann.h", + MAME_DIR .. "src/devices/bus/c64/xl80.cpp", + MAME_DIR .. "src/devices/bus/c64/xl80.h", + MAME_DIR .. "src/devices/bus/c64/zaxxon.cpp", + MAME_DIR .. "src/devices/bus/c64/zaxxon.h", + MAME_DIR .. "src/devices/bus/c64/user.cpp", + MAME_DIR .. "src/devices/bus/c64/user.h", + MAME_DIR .. "src/devices/bus/c64/4dxh.cpp", + MAME_DIR .. "src/devices/bus/c64/4dxh.h", + MAME_DIR .. "src/devices/bus/c64/4ksa.cpp", + MAME_DIR .. "src/devices/bus/c64/4ksa.h", + MAME_DIR .. "src/devices/bus/c64/4tba.cpp", + MAME_DIR .. "src/devices/bus/c64/4tba.h", + MAME_DIR .. "src/devices/bus/c64/16kb.cpp", + MAME_DIR .. "src/devices/bus/c64/16kb.h", + MAME_DIR .. "src/devices/bus/c64/bn1541.cpp", + MAME_DIR .. "src/devices/bus/c64/bn1541.h", + MAME_DIR .. "src/devices/bus/c64/geocable.cpp", + MAME_DIR .. "src/devices/bus/c64/geocable.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/cbm2/exp.h,BUSES["CBM2"] = true +--@src/devices/bus/cbm2/user.h,BUSES["CBM2"] = true +--------------------------------------------------- + +if (BUSES["CBM2"]~=null) then + files { + MAME_DIR .. "src/devices/bus/cbm2/exp.cpp", + MAME_DIR .. "src/devices/bus/cbm2/exp.h", + MAME_DIR .. "src/devices/bus/cbm2/24k.cpp", + MAME_DIR .. "src/devices/bus/cbm2/24k.h", + MAME_DIR .. "src/devices/bus/cbm2/hrg.cpp", + MAME_DIR .. "src/devices/bus/cbm2/hrg.h", + MAME_DIR .. "src/devices/bus/cbm2/std.cpp", + MAME_DIR .. "src/devices/bus/cbm2/std.h", + MAME_DIR .. "src/devices/bus/cbm2/user.cpp", + MAME_DIR .. "src/devices/bus/cbm2/user.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/cbmiec/cbmiec.h,BUSES["CBMIEC"] = true +--------------------------------------------------- + +if (BUSES["CBMIEC"]~=null) then + files { + MAME_DIR .. "src/devices/bus/cbmiec/cbmiec.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/cbmiec.h", + MAME_DIR .. "src/devices/bus/cbmiec/c1541.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/c1541.h", + MAME_DIR .. "src/devices/bus/cbmiec/c1571.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/c1571.h", + MAME_DIR .. "src/devices/bus/cbmiec/c1581.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/c1581.h", + MAME_DIR .. "src/devices/bus/cbmiec/c64_nl10.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/c64_nl10.h", + MAME_DIR .. "src/devices/bus/cbmiec/cmdhd.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/cmdhd.h", + MAME_DIR .. "src/devices/bus/cbmiec/diag264_lb_iec.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/diag264_lb_iec.h", + MAME_DIR .. "src/devices/bus/cbmiec/fd2000.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/fd2000.h", + MAME_DIR .. "src/devices/bus/cbmiec/interpod.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/interpod.h", + MAME_DIR .. "src/devices/bus/cbmiec/serialbox.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/serialbox.h", + MAME_DIR .. "src/devices/bus/cbmiec/vic1515.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/vic1515.h", + MAME_DIR .. "src/devices/bus/cbmiec/vic1520.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/vic1520.h", + MAME_DIR .. "src/devices/bus/cbmiec/c1526.cpp", + MAME_DIR .. "src/devices/bus/cbmiec/c1526.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/chanf/slot.h,BUSES["CHANNELF"] = true +--------------------------------------------------- + +if (BUSES["CHANNELF"]~=null) then + files { + MAME_DIR .. "src/devices/bus/chanf/slot.cpp", + MAME_DIR .. "src/devices/bus/chanf/slot.h", + MAME_DIR .. "src/devices/bus/chanf/rom.cpp", + MAME_DIR .. "src/devices/bus/chanf/rom.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/comx35/exp.h,BUSES["COMX35"] = true +--------------------------------------------------- + +if (BUSES["COMX35"]~=null) then + files { + MAME_DIR .. "src/devices/bus/comx35/exp.cpp", + MAME_DIR .. "src/devices/bus/comx35/exp.h", + MAME_DIR .. "src/devices/bus/comx35/clm.cpp", + MAME_DIR .. "src/devices/bus/comx35/clm.h", + MAME_DIR .. "src/devices/bus/comx35/expbox.cpp", + MAME_DIR .. "src/devices/bus/comx35/expbox.h", + MAME_DIR .. "src/devices/bus/comx35/eprom.cpp", + MAME_DIR .. "src/devices/bus/comx35/eprom.h", + MAME_DIR .. "src/devices/bus/comx35/fdc.cpp", + MAME_DIR .. "src/devices/bus/comx35/fdc.h", + MAME_DIR .. "src/devices/bus/comx35/joycard.cpp", + MAME_DIR .. "src/devices/bus/comx35/joycard.h", + MAME_DIR .. "src/devices/bus/comx35/printer.cpp", + MAME_DIR .. "src/devices/bus/comx35/printer.h", + MAME_DIR .. "src/devices/bus/comx35/ram.cpp", + MAME_DIR .. "src/devices/bus/comx35/ram.h", + MAME_DIR .. "src/devices/bus/comx35/thermal.cpp", + MAME_DIR .. "src/devices/bus/comx35/thermal.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/coleco/controller/ctrl.h,BUSES["COLECO_CONTROLLER"] = true +--------------------------------------------------- + +if (BUSES["COLECO_CONTROLLER"]~=null) then + files { + MAME_DIR .. "src/devices/bus/coleco/controller/ctrl.cpp", + MAME_DIR .. "src/devices/bus/coleco/controller/ctrl.h", + MAME_DIR .. "src/devices/bus/coleco/controller/hand.cpp", + MAME_DIR .. "src/devices/bus/coleco/controller/hand.h", + MAME_DIR .. "src/devices/bus/coleco/controller/sac.cpp", + MAME_DIR .. "src/devices/bus/coleco/controller/sac.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/coleco/exp.h,BUSES["COLECO_CART"] = true +--------------------------------------------------- + +if (BUSES["COLECO_CART"]~=null) then + files { + MAME_DIR .. "src/devices/bus/coleco/cartridge/exp.cpp", + MAME_DIR .. "src/devices/bus/coleco/cartridge/exp.h", + MAME_DIR .. "src/devices/bus/coleco/cartridge/std.cpp", + MAME_DIR .. "src/devices/bus/coleco/cartridge/std.h", + MAME_DIR .. "src/devices/bus/coleco/cartridge/xin1.h", + MAME_DIR .. "src/devices/bus/coleco/cartridge/xin1.cpp", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/crvision/slot.h,BUSES["CRVISION"] = true +--------------------------------------------------- + +if (BUSES["CRVISION"]~=null) then + files { + MAME_DIR .. "src/devices/bus/crvision/slot.cpp", + MAME_DIR .. "src/devices/bus/crvision/slot.h", + MAME_DIR .. "src/devices/bus/crvision/rom.cpp", + MAME_DIR .. "src/devices/bus/crvision/rom.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/dmv/dmvbus.h,BUSES["DMV"] = true +--------------------------------------------------- + +if (BUSES["DMV"]~=null) then + files { + MAME_DIR .. "src/devices/bus/dmv/dmvbus.cpp", + MAME_DIR .. "src/devices/bus/dmv/dmvbus.h", + MAME_DIR .. "src/devices/bus/dmv/k210.cpp", + MAME_DIR .. "src/devices/bus/dmv/k210.h", + MAME_DIR .. "src/devices/bus/dmv/k220.cpp", + MAME_DIR .. "src/devices/bus/dmv/k220.h", + MAME_DIR .. "src/devices/bus/dmv/k230.cpp", + MAME_DIR .. "src/devices/bus/dmv/k230.h", + MAME_DIR .. "src/devices/bus/dmv/k233.cpp", + MAME_DIR .. "src/devices/bus/dmv/k233.h", + MAME_DIR .. "src/devices/bus/dmv/k801.cpp", + MAME_DIR .. "src/devices/bus/dmv/k801.h", + MAME_DIR .. "src/devices/bus/dmv/k803.cpp", + MAME_DIR .. "src/devices/bus/dmv/k803.h", + MAME_DIR .. "src/devices/bus/dmv/k806.cpp", + MAME_DIR .. "src/devices/bus/dmv/k806.h", + MAME_DIR .. "src/devices/bus/dmv/ram.cpp", + MAME_DIR .. "src/devices/bus/dmv/ram.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/ecbbus/ecbbus.h,BUSES["ECBBUS"] = true +--------------------------------------------------- + +if (BUSES["ECBBUS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/ecbbus/ecbbus.cpp", + MAME_DIR .. "src/devices/bus/ecbbus/ecbbus.h", + MAME_DIR .. "src/devices/bus/ecbbus/grip.cpp", + MAME_DIR .. "src/devices/bus/ecbbus/grip.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/econet/econet.h,BUSES["ECONET"] = true +--------------------------------------------------- + +if (BUSES["ECONET"]~=null) then + files { + MAME_DIR .. "src/devices/bus/econet/econet.cpp", + MAME_DIR .. "src/devices/bus/econet/econet.h", + MAME_DIR .. "src/devices/bus/econet/e01.cpp", + MAME_DIR .. "src/devices/bus/econet/e01.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/ekara/slot.h,BUSES["EKARA"] = true +--------------------------------------------------- + +if (BUSES["EKARA"]~=null) then + files { + MAME_DIR .. "src/devices/bus/ekara/slot.cpp", + MAME_DIR .. "src/devices/bus/ekara/slot.h", + MAME_DIR .. "src/devices/bus/ekara/rom.cpp", + MAME_DIR .. "src/devices/bus/ekara/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/electron/exp.h,BUSES["ELECTRON"] = true +--------------------------------------------------- + +if (BUSES["ELECTRON"]~=null) then + files { + MAME_DIR .. "src/devices/bus/electron/exp.cpp", + MAME_DIR .. "src/devices/bus/electron/exp.h", + MAME_DIR .. "src/devices/bus/electron/fbjoy.cpp", + MAME_DIR .. "src/devices/bus/electron/fbjoy.h", + MAME_DIR .. "src/devices/bus/electron/plus1.cpp", + MAME_DIR .. "src/devices/bus/electron/plus1.h", + MAME_DIR .. "src/devices/bus/electron/plus2.cpp", + MAME_DIR .. "src/devices/bus/electron/plus2.h", + MAME_DIR .. "src/devices/bus/electron/plus3.cpp", + MAME_DIR .. "src/devices/bus/electron/plus3.h", + MAME_DIR .. "src/devices/bus/electron/pwrjoy.cpp", + MAME_DIR .. "src/devices/bus/electron/pwrjoy.h", + MAME_DIR .. "src/devices/bus/electron/rombox.cpp", + MAME_DIR .. "src/devices/bus/electron/rombox.h", + MAME_DIR .. "src/devices/bus/electron/romboxp.cpp", + MAME_DIR .. "src/devices/bus/electron/romboxp.h", + MAME_DIR .. "src/devices/bus/electron/m2105.cpp", + MAME_DIR .. "src/devices/bus/electron/m2105.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/electron/cart/slot.h,BUSES["ELECTRON_CART"] = true +--------------------------------------------------- + +if (BUSES["ELECTRON_CART"]~=null) then + files { + MAME_DIR .. "src/devices/bus/electron/cart/slot.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/slot.h", + MAME_DIR .. "src/devices/bus/electron/cart/abr.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/abr.h", + MAME_DIR .. "src/devices/bus/electron/cart/ap34.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/ap34.h", + MAME_DIR .. "src/devices/bus/electron/cart/ap5.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/ap5.h", + MAME_DIR .. "src/devices/bus/electron/cart/aqr.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/aqr.h", + MAME_DIR .. "src/devices/bus/electron/cart/click.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/click.h", + MAME_DIR .. "src/devices/bus/electron/cart/cumana.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/cumana.h", + MAME_DIR .. "src/devices/bus/electron/cart/mgc.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/mgc.h", + MAME_DIR .. "src/devices/bus/electron/cart/peg400.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/peg400.h", + MAME_DIR .. "src/devices/bus/electron/cart/romp144.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/romp144.h", + MAME_DIR .. "src/devices/bus/electron/cart/sndexp.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/sndexp.h", + MAME_DIR .. "src/devices/bus/electron/cart/sndexp3.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/sndexp3.h", + MAME_DIR .. "src/devices/bus/electron/cart/sp64.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/sp64.h", + MAME_DIR .. "src/devices/bus/electron/cart/std.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/std.h", + MAME_DIR .. "src/devices/bus/electron/cart/stlefs.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/stlefs.h", + MAME_DIR .. "src/devices/bus/electron/cart/tube.cpp", + MAME_DIR .. "src/devices/bus/electron/cart/tube.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/ep64/exp.h,BUSES["EP64"] = true +--------------------------------------------------- + +if (BUSES["EP64"]~=null) then + files { + MAME_DIR .. "src/devices/bus/ep64/exp.cpp", + MAME_DIR .. "src/devices/bus/ep64/exp.h", + MAME_DIR .. "src/devices/bus/ep64/exdos.cpp", + MAME_DIR .. "src/devices/bus/ep64/exdos.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/gamate/slot.h,BUSES["GAMATE"] = true +--------------------------------------------------- + +if (BUSES["GAMATE"]~=null) then + files { + MAME_DIR .. "src/devices/bus/gamate/slot.cpp", + MAME_DIR .. "src/devices/bus/gamate/slot.h", + MAME_DIR .. "src/devices/bus/gamate/rom.cpp", + MAME_DIR .. "src/devices/bus/gamate/rom.h", + MAME_DIR .. "src/devices/bus/gamate/gamate_protection.cpp", + MAME_DIR .. "src/devices/bus/gamate/gamate_protection.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/gio64/gio64.h,BUSES["GIO64"] = true +--------------------------------------------------- + +if (BUSES["GIO64"]~=null) then + files { + MAME_DIR .. "src/devices/bus/gio64/gio64.cpp", + MAME_DIR .. "src/devices/bus/gio64/gio64.h", + MAME_DIR .. "src/devices/bus/gio64/newport.cpp", + MAME_DIR .. "src/devices/bus/gio64/newport.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/hp_hil/hp_hil.h,BUSES["HPHIL"] = true +--------------------------------------------------- + +if (BUSES["HPHIL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/hp_hil/hp_hil.cpp", + MAME_DIR .. "src/devices/bus/hp_hil/hp_hil.h", + MAME_DIR .. "src/devices/bus/hp_hil/hil_devices.cpp", + MAME_DIR .. "src/devices/bus/hp_hil/hil_devices.h", + MAME_DIR .. "src/devices/bus/hp_hil/hlebase.cpp", + MAME_DIR .. "src/devices/bus/hp_hil/hlebase.h", + MAME_DIR .. "src/devices/bus/hp_hil/hlemouse.cpp", + MAME_DIR .. "src/devices/bus/hp_hil/hlemouse.h", + MAME_DIR .. "src/devices/bus/hp_hil/hlekbd.cpp", + MAME_DIR .. "src/devices/bus/hp_hil/hlekbd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/hp_dio/hp_dio.h,BUSES["HPDIO"] = true +--------------------------------------------------- + +if (BUSES["HPDIO"]~=null) then + files { + MAME_DIR .. "src/devices/bus/hp_dio/hp_dio.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/hp_dio.h", + MAME_DIR .. "src/devices/bus/hp_dio/hp98265a.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/hp98265a.h", + MAME_DIR .. "src/devices/bus/hp_dio/hp98543.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/hp98543.h", + MAME_DIR .. "src/devices/bus/hp_dio/hp98544.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/hp98544.h", + MAME_DIR .. "src/devices/bus/hp_dio/hp98550.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/hp98550.h", + MAME_DIR .. "src/devices/bus/hp_dio/hp98603a.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/hp98603a.h", + MAME_DIR .. "src/devices/bus/hp_dio/hp98603b.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/hp98603b.h", + MAME_DIR .. "src/devices/bus/hp_dio/hp98620.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/hp98620.h", + MAME_DIR .. "src/devices/bus/hp_dio/hp98643.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/hp98643.h", + MAME_DIR .. "src/devices/bus/hp_dio/hp98644.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/hp98644.h", + MAME_DIR .. "src/devices/bus/hp_dio/human_interface.cpp", + MAME_DIR .. "src/devices/bus/hp_dio/human_interface.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/generic/slot.h,BUSES["GENERIC"] = true +--------------------------------------------------- + +if (BUSES["GENERIC"]~=null) then + files { + MAME_DIR .. "src/devices/bus/generic/slot.cpp", + MAME_DIR .. "src/devices/bus/generic/slot.h", + MAME_DIR .. "src/devices/bus/generic/carts.cpp", + MAME_DIR .. "src/devices/bus/generic/carts.h", + MAME_DIR .. "src/devices/bus/generic/ram.cpp", + MAME_DIR .. "src/devices/bus/generic/ram.h", + MAME_DIR .. "src/devices/bus/generic/rom.cpp", + MAME_DIR .. "src/devices/bus/generic/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/hexbus/hexbus.h,BUSES["HEXBUS"] = true +--------------------------------------------------- + +if (BUSES["HEXBUS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/hexbus/hexbus.cpp", + MAME_DIR .. "src/devices/bus/hexbus/hexbus.h", + MAME_DIR .. "src/devices/bus/hexbus/hx5102.cpp", + MAME_DIR .. "src/devices/bus/hexbus/hx5102.h", + MAME_DIR .. "src/devices/bus/hexbus/tp0370.cpp", + MAME_DIR .. "src/devices/bus/hexbus/tp0370.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/ieee488/ieee488.h,BUSES["IEEE488"] = true +--------------------------------------------------- + +if (BUSES["IEEE488"]~=null) then + files { + MAME_DIR .. "src/devices/bus/ieee488/ieee488.cpp", + MAME_DIR .. "src/devices/bus/ieee488/ieee488.h", + MAME_DIR .. "src/devices/bus/ieee488/c2031.cpp", + MAME_DIR .. "src/devices/bus/ieee488/c2031.h", + MAME_DIR .. "src/devices/bus/ieee488/c2040.cpp", + MAME_DIR .. "src/devices/bus/ieee488/c2040.h", + MAME_DIR .. "src/devices/bus/ieee488/c2040fdc.cpp", + MAME_DIR .. "src/devices/bus/ieee488/c2040fdc.h", + MAME_DIR .. "src/devices/bus/ieee488/c8050.cpp", + MAME_DIR .. "src/devices/bus/ieee488/c8050.h", + MAME_DIR .. "src/devices/bus/ieee488/c8050fdc.cpp", + MAME_DIR .. "src/devices/bus/ieee488/c8050fdc.h", + MAME_DIR .. "src/devices/bus/ieee488/c8280.cpp", + MAME_DIR .. "src/devices/bus/ieee488/c8280.h", + MAME_DIR .. "src/devices/bus/ieee488/d9060.cpp", + MAME_DIR .. "src/devices/bus/ieee488/d9060.h", + MAME_DIR .. "src/devices/bus/ieee488/softbox.cpp", + MAME_DIR .. "src/devices/bus/ieee488/softbox.h", + MAME_DIR .. "src/devices/bus/ieee488/hardbox.cpp", + MAME_DIR .. "src/devices/bus/ieee488/hardbox.h", + MAME_DIR .. "src/devices/bus/ieee488/shark.cpp", + MAME_DIR .. "src/devices/bus/ieee488/shark.h", + MAME_DIR .. "src/devices/bus/ieee488/hp9122c.cpp", + MAME_DIR .. "src/devices/bus/ieee488/hp9122c.h", + MAME_DIR .. "src/devices/bus/ieee488/hp9895.cpp", + MAME_DIR .. "src/devices/bus/ieee488/hp9895.h", + MAME_DIR .. "src/devices/bus/ieee488/remote488.cpp", + MAME_DIR .. "src/devices/bus/ieee488/remote488.h", + } + + dependency { + { MAME_DIR .. "src/devices/bus/ieee488/hp9122c.cpp", GEN_DIR .. "emu/layout/hp9122c.lh" }, + } + + custombuildtask { + layoutbuildtask("emu/layout", "hp9122c"), + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/iq151/iq151.h,BUSES["IQ151"] = true +--------------------------------------------------- + +if (BUSES["IQ151"]~=null) then + files { + MAME_DIR .. "src/devices/bus/iq151/iq151.cpp", + MAME_DIR .. "src/devices/bus/iq151/iq151.h", + MAME_DIR .. "src/devices/bus/iq151/disc2.cpp", + MAME_DIR .. "src/devices/bus/iq151/disc2.h", + MAME_DIR .. "src/devices/bus/iq151/grafik.cpp", + MAME_DIR .. "src/devices/bus/iq151/grafik.h", + MAME_DIR .. "src/devices/bus/iq151/minigraf.cpp", + MAME_DIR .. "src/devices/bus/iq151/minigraf.h", + MAME_DIR .. "src/devices/bus/iq151/ms151a.cpp", + MAME_DIR .. "src/devices/bus/iq151/ms151a.h", + MAME_DIR .. "src/devices/bus/iq151/rom.cpp", + MAME_DIR .. "src/devices/bus/iq151/rom.h", + MAME_DIR .. "src/devices/bus/iq151/staper.cpp", + MAME_DIR .. "src/devices/bus/iq151/staper.h", + MAME_DIR .. "src/devices/bus/iq151/video32.cpp", + MAME_DIR .. "src/devices/bus/iq151/video32.h", + MAME_DIR .. "src/devices/bus/iq151/video64.cpp", + MAME_DIR .. "src/devices/bus/iq151/video64.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/imi7000/imi7000.h,BUSES["IMI7000"] = true +--------------------------------------------------- + +if (BUSES["IMI7000"]~=null) then + files { + MAME_DIR .. "src/devices/bus/imi7000/imi7000.cpp", + MAME_DIR .. "src/devices/bus/imi7000/imi7000.h", + MAME_DIR .. "src/devices/bus/imi7000/imi5000h.cpp", + MAME_DIR .. "src/devices/bus/imi7000/imi5000h.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/intellec4/intellec4.h,BUSES["INTELLEC4"] = true +--------------------------------------------------- + +if (BUSES["INTELLEC4"]~=null) then + files { + MAME_DIR .. "src/devices/bus/intellec4/insdatastor.cpp", + MAME_DIR .. "src/devices/bus/intellec4/insdatastor.h", + MAME_DIR .. "src/devices/bus/intellec4/intellec4.cpp", + MAME_DIR .. "src/devices/bus/intellec4/intellec4.h", + MAME_DIR .. "src/devices/bus/intellec4/prommemory.cpp", + MAME_DIR .. "src/devices/bus/intellec4/prommemory.h", + MAME_DIR .. "src/devices/bus/intellec4/tapereader.cpp", + MAME_DIR .. "src/devices/bus/intellec4/tapereader.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/intv/slot.h,BUSES["INTV"] = true +--------------------------------------------------- + +if (BUSES["INTV"]~=null) then + files { + MAME_DIR .. "src/devices/bus/intv/slot.cpp", + MAME_DIR .. "src/devices/bus/intv/slot.h", + MAME_DIR .. "src/devices/bus/intv/rom.cpp", + MAME_DIR .. "src/devices/bus/intv/rom.h", + MAME_DIR .. "src/devices/bus/intv/voice.cpp", + MAME_DIR .. "src/devices/bus/intv/voice.h", + MAME_DIR .. "src/devices/bus/intv/ecs.cpp", + MAME_DIR .. "src/devices/bus/intv/ecs.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/intv_ctrl/ctrl.h,BUSES["INTV_CTRL"] = true +--------------------------------------------------- + +if (BUSES["INTV_CTRL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/intv_ctrl/ctrl.cpp", + MAME_DIR .. "src/devices/bus/intv_ctrl/ctrl.h", + MAME_DIR .. "src/devices/bus/intv_ctrl/handctrl.cpp", + MAME_DIR .. "src/devices/bus/intv_ctrl/handctrl.h", + MAME_DIR .. "src/devices/bus/intv_ctrl/ecs_ctrl.cpp", + MAME_DIR .. "src/devices/bus/intv_ctrl/ecs_ctrl.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/isa/isa.h,BUSES["ISA"] = true +--------------------------------------------------- + +if (BUSES["ISA"]~=null) then + files { + MAME_DIR .. "src/devices/bus/isa/isa.cpp", + MAME_DIR .. "src/devices/bus/isa/isa.h", + MAME_DIR .. "src/devices/bus/isa/isa_cards.cpp", + MAME_DIR .. "src/devices/bus/isa/isa_cards.h", + MAME_DIR .. "src/devices/bus/isa/mda.cpp", + MAME_DIR .. "src/devices/bus/isa/mda.h", + MAME_DIR .. "src/devices/bus/isa/wdxt_gen.cpp", + MAME_DIR .. "src/devices/bus/isa/wdxt_gen.h", + MAME_DIR .. "src/devices/bus/isa/adlib.cpp", + MAME_DIR .. "src/devices/bus/isa/adlib.h", + MAME_DIR .. "src/devices/bus/isa/chessmdr.cpp", + MAME_DIR .. "src/devices/bus/isa/chessmdr.h", + MAME_DIR .. "src/devices/bus/isa/chessmsr.cpp", + MAME_DIR .. "src/devices/bus/isa/chessmsr.h", + MAME_DIR .. "src/devices/bus/isa/com.cpp", + MAME_DIR .. "src/devices/bus/isa/com.h", + MAME_DIR .. "src/devices/bus/isa/fdc.cpp", + MAME_DIR .. "src/devices/bus/isa/fdc.h", + MAME_DIR .. "src/devices/bus/isa/mufdc.cpp", + MAME_DIR .. "src/devices/bus/isa/mufdc.h", + MAME_DIR .. "src/devices/bus/isa/finalchs.cpp", + MAME_DIR .. "src/devices/bus/isa/finalchs.h", + MAME_DIR .. "src/devices/bus/isa/gblaster.cpp", + MAME_DIR .. "src/devices/bus/isa/gblaster.h", + MAME_DIR .. "src/devices/bus/isa/gus.cpp", + MAME_DIR .. "src/devices/bus/isa/gus.h", + MAME_DIR .. "src/devices/bus/isa/sb16.cpp", + MAME_DIR .. "src/devices/bus/isa/sb16.h", + MAME_DIR .. "src/devices/bus/isa/hdc.cpp", + MAME_DIR .. "src/devices/bus/isa/hdc.h", + MAME_DIR .. "src/devices/bus/isa/ibm_mfc.cpp", + MAME_DIR .. "src/devices/bus/isa/ibm_mfc.h", + MAME_DIR .. "src/devices/bus/isa/cl_sh260.cpp", + MAME_DIR .. "src/devices/bus/isa/cl_sh260.h", + MAME_DIR .. "src/devices/bus/isa/mpu401.cpp", + MAME_DIR .. "src/devices/bus/isa/mpu401.h", + MAME_DIR .. "src/devices/bus/isa/sblaster.cpp", + MAME_DIR .. "src/devices/bus/isa/sblaster.h", + MAME_DIR .. "src/devices/bus/isa/stereo_fx.cpp", + MAME_DIR .. "src/devices/bus/isa/stereo_fx.h", + MAME_DIR .. "src/devices/bus/isa/ssi2001.cpp", + MAME_DIR .. "src/devices/bus/isa/ssi2001.h", + MAME_DIR .. "src/devices/bus/isa/ide.cpp", + MAME_DIR .. "src/devices/bus/isa/ide.h", + MAME_DIR .. "src/devices/bus/isa/xtide.cpp", + MAME_DIR .. "src/devices/bus/isa/xtide.h", + MAME_DIR .. "src/devices/bus/isa/side116.cpp", + MAME_DIR .. "src/devices/bus/isa/side116.h", + MAME_DIR .. "src/devices/bus/isa/aha1542b.cpp", + MAME_DIR .. "src/devices/bus/isa/aha1542b.h", + MAME_DIR .. "src/devices/bus/isa/aha1542c.cpp", + MAME_DIR .. "src/devices/bus/isa/aha1542c.h", + MAME_DIR .. "src/devices/bus/isa/aha174x.cpp", + MAME_DIR .. "src/devices/bus/isa/aha174x.h", + MAME_DIR .. "src/devices/bus/isa/wd1002a_wx1.cpp", + MAME_DIR .. "src/devices/bus/isa/wd1002a_wx1.h", + MAME_DIR .. "src/devices/bus/isa/wd1007a.cpp", + MAME_DIR .. "src/devices/bus/isa/wd1007a.h", + MAME_DIR .. "src/devices/bus/isa/dectalk.cpp", + MAME_DIR .. "src/devices/bus/isa/dectalk.h", + MAME_DIR .. "src/devices/bus/isa/pds.cpp", + MAME_DIR .. "src/devices/bus/isa/pds.h", + MAME_DIR .. "src/devices/bus/isa/omti8621.cpp", + MAME_DIR .. "src/devices/bus/isa/omti8621.h", + MAME_DIR .. "src/devices/bus/isa/cga.cpp", + MAME_DIR .. "src/devices/bus/isa/cga.h", + MAME_DIR .. "src/devices/bus/isa/svga_cirrus.cpp", + MAME_DIR .. "src/devices/bus/isa/svga_cirrus.h", + MAME_DIR .. "src/devices/bus/isa/ega.cpp", + MAME_DIR .. "src/devices/bus/isa/ega.h", + MAME_DIR .. "src/devices/bus/isa/pgc.cpp", + MAME_DIR .. "src/devices/bus/isa/pgc.h", + MAME_DIR .. "src/devices/bus/isa/vga.cpp", + MAME_DIR .. "src/devices/bus/isa/vga.h", + MAME_DIR .. "src/devices/bus/isa/vga_ati.cpp", + MAME_DIR .. "src/devices/bus/isa/vga_ati.h", + MAME_DIR .. "src/devices/bus/isa/mach32.cpp", + MAME_DIR .. "src/devices/bus/isa/mach32.h", + MAME_DIR .. "src/devices/bus/isa/svga_tseng.cpp", + MAME_DIR .. "src/devices/bus/isa/svga_tseng.h", + MAME_DIR .. "src/devices/bus/isa/svga_s3.cpp", + MAME_DIR .. "src/devices/bus/isa/svga_s3.h", + MAME_DIR .. "src/devices/bus/isa/s3virge.cpp", + MAME_DIR .. "src/devices/bus/isa/s3virge.h", + MAME_DIR .. "src/devices/bus/isa/pc1640_iga.cpp", + MAME_DIR .. "src/devices/bus/isa/pc1640_iga.h", + MAME_DIR .. "src/devices/bus/isa/3c503.cpp", + MAME_DIR .. "src/devices/bus/isa/3c503.h", + MAME_DIR .. "src/devices/bus/isa/ne1000.cpp", + MAME_DIR .. "src/devices/bus/isa/ne1000.h", + MAME_DIR .. "src/devices/bus/isa/ne2000.cpp", + MAME_DIR .. "src/devices/bus/isa/ne2000.h", + MAME_DIR .. "src/devices/bus/isa/3c505.cpp", + MAME_DIR .. "src/devices/bus/isa/3c505.h", + MAME_DIR .. "src/devices/bus/isa/lpt.cpp", + MAME_DIR .. "src/devices/bus/isa/lpt.h", + MAME_DIR .. "src/devices/bus/isa/p1_fdc.cpp", + MAME_DIR .. "src/devices/bus/isa/p1_fdc.h", + MAME_DIR .. "src/devices/bus/isa/p1_hdc.cpp", + MAME_DIR .. "src/devices/bus/isa/p1_hdc.h", + MAME_DIR .. "src/devices/bus/isa/p1_rom.cpp", + MAME_DIR .. "src/devices/bus/isa/p1_rom.h", + MAME_DIR .. "src/devices/bus/isa/p1_sound.cpp", + MAME_DIR .. "src/devices/bus/isa/p1_sound.h", + MAME_DIR .. "src/devices/bus/isa/mc1502_fdc.cpp", + MAME_DIR .. "src/devices/bus/isa/mc1502_fdc.h", + MAME_DIR .. "src/devices/bus/isa/mc1502_rom.cpp", + MAME_DIR .. "src/devices/bus/isa/mc1502_rom.h", + MAME_DIR .. "src/devices/bus/isa/xsu_cards.cpp", + MAME_DIR .. "src/devices/bus/isa/xsu_cards.h", + MAME_DIR .. "src/devices/bus/isa/sc499.cpp", + MAME_DIR .. "src/devices/bus/isa/sc499.h", + MAME_DIR .. "src/devices/bus/isa/aga.cpp", + MAME_DIR .. "src/devices/bus/isa/aga.h", + MAME_DIR .. "src/devices/bus/isa/svga_trident.cpp", + MAME_DIR .. "src/devices/bus/isa/svga_trident.h", + MAME_DIR .. "src/devices/bus/isa/num9rev.cpp", + MAME_DIR .. "src/devices/bus/isa/num9rev.h", + MAME_DIR .. "src/devices/bus/isa/mcd.cpp", + MAME_DIR .. "src/devices/bus/isa/mcd.h", + MAME_DIR .. "src/devices/bus/isa/myb3k_com.cpp", + MAME_DIR .. "src/devices/bus/isa/myb3k_com.h", + MAME_DIR .. "src/devices/bus/isa/myb3k_fdc.cpp", + MAME_DIR .. "src/devices/bus/isa/myb3k_fdc.h", + MAME_DIR .. "src/devices/bus/isa/eis_sad8852.cpp", + MAME_DIR .. "src/devices/bus/isa/eis_sad8852.h", + MAME_DIR .. "src/devices/bus/isa/lbaenhancer.cpp", + MAME_DIR .. "src/devices/bus/isa/lbaenhancer.h", + MAME_DIR .. "src/devices/bus/isa/np600.cpp", + MAME_DIR .. "src/devices/bus/isa/np600.h", + MAME_DIR .. "src/devices/bus/isa/bt54x.cpp", + MAME_DIR .. "src/devices/bus/isa/bt54x.h", + MAME_DIR .. "src/devices/bus/isa/dcb.cpp", + MAME_DIR .. "src/devices/bus/isa/dcb.h", + MAME_DIR .. "src/devices/bus/isa/ultra12f.cpp", + MAME_DIR .. "src/devices/bus/isa/ultra12f.h", + MAME_DIR .. "src/devices/bus/isa/ultra14f.cpp", + MAME_DIR .. "src/devices/bus/isa/ultra14f.h", + MAME_DIR .. "src/devices/bus/isa/ultra24f.cpp", + MAME_DIR .. "src/devices/bus/isa/ultra24f.h", + MAME_DIR .. "src/devices/bus/isa/tekram_dc820.cpp", + MAME_DIR .. "src/devices/bus/isa/tekram_dc820.h", + MAME_DIR .. "src/devices/bus/isa/asc88.cpp", + MAME_DIR .. "src/devices/bus/isa/asc88.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/isbx/isbx.h,BUSES["ISBX"] = true +--------------------------------------------------- + +if (BUSES["ISBX"]~=null) then + files { + MAME_DIR .. "src/devices/bus/isbx/isbx.cpp", + MAME_DIR .. "src/devices/bus/isbx/isbx.h", + MAME_DIR .. "src/devices/bus/isbx/compis_fdc.cpp", + MAME_DIR .. "src/devices/bus/isbx/compis_fdc.h", + MAME_DIR .. "src/devices/bus/isbx/isbc_218a.cpp", + MAME_DIR .. "src/devices/bus/isbx/isbc_218a.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/jakks_gamekey/slot.h,BUSES["JAKKS_GAMEKEY"] = true +--------------------------------------------------- + +if (BUSES["JAKKS_GAMEKEY"]~=null) then + files { + MAME_DIR .. "src/devices/bus/jakks_gamekey/slot.cpp", + MAME_DIR .. "src/devices/bus/jakks_gamekey/slot.h", + MAME_DIR .. "src/devices/bus/jakks_gamekey/rom.cpp", + MAME_DIR .. "src/devices/bus/jakks_gamekey/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/msx_slot/slot.h,BUSES["MSX_SLOT"] = true +--------------------------------------------------- + +if (BUSES["MSX_SLOT"]~=null) then + files { + MAME_DIR .. "src/devices/bus/msx_slot/bunsetsu.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/bunsetsu.h", + MAME_DIR .. "src/devices/bus/msx_slot/cartridge.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/cartridge.h", + MAME_DIR .. "src/devices/bus/msx_slot/disk.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/disk.h", + MAME_DIR .. "src/devices/bus/msx_slot/fs4600.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/fs4600.h", + MAME_DIR .. "src/devices/bus/msx_slot/music.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/music.h", + MAME_DIR .. "src/devices/bus/msx_slot/panasonic08.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/panasonic08.h", + MAME_DIR .. "src/devices/bus/msx_slot/rom.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/rom.h", + MAME_DIR .. "src/devices/bus/msx_slot/ram.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/ram.h", + MAME_DIR .. "src/devices/bus/msx_slot/ram_mm.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/ram_mm.h", + MAME_DIR .. "src/devices/bus/msx_slot/slot.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/slot.h", + MAME_DIR .. "src/devices/bus/msx_slot/sony08.cpp", + MAME_DIR .. "src/devices/bus/msx_slot/sony08.h", + MAME_DIR .. "src/devices/bus/msx_cart/arc.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/arc.h", + MAME_DIR .. "src/devices/bus/msx_cart/ascii.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/ascii.h", + MAME_DIR .. "src/devices/bus/msx_cart/bm_012.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/bm_012.h", + MAME_DIR .. "src/devices/bus/msx_cart/cartridge.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/cartridge.h", + MAME_DIR .. "src/devices/bus/msx_cart/crossblaim.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/crossblaim.h", + MAME_DIR .. "src/devices/bus/msx_cart/disk.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/disk.h", + MAME_DIR .. "src/devices/bus/msx_cart/dooly.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/dooly.h", + MAME_DIR .. "src/devices/bus/msx_cart/fmpac.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/fmpac.h", + MAME_DIR .. "src/devices/bus/msx_cart/fs_sr022.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/fs_sr022.h", + MAME_DIR .. "src/devices/bus/msx_cart/halnote.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/halnote.h", + MAME_DIR .. "src/devices/bus/msx_cart/hfox.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/hfox.h", + MAME_DIR .. "src/devices/bus/msx_cart/holy_quran.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/holy_quran.h", + MAME_DIR .. "src/devices/bus/msx_cart/konami.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/konami.h", + MAME_DIR .. "src/devices/bus/msx_cart/korean.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/korean.h", + MAME_DIR .. "src/devices/bus/msx_cart/majutsushi.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/majutsushi.h", + MAME_DIR .. "src/devices/bus/msx_cart/moonsound.h", + MAME_DIR .. "src/devices/bus/msx_cart/moonsound.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/msx_audio.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/msx_audio.h", + MAME_DIR .. "src/devices/bus/msx_cart/msx_audio_kb.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/msx_audio_kb.h", + MAME_DIR .. "src/devices/bus/msx_cart/msxdos2.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/msxdos2.h", + MAME_DIR .. "src/devices/bus/msx_cart/nomapper.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/nomapper.h", + MAME_DIR .. "src/devices/bus/msx_cart/rtype.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/rtype.h", + MAME_DIR .. "src/devices/bus/msx_cart/superloderunner.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/superloderunner.h", + MAME_DIR .. "src/devices/bus/msx_cart/super_swangi.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/super_swangi.h", + MAME_DIR .. "src/devices/bus/msx_cart/yamaha.cpp", + MAME_DIR .. "src/devices/bus/msx_cart/yamaha.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/mtx/exp.h,BUSES["MTX"] = true +--------------------------------------------------- + +if (BUSES["MTX"]~=null) then + files { + MAME_DIR .. "src/devices/bus/mtx/exp.cpp", + MAME_DIR .. "src/devices/bus/mtx/exp.h", + MAME_DIR .. "src/devices/bus/mtx/sdx.cpp", + MAME_DIR .. "src/devices/bus/mtx/sdx.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/kc/kc.h,BUSES["KC"] = true +--------------------------------------------------- + +if (BUSES["KC"]~=null) then + files { + MAME_DIR .. "src/devices/bus/kc/kc.cpp", + MAME_DIR .. "src/devices/bus/kc/kc.h", + MAME_DIR .. "src/devices/bus/kc/d002.cpp", + MAME_DIR .. "src/devices/bus/kc/d002.h", + MAME_DIR .. "src/devices/bus/kc/d004.cpp", + MAME_DIR .. "src/devices/bus/kc/d004.h", + MAME_DIR .. "src/devices/bus/kc/ram.cpp", + MAME_DIR .. "src/devices/bus/kc/ram.h", + MAME_DIR .. "src/devices/bus/kc/rom.cpp", + MAME_DIR .. "src/devices/bus/kc/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/odyssey2/slot.h,BUSES["O2"] = true +--------------------------------------------------- + +if (BUSES["O2"]~=null) then + files { + MAME_DIR .. "src/devices/bus/odyssey2/slot.cpp", + MAME_DIR .. "src/devices/bus/odyssey2/slot.h", + MAME_DIR .. "src/devices/bus/odyssey2/rom.cpp", + MAME_DIR .. "src/devices/bus/odyssey2/rom.h", + MAME_DIR .. "src/devices/bus/odyssey2/chess.cpp", + MAME_DIR .. "src/devices/bus/odyssey2/chess.h", + MAME_DIR .. "src/devices/bus/odyssey2/voice.cpp", + MAME_DIR .. "src/devices/bus/odyssey2/voice.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/pc_joy/pc_joy.h,BUSES["PC_JOY"] = true +--------------------------------------------------- + +if (BUSES["PC_JOY"]~=null) then + files { + MAME_DIR .. "src/devices/bus/pc_joy/pc_joy.cpp", + MAME_DIR .. "src/devices/bus/pc_joy/pc_joy.h", + MAME_DIR .. "src/devices/bus/pc_joy/pc_joy_sw.cpp", + MAME_DIR .. "src/devices/bus/pc_joy/pc_joy_sw.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/pc_kbd/pc_kbdc.h,BUSES["PC_KBD"] = true +--------------------------------------------------- + +if (BUSES["PC_KBD"]~=null) then + files { + MAME_DIR .. "src/devices/bus/pc_kbd/pc_kbdc.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/pc_kbdc.h", + MAME_DIR .. "src/devices/bus/pc_kbd/keyboards.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/keyboards.h", + MAME_DIR .. "src/devices/bus/pc_kbd/ec1841.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/ec1841.h", + MAME_DIR .. "src/devices/bus/pc_kbd/iskr1030.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/iskr1030.h", + MAME_DIR .. "src/devices/bus/pc_kbd/keytro.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/keytro.h", + MAME_DIR .. "src/devices/bus/pc_kbd/msnat.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/msnat.h", + MAME_DIR .. "src/devices/bus/pc_kbd/pc83.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/pc83.h", + MAME_DIR .. "src/devices/bus/pc_kbd/pcat84.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/pcat84.h", + MAME_DIR .. "src/devices/bus/pc_kbd/pcxt83.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/pcxt83.h", + MAME_DIR .. "src/devices/bus/pc_kbd/pcat101.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/pcat101.h", + MAME_DIR .. "src/devices/bus/pc_kbd/hle_mouse.cpp", + MAME_DIR .. "src/devices/bus/pc_kbd/hle_mouse.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/pet/cass.h,BUSES["PET"] = true +--@src/devices/bus/pet/exp.h,BUSES["PET"] = true +--@src/devices/bus/pet/user.h,BUSES["PET"] = true +--------------------------------------------------- + +if (BUSES["PET"]~=null) then + files { + MAME_DIR .. "src/devices/bus/pet/cass.cpp", + MAME_DIR .. "src/devices/bus/pet/cass.h", + MAME_DIR .. "src/devices/bus/pet/c2n.cpp", + MAME_DIR .. "src/devices/bus/pet/c2n.h", + MAME_DIR .. "src/devices/bus/pet/diag264_lb_tape.cpp", + MAME_DIR .. "src/devices/bus/pet/diag264_lb_tape.h", + MAME_DIR .. "src/devices/bus/pet/exp.cpp", + MAME_DIR .. "src/devices/bus/pet/exp.h", + MAME_DIR .. "src/devices/bus/pet/64k.cpp", + MAME_DIR .. "src/devices/bus/pet/64k.h", + MAME_DIR .. "src/devices/bus/pet/hsg.cpp", + MAME_DIR .. "src/devices/bus/pet/hsg.h", + MAME_DIR .. "src/devices/bus/pet/superpet.cpp", + MAME_DIR .. "src/devices/bus/pet/superpet.h", + MAME_DIR .. "src/devices/bus/pet/user.cpp", + MAME_DIR .. "src/devices/bus/pet/user.h", + MAME_DIR .. "src/devices/bus/pet/diag.cpp", + MAME_DIR .. "src/devices/bus/pet/diag.h", + MAME_DIR .. "src/devices/bus/pet/petuja.cpp", + MAME_DIR .. "src/devices/bus/pet/petuja.h", + MAME_DIR .. "src/devices/bus/pet/cb2snd.cpp", + MAME_DIR .. "src/devices/bus/pet/cb2snd.h", + MAME_DIR .. "src/devices/bus/pet/2joysnd.h", + MAME_DIR .. "src/devices/bus/pet/2joysnd.cpp", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/plus4/exp.h,BUSES["PLUS4"] = true +--@src/devices/bus/plus4/user.h,BUSES["PLUS4"] = true +--------------------------------------------------- + +if (BUSES["PLUS4"]~=null) then + files { + MAME_DIR .. "src/devices/bus/plus4/exp.cpp", + MAME_DIR .. "src/devices/bus/plus4/exp.h", + MAME_DIR .. "src/devices/bus/plus4/c1551.cpp", + MAME_DIR .. "src/devices/bus/plus4/c1551.h", + MAME_DIR .. "src/devices/bus/plus4/sid.cpp", + MAME_DIR .. "src/devices/bus/plus4/sid.h", + MAME_DIR .. "src/devices/bus/plus4/std.cpp", + MAME_DIR .. "src/devices/bus/plus4/std.h", + MAME_DIR .. "src/devices/bus/plus4/user.cpp", + MAME_DIR .. "src/devices/bus/plus4/user.h", + MAME_DIR .. "src/devices/bus/plus4/diag264_lb_user.cpp", + MAME_DIR .. "src/devices/bus/plus4/diag264_lb_user.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/pofo/exp.h,BUSES["POFO"] = true +--------------------------------------------------- + +if (BUSES["POFO"]~=null) then + files { + MAME_DIR .. "src/devices/bus/pofo/exp.cpp", + MAME_DIR .. "src/devices/bus/pofo/exp.h", + MAME_DIR .. "src/devices/bus/pofo/hpc101.cpp", + MAME_DIR .. "src/devices/bus/pofo/hpc101.h", + MAME_DIR .. "src/devices/bus/pofo/hpc102.cpp", + MAME_DIR .. "src/devices/bus/pofo/hpc102.h", + MAME_DIR .. "src/devices/bus/pofo/hpc104.cpp", + MAME_DIR .. "src/devices/bus/pofo/hpc104.h", + MAME_DIR .. "src/devices/bus/pofo/ccm.cpp", + MAME_DIR .. "src/devices/bus/pofo/ccm.h", + MAME_DIR .. "src/devices/bus/pofo/ram.cpp", + MAME_DIR .. "src/devices/bus/pofo/ram.h", + MAME_DIR .. "src/devices/bus/pofo/rom.cpp", + MAME_DIR .. "src/devices/bus/pofo/rom.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/s100/s100.h,BUSES["S100"] = true +--------------------------------------------------- + +if (BUSES["S100"]~=null) then + files { + MAME_DIR .. "src/devices/bus/s100/s100.cpp", + MAME_DIR .. "src/devices/bus/s100/s100.h", + MAME_DIR .. "src/devices/bus/s100/dj2db.cpp", + MAME_DIR .. "src/devices/bus/s100/dj2db.h", + MAME_DIR .. "src/devices/bus/s100/djdma.cpp", + MAME_DIR .. "src/devices/bus/s100/djdma.h", + MAME_DIR .. "src/devices/bus/s100/mm65k16s.cpp", + MAME_DIR .. "src/devices/bus/s100/mm65k16s.h", + MAME_DIR .. "src/devices/bus/s100/nsmdsa.cpp", + MAME_DIR .. "src/devices/bus/s100/nsmdsa.h", + MAME_DIR .. "src/devices/bus/s100/nsmdsad.cpp", + MAME_DIR .. "src/devices/bus/s100/nsmdsad.h", + MAME_DIR .. "src/devices/bus/s100/seals8k.cpp", + MAME_DIR .. "src/devices/bus/s100/seals8k.h", + MAME_DIR .. "src/devices/bus/s100/wunderbus.cpp", + MAME_DIR .. "src/devices/bus/s100/wunderbus.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/spc1000/exp.h,BUSES["SPC1000"] = true +--------------------------------------------------- + +if (BUSES["SPC1000"]~=null) then + files { + MAME_DIR .. "src/devices/bus/spc1000/exp.cpp", + MAME_DIR .. "src/devices/bus/spc1000/exp.h", + MAME_DIR .. "src/devices/bus/spc1000/fdd.cpp", + MAME_DIR .. "src/devices/bus/spc1000/fdd.h", + MAME_DIR .. "src/devices/bus/spc1000/vdp.cpp", + MAME_DIR .. "src/devices/bus/spc1000/vdp.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/ss50/interface.h,BUSES["SS50"] = true +--------------------------------------------------- + +if (BUSES["SS50"]~=null) then + files { + MAME_DIR .. "src/devices/bus/ss50/interface.cpp", + MAME_DIR .. "src/devices/bus/ss50/interface.h", + MAME_DIR .. "src/devices/bus/ss50/mpc.cpp", + MAME_DIR .. "src/devices/bus/ss50/mpc.h", + MAME_DIR .. "src/devices/bus/ss50/mps.cpp", + MAME_DIR .. "src/devices/bus/ss50/mps.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/tiki100/exp.h,BUSES["TIKI100"] = true +--------------------------------------------------- + +if (BUSES["TIKI100"]~=null) then + files { + MAME_DIR .. "src/devices/bus/tiki100/exp.cpp", + MAME_DIR .. "src/devices/bus/tiki100/exp.h", + MAME_DIR .. "src/devices/bus/tiki100/8088.cpp", + MAME_DIR .. "src/devices/bus/tiki100/8088.h", + MAME_DIR .. "src/devices/bus/tiki100/hdc.cpp", + MAME_DIR .. "src/devices/bus/tiki100/hdc.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/tvc/tvc.h,BUSES["TVC"] = true +--------------------------------------------------- + +if (BUSES["TVC"]~=null) then + files { + MAME_DIR .. "src/devices/bus/tvc/tvc.cpp", + MAME_DIR .. "src/devices/bus/tvc/tvc.h", + MAME_DIR .. "src/devices/bus/tvc/hbf.cpp", + MAME_DIR .. "src/devices/bus/tvc/hbf.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/vc4000/slot.h,BUSES["VC4000"] = true +--------------------------------------------------- + +if (BUSES["VC4000"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vc4000/slot.cpp", + MAME_DIR .. "src/devices/bus/vc4000/slot.h", + MAME_DIR .. "src/devices/bus/vc4000/rom.cpp", + MAME_DIR .. "src/devices/bus/vc4000/rom.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/vcs/vcs_slot.h,BUSES["VCS"] = true +--------------------------------------------------- + +if (BUSES["VCS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vcs/vcs_slot.cpp", + MAME_DIR .. "src/devices/bus/vcs/vcs_slot.h", + MAME_DIR .. "src/devices/bus/vcs/rom.cpp", + MAME_DIR .. "src/devices/bus/vcs/rom.h", + MAME_DIR .. "src/devices/bus/vcs/compumat.cpp", + MAME_DIR .. "src/devices/bus/vcs/compumat.h", + MAME_DIR .. "src/devices/bus/vcs/dpc.cpp", + MAME_DIR .. "src/devices/bus/vcs/dpc.h", + MAME_DIR .. "src/devices/bus/vcs/harmony_melody.cpp", + MAME_DIR .. "src/devices/bus/vcs/harmony_melody.h", + MAME_DIR .. "src/devices/bus/vcs/scharger.cpp", + MAME_DIR .. "src/devices/bus/vcs/scharger.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/vcs_ctrl/ctrl.h,BUSES["VCS_CTRL"] = true +--------------------------------------------------- + +if (BUSES["VCS_CTRL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vcs_ctrl/ctrl.cpp", + MAME_DIR .. "src/devices/bus/vcs_ctrl/ctrl.h", + MAME_DIR .. "src/devices/bus/vcs_ctrl/joystick.cpp", + MAME_DIR .. "src/devices/bus/vcs_ctrl/joystick.h", + MAME_DIR .. "src/devices/bus/vcs_ctrl/joybooster.cpp", + MAME_DIR .. "src/devices/bus/vcs_ctrl/joybooster.h", + MAME_DIR .. "src/devices/bus/vcs_ctrl/keypad.cpp", + MAME_DIR .. "src/devices/bus/vcs_ctrl/keypad.h", + MAME_DIR .. "src/devices/bus/vcs_ctrl/lightpen.cpp", + MAME_DIR .. "src/devices/bus/vcs_ctrl/lightpen.h", + MAME_DIR .. "src/devices/bus/vcs_ctrl/mouse.cpp", + MAME_DIR .. "src/devices/bus/vcs_ctrl/mouse.h", + MAME_DIR .. "src/devices/bus/vcs_ctrl/paddles.cpp", + MAME_DIR .. "src/devices/bus/vcs_ctrl/paddles.h", + MAME_DIR .. "src/devices/bus/vcs_ctrl/wheel.cpp", + MAME_DIR .. "src/devices/bus/vcs_ctrl/wheel.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/vectrex/slot.h,BUSES["VECTREX"] = true +--------------------------------------------------- + +if (BUSES["VECTREX"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vectrex/slot.cpp", + MAME_DIR .. "src/devices/bus/vectrex/slot.h", + MAME_DIR .. "src/devices/bus/vectrex/rom.cpp", + MAME_DIR .. "src/devices/bus/vectrex/rom.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/vic10/exp.h,BUSES["VIC10"] = true +--------------------------------------------------- + +if (BUSES["VIC10"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vic10/exp.cpp", + MAME_DIR .. "src/devices/bus/vic10/exp.h", + MAME_DIR .. "src/devices/bus/vic10/multimax.cpp", + MAME_DIR .. "src/devices/bus/vic10/multimax.h", + MAME_DIR .. "src/devices/bus/vic10/std.cpp", + MAME_DIR .. "src/devices/bus/vic10/std.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/vic20/exp.h,BUSES["VIC20"] = true +--@src/devices/bus/vic20/user.h,BUSES["VIC20"] = true +--------------------------------------------------- + +if (BUSES["VIC20"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vic20/exp.cpp", + MAME_DIR .. "src/devices/bus/vic20/exp.h", + MAME_DIR .. "src/devices/bus/vic20/fe3.cpp", + MAME_DIR .. "src/devices/bus/vic20/fe3.h", + MAME_DIR .. "src/devices/bus/vic20/megacart.cpp", + MAME_DIR .. "src/devices/bus/vic20/megacart.h", + MAME_DIR .. "src/devices/bus/vic20/std.cpp", + MAME_DIR .. "src/devices/bus/vic20/std.h", + MAME_DIR .. "src/devices/bus/vic20/vic1010.cpp", + MAME_DIR .. "src/devices/bus/vic20/vic1010.h", + MAME_DIR .. "src/devices/bus/vic20/vic1110.cpp", + MAME_DIR .. "src/devices/bus/vic20/vic1110.h", + MAME_DIR .. "src/devices/bus/vic20/vic1111.cpp", + MAME_DIR .. "src/devices/bus/vic20/vic1111.h", + MAME_DIR .. "src/devices/bus/vic20/vic1112.cpp", + MAME_DIR .. "src/devices/bus/vic20/vic1112.h", + MAME_DIR .. "src/devices/bus/vic20/vic1210.cpp", + MAME_DIR .. "src/devices/bus/vic20/vic1210.h", + MAME_DIR .. "src/devices/bus/vic20/videopak.cpp", + MAME_DIR .. "src/devices/bus/vic20/videopak.h", + MAME_DIR .. "src/devices/bus/vic20/speakeasy.cpp", + MAME_DIR .. "src/devices/bus/vic20/speakeasy.h", + MAME_DIR .. "src/devices/bus/vic20/user.cpp", + MAME_DIR .. "src/devices/bus/vic20/user.h", + MAME_DIR .. "src/devices/bus/vic20/4cga.cpp", + MAME_DIR .. "src/devices/bus/vic20/4cga.h", + MAME_DIR .. "src/devices/bus/vic20/vic1011.cpp", + MAME_DIR .. "src/devices/bus/vic20/vic1011.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/vidbrain/exp.h,BUSES["VIDBRAIN"] = true +--------------------------------------------------- + +if (BUSES["VIDBRAIN"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vidbrain/exp.cpp", + MAME_DIR .. "src/devices/bus/vidbrain/exp.h", + MAME_DIR .. "src/devices/bus/vidbrain/std.cpp", + MAME_DIR .. "src/devices/bus/vidbrain/std.h", + MAME_DIR .. "src/devices/bus/vidbrain/money_minder.cpp", + MAME_DIR .. "src/devices/bus/vidbrain/money_minder.h", + MAME_DIR .. "src/devices/bus/vidbrain/timeshare.cpp", + MAME_DIR .. "src/devices/bus/vidbrain/timeshare.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/vip/byteio.h,BUSES["VIP"] = true +--@src/devices/bus/vip/exp.h,BUSES["VIP"] = true +--------------------------------------------------- + +if (BUSES["VIP"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vip/byteio.cpp", + MAME_DIR .. "src/devices/bus/vip/byteio.h", + MAME_DIR .. "src/devices/bus/vip/vp620.cpp", + MAME_DIR .. "src/devices/bus/vip/vp620.h", + MAME_DIR .. "src/devices/bus/vip/exp.cpp", + MAME_DIR .. "src/devices/bus/vip/exp.h", + MAME_DIR .. "src/devices/bus/vip/vp550.cpp", + MAME_DIR .. "src/devices/bus/vip/vp550.h", + MAME_DIR .. "src/devices/bus/vip/vp570.cpp", + MAME_DIR .. "src/devices/bus/vip/vp570.h", + MAME_DIR .. "src/devices/bus/vip/vp575.cpp", + MAME_DIR .. "src/devices/bus/vip/vp575.h", + MAME_DIR .. "src/devices/bus/vip/vp585.cpp", + MAME_DIR .. "src/devices/bus/vip/vp585.h", + MAME_DIR .. "src/devices/bus/vip/vp590.cpp", + MAME_DIR .. "src/devices/bus/vip/vp590.h", + MAME_DIR .. "src/devices/bus/vip/vp595.cpp", + MAME_DIR .. "src/devices/bus/vip/vp595.h", + MAME_DIR .. "src/devices/bus/vip/vp700.cpp", + MAME_DIR .. "src/devices/bus/vip/vp700.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/vme/vme.h,BUSES["VME"] = true +--------------------------------------------------- + +if (BUSES["VME"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vme/vme.cpp", + MAME_DIR .. "src/devices/bus/vme/vme.h", + MAME_DIR .. "src/devices/bus/vme/vme_mzr8300.cpp", + MAME_DIR .. "src/devices/bus/vme/vme_mzr8300.h", + MAME_DIR .. "src/devices/bus/vme/vme_mvme350.cpp", + MAME_DIR .. "src/devices/bus/vme/vme_mvme350.h", + MAME_DIR .. "src/devices/bus/vme/vme_fccpu20.cpp", + MAME_DIR .. "src/devices/bus/vme/vme_fccpu20.h", + MAME_DIR .. "src/devices/bus/vme/vme_fcisio.cpp", + MAME_DIR .. "src/devices/bus/vme/vme_fcisio.h", + MAME_DIR .. "src/devices/bus/vme/vme_fcscsi.cpp", + MAME_DIR .. "src/devices/bus/vme/vme_fcscsi.h", + MAME_DIR .. "src/devices/bus/vme/vme_hcpu30.cpp", + MAME_DIR .. "src/devices/bus/vme/vme_hcpu30.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/wangpc/wangpc.h,BUSES["WANGPC"] = true +--------------------------------------------------- + +if (BUSES["WANGPC"]~=null) then + files { + MAME_DIR .. "src/devices/bus/wangpc/wangpc.cpp", + MAME_DIR .. "src/devices/bus/wangpc/wangpc.h", + MAME_DIR .. "src/devices/bus/wangpc/emb.cpp", + MAME_DIR .. "src/devices/bus/wangpc/emb.h", + MAME_DIR .. "src/devices/bus/wangpc/lic.cpp", + MAME_DIR .. "src/devices/bus/wangpc/lic.h", + MAME_DIR .. "src/devices/bus/wangpc/lvc.cpp", + MAME_DIR .. "src/devices/bus/wangpc/lvc.h", + MAME_DIR .. "src/devices/bus/wangpc/mcc.cpp", + MAME_DIR .. "src/devices/bus/wangpc/mcc.h", + MAME_DIR .. "src/devices/bus/wangpc/mvc.cpp", + MAME_DIR .. "src/devices/bus/wangpc/mvc.h", + MAME_DIR .. "src/devices/bus/wangpc/rtc.cpp", + MAME_DIR .. "src/devices/bus/wangpc/rtc.h", + MAME_DIR .. "src/devices/bus/wangpc/tig.cpp", + MAME_DIR .. "src/devices/bus/wangpc/tig.h", + MAME_DIR .. "src/devices/bus/wangpc/wdc.cpp", + MAME_DIR .. "src/devices/bus/wangpc/wdc.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/z88/z88.h,BUSES["Z88"] = true +--------------------------------------------------- + +if (BUSES["Z88"]~=null) then + files { + MAME_DIR .. "src/devices/bus/z88/z88.cpp", + MAME_DIR .. "src/devices/bus/z88/z88.h", + MAME_DIR .. "src/devices/bus/z88/flash.cpp", + MAME_DIR .. "src/devices/bus/z88/flash.h", + MAME_DIR .. "src/devices/bus/z88/ram.cpp", + MAME_DIR .. "src/devices/bus/z88/ram.h", + MAME_DIR .. "src/devices/bus/z88/rom.cpp", + MAME_DIR .. "src/devices/bus/z88/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/a2bus/a2bus.h,BUSES["A2BUS"] = true +--------------------------------------------------- + +if (BUSES["A2BUS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/a2bus/a2bus.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2bus.h", + MAME_DIR .. "src/devices/bus/a2bus/a2diskii.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2diskii.h", + MAME_DIR .. "src/devices/bus/a2bus/a2mockingboard.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2mockingboard.h", + MAME_DIR .. "src/devices/bus/a2bus/a2cffa.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2cffa.h", + MAME_DIR .. "src/devices/bus/a2bus/a2memexp.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2memexp.h", + MAME_DIR .. "src/devices/bus/a2bus/a2scsi.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2scsi.h", + MAME_DIR .. "src/devices/bus/a2bus/a2thunderclock.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2thunderclock.h", + MAME_DIR .. "src/devices/bus/a2bus/a2softcard.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2softcard.h", + MAME_DIR .. "src/devices/bus/a2bus/a2videoterm.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2videoterm.h", + MAME_DIR .. "src/devices/bus/a2bus/a2ssc.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2ssc.h", + MAME_DIR .. "src/devices/bus/a2bus/a2swyft.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2swyft.h", + MAME_DIR .. "src/devices/bus/a2bus/a2eauxslot.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2eauxslot.h", + MAME_DIR .. "src/devices/bus/a2bus/a2themill.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2themill.h", + MAME_DIR .. "src/devices/bus/a2bus/a2sam.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2sam.h", + MAME_DIR .. "src/devices/bus/a2bus/a2alfam2.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2alfam2.h", + MAME_DIR .. "src/devices/bus/a2bus/laser128.cpp", + MAME_DIR .. "src/devices/bus/a2bus/laser128.h", + MAME_DIR .. "src/devices/bus/a2bus/a2echoii.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2echoii.h", + MAME_DIR .. "src/devices/bus/a2bus/a2arcadebd.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2arcadebd.h", + MAME_DIR .. "src/devices/bus/a2bus/a2midi.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2midi.h", + MAME_DIR .. "src/devices/bus/a2bus/a2vulcan.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2vulcan.h", + MAME_DIR .. "src/devices/bus/a2bus/a2zipdrive.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2zipdrive.h", + MAME_DIR .. "src/devices/bus/a2bus/a2applicard.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2applicard.h", + MAME_DIR .. "src/devices/bus/a2bus/a2hsscsi.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2hsscsi.h", + MAME_DIR .. "src/devices/bus/a2bus/a2ultraterm.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2ultraterm.h", + MAME_DIR .. "src/devices/bus/a2bus/a2pic.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2pic.h", + MAME_DIR .. "src/devices/bus/a2bus/a2estd80col.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2estd80col.h", + MAME_DIR .. "src/devices/bus/a2bus/a2eext80col.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2eext80col.h", + MAME_DIR .. "src/devices/bus/a2bus/a2eramworks3.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2eramworks3.h", + MAME_DIR .. "src/devices/bus/a2bus/a2corvus.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2corvus.h", + MAME_DIR .. "src/devices/bus/a2bus/a2diskiing.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2diskiing.h", + MAME_DIR .. "src/devices/bus/a2bus/a2mcms.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2mcms.h", + MAME_DIR .. "src/devices/bus/a2bus/a2dx1.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2dx1.h", + MAME_DIR .. "src/devices/bus/a2bus/timemasterho.cpp", + MAME_DIR .. "src/devices/bus/a2bus/timemasterho.h", + MAME_DIR .. "src/devices/bus/a2bus/mouse.cpp", + MAME_DIR .. "src/devices/bus/a2bus/mouse.h", + MAME_DIR .. "src/devices/bus/a2bus/corvfdc01.cpp", + MAME_DIR .. "src/devices/bus/a2bus/corvfdc01.h", + MAME_DIR .. "src/devices/bus/a2bus/corvfdc02.cpp", + MAME_DIR .. "src/devices/bus/a2bus/corvfdc02.h", + MAME_DIR .. "src/devices/bus/a2bus/ramcard16k.cpp", + MAME_DIR .. "src/devices/bus/a2bus/ramcard16k.h", + MAME_DIR .. "src/devices/bus/a2bus/ramcard128k.cpp", + MAME_DIR .. "src/devices/bus/a2bus/ramcard128k.h", + MAME_DIR .. "src/devices/bus/a2bus/ezcgi.cpp", + MAME_DIR .. "src/devices/bus/a2bus/ezcgi.h", + MAME_DIR .. "src/devices/bus/a2bus/pc_xporter.cpp", + MAME_DIR .. "src/devices/bus/a2bus/pc_xporter.h", + MAME_DIR .. "src/devices/bus/a2bus/agat7langcard.cpp", + MAME_DIR .. "src/devices/bus/a2bus/agat7langcard.h", + MAME_DIR .. "src/devices/bus/a2bus/agat7ports.cpp", + MAME_DIR .. "src/devices/bus/a2bus/agat7ports.h", + MAME_DIR .. "src/devices/bus/a2bus/agat7ram.cpp", + MAME_DIR .. "src/devices/bus/a2bus/agat7ram.h", + MAME_DIR .. "src/devices/bus/a2bus/agat840k_hle.cpp", + MAME_DIR .. "src/devices/bus/a2bus/agat840k_hle.h", + MAME_DIR .. "src/devices/bus/a2bus/ssprite.cpp", + MAME_DIR .. "src/devices/bus/a2bus/ssprite.h", + MAME_DIR .. "src/devices/bus/a2bus/ssbapple.cpp", + MAME_DIR .. "src/devices/bus/a2bus/ssbapple.h", + MAME_DIR .. "src/devices/bus/a2bus/transwarp.cpp", + MAME_DIR .. "src/devices/bus/a2bus/transwarp.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/a2gameio/gameio.h,BUSES["A2GAMEIO"] = true +--------------------------------------------------- + +if (BUSES["A2GAMEIO"]~=null) then + files { + MAME_DIR .. "src/devices/bus/a2gameio/gameio.cpp", + MAME_DIR .. "src/devices/bus/a2gameio/gameio.h", + MAME_DIR .. "src/devices/bus/a2gameio/joystick.cpp", + MAME_DIR .. "src/devices/bus/a2gameio/joystick.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/nubus/nubus.h,BUSES["NUBUS"] = true +--------------------------------------------------- + +if (BUSES["NUBUS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/nubus/nubus.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_48gc.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_48gc.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_cb264.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_cb264.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_vikbw.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_vikbw.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_specpdq.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_specpdq.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_m2hires.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_m2hires.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_spec8.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_spec8.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_radiustpd.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_radiustpd.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_m2video.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_m2video.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_asntmc3b.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_asntmc3b.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_image.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_image.h", + MAME_DIR .. "src/devices/bus/nubus/nubus_wsportrait.cpp", + MAME_DIR .. "src/devices/bus/nubus/nubus_wsportrait.h", + MAME_DIR .. "src/devices/bus/nubus/bootbug.cpp", + MAME_DIR .. "src/devices/bus/nubus/bootbug.h", + MAME_DIR .. "src/devices/bus/nubus/quadralink.cpp", + MAME_DIR .. "src/devices/bus/nubus/quadralink.h", + MAME_DIR .. "src/devices/bus/nubus/pds30_cb264.cpp", + MAME_DIR .. "src/devices/bus/nubus/pds30_cb264.h", + MAME_DIR .. "src/devices/bus/nubus/pds30_procolor816.cpp", + MAME_DIR .. "src/devices/bus/nubus/pds30_procolor816.h", + MAME_DIR .. "src/devices/bus/nubus/pds30_sigmalview.cpp", + MAME_DIR .. "src/devices/bus/nubus/pds30_sigmalview.h", + MAME_DIR .. "src/devices/bus/nubus/pds30_30hr.cpp", + MAME_DIR .. "src/devices/bus/nubus/pds30_30hr.h", + MAME_DIR .. "src/devices/bus/nubus/pds30_mc30.cpp", + MAME_DIR .. "src/devices/bus/nubus/pds30_mc30.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/centronics/ctronics.h,BUSES["CENTRONICS"] = true +--------------------------------------------------- + +if (BUSES["CENTRONICS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/centronics/ctronics.cpp", + MAME_DIR .. "src/devices/bus/centronics/ctronics.h", + MAME_DIR .. "src/devices/bus/centronics/chessmec.cpp", + MAME_DIR .. "src/devices/bus/centronics/chessmec.h", + MAME_DIR .. "src/devices/bus/centronics/comxpl80.cpp", + MAME_DIR .. "src/devices/bus/centronics/comxpl80.h", + MAME_DIR .. "src/devices/bus/centronics/covox.cpp", + MAME_DIR .. "src/devices/bus/centronics/covox.h", + MAME_DIR .. "src/devices/bus/centronics/dsjoy.cpp", + MAME_DIR .. "src/devices/bus/centronics/dsjoy.h", + MAME_DIR .. "src/devices/bus/centronics/epson_ex800.cpp", + MAME_DIR .. "src/devices/bus/centronics/epson_ex800.h", + MAME_DIR .. "src/devices/bus/centronics/epson_lx800.cpp", + MAME_DIR .. "src/devices/bus/centronics/epson_lx800.h", + MAME_DIR .. "src/devices/bus/centronics/epson_lx810l.cpp", + MAME_DIR .. "src/devices/bus/centronics/epson_lx810l.h", + MAME_DIR .. "src/devices/bus/centronics/nec_p72.cpp", + MAME_DIR .. "src/devices/bus/centronics/nec_p72.h", + MAME_DIR .. "src/devices/bus/centronics/printer.cpp", + MAME_DIR .. "src/devices/bus/centronics/printer.h", + MAME_DIR .. "src/devices/bus/centronics/digiblst.cpp", + MAME_DIR .. "src/devices/bus/centronics/digiblst.h", + } + + dependency { + { MAME_DIR .. "src/devices/bus/centronics/epson_ex800.cpp", GEN_DIR .. "emu/layout/ex800.lh" }, + { MAME_DIR .. "src/devices/bus/centronics/epson_lx800.cpp", GEN_DIR .. "emu/layout/lx800.lh" }, + { MAME_DIR .. "src/devices/bus/centronics/epson_lx810l.cpp", GEN_DIR .. "emu/layout/lx800.lh" }, + } + + custombuildtask { + layoutbuildtask("emu/layout", "ex800"), + layoutbuildtask("emu/layout", "lx800"), + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/rs232/rs232.h,BUSES["RS232"] = true +--------------------------------------------------- + +if (BUSES["RS232"]~=null) then + files { + MAME_DIR .. "src/devices/bus/rs232/keyboard.cpp", + MAME_DIR .. "src/devices/bus/rs232/keyboard.h", + MAME_DIR .. "src/devices/bus/rs232/loopback.cpp", + MAME_DIR .. "src/devices/bus/rs232/loopback.h", + MAME_DIR .. "src/devices/bus/rs232/null_modem.cpp", + MAME_DIR .. "src/devices/bus/rs232/null_modem.h", + MAME_DIR .. "src/devices/bus/rs232/printer.cpp", + MAME_DIR .. "src/devices/bus/rs232/printer.h", + MAME_DIR .. "src/devices/bus/rs232/rs232.cpp", + MAME_DIR .. "src/devices/bus/rs232/rs232.h", + MAME_DIR .. "src/devices/bus/rs232/pty.cpp", + MAME_DIR .. "src/devices/bus/rs232/pty.h", + MAME_DIR .. "src/devices/bus/rs232/hlemouse.cpp", + MAME_DIR .. "src/devices/bus/rs232/hlemouse.h", + MAME_DIR .. "src/devices/bus/rs232/sun_kbd.cpp", + MAME_DIR .. "src/devices/bus/rs232/sun_kbd.h", + MAME_DIR .. "src/devices/bus/rs232/terminal.cpp", + MAME_DIR .. "src/devices/bus/rs232/terminal.h", + MAME_DIR .. "src/devices/bus/rs232/xvd701.cpp", + MAME_DIR .. "src/devices/bus/rs232/xvd701.h", + MAME_DIR .. "src/devices/bus/rs232/ie15.cpp", + MAME_DIR .. "src/devices/bus/rs232/ie15.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/midi/midi.h,BUSES["MIDI"] = true +--------------------------------------------------- + +if (BUSES["MIDI"]~=null) then + files { + MAME_DIR .. "src/devices/bus/midi/midi.cpp", + MAME_DIR .. "src/devices/bus/midi/midi.h", + MAME_DIR .. "src/devices/bus/midi/midiinport.cpp", + MAME_DIR .. "src/devices/bus/midi/midiinport.h", + MAME_DIR .. "src/devices/bus/midi/midioutport.cpp", + MAME_DIR .. "src/devices/bus/midi/midioutport.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/lpci/pci.h,BUSES["LPCI"] = true +--------------------------------------------------- + +if (BUSES["LPCI"]~=null) then + files { + MAME_DIR .. "src/devices/bus/lpci/pci.cpp", + MAME_DIR .. "src/devices/bus/lpci/pci.h", + MAME_DIR .. "src/devices/bus/lpci/cirrus.cpp", + MAME_DIR .. "src/devices/bus/lpci/cirrus.h", + MAME_DIR .. "src/devices/bus/lpci/i82371ab.cpp", + MAME_DIR .. "src/devices/bus/lpci/i82371ab.h", + MAME_DIR .. "src/devices/bus/lpci/i82371sb.cpp", + MAME_DIR .. "src/devices/bus/lpci/i82371sb.h", + MAME_DIR .. "src/devices/bus/lpci/i82439tx.cpp", + MAME_DIR .. "src/devices/bus/lpci/i82439tx.h", + MAME_DIR .. "src/devices/bus/lpci/northbridge.cpp", + MAME_DIR .. "src/devices/bus/lpci/northbridge.h", + MAME_DIR .. "src/devices/bus/lpci/southbridge.cpp", + MAME_DIR .. "src/devices/bus/lpci/southbridge.h", + MAME_DIR .. "src/devices/bus/lpci/mpc105.cpp", + MAME_DIR .. "src/devices/bus/lpci/mpc105.h", + MAME_DIR .. "src/devices/bus/lpci/vt82c505.cpp", + MAME_DIR .. "src/devices/bus/lpci/vt82c505.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/nes/nes_slot.h,BUSES["NES"] = true +--------------------------------------------------- + +if (BUSES["NES"]~=null) then + files { + MAME_DIR .. "src/devices/bus/nes/nes_slot.cpp", + MAME_DIR .. "src/devices/bus/nes/nes_slot.h", + MAME_DIR .. "src/devices/bus/nes/nes_ines.hxx", + MAME_DIR .. "src/devices/bus/nes/nes_pcb.hxx", + MAME_DIR .. "src/devices/bus/nes/nes_unif.hxx", + MAME_DIR .. "src/devices/bus/nes/nes_carts.cpp", + MAME_DIR .. "src/devices/bus/nes/nes_carts.h", + MAME_DIR .. "src/devices/bus/nes/2a03pur.cpp", + MAME_DIR .. "src/devices/bus/nes/2a03pur.h", + MAME_DIR .. "src/devices/bus/nes/act53.cpp", + MAME_DIR .. "src/devices/bus/nes/act53.h", + MAME_DIR .. "src/devices/bus/nes/aladdin.cpp", + MAME_DIR .. "src/devices/bus/nes/aladdin.h", + MAME_DIR .. "src/devices/bus/nes/ave.cpp", + MAME_DIR .. "src/devices/bus/nes/ave.h", + MAME_DIR .. "src/devices/bus/nes/bandai.cpp", + MAME_DIR .. "src/devices/bus/nes/bandai.h", + MAME_DIR .. "src/devices/bus/nes/benshieng.cpp", + MAME_DIR .. "src/devices/bus/nes/benshieng.h", + MAME_DIR .. "src/devices/bus/nes/bootleg.cpp", + MAME_DIR .. "src/devices/bus/nes/bootleg.h", + MAME_DIR .. "src/devices/bus/nes/camerica.cpp", + MAME_DIR .. "src/devices/bus/nes/camerica.h", + MAME_DIR .. "src/devices/bus/nes/cne.cpp", + MAME_DIR .. "src/devices/bus/nes/cne.h", + MAME_DIR .. "src/devices/bus/nes/cony.cpp", + MAME_DIR .. "src/devices/bus/nes/cony.h", + MAME_DIR .. "src/devices/bus/nes/datach.cpp", + MAME_DIR .. "src/devices/bus/nes/datach.h", + MAME_DIR .. "src/devices/bus/nes/discrete.cpp", + MAME_DIR .. "src/devices/bus/nes/discrete.h", + MAME_DIR .. "src/devices/bus/nes/disksys.cpp", + MAME_DIR .. "src/devices/bus/nes/disksys.h", + MAME_DIR .. "src/devices/bus/nes/event.cpp", + MAME_DIR .. "src/devices/bus/nes/event.h", + MAME_DIR .. "src/devices/bus/nes/ggenie.cpp", + MAME_DIR .. "src/devices/bus/nes/ggenie.h", + MAME_DIR .. "src/devices/bus/nes/henggedianzi.cpp", + MAME_DIR .. "src/devices/bus/nes/henggedianzi.h", + MAME_DIR .. "src/devices/bus/nes/hes.cpp", + MAME_DIR .. "src/devices/bus/nes/hes.h", + MAME_DIR .. "src/devices/bus/nes/hosenkan.cpp", + MAME_DIR .. "src/devices/bus/nes/hosenkan.h", + MAME_DIR .. "src/devices/bus/nes/irem.cpp", + MAME_DIR .. "src/devices/bus/nes/irem.h", + MAME_DIR .. "src/devices/bus/nes/jaleco.cpp", + MAME_DIR .. "src/devices/bus/nes/jaleco.h", + MAME_DIR .. "src/devices/bus/nes/jy.cpp", + MAME_DIR .. "src/devices/bus/nes/jy.h", + MAME_DIR .. "src/devices/bus/nes/kaiser.cpp", + MAME_DIR .. "src/devices/bus/nes/kaiser.h", + MAME_DIR .. "src/devices/bus/nes/karastudio.cpp", + MAME_DIR .. "src/devices/bus/nes/karastudio.h", + MAME_DIR .. "src/devices/bus/nes/konami.cpp", + MAME_DIR .. "src/devices/bus/nes/konami.h", + MAME_DIR .. "src/devices/bus/nes/legacy.cpp", + MAME_DIR .. "src/devices/bus/nes/legacy.h", + MAME_DIR .. "src/devices/bus/nes/mmc1.cpp", + MAME_DIR .. "src/devices/bus/nes/mmc1.h", + MAME_DIR .. "src/devices/bus/nes/mmc2.cpp", + MAME_DIR .. "src/devices/bus/nes/mmc2.h", + MAME_DIR .. "src/devices/bus/nes/mmc3.cpp", + MAME_DIR .. "src/devices/bus/nes/mmc3.h", + MAME_DIR .. "src/devices/bus/nes/mmc3_clones.cpp", + MAME_DIR .. "src/devices/bus/nes/mmc3_clones.h", + MAME_DIR .. "src/devices/bus/nes/mmc5.cpp", + MAME_DIR .. "src/devices/bus/nes/mmc5.h", + MAME_DIR .. "src/devices/bus/nes/multigame.cpp", + MAME_DIR .. "src/devices/bus/nes/multigame.h", + MAME_DIR .. "src/devices/bus/nes/namcot.cpp", + MAME_DIR .. "src/devices/bus/nes/namcot.h", + MAME_DIR .. "src/devices/bus/nes/nanjing.cpp", + MAME_DIR .. "src/devices/bus/nes/nanjing.h", + MAME_DIR .. "src/devices/bus/nes/ntdec.cpp", + MAME_DIR .. "src/devices/bus/nes/ntdec.h", + MAME_DIR .. "src/devices/bus/nes/nxrom.cpp", + MAME_DIR .. "src/devices/bus/nes/nxrom.h", + MAME_DIR .. "src/devices/bus/nes/pirate.cpp", + MAME_DIR .. "src/devices/bus/nes/pirate.h", + MAME_DIR .. "src/devices/bus/nes/pt554.cpp", + MAME_DIR .. "src/devices/bus/nes/pt554.h", + MAME_DIR .. "src/devices/bus/nes/racermate.cpp", + MAME_DIR .. "src/devices/bus/nes/racermate.h", + MAME_DIR .. "src/devices/bus/nes/rcm.cpp", + MAME_DIR .. "src/devices/bus/nes/rcm.h", + MAME_DIR .. "src/devices/bus/nes/rexsoft.cpp", + MAME_DIR .. "src/devices/bus/nes/rexsoft.h", + MAME_DIR .. "src/devices/bus/nes/sachen.cpp", + MAME_DIR .. "src/devices/bus/nes/sachen.h", + MAME_DIR .. "src/devices/bus/nes/somari.cpp", + MAME_DIR .. "src/devices/bus/nes/somari.h", + MAME_DIR .. "src/devices/bus/nes/subor.cpp", + MAME_DIR .. "src/devices/bus/nes/subor.h", + MAME_DIR .. "src/devices/bus/nes/sunsoft.cpp", + MAME_DIR .. "src/devices/bus/nes/sunsoft.h", + MAME_DIR .. "src/devices/bus/nes/sunsoft_dcs.cpp", + MAME_DIR .. "src/devices/bus/nes/sunsoft_dcs.h", + MAME_DIR .. "src/devices/bus/nes/taito.cpp", + MAME_DIR .. "src/devices/bus/nes/taito.h", + MAME_DIR .. "src/devices/bus/nes/tengen.cpp", + MAME_DIR .. "src/devices/bus/nes/tengen.h", + MAME_DIR .. "src/devices/bus/nes/txc.cpp", + MAME_DIR .. "src/devices/bus/nes/txc.h", + MAME_DIR .. "src/devices/bus/nes/waixing.cpp", + MAME_DIR .. "src/devices/bus/nes/waixing.h", + MAME_DIR .. "src/devices/bus/nes/zemina.cpp", + MAME_DIR .. "src/devices/bus/nes/zemina.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/nes_ctrl/ctrl.h,BUSES["NES_CTRL"] = true +--------------------------------------------------- + +if (BUSES["NES_CTRL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/nes_ctrl/ctrl.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/ctrl.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/joypad.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/joypad.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/4score.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/4score.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/arkpaddle.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/arkpaddle.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/bcbattle.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/bcbattle.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/ftrainer.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/ftrainer.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/fckeybrd.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/fckeybrd.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/hori.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/hori.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/konamihs.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/konamihs.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/miracle.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/miracle.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/mjpanel.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/mjpanel.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/pachinko.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/pachinko.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/partytap.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/partytap.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/powerpad.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/powerpad.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/suborkey.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/suborkey.h", + MAME_DIR .. "src/devices/bus/nes_ctrl/zapper.cpp", + MAME_DIR .. "src/devices/bus/nes_ctrl/zapper.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/snes/snes_slot.h,BUSES["SNES"] = true +--------------------------------------------------- + +if (BUSES["SNES"]~=null) then + files { + MAME_DIR .. "src/devices/bus/snes/snes_slot.cpp", + MAME_DIR .. "src/devices/bus/snes/snes_slot.h", + MAME_DIR .. "src/devices/bus/snes/snes_carts.cpp", + MAME_DIR .. "src/devices/bus/snes/snes_carts.h", + MAME_DIR .. "src/devices/bus/snes/bsx.cpp", + MAME_DIR .. "src/devices/bus/snes/bsx.h", + MAME_DIR .. "src/devices/bus/snes/event.cpp", + MAME_DIR .. "src/devices/bus/snes/event.h", + MAME_DIR .. "src/devices/bus/snes/rom.cpp", + MAME_DIR .. "src/devices/bus/snes/rom.h", + MAME_DIR .. "src/devices/bus/snes/rom21.cpp", + MAME_DIR .. "src/devices/bus/snes/rom21.h", + MAME_DIR .. "src/devices/bus/snes/sa1.cpp", + MAME_DIR .. "src/devices/bus/snes/sa1.h", + MAME_DIR .. "src/devices/bus/snes/sdd1.cpp", + MAME_DIR .. "src/devices/bus/snes/sdd1.h", + MAME_DIR .. "src/devices/bus/snes/sfx.cpp", + MAME_DIR .. "src/devices/bus/snes/sfx.h", + MAME_DIR .. "src/devices/bus/snes/sgb.cpp", + MAME_DIR .. "src/devices/bus/snes/sgb.h", + MAME_DIR .. "src/devices/bus/snes/spc7110.cpp", + MAME_DIR .. "src/devices/bus/snes/spc7110.h", + MAME_DIR .. "src/devices/bus/snes/sufami.cpp", + MAME_DIR .. "src/devices/bus/snes/sufami.h", + MAME_DIR .. "src/devices/bus/snes/upd.cpp", + MAME_DIR .. "src/devices/bus/snes/upd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/snes_ctrl/ctrl.h,BUSES["SNES_CTRL"] = true +--------------------------------------------------- + +if (BUSES["SNES_CTRL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/snes_ctrl/ctrl.cpp", + MAME_DIR .. "src/devices/bus/snes_ctrl/ctrl.h", + MAME_DIR .. "src/devices/bus/snes_ctrl/bcbattle.cpp", + MAME_DIR .. "src/devices/bus/snes_ctrl/bcbattle.h", + MAME_DIR .. "src/devices/bus/snes_ctrl/joypad.cpp", + MAME_DIR .. "src/devices/bus/snes_ctrl/joypad.h", + MAME_DIR .. "src/devices/bus/snes_ctrl/miracle.cpp", + MAME_DIR .. "src/devices/bus/snes_ctrl/miracle.h", + MAME_DIR .. "src/devices/bus/snes_ctrl/mouse.cpp", + MAME_DIR .. "src/devices/bus/snes_ctrl/mouse.h", + MAME_DIR .. "src/devices/bus/snes_ctrl/multitap.cpp", + MAME_DIR .. "src/devices/bus/snes_ctrl/multitap.h", + MAME_DIR .. "src/devices/bus/snes_ctrl/pachinko.cpp", + MAME_DIR .. "src/devices/bus/snes_ctrl/pachinko.h", + MAME_DIR .. "src/devices/bus/snes_ctrl/sscope.cpp", + MAME_DIR .. "src/devices/bus/snes_ctrl/sscope.h", + MAME_DIR .. "src/devices/bus/snes_ctrl/twintap.cpp", + MAME_DIR .. "src/devices/bus/snes_ctrl/twintap.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/vboy/slot.h,BUSES["VBOY"] = true +--------------------------------------------------- +if (BUSES["VBOY"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vboy/slot.cpp", + MAME_DIR .. "src/devices/bus/vboy/slot.h", + MAME_DIR .. "src/devices/bus/vboy/rom.cpp", + MAME_DIR .. "src/devices/bus/vboy/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/megadrive/md_slot.h,BUSES["MEGADRIVE"] = true +--------------------------------------------------- + +if (BUSES["MEGADRIVE"]~=null) then + files { + MAME_DIR .. "src/devices/bus/megadrive/md_slot.cpp", + MAME_DIR .. "src/devices/bus/megadrive/md_slot.h", + MAME_DIR .. "src/devices/bus/megadrive/md_carts.cpp", + MAME_DIR .. "src/devices/bus/megadrive/md_carts.h", + MAME_DIR .. "src/devices/bus/megadrive/eeprom.cpp", + MAME_DIR .. "src/devices/bus/megadrive/eeprom.h", + MAME_DIR .. "src/devices/bus/megadrive/ggenie.cpp", + MAME_DIR .. "src/devices/bus/megadrive/ggenie.h", + MAME_DIR .. "src/devices/bus/megadrive/jcart.cpp", + MAME_DIR .. "src/devices/bus/megadrive/jcart.h", + MAME_DIR .. "src/devices/bus/megadrive/rom.cpp", + MAME_DIR .. "src/devices/bus/megadrive/rom.h", + MAME_DIR .. "src/devices/bus/megadrive/sk.cpp", + MAME_DIR .. "src/devices/bus/megadrive/sk.h", + MAME_DIR .. "src/devices/bus/megadrive/stm95.cpp", + MAME_DIR .. "src/devices/bus/megadrive/stm95.h", + MAME_DIR .. "src/devices/bus/megadrive/svp.cpp", + MAME_DIR .. "src/devices/bus/megadrive/svp.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/neogeo/slot.h,BUSES["NEOGEO"] = true +--------------------------------------------------- + +if (BUSES["NEOGEO"]~=null) then + files { + MAME_DIR .. "src/devices/bus/neogeo/slot.cpp", + MAME_DIR .. "src/devices/bus/neogeo/slot.h", + MAME_DIR .. "src/devices/bus/neogeo/carts.cpp", + MAME_DIR .. "src/devices/bus/neogeo/carts.h", + MAME_DIR .. "src/devices/bus/neogeo/rom.cpp", + MAME_DIR .. "src/devices/bus/neogeo/rom.h", + MAME_DIR .. "src/devices/bus/neogeo/fatfury2.cpp", + MAME_DIR .. "src/devices/bus/neogeo/fatfury2.h", + MAME_DIR .. "src/devices/bus/neogeo/kof98.cpp", + MAME_DIR .. "src/devices/bus/neogeo/kof98.h", + MAME_DIR .. "src/devices/bus/neogeo/mslugx.cpp", + MAME_DIR .. "src/devices/bus/neogeo/mslugx.h", + MAME_DIR .. "src/devices/bus/neogeo/cmc.cpp", + MAME_DIR .. "src/devices/bus/neogeo/cmc.h", + MAME_DIR .. "src/devices/bus/neogeo/sma.cpp", + MAME_DIR .. "src/devices/bus/neogeo/sma.h", + MAME_DIR .. "src/devices/bus/neogeo/pcm2.cpp", + MAME_DIR .. "src/devices/bus/neogeo/pcm2.h", + MAME_DIR .. "src/devices/bus/neogeo/kof2k2.cpp", + MAME_DIR .. "src/devices/bus/neogeo/kof2k2.h", + MAME_DIR .. "src/devices/bus/neogeo/pvc.cpp", + MAME_DIR .. "src/devices/bus/neogeo/pvc.h", + MAME_DIR .. "src/devices/bus/neogeo/boot_cthd.cpp", + MAME_DIR .. "src/devices/bus/neogeo/boot_cthd.h", + MAME_DIR .. "src/devices/bus/neogeo/boot_misc.cpp", + MAME_DIR .. "src/devices/bus/neogeo/boot_misc.h", + MAME_DIR .. "src/devices/bus/neogeo/boot_svc.cpp", + MAME_DIR .. "src/devices/bus/neogeo/boot_svc.h", + MAME_DIR .. "src/devices/bus/neogeo/boot_kof2k2.cpp", + MAME_DIR .. "src/devices/bus/neogeo/boot_kof2k2.h", + MAME_DIR .. "src/devices/bus/neogeo/boot_kof2k3.cpp", + MAME_DIR .. "src/devices/bus/neogeo/boot_kof2k3.h", + MAME_DIR .. "src/devices/bus/neogeo/sbp.cpp", + MAME_DIR .. "src/devices/bus/neogeo/sbp.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_fatfury2.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_fatfury2.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_kof98.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_kof98.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_mslugx.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_mslugx.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_cmc.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_cmc.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_sma.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_sma.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_pcm2.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_pcm2.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_kof2k2.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_kof2k2.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_pvc.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_pvc.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_cthd.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_cthd.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_kof2k3bl.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_kof2k3bl.h", + MAME_DIR .. "src/devices/bus/neogeo/boot_kof10th.cpp", + MAME_DIR .. "src/devices/bus/neogeo/boot_kof10th.h", + MAME_DIR .. "src/devices/bus/neogeo/prot_misc.cpp", + MAME_DIR .. "src/devices/bus/neogeo/prot_misc.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/bus/neogeo_ctrl/ctrl.h,BUSES["NEOGEO_CTRL"] = true +--------------------------------------------------- + +if (BUSES["NEOGEO_CTRL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/neogeo_ctrl/ctrl.cpp", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/ctrl.h", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/joystick.cpp", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/joystick.h", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/mahjong.cpp", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/mahjong.h", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/dial.cpp", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/dial.h", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/irrmaze.cpp", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/irrmaze.h", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/kizuna4p.cpp", + MAME_DIR .. "src/devices/bus/neogeo_ctrl/kizuna4p.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/sat_ctrl/ctrl.h,BUSES["SAT_CTRL"] = true +--------------------------------------------------- + +if (BUSES["SAT_CTRL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/sat_ctrl/ctrl.cpp", + MAME_DIR .. "src/devices/bus/sat_ctrl/ctrl.h", + MAME_DIR .. "src/devices/bus/sat_ctrl/analog.cpp", + MAME_DIR .. "src/devices/bus/sat_ctrl/analog.h", + MAME_DIR .. "src/devices/bus/sat_ctrl/joy.cpp", + MAME_DIR .. "src/devices/bus/sat_ctrl/joy.h", + MAME_DIR .. "src/devices/bus/sat_ctrl/joy_md.cpp", + MAME_DIR .. "src/devices/bus/sat_ctrl/joy_md.h", + MAME_DIR .. "src/devices/bus/sat_ctrl/keybd.cpp", + MAME_DIR .. "src/devices/bus/sat_ctrl/keybd.h", + MAME_DIR .. "src/devices/bus/sat_ctrl/mouse.cpp", + MAME_DIR .. "src/devices/bus/sat_ctrl/mouse.h", + MAME_DIR .. "src/devices/bus/sat_ctrl/multitap.cpp", + MAME_DIR .. "src/devices/bus/sat_ctrl/multitap.h", + MAME_DIR .. "src/devices/bus/sat_ctrl/pointer.cpp", + MAME_DIR .. "src/devices/bus/sat_ctrl/pointer.h", + MAME_DIR .. "src/devices/bus/sat_ctrl/racing.cpp", + MAME_DIR .. "src/devices/bus/sat_ctrl/racing.h", + MAME_DIR .. "src/devices/bus/sat_ctrl/segatap.cpp", + MAME_DIR .. "src/devices/bus/sat_ctrl/segatap.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/saturn/sat_slot.h,BUSES["SATURN"] = true +--------------------------------------------------- + +if (BUSES["SATURN"]~=null) then + files { + MAME_DIR .. "src/devices/bus/saturn/sat_slot.cpp", + MAME_DIR .. "src/devices/bus/saturn/sat_slot.h", + MAME_DIR .. "src/devices/bus/saturn/bram.cpp", + MAME_DIR .. "src/devices/bus/saturn/bram.h", + MAME_DIR .. "src/devices/bus/saturn/dram.cpp", + MAME_DIR .. "src/devices/bus/saturn/dram.h", + MAME_DIR .. "src/devices/bus/saturn/rom.cpp", + MAME_DIR .. "src/devices/bus/saturn/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/sega8/sega8_slot.h,BUSES["SEGA8"] = true +--------------------------------------------------- + +if (BUSES["SEGA8"]~=null) then + files { + MAME_DIR .. "src/devices/bus/sega8/sega8_slot.cpp", + MAME_DIR .. "src/devices/bus/sega8/sega8_slot.h", + MAME_DIR .. "src/devices/bus/sega8/rom.cpp", + MAME_DIR .. "src/devices/bus/sega8/rom.h", + MAME_DIR .. "src/devices/bus/sega8/ccatch.cpp", + MAME_DIR .. "src/devices/bus/sega8/ccatch.h", + MAME_DIR .. "src/devices/bus/sega8/mgear.cpp", + MAME_DIR .. "src/devices/bus/sega8/mgear.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/sg1000_exp/sg1000exp.h,BUSES["SG1000_EXP"] = true +--------------------------------------------------- + +if (BUSES["SG1000_EXP"]~=null) then + files { + MAME_DIR .. "src/devices/bus/sg1000_exp/sg1000exp.cpp", + MAME_DIR .. "src/devices/bus/sg1000_exp/sg1000exp.h", + MAME_DIR .. "src/devices/bus/sg1000_exp/fm_unit.cpp", + MAME_DIR .. "src/devices/bus/sg1000_exp/fm_unit.h", + MAME_DIR .. "src/devices/bus/sg1000_exp/sk1100.cpp", + MAME_DIR .. "src/devices/bus/sg1000_exp/sk1100.h", + MAME_DIR .. "src/devices/bus/sg1000_exp/sk1100prn.cpp", + MAME_DIR .. "src/devices/bus/sg1000_exp/sk1100prn.h", + MAME_DIR .. "src/devices/bus/sg1000_exp/kblink.cpp", + MAME_DIR .. "src/devices/bus/sg1000_exp/kblink.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/sms_ctrl/smsctrl.h,BUSES["SMS_CTRL"] = true +--------------------------------------------------- + +if (BUSES["SMS_CTRL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/sms_ctrl/smsctrl.cpp", + MAME_DIR .. "src/devices/bus/sms_ctrl/smsctrl.h", + MAME_DIR .. "src/devices/bus/sms_ctrl/joypad.cpp", + MAME_DIR .. "src/devices/bus/sms_ctrl/joypad.h", + MAME_DIR .. "src/devices/bus/sms_ctrl/lphaser.cpp", + MAME_DIR .. "src/devices/bus/sms_ctrl/lphaser.h", + MAME_DIR .. "src/devices/bus/sms_ctrl/paddle.cpp", + MAME_DIR .. "src/devices/bus/sms_ctrl/paddle.h", + MAME_DIR .. "src/devices/bus/sms_ctrl/rfu.cpp", + MAME_DIR .. "src/devices/bus/sms_ctrl/rfu.h", + MAME_DIR .. "src/devices/bus/sms_ctrl/sports.cpp", + MAME_DIR .. "src/devices/bus/sms_ctrl/sports.h", + MAME_DIR .. "src/devices/bus/sms_ctrl/sportsjp.cpp", + MAME_DIR .. "src/devices/bus/sms_ctrl/sportsjp.h", + MAME_DIR .. "src/devices/bus/sms_ctrl/multitap.cpp", + MAME_DIR .. "src/devices/bus/sms_ctrl/multitap.h", + MAME_DIR .. "src/devices/bus/sms_ctrl/graphic.cpp", + MAME_DIR .. "src/devices/bus/sms_ctrl/graphic.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/sms_exp/smsexp.h,BUSES["SMS_EXP"] = true +--------------------------------------------------- + +if (BUSES["SMS_EXP"]~=null) then + files { + MAME_DIR .. "src/devices/bus/sms_exp/smsexp.cpp", + MAME_DIR .. "src/devices/bus/sms_exp/smsexp.h", + MAME_DIR .. "src/devices/bus/sms_exp/gender.cpp", + MAME_DIR .. "src/devices/bus/sms_exp/gender.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/ti8x/ti8x.h,BUSES["TI8X"] = true +--------------------------------------------------- + +if (BUSES["TI8X"]~=null) then + files { + MAME_DIR .. "src/devices/bus/ti8x/bitsocket.cpp", + MAME_DIR .. "src/devices/bus/ti8x/bitsocket.h", + MAME_DIR .. "src/devices/bus/ti8x/graphlinkhle.cpp", + MAME_DIR .. "src/devices/bus/ti8x/graphlinkhle.h", + MAME_DIR .. "src/devices/bus/ti8x/teeconn.cpp", + MAME_DIR .. "src/devices/bus/ti8x/teeconn.h", + MAME_DIR .. "src/devices/bus/ti8x/ti8x.cpp", + MAME_DIR .. "src/devices/bus/ti8x/ti8x.h", + MAME_DIR .. "src/devices/bus/ti8x/tispeaker.cpp", + MAME_DIR .. "src/devices/bus/ti8x/tispeaker.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/ti99x/990_dk.h,BUSES["TI99X"] = true +--@src/devices/bus/ti99x/990_tap.h,BUSES["TI99X"] = true +--@src/devices/bus/ti99x/990_hd.h,BUSES["TI99X"] = true +--------------------------------------------------- + +if (BUSES["TI99X"]~=null) then + files { + MAME_DIR .. "src/devices/bus/ti99x/990_dk.cpp", + MAME_DIR .. "src/devices/bus/ti99x/990_dk.h", + MAME_DIR .. "src/devices/bus/ti99x/990_hd.cpp", + MAME_DIR .. "src/devices/bus/ti99x/990_hd.h", + MAME_DIR .. "src/devices/bus/ti99x/990_tap.cpp", + MAME_DIR .. "src/devices/bus/ti99x/990_tap.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/ti99/colorbus/colorbus.h,BUSES["TI99"] = true +--@src/devices/bus/ti99/gromport/cartridges.h,BUSES["TI99"] = true +--@src/devices/bus/ti99/joyport/joyport.h,BUSES["TI99"] = true +--@src/devices/bus/ti99/peb/peribox.h,BUSES["TI99"] = true +--@src/devices/bus/ti99/internal/genboard.h,BUSES["TI99"] = true +--------------------------------------------------- + +if (BUSES["TI99"]~=null) then + files { + MAME_DIR .. "src/devices/bus/ti99/ti99defs.h", + MAME_DIR .. "src/devices/bus/ti99/internal/992board.cpp", + MAME_DIR .. "src/devices/bus/ti99/internal/992board.h", + MAME_DIR .. "src/devices/bus/ti99/internal/998board.cpp", + MAME_DIR .. "src/devices/bus/ti99/internal/998board.h", + MAME_DIR .. "src/devices/bus/ti99/internal/datamux.cpp", + MAME_DIR .. "src/devices/bus/ti99/internal/datamux.h", + MAME_DIR .. "src/devices/bus/ti99/internal/evpcconn.cpp", + MAME_DIR .. "src/devices/bus/ti99/internal/evpcconn.h", + MAME_DIR .. "src/devices/bus/ti99/internal/genboard.cpp", + MAME_DIR .. "src/devices/bus/ti99/internal/genboard.h", + MAME_DIR .. "src/devices/bus/ti99/internal/ioport.cpp", + MAME_DIR .. "src/devices/bus/ti99/internal/ioport.h", + MAME_DIR .. "src/devices/bus/ti99/colorbus/busmouse.cpp", + MAME_DIR .. "src/devices/bus/ti99/colorbus/busmouse.h", + MAME_DIR .. "src/devices/bus/ti99/colorbus/colorbus.cpp", + MAME_DIR .. "src/devices/bus/ti99/colorbus/colorbus.h", + MAME_DIR .. "src/devices/bus/ti99/gromport/gromport.cpp", + MAME_DIR .. "src/devices/bus/ti99/gromport/gromport.h", + MAME_DIR .. "src/devices/bus/ti99/gromport/cartridges.cpp", + MAME_DIR .. "src/devices/bus/ti99/gromport/cartridges.h", + MAME_DIR .. "src/devices/bus/ti99/gromport/gkracker.cpp", + MAME_DIR .. "src/devices/bus/ti99/gromport/gkracker.h", + MAME_DIR .. "src/devices/bus/ti99/gromport/multiconn.cpp", + MAME_DIR .. "src/devices/bus/ti99/gromport/multiconn.h", + MAME_DIR .. "src/devices/bus/ti99/gromport/singleconn.cpp", + MAME_DIR .. "src/devices/bus/ti99/gromport/singleconn.h", + MAME_DIR .. "src/devices/bus/ti99/joyport/handset.cpp", + MAME_DIR .. "src/devices/bus/ti99/joyport/handset.h", + MAME_DIR .. "src/devices/bus/ti99/joyport/joyport.cpp", + MAME_DIR .. "src/devices/bus/ti99/joyport/joyport.h", + MAME_DIR .. "src/devices/bus/ti99/joyport/mecmouse.cpp", + MAME_DIR .. "src/devices/bus/ti99/joyport/mecmouse.h", + MAME_DIR .. "src/devices/bus/ti99/peb/peribox.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/peribox.h", + MAME_DIR .. "src/devices/bus/ti99/peb/bwg.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/bwg.h", + MAME_DIR .. "src/devices/bus/ti99/peb/evpc.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/evpc.h", + MAME_DIR .. "src/devices/bus/ti99/peb/hfdc.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/hfdc.h", + MAME_DIR .. "src/devices/bus/ti99/peb/horizon.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/horizon.h", + MAME_DIR .. "src/devices/bus/ti99/peb/hsgpl.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/hsgpl.h", + MAME_DIR .. "src/devices/bus/ti99/peb/memex.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/memex.h", + MAME_DIR .. "src/devices/bus/ti99/peb/myarcmem.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/myarcmem.h", + MAME_DIR .. "src/devices/bus/ti99/peb/pcode.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/pcode.h", + MAME_DIR .. "src/devices/bus/ti99/peb/samsmem.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/samsmem.h", + MAME_DIR .. "src/devices/bus/ti99/peb/spchsyn.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/spchsyn.h", + MAME_DIR .. "src/devices/bus/ti99/peb/ti_32kmem.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/ti_32kmem.h", + MAME_DIR .. "src/devices/bus/ti99/peb/ti_fdc.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/ti_fdc.h", + MAME_DIR .. "src/devices/bus/ti99/peb/ti_rs232.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/ti_rs232.h", + MAME_DIR .. "src/devices/bus/ti99/peb/tn_ide.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/tn_ide.h", + MAME_DIR .. "src/devices/bus/ti99/peb/tn_usbsm.cpp", + MAME_DIR .. "src/devices/bus/ti99/peb/tn_usbsm.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/gameboy/gb_slot.h,BUSES["GAMEBOY"] = true +--------------------------------------------------- + +if (BUSES["GAMEBOY"]~=null) then + files { + MAME_DIR .. "src/devices/bus/gameboy/gb_slot.cpp", + MAME_DIR .. "src/devices/bus/gameboy/gb_slot.h", + MAME_DIR .. "src/devices/bus/gameboy/rom.cpp", + MAME_DIR .. "src/devices/bus/gameboy/rom.h", + MAME_DIR .. "src/devices/bus/gameboy/mbc.cpp", + MAME_DIR .. "src/devices/bus/gameboy/mbc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/gamegear/ggext.h,BUSES["GAMEGEAR"] = true +--------------------------------------------------- + +if (BUSES["GAMEGEAR"]~=null) then + files { + MAME_DIR .. "src/devices/bus/gamegear/ggext.cpp", + MAME_DIR .. "src/devices/bus/gamegear/ggext.h", + MAME_DIR .. "src/devices/bus/gamegear/smsctrladp.cpp", + MAME_DIR .. "src/devices/bus/gamegear/smsctrladp.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/gba/gba_slot.h,BUSES["GBA"] = true +--------------------------------------------------- + +if (BUSES["GBA"]~=null) then + files { + MAME_DIR .. "src/devices/bus/gba/gba_slot.cpp", + MAME_DIR .. "src/devices/bus/gba/gba_slot.h", + MAME_DIR .. "src/devices/bus/gba/rom.cpp", + MAME_DIR .. "src/devices/bus/gba/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/bml3/bml3bus.h,BUSES["BML3"] = true +--------------------------------------------------- +if (BUSES["BML3"]~=null) then + files { + MAME_DIR .. "src/devices/bus/bml3/bml3bus.cpp", + MAME_DIR .. "src/devices/bus/bml3/bml3bus.h", + MAME_DIR .. "src/devices/bus/bml3/bml3mp1802.cpp", + MAME_DIR .. "src/devices/bus/bml3/bml3mp1802.h", + MAME_DIR .. "src/devices/bus/bml3/bml3mp1805.cpp", + MAME_DIR .. "src/devices/bus/bml3/bml3mp1805.h", + MAME_DIR .. "src/devices/bus/bml3/bml3kanji.cpp", + MAME_DIR .. "src/devices/bus/bml3/bml3kanji.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/coco/cococart.h,BUSES["COCO"] = true +--------------------------------------------------- +if (BUSES["COCO"]~=null) then + files { + MAME_DIR .. "src/devices/bus/coco/cococart.cpp", + MAME_DIR .. "src/devices/bus/coco/cococart.h", + MAME_DIR .. "src/devices/bus/coco/coco_rs232.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_rs232.h", + MAME_DIR .. "src/devices/bus/coco/coco_dcmodem.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_dcmodem.h", + MAME_DIR .. "src/devices/bus/coco/coco_orch90.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_orch90.h", + MAME_DIR .. "src/devices/bus/coco/coco_ssc.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_ssc.h", + MAME_DIR .. "src/devices/bus/coco/coco_pak.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_pak.h", + MAME_DIR .. "src/devices/bus/coco/coco_fdc.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_fdc.h", + MAME_DIR .. "src/devices/bus/coco/coco_gmc.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_gmc.h", + MAME_DIR .. "src/devices/bus/coco/coco_multi.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_multi.h", + MAME_DIR .. "src/devices/bus/coco/coco_dwsock.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_dwsock.h", + MAME_DIR .. "src/devices/bus/coco/coco_t4426.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_t4426.h", + MAME_DIR .. "src/devices/bus/coco/dragon_fdc.cpp", + MAME_DIR .. "src/devices/bus/coco/dragon_fdc.h", + MAME_DIR .. "src/devices/bus/coco/dragon_jcbsnd.cpp", + MAME_DIR .. "src/devices/bus/coco/dragon_jcbsnd.h", + MAME_DIR .. "src/devices/bus/coco/dragon_sprites.cpp", + MAME_DIR .. "src/devices/bus/coco/dragon_sprites.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/cpc/cpcexp.h,BUSES["CPC"] = true +--------------------------------------------------- +if (BUSES["CPC"]~=null) then + files { + MAME_DIR .. "src/devices/bus/cpc/cpcexp.cpp", + MAME_DIR .. "src/devices/bus/cpc/cpcexp.h", + MAME_DIR .. "src/devices/bus/cpc/cpc_ssa1.cpp", + MAME_DIR .. "src/devices/bus/cpc/cpc_ssa1.h", + MAME_DIR .. "src/devices/bus/cpc/cpc_rom.cpp", + MAME_DIR .. "src/devices/bus/cpc/cpc_rom.h", + MAME_DIR .. "src/devices/bus/cpc/cpc_pds.cpp", + MAME_DIR .. "src/devices/bus/cpc/cpc_pds.h", + MAME_DIR .. "src/devices/bus/cpc/cpc_rs232.cpp", + MAME_DIR .. "src/devices/bus/cpc/cpc_rs232.h", + MAME_DIR .. "src/devices/bus/cpc/mface2.cpp", + MAME_DIR .. "src/devices/bus/cpc/mface2.h", + MAME_DIR .. "src/devices/bus/cpc/symbfac2.cpp", + MAME_DIR .. "src/devices/bus/cpc/symbfac2.h", + MAME_DIR .. "src/devices/bus/cpc/amdrum.cpp", + MAME_DIR .. "src/devices/bus/cpc/amdrum.h", + MAME_DIR .. "src/devices/bus/cpc/playcity.cpp", + MAME_DIR .. "src/devices/bus/cpc/playcity.h", + MAME_DIR .. "src/devices/bus/cpc/smartwatch.cpp", + MAME_DIR .. "src/devices/bus/cpc/smartwatch.h", + MAME_DIR .. "src/devices/bus/cpc/brunword4.cpp", + MAME_DIR .. "src/devices/bus/cpc/brunword4.h", + MAME_DIR .. "src/devices/bus/cpc/hd20.cpp", + MAME_DIR .. "src/devices/bus/cpc/hd20.h", + MAME_DIR .. "src/devices/bus/cpc/ddi1.cpp", + MAME_DIR .. "src/devices/bus/cpc/ddi1.h", + MAME_DIR .. "src/devices/bus/cpc/magicsound.cpp", + MAME_DIR .. "src/devices/bus/cpc/magicsound.h", + MAME_DIR .. "src/devices/bus/cpc/doubler.cpp", + MAME_DIR .. "src/devices/bus/cpc/doubler.h", + MAME_DIR .. "src/devices/bus/cpc/transtape.cpp", + MAME_DIR .. "src/devices/bus/cpc/transtape.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/epson_sio/epson_sio.h,BUSES["EPSON_SIO"] = true +--------------------------------------------------- +if (BUSES["EPSON_SIO"]~=null) then + files { + MAME_DIR .. "src/devices/bus/epson_sio/epson_sio.cpp", + MAME_DIR .. "src/devices/bus/epson_sio/epson_sio.h", + MAME_DIR .. "src/devices/bus/epson_sio/pf10.cpp", + MAME_DIR .. "src/devices/bus/epson_sio/pf10.h", + MAME_DIR .. "src/devices/bus/epson_sio/tf20.cpp", + MAME_DIR .. "src/devices/bus/epson_sio/tf20.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/pce/pce_slot.h,BUSES["PCE"] = true +--------------------------------------------------- +if (BUSES["PCE"]~=null) then + files { + MAME_DIR .. "src/devices/bus/pce/pce_slot.cpp", + MAME_DIR .. "src/devices/bus/pce/pce_slot.h", + MAME_DIR .. "src/devices/bus/pce/pce_rom.cpp", + MAME_DIR .. "src/devices/bus/pce/pce_rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/scv/slot.h,BUSES["SCV"] = true +--------------------------------------------------- +if (BUSES["SCV"]~=null) then + files { + MAME_DIR .. "src/devices/bus/scv/slot.cpp", + MAME_DIR .. "src/devices/bus/scv/slot.h", + MAME_DIR .. "src/devices/bus/scv/rom.cpp", + MAME_DIR .. "src/devices/bus/scv/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/x68k/x68kexp.h,BUSES["X68K"] = true +--------------------------------------------------- +if (BUSES["X68K"]~=null) then + files { + MAME_DIR .. "src/devices/bus/x68k/x68kexp.cpp", + MAME_DIR .. "src/devices/bus/x68k/x68kexp.h", + MAME_DIR .. "src/devices/bus/x68k/x68k_neptunex.cpp", + MAME_DIR .. "src/devices/bus/x68k/x68k_neptunex.h", + MAME_DIR .. "src/devices/bus/x68k/x68k_scsiext.cpp", + MAME_DIR .. "src/devices/bus/x68k/x68k_scsiext.h", + MAME_DIR .. "src/devices/bus/x68k/x68k_midi.cpp", + MAME_DIR .. "src/devices/bus/x68k/x68k_midi.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/abckb/abckb.h,BUSES["ABCKB"] = true +--------------------------------------------------- +if (BUSES["ABCKB"]~=null) then + files { + MAME_DIR .. "src/devices/bus/abckb/abckb.cpp", + MAME_DIR .. "src/devices/bus/abckb/abckb.h", + MAME_DIR .. "src/devices/bus/abckb/abc77.cpp", + MAME_DIR .. "src/devices/bus/abckb/abc77.h", + MAME_DIR .. "src/devices/bus/abckb/abc99.cpp", + MAME_DIR .. "src/devices/bus/abckb/abc99.h", + MAME_DIR .. "src/devices/bus/abckb/abc800kb.cpp", + MAME_DIR .. "src/devices/bus/abckb/abc800kb.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/compucolor/floppy.h,BUSES["COMPUCOLOR"] = true +--------------------------------------------------- +if (BUSES["COMPUCOLOR"]~=null) then + files { + MAME_DIR .. "src/devices/bus/compucolor/floppy.cpp", + MAME_DIR .. "src/devices/bus/compucolor/floppy.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/scsi/scsi.h,BUSES["SCSI"] = true +--------------------------------------------------- +if (BUSES["SCSI"]~=null) then + files { + MAME_DIR .. "src/devices/bus/scsi/scsi.cpp", + MAME_DIR .. "src/devices/bus/scsi/scsi.h", + MAME_DIR .. "src/devices/bus/scsi/scsicd.cpp", + MAME_DIR .. "src/devices/bus/scsi/scsicd.h", + MAME_DIR .. "src/devices/bus/scsi/scsihd.cpp", + MAME_DIR .. "src/devices/bus/scsi/scsihd.h", + MAME_DIR .. "src/devices/bus/scsi/scsihle.cpp", + MAME_DIR .. "src/devices/bus/scsi/scsihle.h", + MAME_DIR .. "src/devices/bus/scsi/cdu76s.cpp", + MAME_DIR .. "src/devices/bus/scsi/cdu76s.h", + MAME_DIR .. "src/devices/bus/scsi/scsicd512.cpp", + MAME_DIR .. "src/devices/bus/scsi/scsicd512.h", + MAME_DIR .. "src/devices/bus/scsi/acb4070.cpp", + MAME_DIR .. "src/devices/bus/scsi/acb4070.h", + MAME_DIR .. "src/devices/bus/scsi/d9060hd.cpp", + MAME_DIR .. "src/devices/bus/scsi/d9060hd.h", + MAME_DIR .. "src/devices/bus/scsi/sa1403d.cpp", + MAME_DIR .. "src/devices/bus/scsi/sa1403d.h", + MAME_DIR .. "src/devices/bus/scsi/s1410.cpp", + MAME_DIR .. "src/devices/bus/scsi/s1410.h", + MAME_DIR .. "src/devices/bus/scsi/pc9801_sasi.cpp", + MAME_DIR .. "src/devices/bus/scsi/pc9801_sasi.h", + MAME_DIR .. "src/devices/bus/scsi/omti5100.cpp", + MAME_DIR .. "src/devices/bus/scsi/omti5100.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/macpds/macpds.h,BUSES["MACPDS"] = true +--------------------------------------------------- +if (BUSES["MACPDS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/macpds/macpds.cpp", + MAME_DIR .. "src/devices/bus/macpds/macpds.h", + MAME_DIR .. "src/devices/bus/macpds/pds_tpdfpd.cpp", + MAME_DIR .. "src/devices/bus/macpds/pds_tpdfpd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/oricext/oricext.h,BUSES["ORICEXT"] = true +--------------------------------------------------- +if (BUSES["ORICEXT"]~=null) then + files { + MAME_DIR .. "src/devices/bus/oricext/oricext.cpp", + MAME_DIR .. "src/devices/bus/oricext/oricext.h", + MAME_DIR .. "src/devices/bus/oricext/jasmin.cpp", + MAME_DIR .. "src/devices/bus/oricext/jasmin.h", + MAME_DIR .. "src/devices/bus/oricext/microdisc.cpp", + MAME_DIR .. "src/devices/bus/oricext/microdisc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/a1bus/a1bus.h,BUSES["A1BUS"] = true +--------------------------------------------------- + +if (BUSES["A1BUS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/a1bus/a1bus.cpp", + MAME_DIR .. "src/devices/bus/a1bus/a1bus.h", + MAME_DIR .. "src/devices/bus/a1bus/a1cassette.cpp", + MAME_DIR .. "src/devices/bus/a1bus/a1cassette.h", + MAME_DIR .. "src/devices/bus/a1bus/a1cffa.cpp", + MAME_DIR .. "src/devices/bus/a1bus/a1cffa.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/amiga/keyboard/keyboard.h,BUSES["AMIGA_KEYBOARD"] = true +--------------------------------------------------- + +if (BUSES["AMIGA_KEYBOARD"]~=null) then + files { + MAME_DIR .. "src/devices/bus/amiga/keyboard/keyboard.cpp", + MAME_DIR .. "src/devices/bus/amiga/keyboard/keyboard.h", + MAME_DIR .. "src/devices/bus/amiga/keyboard/matrix.cpp", + MAME_DIR .. "src/devices/bus/amiga/keyboard/matrix.h", + MAME_DIR .. "src/devices/bus/amiga/keyboard/a1200.cpp", + MAME_DIR .. "src/devices/bus/amiga/keyboard/a1200.h", + MAME_DIR .. "src/devices/bus/amiga/keyboard/a2000.cpp", + MAME_DIR .. "src/devices/bus/amiga/keyboard/a2000.h", + MAME_DIR .. "src/devices/bus/amiga/keyboard/mitsumi.cpp", + MAME_DIR .. "src/devices/bus/amiga/keyboard/mitsumi.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/amiga/zorro/zorro.h,BUSES["ZORRO"] = true +--------------------------------------------------- + +if (BUSES["ZORRO"]~=null) then + files { + MAME_DIR .. "src/devices/bus/amiga/zorro/zorro.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/zorro.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/cards.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/cards.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/a2052.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/a2052.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/a2058.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/a2058.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/a2065.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/a2065.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/a2232.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/a2232.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/a590.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/a590.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/action_replay.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/action_replay.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/buddha.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/buddha.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/sgikbd/sgikbd.h,BUSES["SGIKBD"] = true +--------------------------------------------------- + +if (BUSES["SGIKBD"]~=null) then + files { + MAME_DIR .. "src/devices/bus/sgikbd/hlekbd.cpp", + MAME_DIR .. "src/devices/bus/sgikbd/hlekbd.h", + MAME_DIR .. "src/devices/bus/sgikbd/sgikbd.cpp", + MAME_DIR .. "src/devices/bus/sgikbd/sgikbd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/sunkbd/sunkbd.h,BUSES["SUNKBD"] = true +--------------------------------------------------- + +if (BUSES["SUNKBD"]~=null) then + files { + MAME_DIR .. "src/devices/bus/sunkbd/hlekbd.cpp", + MAME_DIR .. "src/devices/bus/sunkbd/hlekbd.h", + MAME_DIR .. "src/devices/bus/sunkbd/sunkbd.cpp", + MAME_DIR .. "src/devices/bus/sunkbd/sunkbd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/sunmouse/sunmouse.h,BUSES["SUNMOUSE"] = true +--------------------------------------------------- + +if (BUSES["SUNMOUSE"]~=null) then + files { + MAME_DIR .. "src/devices/bus/sunmouse/hlemouse.cpp", + MAME_DIR .. "src/devices/bus/sunmouse/hlemouse.h", + MAME_DIR .. "src/devices/bus/sunmouse/sunmouse.cpp", + MAME_DIR .. "src/devices/bus/sunmouse/sunmouse.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/sbus/sbus.h,BUSES["SBUS"] = true +--------------------------------------------------- + +if (BUSES["SBUS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/sbus/artecon.cpp", + MAME_DIR .. "src/devices/bus/sbus/artecon.h", + MAME_DIR .. "src/devices/bus/sbus/bwtwo.cpp", + MAME_DIR .. "src/devices/bus/sbus/bwtwo.h", + MAME_DIR .. "src/devices/bus/sbus/cgsix.cpp", + MAME_DIR .. "src/devices/bus/sbus/cgsix.h", + MAME_DIR .. "src/devices/bus/sbus/cgthree.cpp", + MAME_DIR .. "src/devices/bus/sbus/cgthree.h", + MAME_DIR .. "src/devices/bus/sbus/hme.cpp", + MAME_DIR .. "src/devices/bus/sbus/hme.h", + MAME_DIR .. "src/devices/bus/sbus/sunpc.cpp", + MAME_DIR .. "src/devices/bus/sbus/sunpc.h", + MAME_DIR .. "src/devices/bus/sbus/sbus.cpp", + MAME_DIR .. "src/devices/bus/sbus/sbus.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/ql/exp.h,BUSES["QL"] = true +--------------------------------------------------- + +if (BUSES["QL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/ql/exp.cpp", + MAME_DIR .. "src/devices/bus/ql/exp.h", + MAME_DIR .. "src/devices/bus/ql/cst_qdisc.cpp", + MAME_DIR .. "src/devices/bus/ql/cst_qdisc.h", + MAME_DIR .. "src/devices/bus/ql/cst_q_plus4.cpp", + MAME_DIR .. "src/devices/bus/ql/cst_q_plus4.h", + MAME_DIR .. "src/devices/bus/ql/cumana_fdi.cpp", + MAME_DIR .. "src/devices/bus/ql/cumana_fdi.h", + MAME_DIR .. "src/devices/bus/ql/kempston_di.cpp", + MAME_DIR .. "src/devices/bus/ql/kempston_di.h", + MAME_DIR .. "src/devices/bus/ql/miracle_gold_card.cpp", + MAME_DIR .. "src/devices/bus/ql/miracle_gold_card.h", + MAME_DIR .. "src/devices/bus/ql/mp_fdi.cpp", + MAME_DIR .. "src/devices/bus/ql/mp_fdi.h", + MAME_DIR .. "src/devices/bus/ql/opd_basic_master.cpp", + MAME_DIR .. "src/devices/bus/ql/opd_basic_master.h", + MAME_DIR .. "src/devices/bus/ql/pcml_qdisk.cpp", + MAME_DIR .. "src/devices/bus/ql/pcml_qdisk.h", + MAME_DIR .. "src/devices/bus/ql/qubide.cpp", + MAME_DIR .. "src/devices/bus/ql/qubide.h", + MAME_DIR .. "src/devices/bus/ql/sandy_superdisk.cpp", + MAME_DIR .. "src/devices/bus/ql/sandy_superdisk.h", + MAME_DIR .. "src/devices/bus/ql/sandy_superqboard.cpp", + MAME_DIR .. "src/devices/bus/ql/sandy_superqboard.h", + MAME_DIR .. "src/devices/bus/ql/trumpcard.cpp", + MAME_DIR .. "src/devices/bus/ql/trumpcard.h", + MAME_DIR .. "src/devices/bus/ql/rom.cpp", + MAME_DIR .. "src/devices/bus/ql/rom.h", + MAME_DIR .. "src/devices/bus/ql/miracle_hd.cpp", + MAME_DIR .. "src/devices/bus/ql/miracle_hd.h", + MAME_DIR .. "src/devices/bus/ql/std.cpp", + MAME_DIR .. "src/devices/bus/ql/std.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/spectrum/exp.h,BUSES["SPECTRUM"] = true +--------------------------------------------------- + +if (BUSES["SPECTRUM"]~=null) then + files { + MAME_DIR .. "src/devices/bus/spectrum/exp.cpp", + MAME_DIR .. "src/devices/bus/spectrum/exp.h", + MAME_DIR .. "src/devices/bus/spectrum/beta.cpp", + MAME_DIR .. "src/devices/bus/spectrum/beta.h", + MAME_DIR .. "src/devices/bus/spectrum/intf1.cpp", + MAME_DIR .. "src/devices/bus/spectrum/intf1.h", + MAME_DIR .. "src/devices/bus/spectrum/intf2.cpp", + MAME_DIR .. "src/devices/bus/spectrum/intf2.h", + MAME_DIR .. "src/devices/bus/spectrum/fuller.cpp", + MAME_DIR .. "src/devices/bus/spectrum/fuller.h", + MAME_DIR .. "src/devices/bus/spectrum/kempjoy.cpp", + MAME_DIR .. "src/devices/bus/spectrum/kempjoy.h", + MAME_DIR .. "src/devices/bus/spectrum/melodik.cpp", + MAME_DIR .. "src/devices/bus/spectrum/melodik.h", + MAME_DIR .. "src/devices/bus/spectrum/mface.cpp", + MAME_DIR .. "src/devices/bus/spectrum/mface.h", + MAME_DIR .. "src/devices/bus/spectrum/mikroplus.cpp", + MAME_DIR .. "src/devices/bus/spectrum/mikroplus.h", + MAME_DIR .. "src/devices/bus/spectrum/opus.cpp", + MAME_DIR .. "src/devices/bus/spectrum/opus.h", + MAME_DIR .. "src/devices/bus/spectrum/plus2test.cpp", + MAME_DIR .. "src/devices/bus/spectrum/plus2test.h", + MAME_DIR .. "src/devices/bus/spectrum/protek.cpp", + MAME_DIR .. "src/devices/bus/spectrum/protek.h", + MAME_DIR .. "src/devices/bus/spectrum/specdrum.cpp", + MAME_DIR .. "src/devices/bus/spectrum/specdrum.h", + MAME_DIR .. "src/devices/bus/spectrum/uslot.cpp", + MAME_DIR .. "src/devices/bus/spectrum/uslot.h", + MAME_DIR .. "src/devices/bus/spectrum/usource.cpp", + MAME_DIR .. "src/devices/bus/spectrum/usource.h", + MAME_DIR .. "src/devices/bus/spectrum/uspeech.cpp", + MAME_DIR .. "src/devices/bus/spectrum/uspeech.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/uts_kbd/uts_kbd.h,BUSES["UTS_KBD"] = true +--------------------------------------------------- + +if (BUSES["UTS_KBD"]~=null) then + files { + MAME_DIR .. "src/devices/bus/uts_kbd/400kbd.cpp", + MAME_DIR .. "src/devices/bus/uts_kbd/400kbd.h", + MAME_DIR .. "src/devices/bus/uts_kbd/extw.cpp", + MAME_DIR .. "src/devices/bus/uts_kbd/extw.h", + MAME_DIR .. "src/devices/bus/uts_kbd/uts_kbd.cpp", + MAME_DIR .. "src/devices/bus/uts_kbd/uts_kbd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/vsmile/vsmile_ctrl.h,BUSES["VSMILE"] = true +--@src/devices/bus/vsmile/vsmile_slot.h,BUSES["VSMILE"] = true +--------------------------------------------------- + +if (BUSES["VSMILE"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vsmile/vsmile_ctrl.cpp", + MAME_DIR .. "src/devices/bus/vsmile/vsmile_ctrl.h", + MAME_DIR .. "src/devices/bus/vsmile/pad.cpp", + MAME_DIR .. "src/devices/bus/vsmile/pad.h", + MAME_DIR .. "src/devices/bus/vsmile/vsmile_slot.cpp", + MAME_DIR .. "src/devices/bus/vsmile/vsmile_slot.h", + MAME_DIR .. "src/devices/bus/vsmile/rom.cpp", + MAME_DIR .. "src/devices/bus/vsmile/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/vtech/memexp/memexp.h,BUSES["VTECH_MEMEXP"] = true +--------------------------------------------------- + +if (BUSES["VTECH_MEMEXP"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vtech/memexp/memexp.cpp", + MAME_DIR .. "src/devices/bus/vtech/memexp/memexp.h", + MAME_DIR .. "src/devices/bus/vtech/memexp/carts.cpp", + MAME_DIR .. "src/devices/bus/vtech/memexp/carts.h", + MAME_DIR .. "src/devices/bus/vtech/memexp/floppy.cpp", + MAME_DIR .. "src/devices/bus/vtech/memexp/floppy.h", + MAME_DIR .. "src/devices/bus/vtech/memexp/memory.cpp", + MAME_DIR .. "src/devices/bus/vtech/memexp/memory.h", + MAME_DIR .. "src/devices/bus/vtech/memexp/rs232.cpp", + MAME_DIR .. "src/devices/bus/vtech/memexp/rs232.h", + MAME_DIR .. "src/devices/bus/vtech/memexp/rtty.cpp", + MAME_DIR .. "src/devices/bus/vtech/memexp/rtty.h", + MAME_DIR .. "src/devices/bus/vtech/memexp/wordpro.cpp", + MAME_DIR .. "src/devices/bus/vtech/memexp/wordpro.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/vtech/ioexp/ioexp.h,BUSES["VTECH_IOEXP"] = true +--------------------------------------------------- + +if (BUSES["VTECH_IOEXP"]~=null) then + files { + MAME_DIR .. "src/devices/bus/vtech/ioexp/ioexp.cpp", + MAME_DIR .. "src/devices/bus/vtech/ioexp/ioexp.h", + MAME_DIR .. "src/devices/bus/vtech/ioexp/carts.cpp", + MAME_DIR .. "src/devices/bus/vtech/ioexp/carts.h", + MAME_DIR .. "src/devices/bus/vtech/ioexp/joystick.cpp", + MAME_DIR .. "src/devices/bus/vtech/ioexp/joystick.h", + MAME_DIR .. "src/devices/bus/vtech/ioexp/printer.cpp", + MAME_DIR .. "src/devices/bus/vtech/ioexp/printer.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/wswan/slot.h,BUSES["WSWAN"] = true +--------------------------------------------------- + +if (BUSES["WSWAN"]~=null) then + files { + MAME_DIR .. "src/devices/bus/wswan/slot.cpp", + MAME_DIR .. "src/devices/bus/wswan/slot.h", + MAME_DIR .. "src/devices/bus/wswan/rom.cpp", + MAME_DIR .. "src/devices/bus/wswan/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/psx/ctlrport.h,BUSES["PSX_CONTROLLER"] = true +--------------------------------------------------- + +if (BUSES["PSX_CONTROLLER"]~=null) then + files { + MAME_DIR .. "src/devices/bus/psx/ctlrport.cpp", + MAME_DIR .. "src/devices/bus/psx/ctlrport.h", + MAME_DIR .. "src/devices/bus/psx/analogue.cpp", + MAME_DIR .. "src/devices/bus/psx/analogue.h", + MAME_DIR .. "src/devices/bus/psx/multitap.cpp", + MAME_DIR .. "src/devices/bus/psx/multitap.h", + MAME_DIR .. "src/devices/bus/psx/memcard.cpp", + MAME_DIR .. "src/devices/bus/psx/memcard.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/psx/parallel.h,BUSES["PSX_PARALLEL"] = true +--------------------------------------------------- + +if (BUSES["PSX_PARALLEL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/psx/parallel.cpp", + MAME_DIR .. "src/devices/bus/psx/parallel.h", + MAME_DIR .. "src/devices/bus/psx/gamebooster.cpp", + MAME_DIR .. "src/devices/bus/psx/gamebooster.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/nasbus/nasbus.h,BUSES["NASBUS"] = true +--------------------------------------------------- + +if (BUSES["NASBUS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/nasbus/nasbus.cpp", + MAME_DIR .. "src/devices/bus/nasbus/nasbus.h", + MAME_DIR .. "src/devices/bus/nasbus/cards.cpp", + MAME_DIR .. "src/devices/bus/nasbus/cards.h", + MAME_DIR .. "src/devices/bus/nasbus/avc.cpp", + MAME_DIR .. "src/devices/bus/nasbus/avc.h", + MAME_DIR .. "src/devices/bus/nasbus/floppy.cpp", + MAME_DIR .. "src/devices/bus/nasbus/floppy.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/cgenie/expansion/expansion.h,BUSES["CGENIE_EXPANSION"] = true +--------------------------------------------------- + +if (BUSES["CGENIE_EXPANSION"]~=null) then + files { + MAME_DIR .. "src/devices/bus/cgenie/expansion/expansion.cpp", + MAME_DIR .. "src/devices/bus/cgenie/expansion/expansion.h", + MAME_DIR .. "src/devices/bus/cgenie/expansion/carts.cpp", + MAME_DIR .. "src/devices/bus/cgenie/expansion/carts.h", + MAME_DIR .. "src/devices/bus/cgenie/expansion/floppy.cpp", + MAME_DIR .. "src/devices/bus/cgenie/expansion/floppy.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/cgenie/parallel/parallel.h,BUSES["CGENIE_PARALLEL"] = true +--------------------------------------------------- + +if (BUSES["CGENIE_PARALLEL"]~=null) then + files { + MAME_DIR .. "src/devices/bus/cgenie/parallel/parallel.cpp", + MAME_DIR .. "src/devices/bus/cgenie/parallel/parallel.h", + MAME_DIR .. "src/devices/bus/cgenie/parallel/carts.cpp", + MAME_DIR .. "src/devices/bus/cgenie/parallel/carts.h", + MAME_DIR .. "src/devices/bus/cgenie/parallel/joystick.cpp", + MAME_DIR .. "src/devices/bus/cgenie/parallel/joystick.h", + MAME_DIR .. "src/devices/bus/cgenie/parallel/printer.cpp", + MAME_DIR .. "src/devices/bus/cgenie/parallel/printer.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/m5/slot.h,BUSES["M5"] = true +--------------------------------------------------- +if (BUSES["M5"]~=null) then + files { + MAME_DIR .. "src/devices/bus/m5/slot.cpp", + MAME_DIR .. "src/devices/bus/m5/slot.h", + MAME_DIR .. "src/devices/bus/m5/rom.cpp", + MAME_DIR .. "src/devices/bus/m5/rom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/newbrain/exp.h,BUSES["NEWBRAIN"] = true +--------------------------------------------------- + +if (BUSES["NEWBRAIN"]~=null) then + files { + MAME_DIR .. "src/devices/bus/newbrain/exp.cpp", + MAME_DIR .. "src/devices/bus/newbrain/exp.h", + MAME_DIR .. "src/devices/bus/newbrain/eim.cpp", + MAME_DIR .. "src/devices/bus/newbrain/eim.h", + MAME_DIR .. "src/devices/bus/newbrain/fdc.cpp", + MAME_DIR .. "src/devices/bus/newbrain/fdc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/svi3x8/expander/expander.h,BUSES["SVI_EXPANDER"] = true +--------------------------------------------------- + +if (BUSES["SVI_EXPANDER"]~=null) then + files { + MAME_DIR .. "src/devices/bus/svi3x8/expander/expander.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/expander/expander.h", + MAME_DIR .. "src/devices/bus/svi3x8/expander/modules.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/expander/modules.h", + MAME_DIR .. "src/devices/bus/svi3x8/expander/sv601.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/expander/sv601.h", + MAME_DIR .. "src/devices/bus/svi3x8/expander/sv602.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/expander/sv602.h", + MAME_DIR .. "src/devices/bus/svi3x8/expander/sv603.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/expander/sv603.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/svi3x8/slot/slot.h,BUSES["SVI_SLOT"] = true +--------------------------------------------------- + +if (BUSES["SVI_SLOT"]~=null) then + files { + MAME_DIR .. "src/devices/bus/svi3x8/slot/slot.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/slot/slot.h", + MAME_DIR .. "src/devices/bus/svi3x8/slot/cards.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/slot/cards.h", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv801.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv801.h", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv802.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv802.h", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv803.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv803.h", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv805.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv805.h", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv806.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv806.h", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv807.cpp", + MAME_DIR .. "src/devices/bus/svi3x8/slot/sv807.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/hp_optroms/hp_optrom.h,BUSES["HP_OPTROM"] = true +--------------------------------------------------- + +if (BUSES["HP_OPTROM"]~=null) then + files { + MAME_DIR .. "src/devices/bus/hp_optroms/hp_optrom.cpp", + MAME_DIR .. "src/devices/bus/hp_optroms/hp_optrom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/hp80_optroms/hp80_optrom.h,BUSES["HP80_OPTROM"] = true +--------------------------------------------------- + +if (BUSES["HP80_OPTROM"]~=null) then + files { + MAME_DIR .. "src/devices/bus/hp80_optroms/hp80_optrom.cpp", + MAME_DIR .. "src/devices/bus/hp80_optroms/hp80_optrom.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/hp80_io/hp80_io.h,BUSES["HP80_IO"] = true +--------------------------------------------------- + +if (BUSES["HP80_IO"]~=null) then + files { + MAME_DIR .. "src/devices/bus/hp80_io/hp80_io.cpp", + MAME_DIR .. "src/devices/bus/hp80_io/hp80_io.h", + MAME_DIR .. "src/devices/bus/hp80_io/82937.cpp", + MAME_DIR .. "src/devices/bus/hp80_io/82937.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/hp9845_io/hp9845_io.h,BUSES["HP9845_IO"] = true +--------------------------------------------------- + +if (BUSES["HP9845_IO"]~=null) then + files { + MAME_DIR .. "src/devices/bus/hp9845_io/hp9845_io.cpp", + MAME_DIR .. "src/devices/bus/hp9845_io/hp9845_io.h", + MAME_DIR .. "src/devices/bus/hp9845_io/98032.cpp", + MAME_DIR .. "src/devices/bus/hp9845_io/98032.h", + MAME_DIR .. "src/devices/bus/hp9845_io/98034.cpp", + MAME_DIR .. "src/devices/bus/hp9845_io/98034.h", + MAME_DIR .. "src/devices/bus/hp9845_io/98035.cpp", + MAME_DIR .. "src/devices/bus/hp9845_io/98035.h", + MAME_DIR .. "src/devices/bus/hp9845_io/98046.cpp", + MAME_DIR .. "src/devices/bus/hp9845_io/98046.h", + MAME_DIR .. "src/devices/bus/hp9845_io/hp9885.cpp", + MAME_DIR .. "src/devices/bus/hp9845_io/hp9885.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/compis/graphics.h,BUSES["COMPIS_GRAPHICS"] = true +--------------------------------------------------- + +if (BUSES["COMPIS_GRAPHICS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/compis/graphics.cpp", + MAME_DIR .. "src/devices/bus/compis/graphics.h", + MAME_DIR .. "src/devices/bus/compis/hrg.cpp", + MAME_DIR .. "src/devices/bus/compis/hrg.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/pc1512/mouse.h,BUSES["PC1512"] = true +--------------------------------------------------- + +if (BUSES["PC1512"]~=null) then + files { + MAME_DIR .. "src/devices/bus/pc1512/mouse.cpp", + MAME_DIR .. "src/devices/bus/pc1512/mouse.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/cbus/pc9801_cbus.h,BUSES["CBUS"] = true +--------------------------------------------------- + +if (BUSES["CBUS"]~=null) then + files { + MAME_DIR .. "src/devices/bus/cbus/pc9801_26.cpp", + MAME_DIR .. "src/devices/bus/cbus/pc9801_26.h", + MAME_DIR .. "src/devices/bus/cbus/pc9801_86.cpp", + MAME_DIR .. "src/devices/bus/cbus/pc9801_86.h", + MAME_DIR .. "src/devices/bus/cbus/pc9801_118.cpp", + MAME_DIR .. "src/devices/bus/cbus/pc9801_118.h", + MAME_DIR .. "src/devices/bus/cbus/pc9801_amd98.cpp", + MAME_DIR .. "src/devices/bus/cbus/pc9801_amd98.h", + MAME_DIR .. "src/devices/bus/cbus/pc9801_snd.cpp", + MAME_DIR .. "src/devices/bus/cbus/pc9801_snd.h", + MAME_DIR .. "src/devices/bus/cbus/mpu_pc98.cpp", + MAME_DIR .. "src/devices/bus/cbus/mpu_pc98.h", + MAME_DIR .. "src/devices/bus/cbus/pc9801_cbus.cpp", + MAME_DIR .. "src/devices/bus/cbus/pc9801_cbus.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/psi_kbd/psi_kbd.h,BUSES["PSI_KEYBOARD"] = true +--------------------------------------------------- + +if (BUSES["PSI_KEYBOARD"]~=null) then + files { + MAME_DIR .. "src/devices/bus/psi_kbd/psi_kbd.cpp", + MAME_DIR .. "src/devices/bus/psi_kbd/psi_kbd.h", + MAME_DIR .. "src/devices/bus/psi_kbd/ergoline.cpp", + MAME_DIR .. "src/devices/bus/psi_kbd/ergoline.h", + MAME_DIR .. "src/devices/bus/psi_kbd/hle.cpp", + MAME_DIR .. "src/devices/bus/psi_kbd/hle.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/interpro/sr/sr.h,BUSES["INTERPRO_SR"] = true +--------------------------------------------------- + +if (BUSES["INTERPRO_SR"]~=null) then + files { + MAME_DIR .. "src/devices/bus/interpro/sr/sr.cpp", + MAME_DIR .. "src/devices/bus/interpro/sr/sr.h", + MAME_DIR .. "src/devices/bus/interpro/sr/sr_cards.cpp", + MAME_DIR .. "src/devices/bus/interpro/sr/sr_cards.h", + MAME_DIR .. "src/devices/bus/interpro/sr/gt.cpp", + MAME_DIR .. "src/devices/bus/interpro/sr/gt.h", + MAME_DIR .. "src/devices/bus/interpro/sr/edge.cpp", + MAME_DIR .. "src/devices/bus/interpro/sr/edge.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/interpro/keyboard/keyboard.h,BUSES["INTERPRO_KEYBOARD"] = true +--------------------------------------------------- + +if (BUSES["INTERPRO_KEYBOARD"]~=null) then + files { + MAME_DIR .. "src/devices/bus/interpro/keyboard/keyboard.cpp", + MAME_DIR .. "src/devices/bus/interpro/keyboard/keyboard.h", + MAME_DIR .. "src/devices/bus/interpro/keyboard/hle.cpp", + MAME_DIR .. "src/devices/bus/interpro/keyboard/hle.h", + MAME_DIR .. "src/devices/bus/interpro/keyboard/lle.cpp", + MAME_DIR .. "src/devices/bus/interpro/keyboard/lle.h" + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/interpro/mouse/mouse.h,BUSES["INTERPRO_MOUSE"] = true +--------------------------------------------------- + +if (BUSES["INTERPRO_MOUSE"]~=null) then + files { + MAME_DIR .. "src/devices/bus/interpro/mouse/mouse.cpp", + MAME_DIR .. "src/devices/bus/interpro/mouse/mouse.h" + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/einstein/pipe/pipe.h,BUSES["TATUNG_PIPE"] = true +--------------------------------------------------- + +if (BUSES["TATUNG_PIPE"]~=null) then + files { + MAME_DIR .. "src/devices/bus/einstein/pipe/pipe.cpp", + MAME_DIR .. "src/devices/bus/einstein/pipe/pipe.h", + MAME_DIR .. "src/devices/bus/einstein/pipe/silicon_disc.cpp", + MAME_DIR .. "src/devices/bus/einstein/pipe/silicon_disc.h", + MAME_DIR .. "src/devices/bus/einstein/pipe/speculator.cpp", + MAME_DIR .. "src/devices/bus/einstein/pipe/speculator.h", + MAME_DIR .. "src/devices/bus/einstein/pipe/tk02.cpp", + MAME_DIR .. "src/devices/bus/einstein/pipe/tk02.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/einstein/userport/userport.h,BUSES["EINSTEIN_USERPORT"] = true +--------------------------------------------------- + +if (BUSES["EINSTEIN_USERPORT"]~=null) then + files { + MAME_DIR .. "src/devices/bus/einstein/userport/userport.cpp", + MAME_DIR .. "src/devices/bus/einstein/userport/userport.h", + MAME_DIR .. "src/devices/bus/einstein/userport/mouse.cpp", + MAME_DIR .. "src/devices/bus/einstein/userport/mouse.h", + MAME_DIR .. "src/devices/bus/einstein/userport/speech.cpp", + MAME_DIR .. "src/devices/bus/einstein/userport/speech.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/bus/tmc600/euro.h,BUSES["TMC600"] = true +--------------------------------------------------- + +if (BUSES["TMC600"]~=null) then + files { + MAME_DIR .. "src/devices/bus/tmc600/euro.cpp", + MAME_DIR .. "src/devices/bus/tmc600/euro.h", + } +end diff --git a/docs/release/scripts/src/cpu.lua b/docs/release/scripts/src/cpu.lua new file mode 100644 index 00000000000..3a6b9792787 --- /dev/null +++ b/docs/release/scripts/src/cpu.lua @@ -0,0 +1,2916 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- cpu.lua +-- +-- Rules for building CPU cores +-- +--------------------------------------------------------------------------- + +-------------------------------------------------- +-- Dynamic recompiler objects +-------------------------------------------------- + +DRC_CPUS = { "E1", "SH", "MIPS3", "POWERPC", "RSP", "ARM7", "ADSP21062", "MB86235", "DSP16", "UNSP" } +CPU_INCLUDE_DRC = false +for i, v in ipairs(DRC_CPUS) do + if (CPUS[v]~=null) then + CPU_INCLUDE_DRC = true + break + end +end + + +if (CPU_INCLUDE_DRC) then + files { + MAME_DIR .. "src/devices/cpu/drcbec.cpp", + MAME_DIR .. "src/devices/cpu/drcbec.h", + MAME_DIR .. "src/devices/cpu/drcbeut.cpp", + MAME_DIR .. "src/devices/cpu/drcbeut.h", + MAME_DIR .. "src/devices/cpu/drccache.cpp", + MAME_DIR .. "src/devices/cpu/drccache.h", + MAME_DIR .. "src/devices/cpu/drcfe.cpp", + MAME_DIR .. "src/devices/cpu/drcfe.h", + MAME_DIR .. "src/devices/cpu/drcuml.cpp", + MAME_DIR .. "src/devices/cpu/drcuml.h", + MAME_DIR .. "src/devices/cpu/uml.cpp", + MAME_DIR .. "src/devices/cpu/uml.h", + MAME_DIR .. "src/devices/cpu/x86log.cpp", + MAME_DIR .. "src/devices/cpu/x86log.h", + MAME_DIR .. "src/devices/cpu/drcbex86.cpp", + MAME_DIR .. "src/devices/cpu/drcbex86.h", + MAME_DIR .. "src/devices/cpu/drcbex64.cpp", + MAME_DIR .. "src/devices/cpu/drcbex64.h", + MAME_DIR .. "src/devices/cpu/drcumlsh.h", + MAME_DIR .. "src/devices/cpu/x86emit.h", + } +end + +-------------------------------------------------- +-- Signetics 8X300 / Scientific Micro Systems SMS300 +--@src/devices/cpu/8x300/8x300.h,CPUS["8X300"] = true +-------------------------------------------------- + +if (CPUS["8X300"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/8x300/8x300.cpp", + MAME_DIR .. "src/devices/cpu/8x300/8x300.h", + } +end + +if (CPUS["8X300"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/8x300/8x300dasm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/8x300/8x300dasm.cpp") +end + +-------------------------------------------------- +-- 3DO Don's Super Performing Processor (DSPP) +--@src/devices/cpu/dspp/dspp.h,CPUS["DSPP"] = true +-------------------------------------------------- + +if (CPUS["DSPP"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/dspp/dspp.cpp", + MAME_DIR .. "src/devices/cpu/dspp/dspp.h", + MAME_DIR .. "src/devices/cpu/dspp/dsppdrc.cpp", + MAME_DIR .. "src/devices/cpu/dspp/dsppfe.cpp", + MAME_DIR .. "src/devices/cpu/dspp/dsppfe.h", + } +end + +if (CPUS["DSPP"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dspp/dsppdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dspp/dsppdasm.h") +end + +-------------------------------------------------- +-- ARCangent A4 +--@src/devices/cpu/arc/arc.h,CPUS["ARC"] = true +-------------------------------------------------- + +if (CPUS["ARC"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/arc/arc.cpp", + MAME_DIR .. "src/devices/cpu/arc/arc.h", + } +end + +if (CPUS["ARC"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/arc/arcdasm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/arc/arcdasm.cpp") +end + +-------------------------------------------------- +-- ARcompact (ARCtangent-A5, ARC 600, ARC 700) +--@src/devices/cpu/arcompact/arcompact.h,CPUS["ARCOMPACT"] = true +-------------------------------------------------- + +if (CPUS["ARCOMPACT"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/arcompact/arcompact.cpp", + MAME_DIR .. "src/devices/cpu/arcompact/arcompact.h", + MAME_DIR .. "src/devices/cpu/arcompact/arcompact_execute.cpp", + } + dependency { + { MAME_DIR .. "src/devices/cpu/arcompact/arcompact.cpp", GEN_DIR .. "emu/cpu/arcompact/arcompact.hxx" }, + { MAME_DIR .. "src/devices/cpu/arcompact/arcompact_execute.cpp", GEN_DIR .. "emu/cpu/arcompact/arcompact.hxx" }, + } + + custombuildtask { + { MAME_DIR .. "src/devices/cpu/arcompact/arcompact_make.py" , GEN_DIR .. "emu/cpu/arcompact/arcompact.hxx", { MAME_DIR .. "src/devices/cpu/arcompact/arcompact_make.py" }, {"@echo Generating ARCOMPACT source files...", PYTHON .. " $(1) $(@)" }}, + } +end + +if (CPUS["ARCOMPACT"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/arcompact/arcompactdasm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/arcompact/arcompactdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/arcompact/arcompactdasm_dispatch.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/arcompact/arcompactdasm_ops.cpp") +end + +-------------------------------------------------- +-- Acorn ARM series +-- +--@src/devices/cpu/arm/arm.h,CPUS["ARM"] = true +--@src/devices/cpu/arm7/arm7.h,CPUS["ARM7"] = true +-------------------------------------------------- + +if (CPUS["ARM"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/arm/arm.cpp", + MAME_DIR .. "src/devices/cpu/arm/arm.h", + } +end + +if (CPUS["ARM"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/arm/armdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/arm/armdasm.h") +end + +if (CPUS["ARM7"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/arm7/arm7.cpp", + MAME_DIR .. "src/devices/cpu/arm7/arm7.h", + MAME_DIR .. "src/devices/cpu/arm7/arm7thmb.cpp", + MAME_DIR .. "src/devices/cpu/arm7/arm7ops.cpp", + MAME_DIR .. "src/devices/cpu/arm7/lpc210x.cpp", + MAME_DIR .. "src/devices/cpu/arm7/lpc210x.h", + MAME_DIR .. "src/devices/cpu/arm7/arm7core.h", + MAME_DIR .. "src/devices/cpu/arm7/arm7core.hxx", + MAME_DIR .. "src/devices/cpu/arm7/arm7drc.hxx", + MAME_DIR .. "src/devices/cpu/arm7/arm7help.h", + MAME_DIR .. "src/devices/cpu/arm7/arm7tdrc.hxx", + } +end + +if (CPUS["ARM7"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/arm7/arm7dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/arm7/arm7dasm.h") +end + +-------------------------------------------------- +-- Advanced Digital Chips SE3208 +--@src/devices/cpu/se3208/se3208.h,CPUS["SE3208"] = true +-------------------------------------------------- + +if (CPUS["SE3208"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/se3208/se3208.cpp", + MAME_DIR .. "src/devices/cpu/se3208/se3208.h", + } +end + +if (CPUS["SE3208"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/se3208/se3208dis.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/se3208/se3208dis.h") +end + +-------------------------------------------------- +-- American Microsystems, Inc.(AMI) S2000 series +--@src/devices/cpu/amis2000/amis2000.h,CPUS["AMIS2000"] = true +-------------------------------------------------- + +if (CPUS["AMIS2000"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/amis2000/amis2000.cpp", + MAME_DIR .. "src/devices/cpu/amis2000/amis2000.h", + MAME_DIR .. "src/devices/cpu/amis2000/amis2000op.cpp", + } +end + +if (CPUS["AMIS2000"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/amis2000/amis2000d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/amis2000/amis2000d.h") +end + +-------------------------------------------------- +-- Alpha 8201 +--@src/devices/cpu/alph8201/alph8201.h,CPUS["ALPHA8201"] = true +-------------------------------------------------- + +if (CPUS["ALPHA8201"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/alph8201/alph8201.cpp", + MAME_DIR .. "src/devices/cpu/alph8201/alph8201.h", + } +end + +if (CPUS["ALPHA8201"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/alph8201/8201dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/alph8201/8201dasm.h") +end + +-------------------------------------------------- +-- Analog Devices ADSP21xx series +--@src/devices/cpu/adsp2100/adsp2100.h,CPUS["ADSP21XX"] = true +-------------------------------------------------- + +if (CPUS["ADSP21XX"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/adsp2100/adsp2100.cpp", + MAME_DIR .. "src/devices/cpu/adsp2100/adsp2100.h", + MAME_DIR .. "src/devices/cpu/adsp2100/2100ops.hxx", + } +end + +if (CPUS["ADSP21XX"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/adsp2100/2100dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/adsp2100/2100dasm.h") +end + +-------------------------------------------------- +-- Analog Devices "Sharc" ADSP21062 +--@src/devices/cpu/sharc/sharc.h,CPUS["ADSP21062"] = true +-------------------------------------------------- + +if (CPUS["ADSP21062"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/sharc/sharc.cpp", + MAME_DIR .. "src/devices/cpu/sharc/sharc.h", + MAME_DIR .. "src/devices/cpu/sharc/compute.hxx", + MAME_DIR .. "src/devices/cpu/sharc/sharcdma.hxx", + MAME_DIR .. "src/devices/cpu/sharc/sharcmem.hxx", + MAME_DIR .. "src/devices/cpu/sharc/sharcops.h", + MAME_DIR .. "src/devices/cpu/sharc/sharcops.hxx", + MAME_DIR .. "src/devices/cpu/sharc/sharcdrc.cpp", + MAME_DIR .. "src/devices/cpu/sharc/sharcfe.cpp", + MAME_DIR .. "src/devices/cpu/sharc/sharcfe.h", + } +end + +if (CPUS["ADSP21062"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sharc/sharcdsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sharc/sharcdsm.h") +end + +-------------------------------------------------- +-- APEXC +--@src/devices/cpu/apexc/apexc.h,CPUS["APEXC"] = true +-------------------------------------------------- + +if (CPUS["APEXC"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/apexc/apexc.cpp", + MAME_DIR .. "src/devices/cpu/apexc/apexc.h", + } +end + +if (CPUS["APEXC"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/apexc/apexcdsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/apexc/apexcdsm.h") +end + +-------------------------------------------------- +-- WE|AT&T DSP16 +--@src/devices/cpu/dsp16/dsp16.h,CPUS["DSP16"] = true +-------------------------------------------------- + +if (CPUS["DSP16"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/dsp16/dsp16.cpp", + MAME_DIR .. "src/devices/cpu/dsp16/dsp16.h", + MAME_DIR .. "src/devices/cpu/dsp16/dsp16core.cpp", + MAME_DIR .. "src/devices/cpu/dsp16/dsp16core.h", + MAME_DIR .. "src/devices/cpu/dsp16/dsp16core.ipp", + MAME_DIR .. "src/devices/cpu/dsp16/dsp16fe.cpp", + MAME_DIR .. "src/devices/cpu/dsp16/dsp16fe.h", + MAME_DIR .. "src/devices/cpu/dsp16/dsp16rc.cpp", + MAME_DIR .. "src/devices/cpu/dsp16/dsp16rc.h", + } +end + +if (CPUS["DSP16"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp16/dsp16dis.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp16/dsp16dis.h") +end + +-------------------------------------------------- +-- AT&T DSP32C +--@src/devices/cpu/dsp32/dsp32.h,CPUS["DSP32C"] = true +-------------------------------------------------- + +if (CPUS["DSP32C"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/dsp32/dsp32.cpp", + MAME_DIR .. "src/devices/cpu/dsp32/dsp32.h", + MAME_DIR .. "src/devices/cpu/dsp32/dsp32ops.hxx", + } +end + +if (CPUS["DSP32C"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp32/dsp32dis.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp32/dsp32dis.h") +end + +-------------------------------------------------- +-- Atari custom RISC processor +--@src/devices/cpu/asap/asap.h,CPUS["ASAP"] = true +-------------------------------------------------- + +if (CPUS["ASAP"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/asap/asap.cpp", + MAME_DIR .. "src/devices/cpu/asap/asap.h", + } +end + +if (CPUS["ASAP"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/asap/asapdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/asap/asapdasm.h") +end + +-------------------------------------------------- +-- AMD Am29000 +--@src/devices/cpu/am29000/am29000.h,CPUS["AM29000"] = true +-------------------------------------------------- + +if (CPUS["AM29000"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/am29000/am29000.cpp", + MAME_DIR .. "src/devices/cpu/am29000/am29000.h", + MAME_DIR .. "src/devices/cpu/am29000/am29ops.h", + } +end + +if (CPUS["AM29000"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/am29000/am29dasm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/am29000/am29dasm.cpp") +end + +-------------------------------------------------- +-- Atari Jaguar custom DSPs +--@src/devices/cpu/jaguar/jaguar.h,CPUS["JAGUAR"] = true +-------------------------------------------------- + +if (CPUS["JAGUAR"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/jaguar/jaguar.cpp", + MAME_DIR .. "src/devices/cpu/jaguar/jaguar.h", + } +end + +if (CPUS["JAGUAR"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/jaguar/jagdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/jaguar/jagdasm.h") +end + +-------------------------------------------------- +-- Simutrek Cube Quest bit-sliced CPUs +--@src/devices/cpu/cubeqcpu/cubeqcpu.h,CPUS["CUBEQCPU"] = true +-------------------------------------------------- + +if (CPUS["CUBEQCPU"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/cubeqcpu/cubeqcpu.cpp", + MAME_DIR .. "src/devices/cpu/cubeqcpu/cubeqcpu.h", + } +end + +if (CPUS["CUBEQCPU"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cubeqcpu/cubedasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cubeqcpu/cubedasm.h") +end + +-------------------------------------------------- +-- Ensoniq ES5510 ('ESP') DSP +--@src/devices/cpu/es5510/es5510.h,CPUS["ES5510"] = true +-------------------------------------------------- + +if (CPUS["ES5510"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/es5510/es5510.cpp", + MAME_DIR .. "src/devices/cpu/es5510/es5510.h", + } +end + +if (CPUS["ES5510"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/es5510/es5510d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/es5510/es5510d.h") +end + +-------------------------------------------------- +-- Entertainment Sciences AM29116-based RIP +--@src/devices/cpu/esrip/esrip.h,CPUS["ESRIP"] = true +-------------------------------------------------- + +if (CPUS["ESRIP"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/esrip/esrip.cpp", + MAME_DIR .. "src/devices/cpu/esrip/esrip.h", + } +end + +if (CPUS["ESRIP"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/esrip/esripdsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/esrip/esripdsm.h") +end + +-------------------------------------------------- +-- Seiko Epson E0C6200 series +--@src/devices/cpu/e0c6200/e0c6200.h,CPUS["E0C6200"] = true +-------------------------------------------------- + +if (CPUS["E0C6200"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/e0c6200/e0c6200.cpp", + MAME_DIR .. "src/devices/cpu/e0c6200/e0c6200.h", + MAME_DIR .. "src/devices/cpu/e0c6200/e0c6s46.cpp", + MAME_DIR .. "src/devices/cpu/e0c6200/e0c6s46.h", + MAME_DIR .. "src/devices/cpu/e0c6200/e0c6200op.cpp", + } +end + +if (CPUS["E0C6200"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/e0c6200/e0c6200d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/e0c6200/e0c6200d.h") +end + +-------------------------------------------------- +-- RCA COSMAC +--@src/devices/cpu/cosmac/cosmac.h,CPUS["COSMAC"] = true +-------------------------------------------------- + +if (CPUS["COSMAC"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/cosmac/cosmac.cpp", + MAME_DIR .. "src/devices/cpu/cosmac/cosmac.h", + } +end + +if (CPUS["COSMAC"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cosmac/cosdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cosmac/cosdasm.h") +end + +-------------------------------------------------- +-- National Semiconductor COP400 family +--@src/devices/cpu/cop400/cop400.h,CPUS["COP400"] = true +-------------------------------------------------- + +if (CPUS["COP400"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/cop400/cop400.cpp", + MAME_DIR .. "src/devices/cpu/cop400/cop400.h", + MAME_DIR .. "src/devices/cpu/cop400/cop400op.hxx", + } +end + +if (CPUS["COP400"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cop400/cop410ds.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cop400/cop410ds.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cop400/cop420ds.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cop400/cop420ds.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cop400/cop444ds.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cop400/cop444ds.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cop400/cop424ds.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cop400/cop424ds.h") +end + +-------------------------------------------------- +-- CP1610 +--@src/devices/cpu/cp1610/cp1610.h,CPUS["CP1610"] = true +-------------------------------------------------- + +if (CPUS["CP1610"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/cp1610/cp1610.cpp", + MAME_DIR .. "src/devices/cpu/cp1610/cp1610.h", + } +end + +if (CPUS["CP1610"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cp1610/1610dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/cp1610/1610dasm.h") +end + +-------------------------------------------------- +-- Cinematronics vector "CPU" +--@src/devices/cpu/ccpu/ccpu.h,CPUS["CCPU"] = true +-------------------------------------------------- + +if (CPUS["CCPU"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/ccpu/ccpu.cpp", + MAME_DIR .. "src/devices/cpu/ccpu/ccpu.h", + } +end + +if (CPUS["CCPU"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ccpu/ccpudasm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ccpu/ccpudasm.cpp") +end + +-------------------------------------------------- +-- DEC T-11 +--@src/devices/cpu/t11/t11.h,CPUS["T11"] = true +-------------------------------------------------- + +if (CPUS["T11"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/t11/t11.cpp", + MAME_DIR .. "src/devices/cpu/t11/t11.h", + MAME_DIR .. "src/devices/cpu/t11/t11ops.hxx", + MAME_DIR .. "src/devices/cpu/t11/t11table.hxx", + } +end + +if (CPUS["T11"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/t11/t11dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/t11/t11dasm.h") +end + +-------------------------------------------------- +-- DEC PDP-8 +--@src/devices/cpu/pdp8/pdp8.h,CPUS["PDP8"] = true +-------------------------------------------------- + +if (CPUS["PDP8"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/pdp8/pdp8.cpp", + MAME_DIR .. "src/devices/cpu/pdp8/pdp8.h", + } +end + +if (CPUS["PDP8"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pdp8/pdp8dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pdp8/pdp8dasm.h") +end + +-------------------------------------------------- +-- F8 +--@src/devices/cpu/f8/f8.h,CPUS["F8"] = true +-------------------------------------------------- + +if (CPUS["F8"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/f8/f8.cpp", + MAME_DIR .. "src/devices/cpu/f8/f8.h", + } +end + +if (CPUS["F8"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/f8/f8dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/f8/f8dasm.h") +end + +-------------------------------------------------- +-- G65816 +--@src/devices/cpu/g65816/g65816.h,CPUS["G65816"] = true +-------------------------------------------------- + +if (CPUS["G65816"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/g65816/g65816.cpp", + MAME_DIR .. "src/devices/cpu/g65816/g65816.h", + MAME_DIR .. "src/devices/cpu/g65816/g65816o0.cpp", + MAME_DIR .. "src/devices/cpu/g65816/g65816o1.cpp", + MAME_DIR .. "src/devices/cpu/g65816/g65816o2.cpp", + MAME_DIR .. "src/devices/cpu/g65816/g65816o3.cpp", + MAME_DIR .. "src/devices/cpu/g65816/g65816o4.cpp", + MAME_DIR .. "src/devices/cpu/g65816/g65816cm.h", + MAME_DIR .. "src/devices/cpu/g65816/g65816ds.h", + MAME_DIR .. "src/devices/cpu/g65816/g65816op.h", + } +end + +if (CPUS["G65816"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/g65816/g65816ds.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/g65816/g65816ds.h") +end + +-------------------------------------------------- +-- Hitachi H8 (16/32-bit H8/300, H8/300H, H8S2000 and H8S2600 series) +--@src/devices/cpu/h8/h8.h,CPUS["H8"] = true +-------------------------------------------------- + +if (CPUS["H8"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/h8/h8.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8.h", + MAME_DIR .. "src/devices/cpu/h8/h8h.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8h.h", + MAME_DIR .. "src/devices/cpu/h8/h8s2000.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8s2000.h", + MAME_DIR .. "src/devices/cpu/h8/h8s2600.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8s2600.h", + MAME_DIR .. "src/devices/cpu/h8/h83337.cpp", + MAME_DIR .. "src/devices/cpu/h8/h83337.h", + MAME_DIR .. "src/devices/cpu/h8/h83002.cpp", + MAME_DIR .. "src/devices/cpu/h8/h83002.h", + MAME_DIR .. "src/devices/cpu/h8/h83003.cpp", + MAME_DIR .. "src/devices/cpu/h8/h83003.h", + MAME_DIR .. "src/devices/cpu/h8/h83006.cpp", + MAME_DIR .. "src/devices/cpu/h8/h83006.h", + MAME_DIR .. "src/devices/cpu/h8/h83008.cpp", + MAME_DIR .. "src/devices/cpu/h8/h83008.h", + MAME_DIR .. "src/devices/cpu/h8/h83048.cpp", + MAME_DIR .. "src/devices/cpu/h8/h83048.h", + MAME_DIR .. "src/devices/cpu/h8/h8s2245.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8s2245.h", + MAME_DIR .. "src/devices/cpu/h8/h8s2320.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8s2320.h", + MAME_DIR .. "src/devices/cpu/h8/h8s2357.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8s2357.h", + MAME_DIR .. "src/devices/cpu/h8/h8s2655.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8s2655.h", + MAME_DIR .. "src/devices/cpu/h8/h8_adc.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8_adc.h", + MAME_DIR .. "src/devices/cpu/h8/h8_dma.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8_dma.h", + MAME_DIR .. "src/devices/cpu/h8/h8_dtc.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8_dtc.h", + MAME_DIR .. "src/devices/cpu/h8/h8_intc.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8_intc.h", + MAME_DIR .. "src/devices/cpu/h8/h8_port.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8_port.h", + MAME_DIR .. "src/devices/cpu/h8/h8_timer8.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8_timer8.h", + MAME_DIR .. "src/devices/cpu/h8/h8_timer16.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8_timer16.h", + MAME_DIR .. "src/devices/cpu/h8/h8_sci.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8_sci.h", + MAME_DIR .. "src/devices/cpu/h8/h8_watchdog.cpp", + MAME_DIR .. "src/devices/cpu/h8/h8_watchdog.h", + } + + dependency { + { MAME_DIR .. "src/devices/cpu/h8/h8.cpp", GEN_DIR .. "emu/cpu/h8/h8.hxx" }, + { MAME_DIR .. "src/devices/cpu/h8/h8h.cpp", GEN_DIR .. "emu/cpu/h8/h8h.hxx" }, + { MAME_DIR .. "src/devices/cpu/h8/h8s2000.cpp", GEN_DIR .. "emu/cpu/h8/h8s2000.hxx" }, + { MAME_DIR .. "src/devices/cpu/h8/h8s2600.cpp", GEN_DIR .. "emu/cpu/h8/h8s2600.hxx" }, + } + + custombuildtask { + { MAME_DIR .. "src/devices/cpu/h8/h8.lst" , GEN_DIR .. "emu/cpu/h8/h8.hxx", { MAME_DIR .. "src/devices/cpu/h8/h8make.py" }, {"@echo Generating H8-300 source file...", PYTHON .. " $(1) $(<) s o $(@)" }}, + { MAME_DIR .. "src/devices/cpu/h8/h8.lst" , GEN_DIR .. "emu/cpu/h8/h8h.hxx", { MAME_DIR .. "src/devices/cpu/h8/h8make.py" }, {"@echo Generating H8-300H source file...", PYTHON .. " $(1) $(<) s h $(@)" }}, + { MAME_DIR .. "src/devices/cpu/h8/h8.lst" , GEN_DIR .. "emu/cpu/h8/h8s2000.hxx", { MAME_DIR .. "src/devices/cpu/h8/h8make.py" }, {"@echo Generating H8S/2000 source file...", PYTHON .. " $(1) $(<) s s20 $(@)" }}, + { MAME_DIR .. "src/devices/cpu/h8/h8.lst" , GEN_DIR .. "emu/cpu/h8/h8s2600.hxx", { MAME_DIR .. "src/devices/cpu/h8/h8make.py" }, {"@echo Generating H8S/2600 source file...", PYTHON .. " $(1) $(<) s s26 $(@)" }}, + } +end + +if (CPUS["H8"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/h8/h8.lst" , GEN_DIR .. "emu/cpu/h8/h8d.hxx", { MAME_DIR .. "src/devices/cpu/h8/h8make.py" }, {"@echo Generating H8-300 disassembler source file...", PYTHON .. " $(1) $(<) d o $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/h8/h8.lst" , GEN_DIR .. "emu/cpu/h8/h8hd.hxx", { MAME_DIR .. "src/devices/cpu/h8/h8make.py" }, {"@echo Generating H8-300H disassembler source file...", PYTHON .. " $(1) $(<) d h $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/h8/h8.lst" , GEN_DIR .. "emu/cpu/h8/h8s2000d.hxx", { MAME_DIR .. "src/devices/cpu/h8/h8make.py" }, {"@echo Generating H8S/2000 disassembler source file...", PYTHON .. " $(1) $(<) d s20 $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/h8/h8.lst" , GEN_DIR .. "emu/cpu/h8/h8s2600d.hxx", { MAME_DIR .. "src/devices/cpu/h8/h8make.py" }, {"@echo Generating H8S/2600 disassembler source file...", PYTHON .. " $(1) $(<) d s26 $(@)" }}) + + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/h8/h8d.cpp", GEN_DIR .. "emu/cpu/h8/h8d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/h8/h8hd.cpp", GEN_DIR .. "emu/cpu/h8/h8hd.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/h8/h8s2000d.cpp", GEN_DIR .. "emu/cpu/h8/h8s2000d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/h8/h8s2600d.cpp", GEN_DIR .. "emu/cpu/h8/h8s2600d.hxx" }) + + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/h8/h8d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/h8/h8d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/h8/h8hd.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/h8/h8hd.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/h8/h8s2000d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/h8/h8s2000d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/h8/h8s2600d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/h8/h8s2600d.h") +end + +-------------------------------------------------- +-- Hitachi HCD62121 +--@src/devices/cpu/hcd62121/hcd62121.h,CPUS["HCD62121"] = true +-------------------------------------------------- + +if (CPUS["HCD62121"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/hcd62121/hcd62121.cpp", + MAME_DIR .. "src/devices/cpu/hcd62121/hcd62121.h", + } +end + +if (CPUS["HCD62121"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hcd62121/hcd62121d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hcd62121/hcd62121d.h") +end + +-------------------------------------------------- +-- Hitachi HMCS40 series +--@src/devices/cpu/hmcs40/hmcs40.h,CPUS["HMCS40"] = true +-------------------------------------------------- + +if (CPUS["HMCS40"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/hmcs40/hmcs40.cpp", + MAME_DIR .. "src/devices/cpu/hmcs40/hmcs40.h", + MAME_DIR .. "src/devices/cpu/hmcs40/hmcs40op.cpp", + } +end + +if (CPUS["HMCS40"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hmcs40/hmcs40d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hmcs40/hmcs40d.h") +end + +-------------------------------------------------- +-- Hitachi SuperH series (SH1/SH2/SH3/SH4) +--@src/devices/cpu/sh/sh2.h,CPUS["SH"] = true +--@src/devices/cpu/sh/sh4.h,CPUS["SH"] = true +-------------------------------------------------- + +if (CPUS["SH"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/sh/sh.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh.h", + MAME_DIR .. "src/devices/cpu/sh/sh2.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh2.h", + MAME_DIR .. "src/devices/cpu/sh/sh2comn.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh2comn.h", + MAME_DIR .. "src/devices/cpu/sh/sh_fe.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh2fe.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh4fe.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh7604_bus.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh7604_bus.h", + MAME_DIR .. "src/devices/cpu/sh/sh7604_sci.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh7604_sci.h", + MAME_DIR .. "src/devices/cpu/sh/sh7604_wdt.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh7604_wdt.h", + MAME_DIR .. "src/devices/cpu/sh/sh4.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh4.h", + MAME_DIR .. "src/devices/cpu/sh/sh4comn.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh4comn.h", + MAME_DIR .. "src/devices/cpu/sh/sh3comn.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh3comn.h", + MAME_DIR .. "src/devices/cpu/sh/sh4tmu.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh4tmu.h", + MAME_DIR .. "src/devices/cpu/sh/sh4dmac.cpp", + MAME_DIR .. "src/devices/cpu/sh/sh4dmac.h", + MAME_DIR .. "src/devices/cpu/sh/sh4regs.h", + } +end + +if (CPUS["SH"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sh/sh_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sh/sh_dasm.h") +end + +-------------------------------------------------- +-- STmicro ST62xx +--@src/devices/cpu/st62xx/st62xx.h,CPUS["ST62XX"] = true +-------------------------------------------------- + +if (CPUS["ST62XX"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/st62xx/st62xx.cpp", + MAME_DIR .. "src/devices/cpu/st62xx/st62xx.h", + } +end + +if (CPUS["ST62XX"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/st62xx/st62xx_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/st62xx/st62xx_dasm.h") +end + +-------------------------------------------------- +-- HP Hybrid processor +--@src/devices/cpu/hphybrid/hphybrid.h,CPUS["HPHYBRID"] = true +-------------------------------------------------- + +if (CPUS["HPHYBRID"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/hphybrid/hphybrid.cpp", + MAME_DIR .. "src/devices/cpu/hphybrid/hphybrid.h", + } +end + +if (CPUS["HPHYBRID"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hphybrid/hphybrid_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hphybrid/hphybrid_dasm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hphybrid/hphybrid_defs.h") +end + +-------------------------------------------------- +-- HP Nanoprocessor +--@src/devices/cpu/nanoprocessor/nanoprocessor.h,CPUS["NANOPROCESSOR"] = true +-------------------------------------------------- + +if (CPUS["NANOPROCESSOR"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/nanoprocessor/nanoprocessor.cpp", + MAME_DIR .. "src/devices/cpu/nanoprocessor/nanoprocessor.h", + } +end + +if (CPUS["NANOPROCESSOR"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/nanoprocessor/nanoprocessor_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/nanoprocessor/nanoprocessor_dasm.h") +end + +-------------------------------------------------- +-- HP Capricorn +--@src/devices/cpu/capricorn/capricorn.h,CPUS["CAPRICORN"] = true +-------------------------------------------------- + +if (CPUS["CAPRICORN"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/capricorn/capricorn.cpp", + MAME_DIR .. "src/devices/cpu/capricorn/capricorn.h", + } +end + +if (CPUS["CAPRICORN"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/capricorn/capricorn_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/capricorn/capricorn_dasm.h") +end + +-------------------------------------------------- +-- Hudsonsoft 6280 +--@src/devices/cpu/h6280/h6280.h,CPUS["H6280"] = true +-------------------------------------------------- + +if (CPUS["H6280"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/h6280/h6280.cpp", + MAME_DIR .. "src/devices/cpu/h6280/h6280.h", + } +end + +if (CPUS["H6280"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/h6280/6280dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/h6280/6280dasm.h") +end + +-------------------------------------------------- +-- Hyperstone E1 series +--@src/devices/cpu/e132xs/e132xs.h,CPUS["E1"] = true +-------------------------------------------------- + +if (CPUS["E1"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/e132xs/e132xs.cpp", + MAME_DIR .. "src/devices/cpu/e132xs/e132xs.h", + MAME_DIR .. "src/devices/cpu/e132xs/32xsdefs.h", + MAME_DIR .. "src/devices/cpu/e132xs/e132xsop.hxx", + MAME_DIR .. "src/devices/cpu/e132xs/e132xsfe.cpp", + MAME_DIR .. "src/devices/cpu/e132xs/e132xsdrc.cpp", + MAME_DIR .. "src/devices/cpu/e132xs/e132xsdrc_ops.hxx", + } +end + +if (CPUS["E1"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/e132xs/32xsdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/e132xs/32xsdasm.h") +end + +-------------------------------------------------- +-- 15IE-00-013 CPU ("Microprogrammed Control Device") +--@src/devices/cpu/ie15/ie15.h,CPUS["IE15"] = true +-------------------------------------------------- + +if (CPUS["IE15"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/ie15/ie15.cpp", + MAME_DIR .. "src/devices/cpu/ie15/ie15.h", + } +end + +if (CPUS["IE15"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ie15/ie15dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ie15/ie15dasm.h") +end + +-------------------------------------------------- +-- Intel MCS-40 +--@src/devices/cpu/mcs40/mcs40.h,CPUS["MCS40"] = true +-------------------------------------------------- + +if (CPUS["MCS40"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mcs40/mcs40.cpp", + MAME_DIR .. "src/devices/cpu/mcs40/mcs40.h", + } +end + +if (CPUS["MCS40"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs40/mcs40dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs40/mcs40dasm.h") +end + +-------------------------------------------------- +-- Intel 8008 +--@src/devices/cpu/i8008/i8008.h,CPUS["I8008"] = true +-------------------------------------------------- + +if (CPUS["I8008"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/i8008/i8008.cpp", + MAME_DIR .. "src/devices/cpu/i8008/i8008.h", + } +end + +if (CPUS["I8008"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i8008/8008dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i8008/8008dasm.h") +end + +-------------------------------------------------- +-- National Semiconductor SC/MP +--@src/devices/cpu/scmp/scmp.h,CPUS["SCMP"] = true +-------------------------------------------------- + +if (CPUS["SCMP"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/scmp/scmp.cpp", + MAME_DIR .. "src/devices/cpu/scmp/scmp.h", + } +end + +if (CPUS["SCMP"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/scmp/scmpdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/scmp/scmpdasm.h") +end + +-------------------------------------------------- +-- Intel 8080/8085A +--@src/devices/cpu/i8085/i8085.h,CPUS["I8085"] = true +-------------------------------------------------- + +if (CPUS["I8085"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/i8085/i8085.cpp", + MAME_DIR .. "src/devices/cpu/i8085/i8085.h", + } +end + +if (CPUS["I8085"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i8085/8085dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i8085/8085dasm.h") +end + +-------------------------------------------------- +-- Intel 8089 +--@src/devices/cpu/i8089/i8089.h,CPUS["I8089"] = true +-------------------------------------------------- + +if (CPUS["I8089"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/i8089/i8089.cpp", + MAME_DIR .. "src/devices/cpu/i8089/i8089.h", + MAME_DIR .. "src/devices/cpu/i8089/i8089_channel.cpp", + MAME_DIR .. "src/devices/cpu/i8089/i8089_channel.h", + MAME_DIR .. "src/devices/cpu/i8089/i8089_ops.cpp", + } +end + +if (CPUS["I8089"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i8089/i8089_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i8089/i8089_dasm.h") +end + +-------------------------------------------------- +-- Intel MCS-48 (8039 and derivatives) +--@src/devices/cpu/mcs48/mcs48.h,CPUS["MCS48"] = true +-------------------------------------------------- + +if (CPUS["MCS48"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mcs48/mcs48.cpp", + MAME_DIR .. "src/devices/cpu/mcs48/mcs48.h", + } +end + +if (CPUS["MCS48"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs48/mcs48dsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs48/mcs48dsm.h") +end + +-------------------------------------------------- +-- Intel 8051 and derivatives +--@src/devices/cpu/mcs51/mcs51.h,CPUS["MCS51"] = true +-------------------------------------------------- + +if (CPUS["MCS51"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mcs51/mcs51.cpp", + MAME_DIR .. "src/devices/cpu/mcs51/mcs51.h", + MAME_DIR .. "src/devices/cpu/mcs51/mcs51ops.hxx", + MAME_DIR .. "src/devices/cpu/mcs51/axc51-core.cpp", + MAME_DIR .. "src/devices/cpu/mcs51/axc51-core.h", + } +end + +if (CPUS["MCS51"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs51/mcs51dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs51/mcs51dasm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs51/axc51-core_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs51/axc51-core_dasm.h") +end + +-------------------------------------------------- +-- Intel MCS-96 +--@src/devices/cpu/mcs96/mcs96.h,CPUS["MCS96"] = true +-------------------------------------------------- + +if (CPUS["MCS96"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mcs96/mcs96.cpp", + MAME_DIR .. "src/devices/cpu/mcs96/mcs96.h", + MAME_DIR .. "src/devices/cpu/mcs96/i8x9x.cpp", + MAME_DIR .. "src/devices/cpu/mcs96/i8x9x.h", + MAME_DIR .. "src/devices/cpu/mcs96/i8xc196.cpp", + MAME_DIR .. "src/devices/cpu/mcs96/i8xc196.h", + } + dependency { + { MAME_DIR .. "src/devices/cpu/mcs96/mcs96.cpp", GEN_DIR .. "emu/cpu/mcs96/mcs96.hxx" }, + { MAME_DIR .. "src/devices/cpu/mcs96/i8x9x.cpp", GEN_DIR .. "emu/cpu/mcs96/i8x9x.hxx" }, + { MAME_DIR .. "src/devices/cpu/mcs96/i8xc196.cpp", GEN_DIR .. "emu/cpu/mcs96/i8xc196.hxx" }, + } + + custombuildtask { + { MAME_DIR .. "src/devices/cpu/mcs96/mcs96ops.lst" , GEN_DIR .. "emu/cpu/mcs96/mcs96.hxx", { MAME_DIR .. "src/devices/cpu/mcs96/mcs96make.py" }, {"@echo Generating mcs96 source file...", PYTHON .. " $(1) s mcs96 $(<) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/mcs96/mcs96ops.lst" , GEN_DIR .. "emu/cpu/mcs96/i8x9x.hxx", { MAME_DIR .. "src/devices/cpu/mcs96/mcs96make.py" }, {"@echo Generating i8x9x source file...", PYTHON .. " $(1) s i8x9x $(<) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/mcs96/mcs96ops.lst" , GEN_DIR .. "emu/cpu/mcs96/i8xc196.hxx", { MAME_DIR .. "src/devices/cpu/mcs96/mcs96make.py" }, {"@echo Generating i8xc196 source file...", PYTHON .. " $(1) s i8xc196 $(<) $(@)" }}, + } +end + +if (CPUS["MCS96"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/mcs96/mcs96ops.lst", GEN_DIR .. "emu/cpu/mcs96/i8x9xd.hxx", { MAME_DIR .. "src/devices/cpu/mcs96/mcs96make.py" }, {"@echo Generating i8x9x disassembler source file...", PYTHON .. " $(1) d i8x9x $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/mcs96/mcs96ops.lst", GEN_DIR .. "emu/cpu/mcs96/i8xc196d.hxx", { MAME_DIR .. "src/devices/cpu/mcs96/mcs96make.py" }, {"@echo Generating i8xc196 disassembler source file...", PYTHON .. " $(1) d i8xc196 $(<) $(2) $(@)" }}) + + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/mcs96/i8x9xd.cpp", GEN_DIR .. "emu/cpu/mcs96/i8x9xd.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/mcs96/i8xc196d.cpp", GEN_DIR .. "emu/cpu/mcs96/i8xc196d.hxx" }) + + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/mcs96/mcs96d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/mcs96/i8x9xd.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/mcs96/i8xc196d.cpp") + end + +-------------------------------------------------- +-- Intel 80x86 series (also a dynamic recompiler target) +--@src/devices/cpu/i86/i86.h,CPUS["I86"] = true +--@src/devices/cpu/i86/i286.h,CPUS["I86"] = true +--@src/devices/cpu/i386/i386.h,CPUS["I386"] = true +-------------------------------------------------- + +if (CPUS["I86"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/i86/i86.cpp", + MAME_DIR .. "src/devices/cpu/i86/i86.h", + MAME_DIR .. "src/devices/cpu/i86/i186.cpp", + MAME_DIR .. "src/devices/cpu/i86/i186.h", + MAME_DIR .. "src/devices/cpu/i86/i286.cpp", + MAME_DIR .. "src/devices/cpu/i86/i286.h", + MAME_DIR .. "src/devices/cpu/i86/i86inline.h", + } +end + +if (CPUS["I86"]~=null or CPUS["I386"]~=null or CPU_INCLUDE_DRC or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i386/i386dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i386/i386dasm.h") +end + +if (CPUS["I386"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/i386/i386.cpp", + MAME_DIR .. "src/devices/cpu/i386/i386.h", + MAME_DIR .. "src/devices/cpu/i386/athlon.cpp", + MAME_DIR .. "src/devices/cpu/i386/athlon.h", + MAME_DIR .. "src/devices/cpu/i386/cache.h", + MAME_DIR .. "src/devices/cpu/i386/cycles.h", + MAME_DIR .. "src/devices/cpu/i386/i386op16.hxx", + MAME_DIR .. "src/devices/cpu/i386/i386op32.hxx", + MAME_DIR .. "src/devices/cpu/i386/i386ops.h", + MAME_DIR .. "src/devices/cpu/i386/i386ops.hxx", + MAME_DIR .. "src/devices/cpu/i386/i386priv.h", + MAME_DIR .. "src/devices/cpu/i386/i386segs.hxx", + MAME_DIR .. "src/devices/cpu/i386/i486ops.hxx", + MAME_DIR .. "src/devices/cpu/i386/pentops.hxx", + MAME_DIR .. "src/devices/cpu/i386/x87ops.hxx", + MAME_DIR .. "src/devices/cpu/i386/x87priv.h", + MAME_DIR .. "src/devices/cpu/i386/cpuidmsrs.hxx", + } +end + +-------------------------------------------------- +-- Intel i860 +--@src/devices/cpu/i860/i860.h,CPUS["I860"] = true +-------------------------------------------------- + +if (CPUS["I860"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/i860/i860.cpp", + MAME_DIR .. "src/devices/cpu/i860/i860.h", + MAME_DIR .. "src/devices/cpu/i860/i860dec.hxx", + } +end + +if (CPUS["I860"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i860/i860dis.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i860/i860dis.h") +end + +-------------------------------------------------- +-- Intel i960 +--@src/devices/cpu/i960/i960.h,CPUS["I960"] = true +-------------------------------------------------- + +if (CPUS["I960"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/i960/i960.cpp", + MAME_DIR .. "src/devices/cpu/i960/i960.h", + } +end + +if (CPUS["I960"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i960/i960dis.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/i960/i960dis.h") +end + +-------------------------------------------------- +-- LH5801 +--@src/devices/cpu/lh5801/lh5801.h,CPUS["LH5801"] = true +-------------------------------------------------- + +if (CPUS["LH5801"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/lh5801/lh5801.cpp", + MAME_DIR .. "src/devices/cpu/lh5801/lh5801.h", + MAME_DIR .. "src/devices/cpu/lh5801/5801tbl.hxx", + } +end + +if (CPUS["LH5801"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/lh5801/5801dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/lh5801/5801dasm.h") +end +-------- +------------------------------------------ +-- Manchester Small-Scale Experimental Machine +--@src/devices/cpu/ssem/ssem.h,CPUS["SSEM"] = true +-------------------------------------------------- + +if (CPUS["SSEM"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/ssem/ssem.cpp", + MAME_DIR .. "src/devices/cpu/ssem/ssem.h", + } +end + +if (CPUS["SSEM"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ssem/ssemdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ssem/ssemdasm.h") +end + +------------------------------------------ +-- Diablo Systems printer CPU +--@src/devices/cpu/diablo/diablo1300.h,CPUS["DIABLO"] = true +-------------------------------------------------- + +if (CPUS["DIABLO"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/diablo/diablo1300.cpp", + MAME_DIR .. "src/devices/cpu/diablo/diablo1300.h", + } +end + +if (CPUS["DIABLO"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/diablo/diablo1300dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ssem/diablo1300dasm.h") +end + +-------------------------------------------------- +-- Fujitsu MB88xx +--@src/devices/cpu/mb88xx/mb88xx.h,CPUS["MB88XX"] = true +-------------------------------------------------- + +if (CPUS["MB88XX"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mb88xx/mb88xx.cpp", + MAME_DIR .. "src/devices/cpu/mb88xx/mb88xx.h", + } +end + +if (CPUS["MB88XX"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mb88xx/mb88dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mb88xx/mb88dasm.h") +end + +-------------------------------------------------- +-- Fujitsu MB86233 +--@src/devices/cpu/mb86233/mb86233.h,CPUS["MB86233"] = true +-------------------------------------------------- + +if (CPUS["MB86233"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mb86233/mb86233.cpp", + MAME_DIR .. "src/devices/cpu/mb86233/mb86233.h", + } +end + +if (CPUS["MB86233"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mb86233/mb86233d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mb86233/mb86233d.h") +end + +-------------------------------------------------- +-- Fujitsu MB86235 +--@src/devices/cpu/mb86235/mb86235.h,CPUS["MB86235"] = true +-------------------------------------------------- + +if (CPUS["MB86235"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mb86235/mb86235.cpp", + MAME_DIR .. "src/devices/cpu/mb86235/mb86235.h", + MAME_DIR .. "src/devices/cpu/mb86235/mb86235drc.cpp", + MAME_DIR .. "src/devices/cpu/mb86235/mb86235fe.cpp", + MAME_DIR .. "src/devices/cpu/mb86235/mb86235fe.h", + MAME_DIR .. "src/devices/cpu/mb86235/mb86235ops.cpp", + } +end + +if (CPUS["MB86235"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mb86235/mb86235d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mb86235/mb86235d.h") +end + +-------------------------------------------------- +-- Microchip PIC16C5x +--@src/devices/cpu/pic16c5x/pic16c5x.h,CPUS["PIC16C5X"] = true +-------------------------------------------------- + +if (CPUS["PIC16C5X"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/pic16c5x/pic16c5x.cpp", + MAME_DIR .. "src/devices/cpu/pic16c5x/pic16c5x.h", + } +end + +if (CPUS["PIC16C5X"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pic16c5x/16c5xdsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pic16c5x/16c5xdsm.h") +end + +-------------------------------------------------- +-- Microchip PIC16C62x +--@src/devices/cpu/pic16c62x/pic16c62x.h,CPUS["PIC16C62X"] = true +-------------------------------------------------- + +if (CPUS["PIC16C62X"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/pic16c62x/pic16c62x.cpp", + MAME_DIR .. "src/devices/cpu/pic16c62x/pic16c62x.h", + } +end + +if (CPUS["PIC16C62X"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pic16c62x/16c62xdsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pic16c62x/16c62xdsm.h") +end + +-------------------------------------------------- +-- MIPS R3000 (MIPS I/II) series +--@src/devices/cpu/mips/mips1.h,CPUS["MIPS1"] = true +-------------------------------------------------- + +if (CPUS["MIPS1"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mips/mips1.cpp", + MAME_DIR .. "src/devices/cpu/mips/mips1.h", + } +end + +if (CPUS["MIPS1"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mips/mips1dsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mips/mips1dsm.h") +end + +-------------------------------------------------- +-- MIPS R4000 (MIPS III/IV) series +--@src/devices/cpu/mips/mips3.h,CPUS["MIPS3"] = true +--@src/devices/cpu/mips/r4000.h,CPUS["MIPS3"] = true +-------------------------------------------------- + +if (CPUS["MIPS3"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mips/mips3com.cpp", + MAME_DIR .. "src/devices/cpu/mips/mips3com.h", + MAME_DIR .. "src/devices/cpu/mips/mips3.cpp", + MAME_DIR .. "src/devices/cpu/mips/mips3.h", + MAME_DIR .. "src/devices/cpu/mips/mips3fe.cpp", + MAME_DIR .. "src/devices/cpu/mips/mips3fe.h", + MAME_DIR .. "src/devices/cpu/mips/mips3drc.cpp", + MAME_DIR .. "src/devices/cpu/mips/o2dprintf.hxx", + MAME_DIR .. "src/devices/cpu/mips/ps2vu.cpp", + MAME_DIR .. "src/devices/cpu/mips/ps2vu.h", + MAME_DIR .. "src/devices/cpu/mips/ps2vif1.cpp", + MAME_DIR .. "src/devices/cpu/mips/ps2vif1.h", + MAME_DIR .. "src/devices/cpu/mips/r4000.cpp", + MAME_DIR .. "src/devices/cpu/mips/r4000.h", + } +end + +if (CPUS["MIPS3"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mips/mips3dsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mips/mips3dsm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mips/vudasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mips/vudasm.h") +end + +-------------------------------------------------- +-- Sony PlayStation CPU (R3000-based + GTE) +--@src/devices/cpu/psx/psx.h,CPUS["PSX"] = true +-------------------------------------------------- + +if (CPUS["PSX"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/psx/psx.cpp", + MAME_DIR .. "src/devices/cpu/psx/psx.h", + MAME_DIR .. "src/devices/cpu/psx/psxdefs.h", + MAME_DIR .. "src/devices/cpu/psx/gte.cpp", + MAME_DIR .. "src/devices/cpu/psx/gte.h", + MAME_DIR .. "src/devices/cpu/psx/dma.cpp", + MAME_DIR .. "src/devices/cpu/psx/dma.h", + MAME_DIR .. "src/devices/cpu/psx/irq.cpp", + MAME_DIR .. "src/devices/cpu/psx/irq.h", + MAME_DIR .. "src/devices/cpu/psx/mdec.cpp", + MAME_DIR .. "src/devices/cpu/psx/mdec.h", + MAME_DIR .. "src/devices/cpu/psx/rcnt.cpp", + MAME_DIR .. "src/devices/cpu/psx/rcnt.h", + MAME_DIR .. "src/devices/cpu/psx/sio.cpp", + MAME_DIR .. "src/devices/cpu/psx/sio.h", + } +end + +if (CPUS["PSX"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/psx/psxdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/psx/psxdasm.h") +end + +-------------------------------------------------- +-- Mitsubishi MELPS 4 series +--@src/devices/cpu/melps4/melps4.h,CPUS["MELPS4"] = true +-------------------------------------------------- + +if (CPUS["MELPS4"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/melps4/melps4.cpp", + MAME_DIR .. "src/devices/cpu/melps4/melps4.h", + MAME_DIR .. "src/devices/cpu/melps4/melps4op.cpp", + MAME_DIR .. "src/devices/cpu/melps4/m58846.cpp", + MAME_DIR .. "src/devices/cpu/melps4/m58846.h", + } +end + +if (CPUS["MELPS4"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/melps4/melps4d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/melps4/melps4d.h") +end + +-------------------------------------------------- +-- Mitsubishi M37702 and M37710 (based on 65C816) +--@src/devices/cpu/m37710/m37710.h,CPUS["M37710"] = true +-------------------------------------------------- + +if (CPUS["M37710"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/m37710/m37710.cpp", + MAME_DIR .. "src/devices/cpu/m37710/m37710.h", + MAME_DIR .. "src/devices/cpu/m37710/m37710o0.cpp", + MAME_DIR .. "src/devices/cpu/m37710/m37710o1.cpp", + MAME_DIR .. "src/devices/cpu/m37710/m37710o2.cpp", + MAME_DIR .. "src/devices/cpu/m37710/m37710o3.cpp", + MAME_DIR .. "src/devices/cpu/m37710/m37710cm.h", + MAME_DIR .. "src/devices/cpu/m37710/m37710il.h", + MAME_DIR .. "src/devices/cpu/m37710/m37710op.h", + } +end + +if (CPUS["M37710"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m37710/m7700ds.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m37710/m7700ds.h") +end + +-------------------------------------------------- +-- Mostek 6502 and its many derivatives +--@src/devices/cpu/m6502/m6502.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/deco16.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m4510.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m65ce02.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m65c02.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/r65c02.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m65sc02.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m6500_1.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m6504.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m6507.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m6509.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m6510.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m6510t.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m7501.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m8502.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/n2a03.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m740.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m3745x.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/m5074x.h,CPUS["M6502"] = true +--@src/devices/cpu/m6502/xavix.h,CPUS["XAVIX"] = true +--@src/devices/cpu/m6502/xavix.h,CPUS["XAVIX2000"] = true + +-------------------------------------------------- + +if (CPUS["M6502"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/m6502/deco16.cpp", + MAME_DIR .. "src/devices/cpu/m6502/deco16.h", + MAME_DIR .. "src/devices/cpu/m6502/m4510.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m4510.h", + MAME_DIR .. "src/devices/cpu/m6502/m6502.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m6502.h", + MAME_DIR .. "src/devices/cpu/m6502/m65c02.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m65c02.h", + MAME_DIR .. "src/devices/cpu/m6502/m65ce02.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m65ce02.h", + MAME_DIR .. "src/devices/cpu/m6502/m65sc02.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m65sc02.h", + MAME_DIR .. "src/devices/cpu/m6502/m6500_1.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m6500_1.h", + MAME_DIR .. "src/devices/cpu/m6502/m6504.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m6504.h", + MAME_DIR .. "src/devices/cpu/m6502/m6507.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m6507.h", + MAME_DIR .. "src/devices/cpu/m6502/m6509.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m6509.h", + MAME_DIR .. "src/devices/cpu/m6502/m6510.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m6510.h", + MAME_DIR .. "src/devices/cpu/m6502/m6510t.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m6510t.h", + MAME_DIR .. "src/devices/cpu/m6502/m7501.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m7501.h", + MAME_DIR .. "src/devices/cpu/m6502/m8502.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m8502.h", + MAME_DIR .. "src/devices/cpu/m6502/n2a03.cpp", + MAME_DIR .. "src/devices/cpu/m6502/n2a03.h", + MAME_DIR .. "src/devices/cpu/m6502/r65c02.cpp", + MAME_DIR .. "src/devices/cpu/m6502/r65c02.h", + MAME_DIR .. "src/devices/cpu/m6502/m740.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m740.h", + MAME_DIR .. "src/devices/cpu/m6502/m3745x.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m3745x.h", + MAME_DIR .. "src/devices/cpu/m6502/m5074x.cpp", + MAME_DIR .. "src/devices/cpu/m6502/m5074x.h", + MAME_DIR .. "src/devices/cpu/m6502/xavix.cpp", + MAME_DIR .. "src/devices/cpu/m6502/xavix.h", + MAME_DIR .. "src/devices/cpu/m6502/xavix2000.cpp", + MAME_DIR .. "src/devices/cpu/m6502/xavix2000.h", + } + + custombuildtask { + { MAME_DIR .. "src/devices/cpu/m6502/odeco16.lst", GEN_DIR .. "emu/cpu/m6502/deco16.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/ddeco16.lst" }, {"@echo Generating deco16 disassembler source file...", PYTHON .. " $(1) s deco16 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om4510.lst", GEN_DIR .. "emu/cpu/m6502/m4510.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm4510.lst" }, {"@echo Generating m4510 disassembler source file...", PYTHON .. " $(1) s m4510 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om6502.lst", GEN_DIR .. "emu/cpu/m6502/m6502.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6502.lst" }, {"@echo Generating m6502 disassembler source file...", PYTHON .. " $(1) s m6502 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om65c02.lst", GEN_DIR .. "emu/cpu/m6502/m65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65c02.lst" }, {"@echo Generating m65c02 disassembler source file...", PYTHON .. " $(1) s m65c02 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om65ce02.lst", GEN_DIR .. "emu/cpu/m6502/m65ce02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65ce02.lst" }, {"@echo Generating m65ce02 disassembler source file...", PYTHON .. " $(1) s m65ce02 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om6509.lst", GEN_DIR .. "emu/cpu/m6502/m6509.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6509.lst" }, {"@echo Generating m6509 disassembler source file...", PYTHON .. " $(1) s m6509 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om6510.lst", GEN_DIR .. "emu/cpu/m6502/m6510.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6510.lst" }, {"@echo Generating m6510 disassembler source file...", PYTHON .. " $(1) s m6510 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/on2a03.lst", GEN_DIR .. "emu/cpu/m6502/n2a03.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dn2a03.lst" }, {"@echo Generating n2a03 disassembler source file...", PYTHON .. " $(1) s n2a03 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om740.lst" , GEN_DIR .. "emu/cpu/m6502/m740.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm740.lst" }, {"@echo Generating m740 disassembler source file...", PYTHON .. " $(1) s m740 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/dr65c02.lst", GEN_DIR .. "emu/cpu/m6502/r65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", }, {"@echo Generating r65c02 disassembler source file...", PYTHON .. " $(1) s r65c02 - $(<) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/oxavix.lst", GEN_DIR .. "emu/cpu/m6502/xavix.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dxavix.lst" }, {"@echo Generating xavix disassembler source file...", PYTHON .. " $(1) s xavix $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/oxavix2000.lst", GEN_DIR .. "emu/cpu/m6502/xavix2000.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dxavix2000.lst" }, {"@echo Generating xavix2000 disassembler source file...", PYTHON .. " $(1) s xavix2000 $(<) $(2) $(@)" }}, + } + + dependency { + { MAME_DIR .. "src/devices/cpu/m6502/deco16.cpp", GEN_DIR .. "emu/cpu/m6502/deco16.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/m4510.cpp", GEN_DIR .. "emu/cpu/m6502/m4510.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/m6502.cpp", GEN_DIR .. "emu/cpu/m6502/m6502.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/m65c02.cpp", GEN_DIR .. "emu/cpu/m6502/m65c02.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/m65ce02.cpp", GEN_DIR .. "emu/cpu/m6502/m65ce02.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/m6509.cpp", GEN_DIR .. "emu/cpu/m6502/m6509.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/m6510.cpp", GEN_DIR .. "emu/cpu/m6502/m6510.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/n2a03.cpp", GEN_DIR .. "emu/cpu/m6502/n2a03.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/r65c02.cpp", GEN_DIR .. "emu/cpu/m6502/r65c02.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/m740.cpp", GEN_DIR .. "emu/cpu/m6502/m740.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/xavix.cpp", GEN_DIR .. "emu/cpu/m6502/xavix.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/xavix2000.cpp", GEN_DIR .. "emu/cpu/m6502/xavix2000.hxx" }, + } +end + +if (CPUS["M6502"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/odeco16.lst", GEN_DIR .. "emu/cpu/m6502/deco16d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/ddeco16.lst" }, {"@echo Generating deco16 disassembler source file...", PYTHON .. " $(1) d deco16 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om4510.lst", GEN_DIR .. "emu/cpu/m6502/m4510d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm4510.lst" }, {"@echo Generating m4510 disassembler source file...", PYTHON .. " $(1) d m4510 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om6502.lst", GEN_DIR .. "emu/cpu/m6502/m6502d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6502.lst" }, {"@echo Generating m6502 disassembler source file...", PYTHON .. " $(1) d m6502 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om65c02.lst", GEN_DIR .. "emu/cpu/m6502/m65c02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65c02.lst" }, {"@echo Generating m65c02 disassembler source file...", PYTHON .. " $(1) d m65c02 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om65ce02.lst", GEN_DIR .. "emu/cpu/m6502/m65ce02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65ce02.lst" }, {"@echo Generating m65ce02 disassembler source file...", PYTHON .. " $(1) d m65ce02 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om6509.lst", GEN_DIR .. "emu/cpu/m6502/m6509d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6509.lst" }, {"@echo Generating m6509 disassembler source file...", PYTHON .. " $(1) d m6509 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om6510.lst", GEN_DIR .. "emu/cpu/m6502/m6510d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6510.lst" }, {"@echo Generating m6510 disassembler source file...", PYTHON .. " $(1) d m6510 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/on2a03.lst", GEN_DIR .. "emu/cpu/m6502/n2a03d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dn2a03.lst" }, {"@echo Generating n2a03 disassembler source file...", PYTHON .. " $(1) d n2a03 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/om740.lst" , GEN_DIR .. "emu/cpu/m6502/m740d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm740.lst" }, {"@echo Generating m740 disassembler source file...", PYTHON .. " $(1) d m740 $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/dr65c02.lst", GEN_DIR .. "emu/cpu/m6502/r65c02d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", }, {"@echo Generating r65c02 disassembler source file...", PYTHON .. " $(1) d r65c02 - $(<) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/oxavix.lst", GEN_DIR .. "emu/cpu/m6502/xavixd.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dxavix.lst" }, {"@echo Generating xavix disassembler source file...", PYTHON .. " $(1) d xavix $(<) $(2) $(@)" }}) + table.insert(disasm_custombuildtask, { MAME_DIR .. "src/devices/cpu/m6502/oxavix2000.lst", GEN_DIR .. "emu/cpu/m6502/xavix2000d.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dxavix2000.lst" }, {"@echo Generating xavix2000 disassembler source file...", PYTHON .. " $(1) d xavix2000 $(<) $(2) $(@)" }}) + + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/deco16d.cpp", GEN_DIR .. "emu/cpu/m6502/deco16d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m4510d.cpp", GEN_DIR .. "emu/cpu/m6502/m4510d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m6502d.cpp", GEN_DIR .. "emu/cpu/m6502/m6502d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m65c02d.cpp", GEN_DIR .. "emu/cpu/m6502/m65c02d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.cpp", GEN_DIR .. "emu/cpu/m6502/m65ce02d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m6509d.cpp", GEN_DIR .. "emu/cpu/m6502/m6509d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m6510d.cpp", GEN_DIR .. "emu/cpu/m6502/m6510d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/n2a03d.cpp", GEN_DIR .. "emu/cpu/m6502/n2a03d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/r65c02d.cpp", GEN_DIR .. "emu/cpu/m6502/r65c02d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/m740d.cpp", GEN_DIR .. "emu/cpu/m6502/m740d.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/xavixd.cpp", GEN_DIR .. "emu/cpu/m6502/xavixd.hxx" }) + table.insert(disasm_dependency, { MAME_DIR .. "src/devices/cpu/m6502/xavix2000d.cpp", GEN_DIR .. "emu/cpu/m6502/xavix2000d.hxx" }) + + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/deco16d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/deco16d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m4510d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m4510d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6502d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6502d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6509d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6509d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6510d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m6510d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65c02d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65c02d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m65ce02d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m740d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/m740d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/n2a03d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/n2a03d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/r65c02d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/r65c02d.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/xavixd.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/xavixd.h") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/xavix2000d.cpp") + table.insert(disasm_files, MAME_DIR .. "src/devices/cpu/m6502/xavix2000d.h") +end + +-------------------------------------------------- +-- Motorola 680x +--@src/devices/cpu/m6800/m6800.h,CPUS["M6800"] = true +--@src/devices/cpu/m6800/m6801.h,CPUS["M6800"] = true +-------------------------------------------------- + +if (CPUS["M6800"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/m6800/m6800.cpp", + MAME_DIR .. "src/devices/cpu/m6800/m6800.h", + MAME_DIR .. "src/devices/cpu/m6800/m6801.cpp", + MAME_DIR .. "src/devices/cpu/m6800/m6801.h", + MAME_DIR .. "src/devices/cpu/m6800/6800ops.hxx", + MAME_DIR .. "src/devices/cpu/m6800/6800tbl.hxx", + } +end + +if (CPUS["M6800"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m6800/6800dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m6800/6800dasm.h") +end + +-------------------------------------------------- +-- Motorola 6805 +--@src/devices/cpu/m6805/m6805.h,CPUS["M6805"] = true +-------------------------------------------------- + +if (CPUS["M6805"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/m6805/m6805.cpp", + MAME_DIR .. "src/devices/cpu/m6805/m6805.h", + MAME_DIR .. "src/devices/cpu/m6805/m6805defs.h", + MAME_DIR .. "src/devices/cpu/m6805/6805ops.hxx", + MAME_DIR .. "src/devices/cpu/m6805/m68705.cpp", + MAME_DIR .. "src/devices/cpu/m6805/m68705.h", + MAME_DIR .. "src/devices/cpu/m6805/m68hc05.cpp", + MAME_DIR .. "src/devices/cpu/m6805/m68hc05.h", + } +end + +if (CPUS["M6805"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m6805/6805dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m6805/6805dasm.h") +end + +-------------------------------------------------- +-- Motorola 6809 +--@src/devices/cpu/m6809/m6809.h,CPUS["M6809"] = true +--@src/devices/cpu/m6809/hd6309.h,CPUS["M6809"] = true +--@src/devices/cpu/m6809/konami.h,CPUS["M6809"] = true +-------------------------------------------------- + +if (CPUS["M6809"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/m6809/m6809.cpp", + MAME_DIR .. "src/devices/cpu/m6809/m6809.h", + MAME_DIR .. "src/devices/cpu/m6809/hd6309.cpp", + MAME_DIR .. "src/devices/cpu/m6809/hd6309.h", + MAME_DIR .. "src/devices/cpu/m6809/konami.cpp", + MAME_DIR .. "src/devices/cpu/m6809/konami.h", + MAME_DIR .. "src/devices/cpu/m6809/m6809inl.h", + } + + dependency { + { MAME_DIR .. "src/devices/cpu/m6809/m6809.cpp", GEN_DIR .. "emu/cpu/m6809/m6809.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6809/hd6309.cpp", GEN_DIR .. "emu/cpu/m6809/hd6309.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6809/konami.cpp", GEN_DIR .. "emu/cpu/m6809/konami.hxx" }, + } + + custombuildtask { + { MAME_DIR .. "src/devices/cpu/m6809/m6809.ops" , GEN_DIR .. "emu/cpu/m6809/m6809.hxx", { MAME_DIR .. "src/devices/cpu/m6809/m6809make.py" , MAME_DIR .. "src/devices/cpu/m6809/base6x09.ops" }, {"@echo Generating m6809 source file...", PYTHON .. " $(1) $(<) > $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6809/hd6309.ops" , GEN_DIR .. "emu/cpu/m6809/hd6309.hxx", { MAME_DIR .. "src/devices/cpu/m6809/m6809make.py" , MAME_DIR .. "src/devices/cpu/m6809/base6x09.ops" }, {"@echo Generating hd6309 source file...", PYTHON .. " $(1) $(<) > $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6809/konami.ops" , GEN_DIR .. "emu/cpu/m6809/konami.hxx", { MAME_DIR .. "src/devices/cpu/m6809/m6809make.py" , MAME_DIR .. "src/devices/cpu/m6809/base6x09.ops" }, {"@echo Generating konami source file...", PYTHON .. " $(1) $(<) > $(@)" }}, + } +end + +if (CPUS["M6809"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m6809/6x09dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m6809/6x09dasm.h") +end + +-------------------------------------------------- +-- Motorola 68HC11 +--@src/devices/cpu/mc68hc11/mc68hc11.h,CPUS["MC68HC11"] = true +-------------------------------------------------- + +if (CPUS["MC68HC11"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mc68hc11/mc68hc11.cpp", + MAME_DIR .. "src/devices/cpu/mc68hc11/mc68hc11.h", + MAME_DIR .. "src/devices/cpu/mc68hc11/hc11ops.h", + MAME_DIR .. "src/devices/cpu/mc68hc11/hc11ops.hxx", + } +end + +if (CPUS["MC68HC11"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mc68hc11/hc11dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mc68hc11/hc11dasm.h") +end + +-------------------------------------------------- +-- Motorola 68000 series +--@src/devices/cpu/m68000/m68000.h,CPUS["M680X0"] = true +-------------------------------------------------- + +if (CPUS["M680X0"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/m68000/m68kcpu.cpp", + MAME_DIR .. "src/devices/cpu/m68000/m68kcpu.h", + MAME_DIR .. "src/devices/cpu/m68000/m68kops.cpp", + MAME_DIR .. "src/devices/cpu/m68000/m68kops.h", + MAME_DIR .. "src/devices/cpu/m68000/m68000.h", + MAME_DIR .. "src/devices/cpu/m68000/m68kfpu.hxx", + MAME_DIR .. "src/devices/cpu/m68000/m68kmmu.h", + } +end + +if (CPUS["M680X0"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m68000/m68kdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/m68000/m68kdasm.h") +end + +-------------------------------------------------- +-- Motorola/Freescale dsp56k +--@src/devices/cpu/dsp56k/dsp56k.h,CPUS["DSP56156"] = true +-------------------------------------------------- + +if (CPUS["DSP56156"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/dsp56k/dsp56k.cpp", + MAME_DIR .. "src/devices/cpu/dsp56k/dsp56k.h", + MAME_DIR .. "src/devices/cpu/dsp56k/dsp56mem.cpp", + MAME_DIR .. "src/devices/cpu/dsp56k/dsp56mem.h", + MAME_DIR .. "src/devices/cpu/dsp56k/dsp56pcu.cpp", + MAME_DIR .. "src/devices/cpu/dsp56k/dsp56pcu.h", + MAME_DIR .. "src/devices/cpu/dsp56k/dsp56def.h", + MAME_DIR .. "src/devices/cpu/dsp56k/dsp56ops.hxx", + } +end + +if (CPUS["DSP56156"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56k/dsp56dsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56k/dsp56dsm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56k/opcode.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56k/opcode.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56k/inst.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56k/inst.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56k/pmove.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56k/pmove.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56k/tables.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dsp56k/tables.h") +end + +-------------------------------------------------- +-- PDP-1 +-- TX0 +--@src/devices/cpu/pdp1/pdp1.h,CPUS["PDP1"] = true +--@src/devices/cpu/pdp1/tx0.h,CPUS["PDP1"] = true +-------------------------------------------------- + +if (CPUS["PDP1"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/pdp1/pdp1.cpp", + MAME_DIR .. "src/devices/cpu/pdp1/pdp1.h", + MAME_DIR .. "src/devices/cpu/pdp1/tx0.cpp", + MAME_DIR .. "src/devices/cpu/pdp1/tx0.h", + } +end + +if (CPUS["PDP1"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pdp1/pdp1dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pdp1/pdp1dasm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pdp1/tx0dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pdp1/tx0dasm.h") +end + +-------------------------------------------------- +-- PATINHO FEIO - Escola Politecnica - USP (Brazil) +--@src/devices/cpu/patinhofeio/patinhofeio_cpu.h,CPUS["PATINHOFEIO"] = true +-------------------------------------------------- + +if (CPUS["PATINHOFEIO"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/patinhofeio/patinho_feio.cpp", + MAME_DIR .. "src/devices/cpu/patinhofeio/patinhofeio_cpu.h", + } +end + +if (CPUS["PATINHOFEIO"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/patinhofeio/patinho_feio_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/patinhofeio/patinho_feio_dasm.h") +end + +-------------------------------------------------- +-- Motorola PowerPC series +--@src/devices/cpu/powerpc/ppc.h,CPUS["POWERPC"] = true +-------------------------------------------------- + +if (CPUS["POWERPC"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/powerpc/ppccom.cpp", + MAME_DIR .. "src/devices/cpu/powerpc/ppccom.h", + MAME_DIR .. "src/devices/cpu/powerpc/ppcfe.cpp", + MAME_DIR .. "src/devices/cpu/powerpc/ppcfe.h", + MAME_DIR .. "src/devices/cpu/powerpc/ppcdrc.cpp", + MAME_DIR .. "src/devices/cpu/powerpc/ppc.h", + } +end + +if (CPUS["POWERPC"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/powerpc/ppc_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/powerpc/ppc_dasm.h") +end + +-------------------------------------------------- +-- NEC V-series Intel-compatible +--@src/devices/cpu/nec/nec.h,CPUS["NEC"] = true +--@src/devices/cpu/nec/v25.h,CPUS["NEC"] = true +--@src/devices/cpu/nec/v5x.h,CPUS["NEC"] = true +--@src/devices/cpu/v30mz/v30mz.h,CPUS["V30MZ"] = true +-------------------------------------------------- + +if (CPUS["NEC"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/nec/nec.cpp", + MAME_DIR .. "src/devices/cpu/nec/nec.h", + MAME_DIR .. "src/devices/cpu/nec/necea.h", + MAME_DIR .. "src/devices/cpu/nec/necinstr.h", + MAME_DIR .. "src/devices/cpu/nec/necinstr.hxx", + MAME_DIR .. "src/devices/cpu/nec/necmacro.h", + MAME_DIR .. "src/devices/cpu/nec/necmodrm.h", + MAME_DIR .. "src/devices/cpu/nec/necpriv.h", + MAME_DIR .. "src/devices/cpu/nec/v25instr.h", + MAME_DIR .. "src/devices/cpu/nec/v25instr.hxx", + MAME_DIR .. "src/devices/cpu/nec/v25priv.h", + MAME_DIR .. "src/devices/cpu/nec/v25.cpp", + MAME_DIR .. "src/devices/cpu/nec/v25.h", + MAME_DIR .. "src/devices/cpu/nec/v25sfr.cpp", + MAME_DIR .. "src/devices/cpu/nec/v5x.cpp", + MAME_DIR .. "src/devices/cpu/nec/v5x.h", + } +end + +if (CPUS["NEC"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/nec/necdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/nec/necdasm.h") +end + +if (CPUS["V30MZ"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/v30mz/v30mz.cpp", + MAME_DIR .. "src/devices/cpu/v30mz/v30mz.h", + } +end + +if (CPUS["V30MZ"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/nec/necdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/nec/necdasm.h") +end + +-------------------------------------------------- +-- NEC V60/V70 +--@src/devices/cpu/v60/v60.h,CPUS["V60"] = true +-------------------------------------------------- + +if (CPUS["V60"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/v60/v60.cpp", + MAME_DIR .. "src/devices/cpu/v60/v60.h", + MAME_DIR .. "src/devices/cpu/v60/am.hxx", + MAME_DIR .. "src/devices/cpu/v60/am1.hxx", + MAME_DIR .. "src/devices/cpu/v60/am2.hxx", + MAME_DIR .. "src/devices/cpu/v60/am3.hxx", + MAME_DIR .. "src/devices/cpu/v60/op12.hxx", + MAME_DIR .. "src/devices/cpu/v60/op2.hxx", + MAME_DIR .. "src/devices/cpu/v60/op3.hxx", + MAME_DIR .. "src/devices/cpu/v60/op4.hxx", + MAME_DIR .. "src/devices/cpu/v60/op5.hxx", + MAME_DIR .. "src/devices/cpu/v60/op6.hxx", + MAME_DIR .. "src/devices/cpu/v60/op7a.hxx", + MAME_DIR .. "src/devices/cpu/v60/optable.hxx", + } +end + +if (CPUS["V60"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/v60/v60d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/v60/v60d.h") +end + +-------------------------------------------------- +-- NEC V810 (uPD70732) +--@src/devices/cpu/v810/v810.h,CPUS["V810"] = true +-------------------------------------------------- + +if (CPUS["V810"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/v810/v810.cpp", + MAME_DIR .. "src/devices/cpu/v810/v810.h", + } +end + +if (CPUS["V810"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/v810/v810dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/v810/v810dasm.h") +end + +-------------------------------------------------- +-- NEC uPD7725 +--@src/devices/cpu/upd7725/upd7725.h,CPUS["UPD7725"] = true +-------------------------------------------------- + +if (CPUS["UPD7725"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/upd7725/upd7725.cpp", + MAME_DIR .. "src/devices/cpu/upd7725/upd7725.h", + } +end + +if (CPUS["UPD7725"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/upd7725/dasm7725.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/upd7725/dasm7725.h") +end + +-------------------------------------------------- +-- NEC uPD7810 series +--@src/devices/cpu/upd7810/upd7810.h,CPUS["UPD7810"] = true +-------------------------------------------------- + +if (CPUS["UPD7810"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/upd7810/upd7810.cpp", + MAME_DIR .. "src/devices/cpu/upd7810/upd7810.h", + MAME_DIR .. "src/devices/cpu/upd7810/upd7810_opcodes.cpp", + MAME_DIR .. "src/devices/cpu/upd7810/upd7810_table.cpp", + MAME_DIR .. "src/devices/cpu/upd7810/upd7810_macros.h", + MAME_DIR .. "src/devices/cpu/upd7810/upd7811.cpp", + MAME_DIR .. "src/devices/cpu/upd7810/upd7811.h", + } +end + +if (CPUS["UPD7810"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/upd7810/upd7810_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/upd7810/upd7810_dasm.h") +end + +-------------------------------------------------- +-- NEC uCOM-4 series +--@src/devices/cpu/ucom4/ucom4.h,CPUS["UCOM4"] = true +-------------------------------------------------- + +if (CPUS["UCOM4"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/ucom4/ucom4.cpp", + MAME_DIR .. "src/devices/cpu/ucom4/ucom4.h", + MAME_DIR .. "src/devices/cpu/ucom4/ucom4op.cpp", + } +end + +if (CPUS["UCOM4"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ucom4/ucom4d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ucom4/ucom4d.h") +end + +-------------------------------------------------- +-- Nintendo Minx +--@src/devices/cpu/minx/minx.h,CPUS["MINX"] = true +-------------------------------------------------- + +if (CPUS["MINX"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/minx/minx.cpp", + MAME_DIR .. "src/devices/cpu/minx/minx.h", + MAME_DIR .. "src/devices/cpu/minx/minxfunc.h", + MAME_DIR .. "src/devices/cpu/minx/minxopce.h", + MAME_DIR .. "src/devices/cpu/minx/minxopcf.h", + MAME_DIR .. "src/devices/cpu/minx/minxops.h", + } +end + +if (CPUS["MINX"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/minx/minxd.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/minx/minxd.h") +end + +-------------------------------------------------- +-- Nintendo/SGI RSP (R3000-based + vector processing) +--@src/devices/cpu/rsp/rsp.h,CPUS["RSP"] = true +-------------------------------------------------- + +if (CPUS["RSP"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/rsp/rsp.cpp", + MAME_DIR .. "src/devices/cpu/rsp/rsp.h", + MAME_DIR .. "src/devices/cpu/rsp/rspdefs.h", + MAME_DIR .. "src/devices/cpu/rsp/rspdrc.cpp", + MAME_DIR .. "src/devices/cpu/rsp/rspfe.cpp", + MAME_DIR .. "src/devices/cpu/rsp/rspfe.h", + MAME_DIR .. "src/devices/cpu/rsp/rspcp2.cpp", + MAME_DIR .. "src/devices/cpu/rsp/rspcp2.h", + MAME_DIR .. "src/devices/cpu/rsp/rspcp2d.cpp", + MAME_DIR .. "src/devices/cpu/rsp/rspcp2d.h", + MAME_DIR .. "src/devices/cpu/rsp/clamp.h", + MAME_DIR .. "src/devices/cpu/rsp/vabs.h", + MAME_DIR .. "src/devices/cpu/rsp/vadd.h", + MAME_DIR .. "src/devices/cpu/rsp/vaddc.h", + MAME_DIR .. "src/devices/cpu/rsp/vand.h", + MAME_DIR .. "src/devices/cpu/rsp/vch.h", + MAME_DIR .. "src/devices/cpu/rsp/vcl.h", + MAME_DIR .. "src/devices/cpu/rsp/vcmp.h", + MAME_DIR .. "src/devices/cpu/rsp/vcr.h", + MAME_DIR .. "src/devices/cpu/rsp/vdivh.h", + MAME_DIR .. "src/devices/cpu/rsp/vldst.h", + MAME_DIR .. "src/devices/cpu/rsp/vmac.h", + MAME_DIR .. "src/devices/cpu/rsp/vmov.h", + MAME_DIR .. "src/devices/cpu/rsp/vmrg.h", + MAME_DIR .. "src/devices/cpu/rsp/vmudh.h", + MAME_DIR .. "src/devices/cpu/rsp/vmul.h", + MAME_DIR .. "src/devices/cpu/rsp/vmulh.h", + MAME_DIR .. "src/devices/cpu/rsp/vmull.h", + MAME_DIR .. "src/devices/cpu/rsp/vmulm.h", + MAME_DIR .. "src/devices/cpu/rsp/vmuln.h", + MAME_DIR .. "src/devices/cpu/rsp/vor.h", + MAME_DIR .. "src/devices/cpu/rsp/vrcpsq.h", + MAME_DIR .. "src/devices/cpu/rsp/vrsq.h", + MAME_DIR .. "src/devices/cpu/rsp/vsub.h", + MAME_DIR .. "src/devices/cpu/rsp/vsubc.h", + MAME_DIR .. "src/devices/cpu/rsp/vxor.h", + MAME_DIR .. "src/devices/cpu/rsp/rspdiv.h", + } +end + +if (CPUS["RSP"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/rsp/rsp_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/rsp/rsp_dasm.h") +end + +-------------------------------------------------- +-- Panasonic MN10200 +--@src/devices/cpu/mn10200/mn10200.h,CPUS["MN10200"] = true +-------------------------------------------------- + +if (CPUS["MN10200"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/mn10200/mn10200.cpp", + MAME_DIR .. "src/devices/cpu/mn10200/mn10200.h", + } +end + +if (CPUS["MN10200"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mn10200/mn102dis.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mn10200/mn102dis.h") +end + +-------------------------------------------------- +-- Saturn +--@src/devices/cpu/saturn/saturn.h,CPUS["SATURN"] = true +-------------------------------------------------- + +if (CPUS["SATURN"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/saturn/saturn.cpp", + MAME_DIR .. "src/devices/cpu/saturn/saturn.h", + MAME_DIR .. "src/devices/cpu/saturn/satops.hxx", + MAME_DIR .. "src/devices/cpu/saturn/sattable.hxx", + } +end + +if (CPUS["SATURN"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/saturn/saturnds.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/saturn/saturnds.h") +end + +-------------------------------------------------- +-- Sharp SM510 series +--@src/devices/cpu/sm510/sm510.h,CPUS["SM510"] = true +-------------------------------------------------- + +if (CPUS["SM510"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/sm510/sm510base.cpp", + MAME_DIR .. "src/devices/cpu/sm510/sm510.h", + MAME_DIR .. "src/devices/cpu/sm510/sm510op.cpp", + MAME_DIR .. "src/devices/cpu/sm510/sm510core.cpp", + MAME_DIR .. "src/devices/cpu/sm510/sm511core.cpp", + MAME_DIR .. "src/devices/cpu/sm510/sm530.h", + MAME_DIR .. "src/devices/cpu/sm510/sm530op.cpp", + MAME_DIR .. "src/devices/cpu/sm510/sm530core.cpp", + MAME_DIR .. "src/devices/cpu/sm510/sm500.h", + MAME_DIR .. "src/devices/cpu/sm510/sm500op.cpp", + MAME_DIR .. "src/devices/cpu/sm510/sm500core.cpp", + MAME_DIR .. "src/devices/cpu/sm510/sm5acore.cpp", + MAME_DIR .. "src/devices/cpu/sm510/sm590.h", + MAME_DIR .. "src/devices/cpu/sm510/sm590op.cpp", + MAME_DIR .. "src/devices/cpu/sm510/sm590core.cpp", + } +end + +if (CPUS["SM510"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sm510/sm510d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sm510/sm510d.h") +end + +-------------------------------------------------- +-- Sharp SM8500 +--@src/devices/cpu/sm8500/sm8500.h,CPUS["SM8500"] = true +-------------------------------------------------- + +if (CPUS["SM8500"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/sm8500/sm8500.cpp", + MAME_DIR .. "src/devices/cpu/sm8500/sm8500.h", + MAME_DIR .. "src/devices/cpu/sm8500/sm85ops.h", + } +end + +if (CPUS["SM8500"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sm8500/sm8500d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sm8500/sm8500d.h") +end + +-------------------------------------------------- +-- Signetics 2650 +--@src/devices/cpu/s2650/s2650.h,CPUS["S2650"] = true +-------------------------------------------------- + +if (CPUS["S2650"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/s2650/s2650.cpp", + MAME_DIR .. "src/devices/cpu/s2650/s2650.h", + MAME_DIR .. "src/devices/cpu/s2650/s2650cpu.h", + } +end + +if (CPUS["S2650"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/s2650/2650dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/s2650/2650dasm.h") +end + +-------------------------------------------------- +-- SC61860 +--@src/devices/cpu/sc61860/sc61860.h,CPUS["SC61860"] = true +-------------------------------------------------- + +if (CPUS["SC61860"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/sc61860/sc61860.cpp", + MAME_DIR .. "src/devices/cpu/sc61860/sc61860.h", + --MAME_DIR .. "src/devices/cpu/sc61860/readpc.cpp", + MAME_DIR .. "src/devices/cpu/sc61860/scops.hxx", + MAME_DIR .. "src/devices/cpu/sc61860/sctable.hxx", + } +end + +if (CPUS["SC61860"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sc61860/scdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sc61860/scdasm.h") +end + +-------------------------------------------------- +-- Sony/Nintendo SPC700 +--@src/devices/cpu/spc700/spc700.h,CPUS["SPC700"] = true +-------------------------------------------------- + +if (CPUS["SPC700"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/spc700/spc700.cpp", + MAME_DIR .. "src/devices/cpu/spc700/spc700.h", + MAME_DIR .. "src/devices/cpu/spc700/spc700ds.h", + } +end + +if (CPUS["SPC700"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/spc700/spc700ds.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/spc700/spc700ds.h") +end + +-------------------------------------------------- +-- SSP1601 +--@src/devices/cpu/ssp1601/ssp1601.h,CPUS["SSP1601"] = true +-------------------------------------------------- + +if (CPUS["SSP1601"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/ssp1601/ssp1601.cpp", + MAME_DIR .. "src/devices/cpu/ssp1601/ssp1601.h", + } +end + +if (CPUS["SSP1601"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ssp1601/ssp1601d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ssp1601/ssp1601d.h") +end + +-------------------------------------------------- +-- SunPlus u'nSP +--@src/devices/cpu/unsp/unsp.h,CPUS["UNSP"] = true +-------------------------------------------------- + +if (CPUS["UNSP"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/unsp/unsp.cpp", + MAME_DIR .. "src/devices/cpu/unsp/unsp.h", + MAME_DIR .. "src/devices/cpu/unsp/unsp_extended.cpp", + MAME_DIR .. "src/devices/cpu/unsp/unsp_jumps.cpp", + MAME_DIR .. "src/devices/cpu/unsp/unsp_exxx.cpp", + MAME_DIR .. "src/devices/cpu/unsp/unsp_fxxx.cpp", + MAME_DIR .. "src/devices/cpu/unsp/unsp_other.cpp", + MAME_DIR .. "src/devices/cpu/unsp/unspdefs.h", + MAME_DIR .. "src/devices/cpu/unsp/unspdrc.cpp", + MAME_DIR .. "src/devices/cpu/unsp/unspfe.cpp", + MAME_DIR .. "src/devices/cpu/unsp/unspfe.h", + } +end + +if (CPUS["UNSP"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/unsp/unspdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/unsp/unspdasm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/unsp/unspdasm_extended.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/unsp/unspdasm_jumps.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/unsp/unspdasm_exxx.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/unsp/unspdasm_fxxx.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/unsp/unspdasm_other.cpp") +end + +-------------------------------------------------- +-- Atmel 8-bit AVR +--@src/devices/cpu/avr8/avr8.h,CPUS["AVR8"] = true +-------------------------------------------------- + +if (CPUS["AVR8"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/avr8/avr8.cpp", + MAME_DIR .. "src/devices/cpu/avr8/avr8.h", + } +end + +if (CPUS["AVR8"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/avr8/avr8dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/avr8/avr8dasm.h") +end + +-------------------------------------------------- +-- Texas Instruments TMS1000 series +--@src/devices/cpu/tms1000/tms1000.h,CPUS["TMS1000"] = true +--@src/devices/cpu/tms1000/tms1000c.h,CPUS["TMS1000"] = true +--@src/devices/cpu/tms1000/tms1100.h,CPUS["TMS1000"] = true +--@src/devices/cpu/tms1000/tms1400.h,CPUS["TMS1000"] = true +--@src/devices/cpu/tms1000/tms0970.h,CPUS["TMS1000"] = true +--@src/devices/cpu/tms1000/tms0980.h,CPUS["TMS1000"] = true +--@src/devices/cpu/tms1000/tms0270.h,CPUS["TMS1000"] = true +--@src/devices/cpu/tms1000/tp0320.h,CPUS["TMS1000"] = true +-------------------------------------------------- + +if (CPUS["TMS1000"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tms1000/tms1k_base.cpp", + MAME_DIR .. "src/devices/cpu/tms1000/tms1k_base.h", + MAME_DIR .. "src/devices/cpu/tms1000/tms1000.cpp", + MAME_DIR .. "src/devices/cpu/tms1000/tms1000.h", + MAME_DIR .. "src/devices/cpu/tms1000/tms1000c.cpp", + MAME_DIR .. "src/devices/cpu/tms1000/tms1000c.h", + MAME_DIR .. "src/devices/cpu/tms1000/tms1100.cpp", + MAME_DIR .. "src/devices/cpu/tms1000/tms1100.h", + MAME_DIR .. "src/devices/cpu/tms1000/tms1400.cpp", + MAME_DIR .. "src/devices/cpu/tms1000/tms1400.h", + MAME_DIR .. "src/devices/cpu/tms1000/tms0970.cpp", + MAME_DIR .. "src/devices/cpu/tms1000/tms0970.h", + MAME_DIR .. "src/devices/cpu/tms1000/tms0980.cpp", + MAME_DIR .. "src/devices/cpu/tms1000/tms0980.h", + MAME_DIR .. "src/devices/cpu/tms1000/tms0270.cpp", + MAME_DIR .. "src/devices/cpu/tms1000/tms0270.h", + MAME_DIR .. "src/devices/cpu/tms1000/tp0320.cpp", + MAME_DIR .. "src/devices/cpu/tms1000/tp0320.h", + } +end + +if (CPUS["TMS1000"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms1000/tms1k_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms1000/tms1k_dasm.h") +end + +-------------------------------------------------- +-- Texas Instruments TMS7000 series +--@src/devices/cpu/tms7000/tms7000.h,CPUS["TMS7000"] = true +-------------------------------------------------- + +if (CPUS["TMS7000"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tms7000/tms7000.cpp", + MAME_DIR .. "src/devices/cpu/tms7000/tms7000.h", + MAME_DIR .. "src/devices/cpu/tms7000/tms7000op.cpp", + } +end + +if (CPUS["TMS7000"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms7000/7000dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms7000/7000dasm.h") +end + +-------------------------------------------------- +-- Texas Instruments TMS99xx series +--@src/devices/cpu/tms9900/tms9900.h,CPUS["TMS9900"] = true +--@src/devices/cpu/tms9900/tms9980a.h,CPUS["TMS9900"] = true +--@src/devices/cpu/tms9900/tms9995.h,CPUS["TMS9900"] = true +--@src/devices/cpu/tms9900/ti990_10.h,CPUS["TMS9900"] = true +-------------------------------------------------- + +if (CPUS["TMS9900"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tms9900/tms9900.cpp", + MAME_DIR .. "src/devices/cpu/tms9900/tms9900.h", + MAME_DIR .. "src/devices/cpu/tms9900/tms9980a.cpp", + MAME_DIR .. "src/devices/cpu/tms9900/tms9980a.h", + MAME_DIR .. "src/devices/cpu/tms9900/tms9995.cpp", + MAME_DIR .. "src/devices/cpu/tms9900/tms9995.h", + MAME_DIR .. "src/devices/cpu/tms9900/ti990_10.cpp", + MAME_DIR .. "src/devices/cpu/tms9900/ti990_10.h", + MAME_DIR .. "src/devices/cpu/tms9900/tms99com.h", + } +end + +if (CPUS["TMS9900"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms9900/9900dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms9900/9900dasm.h") +end + +-------------------------------------------------- +-- Texas Instruments TMS340x0 graphics controllers +--@src/devices/cpu/tms34010/tms34010.h,CPUS["TMS340X0"] = true +-------------------------------------------------- + +if (CPUS["TMS340X0"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tms34010/tms34010.cpp", + MAME_DIR .. "src/devices/cpu/tms34010/tms34010.h", + MAME_DIR .. "src/devices/cpu/tms34010/34010fld.hxx", + MAME_DIR .. "src/devices/cpu/tms34010/34010gfx.hxx", + MAME_DIR .. "src/devices/cpu/tms34010/34010ops.h", + MAME_DIR .. "src/devices/cpu/tms34010/34010ops.hxx", + MAME_DIR .. "src/devices/cpu/tms34010/34010tbl.hxx", + } +end + +if (CPUS["TMS340X0"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms34010/34010dsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms34010/34010dsm.h") +end + +-------------------------------------------------- +-- Texas Instruments TMS3201x DSP +--@src/devices/cpu/tms32010/tms32010.h,CPUS["TMS32010"] = true +-------------------------------------------------- + +if (CPUS["TMS32010"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tms32010/tms32010.cpp", + MAME_DIR .. "src/devices/cpu/tms32010/tms32010.h", + } +end + +if (CPUS["TMS32010"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32010/32010dsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32010/32010dsm.h") +end + +-------------------------------------------------- +-- Texas Instruments TMS3202x DSP +--@src/devices/cpu/tms32025/tms32025.h,CPUS["TMS32025"] = true +-------------------------------------------------- + +if (CPUS["TMS32025"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tms32025/tms32025.cpp", + MAME_DIR .. "src/devices/cpu/tms32025/tms32025.h", + } +end + +if (CPUS["TMS32025"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32025/32025dsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32025/32025dsm.h") +end + +-------------------------------------------------- +-- Texas Instruments TMS3203x DSP +--@src/devices/cpu/tms32031/tms32031.h,CPUS["TMS32031"] = true +-------------------------------------------------- + +if (CPUS["TMS32031"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tms32031/tms32031.cpp", + MAME_DIR .. "src/devices/cpu/tms32031/tms32031.h", + MAME_DIR .. "src/devices/cpu/tms32031/32031ops.hxx", + } +end + +if (CPUS["TMS32031"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32031/dis32031.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32031/dis32031.h") +end + +-------------------------------------------------- +-- Texas Instruments TMS3205x DSP +--@src/devices/cpu/tms32051/tms32051.h,CPUS["TMS32051"] = true +-------------------------------------------------- + +if (CPUS["TMS32051"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tms32051/tms32051.cpp", + MAME_DIR .. "src/devices/cpu/tms32051/tms32051.h", + MAME_DIR .. "src/devices/cpu/tms32051/32051ops.h", + MAME_DIR .. "src/devices/cpu/tms32051/32051ops.hxx", + } +end + +if (CPUS["TMS32051"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32051/dis32051.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32051/dis32051.h") +end + +-------------------------------------------------- +-- Texas Instruments TMS3208x DSP +--@src/devices/cpu/tms32082/tms32082.h,CPUS["TMS32082"] = true +-------------------------------------------------- + +if (CPUS["TMS32082"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tms32082/tms32082.cpp", + MAME_DIR .. "src/devices/cpu/tms32082/tms32082.h", + MAME_DIR .. "src/devices/cpu/tms32082/mp_ops.cpp", + } +end + +if (CPUS["TMS32082"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32082/dis_mp.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32082/dis_mp.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32082/dis_pp.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms32082/dis_pp.h") +end + +-------------------------------------------------- +-- Texas Instruments TMS57002 DSP +--@src/devices/cpu/tms57002/tms57002.h,CPUS["TMS57002"] = true +-------------------------------------------------- + +if (CPUS["TMS57002"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tms57002/tms57002.cpp", + MAME_DIR .. "src/devices/cpu/tms57002/tms57002.h", + MAME_DIR .. "src/devices/cpu/tms57002/tmsops.cpp", + MAME_DIR .. "src/devices/cpu/tms57002/tms57kdec.cpp", + } + dependency { + { MAME_DIR .. "src/devices/cpu/tms57002/tms57kdec.cpp", GEN_DIR .. "emu/cpu/tms57002/tms57002.hxx" }, + { MAME_DIR .. "src/devices/cpu/tms57002/tms57002.cpp", GEN_DIR .. "emu/cpu/tms57002/tms57002.hxx" }, + { MAME_DIR .. "src/devices/cpu/tms57002/tmsops.cpp", GEN_DIR .. "emu/cpu/tms57002/tms57002.hxx" }, + } + custombuildtask { + { MAME_DIR .. "src/devices/cpu/tms57002/tmsinstr.lst" , GEN_DIR .. "emu/cpu/tms57002/tms57002.hxx", { MAME_DIR .. "src/devices/cpu/tms57002/tmsmake.py" }, {"@echo Generating TMS57002 source file...", PYTHON .. " $(1) $(<) $(@)" } } + } +end + +if (CPUS["TMS57002"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms57002/57002dsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tms57002/57002dsm.h") + table.insert(disasm_dependency , { MAME_DIR .. "src/devices/cpu/tms57002/57002dsm.cpp", GEN_DIR .. "emu/cpu/tms57002/tms57002.hxx" } ) + table.insert(disasm_custombuildtask , { MAME_DIR .. "src/devices/cpu/tms57002/tmsinstr.lst" , GEN_DIR .. "emu/cpu/tms57002/tms57002.hxx", { MAME_DIR .. "src/devices/cpu/tms57002/tmsmake.py" }, {"@echo Generating TMS57002 source file...", PYTHON .. " $(1) $(<) $(@)" }}) +end + +-------------------------------------------------- +-- Toshiba TLCS-90 Series +--@src/devices/cpu/tlcs90/tlcs90.h,CPUS["TLCS90"] = true +-------------------------------------------------- + +if (CPUS["TLCS90"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tlcs90/tlcs90.cpp", + MAME_DIR .. "src/devices/cpu/tlcs90/tlcs90.h", + } +end + +if (CPUS["TLCS90"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tlcs90/tlcs90d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tlcs90/tlcs90d.h") +end + +-------------------------------------------------- +-- Toshiba TLCS-870 Series +--@src/devices/cpu/tlcs870/tlcs870.h,CPUS["TLCS870"] = true +-------------------------------------------------- + +if (CPUS["TLCS870"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tlcs870/tlcs870.cpp", + MAME_DIR .. "src/devices/cpu/tlcs870/tlcs870_ops.cpp", + MAME_DIR .. "src/devices/cpu/tlcs870/tlcs870_ops_reg.cpp", + MAME_DIR .. "src/devices/cpu/tlcs870/tlcs870_ops_src.cpp", + MAME_DIR .. "src/devices/cpu/tlcs870/tlcs870_ops_dst.cpp", + MAME_DIR .. "src/devices/cpu/tlcs870/tlcs870_ops_helper.cpp", + MAME_DIR .. "src/devices/cpu/tlcs870/tlcs870.h", + } +end + +if (CPUS["TLCS870"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tlcs870/tlcs870d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tlcs870/tlcs870d.h") +end + +-------------------------------------------------- +-- Toshiba TLCS-900 Series +--@src/devices/cpu/tlcs900/tlcs900.h,CPUS["TLCS900"] = true +-------------------------------------------------- + +if (CPUS["TLCS900"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/tlcs900/tlcs900.cpp", + MAME_DIR .. "src/devices/cpu/tlcs900/tlcs900.h", + MAME_DIR .. "src/devices/cpu/tlcs900/900tbl.hxx", + } +end + +if (CPUS["TLCS900"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tlcs900/dasm900.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/tlcs900/dasm900.h") +end + +-------------------------------------------------- +-- Zilog Z80 +--@src/devices/cpu/z80/z80.h,CPUS["Z80"] = true +-------------------------------------------------- + +if (CPUS["Z80"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/z80/z80.cpp", + MAME_DIR .. "src/devices/cpu/z80/z80.h", + MAME_DIR .. "src/devices/cpu/z80/tmpz84c011.cpp", + MAME_DIR .. "src/devices/cpu/z80/tmpz84c011.h", + MAME_DIR .. "src/devices/cpu/z80/tmpz84c015.cpp", + MAME_DIR .. "src/devices/cpu/z80/tmpz84c015.h", + MAME_DIR .. "src/devices/cpu/z80/kl5c80a12.cpp", + MAME_DIR .. "src/devices/cpu/z80/kl5c80a12.h", + } +end + +if (CPUS["Z80"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/z80/z80dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/z80/z80dasm.h") +end + +-------------------------------------------------- +-- Sharp LR35902 (Game Boy CPU) +--@src/devices/cpu/lr35902/lr35902.h,CPUS["LR35902"] = true +-------------------------------------------------- + +if (CPUS["LR35902"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/lr35902/lr35902.cpp", + MAME_DIR .. "src/devices/cpu/lr35902/lr35902.h", + MAME_DIR .. "src/devices/cpu/lr35902/opc_cb.hxx", + MAME_DIR .. "src/devices/cpu/lr35902/opc_main.hxx", + } +end + +if (CPUS["LR35902"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/lr35902/lr35902d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/lr35902/lr35902d.h") +end + +-------------------------------------------------- +-- Zilog Z180 +--@src/devices/cpu/z180/z180.h,CPUS["Z180"] = true +-------------------------------------------------- + +if (CPUS["Z180"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/z180/z180.cpp", + MAME_DIR .. "src/devices/cpu/z180/z180.h", + MAME_DIR .. "src/devices/cpu/z180/z180cb.hxx", + MAME_DIR .. "src/devices/cpu/z180/z180dd.hxx", + MAME_DIR .. "src/devices/cpu/z180/z180ed.hxx", + MAME_DIR .. "src/devices/cpu/z180/z180fd.hxx", + MAME_DIR .. "src/devices/cpu/z180/z180op.hxx", + MAME_DIR .. "src/devices/cpu/z180/z180ops.h", + MAME_DIR .. "src/devices/cpu/z180/z180tbl.h", + MAME_DIR .. "src/devices/cpu/z180/z180xy.hxx", + } +end + +if (CPUS["Z180"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/z180/z180dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/z180/z180dasm.h") +end + +-------------------------------------------------- +-- Zilog Z8000 +--@src/devices/cpu/z8000/z8000.h,CPUS["Z8000"] = true +-------------------------------------------------- + +if (CPUS["Z8000"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/z8000/z8000.cpp", + MAME_DIR .. "src/devices/cpu/z8000/z8000.h", + --MAME_DIR .. "src/devices/cpu/z8000/makedab.cpp", + MAME_DIR .. "src/devices/cpu/z8000/z8000cpu.h", + MAME_DIR .. "src/devices/cpu/z8000/z8000dab.h", + MAME_DIR .. "src/devices/cpu/z8000/z8000ops.hxx", + MAME_DIR .. "src/devices/cpu/z8000/z8000tbl.hxx", + } +end + +if (CPUS["Z8000"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/z8000/8000dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/z8000/8000dasm.h") +end + +-------------------------------------------------- +-- Zilog Z8 +--@src/devices/cpu/z8/z8.h,CPUS["Z8"] = true +-------------------------------------------------- + +if (CPUS["Z8"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/z8/z8.cpp", + MAME_DIR .. "src/devices/cpu/z8/z8.h", + MAME_DIR .. "src/devices/cpu/z8/z8ops.hxx", + } +end + +if (CPUS["Z8"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/z8/z8dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/z8/z8dasm.h") +end + +-------------------------------------------------- +-- Argonaut SuperFX +--@src/devices/cpu/superfx/superfx.h,CPUS["SUPERFX"] = true +-------------------------------------------------- + +if (CPUS["SUPERFX"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/superfx/superfx.cpp", + MAME_DIR .. "src/devices/cpu/superfx/superfx.h", + } +end + +if (CPUS["SUPERFX"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/superfx/sfx_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/superfx/sfx_dasm.h") +end + +-------------------------------------------------- +-- Rockwell PPS-4 +--@src/devices/cpu/pps4/pps4.h,CPUS["PPS4"] = true +-------------------------------------------------- + +if (CPUS["PPS4"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/pps4/pps4.cpp", + MAME_DIR .. "src/devices/cpu/pps4/pps4.h", + } +end + +if (CPUS["PPS4"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pps4/pps4dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/pps4/pps4dasm.h") +end + +-------------------------------------------------- +-- Hitachi HD61700 +--@src/devices/cpu/hd61700/hd61700.h,CPUS["HD61700"] = true +-------------------------------------------------- + +if (CPUS["HD61700"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/hd61700/hd61700.cpp", + MAME_DIR .. "src/devices/cpu/hd61700/hd61700.h", + } +end + +if (CPUS["HD61700"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hd61700/hd61700d.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hd61700/hd61700d.h") +end + +-------------------------------------------------- +-- Sanyo LC8670 +--@src/devices/cpu/lc8670/lc8670.h,CPUS["LC8670"] = true +-------------------------------------------------- + +if (CPUS["LC8670"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/lc8670/lc8670.cpp", + MAME_DIR .. "src/devices/cpu/lc8670/lc8670.h", + } +end + +if (CPUS["LC8670"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/lc8670/lc8670dsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/lc8670/lc8670dsm.h") +end + +-------------------------------------------------- +-- Sega SCU DSP +--@src/devices/cpu/scudsp/scudsp.h,CPUS["SCUDSP"] = true +-------------------------------------------------- + +if (CPUS["SCUDSP"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/scudsp/scudsp.cpp", + MAME_DIR .. "src/devices/cpu/scudsp/scudsp.h", + } +end + +if (CPUS["SCUDSP"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/scudsp/scudspdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/scudsp/scudspdasm.h") +end + +-------------------------------------------------- +-- Sunplus Technology S+core +--@src/devices/cpu/score/score.h,CPUS["SCORE"] = true +-------------------------------------------------- + +if (CPUS["SCORE"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/score/score.cpp", + MAME_DIR .. "src/devices/cpu/score/score.h", + MAME_DIR .. "src/devices/cpu/score/scorem.h", + } +end + +if (CPUS["SCORE"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/score/scoredsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/score/scoredsm.h") +end + +-------------------------------------------------- +-- Xerox Alto-II +--@src/devices/cpu/alto2/alto2cpu.h,CPUS["ALTO2"] = true +-------------------------------------------------- + +if (CPUS["ALTO2"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/alto2/alto2cpu.cpp", + MAME_DIR .. "src/devices/cpu/alto2/alto2cpu.h", + MAME_DIR .. "src/devices/cpu/alto2/a2disk.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2disk.h", + MAME_DIR .. "src/devices/cpu/alto2/a2disp.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2disp.h", + MAME_DIR .. "src/devices/cpu/alto2/a2curt.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2curt.h", + MAME_DIR .. "src/devices/cpu/alto2/a2dht.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2dht.h", + MAME_DIR .. "src/devices/cpu/alto2/a2dvt.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2dvt.h", + MAME_DIR .. "src/devices/cpu/alto2/a2dwt.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2dwt.h", + MAME_DIR .. "src/devices/cpu/alto2/a2emu.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2emu.h", + MAME_DIR .. "src/devices/cpu/alto2/a2ether.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2ether.h", + MAME_DIR .. "src/devices/cpu/alto2/a2hw.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2hw.h", + MAME_DIR .. "src/devices/cpu/alto2/a2kbd.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2kbd.h", + MAME_DIR .. "src/devices/cpu/alto2/a2ksec.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2ksec.h", + MAME_DIR .. "src/devices/cpu/alto2/a2kwd.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2kwd.h", + MAME_DIR .. "src/devices/cpu/alto2/a2mem.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2mem.h", + MAME_DIR .. "src/devices/cpu/alto2/a2mouse.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2mouse.h", + MAME_DIR .. "src/devices/cpu/alto2/a2mrt.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2mrt.h", + MAME_DIR .. "src/devices/cpu/alto2/a2part.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2part.h", + MAME_DIR .. "src/devices/cpu/alto2/a2ram.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2ram.h", + MAME_DIR .. "src/devices/cpu/alto2/a2roms.cpp", + MAME_DIR .. "src/devices/cpu/alto2/a2roms.h", + MAME_DIR .. "src/devices/cpu/alto2/a2jkff.h", + } +end + +if (CPUS["ALTO2"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/alto2/alto2dsm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/alto2/alto2dsm.h") +end + +------------------------------------------ +-- Sun SPARC, Fujitus MB86901 implementation +--@src/devices/cpu/sparc/sparc.h,CPUS["MB86901"] = true +-------------------------------------------------- + +if (CPUS["MB86901"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/sparc/mb86901.cpp", + MAME_DIR .. "src/devices/cpu/sparc/sparcv8ops.ipp", + MAME_DIR .. "src/devices/cpu/sparc/sparcdefs.h", + MAME_DIR .. "src/devices/cpu/sparc/sparc_intf.h", + MAME_DIR .. "src/devices/cpu/sparc/sparc.h", + } +end + +if (CPUS["MB86901"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sparc/sparcdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sparc/sparcdasm.h") +end + +-------------------------------------------------- +-- Intergraph CLIPPER (C100/C300/C400) series +--@src/devices/cpu/clipper/clipper.h,CPUS["CLIPPER"] = true +-------------------------------------------------- + +if (CPUS["CLIPPER"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/clipper/clipper.cpp", + MAME_DIR .. "src/devices/cpu/clipper/clipper.h", + } +end + +if (CPUS["CLIPPER"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/clipper/clipperd.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/clipper/clipperd.h") +end + + +-------------------------------------------------- +-- VM Labs Nuon, disassembler only +-------------------------------------------------- + +if (_OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/nuon/nuondasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/nuon/nuondasm.h") +end + +-------------------------------------------------- +-- DEC Alpha (EV4/EV5/EV6/EV7) series +--@src/devices/cpu/alpha/alpha.h,CPUS["ALPHA"] = true +-------------------------------------------------- + +if (CPUS["ALPHA"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/alpha/alpha.cpp", + MAME_DIR .. "src/devices/cpu/alpha/alpha.h", + } +end + +if (CPUS["ALPHA"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/alpha/alphad.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/alpha/alphad.h") +end + +-------------------------------------------------- +-- National Semiconductor HPC +--@src/devices/cpu/hpc/hpc.h,CPUS["HPC"] = true +-------------------------------------------------- + +if (CPUS["HPC"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/hpc/hpc.cpp", + MAME_DIR .. "src/devices/cpu/hpc/hpc.h", + } +end + +if (CPUS["HPC"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hpc/hpcdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hpc/hpcdasm.h") +end + +-------------------------------------------------- +-- Yamaha Multiple Effects Generator +--@src/devices/sound/meg.h,CPUS["MEG"] = true +-------------------------------------------------- + +if (CPUS["MEG"]~=null) then + files { + MAME_DIR .. "src/devices/sound/meg.cpp", + MAME_DIR .. "src/devices/sound/meg.h", + } +end + +if (CPUS["MEG"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/sound/megd.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/sound/megd.h") +end + +-------------------------------------------------- +-- Yamaha DSPV +--@src/devices/sound/dspv.h,CPUS["DSPV"] = true +-------------------------------------------------- + +if (CPUS["DSPV"]~=null) then + files { + MAME_DIR .. "src/devices/sound/dspv.cpp", + MAME_DIR .. "src/devices/sound/dspv.h", + } +end + +if (CPUS["DSPV"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/sound/dspvd.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/sound/dspvd.h") +end + +-------------------------------------------------- +-- National Semiconductor NS32000 series +--@src/devices/cpu/ns32000/ns32000.h,CPUS["NS32000"] = true +-------------------------------------------------- + +if (CPUS["NS32000"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/ns32000/ns32000.cpp", + MAME_DIR .. "src/devices/cpu/ns32000/ns32000.h", + } +end + +if (CPUS["NS32000"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ns32000/ns32000dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ns32000/ns32000dasm.h") +end + +-------------------------------------------------- +-- Elan RISC II series +--@src/devices/cpu/rii/riscii.h,CPUS["RII"] = true +-------------------------------------------------- + +if (CPUS["RII"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/rii/riscii.cpp", + MAME_DIR .. "src/devices/cpu/rii/riscii.h", + } +end + +if (CPUS["RII"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/rii/riidasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/rii/riidasm.h") +end + +-------------------------------------------------- +-- National Semiconductor BCP +--@src/devices/cpu/bcp/dp8344.h,CPUS["BCP"] = true +-------------------------------------------------- + +if (CPUS["BCP"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/bcp/dp8344.cpp", + MAME_DIR .. "src/devices/cpu/bcp/dp8344.h", + } +end + +if (CPUS["BCP"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/bcp/bcpdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/bcp/bcpdasm.h") +end diff --git a/docs/release/scripts/src/devices.lua b/docs/release/scripts/src/devices.lua new file mode 100644 index 00000000000..79bcdec11d4 --- /dev/null +++ b/docs/release/scripts/src/devices.lua @@ -0,0 +1,90 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- devices.lua +-- +-- Rules for building device cores +-- +--------------------------------------------------------------------------- + +function devicesProject(_target, _subtarget) + + disasm_files = { } + disasm_dependency = { } + disasm_custombuildtask = { } + + project ("optional") + uuid (os.uuid("optional-" .. _target .."_" .. _subtarget)) + kind (LIBTYPE) + targetsubdir(_target .."_" .. _subtarget) + + if (_OPTIONS["targetos"] ~= "asmjs") then + options { + "ArchiveSplit", + } + end + + addprojectflags() + precompiledheaders() + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/mame", -- used for sound amiga + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + GEN_DIR .. "emu", + GEN_DIR .. "emu/layout", + ext_includedir("asio"), + ext_includedir("expat"), + ext_includedir("flac"), + } + + dofile(path.join("src", "cpu.lua")) + + dofile(path.join("src", "sound.lua")) + + dofile(path.join("src", "video.lua")) + + dofile(path.join("src", "machine.lua")) + + dofile(path.join("src", "bus.lua")) + +if #disasm_files > 0 then + project ("dasm") + uuid ("f2d28b0a-6da5-4f78-b629-d834aa00429d") + kind (LIBTYPE) + targetsubdir(_target .."_" .. _subtarget) + addprojectflags() + precompiledheaders() + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + GEN_DIR .. "emu", + ext_includedir("asio"), + ext_includedir("expat"), + } + + files { + disasm_files + } + + if #disasm_dependency > 0 then + dependency(disasm_dependency) + end + + if #disasm_custombuildtask > 0 then + custombuildtask(disasm_custombuildtask) + end +end + +end diff --git a/docs/release/scripts/src/emu.lua b/docs/release/scripts/src/emu.lua new file mode 100644 index 00000000000..4e763996a2c --- /dev/null +++ b/docs/release/scripts/src/emu.lua @@ -0,0 +1,313 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- emu.lua +-- +-- Rules for building emu cores +-- +--------------------------------------------------------------------------- + +project ("emu") +uuid ("e6fa15e4-a354-4526-acef-13c8e80fcacf") +kind (LIBTYPE) + +addprojectflags() +precompiledheaders() +options { + "ArchiveSplit", +} +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + GEN_DIR .. "emu", + GEN_DIR .. "emu/layout", +} + +includedirs { + ext_includedir("asio"), + ext_includedir("expat"), + ext_includedir("zlib"), + ext_includedir("flac"), + ext_includedir("jpeg"), + ext_includedir("rapidjson"), + ext_includedir("pugixml"), +} + +files { + MAME_DIR .. "src/emu/emu.h", + MAME_DIR .. "src/emu/emufwd.h", + MAME_DIR .. "src/emu/main.h", + MAME_DIR .. "src/emu/main.cpp", + MAME_DIR .. "src/emu/gamedrv.h", + MAME_DIR .. "src/emu/hashfile.cpp", + MAME_DIR .. "src/emu/hashfile.h", + MAME_DIR .. "src/emu/addrmap.cpp", + MAME_DIR .. "src/emu/addrmap.h", + MAME_DIR .. "src/emu/attotime.cpp", + MAME_DIR .. "src/emu/attotime.h", + MAME_DIR .. "src/emu/bookkeeping.cpp", + MAME_DIR .. "src/emu/bookkeeping.h", + MAME_DIR .. "src/emu/config.cpp", + MAME_DIR .. "src/emu/config.h", + MAME_DIR .. "src/emu/crsshair.cpp", + MAME_DIR .. "src/emu/crsshair.h", + MAME_DIR .. "src/emu/debugger.cpp", + MAME_DIR .. "src/emu/debugger.h", + MAME_DIR .. "src/emu/devdelegate.cpp", + MAME_DIR .. "src/emu/devdelegate.h", + MAME_DIR .. "src/emu/devcb.cpp", + MAME_DIR .. "src/emu/devcb.h", + MAME_DIR .. "src/emu/devcpu.cpp", + MAME_DIR .. "src/emu/devcpu.h", + MAME_DIR .. "src/emu/devfind.cpp", + MAME_DIR .. "src/emu/devfind.h", + MAME_DIR .. "src/emu/device.cpp", + MAME_DIR .. "src/emu/device.h", + MAME_DIR .. "src/emu/device.ipp", + MAME_DIR .. "src/emu/didisasm.cpp", + MAME_DIR .. "src/emu/didisasm.h", + MAME_DIR .. "src/emu/diexec.cpp", + MAME_DIR .. "src/emu/diexec.h", + MAME_DIR .. "src/emu/digfx.cpp", + MAME_DIR .. "src/emu/digfx.h", + MAME_DIR .. "src/emu/diimage.cpp", + MAME_DIR .. "src/emu/diimage.h", + MAME_DIR .. "src/emu/dimemory.cpp", + MAME_DIR .. "src/emu/dimemory.h", + MAME_DIR .. "src/emu/dinetwork.cpp", + MAME_DIR .. "src/emu/dinetwork.h", + MAME_DIR .. "src/emu/dinvram.cpp", + MAME_DIR .. "src/emu/dinvram.h", + MAME_DIR .. "src/emu/dipalette.cpp", + MAME_DIR .. "src/emu/dipalette.h", + MAME_DIR .. "src/emu/dipty.cpp", + MAME_DIR .. "src/emu/dipty.h", + MAME_DIR .. "src/emu/dirom.cpp", + MAME_DIR .. "src/emu/dirom.h", + MAME_DIR .. "src/emu/dirtc.cpp", + MAME_DIR .. "src/emu/dirtc.h", + MAME_DIR .. "src/emu/diserial.cpp", + MAME_DIR .. "src/emu/diserial.h", + MAME_DIR .. "src/emu/dislot.cpp", + MAME_DIR .. "src/emu/dislot.h", + MAME_DIR .. "src/emu/disound.cpp", + MAME_DIR .. "src/emu/disound.h", + MAME_DIR .. "src/emu/distate.cpp", + MAME_DIR .. "src/emu/distate.h", + MAME_DIR .. "src/emu/divideo.cpp", + MAME_DIR .. "src/emu/divideo.h", + MAME_DIR .. "src/emu/divtlb.cpp", + MAME_DIR .. "src/emu/divtlb.h", + MAME_DIR .. "src/emu/drawgfx.cpp", + MAME_DIR .. "src/emu/drawgfx.h", + MAME_DIR .. "src/emu/drawgfxm.h", + MAME_DIR .. "src/emu/driver.cpp", + MAME_DIR .. "src/emu/driver.h", + MAME_DIR .. "src/emu/drivenum.cpp", + MAME_DIR .. "src/emu/drivenum.h", + MAME_DIR .. "src/emu/emualloc.cpp", + MAME_DIR .. "src/emu/emualloc.h", + MAME_DIR .. "src/emu/emucore.cpp", + MAME_DIR .. "src/emu/emucore.h", + MAME_DIR .. "src/emu/emumem.cpp", + MAME_DIR .. "src/emu/emumem.h", + MAME_DIR .. "src/emu/emumem_mud.cpp", + MAME_DIR .. "src/emu/emumem_mud.h", + MAME_DIR .. "src/emu/emumem_hea.h", + MAME_DIR .. "src/emu/emumem_hem.cpp", + MAME_DIR .. "src/emu/emumem_hem.h", + MAME_DIR .. "src/emu/emumem_hedp.cpp", + MAME_DIR .. "src/emu/emumem_hedp.h", + MAME_DIR .. "src/emu/emumem_heun.cpp", + MAME_DIR .. "src/emu/emumem_heun.h", + MAME_DIR .. "src/emu/emumem_heu.cpp", + MAME_DIR .. "src/emu/emumem_heu.h", + MAME_DIR .. "src/emu/emumem_hedr.ipp", + MAME_DIR .. "src/emu/emumem_hedr.h", + MAME_DIR .. "src/emu/emumem_hedr0.cpp", + MAME_DIR .. "src/emu/emumem_hedr1.cpp", + MAME_DIR .. "src/emu/emumem_hedr2.cpp", + MAME_DIR .. "src/emu/emumem_hedr3.cpp", + MAME_DIR .. "src/emu/emumem_hedw.ipp", + MAME_DIR .. "src/emu/emumem_hedw.h", + MAME_DIR .. "src/emu/emumem_hedw0.cpp", + MAME_DIR .. "src/emu/emumem_hedw1.cpp", + MAME_DIR .. "src/emu/emumem_hedw2.cpp", + MAME_DIR .. "src/emu/emumem_hedw3.cpp", + MAME_DIR .. "src/emu/emumem_hep.cpp", + MAME_DIR .. "src/emu/emumem_hep.h", + MAME_DIR .. "src/emu/emumem_het.cpp", + MAME_DIR .. "src/emu/emumem_het.h", + MAME_DIR .. "src/emu/emuopts.cpp", + MAME_DIR .. "src/emu/emuopts.h", + MAME_DIR .. "src/emu/emupal.cpp", + MAME_DIR .. "src/emu/emupal.h", + MAME_DIR .. "src/emu/fileio.cpp", + MAME_DIR .. "src/emu/fileio.h", + MAME_DIR .. "src/emu/http.h", + MAME_DIR .. "src/emu/http.cpp", + MAME_DIR .. "src/emu/image.cpp", + MAME_DIR .. "src/emu/image.h", + MAME_DIR .. "src/emu/input.cpp", + MAME_DIR .. "src/emu/input.h", + MAME_DIR .. "src/emu/inputdev.cpp", + MAME_DIR .. "src/emu/inputdev.h", + MAME_DIR .. "src/emu/ioport.cpp", + MAME_DIR .. "src/emu/ioport.h", + MAME_DIR .. "src/emu/inpttype.h", + MAME_DIR .. "src/emu/logmacro.h", + MAME_DIR .. "src/emu/machine.cpp", + MAME_DIR .. "src/emu/machine.h", + MAME_DIR .. "src/emu/mconfig.cpp", + MAME_DIR .. "src/emu/mconfig.h", + MAME_DIR .. "src/emu/memarray.cpp", + MAME_DIR .. "src/emu/memarray.h", + MAME_DIR .. "src/emu/natkeyboard.cpp", + MAME_DIR .. "src/emu/natkeyboard.h", + MAME_DIR .. "src/emu/network.cpp", + MAME_DIR .. "src/emu/network.h", + MAME_DIR .. "src/emu/parameters.cpp", + MAME_DIR .. "src/emu/parameters.h", + MAME_DIR .. "src/emu/profiler.cpp", + MAME_DIR .. "src/emu/profiler.h", + MAME_DIR .. "src/emu/output.cpp", + MAME_DIR .. "src/emu/output.h", + MAME_DIR .. "src/emu/render.cpp", + MAME_DIR .. "src/emu/render.h", + MAME_DIR .. "src/emu/rendfont.cpp", + MAME_DIR .. "src/emu/rendfont.h", + MAME_DIR .. "src/emu/rendlay.cpp", + MAME_DIR .. "src/emu/rendlay.h", + MAME_DIR .. "src/emu/rendutil.cpp", + MAME_DIR .. "src/emu/rendutil.h", + MAME_DIR .. "src/emu/romload.cpp", + MAME_DIR .. "src/emu/romload.h", + MAME_DIR .. "src/emu/romentry.h", + MAME_DIR .. "src/emu/romentry.cpp", + MAME_DIR .. "src/emu/save.cpp", + MAME_DIR .. "src/emu/save.h", + MAME_DIR .. "src/emu/schedule.cpp", + MAME_DIR .. "src/emu/schedule.h", + MAME_DIR .. "src/emu/screen.cpp", + MAME_DIR .. "src/emu/screen.h", + MAME_DIR .. "src/emu/softlist.cpp", + MAME_DIR .. "src/emu/softlist.h", + MAME_DIR .. "src/emu/softlist_dev.cpp", + MAME_DIR .. "src/emu/softlist_dev.h", + MAME_DIR .. "src/emu/sound.cpp", + MAME_DIR .. "src/emu/sound.h", + MAME_DIR .. "src/emu/speaker.cpp", + MAME_DIR .. "src/emu/speaker.h", + MAME_DIR .. "src/emu/tilemap.cpp", + MAME_DIR .. "src/emu/tilemap.h", + MAME_DIR .. "src/emu/uiinput.cpp", + MAME_DIR .. "src/emu/uiinput.h", + MAME_DIR .. "src/emu/validity.cpp", + MAME_DIR .. "src/emu/validity.h", + MAME_DIR .. "src/emu/video.cpp", + MAME_DIR .. "src/emu/video.h", + MAME_DIR .. "src/emu/xtal.cpp", + MAME_DIR .. "src/emu/xtal.h", + MAME_DIR .. "src/emu/rendersw.hxx", + MAME_DIR .. "src/emu/ui/uimain.h", + MAME_DIR .. "src/emu/ui/cmddata.h", -- TODO: remove + MAME_DIR .. "src/emu/debug/debugbuf.cpp", + MAME_DIR .. "src/emu/debug/debugbuf.h", + MAME_DIR .. "src/emu/debug/debugcmd.cpp", + MAME_DIR .. "src/emu/debug/debugcmd.h", + MAME_DIR .. "src/emu/debug/debugcon.cpp", + MAME_DIR .. "src/emu/debug/debugcon.h", + MAME_DIR .. "src/emu/debug/debugcpu.cpp", + MAME_DIR .. "src/emu/debug/debugcpu.h", + MAME_DIR .. "src/emu/debug/debughlp.cpp", + MAME_DIR .. "src/emu/debug/debughlp.h", + MAME_DIR .. "src/emu/debug/debugvw.cpp", + MAME_DIR .. "src/emu/debug/debugvw.h", + MAME_DIR .. "src/emu/debug/dvdisasm.cpp", + MAME_DIR .. "src/emu/debug/dvdisasm.h", + MAME_DIR .. "src/emu/debug/dvmemory.cpp", + MAME_DIR .. "src/emu/debug/dvmemory.h", + MAME_DIR .. "src/emu/debug/dvbpoints.cpp", + MAME_DIR .. "src/emu/debug/dvbpoints.h", + MAME_DIR .. "src/emu/debug/dvwpoints.cpp", + MAME_DIR .. "src/emu/debug/dvwpoints.h", + MAME_DIR .. "src/emu/debug/dvstate.cpp", + MAME_DIR .. "src/emu/debug/dvstate.h", + MAME_DIR .. "src/emu/debug/dvtext.cpp", + MAME_DIR .. "src/emu/debug/dvtext.h", + MAME_DIR .. "src/emu/debug/express.cpp", + MAME_DIR .. "src/emu/debug/express.h", + MAME_DIR .. "src/emu/debug/textbuf.cpp", + MAME_DIR .. "src/emu/debug/textbuf.h", + MAME_DIR .. "src/emu/drivers/empty.cpp", + MAME_DIR .. "src/emu/drivers/xtal.h", + MAME_DIR .. "src/emu/video/generic.cpp", + MAME_DIR .. "src/emu/video/generic.h", + MAME_DIR .. "src/emu/video/resnet.cpp", + MAME_DIR .. "src/emu/video/resnet.h", + MAME_DIR .. "src/emu/video/rgbutil.h", + MAME_DIR .. "src/emu/video/rgbgen.cpp", + MAME_DIR .. "src/emu/video/rgbgen.h", + MAME_DIR .. "src/emu/video/rgbsse.cpp", + MAME_DIR .. "src/emu/video/rgbsse.h", + MAME_DIR .. "src/emu/video/rgbvmx.cpp", + MAME_DIR .. "src/emu/video/rgbvmx.h", +} + +dependency { + -------------------------------------------------- + -- additional dependencies + -------------------------------------------------- + { MAME_DIR .. "src/emu/rendfont.cpp", GEN_DIR .. "emu/uismall.fh" }, + { MAME_DIR .. "src/emu/rendfont.cpp", GEN_DIR .. "emu/ui/uicmd14.fh" }, + ------------------------------------------------- + -- core layouts + -------------------------------------------------- + { MAME_DIR .. "src/emu/rendlay.cpp", GEN_DIR .. "emu/layout/dualhovu.lh" }, + { MAME_DIR .. "src/emu/rendlay.cpp", GEN_DIR .. "emu/layout/dualhsxs.lh" }, + { MAME_DIR .. "src/emu/rendlay.cpp", GEN_DIR .. "emu/layout/dualhuov.lh" }, + { MAME_DIR .. "src/emu/rendlay.cpp", GEN_DIR .. "emu/layout/triphsxs.lh" }, + { MAME_DIR .. "src/emu/rendlay.cpp", GEN_DIR .. "emu/layout/quadhsxs.lh" }, + { MAME_DIR .. "src/emu/rendlay.cpp", GEN_DIR .. "emu/layout/noscreens.lh" }, +} + +custombuildtask { + { MAME_DIR .. "scripts/font/NotoSans-Bold.bdc", GEN_DIR .. "emu/uismall.fh", { MAME_DIR .. "scripts/build/file2str.py" }, {"@echo Converting NotoSans-Bold.bdc...", PYTHON .. " $(1) $(<) $(@) font_uismall uint8_t" }}, +} + +custombuildtask { + { MAME_DIR .. "src/frontend/mame/ui/uicmd14.png" , GEN_DIR .. "emu/ui/uicmd14.fh", { MAME_DIR.. "scripts/build/png2bdc.py", MAME_DIR .. "scripts/build/file2str.py" }, {"@echo Converting uicmd14.png...", PYTHON .. " $(1) $(<) temp_cmd.bdc", PYTHON .. " $(2) temp_cmd.bdc $(@) font_uicmd14 uint8_t" }}, + + layoutbuildtask("emu/layout", "dualhovu"), + layoutbuildtask("emu/layout", "dualhsxs"), + layoutbuildtask("emu/layout", "dualhuov"), + layoutbuildtask("emu/layout", "triphsxs"), + layoutbuildtask("emu/layout", "quadhsxs"), + layoutbuildtask("emu/layout", "noscreens"), +} + +project ("precompile") +uuid ("a6fb15d4-b123-4445-acef-13c8e80fcacf") +kind (LIBTYPE) + +addprojectflags() +precompiledheaders() + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/lib/util", +} +files { + MAME_DIR .. "src/emu/drivers/empty.cpp", +} +dependency { + { "$(OBJDIR)/src/emu/drivers/empty.o", "$(GCH)", true }, +} + + diff --git a/docs/release/scripts/src/formats.lua b/docs/release/scripts/src/formats.lua new file mode 100644 index 00000000000..5b678c480af --- /dev/null +++ b/docs/release/scripts/src/formats.lua @@ -0,0 +1,1880 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- formats.lua +-- +-- Rules for building formats +-- +--------------------------------------------------------------------------- +function formatsProject(_target, _subtarget) +project "formats" + uuid (os.uuid("formats-" .. _target .."_" .. _subtarget)) + kind (LIBTYPE) + targetsubdir(_target .."_" .. _subtarget) + addprojectflags() + + options { + "ArchiveSplit", + } + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + ext_includedir("zlib"), + } + + files { + MAME_DIR .. "src/lib/formats/ioprocs.cpp", + MAME_DIR .. "src/lib/formats/ioprocs.h", + MAME_DIR .. "src/lib/formats/imageutl.cpp", + MAME_DIR .. "src/lib/formats/imageutl.h", + + MAME_DIR .. "src/lib/formats/cassimg.cpp", + MAME_DIR .. "src/lib/formats/cassimg.h", + MAME_DIR .. "src/lib/formats/wavfile.cpp", + MAME_DIR .. "src/lib/formats/wavfile.h", + + MAME_DIR .. "src/lib/formats/flopimg.cpp", + MAME_DIR .. "src/lib/formats/flopimg.h", + + MAME_DIR .. "src/lib/formats/cqm_dsk.cpp", + MAME_DIR .. "src/lib/formats/cqm_dsk.h", + MAME_DIR .. "src/lib/formats/dsk_dsk.cpp", + MAME_DIR .. "src/lib/formats/dsk_dsk.h", + MAME_DIR .. "src/lib/formats/td0_dsk.cpp", + MAME_DIR .. "src/lib/formats/td0_dsk.h", + MAME_DIR .. "src/lib/formats/hxchfe_dsk.cpp", + MAME_DIR .. "src/lib/formats/hxchfe_dsk.h", + MAME_DIR .. "src/lib/formats/hxcmfm_dsk.cpp", + MAME_DIR .. "src/lib/formats/hxcmfm_dsk.h", + MAME_DIR .. "src/lib/formats/mfi_dsk.cpp", + MAME_DIR .. "src/lib/formats/mfi_dsk.h", + MAME_DIR .. "src/lib/formats/imd_dsk.cpp", + MAME_DIR .. "src/lib/formats/imd_dsk.h", + MAME_DIR .. "src/lib/formats/ipf_dsk.cpp", + MAME_DIR .. "src/lib/formats/ipf_dsk.h", + MAME_DIR .. "src/lib/formats/d88_dsk.cpp", + MAME_DIR .. "src/lib/formats/d88_dsk.h", + MAME_DIR .. "src/lib/formats/dfi_dsk.cpp", + MAME_DIR .. "src/lib/formats/dfi_dsk.h", + MAME_DIR .. "src/lib/formats/fdi_dsk.cpp", + } + +-------------------------------------------------- +-- +--@src/lib/formats/2d_dsk.h,FORMATS["2D_DSK"] = true +-------------------------------------------------- + +if (FORMATS["2D_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/2d_dsk.cpp", + MAME_DIR.. "src/lib/formats/2d_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/a26_cas.h,FORMATS["A26_CAS"] = true +-------------------------------------------------- + +if (FORMATS["A26_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/a26_cas.cpp", + MAME_DIR.. "src/lib/formats/a26_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/a5105_dsk.h,FORMATS["A5105_DSK"] = true +-------------------------------------------------- + +if (FORMATS["A5105_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/a5105_dsk.cpp", + MAME_DIR.. "src/lib/formats/a5105_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/abc800_dsk.h,FORMATS["ABC800_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ABC800_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/abc800_dsk.cpp", + MAME_DIR.. "src/lib/formats/abc800_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/abcfd2_dsk.h,FORMATS["ABCFD2_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ABCFD2_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/abcfd2_dsk.cpp", + MAME_DIR.. "src/lib/formats/abcfd2_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ace_tap.h,FORMATS["ACE_TAP"] = true +-------------------------------------------------- + +if (FORMATS["ACE_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ace_tap.cpp", + MAME_DIR.. "src/lib/formats/ace_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/acorn_dsk.h,FORMATS["ACORN_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ACORN_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/acorn_dsk.cpp", + MAME_DIR.. "src/lib/formats/acorn_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/adam_cas.h,FORMATS["ADAM_CAS"] = true +-------------------------------------------------- + +if (FORMATS["ADAM_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/adam_cas.cpp", + MAME_DIR.. "src/lib/formats/adam_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/adam_dsk.h,FORMATS["ADAM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ADAM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/adam_dsk.cpp", + MAME_DIR.. "src/lib/formats/adam_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/afs_dsk.h,FORMATS["AFS_DSK"] = true +-------------------------------------------------- + +if (FORMATS["AFS_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/afs_dsk.cpp", + MAME_DIR.. "src/lib/formats/afs_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/agat840k_hle_dsk.h,FORMATS["AGAT840K_HLE_DSK"] = true +-------------------------------------------------- + +if (FORMATS["AGAT840K_HLE_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/agat840k_hle_dsk.cpp", + MAME_DIR.. "src/lib/formats/agat840k_hle_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ami_dsk.h,FORMATS["AMI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["AMI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ami_dsk.cpp", + MAME_DIR.. "src/lib/formats/ami_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ap2_dsk.h,FORMATS["AP2_DSK"] = true +-------------------------------------------------- + +if (FORMATS["AP2_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ap2_dsk.cpp", + MAME_DIR.. "src/lib/formats/ap2_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/apd_dsk.h,FORMATS["APD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["APD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/apd_dsk.cpp", + MAME_DIR.. "src/lib/formats/apd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/apf_apt.h,FORMATS["APF_APT"] = true +-------------------------------------------------- + +if (FORMATS["APF_APT"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/apf_apt.cpp", + MAME_DIR.. "src/lib/formats/apf_apt.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/apollo_dsk.h,FORMATS["APOLLO_DSK"] = true +-------------------------------------------------- + +if (FORMATS["APOLLO_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/apollo_dsk.cpp", + MAME_DIR.. "src/lib/formats/apollo_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/applix_dsk.h,FORMATS["APPLIX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["APPLIX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/applix_dsk.cpp", + MAME_DIR.. "src/lib/formats/applix_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/apridisk.h,FORMATS["APRIDISK"] = true +-------------------------------------------------- + +if (FORMATS["APRIDISK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/apridisk.cpp", + MAME_DIR.. "src/lib/formats/apridisk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ap_dsk35.h,FORMATS["AP_DSK35"] = true +-------------------------------------------------- + +if (FORMATS["AP_DSK35"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ap_dsk35.cpp", + MAME_DIR.. "src/lib/formats/ap_dsk35.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/asst128_dsk.h,FORMATS["ASST128_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ASST128_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/asst128_dsk.cpp", + MAME_DIR.. "src/lib/formats/asst128_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/atari_dsk.h,FORMATS["ATARI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ATARI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/atari_dsk.cpp", + MAME_DIR.. "src/lib/formats/atari_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/atom_dsk.h,FORMATS["ATOM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ATOM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/atom_dsk.cpp", + MAME_DIR.. "src/lib/formats/atom_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/atom_tap.h,FORMATS["ATOM_TAP"] = true +-------------------------------------------------- + +if (FORMATS["ATOM_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/atom_tap.cpp", + MAME_DIR.. "src/lib/formats/atom_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/basicdsk.h,FORMATS["BASICDSK"] = true +-------------------------------------------------- + +if (FORMATS["BASICDSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/basicdsk.cpp", + MAME_DIR.. "src/lib/formats/basicdsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/bw12_dsk.h,FORMATS["BW12_DSK"] = true +-------------------------------------------------- + +if (FORMATS["BW12_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/bw12_dsk.cpp", + MAME_DIR.. "src/lib/formats/bw12_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/bw2_dsk.h,FORMATS["BW2_DSK"] = true +-------------------------------------------------- + +if (FORMATS["BW2_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/bw2_dsk.cpp", + MAME_DIR.. "src/lib/formats/bw2_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/c3040_dsk.h,FORMATS["C3040_DSK"] = true +-------------------------------------------------- + +if (FORMATS["C3040_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/c3040_dsk.cpp", + MAME_DIR.. "src/lib/formats/c3040_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/c4040_dsk.h,FORMATS["C4040_DSK"] = true +-------------------------------------------------- + +if (FORMATS["C4040_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/c4040_dsk.cpp", + MAME_DIR.. "src/lib/formats/c4040_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/c8280_dsk.h,FORMATS["C8280_DSK"] = true +-------------------------------------------------- + +if (FORMATS["C8280_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/c8280_dsk.cpp", + MAME_DIR.. "src/lib/formats/c8280_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/camplynx_cas.h,FORMATS["CAMPLYNX_CAS"] = true +-------------------------------------------------- + +if (FORMATS["CAMPLYNX_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/camplynx_cas.cpp", + MAME_DIR.. "src/lib/formats/camplynx_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/camplynx_dsk.h,FORMATS["CAMPLYNX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CAMPLYNX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/camplynx_dsk.cpp", + MAME_DIR.. "src/lib/formats/camplynx_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cbm_crt.h,FORMATS["CBM_CRT"] = true +-------------------------------------------------- + +if (FORMATS["CBM_CRT"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cbm_crt.cpp", + MAME_DIR.. "src/lib/formats/cbm_crt.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cbm_tap.h,FORMATS["CBM_TAP"] = true +-------------------------------------------------- + +if (FORMATS["CBM_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cbm_tap.cpp", + MAME_DIR.. "src/lib/formats/cbm_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ccvf_dsk.h,FORMATS["CCVF_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CCVF_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ccvf_dsk.cpp", + MAME_DIR.. "src/lib/formats/ccvf_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cd90_640_dsk.h,FORMATS["CD90_640_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CD90_640_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cd90_640_dsk.cpp", + MAME_DIR.. "src/lib/formats/cd90_640_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cgenie_dsk.h,FORMATS["CGENIE_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CGENIE_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cgenie_dsk.cpp", + MAME_DIR.. "src/lib/formats/cgenie_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cgen_cas.h,FORMATS["CGEN_CAS"] = true +-------------------------------------------------- + +if (FORMATS["CGEN_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cgen_cas.cpp", + MAME_DIR.. "src/lib/formats/cgen_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/coco_cas.h,FORMATS["COCO_CAS"] = true +-------------------------------------------------- + +if (FORMATS["COCO_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/coco_cas.cpp", + MAME_DIR.. "src/lib/formats/coco_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/comx35_dsk.h,FORMATS["COMX35_DSK"] = true +-------------------------------------------------- + +if (FORMATS["COMX35_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/comx35_dsk.cpp", + MAME_DIR.. "src/lib/formats/comx35_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/concept_dsk.h,FORMATS["CONCEPT_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CONCEPT_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/concept_dsk.cpp", + MAME_DIR.. "src/lib/formats/concept_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/coupedsk.h,FORMATS["COUPEDSK"] = true +-------------------------------------------------- + +if (FORMATS["COUPEDSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/coupedsk.cpp", + MAME_DIR.. "src/lib/formats/coupedsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cpis_dsk.h,FORMATS["CPIS_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CPIS_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cpis_dsk.cpp", + MAME_DIR.. "src/lib/formats/cpis_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/csw_cas.h,FORMATS["CSW_CAS"] = true +-------------------------------------------------- + +if (FORMATS["CSW_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/csw_cas.cpp", + MAME_DIR.. "src/lib/formats/csw_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/d64_dsk.h,FORMATS["D64_DSK"] = true +-------------------------------------------------- + +if (FORMATS["D64_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/d64_dsk.cpp", + MAME_DIR.. "src/lib/formats/d64_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/d71_dsk.h,FORMATS["D71_DSK"] = true +-------------------------------------------------- + +if (FORMATS["D71_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/d71_dsk.cpp", + MAME_DIR.. "src/lib/formats/d71_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/d80_dsk.h,FORMATS["D80_DSK"] = true +-------------------------------------------------- + +if (FORMATS["D80_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/d80_dsk.cpp", + MAME_DIR.. "src/lib/formats/d80_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/d81_dsk.h,FORMATS["D81_DSK"] = true +-------------------------------------------------- + +if (FORMATS["D81_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/d81_dsk.cpp", + MAME_DIR.. "src/lib/formats/d81_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/d82_dsk.h,FORMATS["D82_DSK"] = true +-------------------------------------------------- + +if (FORMATS["D82_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/d82_dsk.cpp", + MAME_DIR.. "src/lib/formats/d82_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/dcp_dsk.h,FORMATS["DCP_DSK"] = true +-------------------------------------------------- + +if (FORMATS["DCP_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/dcp_dsk.cpp", + MAME_DIR.. "src/lib/formats/dcp_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/dim_dsk.h,FORMATS["DIM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["DIM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/dim_dsk.cpp", + MAME_DIR.. "src/lib/formats/dim_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/dip_dsk.h,FORMATS["DIP_DSK"] = true +-------------------------------------------------- + +if (FORMATS["DIP_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/dip_dsk.cpp", + MAME_DIR.. "src/lib/formats/dip_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/dmk_dsk.h,FORMATS["DMK_DSK"] = true +-------------------------------------------------- + +if (FORMATS["DMK_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/dmk_dsk.cpp", + MAME_DIR.. "src/lib/formats/dmk_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sdf_dsk.h,FORMATS["SDF_DSK"] = true +-------------------------------------------------- + +if (FORMATS["SDF_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sdf_dsk.cpp", + MAME_DIR.. "src/lib/formats/sdf_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ep64_dsk.h,FORMATS["EP64_DSK"] = true +-------------------------------------------------- + +if (FORMATS["EP64_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ep64_dsk.cpp", + MAME_DIR.. "src/lib/formats/ep64_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/dmv_dsk.h,FORMATS["DMV_DSK"] = true +-------------------------------------------------- + +if (FORMATS["DMV_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/dmv_dsk.cpp", + MAME_DIR.. "src/lib/formats/dmv_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/esq16_dsk.h,FORMATS["ESQ16_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ESQ16_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/esq16_dsk.cpp", + MAME_DIR.. "src/lib/formats/esq16_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/esq8_dsk.h,FORMATS["ESQ8_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ESQ8_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/esq8_dsk.cpp", + MAME_DIR.. "src/lib/formats/esq8_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/excali64_dsk.h,FORMATS["EXCALI64_DSK"] = true +-------------------------------------------------- + +if (FORMATS["EXCALI64_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/excali64_dsk.cpp", + MAME_DIR.. "src/lib/formats/excali64_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fc100_cas.h,FORMATS["FC100_CAS"] = true +-------------------------------------------------- + +if (FORMATS["FC100_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fc100_cas.cpp", + MAME_DIR.. "src/lib/formats/fc100_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fdd_dsk.h,FORMATS["FDD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["FDD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fdd_dsk.cpp", + MAME_DIR.. "src/lib/formats/fdd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/flex_dsk.h,FORMATS["FLEX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["FLEX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/flex_dsk.cpp", + MAME_DIR.. "src/lib/formats/flex_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fm7_cas.h,FORMATS["FM7_CAS"] = true +-------------------------------------------------- + +if (FORMATS["FM7_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fm7_cas.cpp", + MAME_DIR.. "src/lib/formats/fm7_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fmsx_cas.h,FORMATS["FMSX_CAS"] = true +-------------------------------------------------- + +if (FORMATS["FMSX_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fmsx_cas.cpp", + MAME_DIR.. "src/lib/formats/fmsx_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fmtowns_dsk.h,FORMATS["FMTOWNS_DSK"] = true +-------------------------------------------------- + +if (FORMATS["FMTOWNS_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fmtowns_dsk.cpp", + MAME_DIR.. "src/lib/formats/fmtowns_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fsd_dsk.h,FORMATS["FSD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["FSD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fsd_dsk.cpp", + MAME_DIR.. "src/lib/formats/fsd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/g64_dsk.h,FORMATS["G64_DSK"] = true +-------------------------------------------------- + +if (FORMATS["G64_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/g64_dsk.cpp", + MAME_DIR.. "src/lib/formats/g64_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/gtp_cas.h,FORMATS["GTP_CAS"] = true +-------------------------------------------------- + +if (FORMATS["GTP_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/gtp_cas.cpp", + MAME_DIR.. "src/lib/formats/gtp_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/guab_dsk.h,FORMATS["GUAB_DSK"] = true +-------------------------------------------------- + +if (FORMATS["GUAB_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/guab_dsk.cpp", + MAME_DIR.. "src/lib/formats/guab_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/hector_minidisc.h,FORMATS["HECTOR_MINIDISC"] = true +-------------------------------------------------- + +if (FORMATS["HECTOR_MINIDISC"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/hector_minidisc.cpp", + MAME_DIR.. "src/lib/formats/hector_minidisc.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/hect_dsk.h,FORMATS["HECT_DSK"] = true +-------------------------------------------------- + +if (FORMATS["HECT_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/hect_dsk.cpp", + MAME_DIR.. "src/lib/formats/hect_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/hect_tap.h,FORMATS["HECT_TAP"] = true +-------------------------------------------------- + +if (FORMATS["HECT_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/hect_tap.cpp", + MAME_DIR.. "src/lib/formats/hect_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/hti_tape.h,FORMATS["HTI_TAP"] = true +-------------------------------------------------- + +if (FORMATS["HTI_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/hti_tape.cpp", + MAME_DIR.. "src/lib/formats/hti_tape.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/hpi_dsk.h,FORMATS["HPI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["HPI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/hpi_dsk.cpp", + MAME_DIR.. "src/lib/formats/hpi_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/hp_ipc_dsk.h,FORMATS["HP_IPC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["HP_IPC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/hp_ipc_dsk.cpp", + MAME_DIR.. "src/lib/formats/hp_ipc_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/iq151_dsk.h,FORMATS["IQ151_DSK"] = true +-------------------------------------------------- + +if (FORMATS["IQ151_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/iq151_dsk.cpp", + MAME_DIR.. "src/lib/formats/iq151_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/itt3030_dsk.h,FORMATS["ITT3030_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ITT3030_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/itt3030_dsk.cpp", + MAME_DIR.. "src/lib/formats/itt3030_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/jvc_dsk.h,FORMATS["JVC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["JVC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/jvc_dsk.cpp", + MAME_DIR.. "src/lib/formats/jvc_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/os9_dsk.h,FORMATS["OS9_DSK"] = true +-------------------------------------------------- + +if (FORMATS["OS9_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/os9_dsk.cpp", + MAME_DIR.. "src/lib/formats/os9_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/jfd_dsk.h,FORMATS["JFD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["JFD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/jfd_dsk.cpp", + MAME_DIR.. "src/lib/formats/jfd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/kaypro_dsk.h,FORMATS["KAYPRO_DSK"] = true +-------------------------------------------------- + +if (FORMATS["KAYPRO_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/kaypro_dsk.cpp", + MAME_DIR.. "src/lib/formats/kaypro_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/kc85_dsk.h,FORMATS["KC85_DSK"] = true +-------------------------------------------------- + +if (FORMATS["KC85_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/kc85_dsk.cpp", + MAME_DIR.. "src/lib/formats/kc85_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/kc_cas.h,FORMATS["KC_CAS"] = true +-------------------------------------------------- + +if (FORMATS["KC_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/kc_cas.cpp", + MAME_DIR.. "src/lib/formats/kc_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/kim1_cas.h,FORMATS["KIM1_CAS"] = true +-------------------------------------------------- + +if (FORMATS["KIM1_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/kim1_cas.cpp", + MAME_DIR.. "src/lib/formats/kim1_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/lviv_lvt.h,FORMATS["LVIV_LVT"] = true +-------------------------------------------------- + +if (FORMATS["LVIV_LVT"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/lviv_lvt.cpp", + MAME_DIR.. "src/lib/formats/lviv_lvt.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/m20_dsk.h,FORMATS["M20_DSK"] = true +-------------------------------------------------- + +if (FORMATS["M20_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/m20_dsk.cpp", + MAME_DIR.. "src/lib/formats/m20_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/m5_dsk.h,FORMATS["M5_DSK"] = true +-------------------------------------------------- + +if (FORMATS["M5_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/m5_dsk.cpp", + MAME_DIR.. "src/lib/formats/m5_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/mbee_cas.h,FORMATS["MBEE_CAS"] = true +-------------------------------------------------- + +if (FORMATS["MBEE_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/mbee_cas.cpp", + MAME_DIR.. "src/lib/formats/mbee_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/mfm_hd.h,FORMATS["MFM_HD"] = true +-------------------------------------------------- + +if (FORMATS["MFM_HD"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/mfm_hd.cpp", + MAME_DIR.. "src/lib/formats/mfm_hd.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/mm_dsk.h,FORMATS["MM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["MM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/mm_dsk.cpp", + MAME_DIR.. "src/lib/formats/mm_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ms0515_dsk.h,FORMATS["MS0515_DSK"] = true +-------------------------------------------------- + +if (FORMATS["MS0515_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ms0515_dsk.cpp", + MAME_DIR.. "src/lib/formats/ms0515_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/msx_dsk.h,FORMATS["MSX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["MSX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/msx_dsk.cpp", + MAME_DIR.. "src/lib/formats/msx_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/mtx_dsk.h,FORMATS["MTX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["MTX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/mtx_dsk.cpp", + MAME_DIR.. "src/lib/formats/mtx_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/mz_cas.h,FORMATS["MZ_CAS"] = true +-------------------------------------------------- + +if (FORMATS["MZ_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/mz_cas.cpp", + MAME_DIR.. "src/lib/formats/mz_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/nanos_dsk.h,FORMATS["NANOS_DSK"] = true +-------------------------------------------------- + +if (FORMATS["NANOS_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/nanos_dsk.cpp", + MAME_DIR.. "src/lib/formats/nanos_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/nascom_dsk.h,FORMATS["NASCOM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["NASCOM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/nascom_dsk.cpp", + MAME_DIR.. "src/lib/formats/nascom_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/naslite_dsk.h,FORMATS["NASLITE_DSK"] = true +-------------------------------------------------- + +if (FORMATS["NASLITE_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/naslite_dsk.cpp", + MAME_DIR.. "src/lib/formats/naslite_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/nes_dsk.h,FORMATS["NES_DSK"] = true +-------------------------------------------------- + +if (FORMATS["NES_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/nes_dsk.cpp", + MAME_DIR.. "src/lib/formats/nes_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/nfd_dsk.h,FORMATS["NFD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["NFD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/nfd_dsk.cpp", + MAME_DIR.. "src/lib/formats/nfd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/opd_dsk.h,FORMATS["OPD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["OPD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/opd_dsk.cpp", + MAME_DIR.. "src/lib/formats/opd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/orao_cas.h,FORMATS["ORAO_CAS"] = true +-------------------------------------------------- + +if (FORMATS["ORAO_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/orao_cas.cpp", + MAME_DIR.. "src/lib/formats/orao_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/oric_dsk.h,FORMATS["ORIC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ORIC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/oric_dsk.cpp", + MAME_DIR.. "src/lib/formats/oric_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/oric_tap.h,FORMATS["ORIC_TAP"] = true +-------------------------------------------------- + +if (FORMATS["ORIC_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/oric_tap.cpp", + MAME_DIR.. "src/lib/formats/oric_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/p6001_cas.h,FORMATS["P6001_CAS"] = true +-------------------------------------------------- + +if (FORMATS["P6001_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/p6001_cas.cpp", + MAME_DIR.. "src/lib/formats/p6001_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pasti_dsk.h,FORMATS["PASTI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PASTI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pasti_dsk.cpp", + MAME_DIR.. "src/lib/formats/pasti_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pc98fdi_dsk.h,FORMATS["PC98FDI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PC98FDI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pc98fdi_dsk.cpp", + MAME_DIR.. "src/lib/formats/pc98fdi_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pc98_dsk.h,FORMATS["PC98_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PC98_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pc98_dsk.cpp", + MAME_DIR.. "src/lib/formats/pc98_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pc_dsk.h,FORMATS["PC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pc_dsk.cpp", + MAME_DIR.. "src/lib/formats/pc_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/phc25_cas.h,FORMATS["PHC25_CAS"] = true +-------------------------------------------------- + +if (FORMATS["PHC25_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/phc25_cas.cpp", + MAME_DIR.. "src/lib/formats/phc25_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pk8020_dsk.h,FORMATS["PK8020_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PK8020_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pk8020_dsk.cpp", + MAME_DIR.. "src/lib/formats/pk8020_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pmd_cas.h,FORMATS["PMD_CAS"] = true +-------------------------------------------------- + +if (FORMATS["PMD_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pmd_cas.cpp", + MAME_DIR.. "src/lib/formats/pmd_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/poly_dsk.h,FORMATS["POLY_DSK"] = true +-------------------------------------------------- + +if (FORMATS["POLY_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/poly_dsk.cpp", + MAME_DIR.. "src/lib/formats/poly_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ppg_dsk.h,FORMATS["PPG_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PPG_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ppg_dsk.cpp", + MAME_DIR.. "src/lib/formats/ppg_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/primoptp.h,FORMATS["PRIMOPTP"] = true +-------------------------------------------------- + +if (FORMATS["PRIMOPTP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/primoptp.cpp", + MAME_DIR.. "src/lib/formats/primoptp.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pyldin_dsk.h,FORMATS["PYLDIN_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PYLDIN_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pyldin_dsk.cpp", + MAME_DIR.. "src/lib/formats/pyldin_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ql_dsk.h,FORMATS["QL_DSK"] = true +-------------------------------------------------- + +if (FORMATS["QL_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ql_dsk.cpp", + MAME_DIR.. "src/lib/formats/ql_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/rk_cas.h,FORMATS["RK_CAS"] = true +-------------------------------------------------- + +if (FORMATS["RK_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/rk_cas.cpp", + MAME_DIR.. "src/lib/formats/rk_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/rx50_dsk.h,FORMATS["RX50_DSK"] = true +-------------------------------------------------- + +if (FORMATS["RX50_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/rx50_dsk.cpp", + MAME_DIR.. "src/lib/formats/rx50_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sc3000_bit.h,FORMATS["SC3000_BIT"] = true +-------------------------------------------------- + +if (FORMATS["SC3000_BIT"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sc3000_bit.cpp", + MAME_DIR.. "src/lib/formats/sc3000_bit.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sf7000_dsk.h,FORMATS["SF7000_DSK"] = true +-------------------------------------------------- + +if (FORMATS["SF7000_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sf7000_dsk.cpp", + MAME_DIR.. "src/lib/formats/sf7000_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/smx_dsk.h,FORMATS["SMX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["SMX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/smx_dsk.cpp", + MAME_DIR.. "src/lib/formats/smx_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sol_cas.h,FORMATS["SOL_CAS"] = true +-------------------------------------------------- + +if (FORMATS["SOL_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sol_cas.cpp", + MAME_DIR.. "src/lib/formats/sol_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sorc_cas.h,FORMATS["SORC_CAS"] = true +-------------------------------------------------- + +if (FORMATS["SORC_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sorc_cas.cpp", + MAME_DIR.. "src/lib/formats/sorc_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sorc_dsk.h,FORMATS["SORC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["SORC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sorc_dsk.cpp", + MAME_DIR.. "src/lib/formats/sorc_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sord_cas.h,FORMATS["SORD_CAS"] = true +-------------------------------------------------- + +if (FORMATS["SORD_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sord_cas.cpp", + MAME_DIR.. "src/lib/formats/sord_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/spc1000_cas.h,FORMATS["SPC1000_CAS"] = true +-------------------------------------------------- + +if (FORMATS["SPC1000_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/spc1000_cas.cpp", + MAME_DIR.. "src/lib/formats/spc1000_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/st_dsk.h,FORMATS["ST_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ST_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/st_dsk.cpp", + MAME_DIR.. "src/lib/formats/st_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/svi_cas.h,FORMATS["SVI_CAS"] = true +-------------------------------------------------- + +if (FORMATS["SVI_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/svi_cas.cpp", + MAME_DIR.. "src/lib/formats/svi_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/svi_dsk.h,FORMATS["SVI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["SVI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/svi_dsk.cpp", + MAME_DIR.. "src/lib/formats/svi_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/tandy2k_dsk.h,FORMATS["TANDY2K_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TANDY2K_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/tandy2k_dsk.cpp", + MAME_DIR.. "src/lib/formats/tandy2k_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/thom_cas.h,FORMATS["THOM_CAS"] = true +-------------------------------------------------- + +if (FORMATS["THOM_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/thom_cas.cpp", + MAME_DIR.. "src/lib/formats/thom_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/thom_dsk.h,FORMATS["THOM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["THOM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/thom_dsk.cpp", + MAME_DIR.. "src/lib/formats/thom_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ti99_dsk.h,FORMATS["TI99_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TI99_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ti99_dsk.cpp", + MAME_DIR.. "src/lib/formats/ti99_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/tiki100_dsk.h,FORMATS["TIKI100_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TIKI100_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/tiki100_dsk.cpp", + MAME_DIR.. "src/lib/formats/tiki100_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/trd_dsk.h,FORMATS["TRD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TRD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/trd_dsk.cpp", + MAME_DIR.. "src/lib/formats/trd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/trs80_dsk.h,FORMATS["TRS80_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TRS80_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/trs80_dsk.cpp", + MAME_DIR.. "src/lib/formats/trs80_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/trs_cas.h,FORMATS["TRS_CAS"] = true +-------------------------------------------------- + +if (FORMATS["TRS_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/trs_cas.cpp", + MAME_DIR.. "src/lib/formats/trs_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/tvc_cas.h,FORMATS["TVC_CAS"] = true +-------------------------------------------------- + +if (FORMATS["TVC_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/tvc_cas.cpp", + MAME_DIR.. "src/lib/formats/tvc_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/tvc_dsk.h,FORMATS["TVC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TVC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/tvc_dsk.cpp", + MAME_DIR.. "src/lib/formats/tvc_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/tzx_cas.h,FORMATS["TZX_CAS"] = true +-------------------------------------------------- + +if (FORMATS["TZX_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/tzx_cas.cpp", + MAME_DIR.. "src/lib/formats/tzx_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/uef_cas.h,FORMATS["UEF_CAS"] = true +-------------------------------------------------- + +if (FORMATS["UEF_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/uef_cas.cpp", + MAME_DIR.. "src/lib/formats/uef_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/upd765_dsk.h,FORMATS["UPD765_DSK"] = true +-------------------------------------------------- + +if (FORMATS["UPD765_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/upd765_dsk.cpp", + MAME_DIR.. "src/lib/formats/upd765_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/vdk_dsk.h,FORMATS["VDK_DSK"] = true +-------------------------------------------------- + +if (FORMATS["VDK_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/vdk_dsk.cpp", + MAME_DIR.. "src/lib/formats/vdk_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/vector06_dsk.h,FORMATS["VECTOR06_DSK"] = true +-------------------------------------------------- + +if (FORMATS["VECTOR06_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/vector06_dsk.cpp", + MAME_DIR.. "src/lib/formats/vector06_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/vg5k_cas.h,FORMATS["VG5K_CAS"] = true +-------------------------------------------------- + +if (FORMATS["VG5K_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/vg5k_cas.cpp", + MAME_DIR.. "src/lib/formats/vg5k_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/victor9k_dsk.h,FORMATS["VICTOR9K_DSK"] = true +-------------------------------------------------- + +if (FORMATS["VICTOR9K_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/victor9k_dsk.cpp", + MAME_DIR.. "src/lib/formats/victor9k_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/vt_cas.h,FORMATS["VT_CAS"] = true +-------------------------------------------------- + +if (FORMATS["VT_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/vt_cas.cpp", + MAME_DIR.. "src/lib/formats/vt_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/wd177x_dsk.h,FORMATS["WD177X_DSK"] = true +-------------------------------------------------- + +if (FORMATS["WD177X_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/wd177x_dsk.cpp", + MAME_DIR.. "src/lib/formats/wd177x_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/x07_cas.h,FORMATS["X07_CAS"] = true +-------------------------------------------------- + +if (FORMATS["X07_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/x07_cas.cpp", + MAME_DIR.. "src/lib/formats/x07_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/x1_tap.h,FORMATS["X1_TAP"] = true +-------------------------------------------------- + +if (FORMATS["X1_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/x1_tap.cpp", + MAME_DIR.. "src/lib/formats/x1_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/xdf_dsk.h,FORMATS["XDF_DSK"] = true +-------------------------------------------------- + +if (FORMATS["XDF_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/xdf_dsk.cpp", + MAME_DIR.. "src/lib/formats/xdf_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/zx81_p.h,FORMATS["ZX81_P"] = true +-------------------------------------------------- + +if (FORMATS["ZX81_P"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/zx81_p.cpp", + MAME_DIR.. "src/lib/formats/zx81_p.h", + } +end + +end diff --git a/docs/release/scripts/src/lib.lua b/docs/release/scripts/src/lib.lua new file mode 100644 index 00000000000..28fb3b7c9a6 --- /dev/null +++ b/docs/release/scripts/src/lib.lua @@ -0,0 +1,117 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- lib.lua +-- +-- Rules for building lib cores +-- +--------------------------------------------------------------------------- + +project "utils" + uuid "22489ad0-4cb2-4d91-ad81-24b0d80ca30a" + kind (LIBTYPE) + + addprojectflags() + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + ext_includedir("expat"), + ext_includedir("zlib"), + ext_includedir("flac"), + ext_includedir("utf8proc"), + } + + files { + MAME_DIR .. "src/lib/util/bitstream.h", + MAME_DIR .. "src/lib/util/coretmpl.h", + MAME_DIR .. "src/lib/util/avhuff.cpp", + MAME_DIR .. "src/lib/util/avhuff.h", + MAME_DIR .. "src/lib/util/aviio.cpp", + MAME_DIR .. "src/lib/util/aviio.h", + MAME_DIR .. "src/lib/util/base64.hpp", + MAME_DIR .. "src/lib/util/bitmap.cpp", + MAME_DIR .. "src/lib/util/bitmap.h", + MAME_DIR .. "src/lib/util/cdrom.cpp", + MAME_DIR .. "src/lib/util/cdrom.h", + MAME_DIR .. "src/lib/util/chd.cpp", + MAME_DIR .. "src/lib/util/chd.h", + MAME_DIR .. "src/lib/util/chdcd.cpp", + MAME_DIR .. "src/lib/util/chdcd.h", + MAME_DIR .. "src/lib/util/chdcodec.cpp", + MAME_DIR .. "src/lib/util/chdcodec.h", + MAME_DIR .. "src/lib/util/client_http.hpp", + MAME_DIR .. "src/lib/util/client_https.hpp", + MAME_DIR .. "src/lib/util/client_ws.hpp", + MAME_DIR .. "src/lib/util/client_wss.hpp", + MAME_DIR .. "src/lib/util/corealloc.h", + MAME_DIR .. "src/lib/util/corefile.cpp", + MAME_DIR .. "src/lib/util/corefile.h", + MAME_DIR .. "src/lib/util/corestr.cpp", + MAME_DIR .. "src/lib/util/corestr.h", + MAME_DIR .. "src/lib/util/coreutil.cpp", + MAME_DIR .. "src/lib/util/coreutil.h", + MAME_DIR .. "src/lib/util/crypto.hpp", + MAME_DIR .. "src/lib/util/delegate.cpp", + MAME_DIR .. "src/lib/util/delegate.h", + MAME_DIR .. "src/lib/util/disasmintf.cpp", + MAME_DIR .. "src/lib/util/disasmintf.h", + MAME_DIR .. "src/lib/util/flac.cpp", + MAME_DIR .. "src/lib/util/flac.h", + MAME_DIR .. "src/lib/util/harddisk.cpp", + MAME_DIR .. "src/lib/util/harddisk.h", + MAME_DIR .. "src/lib/util/hash.cpp", + MAME_DIR .. "src/lib/util/hash.h", + MAME_DIR .. "src/lib/util/hashing.cpp", + MAME_DIR .. "src/lib/util/hashing.h", + MAME_DIR .. "src/lib/util/huffman.cpp", + MAME_DIR .. "src/lib/util/huffman.h", + MAME_DIR .. "src/lib/util/jedparse.cpp", + MAME_DIR .. "src/lib/util/jedparse.h", + MAME_DIR .. "src/lib/util/md5.cpp", + MAME_DIR .. "src/lib/util/md5.h", + MAME_DIR .. "src/lib/util/nanosvg.cpp", + MAME_DIR .. "src/lib/util/opresolv.cpp", + MAME_DIR .. "src/lib/util/opresolv.h", + MAME_DIR .. "src/lib/util/options.cpp", + MAME_DIR .. "src/lib/util/options.h", + MAME_DIR .. "src/lib/util/palette.cpp", + MAME_DIR .. "src/lib/util/palette.h", + MAME_DIR .. "src/lib/util/path_to_regex.cpp", + MAME_DIR .. "src/lib/util/path_to_regex.hpp", + MAME_DIR .. "src/lib/util/plaparse.cpp", + MAME_DIR .. "src/lib/util/plaparse.h", + MAME_DIR .. "src/lib/util/png.cpp", + MAME_DIR .. "src/lib/util/png.h", + MAME_DIR .. "src/lib/util/pool.cpp", + MAME_DIR .. "src/lib/util/pool.h", + MAME_DIR .. "src/lib/util/server_http.hpp", + MAME_DIR .. "src/lib/util/server_https.hpp", + MAME_DIR .. "src/lib/util/server_ws.hpp", + MAME_DIR .. "src/lib/util/server_wss.hpp", + MAME_DIR .. "src/lib/util/sha1.cpp", + MAME_DIR .. "src/lib/util/sha1.h", + MAME_DIR .. "src/lib/util/sha1.hpp", + MAME_DIR .. "src/lib/util/strformat.cpp", + MAME_DIR .. "src/lib/util/strformat.h", + MAME_DIR .. "src/lib/util/timeconv.cpp", + MAME_DIR .. "src/lib/util/timeconv.h", + MAME_DIR .. "src/lib/util/unicode.cpp", + MAME_DIR .. "src/lib/util/unicode.h", + MAME_DIR .. "src/lib/util/unzip.cpp", + MAME_DIR .. "src/lib/util/unzip.h", + MAME_DIR .. "src/lib/util/un7z.cpp", + MAME_DIR .. "src/lib/util/vbiparse.cpp", + MAME_DIR .. "src/lib/util/vbiparse.h", + MAME_DIR .. "src/lib/util/vecstream.cpp", + MAME_DIR .. "src/lib/util/vecstream.h", + MAME_DIR .. "src/lib/util/wavwrite.cpp", + MAME_DIR .. "src/lib/util/wavwrite.h", + MAME_DIR .. "src/lib/util/xmlfile.cpp", + MAME_DIR .. "src/lib/util/xmlfile.h", + MAME_DIR .. "src/lib/util/zippath.cpp", + MAME_DIR .. "src/lib/util/zippath.h", + } diff --git a/docs/release/scripts/src/machine.lua b/docs/release/scripts/src/machine.lua new file mode 100644 index 00000000000..79f1c545491 --- /dev/null +++ b/docs/release/scripts/src/machine.lua @@ -0,0 +1,4067 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- machine.lua +-- +-- Rules for building machine cores +-- +---------------------------------------------------------------------------- + +files { + MAME_DIR .. "src/devices/machine/bcreader.cpp", + MAME_DIR .. "src/devices/machine/bcreader.h", +-- MAME_DIR .. "src/devices/machine/buffer.cpp", +-- MAME_DIR .. "src/devices/machine/buffer.h", + MAME_DIR .. "src/devices/machine/clock.cpp", + MAME_DIR .. "src/devices/machine/clock.h", +-- MAME_DIR .. "src/devices/machine/keyboard.cpp", +-- MAME_DIR .. "src/devices/machine/keyboard.h", +-- MAME_DIR .. "src/devices/machine/keyboard.ipp", + MAME_DIR .. "src/devices/machine/laserdsc.cpp", + MAME_DIR .. "src/devices/machine/laserdsc.h", + MAME_DIR .. "src/devices/machine/nvram.cpp", + MAME_DIR .. "src/devices/machine/nvram.h", + MAME_DIR .. "src/devices/machine/ram.cpp", + MAME_DIR .. "src/devices/machine/ram.h", + MAME_DIR .. "src/devices/machine/legscsi.cpp", + MAME_DIR .. "src/devices/machine/legscsi.h", +-- MAME_DIR .. "src/devices/machine/sdlc.cpp", +-- MAME_DIR .. "src/devices/machine/sdlc.h", +-- MAME_DIR .. "src/devices/machine/terminal.cpp", +-- MAME_DIR .. "src/devices/machine/terminal.h", + MAME_DIR .. "src/devices/machine/timer.cpp", + MAME_DIR .. "src/devices/machine/timer.h", +} +files { +-- MAME_DIR .. "src/devices/imagedev/bitbngr.cpp", +-- MAME_DIR .. "src/devices/imagedev/bitbngr.h", + MAME_DIR .. "src/devices/imagedev/cassette.cpp", + MAME_DIR .. "src/devices/imagedev/cassette.h", + MAME_DIR .. "src/devices/imagedev/chd_cd.cpp", + MAME_DIR .. "src/devices/imagedev/chd_cd.h", +-- MAME_DIR .. "src/devices/imagedev/diablo.cpp", +-- MAME_DIR .. "src/devices/imagedev/diablo.h", + MAME_DIR .. "src/devices/imagedev/flopdrv.cpp", + MAME_DIR .. "src/devices/imagedev/flopdrv.h", + MAME_DIR .. "src/devices/imagedev/floppy.cpp", + MAME_DIR .. "src/devices/imagedev/floppy.h", + MAME_DIR .. "src/devices/imagedev/harddriv.cpp", + MAME_DIR .. "src/devices/imagedev/harddriv.h", +-- MAME_DIR .. "src/devices/imagedev/mfmhd.cpp", +-- MAME_DIR .. "src/devices/imagedev/mfmhd.h", +-- MAME_DIR .. "src/devices/imagedev/midiin.cpp", +-- MAME_DIR .. "src/devices/imagedev/midiin.h", +-- MAME_DIR .. "src/devices/imagedev/midiout.cpp", +-- MAME_DIR .. "src/devices/imagedev/midiout.h", +-- MAME_DIR .. "src/devices/imagedev/printer.cpp", +-- MAME_DIR .. "src/devices/imagedev/printer.h", +-- MAME_DIR .. "src/devices/imagedev/snapquik.cpp", +-- MAME_DIR .. "src/devices/imagedev/snapquik.h", +} +--------------------------------------------------- +-- +--@src/devices/machine/akiko.h,MACHINES["AKIKO"] = true +--------------------------------------------------- + +if (MACHINES["AKIKO"]~=null) then + files { + MAME_DIR .. "src/devices/machine/akiko.cpp", + MAME_DIR .. "src/devices/machine/akiko.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/autoconfig.h,MACHINES["AUTOCONFIG"] = true +--------------------------------------------------- + +if (MACHINES["AUTOCONFIG"]~=null) then + files { + MAME_DIR .. "src/devices/machine/autoconfig.cpp", + MAME_DIR .. "src/devices/machine/autoconfig.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/cr511b.h,MACHINES["CR511B"] = true +--------------------------------------------------- + +if (MACHINES["CR511B"]~=null) then + files { + MAME_DIR .. "src/devices/machine/cr511b.cpp", + MAME_DIR .. "src/devices/machine/cr511b.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/dmac.h,MACHINES["DMAC"] = true +--------------------------------------------------- + +if (MACHINES["DMAC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/dmac.cpp", + MAME_DIR .. "src/devices/machine/dmac.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/gayle.h,MACHINES["GAYLE"] = true +--------------------------------------------------- + +if (MACHINES["GAYLE"]~=null) then + files { + MAME_DIR .. "src/devices/machine/gayle.cpp", + MAME_DIR .. "src/devices/machine/gayle.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/40105.h,MACHINES["CMOS40105"] = true +--------------------------------------------------- + +if (MACHINES["CMOS40105"]~=null) then + files { + MAME_DIR .. "src/devices/machine/40105.cpp", + MAME_DIR .. "src/devices/machine/40105.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/53c7xx.h,MACHINES["NCR53C7XX"] = true +--------------------------------------------------- + +if (MACHINES["NCR53C7XX"]~=null) then + MACHINES["NSCSI"] = true + files { + MAME_DIR .. "src/devices/machine/53c7xx.cpp", + MAME_DIR .. "src/devices/machine/53c7xx.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ncr5385.h,MACHINES["NCR5385"] = true +--------------------------------------------------- + +if (MACHINES["NCR5385"]~=null) then + MACHINES["NSCSI"] = true + files { + MAME_DIR .. "src/devices/machine/ncr5385.cpp", + MAME_DIR .. "src/devices/machine/ncr5385.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/53c810.h,MACHINES["LSI53C810"] = true +--------------------------------------------------- + +if (MACHINES["LSI53C810"]~=null) then + MACHINES["SCSI"] = true + files { + MAME_DIR .. "src/devices/machine/53c810.cpp", + MAME_DIR .. "src/devices/machine/53c810.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/2812fifo.h,MACHINES["2812FIFO"] = true +--------------------------------------------------- + +if (MACHINES["2812FIFO"]~=null) then + files { + MAME_DIR .. "src/devices/machine/2812fifo.cpp", + MAME_DIR .. "src/devices/machine/2812fifo.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/6522via.h,MACHINES["6522VIA"] = true +--------------------------------------------------- + +if (MACHINES["6522VIA"]~=null) then + files { + MAME_DIR .. "src/devices/machine/6522via.cpp", + MAME_DIR .. "src/devices/machine/6522via.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/6525tpi.h,MACHINES["TPI6525"] = true +--------------------------------------------------- + +if (MACHINES["TPI6525"]~=null) then + files { + MAME_DIR .. "src/devices/machine/6525tpi.cpp", + MAME_DIR .. "src/devices/machine/6525tpi.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/6532riot.h,MACHINES["RIOT6532"] = true +--------------------------------------------------- + +if (MACHINES["RIOT6532"]~=null) then + files { + MAME_DIR .. "src/devices/machine/6532riot.cpp", + MAME_DIR .. "src/devices/machine/6532riot.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/6821pia.h,MACHINES["6821PIA"] = true +--------------------------------------------------- + +if (MACHINES["6821PIA"]~=null) then + files { + MAME_DIR .. "src/devices/machine/6821pia.cpp", + MAME_DIR .. "src/devices/machine/6821pia.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/6840ptm.h,MACHINES["6840PTM"] = true +--------------------------------------------------- + +if (MACHINES["6840PTM"]~=null) then + files { + MAME_DIR .. "src/devices/machine/6840ptm.cpp", + MAME_DIR .. "src/devices/machine/6840ptm.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/6850acia.h,MACHINES["ACIA6850"] = true +--------------------------------------------------- + +if (MACHINES["ACIA6850"]~=null) then + files { + MAME_DIR .. "src/devices/machine/6850acia.cpp", + MAME_DIR .. "src/devices/machine/6850acia.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/68153bim.h,MACHINES["BIM68153"] = true +--------------------------------------------------- + +if (MACHINES["BIM68153"]~=null) then + files { + MAME_DIR .. "src/devices/machine/68153bim.cpp", + MAME_DIR .. "src/devices/machine/68153bim.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/68230pit.h,MACHINES["PIT68230"] = true +--------------------------------------------------- + +if (MACHINES["PIT68230"]~=null) then + files { + MAME_DIR .. "src/devices/machine/68230pit.cpp", + MAME_DIR .. "src/devices/machine/68230pit.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/68561mpcc.h,MACHINES["MPCC68561"] = true +--------------------------------------------------- + +if (MACHINES["MPCC68561"]~=null) then + files { + MAME_DIR .. "src/devices/machine/68561mpcc.cpp", + MAME_DIR .. "src/devices/machine/68561mpcc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mc68681.h,MACHINES["68681"] = true +--------------------------------------------------- + +if (MACHINES["68681"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mc68681.cpp", + MAME_DIR .. "src/devices/machine/mc68681.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/7200fifo.h,MACHINES["7200FIFO"] = true +--------------------------------------------------- + +if (MACHINES["7200FIFO"]~=null) then + files { + MAME_DIR .. "src/devices/machine/7200fifo.cpp", + MAME_DIR .. "src/devices/machine/7200fifo.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/7400.h,MACHINES["TTL7400"] = true +--------------------------------------------------- + +if (MACHINES["TTL7400"]~=null) then + files { + MAME_DIR .. "src/devices/machine/7400.cpp", + MAME_DIR .. "src/devices/machine/7400.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/7404.h,MACHINES["TTL7404"] = true +--------------------------------------------------- + +if (MACHINES["TTL7404"]~=null) then + files { + MAME_DIR .. "src/devices/machine/7404.cpp", + MAME_DIR .. "src/devices/machine/7404.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74123.h,MACHINES["TTL74123"] = true +--------------------------------------------------- + +if (MACHINES["TTL74123"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74123.cpp", + MAME_DIR .. "src/devices/machine/74123.h", + MAME_DIR .. "src/devices/machine/rescap.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74145.h,MACHINES["TTL74145"] = true +--------------------------------------------------- + +if (MACHINES["TTL74145"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74145.cpp", + MAME_DIR .. "src/devices/machine/74145.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74148.h,MACHINES["TTL74148"] = true +--------------------------------------------------- + +if (MACHINES["TTL74148"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74148.cpp", + MAME_DIR .. "src/devices/machine/74148.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74153.h,MACHINES["TTL74153"] = true +--------------------------------------------------- + +if (MACHINES["TTL74153"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74153.cpp", + MAME_DIR .. "src/devices/machine/74153.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74157.h,MACHINES["TTL74157"] = true +--------------------------------------------------- + +if (MACHINES["TTL74157"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74157.cpp", + MAME_DIR .. "src/devices/machine/74157.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74161.h,MACHINES["TTL74161"] = true +--------------------------------------------------- + +if (MACHINES["TTL74161"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74161.cpp", + MAME_DIR .. "src/devices/machine/74161.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74165.h,MACHINES["TTL74165"] = true +--------------------------------------------------- + +if (MACHINES["TTL74165"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74165.cpp", + MAME_DIR .. "src/devices/machine/74165.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74166.h,MACHINES["TTL74166"] = true +--------------------------------------------------- + +if (MACHINES["TTL74166"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74166.cpp", + MAME_DIR .. "src/devices/machine/74166.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74175.h,MACHINES["TTL74175"] = true +--------------------------------------------------- + +if (MACHINES["TTL74175"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74175.cpp", + MAME_DIR .. "src/devices/machine/74175.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74181.h,MACHINES["TTL74181"] = true +--------------------------------------------------- + +if (MACHINES["TTL74181"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74181.cpp", + MAME_DIR .. "src/devices/machine/74181.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74259.h,MACHINES["TTL74259"] = true +--------------------------------------------------- + +if (MACHINES["TTL74259"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74259.cpp", + MAME_DIR .. "src/devices/machine/74259.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/74381.h,MACHINES["TTL74381"] = true +--------------------------------------------------- + +if (MACHINES["TTL74381"]~=null) then + files { + MAME_DIR .. "src/devices/machine/74381.cpp", + MAME_DIR .. "src/devices/machine/74381.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/7474.h,MACHINES["TTL7474"] = true +--------------------------------------------------- + +if (MACHINES["TTL7474"]~=null) then + files { + MAME_DIR .. "src/devices/machine/7474.cpp", + MAME_DIR .. "src/devices/machine/7474.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/82s129.h,MACHINES["PROM82S129"] = true +--------------------------------------------------- + +if (MACHINES["PROM82S129"]~=null) then + files { + MAME_DIR .. "src/devices/machine/82s129.cpp", + MAME_DIR .. "src/devices/machine/82s129.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/8042kbdc.h,MACHINES["KBDC8042"] = true +--------------------------------------------------- + +if (MACHINES["KBDC8042"]~=null) then + files { + MAME_DIR .. "src/devices/machine/8042kbdc.cpp", + MAME_DIR .. "src/devices/machine/8042kbdc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/8530scc.h,MACHINES["8530SCC"] = true +--------------------------------------------------- + +if (MACHINES["8530SCC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/8530scc.cpp", + MAME_DIR .. "src/devices/machine/8530scc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/aakart.h,MACHINES["AAKARTDEV"] = true +--------------------------------------------------- + +if (MACHINES["AAKARTDEV"]~=null) then + files { + MAME_DIR .. "src/devices/machine/aakart.cpp", + MAME_DIR .. "src/devices/machine/aakart.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/adc0808.h,MACHINES["ADC0808"] = true +--------------------------------------------------- + +if (MACHINES["ADC0808"]~=null) then + files { + MAME_DIR .. "src/devices/machine/adc0808.cpp", + MAME_DIR .. "src/devices/machine/adc0808.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/adc083x.h,MACHINES["ADC083X"] = true +--------------------------------------------------- + +if (MACHINES["ADC083X"]~=null) then + files { + MAME_DIR .. "src/devices/machine/adc083x.cpp", + MAME_DIR .. "src/devices/machine/adc083x.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/adc1038.h,MACHINES["ADC1038"] = true +--------------------------------------------------- + +if (MACHINES["ADC1038"]~=null) then + files { + MAME_DIR .. "src/devices/machine/adc1038.cpp", + MAME_DIR .. "src/devices/machine/adc1038.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/adc1213x.h,MACHINES["ADC1213X"] = true +--------------------------------------------------- + +if (MACHINES["ADC1213X"]~=null) then + files { + MAME_DIR .. "src/devices/machine/adc1213x.cpp", + MAME_DIR .. "src/devices/machine/adc1213x.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/aicartc.h,MACHINES["AICARTC"] = true +--------------------------------------------------- + +if (MACHINES["AICARTC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/aicartc.cpp", + MAME_DIR .. "src/devices/machine/aicartc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/am25s55x.h,MACHINES["AM25S55X"] = true +--------------------------------------------------- + +if (MACHINES["AM25S55X"]~=null) then + files { + MAME_DIR .. "src/devices/machine/am25s55x.cpp", + MAME_DIR .. "src/devices/machine/am25s55x.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/am2847.h,MACHINES["AM2847"] = true +--------------------------------------------------- + +if (MACHINES["AM2847"]~=null) then + files { + MAME_DIR .. "src/devices/machine/am2847.cpp", + MAME_DIR .. "src/devices/machine/am2847.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/am2910.h,MACHINES["AM2910"] = true +--------------------------------------------------- + +if (MACHINES["AM2910"]~=null) then + files { + MAME_DIR .. "src/devices/machine/am2910.cpp", + MAME_DIR .. "src/devices/machine/am2910.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/am53cf96.h,MACHINES["AM53CF96"] = true +--------------------------------------------------- + +if (MACHINES["AM53CF96"]~=null) then + files { + MAME_DIR .. "src/devices/machine/am53cf96.cpp", + MAME_DIR .. "src/devices/machine/am53cf96.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/am79c90.h,MACHINES["AM79C90"] = true +--------------------------------------------------- + +if (MACHINES["AM79C90"]~=null) then + files { + MAME_DIR .. "src/devices/machine/am79c90.cpp", + MAME_DIR .. "src/devices/machine/am79c90.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/am9513.h,MACHINES["AM9513"] = true +--------------------------------------------------- + +if (MACHINES["AM9513"]~=null) then + files { + MAME_DIR .. "src/devices/machine/am9513.cpp", + MAME_DIR .. "src/devices/machine/am9513.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/am9517a.h,MACHINES["AM9517A"] = true +--------------------------------------------------- + +if (MACHINES["AM9517A"]~=null) then + files { + MAME_DIR .. "src/devices/machine/am9517a.cpp", + MAME_DIR .. "src/devices/machine/am9517a.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/am9519.h,MACHINES["AM9519"] = true +--------------------------------------------------- + +if (MACHINES["AM9519"]~=null) then + files { + MAME_DIR .. "src/devices/machine/am9519.cpp", + MAME_DIR .. "src/devices/machine/am9519.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/amigafdc.h,MACHINES["AMIGAFDC"] = true +--------------------------------------------------- + +if (MACHINES["AMIGAFDC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/amigafdc.cpp", + MAME_DIR .. "src/devices/machine/amigafdc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/at28c16.h,MACHINES["AT28C16"] = true +--------------------------------------------------- + +if (MACHINES["AT28C16"]~=null) then + files { + MAME_DIR .. "src/devices/machine/at28c16.cpp", + MAME_DIR .. "src/devices/machine/at28c16.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/at29x.h,MACHINES["AT29X"] = true +--------------------------------------------------- + +if (MACHINES["AT29X"]~=null) then + files { + MAME_DIR .. "src/devices/machine/at29x.cpp", + MAME_DIR .. "src/devices/machine/at29x.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/at45dbxx.h,MACHINES["AT45DBXX"] = true +--------------------------------------------------- + +if (MACHINES["AT45DBXX"]~=null) then + files { + MAME_DIR .. "src/devices/machine/at45dbxx.cpp", + MAME_DIR .. "src/devices/machine/at45dbxx.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ataflash.h,MACHINES["ATAFLASH"] = true +--------------------------------------------------- + +if (MACHINES["ATAFLASH"]~=null) then + MACHINES["IDE"] = true + MACHINES["PCCARD"] = true + files { + MAME_DIR .. "src/devices/machine/ataflash.cpp", + MAME_DIR .. "src/devices/machine/ataflash.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/atmel_arm_aic.h,MACHINES["ARM_AIC"] = true +--------------------------------------------------- + +if (MACHINES["ARM_AIC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/atmel_arm_aic.cpp", + MAME_DIR .. "src/devices/machine/atmel_arm_aic.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ay31015.h,MACHINES["AY31015"] = true +--------------------------------------------------- + +if (MACHINES["AY31015"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ay31015.cpp", + MAME_DIR .. "src/devices/machine/ay31015.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/bankdev.h,MACHINES["BANKDEV"] = true +--------------------------------------------------- + +if (MACHINES["BANKDEV"]~=null) then + files { + MAME_DIR .. "src/devices/machine/bankdev.cpp", + MAME_DIR .. "src/devices/machine/bankdev.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/busmouse.h,MACHINES["BUSMOUSE"] = true +--------------------------------------------------- + +if (MACHINES["BUSMOUSE"]~=null) then + files { + MAME_DIR .. "src/devices/machine/busmouse.cpp", + MAME_DIR .. "src/devices/machine/busmouse.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/cdp1852.h,MACHINES["CDP1852"] = true +--------------------------------------------------- + +if (MACHINES["CDP1852"]~=null) then + files { + MAME_DIR .. "src/devices/machine/cdp1852.cpp", + MAME_DIR .. "src/devices/machine/cdp1852.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/cdp1871.h,MACHINES["CDP1871"] = true +--------------------------------------------------- + +if (MACHINES["CDP1871"]~=null) then + files { + MAME_DIR .. "src/devices/machine/cdp1871.cpp", + MAME_DIR .. "src/devices/machine/cdp1871.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/cdp1879.h,MACHINES["CDP1879"] = true +--------------------------------------------------- + +if (MACHINES["CDP1879"]~=null) then + files { + MAME_DIR .. "src/devices/machine/cdp1879.cpp", + MAME_DIR .. "src/devices/machine/cdp1879.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/chessmachine.h,MACHINES["CHESSMACHINE"] = true +--------------------------------------------------- + +if (MACHINES["CHESSMACHINE"]~=null) then + files { + MAME_DIR .. "src/devices/machine/chessmachine.cpp", + MAME_DIR .. "src/devices/machine/chessmachine.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/com8116.h,MACHINES["COM8116"] = true +--------------------------------------------------- + +if (MACHINES["COM8116"]~=null) then + files { + MAME_DIR .. "src/devices/machine/com8116.cpp", + MAME_DIR .. "src/devices/machine/com8116.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/cr589.h,MACHINES["CR589"] = true +--------------------------------------------------- + +if (MACHINES["CR589"]~=null) then + files { + MAME_DIR .. "src/devices/machine/cr589.cpp", + MAME_DIR .. "src/devices/machine/cr589.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/cs4031.h,MACHINES["CS4031"] = true +--------------------------------------------------- + +if (MACHINES["CS4031"]~=null) then + files { + MAME_DIR .. "src/devices/machine/cs4031.cpp", + MAME_DIR .. "src/devices/machine/cs4031.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/cs8221.h,MACHINES["CS8221"] = true +--------------------------------------------------- + +if (MACHINES["CS8221"]~=null) then + files { + MAME_DIR .. "src/devices/machine/cs8221.cpp", + MAME_DIR .. "src/devices/machine/cs8221.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/cxd1095.h,MACHINES["CXD1095"] = true +--------------------------------------------------- + +if (MACHINES["CXD1095"]~=null) then + files { + MAME_DIR .. "src/devices/machine/cxd1095.cpp", + MAME_DIR .. "src/devices/machine/cxd1095.h", + } +end + +--@src/devices/machine/ds1204.h,MACHINES["DS1204"] = true +--------------------------------------------------- + +if (MACHINES["DS1204"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ds1204.cpp", + MAME_DIR .. "src/devices/machine/ds1204.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ds1205.h,MACHINES["DS1205"] = true +--------------------------------------------------- + +if (MACHINES["DS1205"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ds1205.cpp", + MAME_DIR .. "src/devices/machine/ds1205.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ds1302.h,MACHINES["DS1302"] = true +--------------------------------------------------- + +if (MACHINES["DS1302"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ds1302.cpp", + MAME_DIR .. "src/devices/machine/ds1302.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ds1315.h,MACHINES["DS1315"] = true +--------------------------------------------------- + +if (MACHINES["DS1315"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ds1315.cpp", + MAME_DIR .. "src/devices/machine/ds1315.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ds1386.h,MACHINES["DS1386"] = true +--------------------------------------------------- + +if (MACHINES["DS1386"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ds1386.cpp", + MAME_DIR .. "src/devices/machine/ds1386.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ds1994.h,MACHINES["DS1994"] = true +--------------------------------------------------- + +if (MACHINES["DS1994"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ds1994.cpp", + MAME_DIR .. "src/devices/machine/ds1994.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ds2401.h,MACHINES["DS2401"] = true +--------------------------------------------------- + +if (MACHINES["DS2401"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ds2401.cpp", + MAME_DIR .. "src/devices/machine/ds2401.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ds2404.h,MACHINES["DS2404"] = true +--------------------------------------------------- + +if (MACHINES["DS2404"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ds2404.cpp", + MAME_DIR .. "src/devices/machine/ds2404.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ds75160a.h,MACHINES["DS75160A"] = true +--------------------------------------------------- + +if (MACHINES["DS75160A"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ds75160a.cpp", + MAME_DIR .. "src/devices/machine/ds75160a.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ds75161a.h,MACHINES["DS75161A"] = true +--------------------------------------------------- + +if (MACHINES["DS75161A"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ds75161a.cpp", + MAME_DIR .. "src/devices/machine/ds75161a.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/e0516.h,MACHINES["E0516"] = true +--------------------------------------------------- + +if (MACHINES["E0516"]~=null) then + files { + MAME_DIR .. "src/devices/machine/e0516.cpp", + MAME_DIR .. "src/devices/machine/e0516.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/e05a03.h,MACHINES["E05A03"] = true +--------------------------------------------------- + +if (MACHINES["E05A03"]~=null) then + files { + MAME_DIR .. "src/devices/machine/e05a03.cpp", + MAME_DIR .. "src/devices/machine/e05a03.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/e05a30.h,MACHINES["E05A30"] = true +--------------------------------------------------- + +if (MACHINES["E05A30"]~=null) then + files { + MAME_DIR .. "src/devices/machine/e05a30.cpp", + MAME_DIR .. "src/devices/machine/e05a30.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/eeprom.h,MACHINES["EEPROMDEV"] = true +--@src/devices/machine/eepromser.h,MACHINES["EEPROMDEV"] = true +--@src/devices/machine/eeprompar.h,MACHINES["EEPROMDEV"] = true +--------------------------------------------------- + +if (MACHINES["EEPROMDEV"]~=null) then + files { + MAME_DIR .. "src/devices/machine/eeprom.cpp", + MAME_DIR .. "src/devices/machine/eeprom.h", + MAME_DIR .. "src/devices/machine/eepromser.cpp", + MAME_DIR .. "src/devices/machine/eepromser.h", + MAME_DIR .. "src/devices/machine/eeprompar.cpp", + MAME_DIR .. "src/devices/machine/eeprompar.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/er1400.h,MACHINES["ER1400"] = true +--------------------------------------------------- + +if (MACHINES["ER1400"]~=null) then + files { + MAME_DIR .. "src/devices/machine/er1400.cpp", + MAME_DIR .. "src/devices/machine/er1400.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/er2055.h,MACHINES["ER2055"] = true +--------------------------------------------------- + +if (MACHINES["ER2055"]~=null) then + files { + MAME_DIR .. "src/devices/machine/er2055.cpp", + MAME_DIR .. "src/devices/machine/er2055.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/f3853.h,MACHINES["F3853"] = true +--------------------------------------------------- + +if (MACHINES["F3853"]~=null) then + files { + MAME_DIR .. "src/devices/machine/f3853.cpp", + MAME_DIR .. "src/devices/machine/f3853.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/fga002.h,MACHINES["FGA002"] = true +--------------------------------------------------- + +if (MACHINES["FGA002"]~=null) then + files { + MAME_DIR .. "src/devices/machine/fga002.cpp", + MAME_DIR .. "src/devices/machine/fga002.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/hd63450.h,MACHINES["HD63450"] = true +--------------------------------------------------- + +if (MACHINES["HD63450"]~=null) then + files { + MAME_DIR .. "src/devices/machine/hd63450.cpp", + MAME_DIR .. "src/devices/machine/hd63450.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/hd64610.h,MACHINES["HD64610"] = true +--------------------------------------------------- + +if (MACHINES["HD64610"]~=null) then + files { + MAME_DIR .. "src/devices/machine/hd64610.cpp", + MAME_DIR .. "src/devices/machine/hd64610.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/hp_taco.h,MACHINES["HP_TACO"] = true +--------------------------------------------------- + +if (MACHINES["HP_TACO"]~=null) then + files { + MAME_DIR .. "src/devices/machine/hp_taco.cpp", + MAME_DIR .. "src/devices/machine/hp_taco.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/1ma6.h,MACHINES["1MA6"] = true +--------------------------------------------------- + +if (MACHINES["1MA6"]~=null) then + files { + MAME_DIR .. "src/devices/machine/1ma6.cpp", + MAME_DIR .. "src/devices/machine/1ma6.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/1mb5.h,MACHINES["1MB5"] = true +--------------------------------------------------- + +if (MACHINES["1MB5"]~=null) then + files { + MAME_DIR .. "src/devices/machine/1mb5.cpp", + MAME_DIR .. "src/devices/machine/1mb5.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i2cmem.h,MACHINES["I2CMEM"] = true +--------------------------------------------------- + +if (MACHINES["I2CMEM"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i2cmem.cpp", + MAME_DIR .. "src/devices/machine/i2cmem.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i7220.h,MACHINES["I7220"] = true +--------------------------------------------------- + +if (MACHINES["I7220"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i7220.cpp", + MAME_DIR .. "src/devices/machine/i7220.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8087.h,MACHINES["I8087"] = true +--------------------------------------------------- + +if (MACHINES["I8087"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8087.cpp", + MAME_DIR .. "src/devices/machine/i8087.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8155.h,MACHINES["I8155"] = true +--------------------------------------------------- + +if (MACHINES["I8155"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8155.cpp", + MAME_DIR .. "src/devices/machine/i8155.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8212.h,MACHINES["I8212"] = true +--------------------------------------------------- + +if (MACHINES["I8212"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8212.cpp", + MAME_DIR .. "src/devices/machine/i8212.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8214.h,MACHINES["I8214"] = true +--------------------------------------------------- + +if (MACHINES["I8214"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8214.cpp", + MAME_DIR .. "src/devices/machine/i8214.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i82355.h,MACHINES["I82355"] = true +--------------------------------------------------- + +if (MACHINES["I82355"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i82355.cpp", + MAME_DIR .. "src/devices/machine/i82355.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8243.h,MACHINES["I8243"] = true +--------------------------------------------------- + +if (MACHINES["I8243"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8243.cpp", + MAME_DIR .. "src/devices/machine/i8243.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8251.h,MACHINES["I8251"] = true +--------------------------------------------------- + +if (MACHINES["I8251"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8251.cpp", + MAME_DIR .. "src/devices/machine/i8251.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8257.h,MACHINES["I8257"] = true +--------------------------------------------------- + +if (MACHINES["I8257"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8257.cpp", + MAME_DIR .. "src/devices/machine/i8257.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/i8271.h,MACHINES["I8271"] = true +--------------------------------------------------- + +if (MACHINES["I8271"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8271.cpp", + MAME_DIR .. "src/devices/machine/i8271.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8279.h,MACHINES["I8279"] = true +--------------------------------------------------- + +if (MACHINES["I8279"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8279.cpp", + MAME_DIR .. "src/devices/machine/i8279.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8355.h,MACHINES["I8355"] = true +--------------------------------------------------- + +if (MACHINES["I8355"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8355.cpp", + MAME_DIR .. "src/devices/machine/i8355.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i80130.h,MACHINES["I80130"] = true +--------------------------------------------------- + +if (MACHINES["I80130"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i80130.cpp", + MAME_DIR .. "src/devices/machine/i80130.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/atadev.h,MACHINES["IDE"] = true +--@src/devices/machine/ataintf.h,MACHINES["IDE"] = true +--------------------------------------------------- + +if (MACHINES["IDE"]~=null) then + MACHINES["T10"] = true + files { + MAME_DIR .. "src/devices/machine/atadev.cpp", + MAME_DIR .. "src/devices/machine/atadev.h", + MAME_DIR .. "src/devices/machine/atahle.cpp", + MAME_DIR .. "src/devices/machine/atahle.h", + MAME_DIR .. "src/devices/machine/ataintf.cpp", + MAME_DIR .. "src/devices/machine/ataintf.h", + MAME_DIR .. "src/devices/machine/atapicdr.cpp", + MAME_DIR .. "src/devices/machine/atapicdr.h", + MAME_DIR .. "src/devices/machine/atapihle.cpp", + MAME_DIR .. "src/devices/machine/atapihle.h", + MAME_DIR .. "src/devices/machine/idectrl.cpp", + MAME_DIR .. "src/devices/machine/idectrl.h", + MAME_DIR .. "src/devices/machine/idehd.cpp", + MAME_DIR .. "src/devices/machine/idehd.h", + MAME_DIR .. "src/devices/machine/vt83c461.cpp", + MAME_DIR .. "src/devices/machine/vt83c461.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ie15.h,MACHINES["IE15"] = true +--------------------------------------------------- + +if (MACHINES["IE15"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ie15.cpp", + MAME_DIR .. "src/devices/machine/ie15.h", + MAME_DIR .. "src/devices/machine/ie15_kbd.cpp", + MAME_DIR .. "src/devices/machine/ie15_kbd.h", + } + + dependency { + { MAME_DIR .. "src/devices/machine/ie15.cpp", GEN_DIR .. "emu/layout/ie15.lh" }, + } + + custombuildtask { + layoutbuildtask("emu/layout", "ie15"), + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/im6402.h,MACHINES["IM6402"] = true +--------------------------------------------------- + +if (MACHINES["IM6402"]~=null) then + files { + MAME_DIR .. "src/devices/machine/im6402.cpp", + MAME_DIR .. "src/devices/machine/im6402.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ins8154.h,MACHINES["INS8154"] = true +--------------------------------------------------- + +if (MACHINES["INS8154"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ins8154.cpp", + MAME_DIR .. "src/devices/machine/ins8154.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ins8250.h,MACHINES["INS8250"] = true +--------------------------------------------------- + +if (MACHINES["INS8250"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ins8250.cpp", + MAME_DIR .. "src/devices/machine/ins8250.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/intelfsh.h,MACHINES["INTELFLASH"] = true +--------------------------------------------------- + +if (MACHINES["INTELFLASH"]~=null) then + files { + MAME_DIR .. "src/devices/machine/intelfsh.cpp", + MAME_DIR .. "src/devices/machine/intelfsh.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/jvsdev.h,MACHINES["JVS"] = true +--@src/devices/machine/jvshost.h,MACHINES["JVS"] = true +--------------------------------------------------- + +if (MACHINES["JVS"]~=null) then + files { + MAME_DIR .. "src/devices/machine/jvsdev.cpp", + MAME_DIR .. "src/devices/machine/jvsdev.h", + MAME_DIR .. "src/devices/machine/jvshost.cpp", + MAME_DIR .. "src/devices/machine/jvshost.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/k033906.h,MACHINES["K033906"] = true +--------------------------------------------------- + +if (MACHINES["K033906"]~=null) then + files { + MAME_DIR .. "src/devices/machine/k033906.cpp", + MAME_DIR .. "src/devices/machine/k033906.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/k053252.h,MACHINES["K053252"] = true +--------------------------------------------------- + +if (MACHINES["K053252"]~=null) then + files { + MAME_DIR .. "src/devices/machine/k053252.cpp", + MAME_DIR .. "src/devices/machine/k053252.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/k056230.h,MACHINES["K056230"] = true +--------------------------------------------------- + +if (MACHINES["K056230"]~=null) then + files { + MAME_DIR .. "src/devices/machine/k056230.cpp", + MAME_DIR .. "src/devices/machine/k056230.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mm5740.h,MACHINES["MM5740"] = true +--------------------------------------------------- + +if (MACHINES["MM5740"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mm5740.cpp", + MAME_DIR .. "src/devices/machine/mm5740.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/kb3600.h,MACHINES["KB3600"] = true +--------------------------------------------------- + +if (MACHINES["KB3600"]~=null) then + files { + MAME_DIR .. "src/devices/machine/kb3600.cpp", + MAME_DIR .. "src/devices/machine/kb3600.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/kr2376.h,MACHINES["KR2376"] = true +--------------------------------------------------- + +if (MACHINES["KR2376"]~=null) then + files { + MAME_DIR .. "src/devices/machine/kr2376.cpp", + MAME_DIR .. "src/devices/machine/kr2376.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/latch8.h,MACHINES["LATCH8"] = true +--------------------------------------------------- + +if (MACHINES["LATCH8"]~=null) then + files { + MAME_DIR .. "src/devices/machine/latch8.cpp", + MAME_DIR .. "src/devices/machine/latch8.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/lc89510.h,MACHINES["LC89510"] = true +--------------------------------------------------- + +if (MACHINES["LC89510"]~=null) then + files { + MAME_DIR .. "src/devices/machine/lc89510.cpp", + MAME_DIR .. "src/devices/machine/lc89510.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ldpr8210.h,MACHINES["LDPR8210"] = true +--------------------------------------------------- + +if (MACHINES["LDPR8210"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ldpr8210.cpp", + MAME_DIR .. "src/devices/machine/ldpr8210.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ldstub.h,MACHINES["LDSTUB"] = true +--------------------------------------------------- + +if (MACHINES["LDSTUB"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ldstub.cpp", + MAME_DIR .. "src/devices/machine/ldstub.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ldv1000.h,MACHINES["LDV1000"] = true +--------------------------------------------------- + +if (MACHINES["LDV1000"]~=null) then + MACHINES["Z80CTC"] = true + MACHINES["I8255"] = true + files { + MAME_DIR .. "src/devices/machine/ldv1000.cpp", + MAME_DIR .. "src/devices/machine/ldv1000.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ldp1000.h,MACHINES["LDP1000"] = true +--------------------------------------------------- + +if (MACHINES["LDP1000"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ldp1000.cpp", + MAME_DIR .. "src/devices/machine/ldp1000.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ldp1450.h,MACHINES["LDP1450"] = true +--------------------------------------------------- + +if (MACHINES["LDP1450"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ldp1450.cpp", + MAME_DIR .. "src/devices/machine/ldp1450.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ldvp931.h,MACHINES["LDVP931"] = true +--------------------------------------------------- + +if (MACHINES["LDVP931"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ldvp931.cpp", + MAME_DIR .. "src/devices/machine/ldvp931.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/lh5810.h,MACHINES["LH5810"] = true +--------------------------------------------------- + +if (MACHINES["LH5810"]~=null) then + files { + MAME_DIR .. "src/devices/machine/lh5810.cpp", + MAME_DIR .. "src/devices/machine/lh5810.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/linflash.h,MACHINES["LINFLASH"] = true +--------------------------------------------------- + +if (MACHINES["LINFLASH"]~=null) then + files { + MAME_DIR .. "src/devices/machine/linflash.cpp", + MAME_DIR .. "src/devices/machine/linflash.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/m6m80011ap.h,MACHINES["M6M80011AP"] = true +--------------------------------------------------- + +if (MACHINES["M6M80011AP"]~=null) then + files { + MAME_DIR .. "src/devices/machine/m6m80011ap.cpp", + MAME_DIR .. "src/devices/machine/m6m80011ap.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mb14241.h,MACHINES["MB14241"] = true +--------------------------------------------------- + +if (MACHINES["MB14241"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mb14241.cpp", + MAME_DIR .. "src/devices/machine/mb14241.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mb3773.h,MACHINES["MB3773"] = true +--------------------------------------------------- + +if (MACHINES["MB3773"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mb3773.cpp", + MAME_DIR .. "src/devices/machine/mb3773.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mb8421.h,MACHINES["MB8421"] = true +--------------------------------------------------- + +if (MACHINES["MB8421"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mb8421.cpp", + MAME_DIR .. "src/devices/machine/mb8421.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mb87030.h,MACHINES["MB87030"] = true +--------------------------------------------------- + +if (MACHINES["MB87030"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mb87030.cpp", + MAME_DIR .. "src/devices/machine/mb87030.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mb87078.h,MACHINES["MB87078"] = true +--------------------------------------------------- + +if (MACHINES["MB87078"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mb87078.cpp", + MAME_DIR .. "src/devices/machine/mb87078.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mb8795.h,MACHINES["MB8795"] = true +--------------------------------------------------- + +if (MACHINES["MB8795"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mb8795.cpp", + MAME_DIR .. "src/devices/machine/mb8795.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mb89352.h,MACHINES["MB89352"] = true +--------------------------------------------------- + +if (MACHINES["MB89352"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mb89352.cpp", + MAME_DIR .. "src/devices/machine/mb89352.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mb89371.h,MACHINES["MB89371"] = true +--------------------------------------------------- + +if (MACHINES["MB89371"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mb89371.cpp", + MAME_DIR .. "src/devices/machine/mb89371.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mb89374.h,MACHINES["MB89374"] = true +--------------------------------------------------- + +if (MACHINES["MB89374"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mb89374.cpp", + MAME_DIR .. "src/devices/machine/mb89374.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mc146818.h,MACHINES["MC146818"] = true +--------------------------------------------------- + +if (MACHINES["MC146818"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mc146818.cpp", + MAME_DIR .. "src/devices/machine/mc146818.h", + MAME_DIR .. "src/devices/machine/ds128x.cpp", + MAME_DIR .. "src/devices/machine/ds128x.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mc14411.h,MACHINES["MC14411"] = true +--------------------------------------------------- + +if (MACHINES["MC14411"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mc14411.cpp", + MAME_DIR .. "src/devices/machine/mc14411.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mc2661.h,MACHINES["MC2661"] = true +--------------------------------------------------- + +if (MACHINES["MC2661"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mc2661.cpp", + MAME_DIR .. "src/devices/machine/mc2661.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mc6843.h,MACHINES["MC6843"] = true +--------------------------------------------------- + +if (MACHINES["MC6843"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mc6843.cpp", + MAME_DIR .. "src/devices/machine/mc6843.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mc6846.h,MACHINES["MC6846"] = true +--------------------------------------------------- + +if (MACHINES["MC6846"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mc6846.cpp", + MAME_DIR .. "src/devices/machine/mc6846.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mc6852.h,MACHINES["MC6852"] = true +--------------------------------------------------- + +if (MACHINES["MC6852"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mc6852.cpp", + MAME_DIR .. "src/devices/machine/mc6852.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mc6854.h,MACHINES["MC6854"] = true +--------------------------------------------------- + +if (MACHINES["MC6854"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mc6854.cpp", + MAME_DIR .. "src/devices/machine/mc6854.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mc68328.h,MACHINES["MC68328"] = true +--------------------------------------------------- + +if (MACHINES["MC68328"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mc68328.cpp", + MAME_DIR .. "src/devices/machine/mc68328.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mc68901.h,MACHINES["MC68901"] = true +--------------------------------------------------- + +if (MACHINES["MC68901"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mc68901.cpp", + MAME_DIR .. "src/devices/machine/mc68901.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mccs1850.h,MACHINES["MCCS1850"] = true +--------------------------------------------------- + +if (MACHINES["MCCS1850"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mccs1850.cpp", + MAME_DIR .. "src/devices/machine/mccs1850.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/68307.h,MACHINES["M68307"] = true +--------------------------------------------------- + +if (MACHINES["M68307"]~=null) then + files { + MAME_DIR .. "src/devices/machine/68307.cpp", + MAME_DIR .. "src/devices/machine/68307.h", + MAME_DIR .. "src/devices/machine/68307sim.cpp", + MAME_DIR .. "src/devices/machine/68307sim.h", + MAME_DIR .. "src/devices/machine/68307bus.cpp", + MAME_DIR .. "src/devices/machine/68307bus.h", + MAME_DIR .. "src/devices/machine/68307tmu.cpp", + MAME_DIR .. "src/devices/machine/68307tmu.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/68340.h,MACHINES["M68340"] = true +--------------------------------------------------- + +if (MACHINES["M68340"]~=null) then + files { + MAME_DIR .. "src/devices/machine/68340.cpp", + MAME_DIR .. "src/devices/machine/68340.h", + MAME_DIR .. "src/devices/machine/68340sim.cpp", + MAME_DIR .. "src/devices/machine/68340sim.h", + MAME_DIR .. "src/devices/machine/68340dma.cpp", + MAME_DIR .. "src/devices/machine/68340dma.h", + MAME_DIR .. "src/devices/machine/68340ser.cpp", + MAME_DIR .. "src/devices/machine/68340ser.h", + MAME_DIR .. "src/devices/machine/68340tmu.cpp", + MAME_DIR .. "src/devices/machine/68340tmu.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mcf5206e.h,MACHINES["MCF5206E"] = true +--------------------------------------------------- + +if (MACHINES["MCF5206E"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mcf5206e.cpp", + MAME_DIR .. "src/devices/machine/mcf5206e.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/meters.h,MACHINES["METERS"] = true +--------------------------------------------------- + +if (MACHINES["METERS"]~=null) then + files { + MAME_DIR .. "src/devices/machine/meters.cpp", + MAME_DIR .. "src/devices/machine/meters.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/microtch.h,MACHINES["MICROTOUCH"] = true +--------------------------------------------------- + +if (MACHINES["MICROTOUCH"]~=null) then + files { + MAME_DIR .. "src/devices/machine/microtch.cpp", + MAME_DIR .. "src/devices/machine/microtch.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mm5307.h,MACHINES["MM5307"] = true +--------------------------------------------------- + +if (MACHINES["MM5307"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mm5307.cpp", + MAME_DIR .. "src/devices/machine/mm5307.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mm58274c.h,MACHINES["MM58274C"] = true +--------------------------------------------------- + +if (MACHINES["MM58274C"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mm58274c.cpp", + MAME_DIR .. "src/devices/machine/mm58274c.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mm74c922.h,MACHINES["MM74C922"] = true +--------------------------------------------------- + +if (MACHINES["MM74C922"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mm74c922.cpp", + MAME_DIR .. "src/devices/machine/mm74c922.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mos6526.h,MACHINES["MOS6526"] = true +--------------------------------------------------- + +if (MACHINES["MOS6526"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mos6526.cpp", + MAME_DIR .. "src/devices/machine/mos6526.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mos6529.h,MACHINES["MOS6529"] = true +--------------------------------------------------- + +if (MACHINES["MOS6529"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mos6529.cpp", + MAME_DIR .. "src/devices/machine/mos6529.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mos6702.h,MACHINES["MOS6702"] = true +--------------------------------------------------- + +if (MACHINES["MOS6702"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mos6702.cpp", + MAME_DIR .. "src/devices/machine/mos6702.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mos8706.h,MACHINES["MOS8706"] = true +--------------------------------------------------- + +if (MACHINES["MOS8706"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mos8706.cpp", + MAME_DIR .. "src/devices/machine/mos8706.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mos8722.h,MACHINES["MOS8722"] = true +--------------------------------------------------- + +if (MACHINES["MOS8722"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mos8722.cpp", + MAME_DIR .. "src/devices/machine/mos8722.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mos8726.h,MACHINES["MOS8726"] = true +--------------------------------------------------- + +if (MACHINES["MOS8726"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mos8726.cpp", + MAME_DIR .. "src/devices/machine/mos8726.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mos6530.h,MACHINES["MIOT6530"] = true +--@src/devices/machine/mos6530n.h,MACHINES["MIOT6530"] = true +--------------------------------------------------- + +if (MACHINES["MIOT6530"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mos6530.cpp", + MAME_DIR .. "src/devices/machine/mos6530.h", + MAME_DIR .. "src/devices/machine/mos6530n.cpp", + MAME_DIR .. "src/devices/machine/mos6530n.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mos6551.h,MACHINES["MOS6551"] = true +--------------------------------------------------- + +if (MACHINES["MOS6551"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mos6551.cpp", + MAME_DIR .. "src/devices/machine/mos6551.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/msm5832.h,MACHINES["MSM5832"] = true +--------------------------------------------------- + +if (MACHINES["MSM5832"]~=null) then + files { + MAME_DIR .. "src/devices/machine/msm5832.cpp", + MAME_DIR .. "src/devices/machine/msm5832.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/msm58321.h,MACHINES["MSM58321"] = true +--------------------------------------------------- + +if (MACHINES["MSM58321"]~=null) then + files { + MAME_DIR .. "src/devices/machine/msm58321.cpp", + MAME_DIR .. "src/devices/machine/msm58321.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/msm6242.h,MACHINES["MSM6242"] = true +--------------------------------------------------- + +if (MACHINES["MSM6242"]~=null) then + files { + MAME_DIR .. "src/devices/machine/msm6242.cpp", + MAME_DIR .. "src/devices/machine/msm6242.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/msm6253.h,MACHINES["MSM6253"] = true +--------------------------------------------------- + +if (MACHINES["MSM6253"]~=null) then + files { + MAME_DIR .. "src/devices/machine/msm6253.cpp", + MAME_DIR .. "src/devices/machine/msm6253.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/myb3k_kbd.h,MACHINES["MYB3K_KEYBOARD"] = true +--------------------------------------------------- + +if (MACHINES["MYB3K_KEYBOARD"]~=null) then + files { + MAME_DIR .. "src/devices/machine/myb3k_kbd.cpp", + MAME_DIR .. "src/devices/machine/myb3k_kbd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ncr539x.h,MACHINES["NCR539x"] = true +--------------------------------------------------- + +if (MACHINES["NCR539x"]~=null) then + MACHINES["SCSI"] = true + files { + MAME_DIR .. "src/devices/machine/ncr539x.cpp", + MAME_DIR .. "src/devices/machine/ncr539x.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/nmc9306.h,MACHINES["NMC9306"] = true +--------------------------------------------------- + +if (MACHINES["NMC9306"]~=null) then + files { + MAME_DIR .. "src/devices/machine/nmc9306.cpp", + MAME_DIR .. "src/devices/machine/nmc9306.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/nscsi_bus.h,MACHINES["NSCSI"] = true +--@src/devices/machine/nscsi_cb.h,MACHINES["NSCSI"] = true +--@src/devices/machine/nscsi_cd.h,MACHINES["NSCSI"] = true +--@src/devices/machine/nscsi_hd.h,MACHINES["NSCSI"] = true +--@src/devices/machine/nscsi_s1410.h,MACHINES["NSCSI"] = true +--------------------------------------------------- + +if (MACHINES["NSCSI"]~=null) then + files { + MAME_DIR .. "src/devices/machine/nscsi_bus.cpp", + MAME_DIR .. "src/devices/machine/nscsi_bus.h", + MAME_DIR .. "src/devices/machine/nscsi_cb.cpp", + MAME_DIR .. "src/devices/machine/nscsi_cb.h", + MAME_DIR .. "src/devices/machine/nscsi_cd.cpp", + MAME_DIR .. "src/devices/machine/nscsi_cd.h", + MAME_DIR .. "src/devices/machine/nscsi_hd.cpp", + MAME_DIR .. "src/devices/machine/nscsi_hd.h", + MAME_DIR .. "src/devices/machine/nscsi_s1410.cpp", + MAME_DIR .. "src/devices/machine/nscsi_s1410.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pcf8583.h,MACHINES["PCF8583"] = true +--------------------------------------------------- + +if (MACHINES["PCF8583"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pcf8583.cpp", + MAME_DIR .. "src/devices/machine/pcf8583.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pcf8593.h,MACHINES["PCF8593"] = true +--------------------------------------------------- + +if (MACHINES["PCF8593"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pcf8593.cpp", + MAME_DIR .. "src/devices/machine/pcf8593.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/lpci.h,MACHINES["LPCI"] = true +--------------------------------------------------- + +if (MACHINES["LPCI"]~=null) then + files { + MAME_DIR .. "src/devices/machine/lpci.cpp", + MAME_DIR .. "src/devices/machine/lpci.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pci.h,MACHINES["PCI"] = true +--------------------------------------------------- + +if (MACHINES["PCI"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pci.cpp", + MAME_DIR .. "src/devices/machine/pci.h", + MAME_DIR .. "src/devices/machine/pci-usb.cpp", + MAME_DIR .. "src/devices/machine/pci-usb.h", + MAME_DIR .. "src/devices/machine/pci-sata.cpp", + MAME_DIR .. "src/devices/machine/pci-sata.h", + MAME_DIR .. "src/devices/machine/pci-ide.cpp", + MAME_DIR .. "src/devices/machine/pci-ide.h", + MAME_DIR .. "src/devices/machine/pci-apic.cpp", + MAME_DIR .. "src/devices/machine/pci-apic.h", + MAME_DIR .. "src/devices/machine/pci-smbus.cpp", + MAME_DIR .. "src/devices/machine/pci-smbus.h", + MAME_DIR .. "src/devices/machine/i82541.cpp", + MAME_DIR .. "src/devices/machine/i82541.h", + MAME_DIR .. "src/devices/machine/i82875p.cpp", + MAME_DIR .. "src/devices/machine/i82875p.h", + MAME_DIR .. "src/devices/machine/i6300esb.cpp", + MAME_DIR .. "src/devices/machine/i6300esb.h", + MAME_DIR .. "src/devices/machine/i82439hx.cpp", + MAME_DIR .. "src/devices/machine/i82439hx.h", + MAME_DIR .. "src/devices/machine/i82439tx.cpp", + MAME_DIR .. "src/devices/machine/i82439tx.h", + MAME_DIR .. "src/devices/machine/i82371sb.cpp", + MAME_DIR .. "src/devices/machine/i82371sb.h", + MAME_DIR .. "src/devices/machine/lpc.h", + MAME_DIR .. "src/devices/machine/lpc-acpi.cpp", + MAME_DIR .. "src/devices/machine/lpc-acpi.h", + MAME_DIR .. "src/devices/machine/lpc-rtc.cpp", + MAME_DIR .. "src/devices/machine/lpc-rtc.h", + MAME_DIR .. "src/devices/machine/lpc-pit.cpp", + MAME_DIR .. "src/devices/machine/lpc-pit.h", + MAME_DIR .. "src/devices/machine/vrc4373.cpp", + MAME_DIR .. "src/devices/machine/vrc4373.h", + MAME_DIR .. "src/devices/machine/vrc5074.cpp", + MAME_DIR .. "src/devices/machine/vrc5074.h", + MAME_DIR .. "src/devices/machine/gt64xxx.cpp", + MAME_DIR .. "src/devices/machine/gt64xxx.h", + MAME_DIR .. "src/devices/machine/sis85c496.cpp", + MAME_DIR .. "src/devices/machine/sis85c496.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pckeybrd.h,MACHINES["PCKEYBRD"] = true +--------------------------------------------------- + +if (MACHINES["PCKEYBRD"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pckeybrd.cpp", + MAME_DIR .. "src/devices/machine/pckeybrd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/phi.h,MACHINES["PHI"] = true +--------------------------------------------------- + +if (MACHINES["PHI"]~=null) then + files { + MAME_DIR .. "src/devices/machine/phi.cpp", + MAME_DIR .. "src/devices/machine/phi.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pic8259.h,MACHINES["PIC8259"] = true +--------------------------------------------------- + +if (MACHINES["PIC8259"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pic8259.cpp", + MAME_DIR .. "src/devices/machine/pic8259.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pit8253.h,MACHINES["PIT8253"] = true +--------------------------------------------------- + +if (MACHINES["PIT8253"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pit8253.cpp", + MAME_DIR .. "src/devices/machine/pit8253.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pla.h,MACHINES["PLA"] = true +--------------------------------------------------- + +if (MACHINES["PLA"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pla.cpp", + MAME_DIR .. "src/devices/machine/pla.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pxa255.h,MACHINES["PXA255"] = true +--------------------------------------------------- + +if (MACHINES["PXA255"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pxa255.cpp", + MAME_DIR .. "src/devices/machine/pxa255.h", + MAME_DIR .. "src/devices/machine/pxa255defs.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/r10696.h,MACHINES["R10696"] = true +--------------------------------------------------- + +if (MACHINES["R10696"]~=null) then + files { + MAME_DIR .. "src/devices/machine/r10696.cpp", + MAME_DIR .. "src/devices/machine/r10696.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/r10788.h,MACHINES["R10788"] = true +--------------------------------------------------- + +if (MACHINES["R10788"]~=null) then + files { + MAME_DIR .. "src/devices/machine/r10788.cpp", + MAME_DIR .. "src/devices/machine/r10788.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ra17xx.h,MACHINES["RA17XX"] = true +--------------------------------------------------- + +if (MACHINES["RA17XX"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ra17xx.cpp", + MAME_DIR .. "src/devices/machine/ra17xx.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/rf5c296.h,MACHINES["RF5C296"] = true +--------------------------------------------------- + +if (MACHINES["RF5C296"]~=null) then + MACHINES["PCCARD"] = true + files { + MAME_DIR .. "src/devices/machine/rf5c296.cpp", + MAME_DIR .. "src/devices/machine/rf5c296.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ripple_counter.h,MACHINES["RIPPLE_COUNTER"] = true +--------------------------------------------------- + +if (MACHINES["RIPPLE_COUNTER"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ripple_counter.cpp", + MAME_DIR .. "src/devices/machine/ripple_counter.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/roc10937.h,MACHINES["ROC10937"] = true +--------------------------------------------------- + +if (MACHINES["ROC10937"]~=null) then + files { + MAME_DIR .. "src/devices/machine/roc10937.cpp", + MAME_DIR .. "src/devices/machine/roc10937.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/rp5c01.h,MACHINES["RP5C01"] = true +--------------------------------------------------- + +if (MACHINES["RP5C01"]~=null) then + files { + MAME_DIR .. "src/devices/machine/rp5c01.cpp", + MAME_DIR .. "src/devices/machine/rp5c01.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/rp5c15.h,MACHINES["RP5C15"] = true +--------------------------------------------------- + +if (MACHINES["RP5C15"]~=null) then + files { + MAME_DIR .. "src/devices/machine/rp5c15.cpp", + MAME_DIR .. "src/devices/machine/rp5c15.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/rp5h01.h,MACHINES["RP5H01"] = true +--------------------------------------------------- + +if (MACHINES["RP5H01"]~=null) then + files { + MAME_DIR .. "src/devices/machine/rp5h01.cpp", + MAME_DIR .. "src/devices/machine/rp5h01.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/64h156.h,MACHINES["R64H156"] = true +--------------------------------------------------- + +if (MACHINES["R64H156"]~=null) then + files { + MAME_DIR .. "src/devices/machine/64h156.cpp", + MAME_DIR .. "src/devices/machine/64h156.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/rstbuf.h,MACHINES["RSTBUF"] = true +--------------------------------------------------- + +if (MACHINES["RSTBUF"]~=null) then + files { + MAME_DIR .. "src/devices/machine/rstbuf.cpp", + MAME_DIR .. "src/devices/machine/rstbuf.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/rtc4543.h,MACHINES["RTC4543"] = true +--------------------------------------------------- + +if (MACHINES["RTC4543"]~=null) then + files { + MAME_DIR .. "src/devices/machine/rtc4543.cpp", + MAME_DIR .. "src/devices/machine/rtc4543.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/rtc65271.h,MACHINES["RTC65271"] = true +--------------------------------------------------- + +if (MACHINES["RTC65271"]~=null) then + files { + MAME_DIR .. "src/devices/machine/rtc65271.cpp", + MAME_DIR .. "src/devices/machine/rtc65271.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/rtc9701.h,MACHINES["RTC9701"] = true +--------------------------------------------------- + +if (MACHINES["RTC9701"]~=null) then + files { + MAME_DIR .. "src/devices/machine/rtc9701.cpp", + MAME_DIR .. "src/devices/machine/rtc9701.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/s2636.h,MACHINES["S2636"] = true +--------------------------------------------------- + +if (MACHINES["S2636"]~=null) then + files { + MAME_DIR .. "src/devices/machine/s2636.cpp", + MAME_DIR .. "src/devices/machine/s2636.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/s3520cf.h,MACHINES["S3520CF"] = true +--------------------------------------------------- + +if (MACHINES["S3520CF"]~=null) then + files { + MAME_DIR .. "src/devices/machine/s3520cf.cpp", + MAME_DIR .. "src/devices/machine/s3520cf.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/s3c2400.h,MACHINES["S3C24XX"] = true +--@src/devices/machine/s3c2410.h,MACHINES["S3C24XX"] = true +--@src/devices/machine/s3c2440.h,MACHINES["S3C24XX"] = true +--------------------------------------------------- + +if (MACHINES["S3C24XX"]~=null) then + files { + MAME_DIR .. "src/devices/machine/s3c2400.cpp", + MAME_DIR .. "src/devices/machine/s3c2400.h", + MAME_DIR .. "src/devices/machine/s3c2410.cpp", + MAME_DIR .. "src/devices/machine/s3c2410.h", + MAME_DIR .. "src/devices/machine/s3c2440.cpp", + MAME_DIR .. "src/devices/machine/s3c2440.h", + MAME_DIR .. "src/devices/machine/s3c24xx.cpp", + MAME_DIR .. "src/devices/machine/s3c24xx.h", + MAME_DIR .. "src/devices/machine/s3c24xx.hxx", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/s3c44b0.h,MACHINES["S3C44B0"] = true +--------------------------------------------------- + +if (MACHINES["S3C44B0"]~=null) then + files { + MAME_DIR .. "src/devices/machine/s3c44b0.cpp", + MAME_DIR .. "src/devices/machine/s3c44b0.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/saa1043.h,MACHINES["SAA1043"] = true +--------------------------------------------------- + +if (MACHINES["SAA1043"]~=null) then + files { + MAME_DIR .. "src/devices/machine/saa1043.cpp", + MAME_DIR .. "src/devices/machine/saa1043.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/scc68070.h,MACHINES["SCC68070"] = true +--------------------------------------------------- +if (MACHINES["SCC68070"]~=null) then + files { + MAME_DIR .. "src/devices/machine/scc68070.cpp", + MAME_DIR .. "src/devices/machine/scc68070.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/scnxx562.h,MACHINES["DUSCC"] = true +--------------------------------------------------- + +if (MACHINES["DUSCC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/scnxx562.cpp", + MAME_DIR .. "src/devices/machine/scnxx562.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/serflash.h,MACHINES["SERFLASH"] = true +--------------------------------------------------- + +if (MACHINES["SERFLASH"]~=null) then + files { + MAME_DIR .. "src/devices/machine/serflash.cpp", + MAME_DIR .. "src/devices/machine/serflash.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/sda2006.h,MACHINES["SDA2006"] = true +--------------------------------------------------- + +if (MACHINES["SDA2006"]~=null) then + files { + MAME_DIR .. "src/devices/machine/sda2006.cpp", + MAME_DIR .. "src/devices/machine/sda2006.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/smc91c9x.h,MACHINES["SMC91C9X"] = true +--------------------------------------------------- + +if (MACHINES["SMC91C9X"]~=null) then + files { + MAME_DIR .. "src/devices/machine/smc91c9x.cpp", + MAME_DIR .. "src/devices/machine/smc91c9x.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/smpc.h,MACHINES["SMPC"] = true +--------------------------------------------------- + +if (MACHINES["SMPC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/smpc.cpp", + MAME_DIR .. "src/devices/machine/smpc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/sega_scu.h,MACHINES["SEGA_SCU"] = true +--------------------------------------------------- + +if (MACHINES["SEGA_SCU"]~=null) then + files { + MAME_DIR .. "src/devices/machine/sega_scu.cpp", + MAME_DIR .. "src/devices/machine/sega_scu.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/spg2xx.h,MACHINES["SPG2XX"] = true +--@src/devices/machine/spg110.h,MACHINES["SPG2XX"] = true +--@src/devices/machine/sunplus_gcm394.h,MACHINES["SPG2XX"] = true +--------------------------------------------------- + +if (MACHINES["SPG2XX"]~=null) then + files { + MAME_DIR .. "src/devices/machine/spg2xx.cpp", + MAME_DIR .. "src/devices/machine/spg2xx.h", + MAME_DIR .. "src/devices/machine/spg2xx_audio.cpp", + MAME_DIR .. "src/devices/machine/spg2xx_audio.h", + MAME_DIR .. "src/devices/machine/spg2xx_io.cpp", + MAME_DIR .. "src/devices/machine/spg2xx_io.h", + MAME_DIR .. "src/devices/machine/spg2xx_sysdma.cpp", + MAME_DIR .. "src/devices/machine/spg2xx_sysdma.h", + MAME_DIR .. "src/devices/machine/spg2xx_video.cpp", + MAME_DIR .. "src/devices/machine/spg2xx_video.h", + MAME_DIR .. "src/devices/machine/spg110.cpp", + MAME_DIR .. "src/devices/machine/spg110.h", + MAME_DIR .. "src/devices/machine/spg110_video.cpp", + MAME_DIR .. "src/devices/machine/spg110_video.h", + MAME_DIR .. "src/devices/machine/sunplus_gcm394.cpp", + MAME_DIR .. "src/devices/machine/sunplus_gcm394.h", + MAME_DIR .. "src/devices/machine/sunplus_gcm394_video.cpp", + MAME_DIR .. "src/devices/machine/sunplus_gcm394_video.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/stvcd.h,MACHINES["STVCD"] = true +--------------------------------------------------- + +if (MACHINES["STVCD"]~=null) then + files { + MAME_DIR .. "src/devices/machine/stvcd.cpp", + MAME_DIR .. "src/devices/machine/stvcd.h", + } +end + +--------------------------------------------------- +-- +-- +--------------------------------------------------- + +if (BUSES["SCSI"]~=null) then + MACHINES["T10"] = true +end + +if (MACHINES["T10"]~=null) then + files { + MAME_DIR .. "src/devices/machine/t10mmc.cpp", + MAME_DIR .. "src/devices/machine/t10mmc.h", + MAME_DIR .. "src/devices/machine/t10sbc.cpp", + MAME_DIR .. "src/devices/machine/t10sbc.h", + MAME_DIR .. "src/devices/machine/t10spc.cpp", + MAME_DIR .. "src/devices/machine/t10spc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tc009xlvc.h,MACHINES["TC0091LVC"] = true +--------------------------------------------------- + +if (MACHINES["TC0091LVC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tc009xlvc.cpp", + MAME_DIR .. "src/devices/machine/tc009xlvc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tdc1008.h,MACHINES["TDC1008"] = true +--------------------------------------------------- + +if (MACHINES["TDC1008"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tdc1008.cpp", + MAME_DIR .. "src/devices/machine/tdc1008.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/te7750.h,MACHINES["TE7750"] = true +--------------------------------------------------- + +if (MACHINES["TE7750"]~=null) then + files { + MAME_DIR .. "src/devices/machine/te7750.cpp", + MAME_DIR .. "src/devices/machine/te7750.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ticket.h,MACHINES["TICKET"] = true +--------------------------------------------------- + +if (MACHINES["TICKET"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ticket.cpp", + MAME_DIR .. "src/devices/machine/ticket.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/timekpr.h,MACHINES["TIMEKPR"] = true +--------------------------------------------------- + +if (MACHINES["TIMEKPR"]~=null) then + files { + MAME_DIR .. "src/devices/machine/timekpr.cpp", + MAME_DIR .. "src/devices/machine/timekpr.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tmc0430.h,MACHINES["TMC0430"] = true +--------------------------------------------------- + +if (MACHINES["TMC0430"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tmc0430.cpp", + MAME_DIR .. "src/devices/machine/tmc0430.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tmc208k.h,MACHINES["TMC208K"] = true +--------------------------------------------------- + +if (MACHINES["TMC208K"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tmc208k.cpp", + MAME_DIR .. "src/devices/machine/tmc208k.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tmp68301.h,MACHINES["TMP68301"] = true +--------------------------------------------------- + +if (MACHINES["TMP68301"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tmp68301.cpp", + MAME_DIR .. "src/devices/machine/tmp68301.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tms1024.h,MACHINES["TMS1024"] = true +--------------------------------------------------- + +if (MACHINES["TMS1024"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tms1024.cpp", + MAME_DIR .. "src/devices/machine/tms1024.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tms5501.h,MACHINES["TMS5501"] = true +--------------------------------------------------- + +if (MACHINES["TMS5501"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tms5501.cpp", + MAME_DIR .. "src/devices/machine/tms5501.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tms6100.h,MACHINES["TMS6100"] = true +--------------------------------------------------- + +if (MACHINES["TMS6100"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tms6100.cpp", + MAME_DIR .. "src/devices/machine/tms6100.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tms9901.h,MACHINES["TMS9901"] = true +--------------------------------------------------- + +if (MACHINES["TMS9901"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tms9901.cpp", + MAME_DIR .. "src/devices/machine/tms9901.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tms9902.h,MACHINES["TMS9902"] = true +--------------------------------------------------- + +if (MACHINES["TMS9902"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tms9902.cpp", + MAME_DIR .. "src/devices/machine/tms9902.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tms9914.h,MACHINES["TMS9914"] = true +--------------------------------------------------- + +if (MACHINES["TMS9914"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tms9914.cpp", + MAME_DIR .. "src/devices/machine/tms9914.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/tube.h,MACHINES["TUBE"] = true +--------------------------------------------------- + +if (MACHINES["TUBE"]~=null) then + files { + MAME_DIR .. "src/devices/machine/tube.cpp", + MAME_DIR .. "src/devices/machine/tube.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/upd1990a.h,MACHINES["UPD1990A"] = true +--------------------------------------------------- + +if (MACHINES["UPD1990A"]~=null) then + files { + MAME_DIR .. "src/devices/machine/upd1990a.cpp", + MAME_DIR .. "src/devices/machine/upd1990a.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/upd4992.h,MACHINES["UPD4992"] = true +--------------------------------------------------- + +if (MACHINES["UPD4992"]~=null) then + files { + MAME_DIR .. "src/devices/machine/upd4992.cpp", + MAME_DIR .. "src/devices/machine/upd4992.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/upd4701.h,MACHINES["UPD4701"] = true +--------------------------------------------------- + +if (MACHINES["UPD4701"]~=null) then + files { + MAME_DIR .. "src/devices/machine/upd4701.cpp", + MAME_DIR .. "src/devices/machine/upd4701.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/upd7002.h,MACHINES["UPD7002"] = true +--------------------------------------------------- + +if (MACHINES["UPD7002"]~=null) then + files { + MAME_DIR .. "src/devices/machine/upd7002.cpp", + MAME_DIR .. "src/devices/machine/upd7002.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/upd7004.h,MACHINES["UPD7004"] = true +--------------------------------------------------- + +if (MACHINES["UPD7004"]~=null) then + files { + MAME_DIR .. "src/devices/machine/upd7004.cpp", + MAME_DIR .. "src/devices/machine/upd7004.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/upd71071.h,MACHINES["UPD71071"] = true +--------------------------------------------------- + +if (MACHINES["UPD71071"]~=null) then + files { + MAME_DIR .. "src/devices/machine/upd71071.cpp", + MAME_DIR .. "src/devices/machine/upd71071.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/upd765.h,MACHINES["UPD765"] = true +--------------------------------------------------- + +if (MACHINES["UPD765"]~=null) then + files { + MAME_DIR .. "src/devices/machine/upd765.cpp", + MAME_DIR .. "src/devices/machine/upd765.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/v3021.h,MACHINES["V3021"] = true +--------------------------------------------------- + +if (MACHINES["V3021"]~=null) then + files { + MAME_DIR .. "src/devices/machine/v3021.cpp", + MAME_DIR .. "src/devices/machine/v3021.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/wd_fdc.h,MACHINES["WD_FDC"] = true +--------------------------------------------------- + +if (MACHINES["WD_FDC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/wd_fdc.cpp", + MAME_DIR .. "src/devices/machine/wd_fdc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/wd1010.h,MACHINES["WD1010"] = true +--------------------------------------------------- + +if (MACHINES["WD1010"]~=null) then + files { + MAME_DIR .. "src/devices/machine/wd1010.cpp", + MAME_DIR .. "src/devices/machine/wd1010.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/wd11c00_17.h,MACHINES["WD11C00_17"] = true +--------------------------------------------------- + +if (MACHINES["WD11C00_17"]~=null) then + files { + MAME_DIR .. "src/devices/machine/wd11c00_17.cpp", + MAME_DIR .. "src/devices/machine/wd11c00_17.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/wd2010.h,MACHINES["WD2010"] = true +--------------------------------------------------- + +if (MACHINES["WD2010"]~=null) then + files { + MAME_DIR .. "src/devices/machine/wd2010.cpp", + MAME_DIR .. "src/devices/machine/wd2010.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/wd33c9x.h,MACHINES["WD33C9X"] = true +--------------------------------------------------- + +if (MACHINES["WD33C9X"]~=null) then + MACHINES["SCSI"] = true + files { + MAME_DIR .. "src/devices/machine/wd33c9x.cpp", + MAME_DIR .. "src/devices/machine/wd33c9x.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/wd7600.h,MACHINES["WD7600"] = true +--------------------------------------------------- + +if (MACHINES["WD7600"]~=null) then + files { + MAME_DIR .. "src/devices/machine/wd7600.cpp", + MAME_DIR .. "src/devices/machine/wd7600.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/x2201.h,MACHINES["X2201"] = true +--------------------------------------------------- + +if (MACHINES["X2201"]~=null) then + files { + MAME_DIR .. "src/devices/machine/x2201.cpp", + MAME_DIR .. "src/devices/machine/x2201.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/x2212.h,MACHINES["X2212"] = true +--------------------------------------------------- + +if (MACHINES["X2212"]~=null) then + files { + MAME_DIR .. "src/devices/machine/x2212.cpp", + MAME_DIR .. "src/devices/machine/x2212.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/x76f041.h,MACHINES["X76F041"] = true +--------------------------------------------------- + +if (MACHINES["X76F041"]~=null) then + files { + MAME_DIR .. "src/devices/machine/x76f041.cpp", + MAME_DIR .. "src/devices/machine/x76f041.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/x76f100.h,MACHINES["X76F100"] = true +--------------------------------------------------- + +if (MACHINES["X76F100"]~=null) then + files { + MAME_DIR .. "src/devices/machine/x76f100.cpp", + MAME_DIR .. "src/devices/machine/x76f100.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ym2148.h,MACHINES["YM2148"] = true +--------------------------------------------------- + +if (MACHINES["YM2148"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ym2148.cpp", + MAME_DIR .. "src/devices/machine/ym2148.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ym3802.h,MACHINES["YM3802"] = true +--------------------------------------------------- + +if (MACHINES["YM3802"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ym3802.cpp", + MAME_DIR .. "src/devices/machine/ym3802.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/z80ctc.h,MACHINES["Z80CTC"] = true +--------------------------------------------------- + +if (MACHINES["Z80CTC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/z80ctc.cpp", + MAME_DIR .. "src/devices/machine/z80ctc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/z80dart.h,MACHINES["Z80DART"] = true +--------------------------------------------------- + +if (MACHINES["Z80DART"]~=null) then + files { + MAME_DIR .. "src/devices/machine/z80dart.cpp", + MAME_DIR .. "src/devices/machine/z80dart.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/z80sio.h,MACHINES["Z80SIO"] = true +--------------------------------------------------- + +if (MACHINES["Z80SIO"]~=null) then + files { + MAME_DIR .. "src/devices/machine/z80sio.cpp", + MAME_DIR .. "src/devices/machine/z80sio.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/z80scc.h,MACHINES["Z80SCC"] = true +--------------------------------------------------- + +if (MACHINES["Z80SCC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/z80scc.cpp", + MAME_DIR .. "src/devices/machine/z80scc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/z80dma.h,MACHINES["Z80DMA"] = true +--------------------------------------------------- + +if (MACHINES["Z80DMA"]~=null) then + files { + MAME_DIR .. "src/devices/machine/z80dma.cpp", + MAME_DIR .. "src/devices/machine/z80dma.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/z80pio.h,MACHINES["Z80PIO"] = true +--------------------------------------------------- + +if (MACHINES["Z80PIO"]~=null) then + files { + MAME_DIR .. "src/devices/machine/z80pio.cpp", + MAME_DIR .. "src/devices/machine/z80pio.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/z80sti.h,MACHINES["Z80STI"] = true +--------------------------------------------------- + +if (MACHINES["Z80STI"]~=null) then + files { + MAME_DIR .. "src/devices/machine/z80sti.cpp", + MAME_DIR .. "src/devices/machine/z80sti.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/z8536.h,MACHINES["Z8536"] = true +--------------------------------------------------- + +if (MACHINES["Z8536"]~=null) then + files { + MAME_DIR .. "src/devices/machine/z8536.cpp", + MAME_DIR .. "src/devices/machine/z8536.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pccard.h,MACHINES["PCCARD"] = true +--------------------------------------------------- + +if (MACHINES["PCCARD"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pccard.cpp", + MAME_DIR .. "src/devices/machine/pccard.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8255.h,MACHINES["I8255"] = true +--------------------------------------------------- + +if (MACHINES["I8255"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8255.cpp", + MAME_DIR .. "src/devices/machine/i8255.h", + MAME_DIR .. "src/devices/machine/mb89363b.cpp", + MAME_DIR .. "src/devices/machine/mb89363b.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ncr5380.h,MACHINES["NCR5380"] = true +--------------------------------------------------- + +if (MACHINES["NCR5380"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ncr5380.cpp", + MAME_DIR .. "src/devices/machine/ncr5380.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ncr5380n.h,MACHINES["NCR5380N"] = true +--------------------------------------------------- + +if (MACHINES["NCR5380N"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ncr5380n.cpp", + MAME_DIR .. "src/devices/machine/ncr5380n.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ncr5390.h,MACHINES["NCR5390"] = true +--------------------------------------------------- + +if (MACHINES["NCR5390"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ncr5390.cpp", + MAME_DIR .. "src/devices/machine/ncr5390.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mm58167.h,MACHINES["MM58167"] = true +--------------------------------------------------- + +if (MACHINES["MM58167"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mm58167.cpp", + MAME_DIR .. "src/devices/machine/mm58167.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/dp8390.h,MACHINES["DP8390"] = true +--------------------------------------------------- + +if (MACHINES["DP8390"]~=null) then + files { + MAME_DIR .. "src/devices/machine/dp8390.cpp", + MAME_DIR .. "src/devices/machine/dp8390.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/dp83932c.h,MACHINES["DP83932C"] = true +--------------------------------------------------- + +if (MACHINES["DP83932C"]~=null) then + files { + MAME_DIR .. "src/devices/machine/dp83932c.cpp", + MAME_DIR .. "src/devices/machine/dp83932c.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/dp8573.h,MACHINES["DP8573"] = true +--------------------------------------------------- + +if (MACHINES["DP8573"]~=null) then + files { + MAME_DIR .. "src/devices/machine/dp8573.cpp", + MAME_DIR .. "src/devices/machine/dp8573.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pc_lpt.h,MACHINES["PC_LPT"] = true +--------------------------------------------------- + +if (MACHINES["PC_LPT"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pc_lpt.cpp", + MAME_DIR .. "src/devices/machine/pc_lpt.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pc_fdc.h,MACHINES["PC_FDC"] = true +--------------------------------------------------- + +if (MACHINES["PC_FDC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pc_fdc.cpp", + MAME_DIR .. "src/devices/machine/pc_fdc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/mpu401.h,MACHINES["MPU401"] = true +--------------------------------------------------- + +if (MACHINES["MPU401"]~=null) then + files { + MAME_DIR .. "src/devices/machine/mpu401.cpp", + MAME_DIR .. "src/devices/machine/mpu401.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/at_keybc.h,MACHINES["AT_KEYBC"] = true +--------------------------------------------------- + +if (MACHINES["AT_KEYBC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/at_keybc.cpp", + MAME_DIR .. "src/devices/machine/at_keybc.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/hdc92x4.h,MACHINES["HDC9234"] = true +--------------------------------------------------- + +if (MACHINES["HDC9234"]~=null) then + files { + MAME_DIR .. "src/devices/machine/hdc92x4.cpp", + MAME_DIR .. "src/devices/machine/hdc92x4.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/strata.h,MACHINES["STRATA"] = true +--------------------------------------------------- + +if (MACHINES["STRATA"]~=null) then + files { + MAME_DIR .. "src/devices/machine/strata.cpp", + MAME_DIR .. "src/devices/machine/strata.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/steppers.h,MACHINES["STEPPERS"] = true +--------------------------------------------------- + +if (MACHINES["STEPPERS"]~=null) then + files { + MAME_DIR .. "src/devices/machine/steppers.cpp", + MAME_DIR .. "src/devices/machine/steppers.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/corvushd.h,MACHINES["CORVUSHD"] = true +--------------------------------------------------- +if (MACHINES["CORVUSHD"]~=null) then + files { + MAME_DIR .. "src/devices/machine/corvushd.cpp", + MAME_DIR .. "src/devices/machine/corvushd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/wozfdc.h,MACHINES["WOZFDC"] = true +--------------------------------------------------- +if (MACHINES["WOZFDC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/wozfdc.cpp", + MAME_DIR .. "src/devices/machine/wozfdc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/diablo_hd.h,MACHINES["DIABLO_HD"] = true +--------------------------------------------------- +if (MACHINES["DIABLO_HD"]~=null) then + files { + MAME_DIR .. "src/devices/machine/diablo_hd.cpp", + MAME_DIR .. "src/devices/machine/diablo_hd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/fdc37c665gt.h,MACHINES["FDC37C665GT"] = true +--------------------------------------------------- + +if (MACHINES["FDC37C665GT"]~=null) then + files { + MAME_DIR .. "src/devices/machine/fdc37c665gt.cpp", + MAME_DIR .. "src/devices/machine/fdc37c665gt.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pci9050.h,MACHINES["PCI9050"] = true +--------------------------------------------------- + +if (MACHINES["PCI9050"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pci9050.cpp", + MAME_DIR .. "src/devices/machine/pci9050.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/netlist.h,MACHINES["NETLIST"] = true +--------------------------------------------------- + +if (MACHINES["NETLIST"]~=null) then + files { + MAME_DIR .. "src/devices/machine/netlist.cpp", + MAME_DIR .. "src/devices/machine/netlist.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/nsc810.h,MACHINES["NSC810"] = true +--------------------------------------------------- + +if (MACHINES["NSC810"]~=null) then + files { + MAME_DIR .. "src/devices/machine/nsc810.cpp", + MAME_DIR .. "src/devices/machine/nsc810.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/vt82c496.h,MACHINES["VT82C496"] = true +--------------------------------------------------- + +if (MACHINES["VT82C496"]~=null) then + files { + MAME_DIR .. "src/devices/machine/vt82c496.cpp", + MAME_DIR .. "src/devices/machine/vt82c496.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/fdc37c93x.h,MACHINES["FDC37C93X"] = true +--------------------------------------------------- + +if (MACHINES["FDC37C93X"]~=null) then + files { + MAME_DIR .. "src/devices/machine/fdc37c93x.cpp", + MAME_DIR .. "src/devices/machine/fdc37c93x.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/pdc.h,MACHINES["PDC"] = true +--------------------------------------------------- + +if (MACHINES["PDC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/pdc.cpp", + MAME_DIR .. "src/devices/machine/pdc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/genpc.h,MACHINES["GENPC"] = true +--------------------------------------------------- + +if (MACHINES["GENPC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/genpc.cpp", + MAME_DIR .. "src/devices/machine/genpc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/gen_latch.h,MACHINES["GEN_LATCH"] = true +--------------------------------------------------- + +if (MACHINES["GEN_LATCH"]~=null) then + files { + MAME_DIR .. "src/devices/machine/gen_latch.cpp", + MAME_DIR .. "src/devices/machine/gen_latch.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/fdc_pll.h,MACHINES["FDC_PLL"] = true +--------------------------------------------------- + +if (MACHINES["FDC_PLL"]~=null) then + files { + MAME_DIR .. "src/devices/machine/fdc_pll.cpp", + MAME_DIR .. "src/devices/machine/fdc_pll.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/watchdog.h,MACHINES["WATCHDOG"] = true +--------------------------------------------------- + +if (MACHINES["WATCHDOG"]~=null) then + files { + MAME_DIR .. "src/devices/machine/watchdog.cpp", + MAME_DIR .. "src/devices/machine/watchdog.h", + } +end + + +--------------------------------------------------- +-- +--@src/devices/machine/smartmed.h,MACHINES["SMARTMEDIA"] = true +--------------------------------------------------- +if (MACHINES["SMARTMEDIA"]~=null) then + files { + MAME_DIR .. "src/devices/machine/smartmed.cpp", + MAME_DIR .. "src/devices/machine/smartmed.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/appldriv.h,MACHINES["APPLE_DRIVE"] = true +--------------------------------------------------- +if (MACHINES["APPLE_DRIVE"]~=null) then + files { + MAME_DIR .. "src/devices/machine/appldriv.cpp", + MAME_DIR .. "src/devices/machine/appldriv.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/applefdc.h,MACHINES["APPLE_FDC"] = true +--------------------------------------------------- +if (MACHINES["APPLE_FDC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/applefdc.cpp", + MAME_DIR .. "src/devices/machine/applefdc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/sonydriv.h,MACHINES["SONY_DRIVE"] = true +--------------------------------------------------- +if (MACHINES["SONY_DRIVE"]~=null) then + files { + MAME_DIR .. "src/devices/machine/sonydriv.cpp", + MAME_DIR .. "src/devices/machine/sonydriv.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/scnxx562.h,MACHINES["SCNXX562"] = true +--------------------------------------------------- +if (MACHINES["SCNXX562"]~=null) then + files { + MAME_DIR .. "src/devices/machine/scnxx562.cpp", + MAME_DIR .. "src/devices/machine/scnxx562.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/input_merger.h,MACHINES["INPUT_MERGER"] = true +--------------------------------------------------- +if (MACHINES["INPUT_MERGER"]~=null) then + files { + MAME_DIR .. "src/devices/machine/input_merger.cpp", + MAME_DIR .. "src/devices/machine/input_merger.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/k054321.h,MACHINES["K054321"] = true +--------------------------------------------------- +if (MACHINES["K054321"]~=null) then + files { + MAME_DIR .. "src/devices/machine/k054321.cpp", + MAME_DIR .. "src/devices/machine/k054321.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/smioc.h,MACHINES["SMIOC"] = true +--------------------------------------------------- + +if (MACHINES["SMIOC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/smioc.cpp", + MAME_DIR .. "src/devices/machine/smioc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i82586.h,MACHINES["I82586"] = true +--------------------------------------------------- + +if (MACHINES["I82586"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i82586.cpp", + MAME_DIR .. "src/devices/machine/i82586.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/adc0844.h,MACHINES["ADC0844"] = true +--------------------------------------------------- + +if (MACHINES["ADC0844"]~=null) then + files { + MAME_DIR .. "src/devices/machine/adc0844.cpp", + MAME_DIR .. "src/devices/machine/adc0844.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/28fxxx.h,MACHINES["28FXXX"] = true +--------------------------------------------------- + +if (MACHINES["28FXXX"]~=null) then + files { + MAME_DIR .. "src/devices/machine/28fxxx.cpp", + MAME_DIR .. "src/devices/machine/28fxxx.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/gen_fifo.h,MACHINES["GEN_FIFO"] = true +--------------------------------------------------- + +if (MACHINES["GEN_FIFO"]~=null) then + files { + MAME_DIR .. "src/devices/machine/gen_fifo.cpp", + MAME_DIR .. "src/devices/machine/gen_fifo.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/output_latch.h,MACHINES["OUTPUT_LATCH"] = true +--------------------------------------------------- + +if (MACHINES["OUTPUT_LATCH"]~=null) then + files { + MAME_DIR .. "src/devices/machine/output_latch.cpp", + MAME_DIR .. "src/devices/machine/output_latch.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/z80daisy.h,MACHINES["Z80DAISY"] = true +--------------------------------------------------- + +if (MACHINES["Z80DAISY"]~=null) then + files { + MAME_DIR .. "src/devices/machine/z80daisy.cpp", + MAME_DIR .. "src/devices/machine/z80daisy.h", + MAME_DIR .. "src/devices/machine/z80daisy_generic.cpp", + MAME_DIR .. "src/devices/machine/z80daisy_generic.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i8291a.h,MACHINES["I8291A"] = true +--------------------------------------------------- + +if (MACHINES["I8291A"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i8291a.cpp", + MAME_DIR .. "src/devices/machine/i8291a.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ps2dma.h,MACHINES["PS2DMAC"] = true +--------------------------------------------------- + +if (MACHINES["PS2DMAC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ps2dma.cpp", + MAME_DIR .. "src/devices/machine/ps2dma.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ps2intc.h,MACHINES["PS2INTC"] = true +--------------------------------------------------- + +if (MACHINES["PS2INTC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ps2intc.cpp", + MAME_DIR .. "src/devices/machine/ps2intc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ps2mc.h,MACHINES["PS2MC"] = true +--------------------------------------------------- + +if (MACHINES["PS2MC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ps2mc.cpp", + MAME_DIR .. "src/devices/machine/ps2mc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ps2pad.h,MACHINES["PS2PAD"] = true +--------------------------------------------------- + +if (MACHINES["PS2PAD"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ps2pad.cpp", + MAME_DIR .. "src/devices/machine/ps2pad.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ps2sif.h,MACHINES["PS2SIF"] = true +--------------------------------------------------- + +if (MACHINES["PS2SIF"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ps2sif.cpp", + MAME_DIR .. "src/devices/machine/ps2sif.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ps2timer.h,MACHINES["PS2TIMER"] = true +--------------------------------------------------- + +if (MACHINES["PS2TIMER"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ps2timer.cpp", + MAME_DIR .. "src/devices/machine/ps2timer.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/iopcdvd.h,MACHINES["IOPCDVD"] = true +--------------------------------------------------- + +if (MACHINES["IOPCDVD"]~=null) then + files { + MAME_DIR .. "src/devices/machine/iopcdvd.cpp", + MAME_DIR .. "src/devices/machine/iopcdvd.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/iopdma.h,MACHINES["IOPDMA"] = true +--------------------------------------------------- + +if (MACHINES["IOPDMA"]~=null) then + files { + MAME_DIR .. "src/devices/machine/iopdma.cpp", + MAME_DIR .. "src/devices/machine/iopdma.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/iopintc.h,MACHINES["IOPINTC"] = true +--------------------------------------------------- + +if (MACHINES["IOPINTC"]~=null) then + files { + MAME_DIR .. "src/devices/machine/iopintc.cpp", + MAME_DIR .. "src/devices/machine/iopintc.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/iopsio2.h,MACHINES["IOPSIO2"] = true +--------------------------------------------------- + +if (MACHINES["IOPSIO2"]~=null) then + files { + MAME_DIR .. "src/devices/machine/iopsio2.cpp", + MAME_DIR .. "src/devices/machine/iopsio2.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/ioptimer.h,MACHINES["IOPTIMER"] = true +--------------------------------------------------- + +if (MACHINES["IOPTIMER"]~=null) then + files { + MAME_DIR .. "src/devices/machine/ioptimer.cpp", + MAME_DIR .. "src/devices/machine/ioptimer.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/sun4c_mmu.h,MACHINES["SUN4C_MMU"] = true +--------------------------------------------------- + +if (MACHINES["SUN4C_MMU"]~=null) then + files { + MAME_DIR .. "src/devices/machine/sun4c_mmu.cpp", + MAME_DIR .. "src/devices/machine/sun4c_mmu.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/z8038.h,MACHINES["Z8038"] = true +--------------------------------------------------- + +if (MACHINES["Z8038"]~=null) then + files { + MAME_DIR .. "src/devices/machine/z8038.cpp", + MAME_DIR .. "src/devices/machine/z8038.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/scc2698b.h,MACHINES["SCC2698B"] = true +--------------------------------------------------- + +if (MACHINES["SCC2698B"]~=null) then + files { + MAME_DIR .. "src/devices/machine/scc2698b.cpp", + MAME_DIR .. "src/devices/machine/scc2698b.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/aic565.h,MACHINES["AIC565"] = true +--------------------------------------------------- + +if (MACHINES["AIC565"]~=null) then + files { + MAME_DIR .. "src/devices/machine/aic565.cpp", + MAME_DIR .. "src/devices/machine/aic565.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/aic6250.h,MACHINES["AIC6250"] = true +--------------------------------------------------- + +if (MACHINES["AIC6250"]~=null) then + files { + MAME_DIR .. "src/devices/machine/aic6250.cpp", + MAME_DIR .. "src/devices/machine/aic6250.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/dc7085.h,MACHINES["DC7085"] = true +--------------------------------------------------- + +if (MACHINES["DC7085"]~=null) then + files { + MAME_DIR .. "src/devices/machine/dc7085.cpp", + MAME_DIR .. "src/devices/machine/dc7085.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/i82357.h,MACHINES["I82357"] = true +--------------------------------------------------- + +if (MACHINES["I82357"]~=null) then + files { + MAME_DIR .. "src/devices/machine/i82357.cpp", + MAME_DIR .. "src/devices/machine/i82357.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/machine/xc1700e.h,MACHINES["XC1700E"] = true +--------------------------------------------------- + +if (MACHINES["XC1700E"]~=null) then + files { + MAME_DIR .. "src/devices/machine/xc1700e.cpp", + MAME_DIR .. "src/devices/machine/xc1700e.h", + } +end diff --git a/docs/release/scripts/src/main.lua b/docs/release/scripts/src/main.lua new file mode 100644 index 00000000000..d02ea56a068 --- /dev/null +++ b/docs/release/scripts/src/main.lua @@ -0,0 +1,446 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- main.lua +-- +-- Rules for building main binary +-- +--------------------------------------------------------------------------- + +function mainProject(_target, _subtarget) +if (_OPTIONS["SOURCES"] == nil) then + if (_target == _subtarget) then + project (_target) + else + if (_subtarget=="mess") then + project (_subtarget) + else + project (_target .. _subtarget) + end + end +else + project (_subtarget) +end + uuid (os.uuid(_target .."_" .. _subtarget)) + kind "ConsoleApp" + + configuration { "android*" } + targetprefix "lib" + targetname "main" + targetextension ".so" + linkoptions { + "-shared", + "-Wl,-soname,libmain.so" + } + links { + "EGL", + "GLESv1_CM", + "GLESv2", + "SDL2", + } + configuration { "pnacl" } + kind "ConsoleApp" + targetextension ".pexe" + links { + "ppapi", + "ppapi_gles2", + "pthread", + } + + configuration { "winstore*" } + kind "WindowedApp" + + configuration { } + + addprojectflags() + flags { + "NoManifest", + "Symbols", -- always include minimum symbols for executables + } + + if _OPTIONS["SYMBOLS"] then + configuration { "mingw*" } + postbuildcommands { + "$(SILENT) echo Dumping symbols.", + "$(SILENT) objdump --section=.text --line-numbers --syms --demangle $(TARGET) >$(subst .exe,.sym,$(TARGET))" + } + end + + configuration { "winstore*" } + -- Windows Required Files + files { + -- Manifest file + MAME_DIR .. "scripts/resources/uwp/Package.appxmanifest", + } + + configuration { "winstore*" } + files { + MAME_DIR .. "scripts/resources/uwp/assets/*.png" + } + configuration "**/scripts/resources/uwp/assets/*.png" + flags { "DeploymentContent" } + + -- Effects and Shaders + configuration { "winstore*" } + files { + MAME_DIR .. "artwork/*", + MAME_DIR .. "artwork/**/*", + MAME_DIR .. "bgfx/*", + MAME_DIR .. "bgfx/**/*", + MAME_DIR .. "hash/*", + MAME_DIR .. "language/*", + MAME_DIR .. "language/**/*", + MAME_DIR .. "plugins/*", + MAME_DIR .. "plugins/**/*", + } + configuration "**/*" + flags { "DeploymentContent" } + + configuration { "x64", "Release" } + targetsuffix "64" + if _OPTIONS["PROFILE"] then + targetsuffix "64p" + end + + configuration { "x64", "Debug" } + targetsuffix "64d" + if _OPTIONS["PROFILE"] then + targetsuffix "64dp" + end + + configuration { "x32", "Release" } + targetsuffix "" + if _OPTIONS["PROFILE"] then + targetsuffix "p" + end + + configuration { "x32", "Debug" } + targetsuffix "d" + if _OPTIONS["PROFILE"] then + targetsuffix "dp" + end + + configuration { "Native", "Release" } + targetsuffix "" + if _OPTIONS["PROFILE"] then + targetsuffix "p" + end + + configuration { "Native", "Debug" } + targetsuffix "d" + if _OPTIONS["PROFILE"] then + targetsuffix "dp" + end + + configuration { "mingw*" or "vs20*" } + targetextension ".exe" + + configuration { "rpi" } + targetextension "" + + configuration { "asmjs" } + targetextension ".bc" + if os.getenv("EMSCRIPTEN") then + local emccopts = "" + .. " -O" .. _OPTIONS["OPTIMIZE"] + .. " -s USE_SDL=2" + .. " -s USE_SDL_TTF=2" + .. " --memory-init-file 0" + .. " -s ALLOW_MEMORY_GROWTH=0" + .. " -s TOTAL_MEMORY=268435456" + .. " -s DISABLE_EXCEPTION_CATCHING=2" + .. " -s EXCEPTION_CATCHING_WHITELIST=\"['__ZN15running_machine17start_all_devicesEv','__ZN12cli_frontend7executeEiPPc','__ZN8chd_file11open_commonEb','__ZN8chd_file13read_metadataEjjRNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE','__ZN8chd_file13read_metadataEjjRNSt3__26vectorIhNS0_9allocatorIhEEEE']\"" + .. " -s EXPORTED_FUNCTIONS=\"['_main', '_malloc', '__ZN15running_machine30emscripten_get_running_machineEv', '__ZN15running_machine17emscripten_get_uiEv', '__ZN15running_machine20emscripten_get_soundEv', '__ZN15mame_ui_manager12set_show_fpsEb', '__ZNK15mame_ui_manager8show_fpsEv', '__ZN13sound_manager4muteEbh', '_SDL_PauseAudio', '_SDL_SendKeyboardKey', '__ZN15running_machine15emscripten_saveEPKc', '__ZN15running_machine15emscripten_loadEPKc', '__ZN15running_machine21emscripten_hard_resetEv', '__ZN15running_machine21emscripten_soft_resetEv', '__ZN15running_machine15emscripten_exitEv']\"" + .. " -s EXTRA_EXPORTED_RUNTIME_METHODS=\"['cwrap']\"" + .. " -s ERROR_ON_UNDEFINED_SYMBOLS=0" + .. " --pre-js " .. _MAKE.esc(MAME_DIR) .. "src/osd/modules/sound/js_sound.js" + .. " --post-js " .. _MAKE.esc(MAME_DIR) .. "scripts/resources/emscripten/emscripten_post.js" + .. " --embed-file " .. _MAKE.esc(MAME_DIR) .. "bgfx/chains@bgfx/chains" + .. " --embed-file " .. _MAKE.esc(MAME_DIR) .. "bgfx/effects@bgfx/effects" + .. " --embed-file " .. _MAKE.esc(MAME_DIR) .. "bgfx/shaders/essl@bgfx/shaders/essl" + .. " --embed-file " .. _MAKE.esc(MAME_DIR) .. "artwork/slot-mask.png@artwork/slot-mask.png" + + if _OPTIONS["SYMBOLS"]~=nil and _OPTIONS["SYMBOLS"]~="0" then + emccopts = emccopts + .. " -g" .. _OPTIONS["SYMLEVEL"] + .. " -s DEMANGLE_SUPPORT=1" + end + + if _OPTIONS["WEBASSEMBLY"] then + emccopts = emccopts + .. " -s WASM=" .. _OPTIONS["WEBASSEMBLY"] + end + + if _OPTIONS["ARCHOPTS"] then + emccopts = emccopts .. " " .. _OPTIONS["ARCHOPTS"] + end + + postbuildcommands { + os.getenv("EMSCRIPTEN") .. "/emcc " .. emccopts .. " $(TARGET) -o " .. _MAKE.esc(MAME_DIR) .. _OPTIONS["target"] .. _OPTIONS["subtarget"] .. ".js", + } + end + + configuration { } + + if _OPTIONS["targetos"]=="android" then + includedirs { + MAME_DIR .. "3rdparty/SDL2/include", + } + + files { + MAME_DIR .. "3rdparty/SDL2/src/main/android/SDL_android_main.c", + } + targetsuffix "" + if _OPTIONS["SEPARATE_BIN"]~="1" then + if _OPTIONS["PLATFORM"]=="arm" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/armeabi-v7a") + end + if _OPTIONS["PLATFORM"]=="arm64" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/arm64-v8a") + end + if _OPTIONS["PLATFORM"]=="mips" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/mips") + end + if _OPTIONS["PLATFORM"]=="mips64" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/mips64") + end + if _OPTIONS["PLATFORM"]=="x86" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/x86") + end + if _OPTIONS["PLATFORM"]=="x64" then + targetdir(MAME_DIR .. "android-project/app/src/main/libs/x86_64") + end + end + else + if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) + end + end + +if (STANDALONE~=true) then + findfunction("linkProjects_" .. _OPTIONS["target"] .. "_" .. _OPTIONS["subtarget"])(_OPTIONS["target"], _OPTIONS["subtarget"]) +end + links { + "osd_" .. _OPTIONS["osd"], + } + links { + "qtdbg_" .. _OPTIONS["osd"], + } +if (STANDALONE~=true) then + links { + "frontend", + } +end +if (MACHINES["NETLIST"]~=null) then + links { + "netlist", + } +end + links { + "optional", + "emu", + } +--if (STANDALONE~=true) then + links { + "formats", + } +--end +if #disasm_files > 0 then + links { + "dasm", + } +end + links { + "utils", + ext_lib("expat"), + "softfloat", + "softfloat3", + ext_lib("jpeg"), + "7z", + } +if (STANDALONE~=true) then + links { + ext_lib("lua"), + "lualibs", + } +if (_OPTIONS["osd"] ~= "uwp") then + links { + "linenoise", + } +end +end + links { + ext_lib("zlib"), + ext_lib("flac"), + ext_lib("utf8proc"), + } +if (STANDALONE~=true) then + links { + ext_lib("sqlite3"), + } +end + + if _OPTIONS["NO_USE_PORTAUDIO"]~="1" then + links { + ext_lib("portaudio"), + } + if _OPTIONS["targetos"]=="windows" then + links { + "setupapi", + } + end + end + if _OPTIONS["NO_USE_MIDI"]~="1" then + links { + ext_lib("portmidi"), + } + end + links { + "bgfx", + "bimg", + "bx", + "ocore_" .. _OPTIONS["osd"], + } + + override_resources = false; + + maintargetosdoptions(_target,_subtarget) + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/" .. _target, + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + GEN_DIR .. _target .. "/layout", + GEN_DIR .. "resource", + ext_includedir("zlib"), + ext_includedir("flac"), + } + + +if (STANDALONE==true) then + standalone(); +end + +if (STANDALONE~=true) then + if _OPTIONS["targetos"]=="macosx" and (not override_resources) then + linkoptions { + "-sectcreate __TEXT __info_plist " .. _MAKE.esc(GEN_DIR) .. "resource/" .. _subtarget .. "-Info.plist" + } + custombuildtask { + { GEN_DIR .. "version.cpp" , GEN_DIR .. "resource/" .. _subtarget .. "-Info.plist", { MAME_DIR .. "scripts/build/verinfo.py" }, {"@echo Emitting " .. _subtarget .. "-Info.plist" .. "...", PYTHON .. " $(1) -p -b " .. _subtarget .. " $(<) > $(@)" }}, + } + dependency { + { "$(TARGET)" , GEN_DIR .. "resource/" .. _subtarget .. "-Info.plist", true }, + } + + end + local rctarget = _subtarget + + if _OPTIONS["targetos"]=="windows" and (not override_resources) then + rcfile = MAME_DIR .. "scripts/resources/windows/" .. _subtarget .. "/" .. rctarget ..".rc" + if os.isfile(rcfile) then + files { + rcfile, + } + dependency { + { "$(OBJDIR)/".._subtarget ..".res" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", true }, + } + else + rctarget = "mame" + files { + MAME_DIR .. "scripts/resources/windows/mame/mame.rc", + } + dependency { + { "$(OBJDIR)/mame.res" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", true }, + } + end + end + + local mainfile = MAME_DIR .. "src/".._target .."/" .. _subtarget ..".cpp" + if not os.isfile(mainfile) then + mainfile = MAME_DIR .. "src/".._target .."/" .. _target ..".cpp" + end + files { + mainfile, + MAME_DIR .. "src/version.cpp", + GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", + } + + if (_OPTIONS["SOURCES"] == nil) then + + if os.isfile(MAME_DIR .. "src/".._target .."/" .. _subtarget ..".flt") then + dependency { + { + GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + } + custombuildtask { + { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makelist.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) $(2) $(<) > $(@)" }}, + } + else + if os.isfile(MAME_DIR .. "src/".._target .."/" .. _subtarget ..".lst") then + custombuildtask { + { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".lst" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makelist.py" }, {"@echo Building driver list...", PYTHON .. " $(1) $(<) > $(@)" }}, + } + else + dependency { + { + GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + } + custombuildtask { + { MAME_DIR .. "src/".._target .."/" .. _target ..".lst" , GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makelist.py" }, {"@echo Building driver list...", PYTHON .. " $(1) $(<) > $(@)" }}, + } + end + end + end + + if (_OPTIONS["SOURCES"] ~= nil) then + dependency { + { + GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + } + custombuildtask { + { GEN_DIR .. _target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makelist.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) $(2) $(<) > $(@)" }}, + } + end + + configuration { "mingw*" } + custombuildtask { +-- { GEN_DIR .. "version.cpp" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", { MAME_DIR .. "scripts/build/verinfo.py" }, {"@echo Emitting " .. rctarget .. "vers.rc" .. "...", PYTHON .. " $(1) -r -b " .. rctarget .. " $(<) > $(@)" }}, + { MAME_DIR .. "src/version.cpp" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", { MAME_DIR .. "scripts/build/verinfo.py" }, {"@echo Emitting " .. rctarget .. "vers.rc" .. "...", PYTHON .. " $(1) -r -b " .. rctarget .. " $(<) > $(@)" }}, + } + + configuration { "vs20*" } + prebuildcommands { + "mkdir \"" .. path.translate(GEN_DIR .. "resource/","\\") .. "\" 2>NUL", + "@echo Emitting ".. rctarget .. "vers.rc...", + PYTHON .. " \"" .. path.translate(MAME_DIR .. "scripts/build/verinfo.py","\\") .. "\" -r -b " .. rctarget .. " \"" .. path.translate(GEN_DIR .. "version.cpp","\\") .. "\" > \"" .. path.translate(GEN_DIR .. "resource/" .. rctarget .. "vers.rc", "\\") .. "\"" , + } + + configuration { "vsllvm" } + prebuildcommands { + "mkdir \"" .. path.translate(GEN_DIR .. "resource/","\\") .. "\" 2>NUL", + "@echo Emitting ".. rctarget .. "vers.rc...", + PYTHON .. " \"" .. path.translate(MAME_DIR .. "scripts/build/verinfo.py","\\") .. "\" -r -b " .. rctarget .. " \"" .. path.translate(GEN_DIR .. "version.cpp","\\") .. "\" > \"" .. path.translate(GEN_DIR .. "resource/" .. rctarget .. "vers.rc", "\\") .. "\"" , + } +end + + configuration { } + + if _OPTIONS["DEBUG_DIR"]~=nil then + debugdir(_OPTIONS["DEBUG_DIR"]) + else + debugdir (MAME_DIR) + end + if _OPTIONS["DEBUG_ARGS"]~=nil then + debugargs (_OPTIONS["DEBUG_ARGS"]) + else + debugargs ("-window") + end + +end diff --git a/docs/release/scripts/src/mame/frontend.lua b/docs/release/scripts/src/mame/frontend.lua new file mode 100644 index 00000000000..c8f21daa4a6 --- /dev/null +++ b/docs/release/scripts/src/mame/frontend.lua @@ -0,0 +1,168 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- frontend.lua +-- +-- Rules for building frontend +-- +--------------------------------------------------------------------------- + +project ("frontend") +uuid ("e98e14c4-82a4-4988-ba29-01c90c817ab8") +kind (LIBTYPE) + +addprojectflags() +precompiledheaders() + +if (_OPTIONS["targetos"] ~= "asmjs") then + options { + "ArchiveSplit", + } +end + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/frontend/mame", + MAME_DIR .. "src/devices", -- till deps are fixed + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + GEN_DIR .. "emu", + GEN_DIR .. "emu/layout", +} + +includedirs { + ext_includedir("asio"), + ext_includedir("expat"), + ext_includedir("lua"), + ext_includedir("zlib"), + ext_includedir("flac"), + ext_includedir("rapidjson") +} + +configuration { } +if (_OPTIONS["targetos"] == "windows") then + defines { + "UI_WINDOWS", + } +end + +if (_OPTIONS["osd"] == "sdl") then + defines { + "UI_SDL", + } +end + +files { + MAME_DIR .. "src/frontend/mame/audit.cpp", + MAME_DIR .. "src/frontend/mame/audit.h", + MAME_DIR .. "src/frontend/mame/cheat.cpp", + MAME_DIR .. "src/frontend/mame/cheat.h", + MAME_DIR .. "src/frontend/mame/clifront.cpp", + MAME_DIR .. "src/frontend/mame/clifront.h", + MAME_DIR .. "src/frontend/mame/info.cpp", + MAME_DIR .. "src/frontend/mame/info.h", + MAME_DIR .. "src/frontend/mame/language.cpp", + MAME_DIR .. "src/frontend/mame/language.h", + MAME_DIR .. "src/frontend/mame/luaengine.cpp", + MAME_DIR .. "src/frontend/mame/luaengine.h", + MAME_DIR .. "src/frontend/mame/mame.cpp", + MAME_DIR .. "src/frontend/mame/mame.h", + MAME_DIR .. "src/frontend/mame/mameopts.cpp", + MAME_DIR .. "src/frontend/mame/mameopts.h", + MAME_DIR .. "src/frontend/mame/media_ident.cpp", + MAME_DIR .. "src/frontend/mame/media_ident.h", + MAME_DIR .. "src/frontend/mame/pluginopts.cpp", + MAME_DIR .. "src/frontend/mame/pluginopts.h", + MAME_DIR .. "src/frontend/mame/ui/ui.cpp", + MAME_DIR .. "src/frontend/mame/ui/ui.h", + MAME_DIR .. "src/frontend/mame/ui/text.cpp", + MAME_DIR .. "src/frontend/mame/ui/text.h", + MAME_DIR .. "src/frontend/mame/ui/devctrl.h", + MAME_DIR .. "src/frontend/mame/ui/menu.cpp", + MAME_DIR .. "src/frontend/mame/ui/menu.h", + MAME_DIR .. "src/frontend/mame/ui/submenu.cpp", + MAME_DIR .. "src/frontend/mame/ui/submenu.h", + MAME_DIR .. "src/frontend/mame/ui/mainmenu.cpp", + MAME_DIR .. "src/frontend/mame/ui/mainmenu.h", + MAME_DIR .. "src/frontend/mame/ui/miscmenu.cpp", + MAME_DIR .. "src/frontend/mame/ui/miscmenu.h", + MAME_DIR .. "src/frontend/mame/ui/barcode.cpp", + MAME_DIR .. "src/frontend/mame/ui/barcode.h", + MAME_DIR .. "src/frontend/mame/ui/cheatopt.cpp", + MAME_DIR .. "src/frontend/mame/ui/cheatopt.h", + MAME_DIR .. "src/frontend/mame/ui/pluginopt.cpp", + MAME_DIR .. "src/frontend/mame/ui/pluginopt.h", + MAME_DIR .. "src/frontend/mame/ui/devopt.cpp", + MAME_DIR .. "src/frontend/mame/ui/devopt.h", + MAME_DIR .. "src/frontend/mame/ui/filemngr.cpp", + MAME_DIR .. "src/frontend/mame/ui/filemngr.h", + MAME_DIR .. "src/frontend/mame/ui/filesel.cpp", + MAME_DIR .. "src/frontend/mame/ui/filesel.h", + MAME_DIR .. "src/frontend/mame/ui/filecreate.cpp", + MAME_DIR .. "src/frontend/mame/ui/filecreate.h", + MAME_DIR .. "src/frontend/mame/ui/floppycntrl.cpp", + MAME_DIR .. "src/frontend/mame/ui/floppycntrl.h", + MAME_DIR .. "src/frontend/mame/ui/imgcntrl.cpp", + MAME_DIR .. "src/frontend/mame/ui/imgcntrl.h", + MAME_DIR .. "src/frontend/mame/ui/info.cpp", + MAME_DIR .. "src/frontend/mame/ui/info.h", + MAME_DIR .. "src/frontend/mame/ui/info_pty.cpp", + MAME_DIR .. "src/frontend/mame/ui/info_pty.h", + MAME_DIR .. "src/frontend/mame/ui/inputmap.cpp", + MAME_DIR .. "src/frontend/mame/ui/inputmap.h", + MAME_DIR .. "src/frontend/mame/ui/selmenu.cpp", + MAME_DIR .. "src/frontend/mame/ui/selmenu.h", + MAME_DIR .. "src/frontend/mame/ui/sliders.cpp", + MAME_DIR .. "src/frontend/mame/ui/sliders.h", + MAME_DIR .. "src/frontend/mame/ui/slotopt.cpp", + MAME_DIR .. "src/frontend/mame/ui/slotopt.h", + MAME_DIR .. "src/frontend/mame/ui/swlist.cpp", + MAME_DIR .. "src/frontend/mame/ui/swlist.h", + MAME_DIR .. "src/frontend/mame/ui/tapectrl.cpp", + MAME_DIR .. "src/frontend/mame/ui/tapectrl.h", + MAME_DIR .. "src/frontend/mame/ui/videoopt.cpp", + MAME_DIR .. "src/frontend/mame/ui/videoopt.h", + MAME_DIR .. "src/frontend/mame/ui/viewgfx.cpp", + MAME_DIR .. "src/frontend/mame/ui/viewgfx.h", + MAME_DIR .. "src/frontend/mame/ui/auditmenu.cpp", + MAME_DIR .. "src/frontend/mame/ui/auditmenu.h", + MAME_DIR .. "src/frontend/mame/ui/custui.cpp", + MAME_DIR .. "src/frontend/mame/ui/custui.h", + MAME_DIR .. "src/frontend/mame/ui/datmenu.cpp", + MAME_DIR .. "src/frontend/mame/ui/datmenu.h", + MAME_DIR .. "src/frontend/mame/ui/defimg.ipp", + MAME_DIR .. "src/frontend/mame/ui/dirmenu.cpp", + MAME_DIR .. "src/frontend/mame/ui/dirmenu.h", + MAME_DIR .. "src/frontend/mame/ui/icorender.cpp", + MAME_DIR .. "src/frontend/mame/ui/icorender.h", + MAME_DIR .. "src/frontend/mame/ui/inifile.cpp", + MAME_DIR .. "src/frontend/mame/ui/inifile.h", + MAME_DIR .. "src/frontend/mame/ui/miscmenu.cpp", + MAME_DIR .. "src/frontend/mame/ui/miscmenu.h", + MAME_DIR .. "src/frontend/mame/ui/moptions.cpp", + MAME_DIR .. "src/frontend/mame/ui/moptions.h", + MAME_DIR .. "src/frontend/mame/ui/optsmenu.cpp", + MAME_DIR .. "src/frontend/mame/ui/optsmenu.h", + MAME_DIR .. "src/frontend/mame/ui/selector.cpp", + MAME_DIR .. "src/frontend/mame/ui/selector.h", + MAME_DIR .. "src/frontend/mame/ui/selgame.cpp", + MAME_DIR .. "src/frontend/mame/ui/selgame.h", + MAME_DIR .. "src/frontend/mame/ui/simpleselgame.cpp", + MAME_DIR .. "src/frontend/mame/ui/simpleselgame.h", + MAME_DIR .. "src/frontend/mame/ui/selsoft.cpp", + MAME_DIR .. "src/frontend/mame/ui/selsoft.h", + MAME_DIR .. "src/frontend/mame/ui/sndmenu.cpp", + MAME_DIR .. "src/frontend/mame/ui/sndmenu.h", + MAME_DIR .. "src/frontend/mame/ui/starimg.ipp", + MAME_DIR .. "src/frontend/mame/ui/state.cpp", + MAME_DIR .. "src/frontend/mame/ui/state.h", + MAME_DIR .. "src/frontend/mame/ui/toolbar.ipp", + MAME_DIR .. "src/frontend/mame/ui/utils.cpp", + MAME_DIR .. "src/frontend/mame/ui/utils.h", + MAME_DIR .. "src/frontend/mame/ui/widgets.cpp", + MAME_DIR .. "src/frontend/mame/ui/widgets.h", +} diff --git a/docs/release/scripts/src/netlist.lua b/docs/release/scripts/src/netlist.lua new file mode 100644 index 00000000000..973e9fb2ffc --- /dev/null +++ b/docs/release/scripts/src/netlist.lua @@ -0,0 +1,230 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- netlist.lua +-- +-- Rules for building netlist cores +-- +--------------------------------------------------------------------------- + +project "netlist" + uuid "665ef8ac-2a4c-4c3e-a05f-fd1e5db11de9" + kind (LIBTYPE) + + if _OPTIONS["targetos"]=="windows" then + configuration { "mingw* or vs*" } + defines { + "UNICODE", + "_UNICODE", + "_WIN32_WINNT=0x0501", + "WIN32_LEAN_AND_MEAN", + "NOMINMAX", + } + end + + addprojectflags() + + defines { + "__STDC_CONSTANT_MACROS", + } + + includedirs { + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/netlist", + } + + files { + MAME_DIR .. "src/lib/netlist/nl_base.cpp", + MAME_DIR .. "src/lib/netlist/nl_base.h", + MAME_DIR .. "src/lib/netlist/nl_config.h", + MAME_DIR .. "src/lib/netlist/nl_errstr.h", + MAME_DIR .. "src/lib/netlist/nl_dice_compat.h", + MAME_DIR .. "src/lib/netlist/nl_factory.cpp", + MAME_DIR .. "src/lib/netlist/nl_factory.h", + MAME_DIR .. "src/lib/netlist/nl_lists.h", + MAME_DIR .. "src/lib/netlist/nl_parser.cpp", + MAME_DIR .. "src/lib/netlist/nl_parser.h", + MAME_DIR .. "src/lib/netlist/nl_setup.cpp", + MAME_DIR .. "src/lib/netlist/nl_setup.h", + MAME_DIR .. "src/lib/netlist/nl_types.h", + MAME_DIR .. "src/lib/netlist/plib/pconfig.h", + MAME_DIR .. "src/lib/netlist/plib/palloc.h", + MAME_DIR .. "src/lib/netlist/plib/pchrono.cpp", + MAME_DIR .. "src/lib/netlist/plib/pchrono.h", + MAME_DIR .. "src/lib/netlist/plib/pexception.cpp", + MAME_DIR .. "src/lib/netlist/plib/pexception.h", + MAME_DIR .. "src/lib/netlist/plib/pfunction.cpp", + MAME_DIR .. "src/lib/netlist/plib/pfunction.h", + MAME_DIR .. "src/lib/netlist/plib/pfmtlog.cpp", + MAME_DIR .. "src/lib/netlist/plib/pfmtlog.h", + MAME_DIR .. "src/lib/netlist/plib/plists.h", + MAME_DIR .. "src/lib/netlist/plib/pdynlib.cpp", + MAME_DIR .. "src/lib/netlist/plib/pdynlib.h", + MAME_DIR .. "src/lib/netlist/plib/pmain.cpp", + MAME_DIR .. "src/lib/netlist/plib/pmain.h", + MAME_DIR .. "src/lib/netlist/plib/pmempool.h", + MAME_DIR .. "src/lib/netlist/plib/pomp.h", + MAME_DIR .. "src/lib/netlist/plib/poptions.cpp", + MAME_DIR .. "src/lib/netlist/plib/poptions.h", + MAME_DIR .. "src/lib/netlist/plib/pparser.cpp", + MAME_DIR .. "src/lib/netlist/plib/pparser.h", + MAME_DIR .. "src/lib/netlist/plib/ppmf.h", + MAME_DIR .. "src/lib/netlist/plib/pstate.cpp", + MAME_DIR .. "src/lib/netlist/plib/pstate.h", + MAME_DIR .. "src/lib/netlist/plib/pstring.cpp", + MAME_DIR .. "src/lib/netlist/plib/pstring.h", + MAME_DIR .. "src/lib/netlist/plib/pstream.cpp", + MAME_DIR .. "src/lib/netlist/plib/pstream.h", + MAME_DIR .. "src/lib/netlist/plib/ptime.h", + MAME_DIR .. "src/lib/netlist/plib/ptypes.h", + MAME_DIR .. "src/lib/netlist/plib/putil.cpp", + MAME_DIR .. "src/lib/netlist/plib/putil.h", + 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", + MAME_DIR .. "src/lib/netlist/solver/nld_ms_direct1.h", + MAME_DIR .. "src/lib/netlist/solver/nld_ms_direct2.h", + MAME_DIR .. "src/lib/netlist/solver/nld_ms_sor.h", + MAME_DIR .. "src/lib/netlist/solver/nld_ms_sor_mat.h", + MAME_DIR .. "src/lib/netlist/solver/nld_ms_gmres.h", + MAME_DIR .. "src/lib/netlist/solver/mat_cr.h", + MAME_DIR .. "src/lib/netlist/solver/nld_ms_sm.h", + MAME_DIR .. "src/lib/netlist/solver/nld_ms_w.h", + MAME_DIR .. "src/lib/netlist/solver/nld_ms_direct_lu.h", + MAME_DIR .. "src/lib/netlist/solver/vector_base.h", + MAME_DIR .. "src/lib/netlist/devices/nld_2102A.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_2102A.h", + MAME_DIR .. "src/lib/netlist/devices/nld_2716.cpp", + 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_4020.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_4020.h", + MAME_DIR .. "src/lib/netlist/devices/nld_4066.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_4066.h", + MAME_DIR .. "src/lib/netlist/devices/nld_4316.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_4316.h", + MAME_DIR .. "src/lib/netlist/devices/nld_7448.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_7448.h", + MAME_DIR .. "src/lib/netlist/devices/nld_7450.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_7450.h", + MAME_DIR .. "src/lib/netlist/devices/nld_7473.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_7473.h", + MAME_DIR .. "src/lib/netlist/devices/nld_7474.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_7474.h", + MAME_DIR .. "src/lib/netlist/devices/nld_7475.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_7475.h", + MAME_DIR .. "src/lib/netlist/devices/nld_7483.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_7483.h", + MAME_DIR .. "src/lib/netlist/devices/nld_7485.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_7485.h", + MAME_DIR .. "src/lib/netlist/devices/nld_7490.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_7490.h", + MAME_DIR .. "src/lib/netlist/devices/nld_7493.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_7493.h", + MAME_DIR .. "src/lib/netlist/devices/nld_7497.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_7497.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74107.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74107.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74123.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74123.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74153.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74153.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74161.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74161.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74164.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74164.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74165.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74165.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74166.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74166.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74174.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74174.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74175.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74175.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74192.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74192.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74193.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74193.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74194.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74194.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74365.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74365.h", + MAME_DIR .. "src/lib/netlist/devices/nld_74ls629.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_74ls629.h", + MAME_DIR .. "src/lib/netlist/devices/nld_82S16.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_82S16.h", + MAME_DIR .. "src/lib/netlist/devices/nld_82S115.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_82S115.h", + MAME_DIR .. "src/lib/netlist/devices/nld_82S123.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_82S123.h", + MAME_DIR .. "src/lib/netlist/devices/nld_82S126.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_82S126.h", + MAME_DIR .. "src/lib/netlist/devices/nld_9310.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_9310.h", + MAME_DIR .. "src/lib/netlist/devices/nld_9316.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_9316.h", + MAME_DIR .. "src/lib/netlist/devices/nld_9322.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_9322.h", + MAME_DIR .. "src/lib/netlist/devices/nld_am2847.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_am2847.h", + MAME_DIR .. "src/lib/netlist/devices/nld_dm9314.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_dm9314.h", + MAME_DIR .. "src/lib/netlist/devices/nld_dm9334.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_dm9334.h", + MAME_DIR .. "src/lib/netlist/devices/nld_ne555.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_ne555.h", + MAME_DIR .. "src/lib/netlist/devices/nld_mm5837.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_mm5837.h", + MAME_DIR .. "src/lib/netlist/devices/nld_r2r_dac.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_r2r_dac.h", + MAME_DIR .. "src/lib/netlist/devices/nld_tristate.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_tristate.h", + MAME_DIR .. "src/lib/netlist/devices/nld_schmitt.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_schmitt.h", + MAME_DIR .. "src/lib/netlist/devices/nld_legacy.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_legacy.h", + MAME_DIR .. "src/lib/netlist/devices/net_lib.cpp", + MAME_DIR .. "src/lib/netlist/devices/net_lib.h", + MAME_DIR .. "src/lib/netlist/devices/nld_log.cpp", + MAME_DIR .. "src/lib/netlist/devices/nld_log.h", + MAME_DIR .. "src/lib/netlist/devices/nld_system.cpp", + 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", + MAME_DIR .. "src/lib/netlist/macro/nlm_base.cpp", + MAME_DIR .. "src/lib/netlist/macro/nlm_base.h", + MAME_DIR .. "src/lib/netlist/macro/nlm_ttl74xx.cpp", + MAME_DIR .. "src/lib/netlist/macro/nlm_ttl74xx.h", + MAME_DIR .. "src/lib/netlist/macro/nlm_cd4xxx.cpp", + MAME_DIR .. "src/lib/netlist/macro/nlm_cd4xxx.h", + MAME_DIR .. "src/lib/netlist/macro/nlm_opamp.cpp", + MAME_DIR .. "src/lib/netlist/macro/nlm_opamp.h", + MAME_DIR .. "src/lib/netlist/macro/nlm_other.cpp", + MAME_DIR .. "src/lib/netlist/macro/nlm_other.h", +} diff --git a/docs/release/scripts/src/osd/modules.lua b/docs/release/scripts/src/osd/modules.lua new file mode 100644 index 00000000000..1376be2b1d5 --- /dev/null +++ b/docs/release/scripts/src/osd/modules.lua @@ -0,0 +1,556 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- modules.lua +-- +-- Rules for the building of modules +-- +--------------------------------------------------------------------------- + +function string.starts(String,Start) + return string.sub(String,1,string.len(Start))==Start +end + +function addlibfromstring(str) + if (str==nil) then return end + for w in str:gmatch("%S+") do + if string.starts(w,"-l")==true then + links { + string.sub(w,3) + } + end + end +end + +function addoptionsfromstring(str) + if (str==nil) then return end + for w in str:gmatch("%S+") do + if string.starts(w,"-l")==false then + linkoptions { + w + } + end + end +end + +function pkgconfigcmd() + local pkgconfig = os.getenv("PKG_CONFIG") + if pkgconfig == nil then + return "pkg-config" + end + return pkgconfig +end + +function osdmodulesbuild() + + removeflags { + "SingleOutputDir", + } + + files { + MAME_DIR .. "src/osd/osdnet.cpp", + MAME_DIR .. "src/osd/osdnet.h", + MAME_DIR .. "src/osd/watchdog.cpp", + MAME_DIR .. "src/osd/watchdog.h", + MAME_DIR .. "src/osd/modules/debugger/debug_module.h", + MAME_DIR .. "src/osd/modules/font/font_module.h", + MAME_DIR .. "src/osd/modules/midi/midi_module.h", + MAME_DIR .. "src/osd/modules/netdev/netdev_module.h", + MAME_DIR .. "src/osd/modules/sound/sound_module.h", + MAME_DIR .. "src/osd/modules/diagnostics/diagnostics_module.h", + MAME_DIR .. "src/osd/modules/monitor/monitor_module.h", + MAME_DIR .. "src/osd/modules/lib/osdobj_common.cpp", + MAME_DIR .. "src/osd/modules/lib/osdobj_common.h", + MAME_DIR .. "src/osd/modules/diagnostics/none.cpp", + MAME_DIR .. "src/osd/modules/diagnostics/diagnostics_win32.cpp", + MAME_DIR .. "src/osd/modules/debugger/none.cpp", + MAME_DIR .. "src/osd/modules/debugger/debugwin.cpp", + MAME_DIR .. "src/osd/modules/debugger/debugimgui.cpp", + MAME_DIR .. "src/osd/modules/font/font_sdl.cpp", + MAME_DIR .. "src/osd/modules/font/font_windows.cpp", + MAME_DIR .. "src/osd/modules/font/font_dwrite.cpp", + MAME_DIR .. "src/osd/modules/font/font_osx.cpp", + MAME_DIR .. "src/osd/modules/font/font_none.cpp", + MAME_DIR .. "src/osd/modules/netdev/taptun.cpp", + MAME_DIR .. "src/osd/modules/netdev/pcap.cpp", + MAME_DIR .. "src/osd/modules/netdev/none.cpp", + MAME_DIR .. "src/osd/modules/midi/portmidi.cpp", + MAME_DIR .. "src/osd/modules/midi/none.cpp", + MAME_DIR .. "src/osd/modules/sound/js_sound.cpp", + MAME_DIR .. "src/osd/modules/sound/direct_sound.cpp", + MAME_DIR .. "src/osd/modules/sound/pa_sound.cpp", + MAME_DIR .. "src/osd/modules/sound/coreaudio_sound.cpp", + MAME_DIR .. "src/osd/modules/sound/sdl_sound.cpp", + MAME_DIR .. "src/osd/modules/sound/xaudio2_sound.cpp", + MAME_DIR .. "src/osd/modules/sound/none.cpp", + MAME_DIR .. "src/osd/modules/input/input_module.h", + MAME_DIR .. "src/osd/modules/input/input_common.cpp", + MAME_DIR .. "src/osd/modules/input/input_common.h", + MAME_DIR .. "src/osd/modules/input/input_dinput.cpp", + MAME_DIR .. "src/osd/modules/input/input_dinput.h", + MAME_DIR .. "src/osd/modules/input/input_none.cpp", + MAME_DIR .. "src/osd/modules/input/input_rawinput.cpp", + MAME_DIR .. "src/osd/modules/input/input_win32.cpp", + MAME_DIR .. "src/osd/modules/input/input_sdl.cpp", + MAME_DIR .. "src/osd/modules/input/input_sdlcommon.cpp", + MAME_DIR .. "src/osd/modules/input/input_sdlcommon.h", + MAME_DIR .. "src/osd/modules/input/input_x11.cpp", + MAME_DIR .. "src/osd/modules/input/input_windows.cpp", + MAME_DIR .. "src/osd/modules/input/input_windows.h", + MAME_DIR .. "src/osd/modules/input/input_xinput.cpp", + MAME_DIR .. "src/osd/modules/input/input_xinput.h", + MAME_DIR .. "src/osd/modules/input/input_winhybrid.cpp", + MAME_DIR .. "src/osd/modules/input/input_uwp.cpp", + MAME_DIR .. "src/osd/modules/output/output_module.h", + MAME_DIR .. "src/osd/modules/output/none.cpp", + MAME_DIR .. "src/osd/modules/output/console.cpp", + MAME_DIR .. "src/osd/modules/output/network.cpp", + MAME_DIR .. "src/osd/modules/output/win32_output.cpp", + MAME_DIR .. "src/osd/modules/output/win32_output.h", + MAME_DIR .. "src/osd/modules/monitor/monitor_common.h", + MAME_DIR .. "src/osd/modules/monitor/monitor_common.cpp", + MAME_DIR .. "src/osd/modules/monitor/monitor_win32.cpp", + MAME_DIR .. "src/osd/modules/monitor/monitor_dxgi.cpp", + MAME_DIR .. "src/osd/modules/monitor/monitor_sdl.cpp", + } + includedirs { + ext_includedir("asio"), + } + + if _OPTIONS["targetos"]=="windows" then + includedirs { + MAME_DIR .. "3rdparty/winpcap/Include", + MAME_DIR .. "3rdparty/compat/mingw", + MAME_DIR .. "3rdparty/portaudio/include", + } + + includedirs { + MAME_DIR .. "3rdparty/compat/winsdk-override", + } + end + + if _OPTIONS["NO_OPENGL"]=="1" then + defines { + "USE_OPENGL=0", + } + else + files { + MAME_DIR .. "src/osd/modules/render/drawogl.cpp", + MAME_DIR .. "src/osd/modules/opengl/gl_shader_tool.cpp", + MAME_DIR .. "src/osd/modules/opengl/gl_shader_mgr.cpp", + MAME_DIR .. "src/osd/modules/opengl/gl_shader_mgr.h", + MAME_DIR .. "src/osd/modules/opengl/gl_shader_tool.h", + MAME_DIR .. "src/osd/modules/opengl/osd_opengl.h", + } + defines { + "USE_OPENGL=1", + } + if _OPTIONS["USE_DISPATCH_GL"]=="1" then + defines { + "USE_DISPATCH_GL=1", + } + end + end + + defines { + "__STDC_LIMIT_MACROS", + "__STDC_FORMAT_MACROS", + "__STDC_CONSTANT_MACROS", + "IMGUI_DISABLE_OBSOLETE_FUNCTIONS", + } + + files { + MAME_DIR .. "src/osd/modules/render/drawbgfx.cpp", + MAME_DIR .. "src/osd/modules/render/aviwrite.cpp", + MAME_DIR .. "src/osd/modules/render/aviwrite.h", + MAME_DIR .. "src/osd/modules/render/bgfxutil.cpp", + MAME_DIR .. "src/osd/modules/render/bgfxutil.h", + MAME_DIR .. "src/osd/modules/render/binpacker.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/blendreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/chain.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/chainentry.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/chainentryreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/chainmanager.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/chainreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/clear.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/clear.h", + MAME_DIR .. "src/osd/modules/render/bgfx/clearreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/clearreader.h", + MAME_DIR .. "src/osd/modules/render/bgfx/cullreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/depthreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/effect.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/effectmanager.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/effectreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/entryuniformreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/inputpair.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/frameparameter.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/timeparameter.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/paramreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/paramuniform.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/paramuniformreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/shadermanager.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/slider.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/sliderreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/slideruniform.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/slideruniformreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/statereader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/suppressor.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/suppressorreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/target.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/targetreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/targetmanager.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/texture.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/texturemanager.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/uniform.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/uniformreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/valueuniform.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/valueuniformreader.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/view.cpp", + MAME_DIR .. "src/osd/modules/render/bgfx/writereader.cpp", + } + includedirs { + MAME_DIR .. "3rdparty/bgfx/examples/common", + MAME_DIR .. "3rdparty/bgfx/include", + MAME_DIR .. "3rdparty/bgfx/3rdparty", + MAME_DIR .. "3rdparty/bx/include", + ext_includedir("rapidjson") + } + + if _OPTIONS["NO_USE_PORTAUDIO"]=="1" then + defines { + "NO_USE_PORTAUDIO", + } + else + includedirs { + ext_includedir("portaudio"), + } + end + + if _OPTIONS["NO_USE_MIDI"]=="1" then + defines { + "NO_USE_MIDI", + } + else + includedirs { + ext_includedir("portmidi"), + } + end + + if _OPTIONS["USE_QTDEBUG"]=="1" then + defines { + "USE_QTDEBUG=1", + } + else + defines { + "USE_QTDEBUG=0", + } + end + +end + + +function qtdebuggerbuild() + + removeflags { + "SingleOutputDir", + } + local version = str_to_version(_OPTIONS["gcc_version"]) + if _OPTIONS["gcc"]~=nil and (string.find(_OPTIONS["gcc"], "clang") or string.find(_OPTIONS["gcc"], "asmjs")) then + configuration { "gmake or ninja" } + if (version >= 30600) then + buildoptions { + "-Wno-inconsistent-missing-override", + } + end + configuration { } + end + + files { + MAME_DIR .. "src/osd/modules/debugger/debugqt.cpp", + } + + if _OPTIONS["USE_QTDEBUG"]=="1" then + files { + MAME_DIR .. "src/osd/modules/debugger/qt/debuggerview.cpp", + MAME_DIR .. "src/osd/modules/debugger/qt/debuggerview.h", + MAME_DIR .. "src/osd/modules/debugger/qt/windowqt.cpp", + MAME_DIR .. "src/osd/modules/debugger/qt/windowqt.h", + MAME_DIR .. "src/osd/modules/debugger/qt/logwindow.cpp", + MAME_DIR .. "src/osd/modules/debugger/qt/logwindow.h", + MAME_DIR .. "src/osd/modules/debugger/qt/dasmwindow.cpp", + MAME_DIR .. "src/osd/modules/debugger/qt/dasmwindow.h", + MAME_DIR .. "src/osd/modules/debugger/qt/mainwindow.cpp", + MAME_DIR .. "src/osd/modules/debugger/qt/mainwindow.h", + MAME_DIR .. "src/osd/modules/debugger/qt/memorywindow.cpp", + MAME_DIR .. "src/osd/modules/debugger/qt/memorywindow.h", + MAME_DIR .. "src/osd/modules/debugger/qt/breakpointswindow.cpp", + MAME_DIR .. "src/osd/modules/debugger/qt/breakpointswindow.h", + MAME_DIR .. "src/osd/modules/debugger/qt/deviceswindow.cpp", + MAME_DIR .. "src/osd/modules/debugger/qt/deviceinformationwindow.cpp", + MAME_DIR .. "src/osd/modules/debugger/qt/deviceinformationwindow.h", + MAME_DIR .. "src/osd/modules/debugger/qt/deviceswindow.h", + GEN_DIR .. "osd/modules/debugger/qt/debuggerview.moc.cpp", + GEN_DIR .. "osd/modules/debugger/qt/windowqt.moc.cpp", + GEN_DIR .. "osd/modules/debugger/qt/logwindow.moc.cpp", + GEN_DIR .. "osd/modules/debugger/qt/dasmwindow.moc.cpp", + GEN_DIR .. "osd/modules/debugger/qt/mainwindow.moc.cpp", + GEN_DIR .. "osd/modules/debugger/qt/memorywindow.moc.cpp", + GEN_DIR .. "osd/modules/debugger/qt/breakpointswindow.moc.cpp", + GEN_DIR .. "osd/modules/debugger/qt/deviceswindow.moc.cpp", + GEN_DIR .. "osd/modules/debugger/qt/deviceinformationwindow.moc.cpp", + } + defines { + "USE_QTDEBUG=1", + } + + local MOC = "" + if (os.is("windows")) then + MOC = "moc" + else + if _OPTIONS["QT_HOME"]~=nil then + QMAKETST = backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake --version 2>/dev/null") + if (QMAKETST=='') then + print("Qt's Meta Object Compiler (moc) wasn't found!") + os.exit(1) + end + MOC = _OPTIONS["QT_HOME"] .. "/bin/moc" + else + MOCTST = backtick("which moc-qt5 2>/dev/null") + if (MOCTST=='') then + MOCTST = backtick("which moc 2>/dev/null") + end + if (MOCTST=='') then + print("Qt's Meta Object Compiler (moc) wasn't found!") + os.exit(1) + end + MOC = MOCTST + end + end + + + custombuildtask { + { MAME_DIR .. "src/osd/modules/debugger/qt/debuggerview.h", GEN_DIR .. "osd/modules/debugger/qt/debuggerview.moc.cpp", { }, { MOC .. "$(MOCINCPATH) -b emu.h $(<) -o $(@)" }}, + { MAME_DIR .. "src/osd/modules/debugger/qt/windowqt.h", GEN_DIR .. "osd/modules/debugger/qt/windowqt.moc.cpp", { }, { MOC .. "$(MOCINCPATH) -b emu.h $(<) -o $(@)" }}, + { MAME_DIR .. "src/osd/modules/debugger/qt/logwindow.h", GEN_DIR .. "osd/modules/debugger/qt/logwindow.moc.cpp", { }, { MOC .. "$(MOCINCPATH) -b emu.h $(<) -o $(@)" }}, + { MAME_DIR .. "src/osd/modules/debugger/qt/dasmwindow.h", GEN_DIR .. "osd/modules/debugger/qt/dasmwindow.moc.cpp", { }, { MOC .. "$(MOCINCPATH) -b emu.h $(<) -o $(@)" }}, + { MAME_DIR .. "src/osd/modules/debugger/qt/mainwindow.h", GEN_DIR .. "osd/modules/debugger/qt/mainwindow.moc.cpp", { }, { MOC .. "$(MOCINCPATH) -b emu.h $(<) -o $(@)" }}, + { MAME_DIR .. "src/osd/modules/debugger/qt/memorywindow.h", GEN_DIR .. "osd/modules/debugger/qt/memorywindow.moc.cpp", { }, { MOC .. "$(MOCINCPATH) -b emu.h $(<) -o $(@)" }}, + { MAME_DIR .. "src/osd/modules/debugger/qt/breakpointswindow.h", GEN_DIR .. "osd/modules/debugger/qt/breakpointswindow.moc.cpp", { }, { MOC .. "$(MOCINCPATH) -b emu.h $(<) -o $(@)" }}, + { MAME_DIR .. "src/osd/modules/debugger/qt/deviceswindow.h", GEN_DIR .. "osd/modules/debugger/qt/deviceswindow.moc.cpp", { }, { MOC .. "$(MOCINCPATH) -b emu.h $(<) -o $(@)" }}, + { MAME_DIR .. "src/osd/modules/debugger/qt/deviceinformationwindow.h", GEN_DIR .. "osd/modules/debugger/qt/deviceinformationwindow.moc.cpp", { },{ MOC .. "$(MOCINCPATH) -b emu.h $(<) -o $(@)" }}, + + } + + if _OPTIONS["targetos"]=="windows" then + configuration { "mingw*" } + buildoptions { + "-I$(shell qmake -query QT_INSTALL_HEADERS)", + } + configuration { } + elseif _OPTIONS["targetos"]=="macosx" then + buildoptions { + "-F" .. backtick("qmake -query QT_INSTALL_LIBS"), + } + else + if _OPTIONS["QT_HOME"]~=nil then + buildoptions { + "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_HEADERS"), + } + else + buildoptions { + backtick(pkgconfigcmd() .. " --cflags Qt5Widgets"), + } + end + end + else + defines { + "USE_QTDEBUG=0", + } + end + +end + + +function osdmodulestargetconf() + + if _OPTIONS["NO_OPENGL"]~="1" then + if _OPTIONS["targetos"]=="macosx" then + links { + "OpenGL.framework", + } + elseif _OPTIONS["USE_DISPATCH_GL"]~="1" then + if _OPTIONS["targetos"]=="windows" then + links { + "opengl32", + } + else + links { + "GL", + } + end + end + end + + if _OPTIONS["NO_USE_MIDI"]~="1" then + if _OPTIONS["targetos"]=="linux" then + local str = backtick(pkgconfigcmd() .. " --libs alsa") + addlibfromstring(str) + addoptionsfromstring(str) + elseif _OPTIONS["targetos"]=="macosx" then + links { + "CoreMIDI.framework", + } + end + end + + if _OPTIONS["USE_QTDEBUG"]=="1" then + if _OPTIONS["targetos"]=="windows" then + linkoptions { + "-L$(shell qmake -query QT_INSTALL_LIBS)", + } + links { + "Qt5Core.dll", + "Qt5Gui.dll", + "Qt5Widgets.dll", + } + elseif _OPTIONS["targetos"]=="macosx" then + linkoptions { + "-F" .. backtick("qmake -query QT_INSTALL_LIBS"), + } + links { + "Qt5Core.framework", + "Qt5Gui.framework", + "Qt5Widgets.framework", + } + else + if _OPTIONS["QT_HOME"]~=nil then + linkoptions { + "-L" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_LIBS"), + } + links { + "Qt5Core", + "Qt5Gui", + "Qt5Widgets", + } + else + local str = backtick(pkgconfigcmd() .. " --libs Qt5Widgets") + addlibfromstring(str) + addoptionsfromstring(str) + end + end + end + + if _OPTIONS["targetos"]=="windows" then + links { + "gdi32", + "dsound", + "dxguid", + "oleaut32", + "winmm", + } + elseif _OPTIONS["targetos"]=="macosx" then + links { + "AudioUnit.framework", + "AudioToolbox.framework", + "CoreAudio.framework", + "CoreServices.framework", + } + end + +end + + +newoption { + trigger = "DONT_USE_NETWORK", + description = "Disable network access", +} + +newoption { + trigger = "NO_OPENGL", + description = "Disable use of OpenGL", + allowed = { + { "0", "Enable OpenGL" }, + { "1", "Disable OpenGL" }, + }, +} + +newoption { + trigger = "USE_DISPATCH_GL", + description = "Use GL-dispatching", + allowed = { + { "0", "Link to OpenGL library" }, + { "1", "Use GL-dispatching" }, + }, +} + +if not _OPTIONS["USE_DISPATCH_GL"] then + _OPTIONS["USE_DISPATCH_GL"] = "0" +end + +newoption { + trigger = "NO_USE_MIDI", + description = "Disable MIDI I/O", + allowed = { + { "0", "Enable MIDI" }, + { "1", "Disable MIDI" }, + }, +} + +if not _OPTIONS["NO_USE_MIDI"] then + if _OPTIONS["targetos"]=="freebsd" or _OPTIONS["targetos"]=="openbsd" or _OPTIONS["targetos"]=="netbsd" or _OPTIONS["targetos"]=="solaris" or _OPTIONS["targetos"]=="haiku" or _OPTIONS["targetos"] == "asmjs" then + _OPTIONS["NO_USE_MIDI"] = "1" + else + _OPTIONS["NO_USE_MIDI"] = "0" + end +end + +newoption { + trigger = "NO_USE_PORTAUDIO", + description = "Disable PortAudio interface", + allowed = { + { "0", "Enable PortAudio" }, + { "1", "Disable PortAudio" }, + }, +} + +if not _OPTIONS["NO_USE_PORTAUDIO"] then + if _OPTIONS["targetos"]=="windows" or _OPTIONS["targetos"]=="linux" or _OPTIONS["targetos"]=="macosx" then + _OPTIONS["NO_USE_PORTAUDIO"] = "0" + else + _OPTIONS["NO_USE_PORTAUDIO"] = "1" + end +end + +newoption { + trigger = "MODERN_WIN_API", + description = "Use Modern Windows APIs", + allowed = { + { "0", "Use classic Windows APIs - allows support for XP and later" }, + { "1", "Use Modern Windows APIs - support for Windows 8.1 and later" }, + }, +} + +newoption { + trigger = "USE_QTDEBUG", + description = "Use QT debugger", + allowed = { + { "0", "Don't use Qt debugger" }, + { "1", "Use Qt debugger" }, + }, +} + +newoption { + trigger = "QT_HOME", + description = "QT lib location", +} + + +if not _OPTIONS["USE_QTDEBUG"] then + if _OPTIONS["targetos"]=="windows" or _OPTIONS["targetos"]=="macosx" or _OPTIONS["targetos"]=="solaris" or _OPTIONS["targetos"]=="haiku" or _OPTIONS["targetos"] == "asmjs" then + _OPTIONS["USE_QTDEBUG"] = "0" + else + _OPTIONS["USE_QTDEBUG"] = "1" + end +end diff --git a/docs/release/scripts/src/osd/newui.lua b/docs/release/scripts/src/osd/newui.lua new file mode 100644 index 00000000000..425eb50ba12 --- /dev/null +++ b/docs/release/scripts/src/osd/newui.lua @@ -0,0 +1,273 @@ +-- license:BSD-3-Clause +-- copyright-holders:Robbbert + +--------------------------------------------------------------------------- +-- +-- newui.lua +-- +-- Rules for the building for Windows +-- +--------------------------------------------------------------------------- + +dofile("modules.lua") + +premake.make.linkoptions_after = false; + +function maintargetosdoptions(_target,_subtarget) + osdmodulestargetconf() + + configuration { "mingw*" } + links { + "mingw32", + } + + configuration { } + + if _OPTIONS["DIRECTINPUT"] == "8" then + links { + "dinput8", + } + else + links { + "dinput", + } + end + + links { + "comctl32", + "comdlg32", + "psapi", + "ole32", + } + +-- needs same resources as messui, because dropdown menus are in mameui.rc + override_resources = true; + rctarget = _subtarget; + local rcfile = MAME_DIR .. "src/osd/winui/" .. _subtarget .. ".rc" + local uifile = MAME_DIR .. "src/osd/winui/mameui.rc" + + if not os.isfile(rcfile) then + print(string.format("***** %s not found *****",rcfile)) + os.exit(); + end + + if not os.isfile(uifile) then + print(string.format("***** %s not found *****",uifile)) + os.exit(); + end + + files { + rcfile, + } + dependency { + { "$(OBJDIR)/".._subtarget..".res" , GEN_DIR .. "/resource/".._subtarget.."vers.rc", true }, + } +end + + +newoption { + trigger = "DIRECTINPUT", + description = "Minimum DirectInput version to support", + allowed = { + { "7", "Support DirectInput 7 or later" }, + { "8", "Support DirectInput 8 or later" }, + }, +} + +if not _OPTIONS["DIRECTINPUT"] then + _OPTIONS["DIRECTINPUT"] = "8" +end + + +project ("qtdbg_" .. _OPTIONS["osd"]) + uuid (os.uuid("qtdbg_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + dofile("windows_cfg.lua") + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", -- accessing imagedev from debugger + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + } + qtdebuggerbuild() + +project ("osd_" .. _OPTIONS["osd"]) + uuid (os.uuid("osd_" .. _OPTIONS["osd"])) + kind "StaticLib" + + dofile("winui_cfg.lua") + osdmodulesbuild() + + defines { + "DIRECT3D_VERSION=0x0900", + } + + if _OPTIONS["DIRECTINPUT"] == "8" then + defines { + "DIRECTINPUT_VERSION=0x0800", + } + else + defines { + "DIRECTINPUT_VERSION=0x0700", + } + end + + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/file", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + MAME_DIR .. "src/frontend/mame", + MAME_DIR .. "src/osd/windows", + } + + files { + MAME_DIR .. "src/osd/modules/render/d3d/d3dintf.h", + MAME_DIR .. "src/osd/modules/render/d3d/d3dhlsl.cpp", + MAME_DIR .. "src/osd/modules/render/d3d/d3dcomm.h", + MAME_DIR .. "src/osd/modules/render/d3d/d3dhlsl.h", + MAME_DIR .. "src/osd/modules/render/drawd3d.cpp", + MAME_DIR .. "src/osd/modules/render/drawd3d.h", + MAME_DIR .. "src/osd/modules/render/drawgdi.cpp", + MAME_DIR .. "src/osd/modules/render/drawgdi.h", + MAME_DIR .. "src/osd/modules/render/drawnone.cpp", + MAME_DIR .. "src/osd/modules/render/drawnone.h", + MAME_DIR .. "src/osd/windows/video.cpp", + MAME_DIR .. "src/osd/windows/video.h", + MAME_DIR .. "src/osd/windows/window.cpp", + MAME_DIR .. "src/osd/windows/window.h", + MAME_DIR .. "src/osd/modules/osdwindow.cpp", + MAME_DIR .. "src/osd/modules/osdwindow.h", + MAME_DIR .. "src/osd/windows/winmain.cpp", + MAME_DIR .. "src/osd/windows/winmain.h", + MAME_DIR .. "src/osd/osdepend.h", + MAME_DIR .. "src/osd/winui/newui.cpp", + MAME_DIR .. "src/osd/windows/winmain.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/consolewininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/consolewininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugbaseinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/debugbaseinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/debugviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/debugwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/disasmbasewininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/disasmbasewininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/disasmviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/disasmviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/disasmwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/disasmwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/editwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/editwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/logviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/logviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/logwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/logwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/memoryviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/memoryviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/memorywininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/memorywininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/pointswininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/pointswininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/uimetrics.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/uimetrics.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugwin.h", + } + + +project ("ocore_" .. _OPTIONS["osd"]) + uuid (os.uuid("ocore_" .. _OPTIONS["osd"])) + kind "StaticLib" + + options { + "ForceCPP", + } + removeflags { + "SingleOutputDir", + } + + dofile("windows_cfg.lua") + + includedirs { + MAME_DIR .. "3rdparty", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/osd", + MAME_DIR .. "src/osd/modules/file", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + } + + BASE_TARGETOS = "win32" + SDLOS_TARGETOS = "win32" + SYNC_IMPLEMENTATION = "windows" + + includedirs { + MAME_DIR .. "src/osd/windows", + MAME_DIR .. "src/lib/winpcap", + } + + files { + MAME_DIR .. "src/osd/eigccppc.h", + MAME_DIR .. "src/osd/eigccx86.h", + MAME_DIR .. "src/osd/eivc.h", + MAME_DIR .. "src/osd/eivcx86.h", + MAME_DIR .. "src/osd/eminline.h", + MAME_DIR .. "src/osd/osdcomm.h", + MAME_DIR .. "src/osd/osdcore.cpp", + MAME_DIR .. "src/osd/osdcore.h", + MAME_DIR .. "src/osd/strconv.cpp", + MAME_DIR .. "src/osd/strconv.h", + MAME_DIR .. "src/osd/windows/main.cpp", + MAME_DIR .. "src/osd/osdsync.cpp", + MAME_DIR .. "src/osd/osdsync.h", + MAME_DIR .. "src/osd/windows/winutf8.cpp", + MAME_DIR .. "src/osd/windows/winutf8.h", + MAME_DIR .. "src/osd/windows/winutil.cpp", + MAME_DIR .. "src/osd/windows/winutil.h", + MAME_DIR .. "src/osd/modules/osdmodule.cpp", + MAME_DIR .. "src/osd/modules/osdmodule.h", + MAME_DIR .. "src/osd/modules/file/windir.cpp", + MAME_DIR .. "src/osd/modules/file/winfile.cpp", + MAME_DIR .. "src/osd/modules/file/winfile.h", + MAME_DIR .. "src/osd/modules/file/winptty.cpp", + MAME_DIR .. "src/osd/modules/file/winsocket.cpp", + MAME_DIR .. "src/osd/modules/lib/osdlib_win32.cpp", + } + + + +-------------------------------------------------- +-- ledutil +-------------------------------------------------- + +if _OPTIONS["with-tools"] then + project("ledutil") + uuid ("061293ca-7290-44ac-b2b5-5913ae8dc9c0") + kind "ConsoleApp" + + options { + "ForceCPP", + } + + targetdir(MAME_DIR) + + links { + "ocore_" .. _OPTIONS["osd"], + } + + includedirs { + MAME_DIR .. "src/osd", + } + + files { + MAME_DIR .. "src/osd/windows/ledutil.cpp", + } +end diff --git a/docs/release/scripts/src/osd/osdmini.lua b/docs/release/scripts/src/osd/osdmini.lua new file mode 100644 index 00000000000..b05839e7873 --- /dev/null +++ b/docs/release/scripts/src/osd/osdmini.lua @@ -0,0 +1,130 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- osdmini.lua +-- +-- Rules for the building of osdmini +-- +--------------------------------------------------------------------------- + +function maintargetosdoptions(_target,_subtarget) +end + +project ("qtdbg_" .. _OPTIONS["osd"]) + uuid (os.uuid("qtdbg_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + dofile("osdmini_cfg.lua") + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", -- accessing imagedev from debugger + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + } + removeflags { + "SingleOutputDir", + } + + files { + MAME_DIR .. "src/osd/modules/debugger/debugqt.cpp", + } + +project ("osd_" .. _OPTIONS["osd"]) + uuid (os.uuid("osd_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + removeflags { + "SingleOutputDir", + } + + dofile("osdmini_cfg.lua") + + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/sdl", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + MAME_DIR .. "3rdparty/winpcap/Include", + MAME_DIR .. "3rdparty/bgfx/include", + MAME_DIR .. "3rdparty/bx/include", + } + + files { + MAME_DIR .. "src/osd/osdnet.cpp", + MAME_DIR .. "src/osd/osdnet.h", + MAME_DIR .. "src/osd/osdmini/minimain.cpp", + MAME_DIR .. "src/osd/osdmini/osdmini.h", + MAME_DIR .. "src/osd/osdepend.h", + MAME_DIR .. "src/osd/modules/lib/osdobj_common.cpp", + MAME_DIR .. "src/osd/modules/lib/osdobj_common.h", + MAME_DIR .. "src/osd/modules/font/font_sdl.cpp", + MAME_DIR .. "src/osd/modules/font/font_windows.cpp", + MAME_DIR .. "src/osd/modules/font/font_osx.cpp", + MAME_DIR .. "src/osd/modules/font/font_none.cpp", + MAME_DIR .. "src/osd/modules/netdev/taptun.cpp", + MAME_DIR .. "src/osd/modules/netdev/pcap.cpp", + MAME_DIR .. "src/osd/modules/netdev/none.cpp", + MAME_DIR .. "src/osd/modules/midi/portmidi.cpp", + MAME_DIR .. "src/osd/modules/midi/none.cpp", + MAME_DIR .. "src/osd/modules/sound/js_sound.cpp", + MAME_DIR .. "src/osd/modules/sound/direct_sound.cpp", + MAME_DIR .. "src/osd/modules/sound/coreaudio_sound.cpp", + MAME_DIR .. "src/osd/modules/sound/sdl_sound.cpp", + MAME_DIR .. "src/osd/modules/sound/none.cpp", + MAME_DIR .. "src/osd/modules/sound/xaudio2_sound.cpp", + } + +project ("ocore_" .. _OPTIONS["osd"]) + uuid (os.uuid("ocore_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + removeflags { + "SingleOutputDir", + } + + dofile("osdmini_cfg.lua") + + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + } + + if _OPTIONS["targetos"]=="linux" then + BASE_TARGETOS = "unix" + SDLOS_TARGETOS = "unix" + SYNC_IMPLEMENTATION = "tc" + end + + if _OPTIONS["targetos"]=="windows" then + BASE_TARGETOS = "win32" + SDLOS_TARGETOS = "win32" + SYNC_IMPLEMENTATION = "windows" + end + + if _OPTIONS["targetos"]=="macosx" then + BASE_TARGETOS = "unix" + SDLOS_TARGETOS = "macosx" + SYNC_IMPLEMENTATION = "ntc" + end + + files { + MAME_DIR .. "src/osd/osdcore.cpp", + MAME_DIR .. "src/osd/osdcore.h", + MAME_DIR .. "src/osd/modules/osdmodule.cpp", + MAME_DIR .. "src/osd/modules/osdmodule.h", + MAME_DIR .. "src/osd/osdmini/minidir.cpp", + MAME_DIR .. "src/osd/osdmini/minifile.cpp", + MAME_DIR .. "src/osd/osdmini/minimisc.cpp", + MAME_DIR .. "src/osd/osdmini/minitime.cpp", + MAME_DIR .. "src/osd/modules/sync/work_mini.cpp", + } diff --git a/docs/release/scripts/src/osd/osdmini_cfg.lua b/docs/release/scripts/src/osd/osdmini_cfg.lua new file mode 100644 index 00000000000..586075d3cac --- /dev/null +++ b/docs/release/scripts/src/osd/osdmini_cfg.lua @@ -0,0 +1,12 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +defines { + "OSD_MINI", + "USE_QTDEBUG=0", + "USE_SDL", + "SDLMAME_NOASM=1", + "USE_OPENGL=0", + "NO_USE_MIDI=1", + "USE_XAUDIO2=0", +} diff --git a/docs/release/scripts/src/osd/sdl.lua b/docs/release/scripts/src/osd/sdl.lua new file mode 100644 index 00000000000..9485fcc553c --- /dev/null +++ b/docs/release/scripts/src/osd/sdl.lua @@ -0,0 +1,506 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- sdl.lua +-- +-- Rules for the building with SDL +-- +--------------------------------------------------------------------------- + +dofile("modules.lua") + + +function maintargetosdoptions(_target,_subtarget) + osdmodulestargetconf() + + if _OPTIONS["USE_DISPATCH_GL"]~="1" and _OPTIONS["MESA_INSTALL_ROOT"] then + libdirs { + path.join(_OPTIONS["MESA_INSTALL_ROOT"],"lib"), + } + linkoptions { + "-Wl,-rpath=" .. path.join(_OPTIONS["MESA_INSTALL_ROOT"],"lib"), + } + end + + if _OPTIONS["NO_X11"]~="1" then + links { + "X11", + "Xinerama", + } + end + + if _OPTIONS["NO_USE_XINPUT"]~="1" then + links { + "Xext", + "Xi", + } + end + + if BASE_TARGETOS=="unix" and _OPTIONS["targetos"]~="macosx" and _OPTIONS["targetos"]~="android" then + links { + "SDL2_ttf", + } + local str = backtick(pkgconfigcmd() .. " --libs fontconfig") + addlibfromstring(str) + addoptionsfromstring(str) + end + + if _OPTIONS["targetos"]=="windows" then + if _OPTIONS["with-bundled-sdl2"]~=nil then + configuration { "mingw*"} + links { + "SDL2", + "imm32", + "version", + "ole32", + "oleaut32", + } + configuration { "vs*" } + links { + "SDL2", + "imm32", + "version", + } + configuration { } + else + if _OPTIONS["USE_LIBSDL"]~="1" then + configuration { "mingw*"} + links { + "SDL2main", + "SDL2", + } + configuration { "vs*" } + links { + "SDL2", + "imm32", + "version", + } + configuration { } + else + local str = backtick(sdlconfigcmd() .. " --libs | sed 's/ -lSDLmain//'") + addlibfromstring(str) + addoptionsfromstring(str) + end + configuration { "x32", "vs*" } + libdirs { + path.join(_OPTIONS["SDL_INSTALL_ROOT"],"lib","x86") + } + configuration { "x64", "vs*" } + libdirs { + path.join(_OPTIONS["SDL_INSTALL_ROOT"],"lib","x64") + } + configuration { } + end + links { + "psapi", + } + elseif _OPTIONS["targetos"]=="haiku" then + links { + "network", + "bsd", + } + end + + configuration { "mingw*" or "vs*" } + targetprefix "sdl" + links { + "psapi", + "ole32", + } + configuration { } + + if _OPTIONS["targetos"]=="macosx" then + if _OPTIONS["with-bundled-sdl2"]~=nil then + links { + "SDL2", + } + end + end + +end + + +function sdlconfigcmd() + if _OPTIONS["targetos"]=="asmjs" then + return "sdl2-config" + elseif not _OPTIONS["SDL_INSTALL_ROOT"] then + return pkgconfigcmd() .. " sdl2" + else + return path.join(_OPTIONS["SDL_INSTALL_ROOT"],"bin","sdl2") .. "-config" + end +end + + +newoption { + trigger = "MESA_INSTALL_ROOT", + description = "link against specific GL-Library - also adds rpath to executable (overridden by USE_DISPATCH_GL)", +} + +newoption { + trigger = "SDL_INI_PATH", + description = "Default search path for .ini files", +} + +newoption { + trigger = "NO_X11", + description = "Disable use of X11", + allowed = { + { "0", "Enable X11" }, + { "1", "Disable X11" }, + }, +} + +if not _OPTIONS["NO_X11"] then + if _OPTIONS["targetos"]=="windows" or _OPTIONS["targetos"]=="macosx" or _OPTIONS["targetos"]=="haiku" or _OPTIONS["targetos"]=="asmjs" then + _OPTIONS["NO_X11"] = "1" + else + _OPTIONS["NO_X11"] = "0" + end +end + +newoption { + trigger = "NO_USE_XINPUT", + description = "Disable use of Xinput", + allowed = { + { "0", "Enable Xinput" }, + { "1", "Disable Xinput" }, + }, +} + +if not _OPTIONS["NO_USE_XINPUT"] then + if _OPTIONS["targetos"]=="windows" or _OPTIONS["targetos"]=="macosx" or _OPTIONS["targetos"]=="haiku" or _OPTIONS["targetos"]=="asmjs" then + _OPTIONS["NO_USE_XINPUT"] = "1" + else + _OPTIONS["NO_USE_XINPUT"] = "0" + end +end + +newoption { + trigger = "NO_USE_XINPUT_WII_LIGHTGUN_HACK", + description = "Disable use of Xinput Wii Lightgun Hack", + allowed = { + { "0", "Enable Xinput Wii Lightgun Hack" }, + { "1", "Disable Xinput Wii Lightgun Hack" }, + }, +} + +if not _OPTIONS["NO_USE_XINPUT_WII_LIGHTGUN_HACK"] then + _OPTIONS["NO_USE_XINPUT_WII_LIGHTGUN_HACK"] = "1" +end + +newoption { + trigger = "SDL2_MULTIAPI", + description = "Use couriersud's multi-keyboard patch for SDL 2.1? (this API was removed prior to the 2.0 release)", + allowed = { + { "0", "Use single-keyboard API" }, + { "1", "Use multi-keyboard API" }, + }, +} + +if not _OPTIONS["SDL2_MULTIAPI"] then + _OPTIONS["SDL2_MULTIAPI"] = "0" +end + +newoption { + trigger = "SDL_INSTALL_ROOT", + description = "Equivalent to the ./configure --prefix=<path>", +} + +newoption { + trigger = "SDL_FRAMEWORK_PATH", + description = "Location of SDL framework for custom OS X installations", +} + +if not _OPTIONS["SDL_FRAMEWORK_PATH"] then + _OPTIONS["SDL_FRAMEWORK_PATH"] = "/Library/Frameworks/" +end + +newoption { + trigger = "USE_LIBSDL", + description = "Use SDL library on OS (rather than framework/dll)", + allowed = { + { "0", "Use framework/dll" }, + { "1", "Use library" }, + }, +} + +if not _OPTIONS["USE_LIBSDL"] then + _OPTIONS["USE_LIBSDL"] = "0" +end + + +BASE_TARGETOS = "unix" +SDLOS_TARGETOS = "unix" +SDL_NETWORK = "" +if _OPTIONS["targetos"]=="linux" then + SDL_NETWORK = "taptun" +elseif _OPTIONS["targetos"]=="openbsd" then +elseif _OPTIONS["targetos"]=="netbsd" then + SDL_NETWORK = "pcap" +elseif _OPTIONS["targetos"]=="haiku" then +elseif _OPTIONS["targetos"]=="asmjs" then +elseif _OPTIONS["targetos"]=="windows" then + BASE_TARGETOS = "win32" + SDLOS_TARGETOS = "win32" + SDL_NETWORK = "pcap" +elseif _OPTIONS["targetos"]=="macosx" then + SDLOS_TARGETOS = "macosx" + SDL_NETWORK = "pcap" +end + +if _OPTIONS["with-bundled-sdl2"]~=nil then + includedirs { + GEN_DIR .. "includes", + } +end +if BASE_TARGETOS=="unix" then + if _OPTIONS["targetos"]=="macosx" then + local os_version = str_to_version(backtick("sw_vers -productVersion")) + + links { + "Cocoa.framework", + } + linkoptions { + "-framework QuartzCore", + "-framework OpenGL", + } + + + if os_version>=101100 then + linkoptions { + "-weak_framework Metal", + } + end + if _OPTIONS["with-bundled-sdl2"]~=nil then + linkoptions { + "-framework AudioUnit", + "-framework CoreAudio", + "-framework Carbon", + "-framework ForceFeedback", + "-framework IOKit", + "-framework CoreVideo", + } + else + if _OPTIONS["USE_LIBSDL"]~="1" then + linkoptions { + "-F" .. _OPTIONS["SDL_FRAMEWORK_PATH"], + } + links { + "SDL2.framework", + } + else + local str = backtick(sdlconfigcmd() .. " --libs --static | sed 's/-lSDLmain//'") + addlibfromstring(str) + addoptionsfromstring(str) + end + end + else + if _OPTIONS["NO_X11"]=="1" then + _OPTIONS["USE_QTDEBUG"] = "0" + else + libdirs { + "/usr/X11/lib", + "/usr/X11R6/lib", + "/usr/openwin/lib", + } + end + if _OPTIONS["with-bundled-sdl2"]~=nil then + if _OPTIONS["targetos"]~="android" then + links { + "SDL2", + } + end + else + local str = backtick(sdlconfigcmd() .. " --libs") + addlibfromstring(str) + addoptionsfromstring(str) + end + + if _OPTIONS["targetos"]~="haiku" and _OPTIONS["targetos"]~="android" then + links { + "m", + "pthread", + } + if _OPTIONS["targetos"]=="solaris" then + links { + "socket", + "nsl", + } + else + links { + "util", + } + end + end + end +end + +project ("qtdbg_" .. _OPTIONS["osd"]) + uuid (os.uuid("qtdbg_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + dofile("sdl_cfg.lua") + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", -- accessing imagedev from debugger + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + } + configuration { "linux-* or freebsd" } + buildoptions { + "-fPIC", + } + configuration { } + + qtdebuggerbuild() + +project ("osd_" .. _OPTIONS["osd"]) + targetsubdir(_OPTIONS["target"] .."_" .._OPTIONS["subtarget"]) + uuid (os.uuid("osd_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + dofile("sdl_cfg.lua") + osdmodulesbuild() + + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", -- accessing imagedev from debugger + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/file", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + MAME_DIR .. "src/osd/sdl", + } + + if _OPTIONS["targetos"]=="windows" then + files { + MAME_DIR .. "src/osd/windows/main.cpp", + } + end + + if _OPTIONS["targetos"]=="macosx" then + files { + MAME_DIR .. "src/osd/modules/debugger/debugosx.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/breakpointsview.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/breakpointsview.h", + MAME_DIR .. "src/osd/modules/debugger/osx/consoleview.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/consoleview.h", + MAME_DIR .. "src/osd/modules/debugger/osx/debugcommandhistory.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/debugcommandhistory.h", + MAME_DIR .. "src/osd/modules/debugger/osx/debugconsole.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/debugconsole.h", + MAME_DIR .. "src/osd/modules/debugger/osx/debugview.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/debugview.h", + MAME_DIR .. "src/osd/modules/debugger/osx/debugwindowhandler.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/debugwindowhandler.h", + MAME_DIR .. "src/osd/modules/debugger/osx/deviceinfoviewer.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/deviceinfoviewer.h", + MAME_DIR .. "src/osd/modules/debugger/osx/devicesviewer.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/devicesviewer.h", + MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyview.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyviewer.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyviewer.h", + MAME_DIR .. "src/osd/modules/debugger/osx/errorlogview.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/errorlogview.h", + MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyview.h", + MAME_DIR .. "src/osd/modules/debugger/osx/errorlogviewer.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/errorlogviewer.h", + MAME_DIR .. "src/osd/modules/debugger/osx/memoryview.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/memoryview.h", + MAME_DIR .. "src/osd/modules/debugger/osx/memoryviewer.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/memoryviewer.h", + MAME_DIR .. "src/osd/modules/debugger/osx/pointsviewer.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/pointsviewer.h", + MAME_DIR .. "src/osd/modules/debugger/osx/registersview.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/registersview.h", + MAME_DIR .. "src/osd/modules/debugger/osx/watchpointsview.mm", + MAME_DIR .. "src/osd/modules/debugger/osx/watchpointsview.h", + MAME_DIR .. "src/osd/modules/debugger/osx/debugosx.h", + } + end + + files { + MAME_DIR .. "src/osd/sdl/osdsdl.h", + MAME_DIR .. "src/osd/sdl/sdlprefix.h", + MAME_DIR .. "src/osd/sdl/sdlmain.cpp", + MAME_DIR .. "src/osd/osdepend.h", + MAME_DIR .. "src/osd/sdl/video.cpp", + MAME_DIR .. "src/osd/sdl/window.cpp", + MAME_DIR .. "src/osd/sdl/window.h", + MAME_DIR .. "src/osd/modules/osdwindow.cpp", + MAME_DIR .. "src/osd/modules/osdwindow.h", + MAME_DIR .. "src/osd/modules/render/drawsdl.cpp", + } + files { + MAME_DIR .. "src/osd/modules/render/draw13.cpp", + MAME_DIR .. "src/osd/modules/render/blit13.h", + } + + +project ("ocore_" .. _OPTIONS["osd"]) + targetsubdir(_OPTIONS["target"] .."_" .. _OPTIONS["subtarget"]) + uuid (os.uuid("ocore_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + removeflags { + "SingleOutputDir", + } + + dofile("sdl_cfg.lua") + + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/sdl", + } + + files { + MAME_DIR .. "src/osd/osdcore.cpp", + MAME_DIR .. "src/osd/osdcore.h", + MAME_DIR .. "src/osd/strconv.cpp", + MAME_DIR .. "src/osd/strconv.h", + MAME_DIR .. "src/osd/osdsync.cpp", + MAME_DIR .. "src/osd/osdsync.h", + MAME_DIR .. "src/osd/modules/osdmodule.cpp", + MAME_DIR .. "src/osd/modules/osdmodule.h", + MAME_DIR .. "src/osd/modules/lib/osdlib_" .. SDLOS_TARGETOS .. ".cpp", + MAME_DIR .. "src/osd/modules/lib/osdlib.h", + } + + if BASE_TARGETOS=="unix" then + files { + MAME_DIR .. "src/osd/modules/file/posixdir.cpp", + MAME_DIR .. "src/osd/modules/file/posixdomain.cpp", + MAME_DIR .. "src/osd/modules/file/posixfile.cpp", + MAME_DIR .. "src/osd/modules/file/posixfile.h", + MAME_DIR .. "src/osd/modules/file/posixptty.cpp", + MAME_DIR .. "src/osd/modules/file/posixsocket.cpp", + } + elseif BASE_TARGETOS=="win32" then + includedirs { + MAME_DIR .. "src/osd/windows", + } + files { + MAME_DIR .. "src/osd/modules/file/windir.cpp", + MAME_DIR .. "src/osd/modules/file/winfile.cpp", + MAME_DIR .. "src/osd/modules/file/winfile.h", + MAME_DIR .. "src/osd/modules/file/winptty.cpp", + MAME_DIR .. "src/osd/modules/file/winsocket.cpp", + MAME_DIR .. "src/osd/windows/winutil.cpp", -- FIXME put the necessary functions somewhere more appropriate + } + else + files { + MAME_DIR .. "src/osd/modules/file/stdfile.cpp", + } + end + + diff --git a/docs/release/scripts/src/osd/sdl_cfg.lua b/docs/release/scripts/src/osd/sdl_cfg.lua new file mode 100644 index 00000000000..ad3750184fd --- /dev/null +++ b/docs/release/scripts/src/osd/sdl_cfg.lua @@ -0,0 +1,165 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +dofile('modules.lua') + +forcedincludes { + MAME_DIR .. "src/osd/sdl/sdlprefix.h" +} + +if SDL_NETWORK~="" and not _OPTIONS["DONT_USE_NETWORK"] then + defines { + "USE_NETWORK", + "OSD_NET_USE_" .. string.upper(SDL_NETWORK), + } +end + +if _OPTIONS["NO_OPENGL"]~="1" and _OPTIONS["USE_DISPATCH_GL"]~="1" and _OPTIONS["MESA_INSTALL_ROOT"] then + includedirs { + path.join(_OPTIONS["MESA_INSTALL_ROOT"],"include"), + } +end + +if _OPTIONS["SDL_INI_PATH"]~=nil then + defines { + "'INI_PATH=\"" .. _OPTIONS["SDL_INI_PATH"] .. "\"'", + } +end + +if _OPTIONS["NO_X11"]=="1" then + defines { + "SDLMAME_NO_X11", + } +else + defines { + "SDLMAME_X11", + } + includedirs { + "/usr/X11/include", + "/usr/X11R6/include", + "/usr/openwin/include", + } +end + +if _OPTIONS["NO_USE_XINPUT"]=="1" then + defines { + "USE_XINPUT=0", + } +else + defines { + "USE_XINPUT=1", + "USE_XINPUT_DEBUG=0", + } +end + +if _OPTIONS["NO_USE_XINPUT_WII_LIGHTGUN_HACK"]=="1" then + defines { + "USE_XINPUT_WII_LIGHTGUN_HACK=0", + } +else + defines { + "USE_XINPUT_WII_LIGHTGUN_HACK=1", + } +end + +if _OPTIONS["NO_USE_MIDI"]~="1" and _OPTIONS["targetos"]=="linux" then + buildoptions { + backtick(pkgconfigcmd() .. " --cflags alsa"), + } +end + +defines { + "SDLMAME_SDL2=1", +} +if _OPTIONS["SDL2_MULTIAPI"]=="1" then + defines { + "SDL2_MULTIAPI", + } +end + +defines { + "OSD_SDL", +} + +if BASE_TARGETOS=="unix" then + defines { + "SDLMAME_UNIX", + } + if _OPTIONS["targetos"]=="macosx" then + if _OPTIONS["with-bundled-sdl2"]==nil then + if _OPTIONS["USE_LIBSDL"]~="1" then + buildoptions { + "-F" .. _OPTIONS["SDL_FRAMEWORK_PATH"], + } + else + defines { + "MACOSX_USE_LIBSDL", + } + buildoptions { + backtick(sdlconfigcmd() .. " --cflags | sed 's:/SDL2::'"), + } + end + end + else + buildoptions { + backtick(sdlconfigcmd() .. " --cflags"), + } + if _OPTIONS["targetos"]~="asmjs" then + buildoptions { + backtick(pkgconfigcmd() .. " --cflags fontconfig"), + } + end + end +end + +if _OPTIONS["targetos"]=="windows" then + configuration { "mingw* or vs*" } + defines { + "UNICODE", + "_UNICODE", + "_WIN32_WINNT=0x0501", + "WIN32_LEAN_AND_MEAN", + "NOMINMAX", + } + + configuration { } + +elseif _OPTIONS["targetos"]=="linux" then + if _OPTIONS["QT_HOME"]~=nil then + buildoptions { + "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_HEADERS"), + } + else + buildoptions { + backtick(pkgconfigcmd() .. " --cflags Qt5Widgets"), + } + end +elseif _OPTIONS["targetos"]=="macosx" then + defines { + "SDLMAME_MACOSX", + "SDLMAME_DARWIN", + } +elseif _OPTIONS["targetos"]=="freebsd" then + buildoptions { + -- /usr/local/include is not considered a system include director on FreeBSD. GL.h resides there and throws warnings + "-isystem /usr/local/include", + } +end + +configuration { "osx*" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/osx", + } + +configuration { "freebsd" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/freebsd", + } + +configuration { "netbsd" } + includedirs { + MAME_DIR .. "3rdparty/bx/include/compat/freebsd", + } + +configuration { } + diff --git a/docs/release/scripts/src/osd/uwp.lua b/docs/release/scripts/src/osd/uwp.lua new file mode 100644 index 00000000000..47e8e149e24 --- /dev/null +++ b/docs/release/scripts/src/osd/uwp.lua @@ -0,0 +1,121 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- uwp.lua +-- +-- Rules for the building of UWP OSD +-- +--------------------------------------------------------------------------- + +dofile("modules.lua") + +function maintargetosdoptions(_target,_subtarget) +end + +project ("qtdbg_" .. _OPTIONS["osd"]) + uuid (os.uuid("qtdbg_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + dofile("uwp_cfg.lua") + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", -- accessing imagedev from debugger + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + } + removeflags { + "SingleOutputDir", + } + + files { + MAME_DIR .. "src/osd/modules/debugger/debugqt.cpp", + } + +project ("osd_" .. _OPTIONS["osd"]) + uuid (os.uuid("osd_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + removeflags { + "SingleOutputDir", + } + + dofile("uwp_cfg.lua") + osdmodulesbuild() + + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", -- accessing imagedev from debugger + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/file", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + } + + includedirs { + MAME_DIR .. "src/osd/uwp", + MAME_DIR .. "src/osd/windows", + } + + files { + MAME_DIR .. "src/osd/uwp/video.cpp", + MAME_DIR .. "src/osd/uwp/video.h", + MAME_DIR .. "src/osd/uwp/window.cpp", + MAME_DIR .. "src/osd/uwp/window.h", + MAME_DIR .. "src/osd/windows/winutf8.cpp", + MAME_DIR .. "src/osd/windows/winutf8.h", + MAME_DIR .. "src/osd/modules/osdwindow.cpp", + MAME_DIR .. "src/osd/modules/osdwindow.h", + MAME_DIR .. "src/osd/windows/winmain.cpp", + MAME_DIR .. "src/osd/windows/winmain.h", + MAME_DIR .. "src/osd/modules/render/drawnone.cpp", + MAME_DIR .. "src/osd/modules/render/drawnone.h", + MAME_DIR .. "src/osd/uwp/uwpcompat.cpp", + MAME_DIR .. "src/osd/uwp/uwpcompat.h", + MAME_DIR .. "src/osd/osdepend.h", + } + +project ("ocore_" .. _OPTIONS["osd"]) + uuid (os.uuid("ocore_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + removeflags { + "SingleOutputDir", + } + + dofile("uwp_cfg.lua") + + includedirs { + MAME_DIR .. "3rdparty", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/osd", + MAME_DIR .. "src/osd/modules/file", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + } + + files { + MAME_DIR .. "src/osd/osdcomm.h", + MAME_DIR .. "src/osd/osdcore.cpp", + MAME_DIR .. "src/osd/osdcore.h", + MAME_DIR .. "src/osd/strconv.cpp", + MAME_DIR .. "src/osd/strconv.h", + MAME_DIR .. "src/osd/osdsync.cpp", + MAME_DIR .. "src/osd/osdsync.h", + MAME_DIR .. "src/osd/windows/winutil.cpp", + MAME_DIR .. "src/osd/windows/winutil.h", + MAME_DIR .. "src/osd/modules/osdmodule.cpp", + MAME_DIR .. "src/osd/modules/osdmodule.h", + MAME_DIR .. "src/osd/modules/file/winrtdir.cpp", + MAME_DIR .. "src/osd/modules/file/winrtfile.cpp", + MAME_DIR .. "src/osd/modules/file/winrtfile.h", + MAME_DIR .. "src/osd/modules/file/winrtptty.cpp", + MAME_DIR .. "src/osd/modules/file/winrtsocket.cpp", + MAME_DIR .. "src/osd/modules/lib/osdlib_uwp.cpp", + } diff --git a/docs/release/scripts/src/osd/uwp_cfg.lua b/docs/release/scripts/src/osd/uwp_cfg.lua new file mode 100644 index 00000000000..28892656728 --- /dev/null +++ b/docs/release/scripts/src/osd/uwp_cfg.lua @@ -0,0 +1,20 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +defines { + "OSD_UWP=1", + "USE_QTDEBUG=0", + "SDLMAME_NOASM=1", + "USE_OPENGL=0", + "NO_USE_MIDI=1", + "WINVER=0x0603", + "_WIN32_WINNT=0x0603", + "NTDDI_VERSION=0x06030000", + "MODERN_WIN_API", + "WIN32_LEAN_AND_MEAN", + "NOMINMAX", +} + +flags { + "Unicode", +} diff --git a/docs/release/scripts/src/osd/windows.lua b/docs/release/scripts/src/osd/windows.lua new file mode 100644 index 00000000000..ecb3030c683 --- /dev/null +++ b/docs/release/scripts/src/osd/windows.lua @@ -0,0 +1,291 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- windows.lua +-- +-- Rules for the building for Windows +-- +--------------------------------------------------------------------------- + +dofile("modules.lua") + + +function maintargetosdoptions(_target,_subtarget) + osdmodulestargetconf() + + configuration { "mingw*" } + links { + "mingw32", + } + + configuration { } + + if _OPTIONS["DIRECTINPUT"] == "8" then + links { + "dinput8", + } + else + links { + "dinput", + } + end + + + if _OPTIONS["USE_SDL"] == "1" then + links { + "SDL.dll", + } + end + + links { + "comctl32", + "comdlg32", + "psapi", + "ole32", + "shlwapi", + } +end + + +newoption { + trigger = "DIRECTINPUT", + description = "Minimum DirectInput version to support", + allowed = { + { "7", "Support DirectInput 7 or later" }, + { "8", "Support DirectInput 8 or later" }, + }, +} + +if not _OPTIONS["DIRECTINPUT"] then + _OPTIONS["DIRECTINPUT"] = "8" +end + +newoption { + trigger = "USE_SDL", + description = "Enable SDL sound output", + allowed = { + { "0", "Disable SDL sound output" }, + { "1", "Enable SDL sound output" }, + }, +} + +if not _OPTIONS["USE_SDL"] then + _OPTIONS["USE_SDL"] = "0" +end + +newoption { + trigger = "CYGWIN_BUILD", + description = "Build with Cygwin tools", + allowed = { + { "0", "Build with MinGW tools" }, + { "1", "Build with Cygwin tools" }, + }, +} + +if not _OPTIONS["CYGWIN_BUILD"] then + _OPTIONS["CYGWIN_BUILD"] = "0" +end + + +if _OPTIONS["CYGWIN_BUILD"] == "1" then + buildoptions { + "-mmo-cygwin", + } + linkoptions { + "-mno-cygwin", + } +end + + +project ("qtdbg_" .. _OPTIONS["osd"]) + uuid (os.uuid("qtdbg_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + dofile("windows_cfg.lua") + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", -- accessing imagedev from debugger + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + } + qtdebuggerbuild() + +project ("osd_" .. _OPTIONS["osd"]) + uuid (os.uuid("osd_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + dofile("windows_cfg.lua") + osdmodulesbuild() + + defines { + "DIRECT3D_VERSION=0x0900", + } + + if _OPTIONS["DIRECTINPUT"] == "8" then + defines { + "DIRECTINPUT_VERSION=0x0800", + } + else + defines { + "DIRECTINPUT_VERSION=0x0700", + } + end + + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", -- accessing imagedev from debugger + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/file", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + } + + includedirs { + MAME_DIR .. "src/osd/windows", + } + + files { + MAME_DIR .. "src/osd/modules/render/d3d/d3dhlsl.cpp", + MAME_DIR .. "src/osd/modules/render/d3d/d3dcomm.h", + MAME_DIR .. "src/osd/modules/render/d3d/d3dhlsl.h", + MAME_DIR .. "src/osd/modules/render/drawd3d.cpp", + MAME_DIR .. "src/osd/modules/render/drawd3d.h", + MAME_DIR .. "src/osd/modules/render/drawgdi.cpp", + MAME_DIR .. "src/osd/modules/render/drawgdi.h", + MAME_DIR .. "src/osd/modules/render/drawnone.cpp", + MAME_DIR .. "src/osd/modules/render/drawnone.h", + MAME_DIR .. "src/osd/windows/video.cpp", + MAME_DIR .. "src/osd/windows/video.h", + MAME_DIR .. "src/osd/windows/window.cpp", + MAME_DIR .. "src/osd/windows/window.h", + MAME_DIR .. "src/osd/modules/osdwindow.cpp", + MAME_DIR .. "src/osd/modules/osdwindow.h", + MAME_DIR .. "src/osd/windows/winmenu.cpp", + MAME_DIR .. "src/osd/windows/winmain.cpp", + MAME_DIR .. "src/osd/windows/winmain.h", + MAME_DIR .. "src/osd/osdepend.h", + MAME_DIR .. "src/osd/modules/debugger/win/consolewininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/consolewininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugbaseinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/debugbaseinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/debugviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/debugwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/disasmbasewininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/disasmbasewininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/disasmviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/disasmviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/disasmwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/disasmwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/editwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/editwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/logwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/logwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/logviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/logviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/memoryviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/memoryviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/memorywininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/memorywininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/pointswininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/pointswininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/uimetrics.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/uimetrics.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugwin.h", + } + + +project ("ocore_" .. _OPTIONS["osd"]) + uuid (os.uuid("ocore_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + removeflags { + "SingleOutputDir", + } + + dofile("windows_cfg.lua") + + includedirs { + MAME_DIR .. "3rdparty", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/osd", + MAME_DIR .. "src/osd/modules/file", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + } + + BASE_TARGETOS = "win32" + SDLOS_TARGETOS = "win32" + + includedirs { + MAME_DIR .. "src/osd/windows", + MAME_DIR .. "src/lib/winpcap", + } + + files { + MAME_DIR .. "src/osd/eigccppc.h", + MAME_DIR .. "src/osd/eigccx86.h", + MAME_DIR .. "src/osd/eivc.h", + MAME_DIR .. "src/osd/eivcx86.h", + MAME_DIR .. "src/osd/eminline.h", + MAME_DIR .. "src/osd/osdcomm.h", + MAME_DIR .. "src/osd/osdcore.cpp", + MAME_DIR .. "src/osd/osdcore.h", + MAME_DIR .. "src/osd/strconv.cpp", + MAME_DIR .. "src/osd/strconv.h", + MAME_DIR .. "src/osd/osdsync.cpp", + MAME_DIR .. "src/osd/osdsync.h", + MAME_DIR .. "src/osd/windows/main.cpp", + MAME_DIR .. "src/osd/windows/winutf8.cpp", + MAME_DIR .. "src/osd/windows/winutf8.h", + MAME_DIR .. "src/osd/windows/winutil.cpp", + MAME_DIR .. "src/osd/windows/winutil.h", + MAME_DIR .. "src/osd/modules/osdmodule.cpp", + MAME_DIR .. "src/osd/modules/osdmodule.h", + MAME_DIR .. "src/osd/modules/file/windir.cpp", + MAME_DIR .. "src/osd/modules/file/winfile.cpp", + MAME_DIR .. "src/osd/modules/file/winfile.h", + MAME_DIR .. "src/osd/modules/file/winptty.cpp", + MAME_DIR .. "src/osd/modules/file/winsocket.cpp", + MAME_DIR .. "src/osd/modules/lib/osdlib_win32.cpp", + } + + + +-------------------------------------------------- +-- ledutil +-------------------------------------------------- + +if _OPTIONS["with-tools"] then + project("ledutil") + uuid ("061293ca-7290-44ac-b2b5-5913ae8dc9c0") + kind "ConsoleApp" + + flags { + "Symbols", -- always include minimum symbols for executables + } + + if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) + end + + links { + "ocore_" .. _OPTIONS["osd"], + } + + includedirs { + MAME_DIR .. "src/osd", + } + + files { + MAME_DIR .. "src/osd/windows/ledutil.cpp", + } +end diff --git a/docs/release/scripts/src/osd/windows_cfg.lua b/docs/release/scripts/src/osd/windows_cfg.lua new file mode 100644 index 00000000000..2735e4df4f0 --- /dev/null +++ b/docs/release/scripts/src/osd/windows_cfg.lua @@ -0,0 +1,59 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +defines { + "OSD_WINDOWS", + "WIN32_LEAN_AND_MEAN", + "NOMINMAX", +} + +configuration { "mingw* or vs*" } + defines { + "UNICODE", + "_UNICODE" + } + +configuration { "vs*" } + flags { + "Unicode", + } + +configuration { } + +if not _OPTIONS["MODERN_WIN_API"] then + _OPTIONS["MODERN_WIN_API"] = "0" +end + +if _OPTIONS["MODERN_WIN_API"]=="1" then + defines { + "WINVER=0x0602", + "_WIN32_WINNT=0x0602", + "NTDDI_VERSION=0x06030000", + "MODERN_WIN_API", + } +else + defines { + "_WIN32_WINNT=0x0501", + } +end + +if not _OPTIONS["DONT_USE_NETWORK"] then + defines { + "USE_NETWORK", + "OSD_NET_USE_PCAP", + "OSD_NET_USE_TAPTUN", + } +end + +if _OPTIONS["USE_SDL"]=="1" then + defines { + "SDLMAME_SDL2=1", + "USE_XINPUT=0", + "USE_SDL=1", + "USE_SDL_SOUND", + } +else + defines { + "USE_SDL=0", + } +end diff --git a/docs/release/scripts/src/osd/winui.lua b/docs/release/scripts/src/osd/winui.lua new file mode 100644 index 00000000000..b9aa0b86871 --- /dev/null +++ b/docs/release/scripts/src/osd/winui.lua @@ -0,0 +1,320 @@ +-- license:BSD-3-Clause +-- copyright-holders:Robbbert + +--------------------------------------------------------------------------- +-- +-- winui.lua +-- +-- Rules for the building for Windows +-- +--------------------------------------------------------------------------- + +dofile("modules.lua") + +premake.make.linkoptions_after = false; + +function maintargetosdoptions(_target,_subtarget) + kind "WindowedApp" + + osdmodulestargetconf() + + configuration { "mingw*-gcc" } + linkoptions { + "-municode", + "-lmingw32", + "-Wl,--allow-multiple-definition", + } + + configuration { "x64", "Release" } + targetsuffix "ui64" + + configuration { "x64", "Debug" } + targetsuffix "ui64d" + + configuration { "x32", "Release" } + targetsuffix "ui" + + configuration { "x32", "Debug" } + targetsuffix "uid" + + configuration { "Native", "Release" } + targetsuffix "ui" + + configuration { "Native", "Debug" } + targetsuffix "uid" + + configuration { } + + if _OPTIONS["DIRECTINPUT"] == "8" then + links { + "dinput8", + } + else + links { + "dinput", + } + end + + links { + "comctl32", + "comdlg32", + "psapi", + "ole32", + } + +-- Local file gives correct icon in mame instance inside of mameui +-- Local file must #include mameui.rc + override_resources = true; + rctarget = _target; + local rcfile = MAME_DIR .. "src/osd/winui/" .. _target .. ".rc" + local uifile = MAME_DIR .. "src/osd/winui/hbmameui.rc" + + if not os.isfile(rcfile) then + print(string.format("***** %s not found *****",rcfile)) + os.exit(); + end + + if not os.isfile(uifile) then + print(string.format("***** %s not found *****",uifile)) + os.exit(); + end + + files { + rcfile, + } + dependency { + { "$(OBJDIR)/".._target ..".res" , GEN_DIR .. "/resource/" .. _target .. "vers.rc", true }, + } +end + + +newoption { + trigger = "DIRECTINPUT", + description = "Minimum DirectInput version to support", + allowed = { + { "7", "Support DirectInput 7 or later" }, + { "8", "Support DirectInput 8 or later" }, + }, +} + +if not _OPTIONS["DIRECTINPUT"] then + _OPTIONS["DIRECTINPUT"] = "8" +end + + +project ("qtdbg_" .. _OPTIONS["osd"]) + uuid (os.uuid("qtdbg_" .. _OPTIONS["osd"])) + kind (LIBTYPE) + + dofile("winui_cfg.lua") + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", -- accessing imagedev from debugger + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + } + qtdebuggerbuild() + +project ("osd_" .. _OPTIONS["osd"]) + uuid (os.uuid("osd_" .. _OPTIONS["osd"])) + kind "StaticLib" + + dofile("winui_cfg.lua") + osdmodulesbuild() + + defines { + "DIRECT3D_VERSION=0x0900", + } + + if _OPTIONS["DIRECTINPUT"] == "8" then + defines { + "DIRECTINPUT_VERSION=0x0800", + } + else + defines { + "DIRECTINPUT_VERSION=0x0700", + } + end + + includedirs { + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/osd/modules/file", + MAME_DIR .. "src/osd/modules/render", + MAME_DIR .. "3rdparty", + MAME_DIR .. "src/frontend/mame", + MAME_DIR .. "src/osd/windows", + } + + files { + MAME_DIR .. "src/osd/modules/render/d3d/d3dintf.h", + MAME_DIR .. "src/osd/modules/render/d3d/d3dhlsl.cpp", + MAME_DIR .. "src/osd/modules/render/d3d/d3dcomm.h", + MAME_DIR .. "src/osd/modules/render/d3d/d3dhlsl.h", + MAME_DIR .. "src/osd/modules/render/drawd3d.cpp", + MAME_DIR .. "src/osd/modules/render/drawd3d.h", + MAME_DIR .. "src/osd/modules/render/drawgdi.cpp", + MAME_DIR .. "src/osd/modules/render/drawgdi.h", + MAME_DIR .. "src/osd/modules/render/drawnone.cpp", + MAME_DIR .. "src/osd/modules/render/drawnone.h", + MAME_DIR .. "src/osd/windows/video.cpp", + MAME_DIR .. "src/osd/windows/video.h", + MAME_DIR .. "src/osd/windows/window.cpp", + MAME_DIR .. "src/osd/windows/window.h", + MAME_DIR .. "src/osd/modules/osdwindow.cpp", + MAME_DIR .. "src/osd/modules/osdwindow.h", + MAME_DIR .. "src/osd/windows/winmain.cpp", + MAME_DIR .. "src/osd/windows/winmain.h", + MAME_DIR .. "src/osd/osdepend.h", + MAME_DIR .. "src/osd/windows/winmenu.cpp", +-- MAME_DIR .. "src/osd/winui/newui.cpp", + MAME_DIR .. "src/osd/windows/winmain.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/consolewininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/consolewininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugbaseinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/debugbaseinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/debugviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/debugwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/disasmbasewininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/disasmbasewininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/disasmviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/disasmviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/disasmwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/disasmwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/editwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/editwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/logviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/logviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/logwininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/logwininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/memoryviewinfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/memoryviewinfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/memorywininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/memorywininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/pointswininfo.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/pointswininfo.h", + MAME_DIR .. "src/osd/modules/debugger/win/uimetrics.cpp", + MAME_DIR .. "src/osd/modules/debugger/win/uimetrics.h", + MAME_DIR .. "src/osd/modules/debugger/win/debugwin.h", + MAME_DIR .. "src/osd/winui/bitmask.cpp", + MAME_DIR .. "src/osd/winui/columnedit.cpp", + MAME_DIR .. "src/osd/winui/datamap.cpp", + MAME_DIR .. "src/osd/winui/dialogs.cpp", + MAME_DIR .. "src/osd/winui/dijoystick.cpp", +-- MAME_DIR .. "src/osd/winui/directdraw.cpp", + MAME_DIR .. "src/osd/winui/directinput.cpp", + MAME_DIR .. "src/osd/winui/directories.cpp", + MAME_DIR .. "src/osd/winui/dirwatch.cpp", +-- MAME_DIR .. "src/osd/winui/dxdecode.cpp", + MAME_DIR .. "src/osd/winui/help.cpp", + MAME_DIR .. "src/osd/winui/helpids.cpp", + MAME_DIR .. "src/osd/winui/history.cpp", + MAME_DIR .. "src/osd/winui/layout.cpp", + MAME_DIR .. "src/osd/winui/mui_audit.cpp", + MAME_DIR .. "src/osd/winui/mui_main.cpp", + MAME_DIR .. "src/osd/winui/mui_opts.cpp", + MAME_DIR .. "src/osd/winui/mui_util.cpp", + MAME_DIR .. "src/osd/winui/picker.cpp", + MAME_DIR .. "src/osd/winui/properties.cpp", + MAME_DIR .. "src/osd/winui/resource.h", + MAME_DIR .. "src/osd/winui/screenshot.cpp", + MAME_DIR .. "src/osd/winui/splitters.cpp", + MAME_DIR .. "src/osd/winui/tabview.cpp", + MAME_DIR .. "src/osd/winui/treeview.cpp", + MAME_DIR .. "src/osd/winui/winui.cpp", + } + +project ("ocore_" .. _OPTIONS["osd"]) + uuid (os.uuid("ocore_" .. _OPTIONS["osd"])) + kind "StaticLib" + + options { + "ForceCPP", + } + removeflags { + "SingleOutputDir", + } + + dofile("windows_cfg.lua") + + includedirs { + MAME_DIR .. "3rdparty", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/osd", + MAME_DIR .. "src/osd/modules/file", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + } + + BASE_TARGETOS = "win32" + SDLOS_TARGETOS = "win32" + SYNC_IMPLEMENTATION = "windows" + + includedirs { + MAME_DIR .. "src/osd/windows", + MAME_DIR .. "src/lib/winpcap", + } + + files { + MAME_DIR .. "src/osd/eigccppc.h", + MAME_DIR .. "src/osd/eigccx86.h", + MAME_DIR .. "src/osd/eivc.h", + MAME_DIR .. "src/osd/eivcx86.h", + MAME_DIR .. "src/osd/eminline.h", + MAME_DIR .. "src/osd/osdcomm.h", + MAME_DIR .. "src/osd/osdcore.cpp", + MAME_DIR .. "src/osd/osdcore.h", + MAME_DIR .. "src/osd/strconv.cpp", + MAME_DIR .. "src/osd/strconv.h", + MAME_DIR .. "src/osd/windows/main.cpp", + MAME_DIR .. "src/osd/osdsync.cpp", + MAME_DIR .. "src/osd/osdsync.h", + MAME_DIR .. "src/osd/windows/winutf8.cpp", + MAME_DIR .. "src/osd/windows/winutf8.h", + MAME_DIR .. "src/osd/windows/winutil.cpp", + MAME_DIR .. "src/osd/windows/winutil.h", + MAME_DIR .. "src/osd/modules/osdmodule.cpp", + MAME_DIR .. "src/osd/modules/osdmodule.h", + MAME_DIR .. "src/osd/modules/file/windir.cpp", + MAME_DIR .. "src/osd/modules/file/winfile.cpp", + MAME_DIR .. "src/osd/modules/file/winfile.h", + MAME_DIR .. "src/osd/modules/file/winptty.cpp", + MAME_DIR .. "src/osd/modules/file/winsocket.cpp", + MAME_DIR .. "src/osd/modules/lib/osdlib_win32.cpp", + } + + +-------------------------------------------------- +-- ledutil +-------------------------------------------------- + +if _OPTIONS["with-tools"] then + project("ledutil") + uuid ("061293ca-7290-44ac-b2b5-5913ae8dc9c0") + kind "ConsoleApp" + + if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) + end + + links { + "ocore_" .. _OPTIONS["osd"], + } + + includedirs { + MAME_DIR .. "src/osd", + } + + files { + MAME_DIR .. "src/osd/windows/ledutil.cpp", + } +end + diff --git a/docs/release/scripts/src/osd/winui_cfg.lua b/docs/release/scripts/src/osd/winui_cfg.lua new file mode 100644 index 00000000000..20c6034a2e1 --- /dev/null +++ b/docs/release/scripts/src/osd/winui_cfg.lua @@ -0,0 +1,26 @@ +defines { + "UNICODE", + "_UNICODE", + "OSD_WINDOWS", + "USE_SDL=0", + --"WIN95_MULTIMON" + "_WIN32_WINNT=0x0501", + "USE_QTDEBUG=0", + "WIN32_LEAN_AND_MEAN", + "NOMINMAX", +} + +configuration { "vs*" } + flags { + "Unicode", + } + +configuration { } + +if not _OPTIONS["DONT_USE_NETWORK"] then + defines { + "USE_NETWORK", + "OSD_NET_USE_PCAP", + } +end + diff --git a/docs/release/scripts/src/sound.lua b/docs/release/scripts/src/sound.lua new file mode 100644 index 00000000000..6f83f86aae3 --- /dev/null +++ b/docs/release/scripts/src/sound.lua @@ -0,0 +1,1543 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- sound.lua +-- +-- Rules for building sound cores +-- +---------------------------------------------------------------------------- + +files { + MAME_DIR .. "src/devices/sound/flt_vol.cpp", + MAME_DIR .. "src/devices/sound/flt_vol.h", + MAME_DIR .. "src/devices/sound/flt_rc.cpp", + MAME_DIR .. "src/devices/sound/flt_rc.h", + MAME_DIR .. "src/devices/sound/samples.cpp", + MAME_DIR .. "src/devices/sound/samples.h", +} + +--------------------------------------------------- +-- DACs +--@src/devices/sound/dac.h,SOUNDS["DAC"] = true +--@src/devices/sound/dmadac.h,SOUNDS["DMADAC"] = true +--@src/devices/sound/spkrdev.h,SOUNDS["SPEAKER"] = true +--@src/devices/sound/beep.h,SOUNDS["BEEP"] = true +--------------------------------------------------- + +if (SOUNDS["DAC"]~=null) then + files { + MAME_DIR .. "src/devices/sound/dac.cpp", + MAME_DIR .. "src/devices/sound/dac.h", + } +end + +if (SOUNDS["DMADAC"]~=null) then + files { + MAME_DIR .. "src/devices/sound/dmadac.cpp", + MAME_DIR .. "src/devices/sound/dmadac.h", + } +end + +if (SOUNDS["SPEAKER"]~=null) then + files { + MAME_DIR .. "src/devices/sound/spkrdev.cpp", + MAME_DIR .. "src/devices/sound/spkrdev.h", + } +end + +if (SOUNDS["BEEP"]~=null) then + files { + MAME_DIR .. "src/devices/sound/beep.cpp", + MAME_DIR .. "src/devices/sound/beep.h", + } +end + + + +--------------------------------------------------- +-- CD audio +--@src/devices/sound/cdda.h,SOUNDS["CDDA"] = true +--------------------------------------------------- + +if (SOUNDS["CDDA"]~=null) then + files { + MAME_DIR .. "src/devices/sound/cdda.cpp", + MAME_DIR .. "src/devices/sound/cdda.h", + } +end + + + +--------------------------------------------------- +-- Discrete component audio +--@src/devices/sound/discrete.h,SOUNDS["DISCRETE"] = true +--------------------------------------------------- + +if (SOUNDS["DISCRETE"]~=null) then + files { + MAME_DIR .. "src/devices/sound/discrete.cpp", + MAME_DIR .. "src/devices/sound/discrete.h", + MAME_DIR .. "src/devices/sound/disc_cls.h", + MAME_DIR .. "src/devices/sound/disc_dev.h", + MAME_DIR .. "src/devices/sound/disc_dev.hxx", + MAME_DIR .. "src/devices/sound/disc_flt.h", + MAME_DIR .. "src/devices/sound/disc_flt.hxx", + MAME_DIR .. "src/devices/sound/disc_inp.hxx", + MAME_DIR .. "src/devices/sound/disc_mth.h", + MAME_DIR .. "src/devices/sound/disc_mth.hxx", + MAME_DIR .. "src/devices/sound/disc_sys.hxx", + MAME_DIR .. "src/devices/sound/disc_wav.h", + MAME_DIR .. "src/devices/sound/disc_wav.hxx", + } +end + +--------------------------------------------------- +-- AC97 +--@src/devices/sound/pci-ac97.h,SOUNDS["AC97"] = true +--------------------------------------------------- + +if (SOUNDS["AC97"]~=null) then + files { + MAME_DIR .. "src/devices/sound/pci-ac97.cpp", + MAME_DIR .. "src/devices/sound/pci-ac97.h", + } +end + + + +--------------------------------------------------- +-- Apple custom sound chips +--@src/devices/sound/asc.h,SOUNDS["ASC"] = true +--@src/devices/sound/awacs.h,SOUNDS["AWACS"] = true +--------------------------------------------------- + +if (SOUNDS["ASC"]~=null) then + files { + MAME_DIR .. "src/devices/sound/asc.cpp", + MAME_DIR .. "src/devices/sound/asc.h", + } +end + +if (SOUNDS["AWACS"]~=null) then + files { + MAME_DIR .. "src/devices/sound/awacs.cpp", + MAME_DIR .. "src/devices/sound/awacs.h", + } +end + + +--------------------------------------------------- +-- Atari custom sound chips +--@src/devices/sound/pokey.h,SOUNDS["POKEY"] = true +--@src/devices/sound/tiaintf.h,SOUNDS["TIA"] = true +--------------------------------------------------- + +if (SOUNDS["POKEY"]~=null) then + files { + MAME_DIR .. "src/devices/sound/pokey.cpp", + MAME_DIR .. "src/devices/sound/pokey.h", + } +end + +if (SOUNDS["TIA"]~=null) then + files { + MAME_DIR .. "src/devices/sound/tiasound.cpp", + MAME_DIR .. "src/devices/sound/tiasound.h", + MAME_DIR .. "src/devices/sound/tiaintf.cpp", + MAME_DIR .. "src/devices/sound/tiaintf.h", + } +end + + + +--------------------------------------------------- +-- Amiga audio hardware +--@src/devices/machine/8364_paula.h,SOUNDS["PAULA_8364"] = true +--------------------------------------------------- + +if (SOUNDS["PAULA_8364"]~=null) then + files { + MAME_DIR .. "src/devices/machine/8364_paula.cpp", + MAME_DIR .. "src/devices/machine/8364_paula.h", + } +end + + + +--------------------------------------------------- +-- Bally Astrocade sound system +--@src/devices/sound/astrocde.h,SOUNDS["ASTROCADE"] = true +--------------------------------------------------- + +if (SOUNDS["ASTROCADE"]~=null) then + files { + MAME_DIR .. "src/devices/sound/astrocde.cpp", + MAME_DIR .. "src/devices/sound/astrocde.h", + } +end + + + +--------------------------------------------------- +--------------------------------------------------- +-- AC97 +--@src/devices/sound/pic-ac97.h,SOUNDS["AC97"] = true +--------------------------------------------------- + +if (SOUNDS["AC97"]~=null) then + files { + MAME_DIR .. "src/devices/sound/pci-ac97.cpp", + MAME_DIR .. "src/devices/sound/pci-ac97.h", + } +end +-- CEM 3394 analog synthesizer chip +--@src/devices/sound/cem3394.h,SOUNDS["CEM3394"] = true +--------------------------------------------------- + +if (SOUNDS["CEM3394"]~=null) then + files { + MAME_DIR .. "src/devices/sound/cem3394.cpp", + MAME_DIR .. "src/devices/sound/cem3394.h", + } +end + + + +--------------------------------------------------- +-- Creative Labs SB0400 Audigy2 Value +--@src/devices/sound/sb0400.h,SOUNDS["SB0400"] = true +--------------------------------------------------- + +if (SOUNDS["SB0400"]~=null) then + files { + MAME_DIR .. "src/devices/sound/sb0400.cpp", + MAME_DIR .. "src/devices/sound/sb0400.h", + } +end + + +-------------------------------------------------- +-- Creative Labs Ensonic AudioPCI97 ES1373 +--@src/devices/sound/es1373.h,SOUNDS["ES1373"] = true +-------------------------------------------------- + +if (SOUNDS["ES1373"]~=null) then + files { + MAME_DIR .. "src/devices/sound/es1373.cpp", + MAME_DIR .. "src/devices/sound/es1373.h", + } +end + +--------------------------------------------------- +-- Data East custom sound chips +--@src/devices/sound/bsmt2000.h,SOUNDS["BSMT2000"] = true +--------------------------------------------------- + +if (SOUNDS["BSMT2000"]~=null) then + files { + MAME_DIR .. "src/devices/sound/bsmt2000.cpp", + MAME_DIR .. "src/devices/sound/bsmt2000.h", + } +end + + + +--------------------------------------------------- +-- Ensoniq 5503 (Apple IIgs) +--@src/devices/sound/es5503.h,SOUNDS["ES5503"] = true +--------------------------------------------------- + +if (SOUNDS["ES5503"]~=null) then + files { + MAME_DIR .. "src/devices/sound/es5503.cpp", + MAME_DIR .. "src/devices/sound/es5503.h", + } +end + + + +--------------------------------------------------- +-- Ensoniq 5505/5506 +--@src/devices/sound/es5506.h,SOUNDS["ES5505"] = true +--------------------------------------------------- + +if (SOUNDS["ES5505"]~=null or SOUNDS["ES5506"]~=null) then + files { + MAME_DIR .. "src/devices/sound/es5506.cpp", + MAME_DIR .. "src/devices/sound/es5506.h", + } +end + + +--------------------------------------------------- +-- Ensoniq "pump" device, interfaces 5505/5506 with 5510 +--@src/devices/sound/esqpump.h,SOUNDS["ESQPUMP"] = true +--------------------------------------------------- + +if (SOUNDS["ESQPUMP"]~=null) then + files { + MAME_DIR .. "src/devices/sound/esqpump.cpp", + MAME_DIR .. "src/devices/sound/esqpump.h", + } +end + + +--------------------------------------------------- +-- Excellent Systems ADPCM sound chip +--@src/devices/sound/es8712.h,SOUNDS["ES8712"] = true +--------------------------------------------------- + +if (SOUNDS["ES8712"]~=null) then + files { + MAME_DIR .. "src/devices/sound/es8712.cpp", + MAME_DIR .. "src/devices/sound/es8712.h", + } +end + + + +--------------------------------------------------- +-- Gaelco custom sound chips +--@src/devices/sound/gaelco.h,SOUNDS["GAELCO_CG1V"] = true +--------------------------------------------------- + +if (SOUNDS["GAELCO_CG1V"]~=null or SOUNDS["GAELCO_GAE1"]~=null) then + files { + MAME_DIR .. "src/devices/sound/gaelco.cpp", + MAME_DIR .. "src/devices/sound/gaelco.h", + } +end + + +--------------------------------------------------- +-- RCA CDP1863 +--@src/devices/sound/cdp1863.h,SOUNDS["CDP1863"] = true +--------------------------------------------------- + +if (SOUNDS["CDP1863"]~=null) then + files { + MAME_DIR .. "src/devices/sound/cdp1863.cpp", + MAME_DIR .. "src/devices/sound/cdp1863.h", + } +end + + + +--------------------------------------------------- +-- RCA CDP1864 +--@src/devices/sound/cdp1864.h,SOUNDS["CDP1864"] = true +--------------------------------------------------- + +if (SOUNDS["CDP1864"]~=null) then + files { + MAME_DIR .. "src/devices/sound/cdp1864.cpp", + MAME_DIR .. "src/devices/sound/cdp1864.h", + } +end + + + +--------------------------------------------------- +-- RCA CDP1869 +--@src/devices/sound/cdp1869.h,SOUNDS["CDP1869"] = true +--------------------------------------------------- + +if (SOUNDS["CDP1869"]~=null) then + files { + MAME_DIR .. "src/devices/sound/cdp1869.cpp", + MAME_DIR .. "src/devices/sound/cdp1869.h", + } +end + + + +--------------------------------------------------- +-- GI AY-8910 +--@src/devices/sound/ay8910.h,SOUNDS["AY8910"] = true +--------------------------------------------------- + +if (SOUNDS["AY8910"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ay8910.cpp", + MAME_DIR .. "src/devices/sound/ay8910.h", + } +end + + + +--------------------------------------------------- +-- Harris HC55516 CVSD +--@src/devices/sound/hc55516.h,SOUNDS["HC55516"] = true +--------------------------------------------------- + +if (SOUNDS["HC55516"]~=null) then + files { + MAME_DIR .. "src/devices/sound/hc55516.cpp", + MAME_DIR .. "src/devices/sound/hc55516.h", + } +end + + + +--------------------------------------------------- +-- Hudsonsoft HuC6230 SoundBox +--@src/devices/sound/huc6230.h,SOUNDS["HUC6230"] = true +--------------------------------------------------- + +if (SOUNDS["HUC6230"]~=null) then + files { + MAME_DIR .. "src/devices/sound/huc6230.cpp", + MAME_DIR .. "src/devices/sound/huc6230.h", + } +end + + + +--------------------------------------------------- +-- Hudsonsoft C6280 sound chip +--@src/devices/sound/c6280.h,SOUNDS["C6280"] = true +--------------------------------------------------- + +if (SOUNDS["C6280"]~=null) then + files { + MAME_DIR .. "src/devices/sound/c6280.cpp", + MAME_DIR .. "src/devices/sound/c6280.h", + } +end + + + +--------------------------------------------------- +-- ICS2115 sound chip +--@src/devices/sound/ics2115.h,SOUNDS["ICS2115"] = true +--------------------------------------------------- + +if (SOUNDS["ICS2115"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ics2115.cpp", + MAME_DIR .. "src/devices/sound/ics2115.h", + } +end + + + +--------------------------------------------------- +-- Imagetek I5000 sound +--@src/devices/sound/i5000.h,SOUNDS["I5000_SND"] = true +--------------------------------------------------- + +if (SOUNDS["I5000_SND"]~=null) then + files { + MAME_DIR .. "src/devices/sound/i5000.cpp", + MAME_DIR .. "src/devices/sound/i5000.h", + } +end + + + +--------------------------------------------------- +-- Irem custom sound chips +--@src/devices/sound/iremga20.h,SOUNDS["IREMGA20"] = true +--------------------------------------------------- + +if (SOUNDS["IREMGA20"]~=null) then + files { + MAME_DIR .. "src/devices/sound/iremga20.cpp", + MAME_DIR .. "src/devices/sound/iremga20.h", + } +end + + + +--------------------------------------------------- +-- Konami custom sound chips +--@src/devices/sound/k005289.h,SOUNDS["K005289"] = true +--@src/devices/sound/k007232.h,SOUNDS["K007232"] = true +--@src/devices/sound/k051649.h,SOUNDS["K051649"] = true +--@src/devices/sound/k053260.h,SOUNDS["K053260"] = true +--@src/devices/sound/k054539.h,SOUNDS["K054539"] = true +--@src/devices/sound/k056800.h,SOUNDS["K056800"] = true +--------------------------------------------------- + +if (SOUNDS["K005289"]~=null) then + files { + MAME_DIR .. "src/devices/sound/k005289.cpp", + MAME_DIR .. "src/devices/sound/k005289.h", + } +end + +if (SOUNDS["K007232"]~=null) then + files { + MAME_DIR .. "src/devices/sound/k007232.cpp", + MAME_DIR .. "src/devices/sound/k007232.h", + } +end + +if (SOUNDS["K051649"]~=null) then + files { + MAME_DIR .. "src/devices/sound/k051649.cpp", + MAME_DIR .. "src/devices/sound/k051649.h", + } +end + +if (SOUNDS["K053260"]~=null) then + files { + MAME_DIR .. "src/devices/sound/k053260.cpp", + MAME_DIR .. "src/devices/sound/k053260.h", + } +end + +if (SOUNDS["K054539"]~=null) then + files { + MAME_DIR .. "src/devices/sound/k054539.cpp", + MAME_DIR .. "src/devices/sound/k054539.h", + } +end + +if (SOUNDS["K056800"]~=null) then + files { + MAME_DIR .. "src/devices/sound/k056800.cpp", + MAME_DIR .. "src/devices/sound/k056800.h", + } +end + + +--------------------------------------------------- +-- L7A1045 L6028 DSP-A +--@src/devices/sound/l7a1045_l6028_dsp_a.h,SOUNDS["L7A1045"] = true +--------------------------------------------------- + +if (SOUNDS["L7A1045"]~=null) then + files { + MAME_DIR .. "src/devices/sound/l7a1045_l6028_dsp_a.cpp", + MAME_DIR .. "src/devices/sound/l7a1045_l6028_dsp_a.h", + } +end + + +--------------------------------------------------- +-- LMC1992 mixer chip +--@src/devices/sound/lmc1992.h,SOUNDS["LMC1992"] = true +--------------------------------------------------- + +if (SOUNDS["LMC1992"]~=null) then + files { + MAME_DIR .. "src/devices/sound/lmc1992.cpp", + MAME_DIR .. "src/devices/sound/lmc1992.h", + } +end + + + +--------------------------------------------------- +-- MAS 3507D MPEG 1/2 Layer 2/3 Audio Decoder +--@src/devices/sound/mas3507d.h,SOUNDS["MAS3507D"] = true +--------------------------------------------------- + +if (SOUNDS["MAS3507D"]~=null) then + files { + MAME_DIR .. "src/devices/sound/mas3507d.cpp", + MAME_DIR .. "src/devices/sound/mas3507d.h", + } +end + + + +--------------------------------------------------- +-- MEA8000 Voice Synthesizer +--@src/devices/sound/mea8000.h,SOUNDS["MEA8000"] = true +--------------------------------------------------- + +if (SOUNDS["MEA8000"]~=null) then + files { + MAME_DIR .. "src/devices/sound/mea8000.cpp", + MAME_DIR .. "src/devices/sound/mea8000.h", + } +end + + + +--------------------------------------------------- +-- MOS 6560VIC +--@src/devices/sound/mos6560.h,SOUNDS["MOS656X"] = true +--------------------------------------------------- + +if (SOUNDS["MOS656X"]~=null) then + files { + MAME_DIR .. "src/devices/sound/mos6560.cpp", + MAME_DIR .. "src/devices/sound/mos6560.h", + } +end + + + +--------------------------------------------------- +-- MOS 7360 TED +--@src/devices/sound/mos7360.h,SOUNDS["MOS7360"] = true +--------------------------------------------------- + +if (SOUNDS["MOS7360"]~=null) then + files { + MAME_DIR .. "src/devices/sound/mos7360.cpp", + MAME_DIR .. "src/devices/sound/mos7360.h", + } +end + + + +--------------------------------------------------- +-- Namco custom sound chips +--@src/devices/sound/namco.h,SOUNDS["NAMCO"] = true +--@src/devices/sound/namco_163.h,SOUNDS["NAMCO_163"] = true +--@src/devices/sound/n63701x.h,SOUNDS["NAMCO_63701X"] = true +--@src/devices/sound/c140.h,SOUNDS["C140"] = true +--@src/devices/sound/c352.h,SOUNDS["C352"] = true +--------------------------------------------------- + +if (SOUNDS["NAMCO"]~=null or SOUNDS["NAMCO_15XX"]~=null or SOUNDS["NAMCO_CUS30"]~=null) then + files { + MAME_DIR .. "src/devices/sound/namco.cpp", + MAME_DIR .. "src/devices/sound/namco.h", + } +end + +if (SOUNDS["NAMCO_163"]~=null) then + files { + MAME_DIR .. "src/devices/sound/namco_163.cpp", + MAME_DIR .. "src/devices/sound/namco_163.h", + } +end + +if (SOUNDS["NAMCO_63701X"]~=null) then + files { + MAME_DIR .. "src/devices/sound/n63701x.cpp", + MAME_DIR .. "src/devices/sound/n63701x.h", + } +end + +if (SOUNDS["C140"]~=null) then + files { + MAME_DIR .. "src/devices/sound/c140.cpp", + MAME_DIR .. "src/devices/sound/c140.h", + } +end + +if (SOUNDS["C352"]~=null) then + files { + MAME_DIR .. "src/devices/sound/c352.cpp", + MAME_DIR .. "src/devices/sound/c352.h", + } +end + + + +--------------------------------------------------- +-- National Semiconductor Digitalker +--@src/devices/sound/digitalk.h,SOUNDS["DIGITALKER"] = true +--------------------------------------------------- + +if (SOUNDS["DIGITALKER"]~=null) then + files { + MAME_DIR .. "src/devices/sound/digitalk.cpp", + MAME_DIR .. "src/devices/sound/digitalk.h", + } +end + + + +--------------------------------------------------- +-- Nintendo custom sound chips +--@src/devices/sound/nes_apu.h,SOUNDS["NES_APU"] = true +--------------------------------------------------- + +if (SOUNDS["NES_APU"]~=null) then + files { + MAME_DIR .. "src/devices/sound/nes_apu.cpp", + MAME_DIR .. "src/devices/sound/nes_apu.h", + MAME_DIR .. "src/devices/sound/nes_defs.h", + } +end + + + +--------------------------------------------------- +-- NEC uPD7759 ADPCM sample player +--@src/devices/sound/upd7759.h,SOUNDS["UPD7759"] = true +--------------------------------------------------- + +if (SOUNDS["UPD7759"]~=null) then + files { + MAME_DIR .. "src/devices/sound/upd7759.cpp", + MAME_DIR .. "src/devices/sound/upd7759.h", + MAME_DIR .. "src/devices/sound/315-5641.cpp", + MAME_DIR .. "src/devices/sound/315-5641.h", + } +end + + + +--------------------------------------------------- +-- OKI ADPCM sample players +--@src/devices/sound/okim6258.h,SOUNDS["OKIM6258"] = true +--@src/devices/sound/msm5205.h,SOUNDS["MSM5205"] = true +--@src/devices/sound/msm5232.h,SOUNDS["MSM5232"] = true +--@src/devices/sound/okim6376.h,SOUNDS["OKIM6376"] = true +--@src/devices/sound/okim6295.h,SOUNDS["OKIM6295"] = true +--@src/devices/sound/okim9810.h,SOUNDS["OKIM9810"] = true +--@src/devices/sound/okiadpcm.h,SOUNDS["OKIADPCM"] = true +--------------------------------------------------- + +if (SOUNDS["OKIM6258"]~=null or SOUNDS["OKIM6295"]~=null or SOUNDS["OKIM9810"]~=null or SOUNDS["I5000_SND"]~=null or SOUNDS["OKIADPCM"]~=null) then + files { + MAME_DIR .. "src/devices/sound/okiadpcm.cpp", + MAME_DIR .. "src/devices/sound/okiadpcm.h", + } +end + +if (SOUNDS["MSM5205"]~=null or SOUNDS["MSM6585"]~=null) then + files { + MAME_DIR .. "src/devices/sound/msm5205.cpp", + MAME_DIR .. "src/devices/sound/msm5205.h", + } +end + +if (SOUNDS["MSM5232"]~=null) then + files { + MAME_DIR .. "src/devices/sound/msm5232.cpp", + MAME_DIR .. "src/devices/sound/msm5232.h", + } +end + +if (SOUNDS["OKIM6376"]~=null) then + files { + MAME_DIR .. "src/devices/sound/okim6376.cpp", + MAME_DIR .. "src/devices/sound/okim6376.h", + } +end + +if (SOUNDS["OKIM6295"]~=null) then + files { + MAME_DIR .. "src/devices/sound/okim6295.cpp", + MAME_DIR .. "src/devices/sound/okim6295.h", + } +end + +if (SOUNDS["OKIM6258"]~=null) then + files { + MAME_DIR .. "src/devices/sound/okim6258.cpp", + MAME_DIR .. "src/devices/sound/okim6258.h", + } +end + +if (SOUNDS["OKIM9810"]~=null) then + files { + MAME_DIR .. "src/devices/sound/okim9810.cpp", + MAME_DIR .. "src/devices/sound/okim9810.h", + } +end + + + +--------------------------------------------------- +-- Philips SAA1099 +--@src/devices/sound/saa1099.h,SOUNDS["SAA1099"] = true +--------------------------------------------------- + +if (SOUNDS["SAA1099"]~=null) then + files { + MAME_DIR .. "src/devices/sound/saa1099.cpp", + MAME_DIR .. "src/devices/sound/saa1099.h", + } +end + + + +--------------------------------------------------- +-- AdMOS QS1000 +--@src/devices/sound/qs1000.h,SOUNDS["QS1000"] = true +--------------------------------------------------- + +if (SOUNDS["QS1000"]~=null) then + files { + MAME_DIR .. "src/devices/sound/qs1000.cpp", + MAME_DIR .. "src/devices/sound/qs1000.h", + } +end + + + +--------------------------------------------------- +-- QSound sample player +--@src/devices/sound/qsound.h,SOUNDS["QSOUND"] = true +--------------------------------------------------- + +if (SOUNDS["QSOUND"]~=null) then + files { + MAME_DIR .. "src/devices/sound/qsound.cpp", + MAME_DIR .. "src/devices/sound/qsound.h", + MAME_DIR .. "src/devices/sound/qsoundhle.cpp", + MAME_DIR .. "src/devices/sound/qsoundhle.h", + } +end + + + +--------------------------------------------------- +-- Ricoh sample players +--@src/devices/sound/rf5c68.h,SOUNDS["RF5C68"] = true +--@src/devices/sound/rf5c400.h,SOUNDS["RF5C400"] = true +--------------------------------------------------- + +if (SOUNDS["RF5C68"]~=null) then + files { + MAME_DIR .. "src/devices/sound/rf5c68.cpp", + MAME_DIR .. "src/devices/sound/rf5c68.h", + } +end + +if (SOUNDS["RF5C400"]~=null) then + files { + MAME_DIR .. "src/devices/sound/rf5c400.cpp", + MAME_DIR .. "src/devices/sound/rf5c400.h", + } +end + + + +--------------------------------------------------- +-- Sega custom sound chips +--@src/devices/sound/segapcm.h,SOUNDS["SEGAPCM"] = true +--@src/devices/sound/multipcm.h,SOUNDS["MULTIPCM"] = true +--@src/devices/sound/scsp.h,SOUNDS["SCSP"] = true +--@src/devices/sound/aica.h,SOUNDS["AICA"] = true +--------------------------------------------------- + +if (SOUNDS["SEGAPCM"]~=null) then + files { + MAME_DIR .. "src/devices/sound/segapcm.cpp", + MAME_DIR .. "src/devices/sound/segapcm.h", + } +end + +if (SOUNDS["MULTIPCM"]~=null) then + files { + MAME_DIR .. "src/devices/sound/multipcm.cpp", + MAME_DIR .. "src/devices/sound/multipcm.h", + } +end + +if (SOUNDS["SCSP"]~=null) then + files { + MAME_DIR .. "src/devices/sound/scsp.cpp", + MAME_DIR .. "src/devices/sound/scsp.h", + MAME_DIR .. "src/devices/sound/scspdsp.cpp", + MAME_DIR .. "src/devices/sound/scspdsp.h", + } +end + +if (SOUNDS["AICA"]~=null) then + files { + MAME_DIR .. "src/devices/sound/aica.cpp", + MAME_DIR .. "src/devices/sound/aica.h", + MAME_DIR .. "src/devices/sound/aicadsp.cpp", + MAME_DIR .. "src/devices/sound/aicadsp.h", + } +end + +--------------------------------------------------- +-- Seta custom sound chips +--@src/devices/sound/st0016.h,SOUNDS["ST0016"] = true +--@src/devices/sound/nile.h,SOUNDS["NILE"] = true +--@src/devices/sound/x1_010.h,SOUNDS["X1_010"] = true +--------------------------------------------------- + +if (SOUNDS["ST0016"]~=null) then + files { + MAME_DIR .. "src/devices/sound/st0016.cpp", + MAME_DIR .. "src/devices/sound/st0016.h", + } +end + +if (SOUNDS["NILE"]~=null) then + files { + MAME_DIR .. "src/devices/sound/nile.cpp", + MAME_DIR .. "src/devices/sound/nile.h", + } +end + +if (SOUNDS["X1_010"]~=null) then + files { + MAME_DIR .. "src/devices/sound/x1_010.cpp", + MAME_DIR .. "src/devices/sound/x1_010.h", + } +end + + + +--------------------------------------------------- +-- SID custom sound chips +--@src/devices/sound/mos6581.h,SOUNDS["SID6581"] = true +--------------------------------------------------- + +if (SOUNDS["SID6581"]~=null or SOUNDS["SID8580"]~=null) then + files { + MAME_DIR .. "src/devices/sound/mos6581.cpp", + MAME_DIR .. "src/devices/sound/mos6581.h", + MAME_DIR .. "src/devices/sound/sid.cpp", + MAME_DIR .. "src/devices/sound/sid.h", + MAME_DIR .. "src/devices/sound/sidenvel.cpp", + MAME_DIR .. "src/devices/sound/sidenvel.h", + MAME_DIR .. "src/devices/sound/sidvoice.cpp", + MAME_DIR .. "src/devices/sound/sidvoice.h", + MAME_DIR .. "src/devices/sound/side6581.h", + MAME_DIR .. "src/devices/sound/sidw6581.h", + MAME_DIR .. "src/devices/sound/sidw8580.h", + } +end + + +--------------------------------------------------- +-- SNK(?) custom stereo sn76489a clone +--@src/devices/sound/t6w28.h,SOUNDS["T6W28"] = true +--------------------------------------------------- + +if (SOUNDS["T6W28"]~=null) then + files { + MAME_DIR .. "src/devices/sound/t6w28.cpp", + MAME_DIR .. "src/devices/sound/t6w28.h", + } +end + + + +--------------------------------------------------- +-- SNK custom wave generator +--@src/devices/sound/snkwave.h,SOUNDS["SNKWAVE"] = true +--------------------------------------------------- + +if (SOUNDS["SNKWAVE"]~=null) then + files { + MAME_DIR .. "src/devices/sound/snkwave.cpp", + MAME_DIR .. "src/devices/sound/snkwave.h", + } +end + + + +--------------------------------------------------- +-- Sony custom sound chips +--@src/devices/sound/spu.h,SOUNDS["SPU"] = true +--------------------------------------------------- + +if (SOUNDS["SPU"]~=null) then + files { + MAME_DIR .. "src/devices/sound/spu.cpp", + MAME_DIR .. "src/devices/sound/spu.h", + MAME_DIR .. "src/devices/sound/spu_tables.cpp", + MAME_DIR .. "src/devices/sound/spureverb.cpp", + MAME_DIR .. "src/devices/sound/spureverb.h", + } +end + + +--------------------------------------------------- +-- SP0256 speech synthesizer +--@src/devices/sound/sp0256.h,SOUNDS["SP0256"] = true +--------------------------------------------------- + +if (SOUNDS["SP0256"]~=null) then + files { + MAME_DIR .. "src/devices/sound/sp0256.cpp", + MAME_DIR .. "src/devices/sound/sp0256.h", + } +end + + + +--------------------------------------------------- +-- SP0250 speech synthesizer +--@src/devices/sound/sp0250.h,SOUNDS["SP0250"] = true +--------------------------------------------------- + +if (SOUNDS["SP0250"]~=null) then + files { + MAME_DIR .. "src/devices/sound/sp0250.cpp", + MAME_DIR .. "src/devices/sound/sp0250.h", + } +end + + + +--------------------------------------------------- +-- S14001A speech synthesizer +--@src/devices/sound/s14001a.h,SOUNDS["S14001A"] = true +--------------------------------------------------- + +if (SOUNDS["S14001A"]~=null) then + files { + MAME_DIR .. "src/devices/sound/s14001a.cpp", + MAME_DIR .. "src/devices/sound/s14001a.h", + } +end + + + +--------------------------------------------------- +-- Texas Instruments SN76477 analog chip +--@src/devices/sound/sn76477.h,SOUNDS["SN76477"] = true +--------------------------------------------------- + +if (SOUNDS["SN76477"]~=null) then + files { + MAME_DIR .. "src/devices/sound/sn76477.cpp", + MAME_DIR .. "src/devices/sound/sn76477.h", + } +end + + + +--------------------------------------------------- +-- Texas Instruments SN76496 +--@src/devices/sound/sn76496.h,SOUNDS["SN76496"] = true +--------------------------------------------------- + +if (SOUNDS["SN76496"]~=null) then + files { + MAME_DIR .. "src/devices/sound/sn76496.cpp", + MAME_DIR .. "src/devices/sound/sn76496.h", + } +end + + + +--------------------------------------------------- +-- Texas Instruments TMS36xx doorbell chime +--@src/devices/sound/tms36xx.h,SOUNDS["TMS36XX"] = true +--------------------------------------------------- + +if (SOUNDS["TMS36XX"]~=null) then + files { + MAME_DIR .. "src/devices/sound/tms36xx.cpp", + MAME_DIR .. "src/devices/sound/tms36xx.h", + } +end + + + +--------------------------------------------------- +-- Texas Instruments TMS3615 Octave Multiple Tone Synthesizer +--@src/devices/sound/tms3615.h,SOUNDS["TMS3615"] = true +--------------------------------------------------- + +if (SOUNDS["TMS3615"]~=null) then + files { + MAME_DIR .. "src/devices/sound/tms3615.cpp", + MAME_DIR .. "src/devices/sound/tms3615.h", + } +end + + + +--------------------------------------------------- +-- Texas Instruments TMS5100-series speech synthesizers +--@src/devices/sound/tms5110.h,SOUNDS["TMS5110"] = true +--------------------------------------------------- + +if (SOUNDS["TMS5110"]~=null) then + files { + MAME_DIR .. "src/devices/sound/tms5110.cpp", + MAME_DIR .. "src/devices/sound/tms5110.h", + MAME_DIR .. "src/devices/sound/tms5110r.hxx", + } +end + +--------------------------------------------------- +-- Texas Instruments TMS5200-series speech synthesizers +--@src/devices/sound/tms5220.h,SOUNDS["TMS5220"] = true +--------------------------------------------------- +if (SOUNDS["TMS5220"]~=null) then + files { + MAME_DIR .. "src/devices/sound/tms5220.cpp", + MAME_DIR .. "src/devices/sound/tms5220.h", + MAME_DIR .. "src/devices/sound/tms5110r.hxx", + MAME_DIR .. "src/devices/machine/spchrom.cpp", + MAME_DIR .. "src/devices/machine/spchrom.h", + } +end + + +--------------------------------------------------- +-- Toshiba T6721A voice synthesizer +--@src/devices/sound/t6721a.h,SOUNDS["T6721A"] = true +--------------------------------------------------- + +if (SOUNDS["T6721A"]~=null) then + files { + MAME_DIR .. "src/devices/sound/t6721a.cpp", + MAME_DIR .. "src/devices/sound/t6721a.h", + } +end + + + +--------------------------------------------------- +-- Toshiba TC8830F sample player/recorder +--@src/devices/sound/tc8830f.h,SOUNDS["TC8830F"] = true +--------------------------------------------------- + +if (SOUNDS["TC8830F"]~=null) then + files { + MAME_DIR .. "src/devices/sound/tc8830f.cpp", + MAME_DIR .. "src/devices/sound/tc8830f.h", + } +end + + +--------------------------------------------------- +-- NEC uPD7752 +--@src/devices/sound/upd7752.h,SOUNDS["UPD7752"] = true +--------------------------------------------------- + +if (SOUNDS["UPD7752"]~=null) then + files { + MAME_DIR .. "src/devices/sound/upd7752.cpp", + MAME_DIR .. "src/devices/sound/upd7752.h", + } +end + + +--------------------------------------------------- +-- VLM5030 speech synthesizer +--@src/devices/sound/vlm5030.h,SOUNDS["VLM5030"] = true +--------------------------------------------------- + +if (SOUNDS["VLM5030"]~=null) then + files { + MAME_DIR .. "src/devices/sound/vlm5030.cpp", + MAME_DIR .. "src/devices/sound/vlm5030.h", + MAME_DIR .. "src/devices/sound/tms5110r.hxx", + } +end + +--------------------------------------------------- +-- Votrax speech synthesizer +--@src/devices/sound/votrax.h,SOUNDS["VOTRAX"] = true +--------------------------------------------------- + +if (SOUNDS["VOTRAX"]~=null) then + files { + MAME_DIR .. "src/devices/sound/votrax.cpp", + MAME_DIR .. "src/devices/sound/votrax.h", + } +end + + + +--------------------------------------------------- +-- VRender0 custom sound chip +--@src/devices/sound/vrender0.h,SOUNDS["VRENDER0"] = true +--------------------------------------------------- + +if (SOUNDS["VRENDER0"]~=null) then + files { + MAME_DIR .. "src/devices/sound/vrender0.cpp", + MAME_DIR .. "src/devices/sound/vrender0.h", + } +end + + + +--------------------------------------------------- +-- WAVE file (used for MESS cassette) +--@src/devices/sound/wave.h,SOUNDS["WAVE"] = true +--------------------------------------------------- + +if (SOUNDS["WAVE"]~=null) then + files { + MAME_DIR .. "src/devices/sound/wave.cpp", + MAME_DIR .. "src/devices/sound/wave.h", + } +end + + + +--------------------------------------------------- +-- Yamaha FM synthesizers +--@src/devices/sound/ym2151.h,SOUNDS["YM2151"] = true +--@src/devices/sound/2203intf.h,SOUNDS["YM2203"] = true +--@src/devices/sound/ym2413.h,SOUNDS["YM2413"] = true +--@src/devices/sound/2608intf.h,SOUNDS["YM2608"] = true +--@src/devices/sound/2610intf.h,SOUNDS["YM2610"] = true +--@src/devices/sound/2612intf.h,SOUNDS["YM2612"] = true +--@src/devices/sound/3812intf.h,SOUNDS["YM3812"] = true +--@src/devices/sound/3526intf.h,SOUNDS["YM3526"] = true +--@src/devices/sound/8950intf.h,SOUNDS["Y8950"] = true +--@src/devices/sound/ymf262.h,SOUNDS["YMF262"] = true +--@src/devices/sound/ymf271.h,SOUNDS["YMF271"] = true +--@src/devices/sound/ymf278b.h,SOUNDS["YMF278B"] = true +--@src/devices/sound/262intf.h,SOUNDS["YMF262"] = true +--------------------------------------------------- + +if (SOUNDS["YM2151"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ym2151.cpp", + MAME_DIR .. "src/devices/sound/ym2151.h", + } +end + +if (SOUNDS["YM2413"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ym2413.cpp", + MAME_DIR .. "src/devices/sound/ym2413.h", + } +end + +if (SOUNDS["YM2203"]~=null or SOUNDS["YM2608"]~=null or SOUNDS["YM2610"]~=null or SOUNDS["YM2610B"]~=null or SOUNDS["YM2612"]~=null or SOUNDS["YM3438"]~=null) then +--if (SOUNDS["YM2203"]~=null) then + files { + MAME_DIR .. "src/devices/sound/2203intf.cpp", + MAME_DIR .. "src/devices/sound/2203intf.h", + MAME_DIR .. "src/devices/sound/ay8910.cpp", + MAME_DIR .. "src/devices/sound/ay8910.h", + MAME_DIR .. "src/devices/sound/fm.cpp", + MAME_DIR .. "src/devices/sound/fm.h", + } +--end + + +--if (SOUNDS["YM2608"]~=null) then + files { + MAME_DIR .. "src/devices/sound/2608intf.cpp", + MAME_DIR .. "src/devices/sound/2608intf.h", + MAME_DIR .. "src/devices/sound/ay8910.cpp", + MAME_DIR .. "src/devices/sound/ay8910.h", + MAME_DIR .. "src/devices/sound/fm.cpp", + MAME_DIR .. "src/devices/sound/fm.h", + MAME_DIR .. "src/devices/sound/ymdeltat.cpp", + MAME_DIR .. "src/devices/sound/ymdeltat.h", + } +--end + +--if (SOUNDS["YM2610"]~=null or SOUNDS["YM2610B"]~=null) then + files { + MAME_DIR .. "src/devices/sound/2610intf.cpp", + MAME_DIR .. "src/devices/sound/2610intf.h", + MAME_DIR .. "src/devices/sound/ay8910.cpp", + MAME_DIR .. "src/devices/sound/ay8910.h", + MAME_DIR .. "src/devices/sound/fm.cpp", + MAME_DIR .. "src/devices/sound/fm.h", + MAME_DIR .. "src/devices/sound/ymdeltat.cpp", + MAME_DIR .. "src/devices/sound/ymdeltat.h", + } +--end + +--if (SOUNDS["YM2612"]~=null or SOUNDS["YM3438"]~=null) then + files { + MAME_DIR .. "src/devices/sound/2612intf.cpp", + MAME_DIR .. "src/devices/sound/2612intf.h", + MAME_DIR .. "src/devices/sound/ay8910.cpp", + MAME_DIR .. "src/devices/sound/ay8910.h", + MAME_DIR .. "src/devices/sound/fm2612.cpp", + } +--end +end + +if (SOUNDS["YM3812"]~=null or SOUNDS["YM3526"]~=null or SOUNDS["Y8950"]~=null) then +--if (SOUNDS["YM3812"]~=null) then + files { + MAME_DIR .. "src/devices/sound/3812intf.cpp", + MAME_DIR .. "src/devices/sound/3812intf.h", + MAME_DIR .. "src/devices/sound/fmopl.cpp", + MAME_DIR .. "src/devices/sound/fmopl.h", + MAME_DIR .. "src/devices/sound/ymdeltat.cpp", + MAME_DIR .. "src/devices/sound/ymdeltat.h", + } +--end + +--if (SOUNDS["YM3526"]~=null) then + files { + MAME_DIR .. "src/devices/sound/3526intf.cpp", + MAME_DIR .. "src/devices/sound/3526intf.h", + MAME_DIR .. "src/devices/sound/fmopl.cpp", + MAME_DIR .. "src/devices/sound/fmopl.h", + MAME_DIR .. "src/devices/sound/ymdeltat.cpp", + MAME_DIR .. "src/devices/sound/ymdeltat.h", + } +--end + +--if (SOUNDS["Y8950"]~=null) then + files { + MAME_DIR .. "src/devices/sound/8950intf.cpp", + MAME_DIR .. "src/devices/sound/8950intf.h", + MAME_DIR .. "src/devices/sound/fmopl.cpp", + MAME_DIR .. "src/devices/sound/fmopl.h", + MAME_DIR .. "src/devices/sound/ymdeltat.cpp", + MAME_DIR .. "src/devices/sound/ymdeltat.h", + } +--end +end + +if (SOUNDS["YMF262"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ymf262.cpp", + MAME_DIR .. "src/devices/sound/ymf262.h", + MAME_DIR .. "src/devices/sound/262intf.cpp", + MAME_DIR .. "src/devices/sound/262intf.h", + } +end + +if (SOUNDS["YMF271"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ymf271.cpp", + MAME_DIR .. "src/devices/sound/ymf271.h", + } +end + +if (SOUNDS["YMF278B"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ymf278b.cpp", + MAME_DIR .. "src/devices/sound/ymf278b.h", + } +end + + + +--------------------------------------------------- +-- Yamaha YMZ280B ADPCM +--@src/devices/sound/ymz280b.h,SOUNDS["YMZ280B"] = true +--------------------------------------------------- + +if (SOUNDS["YMZ280B"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ymz280b.cpp", + MAME_DIR .. "src/devices/sound/ymz280b.h", + } +end + +--------------------------------------------------- +-- Yamaha YMZ770 AMM +--@src/devices/sound/ymz770.h,SOUNDS["YMZ770"] = true +--------------------------------------------------- + +if (SOUNDS["YMZ770"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ymz770.cpp", + MAME_DIR .. "src/devices/sound/ymz770.h", + } +end + +--------------------------------------------------- +-- MPEG AUDIO +--@src/devices/sound/mpeg_audio.h,SOUNDS["MPEG_AUDIO"] = true +--------------------------------------------------- + +if (SOUNDS["MPEG_AUDIO"]~=null) then + files { + MAME_DIR .. "src/devices/sound/mpeg_audio.cpp", + MAME_DIR .. "src/devices/sound/mpeg_audio.h", + } +end + +--------------------------------------------------- +-- ZOOM ZSG-2 +--@src/devices/sound/zsg2.h,SOUNDS["ZSG2"] = true +--------------------------------------------------- + +if (SOUNDS["ZSG2"]~=null) then + files { + MAME_DIR .. "src/devices/sound/zsg2.cpp", + MAME_DIR .. "src/devices/sound/zsg2.h", + } +end + +--------------------------------------------------- +-- VRC6 +--@src/devices/sound/vrc6.h,SOUNDS["VRC6"] = true +--------------------------------------------------- + +if (SOUNDS["VRC6"]~=null) then + files { + MAME_DIR .. "src/devices/sound/vrc6.cpp", + MAME_DIR .. "src/devices/sound/vrc6.h", + } +end + +--------------------------------------------------- +-- AD1848 +--@src/devices/sound/ad1848.h,SOUNDS["AD1848"] = true +--------------------------------------------------- + +if (SOUNDS["AD1848"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ad1848.cpp", + MAME_DIR .. "src/devices/sound/ad1848.h", + } +end + +--------------------------------------------------- +-- UPD1771 +--@src/devices/sound/upd1771.h,SOUNDS["UPD1771"] = true +--------------------------------------------------- + +if (SOUNDS["UPD1771"]~=null) then + files { + MAME_DIR .. "src/devices/sound/upd1771.cpp", + MAME_DIR .. "src/devices/sound/upd1771.h", + } +end + +--------------------------------------------------- +-- GB_SOUND +--@src/devices/sound/gb.h,SOUNDS["GB_SOUND"] = true +--------------------------------------------------- + +if (SOUNDS["GB_SOUND"]~=null) then + files { + MAME_DIR .. "src/devices/sound/gb.cpp", + MAME_DIR .. "src/devices/sound/gb.h", + } +end + +--------------------------------------------------- +-- PCD3311 +--@src/devices/sound/pcd3311.h,SOUNDS["PCD3311"] = true +--------------------------------------------------- + +if (SOUNDS["PCD3311"]~=null) then + files { + MAME_DIR .. "src/devices/sound/pcd3311.cpp", + MAME_DIR .. "src/devices/sound/pcd3311.h", + } +end + +--------------------------------------------------- +-- Voltage Regulator +--@src/devices/sound/volt_reg.h,SOUNDS["VOLT_REG"] = true +--------------------------------------------------- +if (SOUNDS["VOLT_REG"]~=null) then + files { + MAME_DIR .. "src/devices/sound/volt_reg.cpp", + MAME_DIR .. "src/devices/sound/volt_reg.h", + } +end + +--------------------------------------------------- +-- DAC-76 COMDAC +--@src/devices/sound/dac76.h,SOUNDS["DAC76"] = true +--------------------------------------------------- +if (SOUNDS["DAC76"]~=null) then + files { + MAME_DIR .. "src/devices/sound/dac76.cpp", + MAME_DIR .. "src/devices/sound/dac76.h", + } +end + +--------------------------------------------------- +-- MM5837 Noise Generator +--@src/devices/sound/mm5837.h,MACHINES["MM5837"] = true +--------------------------------------------------- + +if (SOUNDS["MM5837"]~=null) then + files { + MAME_DIR .. "src/devices/sound/mm5837.cpp", + MAME_DIR .. "src/devices/sound/mm5837.h", + } +end + +--------------------------------------------------- +-- Intelligent Designs DAVE +--@src/devices/sound/dave.h,MACHINES["DAVE"] = true +--------------------------------------------------- + +if (SOUNDS["DAVE"]~=null) then + files { + MAME_DIR .. "src/devices/sound/dave.cpp", + MAME_DIR .. "src/devices/sound/dave.h", + } +end + +--------------------------------------------------- +-- Toshiba TA7630 +--@src/devices/sound/ta7630.h,SOUNDS["TA7630"] = true +--------------------------------------------------- + +if (SOUNDS["TA7630"]~=null) then + files { + MAME_DIR .. "src/devices/sound/ta7630.cpp", + MAME_DIR .. "src/devices/sound/ta7630.h", + } +end + +--------------------------------------------------- +-- Sanyo LC7535 +--@src/devices/sound/lc7535.h,SOUNDS["LC7535"] = true +--------------------------------------------------- + +if (SOUNDS["LC7535"]~=null) then + files { + MAME_DIR .. "src/devices/sound/lc7535.cpp", + MAME_DIR .. "src/devices/sound/lc7535.h", + } +end + +--------------------------------------------------- +-- NEC uPD934G +--@src/devices/sound/upd934g.h,SOUNDS["UPD934G"] = true +--------------------------------------------------- + +if (SOUNDS["UPD934G"]~=null) then + files { + MAME_DIR .. "src/devices/sound/upd934g.cpp", + MAME_DIR .. "src/devices/sound/upd934g.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/sound/iopspu.h,SOUNDS["IOPSPU"] = true +--------------------------------------------------- + +if (SOUNDS["IOPSPU"]~=null) then + files { + MAME_DIR .. "src/devices/sound/iopspu.cpp", + MAME_DIR .. "src/devices/sound/iopspu.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/sound/swp00.h,SOUNDS["SWP00"] = true +--------------------------------------------------- + +if (SOUNDS["SWP00"]~=null) then + files { + MAME_DIR .. "src/devices/sound/swp00.cpp", + MAME_DIR .. "src/devices/sound/swp00.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/sound/swp20.h,SOUNDS["SWP20"] = true +--------------------------------------------------- + +if (SOUNDS["SWP20"]~=null) then + files { + MAME_DIR .. "src/devices/sound/swp20.cpp", + MAME_DIR .. "src/devices/sound/swp20.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/sound/swp30.h,SOUNDS["SWP30"] = true +--------------------------------------------------- + +if (SOUNDS["SWP30"]~=null) then + files { + MAME_DIR .. "src/devices/sound/swp30.cpp", + MAME_DIR .. "src/devices/sound/swp30.h", + } +end diff --git a/docs/release/scripts/src/tests.lua b/docs/release/scripts/src/tests.lua new file mode 100644 index 00000000000..6d964737079 --- /dev/null +++ b/docs/release/scripts/src/tests.lua @@ -0,0 +1,99 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- tests.lua +-- +-- Rules for building tests +-- +--------------------------------------------------------------------------- + +project("mametests") + uuid ("66d4c639-196b-4065-a411-7ee9266564f5") + kind "ConsoleApp" + + flags { + "Symbols", -- always include minimum symbols for executables + } + + if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) + end + + configuration { "x64", "Release" } + targetsuffix "64" + if _OPTIONS["PROFILE"] then + targetsuffix "64p" + end + + configuration { "x64", "Debug" } + targetsuffix "64d" + if _OPTIONS["PROFILE"] then + targetsuffix "64dp" + end + + configuration { "x32", "Release" } + targetsuffix "" + if _OPTIONS["PROFILE"] then + targetsuffix "p" + end + + configuration { "x32", "Debug" } + targetsuffix "d" + if _OPTIONS["PROFILE"] then + targetsuffix "dp" + end + + configuration { "Native", "Release" } + targetsuffix "" + if _OPTIONS["PROFILE"] then + targetsuffix "p" + end + + configuration { "Native", "Debug" } + targetsuffix "d" + if _OPTIONS["PROFILE"] then + targetsuffix "dp" + end + + configuration { "mingw*" or "vs*" } + targetextension ".exe" + + configuration { "rpi" } + targetextension "" + + + configuration { } + + links { + "utils", + ext_lib("expat"), + ext_lib("zlib"), + "ocore_" .. _OPTIONS["osd"], + } + + includedirs { + MAME_DIR .. "3rdparty/catch/single_include", + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/lib/util", + ext_includedir("expat"), + ext_includedir("zlib"), + } + + files { + MAME_DIR .. "src/emu/video/rgbsse.cpp", + MAME_DIR .. "src/emu/video/rgbsse.h", + MAME_DIR .. "src/emu/video/rgbvmx.cpp", + MAME_DIR .. "src/emu/video/rgbvmx.h", + } + + files { + MAME_DIR .. "tests/main.cpp", + MAME_DIR .. "tests/lib/util/corestr.cpp", + MAME_DIR .. "tests/lib/util/options.cpp", + MAME_DIR .. "tests/emu/attotime.cpp", + MAME_DIR .. "tests/emu/video/rgbutil.cpp", + } + diff --git a/docs/release/scripts/src/tools.lua b/docs/release/scripts/src/tools.lua new file mode 100644 index 00000000000..aa966e7763b --- /dev/null +++ b/docs/release/scripts/src/tools.lua @@ -0,0 +1,891 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- tools.lua +-- +-- Rules for the building of tools +-- +--------------------------------------------------------------------------- + +-------------------------------------------------- +-- romcmp +-------------------------------------------------- + +project("romcmp") +uuid ("1b40275b-194c-497b-8abd-9338775a21b8") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "utils", + ext_lib("expat"), + "7z", + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", +} + +files { + MAME_DIR .. "src/tools/romcmp.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- chdman +-------------------------------------------------- + +project("chdman") +uuid ("7d948868-42db-432a-9bb5-70ce5c5f4620") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "utils", + ext_lib("expat"), + "7z", + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("flac"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", +} +includedirs { + ext_includedir("flac"), +} + +files { + MAME_DIR .. "src/tools/chdman.cpp", + GEN_DIR .. "version.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- jedutil +-------------------------------------------------- + +project("jedutil") +uuid ("bda60edb-f7f5-489f-b232-23d33c43dda1") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "utils", + ext_lib("expat"), + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", +} + +files { + MAME_DIR .. "src/tools/jedutil.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- unidasm +-------------------------------------------------- + +project("unidasm") +uuid ("65f81d3b-299a-4b08-a3fa-d5241afa9fd1") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "dasm", + "utils", + ext_lib("expat"), + "7z", + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("flac"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", +} + +files { + MAME_DIR .. "src/tools/unidasm.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- ldresample +-------------------------------------------------- + +project("ldresample") +uuid ("3401561a-4407-4e13-9c6d-c0801330f7cc") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "utils", + ext_lib("expat"), + "7z", + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("flac"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", +} +includedirs { + ext_includedir("flac"), +} + +files { + MAME_DIR .. "src/tools/ldresample.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- ldverify +-------------------------------------------------- + +project("ldverify") +uuid ("3e66560d-b928-4227-928b-eadd0a10f00a") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "utils", + ext_lib("expat"), + "7z", + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("flac"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", +} +includedirs { + ext_includedir("flac"), +} + +files { + MAME_DIR .. "src/tools/ldverify.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- regrep +-------------------------------------------------- + +project("regrep") +uuid ("7f6de580-d800-4e8d-bed6-9fc86829584d") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "utils", + ext_lib("expat"), + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", +} + +files { + MAME_DIR .. "src/tools/regrep.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- srcclean +--------------------------------------------------- + +project("srcclean") +uuid ("4dd58139-313a-42c5-965d-f378bdeed220") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "utils", + ext_lib("expat"), + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", +} + +files { + MAME_DIR .. "src/tools/srcclean.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- src2html +-------------------------------------------------- + +project("src2html") +uuid ("b31e963a-09ef-4696-acbd-e663e35ce6f7") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "utils", + ext_lib("expat"), + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", +} + +files { + MAME_DIR .. "src/tools/src2html.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- split +-------------------------------------------------- + +project("split") +uuid ("8ef6ff18-3199-4cc2-afd0-d64033070faa") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "utils", + ext_lib("expat"), + "7z", + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("flac"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", +} + +files { + MAME_DIR .. "src/tools/split.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- pngcmp +-------------------------------------------------- + +project("pngcmp") +uuid ("61f647d9-b129-409b-9c62-8acf98ed39be") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "utils", + ext_lib("expat"), + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib/util", +} + +files { + MAME_DIR .. "src/tools/pngcmp.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- nltool +-------------------------------------------------- + +project("nltool") +uuid ("853a03b7-fa37-41a8-8250-0dc23dd935d6") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "netlist", +} + +includedirs { + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/netlist", +} + +files { + MAME_DIR .. "src/lib/netlist/prg/nltool.cpp", +} + +configuration { "mingw*" } + linkoptions{ + "-municode", + } +configuration { "vs*" } + flags { + "Unicode", + } + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- nlwav +-------------------------------------------------- + +project("nlwav") +uuid ("7c5396d1-2a1a-4c93-bed6-6b8fa182054a") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "netlist", +} + +includedirs { + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/netlist", +} + +files { + MAME_DIR .. "src/lib/netlist/prg/nlwav.cpp", +} + +configuration { "mingw*" } + linkoptions{ + "-municode", + } +configuration { "vs*" } + flags { + "Unicode", + } + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- castool +-------------------------------------------------- + +project("castool") +uuid ("7d9ed428-e2ba-4448-832d-d882a64d5c22") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "formats", + "utils", + ext_lib("expat"), + "7z", + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("flac"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", +} + +files { + MAME_DIR .. "src/tools/castool.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- floptool +-------------------------------------------------- + +project("floptool") +uuid ("85d8e3a6-1661-4ac9-8c21-281d20cbaf5b") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "formats", + "emu", + "utils", + ext_lib("expat"), + "7z", + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("flac"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", +} + +files { + MAME_DIR .. "src/tools/floptool.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- imgtool +-------------------------------------------------- + +project("imgtool") +uuid ("f3707807-e587-4297-a5d8-bc98f3d0b1ca") +kind "ConsoleApp" + +flags { + "Symbols", -- always include minimum symbols for executables +} + +if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) +end + +links { + "formats", + "emu", + "utils", + ext_lib("expat"), + "7z", + "ocore_" .. _OPTIONS["osd"], + ext_lib("zlib"), + ext_lib("flac"), + ext_lib("utf8proc"), +} + +includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + ext_includedir("zlib"), + MAME_DIR .. "src/tools/imgtool", +} + +files { + MAME_DIR .. "src/tools/imgtool/main.cpp", + MAME_DIR .. "src/tools/imgtool/main.h", + MAME_DIR .. "src/tools/imgtool/stream.cpp", + MAME_DIR .. "src/tools/imgtool/stream.h", + MAME_DIR .. "src/tools/imgtool/library.cpp", + MAME_DIR .. "src/tools/imgtool/library.h", + MAME_DIR .. "src/tools/imgtool/modules.cpp", + MAME_DIR .. "src/tools/imgtool/modules.h", + MAME_DIR .. "src/tools/imgtool/iflopimg.cpp", + MAME_DIR .. "src/tools/imgtool/iflopimg.h", + MAME_DIR .. "src/tools/imgtool/filter.cpp", + MAME_DIR .. "src/tools/imgtool/filter.h", + MAME_DIR .. "src/tools/imgtool/filteoln.cpp", + MAME_DIR .. "src/tools/imgtool/filtbas.cpp", + MAME_DIR .. "src/tools/imgtool/imgtool.cpp", + MAME_DIR .. "src/tools/imgtool/imgtool.h", + MAME_DIR .. "src/tools/imgtool/imgterrs.cpp", + MAME_DIR .. "src/tools/imgtool/imgterrs.h", + MAME_DIR .. "src/tools/imgtool/imghd.cpp", + MAME_DIR .. "src/tools/imgtool/imghd.h", + MAME_DIR .. "src/tools/imgtool/charconv.cpp", + MAME_DIR .. "src/tools/imgtool/charconv.h", + MAME_DIR .. "src/tools/imgtool/formats/vt_dsk.cpp", + MAME_DIR .. "src/tools/imgtool/formats/vt_dsk.h", + MAME_DIR .. "src/tools/imgtool/formats/coco_dsk.cpp", + MAME_DIR .. "src/tools/imgtool/formats/coco_dsk.h", + MAME_DIR .. "src/tools/imgtool/modules/amiga.cpp", + MAME_DIR .. "src/tools/imgtool/modules/macbin.cpp", + MAME_DIR .. "src/tools/imgtool/modules/rsdos.cpp", + MAME_DIR .. "src/tools/imgtool/modules/os9.cpp", + MAME_DIR .. "src/tools/imgtool/modules/mac.cpp", + MAME_DIR .. "src/tools/imgtool/modules/ti99.cpp", + MAME_DIR .. "src/tools/imgtool/modules/ti990hd.cpp", + MAME_DIR .. "src/tools/imgtool/modules/concept.cpp", + MAME_DIR .. "src/tools/imgtool/modules/fat.cpp", + MAME_DIR .. "src/tools/imgtool/modules/fat.h", + MAME_DIR .. "src/tools/imgtool/modules/pc_flop.cpp", + MAME_DIR .. "src/tools/imgtool/modules/pc_hard.cpp", + MAME_DIR .. "src/tools/imgtool/modules/prodos.cpp", + MAME_DIR .. "src/tools/imgtool/modules/vzdos.cpp", + MAME_DIR .. "src/tools/imgtool/modules/thomson.cpp", + MAME_DIR .. "src/tools/imgtool/modules/macutil.cpp", + MAME_DIR .. "src/tools/imgtool/modules/macutil.h", + MAME_DIR .. "src/tools/imgtool/modules/cybiko.cpp", + MAME_DIR .. "src/tools/imgtool/modules/cybikoxt.cpp", + MAME_DIR .. "src/tools/imgtool/modules/psion.cpp", + MAME_DIR .. "src/tools/imgtool/modules/bml3.cpp", + MAME_DIR .. "src/tools/imgtool/modules/hp48.cpp", + MAME_DIR .. "src/tools/imgtool/modules/hp9845_tape.cpp", + MAME_DIR .. "src/tools/imgtool/modules/hp85_tape.cpp", + MAME_DIR .. "src/tools/imgtool/modules/rt11.cpp", +} + +configuration { "mingw*" or "vs*" } + targetextension ".exe" + +configuration { } + +strip() + +-------------------------------------------------- +-- aueffectutil +-------------------------------------------------- + +if _OPTIONS["targetos"] == "macosx" then + project("aueffectutil") + uuid ("3db8316d-fad7-4f5b-b46a-99373c91550e") + kind "ConsoleApp" + + flags { + "Symbols", -- always include minimum symbols for executables + } + + if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) + end + + linkoptions { + "-sectcreate __TEXT __info_plist " .. _MAKE.esc(MAME_DIR) .. "src/tools/aueffectutil-Info.plist", + } + + dependency { + { "aueffectutil", MAME_DIR .. "src/tools/aueffectutil-Info.plist", true }, + } + + links { + "AudioUnit.framework", + "AudioToolbox.framework", + "CoreAudio.framework", + "CoreAudioKit.framework", + "CoreServices.framework", + } + + files { + MAME_DIR .. "src/tools/aueffectutil.mm", + } + + configuration { } + + strip() +end + +-------------------------------------------------- +-- testkeys +-------------------------------------------------- + +if (_OPTIONS["osd"] == "sdl") then + project("testkeys") + uuid ("b3f5a5b8-3203-11e9-93e4-670b4f4e359d") + kind "ConsoleApp" + + flags { + "Symbols", -- always include minimum symbols for executables + } + + if _OPTIONS["SEPARATE_BIN"]~="1" then + targetdir(MAME_DIR) + end + + links { + "ocore_" .. _OPTIONS["osd"], + ext_lib("utf8proc"), + } + + if _OPTIONS["targetos"]=="windows" then + if _OPTIONS["with-bundled-sdl2"]~=nil then + configuration { "mingw*"} + links { + "SDL2", + "imm32", + "version", + "ole32", + "oleaut32", + } + configuration { "vs*" } + links { + "SDL2", + "imm32", + "version", + } + configuration { } + else + if _OPTIONS["USE_LIBSDL"]~="1" then + configuration { "mingw*"} + links { + "SDL2main", + "SDL2", + } + configuration { "vs*" } + links { + "SDL2", + "imm32", + "version", + } + configuration { } + else + local str = backtick(sdlconfigcmd() .. " --libs | sed 's/ -lSDLmain//'") + addlibfromstring(str) + addoptionsfromstring(str) + end + configuration { "x32", "vs*" } + libdirs { + path.join(_OPTIONS["SDL_INSTALL_ROOT"],"lib","x86") + } + configuration { "x64", "vs*" } + libdirs { + path.join(_OPTIONS["SDL_INSTALL_ROOT"],"lib","x64") + } + end + end + + if BASE_TARGETOS=="unix" then + if _OPTIONS["with-bundled-sdl2"]~=nil then + links { + "SDL2", + } + end + end + + dofile("osd/sdl_cfg.lua") + + includedirs { + MAME_DIR .. "src/osd", + } + + files { + MAME_DIR .. "src/tools/testkeys.cpp", + } + + configuration { "mingw*" or "vs*" } + targetextension ".exe" + + configuration { } + + strip() +end diff --git a/docs/release/scripts/src/video.lua b/docs/release/scripts/src/video.lua new file mode 100644 index 00000000000..b49bd961f95 --- /dev/null +++ b/docs/release/scripts/src/video.lua @@ -0,0 +1,1220 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- video.lua +-- +-- Rules for building video cores +-- +--------------------------------------------------------------------------- + +files { + MAME_DIR .. "src/devices/video/poly.h", + MAME_DIR .. "src/devices/video/sprite.cpp", + MAME_DIR .. "src/devices/video/sprite.h", + MAME_DIR .. "src/devices/video/vector.cpp", + MAME_DIR .. "src/devices/video/vector.h", +} + +-------------------------------------------------- +-- +--@src/devices/video/315_5124.h,VIDEOS["SEGA315_5124"] = true +-------------------------------------------------- + +if (VIDEOS["SEGA315_5124"]~=null) then + files { + MAME_DIR .. "src/devices/video/315_5124.cpp", + MAME_DIR .. "src/devices/video/315_5124.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/315_5313.h,VIDEOS["SEGA315_5313"] = true +-------------------------------------------------- + +if (VIDEOS["SEGA315_5313"]~=null) then + files { + MAME_DIR .. "src/devices/video/315_5313.cpp", + MAME_DIR .. "src/devices/video/315_5313.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/bufsprite.h,VIDEOS["BUFSPRITE"] = true +-------------------------------------------------- + +if (VIDEOS["BUFSPRITE"]~=null) then + files { + MAME_DIR .. "src/devices/video/bufsprite.cpp", + MAME_DIR .. "src/devices/video/bufsprite.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/cdp1861.h,VIDEOS["CDP1861"] = true +-------------------------------------------------- + +if (VIDEOS["CDP1861"]~=null) then + files { + MAME_DIR .. "src/devices/video/cdp1861.cpp", + MAME_DIR .. "src/devices/video/cdp1861.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/cdp1862.h,VIDEOS["CDP1862"] = true +-------------------------------------------------- + +if (VIDEOS["CDP1862"]~=null) then + files { + MAME_DIR .. "src/devices/video/cdp1862.cpp", + MAME_DIR .. "src/devices/video/cdp1862.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/cesblit.h,VIDEOS["CESBLIT"] = true +-------------------------------------------------- + +if (VIDEOS["CESBLIT"]~=null) then + files { + MAME_DIR .. "src/devices/video/cesblit.cpp", + MAME_DIR .. "src/devices/video/cesblit.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/crt9007.h,VIDEOS["CRT9007"] = true +-------------------------------------------------- + +if (VIDEOS["CRT9007"]~=null) then + files { + MAME_DIR .. "src/devices/video/crt9007.cpp", + MAME_DIR .. "src/devices/video/crt9007.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/crt9021.h,VIDEOS["CRT9021"] = true +-------------------------------------------------- + +if (VIDEOS["CRT9021"]~=null) then + files { + MAME_DIR .. "src/devices/video/crt9021.cpp", + MAME_DIR .. "src/devices/video/crt9021.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/crt9028.h,VIDEOS["CRT9028"] = true +-------------------------------------------------- + +if (VIDEOS["CRT9028"]~=null) then + files { + MAME_DIR .. "src/devices/video/crt9028.cpp", + MAME_DIR .. "src/devices/video/crt9028.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/crt9212.h,VIDEOS["CRT9212"] = true +-------------------------------------------------- + +if (VIDEOS["CRT9212"]~=null) then + files { + MAME_DIR .. "src/devices/video/crt9212.cpp", + MAME_DIR .. "src/devices/video/crt9212.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/dl1416.h,VIDEOS["DL1416"] = true +-------------------------------------------------- + +if (VIDEOS["DL1416"]~=null) then + files { + MAME_DIR .. "src/devices/video/dl1416.cpp", + MAME_DIR .. "src/devices/video/dl1416.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/dm9368.h,VIDEOS["DM9368"] = true +-------------------------------------------------- + +if (VIDEOS["DM9368"]~=null) then + files { + MAME_DIR .. "src/devices/video/dm9368.cpp", + MAME_DIR .. "src/devices/video/dm9368.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/dp8350.h,VIDEOS["DP8350"] = true +-------------------------------------------------- + +if (VIDEOS["DP8350"]~=null) then + files { + MAME_DIR .. "src/devices/video/dp8350.cpp", + MAME_DIR .. "src/devices/video/dp8350.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/ef9340_1.h,VIDEOS["EF9340_1"] = true +-------------------------------------------------- + +if (VIDEOS["EF9340_1"]~=null) then + files { + MAME_DIR .. "src/devices/video/ef9340_1.cpp", + MAME_DIR .. "src/devices/video/ef9340_1.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/ef9345.h,VIDEOS["EF9345"] = true +-------------------------------------------------- + +if (VIDEOS["EF9345"]~=null) then + files { + MAME_DIR .. "src/devices/video/ef9345.cpp", + MAME_DIR .. "src/devices/video/ef9345.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/ef9364.h,VIDEOS["EF9364"] = true +-------------------------------------------------- + +if (VIDEOS["EF9364"]~=null) then + files { + MAME_DIR .. "src/devices/video/ef9364.cpp", + MAME_DIR .. "src/devices/video/ef9364.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/ef9365.h,VIDEOS["EF9365"] = true +-------------------------------------------------- + +if (VIDEOS["EF9365"]~=null) then + files { + MAME_DIR .. "src/devices/video/ef9365.cpp", + MAME_DIR .. "src/devices/video/ef9365.h", + } +end + +-------------------------------------------------- +--@src/devices/video/epic12.h,VIDEOS["EPIC12"] = true +-------------------------------------------------- + +if (VIDEOS["EPIC12"]~=null) then + files { + MAME_DIR .. "src/devices/video/epic12.cpp", + MAME_DIR .. "src/devices/video/epic12.h", + MAME_DIR .. "src/devices/video/epic12_blit0.cpp", + MAME_DIR .. "src/devices/video/epic12_blit1.cpp", + MAME_DIR .. "src/devices/video/epic12_blit2.cpp", + MAME_DIR .. "src/devices/video/epic12_blit3.cpp", + MAME_DIR .. "src/devices/video/epic12_blit4.cpp", + MAME_DIR .. "src/devices/video/epic12_blit5.cpp", + MAME_DIR .. "src/devices/video/epic12_blit6.cpp", + MAME_DIR .. "src/devices/video/epic12_blit7.cpp", + MAME_DIR .. "src/devices/video/epic12_blit8.cpp", + MAME_DIR .. "src/devices/video/epic12in.hxx", + MAME_DIR .. "src/devices/video/epic12pixel.hxx", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/fixfreq.h,VIDEOS["FIXFREQ"] = true +-------------------------------------------------- + +if (VIDEOS["FIXFREQ"]~=null) then + files { + MAME_DIR .. "src/devices/video/fixfreq.cpp", + MAME_DIR .. "src/devices/video/fixfreq.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/gf4500.h,VIDEOS["GF4500"] = true +-------------------------------------------------- + +if (VIDEOS["GF4500"]~=null) then + files { + MAME_DIR .. "src/devices/video/gf4500.cpp", + MAME_DIR .. "src/devices/video/gf4500.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/gf7600gs.h,VIDEOS["GF7600GS"] = true +-------------------------------------------------- + +if (VIDEOS["GF7600GS"]~=null) then + files { + MAME_DIR .. "src/devices/video/gf7600gs.cpp", + MAME_DIR .. "src/devices/video/gf7600gs.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/mga2064w.h,VIDEOS["MGA2064W"] = true +-------------------------------------------------- + +if (VIDEOS["MGA2064W"]~=null) then + files { + MAME_DIR .. "src/devices/video/mga2064w.cpp", + MAME_DIR .. "src/devices/video/mga2064w.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/nt7534.h,VIDEOS["NT7534"] = true +-------------------------------------------------- + +if (VIDEOS["NT7534"]~=null) then + files { + MAME_DIR .. "src/devices/video/nt7534.cpp", + MAME_DIR .. "src/devices/video/nt7534.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/hd44102.h,VIDEOS["HD44102"] = true +-------------------------------------------------- + +if (VIDEOS["HD44102"]~=null) then + files { + MAME_DIR .. "src/devices/video/hd44102.cpp", + MAME_DIR .. "src/devices/video/hd44102.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/hd44352.h,VIDEOS["HD44352"] = true +-------------------------------------------------- + +if (VIDEOS["HD44352"]~=null) then + files { + MAME_DIR .. "src/devices/video/hd44352.cpp", + MAME_DIR .. "src/devices/video/hd44352.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/hd44780.h,VIDEOS["HD44780"] = true +-------------------------------------------------- + +if (VIDEOS["HD44780"]~=null) then + files { + MAME_DIR .. "src/devices/video/hd44780.cpp", + MAME_DIR .. "src/devices/video/hd44780.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/hd61830.h,VIDEOS["HD61830"] = true +-------------------------------------------------- + +if (VIDEOS["HD61830"]~=null) then + files { + MAME_DIR .. "src/devices/video/hd61830.cpp", + MAME_DIR .. "src/devices/video/hd61830.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/hd63484.h,VIDEOS["HD63484"] = true +-------------------------------------------------- + +if (VIDEOS["HD63484"]~=null) then + files { + MAME_DIR .. "src/devices/video/hd63484.cpp", + MAME_DIR .. "src/devices/video/hd63484.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/hd66421.h,VIDEOS["HD66421"] = true +-------------------------------------------------- + +if (VIDEOS["HD66421"]~=null) then + files { + MAME_DIR .. "src/devices/video/hd66421.cpp", + MAME_DIR .. "src/devices/video/hd66421.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/hlcd0515.h,VIDEOS["HLCD0515"] = true +-------------------------------------------------- + +if (VIDEOS["HLCD0515"]~=null) then + files { + MAME_DIR .. "src/devices/video/hlcd0515.cpp", + MAME_DIR .. "src/devices/video/hlcd0515.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/hlcd0538.h,VIDEOS["HLCD0538"] = true +-------------------------------------------------- + +if (VIDEOS["HLCD0538"]~=null) then + files { + MAME_DIR .. "src/devices/video/hlcd0538.cpp", + MAME_DIR .. "src/devices/video/hlcd0538.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/hp1ll3.h,VIDEOS["HP1LL3"] = true +-------------------------------------------------- + +if (VIDEOS["HP1LL3"]~=null) then + files { + MAME_DIR .. "src/devices/video/hp1ll3.cpp", + MAME_DIR .. "src/devices/video/hp1ll3.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/huc6202.h,VIDEOS["HUC6202"] = true +-------------------------------------------------- + +if (VIDEOS["HUC6202"]~=null) then + files { + MAME_DIR .. "src/devices/video/huc6202.cpp", + MAME_DIR .. "src/devices/video/huc6202.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/huc6260.h,VIDEOS["HUC6260"] = true +-------------------------------------------------- + +if (VIDEOS["HUC6260"]~=null) then + files { + MAME_DIR .. "src/devices/video/huc6260.cpp", + MAME_DIR .. "src/devices/video/huc6260.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/huc6261.h,VIDEOS["HUC6261"] = true +-------------------------------------------------- + +if (VIDEOS["HUC6261"]~=null) then + files { + MAME_DIR .. "src/devices/video/huc6261.cpp", + MAME_DIR .. "src/devices/video/huc6261.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/huc6270.h,VIDEOS["HUC6270"] = true +-------------------------------------------------- + +if (VIDEOS["HUC6270"]~=null) then + files { + MAME_DIR .. "src/devices/video/huc6270.cpp", + MAME_DIR .. "src/devices/video/huc6270.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/huc6271.h,VIDEOS["HUC6271"] = true +-------------------------------------------------- + +if (VIDEOS["HUC6271"]~=null) then + files { + MAME_DIR .. "src/devices/video/huc6271.cpp", + MAME_DIR .. "src/devices/video/huc6271.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/huc6272.h,VIDEOS["HUC6272"] = true +-------------------------------------------------- + +if (VIDEOS["HUC6272"]~=null) then + files { + MAME_DIR .. "src/devices/video/huc6272.cpp", + MAME_DIR .. "src/devices/video/huc6272.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/i8244.h,VIDEOS["I8244"] = true +-------------------------------------------------- + +if (VIDEOS["I8244"]~=null) then + files { + MAME_DIR .. "src/devices/video/i8244.cpp", + MAME_DIR .. "src/devices/video/i8244.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/i82730.h,VIDEOS["I82730"] = true +-------------------------------------------------- + +if (VIDEOS["I82730"]~=null) then + files { + MAME_DIR .. "src/devices/video/i82730.cpp", + MAME_DIR .. "src/devices/video/i82730.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/i8275.h,VIDEOS["I8275"] = true +-------------------------------------------------- + +if (VIDEOS["I8275"]~=null) then + files { + MAME_DIR .. "src/devices/video/i8275.cpp", + MAME_DIR .. "src/devices/video/i8275.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/ims_cvc.h,VIDEOS["IMS_CVC"] = true +-------------------------------------------------- + +if (VIDEOS["IMS_CVC"]~=null) then + files { + MAME_DIR .. "src/devices/video/ims_cvc.cpp", + MAME_DIR .. "src/devices/video/ims_cvc.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/m50458.h,VIDEOS["M50458"] = true +-------------------------------------------------- + +if (VIDEOS["M50458"]~=null) then + files { + MAME_DIR .. "src/devices/video/m50458.cpp", + MAME_DIR .. "src/devices/video/m50458.h", + } +end + +--------------------------------------------------- +-- +--@src/devices/video/mb88303.h,VIDEOS["MB88303"] = true +--------------------------------------------------- + +if (VIDEOS["MB88303"]~=null) then + files { + MAME_DIR .. "src/devices/video/mb88303.cpp", + MAME_DIR .. "src/devices/video/mb88303.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/mb90082.h,VIDEOS["MB90082"] = true +-------------------------------------------------- + +if (VIDEOS["MB90082"]~=null) then + files { + MAME_DIR .. "src/devices/video/mb90082.cpp", + MAME_DIR .. "src/devices/video/mb90082.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/mb_vcu.h,VIDEOS["MB_VCU"] = true +-------------------------------------------------- + +if (VIDEOS["MB_VCU"]~=null) then + files { + MAME_DIR .. "src/devices/video/mb_vcu.cpp", + MAME_DIR .. "src/devices/video/mb_vcu.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/mc6845.h,VIDEOS["MC6845"] = true +-------------------------------------------------- + +if (VIDEOS["MC6845"]~=null) then + files { + MAME_DIR .. "src/devices/video/mc6845.cpp", + MAME_DIR .. "src/devices/video/mc6845.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/mc6847.h,VIDEOS["MC6847"] = true +-------------------------------------------------- + +if (VIDEOS["MC6847"]~=null) then + files { + MAME_DIR .. "src/devices/video/mc6847.cpp", + MAME_DIR .. "src/devices/video/mc6847.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/mm5445.h,VIDEOS["MM5445"] = true +-------------------------------------------------- + +if (VIDEOS["MM5445"]~=null) then + files { + MAME_DIR .. "src/devices/video/mm5445.cpp", + MAME_DIR .. "src/devices/video/mm5445.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/msm6222b.h,VIDEOS["MSM6222B"] = true +-------------------------------------------------- + +if (VIDEOS["MSM6222B"]~=null) then + files { + MAME_DIR .. "src/devices/video/msm6222b.cpp", + MAME_DIR .. "src/devices/video/msm6222b.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/msm6255.h,VIDEOS["MSM6255"] = true +-------------------------------------------------- + +if (VIDEOS["MSM6255"]~=null) then + files { + MAME_DIR .. "src/devices/video/msm6255.cpp", + MAME_DIR .. "src/devices/video/msm6255.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/mos6566.h,VIDEOS["MOS6566"] = true +-------------------------------------------------- + +if (VIDEOS["MOS6566"]~=null) then + files { + MAME_DIR .. "src/devices/video/mos6566.cpp", + MAME_DIR .. "src/devices/video/mos6566.h", + } +end + + +files { + MAME_DIR .. "src/devices/video/cgapal.cpp", + MAME_DIR .. "src/devices/video/cgapal.h", +} + +-------------------------------------------------- +-- +--@src/devices/video/pc_vga.h,VIDEOS["PC_VGA"] = true +-------------------------------------------------- + +if (VIDEOS["PC_VGA"]~=null) then + files { + MAME_DIR .. "src/devices/video/pc_vga.cpp", + MAME_DIR .. "src/devices/video/pc_vga.h", + MAME_DIR .. "src/devices/bus/isa/trident.cpp", + MAME_DIR .. "src/devices/bus/isa/trident.h", + MAME_DIR .. "src/devices/video/clgd542x.cpp", + MAME_DIR .. "src/devices/video/clgd542x.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/pcd8544.h,VIDEOS["PCD8544"] = true +-------------------------------------------------- + +if (VIDEOS["PCD8544"]~=null) then + files { + MAME_DIR .. "src/devices/video/pcd8544.cpp", + MAME_DIR .. "src/devices/video/pcd8544.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/polylgcy.h,VIDEOS["POLY"] = true +-------------------------------------------------- + +if (VIDEOS["POLY"]~=null) then + files { + MAME_DIR .. "src/devices/video/polylgcy.cpp", + MAME_DIR .. "src/devices/video/polylgcy.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/psx.h,VIDEOS["PSX"] = true +-------------------------------------------------- + +if (VIDEOS["PSX"]~=null) then + files { + MAME_DIR .. "src/devices/video/psx.cpp", + MAME_DIR .. "src/devices/video/psx.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/ramdac.h,VIDEOS["RAMDAC"] = true +-------------------------------------------------- + +if (VIDEOS["RAMDAC"]~=null) then + files { + MAME_DIR .. "src/devices/video/ramdac.cpp", + MAME_DIR .. "src/devices/video/ramdac.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/saa5050.h,VIDEOS["SAA5050"] = true +-------------------------------------------------- + +if (VIDEOS["SAA5050"]~=null) then + files { + MAME_DIR .. "src/devices/video/saa5050.cpp", + MAME_DIR .. "src/devices/video/saa5050.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/pwm.h,VIDEOS["PWM_DISPLAY"] = true +-------------------------------------------------- +if (VIDEOS["PWM_DISPLAY"]~=null) then + files { + MAME_DIR .. "src/devices/video/pwm.cpp", + MAME_DIR .. "src/devices/video/pwm.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/sed1200.h,VIDEOS["SED1200"] = true +-------------------------------------------------- +if (VIDEOS["SED1200"]~=null) then + files { + MAME_DIR .. "src/devices/video/sed1200.cpp", + MAME_DIR .. "src/devices/video/sed1200.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/sed1330.h,VIDEOS["SED1330"] = true +-------------------------------------------------- +if (VIDEOS["SED1330"]~=null) then + files { + MAME_DIR .. "src/devices/video/sed1330.cpp", + MAME_DIR .. "src/devices/video/sed1330.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/sed1520.h,VIDEOS["SED1520"] = true +-------------------------------------------------- +if (VIDEOS["SED1520"]~=null) then + files { + MAME_DIR .. "src/devices/video/sed1520.cpp", + MAME_DIR .. "src/devices/video/sed1520.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/scn2674.h,VIDEOS["SCN2674"] = true +-------------------------------------------------- +if (VIDEOS["SCN2674"]~=null) then + files { + MAME_DIR .. "src/devices/video/scn2674.cpp", + MAME_DIR .. "src/devices/video/scn2674.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/sda5708.h,VIDEOS["SDA5708"] = true +-------------------------------------------------- +if (VIDEOS["SDA5708"]~=null) then + files { + MAME_DIR .. "src/devices/video/sda5708.cpp", + MAME_DIR .. "src/devices/video/sda5708.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/snes_ppu.h,VIDEOS["SNES_PPU"] = true +-------------------------------------------------- +if (VIDEOS["SNES_PPU"]~=null) then + files { + MAME_DIR .. "src/devices/video/snes_ppu.cpp", + MAME_DIR .. "src/devices/video/snes_ppu.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/stvvdp1.h,VIDEOS["STVVDP"] = true +--@src/devices/video/stvvdp2.h,VIDEOS["STVVDP"] = true +-------------------------------------------------- + +if (VIDEOS["STVVDP"]~=null) then + files { + MAME_DIR .. "src/devices/video/stvvdp1.cpp", + MAME_DIR .. "src/devices/video/stvvdp1.h", + MAME_DIR .. "src/devices/video/stvvdp2.cpp", + MAME_DIR .. "src/devices/video/stvvdp2.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/t6963c.h,VIDEOS["T6963C"] = true +-------------------------------------------------- + +if (VIDEOS["T6963C"]~=null) then + files { + MAME_DIR .. "src/devices/video/t6963c.cpp", + MAME_DIR .. "src/devices/video/t6963c.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/t6a04.h,VIDEOS["T6A04"] = true +-------------------------------------------------- + +if (VIDEOS["T6A04"]~=null) then + files { + MAME_DIR .. "src/devices/video/t6a04.cpp", + MAME_DIR .. "src/devices/video/t6a04.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/tea1002.h,VIDEOS["TEA1002"] = true +-------------------------------------------------- + +if (VIDEOS["TEA1002"]~=null) then + files { + MAME_DIR .. "src/devices/video/tea1002.cpp", + MAME_DIR .. "src/devices/video/tea1002.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/tlc34076.h,VIDEOS["TLC34076"] = true +-------------------------------------------------- + +if (VIDEOS["TLC34076"]~=null) then + files { + MAME_DIR .. "src/devices/video/tlc34076.cpp", + MAME_DIR .. "src/devices/video/tlc34076.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/tms34061.h,VIDEOS["TMS34061"] = true +-------------------------------------------------- + +if (VIDEOS["TMS34061"]~=null) then + files { + MAME_DIR .. "src/devices/video/tms34061.cpp", + MAME_DIR .. "src/devices/video/tms34061.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/tms3556.h,VIDEOS["TMS3556"] = true +-------------------------------------------------- + +if (VIDEOS["TMS3556"]~=null) then + files { + MAME_DIR .. "src/devices/video/tms3556.cpp", + MAME_DIR .. "src/devices/video/tms3556.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/tms9927.h,VIDEOS["TMS9927"] = true +-------------------------------------------------- + +if (VIDEOS["TMS9927"]~=null) then + files { + MAME_DIR .. "src/devices/video/tms9927.cpp", + MAME_DIR .. "src/devices/video/tms9927.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/tms9928a.h,VIDEOS["TMS9928A"] = true +-------------------------------------------------- + +if (VIDEOS["TMS9928A"]~=null) then + files { + MAME_DIR .. "src/devices/video/tms9928a.cpp", + MAME_DIR .. "src/devices/video/tms9928a.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/upd3301.h,VIDEOS["UPD3301"] = true +-------------------------------------------------- + +if (VIDEOS["UPD3301"]~=null) then + files { + MAME_DIR .. "src/devices/video/upd3301.cpp", + MAME_DIR .. "src/devices/video/upd3301.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/upd7220.h,VIDEOS["UPD7220"] = true +-------------------------------------------------- + +if (VIDEOS["UPD7220"]~=null) then + files { + MAME_DIR .. "src/devices/video/upd7220.cpp", + MAME_DIR .. "src/devices/video/upd7220.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/upd7227.h,VIDEOS["UPD7227"] = true +-------------------------------------------------- + +if (VIDEOS["UPD7227"]~=null) then + files { + MAME_DIR .. "src/devices/video/upd7227.cpp", + MAME_DIR .. "src/devices/video/upd7227.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/vic4567.h,VIDEOS["VIC4567"] = true +-------------------------------------------------- + +if (VIDEOS["VIC4567"]~=null) then + files { + MAME_DIR .. "src/devices/video/vic4567.cpp", + MAME_DIR .. "src/devices/video/vic4567.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/v9938.h,VIDEOS["V9938"] = true +-------------------------------------------------- + +if (VIDEOS["V9938"]~=null) then + files { + MAME_DIR .. "src/devices/video/v9938.cpp", + MAME_DIR .. "src/devices/video/v9938.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/zeus2.h,VIDEOS["ZEUS2"] = true +-------------------------------------------------- + +if (VIDEOS["ZEUS2"]~=null) then + files { + MAME_DIR .. "src/devices/video/zeus2.cpp", + MAME_DIR .. "src/devices/video/zeus2.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/voodoo.h,VIDEOS["VOODOO"] = true +-------------------------------------------------- + +if (VIDEOS["VOODOO"]~=null) then + files { + MAME_DIR .. "src/devices/video/voodoo.cpp", + MAME_DIR .. "src/devices/video/voodoo.h", + MAME_DIR .. "src/devices/video/vooddefs.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/voodoo_pci.h,VIDEOS["VOODOO_PCI"] = true +-------------------------------------------------- + +if (VIDEOS["VOODOO_PCI"]~=null) then + files { + MAME_DIR .. "src/devices/video/voodoo_pci.cpp", + MAME_DIR .. "src/devices/video/voodoo_pci.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/crtc_ega.h,VIDEOS["CRTC_EGA"] = true +-------------------------------------------------- + +if (VIDEOS["CRTC_EGA"]~=null) then + files { + MAME_DIR .. "src/devices/video/crtc_ega.cpp", + MAME_DIR .. "src/devices/video/crtc_ega.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/jangou_blitter.h,VIDEOS["JANGOU_BLITTER"] = true +-------------------------------------------------- + +if (VIDEOS["JANGOU_BLITTER"]~=null) then + files { + MAME_DIR .. "src/devices/video/jangou_blitter.cpp", + MAME_DIR .. "src/devices/video/jangou_blitter.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/gb_lcd.h,VIDEOS["GB_LCD"] = true +-------------------------------------------------- + +if (VIDEOS["GB_LCD"]~=null) then + files { + MAME_DIR .. "src/devices/video/gb_lcd.cpp", + MAME_DIR .. "src/devices/video/gb_lcd.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/gba_lcd.h,VIDEOS["GBA_LCD"] = true +-------------------------------------------------- + +if (VIDEOS["GBA_LCD"]~=null) then + files { + MAME_DIR .. "src/devices/video/gba_lcd.cpp", + MAME_DIR .. "src/devices/video/gba_lcd.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/ef9369.h,VIDEOS["EF9369"] = true +-------------------------------------------------- + +if (VIDEOS["EF9369"]~=null) then + files { + MAME_DIR .. "src/devices/video/ef9369.cpp", + MAME_DIR .. "src/devices/video/ef9369.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/ppu2c0x.h,VIDEOS["PPU2C0X"] = true +-------------------------------------------------- + +if (VIDEOS["PPU2C0X"]~=null) then + files { + MAME_DIR .. "src/devices/video/ppu2c0x.cpp", + MAME_DIR .. "src/devices/video/ppu2c0x.h", + MAME_DIR .. "src/devices/video/ppu2c0x_vt.cpp", + MAME_DIR .. "src/devices/video/ppu2c0x_vt.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/bt459.h,VIDEOS["BT459"] = true +-------------------------------------------------- + +if (VIDEOS["BT459"]~=null) then + files { + MAME_DIR .. "src/devices/video/bt459.cpp", + MAME_DIR .. "src/devices/video/bt459.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/imagetek_i4100.h,VIDEOS["I4100"] = true +-------------------------------------------------- + +if (VIDEOS["I4100"]~=null) then + files { + MAME_DIR .. "src/devices/video/imagetek_i4100.cpp", + MAME_DIR .. "src/devices/video/imagetek_i4100.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/dp8510.h,VIDEOS["DP8510"] = true +-------------------------------------------------- + +if (VIDEOS["DP8510"]~=null) then + files { + MAME_DIR .. "src/devices/video/dp8510.cpp", + MAME_DIR .. "src/devices/video/dp8510.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/bt45x.h,VIDEOS["BT45X"] = true +-------------------------------------------------- + +if (VIDEOS["BT45X"]~=null) then + files { + MAME_DIR .. "src/devices/video/bt45x.cpp", + MAME_DIR .. "src/devices/video/bt45x.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/topcat.h,VIDEOS["TOPCAT"] = true +-------------------------------------------------- +if (VIDEOS["TOPCAT"]~=null) then + files { + MAME_DIR .. "src/devices/video/topcat.cpp", + MAME_DIR .. "src/devices/video/topcat.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/catseye.h,VIDEOS["CATSEYE"] = true +-------------------------------------------------- +if (VIDEOS["CATSEYE"]~=null) then + files { + MAME_DIR .. "src/devices/video/catseye.cpp", + MAME_DIR .. "src/devices/video/catseye.h", + } +end + + +-------------------------------------------------- +-- +--@src/devices/video/nereid.h,VIDEOS["NEREID"] = true +-------------------------------------------------- +if (VIDEOS["NEREID"]~=null) then + files { + MAME_DIR .. "src/devices/video/nereid.cpp", + MAME_DIR .. "src/devices/video/nereid.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/ps2gif.h,VIDEOS["PS2GIF"] = true +-------------------------------------------------- +if (VIDEOS["PS2GIF"]~=null) then + files { + MAME_DIR .. "src/devices/video/ps2gif.cpp", + MAME_DIR .. "src/devices/video/ps2gif.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/ps2gs.h,VIDEOS["PS2GS"] = true +-------------------------------------------------- +if (VIDEOS["PS2GS"]~=null) then + files { + MAME_DIR .. "src/devices/video/ps2gs.cpp", + MAME_DIR .. "src/devices/video/ps2gs.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/decsfb.h,VIDEOS["DECSFB"] = true +-------------------------------------------------- +if (VIDEOS["DECSFB"]~=null) then + files { + MAME_DIR .. "src/devices/video/decsfb.cpp", + MAME_DIR .. "src/devices/video/decsfb.h", + } +end + +-------------------------------------------------- +-- +--@src/devices/video/bt47x.h,VIDEOS["BT47X"] = true +-------------------------------------------------- + +if (VIDEOS["BT47X"]~=null) then + files { + MAME_DIR .. "src/devices/video/bt47x.cpp", + MAME_DIR .. "src/devices/video/bt47x.h", + } +end diff --git a/docs/release/scripts/target/hbmame/hbmame.lua b/docs/release/scripts/target/hbmame/hbmame.lua new file mode 100644 index 00000000000..d9cbf6e5c0c --- /dev/null +++ b/docs/release/scripts/target/hbmame/hbmame.lua @@ -0,0 +1,1029 @@ +-- license:BSD-3-Clause +-- copyright-holders:Robbbert +--------------------------------------------------------------------------- +-- +-- hbmame.lua +-- +-- HBMAME target makefile +-- +--------------------------------------------------------------------------- + +-------------------------------------------------- +-- specify available CPU cores +--------------------------------------------------- + +CPUS["ADSP21XX"] = true +CPUS["ADSP21062"] = true -- model2 +CPUS["ARM"] = true +CPUS["ARM7"] = true +CPUS["CCPU"] = true +CPUS["DSP16A"] = true +CPUS["E1"] = true -- vamphalf +CPUS["ES5510"] = true +CPUS["G65816"] = true -- snesb +CPUS["H8"] = true -- seta2 +CPUS["H6280"] = true +CPUS["HD6309"] = true +CPUS["I8085"] = true +CPUS["I8089"] = true +CPUS["I86"] = true +CPUS["I960"] = true -- model2 +CPUS["M6502"] = true +CPUS["M6800"] = true +CPUS["M6805"] = true +CPUS["M6809"] = true +CPUS["M680X0"] = true +CPUS["MB88XX"] = true +CPUS["MB86233"] = true -- model2 +CPUS["MB86235"] = true -- model2 +CPUS["MCS48"] = true +CPUS["MCS51"] = true +CPUS["MN10200"] = true +CPUS["NEC"] = true +CPUS["PSX"] = true +CPUS["S2650"] = true +CPUS["SCUDSP"] = true -- stv +CPUS["SH"] = true +CPUS["SM510"] = true +CPUS["SPC700"] = true -- snesb +CPUS["SSP1601"] = true +CPUS["TLCS90"] = true +CPUS["TMS32010"] = true +CPUS["TMS32031"] = true +CPUS["TMS340X0"] = true +CPUS["TMS57002"] = true +CPUS["PIC16C5X"] = true +CPUS["UPD7725"] = true -- segas32 +CPUS["UPD7810"] = true +CPUS["V60"] = true -- segas32 +CPUS["V810"] = true +CPUS["Z180"] = true +CPUS["Z80"] = true +CPUS["Z8000"] = true -- polepos + +-------------------------------------------------- +-- specify available sound cores +-------------------------------------------------- + +SOUNDS["ASTROCADE"] = true +SOUNDS["AY8910"] = true +SOUNDS["BEEP"] = true +SOUNDS["BSMT2000"] = true -- deco32 +SOUNDS["C6280"] = true +SOUNDS["CDDA"] = true +SOUNDS["DAC"] = true +SOUNDS["DMADAC"] = true +SOUNDS["DIGITALKER"] = true +SOUNDS["DISCRETE"] = true +SOUNDS["ES5505"] = true +SOUNDS["ESQPUMP"] = true +SOUNDS["HC55516"] = true +SOUNDS["I5000_SND"] = true +SOUNDS["ICS2115"] = true +SOUNDS["IREMGA20"] = true -- m92 +SOUNDS["K005289"] = true +SOUNDS["K007232"] = true +SOUNDS["K051649"] = true +SOUNDS["K053260"] = true +SOUNDS["K054539"] = true +SOUNDS["K056800"] = true -- mystwarr +SOUNDS["LC7535"] = true -- deco32 +SOUNDS["MPEG_AUDIO"] = true -- model2 +SOUNDS["MSM5205"] = true +SOUNDS["MSM5232"] = true -- flstory +SOUNDS["MULTIPCM"] = true -- model2 +SOUNDS["NAMCO_15XX"] = true +SOUNDS["NAMCO_52XX"] = true +SOUNDS["NES_APU"] = true +SOUNDS["OKIM6295"] = true +SOUNDS["OKIM9810"] = true -- seta2 +SOUNDS["POKEY"] = true +SOUNDS["QS1000"] = true -- vamphalf +SOUNDS["QSOUND"] = true +SOUNDS["RF5C68"] = true +SOUNDS["SAMPLES"] = true +SOUNDS["SCSP"] = true -- model2 +SOUNDS["SEGAPCM"] = true +SOUNDS["SN76477"] = true +SOUNDS["SN76496"] = true +SOUNDS["SP0250"] = true +SOUNDS["SPEAKER"] = true +SOUNDS["SPU"] = true -- zn +SOUNDS["ST0016"] = true +SOUNDS["TA7630"] = true -- flstory +SOUNDS["TC8830F"] = true -- timeplt +SOUNDS["TMS36XX"] = true +SOUNDS["TMS5110"] = true +SOUNDS["TMS5220"] = true +SOUNDS["UPD7759"] = true +SOUNDS["VLM5030"] = true +SOUNDS["VOLT_REG"] = true +SOUNDS["VOTRAX"] = true +SOUNDS["X1_010"] = true -- seta2 +SOUNDS["YM2151"] = true +SOUNDS["YM2203"] = true +SOUNDS["YM2413"] = true +SOUNDS["YM2608"] = true +SOUNDS["YM2610"] = true +SOUNDS["YM2612"] = true +SOUNDS["YM3812"] = true +SOUNDS["YM3526"] = true +SOUNDS["YMF262"] = true +SOUNDS["YMF271"] = true -- zn +SOUNDS["YMF278B"] = true +SOUNDS["YMZ280B"] = true +SOUNDS["YMZ770"] = true -- cv1k +SOUNDS["ZSG2"] = true -- zn + +-------------------------------------------------- +-- specify available video cores +-------------------------------------------------- + +VIDEOS["BUFSPRITE"] = true +VIDEOS["EPIC12"] = true -- cv1k +VIDEOS["HD63484"] = true +VIDEOS["MC6845"] = true +VIDEOS["SEGA315_5124"] = true +VIDEOS["SEGA315_5313"] = true +VIDEOS["SNES_PPU"] = true -- snesb +VIDEOS["TLC34076"] = true +VIDEOS["TMS34061"] = true +VIDEOS["PSX"] = true +VIDEOS["STVVDP"] = true -- stv + +-------------------------------------------------- +-- specify available machine cores +-------------------------------------------------- + +MACHINES["6522VIA"] = true +MACHINES["6821PIA"] = true +MACHINES["6840PTM"] = true -- ginganin +MACHINES["68681"] = true +MACHINES["7200FIFO"] = true +MACHINES["AAKARTDEV"] = true +MACHINES["ACIA6850"] = true -- seta +MACHINES["ADC0808"] = true +MACHINES["ADC083X"] = true -- seta +MACHINES["ADC0844"] = true +MACHINES["AT28C16"] = true -- zn +MACHINES["BANKDEV"] = true +MACHINES["CXD1095"] = true +MACHINES["EEPROMDEV"] = true +MACHINES["ER2055"] = true +MACHINES["FDC_PLL"] = true +MACHINES["I2CMEM"] = true +MACHINES["I8243"] = true +MACHINES["I8251"] = true +MACHINES["I8255"] = true +MACHINES["IDE"] = true +MACHINES["INPUT_MERGER"] = true +MACHINES["INTELFLASH"] = true +MACHINES["GEN_FIFO"] = true +MACHINES["GEN_LATCH"] = true +MACHINES["I8257"] = true +MACHINES["K053252"] = true +MACHINES["K054321"] = true -- mystwarr +MACHINES["LATCH8"] = true +MACHINES["LDPR8210"] = true +MACHINES["MB3773"] = true +MACHINES["MB8421"] = true +MACHINES["MB14241"] = true +MACHINES["MB87078"] = true +MACHINES["MB89352"] = true -- segas32 +MACHINES["MCF5206E"] = true -- seta2 +MACHINES["MIOT6530"] = true +MACHINES["MSM6253"] = true +MACHINES["NETLIST"] = true +MACHINES["NSCSI"] = true -- cps3 +MACHINES["OUTPUT_LATCH"] = true +MACHINES["PIC8259"] = true -- m92 +MACHINES["PIT8253"] = true -- seta +MACHINES["RIOT6532"] = true +MACHINES["RP5C01"] = true +MACHINES["RP5H01"] = true +MACHINES["RTC9701"] = true -- cv1k +MACHINES["SEGA_SCU"] = true -- stv +MACHINES["SERFLASH"] = true -- cv1k +MACHINES["SMPC"] = true -- stv +MACHINES["STVCD"] = true -- stv +MACHINES["TE7750"] = true +MACHINES["TICKET"] = true +MACHINES["TIMEKPR"] = true +MACHINES["TMP68301"] = true -- seta2 +MACHINES["TMS1024"] = true -- docastle +MACHINES["TMS6100"] = true +MACHINES["TTL74153"] = true +MACHINES["TTL74157"] = true +MACHINES["TTL74259"] = true +MACHINES["UPD1990A"] = true +MACHINES["UPD4701"] = true +MACHINES["UPD4992"] = true +MACHINES["V3021"] = true +MACHINES["WATCHDOG"] = true +MACHINES["WD33C93"] = true +MACHINES["WD33C9X"] = true -- cps3 +MACHINES["WD_FDC"] = true +MACHINES["Z80CTC"] = true +MACHINES["Z80DAISY"] = true +MACHINES["Z80DART"] = true +MACHINES["Z80PIO"] = true + +-------------------------------------------------- +-- specify available bus cores +-------------------------------------------------- + +BUSES["GENERIC"] = true +-- BUSES["NEOGEO"] = true +-- BUSES["NEOGEO_CTRL"] = true +BUSES["SAT_CTRL"] = true -- stv +BUSES["SCSI"] = true + +-------------------------------------------------- +-- this is the list of driver libraries that +-- comprise MAME plus hbmame.lst which contains +-- the list of drivers +-------------------------------------------------- + +function linkProjects_hbmame_hbmame(_target, _subtarget) + links { + "acorn", + "atari", + "atlus", + "capcom", + "cave", + "cinemat", + "dataeast", + "exidy", + "fuuki", + "gottlieb", + "igs", + "irem", + "itech", + "jaleco", + "kaneko", + "konami", + "metro", + "midway", + "namco", + "neogeo", + "nichibut", + "nintendo", + "nmk", + "pacman", + "phoenix", + "psikyo", + "sega", + "seibu", + "seta", + "snk", + "sony", + "taito", + "technos", + "tehkan", + "toaplan", + "unico", + "univers", + "valadon", + "vsystem", + "misc", + } +end + +function createHBMAMEProjects(_target, _subtarget, _name) + project (_name) + targetsubdir(_target .."_" .. _subtarget) + kind (LIBTYPE) + uuid (os.uuid("drv-" .. _target .."_" .. _subtarget .. "_" .._name)) +-- addprojectflags() -- no idea if this is needed, seems to work fine without it + precompiledheaders() + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/hbmame/includes", + MAME_DIR .. "src/hbmame", + MAME_DIR .. "src/mame", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/lib/netlist", + MAME_DIR .. "3rdparty", + MAME_DIR .. "3rdparty/zlib", + GEN_DIR .. "mame/layout", + GEN_DIR .. "hbmame/layout", + } + includedirs { + ext_includedir("flac"), + } +end + +function createProjects_hbmame_hbmame(_target, _subtarget) +-------------------------------------------------- +-- the following files are general components and +-- shared across a number of drivers +-------------------------------------------------- + +--createHBMAMEProjects(_target, _subtarget, "shared") +--files { +-- MAME_DIR .. "src/devices/machine/ticket.cpp", +--} + +-------------------------------------------------- +-- manufacturer-specific groupings for drivers +-------------------------------------------------- + +createHBMAMEProjects(_target, _subtarget, "acorn") +files { + MAME_DIR .. "src/hbmame/drivers/ertictac.cpp", + MAME_DIR .. "src/mame/machine/archimds.cpp", + MAME_DIR .. "src/mame/video/archimds.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "atari") +files { + MAME_DIR .. "src/hbmame/drivers/asteroid.cpp", + MAME_DIR .. "src/mame/machine/asteroid.cpp", + MAME_DIR .. "src/hbmame/drivers/atarig42.cpp", + MAME_DIR .. "src/mame/video/atarig42.cpp", + MAME_DIR .. "src/mame/machine/asic65.cpp", + MAME_DIR .. "src/mame/video/atarirle.cpp", + MAME_DIR .. "src/mame/audio/atarijsa.cpp", + MAME_DIR .. "src/hbmame/drivers/atarisy1.cpp", + MAME_DIR .. "src/mame/video/atarisy1.cpp", + MAME_DIR .. "src/mame/audio/asteroid.cpp", + MAME_DIR .. "src/hbmame/drivers/bwidow.cpp", + MAME_DIR .. "src/mame/audio/bwidow.cpp", + MAME_DIR .. "src/hbmame/drivers/cball.cpp", + MAME_DIR .. "src/hbmame/drivers/centiped.cpp", + MAME_DIR .. "src/mame/video/centiped.cpp", + MAME_DIR .. "src/hbmame/drivers/gauntlet.cpp", + MAME_DIR .. "src/mame/video/gauntlet.cpp", + MAME_DIR .. "src/hbmame/drivers/tempest.cpp", + MAME_DIR .. "src/mame/machine/atarigen.cpp", + MAME_DIR .. "src/mame/machine/mathbox.cpp", + MAME_DIR .. "src/mame/machine/slapstic.cpp", + MAME_DIR .. "src/mame/audio/llander.cpp", + MAME_DIR .. "src/mame/video/atarimo.cpp", + MAME_DIR .. "src/mame/video/avgdvg.cpp", + MAME_DIR .. "src/hbmame/drivers/mhavoc.cpp", + MAME_DIR .. "src/mame/machine/mhavoc.cpp", + MAME_DIR .. "src/hbmame/drivers/missile.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "atlus") +files { + MAME_DIR .. "src/hbmame/drivers/powerins.cpp", + MAME_DIR .. "src/mame/video/powerins.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "capcom") +files { + MAME_DIR .. "src/hbmame/drivers/sf.cpp", + MAME_DIR .. "src/mame/video/sf.cpp", + MAME_DIR .. "src/hbmame/drivers/1942.cpp", + MAME_DIR .. "src/mame/video/1942.cpp", + MAME_DIR .. "src/hbmame/drivers/blktiger.cpp", + MAME_DIR .. "src/mame/video/blktiger.cpp", + MAME_DIR .. "src/hbmame/drivers/commando.cpp", + MAME_DIR .. "src/mame/video/commando.cpp", + MAME_DIR .. "src/hbmame/drivers/cps1.cpp", + MAME_DIR .. "src/hbmame/video/cps1.cpp", + MAME_DIR .. "src/hbmame/drivers/cps2.cpp", + MAME_DIR .. "src/hbmame/video/cps2.cpp", + MAME_DIR .. "src/hbmame/drivers/cps3.cpp", + MAME_DIR .. "src/mame/audio/cps3.cpp", + MAME_DIR .. "src/hbmame/drivers/fcrash.cpp", + MAME_DIR .. "src/hbmame/drivers/mitchell.cpp", + MAME_DIR .. "src/mame/video/mitchell.cpp", + MAME_DIR .. "src/mame/machine/kabuki.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "cave") +files { + MAME_DIR .. "src/hbmame/drivers/cave.cpp", + MAME_DIR .. "src/mame/video/cave.cpp", + MAME_DIR .. "src/hbmame/drivers/cv1k.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "cinemat") +files { + MAME_DIR .. "src/hbmame/drivers/cinemat.cpp", + MAME_DIR .. "src/mame/audio/cinemat.cpp", + MAME_DIR .. "src/mame/video/cinemat.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "dataeast") +files { + MAME_DIR .. "src/hbmame/drivers/astrof.cpp", + MAME_DIR .. "src/mame/audio/astrof.cpp", + MAME_DIR .. "src/hbmame/drivers/btime.cpp", + MAME_DIR .. "src/mame/machine/btime.cpp", + MAME_DIR .. "src/mame/video/btime.cpp", + MAME_DIR .. "src/hbmame/drivers/cninja.cpp", + MAME_DIR .. "src/mame/video/cninja.cpp", + MAME_DIR .. "src/hbmame/drivers/dec0.cpp", + MAME_DIR .. "src/mame/machine/dec0.cpp", + MAME_DIR .. "src/mame/video/dec0.cpp", + MAME_DIR .. "src/mame/machine/deco222.cpp", + MAME_DIR .. "src/mame/machine/decocpu7.cpp", + MAME_DIR .. "src/hbmame/drivers/pcktgal.cpp", + MAME_DIR .. "src/mame/video/pcktgal.cpp", + MAME_DIR .. "src/mame/video/decbac06.cpp", + MAME_DIR .. "src/mame/video/decmxc06.cpp", + MAME_DIR .. "src/mame/video/deco16ic.cpp", -- cninja + MAME_DIR .. "src/mame/machine/deco104.cpp", -- cninja + MAME_DIR .. "src/mame/machine/deco146.cpp", -- cninja + MAME_DIR .. "src/mame/video/decospr.cpp", -- cninja + MAME_DIR .. "src/mame/machine/deco_irq.cpp", -- cninja + MAME_DIR .. "src/mame/machine/decocrpt.cpp", -- cninja + MAME_DIR .. "src/hbmame/drivers/deco32.cpp", + MAME_DIR .. "src/mame/video/deco32.cpp", + MAME_DIR .. "src/mame/audio/decobsmt.cpp", -- deco32 + MAME_DIR .. "src/mame/video/deco_ace.cpp", -- deco32 + MAME_DIR .. "src/mame/machine/deco156.cpp", -- deco32 + MAME_DIR .. "src/mame/video/deco_zoomspr.cpp", -- deco32 + MAME_DIR .. "src/hbmame/drivers/rohga.cpp", + MAME_DIR .. "src/mame/video/rohga.cpp", + MAME_DIR .. "src/mame/video/decocomn.cpp", -- rohga + MAME_DIR .. "src/hbmame/drivers/sidepckt.cpp", + MAME_DIR .. "src/mame/video/sidepckt.cpp", + MAME_DIR .. "src/mame/drivers/decocass.cpp", + MAME_DIR .. "src/mame/machine/decocass.cpp", + MAME_DIR .. "src/mame/machine/decocass_tape.cpp", + MAME_DIR .. "src/mame/video/decocass.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "exidy") +files { + MAME_DIR .. "src/hbmame/drivers/exidy.cpp", + MAME_DIR .. "src/mame/audio/exidy.cpp", + MAME_DIR .. "src/mame/video/exidy.cpp", + MAME_DIR .. "src/mame/audio/targ.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "fuuki") +files { + MAME_DIR .. "src/hbmame/drivers/fuukifg3.cpp", + MAME_DIR .. "src/mame/video/fuukifg3.cpp", + MAME_DIR .. "src/mame/video/fuukifg.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "gottlieb") +files { + MAME_DIR .. "src/hbmame/drivers/gottlieb.cpp", + MAME_DIR .. "src/mame/audio/gottlieb.cpp", + MAME_DIR .. "src/mame/video/gottlieb.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "igs") +files { + MAME_DIR .. "src/hbmame/drivers/igs011.cpp", + MAME_DIR .. "src/hbmame/drivers/pgm.cpp", + MAME_DIR .. "src/mame/video/pgm.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs027a_type1.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs027a_type2.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs027a_type3.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs025_igs012.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs025_igs022.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs025_igs028.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_orlegend.cpp", + MAME_DIR .. "src/mame/machine/pgmcrypt.cpp", + MAME_DIR .. "src/mame/machine/igs025.cpp", + MAME_DIR .. "src/mame/machine/igs022.cpp", + MAME_DIR .. "src/mame/machine/igs028.cpp", + MAME_DIR .. "src/hbmame/drivers/lordgun.cpp", + MAME_DIR .. "src/mame/video/lordgun.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "irem") +files { + MAME_DIR .. "src/hbmame/drivers/m52.cpp", + MAME_DIR .. "src/mame/video/m52.cpp", + MAME_DIR .. "src/hbmame/drivers/m92.cpp", + MAME_DIR .. "src/mame/video/m92.cpp", + MAME_DIR .. "src/mame/machine/irem_cpu.cpp", + MAME_DIR .. "src/mame/audio/nl_kidniki.cpp", + MAME_DIR .. "src/mame/audio/irem.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "itech") +files { + MAME_DIR .. "src/hbmame/drivers/itech8.cpp", + MAME_DIR .. "src/mame/machine/itech8.cpp", + MAME_DIR .. "src/mame/video/itech8.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "jaleco") +files { + MAME_DIR .. "src/hbmame/drivers/exerion.cpp", + MAME_DIR .. "src/mame/video/exerion.cpp", + MAME_DIR .. "src/hbmame/drivers/ginganin.cpp", + MAME_DIR .. "src/mame/video/ginganin.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "kaneko") +files { + MAME_DIR .. "src/hbmame/drivers/kaneko16.cpp", + MAME_DIR .. "src/mame/video/kaneko16.cpp", + MAME_DIR .. "src/mame/video/kaneko_tmap.cpp", + MAME_DIR .. "src/mame/video/kaneko_spr.cpp", + MAME_DIR .. "src/mame/machine/kaneko_hit.cpp", + MAME_DIR .. "src/mame/machine/kaneko_calc3.cpp", + MAME_DIR .. "src/mame/machine/kaneko_toybox.cpp", + MAME_DIR .. "src/mame/video/kan_pand.cpp", -- this needed for linux compile +} + +createHBMAMEProjects(_target, _subtarget, "konami") +files { + MAME_DIR .. "src/hbmame/drivers/contra.cpp", + MAME_DIR .. "src/mame/video/contra.cpp", + MAME_DIR .. "src/hbmame/drivers/dbz.cpp", + MAME_DIR .. "src/mame/video/dbz.cpp", + MAME_DIR .. "src/hbmame/drivers/gradius3.cpp", + MAME_DIR .. "src/mame/video/gradius3.cpp", + MAME_DIR .. "src/hbmame/drivers/1943.cpp", + MAME_DIR .. "src/mame/video/1943.cpp", + MAME_DIR .. "src/mame/audio/hyprolyb.cpp", + MAME_DIR .. "src/hbmame/drivers/mystwarr.cpp", + MAME_DIR .. "src/mame/video/mystwarr.cpp", + MAME_DIR .. "src/hbmame/drivers/nemesis.cpp", + MAME_DIR .. "src/mame/video/nemesis.cpp", + MAME_DIR .. "src/hbmame/drivers/pooyan.cpp", + MAME_DIR .. "src/mame/video/pooyan.cpp", + MAME_DIR .. "src/hbmame/drivers/shaolins.cpp", + MAME_DIR .. "src/mame/video/shaolins.cpp", + MAME_DIR .. "src/hbmame/drivers/timeplt.cpp", + MAME_DIR .. "src/mame/audio/timeplt.cpp", + MAME_DIR .. "src/mame/video/timeplt.cpp", + MAME_DIR .. "src/hbmame/drivers/tmnt.cpp", + MAME_DIR .. "src/mame/video/tmnt.cpp", + MAME_DIR .. "src/hbmame/drivers/trackfld.cpp", + MAME_DIR .. "src/hbmame/drivers/konamigx.cpp", + MAME_DIR .. "src/mame/machine/konamigx.cpp", + MAME_DIR .. "src/mame/video/konamigx.cpp", + MAME_DIR .. "src/mame/machine/konami1.cpp", + MAME_DIR .. "src/mame/audio/trackfld.cpp", + MAME_DIR .. "src/mame/video/trackfld.cpp", + MAME_DIR .. "src/mame/video/tutankhm.cpp", + MAME_DIR .. "src/hbmame/drivers/yiear.cpp", + MAME_DIR .. "src/mame/video/yiear.cpp", + MAME_DIR .. "src/mame/video/konami_helper.cpp", + MAME_DIR .. "src/mame/video/k007121.cpp", + MAME_DIR .. "src/mame/video/k053250.cpp", + MAME_DIR .. "src/mame/video/k054338.cpp", + MAME_DIR .. "src/mame/video/k051960.cpp", + MAME_DIR .. "src/mame/video/k052109.cpp", + MAME_DIR .. "src/mame/video/k053246_k053247_k055673.cpp", + MAME_DIR .. "src/mame/video/k053251.cpp", + MAME_DIR .. "src/mame/video/k053244_k053245.cpp", + MAME_DIR .. "src/mame/video/k054000.cpp", + MAME_DIR .. "src/mame/video/k054156_k054157_k056832.cpp", + MAME_DIR .. "src/mame/video/k053936.cpp", + MAME_DIR .. "src/mame/video/k055555.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "metro") +files { + MAME_DIR .. "src/hbmame/drivers/rabbit.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "midway") +files { + MAME_DIR .. "src/mame/drivers/8080bw.cpp", + MAME_DIR .. "src/mame/audio/8080bw.cpp", + MAME_DIR .. "src/mame/video/8080bw.cpp", + MAME_DIR .. "src/mame/drivers/mw8080bw.cpp", + MAME_DIR .. "src/mame/machine/mw8080bw.cpp", + MAME_DIR .. "src/mame/audio/mw8080bw.cpp", + MAME_DIR .. "src/mame/video/mw8080bw.cpp", + MAME_DIR .. "src/hbmame/drivers/astrocde.cpp", + MAME_DIR .. "src/mame/video/astrocde.cpp", + MAME_DIR .. "src/hbmame/drivers/mcr.cpp", + MAME_DIR .. "src/mame/machine/mcr.cpp", + MAME_DIR .. "src/mame/video/mcr.cpp", + MAME_DIR .. "src/hbmame/drivers/mcr3.cpp", + MAME_DIR .. "src/mame/video/mcr3.cpp", + MAME_DIR .. "src/mame/drivers/mcr68.cpp", + MAME_DIR .. "src/mame/machine/mcr68.cpp", + MAME_DIR .. "src/mame/video/mcr68.cpp", + MAME_DIR .. "src/hbmame/drivers/midtunit.cpp", + MAME_DIR .. "src/mame/machine/midtunit.cpp", + MAME_DIR .. "src/mame/video/midtunit.cpp", + MAME_DIR .. "src/hbmame/drivers/midwunit.cpp", + MAME_DIR .. "src/mame/machine/midwunit.cpp", + MAME_DIR .. "src/hbmame/drivers/midyunit.cpp", + MAME_DIR .. "src/mame/machine/midyunit.cpp", + MAME_DIR .. "src/mame/video/midyunit.cpp", + MAME_DIR .. "src/mame/drivers/wmg.cpp", + MAME_DIR .. "src/hbmame/drivers/williams.cpp", + MAME_DIR .. "src/mame/machine/williams.cpp", + MAME_DIR .. "src/mame/audio/williams.cpp", + MAME_DIR .. "src/mame/video/williams.cpp", + MAME_DIR .. "src/mame/machine/midwayic.cpp", + MAME_DIR .. "src/mame/audio/midway.cpp", + MAME_DIR .. "src/mame/audio/cage.cpp", + MAME_DIR .. "src/mame/audio/dcs.cpp", + MAME_DIR .. "src/mame/audio/csd.cpp", + MAME_DIR .. "src/mame/audio/bally.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "namco") +files { + MAME_DIR .. "src/hbmame/drivers/galaga.cpp", + MAME_DIR .. "src/mame/audio/galaga.cpp", + MAME_DIR .. "src/mame/video/galaga.cpp", + MAME_DIR .. "src/mame/video/bosco.cpp", + MAME_DIR .. "src/mame/video/digdug.cpp", + MAME_DIR .. "src/mame/machine/xevious.cpp", + MAME_DIR .. "src/mame/video/xevious.cpp", + MAME_DIR .. "src/hbmame/drivers/galaxian.cpp", + MAME_DIR .. "src/mame/audio/galaxian.cpp", + MAME_DIR .. "src/mame/video/galaxian.cpp", + MAME_DIR .. "src/hbmame/drivers/mappy.cpp", + MAME_DIR .. "src/mame/video/mappy.cpp", + MAME_DIR .. "src/hbmame/drivers/pacland.cpp", + MAME_DIR .. "src/mame/video/pacland.cpp", + MAME_DIR .. "src/hbmame/drivers/polepos.cpp", + MAME_DIR .. "src/mame/audio/polepos.cpp", + MAME_DIR .. "src/mame/video/polepos.cpp", + MAME_DIR .. "src/hbmame/drivers/rallyx.cpp", + MAME_DIR .. "src/mame/video/rallyx.cpp", + MAME_DIR .. "src/mame/machine/namcoio.cpp", + MAME_DIR .. "src/mame/machine/namco06.cpp", + MAME_DIR .. "src/mame/machine/namco50.cpp", + MAME_DIR .. "src/mame/machine/namco51.cpp", + MAME_DIR .. "src/mame/machine/namco53.cpp", + MAME_DIR .. "src/mame/audio/namco52.cpp", + MAME_DIR .. "src/mame/audio/namco54.cpp", + MAME_DIR .. "src/mame/audio/timeplt.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "neogeo") +files { + MAME_DIR .. "src/hbmame/drivers/neogeo.cpp", + MAME_DIR .. "src/hbmame/drivers/neogeohb.cpp", + MAME_DIR .. "src/hbmame/drivers/neogeo1.cpp", + MAME_DIR .. "src/hbmame/drivers/kof94.cpp", + MAME_DIR .. "src/hbmame/drivers/kof95.cpp", + MAME_DIR .. "src/hbmame/drivers/kof96.cpp", + MAME_DIR .. "src/hbmame/drivers/kof97.cpp", + MAME_DIR .. "src/hbmame/drivers/kof98.cpp", + MAME_DIR .. "src/hbmame/drivers/kof99.cpp", + MAME_DIR .. "src/hbmame/drivers/kof2000.cpp", + MAME_DIR .. "src/hbmame/drivers/kof2001.cpp", + MAME_DIR .. "src/hbmame/drivers/kof2002.cpp", + MAME_DIR .. "src/hbmame/drivers/kof2003.cpp", + MAME_DIR .. "src/hbmame/drivers/mgd2.cpp", + MAME_DIR .. "src/hbmame/drivers/mslug.cpp", + MAME_DIR .. "src/hbmame/drivers/mslug2.cpp", + MAME_DIR .. "src/hbmame/drivers/mslug3.cpp", + MAME_DIR .. "src/hbmame/drivers/mslug4.cpp", + MAME_DIR .. "src/hbmame/drivers/mslug5.cpp", + MAME_DIR .. "src/hbmame/drivers/mslugx.cpp", + MAME_DIR .. "src/hbmame/drivers/ngdoubledr.cpp", + MAME_DIR .. "src/hbmame/drivers/nggaroup.cpp", + MAME_DIR .. "src/hbmame/drivers/ngkofmisc.cpp", + MAME_DIR .. "src/hbmame/drivers/nglastblade.cpp", + MAME_DIR .. "src/hbmame/drivers/ngrbff.cpp", + MAME_DIR .. "src/hbmame/drivers/ngrotd.cpp", + MAME_DIR .. "src/hbmame/drivers/ngsamsho.cpp", + MAME_DIR .. "src/hbmame/drivers/ngsengoku.cpp", + MAME_DIR .. "src/hbmame/drivers/ngsvc.cpp", + MAME_DIR .. "src/hbmame/drivers/ngwh.cpp", + MAME_DIR .. "src/hbmame/video/neogeo.cpp", + MAME_DIR .. "src/hbmame/drivers/neogeo_noslot.cpp", + MAME_DIR .. "src/hbmame/video/neogeo_spr.cpp", + MAME_DIR .. "src/hbmame/machine/ng_memcard.cpp", + MAME_DIR .. "src/hbmame/bus/neogeo/prot.cpp", + MAME_DIR .. "src/hbmame/bus/neogeo/banked_cart.cpp", + MAME_DIR .. "src/hbmame/bus/neogeo_ctrl/ctrl.cpp", + MAME_DIR .. "src/hbmame/bus/neogeo_ctrl/joystick.cpp", + MAME_DIR .. "src/hbmame/bus/neogeo_ctrl/mahjong.cpp", + MAME_DIR .. "src/hbmame/bus/neogeo_ctrl/dial.cpp", + MAME_DIR .. "src/hbmame/bus/neogeo_ctrl/irrmaze.cpp", + MAME_DIR .. "src/hbmame/bus/neogeo_ctrl/kizuna4p.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "nichibut") +files { + MAME_DIR .. "src/hbmame/drivers/cclimber.cpp", + MAME_DIR .. "src/mame/machine/cclimber.cpp", + MAME_DIR .. "src/mame/audio/cclimber.cpp", + MAME_DIR .. "src/mame/video/cclimber.cpp", + MAME_DIR .. "src/hbmame/drivers/terracre.cpp", + MAME_DIR .. "src/mame/video/terracre.cpp", + MAME_DIR .. "src/mame/machine/nb1412m2.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "nintendo") +files { + MAME_DIR .. "src/hbmame/drivers/dkong.cpp", + MAME_DIR .. "src/mame/audio/dkong.cpp", + MAME_DIR .. "src/mame/video/dkong.cpp", + MAME_DIR .. "src/hbmame/drivers/mario.cpp", + MAME_DIR .. "src/mame/audio/mario.cpp", + MAME_DIR .. "src/mame/video/mario.cpp", + MAME_DIR .. "src/mame/audio/nl_mario.cpp", + MAME_DIR .. "src/hbmame/drivers/playch10.cpp", + MAME_DIR .. "src/mame/machine/playch10.cpp", + MAME_DIR .. "src/mame/video/playch10.cpp", + MAME_DIR .. "src/mame/machine/snes.cpp", + MAME_DIR .. "src/mame/audio/snes_snd.cpp", + MAME_DIR .. "src/hbmame/drivers/snesb.cpp", + MAME_DIR .. "src/hbmame/drivers/vsnes.cpp", + MAME_DIR .. "src/mame/machine/vsnes.cpp", + MAME_DIR .. "src/devices/video/ppu2c0x.cpp", + MAME_DIR .. "src/devices/machine/z80dma.cpp", + +} + +createHBMAMEProjects(_target, _subtarget, "nmk") +files { + MAME_DIR .. "src/hbmame/drivers/nmk16.cpp", + MAME_DIR .. "src/mame/video/nmk16.cpp", + MAME_DIR .. "src/mame/machine/nmk004.cpp", + MAME_DIR .. "src/mame/audio/seibu.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "pacman") +files { + MAME_DIR .. "src/hbmame/drivers/jrpacman.cpp", + MAME_DIR .. "src/hbmame/drivers/pacman.cpp", + MAME_DIR .. "src/hbmame/video/pacman.cpp", + MAME_DIR .. "src/hbmame/drivers/pengo.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "phoenix") +files { + MAME_DIR .. "src/hbmame/drivers/phoenix.cpp", + MAME_DIR .. "src/mame/audio/phoenix.cpp", + MAME_DIR .. "src/mame/video/phoenix.cpp", + MAME_DIR .. "src/mame/audio/pleiads.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "psikyo") +files { + MAME_DIR .. "src/hbmame/drivers/psikyo.cpp", + MAME_DIR .. "src/mame/video/psikyo.cpp", + MAME_DIR .. "src/hbmame/drivers/psikyosh.cpp", + MAME_DIR .. "src/mame/video/psikyosh.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "sega") +files { + MAME_DIR .. "src/hbmame/drivers/segas24.cpp", + MAME_DIR .. "src/mame/video/segas24.cpp", + MAME_DIR .. "src/mame/machine/megadriv.cpp", + MAME_DIR .. "src/mame/drivers/megaplay.cpp", + MAME_DIR .. "src/mame/drivers/megatech.cpp", + MAME_DIR .. "src/hbmame/drivers/segac2.cpp", + MAME_DIR .. "src/mame/drivers/segae.cpp", + MAME_DIR .. "src/hbmame/drivers/segag80r.cpp", + MAME_DIR .. "src/mame/machine/segag80.cpp", + MAME_DIR .. "src/mame/audio/segag80r.cpp", + MAME_DIR .. "src/mame/video/segag80r.cpp", + MAME_DIR .. "src/hbmame/drivers/segaorun.cpp", + MAME_DIR .. "src/mame/video/segaorun.cpp", + MAME_DIR .. "src/hbmame/drivers/system1.cpp", + MAME_DIR .. "src/mame/video/system1.cpp", + MAME_DIR .. "src/hbmame/drivers/system16.cpp", + MAME_DIR .. "src/mame/video/system16.cpp", + MAME_DIR .. "src/mame/machine/315_5296.cpp", + MAME_DIR .. "src/mame/machine/fd1089.cpp", + MAME_DIR .. "src/mame/machine/fd1094.cpp", + MAME_DIR .. "src/mame/machine/mc8123.cpp", + MAME_DIR .. "src/mame/machine/segaic16.cpp", + MAME_DIR .. "src/mame/machine/segacrpt_device.cpp", + MAME_DIR .. "src/mame/machine/segacrp2_device.cpp", + MAME_DIR .. "src/mame/audio/segasnd.cpp", + MAME_DIR .. "src/mame/video/segaic16.cpp", + MAME_DIR .. "src/mame/video/segaic16_road.cpp", + MAME_DIR .. "src/mame/video/sega16sp.cpp", + MAME_DIR .. "src/hbmame/drivers/segas16b.cpp", + MAME_DIR .. "src/mame/video/segas16b.cpp", + MAME_DIR .. "src/hbmame/drivers/segas32.cpp", + MAME_DIR .. "src/mame/machine/segas32.cpp", + MAME_DIR .. "src/mame/video/segas32.cpp", + MAME_DIR .. "src/mame/machine/s32comm.cpp", + MAME_DIR .. "src/mame/machine/m2comm.cpp", -- from here, for model2 + MAME_DIR .. "src/mame/audio/dsbz80.cpp", + MAME_DIR .. "src/hbmame/drivers/model2.cpp", + MAME_DIR .. "src/mame/video/model2rd.hxx", + MAME_DIR .. "src/mame/video/model2.cpp", + MAME_DIR .. "src/mame/machine/model2.cpp", + MAME_DIR .. "src/mame/audio/segam1audio.cpp", + MAME_DIR .. "src/mame/video/segaic24.cpp", + MAME_DIR .. "src/mame/machine/315_5338a.cpp", + MAME_DIR .. "src/mame/machine/315_5649.cpp", + MAME_DIR .. "src/mame/machine/315-5881_crypt.cpp", + MAME_DIR .. "src/mame/machine/315-5838_317-0229_comp.cpp", + MAME_DIR .. "src/mame/machine/model1io.cpp", + MAME_DIR .. "src/hbmame/drivers/stv.cpp", -- from here, for stv + MAME_DIR .. "src/mame/machine/saturn.cpp", + MAME_DIR .. "src/mame/machine/stvprot.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "seibu") +files { + MAME_DIR .. "src/hbmame/drivers/bloodbro.cpp", + MAME_DIR .. "src/mame/video/bloodbro.cpp", + MAME_DIR .. "src/hbmame/drivers/cabal.cpp", + MAME_DIR .. "src/mame/video/cabal.cpp", + MAME_DIR .. "src/mame/video/seibu_crtc.cpp", + MAME_DIR .. "src/hbmame/drivers/raiden2.cpp", + MAME_DIR .. "src/mame/video/raiden2.cpp", + MAME_DIR .. "src/mame/machine/r2crypt.cpp", + MAME_DIR .. "src/hbmame/drivers/r2dx_v33.cpp", + MAME_DIR .. "src/mame/machine/seibucop/seibucop.cpp", + MAME_DIR .. "src/mame/machine/seibucop/seibucop_dma.hxx", + MAME_DIR .. "src/mame/machine/seibucop/seibucop_cmd.hxx", + MAME_DIR .. "src/mame/machine/seibuspi.cpp", + MAME_DIR .. "src/hbmame/drivers/wiz.cpp", + MAME_DIR .. "src/mame/video/wiz.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "seta") +files { + MAME_DIR .. "src/mame/machine/st0016.cpp", + MAME_DIR .. "src/hbmame/drivers/simple_st0016.cpp", + MAME_DIR .. "src/hbmame/drivers/seta.cpp", + MAME_DIR .. "src/mame/video/seta.cpp", + MAME_DIR .. "src/hbmame/drivers/seta2.cpp", + MAME_DIR .. "src/mame/video/seta2.cpp", + MAME_DIR .. "src/mame/video/seta001.cpp", + MAME_DIR .. "src/hbmame/drivers/ssv.cpp", + MAME_DIR .. "src/mame/video/ssv.cpp", + MAME_DIR .. "src/mame/video/st0020.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "snk") +files { + MAME_DIR .. "src/hbmame/drivers/snk6502.cpp", + MAME_DIR .. "src/mame/audio/snk6502.cpp", + MAME_DIR .. "src/mame/video/snk6502.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "sony") +files { + MAME_DIR .. "src/hbmame/drivers/zn.cpp", + MAME_DIR .. "src/mame/machine/znmcu.cpp", + MAME_DIR .. "src/mame/machine/cat702.cpp", + MAME_DIR .. "src/mame/audio/rax.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "taito") +files { + MAME_DIR .. "src/hbmame/drivers/mexico86.cpp", + MAME_DIR .. "src/mame/machine/mexico86.cpp", + MAME_DIR .. "src/mame/video/mexico86.cpp", + MAME_DIR .. "src/hbmame/drivers/ikage.cpp", + MAME_DIR .. "src/mame/video/lkage.cpp", + MAME_DIR .. "src/hbmame/drivers/arkanoid.cpp", + MAME_DIR .. "src/mame/machine/arkanoid.cpp", + MAME_DIR .. "src/mame/video/arkanoid.cpp", + MAME_DIR .. "src/hbmame/drivers/asuka.cpp", + MAME_DIR .. "src/mame/video/asuka.cpp", + MAME_DIR .. "src/hbmame/drivers/bublbobl.cpp", + MAME_DIR .. "src/mame/machine/bublbobl.cpp", + MAME_DIR .. "src/mame/video/bublbobl.cpp", + MAME_DIR .. "src/hbmame/drivers/flstory.cpp", + MAME_DIR .. "src/mame/machine/flstory.cpp", + MAME_DIR .. "src/mame/video/flstory.cpp", + MAME_DIR .. "src/hbmame/drivers/rastan.cpp", + MAME_DIR .. "src/mame/video/rastan.cpp", + MAME_DIR .. "src/hbmame/drivers/retofinv.cpp", + MAME_DIR .. "src/mame/video/retofinv.cpp", + MAME_DIR .. "src/hbmame/drivers/taito_b.cpp", + MAME_DIR .. "src/mame/video/taito_b.cpp", + MAME_DIR .. "src/hbmame/drivers/taito_f2.cpp", + MAME_DIR .. "src/mame/video/taito_f2.cpp", + MAME_DIR .. "src/hbmame/drivers/taito_f3.cpp", + MAME_DIR .. "src/mame/video/taito_f3.cpp", + MAME_DIR .. "src/mame/machine/taitocchip.cpp", + MAME_DIR .. "src/hbmame/drivers/volfied.cpp", + MAME_DIR .. "src/mame/video/volfied.cpp", + MAME_DIR .. "src/mame/audio/taitosnd.cpp", + MAME_DIR .. "src/mame/audio/taito_en.cpp", + MAME_DIR .. "src/mame/machine/taitoio.cpp", + MAME_DIR .. "src/mame/video/taito_helper.cpp", + MAME_DIR .. "src/hbmame/drivers/tnzs.cpp", + MAME_DIR .. "src/mame/machine/tnzs.cpp", + MAME_DIR .. "src/mame/video/tnzs.cpp", + MAME_DIR .. "src/mame/video/pc080sn.cpp", + MAME_DIR .. "src/mame/video/pc090oj.cpp", + MAME_DIR .. "src/mame/video/tc0100scn.cpp", + MAME_DIR .. "src/mame/video/tc0280grd.cpp", + MAME_DIR .. "src/mame/video/tc0360pri.cpp", + MAME_DIR .. "src/mame/video/tc0480scp.cpp", + MAME_DIR .. "src/mame/video/tc0110pcr.cpp", + MAME_DIR .. "src/mame/video/tc0180vcu.cpp", + MAME_DIR .. "src/hbmame/drivers/taito_l.cpp", + MAME_DIR .. "src/mame/video/taito_l.cpp", + MAME_DIR .. "src/mame/machine/taito68705interface.cpp", + MAME_DIR .. "src/mame/machine/taitosjsec.cpp", + MAME_DIR .. "src/hbmame/drivers/taitosj.cpp", + MAME_DIR .. "src/mame/machine/taitosj.cpp", + MAME_DIR .. "src/mame/video/taitosj.cpp", + MAME_DIR .. "src/mame/audio/taito_zm.cpp", -- zn +} + +createHBMAMEProjects(_target, _subtarget, "technos") +files { + MAME_DIR .. "src/hbmame/drivers/shadfrce.cpp", + MAME_DIR .. "src/mame/video/shadfrce.cpp", + MAME_DIR .. "src/hbmame/drivers/ddragon.cpp", + MAME_DIR .. "src/mame/video/ddragon.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "tehkan") +files { + MAME_DIR .. "src/hbmame/drivers/solomon.cpp", + MAME_DIR .. "src/mame/video/solomon.cpp", + MAME_DIR .. "src/hbmame/drivers/tecmosys.cpp", + MAME_DIR .. "src/mame/machine/tecmosys.cpp", + MAME_DIR .. "src/mame/video/tecmosys.cpp", + MAME_DIR .. "src/mame/video/tecmo_spr.cpp", + MAME_DIR .. "src/mame/video/tecmo_mix.cpp", + MAME_DIR .. "src/hbmame/drivers/bombjack.cpp", + MAME_DIR .. "src/mame/video/bombjack.cpp", + MAME_DIR .. "src/hbmame/drivers/tecmo.cpp", + MAME_DIR .. "src/mame/video/tecmo.cpp", + MAME_DIR .. "src/hbmame/drivers/tecmo16.cpp", + MAME_DIR .. "src/mame/video/tecmo16.cpp", + MAME_DIR .. "src/hbmame/drivers/tehkanwc.cpp", + MAME_DIR .. "src/mame/video/tehkanwc.cpp", + MAME_DIR .. "src/mame/drivers/wc90.cpp", + MAME_DIR .. "src/mame/video/wc90.cpp", + MAME_DIR .. "src/hbmame/drivers/wc90b.cpp", + MAME_DIR .. "src/mame/video/wc90b.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "toaplan") +files { + MAME_DIR .. "src/hbmame/drivers/snowbros.cpp", + MAME_DIR .. "src/mame/video/snowbros.cpp", + MAME_DIR .. "src/mame/drivers/toaplan1.cpp", + MAME_DIR .. "src/mame/machine/toaplan1.cpp", + MAME_DIR .. "src/mame/video/toaplan1.cpp", + MAME_DIR .. "src/hbmame/drivers/toaplan2.cpp", + MAME_DIR .. "src/mame/video/toaplan2.cpp", + MAME_DIR .. "src/mame/video/gp9001.cpp", + MAME_DIR .. "src/hbmame/drivers/twincobr.cpp", + MAME_DIR .. "src/mame/machine/twincobr.cpp", + MAME_DIR .. "src/mame/video/twincobr.cpp", + MAME_DIR .. "src/mame/drivers/wardner.cpp", + MAME_DIR .. "src/mame/video/toaplan_scu.cpp", + MAME_DIR .. "src/mame/machine/nmk112.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "unico") +files { + MAME_DIR .. "src/hbmame/drivers/silkroad.cpp", + MAME_DIR .. "src/mame/video/silkroad.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "univers") +files { + MAME_DIR .. "src/hbmame/drivers/docastle.cpp", + MAME_DIR .. "src/mame/machine/docastle.cpp", + MAME_DIR .. "src/mame/video/docastle.cpp", + MAME_DIR .. "src/hbmame/drivers/mrdo.cpp", + MAME_DIR .. "src/mame/video/mrdo.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "valadon") +files { + MAME_DIR .. "src/hbmame/drivers/bagman.cpp", + MAME_DIR .. "src/mame/machine/bagman.cpp", + MAME_DIR .. "src/mame/video/bagman.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "vsystem") +files { + MAME_DIR .. "src/mame/machine/vs9209.cpp", + MAME_DIR .. "src/mame/video/vsystem_gga.cpp", + MAME_DIR .. "src/mame/video/vsystem_spr.cpp", + MAME_DIR .. "src/mame/video/vsystem_spr2.cpp", + MAME_DIR .. "src/hbmame/drivers/aerofgt.cpp", + MAME_DIR .. "src/mame/video/aerofgt.cpp", +} + +createHBMAMEProjects(_target, _subtarget, "misc") +files { + MAME_DIR .. "src/hbmame/drivers/dotrikun.cpp", + MAME_DIR .. "src/hbmame/drivers/schaser.cpp", + MAME_DIR .. "src/hbmame/drivers/spacmiss.cpp", + MAME_DIR .. "src/hbmame/drivers/monaco.cpp", +-- MAME_DIR .. "src/hbmame/drivers/atari_s1.cpp", +-- MAME_DIR .. "src/mame/machine/genpin.cpp", + MAME_DIR .. "src/hbmame/drivers/kyugo.cpp", + MAME_DIR .. "src/mame/video/kyugo.cpp", + MAME_DIR .. "src/mame/drivers/skimaxx.cpp", + MAME_DIR .. "src/hbmame/drivers/timelimit.cpp", + MAME_DIR .. "src/mame/video/timelimt.cpp", + MAME_DIR .. "src/hbmame/drivers/vamphalf.cpp", + MAME_DIR .. "src/hbmame/drivers/hh_sm510.cpp", +} + +end + diff --git a/docs/release/scripts/target/ldplayer/ldplayer.lua b/docs/release/scripts/target/ldplayer/ldplayer.lua new file mode 100644 index 00000000000..4348f3bd318 --- /dev/null +++ b/docs/release/scripts/target/ldplayer/ldplayer.lua @@ -0,0 +1,88 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- ldplayer.lua +-- +-- Small makefile to build a standalone laserdisc player +-- +--------------------------------------------------------------------------- + +-------------------------------------------------- +-- specify required CPU cores (none) +-------------------------------------------------- + +CPUS["MCS48"] = true +CPUS["Z80"] = true + + + +-------------------------------------------------- +-- specify required sound cores +-------------------------------------------------- + +SOUNDS["WAVE"] = true + + +-------------------------------------------------- +-- specify available video cores +-------------------------------------------------- + +-------------------------------------------------- +-- specify available machine cores +-------------------------------------------------- + +MACHINES["LDV1000"] = true +MACHINES["LDPR8210"] = true + +-------------------------------------------------- +-- specify available bus cores +-- +-- MIDI is here as dummy bus to allow libbus.a to +-- be created on OSX. +-------------------------------------------------- + +BUSES["MIDI"] = true + +-------------------------------------------------- +-- this is the list of driver libraries that +-- comprise MAME plus mamedriv.o which contains +-- the list of drivers +-------------------------------------------------- + +function createProjects_ldplayer_ldplayer(_target, _subtarget) + project ("drvldplayer") + targetsubdir(_target .."_" .. _subtarget) + kind (LIBTYPE) + uuid (os.uuid("drvldplayer")) + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/mame", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + GEN_DIR .. "mame/layout", + } + + files{ + MAME_DIR .. "src/emu/drivers/emudummy.cpp", + } + + dependency { + { MAME_DIR .. "src/emu/drivers/emudummy.cpp", GEN_DIR .. "ldplayer/layout/pr8210.lh" }, + } + + custombuildtask { + layoutbuildtask("ldplayer/layout", "pr8210"), + } +end + +function linkProjects_ldplayer_ldplayer(_target, _subtarget) + links { + "drvldplayer", + } +end diff --git a/docs/release/scripts/target/mame/arcade.lua b/docs/release/scripts/target/mame/arcade.lua new file mode 100644 index 00000000000..02f3b0da184 --- /dev/null +++ b/docs/release/scripts/target/mame/arcade.lua @@ -0,0 +1,4931 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- mame.lua +-- +-- MAME target makefile +-- +--------------------------------------------------------------------------- + +-------------------------------------------------- +-- specify available CPU cores +--------------------------------------------------- + +CPUS["Z80"] = true +CPUS["Z180"] = true +CPUS["I8085"] = true +CPUS["I8089"] = true +CPUS["M6502"] = true +CPUS["H6280"] = true +CPUS["I86"] = true +CPUS["I386"] = true +CPUS["NEC"] = true +CPUS["V30MZ"] = true +CPUS["V60"] = true +CPUS["MCS48"] = true +CPUS["MCS51"] = true +CPUS["MCS96"] = true +CPUS["M6800"] = true +CPUS["M6805"] = true +CPUS["HD6309"] = true +CPUS["M6809"] = true +CPUS["KONAMI"] = true +CPUS["M680X0"] = true +CPUS["T11"] = true +CPUS["S2650"] = true +CPUS["TMS340X0"] = true +CPUS["TMS9900"] = true +CPUS["TMS9995"] = true +CPUS["TMS9900L"] = true +CPUS["Z8000"] = true +CPUS["Z8001"] = true +CPUS["TMS32010"] = true +CPUS["TMS32025"] = true +CPUS["TMS32031"] = true +CPUS["TMS32051"] = true +CPUS["TMS32082"] = true +CPUS["TMS57002"] = true +CPUS["CCPU"] = true +CPUS["ADSP21XX"] = true +CPUS["ASAP"] = true +CPUS["AM29000"] = true +CPUS["UPD7810"] = true +CPUS["ARM"] = true +CPUS["ARM7"] = true +CPUS["JAGUAR"] = true +CPUS["CUBEQCPU"] = true +CPUS["ESRIP"] = true +CPUS["MIPS1"] = true +CPUS["MIPS3"] = true +CPUS["PSX"] = true +CPUS["SH"] = true +CPUS["DSP16"] = true +CPUS["DSP32C"] = true +CPUS["PIC16C5X"] = true +CPUS["PIC16C62X"] = true +CPUS["G65816"] = true +CPUS["SPC700"] = true +CPUS["E1"] = true +CPUS["I860"] = true +CPUS["I960"] = true +CPUS["H8"] = true +CPUS["V810"] = true +CPUS["M37710"] = true +CPUS["POWERPC"] = true +CPUS["SE3208"] = true +CPUS["MC68HC11"] = true +CPUS["ADSP21062"] = true +CPUS["DSP56156"] = true +CPUS["RSP"] = true +CPUS["ALPHA8201"] = true +CPUS["COP400"] = true +CPUS["TLCS90"] = true +CPUS["TLCS870"] = true +CPUS["TLCS900"] = true +CPUS["MB88XX"] = true +CPUS["MB86233"] = true +CPUS["MB86235"] = true +CPUS["SSP1601"] = true +CPUS["APEXC"] = true +CPUS["CP1610"] = true +CPUS["F8"] = true +CPUS["LH5801"] = true +CPUS["PDP1"] = true +CPUS["SATURN"] = true +CPUS["SC61860"] = true +CPUS["LR35902"] = true +CPUS["TMS7000"] = true +CPUS["SM8500"] = true +CPUS["MINX"] = true +CPUS["SSEM"] = true +CPUS["AVR8"] = true +--CPUS["TMS1000"] = true +CPUS["MCS40"] = true +CPUS["SUPERFX"] = true +CPUS["Z8"] = true +CPUS["I8008"] = true +CPUS["SCMP"] = true +CPUS["MN10200"] = true +CPUS["COSMAC"] = true +CPUS["UNSP"] = true +CPUS["HCD62121"] = true +CPUS["PPS4"] = true +CPUS["UPD7725"] = true +CPUS["HD61700"] = true +CPUS["LC8670"] = true +CPUS["SCORE"] = true +CPUS["ES5510"] = true +CPUS["SCUDSP"] = true +CPUS["IE15"] = true +CPUS["8X300"] = true +CPUS["ALTO2"] = true +--CPUS["W65816"] = true +CPUS["ARC"] = true +CPUS["ARCOMPACT"] = true +--CPUS["AMIS2000"] = true +--CPUS["UCOM4"] = true +CPUS["HMCS40"] = true +--CPUS["E0C6200"] = true +--CPUS["MELPS4"] = true +--CPUS["HPHYBRID"] = true +--CPUS["SM510"] = true +CPUS["ST62XX"] = true +CPUS["DSPP"] = true +CPUS["HPC"] = true +--CPUS["RII"] = true +--CPUS["BCP"] = true + +-------------------------------------------------- +-- specify available sound cores +-------------------------------------------------- + +SOUNDS["SAMPLES"] = true +SOUNDS["DAC"] = true +SOUNDS["DMADAC"] = true +SOUNDS["SPEAKER"] = true +SOUNDS["BEEP"] = true +SOUNDS["DISCRETE"] = true +SOUNDS["AY8910"] = true +SOUNDS["YM2151"] = true +SOUNDS["YM2203"] = true +SOUNDS["YM2413"] = true +SOUNDS["YM2608"] = true +SOUNDS["YM2610"] = true +SOUNDS["YM2610B"] = true +SOUNDS["YM2612"] = true +SOUNDS["YM3438"] = true +SOUNDS["YM3812"] = true +SOUNDS["YM3526"] = true +SOUNDS["Y8950"] = true +SOUNDS["YMF262"] = true +SOUNDS["YMF271"] = true +SOUNDS["YMF278B"] = true +SOUNDS["YMZ280B"] = true +SOUNDS["SN76477"] = true +SOUNDS["SN76496"] = true +SOUNDS["POKEY"] = true +SOUNDS["TIA"] = true +SOUNDS["NES_APU"] = true +SOUNDS["PAULA_8364"] = true +SOUNDS["ASTROCADE"] = true +SOUNDS["NAMCO"] = true +SOUNDS["NAMCO_15XX"] = true +SOUNDS["NAMCO_CUS30"] = true +SOUNDS["NAMCO_52XX"] = true +SOUNDS["NAMCO_63701X"] = true +--SOUNDS["NAMCO_163"] = true +SOUNDS["T6W28"] = true +SOUNDS["SNKWAVE"] = true +SOUNDS["C140"] = true +SOUNDS["C352"] = true +SOUNDS["TMS36XX"] = true +SOUNDS["TMS3615"] = true +SOUNDS["TMS5110"] = true +SOUNDS["TMS5220"] = true +SOUNDS["VLM5030"] = true +SOUNDS["ADPCM"] = true +SOUNDS["MSM5205"] = true +SOUNDS["MSM5232"] = true +SOUNDS["OKIM6258"] = true +SOUNDS["OKIM6295"] = true +SOUNDS["OKIM6376"] = true +SOUNDS["OKIM9810"] = true +--SOUNDS["UPD7752"] = true +SOUNDS["UPD7759"] = true +SOUNDS["HC55516"] = true +SOUNDS["TC8830F"] = true +SOUNDS["K005289"] = true +SOUNDS["K007232"] = true +SOUNDS["K051649"] = true +SOUNDS["K053260"] = true +SOUNDS["K054539"] = true +SOUNDS["K056800"] = true +SOUNDS["SEGAPCM"] = true +SOUNDS["MULTIPCM"] = true +SOUNDS["SCSP"] = true +SOUNDS["AICA"] = true +SOUNDS["RF5C68"] = true +SOUNDS["RF5C400"] = true +SOUNDS["CEM3394"] = true +SOUNDS["QSOUND"] = true +SOUNDS["QS1000"] = true +SOUNDS["SAA1099"] = true +SOUNDS["IREMGA20"] = true +SOUNDS["ES5503"] = true +SOUNDS["ES5505"] = true +SOUNDS["ES5506"] = true +SOUNDS["BSMT2000"] = true +SOUNDS["GAELCO_CG1V"] = true +SOUNDS["GAELCO_GAE1"] = true +--SOUNDS["HUC6230"] = true +SOUNDS["C6280"] = true +SOUNDS["SP0250"] = true +SOUNDS["SPU"] = true +SOUNDS["CDDA"] = true +SOUNDS["ICS2115"] = true +SOUNDS["I5000_SND"] = true +SOUNDS["ST0016"] = true +SOUNDS["NILE"] = true +SOUNDS["X1_010"] = true +SOUNDS["VRENDER0"] = true +SOUNDS["VOTRAX"] = true +SOUNDS["ES8712"] = true +SOUNDS["CDP1869"] = true +SOUNDS["S14001A"] = true +SOUNDS["WAVE"] = true +SOUNDS["SID6581"] = true +SOUNDS["SID8580"] = true +SOUNDS["SP0256"] = true +SOUNDS["DIGITALKER"] = true +SOUNDS["CDP1863"] = true +SOUNDS["CDP1864"] = true +SOUNDS["ZSG2"] = true +SOUNDS["MOS656X"] = true +SOUNDS["ASC"] = true +SOUNDS["MAS3507D"] = true +SOUNDS["SOCRATES"] = true +SOUNDS["TMC0285"] = true +SOUNDS["TMS5200"] = true +SOUNDS["CD2801"] = true +SOUNDS["CD2802"] = true +SOUNDS["M58817"] = true +SOUNDS["TMC0281"] = true +SOUNDS["TMS5100"] = true +SOUNDS["TMS5110A"] = true +SOUNDS["LMC1992"] = true +SOUNDS["AWACS"] = true +SOUNDS["YMZ770"] = true +SOUNDS["MPEG_AUDIO"] = true +SOUNDS["T6721A"] = true +SOUNDS["MOS7360"] = true +SOUNDS["ESQPUMP"] = true +--SOUNDS["VRC6"] = true +SOUNDS["SB0400"] = true +SOUNDS["AC97"] = true +SOUNDS["ES1373"] = true +SOUNDS["L7A1045"] = true +SOUNDS["AD1848"] = true +--SOUNDS["UPD1771"] = true +SOUNDS["VOLT_REG"] = true +SOUNDS["MEA8000"] = true +SOUNDS["DAC76"] = true +SOUNDS["TA7630"] = true +SOUNDS["MM5837"] = true +--SOUNDS["DAVE"] = true +SOUNDS["LC7535"] = true +--SOUNDS["UPD934G"] = true + +-------------------------------------------------- +-- specify available video cores +-------------------------------------------------- + +VIDEOS["SEGA315_5124"] = true +VIDEOS["SEGA315_5313"] = true +VIDEOS["BUFSPRITE"] = true +--VIDEOS["CDP1861"] = true +--VIDEOS["CDP1862"] = true +VIDEOS["CESBLIT"] = true +--VIDEOS["CRT9007"] = true +--VIDEOS["CRT9021"] = true +--VIDEOS["CRT9028"] = true +--VIDEOS["CRT9212"] = true +VIDEOS["CRTC_EGA"] = true +--VIDEOS["DL1416"] = true +VIDEOS["DM9368"] = true +VIDEOS["DP8350"] = true +--VIDEOS["EF9340_1"] = true +--VIDEOS["EF9345"] = true +--VIDEOS["EF9364"] = true +--VIDEOS["EF9365"] = true +VIDEOS["EF9369"] = true +--VIDEOS["GF4500"] = true +VIDEOS["GF7600GS"] = true +VIDEOS["EPIC12"] = true +VIDEOS["FIXFREQ"] = true +--VIDEOS["HD44102"] = true +--VIDEOS["HD44352"] = true +VIDEOS["HD44780"] = true +VIDEOS["HD61830"] = true +VIDEOS["HD63484"] = true +--VIDEOS["HD66421"] = true +--VIDEOS["HLCD0515"] = true +--VIDEOS["HLCD0538"] = true +VIDEOS["HUC6202"] = true +VIDEOS["HUC6260"] = true +--VIDEOS["HUC6261"] = true +VIDEOS["HUC6270"] = true +--VIDEOS["HUC6272"] = true +VIDEOS["I4100"] = true +--VIDEOS["I8244"] = true +VIDEOS["I8275"] = true +VIDEOS["JANGOU_BLITTER"] = true +VIDEOS["M50458"] = true +VIDEOS["MB90082"] = true +VIDEOS["MB_VCU"] = true +VIDEOS["MC6845"] = true +--VIDEOS["MC6847"] = true +--VIDEOS["MM5445"] = true +--VIDEOS["MSM6222B"] = true +--VIDEOS["MSM6255"] = true +--VIDEOS["MOS6566"] = true +VIDEOS["PC_VGA"] = true +VIDEOS["POLY"] = true +VIDEOS["PSX"] = true +VIDEOS["RAMDAC"] = true +--VIDEOS["S2636"] = true +VIDEOS["SAA5050"] = true +--VIDEOS["SDA5708"] = true +VIDEOS["SCN2674"] = true +--VIDEOS["PWM_DISPLAY"] = true +--VIDEOS["SED1200"] = true +--VIDEOS["SED1330"] = true +--VIDEOS["SED1520"] = true +VIDEOS["SNES_PPU"] = true +VIDEOS["STVVDP"] = true +--VIDEOS["T6963C"] = true +--VIDEOS["T6A04"] = true +VIDEOS["TLC34076"] = true +VIDEOS["TMS34061"] = true +--VIDEOS["TMS3556"] = true +VIDEOS["TMS9927"] = true +VIDEOS["TMS9928A"] = true +--VIDEOS["UPD3301"] = true +VIDEOS["UPD7220"] = true +--VIDEOS["UPD7227"] = true +VIDEOS["V9938"] = true +--VIDEOS["VIC4567"] = true +VIDEOS["VOODOO"] = true +VIDEOS["VOODOO_PCI"] = true +VIDEOS["ZEUS2"] = true +VIDEOS["PPU2C0X"] = true +VIDEOS["PS2GS"] = true +VIDEOS["PS2GIF"] = true + +-------------------------------------------------- +-- specify available machine cores +-------------------------------------------------- + +MACHINES["AKIKO"] = true +MACHINES["AUTOCONFIG"] = true +MACHINES["BUSMOUSE"] = true +MACHINES["CR511B"] = true +MACHINES["DMAC"] = true +MACHINES["GAYLE"] = true +MACHINES["NCR53C7XX"] = true +MACHINES["LSI53C810"] = true +MACHINES["2812FIFO"] = true +MACHINES["6522VIA"] = true +MACHINES["TPI6525"] = true +MACHINES["RIOT6532"] = true +MACHINES["6821PIA"] = true +MACHINES["6840PTM"] = true +--MACHINES["MPCC68561"] = true +MACHINES["ACIA6850"] = true +MACHINES["68681"] = true +MACHINES["7200FIFO"] = true +--MACHINES["8530SCC"] = true +--MACHINES["TTL7400"] = true +--MACHINES["TTL7404"] = true +MACHINES["TTL74123"] = true +MACHINES["TTL74145"] = true +MACHINES["TTL74148"] = true +MACHINES["TTL74153"] = true +MACHINES["TTL74157"] = true +--MACHINES["TTL74161"] = true +--MACHINES["TTL74164"] = true +MACHINES["TTL74165"] = true +MACHINES["TTL74166"] = true +--MACHINES["TTL74175"] = true +MACHINES["TTL74181"] = true +MACHINES["TTL74259"] = true +--MACHINES["TTL74381"] = true +MACHINES["TTL7474"] = true +MACHINES["KBDC8042"] = true +MACHINES["I8257"] = true +MACHINES["AAKARTDEV"] = true +--MACHINES["ACIA6850"] = true +MACHINES["ADC0808"] = true +MACHINES["ADC083X"] = true +MACHINES["ADC1038"] = true +MACHINES["ADC1213X"] = true +MACHINES["AICARTC"] = true +--MACHINES["AM25S55X"] = true +--MACHINES["AM2847"] = true +--MACHINES["AM2910"] = true +MACHINES["AM53CF96"] = true +MACHINES["AM79C90"] = true +--MACHINES["AM9513"] = true +MACHINES["AM9517A"] = true +MACHINES["AMIGAFDC"] = true +MACHINES["AT_KEYBC"] = true +MACHINES["AT28C16"] = true +MACHINES["AT29X"] = true +MACHINES["AT45DBXX"] = true +MACHINES["ATAFLASH"] = true +MACHINES["ARM_AIC"] = true +MACHINES["AY31015"] = true +MACHINES["BANKDEV"] = true +--MACHINES["BIM68153"] = true +MACHINES["CDP1852"] = true +MACHINES["CDP1871"] = true +MACHINES["CHESSMACHINE"] = true +MACHINES["CMOS40105"] = true +MACHINES["CDU76S"] = true +MACHINES["COM8116"] = true +MACHINES["CR589"] = true +--MACHINES["CS4031"] = true +--MACHINES["CS8221"] = true +MACHINES["CXD1095"] = true +MACHINES["DP8390"] = true +--MACHINES["DP8573"] = true +MACHINES["DS1204"] = true +MACHINES["DS1205"] = true +MACHINES["DS1302"] = true +--MACHINES["DS1315"] = true +--MACHINES["DS1386"] = true +MACHINES["DS1994"] = true +MACHINES["DS2401"] = true +MACHINES["DS2404"] = true +MACHINES["DS75160A"] = true +MACHINES["DS75161A"] = true +MACHINES["E0516"] = true +MACHINES["E05A03"] = true +MACHINES["E05A30"] = true +MACHINES["EEPROMDEV"] = true +--MACHINES["ER1400"] = true +MACHINES["ER2055"] = true +MACHINES["F3853"] = true +--MACHINES["HD63450"] = true +--MACHINES["HD64610"] = true +MACHINES["I2CMEM"] = true +--MACHINES["I80130"] = true +--MACHINES["I8089"] = true +MACHINES["I8155"] = true +MACHINES["I8212"] = true +MACHINES["I8214"] = true +MACHINES["I82355"] = true +MACHINES["I8243"] = true +MACHINES["I8251"] = true +MACHINES["I8255"] = true +--MACHINES["I8257"] = true +--MACHINES["I8271"] = true +MACHINES["I8279"] = true +MACHINES["I8355"] = true +MACHINES["IDE"] = true +MACHINES["IE15"] = true +MACHINES["IM6402"] = true +MACHINES["INS8154"] = true +MACHINES["INS8250"] = true +MACHINES["INTELFLASH"] = true +MACHINES["JVS"] = true +MACHINES["K033906"] = true +MACHINES["K053252"] = true +MACHINES["K056230"] = true +--MACHINES["KB3600"] = true +--MACHINES["KBDC8042"] = true +--MACHINES["KR2376"] = true +MACHINES["LATCH8"] = true +MACHINES["LC89510"] = true +MACHINES["LDPR8210"] = true +MACHINES["LDSTUB"] = true +MACHINES["LDV1000"] = true +MACHINES["LDP1000"] = true +MACHINES["LDP1450"] = true +MACHINES["LDVP931"] = true +--MACHINES["LH5810"] = true +MACHINES["LINFLASH"] = true +MACHINES["LPCI"] = true +--MACHINES["LSI53C810"] = true +--MACHINES["M68307"] = true +--MACHINES["M68340"] = true +MACHINES["M6M80011AP"] = true +MACHINES["MB14241"] = true +MACHINES["MB3773"] = true +MACHINES["MB8421"] = true +MACHINES["MB87078"] = true +--MACHINES["MB8795"] = true +MACHINES["MB89352"] = true +MACHINES["MB89371"] = true +MACHINES["MB89374"] = true +--MACHINES["MC14411"] = true +MACHINES["MC146818"] = true +MACHINES["MC2661"] = true +MACHINES["MC6843"] = true +MACHINES["MC6846"] = true +MACHINES["MC6852"] = true +MACHINES["MC6854"] = true +--MACHINES["MC68328"] = true +MACHINES["MC68901"] = true +MACHINES["MCCS1850"] = true +MACHINES["M68307"] = true +MACHINES["M68340"] = true +MACHINES["MCF5206E"] = true +MACHINES["METERS"] = true +MACHINES["MICROTOUCH"] = true +--MACHINES["MIOT6530"] = true +--MACHINES["MM5307"] = true +--MACHINES["MM58167"] = true +MACHINES["MM58274C"] = true +MACHINES["MM74C922"] = true +MACHINES["MOS6526"] = true +MACHINES["MOS6529"] = true +MACHINES["MIOT6530"] = true +MACHINES["MOS6551"] = true +--MACHINES["MOS6702"] = true +--MACHINES["MOS8706"] = true +--MACHINES["MOS8722"] = true +--MACHINES["MOS8726"] = true +MACHINES["MPU401"] = true +MACHINES["MSM5832"] = true +MACHINES["MSM58321"] = true +MACHINES["MSM6242"] = true +MACHINES["MSM6253"] = true +--MACHINES["NCR5380"] = true +MACHINES["NCR5380N"] = true +MACHINES["NCR5390"] = true +MACHINES["NCR539x"] = true +MACHINES["NETLIST"] = true +--MACHINES["NCR53C7XX"] = true +MACHINES["NMC9306"] = true +--MACHINES["NSC810"] = true +MACHINES["NSCSI"] = true +MACHINES["OUTPUT_LATCH"] = true +MACHINES["PC_FDC"] = true +MACHINES["PC_LPT"] = true +--MACHINES["PCCARD"] = true +MACHINES["PCF8593"] = true +MACHINES["PCI"] = true +MACHINES["PCKEYBRD"] = true +MACHINES["PIC8259"] = true +MACHINES["PIT68230"] = true +MACHINES["PIT8253"] = true +MACHINES["PLA"] = true +--MACHINES["PROFILE"] = true +--MACHINES["PROM82S129"] = true +MACHINES["PXA255"] = true +MACHINES["R10696"] = true +MACHINES["R10788"] = true +MACHINES["RA17XX"] = true +--MACHINES["R64H156"] = true +MACHINES["RF5C296"] = true +--MACHINES["RIOT6532"] = true +MACHINES["RIPPLE_COUNTER"] = true +MACHINES["ROC10937"] = true +MACHINES["RP5C01"] = true +MACHINES["RP5C15"] = true +MACHINES["RP5H01"] = true +MACHINES["RSTBUF"] = true +MACHINES["RTC4543"] = true +MACHINES["RTC65271"] = true +MACHINES["RTC9701"] = true +MACHINES["S2636"] = true +MACHINES["S3520CF"] = true +MACHINES["S3C24XX"] = true +--MACHINES["S3C44B0"] = true +MACHINES["SATURN"] = true +MACHINES["SCC68070"] = true +MACHINES["SCSI"] = true +MACHINES["SCUDSP"] = true +--MACHINES["SECFLASH"] = true +MACHINES["SDA2006"] = true +MACHINES["SERFLASH"] = true +MACHINES["SMC91C9X"] = true +MACHINES["SEGA_SCU"] = true +MACHINES["SMPC"] = true +--MACHINES["SPG2XX"] = true +MACHINES["STVCD"] = true +--MACHINES["SUN4C_MMU"] = true +MACHINES["TC0091LVC"] = true +--MACHINES["TDC1008"] = true +MACHINES["TE7750"] = true +MACHINES["TICKET"] = true +MACHINES["TIMEKPR"] = true +--MACHINES["TMC208K"] = true +MACHINES["TMP68301"] = true +--MACHINES["TMS5501"] = true +MACHINES["TMS6100"] = true +MACHINES["TMS9901"] = true +MACHINES["TMS9902"] = true +--MACHINES["TPI6525"] = true +--MACHINES["TTL74123"] = true +--MACHINES["TTL74145"] = true +--MACHINES["TTL74148"] = true +--MACHINES["TTL74153"] = true +--MACHINES["TTL74181"] = true +--MACHINES["TTL7474"] = true +MACHINES["UPD1990A"] = true +MACHINES["UPD4992"] = true +MACHINES["UPD4701"] = true +MACHINES["UPD7002"] = true +MACHINES["UPD7004"] = true +MACHINES["UPD71071"] = true +MACHINES["UPD765"] = true +MACHINES["FDC_PLL"] = true +MACHINES["V3021"] = true +MACHINES["WD_FDC"] = true +--MACHINES["WD1010"] = true +MACHINES["WD11C00_17"] = true +MACHINES["WD2010"] = true +MACHINES["WD33C9X"] = true +MACHINES["X2212"] = true +MACHINES["X76F041"] = true +MACHINES["X76F100"] = true +MACHINES["Z80CTC"] = true +MACHINES["Z80DART"] = true +MACHINES["Z80SIO"] = true +MACHINES["Z80SCC"] = true +MACHINES["Z80DMA"] = true +MACHINES["Z80PIO"] = true +MACHINES["Z80STI"] = true +MACHINES["Z8536"] = true +MACHINES["SECFLASH"] = true +MACHINES["PCCARD"] = true +MACHINES["FDC37C665GT"] = true +--MACHINES["SMC92X4"] = true +--MACHINES["TI99_HD"] = true +--MACHINES["STRATA"] = true +MACHINES["STEPPERS"] = true +--MACHINES["CORVUSHD"] = true +--MACHINES["WOZFDC"] = true +--MACHINES["DIABLO_HD"] = true +MACHINES["PCI9050"] = true +MACHINES["TMS1024"] = true +MACHINES["GENPC"] = true +MACHINES["GEN_LATCH"] = true +MACHINES["WATCHDOG"] = true +MACHINES["SMARTMEDIA"] = true +MACHINES["I82586"] = true +MACHINES["INPUT_MERGER"] = true +MACHINES["K054321"] = true +MACHINES["ADC0844"] = true +MACHINES["GEN_FIFO"] = true +MACHINES["Z80DAISY"] = true +--MACHINES["PS2DMAC"] = true +MACHINES["PS2INTC"] = true +--MACHINES["PS2MC"] = true +--MACHINES["PS2PAD"] = true +--MACHINES["PS2SIF"] = true +--MACHINES["PS2TIMER"] = true +--MACHINES["IOPCDVD"] = true +--MACHINES["IOPDMA"] = true +--MACHINES["IOPINTC"] = true +--MACHINES["IOPSIO2"] = true +--MACHINES["IOPTIMER"] = true +MACHINES["AIC565"] = true +MACHINES["AIC6250"] = true + +-------------------------------------------------- +-- specify available bus cores +-------------------------------------------------- + +--BUSES["A1BUS"] = true +--BUSES["A2BUS"] = true +--BUSES["A7800"] = true +--BUSES["A800"] = true +--BUSES["ABCBUS"] = true +--BUSES["ABCKB"] = true +--BUSES["ADAM"] = true +--BUSES["ADAMNET"] = true +--BUSES["APF"] = true +BUSES["AMIGA_KEYBOARD"] = true +--BUSES["ARCADIA"] = true +--BUSES["ASTROCADE"] = true +--BUSES["BML3"] = true +--BUSES["BW2"] = true +--BUSES["C64"] = true +--BUSES["CBM2"] = true +--BUSES["CBMIEC"] = true +BUSES["CENTRONICS"] = true +--BUSES["CHANNELF"] = true +--BUSES["COCO"] = true +--BUSES["COLECO_CONTROLLER"] = true +--BUSES["COLECO_CART"] = true +--BUSES["COMPUCOLOR"] = true +--BUSES["COMX35"] = true +--BUSES["CPC"] = true +--BUSES["CRVISION"] = true +--BUSES["DMV"] = true +--BUSES["ECBBUS"] = true +--BUSES["ECONET"] = true +--BUSES["EP64"] = true +--BUSES["EPSON_SIO"] = true +--BUSES["GAMEBOY"] = true +BUSES["GAMEGEAR"] = true +--BUSES["GBA"] = true +BUSES["GENERIC"] = true +--BUSES["IEEE488"] = true +--BUSES["IMI7000"] = true +--BUSES["INTV"] = true +--BUSES["IQ151"] = true +BUSES["ISA"] = true +--BUSES["ISBX"] = true +--BUSES["KC"] = true +--BUSES["LPCI"] = true +--BUSES["MACPDS"] = true +BUSES["MIDI"] = true +--BUSES["MEGADRIVE"] = true +--BUSES["MSX_SLOT"] = true +BUSES["NEOGEO"] = true +BUSES["NEOGEO_CTRL"] = true +--BUSES["NES"] = true +--BUSES["NUBUS"] = true +--BUSES["O2"] = true +--BUSES["ORICEXT"] = true +--BUSES["PCE"] = true +BUSES["PC_JOY"] = true +BUSES["PC_KBD"] = true +--BUSES["PET"] = true +--BUSES["PLUS4"] = true +--BUSES["PSX_CONTROLLER"] = true +--BUSES["QL"] = true +BUSES["RS232"] = true +--BUSES["S100"] = true +BUSES["SAT_CTRL"] = true +--BUSES["SATURN"] = true +BUSES["SCSI"] = true +--BUSES["SCV"] = true +BUSES["SEGA8"] = true +BUSES["SG1000_EXP"] = true +BUSES["SGIKBD"] = true +BUSES["SMS_CTRL"] = true +BUSES["SMS_EXP"] = true +--BUSES["SNES"] = true +--BUSES["SPC1000"] = true +BUSES["SUNKBD"] = true +--BUSES["TI99PEB"] = true +--BUSES["TVC"] = true +--BUSES["VBOY"] = true +--BUSES["VC4000"] = true +--BUSES["VCS"] = true +--BUSES["VCS_CTRL"] = true +BUSES["VECTREX"] = true +--BUSES["VIC10"] = true +--BUSES["VIC20"] = true +--BUSES["VIDBRAIN"] = true +--BUSES["VIP"] = true +--BUSES["VME"] = true +--BUSES["VSMILE"] = true +--BUSES["VTECH_IOEXP"] = true +--BUSES["VTECH_MEMEXP"] = true +--BUSES["WANGPC"] = true +--BUSES["WSWAN"] = true +--BUSES["X68K"] = true +--BUSES["Z88"] = true +BUSES["ZORRO"] = true + + +-------------------------------------------------- +-- specify used file formats +-------------------------------------------------- + +FORMATS["GUAB_DSK"] = true +FORMATS["AMI_DSK"] = true +FORMATS["SC3000_BIT"] = true +FORMATS["WD177X_DSK"] = true +FORMATS["NASLITE_DSK"] = true +FORMATS["UPD765_DSK"] = true +FORMATS["PC_DSK"] = true +FORMATS["BASICDSK"] = true + +-------------------------------------------------- +-- this is the list of driver libraries that +-- comprise MAME plus mamedriv.o which contains +-- the list of drivers +-------------------------------------------------- + +function linkProjects_mame_arcade(_target, _subtarget) + links { + "acorn", + "adp", + "alba", + "alliedl", + "alpha", + "amiga", + "aristocr", + "ascii", + "atari", + "atlus", + "barcrest", + "bfm", + "bmc", + "capcom", + "ces", + "cinemat", + "comad", + "cvs", + "dataeast", + "dgrm", + "dooyong", + "dynax", + "edevices", + "efo", + "eolith", + "excelent", + "exidy", + "f32", + "funworld", + "fuuki", + "gaelco", + "gameplan", + "gametron", + "gottlieb", + "ibmpc", + "igs", + "igt", + "irem", + "itech", + "jaleco", + "jpm", + "kaneko", + "kiwako", + "konami", + "matic", + "maygay", + "meadows", + "merit", + "metro", + "midcoin", + "midw8080", + "midway", + "namco", + "nasco", + "neogeo", + "nichibut", + "nintendo", + "nix", + "nmk", + "omori", + "olympia", + "orca", + "pacific", + "pacman", + "pce", + "phoenix", + "playmark", + "promat", + "psikyo", + "ramtek", + "rare", + "sanritsu", + "sega", + "seibu", + "seta", + "sigma", + "snk", + "sony", + "stern", + "subsino", + "suna", + "sunelect", + "taito", + "tatsumi", + "tch", + "tecfri", + "technos", + "tehkan", + "terminal", + "thepit", + "toaplan", + "unico", + "univers", + "upl", + "valadon", + "venture", + "vsystem", + "wing", + "yunsung", + "zaccaria", + "misc", + "pinball", + "shared", + } +end + +function createMAMEProjects(_target, _subtarget, _name) + project (_name) + targetsubdir(_target .."_" .. _subtarget) + kind (LIBTYPE) + uuid (os.uuid("drv-" .. _target .."_" .. _subtarget .. "_" .._name)) + addprojectflags() + precompiledheaders() + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/mame", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/lib/netlist", + MAME_DIR .. "3rdparty", + GEN_DIR .. "mame/layout", + } + includedirs { + ext_includedir("flac"), + ext_includedir("glm"), + ext_includedir("jpeg"), + } + +end + +function createProjects_mame_arcade(_target, _subtarget) +-------------------------------------------------- +-- the following files are general components and +-- shared across a number of drivers +-------------------------------------------------- + +createMAMEProjects(_target, _subtarget, "shared") +files { + MAME_DIR .. "src/mame/machine/nmk112.cpp", + MAME_DIR .. "src/mame/machine/nmk112.h", + MAME_DIR .. "src/mame/machine/pcshare.cpp", + MAME_DIR .. "src/mame/machine/pcshare.h", + MAME_DIR .. "src/mame/machine/segacrpt_device.cpp", + MAME_DIR .. "src/mame/machine/segacrpt_device.h", + MAME_DIR .. "src/mame/video/avgdvg.cpp", + MAME_DIR .. "src/mame/video/avgdvg.h", + MAME_DIR .. "src/mame/video/awpvid.cpp", + MAME_DIR .. "src/mame/video/awpvid.h", + MAME_DIR .. "src/mame/audio/dcs.cpp", + MAME_DIR .. "src/mame/audio/dcs.h", + MAME_DIR .. "src/mame/audio/decobsmt.cpp", + MAME_DIR .. "src/mame/audio/decobsmt.h", + MAME_DIR .. "src/mame/audio/efo_zsu.cpp", + MAME_DIR .. "src/mame/audio/efo_zsu.h", + MAME_DIR .. "src/mame/audio/rax.cpp", + MAME_DIR .. "src/mame/audio/rax.h", + MAME_DIR .. "src/mame/audio/segam1audio.cpp", + MAME_DIR .. "src/mame/audio/segam1audio.h", +} + +-------------------------------------------------- +-- manufacturer-specific groupings for drivers +-------------------------------------------------- + +createMAMEProjects(_target, _subtarget, "acorn") +files { + MAME_DIR .. "src/mame/drivers/ertictac.cpp", + MAME_DIR .. "src/mame/drivers/ssfindo.cpp", + MAME_DIR .. "src/mame/drivers/aristmk5.cpp", + MAME_DIR .. "src/mame/machine/archimds.cpp", + MAME_DIR .. "src/mame/includes/archimds.h", + MAME_DIR .. "src/mame/video/archimds.cpp", +} + +createMAMEProjects(_target, _subtarget, "adp") +files { + MAME_DIR .. "src/mame/drivers/adp.cpp", + MAME_DIR .. "src/mame/drivers/manohman.cpp", + MAME_DIR .. "src/mame/drivers/stellafr.cpp", +} + +createMAMEProjects(_target, _subtarget, "alba") +files { + MAME_DIR .. "src/mame/drivers/albazc.cpp", + MAME_DIR .. "src/mame/drivers/albazg.cpp", + MAME_DIR .. "src/mame/drivers/rmhaihai.cpp", +} + +createMAMEProjects(_target, _subtarget, "alliedl") +files { + MAME_DIR .. "src/mame/drivers/ace.cpp", + MAME_DIR .. "src/mame/drivers/aleisttl.cpp", + MAME_DIR .. "src/mame/drivers/clayshoo.cpp", +} + +createMAMEProjects(_target, _subtarget, "alpha") +files { + MAME_DIR .. "src/mame/drivers/alpha68k.cpp", + MAME_DIR .. "src/mame/includes/alpha68k.h", + MAME_DIR .. "src/mame/video/alpha68k.cpp", + MAME_DIR .. "src/mame/drivers/champbas.cpp", + MAME_DIR .. "src/mame/includes/champbas.h", + MAME_DIR .. "src/mame/video/champbas.cpp", + MAME_DIR .. "src/mame/drivers/equites.cpp", + MAME_DIR .. "src/mame/includes/equites.h", + MAME_DIR .. "src/mame/video/equites.cpp", + MAME_DIR .. "src/mame/drivers/meijinsn.cpp", + MAME_DIR .. "src/mame/drivers/shougi.cpp", + MAME_DIR .. "src/mame/machine/alpha8201.cpp", + MAME_DIR .. "src/mame/machine/alpha8201.h", +} + +createMAMEProjects(_target, _subtarget, "amiga") +files { + MAME_DIR .. "src/mame/drivers/alg.cpp", + MAME_DIR .. "src/mame/drivers/amiga.cpp", + MAME_DIR .. "src/mame/machine/amiga.cpp", + MAME_DIR .. "src/mame/video/amiga.cpp", + MAME_DIR .. "src/mame/video/amigaaga.cpp", + MAME_DIR .. "src/mame/video/amigaaga.h", + MAME_DIR .. "src/mame/drivers/arsystems.cpp", + MAME_DIR .. "src/mame/drivers/cubo.cpp", + MAME_DIR .. "src/mame/drivers/mquake.cpp", + MAME_DIR .. "src/mame/drivers/upscope.cpp", +} + +createMAMEProjects(_target, _subtarget, "aristocr") +files { + MAME_DIR .. "src/mame/drivers/aristmk4.cpp", + MAME_DIR .. "src/mame/drivers/aristmk6.cpp", + MAME_DIR .. "src/mame/drivers/caswin.cpp", +} + +createMAMEProjects(_target, _subtarget, "ascii") +files { + MAME_DIR .. "src/mame/drivers/big10.cpp", + MAME_DIR .. "src/mame/drivers/forte2.cpp", + MAME_DIR .. "src/mame/drivers/pengadvb.cpp", + MAME_DIR .. "src/mame/drivers/sangho.cpp", + MAME_DIR .. "src/mame/drivers/sfkick.cpp", +} + +createMAMEProjects(_target, _subtarget, "atari") +files { + MAME_DIR .. "src/mame/drivers/akkaarrh.cpp", + MAME_DIR .. "src/mame/drivers/arcadecl.cpp", + MAME_DIR .. "src/mame/includes/arcadecl.h", + MAME_DIR .. "src/mame/video/arcadecl.cpp", + MAME_DIR .. "src/mame/drivers/asteroid.cpp", + MAME_DIR .. "src/mame/includes/asteroid.h", + MAME_DIR .. "src/mame/machine/asteroid.cpp", + MAME_DIR .. "src/mame/audio/asteroid.cpp", + MAME_DIR .. "src/mame/audio/llander.cpp", + MAME_DIR .. "src/mame/audio/llander.h", + MAME_DIR .. "src/mame/drivers/atarifb.cpp", + MAME_DIR .. "src/mame/includes/atarifb.h", + MAME_DIR .. "src/mame/machine/atarifb.cpp", + MAME_DIR .. "src/mame/audio/atarifb.cpp", + MAME_DIR .. "src/mame/video/atarifb.cpp", + MAME_DIR .. "src/mame/drivers/atarig1.cpp", + MAME_DIR .. "src/mame/includes/atarig1.h", + MAME_DIR .. "src/mame/video/atarig1.cpp", + MAME_DIR .. "src/mame/includes/slapstic.h", + MAME_DIR .. "src/mame/drivers/atarig42.cpp", + MAME_DIR .. "src/mame/includes/atarig42.h", + MAME_DIR .. "src/mame/video/atarig42.cpp", + MAME_DIR .. "src/mame/drivers/atarigt.cpp", + MAME_DIR .. "src/mame/includes/atarigt.h", + MAME_DIR .. "src/mame/video/atarigt.cpp", + MAME_DIR .. "src/mame/drivers/atarigx2.cpp", + MAME_DIR .. "src/mame/includes/atarigx2.h", + MAME_DIR .. "src/mame/video/atarigx2.cpp", + MAME_DIR .. "src/mame/drivers/atarisy1.cpp", + MAME_DIR .. "src/mame/includes/atarisy1.h", + MAME_DIR .. "src/mame/video/atarisy1.cpp", + MAME_DIR .. "src/mame/drivers/atarisy2.cpp", + MAME_DIR .. "src/mame/includes/atarisy2.h", + MAME_DIR .. "src/mame/video/atarisy2.cpp", + MAME_DIR .. "src/mame/drivers/atarisy4.cpp", + MAME_DIR .. "src/mame/drivers/atarittl.cpp", + MAME_DIR .. "src/mame/machine/nl_gtrak10.cpp", + MAME_DIR .. "src/mame/machine/nl_gtrak10.h", + MAME_DIR .. "src/mame/machine/nl_stuntcyc.cpp", + MAME_DIR .. "src/mame/machine/nl_stuntcyc.h", + MAME_DIR .. "src/mame/drivers/atetris.cpp", + MAME_DIR .. "src/mame/includes/atetris.h", + MAME_DIR .. "src/mame/video/atetris.cpp", + MAME_DIR .. "src/mame/drivers/avalnche.cpp", + MAME_DIR .. "src/mame/includes/avalnche.h", + MAME_DIR .. "src/mame/audio/avalnche.cpp", + MAME_DIR .. "src/mame/drivers/badlands.cpp", + MAME_DIR .. "src/mame/includes/badlands.h", + MAME_DIR .. "src/mame/machine/badlands.cpp", + MAME_DIR .. "src/mame/video/badlands.cpp", + MAME_DIR .. "src/mame/drivers/badlandsbl.cpp", + MAME_DIR .. "src/mame/drivers/bartop52.cpp", + MAME_DIR .. "src/mame/drivers/batman.cpp", + MAME_DIR .. "src/mame/includes/batman.h", + MAME_DIR .. "src/mame/video/batman.cpp", + MAME_DIR .. "src/mame/drivers/beathead.cpp", + MAME_DIR .. "src/mame/includes/beathead.h", + MAME_DIR .. "src/mame/video/beathead.cpp", + MAME_DIR .. "src/mame/drivers/blstroid.cpp", + MAME_DIR .. "src/mame/includes/blstroid.h", + MAME_DIR .. "src/mame/video/blstroid.cpp", + MAME_DIR .. "src/mame/drivers/boxer.cpp", + MAME_DIR .. "src/mame/drivers/bsktball.cpp", + MAME_DIR .. "src/mame/includes/bsktball.h", + MAME_DIR .. "src/mame/machine/bsktball.cpp", + MAME_DIR .. "src/mame/audio/bsktball.cpp", + MAME_DIR .. "src/mame/video/bsktball.cpp", + MAME_DIR .. "src/mame/drivers/bwidow.cpp", + MAME_DIR .. "src/mame/includes/bwidow.h", + MAME_DIR .. "src/mame/audio/bwidow.cpp", + MAME_DIR .. "src/mame/drivers/bzone.cpp", + MAME_DIR .. "src/mame/includes/bzone.h", + MAME_DIR .. "src/mame/audio/bzone.cpp", + MAME_DIR .. "src/mame/drivers/canyon.cpp", + MAME_DIR .. "src/mame/includes/canyon.h", + MAME_DIR .. "src/mame/audio/canyon.cpp", + MAME_DIR .. "src/mame/video/canyon.cpp", + MAME_DIR .. "src/mame/drivers/cball.cpp", + MAME_DIR .. "src/mame/drivers/ccastles.cpp", + MAME_DIR .. "src/mame/includes/ccastles.h", + MAME_DIR .. "src/mame/video/ccastles.cpp", + MAME_DIR .. "src/mame/drivers/centiped.cpp", + MAME_DIR .. "src/mame/includes/centiped.h", + MAME_DIR .. "src/mame/video/centiped.cpp", + MAME_DIR .. "src/mame/drivers/cloak.cpp", + MAME_DIR .. "src/mame/includes/cloak.h", + MAME_DIR .. "src/mame/video/cloak.cpp", + MAME_DIR .. "src/mame/drivers/cloud9.cpp", + MAME_DIR .. "src/mame/includes/cloud9.h", + MAME_DIR .. "src/mame/video/cloud9.cpp", + MAME_DIR .. "src/mame/drivers/cmmb.cpp", + MAME_DIR .. "src/mame/drivers/cops.cpp", + MAME_DIR .. "src/mame/drivers/copsnrob.cpp", + MAME_DIR .. "src/mame/includes/copsnrob.h", + MAME_DIR .. "src/mame/audio/copsnrob.cpp", + MAME_DIR .. "src/mame/video/copsnrob.cpp", + MAME_DIR .. "src/mame/drivers/cyberbal.cpp", + MAME_DIR .. "src/mame/includes/cyberbal.h", + MAME_DIR .. "src/mame/audio/cyberbal.cpp", + MAME_DIR .. "src/mame/video/cyberbal.cpp", + MAME_DIR .. "src/mame/drivers/cybstorm.cpp", + MAME_DIR .. "src/mame/includes/cybstorm.h", + MAME_DIR .. "src/mame/video/cybstorm.cpp", + MAME_DIR .. "src/mame/drivers/destroyr.cpp", + MAME_DIR .. "src/mame/drivers/dragrace.cpp", + MAME_DIR .. "src/mame/includes/dragrace.h", + MAME_DIR .. "src/mame/audio/dragrace.cpp", + MAME_DIR .. "src/mame/video/dragrace.cpp", + MAME_DIR .. "src/mame/drivers/eprom.cpp", + MAME_DIR .. "src/mame/includes/eprom.h", + MAME_DIR .. "src/mame/video/eprom.cpp", + MAME_DIR .. "src/mame/drivers/firefox.cpp", + MAME_DIR .. "src/mame/drivers/firetrk.cpp", + MAME_DIR .. "src/mame/includes/firetrk.h", + MAME_DIR .. "src/mame/audio/firetrk.cpp", + MAME_DIR .. "src/mame/video/firetrk.cpp", + MAME_DIR .. "src/mame/drivers/flyball.cpp", + MAME_DIR .. "src/mame/drivers/foodf.cpp", + MAME_DIR .. "src/mame/includes/foodf.h", + MAME_DIR .. "src/mame/video/foodf.cpp", + MAME_DIR .. "src/mame/drivers/gauntlet.cpp", + MAME_DIR .. "src/mame/includes/gauntlet.h", + MAME_DIR .. "src/mame/video/gauntlet.cpp", + MAME_DIR .. "src/mame/drivers/harddriv.cpp", + MAME_DIR .. "src/mame/includes/harddriv.h", + MAME_DIR .. "src/mame/machine/harddriv.cpp", + MAME_DIR .. "src/mame/audio/harddriv.cpp", + MAME_DIR .. "src/mame/video/harddriv.cpp", + MAME_DIR .. "src/mame/drivers/irobot.cpp", + MAME_DIR .. "src/mame/includes/irobot.h", + MAME_DIR .. "src/mame/machine/irobot.cpp", + MAME_DIR .. "src/mame/video/irobot.cpp", + MAME_DIR .. "src/mame/drivers/jaguar.cpp", + MAME_DIR .. "src/mame/includes/jaguar.h", + MAME_DIR .. "src/mame/audio/jaguar.cpp", + MAME_DIR .. "src/mame/video/jaguar.cpp", + MAME_DIR .. "src/mame/video/jagblit.h", + MAME_DIR .. "src/mame/video/jagblit.hxx", + MAME_DIR .. "src/mame/video/jagobj.hxx", + MAME_DIR .. "src/mame/drivers/jedi.cpp", + MAME_DIR .. "src/mame/includes/jedi.h", + MAME_DIR .. "src/mame/audio/jedi.cpp", + MAME_DIR .. "src/mame/video/jedi.cpp", + MAME_DIR .. "src/mame/drivers/klax.cpp", + MAME_DIR .. "src/mame/includes/klax.h", + MAME_DIR .. "src/mame/video/klax.cpp", + MAME_DIR .. "src/mame/drivers/liberatr.cpp", + MAME_DIR .. "src/mame/includes/liberatr.h", + MAME_DIR .. "src/mame/video/liberatr.cpp", + MAME_DIR .. "src/mame/drivers/mediagx.cpp", + MAME_DIR .. "src/mame/drivers/metalmx.cpp", + MAME_DIR .. "src/mame/includes/metalmx.h", + MAME_DIR .. "src/mame/drivers/mgolf.cpp", + MAME_DIR .. "src/mame/drivers/mhavoc.cpp", + MAME_DIR .. "src/mame/includes/mhavoc.h", + MAME_DIR .. "src/mame/machine/mhavoc.cpp", + MAME_DIR .. "src/mame/drivers/missile.cpp", + MAME_DIR .. "src/mame/drivers/nitedrvr.cpp", + MAME_DIR .. "src/mame/includes/nitedrvr.h", + MAME_DIR .. "src/mame/machine/nitedrvr.cpp", + MAME_DIR .. "src/mame/audio/nitedrvr.cpp", + MAME_DIR .. "src/mame/video/nitedrvr.cpp", + MAME_DIR .. "src/mame/drivers/offtwall.cpp", + MAME_DIR .. "src/mame/includes/offtwall.h", + MAME_DIR .. "src/mame/video/offtwall.cpp", + MAME_DIR .. "src/mame/drivers/orbit.cpp", + MAME_DIR .. "src/mame/includes/orbit.h", + MAME_DIR .. "src/mame/audio/orbit.cpp", + MAME_DIR .. "src/mame/video/orbit.cpp", + MAME_DIR .. "src/mame/drivers/pong.cpp", + MAME_DIR .. "src/mame/machine/nl_pong.cpp", + MAME_DIR .. "src/mame/machine/nl_pong.h", + MAME_DIR .. "src/mame/machine/nl_pongd.cpp", + MAME_DIR .. "src/mame/machine/nl_pongd.h", + MAME_DIR .. "src/mame/machine/nl_breakout.cpp", + MAME_DIR .. "src/mame/machine/nl_breakout.h", + MAME_DIR .. "src/mame/machine/nl_rebound.cpp", + MAME_DIR .. "src/mame/machine/nl_rebound.h", + MAME_DIR .. "src/mame/drivers/poolshrk.cpp", + MAME_DIR .. "src/mame/includes/poolshrk.h", + MAME_DIR .. "src/mame/audio/poolshrk.cpp", + MAME_DIR .. "src/mame/video/poolshrk.cpp", + MAME_DIR .. "src/mame/drivers/quantum.cpp", + MAME_DIR .. "src/mame/drivers/quizshow.cpp", + MAME_DIR .. "src/mame/drivers/rampart.cpp", + MAME_DIR .. "src/mame/includes/rampart.h", + MAME_DIR .. "src/mame/video/rampart.cpp", + MAME_DIR .. "src/mame/drivers/relief.cpp", + MAME_DIR .. "src/mame/includes/relief.h", + MAME_DIR .. "src/mame/video/relief.cpp", + MAME_DIR .. "src/mame/drivers/runaway.cpp", + MAME_DIR .. "src/mame/includes/runaway.h", + MAME_DIR .. "src/mame/video/runaway.cpp", + MAME_DIR .. "src/mame/drivers/sbrkout.cpp", + MAME_DIR .. "src/mame/drivers/shuuz.cpp", + MAME_DIR .. "src/mame/includes/shuuz.h", + MAME_DIR .. "src/mame/video/shuuz.cpp", + MAME_DIR .. "src/mame/drivers/skullxbo.cpp", + MAME_DIR .. "src/mame/includes/skullxbo.h", + MAME_DIR .. "src/mame/video/skullxbo.cpp", + MAME_DIR .. "src/mame/drivers/skydiver.cpp", + MAME_DIR .. "src/mame/includes/skydiver.h", + MAME_DIR .. "src/mame/audio/skydiver.cpp", + MAME_DIR .. "src/mame/video/skydiver.cpp", + MAME_DIR .. "src/mame/drivers/skyraid.cpp", + MAME_DIR .. "src/mame/includes/skyraid.h", + MAME_DIR .. "src/mame/audio/skyraid.cpp", + MAME_DIR .. "src/mame/video/skyraid.cpp", + MAME_DIR .. "src/mame/drivers/sprint2.cpp", + MAME_DIR .. "src/mame/includes/sprint2.h", + MAME_DIR .. "src/mame/audio/sprint2.cpp", + MAME_DIR .. "src/mame/video/sprint2.cpp", + MAME_DIR .. "src/mame/drivers/sprint4.cpp", + MAME_DIR .. "src/mame/includes/sprint4.h", + MAME_DIR .. "src/mame/video/sprint4.cpp", + MAME_DIR .. "src/mame/audio/sprint4.cpp", + MAME_DIR .. "src/mame/audio/sprint4.h", + MAME_DIR .. "src/mame/drivers/sprint8.cpp", + MAME_DIR .. "src/mame/includes/sprint8.h", + MAME_DIR .. "src/mame/audio/sprint8.cpp", + MAME_DIR .. "src/mame/video/sprint8.cpp", + MAME_DIR .. "src/mame/drivers/starshp1.cpp", + MAME_DIR .. "src/mame/includes/starshp1.h", + MAME_DIR .. "src/mame/audio/starshp1.cpp", + MAME_DIR .. "src/mame/video/starshp1.cpp", + MAME_DIR .. "src/mame/drivers/starwars.cpp", + MAME_DIR .. "src/mame/includes/starwars.h", + MAME_DIR .. "src/mame/machine/starwars.cpp", + MAME_DIR .. "src/mame/audio/starwars.cpp", + MAME_DIR .. "src/mame/drivers/subs.cpp", + MAME_DIR .. "src/mame/includes/subs.h", + MAME_DIR .. "src/mame/machine/subs.cpp", + MAME_DIR .. "src/mame/audio/subs.cpp", + MAME_DIR .. "src/mame/video/subs.cpp", + MAME_DIR .. "src/mame/drivers/tank8.cpp", + MAME_DIR .. "src/mame/includes/tank8.h", + MAME_DIR .. "src/mame/audio/tank8.cpp", + MAME_DIR .. "src/mame/video/tank8.cpp", + MAME_DIR .. "src/mame/drivers/tempest.cpp", + MAME_DIR .. "src/mame/drivers/thunderj.cpp", + MAME_DIR .. "src/mame/includes/thunderj.h", + MAME_DIR .. "src/mame/video/thunderj.cpp", + MAME_DIR .. "src/mame/drivers/tomcat.cpp", + MAME_DIR .. "src/mame/drivers/toobin.cpp", + MAME_DIR .. "src/mame/includes/toobin.h", + MAME_DIR .. "src/mame/video/toobin.cpp", + MAME_DIR .. "src/mame/drivers/tourtabl.cpp", + MAME_DIR .. "src/mame/video/tia.cpp", + MAME_DIR .. "src/mame/video/tia.h", + MAME_DIR .. "src/mame/drivers/triplhnt.cpp", + MAME_DIR .. "src/mame/includes/triplhnt.h", + MAME_DIR .. "src/mame/audio/triplhnt.cpp", + MAME_DIR .. "src/mame/video/triplhnt.cpp", + MAME_DIR .. "src/mame/drivers/tunhunt.cpp", + MAME_DIR .. "src/mame/includes/tunhunt.h", + MAME_DIR .. "src/mame/video/tunhunt.cpp", + MAME_DIR .. "src/mame/drivers/ultratnk.cpp", + MAME_DIR .. "src/mame/includes/ultratnk.h", + MAME_DIR .. "src/mame/video/ultratnk.cpp", + MAME_DIR .. "src/mame/drivers/videopin.cpp", + MAME_DIR .. "src/mame/includes/videopin.h", + MAME_DIR .. "src/mame/audio/videopin.cpp", + MAME_DIR .. "src/mame/video/videopin.cpp", + MAME_DIR .. "src/mame/drivers/vindictr.cpp", + MAME_DIR .. "src/mame/includes/vindictr.h", + MAME_DIR .. "src/mame/video/vindictr.cpp", + MAME_DIR .. "src/mame/drivers/wolfpack.cpp", + MAME_DIR .. "src/mame/includes/wolfpack.h", + MAME_DIR .. "src/mame/video/wolfpack.cpp", + MAME_DIR .. "src/mame/drivers/xybots.cpp", + MAME_DIR .. "src/mame/includes/xybots.h", + MAME_DIR .. "src/mame/video/xybots.cpp", + MAME_DIR .. "src/mame/machine/asic65.cpp", + MAME_DIR .. "src/mame/machine/asic65.h", + MAME_DIR .. "src/mame/machine/atarigen.cpp", + MAME_DIR .. "src/mame/machine/atarigen.h", + MAME_DIR .. "src/mame/machine/mathbox.cpp", + MAME_DIR .. "src/mame/machine/mathbox.h", + MAME_DIR .. "src/mame/machine/slapstic.cpp", + MAME_DIR .. "src/mame/machine/atarixga.cpp", + MAME_DIR .. "src/mame/machine/atarixga.h", + MAME_DIR .. "src/mame/audio/atarijsa.cpp", + MAME_DIR .. "src/mame/audio/atarijsa.h", + MAME_DIR .. "src/mame/audio/cage.cpp", + MAME_DIR .. "src/mame/audio/cage.h", + MAME_DIR .. "src/mame/audio/redbaron.cpp", + MAME_DIR .. "src/mame/audio/redbaron.h", + MAME_DIR .. "src/mame/video/atarimo.cpp", + MAME_DIR .. "src/mame/video/atarimo.h", + MAME_DIR .. "src/mame/video/atarirle.cpp", + MAME_DIR .. "src/mame/video/atarirle.h", + MAME_DIR .. "src/mame/video/atarivad.cpp", + MAME_DIR .. "src/mame/video/atarivad.h", +} + +createMAMEProjects(_target, _subtarget, "atlus") +files { + MAME_DIR .. "src/mame/drivers/ohmygod.cpp", + MAME_DIR .. "src/mame/includes/ohmygod.h", + MAME_DIR .. "src/mame/video/ohmygod.cpp", + MAME_DIR .. "src/mame/drivers/patapata.cpp", + MAME_DIR .. "src/mame/drivers/powerins.cpp", + MAME_DIR .. "src/mame/includes/powerins.h", + MAME_DIR .. "src/mame/video/powerins.cpp", + MAME_DIR .. "src/mame/drivers/bowltry.cpp", +} + +createMAMEProjects(_target, _subtarget, "barcrest") +files { + MAME_DIR .. "src/mame/drivers/mpu2.cpp", + MAME_DIR .. "src/mame/drivers/mpu3.cpp", + MAME_DIR .. "src/mame/machine/mpu4.cpp", + MAME_DIR .. "src/mame/includes/mpu4.h", + MAME_DIR .. "src/mame/drivers/mpu4.cpp", + MAME_DIR .. "src/mame/drivers/mpu4avan.cpp", + MAME_DIR .. "src/mame/drivers/mpu4bwb.cpp", + MAME_DIR .. "src/mame/drivers/mpu4concept.cpp", + MAME_DIR .. "src/mame/drivers/mpu4crystal.cpp", + MAME_DIR .. "src/mame/drivers/mpu4dealem.cpp", + MAME_DIR .. "src/mame/drivers/mpu4empire.cpp", + MAME_DIR .. "src/mame/drivers/mpu4mdm.cpp", + MAME_DIR .. "src/mame/drivers/mpu4misc.cpp", + MAME_DIR .. "src/mame/drivers/mpu4mod2sw.cpp", + MAME_DIR .. "src/mame/drivers/mpu4mod4yam.cpp", + MAME_DIR .. "src/mame/drivers/mpu4plasma.cpp", + MAME_DIR .. "src/mame/drivers/mpu4sw.cpp", + MAME_DIR .. "src/mame/drivers/mpu4union.cpp", + MAME_DIR .. "src/mame/drivers/mpu4vid.cpp", + MAME_DIR .. "src/mame/drivers/mpu5.cpp", + MAME_DIR .. "src/mame/drivers/mpu5.hxx", +} + +createMAMEProjects(_target, _subtarget, "bfm") +files { + MAME_DIR .. "src/mame/drivers/bfcobra.cpp", + MAME_DIR .. "src/mame/machine/bfm_comn.cpp", + MAME_DIR .. "src/mame/machine/bfm_comn.h", + MAME_DIR .. "src/mame/drivers/bfm_sc1.cpp", + MAME_DIR .. "src/mame/drivers/bfm_sc2.cpp", + MAME_DIR .. "src/mame/video/bfm_adr2.cpp", + MAME_DIR .. "src/mame/video/bfm_adr2.h", + MAME_DIR .. "src/mame/drivers/bfm_sc4.cpp", + MAME_DIR .. "src/mame/drivers/bfm_sc5.cpp", + MAME_DIR .. "src/mame/includes/bfm_sc5.h", + MAME_DIR .. "src/mame/drivers/bfm_sc5sw.hxx", + MAME_DIR .. "src/mame/drivers/bfm_ad5.cpp", + MAME_DIR .. "src/mame/includes/bfm_ad5.h", + MAME_DIR .. "src/mame/drivers/bfm_ad5sw.hxx", + MAME_DIR .. "src/mame/machine/bfm_sc45_helper.cpp", + MAME_DIR .. "src/mame/machine/bfm_sc45_helper.h", + MAME_DIR .. "src/mame/includes/bfm_sc4.h", + MAME_DIR .. "src/mame/drivers/bfm_swp.cpp", + MAME_DIR .. "src/mame/drivers/bfmsys83.cpp", + MAME_DIR .. "src/mame/drivers/bfmsys85.cpp", + MAME_DIR .. "src/mame/machine/sec.cpp", + MAME_DIR .. "src/mame/machine/sec.h", + MAME_DIR .. "src/mame/machine/bfm_bd1.cpp", + MAME_DIR .. "src/mame/machine/bfm_bd1.h", + MAME_DIR .. "src/mame/machine/bfm_bda.cpp", + MAME_DIR .. "src/mame/machine/bfm_bda.h", + MAME_DIR .. "src/mame/video/bfm_dm01.cpp", + MAME_DIR .. "src/mame/video/bfm_dm01.h", + MAME_DIR .. "src/mame/drivers/rastersp.cpp", +} + +createMAMEProjects(_target, _subtarget, "bmc") +files { + MAME_DIR .. "src/mame/drivers/bmcbowl.cpp", + MAME_DIR .. "src/mame/drivers/koftball.cpp", + MAME_DIR .. "src/mame/drivers/popobear.cpp", + MAME_DIR .. "src/mame/drivers/bmcpokr.cpp", +} + +createMAMEProjects(_target, _subtarget, "capcom") +files { + MAME_DIR .. "src/mame/drivers/1942.cpp", + MAME_DIR .. "src/mame/includes/1942.h", + MAME_DIR .. "src/mame/video/1942.cpp", + MAME_DIR .. "src/mame/drivers/1943.cpp", + MAME_DIR .. "src/mame/includes/1943.h", + MAME_DIR .. "src/mame/video/1943.cpp", + MAME_DIR .. "src/mame/drivers/alien.cpp", + MAME_DIR .. "src/mame/drivers/bionicc.cpp", + MAME_DIR .. "src/mame/includes/bionicc.h", + MAME_DIR .. "src/mame/video/bionicc.cpp", + MAME_DIR .. "src/mame/drivers/supduck.cpp", + MAME_DIR .. "src/mame/video/tigeroad_spr.cpp", + MAME_DIR .. "src/mame/video/tigeroad_spr.h", + MAME_DIR .. "src/mame/drivers/blktiger.cpp", + MAME_DIR .. "src/mame/includes/blktiger.h", + MAME_DIR .. "src/mame/video/blktiger.cpp", + MAME_DIR .. "src/mame/drivers/cbasebal.cpp", + MAME_DIR .. "src/mame/includes/cbasebal.h", + MAME_DIR .. "src/mame/video/cbasebal.cpp", + MAME_DIR .. "src/mame/drivers/commando.cpp", + MAME_DIR .. "src/mame/includes/commando.h", + MAME_DIR .. "src/mame/video/commando.cpp", + MAME_DIR .. "src/mame/drivers/cps1.cpp", + MAME_DIR .. "src/mame/includes/cps1.h", + MAME_DIR .. "src/mame/video/cps1.cpp", + MAME_DIR .. "src/mame/drivers/kenseim.cpp", + MAME_DIR .. "src/mame/drivers/cps2.cpp", + MAME_DIR .. "src/mame/machine/cps2crypt.cpp", + MAME_DIR .. "src/mame/machine/cps2crypt.h", + MAME_DIR .. "src/mame/drivers/cps3.cpp", + MAME_DIR .. "src/mame/includes/cps3.h", + MAME_DIR .. "src/mame/audio/cps3.cpp", + MAME_DIR .. "src/mame/audio/cps3.h", + MAME_DIR .. "src/mame/drivers/egghunt.cpp", + MAME_DIR .. "src/mame/drivers/exedexes.cpp", + MAME_DIR .. "src/mame/includes/exedexes.h", + MAME_DIR .. "src/mame/video/exedexes.cpp", + MAME_DIR .. "src/mame/drivers/fcrash.cpp", + MAME_DIR .. "src/mame/drivers/gng.cpp", + MAME_DIR .. "src/mame/includes/gng.h", + MAME_DIR .. "src/mame/video/gng.cpp", + MAME_DIR .. "src/mame/drivers/gunsmoke.cpp", + MAME_DIR .. "src/mame/includes/gunsmoke.h", + MAME_DIR .. "src/mame/video/gunsmoke.cpp", + MAME_DIR .. "src/mame/drivers/higemaru.cpp", + MAME_DIR .. "src/mame/includes/higemaru.h", + MAME_DIR .. "src/mame/video/higemaru.cpp", + MAME_DIR .. "src/mame/drivers/lastduel.cpp", + MAME_DIR .. "src/mame/includes/lastduel.h", + MAME_DIR .. "src/mame/video/lastduel.cpp", + MAME_DIR .. "src/mame/drivers/lwings.cpp", + MAME_DIR .. "src/mame/includes/lwings.h", + MAME_DIR .. "src/mame/video/lwings.cpp", + MAME_DIR .. "src/mame/drivers/mitchell.cpp", + MAME_DIR .. "src/mame/includes/mitchell.h", + MAME_DIR .. "src/mame/video/mitchell.cpp", + MAME_DIR .. "src/mame/drivers/sf.cpp", + MAME_DIR .. "src/mame/includes/sf.h", + MAME_DIR .. "src/mame/video/sf.cpp", + MAME_DIR .. "src/mame/drivers/sidearms.cpp", + MAME_DIR .. "src/mame/includes/sidearms.h", + MAME_DIR .. "src/mame/video/sidearms.cpp", + MAME_DIR .. "src/mame/drivers/sonson.cpp", + MAME_DIR .. "src/mame/includes/sonson.h", + MAME_DIR .. "src/mame/video/sonson.cpp", + MAME_DIR .. "src/mame/drivers/srumbler.cpp", + MAME_DIR .. "src/mame/includes/srumbler.h", + MAME_DIR .. "src/mame/video/srumbler.cpp", + MAME_DIR .. "src/mame/drivers/tigeroad.cpp", + MAME_DIR .. "src/mame/includes/tigeroad.h", + MAME_DIR .. "src/mame/video/tigeroad.cpp", + MAME_DIR .. "src/mame/machine/tigeroad.cpp", + MAME_DIR .. "src/mame/drivers/vulgus.cpp", + MAME_DIR .. "src/mame/includes/vulgus.h", + MAME_DIR .. "src/mame/video/vulgus.cpp", + MAME_DIR .. "src/mame/machine/kabuki.cpp", + MAME_DIR .. "src/mame/machine/kabuki.h", + MAME_DIR .. "src/mame/drivers/tvcapcom.cpp", + MAME_DIR .. "src/mame/drivers/instantm.cpp", +} + +createMAMEProjects(_target, _subtarget, "ces") +files { + MAME_DIR .. "src/mame/drivers/cesclass.cpp", + MAME_DIR .. "src/mame/drivers/galgames.cpp", +} + +createMAMEProjects(_target, _subtarget, "cinemat") +files { + MAME_DIR .. "src/mame/drivers/cinemat.cpp", + MAME_DIR .. "src/mame/includes/cinemat.h", + MAME_DIR .. "src/mame/audio/cinemat.cpp", + MAME_DIR .. "src/mame/video/cinemat.cpp", + MAME_DIR .. "src/mame/drivers/cchasm.cpp", + MAME_DIR .. "src/mame/includes/cchasm.h", + MAME_DIR .. "src/mame/machine/cchasm.cpp", + MAME_DIR .. "src/mame/audio/cchasm.cpp", + MAME_DIR .. "src/mame/video/cchasm.cpp", + MAME_DIR .. "src/mame/drivers/dlair.cpp", + MAME_DIR .. "src/mame/drivers/dlair2.cpp", + MAME_DIR .. "src/mame/drivers/embargo.cpp", + MAME_DIR .. "src/mame/drivers/jack.cpp", + MAME_DIR .. "src/mame/includes/jack.h", + MAME_DIR .. "src/mame/video/jack.cpp", + MAME_DIR .. "src/mame/drivers/leland.cpp", + MAME_DIR .. "src/mame/includes/leland.h", + MAME_DIR .. "src/mame/machine/leland.cpp", + MAME_DIR .. "src/mame/audio/leland.cpp", + MAME_DIR .. "src/mame/audio/leland.h", + MAME_DIR .. "src/mame/video/leland.cpp", +} + +createMAMEProjects(_target, _subtarget, "comad") +files { + MAME_DIR .. "src/mame/drivers/funybubl.cpp", + MAME_DIR .. "src/mame/includes/funybubl.h", + MAME_DIR .. "src/mame/video/funybubl.cpp", + MAME_DIR .. "src/mame/drivers/galspnbl.cpp", + MAME_DIR .. "src/mame/includes/galspnbl.h", + MAME_DIR .. "src/mame/video/galspnbl.cpp", + MAME_DIR .. "src/mame/drivers/zerozone.cpp", + MAME_DIR .. "src/mame/includes/zerozone.h", + MAME_DIR .. "src/mame/video/zerozone.cpp", +} + +createMAMEProjects(_target, _subtarget, "cvs") +files { + MAME_DIR .. "src/mame/drivers/cvs.cpp", + MAME_DIR .. "src/mame/includes/cvs.h", + MAME_DIR .. "src/mame/video/cvs.cpp", + MAME_DIR .. "src/mame/drivers/galaxia.cpp", + MAME_DIR .. "src/mame/includes/galaxia.h", + MAME_DIR .. "src/mame/video/galaxia.cpp", + MAME_DIR .. "src/mame/drivers/quasar.cpp", + MAME_DIR .. "src/mame/includes/quasar.h", + MAME_DIR .. "src/mame/video/quasar.cpp", +} + +createMAMEProjects(_target, _subtarget, "dataeast") +files { + MAME_DIR .. "src/mame/drivers/actfancr.cpp", + MAME_DIR .. "src/mame/includes/actfancr.h", + MAME_DIR .. "src/mame/video/actfancr.cpp", + MAME_DIR .. "src/mame/drivers/astrof.cpp", + MAME_DIR .. "src/mame/includes/astrof.h", + MAME_DIR .. "src/mame/audio/astrof.cpp", + MAME_DIR .. "src/mame/drivers/backfire.cpp", + MAME_DIR .. "src/mame/drivers/battlera.cpp", + MAME_DIR .. "src/mame/includes/battlera.h", + MAME_DIR .. "src/mame/drivers/boogwing.cpp", + MAME_DIR .. "src/mame/includes/boogwing.h", + MAME_DIR .. "src/mame/video/boogwing.cpp", + MAME_DIR .. "src/mame/drivers/brkthru.cpp", + MAME_DIR .. "src/mame/includes/brkthru.h", + MAME_DIR .. "src/mame/video/brkthru.cpp", + MAME_DIR .. "src/mame/drivers/btime.cpp", + MAME_DIR .. "src/mame/includes/btime.h", + MAME_DIR .. "src/mame/machine/btime.cpp", + MAME_DIR .. "src/mame/video/btime.cpp", + MAME_DIR .. "src/mame/drivers/bwing.cpp", + MAME_DIR .. "src/mame/includes/bwing.h", + MAME_DIR .. "src/mame/video/bwing.cpp", + MAME_DIR .. "src/mame/drivers/cbuster.cpp", + MAME_DIR .. "src/mame/includes/cbuster.h", + MAME_DIR .. "src/mame/video/cbuster.cpp", + MAME_DIR .. "src/mame/drivers/chanbara.cpp", + MAME_DIR .. "src/mame/drivers/cninja.cpp", + MAME_DIR .. "src/mame/includes/cninja.h", + MAME_DIR .. "src/mame/video/cninja.cpp", + MAME_DIR .. "src/mame/drivers/cntsteer.cpp", + MAME_DIR .. "src/mame/drivers/compgolf.cpp", + MAME_DIR .. "src/mame/includes/compgolf.h", + MAME_DIR .. "src/mame/video/compgolf.cpp", + MAME_DIR .. "src/mame/drivers/darkseal.cpp", + MAME_DIR .. "src/mame/includes/darkseal.h", + MAME_DIR .. "src/mame/video/darkseal.cpp", + MAME_DIR .. "src/mame/drivers/dassault.cpp", + MAME_DIR .. "src/mame/includes/dassault.h", + MAME_DIR .. "src/mame/video/dassault.cpp", + MAME_DIR .. "src/mame/drivers/dblewing.cpp", + MAME_DIR .. "src/mame/drivers/dec0.cpp", + MAME_DIR .. "src/mame/includes/dec0.h", + MAME_DIR .. "src/mame/machine/dec0.cpp", + MAME_DIR .. "src/mame/video/dec0.cpp", + MAME_DIR .. "src/mame/drivers/dec8.cpp", + MAME_DIR .. "src/mame/includes/dec8.h", + MAME_DIR .. "src/mame/video/dec8.cpp", + MAME_DIR .. "src/mame/machine/deco222.cpp", + MAME_DIR .. "src/mame/machine/deco222.h", + MAME_DIR .. "src/mame/machine/decocpu7.cpp", + MAME_DIR .. "src/mame/machine/decocpu7.h", + MAME_DIR .. "src/mame/machine/decocpu6.cpp", + MAME_DIR .. "src/mame/machine/decocpu6.h", + MAME_DIR .. "src/mame/drivers/deco_ld.cpp", + MAME_DIR .. "src/mame/drivers/deco_mlc.cpp", + MAME_DIR .. "src/mame/includes/deco_mlc.h", + MAME_DIR .. "src/mame/video/deco_mlc.cpp", + MAME_DIR .. "src/mame/drivers/deco156.cpp", + MAME_DIR .. "src/mame/machine/deco156.cpp", + MAME_DIR .. "src/mame/machine/deco156.h", + MAME_DIR .. "src/mame/drivers/deco32.cpp", + MAME_DIR .. "src/mame/includes/deco32.h", + MAME_DIR .. "src/mame/video/deco32.cpp", + MAME_DIR .. "src/mame/video/dvi.cpp", + MAME_DIR .. "src/mame/video/deco_ace.cpp", + MAME_DIR .. "src/mame/video/deco_ace.h", + MAME_DIR .. "src/mame/video/deco_zoomspr.cpp", + MAME_DIR .. "src/mame/video/deco_zoomspr.h", + MAME_DIR .. "src/mame/drivers/decocass.cpp", + MAME_DIR .. "src/mame/includes/decocass.h", + MAME_DIR .. "src/mame/machine/decocass.cpp", + MAME_DIR .. "src/mame/machine/decocass_tape.cpp", + MAME_DIR .. "src/mame/machine/decocass_tape.h", + MAME_DIR .. "src/mame/video/decocass.cpp", + MAME_DIR .. "src/mame/drivers/deshoros.cpp", + MAME_DIR .. "src/mame/drivers/dietgo.cpp", + MAME_DIR .. "src/mame/includes/dietgo.h", + MAME_DIR .. "src/mame/video/dietgo.cpp", + MAME_DIR .. "src/mame/drivers/dreambal.cpp", + 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/firetrap.cpp", + MAME_DIR .. "src/mame/includes/firetrap.h", + MAME_DIR .. "src/mame/video/firetrap.cpp", + MAME_DIR .. "src/mame/drivers/funkyjet.cpp", + MAME_DIR .. "src/mame/includes/funkyjet.h", + MAME_DIR .. "src/mame/video/funkyjet.cpp", + MAME_DIR .. "src/mame/drivers/karnov.cpp", + MAME_DIR .. "src/mame/includes/karnov.h", + MAME_DIR .. "src/mame/video/karnov.cpp", + MAME_DIR .. "src/mame/drivers/kchamp.cpp", + MAME_DIR .. "src/mame/includes/kchamp.h", + MAME_DIR .. "src/mame/video/kchamp.cpp", + MAME_DIR .. "src/mame/drivers/kingobox.cpp", + MAME_DIR .. "src/mame/includes/kingobox.h", + MAME_DIR .. "src/mame/video/kingobox.cpp", + MAME_DIR .. "src/mame/drivers/lemmings.cpp", + MAME_DIR .. "src/mame/includes/lemmings.h", + MAME_DIR .. "src/mame/video/lemmings.cpp", + MAME_DIR .. "src/mame/drivers/liberate.cpp", + MAME_DIR .. "src/mame/includes/liberate.h", + MAME_DIR .. "src/mame/video/liberate.cpp", + MAME_DIR .. "src/mame/drivers/madalien.cpp", + MAME_DIR .. "src/mame/includes/madalien.h", + MAME_DIR .. "src/mame/audio/madalien.cpp", + MAME_DIR .. "src/mame/video/madalien.cpp", + MAME_DIR .. "src/mame/drivers/madmotor.cpp", + MAME_DIR .. "src/mame/drivers/metlclsh.cpp", + MAME_DIR .. "src/mame/includes/metlclsh.h", + MAME_DIR .. "src/mame/video/metlclsh.cpp", + MAME_DIR .. "src/mame/drivers/mirage.cpp", + MAME_DIR .. "src/mame/drivers/pcktgal.cpp", + MAME_DIR .. "src/mame/includes/pcktgal.h", + MAME_DIR .. "src/mame/video/pcktgal.cpp", + MAME_DIR .. "src/mame/drivers/pktgaldx.cpp", + MAME_DIR .. "src/mame/includes/pktgaldx.h", + MAME_DIR .. "src/mame/video/pktgaldx.cpp", + MAME_DIR .. "src/mame/drivers/progolf.cpp", + MAME_DIR .. "src/mame/drivers/rohga.cpp", + MAME_DIR .. "src/mame/includes/rohga.h", + MAME_DIR .. "src/mame/video/rohga.cpp", + MAME_DIR .. "src/mame/drivers/shootout.cpp", + MAME_DIR .. "src/mame/includes/shootout.h", + MAME_DIR .. "src/mame/video/shootout.cpp", + MAME_DIR .. "src/mame/drivers/sidepckt.cpp", + MAME_DIR .. "src/mame/includes/sidepckt.h", + MAME_DIR .. "src/mame/video/sidepckt.cpp", + MAME_DIR .. "src/mame/drivers/simpl156.cpp", + MAME_DIR .. "src/mame/includes/simpl156.h", + MAME_DIR .. "src/mame/video/simpl156.cpp", + MAME_DIR .. "src/mame/drivers/sshangha.cpp", + MAME_DIR .. "src/mame/includes/sshangha.h", + MAME_DIR .. "src/mame/video/sshangha.cpp", + MAME_DIR .. "src/mame/drivers/stadhero.cpp", + MAME_DIR .. "src/mame/includes/stadhero.h", + MAME_DIR .. "src/mame/video/stadhero.cpp", + MAME_DIR .. "src/mame/drivers/supbtime.cpp", + MAME_DIR .. "src/mame/includes/supbtime.h", + MAME_DIR .. "src/mame/video/supbtime.cpp", + MAME_DIR .. "src/mame/drivers/tryout.cpp", + MAME_DIR .. "src/mame/includes/tryout.h", + MAME_DIR .. "src/mame/video/tryout.cpp", + MAME_DIR .. "src/mame/drivers/tumbleb.cpp", + MAME_DIR .. "src/mame/includes/tumbleb.h", + MAME_DIR .. "src/mame/video/tumbleb.cpp", + MAME_DIR .. "src/mame/drivers/vaportra.cpp", + MAME_DIR .. "src/mame/includes/vaportra.h", + MAME_DIR .. "src/mame/video/vaportra.cpp", + MAME_DIR .. "src/mame/drivers/wacky_gator.cpp", + MAME_DIR .. "src/mame/machine/deco_irq.cpp", + MAME_DIR .. "src/mame/machine/deco_irq.h", + MAME_DIR .. "src/mame/machine/deco102.cpp", + MAME_DIR .. "src/mame/machine/deco102.h", + MAME_DIR .. "src/mame/machine/decocrpt.cpp", + MAME_DIR .. "src/mame/machine/decocrpt.h", + MAME_DIR .. "src/mame/machine/deco104.cpp", + MAME_DIR .. "src/mame/machine/deco104.h", + MAME_DIR .. "src/mame/machine/deco146.cpp", + MAME_DIR .. "src/mame/machine/deco146.h", + MAME_DIR .. "src/mame/video/decbac06.cpp", + MAME_DIR .. "src/mame/video/decbac06.h", + MAME_DIR .. "src/mame/video/decrmc3.cpp", + MAME_DIR .. "src/mame/video/decrmc3.h", + MAME_DIR .. "src/mame/video/deco16ic.cpp", + MAME_DIR .. "src/mame/video/deco16ic.h", + MAME_DIR .. "src/mame/video/decocomn.cpp", + MAME_DIR .. "src/mame/video/decocomn.h", + MAME_DIR .. "src/mame/video/decospr.cpp", + MAME_DIR .. "src/mame/video/decospr.h", + MAME_DIR .. "src/mame/video/decmxc06.cpp", + MAME_DIR .. "src/mame/video/decmxc06.h", + MAME_DIR .. "src/mame/video/deckarn.cpp", + MAME_DIR .. "src/mame/video/deckarn.h", +} + +createMAMEProjects(_target, _subtarget, "dgrm") +files { + MAME_DIR .. "src/mame/drivers/blackt96.cpp", + MAME_DIR .. "src/mame/drivers/pokechmp.cpp", + MAME_DIR .. "src/mame/includes/pokechmp.h", + MAME_DIR .. "src/mame/video/pokechmp.cpp", +} + +createMAMEProjects(_target, _subtarget, "dooyong") +files { + MAME_DIR .. "src/mame/drivers/dooyong.cpp", + MAME_DIR .. "src/mame/video/dooyong.cpp", + MAME_DIR .. "src/mame/video/dooyong.h", + MAME_DIR .. "src/mame/drivers/gundealr.cpp", + MAME_DIR .. "src/mame/includes/gundealr.h", + MAME_DIR .. "src/mame/video/gundealr.cpp", +} + +createMAMEProjects(_target, _subtarget, "dynax") +files { + MAME_DIR .. "src/mame/drivers/ddenlovr.cpp", + MAME_DIR .. "src/mame/drivers/dynax.cpp", + MAME_DIR .. "src/mame/includes/dynax.h", + MAME_DIR .. "src/mame/video/dynax.cpp", + MAME_DIR .. "src/mame/drivers/hnayayoi.cpp", + MAME_DIR .. "src/mame/includes/hnayayoi.h", + MAME_DIR .. "src/mame/video/hnayayoi.cpp", + MAME_DIR .. "src/mame/drivers/realbrk.cpp", + MAME_DIR .. "src/mame/includes/realbrk.h", + MAME_DIR .. "src/mame/video/realbrk.cpp", + MAME_DIR .. "src/mame/drivers/royalmah.cpp", + MAME_DIR .. "src/mame/video/dynax_blitter_rev2.cpp", + MAME_DIR .. "src/mame/video/dynax_blitter_rev2.h", +} + +createMAMEProjects(_target, _subtarget, "edevices") +files { + MAME_DIR .. "src/mame/drivers/diverboy.cpp", + MAME_DIR .. "src/mame/drivers/fantland.cpp", + MAME_DIR .. "src/mame/includes/fantland.h", + MAME_DIR .. "src/mame/video/fantland.cpp", + MAME_DIR .. "src/mame/drivers/mwarr.cpp", + MAME_DIR .. "src/mame/drivers/stlforce.cpp", + MAME_DIR .. "src/mame/includes/stlforce.h", + MAME_DIR .. "src/mame/video/edevices.cpp", + MAME_DIR .. "src/mame/video/edevices.h", + MAME_DIR .. "src/mame/drivers/mugsmash.cpp", + MAME_DIR .. "src/mame/includes/mugsmash.h", + MAME_DIR .. "src/mame/video/mugsmash.cpp", + MAME_DIR .. "src/mame/drivers/ppmast93.cpp", + MAME_DIR .. "src/mame/drivers/pzletime.cpp", + MAME_DIR .. "src/mame/drivers/twins.cpp", +} + +createMAMEProjects(_target, _subtarget, "efo") +files { + MAME_DIR .. "src/mame/drivers/cedar_magnet.cpp", + MAME_DIR .. "src/mame/machine/cedar_magnet_plane.cpp", + MAME_DIR .. "src/mame/machine/cedar_magnet_sprite.cpp", + MAME_DIR .. "src/mame/machine/cedar_magnet_board.cpp", + MAME_DIR .. "src/mame/machine/cedar_magnet_flop.cpp", + MAME_DIR .. "src/mame/drivers/cidelsa.cpp", + MAME_DIR .. "src/mame/includes/cidelsa.h", + MAME_DIR .. "src/mame/video/cidelsa.cpp", + MAME_DIR .. "src/mame/drivers/nightmare.cpp", +} + +createMAMEProjects(_target, _subtarget, "eolith") +files { + MAME_DIR .. "src/mame/drivers/eolith.cpp", + MAME_DIR .. "src/mame/includes/eolith.h", + MAME_DIR .. "src/mame/video/eolith.cpp", + MAME_DIR .. "src/mame/drivers/eolith16.cpp", + MAME_DIR .. "src/mame/drivers/ghosteo.cpp", + MAME_DIR .. "src/mame/drivers/vegaeo.cpp", +} + +createMAMEProjects(_target, _subtarget, "excelent") +files { + MAME_DIR .. "src/mame/drivers/aquarium.cpp", + MAME_DIR .. "src/mame/includes/aquarium.h", + MAME_DIR .. "src/mame/video/aquarium.cpp", + MAME_DIR .. "src/mame/drivers/d9final.cpp", + MAME_DIR .. "src/mame/drivers/dblcrown.cpp", + MAME_DIR .. "src/mame/drivers/gcpinbal.cpp", + MAME_DIR .. "src/mame/includes/gcpinbal.h", + MAME_DIR .. "src/mame/video/gcpinbal.cpp", + MAME_DIR .. "src/mame/video/excellent_spr.cpp", + MAME_DIR .. "src/mame/video/excellent_spr.h", + MAME_DIR .. "src/mame/drivers/lastbank.cpp", + MAME_DIR .. "src/mame/drivers/witch.cpp", + MAME_DIR .. "src/mame/includes/witch.h", +} + +createMAMEProjects(_target, _subtarget, "exidy") +files { + MAME_DIR .. "src/mame/drivers/carpolo.cpp", + MAME_DIR .. "src/mame/includes/carpolo.h", + MAME_DIR .. "src/mame/machine/carpolo.cpp", + MAME_DIR .. "src/mame/video/carpolo.cpp", + MAME_DIR .. "src/mame/drivers/circus.cpp", + MAME_DIR .. "src/mame/includes/circus.h", + MAME_DIR .. "src/mame/audio/circus.cpp", + MAME_DIR .. "src/mame/video/circus.cpp", + MAME_DIR .. "src/mame/drivers/exidy.cpp", + MAME_DIR .. "src/mame/includes/exidy.h", + MAME_DIR .. "src/mame/audio/exidy.cpp", + 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", + MAME_DIR .. "src/mame/audio/exidy440.h", + MAME_DIR .. "src/mame/video/exidy440.cpp", + MAME_DIR .. "src/mame/drivers/exidyttl.cpp", + MAME_DIR .. "src/mame/drivers/maxaflex.cpp", + MAME_DIR .. "src/mame/machine/atari400.cpp", + MAME_DIR .. "src/mame/includes/atari400.h", + MAME_DIR .. "src/mame/video/atari400.cpp", + MAME_DIR .. "src/mame/video/antic.cpp", + MAME_DIR .. "src/mame/video/antic.h", + MAME_DIR .. "src/mame/video/gtia.cpp", + MAME_DIR .. "src/mame/video/gtia.h", + MAME_DIR .. "src/mame/drivers/starfire.cpp", + MAME_DIR .. "src/mame/includes/starfire.h", + MAME_DIR .. "src/mame/video/starfire.cpp", + MAME_DIR .. "src/mame/drivers/vertigo.cpp", + MAME_DIR .. "src/mame/includes/vertigo.h", + MAME_DIR .. "src/mame/machine/vertigo.cpp", + MAME_DIR .. "src/mame/video/vertigo.cpp", + MAME_DIR .. "src/mame/drivers/victory.cpp", + MAME_DIR .. "src/mame/includes/victory.h", + MAME_DIR .. "src/mame/video/victory.cpp", +} + +createMAMEProjects(_target, _subtarget, "f32") +files { + MAME_DIR .. "src/mame/drivers/crospang.cpp", + MAME_DIR .. "src/mame/includes/crospang.h", + MAME_DIR .. "src/mame/video/crospang.cpp", + MAME_DIR .. "src/mame/drivers/silvmil.cpp", + MAME_DIR .. "src/mame/drivers/f-32.cpp", +} + +createMAMEProjects(_target, _subtarget, "funworld") +files { + MAME_DIR .. "src/mame/drivers/4roses.cpp", + MAME_DIR .. "src/mame/drivers/funworld.cpp", + MAME_DIR .. "src/mame/includes/funworld.h", + MAME_DIR .. "src/mame/video/funworld.cpp", + MAME_DIR .. "src/mame/drivers/snookr10.cpp", + MAME_DIR .. "src/mame/includes/snookr10.h", + MAME_DIR .. "src/mame/video/snookr10.cpp", +} + +createMAMEProjects(_target, _subtarget, "fuuki") +files { + MAME_DIR .. "src/mame/drivers/fuukifg2.cpp", + MAME_DIR .. "src/mame/includes/fuukifg2.h", + MAME_DIR .. "src/mame/video/fuukifg2.cpp", + MAME_DIR .. "src/mame/drivers/fuukifg3.cpp", + MAME_DIR .. "src/mame/includes/fuukifg3.h", + MAME_DIR .. "src/mame/video/fuukifg3.cpp", + MAME_DIR .. "src/mame/video/fuukifg.cpp", + MAME_DIR .. "src/mame/video/fuukifg.h", +} + +createMAMEProjects(_target, _subtarget, "gaelco") +files { + MAME_DIR .. "src/mame/drivers/atvtrack.cpp", + MAME_DIR .. "src/mame/drivers/gaelco.cpp", + MAME_DIR .. "src/mame/includes/gaelco.h", + MAME_DIR .. "src/mame/video/gaelco.cpp", + MAME_DIR .. "src/mame/machine/gaelcrpt.cpp", + MAME_DIR .. "src/mame/includes/gaelcrpt.h", + MAME_DIR .. "src/mame/drivers/gaelco2.cpp", + MAME_DIR .. "src/mame/includes/gaelco2.h", + MAME_DIR .. "src/mame/machine/gaelco2.cpp", + MAME_DIR .. "src/mame/video/gaelco2.cpp", + MAME_DIR .. "src/mame/drivers/gaelco3d.cpp", + MAME_DIR .. "src/mame/includes/gaelco3d.h", + MAME_DIR .. "src/mame/video/gaelco3d.cpp", + MAME_DIR .. "src/mame/machine/gaelco3d.cpp", + MAME_DIR .. "src/mame/machine/gaelco3d.h", + MAME_DIR .. "src/mame/drivers/gaelcopc.cpp", + MAME_DIR .. "src/mame/drivers/goldart.cpp", + MAME_DIR .. "src/mame/drivers/glass.cpp", + MAME_DIR .. "src/mame/includes/glass.h", + MAME_DIR .. "src/mame/video/glass.cpp", + MAME_DIR .. "src/mame/drivers/mastboy.cpp", + MAME_DIR .. "src/mame/drivers/mastboyo.cpp", + MAME_DIR .. "src/mame/drivers/rollext.cpp", + MAME_DIR .. "src/mame/drivers/splash.cpp", + MAME_DIR .. "src/mame/includes/splash.h", + MAME_DIR .. "src/mame/video/splash.cpp", + MAME_DIR .. "src/mame/drivers/targeth.cpp", + MAME_DIR .. "src/mame/includes/targeth.h", + MAME_DIR .. "src/mame/video/targeth.cpp", + MAME_DIR .. "src/mame/drivers/thoop2.cpp", + MAME_DIR .. "src/mame/includes/thoop2.h", + MAME_DIR .. "src/mame/video/thoop2.cpp", + MAME_DIR .. "src/mame/drivers/wrally.cpp", + MAME_DIR .. "src/mame/includes/wrally.h", + MAME_DIR .. "src/mame/machine/wrally.cpp", + MAME_DIR .. "src/mame/video/wrally.cpp", + MAME_DIR .. "src/mame/drivers/blmbycar.cpp", + MAME_DIR .. "src/mame/includes/blmbycar.h", + MAME_DIR .. "src/mame/video/blmbycar.cpp", + MAME_DIR .. "src/mame/video/gaelco_wrally_sprites.cpp", + MAME_DIR .. "src/mame/video/gaelco_wrally_sprites.h", + MAME_DIR .. "src/mame/drivers/xorworld.cpp", + MAME_DIR .. "src/mame/includes/xorworld.h", + MAME_DIR .. "src/mame/video/xorworld.cpp", + MAME_DIR .. "src/mame/machine/gaelco_ds5002fp.cpp", + MAME_DIR .. "src/mame/machine/gaelco_ds5002fp.h", + MAME_DIR .. "src/mame/drivers/bigkarnk_ms.cpp", +} + +createMAMEProjects(_target, _subtarget, "gameplan") +files { + MAME_DIR .. "src/mame/drivers/enigma2.cpp", + MAME_DIR .. "src/mame/drivers/gameplan.cpp", + MAME_DIR .. "src/mame/includes/gameplan.h", + MAME_DIR .. "src/mame/video/gameplan.cpp", + MAME_DIR .. "src/mame/drivers/toratora.cpp", +} + +createMAMEProjects(_target, _subtarget, "gametron") +files { + MAME_DIR .. "src/mame/drivers/gatron.cpp", + MAME_DIR .. "src/mame/includes/gatron.h", + MAME_DIR .. "src/mame/video/gatron.cpp", + MAME_DIR .. "src/mame/drivers/gotya.cpp", + MAME_DIR .. "src/mame/includes/gotya.h", + MAME_DIR .. "src/mame/audio/gotya.cpp", + MAME_DIR .. "src/mame/video/gotya.cpp", + MAME_DIR .. "src/mame/drivers/sbugger.cpp", + MAME_DIR .. "src/mame/includes/sbugger.h", + MAME_DIR .. "src/mame/video/sbugger.cpp", +} + +createMAMEProjects(_target, _subtarget, "gottlieb") +files { + MAME_DIR .. "src/mame/drivers/exterm.cpp", + MAME_DIR .. "src/mame/includes/exterm.h", + MAME_DIR .. "src/mame/video/exterm.cpp", + MAME_DIR .. "src/mame/drivers/gottlieb.cpp", + MAME_DIR .. "src/mame/includes/gottlieb.h", + MAME_DIR .. "src/mame/audio/gottlieb.cpp", + MAME_DIR .. "src/mame/audio/gottlieb.h", + MAME_DIR .. "src/mame/video/gottlieb.cpp", +} + +createMAMEProjects(_target, _subtarget, "ibmpc") +files { + MAME_DIR .. "src/mame/drivers/calchase.cpp", + MAME_DIR .. "src/mame/drivers/fruitpc.cpp", + MAME_DIR .. "src/mame/drivers/pangofun.cpp", + MAME_DIR .. "src/mame/drivers/pcat_dyn.cpp", + MAME_DIR .. "src/mame/drivers/pcat_nit.cpp", + MAME_DIR .. "src/mame/drivers/pcxt.cpp", + MAME_DIR .. "src/mame/drivers/quakeat.cpp", + MAME_DIR .. "src/mame/drivers/queen.cpp", + MAME_DIR .. "src/mame/drivers/igspc.cpp", +} + +createMAMEProjects(_target, _subtarget, "igs") +files { + MAME_DIR .. "src/mame/drivers/cabaret.cpp", + MAME_DIR .. "src/mame/drivers/dunhuang.cpp", + MAME_DIR .. "src/mame/drivers/goldstar.cpp", + MAME_DIR .. "src/mame/includes/goldstar.h", + MAME_DIR .. "src/mame/video/goldstar.cpp", + MAME_DIR .. "src/mame/drivers/funtech.cpp", + MAME_DIR .. "src/mame/drivers/jackie.cpp", + MAME_DIR .. "src/mame/drivers/igspoker.cpp", + MAME_DIR .. "src/mame/drivers/igs009.cpp", + MAME_DIR .. "src/mame/drivers/igs011.cpp", + MAME_DIR .. "src/mame/drivers/igs017.cpp", + MAME_DIR .. "src/mame/video/igs017_igs031.cpp", + MAME_DIR .. "src/mame/video/igs017_igs031.h", + MAME_DIR .. "src/mame/drivers/igs_fear.cpp", + MAME_DIR .. "src/mame/drivers/igs_m027.cpp", + MAME_DIR .. "src/mame/drivers/igs_m036.cpp", + MAME_DIR .. "src/mame/drivers/iqblock.cpp", + MAME_DIR .. "src/mame/includes/iqblock.h", + MAME_DIR .. "src/mame/video/iqblock.cpp", + MAME_DIR .. "src/mame/drivers/lordgun.cpp", + MAME_DIR .. "src/mame/includes/lordgun.h", + MAME_DIR .. "src/mame/video/lordgun.cpp", + MAME_DIR .. "src/mame/drivers/pgm.cpp", + MAME_DIR .. "src/mame/includes/pgm.h", + MAME_DIR .. "src/mame/video/pgm.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs027a_type1.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs027a_type1.h", + MAME_DIR .. "src/mame/machine/pgmprot_igs027a_type2.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs027a_type2.h", + MAME_DIR .. "src/mame/machine/pgmprot_igs027a_type3.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs027a_type3.h", + MAME_DIR .. "src/mame/machine/pgmprot_igs025_igs012.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs025_igs012.h", + MAME_DIR .. "src/mame/machine/pgmprot_igs025_igs022.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs025_igs022.h", + MAME_DIR .. "src/mame/machine/pgmprot_igs025_igs028.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_igs025_igs028.h", + MAME_DIR .. "src/mame/machine/pgmprot_orlegend.cpp", + MAME_DIR .. "src/mame/machine/pgmprot_orlegend.h", + MAME_DIR .. "src/mame/drivers/pgm2.cpp", + MAME_DIR .. "src/mame/video/pgm2.cpp", + MAME_DIR .. "src/mame/includes/pgm2.h", + MAME_DIR .. "src/mame/machine/pgm2_memcard.cpp", + MAME_DIR .. "src/mame/machine/pgm2_memcard.h", + MAME_DIR .. "src/mame/drivers/pgm3.cpp", + MAME_DIR .. "src/mame/drivers/spoker.cpp", + MAME_DIR .. "src/mame/machine/igs036crypt.cpp", + MAME_DIR .. "src/mame/machine/igs036crypt.h", + MAME_DIR .. "src/mame/machine/pgmcrypt.cpp", + MAME_DIR .. "src/mame/machine/pgmcrypt.h", + MAME_DIR .. "src/mame/machine/igs025.cpp", + MAME_DIR .. "src/mame/machine/igs025.h", + MAME_DIR .. "src/mame/machine/igs022.cpp", + MAME_DIR .. "src/mame/machine/igs022.h", + MAME_DIR .. "src/mame/machine/igs028.cpp", + MAME_DIR .. "src/mame/machine/igs028.h", +} + +createMAMEProjects(_target, _subtarget, "igt") +files { + MAME_DIR .. "src/mame/drivers/drw80pkr.cpp", + MAME_DIR .. "src/mame/drivers/gkigt.cpp", + MAME_DIR .. "src/mame/drivers/peplus.cpp", + MAME_DIR .. "src/mame/drivers/splus.cpp", + MAME_DIR .. "src/mame/drivers/videopkr.cpp", +} + +createMAMEProjects(_target, _subtarget, "irem") +files { + MAME_DIR .. "src/mame/drivers/m10.cpp", + MAME_DIR .. "src/mame/includes/m10.h", + MAME_DIR .. "src/mame/video/m10.cpp", + MAME_DIR .. "src/mame/drivers/m14.cpp", + MAME_DIR .. "src/mame/drivers/m52.cpp", + MAME_DIR .. "src/mame/includes/m52.h", + MAME_DIR .. "src/mame/video/m52.cpp", + MAME_DIR .. "src/mame/drivers/m57.cpp", + MAME_DIR .. "src/mame/includes/m57.h", + MAME_DIR .. "src/mame/video/m57.cpp", + MAME_DIR .. "src/mame/drivers/m58.cpp", + MAME_DIR .. "src/mame/includes/m58.h", + MAME_DIR .. "src/mame/video/m58.cpp", + MAME_DIR .. "src/mame/drivers/m62.cpp", + MAME_DIR .. "src/mame/includes/m62.h", + MAME_DIR .. "src/mame/video/m62.cpp", + MAME_DIR .. "src/mame/drivers/spartanxtec.cpp", + MAME_DIR .. "src/mame/drivers/m63.cpp", + MAME_DIR .. "src/mame/drivers/m72.cpp", + MAME_DIR .. "src/mame/includes/m72.h", + MAME_DIR .. "src/mame/audio/m72.cpp", + MAME_DIR .. "src/mame/audio/m72.h", + MAME_DIR .. "src/mame/video/m72.cpp", + MAME_DIR .. "src/mame/drivers/m90.cpp", + MAME_DIR .. "src/mame/includes/m90.h", + MAME_DIR .. "src/mame/video/m90.cpp", + MAME_DIR .. "src/mame/drivers/m92.cpp", + MAME_DIR .. "src/mame/includes/m92.h", + MAME_DIR .. "src/mame/video/m92.cpp", + MAME_DIR .. "src/mame/drivers/m107.cpp", + MAME_DIR .. "src/mame/includes/m107.h", + MAME_DIR .. "src/mame/video/m107.cpp", + MAME_DIR .. "src/mame/includes/iremipt.h", + MAME_DIR .. "src/mame/drivers/olibochu.cpp", + MAME_DIR .. "src/mame/drivers/redalert.cpp", + MAME_DIR .. "src/mame/includes/redalert.h", + MAME_DIR .. "src/mame/audio/redalert.cpp", + MAME_DIR .. "src/mame/video/redalert.cpp", + MAME_DIR .. "src/mame/drivers/shisen.cpp", + MAME_DIR .. "src/mame/includes/shisen.h", + MAME_DIR .. "src/mame/video/shisen.cpp", + MAME_DIR .. "src/mame/drivers/travrusa.cpp", + MAME_DIR .. "src/mame/includes/travrusa.h", + MAME_DIR .. "src/mame/video/travrusa.cpp", + MAME_DIR .. "src/mame/drivers/vigilant.cpp", + MAME_DIR .. "src/mame/includes/vigilant.h", + MAME_DIR .. "src/mame/video/vigilant.cpp", + MAME_DIR .. "src/mame/machine/irem_cpu.cpp", + MAME_DIR .. "src/mame/machine/irem_cpu.h", + MAME_DIR .. "src/mame/audio/irem.cpp", + MAME_DIR .. "src/mame/audio/irem.h", + MAME_DIR .. "src/mame/audio/nl_kidniki.cpp", + MAME_DIR .. "src/mame/audio/nl_kidniki.h", +} + +createMAMEProjects(_target, _subtarget, "itech") +files { + MAME_DIR .. "src/mame/drivers/capbowl.cpp", + MAME_DIR .. "src/mame/includes/capbowl.h", + MAME_DIR .. "src/mame/video/capbowl.cpp", + MAME_DIR .. "src/mame/drivers/itech8.cpp", + MAME_DIR .. "src/mame/includes/itech8.h", + MAME_DIR .. "src/mame/machine/itech8.cpp", + MAME_DIR .. "src/mame/video/itech8.cpp", + MAME_DIR .. "src/mame/drivers/itech32.cpp", + MAME_DIR .. "src/mame/includes/itech32.h", + MAME_DIR .. "src/mame/video/itech32.cpp", + MAME_DIR .. "src/mame/drivers/iteagle.cpp", + MAME_DIR .. "src/mame/machine/iteagle_fpga.cpp", + MAME_DIR .. "src/mame/machine/iteagle_fpga.h", +} + +createMAMEProjects(_target, _subtarget, "jaleco") +files { + MAME_DIR .. "src/mame/drivers/aeroboto.cpp", + MAME_DIR .. "src/mame/includes/aeroboto.h", + MAME_DIR .. "src/mame/video/aeroboto.cpp", + MAME_DIR .. "src/mame/drivers/argus.cpp", + MAME_DIR .. "src/mame/includes/argus.h", + MAME_DIR .. "src/mame/video/argus.cpp", + MAME_DIR .. "src/mame/drivers/bestleag.cpp", + MAME_DIR .. "src/mame/drivers/bigstrkb.cpp", + MAME_DIR .. "src/mame/includes/bigstrkb.h", + MAME_DIR .. "src/mame/video/bigstrkb.cpp", + MAME_DIR .. "src/mame/drivers/blueprnt.cpp", + MAME_DIR .. "src/mame/includes/blueprnt.h", + MAME_DIR .. "src/mame/video/blueprnt.cpp", + MAME_DIR .. "src/mame/drivers/bnstars.cpp", + MAME_DIR .. "src/mame/drivers/cischeat.cpp", + MAME_DIR .. "src/mame/includes/cischeat.h", + MAME_DIR .. "src/mame/video/cischeat.cpp", + MAME_DIR .. "src/mame/drivers/citycon.cpp", + MAME_DIR .. "src/mame/includes/citycon.h", + MAME_DIR .. "src/mame/video/citycon.cpp", + MAME_DIR .. "src/mame/drivers/ddayjlc.cpp", + MAME_DIR .. "src/mame/drivers/exerion.cpp", + MAME_DIR .. "src/mame/includes/exerion.h", + MAME_DIR .. "src/mame/video/exerion.cpp", + MAME_DIR .. "src/mame/drivers/fcombat.cpp", + MAME_DIR .. "src/mame/includes/fcombat.h", + MAME_DIR .. "src/mame/video/fcombat.cpp", + MAME_DIR .. "src/mame/drivers/ginganin.cpp", + MAME_DIR .. "src/mame/includes/ginganin.h", + MAME_DIR .. "src/mame/video/ginganin.cpp", + MAME_DIR .. "src/mame/drivers/homerun.cpp", + MAME_DIR .. "src/mame/includes/homerun.h", + MAME_DIR .. "src/mame/video/homerun.cpp", + MAME_DIR .. "src/mame/drivers/megasys1.cpp", + MAME_DIR .. "src/mame/includes/megasys1.h", + MAME_DIR .. "src/mame/video/megasys1.cpp", + MAME_DIR .. "src/mame/drivers/momoko.cpp", + MAME_DIR .. "src/mame/includes/momoko.h", + MAME_DIR .. "src/mame/video/momoko.cpp", + MAME_DIR .. "src/mame/drivers/ms32.cpp", + MAME_DIR .. "src/mame/includes/ms32.h", + MAME_DIR .. "src/mame/video/ms32.cpp", + MAME_DIR .. "src/mame/drivers/psychic5.cpp", + MAME_DIR .. "src/mame/includes/psychic5.h", + MAME_DIR .. "src/mame/video/psychic5.cpp", + MAME_DIR .. "src/mame/drivers/pturn.cpp", + MAME_DIR .. "src/mame/drivers/skyfox.cpp", + MAME_DIR .. "src/mame/includes/skyfox.h", + MAME_DIR .. "src/mame/video/skyfox.cpp", + MAME_DIR .. "src/mame/drivers/tetrisp2.cpp", + MAME_DIR .. "src/mame/includes/tetrisp2.h", + MAME_DIR .. "src/mame/video/tetrisp2.cpp", + MAME_DIR .. "src/mame/machine/jalcrpt.cpp", + MAME_DIR .. "src/mame/machine/jalcrpt.h", + MAME_DIR .. "src/mame/video/jalblend.cpp", + MAME_DIR .. "src/mame/video/jalblend.h", + MAME_DIR .. "src/mame/video/ms1_tmap.cpp", + MAME_DIR .. "src/mame/video/ms1_tmap.h", +} + +createMAMEProjects(_target, _subtarget, "jpm") +files { + MAME_DIR .. "src/mame/drivers/guab.cpp", + MAME_DIR .. "src/mame/drivers/jpmsys5.cpp", + MAME_DIR .. "src/mame/includes/jpmsys5.h", + MAME_DIR .. "src/mame/drivers/jpmsys5sw.cpp", + MAME_DIR .. "src/mame/drivers/jpmmps.cpp", + MAME_DIR .. "src/mame/drivers/jpms80.cpp", + MAME_DIR .. "src/mame/drivers/jpmsru.cpp", + MAME_DIR .. "src/mame/drivers/jpmimpct.cpp", + MAME_DIR .. "src/mame/includes/jpmimpct.h", + MAME_DIR .. "src/mame/video/jpmimpct.cpp", + MAME_DIR .. "src/mame/drivers/jpmimpctsw.cpp", + MAME_DIR .. "src/mame/drivers/pluto5.cpp", + MAME_DIR .. "src/mame/drivers/jpmsys7.cpp", +} + +createMAMEProjects(_target, _subtarget, "kaneko") +files { + MAME_DIR .. "src/mame/drivers/airbustr.cpp", + MAME_DIR .. "src/mame/includes/airbustr.h", + MAME_DIR .. "src/mame/video/airbustr.cpp", + MAME_DIR .. "src/mame/drivers/djboy.cpp", + MAME_DIR .. "src/mame/includes/djboy.h", + MAME_DIR .. "src/mame/video/djboy.cpp", + MAME_DIR .. "src/mame/drivers/expro02.cpp", + MAME_DIR .. "src/mame/drivers/galpanic.cpp", + MAME_DIR .. "src/mame/drivers/galpanic_ms.cpp", + MAME_DIR .. "src/mame/includes/galpnipt.h", + MAME_DIR .. "src/mame/includes/galpanic.h", + MAME_DIR .. "src/mame/video/galpanic.cpp", + MAME_DIR .. "src/mame/drivers/galpani2.cpp", + MAME_DIR .. "src/mame/includes/galpani2.h", + MAME_DIR .. "src/mame/video/galpani2.cpp", + MAME_DIR .. "src/mame/drivers/galpani3.cpp", + MAME_DIR .. "src/mame/video/kaneko_grap2.cpp", + MAME_DIR .. "src/mame/video/kaneko_grap2.h", + MAME_DIR .. "src/mame/drivers/hvyunit.cpp", + MAME_DIR .. "src/mame/drivers/jchan.cpp", + MAME_DIR .. "src/mame/drivers/kaneko16.cpp", + MAME_DIR .. "src/mame/includes/kaneko16.h", + MAME_DIR .. "src/mame/video/kaneko16.cpp", + MAME_DIR .. "src/mame/video/kaneko_tmap.cpp", + MAME_DIR .. "src/mame/video/kaneko_tmap.h", + MAME_DIR .. "src/mame/video/kaneko_spr.cpp", + MAME_DIR .. "src/mame/video/kaneko_spr.h", + MAME_DIR .. "src/mame/machine/kaneko_hit.cpp", + MAME_DIR .. "src/mame/machine/kaneko_hit.h", + MAME_DIR .. "src/mame/machine/kaneko_calc3.cpp", + MAME_DIR .. "src/mame/machine/kaneko_calc3.h", + MAME_DIR .. "src/mame/machine/kaneko_toybox.cpp", + MAME_DIR .. "src/mame/machine/kaneko_toybox.h", + MAME_DIR .. "src/mame/drivers/sandscrp.cpp", + MAME_DIR .. "src/mame/drivers/suprnova.cpp", + MAME_DIR .. "src/mame/includes/suprnova.h", + MAME_DIR .. "src/mame/video/suprnova.cpp", + MAME_DIR .. "src/mame/video/sknsspr.cpp", + MAME_DIR .. "src/mame/video/sknsspr.h", +} + +createMAMEProjects(_target, _subtarget, "kiwako") +files { + MAME_DIR .. "src/mame/drivers/jongkyo.cpp", + MAME_DIR .. "src/mame/drivers/koikoi.cpp", + MAME_DIR .. "src/mame/drivers/mrjong.cpp", + MAME_DIR .. "src/mame/includes/mrjong.h", + MAME_DIR .. "src/mame/video/mrjong.cpp", +} + +createMAMEProjects(_target, _subtarget, "konami") +files { + MAME_DIR .. "src/mame/drivers/88games.cpp", + MAME_DIR .. "src/mame/includes/88games.h", + MAME_DIR .. "src/mame/video/88games.cpp", + MAME_DIR .. "src/mame/drivers/ajax.cpp", + MAME_DIR .. "src/mame/includes/ajax.h", + MAME_DIR .. "src/mame/machine/ajax.cpp", + MAME_DIR .. "src/mame/video/ajax.cpp", + MAME_DIR .. "src/mame/drivers/aliens.cpp", + MAME_DIR .. "src/mame/includes/aliens.h", + MAME_DIR .. "src/mame/video/aliens.cpp", + MAME_DIR .. "src/mame/drivers/asterix.cpp", + MAME_DIR .. "src/mame/includes/asterix.h", + MAME_DIR .. "src/mame/video/asterix.cpp", + MAME_DIR .. "src/mame/drivers/battlnts.cpp", + MAME_DIR .. "src/mame/includes/battlnts.h", + MAME_DIR .. "src/mame/video/battlnts.cpp", + MAME_DIR .. "src/mame/drivers/bishi.cpp", + MAME_DIR .. "src/mame/includes/bishi.h", + MAME_DIR .. "src/mame/video/bishi.cpp", + MAME_DIR .. "src/mame/drivers/bladestl.cpp", + MAME_DIR .. "src/mame/includes/bladestl.h", + MAME_DIR .. "src/mame/video/bladestl.cpp", + MAME_DIR .. "src/mame/drivers/blockhl.cpp", + MAME_DIR .. "src/mame/drivers/bottom9.cpp", + MAME_DIR .. "src/mame/includes/bottom9.h", + MAME_DIR .. "src/mame/video/bottom9.cpp", + MAME_DIR .. "src/mame/drivers/chqflag.cpp", + MAME_DIR .. "src/mame/includes/chqflag.h", + MAME_DIR .. "src/mame/video/chqflag.cpp", + MAME_DIR .. "src/mame/drivers/circusc.cpp", + MAME_DIR .. "src/mame/includes/circusc.h", + MAME_DIR .. "src/mame/video/circusc.cpp", + MAME_DIR .. "src/mame/drivers/cobra.cpp", + MAME_DIR .. "src/mame/drivers/combatsc.cpp", + MAME_DIR .. "src/mame/includes/combatsc.h", + MAME_DIR .. "src/mame/video/combatsc.cpp", + MAME_DIR .. "src/mame/drivers/contra.cpp", + MAME_DIR .. "src/mame/includes/contra.h", + MAME_DIR .. "src/mame/video/contra.cpp", + MAME_DIR .. "src/mame/drivers/crimfght.cpp", + MAME_DIR .. "src/mame/includes/crimfght.h", + MAME_DIR .. "src/mame/video/crimfght.cpp", + MAME_DIR .. "src/mame/drivers/dbz.cpp", + MAME_DIR .. "src/mame/includes/dbz.h", + MAME_DIR .. "src/mame/video/dbz.cpp", + MAME_DIR .. "src/mame/drivers/ddribble.cpp", + MAME_DIR .. "src/mame/includes/ddribble.h", + MAME_DIR .. "src/mame/video/ddribble.cpp", + MAME_DIR .. "src/mame/drivers/divebomb.cpp", + MAME_DIR .. "src/mame/includes/divebomb.h", + MAME_DIR .. "src/mame/video/divebomb.cpp", + MAME_DIR .. "src/mame/drivers/djmain.cpp", + MAME_DIR .. "src/mame/includes/djmain.h", + MAME_DIR .. "src/mame/video/djmain.cpp", + MAME_DIR .. "src/mame/drivers/fastfred.cpp", + MAME_DIR .. "src/mame/includes/fastfred.h", + MAME_DIR .. "src/mame/video/fastfred.cpp", + MAME_DIR .. "src/mame/drivers/fastlane.cpp", + MAME_DIR .. "src/mame/includes/fastlane.h", + MAME_DIR .. "src/mame/video/fastlane.cpp", + MAME_DIR .. "src/mame/drivers/finalizr.cpp", + MAME_DIR .. "src/mame/includes/finalizr.h", + MAME_DIR .. "src/mame/video/finalizr.cpp", + MAME_DIR .. "src/mame/drivers/firebeat.cpp", + MAME_DIR .. "src/mame/machine/midikbd.cpp", + MAME_DIR .. "src/mame/machine/midikbd.h", + MAME_DIR .. "src/mame/drivers/flkatck.cpp", + MAME_DIR .. "src/mame/includes/flkatck.h", + MAME_DIR .. "src/mame/video/flkatck.cpp", + MAME_DIR .. "src/mame/drivers/gberet.cpp", + MAME_DIR .. "src/mame/includes/gberet.h", + MAME_DIR .. "src/mame/video/gberet.cpp", + MAME_DIR .. "src/mame/drivers/giclassic.cpp", + MAME_DIR .. "src/mame/drivers/gijoe.cpp", + MAME_DIR .. "src/mame/includes/gijoe.h", + MAME_DIR .. "src/mame/video/gijoe.cpp", + MAME_DIR .. "src/mame/drivers/gradius3.cpp", + MAME_DIR .. "src/mame/includes/gradius3.h", + MAME_DIR .. "src/mame/video/gradius3.cpp", + MAME_DIR .. "src/mame/drivers/gticlub.cpp", + MAME_DIR .. "src/mame/drivers/gyruss.cpp", + MAME_DIR .. "src/mame/includes/gyruss.h", + MAME_DIR .. "src/mame/video/gyruss.cpp", + MAME_DIR .. "src/mame/drivers/hcastle.cpp", + MAME_DIR .. "src/mame/includes/hcastle.h", + MAME_DIR .. "src/mame/video/hcastle.cpp", + MAME_DIR .. "src/mame/drivers/hexion.cpp", + MAME_DIR .. "src/mame/includes/hexion.h", + MAME_DIR .. "src/mame/video/hexion.cpp", + MAME_DIR .. "src/mame/drivers/hornet.cpp", + MAME_DIR .. "src/mame/machine/konppc.cpp", + MAME_DIR .. "src/mame/machine/konppc.h", + MAME_DIR .. "src/mame/drivers/hyperspt.cpp", + MAME_DIR .. "src/mame/includes/hyperspt.h", + MAME_DIR .. "src/mame/audio/hyprolyb.cpp", + MAME_DIR .. "src/mame/audio/hyprolyb.h", + MAME_DIR .. "src/mame/video/hyperspt.cpp", + MAME_DIR .. "src/mame/drivers/ironhors.cpp", + MAME_DIR .. "src/mame/includes/ironhors.h", + MAME_DIR .. "src/mame/video/ironhors.cpp", + MAME_DIR .. "src/mame/drivers/jackal.cpp", + MAME_DIR .. "src/mame/includes/jackal.h", + MAME_DIR .. "src/mame/video/jackal.cpp", + MAME_DIR .. "src/mame/drivers/jailbrek.cpp", + MAME_DIR .. "src/mame/includes/jailbrek.h", + 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/konamigv.cpp", + MAME_DIR .. "src/mame/drivers/konamigx.cpp", + MAME_DIR .. "src/mame/includes/konamigx.h", + MAME_DIR .. "src/mame/machine/konamigx.cpp", + MAME_DIR .. "src/mame/video/konamigx.cpp", + MAME_DIR .. "src/mame/drivers/konamim2.cpp", + MAME_DIR .. "src/mame/machine/3dom2.cpp", + MAME_DIR .. "src/mame/machine/3dom2.h", + MAME_DIR .. "src/mame/video/3dom2_te.cpp", + MAME_DIR .. "src/mame/video/3dom2_te.h", + MAME_DIR .. "src/mame/drivers/konblands.cpp", + MAME_DIR .. "src/mame/drivers/konmedal.cpp", + MAME_DIR .. "src/mame/drivers/konmedal68k.cpp", + MAME_DIR .. "src/mame/drivers/kontest.cpp", + MAME_DIR .. "src/mame/drivers/konendev.cpp", + MAME_DIR .. "src/mame/drivers/ksys573.cpp", + MAME_DIR .. "src/mame/machine/k573cass.cpp", + MAME_DIR .. "src/mame/machine/k573cass.h", + MAME_DIR .. "src/mame/machine/k573dio.cpp", + MAME_DIR .. "src/mame/machine/k573dio.h", + MAME_DIR .. "src/mame/machine/k573fpga.cpp", + MAME_DIR .. "src/mame/machine/k573fpga.h", + MAME_DIR .. "src/mame/machine/k573mcr.cpp", + MAME_DIR .. "src/mame/machine/k573mcr.h", + MAME_DIR .. "src/mame/machine/k573msu.cpp", + MAME_DIR .. "src/mame/machine/k573msu.h", + MAME_DIR .. "src/mame/machine/k573npu.cpp", + MAME_DIR .. "src/mame/machine/k573npu.h", + MAME_DIR .. "src/mame/machine/zs01.cpp", + MAME_DIR .. "src/mame/machine/zs01.h", + MAME_DIR .. "src/mame/drivers/labyrunr.cpp", + MAME_DIR .. "src/mame/includes/labyrunr.h", + MAME_DIR .. "src/mame/video/labyrunr.cpp", + MAME_DIR .. "src/mame/drivers/lethal.cpp", + MAME_DIR .. "src/mame/includes/lethal.h", + MAME_DIR .. "src/mame/video/lethal.cpp", + MAME_DIR .. "src/mame/drivers/mainevt.cpp", + MAME_DIR .. "src/mame/includes/mainevt.h", + MAME_DIR .. "src/mame/video/mainevt.cpp", + MAME_DIR .. "src/mame/drivers/megazone.cpp", + MAME_DIR .. "src/mame/includes/megazone.h", + MAME_DIR .. "src/mame/video/megazone.cpp", + MAME_DIR .. "src/mame/drivers/mikie.cpp", + MAME_DIR .. "src/mame/includes/mikie.h", + MAME_DIR .. "src/mame/video/mikie.cpp", + MAME_DIR .. "src/mame/drivers/mogura.cpp", + MAME_DIR .. "src/mame/drivers/moo.cpp", + MAME_DIR .. "src/mame/includes/moo.h", + MAME_DIR .. "src/mame/video/moo.cpp", + MAME_DIR .. "src/mame/drivers/mystwarr.cpp", + MAME_DIR .. "src/mame/includes/mystwarr.h", + MAME_DIR .. "src/mame/video/mystwarr.cpp", + MAME_DIR .. "src/mame/drivers/nemesis.cpp", + MAME_DIR .. "src/mame/includes/nemesis.h", + MAME_DIR .. "src/mame/video/nemesis.cpp", + MAME_DIR .. "src/mame/drivers/nwk-tr.cpp", + MAME_DIR .. "src/mame/drivers/otomedius.cpp", + MAME_DIR .. "src/mame/drivers/overdriv.cpp", + MAME_DIR .. "src/mame/includes/overdriv.h", + MAME_DIR .. "src/mame/video/overdriv.cpp", + MAME_DIR .. "src/mame/drivers/pandoras.cpp", + MAME_DIR .. "src/mame/includes/pandoras.h", + MAME_DIR .. "src/mame/video/pandoras.cpp", + MAME_DIR .. "src/mame/drivers/parodius.cpp", + MAME_DIR .. "src/mame/includes/parodius.h", + MAME_DIR .. "src/mame/video/parodius.cpp", + MAME_DIR .. "src/mame/drivers/pingpong.cpp", + MAME_DIR .. "src/mame/includes/pingpong.h", + MAME_DIR .. "src/mame/video/pingpong.cpp", + MAME_DIR .. "src/mame/drivers/piratesh.cpp", + MAME_DIR .. "src/mame/drivers/plygonet.cpp", + MAME_DIR .. "src/mame/includes/plygonet.h", + MAME_DIR .. "src/mame/video/plygonet.cpp", + MAME_DIR .. "src/mame/drivers/pooyan.cpp", + MAME_DIR .. "src/mame/includes/pooyan.h", + MAME_DIR .. "src/mame/video/pooyan.cpp", + MAME_DIR .. "src/mame/drivers/pyson.cpp", + MAME_DIR .. "src/mame/drivers/qdrmfgp.cpp", + MAME_DIR .. "src/mame/includes/qdrmfgp.h", + MAME_DIR .. "src/mame/video/qdrmfgp.cpp", + MAME_DIR .. "src/mame/drivers/quickpick5.cpp", + MAME_DIR .. "src/mame/drivers/rockrage.cpp", + MAME_DIR .. "src/mame/includes/rockrage.h", + MAME_DIR .. "src/mame/video/rockrage.cpp", + MAME_DIR .. "src/mame/drivers/rocnrope.cpp", + MAME_DIR .. "src/mame/includes/rocnrope.h", + MAME_DIR .. "src/mame/video/rocnrope.cpp", + MAME_DIR .. "src/mame/drivers/rollerg.cpp", + MAME_DIR .. "src/mame/includes/rollerg.h", + MAME_DIR .. "src/mame/video/rollerg.cpp", + MAME_DIR .. "src/mame/drivers/rungun.cpp", + MAME_DIR .. "src/mame/includes/rungun.h", + MAME_DIR .. "src/mame/video/rungun.cpp", + MAME_DIR .. "src/mame/drivers/sbasketb.cpp", + MAME_DIR .. "src/mame/includes/sbasketb.h", + MAME_DIR .. "src/mame/video/sbasketb.cpp", + MAME_DIR .. "src/mame/drivers/scobra.cpp", + MAME_DIR .. "src/mame/drivers/scotrsht.cpp", + MAME_DIR .. "src/mame/includes/scotrsht.h", + MAME_DIR .. "src/mame/video/scotrsht.cpp", + MAME_DIR .. "src/mame/drivers/scramble.cpp", + MAME_DIR .. "src/mame/includes/scramble.h", + MAME_DIR .. "src/mame/machine/scramble.cpp", + MAME_DIR .. "src/mame/audio/scramble.cpp", + MAME_DIR .. "src/mame/drivers/shaolins.cpp", + MAME_DIR .. "src/mame/includes/shaolins.h", + MAME_DIR .. "src/mame/video/shaolins.cpp", + MAME_DIR .. "src/mame/drivers/simpsons.cpp", + MAME_DIR .. "src/mame/includes/simpsons.h", + MAME_DIR .. "src/mame/machine/simpsons.cpp", + MAME_DIR .. "src/mame/video/simpsons.cpp", + MAME_DIR .. "src/mame/drivers/spy.cpp", + MAME_DIR .. "src/mame/includes/spy.h", + MAME_DIR .. "src/mame/video/spy.cpp", + MAME_DIR .. "src/mame/drivers/surpratk.cpp", + MAME_DIR .. "src/mame/includes/surpratk.h", + MAME_DIR .. "src/mame/video/surpratk.cpp", + MAME_DIR .. "src/mame/drivers/tasman.cpp", + MAME_DIR .. "src/mame/drivers/tgtpanic.cpp", + MAME_DIR .. "src/mame/drivers/thunderx.cpp", + MAME_DIR .. "src/mame/includes/thunderx.h", + MAME_DIR .. "src/mame/video/thunderx.cpp", + MAME_DIR .. "src/mame/drivers/timeplt.cpp", + MAME_DIR .. "src/mame/includes/timeplt.h", + MAME_DIR .. "src/mame/audio/timeplt.cpp", + MAME_DIR .. "src/mame/audio/timeplt.h", + MAME_DIR .. "src/mame/video/timeplt.cpp", + MAME_DIR .. "src/mame/drivers/tmnt.cpp", + MAME_DIR .. "src/mame/includes/tmnt.h", + MAME_DIR .. "src/mame/video/tmnt.cpp", + MAME_DIR .. "src/mame/drivers/tp84.cpp", + MAME_DIR .. "src/mame/includes/tp84.h", + MAME_DIR .. "src/mame/video/tp84.cpp", + MAME_DIR .. "src/mame/drivers/trackfld.cpp", + MAME_DIR .. "src/mame/includes/trackfld.h", + MAME_DIR .. "src/mame/machine/konami1.cpp", + MAME_DIR .. "src/mame/machine/konami1.h", + MAME_DIR .. "src/mame/audio/trackfld.cpp", + MAME_DIR .. "src/mame/audio/trackfld.h", + MAME_DIR .. "src/mame/video/trackfld.cpp", + MAME_DIR .. "src/mame/drivers/tutankhm.cpp", + MAME_DIR .. "src/mame/includes/tutankhm.h", + MAME_DIR .. "src/mame/video/tutankhm.cpp", + MAME_DIR .. "src/mame/drivers/twin16.cpp", + MAME_DIR .. "src/mame/includes/twin16.h", + MAME_DIR .. "src/mame/video/twin16.cpp", + MAME_DIR .. "src/mame/drivers/twinkle.cpp", + MAME_DIR .. "src/mame/drivers/ultrsprt.cpp", + MAME_DIR .. "src/mame/drivers/ultraman.cpp", + MAME_DIR .. "src/mame/includes/ultraman.h", + MAME_DIR .. "src/mame/video/ultraman.cpp", + MAME_DIR .. "src/mame/drivers/vendetta.cpp", + MAME_DIR .. "src/mame/includes/vendetta.h", + MAME_DIR .. "src/mame/video/vendetta.cpp", + MAME_DIR .. "src/mame/drivers/viper.cpp", + MAME_DIR .. "src/mame/drivers/wecleman.cpp", + MAME_DIR .. "src/mame/includes/wecleman.h", + MAME_DIR .. "src/mame/video/wecleman.cpp", + MAME_DIR .. "src/mame/drivers/xexex.cpp", + MAME_DIR .. "src/mame/includes/xexex.h", + MAME_DIR .. "src/mame/video/xexex.cpp", + MAME_DIR .. "src/mame/drivers/xmen.cpp", + MAME_DIR .. "src/mame/includes/xmen.h", + MAME_DIR .. "src/mame/video/xmen.cpp", + MAME_DIR .. "src/mame/drivers/yiear.cpp", + MAME_DIR .. "src/mame/includes/yiear.h", + MAME_DIR .. "src/mame/video/yiear.cpp", + MAME_DIR .. "src/mame/drivers/zr107.cpp", + MAME_DIR .. "src/mame/includes/konamipt.h", + MAME_DIR .. "src/mame/video/konami_helper.cpp", + MAME_DIR .. "src/mame/video/konami_helper.h", + MAME_DIR .. "src/mame/video/k007121.cpp", + MAME_DIR .. "src/mame/video/k007121.h", + MAME_DIR .. "src/mame/video/k007342.cpp", + MAME_DIR .. "src/mame/video/k007342.h", + MAME_DIR .. "src/mame/video/k007420.cpp", + MAME_DIR .. "src/mame/video/k007420.h", + MAME_DIR .. "src/mame/video/k037122.cpp", + MAME_DIR .. "src/mame/video/k037122.h", + MAME_DIR .. "src/mame/video/k051316.cpp", + MAME_DIR .. "src/mame/video/k051316.h", + MAME_DIR .. "src/mame/video/k051733.cpp", + MAME_DIR .. "src/mame/video/k051733.h", + MAME_DIR .. "src/mame/video/k051960.cpp", + MAME_DIR .. "src/mame/video/k051960.h", + MAME_DIR .. "src/mame/video/k052109.cpp", + MAME_DIR .. "src/mame/video/k052109.h", + MAME_DIR .. "src/mame/video/k053250.cpp", + MAME_DIR .. "src/mame/video/k053250.h", + MAME_DIR .. "src/mame/video/k053250_ps.cpp", + MAME_DIR .. "src/mame/video/k053250_ps.h", + MAME_DIR .. "src/mame/video/k053251.cpp", + MAME_DIR .. "src/mame/video/k053251.h", + MAME_DIR .. "src/mame/video/k054156_k054157_k056832.cpp", + MAME_DIR .. "src/mame/video/k054156_k054157_k056832.h", + MAME_DIR .. "src/mame/video/k053244_k053245.cpp", + MAME_DIR .. "src/mame/video/k053244_k053245.h", + MAME_DIR .. "src/mame/video/k053246_k053247_k055673.cpp", + MAME_DIR .. "src/mame/video/k053246_k053247_k055673.h", + MAME_DIR .. "src/mame/video/k055555.cpp", + MAME_DIR .. "src/mame/video/k055555.h", + MAME_DIR .. "src/mame/video/k054000.cpp", + MAME_DIR .. "src/mame/video/k054000.h", + MAME_DIR .. "src/mame/video/k054338.cpp", + MAME_DIR .. "src/mame/video/k054338.h", + MAME_DIR .. "src/mame/video/k053936.cpp", + MAME_DIR .. "src/mame/video/k053936.h", + MAME_DIR .. "src/mame/video/k001006.cpp", + MAME_DIR .. "src/mame/video/k001006.h", + MAME_DIR .. "src/mame/video/k001005.cpp", + MAME_DIR .. "src/mame/video/k001005.h", + MAME_DIR .. "src/mame/video/k001604.cpp", + MAME_DIR .. "src/mame/video/k001604.h", + MAME_DIR .. "src/mame/video/k057714.cpp", + MAME_DIR .. "src/mame/video/k057714.h", +} + +createMAMEProjects(_target, _subtarget, "matic") +files { + MAME_DIR .. "src/mame/drivers/barata.cpp", +} + +createMAMEProjects(_target, _subtarget, "maygay") +files { + MAME_DIR .. "src/mame/drivers/maygay1b.cpp", + MAME_DIR .. "src/mame/includes/maygay1b.h", + MAME_DIR .. "src/mame/drivers/maygay1b.hxx", + MAME_DIR .. "src/mame/drivers/maygayv1.cpp", + MAME_DIR .. "src/mame/drivers/maygayep.cpp", + MAME_DIR .. "src/mame/drivers/maygaysw.cpp", + MAME_DIR .. "src/mame/drivers/mmm.cpp", +} + +createMAMEProjects(_target, _subtarget, "meadows") +files { + MAME_DIR .. "src/mame/drivers/lazercmd.cpp", + MAME_DIR .. "src/mame/includes/lazercmd.h", + MAME_DIR .. "src/mame/video/lazercmd.cpp", + MAME_DIR .. "src/mame/drivers/meadwttl.cpp", + MAME_DIR .. "src/mame/drivers/meadows.cpp", + MAME_DIR .. "src/mame/includes/meadows.h", + MAME_DIR .. "src/mame/audio/meadows.cpp", + MAME_DIR .. "src/mame/video/meadows.cpp", + MAME_DIR .. "src/mame/drivers/warpsped.cpp", +} + +createMAMEProjects(_target, _subtarget, "merit") +files { + MAME_DIR .. "src/mame/drivers/mgames.cpp", + 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/mtouchxl.cpp", + MAME_DIR .. "src/mame/machine/at.h", + MAME_DIR .. "src/mame/machine/at.cpp", +} + +createMAMEProjects(_target, _subtarget, "metro") +files { + MAME_DIR .. "src/mame/drivers/hyprduel.cpp", + MAME_DIR .. "src/mame/drivers/metro.cpp", + MAME_DIR .. "src/mame/includes/metro.h", + MAME_DIR .. "src/mame/video/metro.cpp", + MAME_DIR .. "src/mame/drivers/rabbit.cpp", + MAME_DIR .. "src/mame/drivers/tmmjprd.cpp", +} + +createMAMEProjects(_target, _subtarget, "midcoin") +files { + MAME_DIR .. "src/mame/drivers/wallc.cpp", + MAME_DIR .. "src/mame/drivers/wink.cpp", + MAME_DIR .. "src/mame/drivers/24cdjuke.cpp", +} + +createMAMEProjects(_target, _subtarget, "midw8080") +files { + MAME_DIR .. "src/mame/drivers/8080bw.cpp", + MAME_DIR .. "src/mame/includes/8080bw.h", + MAME_DIR .. "src/mame/audio/8080bw.cpp", + MAME_DIR .. "src/mame/video/8080bw.cpp", + MAME_DIR .. "src/mame/drivers/m79amb.cpp", + MAME_DIR .. "src/mame/includes/m79amb.h", + MAME_DIR .. "src/mame/audio/m79amb.cpp", + MAME_DIR .. "src/mame/drivers/mw8080bw.cpp", + MAME_DIR .. "src/mame/includes/mw8080bw.h", + MAME_DIR .. "src/mame/machine/mw8080bw.cpp", + MAME_DIR .. "src/mame/audio/mw8080bw.cpp", + MAME_DIR .. "src/mame/video/mw8080bw.cpp", + MAME_DIR .. "src/mame/drivers/rotaryf.cpp", +} + +createMAMEProjects(_target, _subtarget, "midway") +files { + MAME_DIR .. "src/mame/drivers/astrocde.cpp", + MAME_DIR .. "src/mame/includes/astrocde.h", + MAME_DIR .. "src/mame/video/astrocde.cpp", + MAME_DIR .. "src/mame/drivers/atlantis.cpp", + MAME_DIR .. "src/mame/drivers/balsente.cpp", + MAME_DIR .. "src/mame/includes/balsente.h", + MAME_DIR .. "src/mame/machine/balsente.cpp", + MAME_DIR .. "src/mame/video/balsente.cpp", + MAME_DIR .. "src/mame/drivers/gridlee.cpp", + MAME_DIR .. "src/mame/includes/gridlee.h", + MAME_DIR .. "src/mame/audio/gridlee.cpp", + MAME_DIR .. "src/mame/video/gridlee.cpp", + MAME_DIR .. "src/mame/drivers/mcr.cpp", + MAME_DIR .. "src/mame/includes/mcr.h", + MAME_DIR .. "src/mame/machine/mcr.cpp", + MAME_DIR .. "src/mame/video/mcr.cpp", + MAME_DIR .. "src/mame/drivers/mcr3.cpp", + MAME_DIR .. "src/mame/includes/mcr3.h", + MAME_DIR .. "src/mame/video/mcr3.cpp", + MAME_DIR .. "src/mame/drivers/spyhuntertec.cpp", + MAME_DIR .. "src/mame/drivers/mcr68.cpp", + MAME_DIR .. "src/mame/includes/mcr68.h", + MAME_DIR .. "src/mame/machine/mcr68.cpp", + MAME_DIR .. "src/mame/video/mcr68.cpp", + MAME_DIR .. "src/mame/drivers/zwackery.cpp", + MAME_DIR .. "src/mame/drivers/midqslvr.cpp", + MAME_DIR .. "src/mame/drivers/midtunit.cpp", + MAME_DIR .. "src/mame/includes/midtunit.h", + MAME_DIR .. "src/mame/machine/midtunit.cpp", + MAME_DIR .. "src/mame/video/midtunit.cpp", + MAME_DIR .. "src/mame/drivers/midvunit.cpp", + MAME_DIR .. "src/mame/includes/midvunit.h", + MAME_DIR .. "src/mame/video/midvunit.cpp", + MAME_DIR .. "src/mame/drivers/midwunit.cpp", + MAME_DIR .. "src/mame/includes/midwunit.h", + MAME_DIR .. "src/mame/machine/midwunit.cpp", + MAME_DIR .. "src/mame/drivers/midxunit.cpp", + MAME_DIR .. "src/mame/includes/midxunit.h", + MAME_DIR .. "src/mame/machine/midxunit.cpp", + MAME_DIR .. "src/mame/drivers/midyunit.cpp", + MAME_DIR .. "src/mame/includes/midyunit.h", + MAME_DIR .. "src/mame/machine/midyunit.cpp", + MAME_DIR .. "src/mame/video/midyunit.cpp", + MAME_DIR .. "src/mame/drivers/midzeus.cpp", + MAME_DIR .. "src/mame/includes/midzeus.h", + MAME_DIR .. "src/mame/video/midzeus.cpp", + MAME_DIR .. "src/mame/drivers/mw18w.cpp", + MAME_DIR .. "src/mame/drivers/mwsub.cpp", + MAME_DIR .. "src/mame/drivers/omegrace.cpp", + MAME_DIR .. "src/mame/drivers/pinball2k.cpp", + MAME_DIR .. "src/mame/drivers/seattle.cpp", + MAME_DIR .. "src/mame/drivers/sspeedr.cpp", + MAME_DIR .. "src/mame/includes/sspeedr.h", + MAME_DIR .. "src/mame/video/sspeedr.cpp", + MAME_DIR .. "src/mame/drivers/starrider.cpp", + MAME_DIR .. "src/mame/drivers/tmaster.cpp", + MAME_DIR .. "src/mame/drivers/vegas.cpp", + MAME_DIR .. "src/mame/drivers/wmg.cpp", + MAME_DIR .. "src/mame/drivers/williams.cpp", + MAME_DIR .. "src/mame/includes/williams.h", + MAME_DIR .. "src/mame/machine/williams.cpp", + MAME_DIR .. "src/mame/audio/williams.cpp", + MAME_DIR .. "src/mame/audio/williams.h", + MAME_DIR .. "src/mame/video/williams.cpp", + MAME_DIR .. "src/mame/machine/midwayic.cpp", + MAME_DIR .. "src/mame/machine/midwayic.h", + MAME_DIR .. "src/mame/audio/midway.cpp", + MAME_DIR .. "src/mame/audio/midway.h", + MAME_DIR .. "src/mame/audio/csd.cpp", + MAME_DIR .. "src/mame/audio/csd.h", + MAME_DIR .. "src/mame/audio/sente6vb.cpp", + MAME_DIR .. "src/mame/audio/sente6vb.h", +} + +createMAMEProjects(_target, _subtarget, "namco") +files { + MAME_DIR .. "src/mame/drivers/20pacgal.cpp", + MAME_DIR .. "src/mame/includes/20pacgal.h", + MAME_DIR .. "src/mame/video/20pacgal.cpp", + MAME_DIR .. "src/mame/drivers/30test.cpp", + MAME_DIR .. "src/mame/drivers/baraduke.cpp", + MAME_DIR .. "src/mame/includes/baraduke.h", + MAME_DIR .. "src/mame/video/baraduke.cpp", + MAME_DIR .. "src/mame/drivers/cswat.cpp", + MAME_DIR .. "src/mame/drivers/dambustr.cpp", + MAME_DIR .. "src/mame/drivers/dkmb.cpp", + MAME_DIR .. "src/mame/drivers/gal3.cpp", + MAME_DIR .. "src/mame/drivers/galaga.cpp", + MAME_DIR .. "src/mame/includes/galaga.h", + MAME_DIR .. "src/mame/audio/galaga.cpp", + MAME_DIR .. "src/mame/video/galaga.cpp", + MAME_DIR .. "src/mame/video/bosco.cpp", + MAME_DIR .. "src/mame/includes/bosco.h", + MAME_DIR .. "src/mame/video/digdug.cpp", + MAME_DIR .. "src/mame/includes/digdug.h", + MAME_DIR .. "src/mame/machine/xevious.cpp", + MAME_DIR .. "src/mame/includes/xevious.h", + MAME_DIR .. "src/mame/video/xevious.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/drivers/galaxold.cpp", + MAME_DIR .. "src/mame/includes/galaxold.h", + MAME_DIR .. "src/mame/machine/galaxold.cpp", + MAME_DIR .. "src/mame/video/galaxold.cpp", + MAME_DIR .. "src/mame/drivers/gaplus.cpp", + MAME_DIR .. "src/mame/includes/gaplus.h", + MAME_DIR .. "src/mame/machine/gaplus.cpp", + MAME_DIR .. "src/mame/video/gaplus.cpp", + MAME_DIR .. "src/mame/drivers/kungfur.cpp", + MAME_DIR .. "src/mame/drivers/mappy.cpp", + MAME_DIR .. "src/mame/includes/mappy.h", + MAME_DIR .. "src/mame/video/mappy.cpp", + MAME_DIR .. "src/mame/drivers/namcofl.cpp", + MAME_DIR .. "src/mame/includes/namcofl.h", + MAME_DIR .. "src/mame/video/namcofl.cpp", + MAME_DIR .. "src/mame/drivers/namcona1.cpp", + MAME_DIR .. "src/mame/includes/namcona1.h", + MAME_DIR .. "src/mame/video/namcona1.cpp", + MAME_DIR .. "src/mame/drivers/namconb1.cpp", + MAME_DIR .. "src/mame/includes/namconb1.h", + MAME_DIR .. "src/mame/video/namconb1.cpp", + MAME_DIR .. "src/mame/drivers/namcond1.cpp", + MAME_DIR .. "src/mame/includes/namcond1.h", + MAME_DIR .. "src/mame/machine/namcond1.cpp", + MAME_DIR .. "src/mame/video/ygv608.cpp", + MAME_DIR .. "src/mame/video/ygv608.h", + MAME_DIR .. "src/mame/drivers/namcops2.cpp", + MAME_DIR .. "src/mame/drivers/namcos1.cpp", + MAME_DIR .. "src/mame/includes/namcos1.h", + MAME_DIR .. "src/mame/machine/namcos1.cpp", + MAME_DIR .. "src/mame/video/namcos1.cpp", + MAME_DIR .. "src/mame/drivers/namcos1b.cpp", + MAME_DIR .. "src/mame/drivers/namcos10.cpp", + MAME_DIR .. "src/mame/machine/ns10crypt.cpp", + MAME_DIR .. "src/mame/machine/ns10crypt.h", + MAME_DIR .. "src/mame/drivers/namcos11.cpp", + MAME_DIR .. "src/mame/machine/ns11prot.cpp", + MAME_DIR .. "src/mame/machine/ns11prot.h", + MAME_DIR .. "src/mame/drivers/namcos12.cpp", + MAME_DIR .. "src/mame/machine/namco_settings.cpp", + MAME_DIR .. "src/mame/machine/namco_settings.h", + MAME_DIR .. "src/mame/drivers/namcos2.cpp", + MAME_DIR .. "src/mame/includes/namcos2.h", + MAME_DIR .. "src/mame/machine/namcos2.cpp", + MAME_DIR .. "src/mame/video/namcos2.cpp", + MAME_DIR .. "src/mame/video/namco_c169roz.cpp", + MAME_DIR .. "src/mame/video/namco_c169roz.h", + MAME_DIR .. "src/mame/video/namco_c355spr.cpp", + MAME_DIR .. "src/mame/video/namco_c355spr.h", + MAME_DIR .. "src/mame/video/namco_c123tmap.cpp", + MAME_DIR .. "src/mame/video/namco_c123tmap.h", + MAME_DIR .. "src/mame/video/namcos2_sprite.cpp", + MAME_DIR .. "src/mame/video/namcos2_sprite.h", + MAME_DIR .. "src/mame/video/namcos2_roz.cpp", + MAME_DIR .. "src/mame/video/namcos2_roz.h", + MAME_DIR .. "src/mame/drivers/namcos21.cpp", + MAME_DIR .. "src/mame/drivers/namcos21_de.cpp", + MAME_DIR .. "src/mame/drivers/namcos21_c67.cpp", + MAME_DIR .. "src/mame/video/namcos21_3d.cpp", + MAME_DIR .. "src/mame/video/namcos21_3d.h", + MAME_DIR .. "src/mame/machine/namcos21_dsp.cpp", + MAME_DIR .. "src/mame/machine/namcos21_dsp.h", + MAME_DIR .. "src/mame/machine/namcos21_dsp_c67.cpp", + MAME_DIR .. "src/mame/machine/namcos21_dsp_c67.h", + MAME_DIR .. "src/mame/machine/namco_c67.cpp", + MAME_DIR .. "src/mame/machine/namco_c67.h", + MAME_DIR .. "src/mame/drivers/namcos22.cpp", + MAME_DIR .. "src/mame/includes/namcos22.h", + MAME_DIR .. "src/mame/video/namcos22.cpp", + MAME_DIR .. "src/mame/drivers/namcos23.cpp", + MAME_DIR .. "src/mame/drivers/namcos86.cpp", + MAME_DIR .. "src/mame/includes/namcos86.h", + MAME_DIR .. "src/mame/video/namcos86.cpp", + MAME_DIR .. "src/mame/drivers/pacland.cpp", + MAME_DIR .. "src/mame/includes/pacland.h", + MAME_DIR .. "src/mame/video/pacland.cpp", + MAME_DIR .. "src/mame/drivers/polepos.cpp", + MAME_DIR .. "src/mame/includes/polepos.h", + MAME_DIR .. "src/mame/audio/polepos.cpp", + MAME_DIR .. "src/mame/audio/polepos.h", + MAME_DIR .. "src/mame/video/polepos.cpp", + MAME_DIR .. "src/mame/drivers/rallyx.cpp", + MAME_DIR .. "src/mame/includes/rallyx.h", + MAME_DIR .. "src/mame/video/rallyx.cpp", + MAME_DIR .. "src/mame/drivers/shootaway2.cpp", + MAME_DIR .. "src/mame/drivers/skykid.cpp", + MAME_DIR .. "src/mame/includes/skykid.h", + MAME_DIR .. "src/mame/video/skykid.cpp", + MAME_DIR .. "src/mame/drivers/tankbatt.cpp", + MAME_DIR .. "src/mame/includes/tankbatt.h", + MAME_DIR .. "src/mame/video/tankbatt.cpp", + MAME_DIR .. "src/mame/drivers/tceptor.cpp", + MAME_DIR .. "src/mame/includes/tceptor.h", + MAME_DIR .. "src/mame/video/tceptor.cpp", + MAME_DIR .. "src/mame/drivers/toypop.cpp", + MAME_DIR .. "src/mame/drivers/turrett.cpp", + MAME_DIR .. "src/mame/includes/turrett.h", + MAME_DIR .. "src/mame/audio/turrett.cpp", + MAME_DIR .. "src/mame/video/turrett.cpp", + MAME_DIR .. "src/mame/drivers/warpwarp.cpp", + MAME_DIR .. "src/mame/includes/warpwarp.h", + MAME_DIR .. "src/mame/audio/geebee.cpp", + MAME_DIR .. "src/mame/audio/geebee.h", + MAME_DIR .. "src/mame/audio/warpwarp.cpp", + MAME_DIR .. "src/mame/audio/warpwarp.h", + MAME_DIR .. "src/mame/video/warpwarp.cpp", + MAME_DIR .. "src/mame/machine/c117.cpp", + MAME_DIR .. "src/mame/machine/c117.h", + MAME_DIR .. "src/mame/machine/namcoio.cpp", + MAME_DIR .. "src/mame/machine/namcoio.h", + MAME_DIR .. "src/mame/machine/namco06.cpp", + MAME_DIR .. "src/mame/machine/namco06.h", + MAME_DIR .. "src/mame/machine/namco50.cpp", + MAME_DIR .. "src/mame/machine/namco50.h", + MAME_DIR .. "src/mame/machine/namco51.cpp", + MAME_DIR .. "src/mame/machine/namco51.h", + MAME_DIR .. "src/mame/machine/namco53.cpp", + MAME_DIR .. "src/mame/machine/namco53.h", + MAME_DIR .. "src/mame/machine/namco62.cpp", + MAME_DIR .. "src/mame/machine/namco62.h", + MAME_DIR .. "src/mame/machine/namco65.cpp", + MAME_DIR .. "src/mame/machine/namco65.h", + MAME_DIR .. "src/mame/machine/namco68.cpp", + MAME_DIR .. "src/mame/machine/namco68.h", + MAME_DIR .. "src/mame/machine/namcomcu.cpp", + MAME_DIR .. "src/mame/machine/namcomcu.h", + MAME_DIR .. "src/mame/machine/namcoio_gearbox.cpp", + MAME_DIR .. "src/mame/machine/namcoio_gearbox.h", + MAME_DIR .. "src/mame/machine/namco_c148.cpp", + MAME_DIR .. "src/mame/machine/namco_c148.h", + MAME_DIR .. "src/mame/machine/namco_c139.cpp", + MAME_DIR .. "src/mame/machine/namco_c139.h", + MAME_DIR .. "src/mame/audio/namco52.cpp", + MAME_DIR .. "src/mame/audio/namco52.h", + MAME_DIR .. "src/mame/audio/namco54.cpp", + MAME_DIR .. "src/mame/audio/namco54.h", + MAME_DIR .. "src/mame/video/namco_c116.cpp", + MAME_DIR .. "src/mame/video/namco_c116.h", + MAME_DIR .. "src/mame/video/c45.cpp", + MAME_DIR .. "src/mame/video/c45.h", +} + +createMAMEProjects(_target, _subtarget, "nasco") +files { + MAME_DIR .. "src/mame/drivers/crgolf.cpp", + MAME_DIR .. "src/mame/includes/crgolf.h", + MAME_DIR .. "src/mame/video/crgolf.cpp", + MAME_DIR .. "src/mame/drivers/himesiki.cpp", + MAME_DIR .. "src/mame/includes/himesiki.h", + MAME_DIR .. "src/mame/video/himesiki.cpp", + MAME_DIR .. "src/mame/drivers/suprgolf.cpp", +} + +createMAMEProjects(_target, _subtarget, "neogeo") +files { + MAME_DIR .. "src/mame/drivers/neogeo.cpp", + MAME_DIR .. "src/mame/includes/neogeo.h", + MAME_DIR .. "src/mame/video/neogeo.cpp", + MAME_DIR .. "src/mame/drivers/neopcb.cpp", + MAME_DIR .. "src/mame/video/neogeo_spr.cpp", + MAME_DIR .. "src/mame/video/neogeo_spr.h", + MAME_DIR .. "src/mame/machine/ng_memcard.cpp", + MAME_DIR .. "src/mame/machine/ng_memcard.h", +} + +createMAMEProjects(_target, _subtarget, "nichibut") +files { + MAME_DIR .. "src/mame/drivers/armedf.cpp", + MAME_DIR .. "src/mame/includes/armedf.h", + MAME_DIR .. "src/mame/video/armedf.cpp", + MAME_DIR .. "src/mame/drivers/cclimber.cpp", + MAME_DIR .. "src/mame/includes/cclimber.h", + MAME_DIR .. "src/mame/machine/cclimber.cpp", + MAME_DIR .. "src/mame/audio/cclimber.cpp", + MAME_DIR .. "src/mame/audio/cclimber.h", + MAME_DIR .. "src/mame/video/cclimber.cpp", + MAME_DIR .. "src/mame/drivers/clshroad.cpp", + MAME_DIR .. "src/mame/includes/clshroad.h", + MAME_DIR .. "src/mame/video/clshroad.cpp", + MAME_DIR .. "src/mame/drivers/csplayh5.cpp", + MAME_DIR .. "src/mame/drivers/cop01.cpp", + MAME_DIR .. "src/mame/includes/cop01.h", + MAME_DIR .. "src/mame/video/cop01.cpp", + MAME_DIR .. "src/mame/drivers/dacholer.cpp", + MAME_DIR .. "src/mame/drivers/galivan.cpp", + MAME_DIR .. "src/mame/includes/galivan.h", + MAME_DIR .. "src/mame/video/galivan.cpp", + MAME_DIR .. "src/mame/drivers/gomoku.cpp", + MAME_DIR .. "src/mame/includes/gomoku.h", + MAME_DIR .. "src/mame/audio/gomoku.cpp", + MAME_DIR .. "src/mame/audio/gomoku.h", + MAME_DIR .. "src/mame/video/gomoku.cpp", + MAME_DIR .. "src/mame/drivers/hyhoo.cpp", + MAME_DIR .. "src/mame/includes/hyhoo.h", + MAME_DIR .. "src/mame/video/hyhoo.cpp", + MAME_DIR .. "src/mame/drivers/jangou.cpp", + MAME_DIR .. "src/mame/drivers/magmax.cpp", + MAME_DIR .. "src/mame/includes/magmax.h", + MAME_DIR .. "src/mame/video/magmax.cpp", + MAME_DIR .. "src/mame/drivers/nbmj8688.cpp", + MAME_DIR .. "src/mame/includes/nbmj8688.h", + MAME_DIR .. "src/mame/video/nbmj8688.cpp", + MAME_DIR .. "src/mame/drivers/nbmj8891.cpp", + MAME_DIR .. "src/mame/includes/nbmj8891.h", + MAME_DIR .. "src/mame/video/nbmj8891.cpp", + MAME_DIR .. "src/mame/drivers/nbmj8900.cpp", + MAME_DIR .. "src/mame/includes/nbmj8900.h", + MAME_DIR .. "src/mame/video/nbmj8900.cpp", + MAME_DIR .. "src/mame/drivers/nbmj8991.cpp", + MAME_DIR .. "src/mame/includes/nbmj8991.h", + MAME_DIR .. "src/mame/video/nbmj8991.cpp", + MAME_DIR .. "src/mame/drivers/nbmj9195.cpp", + MAME_DIR .. "src/mame/includes/nbmj9195.h", + MAME_DIR .. "src/mame/video/nbmj9195.cpp", + MAME_DIR .. "src/mame/drivers/nightgal.cpp", + MAME_DIR .. "src/mame/drivers/nichild.cpp", + MAME_DIR .. "src/mame/audio/nichisnd.cpp", + MAME_DIR .. "src/mame/audio/nichisnd.h", + MAME_DIR .. "src/mame/drivers/niyanpai.cpp", + MAME_DIR .. "src/mame/includes/niyanpai.h", + MAME_DIR .. "src/mame/video/niyanpai.cpp", + MAME_DIR .. "src/mame/drivers/pastelg.cpp", + MAME_DIR .. "src/mame/includes/pastelg.h", + MAME_DIR .. "src/mame/video/pastelg.cpp", + MAME_DIR .. "src/mame/drivers/seicross.cpp", + MAME_DIR .. "src/mame/includes/seicross.h", + MAME_DIR .. "src/mame/video/seicross.cpp", + MAME_DIR .. "src/mame/drivers/terracre.cpp", + MAME_DIR .. "src/mame/includes/terracre.h", + MAME_DIR .. "src/mame/video/terracre.cpp", + MAME_DIR .. "src/mame/drivers/tubep.cpp", + MAME_DIR .. "src/mame/includes/tubep.h", + MAME_DIR .. "src/mame/video/tubep.cpp", + MAME_DIR .. "src/mame/drivers/wiping.cpp", + MAME_DIR .. "src/mame/includes/wiping.h", + MAME_DIR .. "src/mame/audio/wiping.cpp", + MAME_DIR .. "src/mame/audio/wiping.h", + MAME_DIR .. "src/mame/video/wiping.cpp", + MAME_DIR .. "src/mame/machine/nb1412m2.cpp", + MAME_DIR .. "src/mame/machine/nb1412m2.h", + MAME_DIR .. "src/mame/machine/nb1413m3.cpp", + MAME_DIR .. "src/mame/machine/nb1413m3.h", + MAME_DIR .. "src/mame/machine/nb1414m4.cpp", + MAME_DIR .. "src/mame/machine/nb1414m4.h", +} + +createMAMEProjects(_target, _subtarget, "nintendo") +files { + MAME_DIR .. "src/mame/drivers/cham24.cpp", + MAME_DIR .. "src/mame/drivers/dkong.cpp", + MAME_DIR .. "src/mame/includes/dkong.h", + MAME_DIR .. "src/mame/audio/dkong.cpp", + MAME_DIR .. "src/mame/video/dkong.cpp", + MAME_DIR .. "src/mame/drivers/mario.cpp", + MAME_DIR .. "src/mame/includes/mario.h", + MAME_DIR .. "src/mame/audio/nl_mario.cpp", + MAME_DIR .. "src/mame/audio/nl_mario.h", + MAME_DIR .. "src/mame/audio/mario.cpp", + MAME_DIR .. "src/mame/video/mario.cpp", + MAME_DIR .. "src/mame/drivers/mmagic.cpp", + MAME_DIR .. "src/mame/drivers/multigam.cpp", + MAME_DIR .. "src/mame/drivers/n8080.cpp", + MAME_DIR .. "src/mame/includes/n8080.h", + MAME_DIR .. "src/mame/audio/n8080.cpp", + MAME_DIR .. "src/mame/video/n8080.cpp", + MAME_DIR .. "src/mame/drivers/nss.cpp", + MAME_DIR .. "src/mame/machine/snes.cpp", + MAME_DIR .. "src/mame/audio/snes_snd.cpp", + MAME_DIR .. "src/mame/audio/snes_snd.h", + MAME_DIR .. "src/mame/drivers/playch10.cpp", + MAME_DIR .. "src/mame/includes/playch10.h", + MAME_DIR .. "src/mame/machine/playch10.cpp", + MAME_DIR .. "src/mame/video/playch10.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/drivers/punchout.cpp", + MAME_DIR .. "src/mame/includes/punchout.h", + MAME_DIR .. "src/mame/video/punchout.cpp", + MAME_DIR .. "src/mame/drivers/famibox.cpp", + MAME_DIR .. "src/mame/drivers/sfcbox.cpp", + MAME_DIR .. "src/mame/drivers/snesb.cpp", + MAME_DIR .. "src/mame/drivers/spacefb.cpp", + MAME_DIR .. "src/mame/includes/spacefb.h", + MAME_DIR .. "src/mame/audio/spacefb.cpp", + MAME_DIR .. "src/mame/video/spacefb.cpp", + MAME_DIR .. "src/mame/drivers/vsnes.cpp", + MAME_DIR .. "src/mame/includes/vsnes.h", + MAME_DIR .. "src/mame/machine/vsnes.cpp", +} + +createMAMEProjects(_target, _subtarget, "nix") +files { + MAME_DIR .. "src/mame/drivers/fitfight.cpp", + MAME_DIR .. "src/mame/includes/fitfight.h", + MAME_DIR .. "src/mame/video/fitfight.cpp", + MAME_DIR .. "src/mame/drivers/pirates.cpp", + MAME_DIR .. "src/mame/includes/pirates.h", + MAME_DIR .. "src/mame/video/pirates.cpp", +} + +createMAMEProjects(_target, _subtarget, "nmk") +files { + MAME_DIR .. "src/mame/drivers/acommand.cpp", + MAME_DIR .. "src/mame/drivers/cultures.cpp", + MAME_DIR .. "src/mame/drivers/ddealer.cpp", + MAME_DIR .. "src/mame/drivers/jalmah.cpp", + MAME_DIR .. "src/mame/drivers/macrossp.cpp", + MAME_DIR .. "src/mame/includes/macrossp.h", + MAME_DIR .. "src/mame/video/macrossp.cpp", + MAME_DIR .. "src/mame/drivers/nmk16.cpp", + MAME_DIR .. "src/mame/includes/nmk16.h", + MAME_DIR .. "src/mame/machine/nmk004.cpp", + MAME_DIR .. "src/mame/machine/nmk004.h", + MAME_DIR .. "src/mame/video/nmk16.cpp", + MAME_DIR .. "src/mame/drivers/nmkmedal.cpp", + MAME_DIR .. "src/mame/drivers/quizdna.cpp", + MAME_DIR .. "src/mame/includes/quizdna.h", + MAME_DIR .. "src/mame/video/quizdna.cpp", + MAME_DIR .. "src/mame/drivers/quizpani.cpp", + MAME_DIR .. "src/mame/includes/quizpani.h", + MAME_DIR .. "src/mame/video/quizpani.cpp", +} + +createMAMEProjects(_target, _subtarget, "olympia") +files { + MAME_DIR .. "src/mame/drivers/dday.cpp", + MAME_DIR .. "src/mame/includes/dday.h", + MAME_DIR .. "src/mame/video/dday.cpp", + MAME_DIR .. "src/mame/drivers/lbeach.cpp", + MAME_DIR .. "src/mame/drivers/monzagp.cpp", + MAME_DIR .. "src/mame/drivers/portrait.cpp", + MAME_DIR .. "src/mame/includes/portrait.h", + MAME_DIR .. "src/mame/video/portrait.cpp", + MAME_DIR .. "src/mame/drivers/vega.cpp", +} + +createMAMEProjects(_target, _subtarget, "omori") +files { + MAME_DIR .. "src/mame/drivers/battlex.cpp", + MAME_DIR .. "src/mame/includes/battlex.h", + MAME_DIR .. "src/mame/video/battlex.cpp", + MAME_DIR .. "src/mame/drivers/carjmbre.cpp", + MAME_DIR .. "src/mame/drivers/popper.cpp", + MAME_DIR .. "src/mame/drivers/spaceg.cpp", +} + +createMAMEProjects(_target, _subtarget, "orca") +files { + MAME_DIR .. "src/mame/drivers/espial.cpp", + MAME_DIR .. "src/mame/includes/espial.h", + MAME_DIR .. "src/mame/video/espial.cpp", + MAME_DIR .. "src/mame/drivers/funkybee.cpp", + MAME_DIR .. "src/mame/includes/funkybee.h", + MAME_DIR .. "src/mame/video/funkybee.cpp", + MAME_DIR .. "src/mame/drivers/marineb.cpp", + MAME_DIR .. "src/mame/includes/marineb.h", + MAME_DIR .. "src/mame/video/marineb.cpp", + MAME_DIR .. "src/mame/video/orca40c.cpp", + MAME_DIR .. "src/mame/video/orca40c.h", + MAME_DIR .. "src/mame/drivers/vastar.cpp", + MAME_DIR .. "src/mame/includes/vastar.h", + MAME_DIR .. "src/mame/video/vastar.cpp", + MAME_DIR .. "src/mame/drivers/zodiack.cpp", + MAME_DIR .. "src/mame/includes/zodiack.h", +} + +createMAMEProjects(_target, _subtarget, "pacific") +files { + MAME_DIR .. "src/mame/drivers/mrflea.cpp", + MAME_DIR .. "src/mame/includes/mrflea.h", + MAME_DIR .. "src/mame/video/mrflea.cpp", + MAME_DIR .. "src/mame/drivers/thief.cpp", + MAME_DIR .. "src/mame/includes/thief.h", + MAME_DIR .. "src/mame/video/thief.cpp", +} + +createMAMEProjects(_target, _subtarget, "pacman") +files { + MAME_DIR .. "src/mame/drivers/jrpacman.cpp", + MAME_DIR .. "src/mame/drivers/pacman.cpp", + MAME_DIR .. "src/mame/includes/pacman.h", + MAME_DIR .. "src/mame/video/pacman.cpp", + MAME_DIR .. "src/mame/machine/epos.cpp", + MAME_DIR .. "src/mame/machine/epos.h", + MAME_DIR .. "src/mame/machine/jumpshot.cpp", + MAME_DIR .. "src/mame/machine/jumpshot.h", + MAME_DIR .. "src/mame/machine/pacplus.cpp", + MAME_DIR .. "src/mame/machine/pacplus.h", + MAME_DIR .. "src/mame/drivers/pengo.cpp", +} + +createMAMEProjects(_target, _subtarget, "pce") +files { + MAME_DIR .. "src/mame/drivers/ggconnie.cpp", + MAME_DIR .. "src/mame/drivers/paranoia.cpp", + MAME_DIR .. "src/mame/drivers/tourvis.cpp", + MAME_DIR .. "src/mame/drivers/uapce.cpp", + MAME_DIR .. "src/mame/machine/pcecommn.cpp", + MAME_DIR .. "src/mame/machine/pcecommn.h", +} + +createMAMEProjects(_target, _subtarget, "phoenix") +files { + MAME_DIR .. "src/mame/drivers/naughtyb.cpp", + MAME_DIR .. "src/mame/includes/naughtyb.h", + MAME_DIR .. "src/mame/video/naughtyb.cpp", + MAME_DIR .. "src/mame/drivers/phoenix.cpp", + MAME_DIR .. "src/mame/includes/phoenix.h", + MAME_DIR .. "src/mame/audio/phoenix.cpp", + MAME_DIR .. "src/mame/audio/phoenix.h", + MAME_DIR .. "src/mame/video/phoenix.cpp", + MAME_DIR .. "src/mame/drivers/safarir.cpp", + MAME_DIR .. "src/mame/audio/pleiads.cpp", + MAME_DIR .. "src/mame/audio/pleiads.h", +} + +createMAMEProjects(_target, _subtarget, "playmark") +files { + MAME_DIR .. "src/mame/drivers/drtomy.cpp", + MAME_DIR .. "src/mame/drivers/playmark.cpp", + MAME_DIR .. "src/mame/includes/playmark.h", + MAME_DIR .. "src/mame/video/playmark.cpp", + MAME_DIR .. "src/mame/drivers/powerbal.cpp", + MAME_DIR .. "src/mame/drivers/sderby.cpp", + MAME_DIR .. "src/mame/includes/sderby.h", + MAME_DIR .. "src/mame/video/sderby.cpp", + MAME_DIR .. "src/mame/drivers/sslam.cpp", + MAME_DIR .. "src/mame/includes/sslam.h", + MAME_DIR .. "src/mame/video/sslam.cpp", +} + +createMAMEProjects(_target, _subtarget, "promat") +files { + MAME_DIR .. "src/mame/drivers/1945kiii.cpp", + MAME_DIR .. "src/mame/drivers/3x3puzzl.cpp", + MAME_DIR .. "src/mame/drivers/gstream.cpp", +} + +createMAMEProjects(_target, _subtarget, "psikyo") +files { + MAME_DIR .. "src/mame/drivers/psikyo.cpp", + MAME_DIR .. "src/mame/includes/psikyo.h", + MAME_DIR .. "src/mame/video/psikyo.cpp", + MAME_DIR .. "src/mame/drivers/psikyo4.cpp", + MAME_DIR .. "src/mame/includes/psikyo4.h", + MAME_DIR .. "src/mame/video/psikyo4.cpp", + MAME_DIR .. "src/mame/drivers/psikyosh.cpp", + MAME_DIR .. "src/mame/includes/psikyosh.h", + MAME_DIR .. "src/mame/video/psikyosh.cpp", +} + +createMAMEProjects(_target, _subtarget, "ramtek") +files { + MAME_DIR .. "src/mame/drivers/hitme.cpp", + MAME_DIR .. "src/mame/includes/hitme.h", + MAME_DIR .. "src/mame/audio/hitme.cpp", + MAME_DIR .. "src/mame/drivers/ramtek.cpp", + MAME_DIR .. "src/mame/drivers/starcrus.cpp", + MAME_DIR .. "src/mame/includes/starcrus.h", + MAME_DIR .. "src/mame/video/starcrus.cpp", +} + +createMAMEProjects(_target, _subtarget, "rare") +files { + MAME_DIR .. "src/mame/drivers/btoads.cpp", + MAME_DIR .. "src/mame/includes/btoads.h", + MAME_DIR .. "src/mame/video/btoads.cpp", + MAME_DIR .. "src/mame/drivers/kinst.cpp", + MAME_DIR .. "src/mame/drivers/xtheball.cpp", +} + +createMAMEProjects(_target, _subtarget, "sanritsu") +files { + MAME_DIR .. "src/mame/drivers/appoooh.cpp", + MAME_DIR .. "src/mame/includes/appoooh.h", + MAME_DIR .. "src/mame/video/appoooh.cpp", + MAME_DIR .. "src/mame/drivers/bankp.cpp", + MAME_DIR .. "src/mame/includes/bankp.h", + MAME_DIR .. "src/mame/video/bankp.cpp", + MAME_DIR .. "src/mame/drivers/chinsan.cpp", + MAME_DIR .. "src/mame/drivers/drmicro.cpp", + MAME_DIR .. "src/mame/includes/drmicro.h", + MAME_DIR .. "src/mame/video/drmicro.cpp", + MAME_DIR .. "src/mame/drivers/jantotsu.cpp", + MAME_DIR .. "src/mame/drivers/mermaid.cpp", + MAME_DIR .. "src/mame/includes/mermaid.h", + MAME_DIR .. "src/mame/video/mermaid.cpp", + MAME_DIR .. "src/mame/drivers/mjkjidai.cpp", + MAME_DIR .. "src/mame/includes/mjkjidai.h", + MAME_DIR .. "src/mame/video/mjkjidai.cpp", + MAME_DIR .. "src/mame/drivers/ron.cpp", +} + +createMAMEProjects(_target, _subtarget, "sega") +files { + MAME_DIR .. "src/mame/drivers/angelkds.cpp", + MAME_DIR .. "src/mame/includes/angelkds.h", + MAME_DIR .. "src/mame/video/angelkds.cpp", + MAME_DIR .. "src/mame/drivers/bingoc.cpp", + MAME_DIR .. "src/mame/drivers/blockade.cpp", + MAME_DIR .. "src/mame/drivers/calorie.cpp", + MAME_DIR .. "src/mame/drivers/chihiro.cpp", + MAME_DIR .. "src/mame/includes/xbox_nv2a.h", + MAME_DIR .. "src/mame/video/xbox_nv2a.cpp", + MAME_DIR .. "src/mame/drivers/coolridr.cpp", + MAME_DIR .. "src/mame/drivers/deniam.cpp", + MAME_DIR .. "src/mame/includes/deniam.h", + MAME_DIR .. "src/mame/video/deniam.cpp", + MAME_DIR .. "src/mame/drivers/dotrikun.cpp", + MAME_DIR .. "src/mame/drivers/gpworld.cpp", + MAME_DIR .. "src/mame/drivers/hikaru.cpp", + MAME_DIR .. "src/mame/drivers/hshavoc.cpp", + MAME_DIR .. "src/mame/drivers/kopunch.cpp", + MAME_DIR .. "src/mame/includes/kopunch.h", + MAME_DIR .. "src/mame/video/kopunch.cpp", + MAME_DIR .. "src/mame/drivers/lindbergh.cpp", + MAME_DIR .. "src/mame/drivers/sderby2.cpp", + MAME_DIR .. "src/mame/machine/segabb.cpp", + MAME_DIR .. "src/mame/machine/segabb.h", + MAME_DIR .. "src/mame/machine/megadriv.cpp", + MAME_DIR .. "src/mame/includes/megadriv.h", + MAME_DIR .. "src/mame/drivers/megadriv_acbl.cpp", + MAME_DIR .. "src/mame/includes/megadriv_acbl.h", + MAME_DIR .. "src/mame/drivers/megaplay.cpp", + MAME_DIR .. "src/mame/drivers/megatech.cpp", + MAME_DIR .. "src/mame/drivers/calcune.cpp", + MAME_DIR .. "src/mame/drivers/model1.cpp", + MAME_DIR .. "src/mame/includes/model1.h", + MAME_DIR .. "src/mame/machine/model1.cpp", + MAME_DIR .. "src/mame/video/model1.cpp", + MAME_DIR .. "src/mame/machine/s32comm.cpp", + MAME_DIR .. "src/mame/machine/s32comm.h", + MAME_DIR .. "src/mame/machine/m1comm.cpp", + MAME_DIR .. "src/mame/machine/m1comm.h", + MAME_DIR .. "src/mame/machine/m2comm.cpp", + MAME_DIR .. "src/mame/machine/m2comm.h", + MAME_DIR .. "src/mame/audio/dsbz80.cpp", + MAME_DIR .. "src/mame/audio/dsbz80.h", + MAME_DIR .. "src/mame/drivers/model2.cpp", + MAME_DIR .. "src/mame/machine/model2.cpp", + MAME_DIR .. "src/mame/includes/model2.h", + MAME_DIR .. "src/mame/video/model2rd.hxx", + MAME_DIR .. "src/mame/video/model2.cpp", + MAME_DIR .. "src/mame/drivers/model3.cpp", + MAME_DIR .. "src/mame/includes/model3.h", + MAME_DIR .. "src/mame/video/model3.cpp", + MAME_DIR .. "src/mame/machine/model3.cpp", + MAME_DIR .. "src/mame/drivers/monacogp.cpp", + MAME_DIR .. "src/mame/drivers/naomi.cpp", + MAME_DIR .. "src/mame/includes/naomi.h", + MAME_DIR .. "src/mame/includes/dc.h", + MAME_DIR .. "src/mame/drivers/segasp.cpp", + MAME_DIR .. "src/mame/includes/segasp.h", + MAME_DIR .. "src/mame/machine/dc.cpp", + MAME_DIR .. "src/mame/drivers/y2.cpp", + MAME_DIR .. "src/mame/video/powervr2.cpp", + MAME_DIR .. "src/mame/video/powervr2.h", + MAME_DIR .. "src/mame/machine/naomi.cpp", + MAME_DIR .. "src/mame/machine/naomig1.cpp", + MAME_DIR .. "src/mame/machine/naomig1.h", + MAME_DIR .. "src/mame/machine/naomibd.cpp", + MAME_DIR .. "src/mame/machine/naomibd.h", + MAME_DIR .. "src/mame/machine/naomirom.cpp", + MAME_DIR .. "src/mame/machine/naomirom.h", + MAME_DIR .. "src/mame/machine/naomigd.cpp", + MAME_DIR .. "src/mame/machine/naomigd.h", + MAME_DIR .. "src/mame/machine/naomim1.cpp", + MAME_DIR .. "src/mame/machine/naomim1.h", + MAME_DIR .. "src/mame/machine/naomim2.cpp", + 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/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/awboard.cpp", + MAME_DIR .. "src/mame/machine/awboard.h", + MAME_DIR .. "src/mame/machine/mie.cpp", + MAME_DIR .. "src/mame/machine/mie.h", + MAME_DIR .. "src/mame/machine/maple-dc.cpp", + MAME_DIR .. "src/mame/machine/maple-dc.h", + MAME_DIR .. "src/mame/machine/mapledev.cpp", + MAME_DIR .. "src/mame/machine/mapledev.h", + MAME_DIR .. "src/mame/machine/dc-ctrl.cpp", + MAME_DIR .. "src/mame/machine/dc-ctrl.h", + MAME_DIR .. "src/mame/machine/jvs13551.cpp", + MAME_DIR .. "src/mame/machine/jvs13551.h", + MAME_DIR .. "src/mame/drivers/triforce.cpp", + MAME_DIR .. "src/mame/drivers/puckpkmn.cpp", + MAME_DIR .. "src/mame/drivers/segac2.cpp", + MAME_DIR .. "src/mame/drivers/segae.cpp", + MAME_DIR .. "src/mame/drivers/sms.cpp", + MAME_DIR .. "src/mame/includes/sms.h", + MAME_DIR .. "src/mame/machine/sms.cpp", + MAME_DIR .. "src/mame/drivers/sms_bootleg.cpp", + MAME_DIR .. "src/mame/drivers/shtzone.cpp", + MAME_DIR .. "src/mame/drivers/segacoin.cpp", + MAME_DIR .. "src/mame/drivers/segag80r.cpp", + MAME_DIR .. "src/mame/includes/segag80r.h", + MAME_DIR .. "src/mame/machine/segag80.cpp", + MAME_DIR .. "src/mame/machine/segag80.h", + MAME_DIR .. "src/mame/audio/segag80r.cpp", + MAME_DIR .. "src/mame/audio/segag80r.h", + MAME_DIR .. "src/mame/video/segag80r.cpp", + MAME_DIR .. "src/mame/drivers/segag80v.cpp", + MAME_DIR .. "src/mame/includes/segag80v.h", + MAME_DIR .. "src/mame/audio/segag80v.cpp", + MAME_DIR .. "src/mame/video/segag80v.cpp", + MAME_DIR .. "src/mame/drivers/segahang.cpp", + MAME_DIR .. "src/mame/includes/segahang.h", + MAME_DIR .. "src/mame/video/segahang.cpp", + MAME_DIR .. "src/mame/drivers/segajw.cpp", + MAME_DIR .. "src/mame/drivers/segald.cpp", + MAME_DIR .. "src/mame/drivers/segaorun.cpp", + MAME_DIR .. "src/mame/includes/segaorun.h", + MAME_DIR .. "src/mame/video/segaorun.cpp", + MAME_DIR .. "src/mame/drivers/segas16a.cpp", + MAME_DIR .. "src/mame/includes/segas16a.h", + MAME_DIR .. "src/mame/video/segas16a.cpp", + 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/drivers/segas18.cpp", + MAME_DIR .. "src/mame/includes/segas18.h", + MAME_DIR .. "src/mame/video/segas18.cpp", + MAME_DIR .. "src/mame/drivers/segas24.cpp", + MAME_DIR .. "src/mame/includes/segas24.h", + MAME_DIR .. "src/mame/video/segas24.cpp", + MAME_DIR .. "src/mame/drivers/segam1.cpp", + MAME_DIR .. "src/mame/drivers/segas32.cpp", + MAME_DIR .. "src/mame/includes/segas32.h", + MAME_DIR .. "src/mame/machine/segas32.cpp", + MAME_DIR .. "src/mame/video/segas32.cpp", + MAME_DIR .. "src/mame/drivers/segattl.cpp", + MAME_DIR .. "src/mame/drivers/segaufo.cpp", + MAME_DIR .. "src/mame/drivers/segaxbd.cpp", + MAME_DIR .. "src/mame/includes/segaxbd.h", + MAME_DIR .. "src/mame/video/segaxbd.cpp", + MAME_DIR .. "src/mame/drivers/segaybd.cpp", + MAME_DIR .. "src/mame/includes/segaybd.h", + MAME_DIR .. "src/mame/video/segaybd.cpp", + MAME_DIR .. "src/mame/includes/segaipt.h", + MAME_DIR .. "src/mame/drivers/sg1000a.cpp", + MAME_DIR .. "src/mame/drivers/stactics.cpp", + MAME_DIR .. "src/mame/includes/stactics.h", + MAME_DIR .. "src/mame/video/stactics.cpp", + MAME_DIR .. "src/mame/drivers/stv.cpp", + MAME_DIR .. "src/mame/includes/saturn.h", + MAME_DIR .. "src/mame/drivers/saturn.cpp", + MAME_DIR .. "src/mame/machine/saturn.cpp", + MAME_DIR .. "src/mame/machine/saturn_cdb.cpp", + MAME_DIR .. "src/mame/machine/saturn_cdb.h", + MAME_DIR .. "src/mame/includes/stv.h", + MAME_DIR .. "src/mame/machine/stvprot.cpp", + MAME_DIR .. "src/mame/machine/stvprot.h", + MAME_DIR .. "src/mame/machine/315-5838_317-0229_comp.cpp", + MAME_DIR .. "src/mame/machine/315-5838_317-0229_comp.h", + MAME_DIR .. "src/mame/drivers/suprloco.cpp", + MAME_DIR .. "src/mame/includes/suprloco.h", + MAME_DIR .. "src/mame/video/suprloco.cpp", + MAME_DIR .. "src/mame/drivers/system1.cpp", + MAME_DIR .. "src/mame/includes/system1.h", + MAME_DIR .. "src/mame/machine/segacrp2_device.cpp", + MAME_DIR .. "src/mame/machine/segacrp2_device.h", + MAME_DIR .. "src/mame/video/system1.cpp", + MAME_DIR .. "src/mame/drivers/system16.cpp", + MAME_DIR .. "src/mame/includes/system16.h", + MAME_DIR .. "src/mame/video/system16.cpp", + MAME_DIR .. "src/mame/drivers/timetrv.cpp", + MAME_DIR .. "src/mame/drivers/turbo.cpp", + MAME_DIR .. "src/mame/includes/turbo.h", + MAME_DIR .. "src/mame/audio/turbo.cpp", + MAME_DIR .. "src/mame/video/turbo.cpp", + MAME_DIR .. "src/mame/drivers/vicdual.cpp", + MAME_DIR .. "src/mame/includes/vicdual.h", + MAME_DIR .. "src/mame/audio/vicdual.cpp", + MAME_DIR .. "src/mame/audio/vicdual.h", + MAME_DIR .. "src/mame/audio/vicdual-97271p.cpp", + MAME_DIR .. "src/mame/audio/vicdual-97271p.h", + MAME_DIR .. "src/mame/video/vicdual.cpp", + MAME_DIR .. "src/mame/video/vicdual-97269pb.cpp", + MAME_DIR .. "src/mame/video/vicdual-97269pb.h", + MAME_DIR .. "src/mame/audio/carnival.cpp", + MAME_DIR .. "src/mame/audio/carnival.h", + MAME_DIR .. "src/mame/audio/depthch.cpp", + MAME_DIR .. "src/mame/audio/depthch.h", + MAME_DIR .. "src/mame/audio/invinco.cpp", + MAME_DIR .. "src/mame/audio/invinco.h", + MAME_DIR .. "src/mame/audio/pulsar.cpp", + MAME_DIR .. "src/mame/audio/pulsar.h", + MAME_DIR .. "src/mame/audio/tranqgun.cpp", + MAME_DIR .. "src/mame/audio/tranqgun.h", + MAME_DIR .. "src/mame/drivers/zaxxon.cpp", + MAME_DIR .. "src/mame/includes/zaxxon.h", + MAME_DIR .. "src/mame/audio/zaxxon.cpp", + MAME_DIR .. "src/mame/video/zaxxon.cpp", + MAME_DIR .. "src/mame/machine/315_5296.cpp", + MAME_DIR .. "src/mame/machine/315_5296.h", + MAME_DIR .. "src/mame/machine/315_5338a.cpp", + MAME_DIR .. "src/mame/machine/315_5338a.h", + MAME_DIR .. "src/mame/machine/315_5649.cpp", + MAME_DIR .. "src/mame/machine/315_5649.h", + MAME_DIR .. "src/mame/machine/model1io.cpp", + MAME_DIR .. "src/mame/machine/model1io.h", + MAME_DIR .. "src/mame/machine/model1io2.cpp", + MAME_DIR .. "src/mame/machine/model1io2.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/fddebug.cpp", + MAME_DIR .. "src/mame/machine/fddebug.h", + MAME_DIR .. "src/mame/machine/mc8123.cpp", + MAME_DIR .. "src/mame/machine/mc8123.h", + MAME_DIR .. "src/mame/machine/segaic16.cpp", + MAME_DIR .. "src/mame/machine/segaic16.h", + MAME_DIR .. "src/mame/audio/segasnd.cpp", + MAME_DIR .. "src/mame/audio/segasnd.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/video/sega16sp.cpp", + MAME_DIR .. "src/mame/video/sega16sp.h", + MAME_DIR .. "src/mame/video/segaic24.cpp", + MAME_DIR .. "src/mame/video/segaic24.h", + MAME_DIR .. "src/mame/machine/xbox.cpp", + MAME_DIR .. "src/mame/machine/xbox_usb.cpp", + MAME_DIR .. "src/mame/machine/xbox_pci.cpp", + MAME_DIR .. "src/mame/drivers/flashbeats.cpp", + MAME_DIR .. "src/mame/drivers/segaatom.cpp", +} + +createMAMEProjects(_target, _subtarget, "seibu") +files { + MAME_DIR .. "src/mame/drivers/airraid.cpp", + MAME_DIR .. "src/mame/drivers/bloodbro.cpp", + MAME_DIR .. "src/mame/includes/bloodbro.h", + MAME_DIR .. "src/mame/video/bloodbro.cpp", + MAME_DIR .. "src/mame/drivers/cabal.cpp", + MAME_DIR .. "src/mame/includes/cabal.h", + MAME_DIR .. "src/mame/video/cabal.cpp", + MAME_DIR .. "src/mame/drivers/darkmist.cpp", + MAME_DIR .. "src/mame/includes/darkmist.h", + MAME_DIR .. "src/mame/video/darkmist.cpp", + MAME_DIR .. "src/mame/drivers/dcon.cpp", + MAME_DIR .. "src/mame/includes/dcon.h", + MAME_DIR .. "src/mame/video/dcon.cpp", + MAME_DIR .. "src/mame/drivers/deadang.cpp", + MAME_DIR .. "src/mame/includes/deadang.h", + MAME_DIR .. "src/mame/video/deadang.cpp", + MAME_DIR .. "src/mame/drivers/dynduke.cpp", + MAME_DIR .. "src/mame/includes/dynduke.h", + MAME_DIR .. "src/mame/video/dynduke.cpp", + MAME_DIR .. "src/mame/drivers/feversoc.cpp", + MAME_DIR .. "src/mame/drivers/goal92.cpp", + MAME_DIR .. "src/mame/includes/goal92.h", + MAME_DIR .. "src/mame/video/goal92.cpp", + MAME_DIR .. "src/mame/drivers/goodejan.cpp", + MAME_DIR .. "src/mame/drivers/kncljoe.cpp", + MAME_DIR .. "src/mame/includes/kncljoe.h", + MAME_DIR .. "src/mame/video/kncljoe.cpp", + MAME_DIR .. "src/mame/drivers/legionna.cpp", + MAME_DIR .. "src/mame/includes/legionna.h", + MAME_DIR .. "src/mame/video/legionna.cpp", + MAME_DIR .. "src/mame/drivers/seicupbl.cpp", + MAME_DIR .. "src/mame/drivers/metlfrzr.cpp", + MAME_DIR .. "src/mame/drivers/mustache.cpp", + MAME_DIR .. "src/mame/includes/mustache.h", + MAME_DIR .. "src/mame/video/mustache.cpp", + MAME_DIR .. "src/mame/drivers/panicr.cpp", + MAME_DIR .. "src/mame/drivers/raiden.cpp", + MAME_DIR .. "src/mame/includes/raiden.h", + MAME_DIR .. "src/mame/video/raiden.cpp", + MAME_DIR .. "src/mame/drivers/raiden2.cpp", + MAME_DIR .. "src/mame/includes/raiden2.h", + MAME_DIR .. "src/mame/video/raiden2.cpp", + MAME_DIR .. "src/mame/machine/r2crypt.cpp", + MAME_DIR .. "src/mame/machine/r2crypt.h", + MAME_DIR .. "src/mame/machine/seibucop/seibucop.cpp", + MAME_DIR .. "src/mame/machine/seibucop/seibucop_dma.hxx", + MAME_DIR .. "src/mame/machine/seibucop/seibucop_cmd.hxx", + MAME_DIR .. "src/mame/machine/seibucop/seibucop.h", + MAME_DIR .. "src/mame/drivers/r2dx_v33.cpp", + MAME_DIR .. "src/mame/drivers/seibuspi.cpp", + MAME_DIR .. "src/mame/includes/seibuspi.h", + MAME_DIR .. "src/mame/video/seibuspi.cpp", + MAME_DIR .. "src/mame/drivers/seibucats.cpp", + MAME_DIR .. "src/mame/drivers/sengokmj.cpp", + MAME_DIR .. "src/mame/drivers/stfight.cpp", + MAME_DIR .. "src/mame/video/stfight_dev.cpp", + MAME_DIR .. "src/mame/video/stfight_dev.h", + MAME_DIR .. "src/mame/video/airraid_dev.cpp", + MAME_DIR .. "src/mame/video/airraid_dev.h", + MAME_DIR .. "src/mame/includes/stfight.h", + MAME_DIR .. "src/mame/machine/stfight.cpp", + MAME_DIR .. "src/mame/drivers/toki.cpp", + MAME_DIR .. "src/mame/includes/toki.h", + MAME_DIR .. "src/mame/drivers/toki_ms.cpp", + MAME_DIR .. "src/mame/video/toki.cpp", + MAME_DIR .. "src/mame/drivers/wiz.cpp", + MAME_DIR .. "src/mame/includes/wiz.h", + MAME_DIR .. "src/mame/video/wiz.cpp", + MAME_DIR .. "src/mame/machine/seicopbl.cpp", + MAME_DIR .. "src/mame/machine/seicopbl.h", + MAME_DIR .. "src/mame/machine/seibuspi.cpp", + MAME_DIR .. "src/mame/machine/seibuspi.h", + MAME_DIR .. "src/mame/audio/seibu.cpp", + MAME_DIR .. "src/mame/audio/seibu.h", + MAME_DIR .. "src/mame/audio/t5182.cpp", + MAME_DIR .. "src/mame/audio/t5182.h", + MAME_DIR .. "src/mame/video/seibu_crtc.cpp", + MAME_DIR .. "src/mame/video/seibu_crtc.h", +} + +createMAMEProjects(_target, _subtarget, "seta") +files { + MAME_DIR .. "src/mame/drivers/aleck64.cpp", + MAME_DIR .. "src/mame/machine/n64.cpp", + MAME_DIR .. "src/mame/video/n64.cpp", + MAME_DIR .. "src/mame/video/n64types.h", + MAME_DIR .. "src/mame/video/rdpfiltr.hxx", + MAME_DIR .. "src/mame/video/n64.h", + MAME_DIR .. "src/mame/video/rdpblend.cpp", + MAME_DIR .. "src/mame/video/rdpblend.h", + MAME_DIR .. "src/mame/video/rdptpipe.cpp", + MAME_DIR .. "src/mame/video/rdptpipe.h", + MAME_DIR .. "src/mame/video/pin64.cpp", + MAME_DIR .. "src/mame/video/pin64.h", + MAME_DIR .. "src/mame/drivers/hanaawas.cpp", + MAME_DIR .. "src/mame/includes/hanaawas.h", + MAME_DIR .. "src/mame/video/hanaawas.cpp", + MAME_DIR .. "src/mame/drivers/jclub2.cpp", + MAME_DIR .. "src/mame/drivers/macs.cpp", + MAME_DIR .. "src/mame/drivers/seta.cpp", + MAME_DIR .. "src/mame/includes/seta.h", + MAME_DIR .. "src/mame/video/seta.cpp", + MAME_DIR .. "src/mame/drivers/seta2.cpp", + MAME_DIR .. "src/mame/includes/seta2.h", + MAME_DIR .. "src/mame/video/seta2.cpp", + MAME_DIR .. "src/mame/drivers/speedatk.cpp", + MAME_DIR .. "src/mame/includes/speedatk.h", + MAME_DIR .. "src/mame/video/speedatk.cpp", + MAME_DIR .. "src/mame/drivers/speglsht.cpp", + MAME_DIR .. "src/mame/drivers/srmp2.cpp", + MAME_DIR .. "src/mame/includes/srmp2.h", + MAME_DIR .. "src/mame/video/srmp2.cpp", + MAME_DIR .. "src/mame/drivers/srmp5.cpp", + MAME_DIR .. "src/mame/drivers/srmp6.cpp", + MAME_DIR .. "src/mame/drivers/ssv.cpp", + MAME_DIR .. "src/mame/includes/ssv.h", + MAME_DIR .. "src/mame/video/ssv.cpp", + MAME_DIR .. "src/mame/video/st0020.cpp", + MAME_DIR .. "src/mame/video/st0020.h", + MAME_DIR .. "src/mame/machine/st0016.cpp", + MAME_DIR .. "src/mame/machine/st0016.h", + MAME_DIR .. "src/mame/drivers/simple_st0016.cpp", + MAME_DIR .. "src/mame/includes/simple_st0016.h", + MAME_DIR .. "src/mame/video/seta001.cpp", + MAME_DIR .. "src/mame/video/seta001.h", + MAME_DIR .. "src/mame/drivers/thedealr.cpp", +} + +createMAMEProjects(_target, _subtarget, "sigma") +files { + MAME_DIR .. "src/mame/drivers/nyny.cpp", + MAME_DIR .. "src/mame/drivers/r2dtank.cpp", + MAME_DIR .. "src/mame/drivers/sigmab52.cpp", + MAME_DIR .. "src/mame/drivers/sigmab98.cpp", + MAME_DIR .. "src/mame/drivers/spiders.cpp", + MAME_DIR .. "src/mame/includes/spiders.h", + MAME_DIR .. "src/mame/audio/spiders.cpp", + MAME_DIR .. "src/mame/drivers/sub.cpp", + MAME_DIR .. "src/mame/includes/sub.h", + MAME_DIR .. "src/mame/video/sub.cpp", +} + +createMAMEProjects(_target, _subtarget, "snk") +files { + MAME_DIR .. "src/mame/drivers/bbusters.cpp", + MAME_DIR .. "src/mame/includes/bbusters.h", + MAME_DIR .. "src/mame/video/bbusters.cpp", + MAME_DIR .. "src/mame/drivers/dmndrby.cpp", + MAME_DIR .. "src/mame/drivers/hng64.cpp", + MAME_DIR .. "src/mame/includes/hng64.h", + MAME_DIR .. "src/mame/video/hng64.cpp", + MAME_DIR .. "src/mame/audio/hng64.cpp", + MAME_DIR .. "src/mame/machine/hng64_net.cpp", + MAME_DIR .. "src/mame/machine/hng64_net.h", + MAME_DIR .. "src/mame/video/hng64_3d.hxx", + MAME_DIR .. "src/mame/video/hng64_sprite.hxx", + MAME_DIR .. "src/mame/drivers/lasso.cpp", + MAME_DIR .. "src/mame/includes/lasso.h", + MAME_DIR .. "src/mame/video/lasso.cpp", + MAME_DIR .. "src/mame/drivers/mainsnk.cpp", + MAME_DIR .. "src/mame/includes/mainsnk.h", + MAME_DIR .. "src/mame/video/mainsnk.cpp", + MAME_DIR .. "src/mame/drivers/munchmo.cpp", + MAME_DIR .. "src/mame/includes/munchmo.h", + MAME_DIR .. "src/mame/video/munchmo.cpp", + MAME_DIR .. "src/mame/drivers/prehisle.cpp", + MAME_DIR .. "src/mame/includes/prehisle.h", + MAME_DIR .. "src/mame/video/prehisle.cpp", + MAME_DIR .. "src/mame/drivers/snk6502.cpp", + MAME_DIR .. "src/mame/includes/snk6502.h", + MAME_DIR .. "src/mame/audio/snk6502.cpp", + MAME_DIR .. "src/mame/audio/snk6502.h", + MAME_DIR .. "src/mame/video/snk6502.cpp", + MAME_DIR .. "src/mame/drivers/snk.cpp", + MAME_DIR .. "src/mame/includes/snk.h", + MAME_DIR .. "src/mame/video/snk.cpp", + MAME_DIR .. "src/mame/drivers/snk68.cpp", + MAME_DIR .. "src/mame/includes/snk68.h", + MAME_DIR .. "src/mame/video/snk68.cpp", + MAME_DIR .. "src/mame/video/snk68_spr.cpp", + MAME_DIR .. "src/mame/video/snk68_spr.h", + +} + +createMAMEProjects(_target, _subtarget, "sony") +files { + MAME_DIR .. "src/mame/drivers/zn.cpp", + MAME_DIR .. "src/mame/machine/znmcu.cpp", + MAME_DIR .. "src/mame/machine/znmcu.h", + MAME_DIR .. "src/mame/machine/cat702.cpp", + MAME_DIR .. "src/mame/machine/cat702.h", +} + +createMAMEProjects(_target, _subtarget, "stern") +files { + MAME_DIR .. "src/mame/drivers/astinvad.cpp", + MAME_DIR .. "src/mame/drivers/berzerk.cpp", + MAME_DIR .. "src/mame/drivers/cliffhgr.cpp", + MAME_DIR .. "src/mame/audio/cliffhgr.cpp", + MAME_DIR .. "src/mame/audio/cliffhgr.h", + MAME_DIR .. "src/mame/drivers/mazerbla.cpp", + MAME_DIR .. "src/mame/drivers/supdrapo.cpp", +} + +createMAMEProjects(_target, _subtarget, "subsino") +files { + MAME_DIR .. "src/mame/drivers/lastfght.cpp", + MAME_DIR .. "src/mame/drivers/subsino.cpp", + MAME_DIR .. "src/mame/drivers/subsino2.cpp", + MAME_DIR .. "src/mame/machine/subsino.cpp", + MAME_DIR .. "src/mame/machine/subsino.h", +} + +createMAMEProjects(_target, _subtarget, "suna") +files { + MAME_DIR .. "src/mame/drivers/go2000.cpp", + MAME_DIR .. "src/mame/drivers/goindol.cpp", + MAME_DIR .. "src/mame/includes/goindol.h", + MAME_DIR .. "src/mame/video/goindol.cpp", + MAME_DIR .. "src/mame/drivers/suna8.cpp", + MAME_DIR .. "src/mame/includes/suna8.h", + MAME_DIR .. "src/mame/audio/suna8.cpp", + MAME_DIR .. "src/mame/video/suna8.cpp", + MAME_DIR .. "src/mame/drivers/suna16.cpp", + MAME_DIR .. "src/mame/includes/suna16.h", + MAME_DIR .. "src/mame/video/suna16.cpp", +} + +createMAMEProjects(_target, _subtarget, "sunelect") +files { + MAME_DIR .. "src/mame/drivers/arabian.cpp", + MAME_DIR .. "src/mame/includes/arabian.h", + MAME_DIR .. "src/mame/video/arabian.cpp", + MAME_DIR .. "src/mame/drivers/dai3wksi.cpp", + MAME_DIR .. "src/mame/drivers/ikki.cpp", + MAME_DIR .. "src/mame/includes/ikki.h", + MAME_DIR .. "src/mame/video/ikki.cpp", + MAME_DIR .. "src/mame/drivers/kangaroo.cpp", + MAME_DIR .. "src/mame/includes/kangaroo.h", + MAME_DIR .. "src/mame/video/kangaroo.cpp", + MAME_DIR .. "src/mame/drivers/markham.cpp", + MAME_DIR .. "src/mame/includes/markham.h", + MAME_DIR .. "src/mame/video/markham.cpp", + MAME_DIR .. "src/mame/drivers/route16.cpp", + MAME_DIR .. "src/mame/includes/route16.h", + MAME_DIR .. "src/mame/video/route16.cpp", + MAME_DIR .. "src/mame/drivers/shanghai.cpp", + MAME_DIR .. "src/mame/drivers/shangha3.cpp", + MAME_DIR .. "src/mame/includes/shangha3.h", + MAME_DIR .. "src/mame/video/shangha3.cpp", + MAME_DIR .. "src/mame/drivers/tonton.cpp", +} + +createMAMEProjects(_target, _subtarget, "taito") +files { + MAME_DIR .. "src/mame/drivers/2mindril.cpp", + MAME_DIR .. "src/mame/drivers/40love.cpp", + MAME_DIR .. "src/mame/includes/40love.h", + MAME_DIR .. "src/mame/video/40love.cpp", + MAME_DIR .. "src/mame/drivers/arkanoid.cpp", + MAME_DIR .. "src/mame/includes/arkanoid.h", + MAME_DIR .. "src/mame/machine/arkanoid.cpp", + MAME_DIR .. "src/mame/video/arkanoid.cpp", + MAME_DIR .. "src/mame/drivers/ashnojoe.cpp", + MAME_DIR .. "src/mame/includes/ashnojoe.h", + MAME_DIR .. "src/mame/video/ashnojoe.cpp", + MAME_DIR .. "src/mame/drivers/asuka.cpp", + MAME_DIR .. "src/mame/includes/asuka.h", + MAME_DIR .. "src/mame/video/asuka.cpp", + MAME_DIR .. "src/mame/drivers/bigevglf.cpp", + MAME_DIR .. "src/mame/includes/bigevglf.h", + MAME_DIR .. "src/mame/video/bigevglf.cpp", + MAME_DIR .. "src/mame/drivers/bingowav.cpp", + MAME_DIR .. "src/mame/drivers/bking.cpp", + MAME_DIR .. "src/mame/includes/bking.h", + MAME_DIR .. "src/mame/video/bking.cpp", + MAME_DIR .. "src/mame/drivers/bublbobl.cpp", + MAME_DIR .. "src/mame/includes/bublbobl.h", + MAME_DIR .. "src/mame/machine/bublbobl.cpp", + MAME_DIR .. "src/mame/video/bublbobl.cpp", + MAME_DIR .. "src/mame/drivers/buggychl.cpp", + MAME_DIR .. "src/mame/includes/buggychl.h", + MAME_DIR .. "src/mame/machine/taito68705interface.cpp", + MAME_DIR .. "src/mame/machine/taito68705interface.h", + MAME_DIR .. "src/mame/machine/taitosjsec.cpp", + MAME_DIR .. "src/mame/machine/taitosjsec.h", + MAME_DIR .. "src/mame/video/buggychl.cpp", + MAME_DIR .. "src/mame/drivers/capr1.cpp", + MAME_DIR .. "src/mame/drivers/caprcyc.cpp", + MAME_DIR .. "src/mame/drivers/cchance.cpp", + MAME_DIR .. "src/mame/drivers/chaknpop.cpp", + MAME_DIR .. "src/mame/includes/chaknpop.h", + MAME_DIR .. "src/mame/video/chaknpop.cpp", + MAME_DIR .. "src/mame/drivers/champbwl.cpp", + MAME_DIR .. "src/mame/drivers/changela.cpp", + MAME_DIR .. "src/mame/includes/changela.h", + MAME_DIR .. "src/mame/video/changela.cpp", + MAME_DIR .. "src/mame/drivers/cpzodiac.cpp", + MAME_DIR .. "src/mame/drivers/crbaloon.cpp", + MAME_DIR .. "src/mame/includes/crbaloon.h", + MAME_DIR .. "src/mame/video/crbaloon.cpp", + MAME_DIR .. "src/mame/audio/crbaloon.cpp", + MAME_DIR .. "src/mame/drivers/cyclemb.cpp", + 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/exzisus.cpp", + MAME_DIR .. "src/mame/includes/exzisus.h", + MAME_DIR .. "src/mame/video/exzisus.cpp", + MAME_DIR .. "src/mame/drivers/fgoal.cpp", + MAME_DIR .. "src/mame/includes/fgoal.h", + MAME_DIR .. "src/mame/video/fgoal.cpp", + MAME_DIR .. "src/mame/drivers/flstory.cpp", + MAME_DIR .. "src/mame/includes/flstory.h", + MAME_DIR .. "src/mame/machine/flstory.cpp", + MAME_DIR .. "src/mame/video/flstory.cpp", + MAME_DIR .. "src/mame/drivers/galastrm.cpp", + MAME_DIR .. "src/mame/includes/galastrm.h", + MAME_DIR .. "src/mame/video/galastrm.cpp", + MAME_DIR .. "src/mame/drivers/gladiatr.cpp", + MAME_DIR .. "src/mame/includes/gladiatr.h", + MAME_DIR .. "src/mame/video/gladiatr.cpp", + MAME_DIR .. "src/mame/drivers/gokidetor.cpp", + MAME_DIR .. "src/mame/drivers/grchamp.cpp", + MAME_DIR .. "src/mame/includes/grchamp.h", + MAME_DIR .. "src/mame/audio/grchamp.cpp", + MAME_DIR .. "src/mame/video/grchamp.cpp", + MAME_DIR .. "src/mame/drivers/groundfx.cpp", + MAME_DIR .. "src/mame/includes/groundfx.h", + MAME_DIR .. "src/mame/video/groundfx.cpp", + MAME_DIR .. "src/mame/drivers/gsword.cpp", + MAME_DIR .. "src/mame/includes/gsword.h", + MAME_DIR .. "src/mame/machine/tait8741.cpp", + MAME_DIR .. "src/mame/machine/tait8741.h", + MAME_DIR .. "src/mame/video/gsword.cpp", + MAME_DIR .. "src/mame/drivers/gunbustr.cpp", + MAME_DIR .. "src/mame/includes/gunbustr.h", + MAME_DIR .. "src/mame/video/gunbustr.cpp", + MAME_DIR .. "src/mame/drivers/halleys.cpp", + MAME_DIR .. "src/mame/drivers/invqix.cpp", + MAME_DIR .. "src/mame/drivers/jollyjgr.cpp", + MAME_DIR .. "src/mame/drivers/ksayakyu.cpp", + MAME_DIR .. "src/mame/includes/ksayakyu.h", + MAME_DIR .. "src/mame/video/ksayakyu.cpp", + MAME_DIR .. "src/mame/drivers/lgp.cpp", + MAME_DIR .. "src/mame/drivers/lkage.cpp", + MAME_DIR .. "src/mame/includes/lkage.h", + MAME_DIR .. "src/mame/video/lkage.cpp", + MAME_DIR .. "src/mame/drivers/lsasquad.cpp", + MAME_DIR .. "src/mame/includes/lsasquad.h", + MAME_DIR .. "src/mame/machine/lsasquad.cpp", + MAME_DIR .. "src/mame/video/lsasquad.cpp", + MAME_DIR .. "src/mame/drivers/marinedt.cpp", + MAME_DIR .. "src/mame/drivers/mexico86.cpp", + MAME_DIR .. "src/mame/includes/mexico86.h", + MAME_DIR .. "src/mame/machine/mexico86.cpp", + MAME_DIR .. "src/mame/video/mexico86.cpp", + MAME_DIR .. "src/mame/drivers/minivadr.cpp", + MAME_DIR .. "src/mame/drivers/missb2.cpp", + MAME_DIR .. "src/mame/drivers/mlanding.cpp", + MAME_DIR .. "src/mame/drivers/msisaac.cpp", + MAME_DIR .. "src/mame/includes/msisaac.h", + MAME_DIR .. "src/mame/video/msisaac.cpp", + MAME_DIR .. "src/mame/drivers/ninjaw.cpp", + MAME_DIR .. "src/mame/includes/ninjaw.h", + MAME_DIR .. "src/mame/video/ninjaw.cpp", + MAME_DIR .. "src/mame/drivers/nycaptor.cpp", + MAME_DIR .. "src/mame/includes/nycaptor.h", + MAME_DIR .. "src/mame/video/nycaptor.cpp", + MAME_DIR .. "src/mame/drivers/opwolf.cpp", + MAME_DIR .. "src/mame/drivers/othunder.cpp", + MAME_DIR .. "src/mame/includes/othunder.h", + MAME_DIR .. "src/mame/video/othunder.cpp", + MAME_DIR .. "src/mame/drivers/pitnrun.cpp", + MAME_DIR .. "src/mame/includes/pitnrun.h", + MAME_DIR .. "src/mame/machine/pitnrun.cpp", + MAME_DIR .. "src/mame/video/pitnrun.cpp", + MAME_DIR .. "src/mame/drivers/qix.cpp", + MAME_DIR .. "src/mame/includes/qix.h", + MAME_DIR .. "src/mame/machine/qix.cpp", + MAME_DIR .. "src/mame/audio/qix.cpp", + MAME_DIR .. "src/mame/video/qix.cpp", + MAME_DIR .. "src/mame/drivers/rbisland.cpp", + MAME_DIR .. "src/mame/includes/rbisland.h", + MAME_DIR .. "src/mame/video/rbisland.cpp", + MAME_DIR .. "src/mame/drivers/rastan.cpp", + MAME_DIR .. "src/mame/includes/rastan.h", + MAME_DIR .. "src/mame/video/rastan.cpp", + MAME_DIR .. "src/mame/drivers/retofinv.cpp", + MAME_DIR .. "src/mame/includes/retofinv.h", + MAME_DIR .. "src/mame/video/retofinv.cpp", + MAME_DIR .. "src/mame/drivers/rollrace.cpp", + MAME_DIR .. "src/mame/includes/rollrace.h", + MAME_DIR .. "src/mame/video/rollrace.cpp", + MAME_DIR .. "src/mame/drivers/sbowling.cpp", + MAME_DIR .. "src/mame/drivers/scyclone.cpp", + MAME_DIR .. "src/mame/drivers/slapshot.cpp", + MAME_DIR .. "src/mame/includes/slapshot.h", + MAME_DIR .. "src/mame/video/slapshot.cpp", + MAME_DIR .. "src/mame/drivers/ssrj.cpp", + MAME_DIR .. "src/mame/includes/ssrj.h", + MAME_DIR .. "src/mame/video/ssrj.cpp", + MAME_DIR .. "src/mame/drivers/superchs.cpp", + MAME_DIR .. "src/mame/includes/superchs.h", + MAME_DIR .. "src/mame/video/superchs.cpp", + MAME_DIR .. "src/mame/drivers/superqix.cpp", + MAME_DIR .. "src/mame/includes/superqix.h", + MAME_DIR .. "src/mame/video/superqix.cpp", + MAME_DIR .. "src/mame/drivers/taito_b.cpp", + MAME_DIR .. "src/mame/includes/taito_b.h", + MAME_DIR .. "src/mame/video/taito_b.cpp", + MAME_DIR .. "src/mame/includes/taitoipt.h", + MAME_DIR .. "src/mame/drivers/taito_f2.cpp", + MAME_DIR .. "src/mame/includes/taito_f2.h", + MAME_DIR .. "src/mame/video/taito_f2.cpp", + MAME_DIR .. "src/mame/drivers/taito_f3.cpp", + MAME_DIR .. "src/mame/includes/taito_f3.h", + MAME_DIR .. "src/mame/video/taito_f3.cpp", + MAME_DIR .. "src/mame/audio/taito_en.cpp", + MAME_DIR .. "src/mame/audio/taito_en.h", + MAME_DIR .. "src/mame/drivers/taito_h.cpp", + MAME_DIR .. "src/mame/includes/taito_h.h", + MAME_DIR .. "src/mame/video/taito_h.cpp", + MAME_DIR .. "src/mame/drivers/taito_l.cpp", + MAME_DIR .. "src/mame/includes/taito_l.h", + MAME_DIR .. "src/mame/video/taito_l.cpp", + MAME_DIR .. "src/mame/drivers/taito_x.cpp", + MAME_DIR .. "src/mame/includes/taito_x.h", + MAME_DIR .. "src/mame/machine/taitocchip.cpp", + MAME_DIR .. "src/mame/machine/taitocchip.h", + MAME_DIR .. "src/mame/drivers/taito_z.cpp", + MAME_DIR .. "src/mame/includes/taito_z.h", + MAME_DIR .. "src/mame/video/taito_z.cpp", + MAME_DIR .. "src/mame/drivers/taito_o.cpp", + MAME_DIR .. "src/mame/includes/taito_o.h", + MAME_DIR .. "src/mame/video/taito_o.cpp", + MAME_DIR .. "src/mame/drivers/taitoair.cpp", + MAME_DIR .. "src/mame/includes/taitoair.h", + MAME_DIR .. "src/mame/video/taitoair.cpp", + MAME_DIR .. "src/mame/drivers/taitogn.cpp", + MAME_DIR .. "src/mame/drivers/taitojc.cpp", + MAME_DIR .. "src/mame/includes/taitojc.h", + MAME_DIR .. "src/mame/video/taitojc.cpp", + MAME_DIR .. "src/mame/drivers/taitopjc.cpp", + MAME_DIR .. "src/mame/drivers/taitosj.cpp", + MAME_DIR .. "src/mame/includes/taitosj.h", + MAME_DIR .. "src/mame/machine/taitosj.cpp", + MAME_DIR .. "src/mame/video/taitosj.cpp", + MAME_DIR .. "src/mame/drivers/taitottl.cpp", + MAME_DIR .. "src/mame/drivers/taitotz.cpp", + MAME_DIR .. "src/mame/drivers/taitotx.cpp", + MAME_DIR .. "src/mame/drivers/taitowlf.cpp", + MAME_DIR .. "src/mame/drivers/tnzs.cpp", + MAME_DIR .. "src/mame/includes/tnzs.h", + MAME_DIR .. "src/mame/machine/tnzs.cpp", + MAME_DIR .. "src/mame/video/tnzs.cpp", + MAME_DIR .. "src/mame/drivers/topspeed.cpp", + MAME_DIR .. "src/mame/includes/topspeed.h", + MAME_DIR .. "src/mame/video/topspeed.cpp", + MAME_DIR .. "src/mame/drivers/tsamurai.cpp", + MAME_DIR .. "src/mame/includes/tsamurai.h", + MAME_DIR .. "src/mame/video/tsamurai.cpp", + MAME_DIR .. "src/mame/drivers/undrfire.cpp", + MAME_DIR .. "src/mame/includes/undrfire.h", + MAME_DIR .. "src/mame/video/undrfire.cpp", + MAME_DIR .. "src/mame/drivers/volfied.cpp", + MAME_DIR .. "src/mame/includes/volfied.h", + MAME_DIR .. "src/mame/video/volfied.cpp", + MAME_DIR .. "src/mame/drivers/warriorb.cpp", + MAME_DIR .. "src/mame/includes/warriorb.h", + MAME_DIR .. "src/mame/video/warriorb.cpp", + MAME_DIR .. "src/mame/drivers/wgp.cpp", + MAME_DIR .. "src/mame/includes/wgp.h", + MAME_DIR .. "src/mame/video/wgp.cpp", + MAME_DIR .. "src/mame/drivers/wyvernf0.cpp", + MAME_DIR .. "src/mame/audio/taitosnd.cpp", + MAME_DIR .. "src/mame/audio/taitosnd.h", + MAME_DIR .. "src/mame/audio/taito_zm.cpp", + MAME_DIR .. "src/mame/audio/taito_zm.h", + MAME_DIR .. "src/mame/machine/taitoio.cpp", + MAME_DIR .. "src/mame/machine/taitoio.h", + MAME_DIR .. "src/mame/machine/taitoio_yoke.cpp", + MAME_DIR .. "src/mame/machine/taitoio_yoke.h", + MAME_DIR .. "src/mame/video/taito_helper.cpp", + MAME_DIR .. "src/mame/video/taito_helper.h", + MAME_DIR .. "src/mame/video/pc080sn.cpp", + MAME_DIR .. "src/mame/video/pc080sn.h", + MAME_DIR .. "src/mame/video/pc090oj.cpp", + MAME_DIR .. "src/mame/video/pc090oj.h", + MAME_DIR .. "src/mame/video/tc0080vco.cpp", + MAME_DIR .. "src/mame/video/tc0080vco.h", + MAME_DIR .. "src/mame/video/tc0100scn.cpp", + MAME_DIR .. "src/mame/video/tc0100scn.h", + MAME_DIR .. "src/mame/video/tc0150rod.cpp", + MAME_DIR .. "src/mame/video/tc0150rod.h", + MAME_DIR .. "src/mame/video/tc0280grd.cpp", + MAME_DIR .. "src/mame/video/tc0280grd.h", + MAME_DIR .. "src/mame/video/tc0360pri.cpp", + MAME_DIR .. "src/mame/video/tc0360pri.h", + MAME_DIR .. "src/mame/video/tc0480scp.cpp", + MAME_DIR .. "src/mame/video/tc0480scp.h", + MAME_DIR .. "src/mame/video/tc0110pcr.cpp", + MAME_DIR .. "src/mame/video/tc0110pcr.h", + MAME_DIR .. "src/mame/video/tc0180vcu.cpp", + MAME_DIR .. "src/mame/video/tc0180vcu.h", + MAME_DIR .. "src/mame/video/tc0780fpa.cpp", + MAME_DIR .. "src/mame/video/tc0780fpa.h", +} + +createMAMEProjects(_target, _subtarget, "tatsumi") +files { + MAME_DIR .. "src/mame/drivers/kingdrby.cpp", + MAME_DIR .. "src/mame/drivers/lockon.cpp", + MAME_DIR .. "src/mame/includes/lockon.h", + MAME_DIR .. "src/mame/video/lockon.cpp", + MAME_DIR .. "src/mame/drivers/tatsumi.cpp", + MAME_DIR .. "src/mame/includes/tatsumi.h", + MAME_DIR .. "src/mame/machine/tatsumi.cpp", + MAME_DIR .. "src/mame/video/tatsumi.cpp", + MAME_DIR .. "src/mame/drivers/tx1.cpp", + MAME_DIR .. "src/mame/includes/tx1.h", + MAME_DIR .. "src/mame/machine/tx1.cpp", + MAME_DIR .. "src/mame/audio/tx1.cpp", + MAME_DIR .. "src/mame/audio/tx1.h", + MAME_DIR .. "src/mame/video/tx1.cpp", +} + +createMAMEProjects(_target, _subtarget, "tch") +files { + MAME_DIR .. "src/mame/drivers/kickgoal.cpp", + MAME_DIR .. "src/mame/includes/kickgoal.h", + MAME_DIR .. "src/mame/video/kickgoal.cpp", + MAME_DIR .. "src/mame/drivers/littlerb.cpp", + MAME_DIR .. "src/mame/drivers/rltennis.cpp", + MAME_DIR .. "src/mame/includes/rltennis.h", + MAME_DIR .. "src/mame/video/rltennis.cpp", + MAME_DIR .. "src/mame/drivers/speedspn.cpp", + MAME_DIR .. "src/mame/includes/speedspn.h", + MAME_DIR .. "src/mame/video/speedspn.cpp", + MAME_DIR .. "src/mame/drivers/wheelfir.cpp", +} + +createMAMEProjects(_target, _subtarget, "tecfri") +files { + MAME_DIR .. "src/mame/drivers/ambush.cpp", + MAME_DIR .. "src/mame/drivers/holeland.cpp", + MAME_DIR .. "src/mame/includes/holeland.h", + MAME_DIR .. "src/mame/video/holeland.cpp", + MAME_DIR .. "src/mame/drivers/sauro.cpp", + MAME_DIR .. "src/mame/includes/sauro.h", + MAME_DIR .. "src/mame/video/sauro.cpp", + MAME_DIR .. "src/mame/drivers/speedbal.cpp", + MAME_DIR .. "src/mame/includes/speedbal.h", + MAME_DIR .. "src/mame/video/speedbal.cpp", +} + +createMAMEProjects(_target, _subtarget, "technos") +files { + MAME_DIR .. "src/mame/drivers/battlane.cpp", + MAME_DIR .. "src/mame/includes/battlane.h", + MAME_DIR .. "src/mame/video/battlane.cpp", + MAME_DIR .. "src/mame/drivers/blockout.cpp", + MAME_DIR .. "src/mame/includes/blockout.h", + MAME_DIR .. "src/mame/video/blockout.cpp", + MAME_DIR .. "src/mame/drivers/bogeyman.cpp", + MAME_DIR .. "src/mame/includes/bogeyman.h", + MAME_DIR .. "src/mame/video/bogeyman.cpp", + MAME_DIR .. "src/mame/drivers/chinagat.cpp", + MAME_DIR .. "src/mame/drivers/ddragon.cpp", + MAME_DIR .. "src/mame/includes/ddragon.h", + MAME_DIR .. "src/mame/video/ddragon.cpp", + MAME_DIR .. "src/mame/drivers/ddragon3.cpp", + MAME_DIR .. "src/mame/includes/ddragon3.h", + MAME_DIR .. "src/mame/video/ddragon3.cpp", + MAME_DIR .. "src/mame/drivers/dogfgt.cpp", + MAME_DIR .. "src/mame/includes/dogfgt.h", + MAME_DIR .. "src/mame/video/dogfgt.cpp", + MAME_DIR .. "src/mame/drivers/matmania.cpp", + MAME_DIR .. "src/mame/includes/matmania.h", + MAME_DIR .. "src/mame/video/matmania.cpp", + MAME_DIR .. "src/mame/drivers/mystston.cpp", + MAME_DIR .. "src/mame/includes/mystston.h", + MAME_DIR .. "src/mame/video/mystston.cpp", + MAME_DIR .. "src/mame/drivers/renegade.cpp", + MAME_DIR .. "src/mame/includes/renegade.h", + MAME_DIR .. "src/mame/video/renegade.cpp", + MAME_DIR .. "src/mame/drivers/scregg.cpp", + MAME_DIR .. "src/mame/drivers/shadfrce.cpp", + MAME_DIR .. "src/mame/includes/shadfrce.h", + MAME_DIR .. "src/mame/video/shadfrce.cpp", + MAME_DIR .. "src/mame/drivers/spdodgeb.cpp", + MAME_DIR .. "src/mame/includes/spdodgeb.h", + MAME_DIR .. "src/mame/video/spdodgeb.cpp", + MAME_DIR .. "src/mame/drivers/ssozumo.cpp", + MAME_DIR .. "src/mame/includes/ssozumo.h", + MAME_DIR .. "src/mame/video/ssozumo.cpp", + MAME_DIR .. "src/mame/drivers/tagteam.cpp", + MAME_DIR .. "src/mame/includes/tagteam.h", + MAME_DIR .. "src/mame/video/tagteam.cpp", + MAME_DIR .. "src/mame/drivers/vball.cpp", + MAME_DIR .. "src/mame/includes/vball.h", + MAME_DIR .. "src/mame/video/vball.cpp", + MAME_DIR .. "src/mame/drivers/wwfsstar.cpp", + MAME_DIR .. "src/mame/includes/wwfsstar.h", + MAME_DIR .. "src/mame/video/wwfsstar.cpp", + MAME_DIR .. "src/mame/drivers/xain.cpp", + MAME_DIR .. "src/mame/includes/xain.h", + MAME_DIR .. "src/mame/video/xain.cpp", +} + +createMAMEProjects(_target, _subtarget, "tehkan") +files { + MAME_DIR .. "src/mame/video/tecmo_spr.cpp", + MAME_DIR .. "src/mame/video/tecmo_spr.h", + MAME_DIR .. "src/mame/video/tecmo_mix.cpp", + MAME_DIR .. "src/mame/video/tecmo_mix.h", + MAME_DIR .. "src/mame/drivers/bombjack.cpp", + MAME_DIR .. "src/mame/includes/bombjack.h", + MAME_DIR .. "src/mame/video/bombjack.cpp", + MAME_DIR .. "src/mame/drivers/gaiden.cpp", + MAME_DIR .. "src/mame/includes/gaiden.h", + MAME_DIR .. "src/mame/video/gaiden.cpp", + MAME_DIR .. "src/mame/drivers/lvcards.cpp", + MAME_DIR .. "src/mame/includes/lvcards.h", + MAME_DIR .. "src/mame/video/lvcards.cpp", + MAME_DIR .. "src/mame/drivers/pbaction.cpp", + MAME_DIR .. "src/mame/includes/pbaction.h", + MAME_DIR .. "src/mame/video/pbaction.cpp", + MAME_DIR .. "src/mame/drivers/senjyo.cpp", + MAME_DIR .. "src/mame/includes/senjyo.h", + MAME_DIR .. "src/mame/audio/senjyo.cpp", + MAME_DIR .. "src/mame/video/senjyo.cpp", + MAME_DIR .. "src/mame/drivers/solomon.cpp", + MAME_DIR .. "src/mame/includes/solomon.h", + MAME_DIR .. "src/mame/video/solomon.cpp", + MAME_DIR .. "src/mame/drivers/spbactn.cpp", + MAME_DIR .. "src/mame/includes/spbactn.h", + MAME_DIR .. "src/mame/video/spbactn.cpp", + MAME_DIR .. "src/mame/drivers/tbowl.cpp", + MAME_DIR .. "src/mame/includes/tbowl.h", + MAME_DIR .. "src/mame/video/tbowl.cpp", + MAME_DIR .. "src/mame/drivers/tecmo.cpp", + MAME_DIR .. "src/mame/includes/tecmo.h", + MAME_DIR .. "src/mame/video/tecmo.cpp", + MAME_DIR .. "src/mame/drivers/tecmo16.cpp", + MAME_DIR .. "src/mame/includes/tecmo16.h", + MAME_DIR .. "src/mame/video/tecmo16.cpp", + MAME_DIR .. "src/mame/drivers/tecmosys.cpp", + MAME_DIR .. "src/mame/includes/tecmosys.h", + MAME_DIR .. "src/mame/machine/tecmosys.cpp", + MAME_DIR .. "src/mame/video/tecmosys.cpp", + MAME_DIR .. "src/mame/drivers/tehkanwc.cpp", + MAME_DIR .. "src/mame/includes/tehkanwc.h", + MAME_DIR .. "src/mame/video/tehkanwc.cpp", + MAME_DIR .. "src/mame/drivers/wc90.cpp", + MAME_DIR .. "src/mame/includes/wc90.h", + MAME_DIR .. "src/mame/video/wc90.cpp", + MAME_DIR .. "src/mame/drivers/wc90b.cpp", + MAME_DIR .. "src/mame/includes/wc90b.h", + MAME_DIR .. "src/mame/video/wc90b.cpp", +} + +createMAMEProjects(_target, _subtarget, "terminal") +files { + MAME_DIR .. "src/mame/drivers/istrebiteli.cpp", + MAME_DIR .. "src/mame/drivers/tiamc1.cpp", + MAME_DIR .. "src/mame/includes/tiamc1.h", + MAME_DIR .. "src/mame/video/tiamc1.cpp", + MAME_DIR .. "src/mame/audio/tiamc1.cpp", + MAME_DIR .. "src/mame/audio/tiamc1.h", +} + +createMAMEProjects(_target, _subtarget, "thepit") +files { + MAME_DIR .. "src/mame/drivers/thepit.cpp", + MAME_DIR .. "src/mame/includes/thepit.h", + MAME_DIR .. "src/mame/video/thepit.cpp", + MAME_DIR .. "src/mame/drivers/timelimt.cpp", + MAME_DIR .. "src/mame/includes/timelimt.h", + MAME_DIR .. "src/mame/video/timelimt.cpp", +} + +createMAMEProjects(_target, _subtarget, "toaplan") +files { + MAME_DIR .. "src/mame/drivers/mjsister.cpp", + MAME_DIR .. "src/mame/drivers/slapfght.cpp", + MAME_DIR .. "src/mame/includes/slapfght.h", + MAME_DIR .. "src/mame/machine/slapfght.cpp", + MAME_DIR .. "src/mame/video/slapfght.cpp", + MAME_DIR .. "src/mame/drivers/snowbros.cpp", + MAME_DIR .. "src/mame/includes/snowbros.h", + MAME_DIR .. "src/mame/video/snowbros.cpp", + MAME_DIR .. "src/mame/video/kan_pand.cpp", + MAME_DIR .. "src/mame/video/kan_pand.h", + MAME_DIR .. "src/mame/drivers/toaplan1.cpp", + MAME_DIR .. "src/mame/includes/toaplan1.h", + MAME_DIR .. "src/mame/machine/toaplan1.cpp", + MAME_DIR .. "src/mame/video/toaplan1.cpp", + MAME_DIR .. "src/mame/includes/toaplipt.h", + MAME_DIR .. "src/mame/drivers/toaplan2.cpp", + MAME_DIR .. "src/mame/includes/toaplan2.h", + MAME_DIR .. "src/mame/video/toaplan2.cpp", + MAME_DIR .. "src/mame/video/gp9001.cpp", + MAME_DIR .. "src/mame/video/gp9001.h", + MAME_DIR .. "src/mame/drivers/twincobr.cpp", + MAME_DIR .. "src/mame/includes/twincobr.h", + MAME_DIR .. "src/mame/machine/twincobr.cpp", + MAME_DIR .. "src/mame/video/twincobr.cpp", + MAME_DIR .. "src/mame/drivers/wardner.cpp", + MAME_DIR .. "src/mame/video/toaplan_scu.cpp", + MAME_DIR .. "src/mame/video/toaplan_scu.h", +} + +createMAMEProjects(_target, _subtarget, "unico") +files { + MAME_DIR .. "src/mame/drivers/drgnmst.cpp", + MAME_DIR .. "src/mame/includes/drgnmst.h", + MAME_DIR .. "src/mame/video/drgnmst.cpp", + MAME_DIR .. "src/mame/drivers/silkroad.cpp", + MAME_DIR .. "src/mame/includes/silkroad.h", + MAME_DIR .. "src/mame/video/silkroad.cpp", + MAME_DIR .. "src/mame/drivers/unianapc.cpp", + MAME_DIR .. "src/mame/drivers/unico.cpp", + MAME_DIR .. "src/mame/includes/unico.h", + MAME_DIR .. "src/mame/video/unico.cpp", +} + +createMAMEProjects(_target, _subtarget, "univers") +files { + MAME_DIR .. "src/mame/audio/cheekyms.cpp", + MAME_DIR .. "src/mame/audio/cheekyms.h", + MAME_DIR .. "src/mame/audio/nl_cheekyms.cpp", + MAME_DIR .. "src/mame/audio/nl_cheekyms.h", + MAME_DIR .. "src/mame/drivers/cheekyms.cpp", + MAME_DIR .. "src/mame/includes/cheekyms.h", + MAME_DIR .. "src/mame/video/cheekyms.cpp", + MAME_DIR .. "src/mame/drivers/cosmic.cpp", + MAME_DIR .. "src/mame/includes/cosmic.h", + MAME_DIR .. "src/mame/video/cosmic.cpp", + MAME_DIR .. "src/mame/drivers/docastle.cpp", + MAME_DIR .. "src/mame/includes/docastle.h", + MAME_DIR .. "src/mame/machine/docastle.cpp", + MAME_DIR .. "src/mame/video/docastle.cpp", + MAME_DIR .. "src/mame/drivers/ladybug.cpp", + MAME_DIR .. "src/mame/includes/ladybug.h", + MAME_DIR .. "src/mame/video/ladybug.cpp", + MAME_DIR .. "src/mame/video/ladybug.h", + MAME_DIR .. "src/mame/drivers/mrdo.cpp", + MAME_DIR .. "src/mame/includes/mrdo.h", + MAME_DIR .. "src/mame/video/mrdo.cpp", + MAME_DIR .. "src/mame/drivers/redclash.cpp", + MAME_DIR .. "src/mame/includes/redclash.h", + MAME_DIR .. "src/mame/video/redclash.cpp", + MAME_DIR .. "src/mame/drivers/superdq.cpp", +} + +createMAMEProjects(_target, _subtarget, "upl") +files { + MAME_DIR .. "src/mame/drivers/mouser.cpp", + MAME_DIR .. "src/mame/includes/mouser.h", + MAME_DIR .. "src/mame/video/mouser.cpp", + MAME_DIR .. "src/mame/drivers/ninjakd2.cpp", + MAME_DIR .. "src/mame/includes/ninjakd2.h", + MAME_DIR .. "src/mame/video/ninjakd2.cpp", + MAME_DIR .. "src/mame/drivers/nova2001.cpp", + MAME_DIR .. "src/mame/includes/nova2001.h", + MAME_DIR .. "src/mame/video/nova2001.cpp", + MAME_DIR .. "src/mame/drivers/xxmissio.cpp", + MAME_DIR .. "src/mame/includes/xxmissio.h", + MAME_DIR .. "src/mame/video/xxmissio.cpp", +} + +createMAMEProjects(_target, _subtarget, "valadon") +files { + MAME_DIR .. "src/mame/drivers/bagman.cpp", + MAME_DIR .. "src/mame/includes/bagman.h", + MAME_DIR .. "src/mame/machine/bagman.cpp", + MAME_DIR .. "src/mame/video/bagman.cpp", + MAME_DIR .. "src/mame/drivers/tankbust.cpp", + MAME_DIR .. "src/mame/includes/tankbust.h", + MAME_DIR .. "src/mame/video/tankbust.cpp", +} + +createMAMEProjects(_target, _subtarget, "venture") +files { + MAME_DIR .. "src/mame/drivers/looping.cpp", + MAME_DIR .. "src/mame/drivers/spcforce.cpp", + MAME_DIR .. "src/mame/includes/spcforce.h", + MAME_DIR .. "src/mame/video/spcforce.cpp", + MAME_DIR .. "src/mame/drivers/suprridr.cpp", + MAME_DIR .. "src/mame/includes/suprridr.h", + MAME_DIR .. "src/mame/video/suprridr.cpp", +} + +createMAMEProjects(_target, _subtarget, "vsystem") +files { + MAME_DIR .. "src/mame/machine/vs9209.cpp", + MAME_DIR .. "src/mame/machine/vs9209.h", + MAME_DIR .. "src/mame/video/vsystem_gga.cpp", + MAME_DIR .. "src/mame/video/vsystem_gga.h", + MAME_DIR .. "src/mame/video/vsystem_spr.cpp", + MAME_DIR .. "src/mame/video/vsystem_spr.h", + MAME_DIR .. "src/mame/video/vsystem_spr2.cpp", + MAME_DIR .. "src/mame/video/vsystem_spr2.h", + MAME_DIR .. "src/mame/drivers/aerofgt.cpp", + MAME_DIR .. "src/mame/includes/aerofgt.h", + MAME_DIR .. "src/mame/video/aerofgt.cpp", + MAME_DIR .. "src/mame/drivers/crshrace.cpp", + MAME_DIR .. "src/mame/includes/crshrace.h", + MAME_DIR .. "src/mame/video/crshrace.cpp", + MAME_DIR .. "src/mame/drivers/f1gp.cpp", + MAME_DIR .. "src/mame/includes/f1gp.h", + MAME_DIR .. "src/mame/video/f1gp.cpp", + MAME_DIR .. "src/mame/drivers/fromance.cpp", + MAME_DIR .. "src/mame/includes/fromance.h", + MAME_DIR .. "src/mame/video/fromance.cpp", + MAME_DIR .. "src/mame/drivers/fromanc2.cpp", + MAME_DIR .. "src/mame/includes/fromanc2.h", + MAME_DIR .. "src/mame/video/fromanc2.cpp", + MAME_DIR .. "src/mame/drivers/gstriker.cpp", + MAME_DIR .. "src/mame/includes/gstriker.h", + MAME_DIR .. "src/mame/video/gstriker.cpp", + MAME_DIR .. "src/mame/video/mb60553.cpp", + MAME_DIR .. "src/mame/video/mb60553.h", + MAME_DIR .. "src/mame/video/vs920a.cpp", + MAME_DIR .. "src/mame/video/vs920a.h", + MAME_DIR .. "src/mame/drivers/inufuku.cpp", + MAME_DIR .. "src/mame/includes/inufuku.h", + MAME_DIR .. "src/mame/video/inufuku.cpp", + MAME_DIR .. "src/mame/drivers/ojankohs.cpp", + MAME_DIR .. "src/mame/includes/ojankohs.h", + MAME_DIR .. "src/mame/video/ojankohs.cpp", + MAME_DIR .. "src/mame/drivers/pipedrm.cpp", + MAME_DIR .. "src/mame/drivers/rpunch.cpp", + MAME_DIR .. "src/mame/includes/rpunch.h", + MAME_DIR .. "src/mame/video/rpunch.cpp", + MAME_DIR .. "src/mame/drivers/suprslam.cpp", + MAME_DIR .. "src/mame/includes/suprslam.h", + MAME_DIR .. "src/mame/video/suprslam.cpp", + MAME_DIR .. "src/mame/drivers/tail2nos.cpp", + MAME_DIR .. "src/mame/includes/tail2nos.h", + MAME_DIR .. "src/mame/video/tail2nos.cpp", + MAME_DIR .. "src/mame/drivers/taotaido.cpp", + MAME_DIR .. "src/mame/includes/taotaido.h", + MAME_DIR .. "src/mame/video/taotaido.cpp", + MAME_DIR .. "src/mame/drivers/welltris.cpp", + MAME_DIR .. "src/mame/includes/welltris.h", + MAME_DIR .. "src/mame/video/welltris.cpp", +} + +createMAMEProjects(_target, _subtarget, "wing") +files { + MAME_DIR .. "src/mame/drivers/lucky74.cpp", + MAME_DIR .. "src/mame/includes/lucky74.h", + MAME_DIR .. "src/mame/video/lucky74.cpp", + MAME_DIR .. "src/mame/drivers/luckgrln.cpp", + MAME_DIR .. "src/mame/drivers/pinkiri8.cpp", + MAME_DIR .. "src/mame/drivers/slotcarn.cpp", + MAME_DIR .. "src/mame/drivers/superwng.cpp", +} + +createMAMEProjects(_target, _subtarget, "yunsung") +files { + MAME_DIR .. "src/mame/drivers/nmg5.cpp", + MAME_DIR .. "src/mame/drivers/paradise.cpp", + MAME_DIR .. "src/mame/includes/paradise.h", + MAME_DIR .. "src/mame/video/paradise.cpp", + MAME_DIR .. "src/mame/drivers/yunsung8.cpp", + MAME_DIR .. "src/mame/includes/yunsung8.h", + MAME_DIR .. "src/mame/video/yunsung8.cpp", + MAME_DIR .. "src/mame/drivers/yunsun16.cpp", + MAME_DIR .. "src/mame/includes/yunsun16.h", + MAME_DIR .. "src/mame/video/yunsun16.cpp", +} + +createMAMEProjects(_target, _subtarget, "zaccaria") +files { + MAME_DIR .. "src/mame/audio/nl_zac1b11142.cpp", + MAME_DIR .. "src/mame/audio/nl_zac1b11142.h", + MAME_DIR .. "src/mame/audio/zaccaria.cpp", + MAME_DIR .. "src/mame/audio/zaccaria.h", + MAME_DIR .. "src/mame/drivers/laserbat.cpp", + MAME_DIR .. "src/mame/includes/laserbat.h", + MAME_DIR .. "src/mame/video/laserbat.cpp", + MAME_DIR .. "src/mame/audio/laserbat.cpp", + MAME_DIR .. "src/mame/drivers/seabattl.cpp", + MAME_DIR .. "src/mame/drivers/zac2650.cpp", + MAME_DIR .. "src/mame/includes/zac2650.h", + MAME_DIR .. "src/mame/video/zac2650.cpp", + MAME_DIR .. "src/mame/drivers/zaccaria.cpp", + MAME_DIR .. "src/mame/includes/zaccaria.h", + MAME_DIR .. "src/mame/video/zaccaria.cpp", +} + +-------------------------------------------------- +-- pinball drivers +-------------------------------------------------- + +createMAMEProjects(_target, _subtarget, "pinball") +files { + MAME_DIR .. "src/mame/drivers/allied.cpp", + MAME_DIR .. "src/mame/drivers/alvg.cpp", + MAME_DIR .. "src/mame/drivers/atari_s1.cpp", + MAME_DIR .. "src/mame/drivers/atari_s2.cpp", + MAME_DIR .. "src/mame/drivers/barni.cpp", + MAME_DIR .. "src/mame/drivers/bingo.cpp", + MAME_DIR .. "src/mame/drivers/by17.cpp", + MAME_DIR .. "src/mame/drivers/by35.cpp", + MAME_DIR .. "src/mame/drivers/by6803.cpp", + MAME_DIR .. "src/mame/drivers/by68701.cpp", + MAME_DIR .. "src/mame/drivers/byvid.cpp", + MAME_DIR .. "src/mame/drivers/capcom.cpp", + MAME_DIR .. "src/mame/drivers/de_2.cpp", + MAME_DIR .. "src/mame/drivers/de_3.cpp", + MAME_DIR .. "src/mame/machine/decopincpu.cpp", + MAME_DIR .. "src/mame/machine/decopincpu.h", + MAME_DIR .. "src/mame/video/decodmd1.cpp", + MAME_DIR .. "src/mame/video/decodmd1.h", + MAME_DIR .. "src/mame/video/decodmd2.cpp", + MAME_DIR .. "src/mame/video/decodmd2.h", + MAME_DIR .. "src/mame/video/decodmd3.cpp", + MAME_DIR .. "src/mame/video/decodmd3.h", + MAME_DIR .. "src/mame/drivers/de_3b.cpp", + MAME_DIR .. "src/mame/drivers/flicker.cpp", + MAME_DIR .. "src/mame/drivers/g627.cpp", + MAME_DIR .. "src/mame/drivers/gp_1.cpp", + MAME_DIR .. "src/mame/machine/genpin.cpp", + MAME_DIR .. "src/mame/machine/genpin.h", + MAME_DIR .. "src/mame/drivers/gp_2.cpp", + MAME_DIR .. "src/mame/drivers/gts1.cpp", + MAME_DIR .. "src/mame/drivers/gts3.cpp", + MAME_DIR .. "src/mame/drivers/gts3a.cpp", + MAME_DIR .. "src/mame/drivers/gts80.cpp", + MAME_DIR .. "src/mame/drivers/gts80a.cpp", + MAME_DIR .. "src/mame/drivers/gts80b.cpp", + MAME_DIR .. "src/mame/drivers/hankin.cpp", + MAME_DIR .. "src/mame/drivers/icecold.cpp", + MAME_DIR .. "src/mame/drivers/idsa.cpp", + MAME_DIR .. "src/mame/drivers/inder.cpp", + MAME_DIR .. "src/mame/drivers/inderp.cpp", + MAME_DIR .. "src/mame/drivers/jeutel.cpp", + MAME_DIR .. "src/mame/drivers/joctronic.cpp", + MAME_DIR .. "src/mame/drivers/jp.cpp", + MAME_DIR .. "src/mame/drivers/jvh.cpp", + MAME_DIR .. "src/mame/drivers/kissproto.cpp", + MAME_DIR .. "src/mame/drivers/lckydraw.cpp", + MAME_DIR .. "src/mame/drivers/ltd.cpp", + MAME_DIR .. "src/mame/drivers/macp.cpp", + MAME_DIR .. "src/mame/drivers/micropin.cpp", + MAME_DIR .. "src/mame/drivers/mephistp.cpp", + MAME_DIR .. "src/mame/drivers/mrgame.cpp", + MAME_DIR .. "src/mame/drivers/nsm.cpp", + MAME_DIR .. "src/mame/drivers/peyper.cpp", + MAME_DIR .. "src/mame/drivers/play_1.cpp", + MAME_DIR .. "src/mame/drivers/play_2.cpp", + MAME_DIR .. "src/mame/drivers/play_3.cpp", + MAME_DIR .. "src/mame/drivers/rowamet.cpp", + MAME_DIR .. "src/mame/drivers/s11.cpp", + MAME_DIR .. "src/mame/includes/s11.h", + MAME_DIR .. "src/mame/drivers/s11a.cpp", + MAME_DIR .. "src/mame/includes/s11a.h", + MAME_DIR .. "src/mame/drivers/s11b.cpp", + MAME_DIR .. "src/mame/includes/s11b.h", + MAME_DIR .. "src/mame/drivers/s11c.cpp", + MAME_DIR .. "src/mame/includes/s11c.h", + MAME_DIR .. "src/mame/audio/s11c_bg.cpp", + MAME_DIR .. "src/mame/audio/s11c_bg.h", + MAME_DIR .. "src/mame/drivers/s3.cpp", + MAME_DIR .. "src/mame/drivers/s4.cpp", + MAME_DIR .. "src/mame/drivers/s6.cpp", + MAME_DIR .. "src/mame/drivers/s6a.cpp", + MAME_DIR .. "src/mame/drivers/s7.cpp", + MAME_DIR .. "src/mame/drivers/s8.cpp", + MAME_DIR .. "src/mame/drivers/s8a.cpp", + MAME_DIR .. "src/mame/drivers/s9.cpp", + MAME_DIR .. "src/mame/drivers/sam.cpp", + MAME_DIR .. "src/mame/drivers/sleic.cpp", + MAME_DIR .. "src/mame/drivers/spectra.cpp", + MAME_DIR .. "src/mame/drivers/spinb.cpp", + MAME_DIR .. "src/mame/drivers/spirit76.cpp", + MAME_DIR .. "src/mame/drivers/st_mp100.cpp", + MAME_DIR .. "src/mame/drivers/st_mp200.cpp", + MAME_DIR .. "src/mame/drivers/stargame.cpp", + MAME_DIR .. "src/mame/drivers/supstarf.cpp", + MAME_DIR .. "src/mame/drivers/taito.cpp", + MAME_DIR .. "src/mame/drivers/techno.cpp", + MAME_DIR .. "src/mame/drivers/vd.cpp", + MAME_DIR .. "src/mame/drivers/whitestar.cpp", + MAME_DIR .. "src/mame/drivers/white_mod.cpp", + MAME_DIR .. "src/mame/drivers/wico.cpp", + MAME_DIR .. "src/mame/drivers/wpc_95.cpp", + MAME_DIR .. "src/mame/drivers/wpc_an.cpp", + MAME_DIR .. "src/mame/drivers/wpc_dcs.cpp", + MAME_DIR .. "src/mame/drivers/wpc_dot.cpp", + MAME_DIR .. "src/mame/includes/wpc_dot.h", + MAME_DIR .. "src/mame/drivers/wpc_flip1.cpp", + MAME_DIR .. "src/mame/includes/wpc_flip1.h", + MAME_DIR .. "src/mame/drivers/wpc_flip2.cpp", + MAME_DIR .. "src/mame/includes/wpc_flip2.h", + MAME_DIR .. "src/mame/drivers/wpc_s.cpp", + MAME_DIR .. "src/mame/machine/wpc.cpp", + MAME_DIR .. "src/mame/machine/wpc.h", + MAME_DIR .. "src/mame/audio/bally.cpp", + MAME_DIR .. "src/mame/audio/wpcsnd.cpp", + MAME_DIR .. "src/mame/audio/wpcsnd.h", + MAME_DIR .. "src/mame/video/wpc_dmd.cpp", + MAME_DIR .. "src/mame/video/wpc_dmd.h", + MAME_DIR .. "src/mame/machine/wpc_pic.cpp", + MAME_DIR .. "src/mame/machine/wpc_pic.h", + MAME_DIR .. "src/mame/machine/wpc_lamp.cpp", + MAME_DIR .. "src/mame/machine/wpc_lamp.h", + MAME_DIR .. "src/mame/machine/wpc_out.cpp", + MAME_DIR .. "src/mame/machine/wpc_out.h", + MAME_DIR .. "src/mame/machine/wpc_shift.cpp", + MAME_DIR .. "src/mame/machine/wpc_shift.h", + MAME_DIR .. "src/mame/drivers/zac_1.cpp", + MAME_DIR .. "src/mame/drivers/zac_2.cpp", + MAME_DIR .. "src/mame/drivers/zac_proto.cpp", +} + +-------------------------------------------------- +-- remaining drivers +-------------------------------------------------- + +createMAMEProjects(_target, _subtarget, "misc") +files { + MAME_DIR .. "src/mame/drivers/39in1.cpp", + MAME_DIR .. "src/mame/machine/pxa255.h", + MAME_DIR .. "src/mame/drivers/3do.cpp", + MAME_DIR .. "src/mame/includes/3do.h", + MAME_DIR .. "src/mame/machine/3do.cpp", + MAME_DIR .. "src/mame/drivers/4enraya.cpp", + MAME_DIR .. "src/mame/includes/4enraya.h", + MAME_DIR .. "src/mame/video/4enraya.cpp", + MAME_DIR .. "src/mame/drivers/4enlinea.cpp", + MAME_DIR .. "src/mame/drivers/5clown.cpp", + MAME_DIR .. "src/mame/drivers/a1supply.cpp", + MAME_DIR .. "src/mame/drivers/acefruit.cpp", + MAME_DIR .. "src/mame/drivers/aces1.cpp", + MAME_DIR .. "src/mame/drivers/acesp.cpp", + MAME_DIR .. "src/mame/drivers/age_candy.cpp", + MAME_DIR .. "src/mame/drivers/alinvade.cpp", + MAME_DIR .. "src/mame/drivers/amaticmg.cpp", + MAME_DIR .. "src/mame/drivers/amerihok.cpp", + MAME_DIR .. "src/mame/drivers/ampoker2.cpp", + MAME_DIR .. "src/mame/includes/ampoker2.h", + MAME_DIR .. "src/mame/video/ampoker2.cpp", + MAME_DIR .. "src/mame/drivers/amspdwy.cpp", + MAME_DIR .. "src/mame/includes/amspdwy.h", + MAME_DIR .. "src/mame/video/amspdwy.cpp", + MAME_DIR .. "src/mame/drivers/amusco.cpp", + MAME_DIR .. "src/mame/drivers/anes.cpp", + MAME_DIR .. "src/mame/drivers/arachnid.cpp", + MAME_DIR .. "src/mame/drivers/artmagic.cpp", + MAME_DIR .. "src/mame/includes/artmagic.h", + MAME_DIR .. "src/mame/video/artmagic.cpp", + MAME_DIR .. "src/mame/drivers/astrafr.cpp", + MAME_DIR .. "src/mame/drivers/astrcorp.cpp", + MAME_DIR .. "src/mame/drivers/astropc.cpp", + MAME_DIR .. "src/mame/drivers/atronic.cpp", + MAME_DIR .. "src/mame/drivers/attckufo.cpp", + MAME_DIR .. "src/mame/drivers/avt.cpp", + MAME_DIR .. "src/mame/drivers/aztarac.cpp", + MAME_DIR .. "src/mame/includes/aztarac.h", + MAME_DIR .. "src/mame/audio/aztarac.cpp", + MAME_DIR .. "src/mame/video/aztarac.cpp", + MAME_DIR .. "src/mame/drivers/bailey.cpp", + MAME_DIR .. "src/mame/drivers/beaminv.cpp", + MAME_DIR .. "src/mame/drivers/beezer.cpp", + MAME_DIR .. "src/mame/drivers/belatra.cpp", + MAME_DIR .. "src/mame/drivers/bgt.cpp", + MAME_DIR .. "src/mame/drivers/bingoman.cpp", + MAME_DIR .. "src/mame/drivers/bingor.cpp", + MAME_DIR .. "src/mame/drivers/blitz68k.cpp", + MAME_DIR .. "src/mame/drivers/blocktax.cpp", + MAME_DIR .. "src/mame/drivers/buster.cpp", + MAME_DIR .. "src/mame/drivers/calomega.cpp", + MAME_DIR .. "src/mame/includes/calomega.h", + MAME_DIR .. "src/mame/video/calomega.cpp", + MAME_DIR .. "src/mame/drivers/cardline.cpp", + MAME_DIR .. "src/mame/drivers/carrera.cpp", + MAME_DIR .. "src/mame/drivers/castle.cpp", + MAME_DIR .. "src/mame/drivers/cave.cpp", + MAME_DIR .. "src/mame/includes/cave.h", + MAME_DIR .. "src/mame/video/cave.cpp", + MAME_DIR .. "src/mame/drivers/cavepc.cpp", + MAME_DIR .. "src/mame/drivers/cv1k.cpp", + MAME_DIR .. "src/mame/drivers/cb2001.cpp", + MAME_DIR .. "src/mame/drivers/cdi.cpp", + MAME_DIR .. "src/mame/includes/cdi.h", + MAME_DIR .. "src/mame/video/mcd212.cpp", + MAME_DIR .. "src/mame/video/mcd212.h", + MAME_DIR .. "src/mame/machine/cdislave.cpp", + MAME_DIR .. "src/mame/machine/cdislave.h", + MAME_DIR .. "src/mame/machine/cdicdic.cpp", + MAME_DIR .. "src/mame/machine/cdicdic.h", + MAME_DIR .. "src/mame/drivers/chance32.cpp", + MAME_DIR .. "src/mame/drivers/chexx.cpp", + MAME_DIR .. "src/mame/drivers/chicago.cpp", + MAME_DIR .. "src/mame/drivers/chsuper.cpp", + MAME_DIR .. "src/mame/drivers/clowndwn.cpp", + MAME_DIR .. "src/mame/drivers/clpoker.cpp", + MAME_DIR .. "src/mame/drivers/cocoloco.cpp", + MAME_DIR .. "src/mame/drivers/coinmstr.cpp", + MAME_DIR .. "src/mame/drivers/coinmvga.cpp", + MAME_DIR .. "src/mame/drivers/comebaby.cpp", + MAME_DIR .. "src/mame/drivers/cromptons.cpp", + MAME_DIR .. "src/mame/drivers/cupidon.cpp", + MAME_DIR .. "src/mame/drivers/bntyhunt.cpp", + MAME_DIR .. "src/mame/drivers/coolpool.cpp", + MAME_DIR .. "src/mame/includes/coolpool.h", + MAME_DIR .. "src/mame/drivers/megaphx.cpp", + MAME_DIR .. "src/mame/machine/inder_sb.cpp", + MAME_DIR .. "src/mame/machine/inder_sb.h", + MAME_DIR .. "src/mame/machine/inder_vid.cpp", + MAME_DIR .. "src/mame/machine/inder_vid.h", + MAME_DIR .. "src/mame/drivers/corona.cpp", + MAME_DIR .. "src/mame/drivers/cwheel.cpp", + MAME_DIR .. "src/mame/drivers/crystal.cpp", + MAME_DIR .. "src/mame/video/vrender0.cpp", + MAME_DIR .. "src/mame/video/vrender0.h", + MAME_DIR .. "src/mame/drivers/cubeqst.cpp", + MAME_DIR .. "src/mame/drivers/cybertnk.cpp", + MAME_DIR .. "src/mame/drivers/daryde.cpp", + MAME_DIR .. "src/mame/drivers/dcheese.cpp", + MAME_DIR .. "src/mame/includes/dcheese.h", + MAME_DIR .. "src/mame/video/dcheese.cpp", + MAME_DIR .. "src/mame/drivers/dfruit.cpp", + MAME_DIR .. "src/mame/drivers/dgpix.cpp", + MAME_DIR .. "src/mame/drivers/discoboy.cpp", + MAME_DIR .. "src/mame/drivers/dominob.cpp", + MAME_DIR .. "src/mame/drivers/dorachan.cpp", + MAME_DIR .. "src/mame/drivers/dreamwld.cpp", + MAME_DIR .. "src/mame/drivers/dribling.cpp", + MAME_DIR .. "src/mame/includes/dribling.h", + MAME_DIR .. "src/mame/video/dribling.cpp", + MAME_DIR .. "src/mame/drivers/dwarfd.cpp", + MAME_DIR .. "src/mame/drivers/dynadice.cpp", + MAME_DIR .. "src/mame/drivers/dynamoah.cpp", + MAME_DIR .. "src/mame/drivers/ecoinfr.cpp", + MAME_DIR .. "src/mame/drivers/ecoinf1.cpp", + MAME_DIR .. "src/mame/drivers/ecoinf2.cpp", + MAME_DIR .. "src/mame/drivers/ecoinf3.cpp", + MAME_DIR .. "src/mame/includes/efdt.h", + MAME_DIR .. "src/mame/drivers/efdt.cpp", + MAME_DIR .. "src/mame/drivers/electra.cpp", + MAME_DIR .. "src/mame/drivers/epos.cpp", + MAME_DIR .. "src/mame/includes/epos.h", + MAME_DIR .. "src/mame/video/epos.cpp", + MAME_DIR .. "src/mame/drivers/esd16.cpp", + MAME_DIR .. "src/mame/includes/esd16.h", + MAME_DIR .. "src/mame/video/esd16.cpp", + MAME_DIR .. "src/mame/drivers/esh.cpp", + MAME_DIR .. "src/mame/drivers/esripsys.cpp", + MAME_DIR .. "src/mame/includes/esripsys.h", + MAME_DIR .. "src/mame/video/esripsys.cpp", + MAME_DIR .. "src/mame/drivers/ettrivia.cpp", + MAME_DIR .. "src/mame/drivers/extrema.cpp", + MAME_DIR .. "src/mame/drivers/ez2d.cpp", + MAME_DIR .. "src/mame/drivers/fastinvaders.cpp", + MAME_DIR .. "src/mame/drivers/fireball.cpp", + MAME_DIR .. "src/mame/drivers/flipjack.cpp", + MAME_DIR .. "src/mame/drivers/flower.cpp", + MAME_DIR .. "src/mame/audio/flower.cpp", + MAME_DIR .. "src/mame/drivers/fortecar.cpp", + MAME_DIR .. "src/mame/drivers/fresh.cpp", + MAME_DIR .. "src/mame/drivers/freekick.cpp", + MAME_DIR .. "src/mame/includes/freekick.h", + MAME_DIR .. "src/mame/video/freekick.cpp", + MAME_DIR .. "src/mame/drivers/freeway.cpp", + MAME_DIR .. "src/mame/drivers/fungames.cpp", + MAME_DIR .. "src/mame/drivers/funkball.cpp", + MAME_DIR .. "src/mame/drivers/gambl186.cpp", + MAME_DIR .. "src/mame/drivers/galaxi.cpp", + MAME_DIR .. "src/mame/drivers/galgame.cpp", + MAME_DIR .. "src/mame/drivers/gamecstl.cpp", + MAME_DIR .. "src/mame/drivers/gamemasters.cpp", + MAME_DIR .. "src/mame/drivers/gammagic.cpp", + MAME_DIR .. "src/mame/drivers/gamtor.cpp", + MAME_DIR .. "src/mame/drivers/gei.cpp", + MAME_DIR .. "src/mame/drivers/globalfr.cpp", + MAME_DIR .. "src/mame/drivers/globalvr.cpp", + MAME_DIR .. "src/mame/drivers/gluck2.cpp", + MAME_DIR .. "src/mame/drivers/goldngam.cpp", + MAME_DIR .. "src/mame/drivers/goldnpkr.cpp", + MAME_DIR .. "src/mame/drivers/good.cpp", + MAME_DIR .. "src/mame/drivers/gotcha.cpp", + MAME_DIR .. "src/mame/includes/gotcha.h", + MAME_DIR .. "src/mame/video/gotcha.cpp", + MAME_DIR .. "src/mame/drivers/gumbo.cpp", + MAME_DIR .. "src/mame/includes/gumbo.h", + MAME_DIR .. "src/mame/video/gumbo.cpp", + MAME_DIR .. "src/mame/drivers/gunpey.cpp", + MAME_DIR .. "src/mame/drivers/hapyfish.cpp", + MAME_DIR .. "src/mame/drivers/hideseek.cpp", + MAME_DIR .. "src/mame/drivers/hazelgr.cpp", + MAME_DIR .. "src/mame/drivers/headonb.cpp", + MAME_DIR .. "src/mame/drivers/highvdeo.cpp", + MAME_DIR .. "src/mame/drivers/hitpoker.cpp", + MAME_DIR .. "src/mame/drivers/homedata.cpp", + MAME_DIR .. "src/mame/includes/homedata.h", + MAME_DIR .. "src/mame/video/homedata.cpp", + MAME_DIR .. "src/mame/drivers/hotblock.cpp", + MAME_DIR .. "src/mame/drivers/hotstuff.cpp", + MAME_DIR .. "src/mame/drivers/ichiban.cpp", + MAME_DIR .. "src/mame/drivers/imolagp.cpp", + MAME_DIR .. "src/mame/drivers/intrscti.cpp", + MAME_DIR .. "src/mame/drivers/istellar.cpp", + MAME_DIR .. "src/mame/drivers/itgambl2.cpp", + MAME_DIR .. "src/mame/drivers/itgambl3.cpp", + MAME_DIR .. "src/mame/drivers/itgamble.cpp", + MAME_DIR .. "src/mame/drivers/jackpool.cpp", + MAME_DIR .. "src/mame/drivers/jankenmn.cpp", + MAME_DIR .. "src/mame/drivers/jokrwild.cpp", + MAME_DIR .. "src/mame/drivers/joystand.cpp", + MAME_DIR .. "src/mame/drivers/jubilee.cpp", + MAME_DIR .. "src/mame/drivers/jungleyo.cpp", + MAME_DIR .. "src/mame/drivers/kas89.cpp", + MAME_DIR .. "src/mame/drivers/kingpin.cpp", + MAME_DIR .. "src/mame/drivers/kurukuru.cpp", + MAME_DIR .. "src/mame/drivers/kyugo.cpp", + MAME_DIR .. "src/mame/includes/kyugo.h", + MAME_DIR .. "src/mame/video/kyugo.cpp", + MAME_DIR .. "src/mame/drivers/ladyfrog.cpp", + MAME_DIR .. "src/mame/includes/ladyfrog.h", + MAME_DIR .. "src/mame/video/ladyfrog.cpp", + MAME_DIR .. "src/mame/drivers/laserbas.cpp", + MAME_DIR .. "src/mame/drivers/laz_awetoss.cpp", + MAME_DIR .. "src/mame/drivers/laz_aftrshok.cpp", + MAME_DIR .. "src/mame/drivers/laz_ribrac.cpp", + MAME_DIR .. "src/mame/drivers/lethalj.cpp", + MAME_DIR .. "src/mame/includes/lethalj.h", + MAME_DIR .. "src/mame/video/lethalj.cpp", + MAME_DIR .. "src/mame/drivers/limenko.cpp", + MAME_DIR .. "src/mame/drivers/ltcasino.cpp", + MAME_DIR .. "src/mame/drivers/luckybal.cpp", + MAME_DIR .. "src/mame/drivers/magic10.cpp", + MAME_DIR .. "src/mame/drivers/magicard.cpp", + MAME_DIR .. "src/mame/drivers/magicfly.cpp", + MAME_DIR .. "src/mame/drivers/magictg.cpp", + MAME_DIR .. "src/mame/drivers/magreel.cpp", + MAME_DIR .. "src/mame/drivers/magtouch.cpp", + MAME_DIR .. "src/mame/drivers/majorpkr.cpp", + MAME_DIR .. "src/mame/drivers/malzak.cpp", + MAME_DIR .. "src/mame/includes/malzak.h", + MAME_DIR .. "src/mame/video/malzak.cpp", + MAME_DIR .. "src/mame/drivers/marywu.cpp", + MAME_DIR .. "src/mame/drivers/mcatadv.cpp", + MAME_DIR .. "src/mame/includes/mcatadv.h", + MAME_DIR .. "src/mame/video/mcatadv.cpp", + MAME_DIR .. "src/mame/drivers/mgavegas.cpp", + MAME_DIR .. "src/mame/drivers/meyc8080.cpp", + MAME_DIR .. "src/mame/drivers/meyc8088.cpp", + MAME_DIR .. "src/mame/drivers/micro3d.cpp", + MAME_DIR .. "src/mame/includes/micro3d.h", + MAME_DIR .. "src/mame/machine/micro3d.cpp", + MAME_DIR .. "src/mame/video/micro3d.cpp", + MAME_DIR .. "src/mame/audio/micro3d.cpp", + MAME_DIR .. "src/mame/audio/micro3d.h", + MAME_DIR .. "src/mame/drivers/midas.cpp", + MAME_DIR .. "src/mame/drivers/mil4000.cpp", + MAME_DIR .. "src/mame/drivers/miniboy7.cpp", + MAME_DIR .. "src/mame/drivers/minivideo.cpp", + MAME_DIR .. "src/mame/drivers/mirax.cpp", + MAME_DIR .. "src/mame/drivers/missbamby.cpp", + MAME_DIR .. "src/mame/drivers/mjsenpu.cpp", + MAME_DIR .. "src/mame/drivers/mole.cpp", + MAME_DIR .. "src/mame/drivers/mosaic.cpp", + MAME_DIR .. "src/mame/includes/mosaic.h", + MAME_DIR .. "src/mame/video/mosaic.cpp", + MAME_DIR .. "src/mame/drivers/mpu12wbk.cpp", + MAME_DIR .. "src/mame/drivers/multfish.cpp", + MAME_DIR .. "src/mame/includes/multfish.h", + MAME_DIR .. "src/mame/drivers/multfish_boot.cpp", + MAME_DIR .. "src/mame/drivers/murogem.cpp", + MAME_DIR .. "src/mame/drivers/murogmbl.cpp", + MAME_DIR .. "src/mame/drivers/neoprint.cpp", + MAME_DIR .. "src/mame/drivers/neptunp2.cpp", + MAME_DIR .. "src/mame/drivers/news.cpp", + MAME_DIR .. "src/mame/includes/news.h", + MAME_DIR .. "src/mame/video/news.cpp", + MAME_DIR .. "src/mame/drivers/nexus3d.cpp", + MAME_DIR .. "src/mame/drivers/nibble.cpp", + MAME_DIR .. "src/mame/drivers/norautp.cpp", + MAME_DIR .. "src/mame/includes/norautp.h", + MAME_DIR .. "src/mame/audio/norautp.cpp", + MAME_DIR .. "src/mame/drivers/notechan.cpp", + MAME_DIR .. "src/mame/drivers/nsg6809.cpp", + MAME_DIR .. "src/mame/drivers/nsmpoker.cpp", + MAME_DIR .. "src/mame/drivers/odyssey.cpp", + MAME_DIR .. "src/mame/drivers/oneshot.cpp", + MAME_DIR .. "src/mame/includes/oneshot.h", + MAME_DIR .. "src/mame/video/oneshot.cpp", + MAME_DIR .. "src/mame/drivers/onetwo.cpp", + MAME_DIR .. "src/mame/drivers/othello.cpp", + MAME_DIR .. "src/mame/drivers/pachifev.cpp", + MAME_DIR .. "src/mame/drivers/pasha2.cpp", + MAME_DIR .. "src/mame/drivers/pass.cpp", + MAME_DIR .. "src/mame/includes/pass.h", + MAME_DIR .. "src/mame/video/pass.cpp", + MAME_DIR .. "src/mame/drivers/photon.cpp", + MAME_DIR .. "src/mame/drivers/piggypas.cpp", + MAME_DIR .. "src/mame/video/pk8000.cpp", + MAME_DIR .. "src/mame/drivers/photon2.cpp", + MAME_DIR .. "src/mame/drivers/photoply.cpp", + MAME_DIR .. "src/mame/drivers/pipeline.cpp", + MAME_DIR .. "src/mame/drivers/pkscram.cpp", + MAME_DIR .. "src/mame/drivers/pntnpuzl.cpp", + MAME_DIR .. "src/mame/drivers/policetr.cpp", + MAME_DIR .. "src/mame/includes/policetr.h", + MAME_DIR .. "src/mame/video/policetr.cpp", + MAME_DIR .. "src/mame/drivers/polyplay.cpp", + MAME_DIR .. "src/mame/includes/polyplay.h", + MAME_DIR .. "src/mame/audio/polyplay.cpp", + MAME_DIR .. "src/mame/video/polyplay.cpp", + MAME_DIR .. "src/mame/drivers/poker72.cpp", + MAME_DIR .. "src/mame/drivers/potgoldu.cpp", + MAME_DIR .. "src/mame/drivers/proconn.cpp", + MAME_DIR .. "src/mame/drivers/pse.cpp", + MAME_DIR .. "src/mame/drivers/quizo.cpp", + MAME_DIR .. "src/mame/drivers/quizpun2.cpp", + MAME_DIR .. "src/mame/drivers/rbmk.cpp", + MAME_DIR .. "src/mame/drivers/rcorsair.cpp", + MAME_DIR .. "src/mame/drivers/re900.cpp", + MAME_DIR .. "src/mame/drivers/rgum.cpp", + MAME_DIR .. "src/mame/drivers/roul.cpp", + MAME_DIR .. "src/mame/drivers/rulechan.cpp", + MAME_DIR .. "src/mame/drivers/savquest.cpp", + MAME_DIR .. "src/mame/drivers/sanremo.cpp", + MAME_DIR .. "src/mame/drivers/sanremmg.cpp", + MAME_DIR .. "src/mame/drivers/sealy.cpp", + MAME_DIR .. "src/mame/drivers/scm_500.cpp", + MAME_DIR .. "src/mame/drivers/sfbonus.cpp", + MAME_DIR .. "src/mame/drivers/shangkid.cpp", + MAME_DIR .. "src/mame/includes/shangkid.h", + 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/skyarmy.cpp", + MAME_DIR .. "src/mame/drivers/skylncr.cpp", + MAME_DIR .. "src/mame/drivers/sliver.cpp", + MAME_DIR .. "src/mame/drivers/smsmcorp.cpp", + MAME_DIR .. "src/mame/drivers/sothello.cpp", + MAME_DIR .. "src/mame/drivers/spool99.cpp", + MAME_DIR .. "src/mame/drivers/sprcros2.cpp", + MAME_DIR .. "src/mame/drivers/sshot.cpp", + MAME_DIR .. "src/mame/drivers/ssingles.cpp", + MAME_DIR .. "src/mame/drivers/sstrangr.cpp", + MAME_DIR .. "src/mame/drivers/statriv2.cpp", + MAME_DIR .. "src/mame/drivers/strkzn.cpp", + MAME_DIR .. "src/mame/drivers/stuntair.cpp", + MAME_DIR .. "src/mame/drivers/su2000.cpp", + MAME_DIR .. "src/mame/drivers/subhuntr.cpp", + MAME_DIR .. "src/mame/drivers/summit.cpp", + MAME_DIR .. "src/mame/drivers/sumt8035.cpp", + MAME_DIR .. "src/mame/drivers/supercrd.cpp", + MAME_DIR .. "src/mame/drivers/supertnk.cpp", + MAME_DIR .. "src/mame/drivers/tapatune.cpp", + MAME_DIR .. "src/mame/drivers/tattack.cpp", + 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/thayers.cpp", + MAME_DIR .. "src/mame/drivers/thedeep.cpp", + MAME_DIR .. "src/mame/includes/thedeep.h", + MAME_DIR .. "src/mame/video/thedeep.cpp", + MAME_DIR .. "src/mame/drivers/tickee.cpp", + MAME_DIR .. "src/mame/drivers/tmspoker.cpp", + MAME_DIR .. "src/mame/drivers/truco.cpp", + MAME_DIR .. "src/mame/includes/truco.h", + MAME_DIR .. "src/mame/video/truco.cpp", + MAME_DIR .. "src/mame/drivers/trucocl.cpp", + MAME_DIR .. "src/mame/includes/trucocl.h", + MAME_DIR .. "src/mame/video/trucocl.cpp", + MAME_DIR .. "src/mame/drivers/trvmadns.cpp", + MAME_DIR .. "src/mame/drivers/trvquest.cpp", + MAME_DIR .. "src/mame/drivers/ttchamp.cpp", + MAME_DIR .. "src/mame/drivers/tugboat.cpp", + MAME_DIR .. "src/mame/drivers/ice_bozopail.cpp", + MAME_DIR .. "src/mame/drivers/ice_tbd.cpp", + MAME_DIR .. "src/mame/drivers/umipoker.cpp", + MAME_DIR .. "src/mame/drivers/unkhorse.cpp", + MAME_DIR .. "src/mame/drivers/unkpoker.cpp", + MAME_DIR .. "src/mame/drivers/usbilliards.cpp", + MAME_DIR .. "src/mame/drivers/usgames.cpp", + MAME_DIR .. "src/mame/includes/usgames.h", + MAME_DIR .. "src/mame/video/usgames.cpp", + MAME_DIR .. "src/mame/drivers/vamphalf.cpp", + MAME_DIR .. "src/mame/drivers/vcombat.cpp", + MAME_DIR .. "src/mame/drivers/vectrex.cpp", + MAME_DIR .. "src/mame/includes/vectrex.h", + MAME_DIR .. "src/mame/video/vectrex.cpp", + MAME_DIR .. "src/mame/machine/vectrex.cpp", + MAME_DIR .. "src/mame/drivers/video21.cpp", + MAME_DIR .. "src/mame/drivers/videosaa.cpp", + MAME_DIR .. "src/mame/drivers/vlc.cpp", + MAME_DIR .. "src/mame/drivers/voyager.cpp", + MAME_DIR .. "src/mame/drivers/vp101.cpp", + MAME_DIR .. "src/mame/drivers/vpoker.cpp", + MAME_DIR .. "src/mame/drivers/vroulet.cpp", + MAME_DIR .. "src/mame/drivers/wildpkr.cpp", + MAME_DIR .. "src/mame/drivers/wms.cpp", + MAME_DIR .. "src/mame/drivers/xtom3d.cpp", + MAME_DIR .. "src/mame/drivers/xyonix.cpp", + MAME_DIR .. "src/mame/includes/xyonix.h", + MAME_DIR .. "src/mame/video/xyonix.cpp", + MAME_DIR .. "src/mame/drivers/yuvomz80.cpp", +} +end diff --git a/docs/release/scripts/target/mame/dummy.lua b/docs/release/scripts/target/mame/dummy.lua new file mode 100644 index 00000000000..ec5d366abc6 --- /dev/null +++ b/docs/release/scripts/target/mame/dummy.lua @@ -0,0 +1,46 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- dummy.lua +-- +-- Dummy target makefile +-- +--------------------------------------------------------------------------- + +dofile("arcade.lua") +dofile("mess.lua") + +function createProjects_mame_dummy(_target, _subtarget) + project ("mame_dummy") + targetsubdir(_target .."_" .. _subtarget) + kind (LIBTYPE) + uuid (os.uuid("drv-mame_dummy")) + addprojectflags() + precompiledheaders() + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/mame", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + GEN_DIR .. "mess/layout", + } + +files{ + MAME_DIR .. "src/mame/drivers/coleco.cpp", + MAME_DIR .. "src/mame/includes/coleco.h", + MAME_DIR .. "src/mame/machine/coleco.cpp", + MAME_DIR .. "src/mame/machine/coleco.h", +} +end + +function linkProjects_mame_dummy(_target, _subtarget) + links { + "mame_dummy", + } +end diff --git a/docs/release/scripts/target/mame/mame.lua b/docs/release/scripts/target/mame/mame.lua new file mode 100644 index 00000000000..d58bfab4595 --- /dev/null +++ b/docs/release/scripts/target/mame/mame.lua @@ -0,0 +1,26 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- mame.lua +-- +-- MAME target makefile +-- +--------------------------------------------------------------------------- + +dofile("arcade.lua") +dofile("mess.lua") +dofile("virtual.lua") + +function createProjects_mame_mame(_target, _subtarget) + createProjects_mame_arcade(_target, _subtarget) + createProjects_mame_mess(_target, _subtarget) + createProjects_mame_virtual(_target, _subtarget) +end + +function linkProjects_mame_mame(_target, _subtarget) + linkProjects_mame_arcade(_target, _subtarget) + linkProjects_mame_mess(_target, _subtarget) + linkProjects_mame_virtual(_target, _subtarget) +end diff --git a/docs/release/scripts/target/mame/mess.lua b/docs/release/scripts/target/mame/mess.lua new file mode 100644 index 00000000000..8efe7a53747 --- /dev/null +++ b/docs/release/scripts/target/mame/mess.lua @@ -0,0 +1,4090 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- mess.lua +-- +-- MESS target makefile +-- +--------------------------------------------------------------------------- + +-------------------------------------------------- +-- specify available CPU cores +-------------------------------------------------- + +CPUS["Z80"] = true +CPUS["Z180"] = true +CPUS["I8085"] = true +CPUS["I8089"] = true +CPUS["M6502"] = true +CPUS["H6280"] = true +CPUS["I86"] = true +CPUS["I386"] = true +CPUS["NEC"] = true +CPUS["V30MZ"] = true +CPUS["V60"] = true +CPUS["MCS48"] = true +CPUS["MCS51"] = true +CPUS["MCS96"] = true +CPUS["M6800"] = true +CPUS["M6805"] = true +CPUS["HD6309"] = true +CPUS["M6809"] = true +CPUS["KONAMI"] = true +CPUS["M680X0"] = true +CPUS["T11"] = true +CPUS["S2650"] = true +CPUS["TMS340X0"] = true +CPUS["TMS9900"] = true +CPUS["TMS9995"] = true +CPUS["TMS9900L"] = true +CPUS["Z8000"] = true +CPUS["Z8001"] = true +CPUS["TMS32010"] = true +CPUS["TMS32025"] = true +CPUS["TMS32031"] = true +CPUS["TMS32051"] = true +CPUS["TMS32082"] = true +CPUS["TMS57002"] = true +CPUS["CCPU"] = true +CPUS["ADSP21XX"] = true +CPUS["ASAP"] = true +CPUS["AM29000"] = true +CPUS["UPD7810"] = true +CPUS["ARM"] = true +CPUS["ARM7"] = true +CPUS["JAGUAR"] = true +CPUS["CUBEQCPU"] = true +CPUS["ESRIP"] = true +CPUS["MIPS1"] = true +CPUS["MIPS3"] = true +CPUS["PSX"] = true +CPUS["SH"] = true +CPUS["DSP16"] = true +CPUS["DSP32C"] = true +CPUS["PIC16C5X"] = true +CPUS["PIC16C62X"] = true +CPUS["G65816"] = true +CPUS["SPC700"] = true +CPUS["E1"] = true +CPUS["I860"] = true +CPUS["I960"] = true +CPUS["H8"] = true +CPUS["V810"] = true +CPUS["M37710"] = true +CPUS["POWERPC"] = true +CPUS["SE3208"] = true +CPUS["MC68HC11"] = true +CPUS["ADSP21062"] = true +CPUS["DSP56156"] = true +CPUS["RSP"] = true +CPUS["ALPHA8201"] = true +CPUS["COP400"] = true +CPUS["TLCS90"] = true +CPUS["TLCS900"] = true +CPUS["MB88XX"] = true +CPUS["MB86233"] = true +CPUS["MB86235"] = true +CPUS["SSP1601"] = true +CPUS["APEXC"] = true +CPUS["CP1610"] = true +CPUS["F8"] = true +CPUS["LH5801"] = true +CPUS["PATINHOFEIO"] = true +CPUS["PDP1"] = true +CPUS["SATURN"] = true +CPUS["SC61860"] = true +CPUS["LR35902"] = true +CPUS["TMS7000"] = true +CPUS["SM8500"] = true +CPUS["MINX"] = true +CPUS["SSEM"] = true +CPUS["DIABLO"] = true +CPUS["AVR8"] = true +CPUS["TMS1000"] = true +CPUS["MCS40"] = true +CPUS["SUPERFX"] = true +CPUS["Z8"] = true +CPUS["I8008"] = true +CPUS["SCMP"] = true +--CPUS["MN10200"] = true +CPUS["COSMAC"] = true +CPUS["UNSP"] = true +CPUS["HCD62121"] = true +CPUS["PPS4"] = true +CPUS["UPD7725"] = true +CPUS["HD61700"] = true +CPUS["LC8670"] = true +CPUS["SCORE"] = true +CPUS["ES5510"] = true +CPUS["SCUDSP"] = true +CPUS["IE15"] = true +CPUS["8X300"] = true +CPUS["ALTO2"] = true +--CPUS["W65816"] = true +CPUS["ARC"] = true +CPUS["ARCOMPACT"] = true +CPUS["AMIS2000"] = true +CPUS["UCOM4"] = true +CPUS["HMCS40"] = true +CPUS["E0C6200"] = true +CPUS["MELPS4"] = true +CPUS["HPHYBRID"] = true +CPUS["SM510"] = true +CPUS["MB86901"] = true +CPUS["NANOPROCESSOR"] = true +CPUS["CLIPPER"] = true +CPUS["CAPRICORN"] = true +CPUS["ALPHA"] = true +CPUS["NS32000"] = true +--CPUS["DSPP"] = true +CPUS["HPC"] = true +CPUS["MEG"] = true +CPUS["DSPV"] = true +CPUS["RII"] = true +CPUS["BCP"] = true + +-------------------------------------------------- +-- specify available sound cores; some of these are +-- only for MAME and so aren't included +-------------------------------------------------- + +--SOUNDS["SAMPLES"] = true +SOUNDS["DAC"] = true +SOUNDS["DMADAC"] = true +SOUNDS["SPEAKER"] = true +SOUNDS["BEEP"] = true +SOUNDS["DISCRETE"] = true +SOUNDS["AY8910"] = true +SOUNDS["YM2151"] = true +SOUNDS["YM2203"] = true +SOUNDS["YM2413"] = true +SOUNDS["YM2608"] = true +SOUNDS["YM2610"] = true +SOUNDS["YM2610B"] = true +SOUNDS["YM2612"] = true +--SOUNDS["YM3438"] = true +SOUNDS["YM3812"] = true +SOUNDS["YM3526"] = true +SOUNDS["Y8950"] = true +SOUNDS["YMF262"] = true +SOUNDS["YMF271"] = true +SOUNDS["YMF278B"] = true +SOUNDS["YMZ280B"] = true +SOUNDS["SN76477"] = true +SOUNDS["SN76496"] = true +SOUNDS["POKEY"] = true +SOUNDS["TIA"] = true +SOUNDS["NES_APU"] = true +SOUNDS["PAULA_8364"] = true +SOUNDS["ASTROCADE"] = true +--SOUNDS["NAMCO"] = true +--SOUNDS["NAMCO_15XX"] = true +--SOUNDS["NAMCO_CUS30"] = true +--SOUNDS["NAMCO_52XX"] = true +--SOUNDS["NAMCO_63701X"] = true +SOUNDS["NAMCO_163"] = true +SOUNDS["T6W28"] = true +--SOUNDS["SNKWAVE"] = true +--SOUNDS["C140"] = true +--SOUNDS["C352"] = true +--SOUNDS["TMS36XX"] = true +--SOUNDS["TMS3615"] = true +SOUNDS["TMS5110"] = true +SOUNDS["TMS5220"] = true +SOUNDS["VLM5030"] = true +--SOUNDS["ADPCM"] = true +SOUNDS["MSM5205"] = true +--SOUNDS["MSM5232"] = true +SOUNDS["OKIM6258"] = true +SOUNDS["OKIM6295"] = true +--SOUNDS["OKIM6376"] = true +--SOUNDS["OKIM9810"] = true +SOUNDS["UPD7752"] = true +SOUNDS["UPD7759"] = true +SOUNDS["HC55516"] = true +--SOUNDS["TC8830F"] = true +--SOUNDS["K005289"] = true +--SOUNDS["K007232"] = true +SOUNDS["K051649"] = true +--SOUNDS["K053260"] = true +--SOUNDS["K054539"] = true +--SOUNDS["K056800"] = true +--SOUNDS["SEGAPCM"] = true +SOUNDS["MULTIPCM"] = true +SOUNDS["SCSP"] = true +SOUNDS["AICA"] = true +SOUNDS["RF5C68"] = true +--SOUNDS["RF5C400"] = true +--SOUNDS["CEM3394"] = true +SOUNDS["QSOUND"] = true +--SOUNDS["QS1000"] = true +SOUNDS["SAA1099"] = true +--SOUNDS["IREMGA20"] = true +SOUNDS["ES5503"] = true +SOUNDS["ES5505"] = true +SOUNDS["ES5506"] = true +--SOUNDS["BSMT2000"] = true +--SOUNDS["GAELCO_CG1V"] = true +--SOUNDS["GAELCO_GAE1"] = true +SOUNDS["HUC6230"] = true +SOUNDS["C6280"] = true +SOUNDS["SP0250"] = true +SOUNDS["SPU"] = true +SOUNDS["CDDA"] = true +--SOUNDS["ICS2115"] = true +--SOUNDS["I5000_SND"] = true +--SOUNDS["ST0016"] = true +--SOUNDS["NILE"] = true +--SOUNDS["X1_010"] = true +--SOUNDS["VRENDER0"] = true +SOUNDS["VOTRAX"] = true +--SOUNDS["ES8712"] = true +SOUNDS["CDP1869"] = true +SOUNDS["S14001A"] = true +SOUNDS["WAVE"] = true +SOUNDS["SID6581"] = true +SOUNDS["SID8580"] = true +SOUNDS["SP0256"] = true +--SOUNDS["DIGITALKER"] = true +SOUNDS["CDP1863"] = true +SOUNDS["CDP1864"] = true +--SOUNDS["ZSG2"] = true +SOUNDS["MOS656X"] = true +SOUNDS["ASC"] = true +--SOUNDS["MAS3507D"] = true +SOUNDS["SOCRATES"] = true +SOUNDS["TMC0285"] = true +SOUNDS["TMS5200"] = true +SOUNDS["CD2801"] = true +SOUNDS["CD2802"] = true +--SOUNDS["M58817"] = true +SOUNDS["TMC0281"] = true +SOUNDS["TMS5100"] = true +SOUNDS["TMS5110A"] = true +SOUNDS["LMC1992"] = true +SOUNDS["AWACS"] = true +--SOUNDS["YMZ770"] = true +--SOUNDS["MPEG_AUDIO"] = true +SOUNDS["T6721A"] = true +SOUNDS["MOS7360"] = true +SOUNDS["ESQPUMP"] = true +SOUNDS["VRC6"] = true +--SOUNDS["SB0400"] = true +--SOUNDS["AC97"] = true +--SOUNDS["ES1373"] = true +SOUNDS["L7A1045"] = true +--SOUNDS["AD1848"] = true +SOUNDS["UPD1771"] = true +SOUNDS["GB_SOUND"] = true +SOUNDS["PCD3311"] = true +SOUNDS["VOLT_REG"] = true +SOUNDS["MEA8000"] = true +--SOUNDS["DAC76"] = true +--SOUNDS["MM5837"] = true +SOUNDS["DAVE"] = true +--SOUNDS["LC7535"] = true +SOUNDS["UPD934G"] = true +SOUNDS["IOPSPU"] = true +SOUNDS["SWP00"] = true +SOUNDS["SWP20"] = true +SOUNDS["SWP30"] = true + +-------------------------------------------------- +-- specify available video cores +-------------------------------------------------- + +VIDEOS["SEGA315_5124"] = true +VIDEOS["SEGA315_5313"] = true +--VIDEOS["BUFSPRITE"] = true +VIDEOS["BT45X"] = true +VIDEOS["BT459"] = true +VIDEOS["BT47X"] = true +VIDEOS["CATSEYE"] = true +VIDEOS["CDP1861"] = true +VIDEOS["CDP1862"] = true +--VIDEOS["CESBLIT"] = true +VIDEOS["CRT9007"] = true +VIDEOS["CRT9021"] = true +VIDEOS["CRT9028"] = true +VIDEOS["CRT9212"] = true +VIDEOS["CRTC_EGA"] = true +VIDEOS["DL1416"] = true +VIDEOS["DM9368"] = true +VIDEOS["DP8350"] = true +VIDEOS["EF9340_1"] = true +VIDEOS["EF9345"] = true +VIDEOS["EF9364"] = true +VIDEOS["EF9365"] = true +--VIDEOS["EF9369"] = true +VIDEOS["FIXFREQ"] = true +VIDEOS["GF4500"] = true +--VIDEOS["EPIC12"] = true +VIDEOS["NT7534"] = true +VIDEOS["HD44102"] = true +VIDEOS["HD44352"] = true +VIDEOS["HD44780"] = true +VIDEOS["HD61830"] = true +--VIDEOS["HD63484"] = true +VIDEOS["HD66421"] = true +VIDEOS["HLCD0515"] = true +VIDEOS["HLCD0538"] = true +VIDEOS["HP1LL3"] = true +VIDEOS["HUC6202"] = true +VIDEOS["HUC6260"] = true +VIDEOS["HUC6261"] = true +VIDEOS["HUC6270"] = true +VIDEOS["HUC6271"] = true +VIDEOS["HUC6272"] = true +VIDEOS["I8244"] = true +VIDEOS["I82730"] = true +VIDEOS["I8275"] = true +VIDEOS["IMS_CVC"] = true +--VIDEOS["M50458"] = true +--VIDEOS["MB90082"] = true +--VIDEOS["MB_VCU"] = true +VIDEOS["MC6845"] = true +VIDEOS["MC6847"] = true +VIDEOS["MM5445"] = true +VIDEOS["MSM6222B"] = true +VIDEOS["MSM6255"] = true +VIDEOS["MOS6566"] = true +VIDEOS["PC_VGA"] = true +VIDEOS["PCD8544"] = true +--VIDEOS["POLY"] = true +VIDEOS["PSX"] = true +VIDEOS["RAMDAC"] = true +VIDEOS["S2636"] = true +VIDEOS["SAA5050"] = true +VIDEOS["PWM_DISPLAY"] = true +VIDEOS["SDA5708"] = true +VIDEOS["SED1200"] = true +VIDEOS["SED1330"] = true +VIDEOS["SED1520"] = true +VIDEOS["SNES_PPU"] = true +VIDEOS["STVVDP"] = true +VIDEOS["T6963C"] = true +VIDEOS["T6A04"] = true +VIDEOS["TEA1002"] = true +--VIDEOS["TLC34076"] = true +--VIDEOS["TMS34061"] = true +VIDEOS["TMS3556"] = true +VIDEOS["TMS9927"] = true +VIDEOS["TMS9928A"] = true +VIDEOS["TOPCAT"] = true +VIDEOS["NEREID"] = true +VIDEOS["UPD3301"] = true +VIDEOS["UPD7220"] = true +VIDEOS["UPD7227"] = true +VIDEOS["V9938"] = true +VIDEOS["VIC4567"] = true +--VIDEOS["VOODOO"] = true +VIDEOS["SCN2674"] = true +VIDEOS["GB_LCD"] = true +VIDEOS["GBA_LCD"] = true +VIDEOS["MGA2064W"] = true +VIDEOS["PPU2C0X"] = true +VIDEOS["DP8510"] = true +VIDEOS["MB88303"] = true +VIDEOS["PS2GS"] = true +VIDEOS["PS2GIF"] = true +VIDEOS["DECSFB"] = true + +-------------------------------------------------- +-- specify available machine cores +-------------------------------------------------- + +MACHINES["AKIKO"] = true +MACHINES["AUTOCONFIG"] = true +MACHINES["BUSMOUSE"] = true +MACHINES["CR511B"] = true +MACHINES["DMAC"] = true +MACHINES["GAYLE"] = true +MACHINES["6522VIA"] = true +MACHINES["6821PIA"] = true +MACHINES["6840PTM"] = true +MACHINES["MPCC68561"] = true +MACHINES["68681"] = true +MACHINES["7200FIFO"] = true +MACHINES["8530SCC"] = true +MACHINES["AAKARTDEV"] = true +MACHINES["ACIA6850"] = true +MACHINES["ADC0808"] = true +MACHINES["ADC083X"] = true +MACHINES["ADC1038"] = true +MACHINES["ADC1213X"] = true +MACHINES["AICARTC"] = true +MACHINES["AM25S55X"] = true +MACHINES["AM2847"] = true +MACHINES["AM2910"] = true +MACHINES["AM53CF96"] = true +MACHINES["AM79C90"] = true +MACHINES["AM9513"] = true +MACHINES["AM9517A"] = true +MACHINES["AM9519"] = true +MACHINES["AMIGAFDC"] = true +MACHINES["AT_KEYBC"] = true +MACHINES["AT28C16"] = true +MACHINES["AT29X"] = true +MACHINES["AT45DBXX"] = true +MACHINES["ATAFLASH"] = true +MACHINES["AY31015"] = true +MACHINES["BANKDEV"] = true +MACHINES["BIM68153"] = true +MACHINES["CDP1852"] = true +MACHINES["CDP1871"] = true +MACHINES["CDP1879"] = true +--MACHINES["CDU76S"] = true +MACHINES["CHESSMACHINE"] = true +MACHINES["CMOS40105"] = true +MACHINES["COM8116"] = true +MACHINES["CR589"] = true +MACHINES["CS4031"] = true +MACHINES["CS8221"] = true +MACHINES["CXD1095"] = true +MACHINES["DP8390"] = true +MACHINES["DP83932C"] = true +MACHINES["DP8573"] = true +--MACHINES["DS1204"] = true +MACHINES["DS1302"] = true +MACHINES["DS1315"] = true +MACHINES["DS1386"] = true +MACHINES["DS2401"] = true +MACHINES["DS2404"] = true +MACHINES["DS75160A"] = true +MACHINES["DS75161A"] = true +MACHINES["E0516"] = true +MACHINES["E05A03"] = true +MACHINES["E05A30"] = true +MACHINES["EEPROMDEV"] = true +MACHINES["ER1400"] = true +MACHINES["ER2055"] = true +MACHINES["F3853"] = true +MACHINES["HD63450"] = true +MACHINES["HD64610"] = true +MACHINES["HP_TACO"] = true +MACHINES["1MA6"] = true +MACHINES["1MB5"] = true +MACHINES["I2CMEM"] = true +MACHINES["I7220"] = true +MACHINES["I80130"] = true +MACHINES["I8087"] = true +MACHINES["I8155"] = true +MACHINES["I8212"] = true +MACHINES["I8214"] = true +MACHINES["I82355"] = true +MACHINES["I8243"] = true +MACHINES["I8251"] = true +MACHINES["I8255"] = true +MACHINES["I8257"] = true +MACHINES["I8271"] = true +MACHINES["I8279"] = true +MACHINES["I8291A"] = true +MACHINES["I8355"] = true +MACHINES["IDE"] = true +MACHINES["IE15"] = true +MACHINES["IM6402"] = true +MACHINES["INS8154"] = true +MACHINES["INS8250"] = true +MACHINES["INTELFLASH"] = true +MACHINES["JVS"] = true +MACHINES["K033906"] = true +MACHINES["K053252"] = true +MACHINES["K056230"] = true +MACHINES["KB3600"] = true +MACHINES["KBDC8042"] = true +MACHINES["KR2376"] = true +MACHINES["LATCH8"] = true +MACHINES["LC89510"] = true +MACHINES["LDPR8210"] = true +MACHINES["LDSTUB"] = true +MACHINES["LDV1000"] = true +MACHINES["LDVP931"] = true +MACHINES["LH5810"] = true +MACHINES["LINFLASH"] = true +MACHINES["LPCI"] = true +MACHINES["LSI53C810"] = true +MACHINES["M68307"] = true +MACHINES["M68340"] = true +MACHINES["M6M80011AP"] = true +MACHINES["MB14241"] = true +MACHINES["MB3773"] = true +MACHINES["MB8421"] = true +MACHINES["MB87030"] = true +MACHINES["MB87078"] = true +MACHINES["MB8795"] = true +MACHINES["MB89352"] = true +MACHINES["MB89371"] = true +MACHINES["MC14411"] = true +MACHINES["MC146818"] = true +MACHINES["MC2661"] = true +MACHINES["MC6843"] = true +MACHINES["MC6846"] = true +MACHINES["MC6852"] = true +MACHINES["MC6854"] = true +MACHINES["MC68328"] = true +MACHINES["MC68901"] = true +MACHINES["MCCS1850"] = true +MACHINES["MCF5206E"] = true +MACHINES["MICROTOUCH"] = true +MACHINES["MIOT6530"] = true +MACHINES["MM5307"] = true +MACHINES["MM58167"] = true +MACHINES["MM58274C"] = true +MACHINES["MM74C922"] = true +MACHINES["MM5740"] = true +MACHINES["MOS6526"] = true +MACHINES["MOS6529"] = true +MACHINES["MOS6551"] = true +MACHINES["MOS6702"] = true +MACHINES["MOS8706"] = true +MACHINES["MOS8722"] = true +MACHINES["MOS8726"] = true +MACHINES["MPU401"] = true +MACHINES["MSM5832"] = true +MACHINES["MSM58321"] = true +MACHINES["MSM6242"] = true +--MACHINES["MSM6253"] = true +MACHINES["MYB3K_KEYBOARD"] = true +MACHINES["NCR5380"] = true +MACHINES["NCR5380N"] = true +MACHINES["NCR5385"] = true +MACHINES["NCR5390"] = true +MACHINES["NCR539x"] = true +MACHINES["NCR53C7XX"] = true +MACHINES["NETLIST"] = true +MACHINES["NMC9306"] = true +MACHINES["NSC810"] = true +MACHINES["NSCSI"] = true +MACHINES["OMTI5100"] = true +MACHINES["OUTPUT_LATCH"] = true +MACHINES["PC_FDC"] = true +MACHINES["PC_LPT"] = true +MACHINES["PCCARD"] = true +MACHINES["PCF8583"] = true +MACHINES["PCF8593"] = true +MACHINES["PCI"] = true +MACHINES["PCKEYBRD"] = true +MACHINES["PDC"] = true +MACHINES["PHI"] = true +MACHINES["PIC8259"] = true +MACHINES["PIT68230"] = true +MACHINES["PIT8253"] = true +MACHINES["PLA"] = true +--MACHINES["PROFILE"] = true +MACHINES["PROM82S129"] = true +MACHINES["PXA255"] = true +MACHINES["R64H156"] = true +MACHINES["RF5C296"] = true +MACHINES["RIOT6532"] = true +MACHINES["RIPPLE_COUNTER"] = true +MACHINES["ROC10937"] = true +MACHINES["RP5C01"] = true +MACHINES["RP5C15"] = true +MACHINES["RP5H01"] = true +MACHINES["RSTBUF"] = true +MACHINES["RTC4543"] = true +MACHINES["RTC65271"] = true +MACHINES["RTC9701"] = true +--MACHINES["S2636"] = true +MACHINES["S3520CF"] = true +MACHINES["S3C24XX"] = true +MACHINES["S3C44B0"] = true +MACHINES["SAA1043"] = true +MACHINES["SATURN"] = true +MACHINES["SCC68070"] = true +--MACHINES["SCSI"] = true +MACHINES["SCC2698B"] = true +MACHINES["SCUDSP"] = true +MACHINES["SECFLASH"] = true +MACHINES["SEIBU_COP"] = true +--MACHINES["SERFLASH"] = true +MACHINES["SMC91C9X"] = true +MACHINES["SMIOC"] = true +MACHINES["SEGA_SCU"] = true +MACHINES["SMPC"] = true +MACHINES["SPG2XX"] = true +MACHINES["STVCD"] = true +MACHINES["SUN4C_MMU"] = true +MACHINES["TC0091LVC"] = true +MACHINES["TDC1008"] = true +--MACHINES["TE7750"] = true +MACHINES["TIMEKPR"] = true +MACHINES["TMC0430"] = true +MACHINES["TMC208K"] = true +MACHINES["TMP68301"] = true +MACHINES["TMS5501"] = true +MACHINES["TMS6100"] = true +MACHINES["TMS9901"] = true +MACHINES["TMS9902"] = true +MACHINES["TMS9914"] = true +MACHINES["TPI6525"] = true +MACHINES["TTL7400"] = true +MACHINES["TTL7404"] = true +MACHINES["TTL74123"] = true +MACHINES["TTL74145"] = true +MACHINES["TTL74148"] = true +MACHINES["TTL74153"] = true +--MACHINES["TTL74157"] = true +MACHINES["TTL74161"] = true +MACHINES["TTL74164"] = true +MACHINES["TTL74175"] = true +MACHINES["TTL74181"] = true +MACHINES["TTL74259"] = true +MACHINES["TTL74381"] = true +MACHINES["TTL7474"] = true +MACHINES["TUBE"] = true +MACHINES["UPD1990A"] = true +--MACHINES["UPD4992"] = true +MACHINES["UPD4701"] = true +MACHINES["UPD7002"] = true +--MACHINES["UPD7004"] = true +MACHINES["UPD71071"] = true +MACHINES["UPD765"] = true +MACHINES["FDC_PLL"] = true +MACHINES["V3021"] = true +MACHINES["WD_FDC"] = true +MACHINES["WD1010"] = true +MACHINES["WD11C00_17"] = true +MACHINES["WD2010"] = true +MACHINES["WD33C9X"] = true +MACHINES["WD7600"] = true +MACHINES["X2201"] = true +MACHINES["X2212"] = true +MACHINES["X76F041"] = true +MACHINES["X76F100"] = true +MACHINES["YM2148"] = true +MACHINES["YM3802"] = true +MACHINES["Z80CTC"] = true +MACHINES["Z80DART"] = true +MACHINES["Z80SIO"] = true +MACHINES["Z80SCC"] = true +MACHINES["Z80DMA"] = true +MACHINES["Z80PIO"] = true +MACHINES["Z80STI"] = true +MACHINES["Z8536"] = true +MACHINES["SMC92X4"] = true +MACHINES["HDC9234"] = true +MACHINES["TI99_HD"] = true +MACHINES["STRATA"] = true +MACHINES["STEPPERS"] = true +MACHINES["CORVUSHD"] = true +MACHINES["WOZFDC"] = true +MACHINES["DIABLO_HD"] = true +MACHINES["TMS1024"] = true +MACHINES["NSC810"] = true +MACHINES["VT82C496"] = true +MACHINES["FDC37C93X"] = true +MACHINES["GENPC"] = true +MACHINES["GEN_LATCH"] = true +MACHINES["WATCHDOG"] = true +MACHINES["SMARTMEDIA"] = true +MACHINES["APPLE_DRIVE"] = true +MACHINES["APPLE_FDC"] = true +MACHINES["SONY_DRIVE"] = true +MACHINES["SCNXX562"] = true +MACHINES["FGA002"] = true +MACHINES["I82586"] = true +MACHINES["INPUT_MERGER"] = true +-- MACHINES["K054321"] = true +MACHINES["ADC0844"] = true +MACHINES["28FXXX"] = true +-- MACHINES["GEN_FIFO"] = true +MACHINES["Z80DAISY"] = true +MACHINES["PS2DMAC"] = true +MACHINES["PS2INTC"] = true +MACHINES["PS2MC"] = true +MACHINES["PS2PAD"] = true +MACHINES["PS2SIF"] = true +MACHINES["PS2TIMER"] = true +MACHINES["IOPCDVD"] = true +MACHINES["IOPDMA"] = true +MACHINES["IOPINTC"] = true +MACHINES["IOPSIO2"] = true +MACHINES["IOPTIMER"] = true +MACHINES["Z8038"] = true +MACHINES["AIC565"] = true +MACHINES["AIC6250"] = true +MACHINES["DC7085"] = true +MACHINES["I82357"] = true +MACHINES["XC1700E"] = true + +-------------------------------------------------- +-- specify available bus cores +-------------------------------------------------- + +BUSES["A1BUS"] = true +BUSES["A2BUS"] = true +BUSES["A2GAMEIO"] = true +BUSES["A7800"] = true +BUSES["A800"] = true +BUSES["ABCBUS"] = true +BUSES["ABCKB"] = true +BUSES["ACORN"] = true +BUSES["ADAM"] = true +BUSES["ADAMNET"] = true +BUSES["APF"] = true +BUSES["APRICOT_EXPANSION"] = true +BUSES["APRICOT_KEYBOARD"] = true +BUSES["AMIGA_KEYBOARD"] = true +BUSES["ARCADIA"] = true +BUSES["ASTROCADE"] = true +BUSES["BBC_FDC"] = true +BUSES["BBC_ANALOGUE"] = true +BUSES["BBC_EXP"] = true +BUSES["BBC_JOYPORT"] = true +BUSES["BBC_1MHZBUS"] = true +BUSES["BBC_TUBE"] = true +BUSES["BBC_USERPORT"] = true +BUSES["BBC_ROM"] = true +BUSES["BML3"] = true +BUSES["BW2"] = true +BUSES["C64"] = true +BUSES["CBM2"] = true +BUSES["CBMIEC"] = true +BUSES["CBUS"] = true +BUSES["CENTRONICS"] = true +BUSES["CGENIE_EXPANSION"] = true +BUSES["CGENIE_PARALLEL"] = true +BUSES["CHANNELF"] = true +BUSES["COCO"] = true +BUSES["COLECO_CONTROLLER"] = true +BUSES["COLECO_CART"] = true +BUSES["COMPIS_GRAPHICS"] = true +BUSES["COMPUCOLOR"] = true +BUSES["COMX35"] = true +BUSES["CPC"] = true +BUSES["CRVISION"] = true +BUSES["DMV"] = true +BUSES["ECBBUS"] = true +BUSES["ECONET"] = true +BUSES["EKARA"] = true +BUSES["EINSTEIN_USERPORT"] = true +BUSES["ELECTRON"] = true +BUSES["ELECTRON_CART"] = true +BUSES["EP64"] = true +BUSES["EPSON_SIO"] = true +BUSES["GAMATE"] = true +BUSES["GAMEBOY"] = true +BUSES["GAMEGEAR"] = true +BUSES["GBA"] = true +BUSES["GENERIC"] = true +BUSES["GIO64"] = true +BUSES["HEXBUS"] = true +BUSES["HPHIL"] = true +BUSES["HPDIO"] = true +BUSES["IEEE488"] = true +BUSES["IMI7000"] = true +BUSES["INTELLEC4"] = true +BUSES["INTERPRO_SR"] = true +BUSES["INTERPRO_KEYBOARD"] = true +BUSES["INTERPRO_MOUSE"] = true +BUSES["INTV"] = true +BUSES["INTV_CTRL"] = true +BUSES["IQ151"] = true +BUSES["ISA"] = true +BUSES["ISBX"] = true +BUSES["JAKKS_GAMEKEY"] = true +BUSES["HP_OPTROM"] = true +BUSES["HP80_OPTROM"] = true +BUSES["HP80_IO"] = true +BUSES["HP9845_IO"] = true +BUSES["KC"] = true +BUSES["LPCI"] = true +BUSES["M5"] = true +BUSES["MACPDS"] = true +BUSES["MIDI"] = true +BUSES["MEGADRIVE"] = true +BUSES["MSX_SLOT"] = true +BUSES["MTX"] = true +BUSES["NASBUS"] = true +BUSES["NEOGEO"] = true +BUSES["NEOGEO_CTRL"] = true +BUSES["NES"] = true +BUSES["NES_CTRL"] = true +BUSES["NEWBRAIN"] = true +BUSES["NUBUS"] = true +BUSES["O2"] = true +BUSES["ORICEXT"] = true +BUSES["PC1512"] = true +BUSES["PCE"] = true +BUSES["PC_JOY"] = true +BUSES["PC_KBD"] = true +BUSES["PET"] = true +BUSES["PLUS4"] = true +BUSES["POFO"] = true +BUSES["PSI_KEYBOARD"] = true +BUSES["PSX_CONTROLLER"] = true +BUSES["PSX_PARALLEL"] = true +BUSES["QL"] = true +BUSES["RS232"] = true +BUSES["S100"] = true +BUSES["SAT_CTRL"] = true +BUSES["SATURN"] = true +BUSES["SBUS"] = true +BUSES["SCSI"] = true +BUSES["SCV"] = true +BUSES["SEGA8"] = true +BUSES["SG1000_EXP"] = true +BUSES["SGIKBD"] = true +BUSES["SMS_CTRL"] = true +BUSES["SMS_EXP"] = true +BUSES["SNES"] = true +BUSES["SNES_CTRL"] = true +BUSES["SPC1000"] = true +BUSES["SPECTRUM"] = true +BUSES["SS50"] = true +BUSES["SUNKBD"] = true +BUSES["SUNMOUSE"] = true +BUSES["SVI_EXPANDER"] = true +BUSES["SVI_SLOT"] = true +BUSES["TATUNG_PIPE"] = true +BUSES["TMC600"] = true +BUSES["TI8X"] = true +BUSES["TI99"] = true +BUSES["TI99X"] = true +BUSES["TIKI100"] = true +BUSES["TVC"] = true +BUSES["UTS_KBD"] = true +BUSES["VBOY"] = true +BUSES["VC4000"] = true +BUSES["VCS"] = true +BUSES["VCS_CTRL"] = true +BUSES["VECTREX"] = true +BUSES["VIC10"] = true +BUSES["VIC20"] = true +BUSES["VIDBRAIN"] = true +BUSES["VIP"] = true +BUSES["VME"] = true +BUSES["VSMILE"] = true +BUSES["VTECH_IOEXP"] = true +BUSES["VTECH_MEMEXP"] = true +BUSES["WANGPC"] = true +BUSES["WSWAN"] = true +BUSES["X68K"] = true +BUSES["Z88"] = true +BUSES["ZORRO"] = true + +-------------------------------------------------- +-- specify used file formats +-------------------------------------------------- + +FORMATS["2D_DSK"] = true +FORMATS["A26_CAS"] = true +FORMATS["A5105_DSK"] = true +FORMATS["ABC800_DSK"] = true +FORMATS["ABCFD2_DSK"] = true +FORMATS["ACE_TAP"] = true +FORMATS["ACORN_DSK"] = true +FORMATS["ADAM_CAS"] = true +FORMATS["ADAM_DSK"] = true +FORMATS["AFS_DSK"] = true +FORMATS["AGAT840K_HLE_DSK"] = true +FORMATS["AMI_DSK"] = true +FORMATS["AP2_DSK"] = true +FORMATS["APD_DSK"] = true +FORMATS["APF_APT"] = true +FORMATS["APOLLO_DSK"] = true +FORMATS["APPLIX_DSK"] = true +FORMATS["APRIDISK"] = true +FORMATS["AP_DSK35"] = true +FORMATS["ASST128_DSK"] = true +FORMATS["ASTROCADE_WAV"] = true +FORMATS["ATARI_DSK"] = true +FORMATS["ATOM_DSK"] = true +FORMATS["ATOM_TAP"] = true +FORMATS["BASICDSK"] = true +FORMATS["BW12_DSK"] = true +FORMATS["BW2_DSK"] = true +FORMATS["C3040_DSK"] = true +FORMATS["C4040_DSK"] = true +FORMATS["C8280_DSK"] = true +FORMATS["CAMPLYNX_CAS"] = true +FORMATS["CAMPLYNX_DSK"] = true +FORMATS["CBM_CRT"] = true +FORMATS["CBM_TAP"] = true +FORMATS["CCVF_DSK"] = true +FORMATS["CD90_640_DSK"] = true +FORMATS["CGENIE_DSK"] = true +FORMATS["CGEN_CAS"] = true +FORMATS["COCO_CAS"] = true +FORMATS["COMX35_DSK"] = true +FORMATS["CONCEPT_DSK"] = true +FORMATS["COUPEDSK"] = true +FORMATS["CPIS_DSK"] = true +FORMATS["CSW_CAS"] = true +FORMATS["D64_DSK"] = true +FORMATS["D71_DSK"] = true +FORMATS["D80_DSK"] = true +FORMATS["D81_DSK"] = true +FORMATS["D82_DSK"] = true +FORMATS["DCP_DSK"] = true +FORMATS["DIM_DSK"] = true +FORMATS["DIP_DSK"] = true +FORMATS["DMK_DSK"] = true +FORMATS["SDF_DSK"] = true +FORMATS["EP64_DSK"] = true +FORMATS["DMV_DSK"] = true +FORMATS["ESQ16_DSK"] = true +FORMATS["ESQ8_DSK"] = true +FORMATS["EXCALI64_DSK"] = true +FORMATS["FC100_CAS"] = true +FORMATS["FDD_DSK"] = true +FORMATS["FLEX_DSK"] = true +FORMATS["FM7_CAS"] = true +FORMATS["FMSX_CAS"] = true +FORMATS["FMTOWNS_DSK"] = true +FORMATS["FSD_DSK"] = true +FORMATS["G64_DSK"] = true +FORMATS["GTP_CAS"] = true +FORMATS["HECTOR_MINIDISC"] = true +FORMATS["HECT_DSK"] = true +FORMATS["HECT_TAP"] = true +FORMATS["HTI_TAP"] = true +FORMATS["HPI_DSK"] = true +FORMATS["HP_IPC_DSK"] = true +FORMATS["IQ151_DSK"] = true +FORMATS["ITT3030_DSK"] = true +FORMATS["JFD_DSK"] = true +FORMATS["JVC_DSK"] = true +FORMATS["OS9_DSK"] = true +FORMATS["KAYPRO_DSK"] = true +FORMATS["KC85_DSK"] = true +FORMATS["KC_CAS"] = true +FORMATS["KIM1_CAS"] = true +FORMATS["LVIV_LVT"] = true +FORMATS["M20_DSK"] = true +FORMATS["M5_DSK"] = true +FORMATS["MBEE_CAS"] = true +FORMATS["MFM_HD"] = true +FORMATS["MM_DSK"] = true +FORMATS["MS0515_DSK"] = true +FORMATS["MSX_DSK"] = true +FORMATS["MTX_DSK"] = true +FORMATS["MZ_CAS"] = true +FORMATS["NANOS_DSK"] = true +FORMATS["NASCOM_DSK"] = true +FORMATS["NASLITE_DSK"] = true +FORMATS["NES_DSK"] = true +FORMATS["NFD_DSK"] = true +FORMATS["OPD_DSK"] = true +FORMATS["ORAO_CAS"] = true +FORMATS["ORIC_DSK"] = true +FORMATS["ORIC_TAP"] = true +FORMATS["P6001_CAS"] = true +FORMATS["PASTI_DSK"] = true +FORMATS["PC98FDI_DSK"] = true +FORMATS["PC98_DSK"] = true +FORMATS["PC_DSK"] = true +FORMATS["PHC25_CAS"] = true +FORMATS["PK8020_DSK"] = true +FORMATS["POLY_DSK"] = true +FORMATS["PPG_DSK"] = true +FORMATS["PMD_CAS"] = true +FORMATS["PRIMOPTP"] = true +FORMATS["PYLDIN_DSK"] = true +FORMATS["QL_DSK"] = true +FORMATS["RK_CAS"] = true +FORMATS["RX50_DSK"] = true +FORMATS["SC3000_BIT"] = true +FORMATS["SF7000_DSK"] = true +FORMATS["SMX_DSK"] = true +FORMATS["SOL_CAS"] = true +FORMATS["SORC_CAS"] = true +FORMATS["SORC_DSK"] = true +FORMATS["SORD_CAS"] = true +FORMATS["SPC1000_CAS"] = true +FORMATS["ST_DSK"] = true +FORMATS["SVI_CAS"] = true +FORMATS["SVI_DSK"] = true +FORMATS["TANDY2K_DSK"] = true +FORMATS["THOM_CAS"] = true +FORMATS["THOM_DSK"] = true +FORMATS["TI99_DSK"] = true +FORMATS["TIKI100_DSK"] = true +FORMATS["TRD_DSK"] = true +FORMATS["TRS80_DSK"] = true +FORMATS["TRS_CAS"] = true +FORMATS["TVC_CAS"] = true +FORMATS["TVC_DSK"] = true +FORMATS["TZX_CAS"] = true +FORMATS["UEF_CAS"] = true +FORMATS["UPD765_DSK"] = true +FORMATS["VDK_DSK"] = true +FORMATS["VECTOR06_DSK"] = true +FORMATS["VG5K_CAS"] = true +FORMATS["VICTOR9K_DSK"] = true +FORMATS["VT_CAS"] = true +FORMATS["WD177X_DSK"] = true +FORMATS["X07_CAS"] = true +FORMATS["X1_TAP"] = true +FORMATS["XDF_DSK"] = true +FORMATS["ZX81_P"] = true + +-------------------------------------------------- +-- this is the list of driver libraries that +-- comprise MESS plus messdriv.*", which contains +-- the list of drivers +-------------------------------------------------- +function linkProjects_mame_mess(_target, _subtarget) + links { + "access", + "aci", + "acorn", + "act", + "adc", + "agat", + "akai", + "alesis", + "altos", + "ami", + "amiga", + "ampro", + "amstrad", + "apf", + "apollo", + "apple", + "applied", + "arcadia", + "ascii", + "at", + "atari", + "att", + "bally", + "bandai", + "banctec", + "be", + "bitcorp", + "bnpo", + "brea", + "bondwell", + "booth", + "camputers", + "canon", + "cantab", + "casio", + "cbm", + "cccp", + "cce", + "ccs", + "chess", + "chessking", + "chromatics", + "chrysler", + "coleco", + "compugraphic", + "cromemco", + "comx", + "concept", + "conitec", + "cxg", + "cybiko", + "dai", + "ddr", + "dec", + "dicksmth", + "dms", + "dragon", + "drc", + "dulmont", + "eaca", + "einis", + "elektor", + "elektrka", + "elektron", + "ensoniq", + "enterprise", + "entex", + "epoch", + "epson", + "exidy", + "fairch", + "fairlight", + "force", + "fujitsu", + "funtech", + "galaxy", + "gamepark", + "gi", + "gridcomp", + "grundy", + "hartung", + "heathkit", + "hec2hrp", + "hegener", + "heurikon", + "hitachi", + "homebrew", + "homelab", + "hp", + "ibm6580", + "ie15", + "imp", + "intel", + "interpro", + "interton", + "intv", + "isc", + "jazz", + "kaypro", + "koei", + "kontron", + "kurzweil", + "kyocera", + "leapfrog", + "luxor", + "magnavox", + "makerbot", + "matsushi", + "mattel", + "mb", + "mchester", + "memotech", + "mera", + "mgu", + "microkey", + "microsoft", + "mips", + "mit", + "mits", + "mitsubishi", + "mizar", + "morrow", + "mos", + "motorola", + "multitch", + "mupid", + "nakajima", + "nascom", + "natsemi", + "ncd", + "ne", + "nec", + "netronic", + "next", + "nintendo", + "nokia", + "northstar", + "novag", + "olivetti", + "olympia", + "omnibyte", + "orion", + "osborne", + "osi", + "palm", + "pc", + "pdp1", + "pel", + "philips", + "pitronic", + "poly", + "poly88", + "prodigy", + "psion", + "qume", + "radio", + "rca", + "regnecentralen", + "ritam", + "rm", + "robotron", + "rockwell", + "roland", + "rolm", + "sage", + "saitek", + "samcoupe", + "samsung", + "sanyo", + "saturn", + "segacons", + "sequential", + "sgi", + "sharp", + "siemens", + "sinclair", + "skeleton", + "slicer", + "snk", + "sony", + "sord", + "special", + "sun", + "svi", + "svision", + "swtpc", + "synertek", + "ta", + "tandberg", + "tangerin", + "tatung", + "teamconc", + "tektroni", + "telenova", + "telercas", + "televideo", + "tem", + "tesla", + "thomson", + "ti", + "tiger", + "tigertel", + "tiki", + "tomy", + "toshiba", + "trainer", + "trs", + "tvgames", + "ultimachine", + "ultratec", + "unicard", + "unisonic", + "unisys", + "usp", + "veb", + "verifone", + "vidbrain", + "videoton", + "visual", + "votrax", + "vtech", + "wang", + "wavemate", + "wyse", + "westinghouse", + "xerox", + "xussrpc", + "yamaha", + "zenith", + "zpa", + "zvt", + "messshared", + } + if (_subtarget=="mess") then + links { + "mameshared", + } + end +end + +function createMESSProjects(_target, _subtarget, _name) + project (_name) + targetsubdir(_target .."_" .. _subtarget) + kind (LIBTYPE) + uuid (os.uuid("drv-" .. _target .."_" .. _subtarget .. "_" .._name)) + addprojectflags() + precompiledheaders() + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/mame", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "src/lib/netlist", + MAME_DIR .. "3rdparty", + GEN_DIR .. "mess/layout", + GEN_DIR .. "mame/layout", + } + + includedirs { + ext_includedir("zlib") + } +end + +function createProjects_mame_mess(_target, _subtarget) +-------------------------------------------------- +-- the following files are MAME components and +-- shared across a number of drivers +-- +-- aa310.c (MESS), aristmk5.c, ertictac.c (MAME) +-- amiga.c (MESS), alg.c, arcadia.c, cubo.c, mquake.c, upscope.c (MAME) +-- a2600.c (MESS), tourtabl.c (MAME) +-- atari400.c (MESS), bartop52.c, maxaflex.c (MAME) +-- jaguar.c (MAME) +-- astrocde.c (MAME+MESS), g627.c +-- cps1.c (MAME + MESS), cbaseball.c, mitchell.c (MAME) +-- pk8000.c (MESS), photon.c (MAME) +-- nes.c (MESS), cham23.c, famibox.c, multigam.c, playch10.c, vsnes.c (MAME) +-- snes.c (MESS), nss.c, sfcbox.c, snesb.c (MAME) +-- n64.c (MESS), aleck64.c (MAME) +-- megadriv.c, segapico.c (MESS), hshavoc.c, megadrvb.c, megaplay.c, megatech.c, puckpkmn.c, segac2.c, segas18.c (MAME) +-- dccons.c (MESS), naomi.c (MAME) +-- neogeocd.c (MESS), midas.c, neogeo.c, neoprint.c (MAME) +-- cdi.c (MESS + MAME) +-- 3do.c (MESS + MAME), konamim2.c (MAME) +-- vectrex.c (MESS + MAME) +-- cps1.c (MESS + MAME) +-------------------------------------------------- +if (_subtarget=="mess") then +createMESSProjects(_target, _subtarget, "mameshared") +files { + MAME_DIR .. "src/mame/machine/archimds.cpp", + MAME_DIR .. "src/mame/video/archimds.cpp", + MAME_DIR .. "src/mame/machine/amiga.cpp", + MAME_DIR .. "src/mame/video/amiga.cpp", + MAME_DIR .. "src/mame/video/amigaaga.cpp", + MAME_DIR .. "src/mame/video/amigaaga.h", + MAME_DIR .. "src/mame/video/tia.cpp", + MAME_DIR .. "src/mame/video/tia.h", + MAME_DIR .. "src/mame/machine/atari400.cpp", + MAME_DIR .. "src/mame/video/atari400.cpp", + MAME_DIR .. "src/mame/includes/atari400.h", + MAME_DIR .. "src/mame/video/antic.cpp", + MAME_DIR .. "src/mame/video/antic.h", + MAME_DIR .. "src/mame/video/gtia.cpp", + MAME_DIR .. "src/mame/video/gtia.h", + MAME_DIR .. "src/mame/drivers/jaguar.cpp", + MAME_DIR .. "src/mame/includes/jaguar.h", + MAME_DIR .. "src/mame/audio/jaguar.cpp", + MAME_DIR .. "src/mame/video/jaguar.cpp", + MAME_DIR .. "src/mame/video/jagblit.h", + MAME_DIR .. "src/mame/video/jagblit.hxx", + MAME_DIR .. "src/mame/video/jagobj.hxx", + MAME_DIR .. "src/mame/drivers/astrocde.cpp", + MAME_DIR .. "src/mame/includes/astrocde.h", + MAME_DIR .. "src/mame/video/astrocde.cpp", + MAME_DIR .. "src/mame/machine/kabuki.cpp", + MAME_DIR .. "src/mame/machine/kabuki.h", + MAME_DIR .. "src/mame/video/pk8000.cpp", + MAME_DIR .. "src/mame/machine/snes.cpp", + MAME_DIR .. "src/mame/audio/snes_snd.cpp", + MAME_DIR .. "src/mame/audio/snes_snd.h", + MAME_DIR .. "src/mame/machine/n64.cpp", + MAME_DIR .. "src/mame/video/n64.cpp", + MAME_DIR .. "src/mame/video/n64types.h", + MAME_DIR .. "src/mame/video/rdpfiltr.hxx", + MAME_DIR .. "src/mame/video/n64.h", + MAME_DIR .. "src/mame/video/rdpblend.cpp", + MAME_DIR .. "src/mame/video/rdpblend.h", + MAME_DIR .. "src/mame/video/rdptpipe.cpp", + MAME_DIR .. "src/mame/video/rdptpipe.h", + MAME_DIR .. "src/mame/video/pin64.cpp", + MAME_DIR .. "src/mame/video/pin64.h", + MAME_DIR .. "src/mame/machine/megadriv.cpp", + MAME_DIR .. "src/mame/drivers/naomi.cpp", + MAME_DIR .. "src/mame/includes/naomi.h", + MAME_DIR .. "src/mame/includes/dc.h", + MAME_DIR .. "src/mame/machine/awboard.cpp", + MAME_DIR .. "src/mame/machine/awboard.h", + MAME_DIR .. "src/mame/machine/dc.cpp", + MAME_DIR .. "src/mame/machine/dc-ctrl.cpp", + MAME_DIR .. "src/mame/machine/dc-ctrl.h", + MAME_DIR .. "src/mame/machine/jvs13551.cpp", + MAME_DIR .. "src/mame/machine/jvs13551.h", + MAME_DIR .. "src/mame/machine/maple-dc.cpp", + MAME_DIR .. "src/mame/machine/maple-dc.h", + MAME_DIR .. "src/mame/machine/mapledev.cpp", + MAME_DIR .. "src/mame/machine/mapledev.h", + MAME_DIR .. "src/mame/machine/mie.cpp", + MAME_DIR .. "src/mame/machine/mie.h", + MAME_DIR .. "src/mame/machine/naomi.cpp", + MAME_DIR .. "src/mame/machine/naomibd.cpp", + MAME_DIR .. "src/mame/machine/naomibd.h", + MAME_DIR .. "src/mame/machine/naomig1.cpp", + MAME_DIR .. "src/mame/machine/naomig1.h", + MAME_DIR .. "src/mame/machine/naomigd.cpp", + MAME_DIR .. "src/mame/machine/naomigd.h", + MAME_DIR .. "src/mame/machine/naomim1.cpp", + MAME_DIR .. "src/mame/machine/naomim1.h", + MAME_DIR .. "src/mame/machine/naomim2.cpp", + 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/naomirom.cpp", + 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/video/powervr2.cpp", + MAME_DIR .. "src/mame/video/powervr2.h", + MAME_DIR .. "src/mame/drivers/neogeo.cpp", + MAME_DIR .. "src/mame/includes/neogeo.h", + MAME_DIR .. "src/mame/machine/ng_memcard.cpp", + MAME_DIR .. "src/mame/machine/ng_memcard.h", + MAME_DIR .. "src/mame/video/neogeo.cpp", + MAME_DIR .. "src/mame/video/neogeo_spr.cpp", + MAME_DIR .. "src/mame/video/neogeo_spr.h", + MAME_DIR .. "src/mame/drivers/cdi.cpp", + MAME_DIR .. "src/mame/includes/cdi.h", + MAME_DIR .. "src/mame/machine/cdicdic.cpp", + MAME_DIR .. "src/mame/machine/cdicdic.h", + MAME_DIR .. "src/mame/machine/cdislave.cpp", + MAME_DIR .. "src/mame/machine/cdislave.h", + MAME_DIR .. "src/mame/video/mcd212.cpp", + MAME_DIR .. "src/mame/video/mcd212.h", + MAME_DIR .. "src/mame/drivers/3do.cpp", + MAME_DIR .. "src/mame/includes/3do.h", + MAME_DIR .. "src/mame/machine/3do.cpp", + MAME_DIR .. "src/mame/drivers/konamim2.cpp", + MAME_DIR .. "src/mame/drivers/vectrex.cpp", + MAME_DIR .. "src/mame/includes/vectrex.h", + MAME_DIR .. "src/mame/machine/vectrex.cpp", + MAME_DIR .. "src/mame/video/vectrex.cpp", + MAME_DIR .. "src/mame/drivers/cps1.cpp", + MAME_DIR .. "src/mame/includes/cps1.h", + MAME_DIR .. "src/mame/video/cps1.cpp", + MAME_DIR .. "src/mame/video/xbox_nv2a.cpp", + MAME_DIR .. "src/mame/machine/xbox.cpp", + MAME_DIR .. "src/mame/machine/xbox_usb.cpp", + MAME_DIR .. "src/mame/machine/xbox_pci.cpp", + MAME_DIR .. "src/mame/includes/saturn.h", + MAME_DIR .. "src/mame/drivers/saturn.cpp", + MAME_DIR .. "src/mame/machine/saturn.cpp", + MAME_DIR .. "src/mame/machine/saturn_cdb.cpp", + MAME_DIR .. "src/mame/machine/saturn_cdb.h", +} +end +-------------------------------------------------- +-- the following files are general components and +-- shared across a number of drivers +-------------------------------------------------- +createMESSProjects(_target, _subtarget, "messshared") +files { + MAME_DIR .. "src/mame/machine/microdrv.cpp", + MAME_DIR .. "src/mame/machine/microdrv.h", + MAME_DIR .. "src/mame/machine/teleprinter.cpp", + MAME_DIR .. "src/mame/machine/teleprinter.h", + MAME_DIR .. "src/mame/machine/z80bin.cpp", + MAME_DIR .. "src/mame/machine/z80bin.h", +} +-------------------------------------------------- +-- manufacturer-specific groupings for drivers +-------------------------------------------------- + +createMESSProjects(_target, _subtarget, "access") +files { + MAME_DIR .. "src/mame/drivers/acvirus.cpp", +} + +createMESSProjects(_target, _subtarget, "aci") +files { + MAME_DIR .. "src/mame/drivers/aci_boris.cpp", + MAME_DIR .. "src/mame/drivers/aci_borisdpl.cpp", + MAME_DIR .. "src/mame/drivers/aci_ggm.cpp", +} + +createMESSProjects(_target, _subtarget, "acorn") +files { + MAME_DIR .. "src/mame/drivers/aa310.cpp", + MAME_DIR .. "src/mame/drivers/accomm.cpp", + MAME_DIR .. "src/mame/drivers/acrnsys1.cpp", + MAME_DIR .. "src/mame/drivers/acrnsys.cpp", + MAME_DIR .. "src/mame/drivers/atom.cpp", + MAME_DIR .. "src/mame/includes/atom.h", + MAME_DIR .. "src/mame/drivers/bbc.cpp", + MAME_DIR .. "src/mame/includes/bbc.h", + MAME_DIR .. "src/mame/machine/bbc.cpp", + MAME_DIR .. "src/mame/video/bbc.cpp", + MAME_DIR .. "src/mame/drivers/cms.cpp", + MAME_DIR .. "src/mame/drivers/electron.cpp", + MAME_DIR .. "src/mame/includes/electron.h", + MAME_DIR .. "src/mame/machine/electron.cpp", + MAME_DIR .. "src/mame/video/electron.cpp", + MAME_DIR .. "src/mame/drivers/riscpc.cpp", + MAME_DIR .. "src/mame/drivers/z88.cpp", + MAME_DIR .. "src/mame/includes/z88.h", + MAME_DIR .. "src/mame/machine/upd65031.cpp", + MAME_DIR .. "src/mame/machine/upd65031.h", + MAME_DIR .. "src/mame/video/z88.cpp", +} + +createMESSProjects(_target, _subtarget, "act") +files { + MAME_DIR .. "src/mame/drivers/apricot.cpp", + MAME_DIR .. "src/mame/drivers/apricotf.cpp", + MAME_DIR .. "src/mame/drivers/apricotp.cpp", + MAME_DIR .. "src/mame/machine/apricotkb.cpp", + MAME_DIR .. "src/mame/machine/apricotkb.h", + MAME_DIR .. "src/mame/drivers/victor9k.cpp", + MAME_DIR .. "src/mame/machine/victor9k_kb.cpp", + MAME_DIR .. "src/mame/machine/victor9k_kb.h", + MAME_DIR .. "src/mame/machine/victor9k_fdc.cpp", + MAME_DIR .. "src/mame/machine/victor9k_fdc.h", +} + +createMESSProjects(_target, _subtarget, "adc") +files { + MAME_DIR .. "src/mame/drivers/super6.cpp", + MAME_DIR .. "src/mame/includes/super6.h", + MAME_DIR .. "src/mame/drivers/superslave.cpp", + MAME_DIR .. "src/mame/includes/superslave.h", +} + +createMESSProjects(_target, _subtarget, "agat") +files { + MAME_DIR .. "src/mame/drivers/agat.cpp", + MAME_DIR .. "src/mame/includes/apple2.h", + MAME_DIR .. "src/mame/video/agat7.cpp", + MAME_DIR .. "src/mame/video/agat7.h", +} + +createMESSProjects(_target, _subtarget, "akai") +files { + MAME_DIR .. "src/mame/drivers/mpc3000.cpp", +} + +createMESSProjects(_target, _subtarget, "alesis") +files { + MAME_DIR .. "src/mame/drivers/alesis.cpp", + MAME_DIR .. "src/mame/includes/alesis.h", + MAME_DIR .. "src/mame/audio/alesis.cpp", + MAME_DIR .. "src/mame/video/alesis.cpp", +} + +createMESSProjects(_target, _subtarget, "altos") +files { + MAME_DIR .. "src/mame/drivers/altos2.cpp", + MAME_DIR .. "src/mame/drivers/altos5.cpp", + MAME_DIR .. "src/mame/drivers/altos486.cpp", + MAME_DIR .. "src/mame/drivers/altos8600.cpp", + MAME_DIR .. "src/mame/machine/acs8600_ics.cpp", +} + +createMESSProjects(_target, _subtarget, "ami") +files { + MAME_DIR .. "src/mame/drivers/hh_amis2k.cpp", +} + +createMESSProjects(_target, _subtarget, "amiga") +files { + MAME_DIR .. "src/mame/drivers/amiga.cpp", + MAME_DIR .. "src/mame/includes/amiga.h", +} + +createMESSProjects(_target, _subtarget, "ampro") +files { + MAME_DIR .. "src/mame/drivers/lb186.cpp", +} + +createMESSProjects(_target, _subtarget, "amstrad") +files { + MAME_DIR .. "src/mame/drivers/amstrad.cpp", + MAME_DIR .. "src/mame/includes/amstrad.h", + MAME_DIR .. "src/mame/machine/amstrad.cpp", + MAME_DIR .. "src/mame/drivers/amstr_pc.cpp", + MAME_DIR .. "src/mame/drivers/nc.cpp", + MAME_DIR .. "src/mame/includes/nc.h", + MAME_DIR .. "src/mame/machine/nc.cpp", + MAME_DIR .. "src/mame/video/nc.cpp", + MAME_DIR .. "src/mame/drivers/pc1512.cpp", + MAME_DIR .. "src/mame/includes/pc1512.h", + MAME_DIR .. "src/mame/machine/pc1512kb.cpp", + MAME_DIR .. "src/mame/machine/pc1512kb.h", + MAME_DIR .. "src/mame/video/pc1512.cpp", + MAME_DIR .. "src/mame/drivers/pcw.cpp", + MAME_DIR .. "src/mame/includes/pcw.h", + MAME_DIR .. "src/mame/video/pcw.cpp", + MAME_DIR .. "src/mame/drivers/pcw16.cpp", + MAME_DIR .. "src/mame/includes/pcw16.h", + MAME_DIR .. "src/mame/video/pcw16.cpp", + MAME_DIR .. "src/mame/drivers/pda600.cpp", +} + +createMESSProjects(_target, _subtarget, "apf") +files { + MAME_DIR .. "src/mame/drivers/apf.cpp", +} + +createMESSProjects(_target, _subtarget, "apollo") +files { + MAME_DIR .. "src/mame/drivers/apollo.cpp", + MAME_DIR .. "src/mame/includes/apollo.h", + MAME_DIR .. "src/mame/machine/apollo.cpp", + MAME_DIR .. "src/mame/machine/apollo_kbd.cpp", + MAME_DIR .. "src/mame/machine/apollo_kbd.h", + MAME_DIR .. "src/mame/video/apollo.cpp", +} + +createMESSProjects(_target, _subtarget, "apple") +files { + MAME_DIR .. "src/mame/drivers/apple1.cpp", + MAME_DIR .. "src/mame/drivers/apple2.cpp", + MAME_DIR .. "src/mame/drivers/apple2e.cpp", + MAME_DIR .. "src/mame/includes/apple2e.h", + MAME_DIR .. "src/mame/video/apple2.cpp", + MAME_DIR .. "src/mame/video/apple2.h", + MAME_DIR .. "src/mame/drivers/tk2000.cpp", + MAME_DIR .. "src/mame/drivers/apple2gs.cpp", + MAME_DIR .. "src/mame/machine/apple2common.cpp", + MAME_DIR .. "src/mame/machine/apple2common.h", + MAME_DIR .. "src/mame/drivers/apple3.cpp", + MAME_DIR .. "src/mame/includes/apple3.h", + MAME_DIR .. "src/mame/machine/apple3.cpp", + MAME_DIR .. "src/mame/video/apple3.cpp", + MAME_DIR .. "src/mame/drivers/lisa.cpp", + MAME_DIR .. "src/mame/includes/lisa.h", + MAME_DIR .. "src/mame/machine/lisa.cpp", + MAME_DIR .. "src/mame/drivers/lwriter.cpp", + MAME_DIR .. "src/mame/drivers/mac128.cpp", + MAME_DIR .. "src/mame/drivers/mac.cpp", + MAME_DIR .. "src/mame/includes/mac.h", + MAME_DIR .. "src/mame/machine/egret.cpp", + MAME_DIR .. "src/mame/machine/egret.h", + MAME_DIR .. "src/mame/machine/mac.cpp", + MAME_DIR .. "src/mame/machine/macadb.cpp", + MAME_DIR .. "src/mame/machine/macadb.h", + MAME_DIR .. "src/mame/machine/macrtc.cpp", + MAME_DIR .. "src/mame/machine/macrtc.h", + MAME_DIR .. "src/mame/machine/mackbd.cpp", + MAME_DIR .. "src/mame/machine/mackbd.h", + MAME_DIR .. "src/mame/machine/swim.cpp", + MAME_DIR .. "src/mame/machine/swim.h", + MAME_DIR .. "src/mame/video/mac.cpp", + MAME_DIR .. "src/mame/drivers/macpci.cpp", + MAME_DIR .. "src/mame/includes/macpci.h", + MAME_DIR .. "src/mame/machine/macpci.cpp", + MAME_DIR .. "src/mame/machine/cuda.cpp", + MAME_DIR .. "src/mame/machine/cuda.h", + MAME_DIR .. "src/mame/drivers/iphone2g.cpp", + MAME_DIR .. "src/mame/drivers/superga2.cpp", +} + +createMESSProjects(_target, _subtarget, "applied") +files { + MAME_DIR .. "src/mame/drivers/mbee.cpp", + MAME_DIR .. "src/mame/includes/mbee.h", + MAME_DIR .. "src/mame/machine/mbee.cpp", + MAME_DIR .. "src/mame/video/mbee.cpp", +} + +createMESSProjects(_target, _subtarget, "arcadia") +files { + MAME_DIR .. "src/mame/drivers/arcadia.cpp", + MAME_DIR .. "src/mame/includes/arcadia.h", + MAME_DIR .. "src/mame/audio/arcadia.cpp", + MAME_DIR .. "src/mame/audio/arcadia.h", + MAME_DIR .. "src/mame/video/arcadia.cpp", +} + +createMESSProjects(_target, _subtarget, "ascii") +files { + MAME_DIR .. "src/mame/drivers/msx.cpp", + MAME_DIR .. "src/mame/includes/msx.h", + MAME_DIR .. "src/mame/machine/msx.cpp", + MAME_DIR .. "src/mame/machine/msx_matsushita.cpp", + MAME_DIR .. "src/mame/machine/msx_matsushita.h", + MAME_DIR .. "src/mame/machine/msx_s1985.cpp", + MAME_DIR .. "src/mame/machine/msx_s1985.h", + MAME_DIR .. "src/mame/machine/msx_switched.h", + MAME_DIR .. "src/mame/machine/msx_systemflags.cpp", + MAME_DIR .. "src/mame/machine/msx_systemflags.h", +} + +createMESSProjects(_target, _subtarget, "at") +files { + MAME_DIR .. "src/mame/drivers/at.cpp", + MAME_DIR .. "src/mame/drivers/atpci.cpp", + MAME_DIR .. "src/mame/drivers/ps2.cpp", + MAME_DIR .. "src/mame/machine/at.h", + MAME_DIR .. "src/mame/machine/at.cpp", + MAME_DIR .. "src/mame/drivers/ct486.cpp", +} + +createMESSProjects(_target, _subtarget, "atari") +files { + MAME_DIR .. "src/mame/drivers/a2600.h", + MAME_DIR .. "src/mame/drivers/a2600.cpp", + MAME_DIR .. "src/mame/drivers/a7800.cpp", + MAME_DIR .. "src/mame/video/maria.cpp", + MAME_DIR .. "src/mame/video/maria.h", + MAME_DIR .. "src/mame/drivers/atari400.cpp", + MAME_DIR .. "src/mame/machine/atarifdc.cpp", + MAME_DIR .. "src/mame/machine/atarifdc.h", + MAME_DIR .. "src/mame/drivers/atarist.cpp", + MAME_DIR .. "src/mame/includes/atarist.h", + MAME_DIR .. "src/mame/video/atarist.cpp", + MAME_DIR .. "src/mame/video/atarist.h", + MAME_DIR .. "src/mame/drivers/lynx.cpp", + MAME_DIR .. "src/mame/includes/lynx.h", + MAME_DIR .. "src/mame/audio/lynx.cpp", + MAME_DIR .. "src/mame/audio/lynx.h", + MAME_DIR .. "src/mame/machine/lynx.cpp", + MAME_DIR .. "src/mame/drivers/pofo.cpp", + MAME_DIR .. "src/mame/drivers/tvboy.cpp", +} + +createMESSProjects(_target, _subtarget, "att") +files { + MAME_DIR .. "src/mame/drivers/att4425.cpp", + MAME_DIR .. "src/mame/drivers/att630.cpp", + MAME_DIR .. "src/mame/drivers/unixpc.cpp", +} + +createMESSProjects(_target, _subtarget, "bally") +files { + MAME_DIR .. "src/mame/drivers/astrohome.cpp", +} + +createMESSProjects(_target, _subtarget, "banctec") +files { + MAME_DIR .. "src/mame/drivers/banctec.cpp", +} + +createMESSProjects(_target, _subtarget, "bandai") +files { + MAME_DIR .. "src/mame/drivers/sv8000.cpp", + MAME_DIR .. "src/mame/drivers/rx78.cpp", + MAME_DIR .. "src/mame/drivers/tamag1.cpp", + MAME_DIR .. "src/mame/drivers/wswan.cpp", + MAME_DIR .. "src/mame/includes/wswan.h", + MAME_DIR .. "src/mame/audio/wswan.cpp", + MAME_DIR .. "src/mame/audio/wswan.h", + MAME_DIR .. "src/mame/machine/wswan.cpp", + MAME_DIR .. "src/mame/video/wswan.cpp", + MAME_DIR .. "src/mame/video/wswan.h", +} + +createMESSProjects(_target, _subtarget, "be") +files { + MAME_DIR .. "src/mame/drivers/bebox.cpp", + MAME_DIR .. "src/mame/includes/bebox.h", + MAME_DIR .. "src/mame/machine/bebox.cpp", +} + +createMESSProjects(_target, _subtarget, "bitcorp") +files { + MAME_DIR .. "src/mame/drivers/gamate.cpp", + MAME_DIR .. "src/mame/video/gamate.cpp", + MAME_DIR .. "src/mame/video/gamate.h", +} + +createMESSProjects(_target, _subtarget, "bnpo") +files { + MAME_DIR .. "src/mame/drivers/b2m.cpp", + MAME_DIR .. "src/mame/includes/b2m.h", + MAME_DIR .. "src/mame/machine/b2m.cpp", + MAME_DIR .. "src/mame/video/b2m.cpp", +} + +createMESSProjects(_target, _subtarget, "brea") +files { + MAME_DIR .. "src/mame/drivers/intellect02.cpp", +} + +createMESSProjects(_target, _subtarget, "bondwell") +files { + MAME_DIR .. "src/mame/drivers/bw12.cpp", + MAME_DIR .. "src/mame/includes/bw12.h", + MAME_DIR .. "src/mame/drivers/bw2.cpp", + MAME_DIR .. "src/mame/includes/bw2.h", +} + +createMESSProjects(_target, _subtarget, "booth") +files { + MAME_DIR .. "src/mame/drivers/apexc.cpp", + MAME_DIR .. "src/mame/includes/apexc.h", + MAME_DIR .. "src/mame/machine/apexc.h", + MAME_DIR .. "src/mame/machine/apexc.cpp", + MAME_DIR .. "src/mame/video/apexc.cpp", +} + +createMESSProjects(_target, _subtarget, "camputers") +files { + MAME_DIR .. "src/mame/drivers/camplynx.cpp", +} + +createMESSProjects(_target, _subtarget, "canon") +files { + MAME_DIR .. "src/mame/drivers/cat.cpp", + MAME_DIR .. "src/mame/drivers/x07.cpp", + MAME_DIR .. "src/mame/includes/x07.h", + MAME_DIR .. "src/mame/drivers/canon_s80.cpp", +} + +createMESSProjects(_target, _subtarget, "cantab") +files { + MAME_DIR .. "src/mame/drivers/jupace.cpp", +} + +createMESSProjects(_target, _subtarget, "casio") +files { + MAME_DIR .. "src/mame/drivers/casloopy.cpp", + MAME_DIR .. "src/mame/drivers/cfx9850.cpp", + MAME_DIR .. "src/mame/drivers/cz101.cpp", + MAME_DIR .. "src/mame/drivers/fp200.cpp", + MAME_DIR .. "src/mame/drivers/fp1100.cpp", + MAME_DIR .. "src/mame/drivers/fp6000.cpp", + MAME_DIR .. "src/mame/drivers/ht6000.cpp", + MAME_DIR .. "src/mame/drivers/pb1000.cpp", + MAME_DIR .. "src/mame/drivers/pv1000.cpp", + MAME_DIR .. "src/mame/drivers/pv2000.cpp", + MAME_DIR .. "src/mame/drivers/sk1.cpp", + MAME_DIR .. "src/mame/drivers/rz1.cpp", +} + +createMESSProjects(_target, _subtarget, "cbm") +files { + MAME_DIR .. "src/mame/drivers/c128.cpp", + MAME_DIR .. "src/mame/drivers/c64.cpp", + MAME_DIR .. "src/mame/drivers/c64dtv.cpp", + MAME_DIR .. "src/mame/drivers/c65.cpp", + MAME_DIR .. "src/mame/includes/c65.h", + MAME_DIR .. "src/mame/drivers/c900.cpp", + MAME_DIR .. "src/mame/drivers/cbm2.cpp", + MAME_DIR .. "src/mame/drivers/clcd.cpp", + MAME_DIR .. "src/mame/drivers/pet.cpp", + MAME_DIR .. "src/mame/drivers/plus4.cpp", + MAME_DIR .. "src/mame/drivers/vic10.cpp", + MAME_DIR .. "src/mame/drivers/vic20.cpp", + MAME_DIR .. "src/mame/machine/cbm_snqk.cpp", + MAME_DIR .. "src/mame/machine/cbm_snqk.h", + MAME_DIR .. "src/mame/drivers/mps1230.cpp", +} + +createMESSProjects(_target, _subtarget, "cccp") +files { + MAME_DIR .. "src/mame/drivers/argo.cpp", + MAME_DIR .. "src/mame/drivers/cm1800.cpp", + MAME_DIR .. "src/mame/drivers/lviv.cpp", + MAME_DIR .. "src/mame/includes/lviv.h", + MAME_DIR .. "src/mame/machine/lviv.cpp", + MAME_DIR .. "src/mame/video/lviv.cpp", + MAME_DIR .. "src/mame/drivers/mikro80.cpp", + MAME_DIR .. "src/mame/includes/mikro80.h", + MAME_DIR .. "src/mame/machine/mikro80.cpp", + MAME_DIR .. "src/mame/video/mikro80.cpp", + MAME_DIR .. "src/mame/drivers/pk8000.cpp", + MAME_DIR .. "src/mame/includes/pk8000.h", + MAME_DIR .. "src/mame/drivers/pk8020.cpp", + MAME_DIR .. "src/mame/includes/pk8020.h", + MAME_DIR .. "src/mame/machine/pk8020.cpp", + MAME_DIR .. "src/mame/video/pk8020.cpp", + MAME_DIR .. "src/mame/drivers/pyl601.cpp", + MAME_DIR .. "src/mame/drivers/sm1800.cpp", + MAME_DIR .. "src/mame/drivers/sm7238.cpp", + MAME_DIR .. "src/mame/machine/km035.cpp", + MAME_DIR .. "src/mame/machine/km035.h", + MAME_DIR .. "src/mame/drivers/uknc.cpp", + MAME_DIR .. "src/mame/drivers/unior.cpp", + MAME_DIR .. "src/mame/drivers/ut88.cpp", + MAME_DIR .. "src/mame/includes/ut88.h", + MAME_DIR .. "src/mame/machine/ut88.cpp", + MAME_DIR .. "src/mame/video/ut88.cpp", + MAME_DIR .. "src/mame/drivers/vector06.cpp", + MAME_DIR .. "src/mame/includes/vector06.h", + MAME_DIR .. "src/mame/machine/vector06.cpp", + MAME_DIR .. "src/mame/video/vector06.cpp", + MAME_DIR .. "src/mame/drivers/vta2000.cpp", +} + +createMESSProjects(_target, _subtarget, "cce") +files { + MAME_DIR .. "src/mame/drivers/mc1000.cpp", +} + +createMESSProjects(_target, _subtarget, "ccs") +files { + MAME_DIR .. "src/mame/drivers/ccs2810.cpp", + MAME_DIR .. "src/mame/drivers/ccs300.cpp", +} + +createMESSProjects(_target, _subtarget, "chess") +files { + MAME_DIR .. "src/mame/machine/chessbase.cpp", + MAME_DIR .. "src/mame/includes/chessbase.h", + MAME_DIR .. "src/mame/drivers/ave_arb.cpp", + + MAME_DIR .. "src/mame/machine/fidelbase.cpp", + MAME_DIR .. "src/mame/includes/fidelbase.h", + MAME_DIR .. "src/mame/drivers/fidel_as12.cpp", + MAME_DIR .. "src/mame/drivers/fidel_card.cpp", + MAME_DIR .. "src/mame/drivers/fidel_cc1.cpp", + MAME_DIR .. "src/mame/drivers/fidel_cc10.cpp", + MAME_DIR .. "src/mame/drivers/fidel_cc7.cpp", + MAME_DIR .. "src/mame/drivers/fidel_chesster.cpp", + MAME_DIR .. "src/mame/drivers/fidel_csc.cpp", + MAME_DIR .. "src/mame/drivers/fidel_dames.cpp", + MAME_DIR .. "src/mame/drivers/fidel_desdis.cpp", + MAME_DIR .. "src/mame/drivers/fidel_eag68k.cpp", + MAME_DIR .. "src/mame/drivers/fidel_elite.cpp", + MAME_DIR .. "src/mame/drivers/fidel_excel.cpp", + MAME_DIR .. "src/mame/drivers/fidel_phantom.cpp", + MAME_DIR .. "src/mame/drivers/fidel_sc12.cpp", + MAME_DIR .. "src/mame/drivers/fidel_sc6.cpp", + MAME_DIR .. "src/mame/drivers/fidel_sc8.cpp", + MAME_DIR .. "src/mame/drivers/fidel_sc9.cpp", + MAME_DIR .. "src/mame/drivers/fidel_vcc.cpp", + MAME_DIR .. "src/mame/drivers/fidel_vsc.cpp", + + MAME_DIR .. "src/mame/machine/novagbase.cpp", + MAME_DIR .. "src/mame/includes/novagbase.h", + MAME_DIR .. "src/mame/drivers/novag_cforte.cpp", + MAME_DIR .. "src/mame/drivers/novag_delta1.cpp", + MAME_DIR .. "src/mame/drivers/novag_diablo.cpp", + MAME_DIR .. "src/mame/drivers/novag_presto.cpp", + MAME_DIR .. "src/mame/drivers/novag_scon.cpp", + MAME_DIR .. "src/mame/drivers/novag_sexpert.cpp", +} + +createMESSProjects(_target, _subtarget, "chessking") +files { + MAME_DIR .. "src/mame/drivers/cking_master.cpp", +} + +createMESSProjects(_target, _subtarget, "chromatics") +files { + MAME_DIR .. "src/mame/drivers/cgc7900.cpp", + MAME_DIR .. "src/mame/includes/cgc7900.h", + MAME_DIR .. "src/mame/video/cgc7900.cpp", +} + +createMESSProjects(_target, _subtarget, "chrysler") +files { + MAME_DIR .. "src/mame/drivers/eva.cpp", +} + +createMESSProjects(_target, _subtarget, "coleco") +files { + MAME_DIR .. "src/mame/drivers/adam.cpp", + MAME_DIR .. "src/mame/includes/adam.h", + MAME_DIR .. "src/mame/drivers/coleco.cpp", + MAME_DIR .. "src/mame/includes/coleco.h", + MAME_DIR .. "src/mame/machine/coleco.cpp", + MAME_DIR .. "src/mame/machine/coleco.h", +} + +createMESSProjects(_target, _subtarget, "compugraphic") +files { + MAME_DIR .. "src/mame/drivers/pwrview.cpp", +} + +createMESSProjects(_target, _subtarget, "cromemco") +files { + MAME_DIR .. "src/mame/drivers/c10.cpp", + MAME_DIR .. "src/mame/drivers/mcb216.cpp", +} + +createMESSProjects(_target, _subtarget, "comx") +files { + MAME_DIR .. "src/mame/drivers/comx35.cpp", + MAME_DIR .. "src/mame/includes/comx35.h", + MAME_DIR .. "src/mame/video/comx35.cpp", +} + +createMESSProjects(_target, _subtarget, "concept") +files { + MAME_DIR .. "src/mame/drivers/concept.cpp", + MAME_DIR .. "src/mame/includes/concept.h", + MAME_DIR .. "src/mame/machine/concept.cpp", +} + +createMESSProjects(_target, _subtarget, "conitec") +files { + MAME_DIR .. "src/mame/drivers/prof180x.cpp", + MAME_DIR .. "src/mame/includes/prof180x.h", + MAME_DIR .. "src/mame/drivers/prof80.cpp", + MAME_DIR .. "src/mame/includes/prof80.h", + MAME_DIR .. "src/mame/machine/prof80mmu.cpp", + MAME_DIR .. "src/mame/machine/prof80mmu.h", +} + +createMESSProjects(_target, _subtarget, "cxg") +files { + MAME_DIR .. "src/mame/drivers/cxg_ch2001.cpp", +} + +createMESSProjects(_target, _subtarget, "cybiko") +files { + MAME_DIR .. "src/mame/drivers/cybiko.cpp", + MAME_DIR .. "src/mame/includes/cybiko.h", + MAME_DIR .. "src/mame/machine/cybiko.cpp", +} + +createMESSProjects(_target, _subtarget, "dai") +files { + MAME_DIR .. "src/mame/drivers/dai.cpp", + MAME_DIR .. "src/mame/includes/dai.h", + MAME_DIR .. "src/mame/audio/dai_snd.cpp", + MAME_DIR .. "src/mame/audio/dai_snd.h", + MAME_DIR .. "src/mame/machine/dai.cpp", + MAME_DIR .. "src/mame/video/dai.cpp", +} + +createMESSProjects(_target, _subtarget, "ddr") +files { + MAME_DIR .. "src/mame/drivers/ac1.cpp", + MAME_DIR .. "src/mame/includes/ac1.h", + MAME_DIR .. "src/mame/machine/ac1.cpp", + MAME_DIR .. "src/mame/video/ac1.cpp", + MAME_DIR .. "src/mame/drivers/bcs3.cpp", + MAME_DIR .. "src/mame/drivers/c80.cpp", + MAME_DIR .. "src/mame/includes/c80.h", + MAME_DIR .. "src/mame/drivers/huebler.cpp", + MAME_DIR .. "src/mame/includes/huebler.h", + MAME_DIR .. "src/mame/drivers/jtc.cpp", + MAME_DIR .. "src/mame/drivers/kramermc.cpp", + MAME_DIR .. "src/mame/includes/kramermc.h", + MAME_DIR .. "src/mame/machine/kramermc.cpp", + MAME_DIR .. "src/mame/video/kramermc.cpp", + MAME_DIR .. "src/mame/drivers/llc.cpp", + MAME_DIR .. "src/mame/includes/llc.h", + MAME_DIR .. "src/mame/machine/llc.cpp", + MAME_DIR .. "src/mame/video/llc.cpp", + MAME_DIR .. "src/mame/drivers/nanos.cpp", + MAME_DIR .. "src/mame/drivers/pcm.cpp", + MAME_DIR .. "src/mame/drivers/vcs80.cpp", + MAME_DIR .. "src/mame/includes/vcs80.h", + MAME_DIR .. "src/mame/machine/k7659kb.cpp", + MAME_DIR .. "src/mame/machine/k7659kb.h", +} + +createMESSProjects(_target, _subtarget, "dec") +files { + MAME_DIR .. "src/mame/drivers/dct11em.cpp", + MAME_DIR .. "src/mame/drivers/decstation.cpp", + MAME_DIR .. "src/mame/machine/decioga.cpp", + 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/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/vt100.cpp", + MAME_DIR .. "src/mame/drivers/vt220.cpp", + MAME_DIR .. "src/mame/drivers/vt240.cpp", + MAME_DIR .. "src/mame/drivers/vt320.cpp", + MAME_DIR .. "src/mame/drivers/vt520.cpp", + MAME_DIR .. "src/mame/machine/dec_lk201.cpp", + MAME_DIR .. "src/mame/machine/dec_lk201.h", + MAME_DIR .. "src/mame/machine/rx01.cpp", + MAME_DIR .. "src/mame/machine/rx01.h", + MAME_DIR .. "src/mame/machine/vt100_kbd.cpp", + MAME_DIR .. "src/mame/machine/vt100_kbd.h", + MAME_DIR .. "src/mame/video/vtvideo.cpp", + MAME_DIR .. "src/mame/video/vtvideo.h", +} + +createMESSProjects(_target, _subtarget, "dicksmth") +files { + MAME_DIR .. "src/mame/drivers/super80.cpp", + MAME_DIR .. "src/mame/includes/super80.h", + MAME_DIR .. "src/mame/machine/super80.cpp", + MAME_DIR .. "src/mame/video/super80.cpp", +} + +createMESSProjects(_target, _subtarget, "dms") +files { + MAME_DIR .. "src/mame/drivers/dms5000.cpp", + MAME_DIR .. "src/mame/drivers/dms86.cpp", + MAME_DIR .. "src/mame/drivers/zsbc3.cpp", +} + +createMESSProjects(_target, _subtarget, "dragon") +files { + MAME_DIR .. "src/mame/drivers/dgn_beta.cpp", + MAME_DIR .. "src/mame/includes/dgn_beta.h", + MAME_DIR .. "src/mame/machine/dgn_beta.cpp", + MAME_DIR .. "src/mame/video/dgn_beta.cpp", +} + +createMESSProjects(_target, _subtarget, "drc") +files { + MAME_DIR .. "src/mame/drivers/zrt80.cpp", +} + +createMESSProjects(_target, _subtarget, "dulmont") +files { + MAME_DIR .. "src/mame/drivers/magnum.cpp", +} + +createMESSProjects(_target, _subtarget, "eaca") +files { + MAME_DIR .. "src/mame/drivers/cgenie.cpp", +} + +createMESSProjects(_target, _subtarget, "einis") +files { + MAME_DIR .. "src/mame/drivers/pecom.cpp", + MAME_DIR .. "src/mame/includes/pecom.h", + MAME_DIR .. "src/mame/machine/pecom.cpp", + MAME_DIR .. "src/mame/video/pecom.cpp", +} + +createMESSProjects(_target, _subtarget, "elektrka") +files { + MAME_DIR .. "src/mame/drivers/bk.cpp", + MAME_DIR .. "src/mame/includes/bk.h", + MAME_DIR .. "src/mame/machine/bk.cpp", + MAME_DIR .. "src/mame/video/bk.cpp", + MAME_DIR .. "src/mame/drivers/dvk_kcgd.cpp", + MAME_DIR .. "src/mame/drivers/dvk_ksm.cpp", + MAME_DIR .. "src/mame/machine/ms7004.cpp", + MAME_DIR .. "src/mame/machine/ms7004.h", + MAME_DIR .. "src/mame/drivers/mk85.cpp", + MAME_DIR .. "src/mame/drivers/mk90.cpp", + MAME_DIR .. "src/mame/drivers/ms6102.cpp", + MAME_DIR .. "src/mame/machine/kr1601rr1.cpp", + MAME_DIR .. "src/mame/machine/kr1601rr1.h", +} + +createMESSProjects(_target, _subtarget, "elektor") +files { + MAME_DIR .. "src/mame/drivers/ec65.cpp", + MAME_DIR .. "src/mame/drivers/elekscmp.cpp", + MAME_DIR .. "src/mame/drivers/junior.cpp", +} + +createMESSProjects(_target, _subtarget, "elektron") +files { + MAME_DIR .. "src/mame/drivers/elektronmono.cpp", +} + +createMESSProjects(_target, _subtarget, "ensoniq") +files { + MAME_DIR .. "src/mame/drivers/esq1.cpp", + MAME_DIR .. "src/mame/drivers/esq5505.cpp", + MAME_DIR .. "src/mame/drivers/esqasr.cpp", + MAME_DIR .. "src/mame/drivers/esqkt.cpp", + MAME_DIR .. "src/mame/drivers/esqmr.cpp", + MAME_DIR .. "src/mame/drivers/enmirage.cpp", + MAME_DIR .. "src/mame/machine/esqpanel.cpp", + MAME_DIR .. "src/mame/machine/esqpanel.h", + MAME_DIR .. "src/mame/machine/esqvfd.cpp", + MAME_DIR .. "src/mame/machine/esqvfd.h", + MAME_DIR .. "src/mame/machine/esqlcd.cpp", + MAME_DIR .. "src/mame/machine/esqlcd.h", +} + +createMESSProjects(_target, _subtarget, "enterprise") +files { + MAME_DIR .. "src/mame/drivers/ep64.cpp", + MAME_DIR .. "src/mame/video/nick.cpp", + MAME_DIR .. "src/mame/video/nick.h", +} + +createMESSProjects(_target, _subtarget, "entex") +files { + MAME_DIR .. "src/mame/drivers/advision.cpp", + MAME_DIR .. "src/mame/includes/advision.h", + MAME_DIR .. "src/mame/machine/advision.cpp", + MAME_DIR .. "src/mame/video/advision.cpp", +} + +createMESSProjects(_target, _subtarget, "epoch") +files { + MAME_DIR .. "src/mame/drivers/gamepock.cpp", + MAME_DIR .. "src/mame/includes/gamepock.h", + MAME_DIR .. "src/mame/machine/gamepock.cpp", + MAME_DIR .. "src/mame/drivers/scv.cpp", +} + +createMESSProjects(_target, _subtarget, "epson") +files { + MAME_DIR .. "src/mame/drivers/hx20.cpp", + MAME_DIR .. "src/mame/includes/hx20.h", + MAME_DIR .. "src/mame/drivers/px4.cpp", + MAME_DIR .. "src/mame/drivers/px8.cpp", + MAME_DIR .. "src/mame/includes/px8.h", + MAME_DIR .. "src/mame/drivers/qx10.cpp", + MAME_DIR .. "src/mame/machine/qx10kbd.cpp", + MAME_DIR .. "src/mame/machine/qx10kbd.h", +} + +createMESSProjects(_target, _subtarget, "exidy") +files { + MAME_DIR .. "src/mame/machine/sorcerer.cpp", + MAME_DIR .. "src/mame/drivers/sorcerer.cpp", + MAME_DIR .. "src/mame/includes/sorcerer.h", + MAME_DIR .. "src/mame/machine/micropolis.cpp", + MAME_DIR .. "src/mame/machine/micropolis.h", +} + +createMESSProjects(_target, _subtarget, "fairch") +files { + MAME_DIR .. "src/mame/drivers/channelf.cpp", + MAME_DIR .. "src/mame/includes/channelf.h", + MAME_DIR .. "src/mame/audio/channelf.cpp", + MAME_DIR .. "src/mame/audio/channelf.h", + MAME_DIR .. "src/mame/video/channelf.cpp", +} + +createMESSProjects(_target, _subtarget, "fairlight") +files { + MAME_DIR .. "src/mame/drivers/cmi.cpp", + MAME_DIR .. "src/mame/audio/cmi01a.cpp", + MAME_DIR .. "src/mame/audio/cmi01a.h", + MAME_DIR .. "src/mame/machine/cmi_ankbd.cpp", + MAME_DIR .. "src/mame/machine/cmi_ankbd.h", + MAME_DIR .. "src/mame/machine/cmi_mkbd.cpp", + MAME_DIR .. "src/mame/machine/cmi_mkbd.h", +} + +createMESSProjects(_target, _subtarget, "force") +files { + MAME_DIR .. "src/mame/drivers/miniforce.cpp", + MAME_DIR .. "src/mame/drivers/fccpu20.cpp", + MAME_DIR .. "src/mame/drivers/fccpu30.cpp", + MAME_DIR .. "src/mame/drivers/force68k.cpp", +} + +createMESSProjects(_target, _subtarget, "fujitsu") +files { + MAME_DIR .. "src/mame/drivers/fmtowns.cpp", + MAME_DIR .. "src/mame/includes/fmtowns.h", + MAME_DIR .. "src/mame/video/fmtowns.cpp", + MAME_DIR .. "src/mame/machine/fm_scsi.cpp", + MAME_DIR .. "src/mame/machine/fm_scsi.h", + MAME_DIR .. "src/mame/machine/fmt_icmem.cpp", + MAME_DIR .. "src/mame/machine/fmt_icmem.h", + MAME_DIR .. "src/mame/drivers/fm7.cpp", + MAME_DIR .. "src/mame/includes/fm7.h", + MAME_DIR .. "src/mame/video/fm7.cpp", +} + +createMESSProjects(_target, _subtarget, "funtech") +files { + MAME_DIR .. "src/mame/drivers/supracan.cpp", +} + +createMESSProjects(_target, _subtarget, "galaxy") +files { + MAME_DIR .. "src/mame/drivers/galaxy.cpp", + MAME_DIR .. "src/mame/includes/galaxy.h", + MAME_DIR .. "src/mame/machine/galaxy.cpp", + MAME_DIR .. "src/mame/video/galaxy.cpp", +} + +createMESSProjects(_target, _subtarget, "gamepark") +files { + MAME_DIR .. "src/mame/drivers/gp2x.cpp", + MAME_DIR .. "src/mame/drivers/gp32.cpp", + MAME_DIR .. "src/mame/includes/gp32.h", +} + +createMESSProjects(_target, _subtarget, "gi") +files { + MAME_DIR .. "src/mame/drivers/hh_pic16.cpp", +} + +createMESSProjects(_target, _subtarget, "gridcomp") +files { + MAME_DIR .. "src/mame/drivers/gridcomp.cpp", + MAME_DIR .. "src/mame/machine/gridkeyb.cpp", + MAME_DIR .. "src/mame/machine/gridkeyb.h", +} + +createMESSProjects(_target, _subtarget, "grundy") +files { + MAME_DIR .. "src/mame/drivers/newbrain.cpp", + MAME_DIR .. "src/mame/includes/newbrain.h", + MAME_DIR .. "src/mame/video/newbrain.cpp", +} + +createMESSProjects(_target, _subtarget, "hartung") +files { + MAME_DIR .. "src/mame/drivers/gmaster.cpp", +} + +createMESSProjects(_target, _subtarget, "heathkit") +files { + MAME_DIR .. "src/mame/drivers/et3400.cpp", + MAME_DIR .. "src/mame/drivers/h8.cpp", + MAME_DIR .. "src/mame/drivers/h19.cpp", + MAME_DIR .. "src/mame/drivers/h89.cpp", +} + +createMESSProjects(_target, _subtarget, "hegener") +files { + MAME_DIR .. "src/mame/drivers/glasgow.cpp", + MAME_DIR .. "src/mame/drivers/mephisto.cpp", + MAME_DIR .. "src/mame/drivers/mephisto_montec.cpp", + MAME_DIR .. "src/mame/drivers/mmodular.cpp", + MAME_DIR .. "src/mame/drivers/modena.cpp", + MAME_DIR .. "src/mame/drivers/polgar.cpp", + MAME_DIR .. "src/mame/machine/mmboard.cpp", + MAME_DIR .. "src/mame/machine/mmboard.h", +} + +createMESSProjects(_target, _subtarget, "hitachi") +files { + MAME_DIR .. "src/mame/drivers/b16.cpp", + MAME_DIR .. "src/mame/drivers/bmjr.cpp", + MAME_DIR .. "src/mame/drivers/bml3.cpp", + MAME_DIR .. "src/mame/drivers/hh_hmcs40.cpp", +} + +createMESSProjects(_target, _subtarget, "homebrew") +files { + MAME_DIR .. "src/mame/drivers/4004clk.cpp", + MAME_DIR .. "src/mame/drivers/68ksbc.cpp", + MAME_DIR .. "src/mame/drivers/craft.cpp", + MAME_DIR .. "src/mame/drivers/homez80.cpp", + MAME_DIR .. "src/mame/drivers/p112.cpp", + MAME_DIR .. "src/mame/drivers/phunsy.cpp", + MAME_DIR .. "src/mame/drivers/pimps.cpp", + MAME_DIR .. "src/mame/drivers/ravens.cpp", + MAME_DIR .. "src/mame/drivers/sbc6510.cpp", + MAME_DIR .. "src/mame/drivers/sitcom.cpp", + MAME_DIR .. "src/mame/drivers/slc1.cpp", + MAME_DIR .. "src/mame/drivers/slc1a.cpp", + MAME_DIR .. "src/mame/drivers/test_t400.cpp", + MAME_DIR .. "src/mame/drivers/uzebox.cpp", + MAME_DIR .. "src/mame/drivers/z80dev.cpp", + MAME_DIR .. "src/mame/drivers/zexall.cpp", +} + +createMESSProjects(_target, _subtarget, "homelab") +files { + MAME_DIR .. "src/mame/drivers/homelab.cpp", +} + +createMESSProjects(_target, _subtarget, "hp") +files { + MAME_DIR .. "src/mame/drivers/hp16500.cpp", + MAME_DIR .. "src/mame/drivers/hp48.cpp", + MAME_DIR .. "src/mame/includes/hp48.h", + MAME_DIR .. "src/mame/machine/hp48.cpp", + MAME_DIR .. "src/mame/machine/hp48_port.cpp", + MAME_DIR .. "src/mame/machine/hp48_port.h", + MAME_DIR .. "src/mame/machine/hp9825_tape.cpp", + MAME_DIR .. "src/mame/machine/hp9825_tape.h", + MAME_DIR .. "src/mame/machine/hp9845_printer.cpp", + MAME_DIR .. "src/mame/machine/hp9845_printer.h", + MAME_DIR .. "src/mame/machine/hp98x5_io_sys.cpp", + MAME_DIR .. "src/mame/machine/hp98x5_io_sys.h", + MAME_DIR .. "src/mame/video/hp48.cpp", + MAME_DIR .. "src/mame/drivers/hp49gp.cpp", + MAME_DIR .. "src/mame/drivers/hp9845.cpp", + MAME_DIR .. "src/mame/drivers/hp9k.cpp", + MAME_DIR .. "src/mame/drivers/hp9k_3xx.cpp", + MAME_DIR .. "src/mame/drivers/hp64k.cpp", + MAME_DIR .. "src/mame/drivers/hp_ipc.cpp", + MAME_DIR .. "src/mame/drivers/hp80.cpp", + MAME_DIR .. "src/mame/drivers/hp2100.cpp", + MAME_DIR .. "src/mame/drivers/hp2620.cpp", + MAME_DIR .. "src/mame/drivers/hp700.cpp", + MAME_DIR .. "src/mame/drivers/hp2640.cpp", + MAME_DIR .. "src/mame/drivers/hp95lx.cpp", + MAME_DIR .. "src/mame/drivers/hp9825.cpp", +} + +createMESSProjects(_target, _subtarget, "hec2hrp") +files { + MAME_DIR .. "src/mame/drivers/hec2hrp.cpp", + MAME_DIR .. "src/mame/includes/hec2hrp.h", + MAME_DIR .. "src/mame/machine/hec2hrp.cpp", + MAME_DIR .. "src/mame/video/hec2hrp.cpp", + MAME_DIR .. "src/mame/drivers/interact.cpp", +} + +createMESSProjects(_target, _subtarget, "heurikon") +files { + MAME_DIR .. "src/mame/drivers/hk68v10.cpp", +} + +createMESSProjects(_target, _subtarget, "ibm6580") +files { + MAME_DIR .. "src/mame/drivers/ibm6580.cpp", + MAME_DIR .. "src/mame/machine/ibm6580_kbd.cpp", + MAME_DIR .. "src/mame/machine/ibm6580_kbd.h", + MAME_DIR .. "src/mame/machine/ibm6580_fdc.cpp", + MAME_DIR .. "src/mame/machine/ibm6580_fdc.h", +} + +createMESSProjects(_target, _subtarget, "ie15") +files { + MAME_DIR .. "src/mame/drivers/ie15.cpp", +} + +createMESSProjects(_target, _subtarget, "intel") +files { + MAME_DIR .. "src/mame/drivers/basic52.cpp", + MAME_DIR .. "src/mame/drivers/imds2.cpp", + MAME_DIR .. "src/mame/drivers/intellec4.cpp", + MAME_DIR .. "src/mame/drivers/ipc.cpp", + MAME_DIR .. "src/mame/drivers/ipds.cpp", + MAME_DIR .. "src/mame/drivers/isbc.cpp", + MAME_DIR .. "src/mame/drivers/isbc8010.cpp", + MAME_DIR .. "src/mame/drivers/isbc8030.cpp", + MAME_DIR .. "src/mame/machine/imm6_76.cpp", + MAME_DIR .. "src/mame/machine/imm6_76.h", + MAME_DIR .. "src/mame/machine/isbc_215g.cpp", + MAME_DIR .. "src/mame/machine/isbc_215g.h", + MAME_DIR .. "src/mame/machine/isbc_208.cpp", + MAME_DIR .. "src/mame/machine/isbc_208.h", + MAME_DIR .. "src/mame/drivers/rex6000.cpp", + MAME_DIR .. "src/mame/drivers/sdk51.cpp", + MAME_DIR .. "src/mame/drivers/sdk80.cpp", + MAME_DIR .. "src/mame/drivers/sdk85.cpp", + MAME_DIR .. "src/mame/drivers/sdk86.cpp", + MAME_DIR .. "src/mame/machine/imds2ioc.cpp", + MAME_DIR .. "src/mame/machine/imds2ioc.h", +} + +createMESSProjects(_target, _subtarget, "imp") +files { + MAME_DIR .. "src/mame/drivers/tim011.cpp", + MAME_DIR .. "src/mame/drivers/tim100.cpp", +} + +createMESSProjects(_target, _subtarget, "interpro") +files { + MAME_DIR .. "src/mame/drivers/interpro.cpp", + MAME_DIR .. "src/mame/includes/interpro.h", + MAME_DIR .. "src/mame/machine/cammu.h", + MAME_DIR .. "src/mame/machine/cammu.cpp", + MAME_DIR .. "src/mame/machine/interpro_ioga.h", + MAME_DIR .. "src/mame/machine/interpro_ioga.cpp", + MAME_DIR .. "src/mame/machine/interpro_mcga.h", + MAME_DIR .. "src/mame/machine/interpro_mcga.cpp", + MAME_DIR .. "src/mame/machine/interpro_sga.h", + MAME_DIR .. "src/mame/machine/interpro_sga.cpp", + MAME_DIR .. "src/mame/machine/interpro_arbga.h", + MAME_DIR .. "src/mame/machine/interpro_arbga.cpp", +} + +createMESSProjects(_target, _subtarget, "interton") +files { + MAME_DIR .. "src/mame/drivers/vc4000.cpp", + MAME_DIR .. "src/mame/includes/vc4000.h", + MAME_DIR .. "src/mame/audio/vc4000.cpp", + MAME_DIR .. "src/mame/audio/vc4000.h", + MAME_DIR .. "src/mame/video/vc4000.cpp", +} + +createMESSProjects(_target, _subtarget, "intv") +files { + MAME_DIR .. "src/mame/drivers/intv.cpp", + MAME_DIR .. "src/mame/includes/intv.h", + MAME_DIR .. "src/mame/machine/intv.cpp", + MAME_DIR .. "src/mame/video/intv.cpp", + MAME_DIR .. "src/mame/video/stic.cpp", + MAME_DIR .. "src/mame/video/stic.h", +} + +createMESSProjects(_target, _subtarget, "isc") +files { + MAME_DIR .. "src/mame/drivers/compucolor.cpp", +} + +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", +} + +createMESSProjects(_target, _subtarget, "kaypro") +files { + MAME_DIR .. "src/mame/drivers/kaypro.cpp", + MAME_DIR .. "src/mame/includes/kaypro.h", + MAME_DIR .. "src/mame/machine/kaypro.cpp", + MAME_DIR .. "src/mame/machine/kay_kbd.cpp", + MAME_DIR .. "src/mame/machine/kay_kbd.h", + MAME_DIR .. "src/mame/video/kaypro.cpp", +} + +createMESSProjects(_target, _subtarget, "koei") +files { + MAME_DIR .. "src/mame/drivers/pasogo.cpp", +} + +createMESSProjects(_target, _subtarget, "kontron") +files { + MAME_DIR .. "src/mame/drivers/kdt6.cpp", +} + +createMESSProjects(_target, _subtarget, "kurzweil") +files { + MAME_DIR .. "src/mame/drivers/krz2000.cpp", +} + +createMESSProjects(_target, _subtarget, "kyocera") +files { + MAME_DIR .. "src/mame/drivers/kyocera.cpp", + MAME_DIR .. "src/mame/includes/kyocera.h", + MAME_DIR .. "src/mame/video/kyocera.cpp", +} + +createMESSProjects(_target, _subtarget, "leapfrog") +files { + MAME_DIR .. "src/mame/drivers/leapster.cpp", + MAME_DIR .. "src/mame/drivers/leapfrog_leappad.cpp", +} + +createMESSProjects(_target, _subtarget, "luxor") +files { + MAME_DIR .. "src/mame/drivers/abc80.cpp", + MAME_DIR .. "src/mame/includes/abc80.h", + MAME_DIR .. "src/mame/machine/abc80kb.cpp", + MAME_DIR .. "src/mame/machine/abc80kb.h", + MAME_DIR .. "src/mame/video/abc80.cpp", + MAME_DIR .. "src/mame/drivers/abc80x.cpp", + MAME_DIR .. "src/mame/includes/abc80x.h", + MAME_DIR .. "src/mame/video/abc800.cpp", + MAME_DIR .. "src/mame/video/abc800.h", + MAME_DIR .. "src/mame/video/abc802.cpp", + MAME_DIR .. "src/mame/video/abc802.h", + MAME_DIR .. "src/mame/video/abc806.cpp", + MAME_DIR .. "src/mame/video/abc806.h", + MAME_DIR .. "src/mame/drivers/abc1600.cpp", + MAME_DIR .. "src/mame/includes/abc1600.h", + MAME_DIR .. "src/mame/machine/abc1600mac.cpp", + MAME_DIR .. "src/mame/machine/abc1600mac.h", + MAME_DIR .. "src/mame/video/abc1600.cpp", + MAME_DIR .. "src/mame/video/abc1600.h", +} + +createMESSProjects(_target, _subtarget, "magnavox") +files { + MAME_DIR .. "src/mame/drivers/odyssey2.cpp", +} + +createMESSProjects(_target, _subtarget, "makerbot") +files { + MAME_DIR .. "src/mame/drivers/replicator.cpp", +} + +createMESSProjects(_target, _subtarget, "mattel") +files { + MAME_DIR .. "src/mame/drivers/aquarius.cpp", + MAME_DIR .. "src/mame/includes/aquarius.h", + MAME_DIR .. "src/mame/video/aquarius.cpp", + MAME_DIR .. "src/mame/drivers/juicebox.cpp", + MAME_DIR .. "src/mame/drivers/hyperscan.cpp", + MAME_DIR .. "src/mame/drivers/mattelchess.cpp", +} + +createMESSProjects(_target, _subtarget, "matsushi") +files { + MAME_DIR .. "src/mame/drivers/jr100.cpp", + MAME_DIR .. "src/mame/drivers/jr200.cpp", + MAME_DIR .. "src/mame/drivers/myb3k.cpp", + MAME_DIR .. "src/mame/drivers/duet16.cpp", +} + +createMESSProjects(_target, _subtarget, "mb") +files { + MAME_DIR .. "src/mame/drivers/microvsn.cpp", + MAME_DIR .. "src/mame/drivers/milton6805.cpp", +} + +createMESSProjects(_target, _subtarget, "mchester") +files { + MAME_DIR .. "src/mame/drivers/ssem.cpp", +} + +createMESSProjects(_target, _subtarget, "memotech") +files { + MAME_DIR .. "src/mame/drivers/mtx.cpp", + MAME_DIR .. "src/mame/includes/mtx.h", + MAME_DIR .. "src/mame/machine/mtx.cpp", +} + +createMESSProjects(_target, _subtarget, "mera") +files { + MAME_DIR .. "src/mame/drivers/ec7915.cpp", + MAME_DIR .. "src/mame/drivers/konin.cpp", + MAME_DIR .. "src/mame/drivers/m79152pc.cpp", + MAME_DIR .. "src/mame/drivers/meritum.cpp", + MAME_DIR .. "src/mame/drivers/vdm7932x.cpp", +} + +createMESSProjects(_target, _subtarget, "mgu") +files { + MAME_DIR .. "src/mame/drivers/irisha.cpp", +} + +createMESSProjects(_target, _subtarget, "microkey") +files { + MAME_DIR .. "src/mame/drivers/primo.cpp", + MAME_DIR .. "src/mame/includes/primo.h", + MAME_DIR .. "src/mame/machine/primo.cpp", + MAME_DIR .. "src/mame/video/primo.cpp", +} + +createMESSProjects(_target, _subtarget, "microsoft") +files { + MAME_DIR .. "src/mame/drivers/xbox.cpp", + MAME_DIR .. "src/mame/includes/xbox.h", + MAME_DIR .. "src/mame/includes/xbox_usb.h", + MAME_DIR .. "src/mame/includes/xbox_pci.h", +} + +createMESSProjects(_target, _subtarget, "mips") +files { + MAME_DIR .. "src/mame/drivers/mips.cpp", + MAME_DIR .. "src/mame/includes/mips.h", + MAME_DIR .. "src/mame/machine/mips_rambo.h", + MAME_DIR .. "src/mame/machine/mips_rambo.cpp", +} + +createMESSProjects(_target, _subtarget, "mit") +files { + MAME_DIR .. "src/mame/drivers/tx0.cpp", + MAME_DIR .. "src/mame/includes/tx0.h", + MAME_DIR .. "src/mame/video/crt.cpp", + MAME_DIR .. "src/mame/video/crt.h", + MAME_DIR .. "src/mame/video/tx0.cpp", +} + +createMESSProjects(_target, _subtarget, "mits") +files { + MAME_DIR .. "src/mame/drivers/altair.cpp", + MAME_DIR .. "src/mame/drivers/mits680b.cpp", +} + +createMESSProjects(_target, _subtarget, "mitsubishi") +files { + MAME_DIR .. "src/mame/drivers/hh_melps4.cpp", + MAME_DIR .. "src/mame/drivers/multi8.cpp", + MAME_DIR .. "src/mame/drivers/multi16.cpp", +} + +createMESSProjects(_target, _subtarget, "mizar") +files { + MAME_DIR .. "src/mame/drivers/mzr8105.cpp", +} + +createMESSProjects(_target, _subtarget, "morrow") +files { + MAME_DIR .. "src/mame/drivers/microdec.cpp", + MAME_DIR .. "src/mame/drivers/mpz80.cpp", + MAME_DIR .. "src/mame/includes/mpz80.h", + MAME_DIR .. "src/mame/drivers/tricep.cpp", +} + +createMESSProjects(_target, _subtarget, "mos") +files { + MAME_DIR .. "src/mame/drivers/kim1.cpp", + MAME_DIR .. "src/mame/includes/kim1.h", +} + +createMESSProjects(_target, _subtarget, "motorola") +files { + MAME_DIR .. "src/mame/drivers/m6805evs.cpp", + MAME_DIR .. "src/mame/drivers/m68705prg.cpp", + MAME_DIR .. "src/mame/drivers/mekd2.cpp", + MAME_DIR .. "src/mame/drivers/mvme147.cpp", + MAME_DIR .. "src/mame/drivers/mvme162.cpp", +} + +createMESSProjects(_target, _subtarget, "multitch") +files { + MAME_DIR .. "src/mame/drivers/mkit09.cpp", + MAME_DIR .. "src/mame/drivers/mpf1.cpp", + MAME_DIR .. "src/mame/includes/mpf1.h", +} + +createMESSProjects(_target, _subtarget, "mupid") +files { + MAME_DIR .. "src/mame/drivers/mdisk.cpp", + MAME_DIR .. "src/mame/drivers/mupid2.cpp", +} + +createMESSProjects(_target, _subtarget, "nakajima") +files { + MAME_DIR .. "src/mame/drivers/nakajies.cpp", +} + +createMESSProjects(_target, _subtarget, "nascom") +files { + MAME_DIR .. "src/mame/drivers/nascom1.cpp", +} + +createMESSProjects(_target, _subtarget, "natsemi") +files { + MAME_DIR .. "src/mame/drivers/hh_cop400.cpp", +} + +createMESSProjects(_target, _subtarget, "ncd") +files { + MAME_DIR .. "src/mame/drivers/ncd68k.cpp", + MAME_DIR .. "src/mame/drivers/ncdmips.cpp", + MAME_DIR .. "src/mame/drivers/ncdppc.cpp", + MAME_DIR .. "src/mame/machine/bert.cpp", +} + +createMESSProjects(_target, _subtarget, "ne") +files { + MAME_DIR .. "src/mame/drivers/z80ne.cpp", + MAME_DIR .. "src/mame/includes/z80ne.h", + MAME_DIR .. "src/mame/machine/z80ne.cpp", +} + +createMESSProjects(_target, _subtarget, "nec") +files { + MAME_DIR .. "src/mame/drivers/apc.cpp", + MAME_DIR .. "src/mame/drivers/hh_ucom4.cpp", + MAME_DIR .. "src/mame/drivers/pce.cpp", + MAME_DIR .. "src/mame/includes/pce.h", + MAME_DIR .. "src/mame/machine/pce.cpp", + MAME_DIR .. "src/mame/machine/pce_cd.cpp", + MAME_DIR .. "src/mame/machine/pce_cd.h", + MAME_DIR .. "src/mame/drivers/pcfx.cpp", + MAME_DIR .. "src/mame/drivers/pc6001.cpp", + MAME_DIR .. "src/mame/includes/pc6001.h", + MAME_DIR .. "src/mame/video/pc6001.cpp", + MAME_DIR .. "src/mame/drivers/pc8401a.cpp", + MAME_DIR .. "src/mame/includes/pc8401a.h", + MAME_DIR .. "src/mame/video/pc8401a.cpp", + MAME_DIR .. "src/mame/drivers/pc8001.cpp", + MAME_DIR .. "src/mame/includes/pc8001.h", + MAME_DIR .. "src/mame/drivers/pc8801.cpp", + MAME_DIR .. "src/mame/includes/pc8801.h", + MAME_DIR .. "src/mame/drivers/pc88va.cpp", + MAME_DIR .. "src/mame/includes/pc88va.h", + MAME_DIR .. "src/mame/drivers/pc100.cpp", + MAME_DIR .. "src/mame/drivers/pc9801.cpp", + MAME_DIR .. "src/mame/includes/pc9801.h", + MAME_DIR .. "src/mame/video/pc9801.cpp", + MAME_DIR .. "src/mame/machine/pc9801_kbd.cpp", + MAME_DIR .. "src/mame/machine/pc9801_kbd.h", + MAME_DIR .. "src/mame/machine/pc9801_cd.cpp", + MAME_DIR .. "src/mame/machine/pc9801_cd.h", + MAME_DIR .. "src/mame/drivers/tk80bs.cpp", +} + +createMESSProjects(_target, _subtarget, "netronic") +files { + MAME_DIR .. "src/mame/drivers/elf.cpp", + MAME_DIR .. "src/mame/includes/elf.h", + MAME_DIR .. "src/mame/drivers/exp85.cpp", + MAME_DIR .. "src/mame/includes/exp85.h", +} + +createMESSProjects(_target, _subtarget, "next") +files { + MAME_DIR .. "src/mame/drivers/next.cpp", + MAME_DIR .. "src/mame/includes/next.h", + MAME_DIR .. "src/mame/machine/nextkbd.cpp", + MAME_DIR .. "src/mame/machine/nextkbd.h", + MAME_DIR .. "src/mame/machine/nextmo.cpp", + MAME_DIR .. "src/mame/machine/nextmo.h", +} + +createMESSProjects(_target, _subtarget, "nintendo") +files { + MAME_DIR .. "src/mame/drivers/gb.cpp", + MAME_DIR .. "src/mame/includes/gb.h", + MAME_DIR .. "src/mame/machine/gb.cpp", + MAME_DIR .. "src/mame/drivers/gba.cpp", + MAME_DIR .. "src/mame/includes/gba.h", + MAME_DIR .. "src/mame/drivers/n64.cpp", + MAME_DIR .. "src/mame/includes/n64.h", + MAME_DIR .. "src/mame/drivers/nds.cpp", + MAME_DIR .. "src/mame/includes/nds.h", + MAME_DIR .. "src/mame/drivers/nes.cpp", + MAME_DIR .. "src/mame/includes/nes.h", + 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/pokemini.cpp", + MAME_DIR .. "src/mame/drivers/snes.cpp", + MAME_DIR .. "src/mame/includes/snes.h", + MAME_DIR .. "src/mame/machine/snescx4.cpp", + MAME_DIR .. "src/mame/machine/snescx4.h", + MAME_DIR .. "src/mame/machine/cx4data.hxx", + MAME_DIR .. "src/mame/machine/cx4fn.hxx", + MAME_DIR .. "src/mame/machine/cx4oam.hxx", + MAME_DIR .. "src/mame/machine/cx4ops.hxx", + MAME_DIR .. "src/mame/drivers/vboy.cpp", + MAME_DIR .. "src/mame/audio/vboy.cpp", + MAME_DIR .. "src/mame/audio/vboy.h", + MAME_DIR .. "src/mame/drivers/gamecube.cpp", + MAME_DIR .. "src/mame/machine/m6502_vtscr.cpp", + MAME_DIR .. "src/mame/machine/m6502_vtscr.h", +} + +createMESSProjects(_target, _subtarget, "nokia") +files { + MAME_DIR .. "src/mame/drivers/dbox.cpp", + MAME_DIR .. "src/mame/drivers/mikromik.cpp", + MAME_DIR .. "src/mame/includes/mikromik.h", + MAME_DIR .. "src/mame/machine/mm1kb.cpp", + MAME_DIR .. "src/mame/machine/mm1kb.h", + MAME_DIR .. "src/mame/video/mikromik.cpp", + MAME_DIR .. "src/mame/drivers/nokia_3310.cpp", +} + +createMESSProjects(_target, _subtarget, "northstar") +files { + MAME_DIR .. "src/mame/drivers/horizon.cpp", +} + +createMESSProjects(_target, _subtarget, "novag") +files { + MAME_DIR .. "src/mame/drivers/novag_mk1.cpp", + MAME_DIR .. "src/mame/drivers/novag_mk2.cpp", + MAME_DIR .. "src/mame/drivers/ssystem3.cpp", + MAME_DIR .. "src/mame/includes/ssystem3.h", + MAME_DIR .. "src/mame/video/ssystem3.cpp", +} + +createMESSProjects(_target, _subtarget, "olivetti") +files { + MAME_DIR .. "src/mame/drivers/m20.cpp", + MAME_DIR .. "src/mame/machine/m20_kbd.cpp", + MAME_DIR .. "src/mame/machine/m20_kbd.h", + MAME_DIR .. "src/mame/machine/m20_8086.cpp", + MAME_DIR .. "src/mame/machine/m20_8086.h", + MAME_DIR .. "src/mame/drivers/m24.cpp", + MAME_DIR .. "src/mame/machine/m24_kbd.cpp", + MAME_DIR .. "src/mame/machine/m24_kbd.h", + MAME_DIR .. "src/mame/machine/m24_z8000.cpp", + MAME_DIR .. "src/mame/machine/m24_z8000.h", +} + +createMESSProjects(_target, _subtarget, "olympia") +files { + MAME_DIR .. "src/mame/drivers/olyboss.cpp", + MAME_DIR .. "src/mame/drivers/olytext.cpp", + MAME_DIR .. "src/mame/drivers/peoplepc.cpp", +} + +createMESSProjects(_target, _subtarget, "omnibyte") +files { + MAME_DIR .. "src/mame/drivers/msbc1.cpp", + MAME_DIR .. "src/mame/includes/msbc1.h", + MAME_DIR .. "src/mame/drivers/ob68k1a.cpp", + MAME_DIR .. "src/mame/includes/ob68k1a.h", +} + +createMESSProjects(_target, _subtarget, "orion") +files { + MAME_DIR .. "src/mame/drivers/orion.cpp", + MAME_DIR .. "src/mame/includes/orion.h", + MAME_DIR .. "src/mame/machine/orion.cpp", + MAME_DIR .. "src/mame/video/orion.cpp", +} + +createMESSProjects(_target, _subtarget, "osborne") +files { + MAME_DIR .. "src/mame/drivers/osborne1.cpp", + MAME_DIR .. "src/mame/includes/osborne1.h", + MAME_DIR .. "src/mame/machine/osborne1.cpp", + MAME_DIR .. "src/mame/drivers/osbexec.cpp", + MAME_DIR .. "src/mame/drivers/vixen.cpp", + MAME_DIR .. "src/mame/includes/vixen.h", +} + +createMESSProjects(_target, _subtarget, "osi") +files { + MAME_DIR .. "src/mame/drivers/osi.cpp", + MAME_DIR .. "src/mame/includes/osi.h", + MAME_DIR .. "src/mame/video/osi.cpp", +} + +createMESSProjects(_target, _subtarget, "palm") +files { + MAME_DIR .. "src/mame/drivers/palm.cpp", + MAME_DIR .. "src/mame/drivers/palm_dbg.hxx", + MAME_DIR .. "src/mame/drivers/palmz22.cpp", +} + +createMESSProjects(_target, _subtarget, "pitronic") +files { + MAME_DIR .. "src/mame/drivers/beta.cpp", +} + +createMESSProjects(_target, _subtarget, "pc") +files { + MAME_DIR .. "src/mame/drivers/asst128.cpp", + MAME_DIR .. "src/mame/drivers/europc.cpp", + MAME_DIR .. "src/mame/drivers/genpc.cpp", + MAME_DIR .. "src/mame/drivers/ibmpc.cpp", + MAME_DIR .. "src/mame/drivers/ibmpcjr.cpp", + MAME_DIR .. "src/mame/drivers/nforcepc.cpp", + MAME_DIR .. "src/mame/drivers/pc.cpp", + MAME_DIR .. "src/mame/drivers/pcipc.cpp", + MAME_DIR .. "src/mame/drivers/tandy1t.cpp", + MAME_DIR .. "src/mame/drivers/tosh1000.cpp", + MAME_DIR .. "src/mame/machine/tosh1000_bram.cpp", + MAME_DIR .. "src/mame/machine/tosh1000_bram.h", + MAME_DIR .. "src/mame/drivers/compc.cpp", + MAME_DIR .. "src/mame/video/pc_t1t.cpp", + MAME_DIR .. "src/mame/video/pc_t1t.h", +} + +createMESSProjects(_target, _subtarget, "pdp1") +files { + MAME_DIR .. "src/mame/drivers/pdp1.cpp", + MAME_DIR .. "src/mame/includes/pdp1.h", + MAME_DIR .. "src/mame/video/pdp1.cpp", +} + +createMESSProjects(_target, _subtarget, "pel") +files { + MAME_DIR .. "src/mame/drivers/galeb.cpp", + MAME_DIR .. "src/mame/includes/galeb.h", + MAME_DIR .. "src/mame/video/galeb.cpp", + MAME_DIR .. "src/mame/drivers/orao.cpp", + MAME_DIR .. "src/mame/includes/orao.h", + MAME_DIR .. "src/mame/machine/orao.cpp", + MAME_DIR .. "src/mame/video/orao.cpp", +} + +createMESSProjects(_target, _subtarget, "philips") +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/video/p2000t.cpp", + MAME_DIR .. "src/mame/drivers/vg5k.cpp", +} + +createMESSProjects(_target, _subtarget, "poly") +files { + MAME_DIR .. "src/mame/drivers/poly.cpp", + MAME_DIR .. "src/mame/includes/poly.h", + MAME_DIR .. "src/mame/machine/poly.cpp", + MAME_DIR .. "src/mame/drivers/proteus.cpp", +} + +createMESSProjects(_target, _subtarget, "poly88") +files { + MAME_DIR .. "src/mame/drivers/poly88.cpp", + MAME_DIR .. "src/mame/includes/poly88.h", + MAME_DIR .. "src/mame/machine/poly88.cpp", + MAME_DIR .. "src/mame/video/poly88.cpp", +} + +createMESSProjects(_target, _subtarget, "prodigy") +files { + MAME_DIR .. "src/mame/drivers/prodigy.cpp", + MAME_DIR .. "src/mame/machine/nl_prodigy.cpp", + MAME_DIR .. "src/mame/machine/nl_prodigy.h", +} +includedirs { + ext_includedir("rapidjson"), +} + +createMESSProjects(_target, _subtarget, "psion") +files { + MAME_DIR .. "src/mame/drivers/psion.cpp", + MAME_DIR .. "src/mame/includes/psion.h", + MAME_DIR .. "src/mame/machine/psion_pack.cpp", + MAME_DIR .. "src/mame/machine/psion_pack.h", +} + +createMESSProjects(_target, _subtarget, "qume") +files { + MAME_DIR .. "src/mame/drivers/qvt70.cpp", + MAME_DIR .. "src/mame/drivers/qvt102.cpp", + MAME_DIR .. "src/mame/drivers/qvt103.cpp", + MAME_DIR .. "src/mame/drivers/qvt190.cpp", + MAME_DIR .. "src/mame/drivers/qvt201.cpp", +} + +createMESSProjects(_target, _subtarget, "radio") +files { + MAME_DIR .. "src/mame/drivers/apogee.cpp", + MAME_DIR .. "src/mame/drivers/mikrosha.cpp", + MAME_DIR .. "src/mame/drivers/partner.cpp", + MAME_DIR .. "src/mame/includes/partner.h", + MAME_DIR .. "src/mame/machine/partner.cpp", + MAME_DIR .. "src/mame/drivers/radio86.cpp", + MAME_DIR .. "src/mame/includes/radio86.h", + MAME_DIR .. "src/mame/machine/radio86.cpp", +} + +createMESSProjects(_target, _subtarget, "rca") +files { + MAME_DIR .. "src/mame/drivers/microkit.cpp", + MAME_DIR .. "src/mame/drivers/studio2.cpp", + MAME_DIR .. "src/mame/drivers/vip.cpp", + MAME_DIR .. "src/mame/includes/vip.h", +} + +createMESSProjects(_target, _subtarget, "regnecentralen") +files { + MAME_DIR .. "src/mame/drivers/rc702.cpp", + MAME_DIR .. "src/mame/drivers/rc759.cpp", +} + +createMESSProjects(_target, _subtarget, "ritam") +files { + MAME_DIR .. "src/mame/drivers/monty.cpp", +} + +createMESSProjects(_target, _subtarget, "rm") +files { + MAME_DIR .. "src/mame/drivers/rm380z.cpp", + MAME_DIR .. "src/mame/includes/rm380z.h", + MAME_DIR .. "src/mame/machine/rm380z.cpp", + MAME_DIR .. "src/mame/video/rm380z.cpp", + MAME_DIR .. "src/mame/drivers/rmnimbus.cpp", + MAME_DIR .. "src/mame/includes/rmnimbus.h", + MAME_DIR .. "src/mame/machine/rmnimbus.cpp", + MAME_DIR .. "src/mame/video/rmnimbus.cpp", + MAME_DIR .. "src/mame/machine/rmnkbd.cpp", + MAME_DIR .. "src/mame/machine/rmnkbd.h", +} + +createMESSProjects(_target, _subtarget, "robotron") +files { + MAME_DIR .. "src/mame/drivers/a5105.cpp", + MAME_DIR .. "src/mame/drivers/a51xx.cpp", + MAME_DIR .. "src/mame/drivers/a7150.cpp", + MAME_DIR .. "src/mame/drivers/k1003.cpp", + MAME_DIR .. "src/mame/drivers/k8915.cpp", + MAME_DIR .. "src/mame/drivers/rt1715.cpp", + MAME_DIR .. "src/mame/drivers/z1013.cpp", + MAME_DIR .. "src/mame/drivers/z9001.cpp", +} + +createMESSProjects(_target, _subtarget, "roland") +files { + MAME_DIR .. "src/mame/drivers/rmt32.cpp", + MAME_DIR .. "src/mame/drivers/rd110.cpp", + MAME_DIR .. "src/mame/drivers/rsc55.cpp", + MAME_DIR .. "src/mame/drivers/tb303.cpp", + MAME_DIR .. "src/mame/drivers/tr606.cpp", +} + +createMESSProjects(_target, _subtarget, "rolm") +files { + MAME_DIR .. "src/mame/drivers/r9751.cpp", +} + +createMESSProjects(_target, _subtarget, "rockwell") +files { + MAME_DIR .. "src/mame/drivers/aim65.cpp", + MAME_DIR .. "src/mame/includes/aim65.h", + MAME_DIR .. "src/mame/machine/aim65.cpp", + MAME_DIR .. "src/mame/drivers/aim65_40.cpp", +} + +createMESSProjects(_target, _subtarget, "sage") +files { + MAME_DIR .. "src/mame/drivers/sage2.cpp", + MAME_DIR .. "src/mame/includes/sage2.h", +} + +createMESSProjects(_target, _subtarget, "saitek") +files { + MAME_DIR .. "src/mame/drivers/risc2500.cpp", + MAME_DIR .. "src/mame/drivers/scisys_chesstrv.cpp", + MAME_DIR .. "src/mame/drivers/scisys_cp2000.cpp", + MAME_DIR .. "src/mame/drivers/stratos.cpp", +} + +createMESSProjects(_target, _subtarget, "samcoupe") +files { + MAME_DIR .. "src/mame/drivers/samcoupe.cpp", + MAME_DIR .. "src/mame/includes/samcoupe.h", + MAME_DIR .. "src/mame/machine/samcoupe.cpp", + MAME_DIR .. "src/mame/video/samcoupe.cpp", +} + +createMESSProjects(_target, _subtarget, "samsung") +files { + MAME_DIR .. "src/mame/drivers/spc1000.cpp", + MAME_DIR .. "src/mame/drivers/spc1500.cpp", +} + +createMESSProjects(_target, _subtarget, "sanyo") +files { + MAME_DIR .. "src/mame/drivers/mbc200.cpp", + MAME_DIR .. "src/mame/drivers/mbc55x.cpp", + MAME_DIR .. "src/mame/includes/mbc55x.h", + MAME_DIR .. "src/mame/video/mbc55x.cpp", + MAME_DIR .. "src/mame/drivers/phc25.cpp", + MAME_DIR .. "src/mame/includes/phc25.h", + MAME_DIR .. "src/mame/machine/mbc55x_kbd.cpp", + MAME_DIR .. "src/mame/machine/mbc55x_kbd.h", +} + +createMESSProjects(_target, _subtarget, "saturn") +files { + MAME_DIR .. "src/mame/drivers/st17xx.cpp", +} + +-- Don't call this project "sega" or it collides with the arcade one +-- and merges with it, which ends up with libsega.a linked after +-- libshared.a. The link then fails on linux because SEGAM1AUDIO and RAX +-- are in shared while model* and stv are in sega. +createMESSProjects(_target, _subtarget, "segacons") +files { + MAME_DIR .. "src/mame/drivers/dccons.cpp", + MAME_DIR .. "src/mame/includes/dccons.h", + MAME_DIR .. "src/mame/machine/dccons.cpp", + MAME_DIR .. "src/mame/machine/gdrom.cpp", + MAME_DIR .. "src/mame/machine/gdrom.h", + MAME_DIR .. "src/mame/drivers/megadriv.cpp", + MAME_DIR .. "src/mame/includes/megadriv.h", + MAME_DIR .. "src/mame/drivers/megadriv_rad.cpp", + MAME_DIR .. "src/mame/includes/megadriv_rad.h", + MAME_DIR .. "src/mame/drivers/segapico.cpp", + MAME_DIR .. "src/mame/drivers/sega_sawatte.cpp", + MAME_DIR .. "src/mame/drivers/sega_beena.cpp", + MAME_DIR .. "src/mame/drivers/segapm.cpp", + MAME_DIR .. "src/mame/drivers/sg1000.cpp", + MAME_DIR .. "src/mame/includes/sg1000.h", + MAME_DIR .. "src/mame/drivers/sms.cpp", + MAME_DIR .. "src/mame/includes/sms.h", + MAME_DIR .. "src/mame/machine/sms.cpp", + MAME_DIR .. "src/mame/drivers/svmu.cpp", + MAME_DIR .. "src/mame/machine/mega32x.cpp", + MAME_DIR .. "src/mame/machine/mega32x.h", + MAME_DIR .. "src/mame/machine/megacd.cpp", + MAME_DIR .. "src/mame/machine/megacd.h", + MAME_DIR .. "src/mame/machine/megacdcd.cpp", + MAME_DIR .. "src/mame/machine/megacdcd.h", +} + +createMESSProjects(_target, _subtarget, "sequential") +files { + MAME_DIR .. "src/mame/drivers/prophet600.cpp", +} + +createMESSProjects(_target, _subtarget, "sgi") +files { + MAME_DIR .. "src/mame/drivers/iris_power.cpp", + MAME_DIR .. "src/mame/drivers/crimson.cpp", + MAME_DIR .. "src/mame/drivers/o2.cpp", + MAME_DIR .. "src/mame/drivers/octane.cpp", + MAME_DIR .. "src/mame/machine/vino.cpp", + MAME_DIR .. "src/mame/machine/vino.h", + MAME_DIR .. "src/mame/machine/sgi.cpp", + MAME_DIR .. "src/mame/machine/sgi.h", + MAME_DIR .. "src/mame/machine/hal2.cpp", + MAME_DIR .. "src/mame/machine/hal2.h", + MAME_DIR .. "src/mame/machine/hpc1.cpp", + MAME_DIR .. "src/mame/machine/hpc1.h", + MAME_DIR .. "src/mame/machine/hpc3.cpp", + MAME_DIR .. "src/mame/machine/hpc3.h", + MAME_DIR .. "src/mame/machine/ioc2.cpp", + MAME_DIR .. "src/mame/machine/ioc2.h", + MAME_DIR .. "src/mame/machine/mace.cpp", + MAME_DIR .. "src/mame/machine/mace.h", + MAME_DIR .. "src/mame/drivers/iris3130.cpp", + MAME_DIR .. "src/mame/drivers/4dpi.cpp", + MAME_DIR .. "src/mame/drivers/indigo.cpp", + MAME_DIR .. "src/mame/drivers/indy_indigo2.cpp", + MAME_DIR .. "src/mame/video/light.cpp", + MAME_DIR .. "src/mame/video/light.h", + MAME_DIR .. "src/mame/video/crime.cpp", + MAME_DIR .. "src/mame/video/crime.h", +} + +createMESSProjects(_target, _subtarget, "sharp") +files { + MAME_DIR .. "src/mame/drivers/hh_sm510.cpp", + MAME_DIR .. "src/mame/includes/hh_sm510.h", + MAME_DIR .. "src/mame/drivers/rzone.cpp", -- subdriver of hh_sm510 + MAME_DIR .. "src/mame/video/mz700.cpp", + MAME_DIR .. "src/mame/drivers/mz700.cpp", + MAME_DIR .. "src/mame/includes/mz700.h", + MAME_DIR .. "src/mame/drivers/pc1500.cpp", + MAME_DIR .. "src/mame/drivers/pocketc.cpp", + MAME_DIR .. "src/mame/machine/pocketc.cpp", + MAME_DIR .. "src/mame/includes/pocketc.h", + MAME_DIR .. "src/mame/video/pc1401.cpp", + MAME_DIR .. "src/mame/machine/pc1401.cpp", + MAME_DIR .. "src/mame/includes/pc1401.h", + MAME_DIR .. "src/mame/video/pc1403.cpp", + MAME_DIR .. "src/mame/machine/pc1403.cpp", + MAME_DIR .. "src/mame/includes/pc1403.h", + MAME_DIR .. "src/mame/video/pc1350.cpp", + MAME_DIR .. "src/mame/machine/pc1350.cpp", + MAME_DIR .. "src/mame/includes/pc1350.h", + MAME_DIR .. "src/mame/video/pc1251.cpp", + MAME_DIR .. "src/mame/machine/pc1251.cpp", + MAME_DIR .. "src/mame/includes/pc1251.h", + MAME_DIR .. "src/mame/video/pocketc.cpp", + MAME_DIR .. "src/mame/machine/mz700.cpp", + MAME_DIR .. "src/mame/drivers/x68k.cpp", + MAME_DIR .. "src/mame/includes/x68k.h", + MAME_DIR .. "src/mame/video/x68k.cpp", + MAME_DIR .. "src/mame/machine/x68k_hdc.cpp", + MAME_DIR .. "src/mame/machine/x68k_hdc.h", + MAME_DIR .. "src/mame/machine/x68k_kbd.cpp", + MAME_DIR .. "src/mame/machine/x68k_kbd.h", + MAME_DIR .. "src/mame/video/x68k_crtc.cpp", + MAME_DIR .. "src/mame/video/x68k_crtc.h", + MAME_DIR .. "src/mame/drivers/mz80.cpp", + MAME_DIR .. "src/mame/includes/mz80.h", + MAME_DIR .. "src/mame/video/mz80.cpp", + MAME_DIR .. "src/mame/machine/mz80.cpp", + MAME_DIR .. "src/mame/drivers/mz2000.cpp", + MAME_DIR .. "src/mame/drivers/x1.cpp", + MAME_DIR .. "src/mame/includes/x1.h", + MAME_DIR .. "src/mame/machine/x1.cpp", + MAME_DIR .. "src/mame/video/x1.cpp", + MAME_DIR .. "src/mame/drivers/x1twin.cpp", + MAME_DIR .. "src/mame/drivers/mz2500.cpp", + MAME_DIR .. "src/mame/includes/mz2500.h", + MAME_DIR .. "src/mame/drivers/mz3500.cpp", + MAME_DIR .. "src/mame/drivers/pce220.cpp", + MAME_DIR .. "src/mame/machine/pce220_ser.cpp", + MAME_DIR .. "src/mame/machine/pce220_ser.h", + MAME_DIR .. "src/mame/drivers/mz6500.cpp", + MAME_DIR .. "src/mame/drivers/zaurus.cpp", + MAME_DIR .. "src/mame/machine/pxa255.h", + MAME_DIR .. "src/mame/drivers/fontwriter.cpp", +} + +createMESSProjects(_target, _subtarget, "sinclair") +files { + MAME_DIR .. "src/mame/video/spectrum.cpp", + MAME_DIR .. "src/mame/video/timex.cpp", + MAME_DIR .. "src/mame/video/zx.cpp", + MAME_DIR .. "src/mame/drivers/zx.cpp", + MAME_DIR .. "src/mame/includes/zx.h", + MAME_DIR .. "src/mame/machine/zx.cpp", + MAME_DIR .. "src/mame/drivers/spectrum.cpp", + MAME_DIR .. "src/mame/includes/spectrum.h", + MAME_DIR .. "src/mame/drivers/spec128.cpp", + MAME_DIR .. "src/mame/includes/spec128.h", + MAME_DIR .. "src/mame/drivers/timex.cpp", + MAME_DIR .. "src/mame/includes/timex.h", + MAME_DIR .. "src/mame/drivers/specpls3.cpp", + MAME_DIR .. "src/mame/includes/specpls3.h", + MAME_DIR .. "src/mame/drivers/scorpion.cpp", + MAME_DIR .. "src/mame/drivers/atm.cpp", + MAME_DIR .. "src/mame/drivers/pentagon.cpp", + MAME_DIR .. "src/mame/machine/beta.cpp", + MAME_DIR .. "src/mame/machine/beta.h", + MAME_DIR .. "src/mame/machine/spec_snqk.cpp", + MAME_DIR .. "src/mame/machine/spec_snqk.h", + MAME_DIR .. "src/mame/drivers/ql.cpp", + MAME_DIR .. "src/mame/machine/qimi.cpp", + MAME_DIR .. "src/mame/machine/qimi.h", + MAME_DIR .. "src/mame/video/zx8301.cpp", + MAME_DIR .. "src/mame/video/zx8301.h", + MAME_DIR .. "src/mame/machine/zx8302.cpp", + MAME_DIR .. "src/mame/machine/zx8302.h", +} + +createMESSProjects(_target, _subtarget, "siemens") +files { + MAME_DIR .. "src/mame/drivers/bitel.cpp", + MAME_DIR .. "src/mame/drivers/pcd.cpp", + MAME_DIR .. "src/mame/machine/pcd_kbd.cpp", + MAME_DIR .. "src/mame/machine/pcd_kbd.h", + MAME_DIR .. "src/mame/video/pcd.cpp", + MAME_DIR .. "src/mame/video/pcd.h", + MAME_DIR .. "src/mame/drivers/pg685.cpp", +} + +createMESSProjects(_target, _subtarget, "slicer") +files { + MAME_DIR .. "src/mame/drivers/slicer.cpp", +} + +createMESSProjects(_target, _subtarget, "snk") +files { + MAME_DIR .. "src/mame/drivers/neogeocd.cpp", + MAME_DIR .. "src/mame/drivers/ngp.cpp", + MAME_DIR .. "src/mame/video/k1ge.cpp", + MAME_DIR .. "src/mame/video/k1ge.h", +} + +createMESSProjects(_target, _subtarget, "sony") +files { + MAME_DIR .. "src/mame/drivers/pockstat.cpp", + MAME_DIR .. "src/mame/drivers/psx.cpp", + MAME_DIR .. "src/mame/machine/psxcd.cpp", + MAME_DIR .. "src/mame/machine/psxcd.h", + MAME_DIR .. "src/mame/drivers/pve500.cpp", + MAME_DIR .. "src/mame/drivers/smc777.cpp", + MAME_DIR .. "src/mame/drivers/ps2sony.cpp", +} + +createMESSProjects(_target, _subtarget, "sord") +files { + MAME_DIR .. "src/mame/drivers/m5.cpp", + MAME_DIR .. "src/mame/includes/m5.h", +} + +createMESSProjects(_target, _subtarget, "special") +files { + MAME_DIR .. "src/mame/drivers/special.cpp", + MAME_DIR .. "src/mame/includes/special.h", + MAME_DIR .. "src/mame/audio/special.cpp", + MAME_DIR .. "src/mame/audio/special.h", + MAME_DIR .. "src/mame/machine/special.cpp", + MAME_DIR .. "src/mame/video/special.cpp", +} + +createMESSProjects(_target, _subtarget, "sun") +files { + MAME_DIR .. "src/mame/drivers/sun1.cpp", + MAME_DIR .. "src/mame/drivers/sun2.cpp", + MAME_DIR .. "src/mame/drivers/sun3.cpp", + MAME_DIR .. "src/mame/drivers/sun3x.cpp", + MAME_DIR .. "src/mame/drivers/sun4.cpp", +} + +createMESSProjects(_target, _subtarget, "svi") +files { + MAME_DIR .. "src/mame/drivers/svi318.cpp", +} + +createMESSProjects(_target, _subtarget, "svision") +files { + MAME_DIR .. "src/mame/drivers/svision.cpp", + MAME_DIR .. "src/mame/includes/svision.h", + MAME_DIR .. "src/mame/audio/svis_snd.cpp", + MAME_DIR .. "src/mame/audio/svis_snd.h", +} + +createMESSProjects(_target, _subtarget, "swtpc") +files { + MAME_DIR .. "src/mame/drivers/swtpc.cpp", + MAME_DIR .. "src/mame/drivers/swtpc09.cpp", + MAME_DIR .. "src/mame/includes/swtpc09.h", + MAME_DIR .. "src/mame/machine/swtpc09.cpp", +} + +createMESSProjects(_target, _subtarget, "synertek") +files { + MAME_DIR .. "src/mame/drivers/ktm3.cpp", + MAME_DIR .. "src/mame/drivers/sym1.cpp", +} + +createMESSProjects(_target, _subtarget, "ta") +files { + MAME_DIR .. "src/mame/drivers/alphatpx.cpp", + MAME_DIR .. "src/mame/drivers/alphatro.cpp", +} + +createMESSProjects(_target, _subtarget, "tandberg") +files { + MAME_DIR .. "src/mame/drivers/tdv2324.cpp", + MAME_DIR .. "src/mame/includes/tdv2324.h", +} + +createMESSProjects(_target, _subtarget, "tangerin") +files { + MAME_DIR .. "src/mame/drivers/microtan.cpp", + MAME_DIR .. "src/mame/includes/microtan.h", + MAME_DIR .. "src/mame/machine/microtan.cpp", + MAME_DIR .. "src/mame/video/microtan.cpp", + MAME_DIR .. "src/mame/drivers/oric.cpp", +} + +createMESSProjects(_target, _subtarget, "tatung") +files { + MAME_DIR .. "src/mame/drivers/einstein.cpp", +} + +createMESSProjects(_target, _subtarget, "teamconc") +files { + MAME_DIR .. "src/mame/drivers/comquest.cpp", + MAME_DIR .. "src/mame/includes/comquest.h", + MAME_DIR .. "src/mame/video/comquest.cpp", +} + +createMESSProjects(_target, _subtarget, "tektroni") +files { + MAME_DIR .. "src/mame/drivers/tek405x.cpp", + MAME_DIR .. "src/mame/includes/tek405x.h", + MAME_DIR .. "src/mame/drivers/tek410x.cpp", + MAME_DIR .. "src/mame/drivers/tek440x.cpp", + MAME_DIR .. "src/mame/drivers/tekxp33x.cpp", +} + +createMESSProjects(_target, _subtarget, "telenova") +files { + MAME_DIR .. "src/mame/drivers/compis.cpp", + MAME_DIR .. "src/mame/machine/compiskb.cpp", + MAME_DIR .. "src/mame/machine/compiskb.h", +} + +createMESSProjects(_target, _subtarget, "telercas") +files { + MAME_DIR .. "src/mame/drivers/tmc1800.cpp", + MAME_DIR .. "src/mame/includes/tmc1800.h", + MAME_DIR .. "src/mame/video/tmc1800.cpp", + MAME_DIR .. "src/mame/drivers/tmc600.cpp", + MAME_DIR .. "src/mame/includes/tmc600.h", + MAME_DIR .. "src/mame/video/tmc600.cpp", + MAME_DIR .. "src/mame/drivers/tmc2000e.cpp", + MAME_DIR .. "src/mame/includes/tmc2000e.h", +} + +createMESSProjects(_target, _subtarget, "televideo") +files { + MAME_DIR .. "src/mame/drivers/ts802.cpp", + MAME_DIR .. "src/mame/drivers/ts803.cpp", + 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/tv950.cpp", + MAME_DIR .. "src/mame/drivers/tv955.cpp", + MAME_DIR .. "src/mame/drivers/tv965.cpp", + MAME_DIR .. "src/mame/drivers/tv990.cpp", + MAME_DIR .. "src/mame/drivers/ts3000.cpp", + MAME_DIR .. "src/mame/machine/tv950kb.cpp", + MAME_DIR .. "src/mame/machine/tv950kb.h", + MAME_DIR .. "src/mame/machine/tv955kb.cpp", + MAME_DIR .. "src/mame/machine/tv955kb.h", +} + +createMESSProjects(_target, _subtarget, "tem") +files { + MAME_DIR .. "src/mame/drivers/tec1.cpp", +} + +createMESSProjects(_target, _subtarget, "tesla") +files { + MAME_DIR .. "src/mame/drivers/ondra.cpp", + MAME_DIR .. "src/mame/includes/ondra.h", + MAME_DIR .. "src/mame/machine/ondra.cpp", + MAME_DIR .. "src/mame/video/ondra.cpp", + MAME_DIR .. "src/mame/drivers/pmd85.cpp", + MAME_DIR .. "src/mame/includes/pmd85.h", + MAME_DIR .. "src/mame/machine/pmd85.cpp", + MAME_DIR .. "src/mame/drivers/pmi80.cpp", + MAME_DIR .. "src/mame/drivers/sapi1.cpp", +} + +createMESSProjects(_target, _subtarget, "thomson") +files { + MAME_DIR .. "src/mame/drivers/thomson.cpp", + MAME_DIR .. "src/mame/includes/thomson.h", + MAME_DIR .. "src/mame/machine/thomson.cpp", + MAME_DIR .. "src/mame/machine/thomflop.cpp", + MAME_DIR .. "src/mame/machine/thomflop.h", + MAME_DIR .. "src/mame/video/thomson.cpp", +} + +createMESSProjects(_target, _subtarget, "ti") +files { + MAME_DIR .. "src/mame/drivers/avigo.cpp", + MAME_DIR .. "src/mame/includes/avigo.h", + MAME_DIR .. "src/mame/video/avigo.cpp", + MAME_DIR .. "src/mame/drivers/cc40.cpp", + MAME_DIR .. "src/mame/drivers/evmbug.cpp", + MAME_DIR .. "src/mame/drivers/exelv.cpp", + MAME_DIR .. "src/mame/drivers/geneve.cpp", + MAME_DIR .. "src/mame/drivers/hh_tms1k.cpp", + MAME_DIR .. "src/mame/includes/hh_tms1k.h", + MAME_DIR .. "src/mame/drivers/tispeak.cpp", -- subdriver of hh_tms1k + MAME_DIR .. "src/mame/drivers/tispellb.cpp", -- " + MAME_DIR .. "src/mame/drivers/ti74.cpp", + MAME_DIR .. "src/mame/drivers/ti85.cpp", + MAME_DIR .. "src/mame/includes/ti85.h", + MAME_DIR .. "src/mame/machine/ti85.cpp", + MAME_DIR .. "src/mame/video/ti85.cpp", + MAME_DIR .. "src/mame/drivers/ti89.cpp", + MAME_DIR .. "src/mame/includes/ti89.h", + MAME_DIR .. "src/mame/drivers/ti931.cpp", + MAME_DIR .. "src/mame/drivers/ti99_2.cpp", + MAME_DIR .. "src/mame/drivers/ti99_4x.cpp", + MAME_DIR .. "src/mame/drivers/ti99_4p.cpp", + MAME_DIR .. "src/mame/drivers/ti99_8.cpp", + MAME_DIR .. "src/mame/drivers/ti990_4.cpp", + MAME_DIR .. "src/mame/drivers/ti990_10.cpp", + MAME_DIR .. "src/mame/drivers/tm990189.cpp", + MAME_DIR .. "src/mame/video/733_asr.cpp", + MAME_DIR .. "src/mame/video/733_asr.h", + MAME_DIR .. "src/mame/video/911_vdt.cpp", + MAME_DIR .. "src/mame/video/911_vdt.h", + MAME_DIR .. "src/mame/video/911_chr.h", + MAME_DIR .. "src/mame/video/911_key.h", +} + +createMESSProjects(_target, _subtarget, "tiger") +files { + MAME_DIR .. "src/mame/drivers/gamecom.cpp", + MAME_DIR .. "src/mame/includes/gamecom.h", + MAME_DIR .. "src/mame/machine/gamecom.cpp", + MAME_DIR .. "src/mame/video/gamecom.cpp", + MAME_DIR .. "src/mame/drivers/k28.cpp", +} + +createMESSProjects(_target, _subtarget, "tigertel") +files { + MAME_DIR .. "src/mame/drivers/gizmondo.cpp", + MAME_DIR .. "src/mame/machine/docg3.cpp", + MAME_DIR .. "src/mame/machine/docg3.h", +} + +createMESSProjects(_target, _subtarget, "tiki") +files { + MAME_DIR .. "src/mame/drivers/tiki100.cpp", + MAME_DIR .. "src/mame/includes/tiki100.h", +} + +createMESSProjects(_target, _subtarget, "tomy") +files { + MAME_DIR .. "src/mame/drivers/tutor.cpp", + MAME_DIR .. "src/mame/drivers/tomy_princ.cpp", +} + +createMESSProjects(_target, _subtarget, "toshiba") +files { + MAME_DIR .. "src/mame/drivers/pasopia.cpp", + MAME_DIR .. "src/mame/includes/pasopia.h", + MAME_DIR .. "src/mame/drivers/pasopia7.cpp", + MAME_DIR .. "src/mame/drivers/paso1600.cpp", +} + +createMESSProjects(_target, _subtarget, "trainer") +files { + MAME_DIR .. "src/mame/drivers/amico2k.cpp", + MAME_DIR .. "src/mame/drivers/babbage.cpp", + MAME_DIR .. "src/mame/drivers/bob85.cpp", + MAME_DIR .. "src/mame/drivers/cvicny.cpp", + MAME_DIR .. "src/mame/drivers/datum.cpp", + MAME_DIR .. "src/mame/drivers/dolphunk.cpp", + MAME_DIR .. "src/mame/drivers/emma2.cpp", + MAME_DIR .. "src/mame/drivers/instruct.cpp", + MAME_DIR .. "src/mame/drivers/mk14.cpp", + MAME_DIR .. "src/mame/drivers/pro80.cpp", + MAME_DIR .. "src/mame/drivers/savia84.cpp", + MAME_DIR .. "src/mame/drivers/selz80.cpp", + MAME_DIR .. "src/mame/drivers/tk80.cpp", + MAME_DIR .. "src/mame/drivers/zapcomputer.cpp", +} + +createMESSProjects(_target, _subtarget, "trs") +files { + MAME_DIR .. "src/mame/drivers/coco12.cpp", + MAME_DIR .. "src/mame/includes/coco12.h", + MAME_DIR .. "src/mame/drivers/coco3.cpp", + MAME_DIR .. "src/mame/includes/coco3.h", + MAME_DIR .. "src/mame/drivers/dragon.cpp", + MAME_DIR .. "src/mame/includes/dragon.h", + MAME_DIR .. "src/mame/drivers/mc10.cpp", + MAME_DIR .. "src/mame/machine/6883sam.cpp", + MAME_DIR .. "src/mame/machine/6883sam.h", + MAME_DIR .. "src/mame/machine/coco.cpp", + MAME_DIR .. "src/mame/includes/coco.h", + MAME_DIR .. "src/mame/machine/coco12.cpp", + MAME_DIR .. "src/mame/machine/coco3.cpp", + MAME_DIR .. "src/mame/machine/coco_vhd.cpp", + MAME_DIR .. "src/mame/machine/coco_vhd.h", + MAME_DIR .. "src/mame/machine/dragon.cpp", + MAME_DIR .. "src/mame/machine/dgnalpha.cpp", + MAME_DIR .. "src/mame/includes/dgnalpha.h", + MAME_DIR .. "src/mame/video/gime.cpp", + MAME_DIR .. "src/mame/video/gime.h", + MAME_DIR .. "src/mame/drivers/trs80.cpp", + MAME_DIR .. "src/mame/includes/trs80.h", + MAME_DIR .. "src/mame/machine/trs80.cpp", + MAME_DIR .. "src/mame/video/trs80.cpp", + MAME_DIR .. "src/mame/drivers/trs80m2.cpp", + MAME_DIR .. "src/mame/includes/trs80m2.h", + MAME_DIR .. "src/mame/machine/trs80m2kb.cpp", + MAME_DIR .. "src/mame/machine/trs80m2kb.h", + MAME_DIR .. "src/mame/drivers/trs80m3.cpp", + MAME_DIR .. "src/mame/includes/trs80m3.h", + MAME_DIR .. "src/mame/machine/trs80m3.cpp", + MAME_DIR .. "src/mame/video/trs80m3.cpp", + MAME_DIR .. "src/mame/drivers/tandy2k.cpp", + MAME_DIR .. "src/mame/includes/tandy2k.h", + MAME_DIR .. "src/mame/machine/tandy2kb.cpp", + MAME_DIR .. "src/mame/machine/tandy2kb.h", + MAME_DIR .. "src/mame/drivers/vis.cpp", +} + +createMESSProjects(_target, _subtarget, "tvgames") +files { + MAME_DIR .. "src/mame/drivers/elan_eu3a14.cpp", + MAME_DIR .. "src/mame/drivers/elan_eu3a05.cpp", + MAME_DIR .. "src/mame/audio/elan_eu3a05.cpp", + MAME_DIR .. "src/mame/audio/elan_eu3a05.h", + MAME_DIR .. "src/mame/machine/elan_eu3a05gpio.cpp", + MAME_DIR .. "src/mame/machine/elan_eu3a05gpio.h", + 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/sunplus_gcm394.cpp", + MAME_DIR .. "src/mame/drivers/xavix.cpp", + MAME_DIR .. "src/mame/video/xavix.cpp", + MAME_DIR .. "src/mame/machine/xavix.cpp", + MAME_DIR .. "src/mame/audio/xavix.cpp", + MAME_DIR .. "src/mame/includes/xavix.h", + MAME_DIR .. "src/mame/machine/xavix_mtrk_wheel.cpp", + MAME_DIR .. "src/mame/machine/xavix_mtrk_wheel.h", + MAME_DIR .. "src/mame/machine/xavix_madfb_ball.cpp", + MAME_DIR .. "src/mame/machine/xavix_madfb_ball.h", + MAME_DIR .. "src/mame/machine/xavix_io.cpp", + MAME_DIR .. "src/mame/machine/xavix_io.h", + MAME_DIR .. "src/mame/machine/xavix_adc.cpp", + MAME_DIR .. "src/mame/machine/xavix_adc.h", + MAME_DIR .. "src/mame/machine/xavix_anport.h", + MAME_DIR .. "src/mame/machine/xavix_anport.cpp", + MAME_DIR .. "src/mame/machine/xavix_math.h", + MAME_DIR .. "src/mame/machine/xavix_math.cpp", + MAME_DIR .. "src/mame/machine/xavix2002_io.cpp", + MAME_DIR .. "src/mame/machine/xavix2002_io.h", + MAME_DIR .. "src/mame/drivers/xavix2.cpp", + MAME_DIR .. "src/mame/drivers/titan_soc.cpp", +} + +createMESSProjects(_target, _subtarget, "ultimachine") +files { + MAME_DIR .. "src/mame/drivers/rambo.cpp", +} + +createMESSProjects(_target, _subtarget, "ultratec") +files { + MAME_DIR .. "src/mame/drivers/minicom.cpp", +} + +createMESSProjects(_target, _subtarget, "unicard") +files { + MAME_DIR .. "src/mame/drivers/bbcbc.cpp", +} + +createMESSProjects(_target, _subtarget, "unisonic") +files { + MAME_DIR .. "src/mame/drivers/unichamp.cpp", + MAME_DIR .. "src/mame/video/gic.cpp", + MAME_DIR .. "src/mame/video/gic.h", +} + + +createMESSProjects(_target, _subtarget, "unisys") +files { + MAME_DIR .. "src/mame/drivers/univac.cpp", +} + +createMESSProjects(_target, _subtarget, "usp") +files { + MAME_DIR .. "src/mame/drivers/patinho_feio.cpp", + MAME_DIR .. "src/mame/includes/patinhofeio.h", +} + +createMESSProjects(_target, _subtarget, "veb") +files { + MAME_DIR .. "src/mame/drivers/chessmst.cpp", + MAME_DIR .. "src/mame/drivers/kc.cpp", + MAME_DIR .. "src/mame/includes/kc.h", + MAME_DIR .. "src/mame/machine/kc.cpp", + MAME_DIR .. "src/mame/machine/kc_keyb.cpp", + MAME_DIR .. "src/mame/machine/kc_keyb.h", + MAME_DIR .. "src/mame/video/kc.cpp", + MAME_DIR .. "src/mame/drivers/lc80.cpp", + MAME_DIR .. "src/mame/includes/lc80.h", + MAME_DIR .. "src/mame/drivers/mc8020.cpp", + MAME_DIR .. "src/mame/drivers/mc8030.cpp", + MAME_DIR .. "src/mame/drivers/poly880.cpp", + MAME_DIR .. "src/mame/includes/poly880.h", + MAME_DIR .. "src/mame/drivers/sc2.cpp", +} + +createMESSProjects(_target, _subtarget, "verifone") +files { + MAME_DIR .. "src/mame/drivers/tranz330.cpp", + MAME_DIR .. "src/mame/includes/tranz330.h" +} + +createMESSProjects(_target, _subtarget, "vidbrain") +files { + MAME_DIR .. "src/mame/drivers/vidbrain.cpp", + MAME_DIR .. "src/mame/includes/vidbrain.h", + MAME_DIR .. "src/mame/video/uv201.cpp", + MAME_DIR .. "src/mame/video/uv201.h", +} + +createMESSProjects(_target, _subtarget, "videoton") +files { + MAME_DIR .. "src/mame/drivers/tvc.cpp", + MAME_DIR .. "src/mame/audio/tvc.cpp", + MAME_DIR .. "src/mame/audio/tvc.h", +} + +createMESSProjects(_target, _subtarget, "visual") +files { + MAME_DIR .. "src/mame/drivers/v100.cpp", + MAME_DIR .. "src/mame/drivers/v102.cpp", + MAME_DIR .. "src/mame/machine/v102_kbd.cpp", + MAME_DIR .. "src/mame/machine/v102_kbd.h", + MAME_DIR .. "src/mame/drivers/v550.cpp", + MAME_DIR .. "src/mame/drivers/v1050.cpp", + MAME_DIR .. "src/mame/includes/v1050.h", + MAME_DIR .. "src/mame/machine/v1050kb.cpp", + MAME_DIR .. "src/mame/machine/v1050kb.h", + MAME_DIR .. "src/mame/video/v1050.cpp", +} + +createMESSProjects(_target, _subtarget, "votrax") +files { + MAME_DIR .. "src/mame/drivers/votrpss.cpp", + MAME_DIR .. "src/mame/drivers/votrtnt.cpp", +} + +createMESSProjects(_target, _subtarget, "vtech") +files { + MAME_DIR .. "src/mame/drivers/crvision.cpp", + MAME_DIR .. "src/mame/includes/crvision.h", + MAME_DIR .. "src/mame/drivers/gamemachine.cpp", + MAME_DIR .. "src/mame/drivers/geniusiq.cpp", + MAME_DIR .. "src/mame/drivers/vtech_unk1.cpp", + MAME_DIR .. "src/mame/drivers/vtech_unk2.cpp", + MAME_DIR .. "src/mame/drivers/vtech_eu3a12.cpp", + MAME_DIR .. "src/mame/drivers/iqunlim.cpp", + MAME_DIR .. "src/mame/drivers/laser3k.cpp", + MAME_DIR .. "src/mame/drivers/lcmate2.cpp", + MAME_DIR .. "src/mame/drivers/pc4.cpp", + MAME_DIR .. "src/mame/includes/pc4.h", + MAME_DIR .. "src/mame/video/pc4.cpp", + MAME_DIR .. "src/mame/drivers/pc2000.cpp", + MAME_DIR .. "src/mame/drivers/pitagjr.cpp", + MAME_DIR .. "src/mame/drivers/prestige.cpp", + MAME_DIR .. "src/mame/drivers/vtech1.cpp", + MAME_DIR .. "src/mame/drivers/vtech2.cpp", + MAME_DIR .. "src/mame/includes/vtech2.h", + MAME_DIR .. "src/mame/machine/vtech2.cpp", + MAME_DIR .. "src/mame/video/vtech2.cpp", + MAME_DIR .. "src/mame/drivers/socrates.cpp", + MAME_DIR .. "src/mame/audio/socrates.cpp", + MAME_DIR .. "src/mame/audio/socrates.h", + MAME_DIR .. "src/mame/drivers/inteladv.cpp", + MAME_DIR .. "src/mame/includes/vsmile.h", + MAME_DIR .. "src/mame/drivers/vsmile.cpp", + MAME_DIR .. "src/mame/drivers/vsmileb.cpp", + MAME_DIR .. "src/mame/drivers/clickstart.cpp", + MAME_DIR .. "src/mame/drivers/storio.cpp", +} + +createMESSProjects(_target, _subtarget, "wang") +files { + MAME_DIR .. "src/mame/drivers/wangpc.cpp", + MAME_DIR .. "src/devices/bus/wangpc/wangpc.h", + MAME_DIR .. "src/mame/machine/wangpckb.cpp", + MAME_DIR .. "src/mame/machine/wangpckb.h", +} + +createMESSProjects(_target, _subtarget, "westinghouse") +files { + MAME_DIR .. "src/mame/drivers/testconsole.cpp", +} + +createMESSProjects(_target, _subtarget, "wavemate") +files { + MAME_DIR .. "src/mame/drivers/bullet.cpp", + MAME_DIR .. "src/mame/includes/bullet.h", + MAME_DIR .. "src/mame/drivers/jupiter.cpp", + MAME_DIR .. "src/mame/includes/jupiter.h", +} + +createMESSProjects(_target, _subtarget, "wyse") +files { + MAME_DIR .. "src/mame/drivers/wy100.cpp", + MAME_DIR .. "src/mame/drivers/wy150.cpp", + MAME_DIR .. "src/mame/drivers/wy30p.cpp", + MAME_DIR .. "src/mame/drivers/wy50.cpp", + MAME_DIR .. "src/mame/drivers/wy55.cpp", + MAME_DIR .. "src/mame/drivers/wy60.cpp", + MAME_DIR .. "src/mame/drivers/wy85.cpp", + MAME_DIR .. "src/mame/machine/wy50kb.cpp", + MAME_DIR .. "src/mame/machine/wy50kb.h", +} + +createMESSProjects(_target, _subtarget, "xerox") +files { + MAME_DIR .. "src/mame/drivers/xerox820.cpp", + MAME_DIR .. "src/mame/includes/xerox820.h", + MAME_DIR .. "src/mame/machine/x820kb.cpp", + MAME_DIR .. "src/mame/machine/x820kb.h", + MAME_DIR .. "src/mame/drivers/bigbord2.cpp", + MAME_DIR .. "src/mame/drivers/alto1.cpp", + MAME_DIR .. "src/mame/drivers/alto2.cpp", +} + +createMESSProjects(_target, _subtarget, "xussrpc") +files { + MAME_DIR .. "src/mame/drivers/ec184x.cpp", + MAME_DIR .. "src/mame/drivers/iskr103x.cpp", + MAME_DIR .. "src/mame/drivers/mc1502.cpp", + MAME_DIR .. "src/mame/machine/kb_7007_3.h", + MAME_DIR .. "src/mame/includes/mc1502.h", + MAME_DIR .. "src/mame/drivers/poisk1.cpp", + MAME_DIR .. "src/mame/machine/kb_poisk1.h", +} + +createMESSProjects(_target, _subtarget, "yamaha") +files { + MAME_DIR .. "src/mame/machine/mulcd.cpp", + MAME_DIR .. "src/mame/drivers/ymmu50.cpp", + MAME_DIR .. "src/mame/drivers/ymmu80.cpp", + MAME_DIR .. "src/mame/drivers/ymmu100.cpp", + MAME_DIR .. "src/mame/drivers/ymvl70.cpp", + MAME_DIR .. "src/mame/drivers/fb01.cpp", + MAME_DIR .. "src/mame/drivers/tg100.cpp", +} + +createMESSProjects(_target, _subtarget, "zenith") +files { + MAME_DIR .. "src/mame/drivers/z100.cpp", + MAME_DIR .. "src/mame/drivers/z29.cpp", +} + +createMESSProjects(_target, _subtarget, "zpa") +files { + MAME_DIR .. "src/mame/drivers/iq151.cpp", +} + +createMESSProjects(_target, _subtarget, "zvt") +files { + MAME_DIR .. "src/mame/drivers/pp01.cpp", + MAME_DIR .. "src/mame/includes/pp01.h", + MAME_DIR .. "src/mame/machine/pp01.cpp", + MAME_DIR .. "src/mame/video/pp01.cpp", +} + +createMESSProjects(_target, _subtarget, "skeleton") +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/akaiax80.cpp", + MAME_DIR .. "src/mame/drivers/alcat7100.cpp", + MAME_DIR .. "src/mame/drivers/alesis_qs.cpp", + MAME_DIR .. "src/mame/drivers/alphasma.cpp", + MAME_DIR .. "src/mame/drivers/ampex.cpp", + MAME_DIR .. "src/mame/drivers/ampex210.cpp", + MAME_DIR .. "src/mame/drivers/ampro.cpp", + MAME_DIR .. "src/mame/drivers/ampscarp.cpp", + MAME_DIR .. "src/mame/drivers/amust.cpp", + MAME_DIR .. "src/mame/drivers/anzterm.cpp", + MAME_DIR .. "src/mame/drivers/applix.cpp", + MAME_DIR .. "src/mame/drivers/argox.cpp", + MAME_DIR .. "src/mame/drivers/attache.cpp", + MAME_DIR .. "src/mame/drivers/aussiebyte.cpp", + MAME_DIR .. "src/mame/includes/aussiebyte.h", + MAME_DIR .. "src/mame/video/aussiebyte.cpp", + MAME_DIR .. "src/mame/drivers/ax20.cpp", + MAME_DIR .. "src/mame/drivers/beehive.cpp", + MAME_DIR .. "src/mame/drivers/binbug.cpp", + MAME_DIR .. "src/mame/drivers/bert.cpp", + MAME_DIR .. "src/mame/drivers/besta.cpp", + MAME_DIR .. "src/mame/drivers/bitgraph.cpp", + MAME_DIR .. "src/mame/drivers/bpmmicro.cpp", + MAME_DIR .. "src/mame/drivers/blw700i.cpp", + MAME_DIR .. "src/mame/drivers/br8641.cpp", + MAME_DIR .. "src/mame/drivers/busicom.cpp", + MAME_DIR .. "src/mame/includes/busicom.h", + MAME_DIR .. "src/mame/video/busicom.cpp", + MAME_DIR .. "src/mame/drivers/c2color.cpp", + MAME_DIR .. "src/mame/drivers/candela.cpp", + MAME_DIR .. "src/mame/drivers/cardinal.cpp", + MAME_DIR .. "src/mame/drivers/chaos.cpp", + MAME_DIR .. "src/mame/drivers/cd2650.cpp", + MAME_DIR .. "src/mame/drivers/cdc721.cpp", + MAME_DIR .. "src/mame/drivers/cit101.cpp", + MAME_DIR .. "src/mame/machine/cit101_kbd.cpp", + MAME_DIR .. "src/mame/machine/cit101_kbd.h", + MAME_DIR .. "src/mame/drivers/cit220.cpp", + MAME_DIR .. "src/mame/drivers/codata.cpp", + MAME_DIR .. "src/mame/drivers/controlid.cpp", + MAME_DIR .. "src/mame/drivers/cortex.cpp", + MAME_DIR .. "src/mame/drivers/cosmicos.cpp", + MAME_DIR .. "src/mame/includes/cosmicos.h", + MAME_DIR .. "src/mame/drivers/cp1.cpp", + MAME_DIR .. "src/mame/drivers/cxhumax.cpp", + MAME_DIR .. "src/mame/includes/cxhumax.h", + MAME_DIR .. "src/mame/drivers/czk80.cpp", + MAME_DIR .. "src/mame/drivers/d400.cpp", + MAME_DIR .. "src/mame/drivers/d6800.cpp", + MAME_DIR .. "src/mame/drivers/d6809.cpp", + MAME_DIR .. "src/mame/drivers/daruma.cpp", + MAME_DIR .. "src/mame/drivers/diablo1300.cpp", + MAME_DIR .. "src/mame/drivers/didact.cpp", + MAME_DIR .. "src/mame/drivers/digel804.cpp", + MAME_DIR .. "src/mame/drivers/digijet.cpp", + MAME_DIR .. "src/mame/drivers/dim68k.cpp", + MAME_DIR .. "src/mame/drivers/dm7000.cpp", + MAME_DIR .. "src/mame/includes/dm7000.h", + MAME_DIR .. "src/mame/drivers/dmax8000.cpp", + MAME_DIR .. "src/mame/drivers/dmv.cpp", + MAME_DIR .. "src/mame/machine/dmv_keyb.cpp", + MAME_DIR .. "src/mame/machine/dmv_keyb.h", + MAME_DIR .. "src/mame/drivers/dpb7000.cpp", + MAME_DIR .. "src/mame/video/dpb_combiner.cpp", + MAME_DIR .. "src/mame/video/dpb_combiner.h", + MAME_DIR .. "src/mame/video/dpb_brushproc.cpp", + MAME_DIR .. "src/mame/video/dpb_brushproc.h", + MAME_DIR .. "src/mame/video/dpb_storeaddr.cpp", + MAME_DIR .. "src/mame/video/dpb_storeaddr.h", + MAME_DIR .. "src/mame/drivers/dps1.cpp", + MAME_DIR .. "src/mame/drivers/dsb46.cpp", + MAME_DIR .. "src/mame/drivers/dual68.cpp", + MAME_DIR .. "src/mame/drivers/e100.cpp", + MAME_DIR .. "src/mame/drivers/e9161.cpp", + MAME_DIR .. "src/mame/drivers/eacc.cpp", + MAME_DIR .. "src/mame/drivers/elwro800.cpp", + MAME_DIR .. "src/mame/drivers/emate.cpp", + MAME_DIR .. "src/mame/drivers/epic14e.cpp", + MAME_DIR .. "src/mame/drivers/esprit.cpp", + MAME_DIR .. "src/mame/drivers/eti660.cpp", + MAME_DIR .. "src/mame/includes/eti660.h", + MAME_DIR .. "src/mame/drivers/eurocom2.cpp", + MAME_DIR .. "src/mame/drivers/excali64.cpp", + MAME_DIR .. "src/mame/drivers/facit4440.cpp", + MAME_DIR .. "src/mame/drivers/falco5220.cpp", + MAME_DIR .. "src/mame/drivers/falcots.cpp", + MAME_DIR .. "src/mame/drivers/fanucs15.cpp", + MAME_DIR .. "src/mame/drivers/fanucspmg.cpp", + MAME_DIR .. "src/mame/drivers/fc100.cpp", + MAME_DIR .. "src/mame/drivers/fk1.cpp", + 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/gimix.cpp", + MAME_DIR .. "src/mame/drivers/goupil.cpp", + MAME_DIR .. "src/mame/drivers/grfd2301.cpp", + MAME_DIR .. "src/mame/drivers/harriet.cpp", + MAME_DIR .. "src/mame/drivers/hazeltin.cpp", + MAME_DIR .. "src/mame/drivers/hazl1420.cpp", + MAME_DIR .. "src/mame/drivers/hp3478a.cpp", + MAME_DIR .. "src/mame/drivers/hprot1.cpp", + MAME_DIR .. "src/mame/drivers/hpz80unk.cpp", + MAME_DIR .. "src/mame/drivers/ht68k.cpp", + MAME_DIR .. "src/mame/drivers/hunter2.cpp", + MAME_DIR .. "src/mame/drivers/hunter16.cpp", + MAME_DIR .. "src/mame/drivers/i7000.cpp", + MAME_DIR .. "src/mame/drivers/ibm3153.cpp", + MAME_DIR .. "src/mame/drivers/icatel.cpp", + MAME_DIR .. "src/mame/drivers/icebox.cpp", + MAME_DIR .. "src/mame/drivers/if800.cpp", + MAME_DIR .. "src/mame/drivers/ikt5a.cpp", + MAME_DIR .. "src/mame/drivers/imsai.cpp", + MAME_DIR .. "src/mame/drivers/indiana.cpp", + MAME_DIR .. "src/mame/drivers/is48x.cpp", + MAME_DIR .. "src/mame/drivers/itt1700.cpp", + MAME_DIR .. "src/mame/machine/itt1700_kbd.cpp", + MAME_DIR .. "src/mame/machine/itt1700_kbd.h", + MAME_DIR .. "src/mame/drivers/itt3030.cpp", + MAME_DIR .. "src/mame/drivers/itt9216.cpp", + MAME_DIR .. "src/mame/drivers/jade.cpp", + MAME_DIR .. "src/mame/drivers/jonos.cpp", + MAME_DIR .. "src/mame/drivers/krokha.cpp", + MAME_DIR .. "src/mame/drivers/kron.cpp", + MAME_DIR .. "src/mame/drivers/lee1214.cpp", + MAME_DIR .. "src/mame/drivers/learnwin.cpp", + MAME_DIR .. "src/mame/drivers/lft.cpp", + MAME_DIR .. "src/mame/drivers/lg-dvd.cpp", + MAME_DIR .. "src/mame/drivers/lola8a.cpp", + MAME_DIR .. "src/mame/drivers/lilith.cpp", + MAME_DIR .. "src/mame/drivers/m3.cpp", + MAME_DIR .. "src/mame/drivers/mccpm.cpp", + MAME_DIR .. "src/mame/drivers/mes.cpp", + MAME_DIR .. "src/mame/drivers/mfabfz.cpp", + MAME_DIR .. "src/mame/drivers/mice.cpp", + MAME_DIR .. "src/mame/drivers/micral.cpp", + MAME_DIR .. "src/mame/drivers/micro20.cpp", + MAME_DIR .. "src/mame/drivers/micromon.cpp", + MAME_DIR .. "src/mame/drivers/micronic.cpp", + MAME_DIR .. "src/mame/includes/micronic.h", + MAME_DIR .. "src/mame/drivers/microterm.cpp", + MAME_DIR .. "src/mame/drivers/microterm_f8.cpp", + MAME_DIR .. "src/mame/drivers/mightyframe.cpp", + MAME_DIR .. "src/mame/drivers/milwaukee.cpp", + MAME_DIR .. "src/mame/drivers/mini2440.cpp", + MAME_DIR .. "src/mame/drivers/miniframe.cpp", + MAME_DIR .. "src/mame/drivers/minitel_2_rpic.cpp", + MAME_DIR .. "src/mame/drivers/mmd1.cpp", + MAME_DIR .. "src/mame/drivers/mod8.cpp", + MAME_DIR .. "src/mame/drivers/modellot.cpp", + MAME_DIR .. "src/mame/drivers/molecular.cpp", + MAME_DIR .. "src/mame/drivers/monon_color.cpp", + MAME_DIR .. "src/mame/drivers/ms0515.cpp", + MAME_DIR .. "src/mame/drivers/ms9540.cpp", + MAME_DIR .. "src/mame/drivers/mstation.cpp", + MAME_DIR .. "src/mame/drivers/mt735.cpp", + MAME_DIR .. "src/mame/drivers/mx2178.cpp", + MAME_DIR .. "src/mame/drivers/mycom.cpp", + MAME_DIR .. "src/mame/drivers/myvision.cpp", + MAME_DIR .. "src/mame/machine/nl_hazelvid.cpp", + MAME_DIR .. "src/mame/machine/nl_hazelvid.h", + MAME_DIR .. "src/mame/drivers/notetaker.cpp", + MAME_DIR .. "src/mame/drivers/ngen.cpp", + MAME_DIR .. "src/mame/machine/ngen_kb.cpp", + MAME_DIR .. "src/mame/machine/ngen_kb.h", + MAME_DIR .. "src/mame/drivers/octopus.cpp", + MAME_DIR .. "src/mame/machine/octo_kbd.cpp", + MAME_DIR .. "src/mame/machine/octo_kbd.h", + MAME_DIR .. "src/mame/drivers/onyx.cpp", + MAME_DIR .. "src/mame/drivers/okean240.cpp", + MAME_DIR .. "src/mame/drivers/p8k.cpp", + MAME_DIR .. "src/mame/drivers/pegasus.cpp", + MAME_DIR .. "src/mame/drivers/pencil2.cpp", + MAME_DIR .. "src/mame/drivers/perq.cpp", + MAME_DIR .. "src/mame/drivers/pes.cpp", + MAME_DIR .. "src/mame/includes/pes.h", + MAME_DIR .. "src/mame/drivers/picno.cpp", + MAME_DIR .. "src/mame/drivers/pipbug.cpp", + MAME_DIR .. "src/mame/drivers/plan80.cpp", + MAME_DIR .. "src/mame/drivers/pm68k.cpp", + MAME_DIR .. "src/mame/drivers/pockchal.cpp", + MAME_DIR .. "src/mame/drivers/powerstack.cpp", + MAME_DIR .. "src/mame/drivers/proteus3.cpp", + MAME_DIR .. "src/mame/drivers/pt68k4.cpp", + MAME_DIR .. "src/mame/drivers/ptcsol.cpp", + MAME_DIR .. "src/mame/drivers/pulsar.cpp", + MAME_DIR .. "src/mame/drivers/pv9234.cpp", + MAME_DIR .. "src/mame/drivers/qtsbc.cpp", + MAME_DIR .. "src/mame/drivers/rd100.cpp", + MAME_DIR .. "src/mame/drivers/rvoice.cpp", + MAME_DIR .. "src/mame/drivers/sacstate.cpp", + MAME_DIR .. "src/mame/drivers/sartorius.cpp", + MAME_DIR .. "src/mame/drivers/sbrain.cpp", + MAME_DIR .. "src/mame/drivers/seattlecmp.cpp", + MAME_DIR .. "src/mame/drivers/sh4robot.cpp", + MAME_DIR .. "src/mame/drivers/sansa_fuze.cpp", + MAME_DIR .. "src/mame/drivers/scopus.cpp", + MAME_DIR .. "src/mame/drivers/shine.cpp", + MAME_DIR .. "src/mame/drivers/si5500.cpp", + MAME_DIR .. "src/mame/drivers/softbox.cpp", + MAME_DIR .. "src/mame/includes/softbox.h", + MAME_DIR .. "src/mame/drivers/squale.cpp", + MAME_DIR .. "src/mame/drivers/solbourne.cpp", + MAME_DIR .. "src/mame/drivers/swyft.cpp", + MAME_DIR .. "src/mame/drivers/symbolics.cpp", + MAME_DIR .. "src/mame/drivers/sys2900.cpp", + MAME_DIR .. "src/mame/drivers/sys9002.cpp", + MAME_DIR .. "src/mame/drivers/systec.cpp", + MAME_DIR .. "src/mame/drivers/systel1.cpp", + MAME_DIR .. "src/mame/drivers/talkingbb.cpp", + MAME_DIR .. "src/mame/drivers/talkingfb.cpp", + MAME_DIR .. "src/mame/drivers/tasc.cpp", + MAME_DIR .. "src/mame/drivers/tavernie.cpp", + MAME_DIR .. "src/mame/drivers/tecnbras.cpp", + MAME_DIR .. "src/mame/drivers/telex1192.cpp", + MAME_DIR .. "src/mame/drivers/telex274.cpp", + MAME_DIR .. "src/mame/drivers/telex277d.cpp", + MAME_DIR .. "src/mame/drivers/terak.cpp", + MAME_DIR .. "src/mame/drivers/terco.cpp", + MAME_DIR .. "src/mame/drivers/terminal.cpp", + MAME_DIR .. "src/mame/drivers/textelcomp.cpp", + MAME_DIR .. "src/mame/drivers/ti630.cpp", + MAME_DIR .. "src/mame/drivers/tr175.cpp", + MAME_DIR .. "src/mame/drivers/trs80dt1.cpp", + MAME_DIR .. "src/mame/drivers/tsispch.cpp", + MAME_DIR .. "src/mame/includes/tsispch.h", + MAME_DIR .. "src/mame/drivers/tti.cpp", + MAME_DIR .. "src/mame/drivers/unistar.cpp", + MAME_DIR .. "src/mame/drivers/v6809.cpp", + MAME_DIR .. "src/mame/drivers/vector4.cpp", + MAME_DIR .. "src/mame/drivers/vectrix.cpp", + MAME_DIR .. "src/mame/drivers/vp60.cpp", + MAME_DIR .. "src/mame/includes/vp415.h", + MAME_DIR .. "src/mame/drivers/vp415.cpp", + MAME_DIR .. "src/mame/drivers/vsmilepro.cpp", + MAME_DIR .. "src/mame/drivers/wicat.cpp", + MAME_DIR .. "src/mame/drivers/xor100.cpp", + MAME_DIR .. "src/mame/includes/xor100.h", + MAME_DIR .. "src/mame/drivers/zms8085.cpp", + MAME_DIR .. "src/mame/drivers/zorba.cpp", + MAME_DIR .. "src/mame/includes/zorba.h", + MAME_DIR .. "src/mame/machine/zorbakbd.cpp", + MAME_DIR .. "src/mame/machine/zorbakbd.h", + MAME_DIR .. "src/mame/drivers/zt8802.cpp", + MAME_DIR .. "src/mame/drivers/testpat.cpp", + MAME_DIR .. "src/mame/machine/nl_tp1983.cpp", + MAME_DIR .. "src/mame/machine/nl_tp1985.cpp", + MAME_DIR .. "src/mame/drivers/palestra.cpp", + MAME_DIR .. "src/mame/machine/nl_palestra.cpp", + MAME_DIR .. "src/mame/drivers/mindset.cpp", +} + +end diff --git a/docs/release/scripts/target/mame/nl.lua b/docs/release/scripts/target/mame/nl.lua new file mode 100644 index 00000000000..d944ffc78f1 --- /dev/null +++ b/docs/release/scripts/target/mame/nl.lua @@ -0,0 +1,226 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- nl.lua +-- +-- Compiles all drivers using netlist code +-- Use make SUBTARGET=nl to build +-- +--------------------------------------------------------------------------- + + +-------------------------------------------------- +-- Specify all the CPU cores necessary for the +-- drivers referenced in nl.lst. +-------------------------------------------------- + +CPUS["Z80"] = true +CPUS["M6502"] = true +CPUS["M6800"] = true +CPUS["M6803"] = true +CPUS["M6809"] = true +CPUS["MCS48"] = true +CPUS["I8085"] = true +--CPUS["MCS51"] = true +--CPUS["M6800"] = true +--CPUS["M6809"] = true +--CPUS["M680X0"] = true +--CPUS["TMS9900"] = true +--CPUS["COP400"] = true +CPUS["F8"] = true + +-------------------------------------------------- +-- Specify all the sound cores necessary for the +-- drivers referenced in nl.lst. +-------------------------------------------------- + +--SOUNDS["SAMPLES"] = true +SOUNDS["DAC"] = true +SOUNDS["DISCRETE"] = true +SOUNDS["AY8910"] = true +SOUNDS["MSM5205"] = true +--SOUNDS["ASTROCADE"] = true +SOUNDS["TMS5220"] = true +--SOUNDS["OKIM6295"] = true +--SOUNDS["HC55516"] = true +--SOUNDS["YM3812"] = true +--SOUNDS["CEM3394"] = true +--SOUNDS["VOTRAX"] = true +SOUNDS["BEEP"] = true +SOUNDS["VOLT_REG"] = true +SOUNDS["SPEAKER"] = true + +-------------------------------------------------- +-- specify available video cores +-------------------------------------------------- + +VIDEOS["FIXFREQ"] = true + +-------------------------------------------------- +-- specify available machine cores +-------------------------------------------------- + +MACHINES["INPUT_MERGER"] = true +MACHINES["NETLIST"] = true +MACHINES["Z80DMA"] = true +MACHINES["Z80DAISY"] = true +MACHINES["GEN_LATCH"] = true +MACHINES["AY31015"] = true +MACHINES["KB3600"] = true +MACHINES["COM8116"] = true + +MACHINES["TTL74145"] = true +MACHINES["TTL74259"] = true +MACHINES["6522VIA"] = true + +MACHINES["6821PIA"] = true +MACHINES["I8255"] = true +MACHINES["WATCHDOG"] = true +MACHINES["EEPROMDEV"] = true +--MACHINES["TTL74148"] = true +--MACHINES["TTL74153"] = true +--MACHINES["TTL7474"] = true +--MACHINES["RIOT6532"] = true +--MACHINES["PIT8253"] = true +--MACHINES["Z80CTC"] = true +--MACHINES["68681"] = true +--MACHINES["BANKDEV"] = true +MACHINES["F3853"] = true + +-------------------------------------------------- +-- specify available bus cores +-------------------------------------------------- + +-- not needed by nl.lua but build system wants at least one bus +BUSES["CENTRONICS"] = true + +-------------------------------------------------- +-- This is the list of files that are necessary +-- for building all of the drivers referenced +-- in nl.lst +-------------------------------------------------- + +function createProjects_mame_nl(_target, _subtarget) + project ("mame_netlist") + targetsubdir(_target .."_" .. _subtarget) + kind (LIBTYPE) + uuid (os.uuid("drv-mame-nl")) + addprojectflags() + precompiledheaders() + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/lib/netlist", + MAME_DIR .. "src/mame", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + GEN_DIR .. "mame/layout", + ext_includedir("rapidjson"), + } + +files{ + MAME_DIR .. "src/mame/drivers/pong.cpp", + MAME_DIR .. "src/mame/machine/nl_pong.cpp", + MAME_DIR .. "src/mame/machine/nl_pong.h", + MAME_DIR .. "src/mame/machine/nl_pongd.cpp", + MAME_DIR .. "src/mame/machine/nl_pongd.h", + MAME_DIR .. "src/mame/machine/nl_breakout.cpp", + MAME_DIR .. "src/mame/machine/nl_breakout.h", + MAME_DIR .. "src/mame/machine/nl_rebound.cpp", + MAME_DIR .. "src/mame/machine/nl_rebound.h", + MAME_DIR .. "src/mame/machine/nl_hazelvid.cpp", + MAME_DIR .. "src/mame/machine/nl_hazelvid.h", + + MAME_DIR .. "src/mame/drivers/atarittl.cpp", + MAME_DIR .. "src/mame/machine/nl_stuntcyc.cpp", + MAME_DIR .. "src/mame/machine/nl_stuntcyc.h", + MAME_DIR .. "src/mame/machine/nl_gtrak10.cpp", + MAME_DIR .. "src/mame/machine/nl_gtrak10.h", + + MAME_DIR .. "src/mame/drivers/prodigy.cpp", + MAME_DIR .. "src/mame/machine/nl_prodigy.cpp", + MAME_DIR .. "src/mame/machine/nl_prodigy.h", + + MAME_DIR .. "src/mame/drivers/hazeltin.cpp", + + MAME_DIR .. "src/mame/drivers/1942.cpp", + MAME_DIR .. "src/mame/includes/1942.h", + MAME_DIR .. "src/mame/video/1942.cpp", + + MAME_DIR .. "src/mame/drivers/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/drivers/mario.cpp", + MAME_DIR .. "src/mame/includes/mario.h", + MAME_DIR .. "src/mame/audio/nl_mario.cpp", + MAME_DIR .. "src/mame/audio/nl_mario.h", + MAME_DIR .. "src/mame/video/mario.cpp", + MAME_DIR .. "src/mame/audio/mario.cpp", + + MAME_DIR .. "src/mame/drivers/m62.cpp", + MAME_DIR .. "src/mame/includes/m62.h", + MAME_DIR .. "src/mame/video/m62.cpp", + MAME_DIR .. "src/mame/audio/irem.cpp", + MAME_DIR .. "src/mame/audio/irem.h", + MAME_DIR .. "src/mame/audio/nl_kidniki.cpp", + MAME_DIR .. "src/mame/audio/nl_kidniki.h", + + MAME_DIR .. "src/mame/audio/cheekyms.cpp", + MAME_DIR .. "src/mame/audio/cheekyms.h", + MAME_DIR .. "src/mame/audio/nl_cheekyms.cpp", + MAME_DIR .. "src/mame/audio/nl_cheekyms.h", + MAME_DIR .. "src/mame/drivers/cheekyms.cpp", + MAME_DIR .. "src/mame/includes/cheekyms.h", + MAME_DIR .. "src/mame/video/cheekyms.cpp", + + MAME_DIR .. "src/mame/audio/nl_zac1b11142.cpp", + MAME_DIR .. "src/mame/audio/nl_zacc1b11142.h", + MAME_DIR .. "src/mame/audio/zaccaria.cpp", + MAME_DIR .. "src/mame/audio/zaccaria.h", + MAME_DIR .. "src/mame/drivers/zaccaria.cpp", + MAME_DIR .. "src/mame/includes/zaccaria.h", + MAME_DIR .. "src/mame/video/zaccaria.cpp", + + MAME_DIR .. "src/mame/drivers/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/testpat.cpp", + MAME_DIR .. "src/mame/machine/nl_tp1983.cpp", + MAME_DIR .. "src/mame/machine/nl_tp1983.h", + MAME_DIR .. "src/mame/machine/nl_tp1985.cpp", + MAME_DIR .. "src/mame/machine/nl_tp1985.h", + + -- Skeletons ... + MAME_DIR .. "src/mame/drivers/a1supply.cpp", + MAME_DIR .. "src/mame/drivers/aleisttl.cpp", + MAME_DIR .. "src/mame/drivers/bailey.cpp", + MAME_DIR .. "src/mame/drivers/chicago.cpp", + MAME_DIR .. "src/mame/drivers/electra.cpp", + MAME_DIR .. "src/mame/drivers/exidyttl.cpp", + MAME_DIR .. "src/mame/drivers/fungames.cpp", + MAME_DIR .. "src/mame/drivers/meadwttl.cpp", + MAME_DIR .. "src/mame/drivers/monacogp.cpp", + MAME_DIR .. "src/mame/drivers/pse.cpp", + MAME_DIR .. "src/mame/drivers/ramtek.cpp", + MAME_DIR .. "src/mame/drivers/segattl.cpp", + MAME_DIR .. "src/mame/drivers/taitottl.cpp", + MAME_DIR .. "src/mame/drivers/usbilliards.cpp", +} +end + +function linkProjects_mame_nl(_target, _subtarget) + links { + "mame_netlist", + } +end diff --git a/docs/release/scripts/target/mame/tiny.lua b/docs/release/scripts/target/mame/tiny.lua new file mode 100644 index 00000000000..2f62d3560bc --- /dev/null +++ b/docs/release/scripts/target/mame/tiny.lua @@ -0,0 +1,170 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- tiny.lua +-- +-- Small driver-specific example makefile +-- Use make SUBTARGET=tiny to build +-- +--------------------------------------------------------------------------- + + +-------------------------------------------------- +-- Specify all the CPU cores necessary for the +-- drivers referenced in tiny.lst. +-------------------------------------------------- + +CPUS["Z80"] = true +CPUS["M6502"] = true +CPUS["MCS48"] = true +CPUS["MCS51"] = true +CPUS["M6800"] = true +CPUS["M6805"] = true +CPUS["M6809"] = true +CPUS["M680X0"] = true +CPUS["TMS9900"] = true +CPUS["COP400"] = true + +-------------------------------------------------- +-- Specify all the sound cores necessary for the +-- drivers referenced in tiny.lst. +-------------------------------------------------- + +SOUNDS["SAMPLES"] = true +SOUNDS["DAC"] = true +SOUNDS["DISCRETE"] = true +SOUNDS["AY8910"] = true +SOUNDS["YM2151"] = true +SOUNDS["ASTROCADE"] = true +SOUNDS["TMS5220"] = true +SOUNDS["OKIM6295"] = true +SOUNDS["HC55516"] = true +SOUNDS["YM3812"] = true +SOUNDS["CEM3394"] = true +SOUNDS["VOTRAX"] = true +SOUNDS["VOLT_REG"] = true + +-------------------------------------------------- +-- specify available video cores +-------------------------------------------------- + +-------------------------------------------------- +-- specify available machine cores +-------------------------------------------------- + +MACHINES["6821PIA"] = true +MACHINES["ADC0808"] = true +MACHINES["TTL74148"] = true +MACHINES["TTL74153"] = true +MACHINES["TTL74157"] = true +MACHINES["TTL7474"] = true +MACHINES["TTL74259"] = true +MACHINES["RIOT6532"] = true +MACHINES["PIT8253"] = true +MACHINES["Z80CTC"] = true +MACHINES["Z80PIO"] = true +MACHINES["68681"] = true +MACHINES["BANKDEV"] = true +MACHINES["GEN_LATCH"] = true +MACHINES["INPUT_MERGER"] = true +MACHINES["OUTPUT_LATCH"] = true +MACHINES["TICKET"] = true +MACHINES["WATCHDOG"] = true +MACHINES["Z80DAISY"] = true + + +-------------------------------------------------- +-- specify available bus cores +-------------------------------------------------- + +BUSES["CENTRONICS"] = true + +-------------------------------------------------- +-- This is the list of files that are necessary +-- for building all of the drivers referenced +-- in tiny.lst +-------------------------------------------------- + +function createProjects_mame_tiny(_target, _subtarget) + project ("mame_tiny") + targetsubdir(_target .."_" .. _subtarget) + kind (LIBTYPE) + uuid (os.uuid("drv-mame-tiny")) + addprojectflags() + precompiledheaders() + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/mame", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + GEN_DIR .. "mame/layout", + } + +files{ + MAME_DIR .. "src/mame/drivers/carpolo.cpp", + MAME_DIR .. "src/mame/includes/carpolo.h", + MAME_DIR .. "src/mame/machine/carpolo.cpp", + MAME_DIR .. "src/mame/video/carpolo.cpp", + MAME_DIR .. "src/mame/drivers/circus.cpp", + MAME_DIR .. "src/mame/includes/circus.h", + MAME_DIR .. "src/mame/audio/circus.cpp", + MAME_DIR .. "src/mame/video/circus.cpp", + MAME_DIR .. "src/mame/drivers/exidy.cpp", + MAME_DIR .. "src/mame/includes/exidy.h", + MAME_DIR .. "src/mame/audio/exidy.cpp", + MAME_DIR .. "src/mame/audio/exidy.h", + MAME_DIR .. "src/mame/video/exidy.cpp", + MAME_DIR .. "src/mame/audio/exidy440.cpp", + MAME_DIR .. "src/mame/audio/exidy440.h", + MAME_DIR .. "src/mame/drivers/starfire.cpp", + MAME_DIR .. "src/mame/includes/starfire.h", + MAME_DIR .. "src/mame/video/starfire.cpp", + MAME_DIR .. "src/mame/drivers/vertigo.cpp", + MAME_DIR .. "src/mame/includes/vertigo.h", + MAME_DIR .. "src/mame/machine/vertigo.cpp", + MAME_DIR .. "src/mame/video/vertigo.cpp", + MAME_DIR .. "src/mame/drivers/victory.cpp", + MAME_DIR .. "src/mame/includes/victory.h", + MAME_DIR .. "src/mame/video/victory.cpp", + MAME_DIR .. "src/mame/audio/targ.cpp", + MAME_DIR .. "src/mame/drivers/astrocde.cpp", + MAME_DIR .. "src/mame/includes/astrocde.h", + MAME_DIR .. "src/mame/video/astrocde.cpp", + MAME_DIR .. "src/mame/drivers/gridlee.cpp", + MAME_DIR .. "src/mame/includes/gridlee.h", + MAME_DIR .. "src/mame/audio/gridlee.cpp", + MAME_DIR .. "src/mame/video/gridlee.cpp", + MAME_DIR .. "src/mame/drivers/williams.cpp", + MAME_DIR .. "src/mame/includes/williams.h", + MAME_DIR .. "src/mame/machine/williams.cpp", + MAME_DIR .. "src/mame/audio/williams.cpp", + MAME_DIR .. "src/mame/audio/williams.h", + MAME_DIR .. "src/mame/video/williams.cpp", + MAME_DIR .. "src/mame/drivers/gaelco.cpp", + MAME_DIR .. "src/mame/includes/gaelco.h", + MAME_DIR .. "src/mame/video/gaelco.cpp", + MAME_DIR .. "src/mame/machine/gaelcrpt.cpp", + MAME_DIR .. "src/mame/drivers/wrally.cpp", + MAME_DIR .. "src/mame/includes/wrally.h", + MAME_DIR .. "src/mame/machine/wrally.cpp", + MAME_DIR .. "src/mame/video/wrally.cpp", + MAME_DIR .. "src/mame/video/gaelco_wrally_sprites.cpp", + MAME_DIR .. "src/mame/video/gaelco_wrally_sprites.h", + MAME_DIR .. "src/mame/machine/gaelco_ds5002fp.cpp", + MAME_DIR .. "src/mame/machine/gaelco_ds5002fp.h", + MAME_DIR .. "src/mame/drivers/looping.cpp", + MAME_DIR .. "src/mame/drivers/supertnk.cpp", +} +end + +function linkProjects_mame_tiny(_target, _subtarget) + links { + "mame_tiny", + } +end diff --git a/docs/release/scripts/target/mame/virtual.lua b/docs/release/scripts/target/mame/virtual.lua new file mode 100644 index 00000000000..3cd2a980a60 --- /dev/null +++ b/docs/release/scripts/target/mame/virtual.lua @@ -0,0 +1,135 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- virtual.lua +-- +-- Virtual target makefile +-- +--------------------------------------------------------------------------- + +-------------------------------------------------- +-- specify available CPU cores +-------------------------------------------------- + +CPUS["M6502"] = true +CPUS["H6280"] = true +CPUS["M680X0"] = true +CPUS["MCS48"] = true +CPUS["SH"] = true +CPUS["Z80"] = true +CPUS["DSP16"] = true -- for qsound + +-------------------------------------------------- +-- specify available sound cores; some of these are +-- only for MAME and so aren't included +-------------------------------------------------- + +SOUNDS["AY8910"] = true +SOUNDS["C140"] = true +SOUNDS["C352"] = true +SOUNDS["C6280"] = true +SOUNDS["GB_SOUND"] = true +SOUNDS["ES5503"] = true +SOUNDS["ES5505"] = true +SOUNDS["IREMGA20"] = true +SOUNDS["K051649"] = true +SOUNDS["K053260"] = true +SOUNDS["K054539"] = true +SOUNDS["MULTIPCM"] = true +SOUNDS["NES_APU"] = true +SOUNDS["OKIM6258"] = true +SOUNDS["OKIM6295"] = true +SOUNDS["POKEY"] = true +SOUNDS["QSOUND"] = true +SOUNDS["RF5C68"] = true +SOUNDS["SAA1099"] = true +SOUNDS["SCSP"] = true +SOUNDS["DAC"] = true +SOUNDS["VOLT_REG"] = true +SOUNDS["SEGAPCM"] = true +SOUNDS["SN76496"] = true +SOUNDS["UPD7759"] = true +SOUNDS["WAVE"] = true +SOUNDS["X1_010"] = true +SOUNDS["Y8950"] = true +SOUNDS["YM2151"] = true +SOUNDS["YM2203"] = true +SOUNDS["YM2413"] = true +SOUNDS["YM2608"] = true +SOUNDS["YM2610"] = true +SOUNDS["YM2612"] = true +SOUNDS["YM3526"] = true +SOUNDS["YM3812"] = true +SOUNDS["YMF262"] = true +SOUNDS["YMF271"] = true +SOUNDS["YMF278"] = true +SOUNDS["YMF278B"] = true +SOUNDS["YMZ280B"] = true + +-------------------------------------------------- +-- specify available video cores +-------------------------------------------------- + + +-------------------------------------------------- +-- specify available machine cores +-------------------------------------------------- +MACHINES["LDV1000"] = true +MACHINES["LDPR8210"] = true +MACHINES["Z80DAISY"] = true + +-------------------------------------------------- +-- specify available bus cores +-------------------------------------------------- + + +-------------------------------------------------- +-- this is the driver library that +-- comprise the virtual drivers +-------------------------------------------------- +function linkProjects_mame_virtual(_target, _subtarget) + links { + "virtual", + } +end + +function createVirtualProjects(_target, _subtarget, _name) + project (_name) + targetsubdir(_target .."_" .. _subtarget) + kind (LIBTYPE) + uuid (os.uuid("drv-" .. _target .."_" .. _subtarget .. "_" .._name)) + addprojectflags() + precompiledheaders() + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/devices", + MAME_DIR .. "src/mame", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + GEN_DIR .. "mame/layout", + } + + includedirs { + ext_includedir("zlib"), + ext_includedir("flac"), + } +end + +function createProjects_mame_virtual(_target, _subtarget) + createVirtualProjects(_target, _subtarget, "virtual") + files { + MAME_DIR .. "src/mame/drivers/vgmplay.cpp", + MAME_DIR .. "src/mame/drivers/ldplayer.cpp", + MAME_DIR .. "src/mame/machine/mega32x.cpp", + MAME_DIR .. "src/mame/machine/mega32x.h", + MAME_DIR .. "src/mame/audio/vboy.cpp", + MAME_DIR .. "src/mame/audio/vboy.h", + MAME_DIR .. "src/mame/audio/wswan.cpp", + MAME_DIR .. "src/mame/audio/wswan.h", + } +end diff --git a/docs/release/scripts/target/zexall/zexall.lua b/docs/release/scripts/target/zexall/zexall.lua new file mode 100644 index 00000000000..008ea252d0c --- /dev/null +++ b/docs/release/scripts/target/zexall/zexall.lua @@ -0,0 +1,13 @@ +STANDALONE = true + +CPUS["Z80"] = true + +function standalone() + files{ + MAME_DIR .. "src/zexall/main.cpp", + MAME_DIR .. "src/zexall/zexall.cpp", + MAME_DIR .. "src/zexall/zexall.h", + MAME_DIR .. "src/zexall/interface.h", + } +end + diff --git a/docs/release/scripts/toolchain.lua b/docs/release/scripts/toolchain.lua new file mode 100644 index 00000000000..e596c06bfb0 --- /dev/null +++ b/docs/release/scripts/toolchain.lua @@ -0,0 +1,1129 @@ +-- +-- Copyright 2010-2015 Branimir Karadzic. All rights reserved. +-- License: https://github.com/bkaradzic/bx#license-bsd-2-clause +-- + +local naclToolchain = "" +local toolchainPrefix = "" + +if _OPTIONS['TOOLCHAIN'] then + toolchainPrefix = _OPTIONS["TOOLCHAIN"] +end + +newoption { + trigger = "gcc", + value = "GCC", + description = "Choose GCC flavor", + allowed = { + { "android-arm", "Android - ARM" }, + { "android-arm64", "Android - ARM64" }, + { "android-mips", "Android - MIPS" }, + { "android-mips64","Android - MIPS64" }, + { "android-x86", "Android - x86" }, + { "android-x64", "Android - x64" }, + { "asmjs", "Emscripten/asm.js" }, + { "freebsd", "FreeBSD" }, + { "freebsd-clang", "FreeBSD (clang compiler)"}, + { "linux-gcc", "Linux (GCC compiler)" }, + { "linux-clang", "Linux (Clang compiler)" }, + { "ios-arm", "iOS - ARM" }, + { "ios-simulator", "iOS - Simulator" }, + { "mingw32-gcc", "MinGW32" }, + { "mingw64-gcc", "MinGW64" }, + { "mingw-clang", "MinGW (clang compiler)" }, + { "netbsd", "NetBSD" }, + { "netbsd-clang", "NetBSD (clang compiler)"}, + { "openbsd", "OpenBSD" }, + { "osx", "OSX (GCC compiler)" }, + { "osx-clang", "OSX (Clang compiler)" }, + { "pnacl", "Native Client - PNaCl" }, + { "rpi", "RaspberryPi" }, + { "solaris", "Solaris" }, + { "steamlink", "Steam Link" }, + { "ci20", "Creator-Ci20" }, + }, +} + +newoption { + trigger = "vs", + value = "toolset", + description = "Choose VS toolset", + allowed = { + { "intel-14", "Intel C++ Compiler XE 14.0" }, + { "intel-15", "Intel C++ Compiler XE 15.0" }, + { "vs2015-clang", "Clang 3.6" }, + { "vs2015-xp", "Visual Studio 2015 targeting XP" }, + { "vs2017-clang", "Clang 3.6" }, + { "vs2017-xp", "Visual Studio 2017 targeting XP" }, + { "winphone8", "Windows Phone 8.0" }, + { "winphone81", "Windows Phone 8.1" }, + { "winstore81", "Windows Store 8.1" }, + { "winstore82", "Universal Windows App" } + }, +} + +newoption { + trigger = "xcode", + value = "xcode_target", + description = "Choose XCode target", + allowed = { + { "osx", "OSX" }, + { "ios", "iOS" }, + } +} + +newoption { + trigger = "with-android", + value = "#", + description = "Set Android platform version (default: android-21).", +} + +newoption { + trigger = "with-ios", + value = "#", + description = "Set iOS target version (default: 8.0).", +} + +newoption { + trigger = "with-windows", + value = "#", + description = "Set the Windows target platform version (default: 10.0.10240.0).", +} + +function toolchain(_buildDir, _subDir) + + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION) + + local androidPlatform = "android-24" + if _OPTIONS["with-android"] then + androidPlatform = "android-" .. _OPTIONS["with-android"] + elseif _OPTIONS["PLATFORM"]:find("64", -2) then + androidPlatform = "android-24" + end + + local iosPlatform = "" + if _OPTIONS["with-ios"] then + iosPlatform = _OPTIONS["with-ios"] + end + + local windowsPlatform = "10.0.10240.0" + if _OPTIONS["with-windows"] then + windowsPlatform = _OPTIONS["with-windows"] + end + + if _ACTION == "gmake" or _ACTION == "ninja" then + + if nil == _OPTIONS["gcc"] or nil == _OPTIONS["gcc_version"] then + print("GCC flavor and version must be specified!") + os.exit(1) + end + + if string.find(_OPTIONS["gcc"], "android") then + -- 64-bit android platform requires >= 21 + if _OPTIONS["PLATFORM"]:find("64", -2) and tonumber(androidPlatform:sub(9)) < 21 then + error("64-bit android requires platform 21 or higher") + end + if not os.getenv("ANDROID_NDK_ROOT") then + print("Set ANDROID_NDK_ROOT environment variable.") + end + if not os.getenv("ANDROID_NDK_LLVM") then + print("Set ANDROID_NDK_LLVM envrionment variable.") + end + platform_ndk_env = "ANDROID_NDK_" .. _OPTIONS["PLATFORM"]:upper() + if not os.getenv(platform_ndk_env) then + print("Set " .. platform_ndk_env .. " environment variable.") + end + + local platformToolchainMap = { + ['arm'] = "arm-linux-androideabi", + ['arm64'] = "aarch64-linux-android", + ['mips64'] = "mips64el-linux-android", + ['mips'] = "mipsel-linux-android", + ['x86'] = "i686-linux-android", + ['x64'] = "x86_64-linux-android", + } + + toolchainPrefix = os.getenv(platform_ndk_env) .. "/bin/" .. platformToolchainMap[_OPTIONS["PLATFORM"]] .. "-" + + premake.gcc.cc = "$(ANDROID_NDK_LLVM)/bin/clang" + premake.gcc.cxx = "$(ANDROID_NDK_LLVM)/bin/clang++" + premake.gcc.ar = toolchainPrefix .. "ar" + premake.gcc.llvm = true + + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-android-" .. _OPTIONS["PLATFORM"]) + end + + if "asmjs" == _OPTIONS["gcc"] then + + if not os.getenv("EMSCRIPTEN") then + print("Set EMSCRIPTEN enviroment variables.") + end + + premake.gcc.cc = "$(EMSCRIPTEN)/emcc" + premake.gcc.cxx = "$(EMSCRIPTEN)/em++" + premake.gcc.ar = "$(EMSCRIPTEN)/emar" + premake.gcc.llvm = true + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-asmjs") + end + + if "freebsd" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-freebsd") + end + + if "freebsd-clang" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-freebsd-clang") + end + + if "netbsd" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-netbsd") + end + + if "netbsd-clang" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-netbsd-clang") + end + + if "openbsd" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-openbsd") + end + + if "ios-arm" == _OPTIONS["gcc"] then + premake.gcc.cc = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" + premake.gcc.cxx = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++" + premake.gcc.ar = "ar" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-ios-arm") + end + + if "ios-simulator" == _OPTIONS["gcc"] then + premake.gcc.cc = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" + premake.gcc.cxx = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++" + premake.gcc.ar = "ar" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-ios-simulator") + end + + if "linux-gcc" == _OPTIONS["gcc"] then + -- Force gcc-4.2 on ubuntu-intrepid + if _OPTIONS["distro"]=="ubuntu-intrepid" then + premake.gcc.cc = "@gcc -V 4.2" + premake.gcc.cxx = "@g++-4.2" + end + premake.gcc.ar = "ar" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-linux") + end + + if "solaris" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-solaris") + end + + + if "linux-clang" == _OPTIONS["gcc"] then + premake.gcc.cc = "clang" + premake.gcc.cxx = "clang++" + premake.gcc.ar = "ar" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-linux-clang") + end + + if "steamlink" == _OPTIONS["gcc"] then + if not os.getenv("MARVELL_SDK_PATH") then + print("Set MARVELL_SDK_PATH envrionment variable.") + end + premake.gcc.cc = "$(MARVELL_SDK_PATH)/toolchain/bin/armv7a-cros-linux-gnueabi-gcc" + premake.gcc.cxx = "$(MARVELL_SDK_PATH)/toolchain/bin/armv7a-cros-linux-gnueabi-g++" + premake.gcc.ar = "$(MARVELL_SDK_PATH)/toolchain/bin/armv7a-cros-linux-gnueabi-ar" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-steamlink") + end + + if "rpi" == _OPTIONS["gcc"] then + if not os.getenv("RASPBERRY_SDK_PATH") then + print("Set RASPBERRY_SDK_PATH envrionment variable.") + end + premake.gcc.cc = "$(RASPBERRY_SDK_PATH)/bin/arm-linux-gnueabihf-gcc" + premake.gcc.cxx = "$(RASPBERRY_SDK_PATH)/bin/arm-linux-gnueabihf-g++" + premake.gcc.ar = "$(RASPBERRY_SDK_PATH)/bin/arm-linux-gnueabihf-ar" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-rpi") + end + + if "ci20" == _OPTIONS["gcc"] then + if not os.getenv("MIPS_LINUXGNU_ROOT") then + print("Set MIPS_LINUXGNU_ROOT envrionment variable.") + end + premake.gcc.cc = "$(MIPS_LINUXGNU_ROOT)/bin/mips-mti-linux-gnu-gcc" + premake.gcc.cxx = "$(MIPS_LINUXGNU_ROOT)/bin/mips-mti-linux-gnu-g++" + premake.gcc.ar = "$(MIPS_LINUXGNU_ROOT)/bin/mips-mti-linux-gnu-ar" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-ci20") + end + + if "mingw32-gcc" == _OPTIONS["gcc"] then + if not os.getenv("MINGW32") then + print("Set MINGW32 envrionment variable.") + end + if toolchainPrefix == nil or toolchainPrefix == "" then + toolchainPrefix = "$(MINGW32)/bin/i686-w64-mingw32-" + end + premake.gcc.cc = toolchainPrefix .. "gcc" + premake.gcc.cxx = toolchainPrefix .. "g++" +-- work around GCC 4.9.2 not having proper linker for LTO=1 usage + local version_4_ar = str_to_version(_OPTIONS["gcc_version"]) + if (version_4_ar < 50000) then + premake.gcc.ar = toolchainPrefix .. "ar" + end + if (version_4_ar >= 50000) then + premake.gcc.ar = toolchainPrefix .. "gcc-ar" + end + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-mingw32-gcc") + end + + if "mingw64-gcc" == _OPTIONS["gcc"] then + if not os.getenv("MINGW64") then + print("Set MINGW64 envrionment variable.") + end + if toolchainPrefix == nil or toolchainPrefix == "" then + toolchainPrefix = "$(MINGW64)/bin/x86_64-w64-mingw32-" + end + premake.gcc.cc = toolchainPrefix .. "gcc" + premake.gcc.cxx = toolchainPrefix .. "g++" +-- work around GCC 4.9.2 not having proper linker for LTO=1 usage + local version_4_ar = str_to_version(_OPTIONS["gcc_version"]) + if (version_4_ar < 50000) then + premake.gcc.ar = toolchainPrefix .. "ar" + end + if (version_4_ar >= 50000) then + premake.gcc.ar = toolchainPrefix .. "gcc-ar" + end + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-mingw64-gcc") + end + + if "mingw-clang" == _OPTIONS["gcc"] then + premake.gcc.cc = "clang" + premake.gcc.cxx = "clang++" + premake.gcc.ar = "llvm-ar" + premake.gcc.llvm = true + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-mingw-clang") + end + + if "osx" == _OPTIONS["gcc"] then + if os.is("linux") then + premake.gcc.cc = toolchainPrefix .. "clang" + premake.gcc.cxx = toolchainPrefix .. "clang++" + premake.gcc.ar = toolchainPrefix .. "ar" + end + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-osx") + end + + if "osx-clang" == _OPTIONS["gcc"] then + premake.gcc.cc = toolchainPrefix .. "clang" + premake.gcc.cxx = toolchainPrefix .. "clang++" + premake.gcc.ar = toolchainPrefix .. "ar" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-osx-clang") + end + + if "pnacl" == _OPTIONS["gcc"] then + + if not os.getenv("NACL_SDK_ROOT") then + print("Set NACL_SDK_ROOT enviroment variables.") + end + + naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_pnacl/bin/pnacl-" + if os.is("macosx") then + naclToolchain = "$(NACL_SDK_ROOT)/toolchain/mac_pnacl/bin/pnacl-" + elseif os.is("linux") then + naclToolchain = "$(NACL_SDK_ROOT)/toolchain/linux_pnacl/bin/pnacl-" + end + + premake.gcc.cc = naclToolchain .. "clang" + premake.gcc.cxx = naclToolchain .. "clang++" + premake.gcc.ar = naclToolchain .. "ar" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-pnacl") + end + + if "rpi" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-rpi") + end + + if "ci20" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-ci20") + end + elseif _ACTION == "vs2015" or _ACTION == "vs2015-fastbuild" then + + if (_ACTION .. "-clang") == _OPTIONS["vs"] then + premake.vstudio.toolset = ("LLVM-" .. _ACTION) + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-clang") + end + + if "winphone8" == _OPTIONS["vs"] then + premake.vstudio.toolset = "v110_wp80" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winphone8") + end + + if "winphone81" == _OPTIONS["vs"] then + premake.vstudio.toolset = "v120_wp81" + platforms { "ARM" } + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winphone81") + end + + if "winstore81" == _OPTIONS["vs"] then + premake.vstudio.toolset = "v120" + premake.vstudio.storeapp = "8.1" + platforms { "ARM" } + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winstore81") + end + + if "winstore82" == _OPTIONS["vs"] then + premake.vstudio.toolset = "v140" + premake.vstudio.storeapp = "8.2" + + -- If needed, depending on GENie version, enable file-level configuration + if enablefilelevelconfig ~= nil then + enablefilelevelconfig() + end + + local action = premake.action.current() + action.vstudio.windowsTargetPlatformVersion = windowsPlatform + + platforms { "ARM" } + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winstore82") + end + + if "intel-14" == _OPTIONS["vs"] then + premake.vstudio.toolset = "Intel C++ Compiler XE 14.0" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-intel") + end + + if "intel-15" == _OPTIONS["vs"] then + premake.vstudio.toolset = "Intel C++ Compiler XE 15.0" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-intel") + end + + if ("vs2015-xp") == _OPTIONS["vs"] then + premake.vstudio.toolset = ("v140_xp") + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-xp") + end + elseif _ACTION == "vs2017" or _ACTION == "vs2017-fastbuild" then + + if (_ACTION .. "-clang") == _OPTIONS["vs"] then + premake.vstudio.toolset = ("LLVM-" .. _ACTION) + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-clang") + end + + if "winphone8" == _OPTIONS["vs"] then + premake.vstudio.toolset = "v110_wp80" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winphone8") + end + + if "winphone81" == _OPTIONS["vs"] then + premake.vstudio.toolset = "v120_wp81" + platforms { "ARM" } + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winphone81") + end + + if "winstore81" == _OPTIONS["vs"] then + premake.vstudio.toolset = "v120" + premake.vstudio.storeapp = "8.1" + platforms { "ARM" } + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winstore81") + end + + if "winstore82" == _OPTIONS["vs"] then + premake.vstudio.toolset = "v141" + premake.vstudio.storeapp = "8.2" + + -- If needed, depending on GENie version, enable file-level configuration + if enablefilelevelconfig ~= nil then + enablefilelevelconfig() + end + + local action = premake.action.current() + action.vstudio.windowsTargetPlatformVersion = windowsPlatform + + platforms { "ARM" } + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winstore82") + end + + if "intel-14" == _OPTIONS["vs"] then + premake.vstudio.toolset = "Intel C++ Compiler XE 14.0" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-intel") + end + + if "intel-15" == _OPTIONS["vs"] then + premake.vstudio.toolset = "Intel C++ Compiler XE 15.0" + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-intel") + end + + if ("vs2017-xp") == _OPTIONS["vs"] then + premake.vstudio.toolset = ("v141_xp") + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-xp") + end + elseif _ACTION == "xcode4" then + + + if "osx" == _OPTIONS["xcode"] then + premake.xcode.toolset = "macosx" + location (path.join(_buildDir, "projects", _ACTION .. "-osx")) + + elseif "ios" == _OPTIONS["xcode"] then + premake.xcode.toolset = "iphoneos" + location (path.join(_buildDir, "projects", _ACTION .. "-ios")) + end + end + + if (_OPTIONS["CC"] ~= nil) then + premake.gcc.cc = _OPTIONS["CC"] + end + if (_OPTIONS["CXX"] ~= nil) then + premake.gcc.cxx = _OPTIONS["CXX"] + end + if (_OPTIONS["LD"] ~= nil) then + premake.gcc.ld = _OPTIONS["LD"] + end + + configuration {} -- reset configuration + + + configuration { "x32", "vs*" } + objdir (_buildDir .. _ACTION .. "/obj") + + configuration { "x32", "vs*", "Release" } + targetdir (_buildDir .. _ACTION .. "/bin/x32/Release") + + configuration { "x32", "vs*", "Debug" } + targetdir (_buildDir .. _ACTION .. "/bin/x32/Debug") + + configuration { "x64", "vs*" } + defines { "_WIN64" } + objdir (_buildDir .. _ACTION .. "/obj") + + configuration { "x64", "vs*", "Release" } + targetdir (_buildDir .. _ACTION .. "/bin/x64/Release") + + configuration { "x64", "vs*", "Debug" } + targetdir (_buildDir .. _ACTION .. "/bin/x64/Debug") + + configuration { "ARM", "vs*" } + targetdir (_buildDir .. _ACTION .. "/bin/ARM") + objdir (_buildDir .. _ACTION .. "/obj") + + configuration { "ARM", "vs*", "Release" } + targetdir (_buildDir .. _ACTION .. "/bin/ARM/Release") + + configuration { "ARM", "vs*", "Debug" } + targetdir (_buildDir .. _ACTION .. "/bin/ARM/Debug") + + configuration { "x32", "vs*-clang" } + objdir (_buildDir .. _ACTION .. "-clang/obj") + + configuration { "x32", "vs*-clang", "Release" } + targetdir (_buildDir .. _ACTION .. "-clang/bin/x32/Release") + + configuration { "x32", "vs*-clang", "Debug" } + targetdir (_buildDir .. _ACTION .. "-clang/bin/x32/Debug") + + configuration { "x64", "vs*-clang" } + objdir (_buildDir .. _ACTION .. "-clang/obj") + + configuration { "x64", "vs*-clang", "Release" } + targetdir (_buildDir .. _ACTION .. "-clang/bin/x64/Release") + + configuration { "x64", "vs*-clang", "Debug" } + targetdir (_buildDir .. _ACTION .. "-clang/bin/x64/Debug") + + configuration { "vs*-clang" } + buildoptions { + "-Qunused-arguments", + } + + configuration { "winphone8* or winstore8*" } + removeflags { + "StaticRuntime", + "NoExceptions", + } + flags { + "WinMain" + } + + configuration { "mingw*" } + defines { "WIN32" } + + configuration { "x32", "mingw32-gcc" } + objdir (_buildDir .. "mingw-gcc" .. "/obj") + buildoptions { "-m32" } + + configuration { "x32", "mingw32-gcc", "Release" } + targetdir (_buildDir .. "mingw-gcc" .. "/bin/x32/Release") + + configuration { "x32", "mingw32-gcc", "Debug" } + targetdir (_buildDir .. "mingw-gcc" .. "/bin/x32/Debug") + + configuration { "x64", "mingw64-gcc" } + objdir (_buildDir .. "mingw-gcc" .. "/obj") + buildoptions { "-m64" } + + configuration { "x64", "mingw64-gcc", "Release" } + targetdir (_buildDir .. "mingw-gcc" .. "/bin/x64/Release") + + configuration { "x64", "mingw64-gcc", "Debug" } + targetdir (_buildDir .. "mingw-gcc" .. "/bin/x64/Debug") + + configuration { "steamlink" } + objdir ( _buildDir .. "steamlink/obj") + defines { + "__STEAMLINK__=1", -- There is no special prefedined compiler symbol to detect SteamLink, faking it. + } + buildoptions { + "-marm", + "-mfloat-abi=hard", + "--sysroot=$(MARVELL_SDK_PATH)/rootfs", + } + linkoptions { + "-static-libgcc", + "-static-libstdc++", + "--sysroot=$(MARVELL_SDK_PATH)/rootfs", + } + + configuration { "steamlink", "Release" } + targetdir (_buildDir .. "steamlink/bin/Release") + + configuration { "steamlink", "Debug" } + targetdir (_buildDir .. "steamlink/bin/Debug") + + configuration { "rpi" } + objdir ( _buildDir .. "rpi/obj") + libdirs { + "$(RASPBERRY_SYSROOT)/opt/vc/lib", + } + includedirs { + "$(RASPBERRY_SYSROOT)/opt/vc/include", + "$(RASPBERRY_SYSROOT)/opt/vc/include/interface/vcos/pthreads", + "$(RASPBERRY_SYSROOT)/opt/vc/include/interface/vmcs_host/linux", + } + defines { + "__VCCOREVER__=0x04000000", -- There is no special prefedined compiler symbol to detect RaspberryPi, faking it. + } + linkoptions { + "-Wl,--gc-sections", + } + buildoptions { + "--sysroot=$(RASPBERRY_SYSROOT)", + } + linkoptions { + "-static-libgcc", + "-static-libstdc++", + "--sysroot=$(RASPBERRY_SYSROOT)", + } + + configuration { "rpi", "Release" } + targetdir (_buildDir .. "rpi/bin/Release") + + configuration { "rpi", "Debug" } + targetdir (_buildDir .. "rpi/bin/Debug") + + configuration { "ci20" } + objdir ( _buildDir .. "ci20/obj") + includedirs { + "$(CI20_SYSROOT)/mipsel-r2-hard/usr/include/c++/4.9", + "$(CI20_SYSROOT)/mipsel-r2-hard/usr/include/mipsel-linux-gnu/c++/4.9", + "$(CI20_SYSROOT)/mipsel-r2-hard/usr/include/c++/4.9/backward", + "$(CI20_SYSROOT)/mipsel-r2-hard/usr/lib/gcc/mipsel-linux-gnu/4.9/include", + "$(CI20_SYSROOT)/mipsel-r2-hard/usr/local/include", + "$(CI20_SYSROOT)/mipsel-r2-hard/usr/lib/gcc/mipsel-linux-gnu/4.9/include-fixed", + "$(CI20_SYSROOT)/mipsel-r2-hard/usr/include/mipsel-linux-gnu", + "$(CI20_SYSROOT)/mipsel-r2-hard/usr/include", + } + links { + "c", + "dl", + "m", + "gcc", + "stdc++", + "gcc_s", + } + + buildoptions { + "--sysroot=$(CI20_SYSROOT)", + "-Wno-pragmas", + "-Wno-undef", + "-EL", + "-mel", + "-march=mips32r2", + "-mllsc", + "-mabi=32", + } + linkoptions { + "--sysroot=$(CI20_SYSROOT)", + "-Wl,-rpath=$(CI20_SYSROOT)/mipsel-r2-hard/usr/lib/mipsel-linux-gnu/", + "-Wl,-rpath=$(CI20_SYSROOT)/mipsel-r2-hard/lib/mipsel-linux-gnu/", + "-nostdlib", + "-EL", + "-mel", + "-march=mips32r2", + "-mllsc", + "-mabi=32", + "$(MIPS_LINUXGNU_ROOT)/lib/gcc/mips-mti-linux-gnu/4.9.2/mipsel-r2-hard/lib/crtbegin.o", + "$(MIPS_LINUXGNU_ROOT)/lib/gcc/mips-mti-linux-gnu/4.9.2/mipsel-r2-hard/lib/crtend.o", + "-L$(CI20_SYSROOT)/mipsel-r2-hard/usr/lib/gcc/mipsel-linux-gnu/4.9", + "-L$(CI20_SYSROOT)/mipsel-r2-hard/usr/lib/mipsel-linux-gnu", + "-L$(CI20_SYSROOT)/mipsel-r2-hard/usr/lib", + "-L$(CI20_SYSROOT)/mipsel-r2-hard/lib/mipsel-linux-gnu", + "-L$(CI20_SYSROOT)/mipsel-r2-hard/lib", + } + + configuration { "ci20", "Release" } + targetdir (_buildDir .. "ci20/bin/Release") + + configuration { "ci20", "Debug" } + targetdir (_buildDir .. "ci20/bin/Debug") + + configuration { "mingw-clang" } + linkoptions { + "-Wl,--allow-multiple-definition", + } + + configuration { "x32", "mingw-clang" } + objdir ( _buildDir .. "mingw-clang/obj") + buildoptions { "-m32" } + + configuration { "x32", "mingw-clang", "Release" } + targetdir (_buildDir .. "mingw-clang/bin/x32/Release") + + configuration { "x32", "mingw-clang", "Debug" } + targetdir (_buildDir .. "mingw-clang/bin/x32/Debug") + + configuration { "x64", "mingw-clang" } + objdir (_buildDir .. "mingw-clang/obj") + buildoptions { "-m64" } + + configuration { "x64", "mingw-clang", "Release" } + targetdir (_buildDir .. "mingw-clang/bin/x64/Release") + + configuration { "x64", "mingw-clang", "Debug" } + targetdir (_buildDir .. "mingw-clang/bin/x64/Debug") + + configuration { "linux-gcc", "x32" } + objdir (_buildDir .. "linux_gcc" .. "/obj") + buildoptions { + "-m32", + } + + configuration { "linux-gcc", "x32", "Release" } + targetdir (_buildDir .. "linux_gcc" .. "/bin/x32/Release") + + configuration { "linux-gcc", "x32", "Debug" } + targetdir (_buildDir .. "linux_gcc" .. "/bin/x32/Debug") + + configuration { "linux-gcc", "x64" } + objdir (_buildDir .. "linux_gcc" .. "/obj") + buildoptions { + "-m64", + } + + configuration { "linux-gcc", "x64", "Release" } + targetdir (_buildDir .. "linux_gcc" .. "/bin/x64/Release") + + configuration { "linux-gcc", "x64", "Debug" } + targetdir (_buildDir .. "linux_gcc" .. "/bin/x64/Debug") + + configuration { "linux-clang", "x32" } + objdir (_buildDir .. "linux_clang" .. "/obj") + buildoptions { + "-m32", + } + + configuration { "linux-clang", "x32", "Release" } + targetdir (_buildDir .. "linux_clang" .. "/bin/x32/Release") + + configuration { "linux-clang", "x32", "Debug" } + targetdir (_buildDir .. "linux_clang" .. "/bin/x32/Debug") + + configuration { "linux-clang", "x64" } + objdir (_buildDir .. "linux_clang" .. "/obj") + buildoptions { + "-m64", + } + + configuration { "linux-clang", "x64", "Release" } + targetdir (_buildDir .. "linux_clang" .. "/bin/x64/Release") + + configuration { "linux-clang", "x64", "Debug" } + targetdir (_buildDir .. "linux_clang" .. "/bin/x64/Debug") + + configuration { "solaris", "x32" } + objdir (_buildDir .. "solaris" .. "/obj") + buildoptions { + "-m32", + } + + configuration { "solaris", "x32", "Release" } + targetdir (_buildDir .. "solaris" .. "/bin/x32/Release") + + configuration { "solaris", "x32", "Debug" } + targetdir (_buildDir .. "solaris" .. "/bin/x32/Debug") + + configuration { "solaris", "x64" } + objdir (_buildDir .. "solaris" .. "/obj") + buildoptions { + "-m64", + } + + configuration { "solaris", "x64", "Release" } + targetdir (_buildDir .. "solaris" .. "/bin/x64/Release") + + configuration { "solaris", "x64", "Debug" } + targetdir (_buildDir .. "solaris" .. "/bin/x64/Debug") + + configuration { "freebsd", "x32" } + objdir (_buildDir .. "freebsd" .. "/obj") + buildoptions { + "-m32", + } + + configuration { "freebsd", "x32", "Release" } + targetdir (_buildDir .. "freebsd" .. "/bin/x32/Release") + + configuration { "freebsd", "x32", "Debug" } + targetdir (_buildDir .. "freebsd" .. "/bin/x32/Debug") + + configuration { "freebsd", "x64" } + objdir (_buildDir .. "freebsd" .. "/obj") + buildoptions { + "-m64", + } + configuration { "freebsd", "x64", "Release" } + targetdir (_buildDir .. "freebsd" .. "/bin/x64/Release") + + configuration { "freebsd", "x64", "Debug" } + targetdir (_buildDir .. "freebsd" .. "/bin/x64/Debug") + + configuration { "netbsd", "x32" } + objdir (_buildDir .. "netbsd" .. "/obj") + buildoptions { + "-m32", + } + configuration { "netbsd", "x32", "Release" } + targetdir (_buildDir .. "netbsd" .. "/bin/x32/Release") + + configuration { "netbsd", "x32", "Debug" } + targetdir (_buildDir .. "netbsd" .. "/bin/x32/Debug") + + configuration { "netbsd", "x64" } + objdir (_buildDir .. "netbsd" .. "/obj") + buildoptions { + "-m64", + } + configuration { "netbsd", "x64", "Release" } + targetdir (_buildDir .. "netbsd" .. "/bin/x64/Release") + + configuration { "netbsd", "x64", "Debug" } + targetdir (_buildDir .. "netbsd" .. "/bin/x64/Debug") + + configuration { "openbsd", "x32" } + objdir (_buildDir .. "openbsd" .. "/obj") + buildoptions { + "-m32", + } + configuration { "openbsd", "x32", "Release" } + targetdir (_buildDir .. "openbsd" .. "/bin/x32/Release") + + configuration { "openbsd", "x32", "Debug" } + targetdir (_buildDir .. "openbsd" .. "/bin/x32/Debug") + + configuration { "openbsd", "x64" } + objdir (_buildDir .. "openbsd" .. "/obj") + buildoptions { + "-m64", + } + configuration { "openbsd", "x64", "Release" } + targetdir (_buildDir .. "openbsd" .. "/bin/x64/Release") + + configuration { "openbsd", "x64", "Debug" } + targetdir (_buildDir .. "openbsd" .. "/bin/x64/Debug") + + configuration { "android-*", "Release" } + targetdir (_buildDir .. "android/bin/" .. _OPTIONS["PLATFORM"] .. "/Release") + + configuration { "android-*", "Debug" } + targetdir (_buildDir .. "android/bin/" .. _OPTIONS["PLATFORM"] .. "/Debug") + + configuration { "android-*" } + objdir (_buildDir .. "android/obj/" .. _OPTIONS["PLATFORM"]) + includedirs { + MAME_DIR .. "3rdparty/bgfx/3rdparty/khronos", + "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libcxx/include", + "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/include", + "$(ANDROID_NDK_ROOT)/sysroot/usr/include", + "$(ANDROID_NDK_ROOT)/sources/android/support/include", + "$(ANDROID_NDK_ROOT)/sources/android/native_app_glue", + } + linkoptions { + "-nostdlib", + } + flags { + "NoImportLib", + } + links { + "c", + "dl", + "m", + "android", + "log", + "c++_static", + "c++abi", + "stdc++", + "gcc", + } + buildoptions_c { + "-Wno-strict-prototypes", + } + buildoptions { + "-fpic", + "-ffunction-sections", + "-funwind-tables", + "-fstack-protector-strong", + "-no-canonical-prefixes", + "-fno-integrated-as", + "-Wunused-value", + "-Wundef", + "-Wno-cast-align", + "-Wno-unknown-attributes", + "-Wno-macro-redefined", + "-DASIO_HAS_STD_STRING_VIEW", + "-Wno-unused-function", + } + linkoptions { + "-no-canonical-prefixes", + "-Wl,--no-undefined", + "-Wl,-z,noexecstack", + "-Wl,-z,relro", + "-Wl,-z,now", + } + + + configuration { "android-arm" } + libdirs { + "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm/usr/lib", + } + includedirs { + "$(ANDROID_NDK_ROOT)/sysroot/usr/include/arm-linux-androideabi", + } + buildoptions { + "-gcc-toolchain $(ANDROID_NDK_ARM)", + "-target armv7-none-linux-androideabi", + "-march=armv7-a", + "-mfloat-abi=softfp", + "-mfpu=vfpv3-d16", + "-mthumb", + } + links { + "unwind", + } + linkoptions { + "-gcc-toolchain $(ANDROID_NDK_ARM)", + "--sysroot=$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm/usr/lib/crtbegin_so.o", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm/usr/lib/crtend_so.o", + "-target armv7-none-linux-androideabi", + "-march=armv7-a", + "-mthumb", + } + + configuration { "android-arm64" } + libdirs { + "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/arm64-v8a", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm64/usr/lib64", + } + includedirs { + "$(ANDROID_NDK_ROOT)/sysroot/usr/include/aarch64-linux-android", + } + buildoptions { + "-gcc-toolchain $(ANDROID_NDK_ARM64)", + "-target aarch64-none-linux-android", + } + linkoptions { + "-gcc-toolchain $(ANDROID_NDK_ARM64)", + "--sysroot=$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm64", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm64/usr/lib/crtbegin_so.o", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm64/usr/lib/crtend_so.o", + "-target aarch64-none-linux-android", + } + + configuration { "android-x86" } + libdirs { + "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/x86", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86/usr/lib", + } + includedirs { + "$(ANDROID_NDK_ROOT)/sysroot/usr/include/i686-linux-android", + } + buildoptions { + "-gcc-toolchain $(ANDROID_NDK_X86)", + "-target i686-none-linux-android", + "-mssse3" + } + linkoptions { + "-gcc-toolchain $(ANDROID_NDK_X86)", + "-target i686-none-linux-android", + "-mssse3", + "--sysroot=$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86/usr/lib/crtbegin_so.o", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86/usr/lib/crtend_so.o", + } + + configuration { "android-x64" } + libdirs { + "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/x86_64", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86_64/usr/lib64", + } + includedirs { + "$(ANDROID_NDK_ROOT)/sysroot/usr/include/x86_64-linux-android", + } + buildoptions { + "-gcc-toolchain $(ANDROID_NDK_X64)", + "-target x86_64-none-linux-android", + } + linkoptions { + "-gcc-toolchain $(ANDROID_NDK_X64)", + "-target x86_64-none-linux-android", + "--sysroot=$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86_64", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86_64/usr/lib64/crtbegin_so.o", + "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86_64/usr/lib64/crtend_so.o", + } + + configuration { "asmjs" } + targetdir (_buildDir .. "asmjs" .. "/bin") + objdir (_buildDir .. "asmjs" .. "/obj") + includedirs { + "$(EMSCRIPTEN)/system/include", + "$(EMSCRIPTEN)/system/include/compat", + "$(EMSCRIPTEN)/system/include/libc", + "$(EMSCRIPTEN)/system/lib/libcxxabi/include", + } + buildoptions { + "-Wno-cast-align", + "-Wno-tautological-compare", + "-Wno-self-assign-field", + "-Wno-format-security", + "-Wno-inline-new-delete", + "-Wno-constant-logical-operand", + "-Wno-absolute-value", + "-Wno-unknown-warning-option", + "-Wno-extern-c-compat", + } + + configuration { "pnacl" } + buildoptions { + "-U__STRICT_ANSI__", -- strcasecmp, setenv, unsetenv,... + "-fno-stack-protector", + "-fdiagnostics-show-option", + "-fdata-sections", + "-ffunction-sections", + "-Wunused-value", + } + + configuration { "pnacl" } + buildoptions { + "-Wno-tautological-undefined-compare", + "-Wno-cast-align", + } + includedirs { + "$(NACL_SDK_ROOT)/include", + "$(NACL_SDK_ROOT)/include/pnacl", + } + + configuration { "pnacl" } + targetdir (_buildDir .. "pnacl" .. "/bin") + objdir (_buildDir .. "pnacl" .. "/obj") + + configuration { "pnacl", "Debug" } + libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Debug" } + + configuration { "pnacl", "Release" } + libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Release" } + + configuration { "osx*", "x32" } + objdir (_buildDir .. "osx_clang" .. "/obj") + buildoptions { + "-m32", + } + configuration { "osx*", "x32", "Release" } + targetdir (_buildDir .. "osx_clang" .. "/bin/x32/Release") + + configuration { "osx*", "x32", "Debug" } + targetdir (_buildDir .. "osx_clang" .. "/bin/x32/Debug") + + configuration { "osx*", "x64" } + objdir (_buildDir .. "osx_clang" .. "/obj") + buildoptions { + "-m64", "-DHAVE_IMMINTRIN_H=1", + } + + configuration { "osx*", "x64", "Release" } + targetdir (_buildDir .. "osx_clang" .. "/bin/x64/Release") + + configuration { "osx*", "x64", "Debug" } + targetdir (_buildDir .. "osx_clang" .. "/bin/x64/Debug") + + configuration { "ios-arm" } + targetdir (_buildDir .. "ios-arm" .. "/bin") + objdir (_buildDir .. "ios-arm" .. "/obj") + + configuration { "ios-simulator" } + targetdir (_buildDir .. "ios-simulator" .. "/bin") + objdir (_buildDir .. "ios-simulator" .. "/obj") + + configuration { "rpi" } + targetdir (_buildDir .. "rpi" .. "/bin") + objdir (_buildDir .. "rpi" .. "/obj") + + configuration {} -- reset configuration + + return true +end + +function strip() + if _OPTIONS["STRIP_SYMBOLS"]~="1" then + return true + end + + configuration { "osx-*" } + postbuildcommands { + "$(SILENT) echo Stripping symbols.", + "$(SILENT) " .. (_OPTIONS['TOOLCHAIN'] and toolchainPrefix) .. "strip \"$(TARGET)\"", + } + + configuration { "android-*" } + postbuildcommands { + "$(SILENT) echo Stripping symbols.", + "$(SILENT) " .. toolchainPrefix .. "strip -s \"$(TARGET)\"" + } + + configuration { "linux-* or rpi" } + postbuildcommands { + "$(SILENT) echo Stripping symbols.", + "$(SILENT) strip -s \"$(TARGET)\"" + } + + configuration { "mingw*", "x64" } + postbuildcommands { + "$(SILENT) echo Stripping symbols.", + "$(SILENT) " .. (_OPTIONS['TOOLCHAIN'] or "$(MINGW64)/bin/") .. "strip -s \"$(TARGET)\"", + } + configuration { "mingw*", "x32" } + postbuildcommands { + "$(SILENT) echo Stripping symbols.", + "$(SILENT) " .. (_OPTIONS['TOOLCHAIN'] or "$(MINGW32)/bin/") .. "strip -s \"$(TARGET)\"", + } + + configuration { "pnacl" } + postbuildcommands { + "$(SILENT) echo Running pnacl-finalize.", + "$(SILENT) " .. naclToolchain .. "finalize \"$(TARGET)\"" + } + + configuration { "asmjs" } + postbuildcommands { + "$(SILENT) echo Running asmjs finalize.", + "$(SILENT) $(EMSCRIPTEN)/emcc -O2 -s TOTAL_MEMORY=268435456 \"$(TARGET)\" -o \"$(TARGET)\".html" + -- ALLOW_MEMORY_GROWTH + } + + configuration {} -- reset configuration +end + diff --git a/docs/release/scripts/xslt/list-bios.xslt b/docs/release/scripts/xslt/list-bios.xslt new file mode 100644 index 00000000000..7add72b7aee --- /dev/null +++ b/docs/release/scripts/xslt/list-bios.xslt @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Prints BIOS options for machines and devices that have them. + +$ ./mame64d -listxml osborne1 saturn | xsltproc scripts/xslt/list-bios.xslt - +osborne1 Osborne-1 + vera BIOS version A + ver12 BIOS version 1.2 + ver121 BIOS version 1.2.1 + ver13 BIOS version 1.3 + ver14 BIOS version 1.4 + ver143 BIOS version 1.43 + *ver144 BIOS version 1.44 +saturn Saturn (USA) + 101a Overseas v1.01a (941115) + 100a Overseas v1.00a (941115) +satcdb Saturn CDB (CD Block) + *cdb106 Saturn CD Block 1.06 + cdb105 Saturn CD Block 1.05 + ygr022 Saturn CD Block (YGR022 315-5962) +ie15_terminal IE15 Terminal + *5chip 5-chip firmware (newer) + 6chip 6-chip firmware (older) +--> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:output method="text" omit-xml-declaration="yes" indent="no" /> + <xsl:template match="/"> + <xsl:for-each select="mame/machine[biosset]"> + <xsl:value-of select="concat(substring(concat(@name, ' '), 1, 16), ' ' , description, '
')" /> + <xsl:for-each select="biosset"> + <xsl:choose> + <xsl:when test="@default='yes'"> + <xsl:value-of select="' *'" /> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="' '" /> + </xsl:otherwise> + </xsl:choose> + <xsl:value-of select="concat(substring(concat(@name, ' '), 1, 16), ' ' , @description, '
')" /> + </xsl:for-each> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> diff --git a/docs/release/scripts/xslt/list-runnable-tree.xslt b/docs/release/scripts/xslt/list-runnable-tree.xslt new file mode 100644 index 00000000000..d9f5e7d8222 --- /dev/null +++ b/docs/release/scripts/xslt/list-runnable-tree.xslt @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Prints a tree of runnable machines, excluding non-runnable devices. + +Clones are indented below parents. May be slow for full builds. + +$ ./build/linux_clang/bin/x64/Debug/test64d -listxml | xsltproc scripts/xslt/list-runnable-tree.xslt - +bluehawk Blue Hawk + bluehawkn Blue Hawk (NTC) +flytiger Flying Tiger (set 1) + flytigera Flying Tiger (set 2) +gulfstrm Gulf Storm (set 1) + gulfstrma Gulf Storm (set 2) + gulfstrmb Gulf Storm (set 3) + gulfstrmk Gulf Storm (Korea) + gulfstrmm Gulf Storm (Media Shoji) +gundl94 Gun Dealer '94 + primella Primella +intlc44 INTELLEC 4/MOD 4 +intlc440 INTELLEC 4/MOD 40 +lastday The Last Day (set 1) + ddaydoo Chulgyeok D-Day (Korea) + lastdaya The Last Day (set 2) +pollux Pollux (set 1) + polluxa Pollux (set 2) + polluxa2 Pollux (set 3) + polluxn Pollux (Japan, NTC license, distributed by Atlus) +popbingo Pop Bingo +rshark R-Shark +sadari Sadari +superx Super-X (NTC) + superxm Super-X (Mitchell) +thehand The Hand + gotya Got-Ya (12/24/1981) +whousetc Test Console Serial #5 +--> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:output method="text" omit-xml-declaration="yes" indent="no" /> + <xsl:template match="/"> + <xsl:for-each select="mame/machine[(@runnable!='no') and not(@cloneof)]"> + <xsl:variable name="parent" select="@name" /> + <xsl:value-of select="concat(substring(concat(@name, ' '), 1, 16), ' ' , description, '
')" /> + <xsl:for-each select="../machine[(@runnable!='no') and (@cloneof=$parent)]"> + <xsl:value-of select="concat(' ', substring(concat(@name, ' '), 1, 16), ' ' , description, '
')" /> + </xsl:for-each> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> diff --git a/docs/release/scripts/xslt/list-runnable.xslt b/docs/release/scripts/xslt/list-runnable.xslt new file mode 100644 index 00000000000..685c13c93e6 --- /dev/null +++ b/docs/release/scripts/xslt/list-runnable.xslt @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Prints a table of runnable machines, excluding non-runnable devices. + +Useful for finding out exactly what systems are available in a custom +subtarget build using a small selection of driver sources. + +$ ./build/linux_clang/bin/x64/Debug/test64d -listxml | xsltproc scripts/xslt/list-runnable.xslt - +bluehawk Blue Hawk +bluehawkn Blue Hawk (NTC) +ddaydoo Chulgyeok D-Day (Korea) +flytiger Flying Tiger (set 1) +flytigera Flying Tiger (set 2) +gotya Got-Ya (12/24/1981) +gulfstrm Gulf Storm (set 1) +gulfstrma Gulf Storm (set 2) +gulfstrmb Gulf Storm (set 3) +gulfstrmk Gulf Storm (Korea) +gulfstrmm Gulf Storm (Media Shoji) +gundl94 Gun Dealer '94 +intlc44 INTELLEC 4/MOD 4 +intlc440 INTELLEC 4/MOD 40 +lastday The Last Day (set 1) +lastdaya The Last Day (set 2) +pollux Pollux (set 1) +polluxa Pollux (set 2) +polluxa2 Pollux (set 3) +polluxn Pollux (Japan, NTC license, distributed by Atlus) +popbingo Pop Bingo +primella Primella +rshark R-Shark +sadari Sadari +superx Super-X (NTC) +superxm Super-X (Mitchell) +thehand The Hand +whousetc Test Console Serial #5 +--> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:output method="text" omit-xml-declaration="yes" indent="no" /> + <xsl:template match="/"> + <xsl:for-each select="mame/machine[@runnable!='no']"> + <xsl:value-of select="concat(substring(concat(@name, ' '), 1, 16), ' ' , description, '
')" /> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> |