PortaCalc Save File Format PortaCalc's P class commands use a sequential file which encodes the values in active cells only. This file may readily be handled in Fortran or other languages. Each cell is output in 2 lines with the following formats: A1,I5,',',I5,',',109A1 (SYMBOLIC SAVE) OR A1,I5,',',I5,',',E50.35 (NUMERIC SAVE) and then I3,',',9A1,',',I5 The numbers encoded in the first format are: A1 - Letter P or D indicating Physical or Display sheet save (usually ignored) I5 - Row relative to cursor at save time, starting at 1 for cursor location and increasing (saves only from cursor right and down) I5 - Column relative to cursor at save time, starting at 1 109A1 or - Formula in cell, or value in cell (depends on Symbolic E50.35 or Numeric save which is present) The numbers encoded in the second format are: I3 - FVLD - Valid byte. Its meaning is that negative values are text (-1 means alphas are present, -2 or -3 mean only numerics and/or punctuations), 0 is an inactive cell (should never appear in a save), and +1 means formula with alphas, +2 or +3 means formula with no alphas (2 or 3 switches whether it was computed or not). 9A1 - Format string for formatting cell on output I5 - Type number. Normally 2 for reals, 4 for integers, negative values mean uninitialized. Negative numbers basically never will appear here. The fields are separated by commas so BASIC can handle them. These numbers may be read by FORTRAN formats as follows: 1000 FORMAT(A1,I5,X,I5,X,109A1) or 1000 FORMAT(A1,I5,X,I5,X,E50.35) 2000 FORMAT(I3,X,9A1,X,I5) Note this sort of encoding is needed to allow the format encoding to be recorded in the file; the DIF format lacks room to do this. On read-back, cells outside legal boundaries are not used. To add pie charts or other graphics, a simple mod to PCGRAF with addition of suitable graphics output routines for your favorite graphics device would give such graphics output from PortaCalc saved spread sheets (provided they were saved numerically).