ref: bc99ee2210d3850b08ff5c938608fced0ab55515
parent: de269987f75dbf32fe8ddca5ef7501b809f7ed45
author: yenatch <yenatch@gmail.com>
date: Tue Nov 26 21:43:10 EST 2013
rgbasm: -v option (verbose)
--- a/include/asm/main.h
+++ b/include/asm/main.h
@@ -1,10 +1,13 @@
#ifndef ASMOTOR_MAIN_H
#define ASMOTOR_MAIN_H
+#include <stdbool.h>
+
struct sOptions {char gbgfx[4];
char binary[2];
SLONG fillchar;
+ bool verbose;
//-1 == random
};
--- a/src/asm/main.c
+++ b/src/asm/main.c
@@ -247,7 +247,7 @@
{ printf("RGBAsm v" ASM_VERSION " (part of ASMotor " ASMOTOR_VERSION")\n\n");
- printf("Usage: rgbasm [-h] [-b chars] [-g chars] [-i path] [-o outfile] [-p pad_value]\n"+ printf("Usage: rgbasm [-v] [-h] [-b chars] [-g chars] [-i path] [-o outfile] [-p pad_value]\n"" file\n");
exit(1);
}
@@ -282,12 +282,13 @@
DefaultOptions.binary[0] = '0';
DefaultOptions.binary[1] = '1';
DefaultOptions.fillchar = 0;
+ DefaultOptions.verbose = false;
opt_SetCurrentOptions(&DefaultOptions);
newopt = CurrentOptions;
- while ((ch = getopt(argc, argv, "b:g:hi:o:p:")) != -1) {+ while ((ch = getopt(argc, argv, "b:g:hi:o:p:v")) != -1) { switch (ch) {case 'b':
if (strlen(optarg) == 2) {@@ -333,6 +334,9 @@
exit(1);
}
break;
+ case 'v':
+ newopt.verbose = true;
+ break;
default:
PrintUsage();
}
@@ -349,7 +353,9 @@
setuplex();
- printf("Assembling %s\n", tzMainfile);+ if (CurrentOptions.verbose) {+ printf("Assembling %s\n", tzMainfile);+ }
nStartClock = clock();
@@ -361,7 +367,9 @@
nErrors = 0;
sym_PrepPass1();
if (fstk_Init(tzMainfile)) {- printf("Pass 1...\n");+ if (CurrentOptions.verbose) {+ printf("Pass 1...\n");+ }
yy_set_state(LEX_STATE_NORMAL);
opt_SetCurrentOptions(&DefaultOptions);
@@ -380,7 +388,9 @@
yy_set_state(LEX_STATE_NORMAL);
opt_SetCurrentOptions(&DefaultOptions);
- printf("Pass 2...\n");+ if (CurrentOptions.verbose) {+ printf("Pass 2...\n");+ }
if (yyparse() == 0 && nErrors == 0) {double timespent;
@@ -389,17 +399,19 @@
timespent =
((double) (nEndClock - nStartClock))
/ (double) CLOCKS_PER_SEC;
- printf
- ("Success! %ld lines in %d.%02d seconds ",- nTotalLines, (int) timespent,
- ((int) (timespent * 100.0)) % 100);
- if (timespent == 0)
+ if (CurrentOptions.verbose) {printf
- ("(INFINITY lines/minute)\n");- else
- printf("(%d lines/minute)\n",- (int) (60 / timespent *
- nTotalLines));
+ ("Success! %ld lines in %d.%02d seconds ",+ nTotalLines, (int) timespent,
+ ((int) (timespent * 100.0)) % 100);
+ if (timespent == 0)
+ printf
+ ("(INFINITY lines/minute)\n");+ else
+ printf("(%d lines/minute)\n",+ (int) (60 / timespent *
+ nTotalLines));
+ }
out_WriteObject();
} else {printf
--- a/src/asm/output.c
+++ b/src/asm/output.c
@@ -594,7 +594,9 @@
out_SetFileName(char *s)
{strcpy(tzObjectname, s);
- printf("Output filename %s\n", s);+ if (CurrentOptions.verbose) {+ printf("Output filename %s\n", s);+ }
pSectionList = NULL;
pCurrentSection = NULL;
pPatchSymbols = NULL;
--
⑨