1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-11-19 21:31:30 +00:00
6502bench/SourceNotes.md
Andy McFadden b76ca09562 Migrate from VS 2017 CE to 2019
I installed VS 2019 CE, opened the project, and fiddled around a bit.
Everything seems to work, so I'm making the upgrade official.  I
didn't see any problems when I switched back to 2017.
2020-05-16 11:37:15 -07:00

37 lines
1.4 KiB
Markdown

# 6502bench Source Code Notes #
All of the code is written in C# .NET, using the (free to download) Visual
Studio Community 2019 IDE as the primary development environment. The user
interface uses the WPF API. When installing Visual Studio, be sure to
include ".NET Desktop Development".
The Solution file is called "WorkBench.sln" rather than "6502bench.sln"
because some things in Visual Studio got weird when it didn't start with a
letter.
The code style is closer to what Android uses than "standard" C#. Lines
are folded to fit 100 columns.
## SourceGen Points of Interest ##
Places to start...
The main window UI is in WpfGui/MainWindow.xaml[.cs]. Much of the
implementation lives in MainController.cs.
The top-level object for the project data is DisasmProject.cs. The
Analyze() method drives the code and data analysis process. ApplyChanges()
is the heart of the undo/redo system.
Source code generation and assembler execution is routed through
AsmGen/AssemblerInfo.cs. If you want to add support for a new
cross-assembler, start by adding new entries to the enum and data
tables there.
Nothing system-specific is baked into the main application. The
SourceGen/RuntimeData directory has the system definitions for the
"new project" list, and subdirectories with symbol files and extension
scripts. The [README file there](SourceGen/RuntimeData/README.md)
explains a bit more.