File information: | |
File name: | SystemDisplay.mesa_Oct77.pdf [preview SystemDisplay.mesa Oct77] |
Size: | 357 kB |
Extension: | |
Mfg: | xerox |
Model: | SystemDisplay.mesa Oct77 🔎 |
Original: | SystemDisplay.mesa Oct77 🔎 |
Descr: | xerox mesa 3.0_1977 listing SystemDisplay.mesa_Oct77.pdf |
Group: | Electronics > Other |
Uploaded: | 12-02-2020 |
User: | Anonymous |
Multipart: | No multipart |
Information about the files in archive: | ||
Decompress result: | OK | |
Extracted files: | 1 | |
File name SystemDisplay.mesa_Oct77.pdf systemdisplay.mESA 24-0CT-77 18:55:07 Page 1 SystemDisplay.mesa; edited by Johnsson; October 14, 1977 4:17 PM DIRECTORY AltoDefs: FROM "altodefs", DisplayDefs: FROM "displaydefs", FontDefs: FROM "fontdefs", ImageDefs: FROM "imagedefs", InlineOefs: FROM "inlinedefs", SegmentDefs: FROM "segmentdefs", StreamDefs: FROM "streamdefs"; SystemDisplay: PROGRAM IMPORTS ImageDefs. SegmentDefs, StreamDefs EXPORTS DisplayOefs, StreamDefs SHARES StreamDefs = BEGIN StreamHandle: TYPE = StreamDefs.StreamHandle; OrderedPOINTER: TYPE = ORDERED POINTER: OrderedNIL: OrderedPOINTER = LOOPHOLE[NIL]: TAB: CHARACTER = l1C; CR: CHARACTER = 15C: NUL: CHARACTER = OC; SP: CHARACTER = ' -- Display Hardware DCBchainHead: DCBptr = LOOPHOLE[420B]: OCBnil: DCBptr = LOOPHOLE[O]: DCBptr: TYPE = POINTER TO DCB: DCB: TYPE = RECORD [ next: DCBptr. resolution: {high. low}. background: DisplayDefs.Background, indenting: [O .. 77B]. in units of 16 bits width: [0 .. 377B], in units of 16 bits. must be even bitmap: OrderedPOINTER. -- must be even height: CARDINAL]: in double scan lines LeftMargin: CARDINAL = 8: RightMargin: CARDINAL = 606: MaxWordsPerLine: CARDINAL = 38: DSP: Display StreamDefs.StreamObject ~ StreamDefs.StreamObject [ reset: ClearDS, get: GetNop. put: DPutChar. putback: PutbackNop, endof: EndofNop, destroy: DestroyNop, body: Display[ ... ",]]; systemDS: StreamDefs.flisplayllandle = @DSP: displayOn: BOOLEAN ~ FALSE: bmSegment: SegmentDefs.DataSegmentllandle; bmFirst, bmTail. bmNext. bmLastLine: OrderedPOINTER: lineHeight. lastLineSize: CARDINAL: dummyflCB: DCBptr; firstDCB. lastDCB. currentDCB: DCBptr ~ DCBnil; 1ayo u t 0 fbi tmap is: DCBs: ARRAY [firstDCB .. lastDCB] OF DCB. bmFirst: ARRAY OF UNSprCIFIED. bmLasU.ine: ARRAY [O .. linelieight*MaxWordsPerline) OF UNSP[CIrIED. bmNext points to next word to allocate. bmTail points to oldest allocated bitmap. bmState: rontDefs.Bi~napState; tabWldth: CARDINAL; TARint1ex: [0 .. 9]; TARs: ARRAY [0 .. 9] or CARDINAl; font: rontflefs.FonLilandle .. NIL; -- Typescript data systemdisplay.mESA 24-0CT-77 18:56:07 Page 2 typescript: PUBLIC StreamDefs.DiskHandle ~ NIL; startLine: StreamDefs.StreamIndex ~ [0, 0]; GetDefaultDisplayStream: PUBLIC PROCEDURE RETURNS[StreamDefs.DisplayHandle] BEGIN RETURN[systemDS]; END; SetupBitmap: PROCEDURE [bitmap: POINTER, nLines, nWords: CARDINAL] = BEGIN dcb: DCBptr; WHILE nLines*SIZE[DCB] + lastLineSize > nWords DO nLines ~ nLines - 1; ENDLOOP; firstDCB ~ dcb ~ bitmap: THROUGH [O .. nLines) DO dcb.next ~ deb + SIZE[DCB]; deb. height ~ lineHe1ght/2; deb ~ deb.next; ENDLOOP; lastDCB ~ deb-SIZE[DCB]; |
Date | User | Rating | Comment |