FMS-11 Internal Form Structure Mike Haines Ian Darwin The following is an APPROXIMATE description of the internal contents of an FMS-11 FORM as used in RT-11. It has not been determined if the VMS forms are in exactly the same format. For a description of the library format, the way in which multiple forms are put together into one file, see the RT-11 Documentation. This information was derived more-or-less empirically (we do NOT have the sources for FMS-11!!) and may contain errors of fact. It is distributed without charge and for informational purposes only. Derived by Mike Haines; submitted to DECUS DMS SIG "SCHEMA" by Ian Darwin, University of Toronto Computing Services, 10 King's College Road, Toronto M5S 1A1. You will get the maximum benefit out of reading this if you sit down with a DUMP of a small form file to refer to. 1.0 Header Part - First 16 Words Of Block 0 + _______________________________________ words 1 - 2 : RAD50 libnam (?) seems to default to FRM LBR words 3 - 4 : RAD50 form name word 5 : size in bytes of form words 6 - 8 : ASCII help file name word 9 : starting line number of form (byte 17) ending line number (byte 18) word 10 : unknown word 11 : unknown word 12 : form-wide video attributes: bit 1 - set wide screen: bit 2 - 80 columns: bit 3 - reverse video word 13 : unknown word 14 : unknown word 15 : number of fields in form word 16 : impure area size in bytes 2.0 Text + ____ The text is started by two consecutive words containing -1 and -2, followed by five bytes that contain information about the string. word 1 : the first byte indicates the line number of the string the second byte indicates the column number word 2 : indicates the video attributes of the string bit 0 - underline bit 1 - reverse bit 2 - bold bit 3 - blink The next byte indicates the length of the string in bytes. 3.0 FMS Data Input Fields + _____________________ All input fields are started after two consecutive words containing -1 and -3, there is for each field following. word 1 : seems to be related to whether or not there is a default or a help for the field. Low order byte contains the length in bytes of the field entry. words 2 - 4 : ASCII field name word 5 : first byte contains line number of field second byte contains column number word 6 : first byte contains the clear character bits 0 to 3 indicate the video attributes of the field see word 2 in text section word 7 : Field Picture Validation attributes bits 5 and 0 - set when field is indexed bit 8 - set when field consists of signed picture validation characters (PVCs) bit 9 - set when field consists of Alphanumerics bit 10 - set when field consists of Alphabetic PVCs bit 11 - field consists of numeric PVCs bit 12 - indicates that more than one type of PVC is in a field word 8 : Field attributes bit 4 - when set, indicates vertical indexing when clear and word 7 indicates indexing, then horizontal indexing is indicated. bit 5 - fixed decimal bit 6 - zero fill bit 7 - auto tab bit 8 - display only bit 9 - right justify bit 10 - response required bit 11 - must fill bit 12 - echo off bit 13 - supervisor-only mode word 9 : number of PVCs in field After word 9 there are the following strings: field string - contains field definition as it was input in FED default string - default for field help string - one line help message The default and help strings are optional. Before each string there is one byte that indicates the length of the string. In the case of the field string this byte indicates the length of the field which can be greater than from the number of PVCs in the field. 4.0 Named Data + __________ Named data begins after two consecutive words containing -1 and -4. Each named data entry consists of a six character name of the data followed by a byte that indicates the length of the data followed by the data string. 5.0 Ending + ______ Forms end with two consecutive words containing -1 and -5.