Difference between revisions of "Dk'tronics Real Time Clock"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Created page with 'Almost nothing known about this. == Info Fragment == Reportedly: DK-Tronics RTC module used a Z80-PIO chip to address the RTC itself as Port A of the PIO, with a 9-pin user i/…')
 
 
(28 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Almost nothing known about this.
+
== Technical ==
  
== Info Fragment ==
+
Contains following components: HD146818P ([[PC compatible RTC chip|PC-style RTC]]), a TMP[[Z80 PIO|Z84C20]]P ([[Z80 PIO]]), 74LS00 (Quad NAND), 74LS138 (demux), 74LS175 (4bit latch), 9pin male DSUB connector (used as an 8bit general-purpose I/O port), and a rechargeable 3.6V battery.
  
Reportedly: DK-Tronics RTC module used a Z80-PIO chip to address the RTC itself
+
  FBE0h  Dk'tronics Real Time Clock - [[Z80 PIO]] Port A Data ([[PC compatible RTC chip|HD146818P]] RTC Data bus)
as Port A of the PIO, with a 9-pin user i/o port as Port B.
+
  FBE1h  Dk'tronics Real Time Clock - [[Z80 PIO]] Port B Data (General Purpose 8bit I/O Port)
 +
  FBE2h  Dk'tronics Real Time Clock - [[Z80 PIO]] Port A Control
 +
  FBE3h  Dk'tronics Real Time Clock - [[Z80 PIO]] Port B Control
 +
  FBE8h  Dk'tronics Real Time Clock - "4bit latch" '''(details unknown)'''
  
== I/O Ports ==
+
PIO Port A seems to be the plain RTC Data Bus, there should be also RTC Read and Write signals, which are maybe found in the '''(details unknown)''' port?
  
   FBE0..FBE3  Dk'tronics Real Time Clock
+
== Software ==
  FBE8        Dk'tronics Real Time Clock
+
 
 +
Included BASIC and CP/M+ drivers:
 +
 
 +
* RSX.BAS (loader) and RSX.BIN (binary)- allows to change the time under BASIC, using following RSX commands
 +
** |SETTIME,yy%,mm%,dd%,dayofweek%,hour%,min%,sec%
 +
** |ASKTIME,@yy%,@mm%,@dd%,@dayofweek%,@hour%,@min%,@sec%
 +
** |POKERTC,index%,value%
 +
** |PEEKRTC,index%,@value%
 +
** |TIMEON,xpos%,ypos%,interval%
 +
** |TIMEOFF
 +
** |ALARMON,hour%,min%,sec%,flag%
 +
** |ALARMOFF
 +
* CLOCK.COM - installs the clock under CP/M+
 +
** Thereafter, it should be accessible with standard DATE command, and, it should add timestamps to files).
 +
** According to english manual, time is set by "CLOCK dd/mm/yy hh/mm/ss" rather than by using the DATE command (?)
 +
** Unknown how the timestamps are stored on disk? The normal AMSDOS filesystem / directory entries don't include timestamps.
 +
** According german manual, something is (the startup message?) "Datomat RTC und Cdos sind Warenzeichen von CMS International" (=Datomat RTC and Cdos are trademarks of CMS International)
 +
 
 +
== Timestamps ==
 +
 
 +
'''Below method uses Directory Entries with User Number 31 for Timestamps. Which should be incompatible with AMSDOS, so it is probably NOT used in the CPC. On the CPC, the timestamps <might> be maybe stored in the bootstrap sectors...?'''
 +
 
 +
Time stamps - P2DOS and CP/M Plus support time stamps, which are stored in each fourth directory entry.
 +
 
 +
This entry contains the time stamps for the extents using the previous three directory entries. Note that you really have time stamps for each extent, no matter if it is the first extent of a file or not. The structure of time stamp entries is:
 +
   1 byte status 0x21
 +
  8 bytes time stamp for third-last directory entry
 +
  2 bytes unused
 +
  8 bytes time stamp for second-last directory entry
 +
  2 bytes unused
 +
  8 bytes time stamp for last directory entry
 +
 
 +
A time stamp consists of two dates: Creation and modification date (the latter being recorded when the file is closed). CP/M Plus further allows optionally to record the access instead of creation date as first time stamp.
 +
  2 bytes (little-endian) days starting with 1 at 01-01-1978
 +
  1 byte hour in BCD format
 +
  1 byte minute in BCD format
 +
 
 +
== Photos ==
 +
 
 +
<gallery caption="dk'tronics Real Time Clock - 464/664 version">
 +
image:RTC 001.jpg
 +
image:RTC 002.jpg
 +
image:RTC 003.jpg
 +
image:RTC 004.jpg
 +
image:RTC 005.jpg
 +
image:RTC 006.jpg
 +
image:RTC 007.jpg
 +
image:RTC 008.jpg
 +
image:RTC 009.jpg
 +
image:RTC 010.jpg
 +
image:RTC 011.jpg
 +
image:RTC 012.jpg
 +
</gallery>
 +
 
 +
<gallery caption="dk'tronics Real Time Clock 300dpi scans by Robcfg - 6128 version">
 +
Image:RTC_Front.jpg|Front
 +
Image:RTC_Back.jpg|Back
 +
Image:RTC_Top.jpg|Top
 +
Image:RTC_Side.jpg|Side
 +
Image:RTC_PCB_Top.jpg|PCB Top
 +
Image:RTC_PCB_Bottom.jpg|PCB Bottom
 +
</gallery>
 +
 
 +
== Reviews ==
 +
 
 +
* Reviewed in [[Amstrad Computer User]], July 1987, pages [[:Image:Amstrad Computer User8707 028.jpg|28]] and [[:Image:Amstrad Computer User8707 029.jpg|29]].
 +
 
 +
== Manuals ==
 +
 
 +
* [[Media:Dktronics RTC Manual English.pdf|Dk'tronics RTC Manual (English)]]
 +
* [[Media:Dktronics RTC Manual German.pdf|Dk'tronics RTC Manual (German)]]
 +
 
 +
== Downloads ==
 +
 
 +
* [[File:DktronicsRtcDriver.zip]] - none such?
 +
 
 +
[[Category:Peripherals]]

Latest revision as of 15:08, 19 December 2010

Technical

Contains following components: HD146818P (PC-style RTC), a TMPZ84C20P (Z80 PIO), 74LS00 (Quad NAND), 74LS138 (demux), 74LS175 (4bit latch), 9pin male DSUB connector (used as an 8bit general-purpose I/O port), and a rechargeable 3.6V battery.

 FBE0h  Dk'tronics Real Time Clock - Z80 PIO Port A Data (HD146818P RTC Data bus)
 FBE1h  Dk'tronics Real Time Clock - Z80 PIO Port B Data (General Purpose 8bit I/O Port)
 FBE2h  Dk'tronics Real Time Clock - Z80 PIO Port A Control
 FBE3h  Dk'tronics Real Time Clock - Z80 PIO Port B Control
 FBE8h  Dk'tronics Real Time Clock - "4bit latch" (details unknown)

PIO Port A seems to be the plain RTC Data Bus, there should be also RTC Read and Write signals, which are maybe found in the (details unknown) port?

Software

Included BASIC and CP/M+ drivers:

  • RSX.BAS (loader) and RSX.BIN (binary)- allows to change the time under BASIC, using following RSX commands
    • |SETTIME,yy%,mm%,dd%,dayofweek%,hour%,min%,sec%
    • |ASKTIME,@yy%,@mm%,@dd%,@dayofweek%,@hour%,@min%,@sec%
    • |POKERTC,index%,value%
    • |PEEKRTC,index%,@value%
    • |TIMEON,xpos%,ypos%,interval%
    • |TIMEOFF
    • |ALARMON,hour%,min%,sec%,flag%
    • |ALARMOFF
  • CLOCK.COM - installs the clock under CP/M+
    • Thereafter, it should be accessible with standard DATE command, and, it should add timestamps to files).
    • According to english manual, time is set by "CLOCK dd/mm/yy hh/mm/ss" rather than by using the DATE command (?)
    • Unknown how the timestamps are stored on disk? The normal AMSDOS filesystem / directory entries don't include timestamps.
    • According german manual, something is (the startup message?) "Datomat RTC und Cdos sind Warenzeichen von CMS International" (=Datomat RTC and Cdos are trademarks of CMS International)

Timestamps

Below method uses Directory Entries with User Number 31 for Timestamps. Which should be incompatible with AMSDOS, so it is probably NOT used in the CPC. On the CPC, the timestamps <might> be maybe stored in the bootstrap sectors...?

Time stamps - P2DOS and CP/M Plus support time stamps, which are stored in each fourth directory entry.

This entry contains the time stamps for the extents using the previous three directory entries. Note that you really have time stamps for each extent, no matter if it is the first extent of a file or not. The structure of time stamp entries is:

 1 byte status 0x21
 8 bytes time stamp for third-last directory entry
 2 bytes unused
 8 bytes time stamp for second-last directory entry
 2 bytes unused
 8 bytes time stamp for last directory entry

A time stamp consists of two dates: Creation and modification date (the latter being recorded when the file is closed). CP/M Plus further allows optionally to record the access instead of creation date as first time stamp.

 2 bytes (little-endian) days starting with 1 at 01-01-1978
 1 byte hour in BCD format
 1 byte minute in BCD format

Photos

Reviews

Manuals

Downloads