1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-01 22:50:35 +00:00
6502bench/SourceGen/RuntimeData/README.md

69 lines
2.9 KiB
Markdown
Raw Normal View History

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
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
## 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
## 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.