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

Delete s.AsmHdr, s.DevVersion, Version, s.ModHand

Delete Doc.!ReadMe, update Doc.!Implement
Collapse dead switches.
s.MyMacros:
 Remove 'nop' macro, use NOP.
s.Defns:
 Some definitions taken from global headers.
s.Commands:
 Indentation and function calling parameter comments reviewed.

Still produces the same binary as 3.40.
parent 3bd0b704
......@@ -13,18 +13,13 @@ This document has the following sections:
1) contents of source files
---------------------------
FileCore GETs all the source files
Version Version, date, and highest fix number to be applied
Fixes documents and sets switches for fixes since image became stable
AsmHdr more switches
DevVersion declares development version number for test versions, incremented
with each assembly and GETs system header files
BigDirCode Handling big directories
Commands Handling *commands
DebugOpts Declares T and F and sets the debugging options
MyMacros Macros not in Hdr:Macros
CoreHdr Exported FileCore values
Defns Definitions of constants
FileCore00 Start of module, allocates workspace, and GETs Errors
Errors declares error numbers and builds error table
FileCore GETs all the source files
FileCore00 Start of module, allocates workspace, and GETs Errors
FileCore05 useful subroutines
FileCore15 interfaces to low level disc op at various abstraction levels
FileCore20 routines maintaining disc <-> drive mapping
......@@ -36,11 +31,18 @@ FileCore33 new map primitives
FileCore35 old free space map operations
FileCore40 filename and directory operations
FileCore45 OSFILE and map/directory writing to disc
TekneHelp Tokenised help from HelpText
FileCore50 module interfaces and * commands
FileCore60 OSFUN
FileCore70 open files
FileCore80 new open file write behind/read ahead/caching
Fixes documents and sets switches for fixes since image became stable
FormSrvcs Image filing system services
FormSWIs Image filing system SWIs
GenSWIs SWI decod
Identify Identify
InitDieSvc Module init and finalisation and service calls
MsgsStuff MessageTrans glue
MyMacros Macros not in Hdr:Macros
TokHelpSrc Tokenised help generated from HelpText
2) use of workspace
-------------------
......
>!ReadMe
The exec file to produce a Filecore 2.00 as used in RISC OS 2.00 is Make_2,00.
The object produced is called Obj.
Version specific filenames are of the following type.
[Make/Hdr/Obj]_[v,vv/Test]
Make_v,vv is the make file which produces Obj
Hdr_v,vv sets the options for the assembly
Obj_v,vv is an copy of the object that should be produced. A binary comparison
of Obj with this file is done except for test versions.
v,vv is the version number or Test for a test version
;>HelpText
[ Module_Version < 209
HelpBack
= "*"
= TokenEscapeChar,Token0
= " swaps current and previous directories.",13
SynBack
= "Syntax: "
= "*"
= TokenEscapeChar,Token0
= 0
]
[ International_Help=0
HelpBackup
= "*"
......@@ -187,59 +175,6 @@ HelpVerify DCB "HFLCVER", 0
SynVerify DCB "SFLCVER", 0
]
[ Module_Version < 209
HelpNoDir
= "*"
= TokenEscapeChar,Token0
= " unsets the current directory.",13
SynNoDir
= "Syntax: "
= "*"
= TokenEscapeChar,Token0
= 0
HelpNoLib
= "*"
= TokenEscapeChar,Token0
= " unsets the library.",13
SynNoLib
= "Syntax: "
= "*"
= TokenEscapeChar,Token0
= 0
HelpNoURD
= "*"
= TokenEscapeChar,Token0
= " unsets the URD.",13
SynNoURD
= "Syntax: "
= "*"
= TokenEscapeChar,Token0
= 0
HelpTitle
= "*"
= TokenEscapeChar,Token0
= " sets the title of the current directory.",13
SynTitle
= "Syntax: "
= "*"
= TokenEscapeChar,Token0
= " [<text>]"
= 0
HelpURD
= "*"
= TokenEscapeChar,Token0
= " sets the user root directory.",13
SynURD
= "Syntax: "
= "*"
= TokenEscapeChar,Token0
= " [<directory>]"
= 0
]
ALIGN
ALIGN
END
;>Version Version file for FileCore
GBLL test_version
test_version SETL {FALSE}
;test_version SETL {TRUE}
GBLA max_fix
max_fix SETA 5
END
......@@ -77,17 +77,17 @@ Create_Misc # 4
Create_Size # 0
; reason codes for DiscOp call
Param4Op * 0
Param4Op * 0
VerifyOp * 0
ReadSecsOp * 1
WriteSecsOp * 2
Param3Op * 3
Param3Op * 3
ReadTrkOp * 3
WriteTrkOp * 4
Param2Op * 5
FirstHeadMoveOp * 5
Param2Op * 5
FirstHeadMoveOp * 5
SeekOp * 5
Param1Op * 6
Param1Op * 6
RestoreOp * 6
StepInOp * 7 ;floppy only
StepOutOp * 8 ;floppy only
......
; Copyright 1996 Acorn Computers Ltd
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
; http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
;>AsmHdr
GBLA MOS_Version ;separate verion if 1.2 or earlier
MOS_Version SETA 121
END
This diff is collapsed.
......@@ -25,6 +25,8 @@ T SETL {TRUE}
GBLL F
F SETL {FALSE}
GBLL test_version
test_version SETL {FALSE}
GBLL BigDisc
BigDisc SETL T
GBLL BigShare
......
......@@ -76,30 +76,6 @@ DeleteChar * 127
SzOldFs * &200
SzNewFloppyFs * &400
;Disc Operation Reason Codes
;Param4Op * VerifyOp
;VerifyOp * 0
;ReadSecsOp * 1
;WriteSecsOp * 2
;
;Param3Op * 3
;ReadTrkOp * 3
;WriteTrkOp * 4
;
;Param2Op * 5
;SeekOp * 5
;
;RestoreOp * 6
;StepInOp * 7 ;floppy only
;StepOutOp * 8 ;floppy only
;
; [ Version >= 205
;CachedReadSecsOp * 9
; ]
;
;SpecifyOp * 15 ;winnie only
ASSERT EscapeBit=&40
AltDefectBit bit 4 ;use alternative defect map, winnies only
ScatterBit bit 5
......@@ -119,14 +95,9 @@ OsbyteAckEscape * &7E
OsbyteReadVdu * &A0
OsbyteReadResetType * &FD
OsbyteBreakAction * &F7
; osword numbers
OswordReadClock * 14
; load/exec file types
DataType * &FFFFFD00
FirstUnknown_fsfile * fsfile_ReadBlockSize+1 ;load mapped internally to this
FirstUnknown_fsargs * fsargs_ImageStampIs+1
[ BigDisc
......@@ -137,14 +108,14 @@ FirstUnknown_fsfunc * fsfunc_DirIs+1
UnsharedCreate * fsfile_CreateDir
;internal SaveCreate reason codes
; internal SaveCreate reason codes
CloseSmall * FirstUnknown_fsfile+1
CloseContig * FirstUnknown_fsfile+2
RandomAccessCreate * FirstUnknown_fsfile+3
RandomAccessExtend * FirstUnknown_fsfile+4
ASSERT RandomAccessExtend <= fsfile_Load
; Vdu workspace
; VDU workspace
[ T
WindowWidth * &100
|
......
; Copyright 1996 Acorn Computers Ltd
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
; http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
;>DevVersion
;this declares the development version number, incremented at each assembly
GBLS DevVersion
DevVersion SETS "3.0701"
END
......@@ -134,6 +134,7 @@ FD error WildCards,Wild cards
FE error BadCom,Bad command
& FileCoreModuleNum :SHL: 8 ;end of table marker
Text "FileCoreError" ;failsafe in case no match found
= "FileCoreError",0 ;failsafe in case no match found
ALIGN
END
......@@ -13,11 +13,6 @@
; limitations under the License.
;
GET VersionASM
GET Version
GET Fixes.s
GET AsmHdr.s
GET DevVersion.s
GET Hdr:ListOpts
GET Hdr:Macros
GET Hdr:System
......@@ -38,18 +33,21 @@ GetHAL SETS ""
GET Hdr:Tokens
GET Hdr:Wimp
GET Hdr:UpCall
GET Hdr:LowFSi
GET Hdr:LowFSI
GET Hdr:Heap
GET Hdr:FileCore
GET Hdr:MsgTrans
GET Hdr:FileTypes
GET Hdr:OsWords
GET Hdr:MultiFS
GET Hdr:NewErrors
GET Hdr:Territory
GET Hdr:CPU.Arch
GET Hdr:OSRSI6
GET VersionASM
GET DebugOpts.s
GET Fixes.s
GET MyMacros.s
GET Defns.s
GET FileCore00.s
......
......@@ -43,13 +43,13 @@ FileCoreSwiBase * Module_SWISystemBase + FileCoreSWI * Module_SWIChunkSize
ASSERT {PC} - Module_BaseAddr = 52
Title
Text "FileCore"
= "FileCore",0
ALIGN
HelpString
= "FileCore",9
[ Dev
= DevVersion," DEVELOPMENT VERSION"
= Module_FullVersion," Development version"
|
= Module_MajorVersion," (",Module_Date,")"
]
......
......@@ -61,7 +61,7 @@ PHEX
ASSERT SVC_mode=3
ORR R0, LR, #SVC_mode :OR: I_bit
TEQP PC, R0 ;go to SVC mode preserving flags
nop
NOP
|
MRS R0, CPSR
ORR R0, R0, #SVC26_mode :OR: I32_bit
......@@ -119,7 +119,7 @@ SpoolOn
Exception
B ThroughZero
B Undefined
nop ;dont trap SWI vector
NOP ;dont trap SWI vector
B PrefetchAbort
B DataAbort
B AddressException
......@@ -127,7 +127,7 @@ Exception
ThroughZero
[ No32bitCode
TEQP PC, #F_bit :OR: I_bit :OR: SVC_mode
nop
NOP
|
MSR CPSR_c, #F32_bit :OR: I32_bit :OR: SVC32_mode
]
......@@ -147,7 +147,7 @@ ThroughZero
Undefined
[ No32bitCode
TEQP PC, #F_bit :OR: I_bit :OR: SVC_mode
nop
NOP
|
MSR CPSR_c, #F32_bit :OR: I32_bit :OR: UND32_mode
]
......@@ -167,7 +167,7 @@ Undefined
PrefetchAbort
[ No32bitCode
TEQP PC, #F_bit :OR: I_bit :OR: SVC_mode
nop
NOP
|
MSR CPSR_c, #F32_bit :OR: I32_bit :OR: ABT32_mode
]
......@@ -187,7 +187,7 @@ PrefetchAbort
DataAbort
[ No32bitCode
TEQP PC, #F_bit :OR: I_bit :OR: SVC_mode
nop
NOP
|
MSR CPSR_c, #F32_bit :OR: I32_bit :OR: ABT32_mode
]
......@@ -207,7 +207,7 @@ DataAbort
AddressException
[ No32bitCode
TEQP PC, #F_bit :OR: I_bit :OR: SVC_mode
nop
NOP
|
MSR CPSR_c, #F32_bit :OR: I32_bit :OR: ABT32_mode
]
......@@ -284,7 +284,7 @@ Mess1 ;R0,R1,LR stacked
[ No32bitCode
ORR LR, LR, #SVC_mode :OR: Z_bit :OR: I_bit
TEQP PC, LR ;go to supervisor mode, preserve FI, set EQ
nop ;delay for mode change
NOP ;delay for mode change
|
ORR LR, LR, #SVC26_mode :OR: I32_bit
ORR LR, LR, #Z_bit
......
......@@ -710,7 +710,7 @@ DecUsage
ReadTimeDate
Push "R0,R1,LR"
MOV R0,#OswordReadClock
MOV R0,#OsWord_ReadRealTimeClock
SUB SP,SP,#8 ;space for param block
MOV R1,SP
MOV LR,#3
......@@ -720,7 +720,7 @@ ReadTimeDate
LDRVCB R7,[R1,#4]
MOVVS R8,#-1
MOVVS R7,#&FF
LDR LR,=DataType
LDR LR,=Data_LoadAddr
ORR R7,R7,LR
ADDS SP,SP,#8 ; clear V
[ Debug9
......@@ -1183,7 +1183,6 @@ LightEntryFlagErr
]
20
[ MOS_Version > 120
; AND aren't entered from IRQ mode
LDREQ R1, ptr_IRQsema
LDREQ R1, [R1]
......@@ -1191,7 +1190,6 @@ LightEntryFlagErr
DREG R1, "S="
]
TEQS R1, #0 ;colludes with locked drive check to give NE if got a locked drive
]
; AND none of the reentrance bits we're interested in are set
LDREQB R1, ReEntrance
......
......@@ -14,7 +14,7 @@
;
;>FileCore35
TTL "Adfs35 - Free space map operations"
TTL "FileCore35 - Free space map operations"
; ===============
; BeforeReadFsMap
......
......@@ -14,7 +14,7 @@
;
;>FileCore45
TTL "Adfs45 - OsFile"
TTL "FileCore45 - OsFile"
;Each entry in OsFile table is 32 bits as below
; bits 0-7 restrictions for FullLookUp, NotNulName assumed for all
......
......@@ -14,6 +14,9 @@
;
;>Fixes Modification history of FileCore since V 2.00 (15 Sep 1988)
GBLA max_fix
max_fix SETA 5
MACRO
fcfix $number,$state,$description
GBLL fix_$number
......
......@@ -1253,9 +1253,7 @@ SwiEntry ROUT
regdump
]
Push "R0,R1,R12,LR"
[ MOS_Version <= 120
CLRPSR I_bit,LR ;re-enable interrupts
]
; Check SWI range before doing other checks
CMPS R11,#FirstUnusedSwi
BHS BadSwi
......
......@@ -113,10 +113,6 @@ InitEntry ROUT ; NO REENTRANCY CHECK NEEDED
;add space for Dir Cache
ADD R3, R3, R4
[ F
ADD R3, R3, #32*1024 ; add a K
]
;add space for defect maps for all drives, +(4+floppies)*512
ASSERT SzDefectList = (1 :SHL: 9)
ADD R3, R3, #4 :SHL: 9 ; winnie defect maps
......@@ -165,19 +161,6 @@ InitEntry ROUT ; NO REENTRANCY CHECK NEEDED
; Skip the DirCache, now at file cache
ADD R3, R3, R4
[ F
[ DebugXm
DREG R3, "end of dir cache: "
]
Push "R0,R1"
MOV R0, R3
MOV R1, #32*1024
BL ZeroRam
Pull "R0,R1"
ADD R3, R3, #32*1024
]
[ Debug1
DREG R3, "File cache low limit:"
]
......
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