static void Main(string[] args) { Console.WriteLine("KnightOS Build Tool"); for (int i = 0; i < args.Length; i++) { string arg = args[i]; switch (arg) { case "--configuration": configuration = args[++i]; break; case "--help": OutputHelp(); break; case "--verbose": verbose = true; break; case "--all": if (verbose) { Main(new[] { "--verbose", "--configuration", "TI73" }); Main(new[] { "--verbose", "--configuration", "TI83p" }); Main(new[] { "--verbose", "--configuration", "TI83pSE" }); Main(new[] { "--verbose", "--configuration", "TI84p" }); Main(new[] { "--verbose", "--configuration", "TI84pSE" }); } else { Main(new[] { "--configuration", "TI73" }); Main(new[] { "--configuration", "TI83p" }); Main(new[] { "--configuration", "TI83pSE" }); Main(new[] { "--configuration", "TI84p" }); Main(new[] { "--configuration", "TI84pSE" }); } return; case "--language": language = args[++i]; break; default: Console.WriteLine("Incorrect usage. build.exe --help for help."); return; } } Console.WriteLine("Building configuration: " + configuration); Console.WriteLine("Cleaning up previous build..."); CleanUp(); CreateOutput(); Console.WriteLine("Building kernel..."); labels = new Dictionary<string, long>(); Build("../src/kernel/build.cfg"); Console.WriteLine("Buildling userspace..."); Build("../src/userspace/build.cfg"); Console.WriteLine("Creating 8xu..."); var osBuilder = new OSBuilder(configuration == "TI73"); var pageData = new Dictionary<byte, byte[]>(); pages.Sort(); foreach (var page in pages) { output.Seek(page * 0x4000, SeekOrigin.Begin); byte[] data = new byte[0x4000]; output.Read(data, 0, data.Length); pageData.Add(page, data); } osBuilder.MaxHardwareVersion = 3; osBuilder.MajorVersion = 0; osBuilder.MinorVersion = 1; // TODO: Pull from some configuration somewhere osBuilder.Write8XU(pageData, Get8XUFile(), GetKeyFile(out osBuilder.Key)); output.Close(); Console.WriteLine("Complete."); }
static void Main(string[] args) { Console.WriteLine("KnightOS Build Tool"); for (int i = 0; i < args.Length; i++) { string arg = args[i]; switch (arg) { case "--configuration": configuration = args[++i]; break; case "--help": OutputHelp(); break; case "--verbose": verbose = true; break; case "--all": if (verbose) { Main(new[] { "--verbose", "--configuration", "TI73" }); Main(new[] { "--verbose", "--configuration", "TI83p" }); Main(new[] { "--verbose", "--configuration", "TI83pSE" }); Main(new[] { "--verbose", "--configuration", "TI84p" }); Main(new[] { "--verbose", "--configuration", "TI84pSE" }); } else { Main(new[] { "--configuration", "TI73" }); Main(new[] { "--configuration", "TI83p" }); Main(new[] { "--configuration", "TI83pSE" }); Main(new[] { "--configuration", "TI84p" }); Main(new[] { "--configuration", "TI84pSE" }); } return; default: Console.WriteLine("Incorrect usage. build.exe --help for help."); return; } } Console.WriteLine("Building configuration: " + configuration); Console.WriteLine("Cleaning up previous build..."); CleanUp(); CreateOutput(); Console.WriteLine("Building kernel..."); labels = new Dictionary <string, long>(); Build("../src/kernel/build.cfg"); Console.WriteLine("Buildling userspace..."); Build("../src/userspace/build.cfg"); Console.WriteLine("Creating 8xu..."); var osBuilder = new OSBuilder(configuration == "TI73"); var pageData = new Dictionary <byte, byte[]>(); pages.Sort(); foreach (var page in pages) { output.Seek(page * 0x4000, SeekOrigin.Begin); byte[] data = new byte[0x4000]; output.Read(data, 0, data.Length); pageData.Add(page, data); } osBuilder.MaxHardwareVersion = 3; osBuilder.MajorVersion = 0; osBuilder.MinorVersion = 1; // TODO: Pull from some configuration somewhere osBuilder.Write8XU(pageData, Get8XUFile(), GetKeyFile(out osBuilder.Key)); output.Close(); Console.WriteLine("Complete."); }