Commit 180b700dc7227d454d30656662912c79ffc3a62f
1 parent
55e4f664
clock year fix for sparc (Blue Swirl)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1963 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
8 additions
and
2 deletions
hw/m48t59.c
@@ -332,7 +332,10 @@ void m48t59_write (m48t59_t *NVRAM, uint32_t addr, uint32_t val) | @@ -332,7 +332,10 @@ void m48t59_write (m48t59_t *NVRAM, uint32_t addr, uint32_t val) | ||
332 | tmp = fromBCD(val); | 332 | tmp = fromBCD(val); |
333 | if (tmp >= 0 && tmp <= 99) { | 333 | if (tmp >= 0 && tmp <= 99) { |
334 | get_time(NVRAM, &tm); | 334 | get_time(NVRAM, &tm); |
335 | - tm.tm_year = fromBCD(val); | 335 | + if (NVRAM->type == 8) |
336 | + tm.tm_year = fromBCD(val) + 68; // Base year is 1968 | ||
337 | + else | ||
338 | + tm.tm_year = fromBCD(val); | ||
336 | set_time(NVRAM, &tm); | 339 | set_time(NVRAM, &tm); |
337 | } | 340 | } |
338 | break; | 341 | break; |
@@ -421,7 +424,10 @@ uint32_t m48t59_read (m48t59_t *NVRAM, uint32_t addr) | @@ -421,7 +424,10 @@ uint32_t m48t59_read (m48t59_t *NVRAM, uint32_t addr) | ||
421 | case 0x1FFF: | 424 | case 0x1FFF: |
422 | /* year */ | 425 | /* year */ |
423 | get_time(NVRAM, &tm); | 426 | get_time(NVRAM, &tm); |
424 | - retval = toBCD(tm.tm_year); | 427 | + if (NVRAM->type == 8) |
428 | + retval = toBCD(tm.tm_year - 68); // Base year is 1968 | ||
429 | + else | ||
430 | + retval = toBCD(tm.tm_year); | ||
425 | break; | 431 | break; |
426 | default: | 432 | default: |
427 | /* Check lock registers state */ | 433 | /* Check lock registers state */ |