Changes
This is the documentation about the '''realtime clock''' of the [[SYMBiFACE II]] expansion card.
== Ports ==
* #FD15 (read only) register select
* #FD14 (read/write) read from or write into selected register
== Registers ==
<pre>
Number Content Values
#00 actual second 00-59 (bcd or binary)
#01 alarm second 00-59 (bcd or binary)
#02 actual minute 00-59 (bcd or binary)
#03 alarm minute 00-59 (bcd or binary)
#04 actual hour 00-23 (bcd or binary)
#05 alarm hour 00-23 (bcd or binary)
#06 day of the week ??
#07 day of the month 01-31 (bcd or binary)
#08 month 01-12 (bcd or binary)
#09 year 00-99 (bcd or binary)
#0A status A see below
#0B status B see below
#0C status C see below
#0D status D see below
#32 millenium 19 or 20 (bcd or binary)
#?? memory all other registers can be freely used as persistent memory
</pre>
== Status registers ==
* '''Status A'''
<pre>
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 beeing updated at the moment, so don't read it!
</pre>
* '''Status B'''
<pre>
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!
</pre>
* '''Status C'''
<pre>
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)
</pre>
* '''Status D'''
<pre>
bit7 0 = battery is nearly empty, please charge or replace
</pre>
== Ports ==
* #FD15 (read only) register select
* #FD14 (read/write) read from or write into selected register
== Registers ==
<pre>
Number Content Values
#00 actual second 00-59 (bcd or binary)
#01 alarm second 00-59 (bcd or binary)
#02 actual minute 00-59 (bcd or binary)
#03 alarm minute 00-59 (bcd or binary)
#04 actual hour 00-23 (bcd or binary)
#05 alarm hour 00-23 (bcd or binary)
#06 day of the week ??
#07 day of the month 01-31 (bcd or binary)
#08 month 01-12 (bcd or binary)
#09 year 00-99 (bcd or binary)
#0A status A see below
#0B status B see below
#0C status C see below
#0D status D see below
#32 millenium 19 or 20 (bcd or binary)
#?? memory all other registers can be freely used as persistent memory
</pre>
== Status registers ==
* '''Status A'''
<pre>
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 beeing updated at the moment, so don't read it!
</pre>
* '''Status B'''
<pre>
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!
</pre>
* '''Status C'''
<pre>
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)
</pre>
* '''Status D'''
<pre>
bit7 0 = battery is nearly empty, please charge or replace
</pre>