From bc99ee2210d3850b08ff5c938608fced0ab55515 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 27 Nov 2013 02:43:10 -0500 Subject: [PATCH] rgbasm: -v option (verbose) --- include/asm/main.h | 3 +++ src/asm/main.c | 42 +++++++++++++++++++++++++++--------------- src/asm/output.c | 4 +++- 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/include/asm/main.h b/include/asm/main.h index abdcbb45..bfd92251 100644 --- a/include/asm/main.h +++ b/include/asm/main.h @@ -1,10 +1,13 @@ #ifndef ASMOTOR_MAIN_H #define ASMOTOR_MAIN_H +#include + struct sOptions { char gbgfx[4]; char binary[2]; SLONG fillchar; + bool verbose; //-1 == random }; diff --git a/src/asm/main.c b/src/asm/main.c index e01173c0..46194cfd 100644 --- a/src/asm/main.c +++ b/src/asm/main.c @@ -247,7 +247,7 @@ PrintUsage(void) { 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 @@ main(int argc, char *argv[]) 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 @@ main(int argc, char *argv[]) exit(1); } break; + case 'v': + newopt.verbose = true; + break; default: PrintUsage(); } @@ -349,7 +353,9 @@ main(int argc, char *argv[]) setuplex(); - printf("Assembling %s\n", tzMainfile); + if (CurrentOptions.verbose) { + printf("Assembling %s\n", tzMainfile); + } nStartClock = clock(); @@ -361,7 +367,9 @@ main(int argc, char *argv[]) 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 @@ main(int argc, char *argv[]) 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 @@ main(int argc, char *argv[]) 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 diff --git a/src/asm/output.c b/src/asm/output.c index dacee595..e39f67d1 100644 --- a/src/asm/output.c +++ b/src/asm/output.c @@ -594,7 +594,9 @@ void 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;