示例#1
0
 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.");
 }
示例#2
0
        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.");
        }