summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/px4.cpp
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2017-11-02 04:53:57 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2017-11-02 04:53:57 +1100
commit4c1a07b26a157363b0bc00d5f63641fa2adb49ae (patch)
tree77d84d7d78d175ba91b9ac7636b1a389d2f58f30 /src/mame/drivers/px4.cpp
parentc435ebb6ad380728a64cbad956cb3c4f3daa0a49 (diff)
(nw) px4 : fixed crash with invalid year
Diffstat (limited to 'src/mame/drivers/px4.cpp')
-rw-r--r--src/mame/drivers/px4.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/mame/drivers/px4.cpp b/src/mame/drivers/px4.cpp
index 0c62cef6176..bea1adc7140 100644
--- a/src/mame/drivers/px4.cpp
+++ b/src/mame/drivers/px4.cpp
@@ -594,16 +594,22 @@ WRITE8_MEMBER( px4_state::sior_w )
{
case 1:
{
- int year = dec_2_bcd(m_time.local_time.year);
- year = (year & 0xff0f) | ((data & 0xf) << 4);
- t->tm_year = bcd_2_dec(year) - 1900;
+ if (data < 10)
+ {
+ int year = dec_2_bcd(m_time.local_time.year);
+ year = (year & 0xff0f) | ((data & 0xf) << 4);
+ t->tm_year = bcd_2_dec(year) - 1900;
+ }
}
break;
case 2:
{
- int year = dec_2_bcd(m_time.local_time.year);
- year = (year & 0xfff0) | (data & 0xf);
- t->tm_year = bcd_2_dec(year) - 1900;
+ if (data < 10)
+ {
+ int year = dec_2_bcd(m_time.local_time.year);
+ year = (year & 0xfff0) | (data & 0xf);
+ t->tm_year = bcd_2_dec(year) - 1900;
+ }
}
break;
case 3: t->tm_mon = bcd_2_dec(data & 0x7f) - 1; break;