Commit 701872a3 authored by Stewart Brodie's avatar Stewart Brodie
Browse files

The check I added in the previous version didn't work :-(

Detail:
  R12 cannot be corrupted until FileSwitch is committed to starting the
    new application.  Changed code to not use R12 any more until it is
    100% sure that the application is going to be launched come what may.
Admin:
  Not built; not tested - but version 2.61 is not useful.  Should work now.


Version 2.62. Tagged as 'FileSwitch-2_62'
parent 71bf193a
......@@ -11,14 +11,14 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "2.61"
Module_Version SETA 261
Module_MajorVersion SETS "2.62"
Module_Version SETA 262
Module_MinorVersion SETS ""
Module_Date SETS "30 May 2001"
Module_ApplicationDate2 SETS "30-May-01"
Module_ApplicationDate4 SETS "30-May-2001"
Module_Date SETS "02 Jun 2001"
Module_ApplicationDate2 SETS "02-Jun-01"
Module_ApplicationDate4 SETS "02-Jun-2001"
Module_ComponentName SETS "FileSwitch"
Module_ComponentPath SETS "RiscOS/Sources/FileSys/FileSwitch"
Module_FullVersion SETS "2.61"
Module_HelpVersion SETS "2.61 (30 May 2001)"
Module_FullVersion SETS "2.62"
Module_HelpVersion SETS "2.62 (02 Jun 2001)"
END
/* (2.61)
/* (2.62)
*
* This file is automatically maintained by srccommit, do not edit manually.
*
*/
#define Module_MajorVersion_CMHG 2.61
#define Module_MajorVersion_CMHG 2.62
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 30 May 2001
#define Module_Date_CMHG 02 Jun 2001
#define Module_MajorVersion "2.61"
#define Module_Version 261
#define Module_MajorVersion "2.62"
#define Module_Version 262
#define Module_MinorVersion ""
#define Module_Date "30 May 2001"
#define Module_Date "02 Jun 2001"
#define Module_ApplicationDate2 "30-May-01"
#define Module_ApplicationDate4 "30-May-2001"
#define Module_ApplicationDate2 "02-Jun-01"
#define Module_ApplicationDate4 "02-Jun-2001"
#define Module_ComponentName "FileSwitch"
#define Module_ComponentPath "RiscOS/Sources/FileSys/FileSwitch"
#define Module_FullVersion "2.61"
#define Module_HelpVersion "2.61 (30 May 2001)"
#define Module_FullVersion "2.62"
#define Module_HelpVersion "2.62 (02 Jun 2001)"
......@@ -349,20 +349,19 @@ Run_UndatedFile
BNE %FT71
LDR lr, [r2, #&0C]
AND r12, lr, #&FF000000
TEQ r12, #&EB000000 ; is this instruction a branch
AND lr, lr, #&FF000000
TEQ lr, #&EB000000 ; is this instruction a branch
BNE %FT71 ; nope - not executable AIF then
LDR lr, [r2, #&10]! ; should be SWI OS_Exit (&EF000011 for AIF), R2 := R2 + 16
MOV r12, #&EF000000
ORR r12, r12, #&00000011
TEQ lr, r12 ; OS_Exit check worked?
LDMEQIB r2, {r0,r1,r12,lr} ; load RO size, RW size, Debug size, ZI size
SUB r2, r2, #&10 ; R2 := &8000
SUB lr, lr, #&EF000000
TEQ lr, #&00000011 ; OS_Exit check worked?
LDMEQIB r2, {r0,r1,r2,lr} ; load RO size, RW size, Debug size, ZI size
ADDEQ lr, lr, r2 ; lr := debug + zero init
MOV r2, #&8000 ; R2 := &8000 like it was before
BNE %FT71 ; not AIF then
ADD r0, r0, r1 ; R0 := read only + read write
ADD r12, r12, lr ; R12 := debug + zero init
ADD r0, r0, r12 ; R0 := read only + read write + debug + zero init
ADD r0, r0, lr ; R0 := read only + read write + debug + zero init
ADD r5, r2, r0 ; R5 := base address + size required
BL ValidateR2R5_WriteToCoreCodeLoad
BVS RunExit_FF
......
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