Source
...
Target
Commits (1)
  • Jeffrey Lee's avatar
    Re-evaluate AutoDST state when RTC is synchronised · 75c69878
    Jeffrey Lee authored
    Detail:
      s/Daylight, s/ModHead - On Service_RTCSynchronised, re-evaluate the current DST state if AutoDST is enabled. Should help ensure that the DST state remains correct whenever OS_ResyncTime is used to reset the soft RTC.
    Admin:
      Tested in Iyonix ROM image
    
    
    Version 0.57. Tagged as 'Manager-0_57'
    75c69878
...@@ -11,13 +11,13 @@ ...@@ -11,13 +11,13 @@
GBLS Module_HelpVersion GBLS Module_HelpVersion
GBLS Module_ComponentName GBLS Module_ComponentName
GBLS Module_ComponentPath GBLS Module_ComponentPath
Module_MajorVersion SETS "0.56" Module_MajorVersion SETS "0.57"
Module_Version SETA 56 Module_Version SETA 57
Module_MinorVersion SETS "" Module_MinorVersion SETS ""
Module_Date SETS "24 Nov 2013" Module_Date SETS "12 Nov 2017"
Module_ApplicationDate SETS "24-Nov-13" Module_ApplicationDate SETS "12-Nov-17"
Module_ComponentName SETS "Manager" Module_ComponentName SETS "Manager"
Module_ComponentPath SETS "castle/RiscOS/Sources/Internat/Territory/Manager" Module_ComponentPath SETS "castle/RiscOS/Sources/Internat/Territory/Manager"
Module_FullVersion SETS "0.56" Module_FullVersion SETS "0.57"
Module_HelpVersion SETS "0.56 (24 Nov 2013)" Module_HelpVersion SETS "0.57 (12 Nov 2017)"
END END
/* (0.56) /* (0.57)
* *
* This file is automatically maintained by srccommit, do not edit manually. * This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1. * Last processed by srccommit version: 1.1.
* *
*/ */
#define Module_MajorVersion_CMHG 0.56 #define Module_MajorVersion_CMHG 0.57
#define Module_MinorVersion_CMHG #define Module_MinorVersion_CMHG
#define Module_Date_CMHG 24 Nov 2013 #define Module_Date_CMHG 12 Nov 2017
#define Module_MajorVersion "0.56" #define Module_MajorVersion "0.57"
#define Module_Version 56 #define Module_Version 57
#define Module_MinorVersion "" #define Module_MinorVersion ""
#define Module_Date "24 Nov 2013" #define Module_Date "12 Nov 2017"
#define Module_ApplicationDate "24-Nov-13" #define Module_ApplicationDate "12-Nov-17"
#define Module_ComponentName "Manager" #define Module_ComponentName "Manager"
#define Module_ComponentPath "castle/RiscOS/Sources/Internat/Territory/Manager" #define Module_ComponentPath "castle/RiscOS/Sources/Internat/Territory/Manager"
#define Module_FullVersion "0.56" #define Module_FullVersion "0.57"
#define Module_HelpVersion "0.56 (24 Nov 2013)" #define Module_HelpVersion "0.57 (12 Nov 2017)"
#define Module_LibraryVersionInfo "0:56" #define Module_LibraryVersionInfo "0:57"
...@@ -67,6 +67,7 @@ daylight_modify_cmos ROUT ...@@ -67,6 +67,7 @@ daylight_modify_cmos ROUT
; Called when * callback expires ; Called when * callback expires
; * the territory is set ; * the territory is set
; * the timezone or DST CMOS is set ; * the timezone or DST CMOS is set
; * the soft RTC is resynchronised with hard RTC
; Note that using OS_Word 15 behind our back is not trapped, you must ; Note that using OS_Word 15 behind our back is not trapped, you must
; set the time with SWI Territory_SetTime when using auto switch over. ; set the time with SWI Territory_SetTime when using auto switch over.
; In: Nothing ; In: Nothing
......
...@@ -477,7 +477,7 @@ Init ...@@ -477,7 +477,7 @@ Init
CMP r2, #0 CMP r2, #0
ADREQ r0, Path ADREQ r0, Path
ADREQ r1, PathDefault ADREQL r1, PathDefault
MOVEQ r2, #?PathDefault MOVEQ r2, #?PathDefault
MOVEQ r3, #0 MOVEQ r3, #0
MOVEQ r4, #VarType_String MOVEQ r4, #VarType_String
...@@ -602,12 +602,14 @@ Die ...@@ -602,12 +602,14 @@ Die
; ;
ASSERT Service_UKWord < Service_UKConfig ASSERT Service_UKWord < Service_UKConfig
ASSERT Service_UKConfig < Service_PostInit ASSERT Service_UKConfig < Service_PostInit
ASSERT Service_PostInit < Service_RTCSynchronised
UServTab UServTab
DCD 0 ;flags DCD 0 ;flags
DCD UService - Module_BaseAddr DCD UService - Module_BaseAddr
DCD Service_UKWord DCD Service_UKWord
DCD Service_UKConfig DCD Service_UKConfig
DCD Service_PostInit DCD Service_PostInit
DCD Service_RTCSynchronised
DCD 0 DCD 0
DCD UServTab - Module_BaseAddr ;anchor DCD UServTab - Module_BaseAddr ;anchor
Service Service
...@@ -630,6 +632,9 @@ UService ...@@ -630,6 +632,9 @@ UService
TEQ R1,#Service_UKConfig TEQ R1,#Service_UKConfig
BEQ svc_UKConfig BEQ svc_UKConfig
TEQ R1,#Service_RTCSynchronised
BEQ svc_RTCSynchronised
MOV PC,LR MOV PC,LR
message_filename message_filename
...@@ -780,7 +785,7 @@ svc_PostInit ...@@ -780,7 +785,7 @@ svc_PostInit
; Check to see if it is netfs ; Check to see if it is netfs
TEQ r0,#fsnumber_net TEQ r0,#fsnumber_net
ADRNE R1,territory_path ; Look for territory on configured device (not NetFS). ADRNEL R1,territory_path ; Look for territory on configured device (not NetFS).
ADRNE R2,messages_path ADRNE R2,messages_path
BNE load_files BNE load_files
...@@ -792,7 +797,7 @@ svc_PostInit ...@@ -792,7 +797,7 @@ svc_PostInit
BVS load_error BVS load_error
ADR R1,netfsterr_path ; Look for territory on NetFS. ADR R1,netfsterr_path ; Look for territory on NetFS.
ADR R2,netfsmess_path ADRL R2,netfsmess_path
; No errors so far, try and load territory files. ; No errors so far, try and load territory files.
; First load the territory module. ; First load the territory module.
...@@ -1009,6 +1014,14 @@ territory_present ...@@ -1009,6 +1014,14 @@ territory_present
Pull "r0-r9,PC" Pull "r0-r9,PC"
svc_RTCSynchronised ROUT
Entry "r0"
; Do an AutoDST check
BL daylight_switch_check
CLRV
EXIT
switch_pointer ; Switch pointer based on r1, return old in r1 but preserve flags! switch_pointer ; Switch pointer based on r1, return old in r1 but preserve flags!
EntryS EntryS
MOV r0, #OsByte_SelectPointer MOV r0, #OsByte_SelectPointer
......