diff options
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 |
commit | 4c1a07b26a157363b0bc00d5f63641fa2adb49ae (patch) | |
tree | 77d84d7d78d175ba91b9ac7636b1a389d2f58f30 /src/mame/drivers/px4.cpp | |
parent | c435ebb6ad380728a64cbad956cb3c4f3daa0a49 (diff) |
(nw) px4 : fixed crash with invalid year
Diffstat (limited to 'src/mame/drivers/px4.cpp')
-rw-r--r-- | src/mame/drivers/px4.cpp | 18 |
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; |