diff --git a/src/pit.c b/src/pit.c index a9099cfca..6045fd842 100644 --- a/src/pit.c +++ b/src/pit.c @@ -662,11 +662,11 @@ pit_read_reg(void *priv, uint8_t reg) this register is structured. Update: But the SiS 5571 datasheet is clear. */ ret = (dev->counters[0].rm & 0x80) ? 0x01 : 0x00; - ret = (dev->counters[1].rm & 0x80) ? 0x02 : 0x00; - ret = (dev->counters[2].rm & 0x80) ? 0x04 : 0x00; - ret = (dev->counters[0].wm & 0x80) ? 0x08 : 0x00; - ret = (dev->counters[1].wm & 0x80) ? 0x10 : 0x00; - ret = (dev->counters[2].wm & 0x80) ? 0x20 : 0x00; + ret |= (dev->counters[1].rm & 0x80) ? 0x02 : 0x00; + ret |= (dev->counters[2].rm & 0x80) ? 0x04 : 0x00; + ret |= (dev->counters[0].wm & 0x80) ? 0x08 : 0x00; + ret |= (dev->counters[1].wm & 0x80) ? 0x10 : 0x00; + ret |= (dev->counters[2].wm & 0x80) ? 0x20 : 0x00; break; }