(→See also) |
(→Software) |
||
(21 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This is the documentation about the '''realtime clock''' of the [[SYMBiFACE II]] expansion card. | This is the documentation about the '''realtime clock''' of the [[SYMBiFACE II]] expansion card. | ||
− | + | SYMBiFACE II uses a Dallas DS12887A RTC chip. [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/real-time-clock-board/msg249380/#msg249380 Source] | |
− | + | ||
− | + | This chip is a modernized version of the MC146818, the original RTC chip used in the IBM PC/AT. It includes a built-in battery and crystal. It is a [[PC compatible RTC chip]] and is programmed in the same way. | |
− | + | It has 14 bytes of registers and 114 bytes of battery-backed static RAM. Century register doesn't exist on this particular model. The chip also provides time-of-day alarm, three maskable interrupts with a common interrupt output, and a programmable square wave output. | |
+ | |||
+ | It has hardcoded daylight saving adjustment, 24-hour and 12-hour format modes, binary and BCD format modes. | ||
== Ports == | == Ports == | ||
Line 16: | Line 17: | ||
<pre> | <pre> | ||
Number Content Values | Number Content Values | ||
− | #00 actual second 00-59 | + | #00 actual second 00-59 |
− | #01 alarm second 00-59 | + | #01 alarm second 00-59 |
− | #02 actual minute 00-59 | + | #02 actual minute 00-59 |
− | #03 alarm minute 00-59 | + | #03 alarm minute 00-59 |
− | #04 actual hour 00-23 | + | #04 actual hour 00-23 |
− | #05 alarm hour 00-23 | + | #05 alarm hour 00-23 |
− | #06 day of the week | + | #06 day of the week 01-07 |
− | #07 day of the month 01-31 | + | #07 day of the month 01-31 |
− | #08 month 01-12 | + | #08 month 01-12 |
− | #09 year 00-99 | + | #09 year 00-99 |
#0A status A see below | #0A status A see below | ||
#0B status B see below | #0B status B see below | ||
#0C status C see below | #0C status C see below | ||
#0D status D see below | #0D status D see below | ||
− | + | #?? memory all other registers from #0E to #7F can be freely used as persistent memory | |
− | #?? memory all other registers can be freely used as persistent memory | + | |
</pre> | </pre> | ||
− | + | Note: Register B, Bit 2 allows to select BCD or Binary mode for registers 0..9 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
Note 1: In the discmag [[Future View IV]] a proposal is given how to use the non volatile RAM of the SYMBiFACE II and the CPC-Booster+. | Note 1: In the discmag [[Future View IV]] a proposal is given how to use the non volatile RAM of the SYMBiFACE II and the CPC-Booster+. | ||
Line 80: | Line 71: | ||
== Software == | == Software == | ||
− | The RTC of the SYMBiFACE II is supported by | + | The RTC of the SYMBiFACE II is supported by [[FutureOS]], [[SymbOS]], [[HDCPM]]. |
− | + | ||
− | + | ||
− | + | ||
== See also == | == See also == |
Contents
Latest revision as of 06:18, 4 April 2025
This is the documentation about the realtime clock of the SYMBiFACE II expansion card.
SYMBiFACE II uses a Dallas DS12887A RTC chip. Source
This chip is a modernized version of the MC146818, the original RTC chip used in the IBM PC/AT. It includes a built-in battery and crystal. It is a PC compatible RTC chip and is programmed in the same way.
It has 14 bytes of registers and 114 bytes of battery-backed static RAM. Century register doesn't exist on this particular model. The chip also provides time-of-day alarm, three maskable interrupts with a common interrupt output, and a programmable square wave output.
It has hardcoded daylight saving adjustment, 24-hour and 12-hour format modes, binary and BCD format modes.
Ports
- #FD15 (write only) register select
- #FD14 (read/write) read from or write into selected register
Registers
Number Content Values #00 actual second 00-59 #01 alarm second 00-59 #02 actual minute 00-59 #03 alarm minute 00-59 #04 actual hour 00-23 #05 alarm hour 00-23 #06 day of the week 01-07 #07 day of the month 01-31 #08 month 01-12 #09 year 00-99 #0A status A see below #0B status B see below #0C status C see below #0D status D see below #?? memory all other registers from #0E to #7F can be freely used as persistent memory
Note: Register B, Bit 2 allows to select BCD or Binary mode for registers 0..9
Note 1: In the discmag Future View IV a proposal is given how to use the non volatile RAM of the SYMBiFACE II and the CPC-Booster+.
Status registers
- Status A
bit0-3 [not used] interrupt frequency bit4-6 time frequency (must be 010; if not, set it to this value, otherwise the RTC will not work correctly) bit7 1 = time is being updated at the moment, so don't read it!
- Status B
bit0 1 = take summer time into account bit1 0 = 12 hours time format, 1 = 24 hours time format bit2 0 = all values in BCD format, 1 = all values in binary format bit3 1 = [not used] activate rectangle generator bit4 1 = [not used] generate interrupt after time update bit5 1 = [not used] generate interrupt if alarm bit6 1 = [not used] generate periodic interrupt (see status A, bit0-3) bit7 1 = stop time update; set this, during you update the time and reset it after the update!
- Status C
bit4 1 = [not used] interrupt has been generated because of time update (see status B, bit4) bit5 1 = [not used] interrupt has been generated because of alarm (see status B, bit5) bit6 1 = [not used] interrupt has been generated because of periodic (see status B, bit6)
- Status D
bit7 0 = battery is nearly empty, please charge or replace