diff --git a/VersionASM b/VersionASM index f080fd1071eccfc05d2dfe5ea3398bddc938a58a..7f1aaa150f0a8481e9c1e1f02b182d31f61efd0d 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 3fde493cb82a0a330af6de52af91d5f0869a48e0..0b290327c155871947e31c64e51fe8db39a80ed3 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 55aae05db311d7daf3076afb1b02057f240d0ead..8cc7eeb8dd8d9f1fddf9697bd45c7a413fdf47fe 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 195e14d020e4b23087a5d0a52da18682c3a30e1f..98378dd969d095217cb951488f8140b586b5d432 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 843d7deb5742554cd0ead5b1c0f1fb54a5ddd455..5b2c1bc349c87f08b92668d88e1edbbc3a91dc4b 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 706170317bf68125d084973171b5b7aafc82b903..35ae2b071d0cb8546cd49ddd6d67d3cd08b65ad7 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"