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

Fix bug in DetermineDiscType.

When failed to identify, and the last operation was format, the DiscSize2 field was not being copied (instead DiscSize is copied twice).
Fix up some warnings from the assembler.
Tested briefly with a RAM disc, still works.

Version 3.44. Tagged as 'FileCore-3_44'
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "3.43"
Module_Version SETA 343
Module_MajorVersion SETS "3.44"
Module_Version SETA 344
Module_MinorVersion SETS ""
Module_Date SETS "02 Oct 2011"
Module_ApplicationDate SETS "02-Oct-11"
Module_Date SETS "12 Oct 2011"
Module_ApplicationDate SETS "12-Oct-11"
Module_ComponentName SETS "FileCore"
Module_ComponentPath SETS "castle/RiscOS/Sources/FileSys/FileCore"
Module_FullVersion SETS "3.43"
Module_HelpVersion SETS "3.43 (02 Oct 2011)"
Module_FullVersion SETS "3.44"
Module_HelpVersion SETS "3.44 (12 Oct 2011)"
END
/* (3.43)
/* (3.44)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 3.43
#define Module_MajorVersion_CMHG 3.44
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 02 Oct 2011
#define Module_Date_CMHG 12 Oct 2011
#define Module_MajorVersion "3.43"
#define Module_Version 343
#define Module_MajorVersion "3.44"
#define Module_Version 344
#define Module_MinorVersion ""
#define Module_Date "02 Oct 2011"
#define Module_Date "12 Oct 2011"
#define Module_ApplicationDate "02-Oct-11"
#define Module_ApplicationDate "12-Oct-11"
#define Module_ComponentName "FileCore"
#define Module_ComponentPath "castle/RiscOS/Sources/FileSys/FileCore"
#define Module_FullVersion "3.43"
#define Module_HelpVersion "3.43 (02 Oct 2011)"
#define Module_LibraryVersionInfo "3:43"
#define Module_FullVersion "3.44"
#define Module_HelpVersion "3.44 (12 Oct 2011)"
#define Module_LibraryVersionInfo "3:44"
......@@ -242,8 +242,8 @@ DetermineDiscType ROUT
LDRNE lr, [r4, #PrevFormDiscSize]
STRNE lr, [r5, #DiscSize]
[ BigDisc
LDRNE lr, [r4, #PrevFormDiscSize]
STRNE lr, [r5, #DiscSize]
LDRNE lr, [r4, #PrevFormDiscSize2]
STRNE lr, [r5, #DiscSize2]
]
[ DebugLm
......
......@@ -412,7 +412,7 @@ LastGap # 4
LastSize # 4
AllocWork2 # 0
Push "R3, R7-R13" ;save dir & reserve stack space
Push "R3, R6-R12" ;save dir & reserve 28 bytes stack space
BL NextFree ;(R10,R11->R9, R11,Z,C)
[ BigMaps
BLNE FreeRdLenBits ;(R10,R11->R7)
......
......@@ -806,7 +806,7 @@ ExitCritical
STR R10,CriticalSP2
STRB R8, CriticalGood2 ;validate 2nd copy
LDMDA R9,{PC}
LDR PC, [R9]
; ============
......
......@@ -750,9 +750,8 @@ LayoutFreeSpaceMap ROUT
STMIA r6!, {r1-r3,r10}
LDMIA r0!, {r1-r3,r10}
STMIA r6!, {r1-r3,r10}
LDMIA r0!, {r1}
STMIA r6!, {r1}
LDMIA r0, {r0,r1-r3,r10}
STMIA r6!, {r0,r1-r3,r10}
|
ASSERT DiscRecSig = 32
ADD r6, r4, #ZoneHead
......@@ -852,11 +851,11 @@ LayoutFreeSpaceMap ROUT
40
; If it's the map zone allocate space for the map and root dir
[ BigMaps
STMFD r13!, {r8}
Push "r8"
LDRB lr, [r5, #Zones]
LDRB r8, [r5, #Zones2]
ADD lr, lr, r8, LSL #8
LDMFD r13!, {r8}
Pull "r8"
|
LDRB lr, [r5, #Zones]
]
......
......@@ -1299,8 +1299,8 @@ SanityCheckNewMap ROUT
[ BigDisc
ASSERT DiscSize2=36
]
LDMEQIA r4!, {r0}
LDMEQIA r14!, {r2}
LDREQ r0, [r4], #4
LDREQ r2, [r14], #4
TEQEQ r0, r2
[ BigDisc
[ BigShare
......@@ -1314,8 +1314,8 @@ SanityCheckNewMap ROUT
|
ADDEQ r4,r4,#DiscSize2-DiscSize-4
ADDEQ r14,r14,#DiscSize2-DiscSize-4
LDMEQIA r4!, {r0}
LDMEQIA r14!, {r2}
LDREQ r0, [r4], #4
LDREQ r2, [r14], #4
TEQEQ r0, r2
]
]
......
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