docs_toolchain_settings.html (36983B)
1<!-- HTML header for doxygen 1.8.14--> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml"> 4<head> 5<meta http-equiv="cache-control" content="max-age=86400"/> 6<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 7<meta http-equiv="X-UA-Compatible" content="IE=9"/> 8<meta name="generator" content="Doxygen 1.8.20"/> 9<meta name="viewport" content="width=device-width, initial-scale=1"/> 10<title>GBDK 2020 Docs: Toolchain settings</title> 11<link href="tabs.css" rel="stylesheet" type="text/css"/> 12<script type="text/javascript" src="jquery.js"></script> 13<script type="text/javascript" src="dynsections.js"></script> 14<link href="navtree.css" rel="stylesheet" type="text/css"/> 15<script type="text/javascript" src="resize.js"></script> 16<script type="text/javascript" src="navtreedata.js"></script> 17<script type="text/javascript" src="navtree.js"></script> 18<link href="search/search.css" rel="stylesheet" type="text/css"/> 19<script type="text/javascript" src="search/searchdata.js"></script> 20<script type="text/javascript" src="search/search.js"></script> 21<link href="doxygen.css" rel="stylesheet" type="text/css" /> 22<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/> 23</head> 24<body> 25<div id="top"><!-- do not remove this div, it is closed by doxygen! --> 26<div id="titlearea"> 27<table cellspacing="0" cellpadding="0"> 28 <tbody> 29 <tr style="height: 56px;"> 30 <td id="projectalign" style="padding-left: 0.5em;"> 31 <div id="projectname">GBDK 2020 Docs 32  <span id="projectnumber">4.0.6</span> 33 </div> 34 <div id="projectbrief">API Documentation for GBDK 2020</div> 35 </td> 36 </tr> 37 </tbody> 38</table> 39</div> 40<!-- end header part --> 41<!-- Generated by Doxygen 1.8.20 --> 42<script type="text/javascript"> 43/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 44var searchBox = new SearchBox("searchBox", "search",false,'Search'); 45/* @license-end */ 46</script> 47<script type="text/javascript" src="menudata.js"></script> 48<script type="text/javascript" src="menu.js"></script> 49<script type="text/javascript"> 50/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 51$(function() { 52 initMenu('',true,false,'search.php','Search'); 53 $(document).ready(function() { init_search(); }); 54}); 55/* @license-end */</script> 56<div id="main-nav"></div> 57</div><!-- top --> 58<div id="side-nav" class="ui-resizable side-nav-resizable"> 59 <div id="nav-tree"> 60 <div id="nav-tree-contents"> 61 <div id="nav-sync" class="sync"></div> 62 </div> 63 </div> 64 <div id="splitbar" style="-moz-user-select:none;" 65 class="ui-resizable-handle"> 66 </div> 67</div> 68<script type="text/javascript"> 69/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 70$(document).ready(function(){initNavTree('docs_toolchain_settings.html',''); initResizable(); }); 71/* @license-end */ 72</script> 73<div id="doc-content"> 74<!-- window showing the filter options --> 75<div id="MSearchSelectWindow" 76 onmouseover="return searchBox.OnSearchSelectShow()" 77 onmouseout="return searchBox.OnSearchSelectHide()" 78 onkeydown="return searchBox.OnSearchSelectKey(event)"> 79</div> 80 81<!-- iframe showing the search results (closed by default) --> 82<div id="MSearchResultsWindow"> 83<iframe src="javascript:void(0)" frameborder="0" 84 name="MSearchResults" id="MSearchResults"> 85</iframe> 86</div> 87 88<div class="PageDoc"><div class="header"> 89 <div class="headertitle"> 90<div class="title">Toolchain settings </div> </div> 91</div><!--header--> 92<div class="contents"> 93<div class="textblock"><p><a class="anchor" id="lcc-settings"></a></p> 94<h1><a class="anchor" id="autotoc_md206"></a> 95lcc settings</h1> 96<div class="fragment"><div class="line">./lcc [ option | file ]...</div> 97<div class="line"> except for -l, options are processed left-to-right before files</div> 98<div class="line"> unrecognized options are taken to be linker options</div> 99<div class="line">-A warn about nonANSI usage; 2nd -A warns more</div> 100<div class="line">-b emit expression-level profiling code; see bprint(1)</div> 101<div class="line">-Bdir/ use the compiler named `dir/rcc'</div> 102<div class="line">-c compile only</div> 103<div class="line">-dn set switch statement density to `n'</div> 104<div class="line">-debug Turns on --debug for compiler, -y (.cdb) and -j (.noi) for linker</div> 105<div class="line">-Dname -Dname=def define the preprocessor symbol `name'</div> 106<div class="line">-E run only the preprocessor on the named C programs and unsuffixed files</div> 107<div class="line">-g produce symbol table information for debuggers</div> 108<div class="line">-help or -? print this message</div> 109<div class="line">-Idir add `dir' to the beginning of the list of #include directories</div> 110<div class="line">-K don't run ihxcheck test on linker ihx output</div> 111<div class="line">-lx search library `x'</div> 112<div class="line">-m select port and platform: "-m[port]:[plat]" ports:gbz80,z80 plats:ap,duck,gb,sms,gg</div> 113<div class="line">-N do not search the standard directories for #include files</div> 114<div class="line">-n emit code to check for dereferencing zero pointers</div> 115<div class="line">-no-crt do not auto-include the gbdk crt0.o runtime in linker list</div> 116<div class="line">-no-libs do not auto-include the gbdk libs in linker list</div> 117<div class="line">-O is ignored</div> 118<div class="line">-o file leave the output in `file'</div> 119<div class="line">-P print ANSI-style declarations for globals</div> 120<div class="line">-p -pg emit profiling code; see prof(1) and gprof(1)</div> 121<div class="line">-S compile to assembly language</div> 122<div class="line">-autobank auto-assign banks set to 255 (bankpack)</div> 123<div class="line">-static specify static libraries (default is dynamic)</div> 124<div class="line">-t -tname emit function tracing calls to printf or to `name'</div> 125<div class="line">-target name is ignored</div> 126<div class="line">-tempdir=dir place temporary files in `dir/'; default=/tmp</div> 127<div class="line">-Uname undefine the preprocessor symbol `name'</div> 128<div class="line">-v show commands as they are executed; 2nd -v suppresses execution</div> 129<div class="line">-w suppress warnings</div> 130<div class="line">-Woarg specify system-specific `arg'</div> 131<div class="line">-W[pfablim]arg pass `arg' to the preprocessor, compiler, assembler, bankpack, linker, ihxcheck, or makebin</div> 132</div><!-- fragment --><p><a class="anchor" id="sdcc-settings"></a></p> 133<h1><a class="anchor" id="autotoc_md207"></a> 134sdcc settings</h1> 135<div class="fragment"><div class="line">SDCC : z80/gbz80 4.1.6 #12539 (Linux)</div> 136<div class="line">published under GNU General Public License (GPL)</div> 137<div class="line">Usage : sdcc [options] filename</div> 138<div class="line">Options :-</div> 139<div class="line"> </div> 140<div class="line">General options:</div> 141<div class="line"> --help Display this help</div> 142<div class="line"> -v --version Display sdcc's version</div> 143<div class="line"> --verbose Trace calls to the preprocessor, assembler, and linker</div> 144<div class="line"> -V Execute verbosely. Show sub commands as they are run</div> 145<div class="line"> -d Output list of macro definitions in effect. Use with -E</div> 146<div class="line"> -D Define macro as in -Dmacro</div> 147<div class="line"> -I Add to the include (*.h) path, as in -Ipath</div> 148<div class="line"> -A </div> 149<div class="line"> -U Undefine macro as in -Umacro</div> 150<div class="line"> -M Preprocessor option</div> 151<div class="line"> -W Pass through options to the pre-processor (p), assembler (a) or linker (l)</div> 152<div class="line"> -S Compile only; do not assemble or link</div> 153<div class="line"> -c --compile-only Compile and assemble, but do not link</div> 154<div class="line"> -E --preprocessonly Preprocess only, do not compile</div> 155<div class="line"> --c1mode Act in c1 mode. The standard input is preprocessed code, the output is assembly code.</div> 156<div class="line"> -o Place the output into the given path resp. file</div> 157<div class="line"> -x Optional file type override (c, c-header or none), valid until the next -x</div> 158<div class="line"> --print-search-dirs display the directories in the compiler's search path</div> 159<div class="line"> --vc messages are compatible with Micro$oft visual studio</div> 160<div class="line"> --use-stdout send errors to stdout instead of stderr</div> 161<div class="line"> --nostdlib Do not include the standard library directory in the search path</div> 162<div class="line"> --nostdinc Do not include the standard include directory in the search path</div> 163<div class="line"> --less-pedantic Disable some of the more pedantic warnings</div> 164<div class="line"> --disable-warning <nnnn> Disable specific warning</div> 165<div class="line"> --Werror Treat the warnings as errors</div> 166<div class="line"> --debug Enable debugging symbol output</div> 167<div class="line"> --cyclomatic Display complexity of compiled functions</div> 168<div class="line"> --std-c89 Use ISO C90 (aka ANSI C89) standard (slightly incomplete)</div> 169<div class="line"> --std-sdcc89 Use ISO C90 (aka ANSI C89) standard with SDCC extensions</div> 170<div class="line"> --std-c95 Use ISO C95 (aka ISO C94) standard (slightly incomplete)</div> 171<div class="line"> --std-c99 Use ISO C99 standard (incomplete)</div> 172<div class="line"> --std-sdcc99 Use ISO C99 standard with SDCC extensions</div> 173<div class="line"> --std-c11 Use ISO C11 standard (incomplete)</div> 174<div class="line"> --std-sdcc11 Use ISO C11 standard with SDCC extensions (default)</div> 175<div class="line"> --std-c2x Use ISO C2X standard (incomplete)</div> 176<div class="line"> --std-sdcc2x Use ISO C2X standard with SDCC extensions</div> 177<div class="line"> --fdollars-in-identifiers Permit '$' as an identifier character</div> 178<div class="line"> --fsigned-char Make "char" signed by default</div> 179<div class="line"> --use-non-free Search / include non-free licensed libraries and header files</div> 180<div class="line"> </div> 181<div class="line">Code generation options:</div> 182<div class="line"> -m Set the port to use e.g. -mz80.</div> 183<div class="line"> -p Select port specific processor e.g. -mpic14 -p16f84</div> 184<div class="line"> --stack-auto Stack automatic variables</div> 185<div class="line"> --xstack Use external stack</div> 186<div class="line"> --int-long-reent Use reentrant calls on the int and long support functions</div> 187<div class="line"> --float-reent Use reentrant calls on the float support functions</div> 188<div class="line"> --xram-movc Use movc instead of movx to read xram (xdata)</div> 189<div class="line"> --callee-saves <func[,func,...]> Cause the called function to save registers instead of the caller</div> 190<div class="line"> --profile On supported ports, generate extra profiling information</div> 191<div class="line"> --fomit-frame-pointer Leave out the frame pointer.</div> 192<div class="line"> --all-callee-saves callee will always save registers used</div> 193<div class="line"> --stack-probe insert call to function __stack_probe at each function prologue</div> 194<div class="line"> --no-xinit-opt don't memcpy initialized xram from code</div> 195<div class="line"> --no-c-code-in-asm don't include c-code as comments in the asm file</div> 196<div class="line"> --no-peep-comments don't include peephole optimizer comments</div> 197<div class="line"> --codeseg <name> use this name for the code segment</div> 198<div class="line"> --constseg <name> use this name for the const segment</div> 199<div class="line"> --dataseg <name> use this name for the data segment</div> 200<div class="line"> </div> 201<div class="line">Optimization options:</div> 202<div class="line"> --nooverlay Disable overlaying leaf function auto variables</div> 203<div class="line"> --nogcse Disable the GCSE optimisation</div> 204<div class="line"> --nolabelopt Disable label optimisation</div> 205<div class="line"> --noinvariant Disable optimisation of invariants</div> 206<div class="line"> --noinduction Disable loop variable induction</div> 207<div class="line"> --noloopreverse Disable the loop reverse optimisation</div> 208<div class="line"> --no-peep Disable the peephole assembly file optimisation</div> 209<div class="line"> --no-reg-params On some ports, disable passing some parameters in registers</div> 210<div class="line"> --peep-asm Enable peephole optimization on inline assembly</div> 211<div class="line"> --peep-return Enable peephole optimization for return instructions</div> 212<div class="line"> --no-peep-return Disable peephole optimization for return instructions</div> 213<div class="line"> --peep-file <file> use this extra peephole file</div> 214<div class="line"> --opt-code-speed Optimize for code speed rather than size</div> 215<div class="line"> --opt-code-size Optimize for code size rather than speed</div> 216<div class="line"> --max-allocs-per-node Maximum number of register assignments considered at each node of the tree decomposition</div> 217<div class="line"> --nolospre Disable lospre</div> 218<div class="line"> --allow-unsafe-read Allow optimizations to read any memory location anytime</div> 219<div class="line"> --nostdlibcall Disable optimization of calls to standard library</div> 220<div class="line"> </div> 221<div class="line">Internal debugging options:</div> 222<div class="line"> --dump-ast Dump front-end AST before generating i-code</div> 223<div class="line"> --dump-i-code Dump the i-code structure at all stages</div> 224<div class="line"> --dump-graphs Dump graphs (control-flow, conflict, etc)</div> 225<div class="line"> --i-code-in-asm Include i-code as comments in the asm file</div> 226<div class="line"> --fverbose-asm Include code generator comments in the asm output</div> 227<div class="line"> </div> 228<div class="line">Linker options:</div> 229<div class="line"> -l Include the given library in the link</div> 230<div class="line"> -L Add the next field to the library search path</div> 231<div class="line"> --lib-path <path> use this path to search for libraries</div> 232<div class="line"> --out-fmt-ihx Output in Intel hex format</div> 233<div class="line"> --out-fmt-s19 Output in S19 hex format</div> 234<div class="line"> --xram-loc <nnnn> External Ram start location</div> 235<div class="line"> --xram-size <nnnn> External Ram size</div> 236<div class="line"> --iram-size <nnnn> Internal Ram size</div> 237<div class="line"> --xstack-loc <nnnn> External Stack start location</div> 238<div class="line"> --code-loc <nnnn> Code Segment Location</div> 239<div class="line"> --code-size <nnnn> Code Segment size</div> 240<div class="line"> --stack-loc <nnnn> Stack pointer initial value</div> 241<div class="line"> --data-loc <nnnn> Direct data start location</div> 242<div class="line"> --idata-loc </div> 243<div class="line"> --no-optsdcc-in-asm Do not emit .optsdcc in asm</div> 244<div class="line"> </div> 245<div class="line">Special options for the z80 port:</div> 246<div class="line"> --callee-saves-bc Force a called function to always save BC</div> 247<div class="line"> --portmode= Determine PORT I/O mode (z80/z180)</div> 248<div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div> 249<div class="line"> --codeseg <name> use this name for the code segment</div> 250<div class="line"> --constseg <name> use this name for the const segment</div> 251<div class="line"> --dataseg <name> use this name for the data segment</div> 252<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div> 253<div class="line"> --reserve-regs-iy Do not use IY (incompatible with --fomit-frame-pointer)</div> 254<div class="line"> --oldralloc Use old register allocator (deprecated)</div> 255<div class="line"> --fno-omit-frame-pointer Do not omit frame pointer</div> 256<div class="line"> --emit-externs Emit externs list in generated asm</div> 257<div class="line"> --legacy-banking Use legacy method to call banked functions</div> 258<div class="line"> --nmos-z80 Generate workaround for NMOS Z80 when saving IFF2</div> 259<div class="line"> </div> 260<div class="line">Special options for the gbz80 port:</div> 261<div class="line"> -bo <num> use code bank <num></div> 262<div class="line"> -ba <num> use data bank <num></div> 263<div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div> 264<div class="line"> --callee-saves-bc Force a called function to always save BC</div> 265<div class="line"> --codeseg <name> use this name for the code segment</div> 266<div class="line"> --constseg <name> use this name for the const segment</div> 267<div class="line"> --dataseg <name> use this name for the data segment</div> 268<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div> 269<div class="line"> --legacy-banking Use legacy method to call banked functions</div> 270</div><!-- fragment --><p><a class="anchor" id="sdasgb-settings"></a></p> 271<h1><a class="anchor" id="autotoc_md208"></a> 272sdasgb settings</h1> 273<div class="fragment"><div class="line">sdas Assembler V02.00 + NoICE + SDCC mods (GameBoy Z80-like CPU)</div> 274<div class="line"> </div> 275<div class="line"> </div> 276<div class="line">Copyright (C) 2012 Alan R. Baldwin</div> 277<div class="line">This program comes with ABSOLUTELY NO WARRANTY.</div> 278<div class="line"> </div> 279<div class="line">Usage: [-Options] file</div> 280<div class="line">Usage: [-Options] outfile file1 [file2 file3 ...]</div> 281<div class="line"> -d Decimal listing</div> 282<div class="line"> -q Octal listing</div> 283<div class="line"> -x Hex listing (default)</div> 284<div class="line"> -g Undefined symbols made global</div> 285<div class="line"> -n Don't resolve global assigned value symbols</div> 286<div class="line"> -a All user symbols made global</div> 287<div class="line"> -b Display .define substitutions in listing</div> 288<div class="line"> -bb and display without .define substitutions</div> 289<div class="line"> -c Disable instruction cycle count in listing</div> 290<div class="line"> -j Enable NoICE Debug Symbols</div> 291<div class="line"> -y Enable SDCC Debug Symbols</div> 292<div class="line"> -l Create list file/outfile[.lst]</div> 293<div class="line"> -o Create object file/outfile[.rel]</div> 294<div class="line"> -s Create symbol file/outfile[.sym]</div> 295<div class="line"> -p Disable automatic listing pagination</div> 296<div class="line"> -u Disable .list/.nlist processing</div> 297<div class="line"> -w Wide listing format for symbol table</div> 298<div class="line"> -z Disable case sensitivity for symbols</div> 299<div class="line"> -f Flag relocatable references by ` in listing file</div> 300<div class="line"> -ff Flag relocatable references by mode in listing file</div> 301<div class="line"> -I Add the named directory to the include file</div> 302<div class="line"> search path. This option may be used more than once.</div> 303<div class="line"> Directories are searched in the order given.</div> 304<div class="line"> </div> 305<div class="line">removing </div> 306</div><!-- fragment --><p><a class="anchor" id="sdasz80-settings"></a></p> 307<h1><a class="anchor" id="autotoc_md209"></a> 308sdasz80 settings</h1> 309<div class="fragment"><div class="line">sdas Assembler V02.00 + NoICE + SDCC mods (GameBoy Z80-like CPU)</div> 310<div class="line"> </div> 311<div class="line"> </div> 312<div class="line">Copyright (C) 2012 Alan R. Baldwin</div> 313<div class="line">This program comes with ABSOLUTELY NO WARRANTY.</div> 314<div class="line"> </div> 315<div class="line">Usage: [-Options] file</div> 316<div class="line">Usage: [-Options] outfile file1 [file2 file3 ...]</div> 317<div class="line"> -d Decimal listing</div> 318<div class="line"> -q Octal listing</div> 319<div class="line"> -x Hex listing (default)</div> 320<div class="line"> -g Undefined symbols made global</div> 321<div class="line"> -n Don't resolve global assigned value symbols</div> 322<div class="line"> -a All user symbols made global</div> 323<div class="line"> -b Display .define substitutions in listing</div> 324<div class="line"> -bb and display without .define substitutions</div> 325<div class="line"> -c Disable instruction cycle count in listing</div> 326<div class="line"> -j Enable NoICE Debug Symbols</div> 327<div class="line"> -y Enable SDCC Debug Symbols</div> 328<div class="line"> -l Create list file/outfile[.lst]</div> 329<div class="line"> -o Create object file/outfile[.rel]</div> 330<div class="line"> -s Create symbol file/outfile[.sym]</div> 331<div class="line"> -p Disable automatic listing pagination</div> 332<div class="line"> -u Disable .list/.nlist processing</div> 333<div class="line"> -w Wide listing format for symbol table</div> 334<div class="line"> -z Disable case sensitivity for symbols</div> 335<div class="line"> -f Flag relocatable references by ` in listing file</div> 336<div class="line"> -ff Flag relocatable references by mode in listing file</div> 337<div class="line"> -I Add the named directory to the include file</div> 338<div class="line"> search path. This option may be used more than once.</div> 339<div class="line"> Directories are searched in the order given.</div> 340<div class="line"> </div> 341<div class="line">removing </div> 342</div><!-- fragment --><p><a class="anchor" id="bankpack-settings"></a></p> 343<h1><a class="anchor" id="autotoc_md210"></a> 344bankpack settings</h1> 345<div class="fragment"><div class="line">bankalloc [options] objfile1 objfile2 etc</div> 346<div class="line">Use: Read .o files and auto-assign areas with bank=255.</div> 347<div class="line"> Typically called by Lcc compiler driver before linker.</div> 348<div class="line"> </div> 349<div class="line">Options</div> 350<div class="line">-h : Show this help</div> 351<div class="line">-lkin=<file> : Load object files specified in linker file <file></div> 352<div class="line">-lkout=<file>: Write list of object files out to linker file <file></div> 353<div class="line">-yt<mbctype> : Set MBC type per ROM byte 149 in Decimal or Hex (0xNN) (see pandocs)</div> 354<div class="line">-mbc=N : Similar to -yt, but sets MBC type directly to N instead</div> 355<div class="line"> of by intepreting ROM byte 149</div> 356<div class="line"> mbc1 will exclude banks {0x20,0x40,0x60} max=127, </div> 357<div class="line"> mbc2 max=15, mbc3 max=127, mbc5 max=255 (not 511!) </div> 358<div class="line">-min=N : Min assigned ROM bank is N (default 1)</div> 359<div class="line">-max=N : Max assigned ROM bank is N, error if exceeded</div> 360<div class="line">-ext=<.ext> : Write files out with <.ext> instead of source extension</div> 361<div class="line">-path=<path> : Write files out to <path> (<path> *MUST* already exist)</div> 362<div class="line">-sym=<prefix>: Add symbols starting with <prefix> to match + update list.</div> 363<div class="line"> Default entry is "___bank_" (see below)</div> 364<div class="line">-cartsize : Print min required cart size as "autocartsize:<NNN>"</div> 365<div class="line">-plat=<plat> : Select platform specific behavior (default:gb) (gb,sms)</div> 366<div class="line">-random : Distribute banks randomly for testing (honors -min/-max)</div> 367<div class="line">-v : Verbose output, show assignments</div> 368<div class="line"> </div> 369<div class="line">Example: "bankpack -ext=.rel -path=some/newpath/ file1.o file2.o"</div> 370<div class="line">Unless -ext or -path specify otherwise, input files are overwritten.</div> 371<div class="line"> </div> 372<div class="line">Default MBC type is not set. It *must* be specified by -mbc= or -yt!</div> 373<div class="line"> </div> 374<div class="line">The following will have FF and 255 replaced with the assigned bank:</div> 375<div class="line">A _CODE_255 size <size> flags <flags> addr <address></div> 376<div class="line">S b_<function name> Def0000FF</div> 377<div class="line">S ___bank_<const name> Def0000FF</div> 378<div class="line"> (Above can be made by: const void __at(255) __bank_<const name>;</div> 379</div><!-- fragment --><p><a class="anchor" id="sdldgb-settings"></a></p> 380<h1><a class="anchor" id="autotoc_md211"></a> 381sdldgb settings</h1> 382<div class="fragment"><div class="line">sdld Linker V03.00 + NoICE + sdld</div> 383<div class="line"> </div> 384<div class="line">Usage: [-Options] [-Option with arg] file</div> 385<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div> 386<div class="line">Startup:</div> 387<div class="line"> -p Echo commands to stdout (default)</div> 388<div class="line"> -n No echo of commands to stdout</div> 389<div class="line">Alternates to Command Line Input:</div> 390<div class="line"> -c ASlink >> prompt input</div> 391<div class="line"> -f file[.lk] Command File input</div> 392<div class="line">Libraries:</div> 393<div class="line"> -k Library path specification, one per -k</div> 394<div class="line"> -l Library file specification, one per -l</div> 395<div class="line">Relocation:</div> 396<div class="line"> -b area base address = expression</div> 397<div class="line"> -g global symbol = expression</div> 398<div class="line"> -a (platform) Select platform specific virtual address translation</div> 399<div class="line">Map format:</div> 400<div class="line"> -m Map output generated as (out)file[.map]</div> 401<div class="line"> -w Wide listing format for map file</div> 402<div class="line"> -x Hexadecimal (default)</div> 403<div class="line"> -d Decimal</div> 404<div class="line"> -q Octal</div> 405<div class="line">Output:</div> 406<div class="line"> -i Intel Hex as (out)file[.ihx]</div> 407<div class="line"> -s Motorola S Record as (out)file[.s19]</div> 408<div class="line"> -j NoICE Debug output as (out)file[.noi]</div> 409<div class="line"> -y SDCDB Debug output as (out)file[.cdb]</div> 410<div class="line">List:</div> 411<div class="line"> -u Update listing file(s) with link data as file(s)[.rst]</div> 412<div class="line">Case Sensitivity:</div> 413<div class="line"> -z Disable Case Sensitivity for Symbols</div> 414<div class="line">End:</div> 415<div class="line"> -e or null line terminates input</div> 416</div><!-- fragment --><p><a class="anchor" id="sdldz80-settings"></a></p> 417<h1><a class="anchor" id="autotoc_md212"></a> 418sdldz80 settings</h1> 419<div class="fragment"><div class="line">sdld Linker V03.00 + NoICE + sdld</div> 420<div class="line"> </div> 421<div class="line">Usage: [-Options] [-Option with arg] file</div> 422<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div> 423<div class="line">Startup:</div> 424<div class="line"> -p Echo commands to stdout (default)</div> 425<div class="line"> -n No echo of commands to stdout</div> 426<div class="line">Alternates to Command Line Input:</div> 427<div class="line"> -c ASlink >> prompt input</div> 428<div class="line"> -f file[.lk] Command File input</div> 429<div class="line">Libraries:</div> 430<div class="line"> -k Library path specification, one per -k</div> 431<div class="line"> -l Library file specification, one per -l</div> 432<div class="line">Relocation:</div> 433<div class="line"> -b area base address = expression</div> 434<div class="line"> -g global symbol = expression</div> 435<div class="line"> -a (platform) Select platform specific virtual address translation</div> 436<div class="line">Map format:</div> 437<div class="line"> -m Map output generated as (out)file[.map]</div> 438<div class="line"> -w Wide listing format for map file</div> 439<div class="line"> -x Hexadecimal (default)</div> 440<div class="line"> -d Decimal</div> 441<div class="line"> -q Octal</div> 442<div class="line">Output:</div> 443<div class="line"> -i Intel Hex as (out)file[.ihx]</div> 444<div class="line"> -s Motorola S Record as (out)file[.s19]</div> 445<div class="line"> -j NoICE Debug output as (out)file[.noi]</div> 446<div class="line"> -y SDCDB Debug output as (out)file[.cdb]</div> 447<div class="line">List:</div> 448<div class="line"> -u Update listing file(s) with link data as file(s)[.rst]</div> 449<div class="line">Case Sensitivity:</div> 450<div class="line"> -z Disable Case Sensitivity for Symbols</div> 451<div class="line">End:</div> 452<div class="line"> -e or null line terminates input</div> 453</div><!-- fragment --><p><a class="anchor" id="ihxcheck-settings"></a></p> 454<h1><a class="anchor" id="autotoc_md213"></a> 455ihxcheck settings</h1> 456<div class="fragment"><div class="line">ihx_check input_file.ihx [options]</div> 457<div class="line"> </div> 458<div class="line">Options</div> 459<div class="line">-h : Show this help</div> 460<div class="line">-e : Treat warnings as errors</div> 461<div class="line"> </div> 462<div class="line">Use: Read a .ihx and warn about overlapped areas.</div> 463<div class="line">Example: "ihx_check build/MyProject.ihx"</div> 464</div><!-- fragment --><p><a class="anchor" id="makebin-settings"></a></p> 465<h1><a class="anchor" id="autotoc_md214"></a> 466makebin settings</h1> 467<p>Also see <a class="el" href="docs_rombanking_mbcs.html#setting_mbc_and_rom_ram_banks">setting_mbc_and_rom_ram_banks</a> </p><div class="fragment"><div class="line">makebin: convert a Intel IHX file to binary or GameBoy format binary.</div> 468<div class="line">Usage: makebin [options] [<in_file> [<out_file>]]</div> 469<div class="line">Options:</div> 470<div class="line"> -p pack mode: the binary file size will be truncated to the last occupied byte</div> 471<div class="line"> -s romsize size of the binary file (default: rom banks * 16384)</div> 472<div class="line"> -Z generate GameBoy format binary file</div> 473<div class="line"> -S generate Sega Master System format binary file</div> 474<div class="line">SMS format options (applicable only with -S option):</div> 475<div class="line"> -xo n rom size (0xa-0x2)</div> 476<div class="line"> -xj n set region code (3-7)</div> 477<div class="line"> -xv n version number (0-15)</div> 478<div class="line">GameBoy format options (applicable only with -Z option):</div> 479<div class="line"> -yo n number of rom banks (default: 2) (autosize: A)</div> 480<div class="line"> -ya n number of ram banks (default: 0)</div> 481<div class="line"> -yt n MBC type (default: no MBC)</div> 482<div class="line"> -yl n old licensee code (default: 0x33)</div> 483<div class="line"> -yk cc new licensee string (default: 00)</div> 484<div class="line"> -yn name cartridge name (default: none)</div> 485<div class="line"> -yc GameBoy Color compatible</div> 486<div class="line"> -yC GameBoy Color only</div> 487<div class="line"> -ys Super GameBoy</div> 488<div class="line"> -yS Convert .noi file named like input file to .sym</div> 489<div class="line"> -yj set non-Japanese region flag</div> 490<div class="line"> -yN do not copy big N validation logo into ROM header</div> 491<div class="line"> -yp addr=value Set address in ROM to given value (address 0x100-0x1FE)</div> 492<div class="line">Arguments:</div> 493<div class="line"> <in_file> optional IHX input file, '-' means stdin. (default: stdin)</div> 494<div class="line"> <out_file> optional output file, '-' means stdout. (default: stdout)</div> 495</div><!-- fragment --><p><a class="anchor" id="gbcompress-settings"></a></p> 496<h1><a class="anchor" id="autotoc_md215"></a> 497gbcompress settings</h1> 498<div class="fragment"><div class="line">gbcompress [options] infile outfile</div> 499<div class="line">Use: compress a binary file and write it out.</div> 500<div class="line"> </div> 501<div class="line">Options</div> 502<div class="line">-h : Show this help screen</div> 503<div class="line">-d : Decompress (default is compress)</div> 504<div class="line">-v : Verbose output</div> 505<div class="line">--cin : Read input as .c source format (8 bit char ONLY, uses first array found)</div> 506<div class="line">--cout : Write output in .c / .h source format (8 bit char ONLY) </div> 507<div class="line">--varname=<NAME> : specify variable name for c source output</div> 508<div class="line">--alg=<type> : specify compression type: 'rle', 'gb' (default)</div> 509<div class="line">Example: "gbcompress binaryfile.bin compressed.bin"</div> 510<div class="line">Example: "gbcompress -d compressedfile.bin decompressed.bin"</div> 511<div class="line">Example: "gbcompress --alg=rle binaryfile.bin compressed.bin"</div> 512<div class="line"> </div> 513<div class="line">The default compression (gb) is the type used by gbtd/gbmb</div> 514<div class="line">The rle compression is Amiga IFF style</div> 515</div><!-- fragment --><p><a class="anchor" id="png2asset-settings"></a></p> 516<h1><a class="anchor" id="autotoc_md216"></a> 517png2asset settings</h1> 518<div class="fragment"><div class="line">usage: png2asset <file>.png [options]</div> 519<div class="line">-c ouput file (default: <png file>.c)</div> 520<div class="line">-sw <width> metasprites width size (default: png width)</div> 521<div class="line">-sh <height> metasprites height size (default: png height)</div> 522<div class="line">-sp <props> change default for sprite OAM property bytes (in hex) (default: 0x00)</div> 523<div class="line">-px <x coord> metasprites pivot x coordinate (default: metasprites width / 2)</div> 524<div class="line">-py <y coord> metasprites pivot y coordinate (default: metasprites height / 2)</div> 525<div class="line">-pw <width> metasprites collision rect widht (default: metasprites width)</div> 526<div class="line">-ph <height> metasprites collision rect height (default: metasprites height)</div> 527<div class="line">-spr8x8 use SPRITES_8x8 (default: SPRITES_8x16)</div> 528<div class="line">-spr8x16 use SPRITES_8x16 (default: SPRITES_8x16)</div> 529<div class="line">-b <bank> bank (default 0)</div> 530<div class="line">-keep_palette_order use png palette</div> 531<div class="line">-noflip disable tile flip</div> 532<div class="line">-map Export as map (tileset + bg)</div> 533<div class="line">-use_map_attributes Use CGB BG Map attributes (default: palettes are stored for each tile in a separate array)</div> 534<div class="line">-use_structs Group the exported info into structs (default: false) (used by ZGB Game Engine)</div> 535<div class="line">-bpp bits per pixel: 2, 4 (default: 2)</div> 536<div class="line">-max_palettes maximum number of palettes allowed (default: 2)</div> 537<div class="line">-pack_mode gb, sgb or sms (default:GB)</div> 538<div class="line">-tile_origin tile index offset for maps (instead of zero)</div> 539</div><!-- fragment --> </div></div><!-- contents --> 540</div><!-- PageDoc --> 541</div><!-- doc-content --> 542<!-- HTML footer for doxygen 1.8.14--> 543<!-- start footer part --> 544<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> 545</div> 546</body> 547</html>