2018-09-28 17:05:11 +00:00
|
|
|
# Runtime Data #
|
|
|
|
|
2022-05-22 19:59:04 +00:00
|
|
|
Symbol files and extension scripts are split into directories by
|
2022-05-22 20:13:42 +00:00
|
|
|
platform manufacturer. General-purpose scripts are in the `Common`
|
|
|
|
directory.
|
2018-09-28 17:05:11 +00:00
|
|
|
|
2022-05-22 19:59:04 +00:00
|
|
|
A Visual Studio project (`RuntimeData.csproj`) exists in the source tree
|
2022-05-22 20:13:42 +00:00
|
|
|
so you can edit platform-specific scripts with IntelliSense and error
|
|
|
|
highlighting. Everything in this directory is distributed as source,
|
|
|
|
not in compiled form; all compilation occurs at run time.
|
|
|
|
|
|
|
|
The `Tips` directory holds the files used by the "daily tips" feature,
|
|
|
|
and `TestData` has some files used by the regression tests.
|
2018-09-28 17:05:11 +00:00
|
|
|
|
|
|
|
## SystemDefs.json ##
|
|
|
|
|
|
|
|
This file defines the systems available in the "new project" screen.
|
|
|
|
The following fields are mandatory:
|
|
|
|
|
|
|
|
* Name - Short name that identifies the system.
|
|
|
|
* GroupName - Short string used to group common items together in the UI.
|
|
|
|
* CPU - Type of CPU used. The string must be part of the known set
|
2022-05-22 19:59:04 +00:00
|
|
|
(see CpuDef.cs).
|
2018-09-28 17:05:11 +00:00
|
|
|
* Speed - Clock rate, in MHz, of the CPU on the system. When multiple
|
|
|
|
speeds are possible, use the most common, favoring NTSC over PAL.
|
|
|
|
* SymbolFiles - List of platform symbol file identifiers (see below).
|
|
|
|
* ExtensionScripts - List of extension script file identifiers (see below).
|
|
|
|
* Parameters - List of optional parameters (see below).
|
|
|
|
|
|
|
|
The currently-supported parameters are:
|
|
|
|
|
2022-05-22 19:59:04 +00:00
|
|
|
* `load-address=<addr>` - Specify the initial load address. The default
|
2018-09-28 17:05:11 +00:00
|
|
|
is 0x1000.
|
2022-05-22 19:59:04 +00:00
|
|
|
* `entry-flags=<flag-set>` - Specify the processor status flag values to
|
2018-09-28 17:05:11 +00:00
|
|
|
use at entry points. This is intended for use on the 65802/65816, and
|
2022-05-22 19:59:04 +00:00
|
|
|
may be one of `emulation`, `native-short`, and `native-long`. The
|
|
|
|
default is `emulation`.
|
|
|
|
* `undocumented-opcodes={true|false}` - Enable or disable undocumented
|
2018-09-28 17:05:11 +00:00
|
|
|
opcodes. They are disabled by default.
|
2022-05-22 19:59:04 +00:00
|
|
|
* `first-word-is-load-addr={true|false}` - If true, the first two bytes of
|
2018-10-08 19:49:26 +00:00
|
|
|
the file contain the load address.
|
2022-05-22 19:59:04 +00:00
|
|
|
* `default-text-encoding=<mode>` - Specify default character encoding.
|
|
|
|
Use `c64-petscii` for PETSCII. The default is low/high ASCII.
|
2018-09-28 17:05:11 +00:00
|
|
|
|
|
|
|
All of these things can be changed after the project has begun, but it's
|
|
|
|
nice to have them configured in advance.
|
|
|
|
|
|
|
|
SymbolFiles and ExtensionScripts use file identifiers, which look like
|
2022-05-22 19:59:04 +00:00
|
|
|
"`RT:Apple/ProDOS8.sym65`". The "RT:" means that the file lives in the
|
2018-09-28 17:05:11 +00:00
|
|
|
RuntimeData directory, and the rest is a partial pathname. Files that
|
|
|
|
live in the same directory as the project file are prefixed with "PROJ:".
|
|
|
|
All symbol files and extension scripts must live in the RuntimeData
|
|
|
|
directory or project file directory, or they will not be loaded.
|
|
|
|
|
|
|
|
All "RT:" identifier paths are relative to the RuntimeData directory. The
|
2022-05-22 19:59:04 +00:00
|
|
|
GroupName string is not automatically added.
|
2018-09-28 17:05:11 +00:00
|
|
|
|
2018-10-08 22:30:43 +00:00
|
|
|
## Platform Symbol Files and Extension Scripts ##
|
2018-09-28 17:05:11 +00:00
|
|
|
|
2022-05-22 20:13:42 +00:00
|
|
|
The format of these files is described in detail in the "Advanced Topics"
|
|
|
|
section of the manual ([here](../../docs/sgmanual/advanced.html)).
|
2018-09-28 17:05:11 +00:00
|
|
|
|
2018-10-08 22:30:43 +00:00
|
|
|
## Misc Files ##
|
2018-09-28 17:05:11 +00:00
|
|
|
|
2022-05-22 19:59:04 +00:00
|
|
|
`ExportTemplate.html` and `SGStyle.css` are used by SourceGen's HTML export
|
2020-01-02 02:06:59 +00:00
|
|
|
feature.
|
|
|
|
|
2022-05-22 19:59:04 +00:00
|
|
|
`LegalStuff.txt` is displayed in the About box.
|