1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-07-19 21:29:14 +00:00
6502bench/SourceGen
Andy McFadden 2a41d70e04 Allow explicit widths in project/platform symbols, part 1
The ability to give explicit widths to local variables worked out
pretty well, so we're going to try adding the same thing to project
and platform symbols.

The first step is to allow widths to be specified in platform files,
and set with the project symbol editor.  The DefSymbol editor is
also used for local variables, so a bit of dancing is required.
For platform/project symbols the width is optional, and is totally
ignored for constants.  (For variables, constants are used for the
StackRel args, so the width is meaningful and required.)

We also now show the symbol's type (address or constant) and width
in the listing.  This gets really distracting when overused, so we
only show it when the width is explicitly set.  The default width
is 1, which most things will be, so users can make an aesthetic
choice there.  (The place where widths make very little sense is when
the symbol represents a code entry point, rather than a data item.)

The maximum width of a local variable is now 256, but it's not
allowed to overlap with other variables or run of the end of the
direct page.  The maximum width of a platform/project symbol is
65536, with bank-wrap behavior TBD.

The local variable table editor now refers to stack-relative
constants as such, rather than simply "constant", to make it clear
that it's not just defining an 8-bit constant.

Widths have been added to a handful of Apple II platform defs.
2019-10-01 16:00:08 -07:00
..
AsmGen Remap labels that use opcode mnemonics 2019-09-20 15:29:34 -07:00
Examples Changed naming convention in Applesoft/F8-ROM symbol files 2019-09-16 16:58:32 -07:00
Properties Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
Res Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
RuntimeData Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
Sandbox Don't do plugin interface checks during code analysis 2019-08-10 17:16:39 -07:00
SGTestData Remap labels that use opcode mnemonics 2019-09-20 15:29:34 -07:00
Tests Add 2020-cycle-counts 2019-09-14 18:51:03 -07:00
Tools Add Problem List Viewer to debug menu 2019-09-21 13:43:01 -07:00
WpfGui Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
AddressMap.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
Anattrib.cs Minor tweaks 2019-09-06 13:47:23 -07:00
App.config Fix startup issues 2019-07-20 17:36:12 -07:00
App.xaml Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
App.xaml.cs Version 1.3.0 2019-09-27 13:52:25 -07:00
AppSettings.cs Make "long labels on new line" configurable in export dialog 2019-09-18 11:14:20 -07:00
AutoLabel.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
ChangeSet.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
CodeAnalysis.cs Fix code tracing bug 2019-09-17 14:38:16 -07:00
DataAnalysis.cs Instruction operand editor rework, part 3 2019-09-08 16:41:54 -07:00
DefSymbol.cs Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
DisasmProject.cs Minor fixes 2019-09-27 13:43:58 -07:00
DisplayList.cs Make modified flags stand out 2019-09-02 15:18:55 -07:00
DisplayListSelection.cs Add C64 encodings to instruction and data operand editors 2019-08-15 17:53:12 -07:00
Exporter.cs Make links less distracting in HTML output 2019-09-22 16:45:08 -07:00
ExternalFile.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
FormatDescriptor.cs Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
FormattedOperandCache.cs Add a string operand cache 2019-08-17 17:03:06 -07:00
HelpAccess.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
LineListGen.cs Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
LocalVariableLookup.cs Instruction operand editor rework, part 2 2019-09-07 20:56:43 -07:00
LocalVariableTable.cs Add local variable uniquification 2019-08-31 14:19:50 -07:00
MainController.cs Add Problem List Viewer to debug menu 2019-09-21 13:43:01 -07:00
MultiLineComment.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
NavStack.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
PlatformSymbols.cs Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
ProblemList.cs Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
ProjectFile.cs Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
ProjectProperties.cs Make "smart" PLP handling optional 2019-09-02 15:57:59 -07:00
PseudoOp.cs Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
RuntimeDataAccess.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
SourceGen.csproj Add Problem List Viewer to debug menu 2019-09-21 13:43:01 -07:00
Symbol.cs Allow explicit widths in project/platform symbols, part 1 2019-10-01 16:00:08 -07:00
SymbolTable.cs Minor tweaks 2019-09-26 13:00:14 -07:00
SystemDefaults.cs Add default text encoding mode to system definition 2019-08-14 18:03:40 -07:00
SystemDefs.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
UndoableChange.cs Add LocalVariableTable list to project 2019-08-26 16:58:53 -07:00
WeakSymbolRef.cs Add local variable uniquification 2019-08-31 14:19:50 -07:00
XrefSet.cs Instruction operand editor rework, part 2 2019-09-07 20:56:43 -07:00