PDFileFormat: DEFINITIONS = BEGIN passwordValue: CARDINAL = 125252B; versionValue: CARDINAL = 1B; DeviceCode: TYPE = MACHINE DEPENDENT { invalid(0), raven(1), hornet(2), gnat(3), mig(4), reticleMaker(5), puffin(6), last(LAST[CARDINAL]) }; Herald: TYPE = MACHINE DEPENDENT RECORD [ password(0): CARDINAL _ passwordValue, version(1): CARDINAL _ versionValue, deviceCode(2): DeviceCode _ invalid, sResolution(3): CARDINAL, fResolution(4): CARDINAL, imageSSize(5): CARDINAL, imageFSize(6): CARDINAL, bandSSize(7): CARDINAL, maxLoadWord(8): LONG CARDINAL, copies(10): CARDINAL ]; Typ: TYPE = MACHINE DEPENDENT {control(0), imaging(2)}; ImagingCom: TYPE = MACHINE DEPENDENT { maskSamplesRef(0), maskRunGroupRef(1), maskRectangle(2), maskTrapezoid(3), maskRunGroup(4), maskSamples(5), colorSamples(6) }; ControlCom: TYPE = MACHINE DEPENDENT { startImage(0), setPriority(1), setColorInk(2), setColorClear(3), setColorTile(4), endBand(5), endDocument(6), storeLoad(7), deviceCommand(8) }; transparentFlag: [0..1] = 1; opaqueFlag: [0..1] = 0; Command: TYPE = MACHINE DEPENDENT RECORD [ command(0): SELECT typ(0:0..1): Typ FROM imaging => [com(0:2..7): ImagingCom, addrHighBits(0:8..15): [0..256) _ 0], control => [com(0:2..7): ControlCom, rest(0:8..15): [0..256) _ 0] ENDCASE ]; SampleArray: TYPE = MACHINE DEPENDENT RECORD [ sSize(0): CARDINAL, fSize(1): CARDINAL ]; Tile: TYPE = MACHINE DEPENDENT RECORD [ phase(0): CARDINAL, sMin(1): CARDINAL, fMin(2): CARDINAL, sSize(3): CARDINAL, fSize(4): CARDINAL ]; RunGroup: TYPE = MACHINE DEPENDENT RECORD [ sSize(0): CARDINAL ]; Run: TYPE = MACHINE DEPENDENT RECORD [ fMin(0): CARDINAL, lastRun(1:0..0): BOOLEAN, fSize(1:1..15): NAT ]; MaskRectangle: TYPE = MACHINE DEPENDENT RECORD [ sMin(0): CARDINAL, sSize(1): CARDINAL, fMin(2): CARDINAL, fSize(3): CARDINAL ]; MaskTrapezoid: TYPE = MACHINE DEPENDENT RECORD [ sMin(0): CARDINAL, sSize(1): CARDINAL, fMin(2): CARDINAL, fSize(3): CARDINAL, fMinLast(4): CARDINAL, fSizeLast(5): CARDINAL ]; MaskRunGroup: TYPE = MACHINE DEPENDENT RECORD [ sMin: CARDINAL ]; MaskSamples: TYPE = MACHINE DEPENDENT RECORD [ sMin: CARDINAL, fMin: CARDINAL ]; MaskRunGroupRef: TYPE = MACHINE DEPENDENT RECORD [ addrLowBits: CARDINAL, sMin: CARDINAL, fMin: CARDINAL ]; MaskSamplesRef: TYPE = MACHINE DEPENDENT RECORD [ addrLowBits: CARDINAL, sMin: CARDINAL, fMin: CARDINAL ]; ColorSamples: TYPE = MACHINE DEPENDENT RECORD [ sMin: CARDINAL, fMin: CARDINAL ]; Priority: TYPE = MACHINE DEPENDENT RECORD [ priorityLowBits: CARDINAL ]; SetColorTile: TYPE = MACHINE DEPENDENT RECORD [ addr: LONG CARDINAL ]; Toner: TYPE = MACHINE DEPENDENT {black(0), cyan(1), magenta(2), yellow(3)}; StartImage: TYPE = MACHINE DEPENDENT RECORD [ filler(0:0..8): [0..512) _ 0, leftOverMode(0:9..9): BOOLEAN, feed(0:10..10): BOOLEAN, strip(0:11..11): BOOLEAN, toner(0:12..15): Toner, passBands(1): NAT, nBands(2): NAT, fMinPage(3): CARDINAL, fSizePage(4): CARDINAL ]; StoreLoad: TYPE = MACHINE DEPENDENT RECORD [ firstAddress(0): LONG CARDINAL, wordCount(2): CARDINAL ]; END. œPDFileFormat.mesa Created March 14, 1983 Michael Plass, April 29, 1983 11:01 am addrHighBits is used by the maskSamplesRef and maskRunGroupRef commands. rest is used by the setPriority and setColorTile commands. Followed by the actual scan lines, each padded out to a word. Followed by the actual scan lines, each padded out to a word. Followed by the Runs. Followed by the RunGroup Followed by the SampleArray High bits are in the command word High bits are in the command word Followed by the SampleArray rest field of ControlCom contains high order bits of priority. rest field of ControlCom contains transparentFlag or opaqueFlag. Followed by the data words Κ4˜J™J™J™&unitšœΟk œ˜!Kšœœ ˜"Jšœœ˜šœ œœ œ˜&J˜ Jšœ ˜ Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ Jšœœœ˜Jšœ˜—š œœœ œœ˜)Jšœ œ˜&Jšœ œ˜$Jšœ$˜$Jšœœ˜Jšœœ˜Jšœœ˜Jšœœ˜Jšœœ˜Jšœœœ˜Jšœ ˜Jšœ˜—Kšœœœ œ˜7šœ œœ œ˜&Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜—šœ œœ œ˜&Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜—K˜Jšœ˜š œ œœ œœ˜*šœ œ˜(šœJ˜JJšœH™H—šœA˜AJšœ:™:—Jš˜—Jšœ˜—š œ œœ œœ˜.Jšœ œ˜Jšœ ˜J™=Jšœ˜—š œœœ œœ˜'Jšœ œ˜Jšœ œ˜Jšœ œ˜Jšœ œ˜Jšœ ˜J™=Jšœ˜—š œ œœ œœ˜+Jšœ ˜J™Jšœ˜—š œœœ œœ˜&Jšœ œ˜Jšœœ˜Jšœ˜Jšœ˜—š œœœ œœ˜0Jšœ œ˜Jšœ œ˜Jšœ œ˜Jšœ ˜Jšœ˜—š œœœ œœ˜0Jšœ œ˜Jšœ œ˜Jšœ œ˜Jšœ œ˜Jšœ œ˜Jšœ˜Jšœ˜—š œœœ œœ˜/Jšœ˜Jšœ™Jšœ˜—š œ œœ œœ˜.Jšœœ˜Jšœ˜Jšœ™Jšœ˜—š œœœ œœ˜2šœ œ˜J™!—Jšœœ˜Jšœ˜Jšœ˜—š œœœ œœ˜1šœ œ˜J™!—Jšœœ˜Jšœ˜Jšœ˜—š œœœ œœ˜/Jšœœ˜Jšœ˜Jšœ™Jšœ˜—š œ œœ œœ˜+Jšœ>™>Jšœ˜Jšœ˜—š œœœ œœ˜/Jšœ@™@Jšœœ˜Jšœ˜—Kšœœœ œ,˜Kš œ œœ œœ˜-J˜Jšœœ˜Jšœœ˜Jšœœ˜J˜Jšœœ˜Jšœ œ˜Jšœ œ˜Jšœ˜Jšœ˜—š œ œœ œœ˜,Jšœœœ˜Jšœ˜Jšœ™Jšœ˜—Kšœ˜——…— Θ˜