mirror of
https://github.com/holub/mame
synced 2025-04-17 22:13:04 +03:00
-scripts/minimaws: Removed Python 2 support.
-igs/igs027a.cpp, igs/xamcu.cpp: Slight simplification. -sony/news_r3k.cpp: Sorted #includes.
This commit is contained in:
parent
b5e6be9444
commit
8cd1eac323
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python3
|
||||
##
|
||||
## license:BSD-3-Clause
|
||||
## copyright-holders:Vas Crabb
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python3
|
||||
##
|
||||
## license:BSD-3-Clause
|
||||
## copyright-holders:Vas Crabb
|
||||
|
@ -1,13 +1,10 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python3
|
||||
##
|
||||
## license:BSD-3-Clause
|
||||
## copyright-holders:Vas Crabb
|
||||
|
||||
import sqlite3
|
||||
import sys
|
||||
|
||||
if sys.version_info >= (3, 4):
|
||||
import urllib.request
|
||||
import urllib.request
|
||||
|
||||
|
||||
class SchemaQueries(object):
|
||||
@ -1067,10 +1064,7 @@ class UpdateCursor(object):
|
||||
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, check_same_thread=False)
|
||||
else:
|
||||
self.dbconn = sqlite3.connect(database, check_same_thread=False)
|
||||
self.dbconn = sqlite3.connect('file:' + urllib.request.pathname2url(database) + '?mode=ro', uri=True, check_same_thread=False)
|
||||
self.dbconn.row_factory = sqlite3.Row
|
||||
self.dbconn.execute('PRAGMA foreign_keys = ON')
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python3
|
||||
##
|
||||
## license:BSD-3-Clause
|
||||
## copyright-holders:Vas Crabb
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python3
|
||||
##
|
||||
## license:BSD-3-Clause
|
||||
## copyright-holders:Vas Crabb
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python3
|
||||
##
|
||||
## license:BSD-3-Clause
|
||||
## copyright-holders:Vas Crabb
|
||||
@ -6,6 +6,7 @@
|
||||
from . import dbaccess
|
||||
from . import htmltmpl
|
||||
|
||||
import html
|
||||
import inspect
|
||||
import json
|
||||
import mimetypes
|
||||
@ -13,21 +14,14 @@ import os.path
|
||||
import re
|
||||
import sys
|
||||
import urllib
|
||||
import urllib.parse
|
||||
import wsgiref.util
|
||||
|
||||
try:
|
||||
import html
|
||||
htmlescape = html.escape
|
||||
except ImportError:
|
||||
import cgi
|
||||
htmlescape = cgi.escape
|
||||
|
||||
try:
|
||||
import urllib.parse as urlparse
|
||||
urlquote = urlparse.quote
|
||||
except ImportError:
|
||||
import urlparse
|
||||
urlquote = urllib.quote
|
||||
htmlescape = html.escape
|
||||
shiftpath = wsgiref.util.shift_path_info
|
||||
urljoin = urllib.parse.urljoin
|
||||
urlparsequery = urllib.parse.parse_qs
|
||||
urlquote = urllib.parse.quote
|
||||
|
||||
|
||||
class HandlerBase(object):
|
||||
@ -72,7 +66,7 @@ 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)
|
||||
self.asset = shiftpath(environ)
|
||||
|
||||
def __iter__(self):
|
||||
if not self.asset:
|
||||
@ -109,16 +103,16 @@ class QueryPageHandler(HandlerBase):
|
||||
self.dbcurs = app.dbconn.cursor()
|
||||
|
||||
def machine_href(self, shortname):
|
||||
return htmlescape(urlparse.urljoin(self.application_uri, 'machine/%s' % (urlquote(shortname), )), True)
|
||||
return htmlescape(urljoin(self.application_uri, 'machine/%s' % (urlquote(shortname), )), True)
|
||||
|
||||
def sourcefile_href(self, sourcefile):
|
||||
return htmlescape(urlparse.urljoin(self.application_uri, 'sourcefile/%s' % (urlquote(sourcefile), )), True)
|
||||
return htmlescape(urljoin(self.application_uri, 'sourcefile/%s' % (urlquote(sourcefile), )), True)
|
||||
|
||||
def softwarelist_href(self, softwarelist):
|
||||
return htmlescape(urlparse.urljoin(self.application_uri, 'softwarelist/%s' % (urlquote(softwarelist), )), True)
|
||||
return htmlescape(urljoin(self.application_uri, 'softwarelist/%s' % (urlquote(softwarelist), )), True)
|
||||
|
||||
def software_href(self, softwarelist, software):
|
||||
return htmlescape(urlparse.urljoin(self.application_uri, 'softwarelist/%s/%s' % (urlquote(softwarelist), urlquote(software))), True)
|
||||
return htmlescape(urljoin(self.application_uri, 'softwarelist/%s/%s' % (urlquote(softwarelist), urlquote(software))), True)
|
||||
|
||||
def bios_data(self, machine):
|
||||
result = { }
|
||||
@ -198,7 +192,7 @@ class QueryPageHandler(HandlerBase):
|
||||
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)
|
||||
self.shortname = shiftpath(environ)
|
||||
|
||||
def __iter__(self):
|
||||
if not self.shortname:
|
||||
@ -223,7 +217,7 @@ class MachineRpcHandlerBase(QueryPageHandler):
|
||||
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)
|
||||
self.shortname = shiftpath(environ)
|
||||
|
||||
def __iter__(self):
|
||||
if not self.shortname:
|
||||
@ -250,7 +244,7 @@ class MachineHandler(QueryPageHandler):
|
||||
description = machine_info['description']
|
||||
yield htmltmpl.MACHINE_PROLOGUE.substitute(
|
||||
app=self.js_escape(htmlescape(self.application_uri, True)),
|
||||
assets=self.js_escape(htmlescape(urlparse.urljoin(self.application_uri, 'static'), True)),
|
||||
assets=self.js_escape(htmlescape(urljoin(self.application_uri, 'static'), True)),
|
||||
sourcehref=self.sourcefile_href(machine_info['sourcefile']),
|
||||
description=htmlescape(description),
|
||||
shortname=htmlescape(self.shortname),
|
||||
@ -514,7 +508,7 @@ class SourceFileHandler(QueryPageHandler):
|
||||
heading = self.linked_title(pattern)
|
||||
title = 'Source Files: ' + htmlescape(pattern)
|
||||
yield htmltmpl.SOURCEFILE_LIST_PROLOGUE.substitute(
|
||||
assets=htmlescape(urlparse.urljoin(self.application_uri, 'static'), True),
|
||||
assets=htmlescape(urljoin(self.application_uri, 'static'), True),
|
||||
title=title,
|
||||
heading=heading).encode('utf-8')
|
||||
for filename, machines in self.dbcurs.get_sourcefiles(pattern):
|
||||
@ -525,7 +519,7 @@ class SourceFileHandler(QueryPageHandler):
|
||||
|
||||
def sourcefile_page(self, id):
|
||||
yield htmltmpl.SOURCEFILE_PROLOGUE.substitute(
|
||||
assets=htmlescape(urlparse.urljoin(self.application_uri, 'static'), True),
|
||||
assets=htmlescape(urljoin(self.application_uri, 'static'), True),
|
||||
filename=htmlescape(self.filename),
|
||||
title=self.linked_title(self.filename)).encode('utf-8')
|
||||
|
||||
@ -558,13 +552,13 @@ class SourceFileHandler(QueryPageHandler):
|
||||
parts = filename.split('/')
|
||||
final = parts[-1]
|
||||
del parts[-1]
|
||||
uri = urlparse.urljoin(self.application_uri, 'sourcefile')
|
||||
uri = urljoin(self.application_uri, 'sourcefile')
|
||||
title = ''
|
||||
for part in parts:
|
||||
uri = urlparse.urljoin(uri + '/', urlquote(part))
|
||||
uri = urljoin(uri + '/', urlquote(part))
|
||||
title += '<a href="{0}">{1}</a>/'.format(htmlescape(uri, True), htmlescape(part))
|
||||
if linkfinal:
|
||||
uri = urlparse.urljoin(uri + '/', urlquote(final))
|
||||
uri = urljoin(uri + '/', urlquote(final))
|
||||
return title + '<a href="{0}">{1}</a>'.format(htmlescape(uri, True), htmlescape(final))
|
||||
else:
|
||||
return title + final
|
||||
@ -584,8 +578,8 @@ class SourceFileHandler(QueryPageHandler):
|
||||
class SoftwareListHandler(QueryPageHandler):
|
||||
def __init__(self, app, application_uri, environ, start_response, **kwargs):
|
||||
super(SoftwareListHandler, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs)
|
||||
self.shortname = wsgiref.util.shift_path_info(environ)
|
||||
self.software = wsgiref.util.shift_path_info(environ)
|
||||
self.shortname = shiftpath(environ)
|
||||
self.software = shiftpath(environ)
|
||||
|
||||
def __iter__(self):
|
||||
if self.environ['PATH_INFO']:
|
||||
@ -627,7 +621,7 @@ class SoftwareListHandler(QueryPageHandler):
|
||||
else:
|
||||
title = heading = 'Software Lists: ' + htmlescape(pattern)
|
||||
yield htmltmpl.SOFTWARELIST_LIST_PROLOGUE.substitute(
|
||||
assets=htmlescape(urlparse.urljoin(self.application_uri, 'static'), True),
|
||||
assets=htmlescape(urljoin(self.application_uri, 'static'), True),
|
||||
title=title,
|
||||
heading=heading).encode('utf-8')
|
||||
for shortname, description, total, supported, partiallysupported, unsupported in self.dbcurs.get_softwarelists(pattern):
|
||||
@ -649,7 +643,7 @@ class SoftwareListHandler(QueryPageHandler):
|
||||
title = 'Software List: %s (%s): %s' % (htmlescape(softwarelist_info['description']), htmlescape(softwarelist_info['shortname']), htmlescape(pattern))
|
||||
heading = '<a href="%s">%s</a>: %s' % (self.softwarelist_href(softwarelist_info['shortname']), htmlescape(softwarelist_info['description']), htmlescape(pattern))
|
||||
yield htmltmpl.SOFTWARELIST_PROLOGUE.substitute(
|
||||
assets=htmlescape(urlparse.urljoin(self.application_uri, 'static'), True),
|
||||
assets=htmlescape(urljoin(self.application_uri, 'static'), True),
|
||||
title=title,
|
||||
heading=heading,
|
||||
shortname=htmlescape(softwarelist_info['shortname']),
|
||||
@ -707,7 +701,7 @@ class SoftwareListHandler(QueryPageHandler):
|
||||
|
||||
def software_page(self, software_info):
|
||||
yield htmltmpl.SOFTWARE_PROLOGUE.substitute(
|
||||
assets=htmlescape(urlparse.urljoin(self.application_uri, 'static'), True),
|
||||
assets=htmlescape(urljoin(self.application_uri, 'static'), True),
|
||||
title=htmlescape(software_info['description']),
|
||||
heading=htmlescape(software_info['description']),
|
||||
softwarelisthref=self.softwarelist_href(self.shortname),
|
||||
@ -811,7 +805,7 @@ class RomIdentHandler(QueryPageHandler):
|
||||
def form_page(self):
|
||||
yield htmltmpl.ROMIDENT_PAGE.substitute(
|
||||
app=self.js_escape(htmlescape(self.application_uri, True)),
|
||||
assets=self.js_escape(htmlescape(urlparse.urljoin(self.application_uri, 'static'), True))).encode('utf-8')
|
||||
assets=self.js_escape(htmlescape(urljoin(self.application_uri, 'static'), True))).encode('utf-8')
|
||||
|
||||
|
||||
class BiosRpcHandler(MachineRpcHandlerBase):
|
||||
@ -850,7 +844,7 @@ class RomDumpsRpcHandler(QueryPageHandler):
|
||||
return self.error_page(405)
|
||||
else:
|
||||
try:
|
||||
args = urlparse.parse_qs(self.environ['QUERY_STRING'], keep_blank_values=True, strict_parsing=True)
|
||||
args = urlparsequery(self.environ['QUERY_STRING'], keep_blank_values=True, strict_parsing=True)
|
||||
crc = args.get('crc')
|
||||
sha1 = args.get('sha1')
|
||||
if (len(args) == 2) and (crc is not None) and (len(crc) == 1) and (sha1 is not None) and (len(sha1) == 1):
|
||||
@ -907,7 +901,7 @@ class DiskDumpsRpcHandler(QueryPageHandler):
|
||||
return self.error_page(405)
|
||||
else:
|
||||
try:
|
||||
args = urlparse.parse_qs(self.environ['QUERY_STRING'], keep_blank_values=True, strict_parsing=True)
|
||||
args = urlparsequery(self.environ['QUERY_STRING'], keep_blank_values=True, strict_parsing=True)
|
||||
sha1 = args.get('sha1')
|
||||
if (len(args) == 1) and (sha1 is not None) and (len(sha1) == 1):
|
||||
sha1 = sha1[0]
|
||||
@ -970,7 +964,7 @@ class MiniMawsApp(object):
|
||||
application_uri = wsgiref.util.application_uri(environ)
|
||||
if application_uri[-1] != '/':
|
||||
application_uri += '/'
|
||||
module = wsgiref.util.shift_path_info(environ)
|
||||
module = shiftpath(environ)
|
||||
if module == 'machine':
|
||||
return MachineHandler(self, application_uri, environ, start_response)
|
||||
elif module == 'sourcefile':
|
||||
@ -982,7 +976,7 @@ class MiniMawsApp(object):
|
||||
elif module == 'static':
|
||||
return AssetHandler(self.assetsdir, self, application_uri, environ, start_response)
|
||||
elif module == 'rpc':
|
||||
service = wsgiref.util.shift_path_info(environ)
|
||||
service = shiftpath(environ)
|
||||
if not service:
|
||||
return ErrorPageHandler(403, self, application_uri, environ, start_response)
|
||||
elif service in self.RPC_SERVICES:
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python3
|
||||
##
|
||||
## license:BSD-3-Clause
|
||||
## copyright-holders:Vas Crabb
|
||||
|
@ -79,8 +79,7 @@ void igs027a_cpu_device::onboard_peripherals(address_map &map)
|
||||
map(0x4000'000c, 0x4000'000f).r(FUNC(igs027a_cpu_device::in_port_r));
|
||||
map(0x4000'0018, 0x4000'001b).umask32(0x0000'00ff).w(FUNC(igs027a_cpu_device::out_port_w));
|
||||
|
||||
map(0x7000'0100, 0x7000'0103).umask32(0x0000'00ff).w(FUNC(igs027a_cpu_device::timer_rate_w<0>));
|
||||
map(0x7000'0104, 0x7000'0107).umask32(0x0000'00ff).w(FUNC(igs027a_cpu_device::timer_rate_w<1>));
|
||||
map(0x7000'0100, 0x7000'0107).umask32(0x0000'00ff).w(FUNC(igs027a_cpu_device::timer_rate_w));
|
||||
map(0x7000'0200, 0x7000'0203).umask32(0x0000'00ff).rw(FUNC(igs027a_cpu_device::irq_pending_r), FUNC(igs027a_cpu_device::irq_enable_w));
|
||||
|
||||
map(0xf000'0008, 0xf000'000b).umask32(0x0000'00ff).w(FUNC(igs027a_cpu_device::bus_sizing_w));
|
||||
@ -101,19 +100,18 @@ void igs027a_cpu_device::out_port_w(u8 data)
|
||||
m_out_port_cb(0, data & OUT_PORT_MASK, OUT_PORT_MASK);
|
||||
}
|
||||
|
||||
template <unsigned N>
|
||||
void igs027a_cpu_device::timer_rate_w(u8 data)
|
||||
void igs027a_cpu_device::timer_rate_w(offs_t offset, u8 data)
|
||||
{
|
||||
// TODO: determine how timer intervals are derived from clocks
|
||||
if (data)
|
||||
{
|
||||
constexpr u32 TIMER_DIVISOR = 4263;
|
||||
auto const period = attotime::from_ticks(TIMER_DIVISOR * (data + 1), clock());
|
||||
m_irq_timers[N]->adjust(period, 0, period);
|
||||
m_irq_timers[offset]->adjust(period, 0, period);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_irq_timers[N]->adjust(attotime::never, 0, attotime::never);
|
||||
m_irq_timers[offset]->adjust(attotime::never, 0, attotime::never);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@ private:
|
||||
|
||||
u32 in_port_r();
|
||||
void out_port_w(u8 data);
|
||||
template <unsigned N> void timer_rate_w(u8 data);
|
||||
void timer_rate_w(offs_t offset, u8 data);
|
||||
u8 irq_pending_r();
|
||||
void irq_enable_w(u8 data);
|
||||
|
||||
|
@ -2156,7 +2156,7 @@ ROM_END
|
||||
|
||||
/*
|
||||
|
||||
中国锄大D (Zhōngguó chú dà D)
|
||||
中国锄大D (Zhōngguó Chú Dà D)
|
||||
IGS, 2000
|
||||
|
||||
PCB Layout
|
||||
|
@ -165,8 +165,8 @@ void igs_m027xa_state::main_map(address_map &map)
|
||||
|
||||
map(0x50000000, 0x500003ff).umask32(0x000000ff).w(FUNC(igs_m027xa_state::xor_table_w));
|
||||
|
||||
map(0x58000000, 0x58000003).umask32(0x0000ffff).rw(m_xa, FUNC(igs_xa_mcu_subcpu_device::response_r), FUNC(igs_xa_mcu_subcpu_device::cmd_w));
|
||||
map(0x58000000, 0x58000003).umask32(0xffff0000).w(m_xa, FUNC(igs_xa_mcu_subcpu_device::irqack_w));
|
||||
map(0x58000000, 0x58000003).umask32(0x0000ffff).r(m_xa, FUNC(igs_xa_mcu_subcpu_device::response_r));
|
||||
map(0x58000000, 0x58000003).w(m_xa, FUNC(igs_xa_mcu_subcpu_device::cmd_w));
|
||||
}
|
||||
|
||||
void igs_m027xa_state::main_xor_map(address_map &map)
|
||||
|
@ -37,12 +37,6 @@ igs_xa_mcu_device_base::~igs_xa_mcu_device_base()
|
||||
}
|
||||
|
||||
|
||||
void igs_xa_mcu_device_base::cmd_w(u16 data)
|
||||
{
|
||||
machine().scheduler().synchronize(timer_expired_delegate(FUNC(igs_xa_mcu_device_base::do_cmd_w), this), s32(u32(data)));
|
||||
}
|
||||
|
||||
|
||||
void igs_xa_mcu_device_base::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
MX10EXA(config, m_mcu, DERIVED_CLOCK(1, 1)); // MX10EXAQC (Philips 80C51XA)
|
||||
@ -168,6 +162,12 @@ igs_xa_mcu_ics_sound_device::~igs_xa_mcu_ics_sound_device()
|
||||
}
|
||||
|
||||
|
||||
void igs_xa_mcu_ics_sound_device::cmd_w(u16 data)
|
||||
{
|
||||
machine().scheduler().synchronize(timer_expired_delegate(FUNC(igs_xa_mcu_ics_sound_device::do_cmd_w), this), s32(u32(data)));
|
||||
}
|
||||
|
||||
|
||||
void igs_xa_mcu_ics_sound_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
igs_xa_mcu_device_base::device_add_mconfig(config);
|
||||
@ -259,10 +259,17 @@ igs_xa_mcu_subcpu_device::~igs_xa_mcu_subcpu_device()
|
||||
}
|
||||
|
||||
|
||||
void igs_xa_mcu_subcpu_device::irqack_w(u16 data)
|
||||
void igs_xa_mcu_subcpu_device::cmd_w(offs_t offset, u16 data)
|
||||
{
|
||||
LOG("%s: lower IRQ %08x\n", machine().describe_context(), data);
|
||||
set_irq(0);
|
||||
if (!BIT(offset, 0))
|
||||
{
|
||||
machine().scheduler().synchronize(timer_expired_delegate(FUNC(igs_xa_mcu_subcpu_device::do_cmd_w), this), s32(u32(data)));
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG("%s: lower IRQ %08x\n", machine().describe_context(), data);
|
||||
set_irq(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -16,7 +16,6 @@ public:
|
||||
|
||||
auto irq() { return m_irq_cb.bind(); }
|
||||
|
||||
void cmd_w(u16 data);
|
||||
int irq_r() const { return m_irq; }
|
||||
|
||||
protected:
|
||||
@ -61,6 +60,7 @@ public:
|
||||
igs_xa_mcu_ics_sound_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
|
||||
virtual ~igs_xa_mcu_ics_sound_device();
|
||||
|
||||
void cmd_w(u16 data);
|
||||
u16 response_low_r() { return m_response[0]; }
|
||||
u16 response_high_r() { return m_response[1]; }
|
||||
|
||||
@ -85,9 +85,9 @@ public:
|
||||
igs_xa_mcu_subcpu_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
|
||||
virtual ~igs_xa_mcu_subcpu_device();
|
||||
|
||||
void set_disable() { m_mcu.lookup()->set_disable(); }
|
||||
void set_disable() { m_mcu.lookup()->set_disable(); } // for systems where the microcontroller has not been dumped
|
||||
|
||||
void irqack_w(u16 data);
|
||||
void cmd_w(offs_t offset, u16 data);
|
||||
u16 response_r() { return m_response; }
|
||||
|
||||
protected:
|
||||
|
@ -21,34 +21,25 @@
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/mips/mips1.h"
|
||||
|
||||
// memory
|
||||
#include "machine/ram.h"
|
||||
|
||||
// various hardware
|
||||
#include "machine/timekpr.h"
|
||||
#include "machine/z80scc.h"
|
||||
#include "machine/am79c90.h"
|
||||
#include "machine/upd765.h"
|
||||
#include "dmac_0448.h"
|
||||
#include "news_hid.h"
|
||||
#include "machine/cxd1185.h"
|
||||
|
||||
// video
|
||||
#include "screen.h"
|
||||
|
||||
// audio
|
||||
#include "sound/spkrdev.h"
|
||||
#include "speaker.h"
|
||||
|
||||
// busses and connectors
|
||||
#include "machine/nscsi_bus.h"
|
||||
#include "bus/nscsi/cd.h"
|
||||
#include "bus/nscsi/hd.h"
|
||||
#include "bus/rs232/rs232.h"
|
||||
|
||||
#include "cpu/mips/mips1.h"
|
||||
#include "imagedev/floppy.h"
|
||||
#include "machine/am79c90.h"
|
||||
#include "machine/cxd1185.h"
|
||||
#include "machine/nscsi_bus.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/timekpr.h"
|
||||
#include "machine/upd765.h"
|
||||
#include "machine/z80scc.h"
|
||||
#include "sound/spkrdev.h"
|
||||
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
#define VERBOSE 0
|
||||
#include "logmacro.h"
|
||||
@ -277,7 +268,7 @@ void news_r3k_base_state::cpu_map(address_map &map)
|
||||
// 1fcc0000 // cstrobe?
|
||||
// 1fcc0002 // sccstatus0?
|
||||
map(0x1fcc0003, 0x1fcc0003).rw(FUNC(news_r3k_base_state::debug_r), FUNC(news_r3k_base_state::debug_w));
|
||||
map(0x1fcc0007, 0x1fcc0007).lr8([this](){ return m_scc->m1_r(); }, "sccvect_r");
|
||||
map(0x1fcc0007, 0x1fcc0007).lr8([this] () { return m_scc->m1_r(); }, "sccvect_r");
|
||||
|
||||
map(0x1fd00000, 0x1fd00007).m(m_hid, FUNC(news_hid_hle_device::map));
|
||||
map(0x1fd40000, 0x1fd40003).noprw(); // FIXME: ignore buzzer for now
|
||||
|
Loading…
Reference in New Issue
Block a user