To create a simulated system, you need to select the components you want to use, describe their properties, and specify how they should connect together. All of this information is specified in the simulator configuration file.
The simulator configuration file consists of a series of commands. The instructions are interpreted by a special SID component with type sid-control-cfgroot. This component is always present in the SID main-line program sid or sid.exe .
The configuration file consists of three major sections:
A listing of component libraries, which are to be dynamically loaded libraries
A set of commands to instantiate any required SID components
A set of commands that connect and configure the components.
The configuration process consists of reading each command from a configuration file, from top to bottom. If any lines are not recognized as syntactically valid commands, or if any commands fail (see below), the configuration process continues, but the simulation will abort before entering the main loop. Error messages are produced in these cases.
In a way, the simulator configuration language corresponds to the common low-level API of SID components. This API is described in the Component Developers Kit Reference manual. Each configuration command maps to a small number of low-level SID API calls. Any SID component could make the same calls at any time during a run. This means that configuration is not really a special stage of SID processing, but potentially an ongoing activity to continually change the running system. This also means that any particular SID configuration file could be supplanted by SID components that perform the work by making the equivalent SID API calls.