summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/msm6242.c
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-04-24 05:56:52 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-04-24 05:56:52 +0000
commit38ee64ae77e633afc7dc7d6a289b6186754c2085 (patch)
treeb85071e0949c78f8e3b8d232043a74d10811f444 /src/emu/machine/msm6242.c
parent14c852c8e90ee84b9f9ffd6aab45797b0650fdab (diff)
From: Lei Wu [mailto:lanewu@hotmail.com]
Subject: fixed official mame bug #426 [Emuman]
Diffstat (limited to 'src/emu/machine/msm6242.c')
-rw-r--r--src/emu/machine/msm6242.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/emu/machine/msm6242.c b/src/emu/machine/msm6242.c
index 978acf84f81..141a0da0c4f 100644
--- a/src/emu/machine/msm6242.c
+++ b/src/emu/machine/msm6242.c
@@ -53,33 +53,29 @@ READ8_HANDLER( msm6242_r )
case MSM6264_REG_H1:
case MSM6264_REG_H10:
{
+ int hour = systime->local_time.hour;
+
/* check for 12/24 hour mode */
if ( (msm6264_reg[2] & 0x04) == 0 ) /* 12 hour mode? */
{
- int hour = systime->local_time.hour;
- int pm = (hour >= 12) ? 1 : 0;
-
- if ( pm ) hour -= 12;
- if ( hour == 0 ) hour = 12;
-
- if ( offset == MSM6264_REG_H1 )
- return hour % 10;
+ hour %= 12;
- return (hour / 10) | (pm << 2);
+ if ( hour == 0 )
+ hour = 12;
}
if ( offset == MSM6264_REG_H1 )
- return systime->local_time.hour % 10;
+ return hour % 10;
- return systime->local_time.hour / 10;
+ return hour / 10;
}
case MSM6264_REG_D1: return systime->local_time.mday % 10;
case MSM6264_REG_D10: return systime->local_time.mday / 10;
case MSM6264_REG_MO1: return (systime->local_time.month+1) % 10;
case MSM6264_REG_MO10: return (systime->local_time.month+1) / 10;
- case MSM6264_REG_Y1: return (systime->local_time.year - 1900) % 10;
- case MSM6264_REG_Y10: return (systime->local_time.year - 1900) / 10;
+ case MSM6264_REG_Y1: return systime->local_time.year % 10;
+ case MSM6264_REG_Y10: return (systime->local_time.year % 100) / 10;
case MSM6264_REG_W: return systime->local_time.weekday;
case MSM6264_REG_CD: return msm6264_reg[0];
case MSM6264_REG_CE: return msm6264_reg[1];