1 /*****************************************************************************/
5 /* Global variables for the da65 disassembler */
9 /* (C) 2000-2006 Ullrich von Bassewitz */
10 /* Römerstrasse 52 */
11 /* D-70794 Filderstadt */
12 /* EMail: uz@cc65.org */
15 /* This software is provided 'as-is', without any expressed or implied */
16 /* warranty. In no event will the authors be held liable for any damages */
17 /* arising from the use of this software. */
19 /* Permission is granted to anyone to use this software for any purpose, */
20 /* including commercial applications, and to alter it and redistribute it */
21 /* freely, subject to the following restrictions: */
23 /* 1. The origin of this software must not be misrepresented; you must not */
24 /* claim that you wrote the original software. If you use this software */
25 /* in a product, an acknowledgment in the product documentation would be */
26 /* appreciated but is not required. */
27 /* 2. Altered source versions must be plainly marked as such, and must not */
28 /* be misrepresented as being the original software. */
29 /* 3. This notice may not be removed or altered from any source */
32 /*****************************************************************************/
40 /*****************************************************************************/
42 /*****************************************************************************/
47 const char* InFile = 0; /* Name of input file */
48 const char* OutFile = 0; /* Name of output file */
50 /* Default extensions */
51 const char OutExt[] = ".dis"; /* Output file extension */
52 const char CfgExt[] = ".cfg"; /* Config file extension */
54 /* Flags and other command line stuff */
55 unsigned char DebugInfo = 0; /* Add debug info to the object file */
56 unsigned char FormFeeds = 0; /* Add form feeds to the output? */
57 unsigned char UseHexOffs = 0; /* Use hexadecimal label offsets */
58 unsigned char PassCount = 2; /* How many passed do we do? */
59 signed char NewlineAfterJMP = -1; /* Add a newline after a JMP insn? */
60 signed char NewlineAfterRTS = -1; /* Add a newline after a RTS insn? */
61 long StartAddr = -1L; /* Start/load address of the program */
62 long InputOffs = -1L; /* Offset into input file */
63 long InputSize = -1L; /* Number of bytes to read from input */
65 /* Stuff needed by many routines */
66 unsigned Pass = 0; /* Disassembler pass */
67 char Now[128]; /* Current time as string */
70 unsigned Comments = 0; /* Add which comments to the output? */
73 unsigned PageLength = 0; /* Length of a listing page */
74 unsigned LBreak = 7; /* Linefeed if labels exceed this limit */
75 unsigned MCol = 9; /* Mnemonic column */
76 unsigned ACol = 17; /* Argument column */
77 unsigned CCol = 49; /* Comment column */
78 unsigned TCol = 81; /* Text bytes column */
79 unsigned BytesPerLine = 8; /* Max. number of data bytes per line */