home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / lotus123 / picfile.txt < prev    next >
Text File  |  1994-03-07  |  4KB  |  107 lines

  1.  
  2.       LOTUS 1-2-3 (tm) .PIC FILE FORMAT DETAILS
  3.  
  4.     This is a partial decoding of the sample pie-chart file
  5. FACILITY.PIC which comes on the PrintGraph disk (or did,any- 
  6. way, on mine). The HEX listing is the data you would see on a
  7. DEBUG display of the file's contents; the rest of each line is 
  8. my interpretation of the meaning, verified in most cases by 
  9. patching other data into the file, making a plot, and seeing 
  10. what effect the changes made.
  11.  
  12. HEX    MEANING OF DATA
  13. ------    -----------------------------------------------------
  14. 0100    Header Word 1, value 0001 (bytes reversed in file)
  15. 0000    Header Word 2
  16. 0100    Header Word 3
  17. 0800    Header Word 4
  18. 4400    Header Word 5
  19. 0000    Header Word 6
  20.     significance of these 6 header words is not known, but
  21.     changes to them often result in Divide Overflow errors
  22.     when PrintGraph attempts to plot the changed file.
  23. 000C    X-coordinate scaling factor, decimal 3072
  24. 7F09    Y-coordinate scaling factor, decimal 2431
  25.     changes to these scaling factors, within reason, will
  26.     change the size of the plotted graph on the page
  27. 06    Start of Plot Data. From here on, 16-bit quantities
  28.     are stored in the file high byte first, then low -- the
  29.     exact reverse of 8086/8088 standard used in the first
  30.     six words.
  31. A7    Select Font...
  32.   01    ...number 2
  33. B0    Select Color number 1 (B1=Color 2, etc.)
  34. A700    Select Font 1
  35. AC    Set Character Size to... 
  36.   008C    ...X=140 and...
  37.   0078    ...Y=120. Note hi-lo byte reversal.
  38. A0    Move, with pen up, to...
  39.   063F    ...X=1599 and...
  40.   0906    ...Y=2310. Coordinate 0,0 is at lower left of screen.
  41. A8    Print label...
  42.   02    ...centered horizontally below point 1599,2310...
  43.     42    B    (ASCII characters follow, for label)
  44.     55    U
  45.     44    D
  46.     47    G
  47.     45    E
  48.     54    T
  49.     00    ...end of label
  50. AC    Set Character Size to...
  51.   0046    ...X=70 and...
  52.   003C    ...Y=60
  53. A701    Select Font number 2
  54. A0    Move, with pen up, to...
  55.   063F    ...X=1599...
  56.   083E    ...Y=2110
  57. A8    Print label...
  58.   04    ...centered horizontally above point 1599,2110...
  59.     46 55 4E 43 54 49 4F 4E 00    "FUNCTION"
  60. A0    Move, with pen up, to...
  61.   0907    ...X=2311...
  62.   040B    ...Y=1035 (start to draw pie, at rightmost edge)
  63. A2    Draw, with pen down, to...
  64.   0906    ...X=2310...
  65.   03F0    ...Y=1008
  66. A2    Draw, with pen down, to...
  67.   0904    ...X=2308...
  68.   03D4    ...Y=980
  69.     ...this goes on for many pages of DEBUG listing, but
  70.     it all follows the above pattern. At the end...
  71. 60    End of Plot Data
  72. 1A    DOS EOF marker byte
  73.  
  74. The byte which follows the A8 "LABEL" marker indicates label
  75. placement with respect to the most recently established pen
  76. location, and orientation of the label on the page. The low
  77. four bits, taken MOD 9, indicate placement:
  78.     X0    Label centered vertically and horizontally
  79.             over the point
  80.     X1    Label centered vertically, extending to the
  81.             right of the point
  82.     X2    Label centered horizontally below the point
  83.     X3    Label centered vertically, extending to the
  84.             left of the point
  85.     X4    Label centered horizontally above the point
  86.     X5    Lower right corner of label on the point
  87.     X6    Lower left corner of label on the point
  88.     X7    Upper right corner of label on the point
  89.     X8    Upper left corner of label on the point
  90. The next higher two bits indicate rotation of the entire label,
  91. including placement, with respect to the rest of the graph:
  92.     0X    Normal placement (0-degree rotation)
  93.     1X    Rotated 90 degrees CCW
  94.     2X    Rotated 180 degrees (upside down)
  95.     3X    Rotated 270 degrees CCW (90 degrees CW)
  96. No "opcode" bytes other than those listed above have been found
  97. in any of the .PIC files I have examined; others may be used,
  98. however. This information should be enough to let you change
  99. fonts or label placement in .PIC files, using DEBUG to do the
  100. hex patching. My software publishing enterprise, "the software
  101. factory", is developing a user-friendly editor to permit you
  102. to edit .PIC files without the need for hex patches; it will
  103. allow additional text to be added to a graph, or any wording
  104. to be changed. Leave a message to 73105,1650 here or on SASIG,
  105. or use EMail, if you're interested in getting an announcement
  106. when it is ready.        Jim Kyle, 12 March 1984
  107.