Repository navigation
Expand file tree
/
Copy pathZXProgram.cs
More file actions
48 lines (45 loc) · 1.94 KB
/
Copy pathZXProgram.cs
File metadata and controls
48 lines (45 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZXBasicStudio.Classes;
using ZXBasicStudio.DocumentEditors.ZXRamDisk.Classes;
using ZXBasicStudio.Emulator.Classes;
namespace ZXBasicStudio.BuildSystem
{
public class ZXProgram
{
public IEnumerable<ZXCodeFile>? Files { get; set; }
public ZXCodeFile? Disassembly { get; set; }
public ZXMemoryMap? ProgramMap { get; set; }
public ZXMemoryMap? DisassemblyMap { get; set; }
public ZXVariableMap? Variables { get; set; }
public List<ZXBinaryBank> Banks { get; } = new List<ZXBinaryBank>();
public byte[] Binary { get; set; }
public ushort Org { get; set; }
public bool Debug { get; set; }
private ZXProgram(IEnumerable<ZXCodeFile>? Files, ZXCodeFile? Disassembly, ZXMemoryMap? ProgramMap, ZXMemoryMap? DisassemblyMap, ZXVariableMap? Vars, byte[] Binary, ushort Org, bool Debug)
{
this.Files = Files;
this.Disassembly = Disassembly;
this.ProgramMap = ProgramMap;
this.DisassemblyMap = DisassemblyMap;
Variables = Vars;
this.Binary = Binary;
this.Org = Org;
this.Debug = Debug;
if (DisassemblyMap != null)
foreach (var line in DisassemblyMap.Lines)
line.File = ZXConstants.DISASSEMBLY_DOC;
}
public static ZXProgram CreateDebugProgram(IEnumerable<ZXCodeFile> Files, ZXCodeFile Disassembly, ZXMemoryMap ProgramMap, ZXMemoryMap DisassemblyMap, ZXVariableMap Vars, byte[] Binary, ushort Org)
{
return new ZXProgram(Files, Disassembly, ProgramMap, DisassemblyMap, Vars, Binary, Org, true);
}
public static ZXProgram CreateReleaseProgram(byte[] Binary, ushort Org)
{
return new ZXProgram(null, null, null, null, null, Binary, Org, false);
}
}
}