]> 4ch.mooo.com Git - 16.git/blob - 16/tweak16/TWEAK2C.CPP
added tweak16 for experiments
[16.git] / 16 / tweak16 / TWEAK2C.CPP
1 /*\r
2         TWEAK2C version 1.0\r
3         by Robert Schmidt of Ztiff Zox Softwear 1993\r
4 \r
5         Converts a TWEAK version 1.0 file to an #include-able C file\r
6         defining the equivalent Register array, which is directly\r
7         passable to the outRegArray() function defined in the TwkUser\r
8         module.\r
9 */\r
10 \r
11 #include <stdio.h>\r
12 #include <stdlib.h>\r
13 #include <fstream.h>\r
14 \r
15 extern "C"\r
16         {\r
17         #include "TwkUser.h"\r
18         }\r
19 \r
20 main(int argc, char **argv)\r
21         {\r
22         if (argc < 4)\r
23                 {\r
24                 printf("TWEAK2C version 1.0\n"\r
25                            "by Robert Schmidt of Ztiff Zox Softwear 1993\n"\r
26                            "Converts a TWEAK version 1.x file to an #include-able C file.\n"\r
27                            "\n"\r
28                            "Syntax:  TWEAK2C <TWEAK-file> <C file to create> <array name>\n"\r
29                            "All parameters are required.\n"\r
30                            );\r
31 \r
32                 return 0;\r
33                 }\r
34 \r
35         Register *table;\r
36         int regs = loadRegArray(argv[1], &table);\r
37         if (!table)\r
38                 return 1;                       // loadRegArray provides error message\r
39 \r
40         ofstream out(argv[2], ios::out | ios::trunc);\r
41 \r
42         out << "#include \"TwkUser.h\" // get Register definition" << endl;\r
43         out << "Register " << argv[3] << "[] =" << endl;\r
44         out << "\t{" << hex << endl;\r
45 \r
46         Register *reg = table;\r
47         while (regs--)\r
48                 {\r
49                 out << "\t{ 0x" << reg->port << ", 0x" << int(reg->index)\r
50                         << ", 0x" << int(reg->value) << (regs?"},\n":"}\n");\r
51                 reg++;\r
52                 }\r
53         out << "\t};" << endl;\r
54 \r
55         free(table);\r
56 \r
57         return 0;\r
58         }\r