DIRECTORY DragOpsCross USING [Word, ZerosWord], IO USING [STREAM], Rope USING [ROPE], SparseMemory USING [Base]; WriteSparseMemory: CEDAR DEFINITIONS = BEGIN Base: TYPE = SparseMemory.Base; ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; Word: TYPE = DragOpsCross.Word; ZerosWord: Word = DragOpsCross.ZerosWord; TestAbort: TYPE = PROC RETURNS [abort: BOOL _ FALSE]; ToStream: PROC [st: STREAM, base: Base, start: Word _ ZerosWord, words: INT _ LAST[INT], byteOutput, displayCode: BOOL _ FALSE, testAbort: TestAbort _ NIL]; ToFile: PROC [name: ROPE, base: Base, byteOutput, displayCode: BOOL _ FALSE]; END. ͺWriteSparseMemory.mesa Copyright c 1984, 1985 by Xerox Corporation. All rights reserved. Russ Atkinson (RRA) July 15, 1985 9:35:34 pm PDT Writes stream in Dragon memory file format starting at the given address. If byteOutput, then use byte output format. If displayCode, then display instructions (when legal). If testAbort # NIL, then it is periodically called to test for abort requests. First writes header giving file name, author, and date, then writes file in Dragon memory file format using ToStream. Finally closes the file. Allows FS.Error to propagate through. If byteOutput, then use byte output format. If displayCode, then display instructions (when legal). Κˆ˜codešœ™Kšœ Οmœ7™BK™0—K˜šΟk ˜ Kšœ žœ˜%Kšžœžœžœ˜Kšœžœžœ˜Kšœ žœ˜K˜—šœžœž œž˜,K˜Kšœžœ˜Kšžœžœžœ˜Kšžœžœžœžœ˜šœžœ˜Kšœ)˜)—K˜K˜—š Οn œžœžœžœ žœžœ˜5K˜—šŸœžœžœ.žœžœžœžœžœžœ˜œKšœI™IKšœ+™+Kšœ7™7KšœN™NK˜—š Ÿœžœžœ'žœžœ˜MKšœΆ™ΆKšœ+™+Kšœ7™7K™K˜—Kšžœ˜K˜—…—jœ