summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2022-03-15 15:00:34 +0100
committer hap <happppp@users.noreply.github.com>2022-03-15 15:00:43 +0100
commit947c84eacd7679376fc420831ec8ac59ea77a2d2 (patch)
treeb56b6d38dd26d755a926bc3a319bb16a8229c947
parent46e99741417711218d62346b6938a9540cae968a (diff)
tlcs900: check timer enable before clocking chained timer, this improves ngpc svccard2 [dink]
-rw-r--r--hash/ngpc.xml2
-rw-r--r--src/devices/cpu/hmcs40/hmcs40.h4
-rw-r--r--src/devices/cpu/sm510/sm590.h4
-rw-r--r--src/devices/cpu/tlcs900/tmp95c061.cpp4
-rw-r--r--src/devices/cpu/tlcs900/tmp95c063.cpp4
-rw-r--r--src/mame/drivers/hh_hmcs40.cpp1
-rw-r--r--src/mame/drivers/namcos22.cpp8
7 files changed, 14 insertions, 13 deletions
diff --git a/hash/ngpc.xml b/hash/ngpc.xml
index 66e740b7e64..0cc3d30e485 100644
--- a/hash/ngpc.xml
+++ b/hash/ngpc.xml
@@ -1571,7 +1571,7 @@ NEOP00220 NeoGeo Cup '98 Plus (Euro) [confirmed?]
</software>
<!-- Developer: SNK -->
- <software name="svccard2" supported="partial"> <!-- lots of glitches -->
+ <software name="svccard2">
<!-- NGPC only -->
<description>SNK vs. Capcom - Card Fighters 2 - Expand Edition (Jpn)</description>
<year>2001</year>
diff --git a/src/devices/cpu/hmcs40/hmcs40.h b/src/devices/cpu/hmcs40/hmcs40.h
index 9b622c7139a..98accae5931 100644
--- a/src/devices/cpu/hmcs40/hmcs40.h
+++ b/src/devices/cpu/hmcs40/hmcs40.h
@@ -82,8 +82,8 @@ class hmcs40_cpu_device : public cpu_device
{
public:
// max 8 4-bit R ports
- template <std::size_t Bit> auto read_r() { return m_read_r[Bit].bind(); }
- template <std::size_t Bit> auto write_r() { return m_write_r[Bit].bind(); }
+ template <std::size_t N> auto read_r() { return m_read_r[N].bind(); }
+ template <std::size_t N> auto write_r() { return m_write_r[N].bind(); }
// 16-bit discrete
auto read_d() { return m_read_d.bind(); }
diff --git a/src/devices/cpu/sm510/sm590.h b/src/devices/cpu/sm510/sm590.h
index 7e4bb229e66..8e866b954f8 100644
--- a/src/devices/cpu/sm510/sm590.h
+++ b/src/devices/cpu/sm510/sm590.h
@@ -93,8 +93,8 @@ public:
// four 4-bit R I/O ports
using sm510_base_device::write_r;
- template <std::size_t Bit> auto write_r() { return m_write_rx[Bit].bind(); }
- template <std::size_t Bit> auto read_r() { return m_read_rx[Bit].bind(); }
+ template <std::size_t N> auto write_r() { return m_write_rx[N].bind(); }
+ template <std::size_t N> auto read_r() { return m_read_rx[N].bind(); }
protected:
sm590_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
diff --git a/src/devices/cpu/tlcs900/tmp95c061.cpp b/src/devices/cpu/tlcs900/tmp95c061.cpp
index c2f5ea258cf..d297ba73fcf 100644
--- a/src/devices/cpu/tlcs900/tmp95c061.cpp
+++ b/src/devices/cpu/tlcs900/tmp95c061.cpp
@@ -650,7 +650,7 @@ void tmp95c061_device::tlcs900_handle_timers()
m_timer[0] += 1;
if ( m_timer[0] == m_t8_reg[0] )
{
- if ( ( m_t8_mode[0] & 0x0c ) == 0x00 )
+ if ( ( m_trun & 0x02 ) && ( m_t8_mode[0] & 0x0c ) == 0x00 )
{
m_timer_change[1] += 1;
}
@@ -727,7 +727,7 @@ void tmp95c061_device::tlcs900_handle_timers()
m_timer[2] += 1;
if ( m_timer[2] == m_t8_reg[2] )
{
- if ( ( m_t8_mode[1] & 0x0c ) == 0x00 )
+ if ( ( m_trun & 0x08 ) && ( m_t8_mode[1] & 0x0c ) == 0x00 )
{
m_timer_change[3] += 1;
}
diff --git a/src/devices/cpu/tlcs900/tmp95c063.cpp b/src/devices/cpu/tlcs900/tmp95c063.cpp
index ab30572ac16..90663eeaff3 100644
--- a/src/devices/cpu/tlcs900/tmp95c063.cpp
+++ b/src/devices/cpu/tlcs900/tmp95c063.cpp
@@ -268,7 +268,7 @@ void tmp95c063_device::tlcs900_handle_timers()
m_timer[0] += 1;
if ( m_timer[0] == m_t8_reg[0] )
{
- if ( ( m_t8_mode[0] & 0x0c ) == 0x00 )
+ if ( ( m_t8run & 0x02 ) && ( m_t8_mode[0] & 0x0c ) == 0x00 )
{
m_timer_change[1] += 1;
}
@@ -345,7 +345,7 @@ void tmp95c063_device::tlcs900_handle_timers()
m_timer[2] += 1;
if ( m_timer[2] == m_t8_reg[2] )
{
- if ( ( m_t8_mode[1] & 0x0c ) == 0x00 )
+ if ( ( m_t8run & 0x08 ) && ( m_t8_mode[1] & 0x0c ) == 0x00 )
{
m_timer_change[3] += 1;
}
diff --git a/src/mame/drivers/hh_hmcs40.cpp b/src/mame/drivers/hh_hmcs40.cpp
index 67cdc6c5cc8..56e10a67b27 100644
--- a/src/mame/drivers/hh_hmcs40.cpp
+++ b/src/mame/drivers/hh_hmcs40.cpp
@@ -82,6 +82,7 @@ known chips:
*A86 HD44820 1983, Chess King Pocket Micro
*B63 HD44820 1985, CXG Pocket Chess (12 buttons)
+ *A13 HD44840 1982, CXG Computachess II
*A14 HD44840 1982, CXG Computachess II / Advanced Portachess
*B55 HD44860 1987, Saitek Pro Bridge 100
diff --git a/src/mame/drivers/namcos22.cpp b/src/mame/drivers/namcos22.cpp
index 0c9584bfb61..b8bb4369921 100644
--- a/src/mame/drivers/namcos22.cpp
+++ b/src/mame/drivers/namcos22.cpp
@@ -4350,7 +4350,7 @@ ROM_START( ridgera28 )
ROM_REGION( 0x200000, "maincpu", 0 ) /* main program */
ROM_LOAD32_BYTE( "rrs_8_prgll.4d", 0x00003, 0x80000, CRC(c8d2bc61) SHA1(9db734fc45f47e6742ef2a8ba2558efb881df94a) ) // Ridge Racer 2 Standard Date 1994-XX-XX
ROM_LOAD32_BYTE( "rrs_8_prglm.2d", 0x00002, 0x80000, CRC(bb1d23c7) SHA1(feaa1387b7003794c192edef4478636d8b125fef) ) // Early dev or test set? Only uses half of music tracks
- ROM_LOAD32_BYTE( "rrs_8_prgum.8d", 0x00001, 0x80000, CRC(720c854d) SHA1(9c8e2868dd7ef425fdc6f701968b9713bb12b56c) ) // Has extra PCG TEST in service memu
+ ROM_LOAD32_BYTE( "rrs_8_prgum.8d", 0x00001, 0x80000, CRC(720c854d) SHA1(9c8e2868dd7ef425fdc6f701968b9713bb12b56c) ) // Has extra PCG TEST in service menu
ROM_LOAD32_BYTE( "rrs_8_prguu.6d", 0x00000, 0x80000, CRC(fb4b7e8f) SHA1(1919803dbe35a88bbb6b608d0c3ab8daea31f580) )
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
@@ -6217,7 +6217,7 @@ void namcos22s_state::init_dirtdash()
/*********************************************************************************************/
-/* YEAR, NAME, PARENT, MACHINE, INPUT, CLASS, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
+/* YEAR, NAME, PARENT, MACHINE, INPUT, CLASS, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
// System22 games
GAME( 1993, ridgerac, 0, namcos22, ridgera, namcos22_state, init_ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR2 Ver.B, World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1994-01-17
GAME( 1993, ridgeraca, ridgerac, namcos22, ridgera, namcos22_state, init_ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR2, World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // 1993-10-28
@@ -6227,8 +6227,8 @@ GAME( 1993, ridgeracj, ridgerac, namcos22, ridgera, namcos22_state, init_ri
GAME( 1993, ridgeracf, ridgerac, namcos22, ridgeracf, namcos22_state, init_ridgeraj, ROT0, "Namco", "Ridge Racer Full Scale (Rev. RRF2, World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // 1993-12-13, very different version, incomplete dump.
GAME( 1994, ridgera2, 0, namcos22, ridgera2, namcos22_state, init_ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS2, World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-06-21 - NOT labeled "B" but based off Japan Rev.B
GAME( 1994, ridgera2j, ridgera2, namcos22, ridgera2, namcos22_state, init_ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1 Ver.B, Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-06-21
-GAME( 1994, ridgera2ja ,ridgera2, namcos22, ridgera2, namcos22_state, init_ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1, Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-06-13
-GAME( 1994, ridgera28 ,ridgera2, namcos22, ridgera2, namcos22_state, init_ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS8, World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-XX-XX - Test Location / proto??
+GAME( 1994, ridgera2ja, ridgera2, namcos22, ridgera2, namcos22_state, init_ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1, Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-06-13
+GAME( 1994, ridgera28, ridgera2, namcos22, ridgera2, namcos22_state, init_ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS8, World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 1994-XX-XX - Test Location / proto??
GAME( 1994, cybrcomm, 0, cybrcomm, cybrcomm, namcos22_state, init_cybrcomm, ROT0, "Namco", "Cyber Commando (Rev. CY1, Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 10/14/94
GAME( 1995, raverace, 0, namcos22, raveracw, namcos22_state, init_raveracw, ROT0, "Namco", "Rave Racer (Rev. RV2 Ver.B, World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 07/16/95
GAME( 1995, raveracej, raverace, namcos22, raveracw, namcos22_state, init_raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1 Ver.B, Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NODEVICE_LAN ) // 07/16/95