cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

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   &#160;<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&amp;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&amp;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&amp;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&#39;</div>
    102<div class="line">-c  compile only</div>
    103<div class="line">-dn set switch statement density to `n&#39;</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&#39;</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&#39; to the beginning of the list of #include directories</div>
    110<div class="line">-K don&#39;t run ihxcheck test on linker ihx output</div>
    111<div class="line">-lx search library `x&#39;</div>
    112<div class="line">-m  select port and platform: &quot;-m[port]:[plat]&quot; 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&#39;</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&#39;</div>
    125<div class="line">-target name    is ignored</div>
    126<div class="line">-tempdir=dir    place temporary files in `dir/&#39;; default=/tmp</div>
    127<div class="line">-Uname  undefine the preprocessor symbol `name&#39;</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&#39;</div>
    131<div class="line">-W[pfablim]arg  pass `arg&#39; 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&#39;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&#39;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     &lt;nnnn&gt; 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 &#39;$&#39; as an identifier character</div>
    178<div class="line">      --fsigned-char        Make &quot;char&quot; 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        &lt;func[,func,...]&gt; 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&#39;t memcpy initialized xram from code</div>
    195<div class="line">      --no-c-code-in-asm    don&#39;t include c-code as comments in the asm file</div>
    196<div class="line">      --no-peep-comments    don&#39;t include peephole optimizer comments</div>
    197<div class="line">      --codeseg             &lt;name&gt; use this name for the code segment</div>
    198<div class="line">      --constseg            &lt;name&gt; use this name for the const segment</div>
    199<div class="line">      --dataseg             &lt;name&gt; 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           &lt;file&gt; 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            &lt;path&gt; 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            &lt;nnnn&gt; External Ram start location</div>
    235<div class="line">      --xram-size           &lt;nnnn&gt; External Ram size</div>
    236<div class="line">      --iram-size           &lt;nnnn&gt; Internal Ram size</div>
    237<div class="line">      --xstack-loc          &lt;nnnn&gt; External Stack start location</div>
    238<div class="line">      --code-loc            &lt;nnnn&gt; Code Segment Location</div>
    239<div class="line">      --code-size           &lt;nnnn&gt; Code Segment size</div>
    240<div class="line">      --stack-loc           &lt;nnnn&gt; Stack pointer initial value</div>
    241<div class="line">      --data-loc            &lt;nnnn&gt; 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             &lt;name&gt; use this name for the code segment</div>
    250<div class="line">      --constseg            &lt;name&gt; use this name for the const segment</div>
    251<div class="line">      --dataseg             &lt;name&gt; 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                   &lt;num&gt; use code bank &lt;num&gt;</div>
    262<div class="line">      -ba                   &lt;num&gt; use data bank &lt;num&gt;</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             &lt;name&gt; use this name for the code segment</div>
    266<div class="line">      --constseg            &lt;name&gt; use this name for the const segment</div>
    267<div class="line">      --dataseg             &lt;name&gt; 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&#39;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&#39;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=&lt;file&gt; : Load object files specified in linker file &lt;file&gt;</div>
    352<div class="line">-lkout=&lt;file&gt;: Write list of object files out to linker file &lt;file&gt;</div>
    353<div class="line">-yt&lt;mbctype&gt; : 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=&lt;.ext&gt;  : Write files out with &lt;.ext&gt; instead of source extension</div>
    361<div class="line">-path=&lt;path&gt; : Write files out to &lt;path&gt; (&lt;path&gt; *MUST* already exist)</div>
    362<div class="line">-sym=&lt;prefix&gt;: Add symbols starting with &lt;prefix&gt; to match + update list.</div>
    363<div class="line">               Default entry is &quot;___bank_&quot; (see below)</div>
    364<div class="line">-cartsize    : Print min required cart size as &quot;autocartsize:&lt;NNN&gt;&quot;</div>
    365<div class="line">-plat=&lt;plat&gt; : 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: &quot;bankpack -ext=.rel -path=some/newpath/ file1.o file2.o&quot;</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 &lt;size&gt; flags &lt;flags&gt; addr &lt;address&gt;</div>
    376<div class="line">S b_&lt;function name&gt; Def0000FF</div>
    377<div class="line">S ___bank_&lt;const name&gt; Def0000FF</div>
    378<div class="line">    (Above can be made by: const void __at(255) __bank_&lt;const name&gt;;</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 &gt;&gt; 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 &gt;&gt; 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: &quot;ihx_check build/MyProject.ihx&quot;</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] [&lt;in_file&gt; [&lt;out_file&gt;]]</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">  &lt;in_file&gt;      optional IHX input file, &#39;-&#39; means stdin. (default: stdin)</div>
    494<div class="line">  &lt;out_file&gt;     optional output file, &#39;-&#39; 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=&lt;NAME&gt; : specify variable name for c source output</div>
    508<div class="line">--alg=&lt;type&gt;     : specify compression type: &#39;rle&#39;, &#39;gb&#39; (default)</div>
    509<div class="line">Example: &quot;gbcompress binaryfile.bin compressed.bin&quot;</div>
    510<div class="line">Example: &quot;gbcompress -d compressedfile.bin decompressed.bin&quot;</div>
    511<div class="line">Example: &quot;gbcompress --alg=rle binaryfile.bin compressed.bin&quot;</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    &lt;file&gt;.png [options]</div>
    519<div class="line">-c                  ouput file (default: &lt;png file&gt;.c)</div>
    520<div class="line">-sw &lt;width&gt;         metasprites width size (default: png width)</div>
    521<div class="line">-sh &lt;height&gt;        metasprites height size (default: png height)</div>
    522<div class="line">-sp &lt;props&gt;         change default for sprite OAM property bytes (in hex) (default: 0x00)</div>
    523<div class="line">-px &lt;x coord&gt;       metasprites pivot x coordinate (default: metasprites width / 2)</div>
    524<div class="line">-py &lt;y coord&gt;       metasprites pivot y coordinate (default: metasprites height / 2)</div>
    525<div class="line">-pw &lt;width&gt;         metasprites collision rect widht (default: metasprites width)</div>
    526<div class="line">-ph &lt;height&gt;        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 &lt;bank&gt;           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>