diff --git a/SourceGen/MainController.cs b/SourceGen/MainController.cs index a384a35..ee9a068 100644 --- a/SourceGen/MainController.cs +++ b/SourceGen/MainController.cs @@ -828,6 +828,7 @@ namespace SourceGen { private void ApplyUndoableChanges(ChangeSet cs) { if (cs.Count == 0) { Debug.WriteLine("ApplyUndoableChanges: change set is empty"); + // Apply anyway to create an undoable non-event? } ApplyChanges(cs, false); mProject.PushChangeSet(cs); @@ -4466,11 +4467,12 @@ namespace SourceGen { } // Disable "analyze uncategorized data" for best results. - public void Debug_ApplyPlatformSymbols() { + public void Debug_ApplyExternalSymbols() { ChangeSet cs = new ChangeSet(1); foreach (Symbol sym in mProject.SymbolTable) { - if (sym.SymbolSource != Symbol.Source.Platform) { + if (sym.SymbolSource != Symbol.Source.Platform && + sym.SymbolSource != Symbol.Source.Project) { continue; } DefSymbol defSym = (DefSymbol)sym; @@ -4508,7 +4510,12 @@ namespace SourceGen { cs.Add(uc); } - ApplyUndoableChanges(cs); + if (cs.Count == 0) { + MessageBox.Show("No changes made."); + } else { + ApplyUndoableChanges(cs); + MessageBox.Show("Set " + cs.Count + " labels."); + } } public void Debug_RebootSecuritySandbox() { diff --git a/SourceGen/RuntimeData/Help/advanced.html b/SourceGen/RuntimeData/Help/advanced.html index 9ca9a12..c2cbc1d 100644 --- a/SourceGen/RuntimeData/Help/advanced.html +++ b/SourceGen/RuntimeData/Help/advanced.html @@ -440,16 +440,17 @@ not help you debug 6502 projects.

SourceGen Edit Command format. This is an experimental feature.
  • Apply Edit Commands. Reads a file in SourceGen Edit Command format and applies the commands.
  • -
  • Apply Platform Symbols. An experimental feature for turning platform - symbols into address labels. This will run through the list of all - symbols loaded from .sym65 files and find addresses that fall within - the bounds of the file. If it finds an address that is the start +
  • Apply External Symbols. An experimental feature for turning platform + and project symbols into address labels. This will run through the list + of all symbols loaded from .sym65 files and find addresses that fall + within the bounds of the file. If it finds an address that is the start of a code/data line and doesn't already have a user-supplied label, and the platform symbol's label isn't already defined elsewhere, the platform label will be applied. Useful when disassembling ROM images or other code with an established set of public entry points. (Tip: disable "analyze uncategorized data" from the project - properties editor first.)
  • + properties editor first, as this will not set labels in the middle + of multi-byte data items.) diff --git a/SourceGen/RuntimeData/Help/mainwin.html b/SourceGen/RuntimeData/Help/mainwin.html index eb03a32..cb1ac3d 100644 --- a/SourceGen/RuntimeData/Help/mainwin.html +++ b/SourceGen/RuntimeData/Help/mainwin.html @@ -318,6 +318,12 @@ field. Click a second time to reverse the sort direction.

    add the previous selection to the navigation stack. This can be a handy way to move around the file, jumping from label to label.

    +

    The "type" column uses a two-letter code to identify the symbol's +type and scope. The first letter is one of A (auto), U (user), +P (platform), J (project), or V (variable). The second letter is one +of N (non-unique local), L (local), G (global), X (exported), +E (external), or C (constant).

    +

    Info Window

    diff --git a/SourceGen/WpfGui/MainWindow.xaml b/SourceGen/WpfGui/MainWindow.xaml index f5aa6f5..9a1a9c7 100644 --- a/SourceGen/WpfGui/MainWindow.xaml +++ b/SourceGen/WpfGui/MainWindow.xaml @@ -205,7 +205,7 @@ limitations under the License. - + @@ -347,8 +347,8 @@ limitations under the License. Executed="Debug_ApplesoftToHtmlCmd_Executed"/> - + - + diff --git a/SourceGen/WpfGui/MainWindow.xaml.cs b/SourceGen/WpfGui/MainWindow.xaml.cs index ccadbe1..35c57b4 100644 --- a/SourceGen/WpfGui/MainWindow.xaml.cs +++ b/SourceGen/WpfGui/MainWindow.xaml.cs @@ -1398,9 +1398,9 @@ namespace SourceGen.WpfGui { mMainCtrl.Debug_ApplyEditCommands(); } - private void Debug_ApplyPlatformSymbolsCmd_Executed(object sender, + private void Debug_ApplyExternalSymbolsCmd_Executed(object sender, ExecutedRoutedEventArgs e) { - mMainCtrl.Debug_ApplyPlatformSymbols(); + mMainCtrl.Debug_ApplyExternalSymbols(); } private void Debug_ExportEditCommandsCmd_Executed(object sender,