Commit 429c241b authored by Simon Middleton's avatar Simon Middleton
Browse files

1) Added a new reason code to ScreenBlanker_Control called

ReReadTimeout. This is like SetTimeout but uses the value
from CMOS as the new value and so can be called to refresh the
timeout when NVRAM has been changed.
2) Implemented a simple *Configure BlankTime but since it is
not needed for the purpose it was written (3rd party) it's
currently conditioned out.
3) Used srccommit.

Version 2.28. Tagged as 'ScrBlank-2_28'
parent 01a3de37
; > Version
; 18-May-95 2.18 WT Updated to provide power-switching of an LCD
; panel when blanked/unblanked.
; 13-Jul-95 2.19 RCM Implement ScreenDim for Stork.
; 28-Jul-95 2.20 RCM Further ScreenDim work.
;
GBLA Version
GBLS VString
GBLS Date
Version SETA 227
VString SETS "2.27"
Date SETS "19 Oct 1998"
END
......@@ -6,9 +6,9 @@
GBLS Module_MinorVersion
GBLS Module_Date
GBLS Module_FullVersion
Module_MajorVersion SETS "2.27"
Module_Version SETA 227
Module_MajorVersion SETS "2.28"
Module_Version SETA 228
Module_MinorVersion SETS ""
Module_Date SETS "21 May 1999"
Module_FullVersion SETS "2.27"
Module_FullVersion SETS "2.28"
END
/* (2.27)
/* (2.28)
*
* This file is automatically maintained by srccommit, do not edit manually.
*
*/
#define Module_MajorVersion_CMHG 2.27
#define Module_MajorVersion_CMHG 2.28
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 21 May 1999
#define Module_MajorVersion "2.27"
#define Module_Version 227
#define Module_MajorVersion "2.28"
#define Module_Version 228
#define Module_MinorVersion ""
#define Module_Date "21 May 1999"
#define Module_FullVersion "2.27"
#define Module_FullVersion "2.28"
......@@ -45,6 +45,7 @@ ScreenBlankerReason_SetDimTime * 6 ;
ScreenBlankerReason_ReadDimTime * 7 ;
ScreenBlankerReason_StrictBlank * 8
ScreenBlankerReason_StrictUnblank * 9
ScreenBlankerReason_ReReadTimeout * 10 ; New for 3rd party
OPT OldOpt
END
......@@ -84,12 +84,15 @@ CheckTiming SETL DebugServices :LAND: True
GBLL NewService
NewService SETL True
GBLL ConfSupport
ConfSupport SETL False
[ Debugging
Host_Debug SETL True
Debug_MaybeIRQ SETL True
]
GET Version
GET VersionASM
TicksPerSec * 5
TickDelta * 100 / TicksPerSec
......@@ -104,7 +107,7 @@ StrBuffLen * 20
BlTime * 10*60 ; Default delay.
FirstReason * ScreenBlankerReason_Blank
LastReason * ScreenBlankerReason_StrictUnblank
LastReason * ScreenBlankerReason_ReReadTimeout
; Workspace
......@@ -175,7 +178,11 @@ Module_BaseAddr
TitleStr DCB "ScreenBlanker", 0
ALIGN
HelpStr DCB "ScreenBlanker", 9, "$VString ($Date)", 0
HelpStr DCB "ScreenBlanker", 9, "$Module_MajorVersion ($Module_Date)"
[ "$Module_MinorVersion" <> ""
DCB " $Module_MinorVersion"
]
DCB 0
ALIGN
SWINames
......@@ -217,6 +224,7 @@ SWIDecode
]
B Go_Standby
B Go_Online
B Go_ReReadTimeout
;; NOTREACHED
......@@ -376,6 +384,18 @@ Go_ReadDimTime
Pull "PC"
]
Go_ReReadTimeout
MOV R0,#ReadCMOS
MOV R1,#Misc1CMOS
SWI XOS_Byte
EXIT VS
AND R2, R2, #2_00111000
ADR R1, BlankTimes
LDR R1, [R1, R2, LSR #1] ; R0 is time in centiseconds
B Go_SetTimeout
Command
DCB "BlankTime", 0
ALIGN
......@@ -390,6 +410,14 @@ Command
DCD &0001FF00:OR:International_Help ;0..1 parameters
DCD DimTimeSyn - Module_BaseAddr
DCD DimTimeHlp - Module_BaseAddr
]
[ ConfSupport
DCB "BlankTime", 0
ALIGN
DCD CBlankTime - Module_BaseAddr
DCD &0001FF01:OR:International_Help:OR:Status_Keyword_Flag ;1 parameter
DCD 0
DCD 0
]
DCD 0 ; No more cmd's
......@@ -411,6 +439,72 @@ BlankTimeSyn
]
ALIGN
[ ConfSupport
CBlankTime ENTRY
LDR R12, [R12] ; get workspace pointer
CMP R0, #0
EXITS EQ ; should never happen
CMP R0, #1
BEQ CPrintTime ; *status BlankTime
MOV R1,R0 ; Move strpointer to R1
MOV R0,#(1<<29) ; Check 0<=$R1<=7
MOV R2,#7
SWI XOS_ReadUnsigned
EXIT VS
MOV R3, R2 ; save new blanktime in R3
MOV R0,#ReadCMOS
MOV R1,#Misc1CMOS
SWI XOS_Byte
EXIT VS
BIC R2, R2, #2_00111000 ; write new blanktime to CMOS
ORR R2, R2, R3, LSL #3
MOV R0,#WriteCMOS
MOV R1,#Misc1CMOS
SWI XOS_Byte
EXIT VS
ADR R0, BlankTimes ; update our vars
LDR R1, [R0, R3, LSL #2] ; R0 is time in centiseconds
BL Subr_SetTimeout
EXITS
CPrintTime
MOV R0,#ReadCMOS
MOV R1,#Misc1CMOS
SWI XOS_Byte
EXIT VS
MOV R0, R2, LSR #3 ; write blanktime code to StrBuff
AND R0, R0, #2_00000111
ADR R1, StrBuff
MOV R2, #StrBuffLen
SWI XOS_BinaryToDecimal
EXIT VS
MOV R4, R1 ; terminate blanktime
MOV R0, #0
STRB R0, [R4, R2]
SUB sp, sp, #80 ; write with prefix
BL openmsgfile
LDRVC r0, messagefilehand
ADRVC R1, CBlnkTim
MOVVC r2, sp
MOVVC r3, #80
SWIVC XMessageTrans_Lookup
MOVVC r0, r2
SWIVC XOS_Write0
ADD sp, sp, #80
SWIVC XOS_NewLine
EXIT
]
BlankTime ENTRY
LDR R12, [R12] ; get workspace pointer
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment