├── .gitignore
├── MathParser.dll
├── z80assemble.suo
├── Z80IDE
├── Images
│ ├── New.ico
│ ├── Open.ico
│ ├── Save.ico
│ ├── sot_6_pin.ico
│ ├── OutputWindow.ico
│ ├── ToolboxWindow.ico
│ └── SolutionExplorer.ico
├── syntax.xml
├── ToolWindow.cs
├── Program.cs
├── DummyOutputWindow.cs
├── HexView.cs
├── Properties
│ ├── Settings.settings
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Settings.Designer.cs
│ └── Resources.resx
├── app.config
├── NewSolution.cs
├── HexView.Designer.cs
├── BuildManager.cs
├── DummyOutputWindow.Designer.cs
├── MemoryByteProvider.cs
├── ToolWindow.Designer.cs
├── SolutionSettings.cs
├── EditorWindow.cs
├── DummySolutionExplorer.cs
├── NewSolution.resx
├── HexView.resx
├── SolutionSettings.resx
├── ToolWindow.resx
├── DummyOutputWindow.resx
├── NewSolution.Designer.cs
├── Solution.cs
├── EditorWindow.resx
├── Z80IDE.csproj
├── SolutionSettings.Designer.cs
├── EditorWindow.Designer.cs
└── DummySolutionExplorer.resx
├── HexBoxWin7
└── bin
│ ├── Ribbon.dll
│ └── Be.Windows.Forms.HexBox.dll
├── WeifenLuo.WinFormsUI.Docking.dll
├── FastColoredTextBox-master
└── Binary
│ ├── TabStrip.dll
│ ├── FastColoredTextBox.dll
│ └── htmlDesc.xml
├── Tests
├── app.config
├── Properties
│ └── AssemblyInfo.cs
└── Tests.csproj
├── z80assemble
├── app.config
├── z80assembler.csproj.user
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Class1.cs
├── MemoryByteProvider.cs
├── z80assembler.csproj
└── commands.txt
├── MathParser.dll.licence.txt
├── IntelHex
├── Properties
│ └── AssemblyInfo.cs
├── IntelHex.csproj
└── Class1.cs
├── z80assemble.sln
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | bin/
2 | Release/
3 | Debug/
4 |
--------------------------------------------------------------------------------
/MathParser.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/MathParser.dll
--------------------------------------------------------------------------------
/z80assemble.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/z80assemble.suo
--------------------------------------------------------------------------------
/Z80IDE/Images/New.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/Z80IDE/Images/New.ico
--------------------------------------------------------------------------------
/Z80IDE/Images/Open.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/Z80IDE/Images/Open.ico
--------------------------------------------------------------------------------
/Z80IDE/Images/Save.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/Z80IDE/Images/Save.ico
--------------------------------------------------------------------------------
/HexBoxWin7/bin/Ribbon.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/HexBoxWin7/bin/Ribbon.dll
--------------------------------------------------------------------------------
/Z80IDE/Images/sot_6_pin.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/Z80IDE/Images/sot_6_pin.ico
--------------------------------------------------------------------------------
/Z80IDE/Images/OutputWindow.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/Z80IDE/Images/OutputWindow.ico
--------------------------------------------------------------------------------
/WeifenLuo.WinFormsUI.Docking.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/WeifenLuo.WinFormsUI.Docking.dll
--------------------------------------------------------------------------------
/Z80IDE/Images/ToolboxWindow.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/Z80IDE/Images/ToolboxWindow.ico
--------------------------------------------------------------------------------
/Z80IDE/Images/SolutionExplorer.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/Z80IDE/Images/SolutionExplorer.ico
--------------------------------------------------------------------------------
/HexBoxWin7/bin/Be.Windows.Forms.HexBox.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/HexBoxWin7/bin/Be.Windows.Forms.HexBox.dll
--------------------------------------------------------------------------------
/FastColoredTextBox-master/Binary/TabStrip.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/FastColoredTextBox-master/Binary/TabStrip.dll
--------------------------------------------------------------------------------
/FastColoredTextBox-master/Binary/FastColoredTextBox.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robincornelius/z80assembler/HEAD/FastColoredTextBox-master/Binary/FastColoredTextBox.dll
--------------------------------------------------------------------------------
/Tests/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/z80assemble/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/z80assemble/z80assembler.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/z80assemble/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Z80IDE/syntax.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | ;.*
4 |
5 |
6 | [a-zA-Z0-9]+.*:
7 |
8 |
9 | [a-zA-Z0-9]+[ \t]+\.equ[ \t]+[a-zA-Z0-9]+
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Z80IDE/ToolWindow.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 | using WeifenLuo.WinFormsUI.Docking;
9 |
10 | namespace DockSample
11 | {
12 | public partial class ToolWindow : DockContent
13 | {
14 | public ToolWindow()
15 | {
16 | InitializeComponent();
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/Z80IDE/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Windows.Forms;
5 |
6 | namespace Z80IDE
7 | {
8 | static class Program
9 | {
10 |
11 | public static Form MainForm;
12 |
13 | ///
14 | /// The main entry point for the application.
15 | ///
16 | ///
17 |
18 | [STAThread]
19 | static void Main()
20 | {
21 | Application.EnableVisualStyles();
22 | Application.SetCompatibleTextRenderingDefault(false);
23 | MainForm = new Form1();
24 | Application.Run(MainForm);
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Z80IDE/DummyOutputWindow.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 | using WeifenLuo.WinFormsUI.Docking;
9 |
10 | namespace DockSample
11 | {
12 | public partial class DummyOutputWindow : ToolWindow, IOutput
13 | {
14 | public DummyOutputWindow()
15 | {
16 | InitializeComponent();
17 | }
18 |
19 | public void clear()
20 | {
21 | textBox1.Clear();
22 | }
23 |
24 | public void appendmsg(string msg)
25 | {
26 | textBox1.AppendText(msg+"\r\n");
27 |
28 | }
29 | }
30 |
31 | public interface IOutput
32 | {
33 | void clear();
34 | void appendmsg(string msg);
35 |
36 | }
37 | }
--------------------------------------------------------------------------------
/FastColoredTextBox-master/Binary/htmlDesc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | (<!--.*?-->)|(<!--.*)
10 | (<!--.*?-->)|(.*-->)
11 | <|/>|</|>
12 | <|/>|</|>
13 | <(?<range>[!\w\d]+)
14 | </(?<range>[\w\d]+)>
15 | (?<range>\S+?)='[^']*'|(?<range>\S+)="[^"]*"|(?<range>\S+)=\S+
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Z80IDE/HexView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Windows.Forms;
9 | using WeifenLuo.WinFormsUI.Docking;
10 | using DockSample;
11 |
12 | namespace Z80IDE
13 | {
14 | public partial class HexView : DockContent
15 | {
16 | MemoryByteProvider mb = new MemoryByteProvider();
17 | public HexView()
18 | {
19 | InitializeComponent();
20 | }
21 |
22 | public void setdata(byte[] data)
23 | {
24 | hexBox1.ByteProvider = mb;
25 |
26 | long pos = 0;
27 | foreach (byte b in data)
28 | {
29 | mb.WriteByte(pos++, b);
30 | }
31 | hexBox1.Update();
32 | hexBox1.Invalidate();
33 |
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/Z80IDE/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | <?xml version="1.0" encoding="utf-16"?>
7 | <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
8 | <string>None</string>
9 | </ArrayOfString>
10 |
11 |
12 | 0
13 |
14 |
15 | 0, 0
16 |
17 |
18 | 800, 800
19 |
20 |
21 |
--------------------------------------------------------------------------------
/z80assemble/Class1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Windows.Forms;
6 | using System.Runtime.InteropServices;
7 |
8 | namespace z80assemble
9 | {
10 | class SyncTextBox : TextBox
11 | {
12 | public SyncTextBox()
13 | {
14 | this.Multiline = true;
15 | this.ScrollBars = ScrollBars.Vertical;
16 | }
17 | public Control Buddy { get; set; }
18 |
19 | private static bool scrolling; // In case buddy tries to scroll us
20 | protected override void WndProc(ref Message m)
21 | {
22 | base.WndProc(ref m);
23 | // Trap WM_VSCROLL message and pass to buddy
24 | if (m.Msg == 0x115 && !scrolling && Buddy != null && Buddy.IsHandleCreated)
25 | {
26 | scrolling = true;
27 | SendMessage(Buddy.Handle, m.Msg, m.WParam, m.LParam);
28 | scrolling = false;
29 | }
30 | }
31 | [DllImport("user32.dll", CharSet = CharSet.Auto)]
32 | private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/z80assemble/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.18408
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace z80assemble.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/MathParser.dll.licence.txt:
--------------------------------------------------------------------------------
1 | http://mathosparser.codeplex.com/
2 |
3 | New BSD License (BSD)
4 | Copyright (c) 2012, Artem Los
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8 |
9 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
10 |
11 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
12 |
13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/Tests/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Tests")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Tests")]
13 | [assembly: AssemblyCopyright("Copyright © 2014")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("e70b3866-1d75-4659-b9cb-fa51b30661e0")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Z80IDE/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Z80IDE")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Z80IDE")]
13 | [assembly: AssemblyCopyright("Copyright © 2014")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("5f93891a-3bad-4ce2-a1f7-8dd64bf79918")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/IntelHex/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("IntelHex")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("IntelHex")]
13 | [assembly: AssemblyCopyright("Copyright © 2014")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("a95d2524-4d9d-4db2-b7f3-c1b6312eed95")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Z80IDE/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
14 | None
15 |
16 |
17 |
18 |
19 | 0
20 |
21 |
22 | 0, 0
23 |
24 |
25 | 800, 800
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/z80assemble/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("z80assemble")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("z80assemble")]
13 | [assembly: AssemblyCopyright("Copyright © 2014")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("d14f73dd-363c-4416-a1ce-d1e62581b252")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/IntelHex/IntelHex.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | 8.0.30703
7 | 2.0
8 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}
9 | Library
10 | Properties
11 | IntelHex
12 | IntelHex
13 | v4.0
14 | 512
15 |
16 |
17 | true
18 | full
19 | false
20 | bin\Debug\
21 | DEBUG;TRACE
22 | prompt
23 | 4
24 |
25 |
26 | pdbonly
27 | true
28 | bin\Release\
29 | TRACE
30 | prompt
31 | 4
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
54 |
--------------------------------------------------------------------------------
/Z80IDE/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.1008
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace Z80IDE.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Z80IDE.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/Z80IDE/NewSolution.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Windows.Forms;
9 | using System.IO;
10 | using WeifenLuo.WinFormsUI.Docking;
11 | using DockSample;
12 |
13 | namespace Z80IDE
14 | {
15 | public partial class NewSolution : DockContent
16 | {
17 |
18 | Solution sol;
19 |
20 | public NewSolution(Solution sol=null)
21 | {
22 | InitializeComponent();
23 |
24 | if (sol == null)
25 | {
26 | this.sol = new Solution();
27 |
28 | }
29 | else
30 | {
31 | this.sol = sol;
32 | textBox_solutionname.Text = sol.details.name;
33 | textBox_solutionroot.Text = sol.details.basefolder;
34 | textBox_ramstart.Text = sol.details.ramstart.ToString();
35 | }
36 | }
37 |
38 | private void button_ok_Click(object sender, EventArgs e)
39 | {
40 |
41 | sol.details.name = textBox_solutionname.Text;
42 | sol.details.basefolder = textBox_solutionroot.Text + System.IO.Path.DirectorySeparatorChar + sol.details.name;
43 | sol.details.filefolder = sol.details.basefolder + System.IO.Path.DirectorySeparatorChar + "files";
44 | sol.details.name = textBox_solutionname.Text;
45 |
46 | sol.details.ramstart = int.Parse(textBox_ramstart.Text);
47 |
48 | if (Directory.Exists(sol.details.basefolder))
49 | {
50 | MessageBox.Show("Directory " + sol.details.basefolder + " already exists");
51 | return;
52 | }
53 |
54 | Directory.CreateDirectory(sol.details.basefolder);
55 | Directory.CreateDirectory(sol.details.filefolder);
56 |
57 | DialogResult = DialogResult.OK;
58 | Close();
59 |
60 | }
61 |
62 | private void button_cancel_Click(object sender, EventArgs e)
63 | {
64 | DialogResult = DialogResult.Cancel;
65 | Close();
66 |
67 | }
68 |
69 | private void button_changefolder_Click(object sender, EventArgs e)
70 | {
71 | FolderBrowserDialog fbd = new FolderBrowserDialog();
72 | fbd.Description = "Choose a root folder for your solution";
73 | fbd.ShowNewFolderButton = true;
74 | fbd.RootFolder = Environment.SpecialFolder.Personal;
75 |
76 | DialogResult result = fbd.ShowDialog();
77 | if (result == DialogResult.OK)
78 | {
79 | string folderName = fbd.SelectedPath;
80 | textBox_solutionroot.Text = folderName;
81 |
82 | }
83 |
84 | }
85 |
86 | public solutiondetails getsolution()
87 | {
88 | return sol.details;
89 | }
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/z80assemble/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.18408
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace z80assemble.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("z80assemble.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/z80assemble/MemoryByteProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using Be.Windows.Forms;
6 |
7 | namespace z80assemble
8 | {
9 | public class MemoryByteProvider : IByteProvider
10 | {
11 |
12 | Dictionary buffer = new Dictionary();
13 |
14 | public byte ReadByte(long index)
15 | { return buffer[index]; }
16 |
17 | ///
18 | /// Writes a byte into the provider
19 | ///
20 | /// the index of the byte to write
21 | /// the byte to write
22 | public void WriteByte(long index, byte value)
23 | {
24 | buffer[index] = value;
25 | }
26 |
27 | public void clear()
28 | {
29 | buffer = new Dictionary();
30 | }
31 |
32 | ///
33 | /// Inserts bytes into the provider
34 | ///
35 | ///
36 | ///
37 | /// This method must raise the LengthChanged event.
38 | public void InsertBytes(long index, byte[] bs)
39 | {
40 | foreach (byte b in bs)
41 | {
42 | buffer[index++] = b;
43 | }
44 |
45 | }
46 | ///
47 | /// Deletes bytes from the provider
48 | ///
49 | /// the start index of the bytes to delete
50 | /// the length of the bytes to delete
51 | /// This method must raise the LengthChanged event.
52 | public void DeleteBytes(long index, long length) { }
53 |
54 | ///
55 | /// Returns the total length of bytes the byte provider is providing.
56 | ///
57 | public long Length { get{return buffer.Count;} }
58 |
59 | ///
60 | /// Occurs, when the Length property changed.
61 | ///
62 | public event EventHandler LengthChanged;
63 |
64 | ///
65 | /// True, when changes are done.
66 | ///
67 | public bool HasChanges() { return false; }
68 | ///
69 | /// Applies changes.
70 | ///
71 | public void ApplyChanges() { }
72 | ///
73 | /// Occurs, when bytes are changed.
74 | ///
75 | public event EventHandler Changed;
76 |
77 | ///
78 | /// Returns a value if the WriteByte methods is supported by the provider.
79 | ///
80 | /// True, when it´s supported.
81 | public bool SupportsWriteByte() { return false; }
82 | ///
83 | /// Returns a value if the InsertBytes methods is supported by the provider.
84 | ///
85 | /// True, when it´s supported.
86 | public bool SupportsInsertBytes() { return false; }
87 | ///
88 | /// Returns a value if the DeleteBytes methods is supported by the provider.
89 | ///
90 | /// True, when it´s supported.
91 | public bool SupportsDeleteBytes() { return false; }
92 |
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/Z80IDE/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.1008
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace Z80IDE.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 |
26 | [global::System.Configuration.UserScopedSettingAttribute()]
27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
28 | [global::System.Configuration.DefaultSettingValueAttribute("\r\n\r\n None\r\n")]
31 | public global::System.Collections.Specialized.StringCollection MRU {
32 | get {
33 | return ((global::System.Collections.Specialized.StringCollection)(this["MRU"]));
34 | }
35 | set {
36 | this["MRU"] = value;
37 | }
38 | }
39 |
40 | [global::System.Configuration.UserScopedSettingAttribute()]
41 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
42 | [global::System.Configuration.DefaultSettingValueAttribute("0")]
43 | public int WindowState {
44 | get {
45 | return ((int)(this["WindowState"]));
46 | }
47 | set {
48 | this["WindowState"] = value;
49 | }
50 | }
51 |
52 | [global::System.Configuration.UserScopedSettingAttribute()]
53 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
54 | [global::System.Configuration.DefaultSettingValueAttribute("0, 0")]
55 | public global::System.Drawing.Point WindowLocation {
56 | get {
57 | return ((global::System.Drawing.Point)(this["WindowLocation"]));
58 | }
59 | set {
60 | this["WindowLocation"] = value;
61 | }
62 | }
63 |
64 | [global::System.Configuration.UserScopedSettingAttribute()]
65 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
66 | [global::System.Configuration.DefaultSettingValueAttribute("800, 800")]
67 | public global::System.Drawing.Size WindowSize {
68 | get {
69 | return ((global::System.Drawing.Size)(this["WindowSize"]));
70 | }
71 | set {
72 | this["WindowSize"] = value;
73 | }
74 | }
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/Z80IDE/HexView.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Z80IDE
2 | {
3 | partial class HexView
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.hexBox1 = new Be.Windows.Forms.HexBox();
32 | this.toolStrip1 = new System.Windows.Forms.ToolStrip();
33 | this.SuspendLayout();
34 | //
35 | // hexBox1
36 | //
37 | this.hexBox1.Dock = System.Windows.Forms.DockStyle.Fill;
38 | this.hexBox1.Font = new System.Drawing.Font("Courier New", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
39 | this.hexBox1.LineInfoForeColor = System.Drawing.Color.Empty;
40 | this.hexBox1.LineInfoVisible = true;
41 | this.hexBox1.Location = new System.Drawing.Point(0, 0);
42 | this.hexBox1.Name = "hexBox1";
43 | this.hexBox1.ShadowSelectionColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(60)))), ((int)(((byte)(188)))), ((int)(((byte)(255)))));
44 | this.hexBox1.Size = new System.Drawing.Size(292, 266);
45 | this.hexBox1.StringViewVisible = true;
46 | this.hexBox1.TabIndex = 0;
47 | this.hexBox1.UseFixedBytesPerLine = true;
48 | this.hexBox1.VScrollBarVisible = true;
49 | //
50 | // toolStrip1
51 | //
52 | this.toolStrip1.Location = new System.Drawing.Point(0, 0);
53 | this.toolStrip1.Name = "toolStrip1";
54 | this.toolStrip1.Size = new System.Drawing.Size(292, 25);
55 | this.toolStrip1.TabIndex = 1;
56 | this.toolStrip1.Text = "toolStrip1";
57 | this.toolStrip1.Visible = false;
58 | //
59 | // HexView
60 | //
61 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
62 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
63 | this.ClientSize = new System.Drawing.Size(292, 266);
64 | this.Controls.Add(this.toolStrip1);
65 | this.Controls.Add(this.hexBox1);
66 | this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
67 | this.Name = "HexView";
68 | this.Text = "HexView";
69 | this.ResumeLayout(false);
70 | this.PerformLayout();
71 |
72 | }
73 |
74 | #endregion
75 |
76 | private Be.Windows.Forms.HexBox hexBox1;
77 | private System.Windows.Forms.ToolStrip toolStrip1;
78 | }
79 | }
--------------------------------------------------------------------------------
/Z80IDE/BuildManager.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using z80assemble;
6 | using Z80IDE;
7 | using DockSample;
8 | using IntelHex;
9 |
10 | namespace Z80IDE
11 | {
12 | class BuildManager
13 | {
14 | Solution solution;
15 | IOutput outtarget;
16 | private z80assembler assembler;
17 |
18 | public delegate void ErrHandler(string file, int line, string description);
19 | public event ErrHandler DoErr;
20 |
21 | public BuildManager(Solution sol, IOutput outtarget)
22 | {
23 | assembler = new z80assembler();
24 | assembler.loadcommands();
25 |
26 | assembler.DoErr += new z80assembler.ErrHandler(assembler_DoErr);
27 |
28 | this.solution = sol;
29 | this.outtarget = outtarget;
30 | }
31 |
32 | bool error = false;
33 |
34 | void assembler_DoErr(string file, int line, string description)
35 | {
36 | error = true;
37 | if (DoErr != null)
38 | DoErr(file, line, description);
39 | }
40 |
41 |
42 |
43 |
44 | public bool build()
45 | {
46 | error = false;
47 | assembler_Msg(" -------- BUILD STARTING -------------");
48 |
49 | assembler.basepath = solution.getbasepath();
50 | //assembler.ramstart = solution.details.ramstart;
51 | assembler.ramstart = 0x4000;
52 |
53 |
54 | assembler.Msg += new z80assembler.MsgHandler(assembler_Msg);
55 |
56 | assembler.reset();
57 |
58 | foreach (file f in solution.details.files)
59 | {
60 | if (f.assemblefile == true)
61 | {
62 | assembler_Msg("\r\n Staring file " + f.name);
63 | assembler.partialreset();
64 | assembler.parse(solution.loadfile(f.name), f.name);
65 | assembler.link(); // This is the per file link
66 | }
67 | }
68 |
69 | assembler_Msg(" \r\n-------- LINKING -------------\r\n ");
70 |
71 | assembler.finallink(); // This is the per file link
72 |
73 | assembler_Msg("\r\n --------DONE -------------");
74 |
75 | return error;
76 | }
77 |
78 | void assembler_Msg(string msg)
79 | {
80 | outtarget.appendmsg(msg);
81 | }
82 |
83 | public byte[] getoutput()
84 | {
85 |
86 |
87 | byte[] b = new byte[0xFFFF];
88 |
89 | if (assembler != null)
90 | {
91 |
92 | foreach (KeyValuePair d in assembler.bytes)
93 | {
94 | b[d.Key] = d.Value;
95 | }
96 |
97 | }
98 |
99 | return b;
100 |
101 | }
102 |
103 | public void saveIntelHex(string filename)
104 | {
105 | IntelHex.IntelHex ih = new IntelHex.IntelHex();
106 |
107 | foreach(KeyValuePair kvp in assembler.bytes)
108 | {
109 | ih.rom[kvp.Key] = kvp.Value;
110 | }
111 |
112 | ih.save(filename);
113 |
114 | }
115 | }
116 | }
117 |
--------------------------------------------------------------------------------
/Z80IDE/DummyOutputWindow.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace DockSample
2 | {
3 | partial class DummyOutputWindow
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 | ///
25 | /// Required method for Designer support - do not modify
26 | /// the contents of this method with the code editor.
27 | ///
28 | private void InitializeComponent()
29 | {
30 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DummyOutputWindow));
31 | this.comboBox = new System.Windows.Forms.ComboBox();
32 | this.textBox1 = new System.Windows.Forms.TextBox();
33 | this.SuspendLayout();
34 | //
35 | // comboBox
36 | //
37 | this.comboBox.Dock = System.Windows.Forms.DockStyle.Top;
38 | this.comboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
39 | this.comboBox.Items.AddRange(new object[] {
40 | "Build"});
41 | this.comboBox.Location = new System.Drawing.Point(0, 2);
42 | this.comboBox.Name = "comboBox";
43 | this.comboBox.Size = new System.Drawing.Size(539, 21);
44 | this.comboBox.TabIndex = 1;
45 | //
46 | // textBox1
47 | //
48 | this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
49 | this.textBox1.Location = new System.Drawing.Point(0, 23);
50 | this.textBox1.Multiline = true;
51 | this.textBox1.Name = "textBox1";
52 | this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Both;
53 | this.textBox1.Size = new System.Drawing.Size(539, 351);
54 | this.textBox1.TabIndex = 2;
55 | this.textBox1.Text = "\r\n\r\n\r\n";
56 | this.textBox1.WordWrap = false;
57 | //
58 | // DummyOutputWindow
59 | //
60 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
61 | this.ClientSize = new System.Drawing.Size(539, 376);
62 | this.Controls.Add(this.textBox1);
63 | this.Controls.Add(this.comboBox);
64 | this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
65 | this.HideOnClose = true;
66 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
67 | this.Name = "DummyOutputWindow";
68 | this.Padding = new System.Windows.Forms.Padding(0, 2, 0, 2);
69 | this.ShowHint = WeifenLuo.WinFormsUI.Docking.DockState.DockBottomAutoHide;
70 | this.TabText = "Output";
71 | this.Text = "Output";
72 | this.ResumeLayout(false);
73 | this.PerformLayout();
74 |
75 | }
76 | #endregion
77 |
78 | private System.Windows.Forms.ComboBox comboBox;
79 | private System.Windows.Forms.TextBox textBox1;
80 | }
81 | }
--------------------------------------------------------------------------------
/Z80IDE/MemoryByteProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using Be.Windows.Forms;
6 |
7 | namespace Z80IDE
8 | {
9 | public class MemoryByteProvider : IByteProvider
10 | {
11 |
12 | Dictionary buffer = new Dictionary();
13 | bool haschanges = false;
14 |
15 | public byte ReadByte(long index)
16 | { return buffer[index]; }
17 |
18 | ///
19 | /// Writes a byte into the provider
20 | ///
21 | /// the index of the byte to write
22 | /// the byte to write
23 | public void WriteByte(long index, byte value)
24 | {
25 | buffer[index] = value;
26 | haschanges = true;
27 | }
28 |
29 | public void clear()
30 | {
31 | buffer = new Dictionary();
32 | haschanges = true;
33 | }
34 |
35 | ///
36 | /// Inserts bytes into the provider
37 | ///
38 | ///
39 | ///
40 | /// This method must raise the LengthChanged event.
41 | public void InsertBytes(long index, byte[] bs)
42 | {
43 | foreach (byte b in bs)
44 | {
45 | buffer[index++] = b;
46 | }
47 |
48 | haschanges = true;
49 |
50 | }
51 | ///
52 | /// Deletes bytes from the provider
53 | ///
54 | /// the start index of the bytes to delete
55 | /// the length of the bytes to delete
56 | /// This method must raise the LengthChanged event.
57 | public void DeleteBytes(long index, long length) { }
58 |
59 | ///
60 | /// Returns the total length of bytes the byte provider is providing.
61 | ///
62 | public long Length { get{return buffer.Count;} }
63 |
64 | ///
65 | /// Occurs, when the Length property changed.
66 | ///
67 | public event EventHandler LengthChanged;
68 |
69 | ///
70 | /// True, when changes are done.
71 | ///
72 | public bool HasChanges() { return haschanges; }
73 | ///
74 | /// Applies changes.
75 | ///
76 | public void ApplyChanges() { }
77 | ///
78 | /// Occurs, when bytes are changed.
79 | ///
80 | public event EventHandler Changed;
81 |
82 | ///
83 | /// Returns a value if the WriteByte methods is supported by the provider.
84 | ///
85 | /// True, when it´s supported.
86 | public bool SupportsWriteByte() { return false; }
87 | ///
88 | /// Returns a value if the InsertBytes methods is supported by the provider.
89 | ///
90 | /// True, when it´s supported.
91 | public bool SupportsInsertBytes() { return false; }
92 | ///
93 | /// Returns a value if the DeleteBytes methods is supported by the provider.
94 | ///
95 | /// True, when it´s supported.
96 | public bool SupportsDeleteBytes() { return false; }
97 |
98 | }
99 | }
100 |
--------------------------------------------------------------------------------
/Z80IDE/ToolWindow.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace DockSample
2 | {
3 | partial class ToolWindow
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
33 | this.option1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
34 | this.option2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
35 | this.option3ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
36 | this.contextMenuStrip1.SuspendLayout();
37 | this.SuspendLayout();
38 | //
39 | // contextMenuStrip1
40 | //
41 | this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
42 | this.option1ToolStripMenuItem,
43 | this.option2ToolStripMenuItem,
44 | this.option3ToolStripMenuItem});
45 | this.contextMenuStrip1.Name = "contextMenuStrip1";
46 | this.contextMenuStrip1.Size = new System.Drawing.Size(113, 70);
47 | //
48 | // option1ToolStripMenuItem
49 | //
50 | this.option1ToolStripMenuItem.Name = "option1ToolStripMenuItem";
51 | this.option1ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
52 | this.option1ToolStripMenuItem.Text = "Option&1";
53 | //
54 | // option2ToolStripMenuItem
55 | //
56 | this.option2ToolStripMenuItem.Name = "option2ToolStripMenuItem";
57 | this.option2ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
58 | this.option2ToolStripMenuItem.Text = "Option&2";
59 | //
60 | // option3ToolStripMenuItem
61 | //
62 | this.option3ToolStripMenuItem.Name = "option3ToolStripMenuItem";
63 | this.option3ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
64 | this.option3ToolStripMenuItem.Text = "Option&3";
65 | //
66 | // ToolWindow
67 | //
68 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
69 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
70 | this.ClientSize = new System.Drawing.Size(292, 266);
71 | this.DockAreas = ((WeifenLuo.WinFormsUI.Docking.DockAreas)(((((WeifenLuo.WinFormsUI.Docking.DockAreas.Float | WeifenLuo.WinFormsUI.Docking.DockAreas.DockLeft)
72 | | WeifenLuo.WinFormsUI.Docking.DockAreas.DockRight)
73 | | WeifenLuo.WinFormsUI.Docking.DockAreas.DockTop)
74 | | WeifenLuo.WinFormsUI.Docking.DockAreas.DockBottom)));
75 | this.Name = "ToolWindow";
76 | this.TabPageContextMenuStrip = this.contextMenuStrip1;
77 | this.TabText = "ToolWindow";
78 | this.Text = "ToolWindow";
79 | this.contextMenuStrip1.ResumeLayout(false);
80 | this.ResumeLayout(false);
81 |
82 | }
83 |
84 | #endregion
85 |
86 | private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
87 | private System.Windows.Forms.ToolStripMenuItem option1ToolStripMenuItem;
88 | private System.Windows.Forms.ToolStripMenuItem option2ToolStripMenuItem;
89 | private System.Windows.Forms.ToolStripMenuItem option3ToolStripMenuItem;
90 | }
91 | }
--------------------------------------------------------------------------------
/Z80IDE/SolutionSettings.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Windows.Forms;
9 | using WeifenLuo.WinFormsUI.Docking;
10 | using DockSample;
11 | using System.Collections;
12 |
13 | namespace Z80IDE
14 | {
15 | public partial class SolutionSettings : DockContent
16 | {
17 | Solution sol;
18 | private ListViewColumnSorter lvwColumnSorter;
19 |
20 | public SolutionSettings(Solution sol)
21 | {
22 | InitializeComponent();
23 |
24 | this.sol = sol;
25 | textBox_solutionname.Text = sol.details.name;
26 | textBox_solutionrootfolder.Text = sol.details.basefolder;
27 | textBox_ramstart.Text = sol.details.ramstart.ToString();
28 |
29 | foreach(file f in sol.details.files)
30 | {
31 |
32 | ListViewItem p = new ListViewItem(f.name);
33 |
34 | ListViewItem.ListViewSubItem si = new ListViewItem.ListViewSubItem(p, f.assemblefile.ToString());
35 | p.SubItems.Add(si);
36 |
37 | if (f.assemblefile == true)
38 | {
39 | si = new ListViewItem.ListViewSubItem(p, f.order.ToString());
40 | p.SubItems.Add(si);
41 | }
42 | else
43 | {
44 | si = new ListViewItem.ListViewSubItem(p, "");
45 | p.SubItems.Add(si);
46 | }
47 |
48 | listView_filelist.Items.Add(p);
49 |
50 | lvwColumnSorter = new ListViewColumnSorter();
51 | listView_filelist.ListViewItemSorter = lvwColumnSorter;
52 |
53 | }
54 |
55 | }
56 |
57 | private void button1_Click(object sender, EventArgs e)
58 | {
59 |
60 | foreach (ListViewItem i in this.listView_filelist.SelectedItems)
61 | {
62 | foreach (file f in sol.details.files)
63 | {
64 | if (f.name == i.Text)
65 | {
66 | f.order++;
67 | i.SubItems[2].Text = f.order.ToString();
68 | break;
69 | }
70 |
71 | }
72 |
73 | }
74 |
75 | }
76 |
77 | private void button2_Click(object sender, EventArgs e)
78 | {
79 | foreach (ListViewItem i in this.listView_filelist.SelectedItems)
80 | {
81 | foreach (file f in sol.details.files)
82 | {
83 | if (f.name == i.Text)
84 | {
85 | f.order--;
86 | i.SubItems[2].Text = f.order.ToString();
87 | break;
88 | }
89 |
90 | }
91 |
92 | }
93 | }
94 |
95 | private void button_updatesettings_Click(object sender, EventArgs e)
96 | {
97 | MessageBox.Show("FIX ME NOT FINISHED");
98 | }
99 | }
100 |
101 | public class ListViewColumnSorter : IComparer
102 | {
103 | private CaseInsensitiveComparer ObjectCompare = new CaseInsensitiveComparer();
104 |
105 | public int Compare(object x, object y)
106 | {
107 | int compareResult;
108 | ListViewItem listviewX, listviewY;
109 | int ColumnToSort = 2;
110 |
111 | // Cast the objects to be compared to ListViewItem objects
112 | listviewX = (ListViewItem)x;
113 | listviewY = (ListViewItem)y;
114 |
115 | if (listviewX.SubItems[1].Text == "True" && listviewY.SubItems[1].Text == "False")
116 | return -1;
117 |
118 | if (listviewX.SubItems[1].Text == "False" && listviewY.SubItems[1].Text == "True")
119 | return 1;
120 |
121 |
122 | if (listviewX.SubItems[1].Text == "False" && listviewY.SubItems[1].Text == "False")
123 | return 0;
124 |
125 | // Compare the two items
126 | compareResult = ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text, listviewY.SubItems[ColumnToSort].Text);
127 |
128 | return compareResult;
129 | }
130 |
131 | }
132 | }
133 |
--------------------------------------------------------------------------------
/Z80IDE/EditorWindow.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Windows.Forms;
9 | using WeifenLuo.WinFormsUI.Docking;
10 | using DockSample;
11 | using FastColoredTextBoxNS;
12 | using System.Drawing.Drawing2D;
13 |
14 | namespace Z80IDE
15 | {
16 | public partial class EditorWindow : DockContent
17 | {
18 |
19 | public delegate void EditorClosingHandler(object sender, EventArgs e);
20 | public event EditorClosingHandler EditorClosing;
21 | bool dirty = false;
22 |
23 | public String filename;
24 | Solution sol;
25 |
26 | MarkerStyle RedStyle = new MarkerStyle(new SolidBrush(Color.FromArgb(180, Color.Red)));
27 |
28 | List errorlines = new List();
29 |
30 | public EditorWindow(String name,Solution sol)
31 | {
32 | this.sol = sol;
33 | InitializeComponent();
34 | this.Text = name;
35 | filename = name;
36 |
37 | this.FormClosing += new FormClosingEventHandler(EditorWindow_FormClosing);
38 |
39 | fastColoredTextBox1.TextChanged += new EventHandler(fastColoredTextBox1_TextChanged);
40 |
41 | fastColoredTextBox1.Language = FastColoredTextBoxNS.Language.Custom;
42 |
43 | fastColoredTextBox1.DescriptionFile = "syntax.xml";
44 |
45 | fastColoredTextBox1.AddStyle(RedStyle);//red will be rendering over yellow
46 |
47 |
48 | }
49 |
50 | void fastColoredTextBox1_TextChanged(object sender, FastColoredTextBoxNS.TextChangedEventArgs e)
51 | {
52 | setdirty();
53 | }
54 |
55 | void EditorWindow_FormClosing(object sender, FormClosingEventArgs e)
56 | {
57 | if (EditorClosing != null)
58 | {
59 | EditorClosing(this, new EventArgs());
60 |
61 | }
62 |
63 | }
64 |
65 | public void settext(string data)
66 | {
67 | this.fastColoredTextBox1.Text=data;
68 | setclean();
69 | }
70 |
71 | public string gettext()
72 | {
73 | return fastColoredTextBox1.Text;
74 | }
75 |
76 | public void setdirty()
77 | {
78 | this.TabText = "*" + filename;
79 | dirty = true;
80 | }
81 |
82 | public void setclean()
83 | {
84 | this.TabText = filename;
85 | dirty = false;
86 | }
87 |
88 | public bool isdirty()
89 | {
90 | return dirty;
91 | }
92 |
93 | private void toolStripMenuItem_redo_Click(object sender, EventArgs e)
94 | {
95 | fastColoredTextBox1.Redo();
96 | }
97 |
98 | private void toolStripMenuItem_undo_Click(object sender, EventArgs e)
99 | {
100 | fastColoredTextBox1.Undo();
101 | }
102 |
103 | private void cutToolStripMenuItem_Click(object sender, EventArgs e)
104 | {
105 | fastColoredTextBox1.Cut();
106 | }
107 |
108 | private void copyToolStripMenuItem_Click(object sender, EventArgs e)
109 | {
110 | fastColoredTextBox1.Copy();
111 | }
112 |
113 | private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
114 | {
115 | fastColoredTextBox1.Paste();
116 | }
117 |
118 | private void toolStripButton_save_Click(object sender, EventArgs e)
119 | {
120 | sol.savefile(filename);
121 | }
122 |
123 | public void highlighterror(int lineno)
124 | {
125 | //FastColoredTextBoxNS.VisualMarker vs = new FastColoredTextBoxNS.VisualMarker(
126 |
127 | errorlines.Add(lineno);
128 | //FIX ME not painting if in view refresh required
129 | }
130 |
131 | private void fastColoredTextBox1_PaintLine(object sender, PaintLineEventArgs e)
132 | {
133 | if(errorlines.Contains(e.LineIndex))
134 | {
135 | using (var brush = new LinearGradientBrush(new Rectangle(0, e.LineRect.Top, 15, 15), Color.LightPink, Color.Red, 45))
136 | e.Graphics.FillEllipse(brush, 0, e.LineRect.Top, 15, 15);
137 | }
138 | }
139 |
140 | }
141 | }
142 |
--------------------------------------------------------------------------------
/Z80IDE/DummySolutionExplorer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 | using WeifenLuo.WinFormsUI.Docking;
9 | using Z80IDE;
10 |
11 | namespace DockSample
12 | {
13 | public partial class DummySolutionExplorer : ToolWindow
14 | {
15 |
16 | public delegate void SelectedFileEventHandler(object sender, SelectedFileEventArgs e);
17 | public event SelectedFileEventHandler SelectedFile;
18 |
19 |
20 |
21 | Solution solution;
22 | TreeNode selected;
23 |
24 | public DummySolutionExplorer(Solution solution )
25 | {
26 | this.solution = solution;
27 | this.solution.Changed += new Solution.ChangedEventHandler(solution_Changed);
28 | InitializeComponent();
29 | updatetreeview();
30 |
31 | treeView1.AfterSelect += new TreeViewEventHandler(treeView1_AfterSelect);
32 | treeView1.NodeMouseClick += new TreeNodeMouseClickEventHandler(treeView1_NodeMouseClick);
33 | }
34 |
35 | void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
36 | {
37 | if (e.Button == System.Windows.Forms.MouseButtons.Right && e.Node!=null && e.Node.Parent!=null)
38 | {
39 | selected = e.Node;
40 |
41 |
42 | ((ToolStripMenuItem)(contextMenuStrip1.Items[0])).Checked = solution.isassemblyrequired(selected.Text);
43 |
44 |
45 |
46 | contextMenuStrip1.Show(treeView1,e.Location);
47 | }
48 | }
49 |
50 | void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
51 | {
52 | if (SelectedFile != null && e.Node!=null )
53 | {
54 | SelectedFileEventArgs e2 = new SelectedFileEventArgs(e.Node.Name,e.Node.Parent==null);
55 | SelectedFile(this, e2);
56 | }
57 |
58 |
59 |
60 | }
61 |
62 | void solution_Changed(object sender, EventArgs e)
63 | {
64 | updatetreeview();
65 | }
66 |
67 | protected override void OnRightToLeftLayoutChanged(EventArgs e)
68 | {
69 | treeView1.RightToLeftLayout = RightToLeftLayout;
70 | }
71 |
72 | public void updatetreeview()
73 | {
74 | treeView1.Nodes.Clear();
75 |
76 | TreeNode parent = new TreeNode(solution.details.name, 0,0);
77 | treeView1.Nodes.Add(parent);
78 |
79 | foreach (file f in solution.details.files)
80 | {
81 | int type = 7;
82 |
83 | if (f.assemblefile == false)
84 | type = 6;
85 |
86 | TreeNode child = new TreeNode(f.name, type, type);
87 | child.Name = f.name;
88 | parent.Nodes.Add(child);
89 |
90 | }
91 |
92 | treeView1.ExpandAll();
93 | }
94 |
95 | private void removeFromSolutionToolStripMenuItem_Click(object sender, EventArgs e)
96 | {
97 | if (selected == null)
98 | return;
99 |
100 | if (selected.Parent != null)
101 | {
102 | solution.removefile(selected.Name);
103 | }
104 |
105 | }
106 |
107 | private void assembleFileToolStripMenuItem_Click(object sender, EventArgs e)
108 | {
109 |
110 | ToolStripMenuItem m = (ToolStripMenuItem) sender;
111 | bool ischecked= ((ToolStripMenuItem)(contextMenuStrip1.Items[0])).Checked;
112 | solution.setassemblyrequired(selected.Text, ischecked);
113 |
114 | if (ischecked == true)
115 | {
116 | selected.ImageIndex = 7;
117 | selected.StateImageIndex = 7;
118 |
119 | }
120 | else
121 | {
122 | selected.ImageIndex = 6;
123 | selected.StateImageIndex = 6;
124 | }
125 |
126 | treeView1.Update();
127 | }
128 | }
129 |
130 | public class SelectedFileEventArgs : EventArgs
131 | {
132 | public SelectedFileEventArgs(string name,bool rootnode=false)
133 | {
134 | this.name = name;
135 | this.rootnode = rootnode;
136 | }
137 |
138 | public string name;
139 | public bool rootnode;
140 | }
141 | }
--------------------------------------------------------------------------------
/z80assemble.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual C# Express 2010
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{50436C97-8E95-4985-BA7B-C413F3DD5FA2}"
5 | ProjectSection(ProjectDependencies) = postProject
6 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD} = {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}
7 | EndProjectSection
8 | EndProject
9 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "z80assembler", "z80assemble\z80assembler.csproj", "{C3B58DAA-A630-4A3B-B0A1-85479F1847BD}"
10 | EndProject
11 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IntelHex", "IntelHex\IntelHex.csproj", "{9015282A-EE8A-418E-A5B8-2EAD2628634B}"
12 | EndProject
13 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Z80IDE", "Z80IDE\Z80IDE.csproj", "{0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}"
14 | EndProject
15 | Global
16 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
17 | Debug|Any CPU = Debug|Any CPU
18 | Debug|Mixed Platforms = Debug|Mixed Platforms
19 | Debug|x86 = Debug|x86
20 | Release|Any CPU = Release|Any CPU
21 | Release|Mixed Platforms = Release|Mixed Platforms
22 | Release|x86 = Release|x86
23 | EndGlobalSection
24 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
25 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}.Debug|Any CPU.ActiveCfg = Debug|x86
26 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
27 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}.Debug|Mixed Platforms.Build.0 = Debug|x86
28 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}.Debug|x86.ActiveCfg = Debug|x86
29 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}.Debug|x86.Build.0 = Debug|x86
30 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}.Release|Any CPU.ActiveCfg = Release|x86
31 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}.Release|Mixed Platforms.ActiveCfg = Release|x86
32 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}.Release|Mixed Platforms.Build.0 = Release|x86
33 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}.Release|x86.ActiveCfg = Release|x86
34 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}.Release|x86.Build.0 = Release|x86
35 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}.Debug|Any CPU.ActiveCfg = Debug|x86
36 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
37 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}.Debug|Mixed Platforms.Build.0 = Debug|x86
38 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}.Debug|x86.ActiveCfg = Debug|x86
39 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}.Debug|x86.Build.0 = Debug|x86
40 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}.Release|Any CPU.ActiveCfg = Release|x86
41 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}.Release|Mixed Platforms.ActiveCfg = Release|x86
42 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}.Release|Mixed Platforms.Build.0 = Release|x86
43 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}.Release|x86.ActiveCfg = Release|x86
44 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}.Release|x86.Build.0 = Release|x86
45 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
46 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}.Debug|Any CPU.Build.0 = Debug|Any CPU
47 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
48 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
49 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}.Debug|x86.ActiveCfg = Debug|Any CPU
50 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}.Release|Any CPU.Build.0 = Release|Any CPU
52 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
53 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
54 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}.Release|x86.ActiveCfg = Release|Any CPU
55 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}.Debug|Any CPU.ActiveCfg = Debug|x86
56 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
57 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}.Debug|Mixed Platforms.Build.0 = Debug|x86
58 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}.Debug|x86.ActiveCfg = Debug|x86
59 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}.Debug|x86.Build.0 = Debug|x86
60 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}.Release|Any CPU.ActiveCfg = Release|x86
61 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}.Release|Mixed Platforms.ActiveCfg = Release|x86
62 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}.Release|Mixed Platforms.Build.0 = Release|x86
63 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}.Release|x86.ActiveCfg = Release|x86
64 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}.Release|x86.Build.0 = Release|x86
65 | EndGlobalSection
66 | GlobalSection(SolutionProperties) = preSolution
67 | HideSolutionNode = FALSE
68 | EndGlobalSection
69 | EndGlobal
70 |
--------------------------------------------------------------------------------
/z80assemble/z80assembler.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | x86
6 | 8.0.30703
7 | 2.0
8 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}
9 | Library
10 | Properties
11 | z80assemble
12 | z80assembler
13 | v4.0
14 |
15 |
16 | 512
17 |
18 |
19 | x86
20 | true
21 | full
22 | false
23 | bin\Debug\
24 | DEBUG;TRACE
25 | prompt
26 | 4
27 |
28 |
29 | x86
30 | pdbonly
31 | true
32 | bin\Release\
33 | TRACE
34 | prompt
35 | 4
36 |
37 |
38 |
39 |
40 |
41 |
42 | ..\HexBoxWin7\bin\Be.Windows.Forms.HexBox.dll
43 |
44 |
45 | ..\FastColoredTextBox-master\Binary\FastColoredTextBox.dll
46 |
47 |
48 | ..\MathParser.dll
49 |
50 |
51 | ..\HexBoxWin7\bin\Ribbon.dll
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | ..\FastColoredTextBox-master\Binary\TabStrip.dll
65 |
66 |
67 |
68 |
69 | Component
70 |
71 |
72 |
73 |
74 |
75 | ResXFileCodeGenerator
76 | Resources.Designer.cs
77 | Designer
78 |
79 |
80 | True
81 | Resources.resx
82 | True
83 |
84 |
85 |
86 | SettingsSingleFileGenerator
87 | Settings.Designer.cs
88 |
89 |
90 | True
91 | Settings.settings
92 | True
93 |
94 |
95 |
96 |
97 | Always
98 |
99 |
100 |
101 |
102 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}
103 | IntelHex
104 |
105 |
106 |
107 |
114 |
--------------------------------------------------------------------------------
/Tests/Tests.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | x86
6 | 8.0.30703
7 | 2.0
8 | {50436C97-8E95-4985-BA7B-C413F3DD5FA2}
9 | WinExe
10 | Properties
11 | Tests
12 | Tests
13 | v4.0
14 |
15 |
16 | 512
17 | publish\
18 | true
19 | Disk
20 | false
21 | Foreground
22 | 7
23 | Days
24 | false
25 | false
26 | true
27 | 0
28 | 1.0.0.%2a
29 | false
30 | false
31 | true
32 |
33 |
34 | x86
35 | true
36 | full
37 | false
38 | bin\Debug\
39 | DEBUG;TRACE
40 | prompt
41 | 4
42 |
43 |
44 | x86
45 | pdbonly
46 | true
47 | bin\Debug\
48 | TRACE
49 | prompt
50 | 4
51 |
52 |
53 |
54 |
55 |
56 |
57 | False
58 | ..\..\..\Program Files (x86)\NUnit 2.6.3\bin\framework\nunit.framework.dll
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}
78 | IntelHex
79 |
80 |
81 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}
82 | z80assembler
83 |
84 |
85 |
86 |
87 | False
88 | Microsoft .NET Framework 4 %28x86 and x64%29
89 | true
90 |
91 |
92 | False
93 | .NET Framework 3.5 SP1 Client Profile
94 | false
95 |
96 |
97 | False
98 | .NET Framework 3.5 SP1
99 | false
100 |
101 |
102 | False
103 | Windows Installer 3.1
104 | true
105 |
106 |
107 |
108 |
115 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | z80assembler
2 | ============
3 |
4 | Z80 macro assembler and IDE
5 |
6 | Its a macro assembler for Z80 code written in C# with a IDE and editor built in
7 |
8 | Its not finished and is still very alpha code, it may produce correct results for your input or it may produce total rubbish. It is rapidly improving and if anyone finds any cases that are failing, test code to reproduce and/or a new unit test would be very helpful.
9 |
10 | * Supports a "solution" with multiple files
11 | * Supports controlling build/link order
12 | * Supports .include to include other files, eg def, or macro files
13 | * Supports macros
14 | * Supports IF conditionals
15 | * Opcodes should all be correctly generated
16 | * It supports extern labels and linking
17 | * Code is generated to a hex view and can be saved in Intel Hex format for loading in to an EEPROM programmer
18 | * Partial syntax highlighting is done
19 |
20 | Syntax is roughly based on AD2500 z80 assembler and it supports syntax as commonly found in our legacy files that target the AD2500 system.
21 |
22 | Status
23 | -------
24 |
25 | 09-Feb-2014
26 | * Replaced some more parser/lexer sections and imported MathParser to replace our math routine
27 | * More unit tests
28 | * Ensure all external code is listed here with approprate licence
29 |
30 | 07-Feb-2014
31 | The assembler is basicly working and linking, detailed testing has not yet been carried out but it might be worth a play for
32 | anyone who is interested in it to see results
33 |
34 | Components and licences
35 |
36 | ------------------------------------------------------------------------------------------------------------------------------------------------------FastColouredTextBox
37 | https://github.com/PavelTorgashov/FastColoredTextBox
38 |
39 | THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
40 | KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
41 | IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
42 | PURPOSE.
43 |
44 | License: GNU Lesser General Public License (LGPLv3)
45 |
46 | Email: pavel_torgashov@mail.ru.
47 |
48 | Copyright (C) Pavel Torgashov, 2011-2013.
49 |
50 | ------------------------------------------------------------------------------------------------------------------------------------------------------
51 | MathParser
52 | http://mathosparser.codeplex.com/
53 |
54 | New BSD License (BSD)
55 | Copyright (c) 2012, Artem Los
56 | All rights reserved.
57 |
58 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
59 |
60 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
61 |
62 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
63 |
64 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
65 |
66 | ------------------------------------------------------------------------------------------------------------------------------------------------------
67 | Be.Hexbox
68 | http://hexbox.sourceforge.net/
69 |
70 | Licence MIT
71 |
72 | ------------------------------------------------------------------------------------------------------------------------------------------------------
73 | DockSuite
74 | http://sourceforge.net/p/dockpanelsuite
75 |
76 | The MIT License
77 |
78 | Copyright (c) 2007 Weifen Luo (email: weifenluo@yahoo.com)
79 |
80 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
81 |
82 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
83 |
84 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
85 |
86 | ------------------------------------------------------------------------------------------------------------------------------------------------------
87 |
88 |
--------------------------------------------------------------------------------
/Z80IDE/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/z80assemble/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/Z80IDE/NewSolution.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/Z80IDE/HexView.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
--------------------------------------------------------------------------------
/Z80IDE/SolutionSettings.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
--------------------------------------------------------------------------------
/Z80IDE/ToolWindow.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
--------------------------------------------------------------------------------
/IntelHex/Class1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 | using System.IO;
5 |
6 | namespace IntelHex
7 | {
8 | public class IntelHex
9 | {
10 | enum parsestate
11 | {
12 | WAITING_COLON = 0,
13 | WAITING_BYTECOUNT1,
14 | WAITING_BYTECOUNT2,
15 | WAITING_ADDR1,
16 | WAITING_ADDR2,
17 | WAITING_ADDR3,
18 | WAITING_ADDR4,
19 | WAITING_RCD1,
20 | WAITING_RCD2,
21 | WAITING_DATAHI,
22 | WAITING_DATALO,
23 | WAITING_CHECK1,
24 | WAITING_CHECK2,
25 |
26 | }
27 |
28 | public byte[] rom = new byte[0xFFFF];
29 |
30 | public void save(string filename)
31 | {
32 | StreamWriter writer = new StreamWriter(filename);
33 |
34 |
35 |
36 |
37 | int count=0;
38 | int addr=0;
39 | byte csum = 0;
40 | foreach(int x in rom)
41 | {
42 |
43 | if(count==0)
44 | {
45 | writer.Write(':'); // Start Code
46 | writer.Write(String.Format("{0:X2}",0x20)); // Byte count 32 bytes
47 | writer.Write(String.Format("{0:X4}",addr)); // current address for this line
48 | writer.Write(String.Format("{0:X2}", 0x00)); // Record type 00 Data
49 |
50 | csum += 0x20;
51 | csum += (byte)(addr>>8);
52 | csum += (byte)(addr&0xFF);
53 | }
54 |
55 | writer.Write(String.Format("{0:X2}", x)); // Data
56 | csum += (byte)x;
57 |
58 | if (count == 31)
59 | {
60 | csum = (byte)(0x100 - csum);
61 |
62 | writer.Write(String.Format("{0:X2}\r\n", csum)); // checksum
63 | }
64 |
65 |
66 |
67 |
68 | count++;
69 | addr++;
70 |
71 | if(count==32)
72 | {
73 | count=0;
74 | csum = 0;
75 | }
76 |
77 | }
78 |
79 | writer.Write(":00000001FF"); //END OF FILE
80 |
81 | writer.Close();
82 |
83 | }
84 |
85 | public void load(string filename)
86 | {
87 | for (int x = 0; x < rom.Length; x++)
88 | {
89 | rom[x] = 0xff;
90 | }
91 |
92 | parsestate pstate= parsestate.WAITING_COLON;
93 | byte[] otherData = File.ReadAllBytes(filename);
94 |
95 | int count=0;
96 | int addr=0;
97 | int dataread = 0;
98 | int chksum=0;
99 |
100 | byte[] data = null;
101 | byte nibblebuffer = 0;
102 |
103 | foreach (byte b in otherData)
104 | {
105 |
106 | byte hexdcata = 0;
107 | if(b>=48 && b<=57)
108 | hexdcata = (byte)(b - (byte)48);
109 |
110 | if (b >= 65 && b <= 70)
111 | hexdcata = (byte)(b - (byte)55);
112 |
113 | if (b >= 97 && b <= 102)
114 | hexdcata = (byte)(b - (byte)87);
115 |
116 | switch (pstate)
117 | {
118 | case parsestate.WAITING_COLON:
119 | if (b == ':')
120 | {
121 | //Console.WriteLine("Found :");
122 | pstate = parsestate.WAITING_BYTECOUNT1;
123 | }
124 | break;
125 |
126 |
127 | case parsestate.WAITING_BYTECOUNT1:
128 | pstate = parsestate.WAITING_BYTECOUNT2;
129 | count = hexdcata*0x10;
130 | break;
131 |
132 | case parsestate.WAITING_BYTECOUNT2:
133 | pstate = parsestate.WAITING_ADDR1;
134 | count += hexdcata;
135 |
136 | if (count == 0)
137 | return;
138 |
139 | data = new byte[count];
140 | // Console.WriteLine("Byte count is " + count.ToString());
141 | break;
142 |
143 | case parsestate.WAITING_ADDR1:
144 | pstate = parsestate.WAITING_ADDR2;
145 | addr = hexdcata*0x1000;
146 | break;
147 |
148 | case parsestate.WAITING_ADDR2:
149 | pstate = parsestate.WAITING_ADDR3;
150 | addr += hexdcata*0x100;
151 | break;
152 |
153 | case parsestate.WAITING_ADDR3:
154 | pstate = parsestate.WAITING_ADDR4;
155 | addr += hexdcata*0x10;
156 | break;
157 |
158 | case parsestate.WAITING_ADDR4:
159 | pstate = parsestate.WAITING_RCD1;
160 | addr += hexdcata;
161 | //Console.WriteLine("Addr is " + addr.ToString());
162 |
163 | break;
164 |
165 | case parsestate.WAITING_RCD1:
166 | pstate = parsestate.WAITING_RCD2;
167 | break;
168 |
169 | case parsestate.WAITING_RCD2:
170 | pstate = parsestate.WAITING_DATAHI;
171 | dataread = 0;
172 | break;
173 |
174 | case parsestate.WAITING_DATAHI:
175 |
176 | nibblebuffer = (byte)(hexdcata*16);
177 | pstate = parsestate.WAITING_DATALO;
178 | break;
179 |
180 | case parsestate.WAITING_DATALO:
181 |
182 | pstate = parsestate.WAITING_DATAHI;
183 | nibblebuffer |= hexdcata;
184 | data[dataread] = nibblebuffer;
185 | // Console.WriteLine("Got data "+Convert.ToString(nibblebuffer, 16));
186 | dataread++;
187 | if (dataread == count)
188 | {
189 | pstate = parsestate.WAITING_CHECK1;
190 | }
191 | break;
192 |
193 | case parsestate.WAITING_CHECK1:
194 | chksum = hexdcata * 16;
195 | pstate = parsestate.WAITING_CHECK2;
196 | break;
197 |
198 | case parsestate.WAITING_CHECK2:
199 | chksum +=hexdcata;
200 | pstate = parsestate.WAITING_COLON;
201 | //Console.WriteLine("Checksum is " + chksum.ToString());
202 | for(int x=0;x
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 |
123 | AAABAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAEAAAABAA
124 | AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
125 | AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
126 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////wAAAAAA
127 | AP////////////8AAAAAAAD/d3d3d3d3d///AAAAAAAA/3d3d3d3d3f//wAAAAAAAP////////////8A
128 | AAAAAAD/////////////AAAAAAAA/3d3d3d3d3d3/wAAAAAAAP93d3d3d3d3d/8AAAAAAAD/////////
129 | ////AAAAAAAA/////////////wAAAAAAAP8AAAAAAAAA//8AAAAAAAD/AAAAAAAAAP//AAAAAAAA////
130 | /////////wAAAAAAAP////////////8AAAAAAAD/d3d3d3d3d3f/AAAAAAAA/3d3d3d3d3d3/wAAAAAA
131 | AP////////////8AAAAAAAD/////////////AAAAAABEREREREREREREREQAAAAARERERERERERERERE
132 | AAAAAERERERERERERERERAAAAABEREREREREREREREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
133 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////8AAAD/AA
134 | AA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AA
135 | AA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP/////////////////////w==
136 |
137 |
138 |
--------------------------------------------------------------------------------
/Z80IDE/NewSolution.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Z80IDE
2 | {
3 | partial class NewSolution
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.button_changefolder = new System.Windows.Forms.Button();
32 | this.textBox_solutionroot = new System.Windows.Forms.TextBox();
33 | this.label1 = new System.Windows.Forms.Label();
34 | this.label2 = new System.Windows.Forms.Label();
35 | this.textBox_solutionname = new System.Windows.Forms.TextBox();
36 | this.button_ok = new System.Windows.Forms.Button();
37 | this.button_cancel = new System.Windows.Forms.Button();
38 | this.textBox_ramstart = new System.Windows.Forms.TextBox();
39 | this.label3 = new System.Windows.Forms.Label();
40 | this.SuspendLayout();
41 | //
42 | // button_changefolder
43 | //
44 | this.button_changefolder.Location = new System.Drawing.Point(609, 61);
45 | this.button_changefolder.Name = "button_changefolder";
46 | this.button_changefolder.Size = new System.Drawing.Size(85, 27);
47 | this.button_changefolder.TabIndex = 5;
48 | this.button_changefolder.Text = "Change";
49 | this.button_changefolder.UseVisualStyleBackColor = true;
50 | this.button_changefolder.Click += new System.EventHandler(this.button_changefolder_Click);
51 | //
52 | // textBox_solutionroot
53 | //
54 | this.textBox_solutionroot.Location = new System.Drawing.Point(126, 64);
55 | this.textBox_solutionroot.Name = "textBox_solutionroot";
56 | this.textBox_solutionroot.Size = new System.Drawing.Size(474, 20);
57 | this.textBox_solutionroot.TabIndex = 4;
58 | //
59 | // label1
60 | //
61 | this.label1.AutoSize = true;
62 | this.label1.Location = new System.Drawing.Point(24, 69);
63 | this.label1.Name = "label1";
64 | this.label1.Size = new System.Drawing.Size(95, 13);
65 | this.label1.TabIndex = 3;
66 | this.label1.Text = "Solution root folder";
67 | //
68 | // label2
69 | //
70 | this.label2.AutoSize = true;
71 | this.label2.Location = new System.Drawing.Point(24, 23);
72 | this.label2.Name = "label2";
73 | this.label2.Size = new System.Drawing.Size(74, 13);
74 | this.label2.TabIndex = 6;
75 | this.label2.Text = "Solution name";
76 | //
77 | // textBox_solutionname
78 | //
79 | this.textBox_solutionname.Location = new System.Drawing.Point(126, 20);
80 | this.textBox_solutionname.Name = "textBox_solutionname";
81 | this.textBox_solutionname.Size = new System.Drawing.Size(129, 20);
82 | this.textBox_solutionname.TabIndex = 7;
83 | //
84 | // button_ok
85 | //
86 | this.button_ok.Location = new System.Drawing.Point(204, 165);
87 | this.button_ok.Name = "button_ok";
88 | this.button_ok.Size = new System.Drawing.Size(85, 27);
89 | this.button_ok.TabIndex = 8;
90 | this.button_ok.Text = "OK";
91 | this.button_ok.UseVisualStyleBackColor = true;
92 | this.button_ok.Click += new System.EventHandler(this.button_ok_Click);
93 | //
94 | // button_cancel
95 | //
96 | this.button_cancel.Location = new System.Drawing.Point(398, 165);
97 | this.button_cancel.Name = "button_cancel";
98 | this.button_cancel.Size = new System.Drawing.Size(85, 27);
99 | this.button_cancel.TabIndex = 9;
100 | this.button_cancel.Text = "Cancel";
101 | this.button_cancel.UseVisualStyleBackColor = true;
102 | this.button_cancel.Click += new System.EventHandler(this.button_cancel_Click);
103 | //
104 | // textBox_ramstart
105 | //
106 | this.textBox_ramstart.Location = new System.Drawing.Point(126, 103);
107 | this.textBox_ramstart.Name = "textBox_ramstart";
108 | this.textBox_ramstart.Size = new System.Drawing.Size(129, 20);
109 | this.textBox_ramstart.TabIndex = 10;
110 | this.textBox_ramstart.Text = "16384";
111 | //
112 | // label3
113 | //
114 | this.label3.AutoSize = true;
115 | this.label3.Location = new System.Drawing.Point(24, 110);
116 | this.label3.Name = "label3";
117 | this.label3.Size = new System.Drawing.Size(52, 13);
118 | this.label3.TabIndex = 11;
119 | this.label3.Text = "Ram start";
120 | //
121 | // NewSolution
122 | //
123 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
124 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
125 | this.ClientSize = new System.Drawing.Size(770, 223);
126 | this.Controls.Add(this.label3);
127 | this.Controls.Add(this.textBox_ramstart);
128 | this.Controls.Add(this.button_cancel);
129 | this.Controls.Add(this.button_ok);
130 | this.Controls.Add(this.textBox_solutionname);
131 | this.Controls.Add(this.label2);
132 | this.Controls.Add(this.button_changefolder);
133 | this.Controls.Add(this.textBox_solutionroot);
134 | this.Controls.Add(this.label1);
135 | this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
136 | this.Name = "NewSolution";
137 | this.Text = "NewSolution";
138 | this.ResumeLayout(false);
139 | this.PerformLayout();
140 |
141 | }
142 |
143 | #endregion
144 |
145 | private System.Windows.Forms.Button button_changefolder;
146 | private System.Windows.Forms.TextBox textBox_solutionroot;
147 | private System.Windows.Forms.Label label1;
148 | private System.Windows.Forms.Label label2;
149 | private System.Windows.Forms.TextBox textBox_solutionname;
150 | private System.Windows.Forms.Button button_ok;
151 | private System.Windows.Forms.Button button_cancel;
152 | private System.Windows.Forms.TextBox textBox_ramstart;
153 | private System.Windows.Forms.Label label3;
154 | }
155 | }
--------------------------------------------------------------------------------
/Z80IDE/Solution.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.IO;
6 | using z80assemble;
7 | using DockSample;
8 | using System.Xml.Serialization;
9 |
10 | namespace Z80IDE
11 | {
12 | public class file
13 | {
14 | //needed for XML serialisztion
15 | public file()
16 | {
17 |
18 | }
19 | public file(string name, string path)
20 | {
21 | this.name = name;
22 | this.path = path;
23 | }
24 |
25 | public String name;
26 | public String path;
27 | public bool assemblefile = true;
28 | public int order = 0;
29 | }
30 |
31 | public class solutiondetails
32 | {
33 | public string name;
34 | public string basefolder;
35 | public string filefolder;
36 | [XmlArray(ElementName = "files", IsNullable = true)]
37 | public List files = new List();
38 | public int ramstart;
39 |
40 | }
41 |
42 | public class Solution
43 | {
44 |
45 | public delegate void ChangedEventHandler(object sender, EventArgs e);
46 | public event ChangedEventHandler Changed;
47 | //public List files = new List();
48 |
49 | public solutiondetails details = new solutiondetails();
50 |
51 | public Dictionary ewlink = new Dictionary();
52 |
53 | public bool isDirty = false;
54 | //public string name;
55 | //public string basefolder;
56 |
57 |
58 | public Solution()
59 | {
60 | details.name = "Empty";
61 | }
62 |
63 | public void solutionchanged()
64 | {
65 | EventArgs e = new EventArgs();
66 | if (Changed != null)
67 | Changed(this, e);
68 | }
69 |
70 | public bool addfile(string pathname,bool copy=true,EditorWindow ew=null)
71 | {
72 |
73 |
74 | string filename = Path.GetFileName(pathname);
75 | string target = details.filefolder + Path.DirectorySeparatorChar + filename;
76 | if(File.Exists(target))
77 | {
78 | return false;
79 | }
80 |
81 | if (copy==true)
82 | {
83 | File.Copy(pathname, target);
84 | }
85 |
86 | file f = new file(filename,"");
87 |
88 | details.files.Add(f);
89 |
90 | solutionchanged();
91 |
92 | isDirty = true;
93 |
94 | if (ew != null)
95 | {
96 | ewlink.Add(filename, ew);
97 | }
98 |
99 | return true;
100 |
101 | }
102 |
103 | public void removefile(string name)
104 | {
105 | // We should offer chance to delete actual file on disk too
106 |
107 | file removef=null;
108 | foreach (file f in details.files)
109 | {
110 | if(f.name==name)
111 | {
112 | removef=f;
113 | break;
114 | }
115 | }
116 |
117 | if(removef!=null)
118 | {
119 | details.files.Remove(removef);
120 | solutionchanged();
121 | }
122 |
123 | if (ewlink.ContainsKey(name))
124 | {
125 | ewlink[name].Close();
126 | ewlink.Remove(name);
127 | }
128 |
129 | isDirty = true;
130 |
131 | }
132 |
133 | public bool isnameused(string name)
134 | {
135 | foreach (file f in details.files)
136 | {
137 | if (f.name == name)
138 | {
139 | return true;
140 | }
141 | }
142 | return false;
143 | }
144 |
145 | public string loadfile(string name,EditorWindow ew=null)
146 | {
147 |
148 | StreamReader sr = new StreamReader(details.filefolder + System.IO.Path.DirectorySeparatorChar + name);
149 | string data = sr.ReadToEnd();
150 | sr.Close();
151 |
152 | if (ew != null)
153 | {
154 | ew.settext(data);
155 | ewlink.Add(name, ew);
156 | }
157 |
158 | return data;
159 |
160 | }
161 |
162 | public void savefile(string name)
163 | {
164 | if (ewlink.ContainsKey(name))
165 | {
166 | string data = ewlink[name].gettext();
167 | StreamWriter sw = new StreamWriter(details.filefolder + System.IO.Path.DirectorySeparatorChar + name);
168 | sw.Write(data);
169 | sw.Close();
170 | ewlink[name].setclean();
171 | }
172 |
173 | }
174 |
175 | public void Serialize()
176 | {
177 | Serialize(details.basefolder + System.IO.Path.DirectorySeparatorChar + details.name + ".sol");
178 | }
179 |
180 | public void Serialize(string filename)
181 | {
182 | Type[] extraTypes = new Type[1];
183 | extraTypes[0] = typeof(List);
184 |
185 | XmlSerializer serializer = new XmlSerializer(typeof(solutiondetails), extraTypes);
186 | using ( TextWriter writer = new StreamWriter(filename))
187 | {
188 | serializer.Serialize(writer, details);
189 | writer.Close();
190 | }
191 |
192 | isDirty = false;
193 | }
194 |
195 | public void Deserialize(string filename)
196 | {
197 | Type[] extraTypes = new Type[1];
198 | extraTypes[0] = typeof(List);
199 |
200 | XmlSerializer serializer = new XmlSerializer(typeof(solutiondetails),extraTypes);
201 |
202 | FileStream fs = new FileStream(filename, FileMode.Open);
203 | details = (solutiondetails)serializer.Deserialize(fs);
204 | fs.Close();
205 | isDirty = false;
206 | solutionchanged();
207 |
208 |
209 | }
210 |
211 | public void updatedetails(solutiondetails d)
212 | {
213 | details = d;
214 | solutionchanged();
215 |
216 | }
217 |
218 | public bool isassemblyrequired(string filename)
219 | {
220 | foreach (file f in details.files)
221 | {
222 | if (f.name == filename)
223 | {
224 | return f.assemblefile;
225 | }
226 | }
227 |
228 | return false;
229 |
230 | }
231 |
232 |
233 | public void setassemblyrequired(string filename,bool required)
234 | {
235 | foreach (file f in details.files)
236 | {
237 | if (f.name == filename)
238 | {
239 | f.assemblefile = required;
240 | return;
241 | }
242 | }
243 |
244 |
245 | }
246 |
247 | public string getbasepath()
248 | {
249 | return details.basefolder;
250 | }
251 |
252 | public void savedirtyfiles()
253 | {
254 |
255 | foreach(KeyValuePair kvp in ewlink)
256 | {
257 | if (kvp.Value.isdirty() == true)
258 | {
259 | savefile(kvp.Key);
260 | kvp.Value.setclean();
261 | }
262 | }
263 | }
264 |
265 | public void unlink(EditorWindow ew)
266 | {
267 | if (ewlink.ContainsKey(ew.filename))
268 | {
269 | ewlink.Remove(ew.filename);
270 | }
271 |
272 | }
273 |
274 | }
275 | }
276 |
--------------------------------------------------------------------------------
/Z80IDE/EditorWindow.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
124 | 132, 17
125 |
126 |
127 |
128 |
129 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
130 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJdSURBVDhPlZLtS1NRHMfvPxG+2Zte9EBF0cOLzIgaghkI
131 | ElPIlhEiNjRqSUboRHpE7EFKGgydaU/IzEUyW9uYiprm3Jjb3e69c+rcg5pNd1dbCkHfPGcMGgitCx8u
132 | 53c/5/v7ce5hpD0RyM1RisK8RKm2rmwJ+SZ/F8SFgRUw6edc/yIeCT/RxCbhnLDhRzIBMR7PoEvTgdfa
133 | F/C4WbhtDjwUNlBiWE6FyPRhqFwJ3PUkYR+bQEwUEV1dzeCM4g6URj8NYienqEtCyDRMcU8At+zfoXIk
134 | MPrJgsXlJYTCkQxkjZ1o8vxCe9tz2IZGqEvI75pPBdyYjNOQQYMRwVAE84GFDM42vcRtH9D+pBXj1mHq
135 | EqSdfjCFHQJqxkQox0UYdH0QhBl4vHwGpo8mWIwmOKfd1CEu4biaB1Og8aJqJEZDdNpuCPzmps3D+hvO
136 | y4HnOPgEnjrEJRx7xoKRtrkgHxSheGpEVb0alf+AOMStGBZxpNkB5mSrE8WmNdoJ+J0VxC21xFIBeS1T
137 | yP8QpUVdTz9aHqjRWHcftVdVqCy/gvMlF1FUIMPpU0U4ejCProlbaFjDftUEmNx7X3Ci7xstrq9vZAVx
138 | SdN99Z/BHFaN4tDbpf+eIFf3Fbtqh1IBe7tTAT6fHxwvwMvx8Hp4sCyHaRdLfx/BYXfSNXFJ053XrGAO
139 | 3LRC0h6hxTev9HjcrKET1Ckb6ATlpRVbTrBDG8H2GjOY3dct2KYJ0yLvm8GMfxb+uTnMzgdSN3EhiIVg
140 | iN7Q9C0lLmkquTwARnJJj5yyXpD3nur3WZHek1PWiz/JL/9f2O8eBgAAAABJRU5ErkJggg==
141 |
142 |
143 |
--------------------------------------------------------------------------------
/Z80IDE/Z80IDE.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | x86
6 | 8.0.30703
7 | 2.0
8 | {0935CC67-D26A-46F3-8D9D-77CD8BB9CAC2}
9 | WinExe
10 | Properties
11 | Z80IDE
12 | Z80IDE
13 | v4.0
14 |
15 |
16 | 512
17 |
18 |
19 | x86
20 | true
21 | full
22 | false
23 | bin\Debug\
24 | DEBUG;TRACE
25 | prompt
26 | 4
27 |
28 |
29 | x86
30 | pdbonly
31 | true
32 | bin\Debug\
33 | TRACE
34 | prompt
35 | 4
36 |
37 |
38 |
39 |
40 | ..\FastColoredTextBox-master\Binary\FastColoredTextBox.dll
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 | ..\FastColoredTextBox-master\Binary\TabStrip.dll
55 |
56 |
57 | False
58 | ..\WeifenLuo.WinFormsUI.Docking.dll
59 |
60 |
61 |
62 |
63 |
64 | Form
65 |
66 |
67 | DummyOutputWindow.cs
68 |
69 |
70 | Form
71 |
72 |
73 | DummySolutionExplorer.cs
74 |
75 |
76 | Form
77 |
78 |
79 | EditorWindow.cs
80 |
81 |
82 | Form
83 |
84 |
85 | Form1.cs
86 |
87 |
88 | Form
89 |
90 |
91 | HexView.cs
92 |
93 |
94 |
95 | Form
96 |
97 |
98 | NewSolution.cs
99 |
100 |
101 |
102 |
103 |
104 | Form
105 |
106 |
107 | SolutionSettings.cs
108 |
109 |
110 | Form
111 |
112 |
113 | ToolWindow.cs
114 |
115 |
116 | DummyOutputWindow.cs
117 |
118 |
119 | DummySolutionExplorer.cs
120 |
121 |
122 | EditorWindow.cs
123 |
124 |
125 | Form1.cs
126 |
127 |
128 | HexView.cs
129 |
130 |
131 | NewSolution.cs
132 |
133 |
134 | ResXFileCodeGenerator
135 | Resources.Designer.cs
136 | Designer
137 |
138 |
139 | True
140 | Resources.resx
141 | True
142 |
143 |
144 | SolutionSettings.cs
145 |
146 |
147 | ToolWindow.cs
148 |
149 |
150 |
151 | SettingsSingleFileGenerator
152 | Settings.Designer.cs
153 |
154 |
155 | True
156 | Settings.settings
157 | True
158 |
159 |
160 |
161 |
162 | {9015282A-EE8A-418E-A5B8-2EAD2628634B}
163 | IntelHex
164 |
165 |
166 | {C3B58DAA-A630-4A3B-B0A1-85479F1847BD}
167 | z80assembler
168 |
169 |
170 |
171 |
172 |
173 | PreserveNewest
174 | Designer
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
194 |
--------------------------------------------------------------------------------
/z80assemble/commands.txt:
--------------------------------------------------------------------------------
1 | ADC A,(HL) 7 2 8E 1
2 | ADC A,(IX+o) 19 5 DD 8E oo 3
3 | ADC A,(IY+o) 19 5 FD 8E oo 3
4 | ADC A,n 7 2 CE nn 2
5 | ADC A,r 4 1 88+r 1
6 | ADC A,IXp 8 2 DD 88+p 2
7 | ADC A,IYq 8 2 FD 88+q 2SP
8 | ADC HL,BC 15 2 ED 4A 2
9 | ADC HL,DE 15 2 ED 5A 2
10 | ADC HL,HL 15 2 ED 6A 2
11 | ADC HL,SP 15 2 ED 7A 2
12 | ADD A,(HL) 7 2 86 1
13 | ADD A,(IX+o) 19 5 DD 86 oo 3
14 | ADD A,(IY+o) 19 5 FD 86 oo 3
15 | ADD A,n 7 2 C6 nn 2
16 | ADD A,r 4 1 80+r 1
17 | ADD A,IXp 8 2 DD 80+p 2
18 | ADD A,IYq 8 2 FD 80+q 2
19 | ADD HL,BC 11 1 09 1
20 | ADD HL,DE 11 1 19 1
21 | ADD HL,HL 11 1 29 1
22 | ADD HL,SP 11 1 39 1
23 | ADD IX,BC 15 2 DD 09 2
24 | ADD IX,DE 15 2 DD 19 2
25 | ADD IX,IX 15 2 DD 29 2
26 | ADD IX,SP 15 2 DD 39 2
27 | ADD IY,BC 15 2 FD 09 2
28 | ADD IY,DE 15 2 FD 19 2
29 | ADD IY,IY 15 2 FD 29 2
30 | ADD IY,SP 15 2 FD 39 2
31 | AND (HL) 7 2 A6 1
32 | AND (IX+o) 19 5 DD A6 oo 3
33 | AND (IY+o) 19 5 FD A6 oo 3
34 | AND n 7 2 E6 nn 2
35 | AND r 4 1 A0+r 1
36 | AND IXp 8 2 DD A0+p 2
37 | AND IYq 8 2 FD A0+q 2
38 | AND A,(HL) 7 2 A6 1
39 | AND A,(IX+o) 19 5 DD A6 oo 3
40 | AND A,(IY+o) 19 5 FD A6 oo 3
41 | AND A,n 7 2 E6 nn 2
42 | AND A,r 4 1 A0+r 1
43 | AND A,IXp 8 2 DD A0+p 2
44 | AND A,IYq 8 2 FD A0+q 2
45 | BIT b,(HL) 12 3 CB 46+8*b 2
46 | BIT b,(IX+o) 20 5 DD CB oo 46+8*b 4
47 | BIT b,(IY+o) 20 5 FD CB oo 46+8*b 4
48 | BIT b,r 8 2 CB 40+8*b+r 2
49 | CALL nn 17 5 CD nn nn 3
50 | CALL C,nn 17/10 5/3 DC nn nn 3
51 | CALL M,nn 17/10 5/3 FC nn nn 3
52 | CALL NC,nn 17/10 5/3 D4 nn nn 3
53 | CALL NZ,nn 17/10 5/3 C4 nn nn 3
54 | CALL P,nn 17/10 5/3 F4 nn nn 3
55 | CALL PE,nn 17/10 5/3 EC nn nn 3
56 | CALL PO,nn 17/10 5/3 E4 nn nn 3
57 | CALL Z,nn 17/10 5/3 CC nn nn 3
58 | CCF 4 1 3F 1
59 | CP (HL) 7 2 BE 1
60 | CP (IX+o) 19 5 DD BE oo 3
61 | CP (IY+o) 19 5 FD BE oo 3
62 | CP n 7 2 FE nn 2
63 | CP r 4 1 B8+r 1
64 | CP IXp 8 2 DD B8+p 2
65 | CP IYq 8 2 FD B8+q 2
66 | CPD 16 4 ED A9 2
67 | CPDR 21/16 4 ED B9 2
68 | CPI 16 4 ED A1 2
69 | CPIR 21/16 4 ED B1 2
70 | CPL 4 1 2F 1
71 | DAA 4 1 27 1
72 | DEC (HL) 11 4 35 1
73 | DEC (IX+o) 23 7 DD 35 oo 3
74 | DEC (IY+o) 23 7 FD 35 oo 3
75 | DEC A 4 1 3D 1
76 | DEC B 4 1 05 1
77 | DEC BC 6 1 0B 1
78 | DEC C 4 1 0D 1
79 | DEC D 4 1 15 1
80 | DEC DE 6 1 1B 1
81 | DEC E 4 1 1D 1
82 | DEC H 4 1 25 1
83 | DEC HL 6 1 2B 1
84 | DEC IX 10 2 DD 2B 2
85 | DEC IY 10 2 FD 2B 2
86 | DEC IXp 8 2 DD 05+8*p 2
87 | DEC IYq 8 2 FD 05+8*q 2
88 | DEC L 4 1 2D 2
89 | DEC SP 6 1 3B 1
90 | DI 4 2 F3 1
91 | DJNZ o 13/8 2 10 oo 2
92 | EI 4 1 FB 1
93 | EX (SP),HL 19 5 E3 1
94 | EX (SP),IX 23 6 DD E3 2
95 | EX (SP),IY 23 6 FD E3 2
96 | EX AF,AF' 4 1 08 1
97 | EX DE,HL 4 1 EB 1
98 | EXX 4 1 D9 1
99 | HALT 4 2 76 1
100 | IM 0 8 3 ED 46 2
101 | IM 1 8 3 ED 56 2
102 | IM 2 8 3 ED 5E 2
103 | IN A,(C) 12 3 ED 78 2
104 | IN A,(n) 11 3 DB nn 2
105 | IN B,(C) 12 3 ED 40 2
106 | IN C,(C) 12 3 ED 48 2
107 | IN D,(C) 12 3 ED 50 2
108 | IN E,(C) 12 3 ED 58 2
109 | IN H,(C) 12 3 ED 60 2
110 | IN L,(C) 12 3 ED 68 2
111 | IN F,(C) 12 3 ED 70 3
112 | INC (HL) 11 4 34 1
113 | INC (IX+o) 23 7 DD 34 oo 3
114 | INC (IY+o) 23 7 FD 34 oo 3
115 | INC A 4 1 3C 1
116 | INC B 4 1 04 1
117 | INC BC 6 1 03 1
118 | INC C 4 1 0C 1
119 | INC D 4 1 14 1
120 | INC DE 6 1 13 1
121 | INC E 4 1 1C 1
122 | INC H 4 1 24 1
123 | INC HL 6 1 23 1
124 | INC IX 10 2 DD 23 2
125 | INC IY 10 2 FD 23 2
126 | INC IXp 8 2 DD 04+8*p 2
127 | INC IYq 8 2 FD 04+8*q 2
128 | INC L 4 1 2C 1
129 | INC SP 6 1 33 1
130 | IND 16 4 ED AA 2
131 | INDR 21/16 4/3 ED BA 2
132 | INI 16 4 ED A2 2
133 | INIR 21/16 4/3 ED B2 2
134 | JP nn 10 3 C3 nn nn 3
135 | JP (HL) 4 1 E9 1
136 | JP (IX) 8 2 DD E9 2
137 | JP (IY) 8 2 FD E9 2
138 | JP C,nn 10 3 DA nn nn 3
139 | JP M,nn 10 3 FA nn nn 3
140 | JP NC,nn 10 3 D2 nn nn 3
141 | JP NZ,nn 10 3 C2 nn nn 3
142 | JP P,nn 10 3 F2 nn nn 3
143 | JP PE,nn 10 3 EA nn nn 3
144 | JP PO,nn 10 3 E2 nn nn 3
145 | JP Z,nn 10 3 CA nn nn 3
146 | JR o 12 3 18 oo 2
147 | JR C,o 12/7 3/2 38 oo 2
148 | JR NC,o 12/7 3/2 30 oo 2
149 | JR NZ,o 12/7 3/2 20 oo 2
150 | JR Z,o 12/7 3/2 28 oo 2
151 | LD (BC),A 7 2 02 1
152 | LD (DE),A 7 2 12 1
153 | LD (HL),n 10 3 36 nn 2
154 | LD (HL),r 7 2 70+r 1
155 | LD (IX+o),n 19 5 DD 36 oo nn 4
156 | LD (IX+o),r 19 5 DD 70+r oo 3
157 | LD (IY+o),n 19 5 FD 36 oo nn 4
158 | LD (IY+o),r 19 5 FD 70+r oo 3
159 | LD (nn),A 13 4 32 nn nn 3
160 | LD (nn),BC 20 6 ED 43 nn nn 4
161 | LD (nn),DE 20 6 ED 53 nn nn 4
162 | LD (nn),HL 16 5 22 nn nn 3
163 | LD (nn),IX 20 6 DD 22 nn nn 4
164 | LD (nn),IY 20 6 FD 22 nn nn 4
165 | LD (nn),SP 20 6 ED 73 nn nn 4
166 | LD A,(BC) 7 2 0A 1
167 | LD A,(DE) 7 2 1A 1
168 | LD A,(HL) 7 2 7E 1
169 | LD A,(IX+o) 19 5 DD 7E oo 3
170 | LD A,(IY+o) 19 1 FD 7E oo 3
171 | LD A,(nn) 13 4 3A nn nn 3
172 | LD A,n 7 2 3E nn 2
173 | LD A,r 4 1 78+r 1
174 | LD A,IXp 8 2 DD 78+p 2
175 | LD A,IYq 8 2 FD 78+q 2
176 | LD A,I 9 2 ED 57 2
177 | LD A,R 9 2 ED 5F 2
178 | LD B,(HL) 7 2 46 1
179 | LD B,(IX+o) 19 5 DD 46 oo 3
180 | LD B,(IY+o) 19 5 FD 46 oo 3
181 | LD B,n 7 2 06 nn 2
182 | LD B,r 4 1 40+r 1
183 | LD B,IXp 8 2 DD 40+p 2
184 | LD B,IYq 8 2 FD 40+q 2
185 | LD BC,(nn) 20 6 ED 4B nn nn 4
186 | LD BC,nn 10 3 01 nn nn 3
187 | LD C,(HL) 7 2 4E 1
188 | LD C,(IX+o) 19 5 DD 4E oo 3
189 | LD C,(IY+o) 19 5 FD 4E oo 3
190 | LD C,n 7 2 0E nn 2
191 | LD C,r 4 1 48+r 1
192 | LD C,IXp 8 2 DD 48+p 2
193 | LD C,IYq 8 2 FD 48+q 2
194 | LD D,(HL) 7 2 56 1
195 | LD D,(IX+o) 19 5 DD 56 oo 3
196 | LD D,(IY+o) 19 5 FD 56 oo 3
197 | LD D,n 7 2 16 nn 2
198 | LD D,r 4 1 50+r 1
199 | LD D,IXp 8 2 DD 50+p 2
200 | LD D,IYq 8 2 FD 50+q 2
201 | LD DE,(nn) 20 6 ED 5B nn nn 4
202 | LD DE,nn 10 3 11 nn nn 3
203 | LD E,(HL) 7 2 5E 1
204 | LD E,(IX+o) 19 5 DD 5E oo 3
205 | LD E,(IY+o) 19 5 FD 5E oo 3
206 | LD E,n 7 2 1E nn 2
207 | LD E,r 4 1 58+r 1
208 | LD E,IXp 8 2 DD 58+p 2
209 | LD E,IYq 8 2 FD 58+q 2
210 | LD H,(HL) 7 2 66 1
211 | LD H,(IX+o) 19 5 DD 66 oo 3
212 | LD H,(IY+o) 19 5 FD 66 oo 3
213 | LD H,n 7 2 26 nn 2
214 | LD H,r 4 1 60+r 1
215 | LD HL,(nn) 16 5 2A nn nn 5
216 | LD HL,nn 10 3 21 nn nn 3
217 | LD I,A 9 2 ED 47 2
218 | LD IX,(nn) 20 6 DD 2A nn nn 4
219 | LD IX,nn 14 4 DD 21 nn nn 4
220 | LD IXH,n 11 3 DD 26 nn 2
221 | LD IXH,p 8 2 DD 60+p 2
222 | LD IXL,n 11 3 DD 2E nn 2
223 | LD IXL,p 8 2 DD 68+p 2
224 | LD IY,(nn) 20 6 FD 2A nn nn 4
225 | LD IY,nn 14 4 FD 21 nn nn 4
226 | LD IYh,n 11 3 FD 26 nn 2
227 | LD IYh,q 8 2 FD 60+q 2
228 | LD IYl,n 11 3 FD 2E nn 2
229 | LD IYl,q 8 2 FD 68+q 2
230 | LD L,(HL) 7 2 6E 1
231 | LD L,(IX+o) 19 5 DD 6E oo 3
232 | LD L,(IY+o) 19 5 FD 6E oo 3
233 | LD L,n 7 2 2E nn 2
234 | LD L,r 4 1 68+r 1
235 | LD R,A 9 2 ED 4F 2
236 | LD SP,(nn) 20 6 ED 7B nn nn 4
237 | LD SP,HL 6 1 F9 1
238 | LD SP,IX 10 2 DD F9 2
239 | LD SP,IY 10 2 FD F9 2
240 | LD SP,nn 10 3 31 nn nn 3
241 | LDD 16 4 ED A8 2
242 | LDDR 21/16 4 ED B8 2
243 | LDI 16 4 ED A0 2
244 | LDIR 21/16 4 ED B0 2
245 | MULUB A,r 14 ED C1+8*r 2
246 | MULUW HL,BC 36 ED C3 2
247 | MULUW HL,SP 36 ED F3 2
248 | NEG 8 2 ED 44 2
249 | NOP 4 1 00 1
250 | OR (HL) 7 2 B6 1
251 | OR (IX+o) 19 5 DD B6 oo 3
252 | OR (IY+o) 19 5 FD B6 oo 3
253 | OR n 7 2 F6 nn 2
254 | OR r 4 1 B0+r 1
255 | OR IXp 8 2 DD B0+p 2
256 | OR IYq 8 2 FD B0+q 2
257 | OR A,(HL) 7 2 B6 1
258 | OR A,(IX+o) 19 5 DD B6 oo 3
259 | OR A,(IY+o) 19 5 FD B6 oo 3
260 | OR A,n 7 2 F6 nn 2
261 | OR A,r 4 1 B0+r 1
262 | OR A,IXp 8 2 DD B0+p 2
263 | OR A,IYq 8 2 FD B0+q 2
264 | OTDR 21/16 4/3 ED BB 2
265 | OTIR 21/16 4/3 ED B3 2
266 | OUT (C),A 12 3 ED 79 2
267 | OUT (C),B 12 3 ED 41 2
268 | OUT (C),C 12 3 ED 49 2
269 | OUT (C),D 12 3 ED 51 2
270 | OUT (C),E 12 3 ED 59 2
271 | OUT (C),H 12 3 ED 61 2
272 | OUT (C),L 12 3 ED 69 2
273 | OUT (n),A 11 3 D3 nn 2
274 | OUTD 16 4 ED AB 2
275 | OUTI 16 4 ED A3 2
276 | POP AF 10 3 F1 1
277 | POP BC 10 3 C1 1
278 | POP DE 10 3 D1 1
279 | POP HL 10 3 E1 1
280 | POP IX 14 4 DD E1 2
281 | POP IY 14 4 FD E1 2
282 | PUSH AF 11 4 F5 1
283 | PUSH BC 11 4 C5 1
284 | PUSH DE 11 4 D5 1
285 | PUSH HL 11 4 E5 1
286 | PUSH IX 15 5 DD E5 2
287 | PUSH IY 15 5 FD E5 2
288 | RES b,(HL) 15 5 CB 86+8*b 2
289 | RES b,(IX+o) 23 7 DD CB oo 86+8*b 4
290 | RES b,(IY+o) 23 7 FD CB oo 86+8*b 4
291 | RES b,r 8 2 CB 80+8*b+r 2
292 | RET 10 3 C9 1
293 | RET C 11/5 3/1 D8 1
294 | RET M 11/5 3/1 F8 1
295 | RET NC 11/5 3/1 D0 1
296 | RET NZ 11/5 3/1 C0 1
297 | RET P 11/5 3/1 F0 1
298 | RET PE 11/5 3/1 E8 1
299 | RET PO 11/5 3/1 E0 1
300 | RET Z 11/5 3/1 C8 1
301 | RETI 14 5 ED 4D 2
302 | RETN 14 5 ED 45 2
303 | RL (HL) 15 5 CB 16 2
304 | RL (IX+o) 23 7 DD CB oo 16 4
305 | RL (IY+o) 23 7 FD CB oo 16 4
306 | RL r 8 2 CB 10+r 2
307 | RLA 4 1 17 1
308 | RLC (HL) 15 5 CB 06 2
309 | RLC (IX+o) 23 7 DD CB oo 06 4
310 | RLC (IY+o) 23 7 FD CB oo 06 4
311 | RLC r 8 2 CB 00+r 2
312 | RLCA 4 1 07 1
313 | RLD 18 5 ED 6F 2
314 | RR (HL) 15 5 CB 1E 2
315 | RR (IX+o) 23 7 DD CB oo 1E 4
316 | RR (IY+o) 23 7 FD CB oo 1E 4
317 | RR r 8 2 CB 18+r 2
318 | RRA 4 1 1F 1
319 | RRC (HL) 15 5 CB 0E 2
320 | RRC (IX+o) 23 7 DD CB oo 0E 4
321 | RRC (IY+o) 23 7 FD CB oo 0E 4
322 | RRC r 8 2 CB 08+r 2
323 | RRCA 4 1 0F 1
324 | RRD 18 5 ED 67 2
325 | RST 0 11 4 C7 1
326 | RST 8H 11 4 CF 1
327 | RST 10H 11 4 D7 1
328 | RST 18H 11 4 DF 1
329 | RST 20H 11 4 E7 1
330 | RST 28H 11 4 EF 1
331 | RST 30H 11 4 F7 1
332 | RST 38H 11 4 FF 1
333 | SBC A,(HL) 7 2 9E 1
334 | SBC A,(IX+o) 19 5 DD 9E oo 3
335 | SBC A,(IY+o) 19 5 FD 9E oo 3
336 | SBC A,n 7 2 DE nn 2
337 | SBC A,r 4 1 98+r 1
338 | SBC A,IXp 8 2 DD 98+p 2
339 | SBC A,IYq 8 2 FD 98+q 2
340 | SBC HL,BC 15 2 ED 42 2
341 | SBC HL,DE 15 2 ED 52 2
342 | SBC HL,HL 15 2 ED 62 2
343 | SBC HL,SP 15 2 ED 72 2
344 | SCF 4 1 37 1
345 | SET b,(HL) 15 5 CB C6+8*b 2
346 | SET b,(IX+o) 23 7 DD CB oo C6+8*b 4
347 | SET b,(IY+o) 23 7 FD CB oo C6+8*b 4
348 | SET b,r 8 2 CB C0+8*b+r 2
349 | SLA (HL) 15 5 CB 26 2
350 | SLA (IX+o) 23 7 DD CB oo 26 4
351 | SLA (IY+o) 23 7 FD CB oo 26 4
352 | SLA r 8 2 CB 20+r 2
353 | SRA (HL) 15 5 CB 2E 2
354 | SRA (IX+o) 23 7 DD CB oo 2E 4
355 | SRA (IY+o) 23 7 FD CB oo 2E 4
356 | SRA r 8 2 CB 28+r 2
357 | SRL (HL) 15 5 CB 3E 2
358 | SRL (IX+o) 23 7 DD CB oo 3E 4
359 | SRL (IY+o) 23 7 FD CB oo 3E 4
360 | SRL r 8 2 CB 38+r 2
361 | SUB (HL) 7 2 96 1
362 | SUB (IX+o) 19 5 DD 96 oo 3
363 | SUB (IY+o) 19 5 FD 96 oo 3
364 | SUB n 7 2 D6 nn 2
365 | SUB r 4 1 90+r 1
366 | SUB IXp 8 2 DD 90+p 2
367 | SUB IYq 8 2 FD 90+q 2
368 | XOR (HL) 7 2 AE 1
369 | XOR (IX+o) 19 5 DD AE oo 3
370 | XOR (IY+o) 19 5 FD AE oo 3
371 | XOR n 7 2 EE nn 2
372 | XOR r 4 1 A8+r 1
373 | XOR IXp 8 2 DD A8+p 2
374 | XOR IYq 8 2 FD A8+q 2
--------------------------------------------------------------------------------
/Z80IDE/SolutionSettings.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Z80IDE
2 | {
3 | partial class SolutionSettings
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.label1 = new System.Windows.Forms.Label();
32 | this.textBox_solutionrootfolder = new System.Windows.Forms.TextBox();
33 | this.label2 = new System.Windows.Forms.Label();
34 | this.textBox_solutionname = new System.Windows.Forms.TextBox();
35 | this.listView_filelist = new System.Windows.Forms.ListView();
36 | this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
37 | this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
38 | this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
39 | this.label3 = new System.Windows.Forms.Label();
40 | this.textBox_ramstart = new System.Windows.Forms.TextBox();
41 | this.button1 = new System.Windows.Forms.Button();
42 | this.button2 = new System.Windows.Forms.Button();
43 | this.label4 = new System.Windows.Forms.Label();
44 | this.button_updatesettings = new System.Windows.Forms.Button();
45 | this.toolStrip1 = new System.Windows.Forms.ToolStrip();
46 | this.SuspendLayout();
47 | //
48 | // label1
49 | //
50 | this.label1.AutoSize = true;
51 | this.label1.Location = new System.Drawing.Point(21, 64);
52 | this.label1.Name = "label1";
53 | this.label1.Size = new System.Drawing.Size(95, 13);
54 | this.label1.TabIndex = 0;
55 | this.label1.Text = "Solution root folder";
56 | //
57 | // textBox_solutionrootfolder
58 | //
59 | this.textBox_solutionrootfolder.Location = new System.Drawing.Point(123, 59);
60 | this.textBox_solutionrootfolder.Name = "textBox_solutionrootfolder";
61 | this.textBox_solutionrootfolder.Size = new System.Drawing.Size(474, 20);
62 | this.textBox_solutionrootfolder.TabIndex = 1;
63 | //
64 | // label2
65 | //
66 | this.label2.AutoSize = true;
67 | this.label2.Location = new System.Drawing.Point(21, 23);
68 | this.label2.Name = "label2";
69 | this.label2.Size = new System.Drawing.Size(74, 13);
70 | this.label2.TabIndex = 2;
71 | this.label2.Text = "Solution name";
72 | //
73 | // textBox_solutionname
74 | //
75 | this.textBox_solutionname.Location = new System.Drawing.Point(123, 20);
76 | this.textBox_solutionname.Name = "textBox_solutionname";
77 | this.textBox_solutionname.Size = new System.Drawing.Size(116, 20);
78 | this.textBox_solutionname.TabIndex = 3;
79 | //
80 | // listView_filelist
81 | //
82 | this.listView_filelist.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
83 | this.columnHeader1,
84 | this.columnHeader2,
85 | this.columnHeader3});
86 | this.listView_filelist.FullRowSelect = true;
87 | this.listView_filelist.Location = new System.Drawing.Point(24, 140);
88 | this.listView_filelist.Name = "listView_filelist";
89 | this.listView_filelist.Size = new System.Drawing.Size(433, 169);
90 | this.listView_filelist.TabIndex = 4;
91 | this.listView_filelist.UseCompatibleStateImageBehavior = false;
92 | this.listView_filelist.View = System.Windows.Forms.View.Details;
93 | //
94 | // columnHeader1
95 | //
96 | this.columnHeader1.Text = "File";
97 | this.columnHeader1.Width = 200;
98 | //
99 | // columnHeader2
100 | //
101 | this.columnHeader2.Text = "Compile";
102 | this.columnHeader2.Width = 100;
103 | //
104 | // columnHeader3
105 | //
106 | this.columnHeader3.Text = "Order";
107 | //
108 | // label3
109 | //
110 | this.label3.AutoSize = true;
111 | this.label3.Location = new System.Drawing.Point(21, 104);
112 | this.label3.Name = "label3";
113 | this.label3.Size = new System.Drawing.Size(52, 13);
114 | this.label3.TabIndex = 13;
115 | this.label3.Text = "Ram start";
116 | //
117 | // textBox_ramstart
118 | //
119 | this.textBox_ramstart.Location = new System.Drawing.Point(123, 97);
120 | this.textBox_ramstart.Name = "textBox_ramstart";
121 | this.textBox_ramstart.Size = new System.Drawing.Size(129, 20);
122 | this.textBox_ramstart.TabIndex = 12;
123 | this.textBox_ramstart.Text = "16384";
124 | //
125 | // button1
126 | //
127 | this.button1.Location = new System.Drawing.Point(472, 149);
128 | this.button1.Name = "button1";
129 | this.button1.Size = new System.Drawing.Size(41, 24);
130 | this.button1.TabIndex = 14;
131 | this.button1.Text = "UP";
132 | this.button1.UseVisualStyleBackColor = true;
133 | this.button1.Click += new System.EventHandler(this.button1_Click);
134 | //
135 | // button2
136 | //
137 | this.button2.Location = new System.Drawing.Point(519, 149);
138 | this.button2.Name = "button2";
139 | this.button2.Size = new System.Drawing.Size(53, 24);
140 | this.button2.TabIndex = 15;
141 | this.button2.Text = "DOWN";
142 | this.button2.UseVisualStyleBackColor = true;
143 | this.button2.Click += new System.EventHandler(this.button2_Click);
144 | //
145 | // label4
146 | //
147 | this.label4.AutoSize = true;
148 | this.label4.Location = new System.Drawing.Point(478, 127);
149 | this.label4.Name = "label4";
150 | this.label4.Size = new System.Drawing.Size(86, 13);
151 | this.label4.TabIndex = 16;
152 | this.label4.Text = "Assemble Priority";
153 | //
154 | // button_updatesettings
155 | //
156 | this.button_updatesettings.Location = new System.Drawing.Point(313, 330);
157 | this.button_updatesettings.Name = "button_updatesettings";
158 | this.button_updatesettings.Size = new System.Drawing.Size(95, 27);
159 | this.button_updatesettings.TabIndex = 17;
160 | this.button_updatesettings.Text = "Update settings";
161 | this.button_updatesettings.UseVisualStyleBackColor = true;
162 | this.button_updatesettings.Click += new System.EventHandler(this.button_updatesettings_Click);
163 | //
164 | // toolStrip1
165 | //
166 | this.toolStrip1.Location = new System.Drawing.Point(0, 0);
167 | this.toolStrip1.Name = "toolStrip1";
168 | this.toolStrip1.Size = new System.Drawing.Size(769, 25);
169 | this.toolStrip1.TabIndex = 18;
170 | this.toolStrip1.Text = "toolStrip1";
171 | //
172 | // SolutionSettings
173 | //
174 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
175 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
176 | this.ClientSize = new System.Drawing.Size(769, 378);
177 | this.Controls.Add(this.toolStrip1);
178 | this.Controls.Add(this.button_updatesettings);
179 | this.Controls.Add(this.label4);
180 | this.Controls.Add(this.button2);
181 | this.Controls.Add(this.button1);
182 | this.Controls.Add(this.label3);
183 | this.Controls.Add(this.textBox_ramstart);
184 | this.Controls.Add(this.listView_filelist);
185 | this.Controls.Add(this.textBox_solutionname);
186 | this.Controls.Add(this.label2);
187 | this.Controls.Add(this.textBox_solutionrootfolder);
188 | this.Controls.Add(this.label1);
189 | this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
190 | this.Name = "SolutionSettings";
191 | this.Text = "SolutionSettings";
192 | this.ResumeLayout(false);
193 | this.PerformLayout();
194 |
195 | }
196 |
197 | #endregion
198 |
199 | private System.Windows.Forms.Label label1;
200 | private System.Windows.Forms.TextBox textBox_solutionrootfolder;
201 | private System.Windows.Forms.Label label2;
202 | private System.Windows.Forms.TextBox textBox_solutionname;
203 | private System.Windows.Forms.ListView listView_filelist;
204 | private System.Windows.Forms.ColumnHeader columnHeader1;
205 | private System.Windows.Forms.ColumnHeader columnHeader2;
206 | private System.Windows.Forms.ColumnHeader columnHeader3;
207 | private System.Windows.Forms.Label label3;
208 | private System.Windows.Forms.TextBox textBox_ramstart;
209 | private System.Windows.Forms.Button button1;
210 | private System.Windows.Forms.Button button2;
211 | private System.Windows.Forms.Label label4;
212 | private System.Windows.Forms.Button button_updatesettings;
213 | private System.Windows.Forms.ToolStrip toolStrip1;
214 | }
215 | }
--------------------------------------------------------------------------------
/Z80IDE/EditorWindow.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Z80IDE
2 | {
3 | partial class EditorWindow
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditorWindow));
32 | this.fastColoredTextBox1 = new FastColoredTextBoxNS.FastColoredTextBox();
33 | this.menuStrip1 = new System.Windows.Forms.MenuStrip();
34 | this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
35 | this.toolStripMenuItem_redo = new System.Windows.Forms.ToolStripMenuItem();
36 | this.toolStripMenuItem_undo = new System.Windows.Forms.ToolStripMenuItem();
37 | this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
38 | this.cutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
39 | this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
40 | this.pasteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
41 | this.toolStrip1 = new System.Windows.Forms.ToolStrip();
42 | this.toolStripButton_save = new System.Windows.Forms.ToolStripButton();
43 | ((System.ComponentModel.ISupportInitialize)(this.fastColoredTextBox1)).BeginInit();
44 | this.menuStrip1.SuspendLayout();
45 | this.toolStrip1.SuspendLayout();
46 | this.SuspendLayout();
47 | //
48 | // fastColoredTextBox1
49 | //
50 | this.fastColoredTextBox1.AutoScrollMinSize = new System.Drawing.Size(187, 364);
51 | this.fastColoredTextBox1.BackBrush = null;
52 | this.fastColoredTextBox1.CharHeight = 14;
53 | this.fastColoredTextBox1.CharWidth = 8;
54 | this.fastColoredTextBox1.Cursor = System.Windows.Forms.Cursors.IBeam;
55 | this.fastColoredTextBox1.DisabledColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(180)))), ((int)(((byte)(180)))), ((int)(((byte)(180)))));
56 | this.fastColoredTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
57 | this.fastColoredTextBox1.IsReplaceMode = false;
58 | this.fastColoredTextBox1.Location = new System.Drawing.Point(0, 24);
59 | this.fastColoredTextBox1.Name = "fastColoredTextBox1";
60 | this.fastColoredTextBox1.Paddings = new System.Windows.Forms.Padding(0);
61 | this.fastColoredTextBox1.SelectionColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(255)))));
62 | this.fastColoredTextBox1.Size = new System.Drawing.Size(609, 400);
63 | this.fastColoredTextBox1.TabIndex = 0;
64 | this.fastColoredTextBox1.Text = "fastColoredTextBox1\r\n\r\nsdf\r\nd\r\nsf\r\nsdsd\r\nsd\r\nfd\r\n\r\n\r\nsdf\r\n\r\nsdf\r\n\r\nsdfsd\r\nfsdf\r\ns" +
65 | "df\r\nsd\r\nf\r\nghf\r\njhg\r\njth\r\njhg\r\nhj\r\n\r\ngh";
66 | this.fastColoredTextBox1.Zoom = 100;
67 | this.fastColoredTextBox1.PaintLine += new System.EventHandler(this.fastColoredTextBox1_PaintLine);
68 | //
69 | // menuStrip1
70 | //
71 | this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
72 | this.editToolStripMenuItem});
73 | this.menuStrip1.Location = new System.Drawing.Point(0, 0);
74 | this.menuStrip1.Name = "menuStrip1";
75 | this.menuStrip1.Size = new System.Drawing.Size(609, 24);
76 | this.menuStrip1.TabIndex = 1;
77 | this.menuStrip1.Text = "menuStrip1";
78 | //
79 | // editToolStripMenuItem
80 | //
81 | this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
82 | this.toolStripMenuItem_redo,
83 | this.toolStripMenuItem_undo,
84 | this.toolStripSeparator6,
85 | this.cutToolStripMenuItem,
86 | this.copyToolStripMenuItem,
87 | this.pasteToolStripMenuItem});
88 | this.editToolStripMenuItem.Name = "editToolStripMenuItem";
89 | this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20);
90 | this.editToolStripMenuItem.Text = "Edit";
91 | //
92 | // toolStripMenuItem_redo
93 | //
94 | this.toolStripMenuItem_redo.Name = "toolStripMenuItem_redo";
95 | this.toolStripMenuItem_redo.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y)));
96 | this.toolStripMenuItem_redo.Size = new System.Drawing.Size(144, 22);
97 | this.toolStripMenuItem_redo.Text = "Redo";
98 | this.toolStripMenuItem_redo.Click += new System.EventHandler(this.toolStripMenuItem_redo_Click);
99 | //
100 | // toolStripMenuItem_undo
101 | //
102 | this.toolStripMenuItem_undo.Name = "toolStripMenuItem_undo";
103 | this.toolStripMenuItem_undo.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z)));
104 | this.toolStripMenuItem_undo.Size = new System.Drawing.Size(144, 22);
105 | this.toolStripMenuItem_undo.Text = "Undo";
106 | this.toolStripMenuItem_undo.Click += new System.EventHandler(this.toolStripMenuItem_undo_Click);
107 | //
108 | // toolStripSeparator6
109 | //
110 | this.toolStripSeparator6.Name = "toolStripSeparator6";
111 | this.toolStripSeparator6.Size = new System.Drawing.Size(141, 6);
112 | //
113 | // cutToolStripMenuItem
114 | //
115 | this.cutToolStripMenuItem.Name = "cutToolStripMenuItem";
116 | this.cutToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X)));
117 | this.cutToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
118 | this.cutToolStripMenuItem.Text = "Cut";
119 | this.cutToolStripMenuItem.Click += new System.EventHandler(this.cutToolStripMenuItem_Click);
120 | //
121 | // copyToolStripMenuItem
122 | //
123 | this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
124 | this.copyToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
125 | this.copyToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
126 | this.copyToolStripMenuItem.Text = "Copy";
127 | this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
128 | //
129 | // pasteToolStripMenuItem
130 | //
131 | this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem";
132 | this.pasteToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V)));
133 | this.pasteToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
134 | this.pasteToolStripMenuItem.Text = "Paste";
135 | this.pasteToolStripMenuItem.Click += new System.EventHandler(this.pasteToolStripMenuItem_Click);
136 | //
137 | // toolStrip1
138 | //
139 | this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
140 | this.toolStripButton_save});
141 | this.toolStrip1.Location = new System.Drawing.Point(0, 24);
142 | this.toolStrip1.Name = "toolStrip1";
143 | this.toolStrip1.Size = new System.Drawing.Size(609, 25);
144 | this.toolStrip1.TabIndex = 2;
145 | this.toolStrip1.Text = "toolStrip1";
146 | this.toolStrip1.Visible = false;
147 | //
148 | // toolStripButton_save
149 | //
150 | this.toolStripButton_save.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
151 | this.toolStripButton_save.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton_save.Image")));
152 | this.toolStripButton_save.ImageTransparentColor = System.Drawing.Color.Magenta;
153 | this.toolStripButton_save.MergeAction = System.Windows.Forms.MergeAction.Insert;
154 | this.toolStripButton_save.MergeIndex = 1;
155 | this.toolStripButton_save.Name = "toolStripButton_save";
156 | this.toolStripButton_save.Size = new System.Drawing.Size(23, 22);
157 | this.toolStripButton_save.Text = "toolStripButton1";
158 | this.toolStripButton_save.ToolTipText = "Save current file";
159 | this.toolStripButton_save.Click += new System.EventHandler(this.toolStripButton_save_Click);
160 | //
161 | // EditorWindow
162 | //
163 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
164 | this.ClientSize = new System.Drawing.Size(609, 424);
165 | this.Controls.Add(this.toolStrip1);
166 | this.Controls.Add(this.fastColoredTextBox1);
167 | this.Controls.Add(this.menuStrip1);
168 | this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
169 | this.MainMenuStrip = this.menuStrip1;
170 | this.Name = "EditorWindow";
171 | this.Text = "EditorWindow";
172 | ((System.ComponentModel.ISupportInitialize)(this.fastColoredTextBox1)).EndInit();
173 | this.menuStrip1.ResumeLayout(false);
174 | this.menuStrip1.PerformLayout();
175 | this.toolStrip1.ResumeLayout(false);
176 | this.toolStrip1.PerformLayout();
177 | this.ResumeLayout(false);
178 | this.PerformLayout();
179 |
180 | }
181 |
182 | #endregion
183 |
184 | private FastColoredTextBoxNS.FastColoredTextBox fastColoredTextBox1;
185 | private System.Windows.Forms.MenuStrip menuStrip1;
186 | private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem;
187 | private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem_redo;
188 | private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem_undo;
189 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
190 | private System.Windows.Forms.ToolStripMenuItem cutToolStripMenuItem;
191 | private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem;
192 | private System.Windows.Forms.ToolStripMenuItem pasteToolStripMenuItem;
193 | private System.Windows.Forms.ToolStrip toolStrip1;
194 | private System.Windows.Forms.ToolStripButton toolStripButton_save;
195 | }
196 | }
--------------------------------------------------------------------------------
/Z80IDE/DummySolutionExplorer.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 23, 17
122 |
123 |
124 |
125 | AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
126 | LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
127 | ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADY
128 | EAAAAk1TRnQBSQFMAgEBCgEAARwBAAEcAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
129 | AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
130 | AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
131 | AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
132 | AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
133 | AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
134 | AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
135 | ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
136 | AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
137 | AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
138 | AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
139 | AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
140 | AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
141 | AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
142 | AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
143 | AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
144 | ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
145 | Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
146 | AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
147 | AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
148 | AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
149 | ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
150 | Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
151 | AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
152 | AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
153 | AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
154 | AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
155 | AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
156 | AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/4IAAewMBwMAAewM/yMA
157 | AewFBwbsAQcDAAHsAf8C7AMCAQMB/gIDAewB/yMAAewBBwPsAQcBAAT/AewBBwMAAewB/wEDAewBAgH+
158 | AQIB7AEDA+wB/yMAAewFBwUAAewBBwMAAewB/wEDAewBAgH7AQIE7AEDAf8jAAHsDAcDAAHsAf8CAAEC
159 | Af4B+wECBAAB/yMAAewFBwbsAQcDAAHsAf8B/gECAf4B+wH+AfsBAgP+Af8jAAHsAQcD7AEHAQAE/wHs
160 | AQcDAAHsAf8BAgH+AfsB/gECAf4B+wECAv4B/yMAAewFBwUAAewBBwMAAewB/wECAfsBAgH7AgIB/gEC
161 | Af4BAAH/IwAB7AwHAwAB7AH/Af4CAgH+AQIB/gECAf4BAAH7Af8jAAHsDAcDAAHsAf8C/gECAfsBAgP+
162 | AQAB+wH/IwAOBAIAAewB/wP+AQIF/gEAAf8jAA4EAgAB7Az/MwAN7LQAAewD/wEHAv8BBwL/AQcB/xQA
163 | AewLBwQADOwEAAHsA/8BBwL/AQcC/wEHAf8UAAHsCv8BBwQAAewC/wEHAf8BBwH/AQcB/wEHAv8EAAHs
164 | CwcUAAHsBP8FBwH/AQcDAAHsAf8BAAL/BQAB7AEHAQAB7AMAAewB/wLsAQcC7AEHAuwBBwH/FAAB7Ar/
165 | AQcDAAHsAf8D7AUAAQcB7AEAAewDAAHsAf8C7AEHAuwBBwLsAQcB/wcAAewJBwMAAewE/wUHAf8BBwIA
166 | AewC/wHsAf8E7AEAAQcB/wEAAuwDAAHsCwcHAAHsAv8BBwH/AQcB/wEHAf8BBwMAAewC/wECB/8BBwIA
167 | AewL/wEAAQcB7AMAAewB/wLsAQcC7AEHAuwBBwH/AgAB7AH/BOwB/wEHAf8BBwH/AQcB/wIHAwAB7AH/
168 | AgIB/wECBAcB/wEHAgAN7AH/AewDAAHsAf8C7AEHAuwBBwLsAQcB/wMAAewDAAHsAv8BBwH/AQcB/wEH
169 | Af8BBwMAAewC/wMCBf8BBwMAAewB/wEHAf8BBwH/AQcB/wEHAf8BBwH/AQcB7AMAAewLBwcAAewB/wEH
170 | Af8BBwH/AQcB/wIHAwAB7AH/AgIB/wICBP8BBwMAAewC/wEHAf8BBwH/AQcF/wHsAwAB7AH/AuwBBwLs
171 | AQcC7AEHAf8HAAHsCP8BBwMAAewC/wMCBP8CBwMAAewB/wEHAf8BBwH/AQcB/wbsAwAB7AH/AuwBBwLs
172 | AQcC7AEHAf8IAAnsAwAB7AL/AQIB/wICAv8HAAHsBf8B7AkAAewIBxcAAewE/wECA/8B7AEAAewFAAXs
173 | CgAB7AP/AQcC/wEHAf8B7AH/AewUAAHsCP8C7BUAAewD/wEHAv8BBwH/AuwVAArsFgAK7CQABf8DAAP/
174 | AwAC/zAABP8BAAH8AQABAQEAAf8B7AH7AwAB/yIAAewG/wcAA/8BAAL8AQAB+QEBAQAC+wEAAfokAAHs
175 | Af8EBAH/BwAB/wEAAewBAAH8AQQB/wEBAfkBAQEAAfsB/wECAfoDAAzsAgAO7AIAAewB+wHsBv8HAAH/
176 | AewBBwECAfoBAgH/AQMBAQH5AQEBAAH/AQQB/AMAAewB/wH7AQcB+wEHAfsBBwH7AQcB+wHsAgAB7AH/
177 | AfsBBwH7AQcB+wEHAfsBBwH7AQcB+wHsAgAB7AH/AewB/wQEAf8BAAHsBQAB/wHsAf8BAgL6AQIC+wEB
178 | AfkBAQEEAvwCAAHsAf8B+wEHAfsBBwH7AQcB+wEHAfsBBwEAAewBAAHsAf8BBwH7AQcB+wEHAfsBBwH7
179 | AQcB+wEHAewCAAHsAfsB7Ab/AQcF/wEAAf8B7AH/AgIB+gEAAfsBAAH/AQEB+QL8AQAB/wEAAewB/wEH
180 | AfsBBwH7AQcB+wEHAfsBBwHsAQAB7AEAAewB/wH7AQcB+wEHAfsBBwH7AQcB+wEHAfsB7AIAAewB/wHs
181 | Af8EBAL/AQIE/wEAAf8B7AL/AgIBAAEDAf8B7AH/AQECAAL/AewB/wEHAfsBBwH7AQcB+wEHAfsBBwH7
182 | AQAC7AEAAewB/wEHAfsBBwH7AQcB+wEHAfsBBwH7AQcB7AIAAewB+wHsBv8CAgH/AQIC/wEAAf8B7AT/
183 | AQcD/wEHAf8BBwHsAv8B7Ar/AewBAAEHAewBAAHsAf8B+wEHAfsBBwH7AQcB+wEHAfsBBwH7AewCAAHs
184 | Af8G7AL/AwIC/wEAAf8B7AP/AQcB/wEHAf8BBwH/AQcB/wEAAv8N7AH7AewBAAHsAf8BBwH7AQcB+wEH
185 | AfsBBwH7AQcB+wEHAewCAAHsAfsB/wH7Af8B+wP/AgIB/wICAf8BAAH/AewC/wEHA/8BBwH/AQcB/wEH
186 | AQAC/wEAAewB/wEHAfsBBwH7AQcB+wEHAfsBBwH7AQcB7AEAAewB/wH7AQcB+wEHAfsBBwH7AQcB+wEH
187 | AfsB7AIAB+wD/wMCAv8BAAH/AewF/wEHAf8BBwH/AQcB/wEAAv8BAAHsAf8B+wEHAfsBBwH7AQcF/wHs
188 | AQAB7Az/AewEAAHsB/8BAgH/AgIB/wEAAf8B7AT/AQcD/wEHAf8BBwEAAv8BAAHsAf8BBwH7AQcB+wEH
189 | Af8G7AEAAewBBwH7AQcB+wEHAfsBBwbsBQAJ/wECAv8BAAH/DwQCAAHsBf8B7AgAAewBBwH7AQcB+wEH
190 | AewKAAYGAQcBBgEHAQYDBwEAAf8PBAMABewKAAXsCwAHBgEHAQYBBwEGAQcBBgEAEP8wAAFCAU0BPgcA
191 | AT4DAAEoAwABQAMAATADAAEBAQABAQUAAYABARYAA/8BAAT/BAABgAEBAYABAQQAAYABAQGAAQEEAAGA
192 | AQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGA
193 | AQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAv8BgAEBBAAE/wQA
194 | Av8BwAEBAv8BwAEBAeABAAHAAQEC/wHAAQEBwAEAAcABAQL/AcABAQHAAQABwAEBAv8BwAEBAYABAAHA
195 | AQEB/AEBAcABAQGDAsABAQH4AQABwAEBAgABwAEBAZgBAAHAAQECAAHAAQECAAHAAQECAAHAAQEBmAEA
196 | AcABAQGAAQABwAEBAfgBAAHAAQEBgAEAAcABAQH4AQABwAEBAYABAQHAAQEB/AEBAcABAQHAAX8BwAEB
197 | Av8BwAELAeAB/wHAAQMC/wHAAQcC/wHAAQcC/wHAAQ8C/wHAAQ8E/wIABP8BwAE/AgAE/wHAAT8CAAHg
198 | AQABgAEBAQABPwIAAcACAAEBAQABPwIAAcACAAEBBAABgAIAAQEEAAGAAgABAQcAAQEHAAEBBwABAQQA
199 | AYACAAEBBAABgAIAAQEBwAMAAYABAQEAAQMBwAMAAcABfwGAAf8BwAMAAeAB/wHBAf8BwAMABv8L
200 |
201 |
202 |
203 | 128, 17
204 |
205 |
206 |
207 |
208 | AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA
209 | AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
210 | AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
211 | QAAAAAAwAAAAAAAAAAAABMGZEAADiIgAAAAAAAAAAEzBmZEAP7u4AgAAAAAAAATMQZmZEIu7uAogAAAA
212 | AAB0xAGZmZEIu7gKogAHiIiIgED/GZmZEIuACqoAB/j4+PIP//GZmZEID/KqAAf//4+CIP//GZmZEP//
213 | KgAH//j48qIP84GZmZEP//IAB////4KqID+4GZmZEP9MAAf///jyqqD7u4GZmZEEzAAH////jyqg+7u4
214 | GZmRDMxAB/////jyoPu7gPGZkQzEAAf///+P/yD//w+PGZEMQAAH//////jzMzP4+PERBAAAB///////
215 | j4+Pj4+Pj4AAAAf///////j4+Pj4+PiAAAAH////////j4+Pj4+PgAAAB///////+P/4+Pj4+IAAAAf/
216 | ////////j/+Pj4+AAAAH///////////4+Pj4gAAAB////////////4+Pj4AAAAf///////////j4+PiA
217 | AAAH//////////+Pj4+PgAAABEREREREREREREREREQAAAREREREREREREREREREAAAERERERERERERE
218 | RERERAAABEREREREREREREREREQAAAAAAAAAAAAAAAAAAAAAAAD/////////////////8Hwf/+A4D//A
219 | EAf/gAADgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAADgAAAB4AAAA+AAAAPgAAAD4AA
220 | AA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAP/////w==
221 |
222 |
223 |
--------------------------------------------------------------------------------