=============================================================== PC TIMER - ADDITIONAL INFORMATION =============================================================== APRIL 2015 The following information was provided by Maelgrum of the Vintage Computer Forums. --------------------------- PC Timer - version 1.0 --------------------------- Base Ports: 0x240, 0x340 (auto scanned) Chip port addressing: direct, 16 ports Chip: NS MM58167 (UMC UM82C8167) Ports map (offset from base port): +0x01 Counter - Hundredths and Tenth of seconds - read only - used for RTC port detection. Port readed, and if it is lower or equal than 0x99 - RTC detected +0x02 Counter - Seconds (bcd, 0x00..0x59) +0x03 Counter - Minutes (bcd, 0x00..0x59) +0x04 Counter - Hours (bcd, 0x00..0x23) +0x06 Counter - Day of month (bcd, 0x01..0x31) +0x07 Counter - Month (bcd, 0x01..0x12) +0x08 RAM - used as following - (0x90-JAN, 0xA0-FEB,0xB0-MAR,0xC0-APR,0xD0-MAY,0xE0-JUN,0xF0- all other months). +0x09 RAM - used as year storage (bcd, 0x00..0x99) --------------------------- PC Timer - version 1.2 --------------------------- Changes: Hundredths and Tenth of seconds usage supported Day of Week supported Base port list changed Base Ports: 0x240, 0x0C0 (auto scanned) Chip port addressing: direct, 16 ports Chip: NS MM58167 (UMC UM82C8167) Ports map (offset from base port): +0x01 Counter - Hundredths and Tenth of seconds. (bcd, 0x00..0x99) +0x02 Counter - Seconds (bcd, 0x00..0x59) +0x03 Counter - Minutes (bcd, 0x00..0x59) +0x04 Counter - Hours (bcd, 0x00..0x23) +0x05 Counter - Day of week (bcd, 0x01..0x07) (0x01 - Sun, 0x02 - Mon … 0x07 - Sat) +0x06 Counter - Day of month (bcd, 0x01..0x31) +0x07 Counter - Month (bcd, 0x01..0x12) +0x08 RAM - used as following - (0x90-JAN, 0xA0-FEB,0xB0-MAR,0xC0-APR,0xD0-MAY,0xE0-JUN,0xF0- all other months). +0x09 RAM - used as year storage (bcd, 0x00..0x99) --------------------------- PC Timer - version 1.3 --------------------------- Changes: Base port list changed Base Ports: 0x240, 0x340, 0x250, 0x350 (auto scanned) Chip port addressing: direct, 16 ports Chip: NS MM58167 (UMC UM82C8167) Ports map - as in version 1.2 --------------------------- PC Timer - version 2.X --------------------------- Base Ports: 0x240, 0x340 - NS MM58167 Chip port addressing: direct, 16 ports Ports map - as in version 1.2 Base Ports: 0x2C0 - NS MM58167 Chip port addressing: direct, 32 ports Ports map (offset from base port): +0x01 Counter - Hundredths and Tenth of seconds. (bcd, 0x00..0x99) +0x02 Counter - Seconds (bcd, 0x00..0x59) +0x03 Counter - Minutes (bcd, 0x00..0x59) +0x04 Counter - Hours (bcd, 0x00..0x23) +0x05 Counter - Day of week (bcd, 0x00..0x06) (0x00 - Sun, 0x01 - Mon … 0x06 - Sat) +0x06 Counter - Day of month (bcd, 0x01..0x31) +0x07 Counter - Month (bcd, 0x01..0x12) +0x09 RAM - Month copy (bcd, 0x01..0x12) +0x0A RAM - Year minus 80 (bcd, 0x00..0x99) (0x00 is 1980, 0x01 is 1981 e.t.c.) +0x0B RAM - write 0xDE +0x12 Counters reset +0x14 Status bit Base Ports: 0x2C0 - NS MM58167 Chip port addressing: latched (0x2C0 - addr, 0x2C1 - data) Ports map - as previous Base Ports: 0x2C0 - unknown RTC chip, with exotic control protocol Chip port addressing: latched, 0x2C0 - control, 0x2C1 - data