1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-06-12 08:29:29 +00:00

Move source code notes to separate file

This commit is contained in:
Andy McFadden 2019-12-31 14:26:47 -08:00
parent 160dfca42a
commit dbc8c98010
2 changed files with 47 additions and 27 deletions

View File

@ -114,12 +114,15 @@ The framework requires Win7 SP1, Win8.1, or Win10 updated through at least
the Anniversary Update (1607). (One user who had trouble with the 4.7.2
installer was able to get the 4.6.2 installer to work.)
SourceGen does not currently run on Linux or Mac OS X. Versions 1.0 and 1.1
used the WinForms API, which has been implemented for Mono, but after
encountering significant bugs that I wasn't able to work around I abandoned
the idea and switched to WPF. Besides working better under Windows, WPF
uses a more modern approach (XAML) that may ease the transition to a modern
cross-platform GUI like Avalonia.
SourceGen does not currently run on Linux or Mac OS X. My understanding is
that .NET apps don't work under WINE, so it can only be run on a full
Windows system emulation.
(SourceGen Versions 1.0 and 1.1 used the WinForms API, which has been
implemented for Mono, but after encountering significant bugs that I wasn't
able to work around I abandoned the approach and switched to WPF. Besides
working better under Windows, WPF uses a more modern approach (XAML) that
may ease the transition to a cross-platform GUI API like Avalonia.)
## Getting Started ##
@ -140,24 +143,4 @@ display it.
## About the Code ##
All of the code is written in C# .NET, using the (free to download) Visual
Studio Community 2017 IDE as the primary development environment. The user
interface uses the WPF API.
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.
The source code is licensed under Apache 2.0
(http://www.apache.org/licenses/LICENSE-2.0), which makes it free for use in
both open-source programs and closed-source commercial software. The license
terms are similar to BSD or MIT, but with some additional constraints on
patent licensing. (This is the same license Google uses for the Android
Open Source Project.)
Images are licensed under Creative Commons ShareAlike 4.0 International
(https://creativecommons.org/licenses/by-sa/4.0/).
See the [source code notes](SourceNotes.md).

37
SourceNotes.md Normal file
View File

@ -0,0 +1,37 @@
# 6502bench Source Code Notes #
All of the code is written in C# .NET, using the (free to download) Visual
Studio Community 2017 IDE as the primary development environment. The user
interface uses the WPF API.
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.
The source code is licensed under Apache 2.0
(http://www.apache.org/licenses/LICENSE-2.0), which makes it free for use in
both open-source programs and closed-source commercial software. The license
terms are similar to BSD or MIT, but with some additional constraints on
patent licensing. (This is the same license Google uses for the Android
Open Source Project.)
Images are licensed under Creative Commons ShareAlike 4.0 International
(https://creativecommons.org/licenses/by-sa/4.0/).
## SourceGen Points of Interest ##
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.