annotate tools/gentab.c @ 1315:7687412f9aef

Fix jssmod sample conversion flags storing .. urgh.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 20 Aug 2017 01:54:54 +0300
parents 5b8245e5f785
children a9516570cc26
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1 #include "dmlib.h"
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
2 #include "dmargs.h"
981
25d653664874 Add missing include.
Matti Hamalainen <ccr@tnsp.org>
parents: 958
diff changeset
3 #include "dmcurves.h"
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
4 #include <math.h>
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
6 enum
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
7 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8 MT_SIN,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9 MT_COS,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
10 MT_SMOOTH1,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11 MT_SCURVE,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
12 MT_SMOOTH1_CLAMP,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
13 MT_SCURVE_CLAMP,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
14 MT_SIN_SCURVE,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
15
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
16 MT_LAST
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
17 };
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
18
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
19
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
20 typedef struct
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
21 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22 char *name;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
23 char *desc;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
24 } DMTransType;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
25
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
26 static DMTransType dmTransTypes[MT_LAST] =
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
27 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
28 { "sin", "Sine" },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29 { "cos", "Cosine" },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
30 { "smooth1", "Smoothstep1 LERP" },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
31 { "scurve", "S-curve LERP" },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
32 { "smooth1-clamp", "Clamped smoothstep1 LERP" },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
33 { "scurve-clamp", "Clamped S-curve LERP" },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
34 { "sin-scurve", "Sine S-curve" },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
35 };
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
36
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
37
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
38 DMFloat
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
39 optSOffset = 0.0f,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
40 optSAmplitude = 1.0f,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
41 optSOmega = 1.0f,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
42 optStartValue = 0.0f,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
43 optEndValue = 1.0f;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
44
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
45 int optNSteps = 64,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
46 optPerLine = 16,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
47 optTransType = -1;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
48
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
49 char
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
50 *optObjectName = NULL,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
51 *optOutFilename = NULL;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
52
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
53
860
daebbf28953d The argument handling API in dmargs* was synced with th-libs.
Matti Hamalainen <ccr@tnsp.org>
parents: 835
diff changeset
54 static const DMOptArg optList[] =
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
55 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
56 { 0, '?', "help", "Show this help", OPT_NONE },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
57 { 1, 'v', "verbose", "Increase verbosity", OPT_NONE },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
58 { 2, 'o', "output", "Set output file (default stdout)", OPT_ARGREQ },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
59 { 3, 'n', "name", "Set output object name", OPT_ARGREQ },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
60
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
61 { 4, 's', "steps", "Number of steps/values in output table", OPT_ARGREQ },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
62 { 5, 't', "type", "Curve/interpolation type (see list)", OPT_ARGREQ },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
63
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
64 { 6, 'O', "offset", "Output data offset", OPT_ARGREQ },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
65 { 7, 'A', "amplitude", "Output amplitude scale", OPT_ARGREQ },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
66 { 8, 'W', "omega", "Omega (w) multiplier", OPT_ARGREQ },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
67
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
68 { 9, 'S', "start", "Start value (only smooth/scurve)", OPT_ARGREQ },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
69 { 10, 'E', "end", "End value (only smooth/scurve)", OPT_ARGREQ },
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
70 };
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
71
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72 static const int optListN = sizeof(optList) / sizeof(optList[0]);
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
73
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
74
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
75 void argShowHelp()
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
76 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
77 int index;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
78 dmPrintBanner(stdout, dmProgName, "[options]");
860
daebbf28953d The argument handling API in dmargs* was synced with th-libs.
Matti Hamalainen <ccr@tnsp.org>
parents: 835
diff changeset
79 dmArgsPrintHelp(stdout, optList, optListN, 0);
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
80
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
81 printf("\nAvailable types:\n");
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
82 for (index = 0; index < MT_LAST; index++)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
83 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
84 DMTransType *tm = &dmTransTypes[index];
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
85 printf("%-15s | %s\n", tm->name, tm->desc);
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
86 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
87 printf("\n");
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
88 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
89
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
90
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
91 BOOL argHandleOpt(const int optN, char *optArg, char *currArg)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
92 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
93 switch (optN)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
94 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
95 case 0:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
96 argShowHelp();
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
97 exit(0);
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
98 break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
99
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
100 case 1:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
101 dmVerbosity++;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
102 break;
1235
5b8245e5f785 Remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 981
diff changeset
103
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
104 case 2:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
105 optOutFilename = optArg;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
106 break;
1235
5b8245e5f785 Remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 981
diff changeset
107
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
108 case 3:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
109 optObjectName = optArg;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
110 break;
1235
5b8245e5f785 Remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 981
diff changeset
111
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
112 case 4:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
113 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
114 int tmp;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
115 if (sscanf(optArg, "%d", &tmp) != 1)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
116 {
958
985225a93aeb Add error code parameter to dmError() and dmErrorVA().
Matti Hamalainen <ccr@tnsp.org>
parents: 860
diff changeset
117 dmErrorMsg("Invalid number of steps argument '%s'.\n", optArg);
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
118 return FALSE;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
119 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
120 optNSteps = tmp;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
121 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
122 break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
123
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
124 case 5:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
125 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
126 int index;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
127 for (index = 0; index < MT_LAST; index++)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
128 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
129 DMTransType *tm = &dmTransTypes[index];
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
130 if (strcasecmp(tm->name, optArg) == 0)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
131 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
132 optTransType = index;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
133 return TRUE;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
134 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
135 }
958
985225a93aeb Add error code parameter to dmError() and dmErrorVA().
Matti Hamalainen <ccr@tnsp.org>
parents: 860
diff changeset
136 dmErrorMsg("Invalid transformation type option '%s'.\n",
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
137 optArg);
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
138 return FALSE;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
139 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
140 break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
141
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
142 case 6:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
143 case 7:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
144 case 8:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
145 case 9:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
146 case 10:
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
147 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
148 DMFloat tmp;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
149 if (sscanf(optArg, "%f", &tmp) != 1)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
150 {
958
985225a93aeb Add error code parameter to dmError() and dmErrorVA().
Matti Hamalainen <ccr@tnsp.org>
parents: 860
diff changeset
151 dmErrorMsg("Invalid %s option argument '%s', expected a floating point value.\n",
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
152 currArg, optArg);
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
153 return FALSE;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
154 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
155 switch (optN)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
156 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
157 case 6: optSOffset = tmp; break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
158 case 7: optSAmplitude = tmp; break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
159 case 8: optSOmega = tmp; break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
160 case 9: optStartValue = tmp; break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
161 case 10: optEndValue = tmp; break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
162 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
163 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
164 break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
165
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
166 default:
958
985225a93aeb Add error code parameter to dmError() and dmErrorVA().
Matti Hamalainen <ccr@tnsp.org>
parents: 860
diff changeset
167 dmErrorMsg("Unknown argument '%s'.\n", currArg);
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
168 return FALSE;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
169 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
170
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
171 return TRUE;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
172 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
173
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
174
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
175 int main(int argc, char *argv[])
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
176 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
177 FILE *outFile;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
178 DMLerpContext ctx;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
179 int step, n;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
180
835
a75ffe7a02b9 Change program name.
Matti Hamalainen <ccr@tnsp.org>
parents: 652
diff changeset
181 dmInitProg("gentab", "Table generator", "0.2", NULL, NULL);
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
182 dmVerbosity = 1;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
183
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
184 // Parse arguments
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
185 if (!dmArgsProcess(argc, argv, optList, optListN,
860
daebbf28953d The argument handling API in dmargs* was synced with th-libs.
Matti Hamalainen <ccr@tnsp.org>
parents: 835
diff changeset
186 argHandleOpt, NULL, OPTH_BAILOUT))
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
187 exit(1);
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
188
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
189 // Check settings
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
190 if (optTransType < 0)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
191 {
958
985225a93aeb Add error code parameter to dmError() and dmErrorVA().
Matti Hamalainen <ccr@tnsp.org>
parents: 860
diff changeset
192 dmErrorMsg("No transformation type set, perhaps try --help\n");
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
193 return -1;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
194 }
1235
5b8245e5f785 Remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 981
diff changeset
195
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
196 if (optObjectName == NULL)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
197 {
958
985225a93aeb Add error code parameter to dmError() and dmErrorVA().
Matti Hamalainen <ccr@tnsp.org>
parents: 860
diff changeset
198 dmErrorMsg("Object name not specified, try --help\n");
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
199 return -2;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
200 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
201
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
202 if (optOutFilename == NULL)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
203 outFile = stdout;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
204 else
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
205 if ((outFile = fopen(optOutFilename, "w")) == NULL)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
206 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
207 int err = dmGetErrno();
958
985225a93aeb Add error code parameter to dmError() and dmErrorVA().
Matti Hamalainen <ccr@tnsp.org>
parents: 860
diff changeset
208 dmErrorMsg("Could not open output file '%s', %d: %s\n",
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
209 optOutFilename, err, dmErrorStr(err));
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
210 return -2;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
211 }
1235
5b8245e5f785 Remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 981
diff changeset
212
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
213
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
214 // Generate table
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
215 dmLerpInit(&ctx, optStartValue, optEndValue, optNSteps);
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
216
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
217 fprintf(outFile,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
218 "cnt_%s = %d\n"
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
219 "vtab_%s: ",
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
220 optObjectName,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
221 optNSteps,
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
222 optObjectName
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
223 );
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
224
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
225 for (n = 0, step = 0; step < optNSteps; step++)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
226 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
227 DMFloat t = ((DMFloat) step * optSOmega) / (DMFloat) optNSteps, delta, value;
1235
5b8245e5f785 Remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 981
diff changeset
228
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
229 switch (optTransType)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
230 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
231 case MT_SIN: delta = sin(t * 2 * DM_PI); break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
232 case MT_COS: delta = cos(t * 2 * DM_PI); break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
233
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
234 case MT_SMOOTH1: delta = dmLerp1(&ctx, step); break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
235 case MT_SCURVE: delta = dmLerpSCurve(&ctx, step); break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
236 case MT_SMOOTH1_CLAMP: delta = dmLerp1Clamp(&ctx, step); break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
237 case MT_SCURVE_CLAMP: delta = dmLerpSCurveClamp(&ctx, step); break;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
238 case MT_SIN_SCURVE: delta = dmLerpSCurveClamp(&ctx, step); break;
1235
5b8245e5f785 Remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 981
diff changeset
239
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
240 default: delta = 0;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
241 }
1235
5b8245e5f785 Remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 981
diff changeset
242
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
243 value = optSOffset + delta * optSAmplitude;
1235
5b8245e5f785 Remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 981
diff changeset
244
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
245 // Print the value
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
246 if (n == 0)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
247 fprintf(outFile, "\t.byte ");
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
248
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
249 fprintf(outFile, "%ld%s",
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
250 lrint(value),
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
251 (n < optPerLine - 1) ? "," : "");
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
252
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
253 if (++n >= optPerLine)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
254 {
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
255 fprintf(outFile, "\n");
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
256 n = 0;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
257 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
258 }
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
259 if (n > 0)
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
260 fprintf(outFile, "\n");
1235
5b8245e5f785 Remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 981
diff changeset
261
496
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
262 fprintf(outFile, "\n");
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
263
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
264 return 0;
966617f0f6cd Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
265 }