mirror of
https://github.com/holub/mame
synced 2025-04-19 15:11:37 +03:00
(nw) misc cleanup:
* subhuntr.cpp: S2636 PVI was seemingly uncommented by mistake in 93308b483e
- offsets and sound routing seem to be copy/pasted from somewhere
* phi: prettier config
* scramble.cpp, wallc.cpp: avoid some calls to subdevice<...>(...)
* makedep.py: open source files as UTF-8 (GitHub #5482)
* minimaws: be less trusting
This commit is contained in:
parent
f7afeebdaf
commit
9a6e04b01f
@ -5,7 +5,9 @@
|
||||
|
||||
from __future__ import with_statement
|
||||
|
||||
import io
|
||||
import sys
|
||||
|
||||
## to ignore include of emu.h add it always to list
|
||||
|
||||
files_included = ['src/emu/emu.h']
|
||||
@ -61,111 +63,111 @@ def add_rest_if_exists(root, srcfile,folder):
|
||||
|
||||
def parse_file_for_deps(root, srcfile, folder):
|
||||
try:
|
||||
fp = open(root + srcfile, 'r')
|
||||
fp = io.open(root + srcfile, 'r', encoding='utf-8')
|
||||
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:
|
||||
with fp:
|
||||
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
|
||||
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:
|
||||
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
|
||||
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')
|
||||
fp = io.open(root + srcfile, 'r', encoding='utf-8')
|
||||
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:
|
||||
with fp:
|
||||
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
|
||||
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:
|
||||
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
|
||||
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):
|
||||
@ -177,16 +179,17 @@ def parse_file_for_drivers(root, srcfile):
|
||||
|
||||
def parse_lua_file(srcfile):
|
||||
try:
|
||||
fp = open(srcfile, 'r')
|
||||
fp = io.open(srcfile, 'r', encoding='utf-8')
|
||||
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]
|
||||
with fp:
|
||||
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:
|
||||
|
@ -136,7 +136,7 @@ var fetch_bios_sets = (function ()
|
||||
{
|
||||
pending[device] = true;
|
||||
var req = new XMLHttpRequest();
|
||||
req.open('GET', appurl + 'rpc/bios/' + device, true);
|
||||
req.open('GET', appurl + 'rpc/bios/' + encodeURIComponent(device), true);
|
||||
req.responseType = 'json';
|
||||
req.onload =
|
||||
function ()
|
||||
@ -171,7 +171,7 @@ var fetch_machine_flags = (function ()
|
||||
{
|
||||
pending[device] = true;
|
||||
var req = new XMLHttpRequest();
|
||||
req.open('GET', appurl + 'rpc/flags/' + device, true);
|
||||
req.open('GET', appurl + 'rpc/flags/' + encodeURIComponent(device), true);
|
||||
req.responseType = 'json';
|
||||
req.onload =
|
||||
function ()
|
||||
@ -413,7 +413,7 @@ function make_slot_change_handler(name, slot, defaults, dfltbtn)
|
||||
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);
|
||||
link.setAttribute('href', appurl + 'machine/' + encodeURIComponent(selection.device));
|
||||
|
||||
// if we have emulation flags, populate now, otherwise fetch asynchronously
|
||||
if (!Object.prototype.hasOwnProperty.call(machine_flags, selection.device))
|
||||
@ -487,7 +487,7 @@ function fetch_slots(machine)
|
||||
function make_request(device)
|
||||
{
|
||||
var req = new XMLHttpRequest();
|
||||
req.open('GET', appurl + 'rpc/slots/' + device, true);
|
||||
req.open('GET', appurl + 'rpc/slots/' + encodeURIComponent(device), true);
|
||||
req.responseType = 'json';
|
||||
req.onload =
|
||||
function ()
|
||||
|
@ -145,7 +145,7 @@ function get_machine_table(shortname, description)
|
||||
var heading = div.appendChild(document.createElement('h2'));
|
||||
var link = heading.appendChild(document.createElement('a'));
|
||||
link.textContent = description;
|
||||
link.setAttribute('href', appurl + 'machine/' + shortname);
|
||||
link.setAttribute('href', appurl + 'machine/' + encodeURIComponent(shortname));
|
||||
var table = div.appendChild(document.createElement('table'));
|
||||
machine_info[shortname] = table;
|
||||
add_matches(table, matched_names, null);
|
||||
|
@ -13,13 +13,15 @@ import mimetypes
|
||||
import os.path
|
||||
import re
|
||||
import sys
|
||||
import wsgiref.simple_server
|
||||
import urllib
|
||||
import wsgiref.util
|
||||
|
||||
if sys.version_info >= (3, ):
|
||||
import urllib.parse as urlparse
|
||||
urlquote = urlparse.quote
|
||||
else:
|
||||
import urlparse
|
||||
urlquote = urllib.quote
|
||||
|
||||
|
||||
class HandlerBase(object):
|
||||
@ -96,10 +98,10 @@ class QueryPageHandler(HandlerBase):
|
||||
self.dbcurs = app.dbconn.cursor()
|
||||
|
||||
def machine_href(self, shortname):
|
||||
return cgi.escape(urlparse.urljoin(self.application_uri, 'machine/%s' % (shortname, )), True)
|
||||
return cgi.escape(urlparse.urljoin(self.application_uri, 'machine/%s' % (urlquote(shortname), )), True)
|
||||
|
||||
def sourcefile_href(self, sourcefile):
|
||||
return cgi.escape(urlparse.urljoin(self.application_uri, 'sourcefile/%s' % (sourcefile, )), True)
|
||||
return cgi.escape(urlparse.urljoin(self.application_uri, 'sourcefile/%s' % (urlquote(sourcefile), )), True)
|
||||
|
||||
|
||||
class MachineRpcHandlerBase(QueryPageHandler):
|
||||
@ -174,21 +176,21 @@ class MachineHandler(QueryPageHandler):
|
||||
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')
|
||||
(self.machine_href(machine_info['cloneof']), 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')
|
||||
(self.machine_href(machine_info['cloneof']), 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')
|
||||
(self.machine_href(machine_info['romof']), 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')
|
||||
(self.machine_href(machine_info['romof']), cgi.escape(machine_info['romof']))).encode('utf-8')
|
||||
unemulated = []
|
||||
imperfect = []
|
||||
for feature, status, overall in self.dbcurs.get_feature_flags(id):
|
||||
@ -404,10 +406,10 @@ class SourceFileHandler(QueryPageHandler):
|
||||
uri = urlparse.urljoin(self.application_uri, 'sourcefile')
|
||||
title = ''
|
||||
for part in parts:
|
||||
uri = urlparse.urljoin(uri + '/', part)
|
||||
uri = urlparse.urljoin(uri + '/', urlquote(part))
|
||||
title += '<a href="{0}">{1}</a>/'.format(cgi.escape(uri, True), cgi.escape(part))
|
||||
if linkfinal:
|
||||
uri = urlparse.urljoin(uri + '/', final)
|
||||
uri = urlparse.urljoin(uri + '/', urlquote(final))
|
||||
return title + '<a href="{0}">{1}</a>'.format(cgi.escape(uri, True), cgi.escape(final))
|
||||
else:
|
||||
return title + final
|
||||
@ -615,12 +617,3 @@ class MiniMawsApp(object):
|
||||
|
||||
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
|
||||
|
@ -78,19 +78,9 @@
|
||||
## and see dependent slots update. Required command-line arguments to
|
||||
## produce the selected configuration are also displayed.
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import os.path
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
import lib.auxverbs
|
||||
import lib.lxparse
|
||||
import lib.wsgiserve
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import argparse
|
||||
|
||||
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>')
|
||||
@ -123,6 +113,8 @@ if __name__ == '__main__':
|
||||
group.add_argument('--file', metavar='<xmlfile>', help='XML machine information file')
|
||||
|
||||
options = parser.parse_args()
|
||||
|
||||
import lib.auxverbs
|
||||
if options.command == 'listfull':
|
||||
lib.auxverbs.do_listfull(options)
|
||||
elif options.command == 'listsource':
|
||||
@ -136,8 +128,14 @@ if __name__ == '__main__':
|
||||
elif options.command == 'romident':
|
||||
lib.auxverbs.do_romident(options)
|
||||
elif options.command == 'serve':
|
||||
lib.wsgiserve.run_server(options)
|
||||
import wsgiref.simple_server
|
||||
import lib.wsgiserve
|
||||
application = lib.wsgiserve.MiniMawsApp(options.database)
|
||||
server = wsgiref.simple_server.make_server(options.host, options.port, application)
|
||||
try:
|
||||
server.serve_forever()
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
elif options.command == 'load':
|
||||
import lib.lxparse
|
||||
lib.lxparse.load_info(options)
|
||||
else:
|
||||
application = lib.wsgiserve.MiniMawsApp(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'minimaws.sqlite3'))
|
||||
|
15
scripts/minimaws/minimaws.wsgi
Normal file
15
scripts/minimaws/minimaws.wsgi
Normal file
@ -0,0 +1,15 @@
|
||||
#!/usr/bin/python
|
||||
##
|
||||
## license:BSD-3-Clause
|
||||
## copyright-holders:Vas Crabb
|
||||
##
|
||||
## Simple script for deploying minimaws with mod_wsgi.
|
||||
|
||||
import os.path
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
import lib.wsgiserve
|
||||
|
||||
application = lib.wsgiserve.MiniMawsApp(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'minimaws.sqlite3'))
|
@ -893,14 +893,14 @@ void hp9895_device::device_add_mconfig(machine_config &config)
|
||||
m_cpu->refresh_cb().set(FUNC(hp9895_device::z80_m1_w));
|
||||
|
||||
PHI(config, m_phi, 0);
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_EOI>().set(FUNC(hp9895_device::phi_eoi_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_DAV>().set(FUNC(hp9895_device::phi_dav_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_NRFD>().set(FUNC(hp9895_device::phi_nrfd_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_NDAC>().set(FUNC(hp9895_device::phi_ndac_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_IFC>().set(FUNC(hp9895_device::phi_ifc_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_SRQ>().set(FUNC(hp9895_device::phi_srq_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_ATN>().set(FUNC(hp9895_device::phi_atn_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_REN>().set(FUNC(hp9895_device::phi_ren_w));
|
||||
m_phi->eoi_write_cb().set(FUNC(hp9895_device::phi_eoi_w));
|
||||
m_phi->dav_write_cb().set(FUNC(hp9895_device::phi_dav_w));
|
||||
m_phi->nrfd_write_cb().set(FUNC(hp9895_device::phi_nrfd_w));
|
||||
m_phi->ndac_write_cb().set(FUNC(hp9895_device::phi_ndac_w));
|
||||
m_phi->ifc_write_cb().set(FUNC(hp9895_device::phi_ifc_w));
|
||||
m_phi->srq_write_cb().set(FUNC(hp9895_device::phi_srq_w));
|
||||
m_phi->atn_write_cb().set(FUNC(hp9895_device::phi_atn_w));
|
||||
m_phi->ren_write_cb().set(FUNC(hp9895_device::phi_ren_w));
|
||||
m_phi->dio_read_cb().set(FUNC(hp9895_device::phi_dio_r));
|
||||
m_phi->dio_write_cb().set(FUNC(hp9895_device::phi_dio_w));
|
||||
m_phi->int_write_cb().set(FUNC(hp9895_device::phi_int_w));
|
||||
|
@ -19,7 +19,8 @@ public:
|
||||
phi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// See ieee488.h
|
||||
enum phi_488_signal_t {
|
||||
enum phi_488_signal_t
|
||||
{
|
||||
PHI_488_EOI,
|
||||
PHI_488_DAV,
|
||||
PHI_488_NRFD,
|
||||
@ -35,7 +36,14 @@ public:
|
||||
auto dio_read_cb() { return m_dio_read_func.bind(); }
|
||||
auto dio_write_cb() { return m_dio_write_func.bind(); }
|
||||
// Set write callbacks to access uniline signals on IEEE-488
|
||||
template <phi_488_signal_t Signal> auto signal_write_cb() { return m_signal_wr_fns[ Signal ].bind(); }
|
||||
auto eoi_write_cb() { return m_signal_wr_fns[ PHI_488_EOI ].bind(); }
|
||||
auto dav_write_cb() { return m_signal_wr_fns[ PHI_488_DAV ].bind(); }
|
||||
auto nrfd_write_cb() { return m_signal_wr_fns[ PHI_488_NRFD ].bind(); }
|
||||
auto ndac_write_cb() { return m_signal_wr_fns[ PHI_488_NDAC ].bind(); }
|
||||
auto ifc_write_cb() { return m_signal_wr_fns[ PHI_488_IFC ].bind(); }
|
||||
auto srq_write_cb() { return m_signal_wr_fns[ PHI_488_SRQ ].bind(); }
|
||||
auto atn_write_cb() { return m_signal_wr_fns[ PHI_488_ATN ].bind(); }
|
||||
auto ren_write_cb() { return m_signal_wr_fns[ PHI_488_REN ].bind(); }
|
||||
// Set write callback for INT signal
|
||||
auto int_write_cb() { return m_int_write_func.bind(); }
|
||||
// Set write callback for DMARQ signal
|
||||
|
@ -947,11 +947,11 @@ void fromance_state::nekkyoku(machine_config &config)
|
||||
void fromance_state::idolmj(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
Z80(config, m_maincpu, XTAL(12'000'000) / 2); /* 6.00 Mhz ? */
|
||||
Z80(config, m_maincpu, 12_MHz_XTAL / 2); /* 6.00 Mhz ? */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &fromance_state::fromance_main_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(fromance_state::irq0_line_hold));
|
||||
|
||||
Z80(config, m_subcpu, XTAL(12'000'000) / 2); /* 6.00 Mhz ? */
|
||||
Z80(config, m_subcpu, 12_MHz_XTAL / 2); /* 6.00 Mhz ? */
|
||||
m_subcpu->set_addrmap(AS_PROGRAM, &fromance_state::fromance_sub_map);
|
||||
m_subcpu->set_addrmap(AS_IO, &fromance_state::idolmj_sub_io_map);
|
||||
|
||||
@ -980,7 +980,7 @@ void fromance_state::idolmj(machine_config &config)
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
YM2149(config, "aysnd", 12000000/6).add_route(ALL_OUTPUTS, "mono", 0.15);
|
||||
YM2149(config, "aysnd", 12_MHz_XTAL / 6).add_route(ALL_OUTPUTS, "mono", 0.15);
|
||||
|
||||
MSM5205(config, m_msm, 384000);
|
||||
m_msm->vck_legacy_callback().set(FUNC(fromance_state::fromance_adpcm_int)); /* IRQ handler */
|
||||
|
@ -1456,14 +1456,14 @@ void hp64k_state::hp64k(machine_config &config)
|
||||
m_phi->sys_cntrl_read_cb().set(FUNC(hp64k_state::hp64k_phi_sys_ctrl_r));
|
||||
m_phi->dio_read_cb().set(IEEE488_TAG, FUNC(ieee488_device::dio_r));
|
||||
m_phi->dio_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_dio_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_EOI>().set(IEEE488_TAG, FUNC(ieee488_device::host_eoi_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_DAV>().set(IEEE488_TAG, FUNC(ieee488_device::host_dav_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_NRFD>().set(IEEE488_TAG, FUNC(ieee488_device::host_nrfd_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_NDAC>().set(IEEE488_TAG, FUNC(ieee488_device::host_ndac_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_IFC>().set(IEEE488_TAG, FUNC(ieee488_device::host_ifc_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_SRQ>().set(IEEE488_TAG, FUNC(ieee488_device::host_srq_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_ATN>().set(IEEE488_TAG, FUNC(ieee488_device::host_atn_w));
|
||||
m_phi->signal_write_cb<phi_device::PHI_488_REN>().set(IEEE488_TAG, FUNC(ieee488_device::host_ren_w));
|
||||
m_phi->eoi_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_eoi_w));
|
||||
m_phi->dav_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_dav_w));
|
||||
m_phi->nrfd_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_nrfd_w));
|
||||
m_phi->ndac_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ndac_w));
|
||||
m_phi->ifc_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ifc_w));
|
||||
m_phi->srq_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_srq_w));
|
||||
m_phi->atn_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_atn_w));
|
||||
m_phi->ren_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ren_w));
|
||||
|
||||
ieee488_device &ieee(IEEE488(config, IEEE488_TAG));
|
||||
ieee.eoi_callback().set(m_phi, FUNC(phi_device::eoi_w));
|
||||
|
@ -1464,12 +1464,10 @@ void scramble_state::hotshock(machine_config &config)
|
||||
m_palette->set_init(FUNC(scramble_state::galaxold_palette));
|
||||
MCFG_VIDEO_START_OVERRIDE(scramble_state,pisces)
|
||||
|
||||
subdevice<ay8910_device>("8910.1")->reset_routes();
|
||||
subdevice<ay8910_device>("8910.1")->add_route(ALL_OUTPUTS, "mono", 0.33);
|
||||
subdevice<ay8910_device>("8910.1")->reset_routes().add_route(ALL_OUTPUTS, "mono", 0.33);
|
||||
|
||||
subdevice<ay8910_device>("8910.2")->port_a_read_callback().set(FUNC(scramble_state::hotshock_soundlatch_r));
|
||||
subdevice<ay8910_device>("8910.2")->reset_routes();
|
||||
subdevice<ay8910_device>("8910.2")->add_route(ALL_OUTPUTS, "mono", 0.33);
|
||||
subdevice<ay8910_device>("8910.2")->reset_routes().add_route(ALL_OUTPUTS, "mono", 0.33);
|
||||
}
|
||||
|
||||
void scramble_state::cavelon(machine_config &config)
|
||||
@ -1514,8 +1512,7 @@ void scramble_state::triplep(machine_config &config)
|
||||
|
||||
/* sound hardware */
|
||||
subdevice<ay8910_device>("8910.1")->set_clock(18432000/12); // triple punch/knock out ay clock is 1.535MHz, derived from main cpu xtal; verified on hardware
|
||||
subdevice<ay8910_device>("8910.1")->reset_routes();
|
||||
subdevice<ay8910_device>("8910.1")->add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||
subdevice<ay8910_device>("8910.1")->reset_routes().add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||
|
||||
config.device_remove("8910.2");
|
||||
}
|
||||
|
@ -153,9 +153,9 @@ void subhuntr_state::subhuntr(machine_config &config)
|
||||
m_maincpu->set_vblank_int("screen", FUNC(subhuntr_state::subhuntr_interrupt));
|
||||
m_maincpu->sense_handler().set("screen", FUNC(screen_device::vblank));
|
||||
|
||||
s2636_device &s2636(S2636(config, "s2636", 0));
|
||||
s2636.set_offsets(3, -21);
|
||||
s2636.add_route(ALL_OUTPUTS, "mono", 0.10);
|
||||
//s2636_device &s2636(S2636(config, "s2636", 0));
|
||||
//s2636.set_offsets(3, -21);
|
||||
//s2636.add_route(ALL_OUTPUTS, "mono", 0.10);
|
||||
|
||||
/* video hardware */
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
|
@ -556,8 +556,7 @@ void wallc_state::unkitpkr(machine_config &config)
|
||||
|
||||
/* sound hardware */
|
||||
subdevice<ay8912_device>("aysnd")->port_a_read_callback().set_ioport("DSW2");
|
||||
subdevice<ay8912_device>("aysnd")->reset_routes();
|
||||
subdevice<ay8912_device>("aysnd")->add_route(ALL_OUTPUTS, "mono", 0.50);
|
||||
subdevice<ay8912_device>("aysnd")->reset_routes().add_route(ALL_OUTPUTS, "mono", 0.50);
|
||||
}
|
||||
|
||||
void wallc_state::sidampkr(machine_config &config)
|
||||
|
Loading…
Reference in New Issue
Block a user