diff --git a/Dependencies.md b/Dependencies.md
new file mode 100644
index 0000000..a1d67ac
--- /dev/null
+++ b/Dependencies.md
@@ -0,0 +1,93 @@
+# Main solution
+
+Graph of ``s, as of 2.10 RC1:
+
+
+Color | Legend
+--:|:--
+green | *Standard*
+blue | *Framework*
+red | *Framework* via *Standard*†
+
+`-NRT` on a project indicates it has [nullable reference types](https://docs.microsoft.com/en-us/dotnet/csharp/nullable-references) disabled by default.
+
+† doesn't cause issues if the *Standard* library is itself consumed in a *Framework* library or executable
+
+
+source
+For use with Graphviz' `dot`.
+
+```dot
+// BizHawk project dependency graph as of 2.10 RC1
+digraph G {
+ subgraph netstandard {
+ node [ color = "#007F00"; fontcolor = "#007F00"; ];
+ "BizHawk.Bizware.Audio" [ label = "bh.Bizware.Audio -NRT" ];
+ "BizHawk.Bizware.Graphics" [ label = "bh.Bizware.Graphics -NRT" ];
+ "BizHawk.Bizware.Input" [ label = "bh.Bizware.Input -NRT" ];
+ "BizHawk.Client.Common" [ label = "bh.Client.Common -NRT" ];
+ "BizHawk.Common";
+ "BizHawk.Emulation.Common" [ label = "bh.Emulation.Common" ];
+ "BizHawk.Emulation.Cores" [ label = "bh.Emulation.Cores -NRT" ];
+ "BizHawk.Emulation.DiscSystem" [ label = "bh.Emulation.DiscSystem -NRT" ];
+ }
+
+ subgraph netframework {
+ node [ color = "#00009F"; fontcolor = "#00009F"; ];
+ "BizHawk.BizInvoke" [ label = "bh.BizInvoke" ];
+ "BizHawk.Bizware.Graphics.Controls" [ label = "bh.Bizware.Graphics.Controls -NRT" ];
+ "BizHawk.WinForms.Controls" [ label = "bh.WinForms.Controls" ];
+ subgraph cluster_executable {
+ color = "#00009F3F";
+ fontcolor = "#00009F";
+ label = "Executable projects";
+ "BizHawk.Bizware.Test" [ label = "bh.Bizware.Test" ];
+ "BizHawk.Client.DiscoHawk" [ label = "bh.cl.DiscoHawk -NRT" ];
+ "BizHawk.Client.EmuHawk" [ label = "bh.cl.EmuHawk -NRT" ];
+ subgraph cluster_test {
+ label = "Test projects";
+ "BizHawk.Tests";
+ "BizHawk.Tests.Testroms.GB" [ label = "bh.ts.Testroms.GB" ];
+ "BizHawk.Tests.Testroms.GB.GambatteSuite" [ label = "bh.ts.Testroms.GB.GambatteSuite" ];
+ }
+ }
+ }
+
+ subgraph netstandard_deps {
+ edge [ color = "#007F00"; ];
+ "BizHawk.Bizware.Graphics" -> "BizHawk.Bizware.Graphics.Controls";
+ "BizHawk.Bizware.Graphics" -> "BizHawk.Client.Common";
+ "BizHawk.Client.Common" -> "BizHawk.Bizware.Audio";
+ "BizHawk.Client.Common" -> "BizHawk.Bizware.Input";
+ "BizHawk.Client.Common" -> "BizHawk.Tests";
+ "BizHawk.Client.Common" -> "BizHawk.Tests.Testroms.GB";
+ "BizHawk.Common" -> "BizHawk.BizInvoke";
+ "BizHawk.Common" -> "BizHawk.Bizware.Graphics";
+ "BizHawk.Common" -> "BizHawk.Emulation.DiscSystem";
+ "BizHawk.Common" -> "BizHawk.WinForms.Controls";
+ "BizHawk.Emulation.Common" -> "BizHawk.Emulation.Cores";
+ "BizHawk.Emulation.Cores" -> "BizHawk.Client.Common";
+ "BizHawk.Emulation.DiscSystem" -> "BizHawk.Client.DiscoHawk";
+ "BizHawk.Emulation.DiscSystem" -> "BizHawk.Emulation.Cores";
+ subgraph redundant { // removed in c22f2ab4f
+ edge [ color = "#007F003F"; constraint = false; ];
+ "BizHawk.Bizware.Graphics" -> "BizHawk.Bizware.Test";
+ "BizHawk.Bizware.Graphics" -> "BizHawk.Client.EmuHawk";
+ "BizHawk.Bizware.Graphics" -> "BizHawk.Tests.Testroms.GB";
+ "BizHawk.Common" -> "BizHawk.Emulation.Common";
+ }
+ }
+
+ subgraph netframework_deps {
+ edge [ color = "#00009F"; ];
+ "BizHawk.BizInvoke" -> "BizHawk.Emulation.Common" [ color = "#9F0000"; ];
+ "BizHawk.Bizware.Audio" -> "BizHawk.Client.EmuHawk";
+ "BizHawk.Bizware.Graphics.Controls" -> "BizHawk.Bizware.Test";
+ "BizHawk.Bizware.Graphics.Controls" -> "BizHawk.Client.EmuHawk";
+ "BizHawk.Bizware.Input" -> "BizHawk.Client.EmuHawk";
+ "BizHawk.Tests.Testroms.GB" -> "BizHawk.Tests.Testroms.GB.GambatteSuite";
+ "BizHawk.WinForms.Controls" -> "BizHawk.Client.EmuHawk";
+ }
+}
+```
+
\ No newline at end of file