SPLat Logo

Builder: Standard segment names

Builder: Standard segment names

You are free to invent your own segment names for use with Builder. The only exception is that there is one special, predefined segment called -UNAMED- which captures anything in your source files that appears before a <...> segment tag and emits them first.

In any library functions that we make we will stick as far as possible to the following list of names. It's a good idea if you use the same names for corresponding function.

DOCCOSEG

Contains any documentation on how to use a library file. DISCARD from your builds

IOSEG

Input and output assignments, including analogs

CONSTSEG

Constant values, for example time intervals

MEQUSEG

Contains any mEQU RAM allocations (say for PermStore). Must appear before any defBYTE, defFloat, defSEM etc automatic RAM allocations.

DEFSEG

Contains automatic RAM allocations defBYTE, defSEM etc. use this only if your prefer (stylistically) to have all your RAM allocations near the start of your program.

TESTSEG

Test code that should always be DISCARDed from production builds

INITSEG

Initialize code - stuff that should run once at startup. Generally calls initialize routines for various modules/objects.

LAUNCHSEG

Contains a RunTasksForever to start up MultiTrack. Should be used in .b1d files with ONEONLY

CODESEG

Actual active code. May also contain defXXX memory allocations if you prefer having them inside the module that owns them (c.f. near the top of your program.)

NVEM0DIR

Contains a NVEM0 directive. Should be used in .b1d files with ONEONLY Must appear before any other NVEM related segment.

NVEM0DATA

Contains NVEM page 0 tables or data.

XWIREINIT

Contains an instruction (typically XwireMaster XwireTab) that will start up Xwire using the configuration data located under the label XwireTab in NVEM0. Should be used in .b1d files with ONCEINLINE. Used by any of our library of Active Template modules that use Xwire.

XWIREMTAB

Contains the line label (typically XwireTab)in NVEM0 that signals the Xwire configuration table. Should be used in .b1d files with ONEONLY. Used by any of our library of Active Template modules that use Xwire.

XWIREMDATA

Contains configuration data, in NVEM0, for Xwire master operation. Used by any of our library of Active Template modules that use Xwire.

XWIREMEND

Contains an end of table sentinel for Xwire master configuration data. Should be used in .b1d files with ONEONLY. Used by any of our library of Active Template modules that use Xwire

DEBUG1

Only ever used in <=IF tags. If enabled switches on debug features to help you debug your system.

DEBUG2

Only ever used in <=IF tags. If enabled switches on debug features to help you debug your system.

DEBUG3

Only ever used in <=IF tags. If enabled switches on debug features to help you debug your system.

Note that Builder will raise an error if there is a segment name in a .spt file that is not listed in the .b1d file, i.e. you must explicitly DISCARD unwanted segments. The inverse is not the case: you can have segment names in the .b1d file that do not exist in any .spt file.