Commit eab91c13 authored by Simon Proven's avatar Simon Proven
Browse files

Now uses new Ursula service call mechanism.

parent 6c20bb77
;>Version Version file for FileCore
GBLS version
version SETS "3.12"
version SETS "3.13"
GBLA Version
Version SETA 312
Version SETA 313
GBLS date
date SETS "02 Apr 1998"
date SETS "16 Apr 1998"
GBLL test_version
......
......@@ -80,6 +80,11 @@ SanityCheckBigDirHeader ROUT
DLINE ">SanityCheckBigDirHeader"
]
[ DebugXd
ADD lr, r5, #BigDirName
DSTRING lr, "sanity check; name: "
]
LDR r1, SBProven ; get "SBPr"
LDR lr, [r5, #BigDirStartName] ; and get StarName from Dir
TEQS r1,lr ; is it broke?
......@@ -405,7 +410,7 @@ ReadBigDirEntries ROUT
Push "R4"
BL GetBigDirName ;(R5,R6->LR)
MOV R4, LR
[ DebugX
[ DebugX :LOR: DebugXd
DSTRING R4, "name:"
]
BL PutStringToBuf ;write the string to the buffer
......@@ -453,7 +458,7 @@ ReadBigDirEntries ROUT
Push "R4"
BL GetBigDirName ;(R5,R6->LR)
MOV R4, LR
[ DebugX
[ DebugX :LOR: DebugXd
DSTRING R4, "name:"
]
BL PutStringToBuf ;write the string to the buffer
......@@ -535,7 +540,7 @@ ReadBigDirEntries ROUT
Push "R4"
BL GetBigDirName ;(R5,R6->LR)
MOV R4, LR
[ DebugX
[ DebugX :LOR: DebugXd
DSTRING R4, "name:"
]
BL PutStringToBuf ;write the string to the buffer
......@@ -663,6 +668,10 @@ GetBigDirName ROUT
ADDNE LR, R5, R6
ADDEQ LR, R7, R6 ; end of name heap
; [ DebugXd
; DREG LR, "name ptr:"
; ]
Pull "R5,R6,R7,PC",,^
; =================
......@@ -1332,6 +1341,9 @@ DumpBigDir ROUT
WriteBigName ROUT
Push "R0-R2,R4,LR"
[ DebugXd
DSTRING R1, "WriteBigName : "
]
LDR R2, [R4, #BigDirObNameLen]
ADD R2, R2, #3
BIC R2, R2, #3 ; up to word boundary
......@@ -1360,6 +1372,9 @@ WriteBigName ROUT
WriteBigDirName ROUT
Push "R0-R2,R4,R6,LR"
[ DebugXd
DSTRING R1, "WriteBigDirName : "
]
MOV R6, #0
ADD R4, R5, #BigDirHeaderSize
10
......
......@@ -34,9 +34,12 @@ BigShare SETL T
GBLL UseBigFlag
GBLL TwoGigFix
TwoGigFix SETL T
UseBigFlag SETL T
UseBigFlag SETL T
GBLL DriveStatus
GBLL ServicePolice
ServicePolice SETL T
; for Big free space maps (allowing idlen to be more than 15):
GBLL BigMaps
......@@ -102,7 +105,7 @@ Debug3 switch F ;disc accesses
Debug3L switch F ;low level discops into parent
Debug4 switch F ;disc and drive record operations
Debug5 switch F ;old free space map operations
Debug6 switch T ;pathname and directory operations
Debug6 switch F ;pathname and directory operations
Debug6f switch F ; FindDiscByName
Debug7 switch T ;OsFile operations
Debug8 switch F ;File Level Disc Ops
......@@ -146,11 +149,12 @@ Debugb switch F ; break key action updates
DebugDR switch F ; check array bounds on drive and disc record ptr calculation
DebugDL switch F ; check for data lost problems with atapi
DebugX switch T ; debug long filenames
DebugX switch F ; debug long filenames
DebugXg switch F ; debug long filenames - growin dirs
DebugXm switch F ; debug long filenames - memory problems
DebugXb switch F ; debug long filenames - binary chop dir search
DebugXr switch T ; debug long filenames - rename
DebugXr switch F ; debug long filenames - rename
DebugXd switch T ; debug long filenames - directory names
DebugCW switch F ; debug write cacheing of dirs
......
......@@ -94,7 +94,7 @@ UserRootText ;nul names (if allowed) will be replaced by this
; ELSE C=1 if bit 7 set chars used
CheckPath
[ Debug6 ;:LOR: DebugXr
[ Debug6 :LOR: DebugXd ;:LOR: DebugXr
DSTRING R1, "checkpath( ",cc
DREG R2, ",",cc
DLINE ")"
......@@ -589,9 +589,6 @@ CsdText = CsdChar,0
BNE %FT65 ;want dir itself
; want parent dir
[ DebugX
DLINE "want parent dir"
]
TEQS R4, #0
BNE %FT75 ;have already got parent
BL DiscAddToRec ;(R3->LR)
......@@ -1263,7 +1260,7 @@ LookUp ROUT
; name > wild spec C=1, Z=0, V=0
BigLexEqv
[ Debug6
[ DebugX
DLINE "wild name mask - enter BigLexEqv"
DREG R1,"",cc
DREG R4," ",cc
......@@ -1309,7 +1306,7 @@ BigLexEqv
RSBS LR, R7, #1 ; * used => C=0
RSBCSS LR, R10,#1 ; # used => C=0
CMPCSS R9, R0
[ Debug6
[ DebugX
BHI %FT01
DLINE "name<wild"
01
......@@ -1377,7 +1374,7 @@ BigLexEqv
; Drop through to match situation
60
CMPS R0, R0 ;set equal C=1,Z=1
[ Debug6
[ DebugX
DLINE "name=wild"
]
Pull "R0,R1,R4,R6-R11,PC"
......
......@@ -1178,6 +1178,10 @@ CriticalWriteDir ROUT
; code for big dirs is different
[ DebugXr :LAND: {FALSE}
DLINE "big dir"
]
[ DebugXd
ADD LR, R5, #BigDirName
DSTRING LR, "write dir; name: "
]
LDR R9, [R5, #BigDirSize]
ADD R6, R5, R9
......
......@@ -45,7 +45,7 @@ OsFunCtr SETA OsFunCtr+1
; exit as defined for OsFun
OsFunEntry
[ DebugA
[ DebugA :LOR: DebugXd
DREG r0, "OsFunEntry(r0=",cc
DREG r1, ",r1=",cc
DREG r2, ",r2=",cc
......
......@@ -801,8 +801,31 @@ ReadCaseTables ROUT
; ServiceEntry
; >>>>>>>>>>>>
[ ServicePolice
ServiceTable
& 0 ; flags word
& ServiceEntry2 - org
& Service_ClaimFIQ
& Service_Memory
& Service_Reset
& Service_FSRedeclare
& Service_IdentifyDisc
& Service_EnumerateFormats
& Service_IdentifyFormat
& Service_DisplayFormatHelp
& Service_TerritoryStarted
& 0
& ServiceTable - org
]
ServiceEntry ROUT
; Rapid service rejection
[ ServicePolice
MOV r0, r0
]
TEQ r1, #Service_ClaimFIQ
TEQNE r1, #Service_Memory
TEQNE r1, #Service_FSRedeclare
......@@ -813,7 +836,9 @@ ServiceEntry ROUT
TEQNE r1, #Service_DisplayFormatHelp
TEQNE r1, #Service_TerritoryStarted
MOVNES pc, lr
[ ServicePolice
ServiceEntry2
]
; Service entry and check for base invocation of FileCore
Push "R0-R2,R11,R12,LR" ;need entry R12 stacked for FSRedeclare
getSB
......
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