| Assembly Language, Pick | Index Level | blocked IO |
| Syntax | |
| Category | Definitions |
| Type | Definition |
| Description |
accessing binary items using normal Pick utilities.
Through the OSFI, it is possible to access binary items as if they were normal Pick items, using Access, Pick BASIC, FlashBASIC, etc... Conventions : Since a standard Pick item is generally accessed in a different manner than a binary item, several conventions are observed: - The following characters in binary items are converted to the corresponding escape sequences when read through the binary interface. This conversion is reversed when writing an item. Note that this translation scheme is identical to that used by the Unix interface making it possible to store foreign data inside a Pick binary item exactly as it appeared in the foreign file system. SM DLE _ AM DLE ^ VM DLE ] SVM DLE \ DLE DLE DLE - An attempt to read a non-binary item will return the item without any translation. - When writing an item through the binary interface, the resulting item is always made binary. The length of the actual data (after applying the above translations in reverse) is stored in the item header and is transfered by all standard utilities including copy, t-dump, t-load, save, and restore. - Older Pick binary items which do not have binary lengths may return a number of character 0's at the end of the data ("zero filled") when that item is read. Q-Pointer Format : The format of the binary Q-pointer is: file.name 001 Q 002 003 binary:filename 'binary' is the name of the 'binary' host in the 'dm,hosts,' file. 'filename' is the name of the Pick file. The use of the binary Q-pointer is generally unnecessary for non-Pick files since the drivers accessing those files already convert binary data into a non-binary, escape format identical to that used by the binary driver. Optionally, the file may be opened directly by adding the "binary:" prefix to the file name. |
| Options | |
| See Also | Super-Q-Pointer Open Systems File Interface hosts qs-pointer qs-pointer osfi pverify |
| Example |
The following example displays the textual portion of some BASIC object code.
:ct dict binary:bp test 001 ............]}..............:. B..B..who._.. u0.P..E._.. test.]9885.[38516.]7.]bh/]brad.]6.2.0.M0.A2.D2.F5.].^._. ............................................(many more dots) The following example copies a binary image from a DOS machine (via an NFS link) into a standard PICK item. Note that the standard Pick item is NOT a binary item since any binary information representing escape sequences would be processed as escape sequences (whether they are or not) when the data is transfered from DOS to Pick. The second command copies this item into a true Pick binary item. The data in this binary item corresponds exactly to the data in the original DOS image. copy /dos PIC001.GIR (pictures 1 PIC001.GIR copy pictures PIC001.GIR (bin:pictures2 1 PIC001.GIR |
| Warnings |
When editing binary items with the Update Processor, it is suggested to use the (R option to display non-printable characters as periods.
The user is strongly cautioned against changing BASIC object code using this utility as doing so may cause aborts and or data corruption. Use the "pverify" command to verify the validity of FlashBASIC object code. The creation of "QS" pointers (Q-pointers which are saved using the file-save) pointing to files accessed with this driver is not recommended as non-binary items will be restored as binary. |
| Compatibility | D3 7.0 |
| Assembly Language, Pick | Index Level | blocked IO |