===============================================================
  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