// LoadIfsScav.cm // Copyright Xerox Corporation 1979, 1980, 1981, 1982 // Last modified July 26, 1982 6:01 PM by Taft // The first group (up to "X/Q") consists of resident code that must // be resident and be executed in bank 0 even on an XM Alto. // This includes all modules that execute S-group opcodes, // generate pointers to code, or fool with the stack in non-standard ways. // The next group (from X/Q to I/Q) is code that must be resident // on a non-XM Alto for performance reasons, but may be moved to extended // memory on an XM Alto, if there is enough of it. In general, all Bcpl // modules are OK to move, but watch out for procedure values that have // already been copied into other places by the time XM initialization occurs. // The last group (from I/Q to the end of the resident) is resident // initialization that is executed before overlays and vmem work. // This code is thrown away at the end of InitIFSPart2. // Overlays should be loaded most frequently executed first, since // on a 128K Alto the first 63 overlays are loaded into XM and the // remainder swap from disk. BLDR/LVBRI 2000/W 2000/N IfsScavenger/S ^ Ifs IfsScavenger IfsScavCompare IfsResUtilA IfsBcplRuntime ^ PupAl1A Context ContextSched IfsCallProc IfsDDMgrRes ^ AltoQueue AltoTimer AltoByteBlt TimeConvA ^ IfsFastStreamsA BfsMl IfsBcplTricks IfsCalls Calendar VMemA TfsA ^ DspStreamsB DspStreamsA Gacha10 KeyStreamsB KeyStreamsA ^ ^ X/Q ^ IfsResUtilB/I IfsVMemRes IfsVMemFileRes IfsOverlays IfsBTreeRes ^ Alloc FastStreamsB IfsDVec IfsIsf VMem VMemAux BfsBase TfsBase ^ ^ I/Q ^ IfsScavInit IfsScavOvInit IfsContextInit ^ IfsOverlaysInit IfsVmemInit IfsVMemSwap ^ ContextSchInit VMemInit ^ BfsInit Template ^ IfsBTreeOEP DiskStreamsOEP CmdScanOEP KeywordOEP StringOEP ^ LoadRam IfsMc ^ ^ ScavInit/B 0/P IfsScavInit IfsOvXMInit IfsContextInit ^ ScavLpt/B 0/P IfsScavLpt ^ ScavKbd/B 0/P IfsScavKbd ^ ScavPrint/B 0/P IfsScavPrint ^ DiskEditor/B 0/P IfsScavDEdit ^ DirDumper/B 0/P IfsScavDump ^ Pass1/B 0/P IfsScavPass1 DiskFindHole ^ Pass1Phase1/B 0/P IfsScav1-1 ^ Pass1Phase2/B 0/P IfsScav1-2 ^ Pass1Phase3/B 0/P IfsScav1-3 ^ Pass1Phase4/B 0/P IfsScav1-4 ^ Pass1Phase5/B 0/P IfsScav1-5 ^ Pass2/B 0/P IfsScavPass2 ^ Pass2Phase2/B 0/P IfsScav2-1 ^ Pass2Phase2/B 0/P IfsScav2-2 ^ Pass2Phase3/B 0/P IfsScav2-3 ^ SortPkg/B 0/P SortPkg ^ IfsDirParse/B 0/P IfsDirParse ^ AltoDirs/B 0/P DirScanA Dirs DiskStreamsScan ^ DiskStreams/B 0/P DiskStreams ^ DiskStreamsMain/B 0/P DiskStreamsMain ^ DiskStreamsAux/B 0/P DiskStreamsAux ^ BTreeSwap/B 0/P IfsBTreeSwap ^ BTreeRead/B 0/P BTreeRead ^ BTreeWrite0/B 0/P BTreeWrtMs0 ^ BTreeWrite1/B 0/P BTreeWrtMs1 ^ BTreeWrite2/B 0/P BTreeWrtMs2 ^ BTreeDelete/B 0/P BTreeDel ^ VMemSwap/B 0/P IfsVMemSwap IfsVMemFileSwap IfsIsfInit ^ TfsWrite/B 0/P TfsWrite ^ TfsCreate/B 0/P TfsCreate IfsDDMgrSwap ^ TfsInit/B 0/P TfsInit TfsClose ^ BfsWrite/B 0/P BfsWrite ^ BfsCreate/B 0/P BfsCreate BfsDDMgr ^ BfsInit/B 0/P BfsInit BfsClose ^ CmdScan/B 0/P IfsCmdScan ^ CmdScanEdit/B 0/P CmdScanEdit IfsScavCSDsp ^ CmdScanAux/B 0/P CmdScanAux ^ Keywords/B 0/P KeywordInit Keyword ^ Strings/B 0/P StringStreams StringUtil ^ OsUtils/B 0/P OsUtils Template ^ Password/B 0/P Password ^ Time/B 0/P IfsTimeIO TimeConvb // normal number of undefs = 6