Commit bc954604 authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Another fix to split_block

Following hot on the heels of revision 1.1.2.39, when there's more than one block in existance the shuffle up loop trashes v3 & v4, which we need in the calculation just below.
Could just use other registers in the shuffle loop, but we only have ip free at that point, so be lazy and just reload & reextract the flags.
Tested on a softload Kinetic, now the RAM speed flags look sensible and the RAM clear doesn't fall off the end.

Version 5.35, 4.79.2.244. Tagged as 'Kernel-5_35-4_79_2_244'
parent 196bd5c6
......@@ -13,11 +13,11 @@
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.35"
Module_Version SETA 535
Module_MinorVersion SETS "4.79.2.243"
Module_Date SETS "25 Oct 2014"
Module_ApplicationDate SETS "25-Oct-14"
Module_MinorVersion SETS "4.79.2.244"
Module_Date SETS "27 Oct 2014"
Module_ApplicationDate SETS "27-Oct-14"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel"
Module_FullVersion SETS "5.35 (4.79.2.243)"
Module_HelpVersion SETS "5.35 (25 Oct 2014) 4.79.2.243"
Module_FullVersion SETS "5.35 (4.79.2.244)"
Module_HelpVersion SETS "5.35 (27 Oct 2014) 4.79.2.244"
END
......@@ -5,19 +5,19 @@
*
*/
#define Module_MajorVersion_CMHG 5.35
#define Module_MinorVersion_CMHG 4.79.2.243
#define Module_Date_CMHG 25 Oct 2014
#define Module_MinorVersion_CMHG 4.79.2.244
#define Module_Date_CMHG 27 Oct 2014
#define Module_MajorVersion "5.35"
#define Module_Version 535
#define Module_MinorVersion "4.79.2.243"
#define Module_Date "25 Oct 2014"
#define Module_MinorVersion "4.79.2.244"
#define Module_Date "27 Oct 2014"
#define Module_ApplicationDate "25-Oct-14"
#define Module_ApplicationDate "27-Oct-14"
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "castle/RiscOS/Sources/Kernel"
#define Module_FullVersion "5.35 (4.79.2.243)"
#define Module_HelpVersion "5.35 (25 Oct 2014) 4.79.2.243"
#define Module_FullVersion "5.35 (4.79.2.244)"
#define Module_HelpVersion "5.35 (27 Oct 2014) 4.79.2.244"
#define Module_LibraryVersionInfo "5:35"
......@@ -308,7 +308,7 @@ not_bottom
split_block
MOV v7, a4
30 TEQ v7, v8 ; shuffle up subsequent blocks in table
LDMNEDB v7, {v3, v4}
LDMDB v7, {v3, v4}
STMNEIA v7, {v3, v4}
SUBNE v7, v7, #8
BNE %BT30
......@@ -316,6 +316,8 @@ split_block
ADD a4, a4, #8
STR v5, [a4]
MOV v4, v4, LSL #20 ; (re)extract flags
SUB v7, v1, v3 ; v7 = size of first half
SUB v6, v6, v2 ; v6 = size of second half
ORR v7, v7, v4, LSR #20
......
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