File information: | |
File name: | Swapper.mesa_Oct77.pdf [preview Swapper.mesa Oct77] |
Size: | 757 kB |
Extension: | |
Mfg: | xerox |
Model: | Swapper.mesa Oct77 🔎 |
Original: | Swapper.mesa Oct77 🔎 |
Descr: | xerox mesa 3.0_1977 listing Swapper.mesa_Oct77.pdf |
Group: | Electronics > Other |
Uploaded: | 01-03-2020 |
User: | Anonymous |
Multipart: | No multipart |
Information about the files in archive: | ||
Decompress result: | OK | |
Extracted files: | 1 | |
File name Swapper.mesa_Oct77.pdf swapper.mESA 24"OCT~77 18:55:07 Page 1 ~- Swapper.Mesa Edited by Sandman on October 6, 1977 7:19 AM DIRECTORY Al toDefs: FROM "altodefs", AltoFileDefs: FROM "altofiledefs", BooLDefs: FROM "booLdefs", ControlDefs: FROM "controldefs", DiskDefs: FROM "diskdefs", FrameDefs: FROM "framedefs", InlineOefs: FROM "inlinedefs", MiscDefs: FROM "miscdefs", ProcessDefs: FROM "processdefs", SegmentDefs: FROM "segmentdefs"; DEFINITIONS FROM AltoDefs, AltoFileDefs. BootDefs. DiskDefs, SegmentDefs; Swapper: PROGRAM [ffvmp, lfvmp: PageNumber] IMPORTS SootDefs, FrruneOefs, SegmentDefs EXPORTS RootDefs. DiskDefs. FrameDefs, MiscDefs, SegmentDefs SHARES DiskDefs. SegmentDefs = BEGIN nil: POINTER = LOOPHOLE[a]; driveNurnber: PUBLIC [0 .. 1]" 0; sysdisk: DISK .. DISK[nDisks.nTracks.nHeads.nSectors]; disk: POINTER TO DISK = @sysdisk; Zero: PUBLIC PROCEDURE [ p:POINTER, I:CARDINAL] = BEGIN IF 1=0 THEN RETURN; p... 0; InlineDefs.COPY [ from:p, to:p+l. nwords:l-1]; RETURN END; SetDisk: PUBLIC PROCEDURE [ d:POINTER TO rtSK] = BEGIN diskt .. d.; RETURN END; GetDisk: PUBLIC PROCEDURE RETURNS [POINTER TO DISK] = REGIN RETURN[disk] END; ResetDisk: PUBLIC PROCEDURE RETURNS [POINTER TO DISK] BEGIN diskt .. DISK[nDisks.nTracks.nHeads.nSectors]; RFTURN[disk] END; VirtualDA: PUBLIC PROCEDURf [da:DA] RETURNS [vDA] = BFGIN RETURN[IF da = DA[D.a.a.D.O] TllfN eorDA fLSf vDA [ ((da.disk*disk.tracks+da.track)*disk.heads+ da.head)*disk.sectors+da.sector]]; [ND; RealDA: PUBI IC PROCf[)URE [v:vDA] RrTURNS [da:DA] BrGTN i: CARDINAL" v; da .. DA[D,D,D,O,D]; IF v II eorDA IlIfN BrGIN [i.da.sector] .. InlineDers.OIV~100[i,disk.sectors]; [I.ria.head] ... Inl ineDefs.O!VMOf)[ I.disk.heads); [I.da.track] .. InlineDefs.DIV~lOD[i,disk.tracksJ; [ i , da . dis k] .. 1111 in eDe f s .0 J VMOf)[ i , dis k . dis k s ] ; Ir i II 0 TlirN da .. Illval idDA; r ND; RrTURN ["ND; $wapper.mESA 24-QCT-77 18:56:07 Pane 2 sWilPPQr.mESA 24-0el-77 18:55:07 Page 3 -- Disk transfer "process" Deseal: BYTE = 110B; Des: ARRAY voe OF DC = [ oc[oeseal,DiskRead, DiskRead, oiskRead, 0,0], ReadHLD De[oCseal,oiskCheck,OiskRead, oiskRead, 0,0], ReadLo OC[oCseal,oiskCheck,Diskeheck,OtskRead, 0,0], ReadD OC[OCseal,OiskWrite,DiskWrite,DiskWrite,O,O], WriteHLO OC[OCseal,oiskCheck,DiskWrite,OiskWrite,O,O], Wr itelO DC[DCseal,DiskCheck,OiskCheck,DiskWrite,O,O], WriteD OC[DCseal,DiskCheck,OiskCheck,OiskCheck,l,O], SeekOnly DC[OCseal,Disk |
Date | User | Rating | Comment |