Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
RiscOS
S
Sources
FileSys
FileCore
Commits
e1ab4ec4
Commit
e1ab4ec4
authored
Nov 29, 1996
by
Neil Turton
Browse files
NCOS 1.06 Imported from Zip drive
parent
aa18284b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
75 additions
and
30 deletions
+75
-30
Version
Version
+3
-3
s/FileCore20
s/FileCore20
+7
-5
s/FileCore30
s/FileCore30
+4
-3
s/FileCore33
s/FileCore33
+45
-0
s/GenSWIs
s/GenSWIs
+16
-19
No files found.
Version
View file @
e1ab4ec4
;>Version Version file for FileCore
GBLS version
version SETS "2.9
1
"
version SETS "2.9
7
"
GBLA Version
Version SETA 29
1
Version SETA 29
7
GBLS date
date SETS "
31 Mar
1995"
date SETS "
24 Aug
1995"
GBLL test_version
test_version SETL {FALSE}
...
...
s/FileCore20
View file @
e1ab4ec4
...
...
@@ -743,6 +743,13 @@ MountDiscOnDrive ROUT
ASSERT
DiscId
:MOD:
4
=
0
ASSERT
DiscName
=
DiscId
+
2
STR
lr
,
[
r5
,
#
DiscId
]
[
BigDisc
STR
lr
,
[
r5
,#
DiscSize2
]
[
BigShare
STR
lr
,
[
r5
,#
ShareSize
]
]
]
; Set up a sensible pre-guess at the RootDir
[
DebugL
...
...
@@ -761,11 +768,6 @@ MountDiscOnDrive ROUT
; as a hack to try to get floppies to mount - set DiscSize2 to 0
[
BigDisc
MOV
lr
,
#
0
STR
lr
,
[
r5
,#
DiscSize2
]
]
; Mount the disc
Push
"r2,r4"
MOVS
r2
,
r1
,
ASL
#(
32
-
3
)
...
...
s/FileCore30
View file @
e1ab4ec4
...
...
@@ -893,9 +893,10 @@ FindErrBlock ROUT
LDRVCB
lr
,
FS_Id
ORRVC
r1
,
r1
,
lr
,
ASL
#
8
BICVC
r1
,
r1
,
#
&ff000000
LDRVC
lr
,
[
sp
,
#
20
]
ANDVC
lr
,
lr
,
#
MaxDiscErr
:SHL:
24
ORRVC
r1
,
r1
,
lr
LDRVC
lr
,
[
sp
,
#
40
]
; ANDVC lr, lr, #MaxDiscErr :SHL: 24
LDRB
lr
,
[
lr
,
#
0
]
ORRVC
r1
,
r1
,
lr
,
LSL
#
24
ADDVC
r4
,
sp
,
#
4
MOVVC
r5
,
sp
ADDVC
r6
,
sp
,
#
8
...
...
s/FileCore33
View file @
e1ab4ec4
...
...
@@ -1033,6 +1033,51 @@ DiscAddToMapPtr ROUT
]
Pull
"R0,R1,R3,PC"
; ===================
; ByteDiscAddToMapPtr
; ===================
;entry
; R0 disc address
; R10 ->map start
;exit
; R11 offset in map
; LR zone number
ByteDiscAddToMapPtr
ROUT
Push
"R0,R1,R3,LR"
[
DebugE
DREG
R0
,
"ByteDiscAddToMapPtr(disc add:"
,
cc
DREG
R10
,
", map:"
,
cc
DLINE
")"
]
MOV
R3
,
R0
BIC
R0
,
R0
,
#
DiscBits
LDRB
R1
,
[
R10
,#
ZoneHead
+
BitSize
]
;scale from bytes to map bits
MOV
R0
,
R0
,
LSR
R1
ADD
R0
,
R0
,
#
Zone0Bits
;adjust for zone 0
LDRB
R1
,
[
R10
,#
ZoneHead
+
SectorSize
]
MOV
R3
,
#
8
MOV
R1
,
R3
,
LSL
R1
;total bits in a zone map
LDR
R3
,
[
R10
,#
ZoneHead
+
ZoneSpare
-
2
]
MOV
R3
,
R3
,
LSR
#
16
SUB
R1
,
R1
,
R3
;map bits actually used in a zone map
MOV
R11
,
R0
BL
Divide
;(R0,R1->R0,R1)
MOV
LR
,
R0
;zone
MLA
R11
,
R3
,
R0
,
R11
;add zone*spare, for non map bits
ADD
R11
,
R11
,#
ZoneHead
*
8
[
DebugE
Push
"R0"
DREG
R11
,
"<-ByteDiscAddToMapPtr(map ptr:"
,
cc
MOV
R0
,
LR
DREG
R0
,
"zone:"
,
cc
DLINE
")"
Pull
"R0"
]
Pull
"R0,R1,R3,PC"
; =================
; CritInitReadNewFs
...
...
s/GenSWIs
View file @
e1ab4ec4
...
...
@@ -44,7 +44,7 @@ EnsureFSLock ROUT
01
MOV
r2
,
r2
,
LSR
#
29
; get drive number
CMP
r2
,
#
4
CLRV
MOV
r0
,
r0
Pull
"r1,r2,pc"
,
LO
; not hard disc - ignore
SWI
&44781
+(
1
:SHL:
17
)
; get the lock status
...
...
@@ -691,10 +691,10 @@ DoSwiFloppyStructure ROUT
Push
"R0-R11,LR"
[
Debug2
wrhex
R0
wrhex
R1
wrhex
R2
mess
,
">DoSwiFloppyStructure"
,
NL
DREG
R0
,
""
,
cc
DREG
R1
,
", "
,
cc
DREG
R2
,
" "
,
cc
DLINE
">DoSwiFloppyStructure"
]
LDMIA
SP
,
{
R3
,
R4
,
R8
,
R9
}
CMPS
R8
,
#
OldMapFlag
...
...
@@ -707,7 +707,7 @@ DoSwiFloppyStructure ROUT
;BUILD OLD MAP
[
Debug2
mess
,
"build old map"
,
NL
DLINE
"build old map"
]
ADDEQ
LR
,
R1
,
#
NewDirSize
ADDHI
LR
,
R1
,
#
OldDirSize
...
...
@@ -772,7 +772,7 @@ DoSwiFloppyStructure ROUT
;BUILD NEW MAP
40
[
Debug2
mess
,
"build new map"
,
NL
DLINE
"build new map"
]
ADD
LR
,
R1
,
#
NewDirSize
STR
LR
,
[
SP
,
#
3
*
4
]
;exit R3
...
...
@@ -809,21 +809,18 @@ DoSwiFloppyStructure ROUT
BL
WrLenBits
;(R0,R1,R10)
MOV
R3
,
R11
;init free start
[
BigDisc
LDR
R0
,
[
R4
,
#
DiscSize
]
Push
"R1"
LDRB
R1
,
[
R10
,
#
ZoneHead
+
SectorSize
]
MOV
R0
,
R0
,
LSR
R1
RSB
R1
,
R1
,
#
32
LDR
LR
,
[
R4
,
#
DiscSize2
]
ORR
R0
,
R0
,
LR
,
LSL
R1
Pull
"R1"
|
LDR
R0
,
[
R4
,
#
DiscSize
]
]
SUB
R0
,
R0
,
#
1
[
BigDisc
BL
ByteDiscAddToMapPtr
;(R0,R10->R11,LR) (to fix RAMFS discs coming out truncated)
|
BL
DiscAddToMapPtr
;(R0,R10->R11,LR)
]
ADD
R2
,
R11
,#
1
;disc end map ptr
BL
AllocBitWidth
;(R10->LR)
SUB
R5
,
LR
,
#
1
BIC
R2
,
R2
,
R5
...
...
@@ -899,7 +896,7 @@ DoSwiFloppyStructure ROUT
;BUILD ROOT DIRECTORY
60
[
Debug2
mess
,
"build
$
"
,
NL
DLINE
"build
$
"
]
LDR
R2
,
[
R4
,
#
RootDir
]
TSTS
R8
,
#
OldMapFlag
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment