From d27714eeedc25e2efa4bf6105a8ae77c0ce33eb2 Mon Sep 17 00:00:00 2001 From: Robert Sprowson <rsprowson@gitlab.riscosopen.org> Date: Sun, 30 Sep 2012 08:46:20 +0000 Subject: [PATCH] Add *CONFIGURE [No]Num for control over the num lock state STB default = off, desktop default = on. Collapsed single use of 'ErrorsInR0' switch. Version 5.35, 4.79.2.167. Tagged as 'Kernel-5_35-4_79_2_167' --- VersionASM | 10 +++++----- VersionNum | 14 +++++++------- s/Arthur3 | 13 ++++++++++++- s/NewReset | 9 ++++----- s/PMF/osinit | 28 +++++++++------------------- s/PMF/oswrch | 2 +- 6 files changed, 38 insertions(+), 38 deletions(-) diff --git a/VersionASM b/VersionASM index f080fd1..7f1aaa1 100644 --- a/VersionASM +++ b/VersionASM @@ -13,11 +13,11 @@ GBLS Module_ComponentPath Module_MajorVersion SETS "5.35" Module_Version SETA 535 -Module_MinorVersion SETS "4.79.2.166" -Module_Date SETS "21 Sep 2012" -Module_ApplicationDate SETS "21-Sep-12" +Module_MinorVersion SETS "4.79.2.167" +Module_Date SETS "30 Sep 2012" +Module_ApplicationDate SETS "30-Sep-12" Module_ComponentName SETS "Kernel" Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel" -Module_FullVersion SETS "5.35 (4.79.2.166)" -Module_HelpVersion SETS "5.35 (21 Sep 2012) 4.79.2.166" +Module_FullVersion SETS "5.35 (4.79.2.167)" +Module_HelpVersion SETS "5.35 (30 Sep 2012) 4.79.2.167" END diff --git a/VersionNum b/VersionNum index 3fde493..0b29032 100644 --- a/VersionNum +++ b/VersionNum @@ -5,19 +5,19 @@ * */ #define Module_MajorVersion_CMHG 5.35 -#define Module_MinorVersion_CMHG 4.79.2.166 -#define Module_Date_CMHG 21 Sep 2012 +#define Module_MinorVersion_CMHG 4.79.2.167 +#define Module_Date_CMHG 30 Sep 2012 #define Module_MajorVersion "5.35" #define Module_Version 535 -#define Module_MinorVersion "4.79.2.166" -#define Module_Date "21 Sep 2012" +#define Module_MinorVersion "4.79.2.167" +#define Module_Date "30 Sep 2012" -#define Module_ApplicationDate "21-Sep-12" +#define Module_ApplicationDate "30-Sep-12" #define Module_ComponentName "Kernel" #define Module_ComponentPath "castle/RiscOS/Sources/Kernel" -#define Module_FullVersion "5.35 (4.79.2.166)" -#define Module_HelpVersion "5.35 (21 Sep 2012) 4.79.2.166" +#define Module_FullVersion "5.35 (4.79.2.167)" +#define Module_HelpVersion "5.35 (30 Sep 2012) 4.79.2.167" #define Module_LibraryVersionInfo "5:35" diff --git a/s/Arthur3 b/s/Arthur3 index 55aae05..8cc7eeb 100644 --- a/s/Arthur3 +++ b/s/Arthur3 @@ -1236,6 +1236,10 @@ AlternateNoCaps ExpandShCaps Config_NoParm ShCaps, 3, 2, StartCMOS, 1 EndListCapsFrig +AlternateNum + Config_NoParm Num, 7, 0, StartCMOS, 0 +AlternateNoNum + Config_NoParm NoNum, 7, 0, StartCMOS, 1 Config_Field Data, 5, 2, DBTBCMOS Config_Field Delay, 0, 7, KeyDelCMOS Config_Field DumpFormat, 0, 4, PrintSoundCMOS @@ -1956,7 +1960,7 @@ ExitShow LDR r2, [r0, #-4]! ADD r2, r2, r0 ; translation table LDR r0, [r2, r3, LSL #2] - B %BT14 ; go printit + B %BT14 ; go print it AlternateTab & AlternateBoot - ExpandFrig-. @@ -1969,6 +1973,10 @@ AlternateTab & %FT92 -. & ExpandShCaps - ExpandFrig-. & %FT92 -. + & AlternateNum - ExpandFrig-. + & %FT93 -. + & AlternateNoNum - ExpandFrig-. + & %FT93 -. & AlternateLoud - ExpandFrig-. & %FT95 -. & AlternateQuiet - ExpandFrig-. @@ -1990,6 +1998,9 @@ AlternateTab & AlternateCaps -%BT92 & AlternateCaps -%BT92 & AlternateCaps -%BT92 +93 + & AlternateNum -%BT93 + & AlternateNoNum -%BT93 95 & AlternateQuiet -%BT95 & AlternateLoud -%BT95 diff --git a/s/NewReset b/s/NewReset index 195e14d..98378dd 100644 --- a/s/NewReset +++ b/s/NewReset @@ -1034,7 +1034,7 @@ DefaultCMOSTable ; list of non-zero options wanted : = KeyDelCMOS, 32 = KeyRepCMOS, 8 = MODETVCMOS, &10 ; TV 0,1 - = StartCMOS, (2:SHL:3) ; NOCAPS + = StartCMOS, (1:SHL:7):OR:(2:SHL:3) ; NONUM, NOCAPS = DBTBCMOS, (1:SHL:4) ; Boot = YearCMOS, 02 = YearCMOS+1, 20 @@ -1081,10 +1081,9 @@ DefaultCMOSTable ; list of non-zero options wanted : ; Boot (changed from NoBoot 01-Sept-93) ; Data 4 - = StartCMOS, (4:SHL:0) :OR: (2:SHL:3) :OR: (1:SHL:6) - ; Drive 4 (changed from Drive 0 01-Sept-93) - ; NOCAPS (changed from CAPS 02-May-91) - ; NODIR + = StartCMOS, (4:SHL:0) :OR: (2:SHL:3) :OR: (1:SHL:6) :OR: (0:SHL:7) + ; ^ ^ ^ ^ + ; ADFS DR.4 NOCAPS NODIR (moot) NUM [ NewClockChip ; only on A1's! = NewADFSCMOS+1, &FF ; step 3 for each drive diff --git a/s/PMF/osinit b/s/PMF/osinit index 843d7de..5b2c1bc 100644 --- a/s/PMF/osinit +++ b/s/PMF/osinit @@ -14,22 +14,9 @@ ; ; > $.Source.PMF.osinit - GBLL ErrorsInR0 -ErrorsInR0 SETL Module ; if FALSE, use XOS_GenerateError for - ; RAM version - ; if TRUE, return error ptr in R0 - GBLL ProtectStationID ; if TRUE, disallow OSBYTE &A2,0,n ProtectStationID SETL {TRUE}:LAND::LNOT:Embedded_UI - [ STB - ; STB and NC machines probably want Num lock off. -KBStat_Default * KBStat_NoShiftLock :OR: KBStat_NoNumLock - | - ; Desktop machines probably want Num lock on. -KBStat_Default * KBStat_NoShiftLock - ] - ; ***************************************************************************** ExecuteInit ROUT @@ -263,11 +250,14 @@ ReadCMOSDefaults MOV R0, #StartCMOS BL Read - MOVS R0, R0, LSL #(32-5) ; bit 5 -> carry, bit 4 -> N bit - MOVPL R0, #KBStat_Default + KBStat_ShiftEnable ; SHCAPS - MOVMI R0, #KBStat_Default + KBStat_NoCapsLock ; NOCAPS - MOVCS R0, #KBStat_Default ; CAPS - STRB R0, KeyBdStatus + MOVS R1, R0, LSL #(32-5) ; bit 5 -> carry, bit 4 -> N bit + MOVPL R1, #KBStat_NoShiftLock + KBStat_ShiftEnable ; SHCAPS + MOVMI R1, #KBStat_NoShiftLock + KBStat_NoCapsLock ; NOCAPS + MOVCS R1, #KBStat_NoShiftLock ; CAPS + TST R0, #1:SHL:7 ; [NO]NUM + ORRNE R1, R1, #KBStat_NoNumLock + BICEQ R1, R1, #KBStat_NoNumLock + STRB R1, KeyBdStatus [ ModeSelectors BL Read_Configd_MonitorType @@ -454,7 +444,7 @@ ByteVarInitTable = &00 ; ESCBREAK # 1 ; &C8 (200) ; = &00 ; KeyBdDisable # 1 ; &C9 - = KBStat_Default ; KeyBdStatus # 1 ; &CA + = &30 ; KeyBdStatus # 1 ; &CA ; = &11 ; RS423HandShake # 1 ; &CB = &00 ; RS423InputSupr # 1 ; &CC diff --git a/s/PMF/oswrch b/s/PMF/oswrch index 7061703..35ae2b0 100644 --- a/s/PMF/oswrch +++ b/s/PMF/oswrch @@ -88,7 +88,7 @@ PMFWrch ROUT CMP R2, #0 ; (set V=0 for if we drop thru) BLNE SpoolVdu ; yes, then go 45 - [ AssemblingArthur :LOR: ErrorsInR0 + [ AssemblingArthur :LOR: Module Pull "R0-$WrchLimReg, PC", VC ADD R13, R13, #4 Pull "R1-$WrchLimReg, PC" -- GitLab