Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
RiscOS
S
Sources
HWSupport
RTCAdjust
Commits
279177ce
Commit
279177ce
authored
27 years ago
by
Kevin Bracey
Browse files
Options
Download
Email Patches
Plain Diff
Version RO_3_71 taken
parent
a0f37cd9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
1 deletion
+31
-1
s/RTC
s/RTC
+31
-1
No files found.
s/RTC
View file @
279177ce
...
...
@@ -27,6 +27,8 @@
; (no change to object)
; 27-Mar-91 ECN Internationalised
; 21-May-93 TMD Applied "-1" correction to timer latch programming
; 31-Jan-97 MJS Fix the bug that means CallEvery is requested twice
; (see SingleCallEveryFix)
GET
Hdr:ListOpts
GET
Hdr:Macros
...
...
@@ -43,6 +45,15 @@
LEADR
Module_LoadAddr
;Fix bug such that CallEvery is requested twice during start-up - once
;on module init, once when ServiceReset is seen. This is a latent bug
;since RO 3.1. It means that corrections are done on the very short
;period between the double CallEvery's, and may inject very large time
;rate variations (which then are not recorrected until the next main
;period, currently 1 hour).
GBLL
SingleCallEveryFix
SingleCallEveryFix
SETL
{TRUE}
TAB
*
9
LF
*
10
FF
*
12
...
...
@@ -75,6 +86,9 @@ RTCCentiLo # 4
RTCCentiHi
#
4
IOCCentiLo
#
4
IOCCentiHi
#
4
[
SingleCallEveryFix
NCorrections
#
4
;no. of corrections made - just to aid test monitoring
]
MessageFile_Block
#
16
MessageFile_Open
#
4
...
...
@@ -123,7 +137,7 @@ RTC_Title
RTC_HelpStr
=
"RTCAdjust"
=
TAB
=
"0.0
4
(
2
1
May
199
3
)"
,
0
=
"0.0
5
(
3
1
Jan
199
7
)"
,
0
ALIGN
; **************************************************************************
...
...
@@ -222,6 +236,9 @@ DoInit ENTRY
MOV
R0
,
#
0
STR
R0
,
CallBackPending
STR
R0
,
FailureMode
[
SingleCallEveryFix
STR
R0
,
NCorrections
]
BL
InitVars
EXIT
VS
...
...
@@ -235,6 +252,14 @@ DoInit ENTRY
SWI
XOS_Claim
EXIT
VS
[
SingleCallEveryFix
;remove previous request if any, in case this is the second
;request on start-up (one from module init, one from Service_Reset)
ADR
R0
,
MyCallEvery
MOV
R1
,
R12
SWI
XOS_RemoveTickerEvent
]
LDR
R0
,
=
Period
-
1
; adjust for bug
ADR
R1
,
MyCallEvery
MOV
R2
,
R12
...
...
@@ -468,6 +493,11 @@ Recalibrate ENTRY "R0-R9"
ADD
R13
,
R13
,
#
2
*
4
99
STR
R0
,
FailureMode
[
SingleCallEveryFix
LDR
R0
,
NCorrections
ADD
R0
,
R0
,
#
1
STR
R0
,
NCorrections
]
EXIT
; **************************************************************************
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment