mirror of
https://github.com/gbdk-2020/gbdk-2020.git
synced 2026-03-04 14:34:51 +01:00
632 lines
45 KiB
HTML
632 lines
45 KiB
HTML
<!-- HTML header for doxygen 1.8.14-->
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="cache-control" content="max-age=86400"/>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.20"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>GBDK 2020 Docs: Toolchain settings</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">GBDK 2020 Docs
|
|
</div>
|
|
<div id="projectbrief">API Documentation for GBDK 2020</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.20 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(function(){initNavTree('docs_toolchain_settings.html',''); initResizable(); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="PageDoc"><div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">Toolchain settings </div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><p><a class="anchor" id="lcc-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md148"></a>
|
|
lcc settings</h1>
|
|
<div class="fragment"><div class="line">./lcc [ option | file ]...</div>
|
|
<div class="line"> except for -l, options are processed left-to-right before files</div>
|
|
<div class="line"> unrecognized options are taken to be linker options</div>
|
|
<div class="line">-A warn about nonANSI usage; 2nd -A warns more</div>
|
|
<div class="line">-b emit expression-level profiling code; see bprint(1)</div>
|
|
<div class="line">-Bdir/ use the compiler named `dir/rcc'</div>
|
|
<div class="line">-c compile only</div>
|
|
<div class="line">-dn set switch statement density to `n'</div>
|
|
<div class="line">-debug turn on --debug for compiler, -y (.cdb) and -j (.noi) for linker</div>
|
|
<div class="line">-Dname -Dname=def define the preprocessor symbol `name'</div>
|
|
<div class="line">-E run only the preprocessor on the named C programs and unsuffixed files</div>
|
|
<div class="line">-g produce symbol table information for debuggers</div>
|
|
<div class="line">-help or -? print this message</div>
|
|
<div class="line">-Idir add `dir' to the beginning of the list of #include directories</div>
|
|
<div class="line">-K don't run ihxcheck test on linker ihx output</div>
|
|
<div class="line">-lx search library `x'</div>
|
|
<div class="line">-N do not search the standard directories for #include files</div>
|
|
<div class="line">-n emit code to check for dereferencing zero pointers</div>
|
|
<div class="line">-O is ignored</div>
|
|
<div class="line">-o file leave the output in `file'</div>
|
|
<div class="line">-P print ANSI-style declarations for globals</div>
|
|
<div class="line">-p -pg emit profiling code; see prof(1) and gprof(1)</div>
|
|
<div class="line">-S compile to assembly language</div>
|
|
<div class="line">-autobank auto-assign banks set to 255 (bankpack)</div>
|
|
<div class="line">-static specify static libraries (default is dynamic)</div>
|
|
<div class="line">-t -tname emit function tracing calls to printf or to `name'</div>
|
|
<div class="line">-target name is ignored</div>
|
|
<div class="line">-tempdir=dir place temporary files in `dir/'; default=/tmp</div>
|
|
<div class="line">-Uname undefine the preprocessor symbol `name'</div>
|
|
<div class="line">-v show commands as they are executed; 2nd -v suppresses execution</div>
|
|
<div class="line">-w suppress warnings</div>
|
|
<div class="line">-Woarg specify system-specific `arg'</div>
|
|
<div class="line">-W[pfablim]arg pass `arg' to the preprocessor, compiler, assembler, bankpack, linker, ihxcheck, or makebin</div>
|
|
</div><!-- fragment --><p><a class="anchor" id="sdcc-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md149"></a>
|
|
sdcc settings</h1>
|
|
<div class="fragment"><div class="line">SDCC : mcs51/z80/z180/r2k/r2ka/r3ka/gbz80/tlcs90/ez80_z80/z80n/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15 4.1.0 #12069 (Linux)</div>
|
|
<div class="line">published under GNU General Public License (GPL)</div>
|
|
<div class="line">Usage : sdcc [options] filename</div>
|
|
<div class="line">Options :-</div>
|
|
<div class="line"> </div>
|
|
<div class="line">General options:</div>
|
|
<div class="line"> --help Display this help</div>
|
|
<div class="line"> -v --version Display sdcc's version</div>
|
|
<div class="line"> --verbose Trace calls to the preprocessor, assembler, and linker</div>
|
|
<div class="line"> -V Execute verbosely. Show sub commands as they are run</div>
|
|
<div class="line"> -d Output list of macro definitions in effect. Use with -E</div>
|
|
<div class="line"> -D Define macro as in -Dmacro</div>
|
|
<div class="line"> -I Add to the include (*.h) path, as in -Ipath</div>
|
|
<div class="line"> -A </div>
|
|
<div class="line"> -U Undefine macro as in -Umacro</div>
|
|
<div class="line"> -M Preprocessor option</div>
|
|
<div class="line"> -W Pass through options to the pre-processor (p), assembler (a) or linker (l)</div>
|
|
<div class="line"> -S Compile only; do not assemble or link</div>
|
|
<div class="line"> -c --compile-only Compile and assemble, but do not link</div>
|
|
<div class="line"> -E --preprocessonly Preprocess only, do not compile</div>
|
|
<div class="line"> --c1mode Act in c1 mode. The standard input is preprocessed code, the output is assembly code.</div>
|
|
<div class="line"> -o Place the output into the given path resp. file</div>
|
|
<div class="line"> -x Optional file type override (c, c-header or none), valid until the next -x</div>
|
|
<div class="line"> --print-search-dirs display the directories in the compiler's search path</div>
|
|
<div class="line"> --vc messages are compatible with Micro$oft visual studio</div>
|
|
<div class="line"> --use-stdout send errors to stdout instead of stderr</div>
|
|
<div class="line"> --nostdlib Do not include the standard library directory in the search path</div>
|
|
<div class="line"> --nostdinc Do not include the standard include directory in the search path</div>
|
|
<div class="line"> --less-pedantic Disable some of the more pedantic warnings</div>
|
|
<div class="line"> --disable-warning <nnnn> Disable specific warning</div>
|
|
<div class="line"> --Werror Treat the warnings as errors</div>
|
|
<div class="line"> --debug Enable debugging symbol output</div>
|
|
<div class="line"> --cyclomatic Display complexity of compiled functions</div>
|
|
<div class="line"> --std-c89 Use ISO C90 (aka ANSI C89) standard (slightly incomplete)</div>
|
|
<div class="line"> --std-sdcc89 Use ISO C90 (aka ANSI C89) standard with SDCC extensions</div>
|
|
<div class="line"> --std-c95 Use ISO C95 (aka ISO C94) standard (slightly incomplete)</div>
|
|
<div class="line"> --std-c99 Use ISO C99 standard (incomplete)</div>
|
|
<div class="line"> --std-sdcc99 Use ISO C99 standard with SDCC extensions</div>
|
|
<div class="line"> --std-c11 Use ISO C11 standard (incomplete)</div>
|
|
<div class="line"> --std-sdcc11 Use ISO C11 standard with SDCC extensions (default)</div>
|
|
<div class="line"> --std-c2x Use ISO C2X standard (incomplete)</div>
|
|
<div class="line"> --std-sdcc2x Use ISO C2X standard with SDCC extensions</div>
|
|
<div class="line"> --fdollars-in-identifiers Permit '$' as an identifier character</div>
|
|
<div class="line"> --fsigned-char Make "char" signed by default</div>
|
|
<div class="line"> --use-non-free Search / include non-free licensed libraries and header files</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Code generation options:</div>
|
|
<div class="line"> -m Set the port to use e.g. -mz80.</div>
|
|
<div class="line"> -p Select port specific processor e.g. -mpic14 -p16f84</div>
|
|
<div class="line"> --stack-auto Stack automatic variables</div>
|
|
<div class="line"> --xstack Use external stack</div>
|
|
<div class="line"> --int-long-reent Use reentrant calls on the int and long support functions</div>
|
|
<div class="line"> --float-reent Use reentrant calls on the float support functions</div>
|
|
<div class="line"> --xram-movc Use movc instead of movx to read xram (xdata)</div>
|
|
<div class="line"> --callee-saves <func[,func,...]> Cause the called function to save registers instead of the caller</div>
|
|
<div class="line"> --profile On supported ports, generate extra profiling information</div>
|
|
<div class="line"> --fomit-frame-pointer Leave out the frame pointer.</div>
|
|
<div class="line"> --all-callee-saves callee will always save registers used</div>
|
|
<div class="line"> --stack-probe insert call to function __stack_probe at each function prologue</div>
|
|
<div class="line"> --no-xinit-opt don't memcpy initialized xram from code</div>
|
|
<div class="line"> --no-c-code-in-asm don't include c-code as comments in the asm file</div>
|
|
<div class="line"> --no-peep-comments don't include peephole optimizer comments</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --dataseg <name> use this name for the data segment</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Optimization options:</div>
|
|
<div class="line"> --nooverlay Disable overlaying leaf function auto variables</div>
|
|
<div class="line"> --nogcse Disable the GCSE optimisation</div>
|
|
<div class="line"> --nolabelopt Disable label optimisation</div>
|
|
<div class="line"> --noinvariant Disable optimisation of invariants</div>
|
|
<div class="line"> --noinduction Disable loop variable induction</div>
|
|
<div class="line"> --noloopreverse Disable the loop reverse optimisation</div>
|
|
<div class="line"> --no-peep Disable the peephole assembly file optimisation</div>
|
|
<div class="line"> --no-reg-params On some ports, disable passing some parameters in registers</div>
|
|
<div class="line"> --peep-asm Enable peephole optimization on inline assembly</div>
|
|
<div class="line"> --peep-return Enable peephole optimization for return instructions</div>
|
|
<div class="line"> --no-peep-return Disable peephole optimization for return instructions</div>
|
|
<div class="line"> --peep-file <file> use this extra peephole file</div>
|
|
<div class="line"> --opt-code-speed Optimize for code speed rather than size</div>
|
|
<div class="line"> --opt-code-size Optimize for code size rather than speed</div>
|
|
<div class="line"> --max-allocs-per-node Maximum number of register assignments considered at each node of the tree decomposition</div>
|
|
<div class="line"> --nolospre Disable lospre</div>
|
|
<div class="line"> --allow-unsafe-read Allow optimizations to read any memory location anytime</div>
|
|
<div class="line"> --nostdlibcall Disable optimization of calls to standard library</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Internal debugging options:</div>
|
|
<div class="line"> --dump-ast Dump front-end AST before generating i-code</div>
|
|
<div class="line"> --dump-i-code Dump the i-code structure at all stages</div>
|
|
<div class="line"> --dump-graphs Dump graphs (control-flow, conflict, etc)</div>
|
|
<div class="line"> --i-code-in-asm Include i-code as comments in the asm file</div>
|
|
<div class="line"> --fverbose-asm Include code generator comments in the asm output</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Linker options:</div>
|
|
<div class="line"> -l Include the given library in the link</div>
|
|
<div class="line"> -L Add the next field to the library search path</div>
|
|
<div class="line"> --lib-path <path> use this path to search for libraries</div>
|
|
<div class="line"> --out-fmt-ihx Output in Intel hex format</div>
|
|
<div class="line"> --out-fmt-s19 Output in S19 hex format</div>
|
|
<div class="line"> --xram-loc <nnnn> External Ram start location</div>
|
|
<div class="line"> --xram-size <nnnn> External Ram size</div>
|
|
<div class="line"> --iram-size <nnnn> Internal Ram size</div>
|
|
<div class="line"> --xstack-loc <nnnn> External Stack start location</div>
|
|
<div class="line"> --code-loc <nnnn> Code Segment Location</div>
|
|
<div class="line"> --code-size <nnnn> Code Segment size</div>
|
|
<div class="line"> --stack-loc <nnnn> Stack pointer initial value</div>
|
|
<div class="line"> --data-loc <nnnn> Direct data start location</div>
|
|
<div class="line"> --idata-loc </div>
|
|
<div class="line"> --no-optsdcc-in-asm Do not emit .optsdcc in asm</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the mcs51 port:</div>
|
|
<div class="line"> --model-small internal data space is used (default)</div>
|
|
<div class="line"> --model-medium external paged data space is used</div>
|
|
<div class="line"> --model-large external data space is used</div>
|
|
<div class="line"> --model-huge functions are banked, data in external space</div>
|
|
<div class="line"> --stack-size Tells the linker to allocate this space for stack</div>
|
|
<div class="line"> --parms-in-bank1 use Bank1 for parameter passing</div>
|
|
<div class="line"> --acall-ajmp Use acall/ajmp instead of lcall/ljmp</div>
|
|
<div class="line"> --no-ret-without-call Do not use ret independent of acall/lcall</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the z80 port:</div>
|
|
<div class="line"> --callee-saves-bc Force a called function to always save BC</div>
|
|
<div class="line"> --portmode= Determine PORT I/O mode (z80/z180)</div>
|
|
<div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --dataseg <name> use this name for the data segment</div>
|
|
<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div>
|
|
<div class="line"> --reserve-regs-iy Do not use IY (incompatible with --fomit-frame-pointer)</div>
|
|
<div class="line"> --oldralloc Use old register allocator</div>
|
|
<div class="line"> --fno-omit-frame-pointer Do not omit frame pointer</div>
|
|
<div class="line"> --emit-externs Emit externs list in generated asm</div>
|
|
<div class="line"> --legacy-banking Use legacy method to call banked functions</div>
|
|
<div class="line"> --nmos-z80 Generate workaround for NMOS Z80 when saving IFF2</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the z180 port:</div>
|
|
<div class="line"> --callee-saves-bc Force a called function to always save BC</div>
|
|
<div class="line"> --portmode= Determine PORT I/O mode (z80/z180)</div>
|
|
<div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --dataseg <name> use this name for the data segment</div>
|
|
<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div>
|
|
<div class="line"> --reserve-regs-iy Do not use IY (incompatible with --fomit-frame-pointer)</div>
|
|
<div class="line"> --oldralloc Use old register allocator</div>
|
|
<div class="line"> --fno-omit-frame-pointer Do not omit frame pointer</div>
|
|
<div class="line"> --emit-externs Emit externs list in generated asm</div>
|
|
<div class="line"> --legacy-banking Use legacy method to call banked functions</div>
|
|
<div class="line"> --nmos-z80 Generate workaround for NMOS Z80 when saving IFF2</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the r2k port:</div>
|
|
<div class="line"> --callee-saves-bc Force a called function to always save BC</div>
|
|
<div class="line"> --portmode= Determine PORT I/O mode (z80/z180)</div>
|
|
<div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --dataseg <name> use this name for the data segment</div>
|
|
<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div>
|
|
<div class="line"> --reserve-regs-iy Do not use IY (incompatible with --fomit-frame-pointer)</div>
|
|
<div class="line"> --oldralloc Use old register allocator</div>
|
|
<div class="line"> --fno-omit-frame-pointer Do not omit frame pointer</div>
|
|
<div class="line"> --emit-externs Emit externs list in generated asm</div>
|
|
<div class="line"> --legacy-banking Use legacy method to call banked functions</div>
|
|
<div class="line"> --nmos-z80 Generate workaround for NMOS Z80 when saving IFF2</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the r2ka port:</div>
|
|
<div class="line"> --callee-saves-bc Force a called function to always save BC</div>
|
|
<div class="line"> --portmode= Determine PORT I/O mode (z80/z180)</div>
|
|
<div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --dataseg <name> use this name for the data segment</div>
|
|
<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div>
|
|
<div class="line"> --reserve-regs-iy Do not use IY (incompatible with --fomit-frame-pointer)</div>
|
|
<div class="line"> --oldralloc Use old register allocator</div>
|
|
<div class="line"> --fno-omit-frame-pointer Do not omit frame pointer</div>
|
|
<div class="line"> --emit-externs Emit externs list in generated asm</div>
|
|
<div class="line"> --legacy-banking Use legacy method to call banked functions</div>
|
|
<div class="line"> --nmos-z80 Generate workaround for NMOS Z80 when saving IFF2</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the r3ka port:</div>
|
|
<div class="line"> --callee-saves-bc Force a called function to always save BC</div>
|
|
<div class="line"> --portmode= Determine PORT I/O mode (z80/z180)</div>
|
|
<div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --dataseg <name> use this name for the data segment</div>
|
|
<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div>
|
|
<div class="line"> --reserve-regs-iy Do not use IY (incompatible with --fomit-frame-pointer)</div>
|
|
<div class="line"> --oldralloc Use old register allocator</div>
|
|
<div class="line"> --fno-omit-frame-pointer Do not omit frame pointer</div>
|
|
<div class="line"> --emit-externs Emit externs list in generated asm</div>
|
|
<div class="line"> --legacy-banking Use legacy method to call banked functions</div>
|
|
<div class="line"> --nmos-z80 Generate workaround for NMOS Z80 when saving IFF2</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the gbz80 port:</div>
|
|
<div class="line"> -bo <num> use code bank <num></div>
|
|
<div class="line"> -ba <num> use data bank <num></div>
|
|
<div class="line"> --callee-saves-bc Force a called function to always save BC</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --dataseg <name> use this name for the data segment</div>
|
|
<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div>
|
|
<div class="line"> --legacy-banking Use legacy method to call banked functions</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the tlcs90 port:</div>
|
|
<div class="line"> --callee-saves-bc Force a called function to always save BC</div>
|
|
<div class="line"> --portmode= Determine PORT I/O mode (z80/z180)</div>
|
|
<div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --dataseg <name> use this name for the data segment</div>
|
|
<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div>
|
|
<div class="line"> --reserve-regs-iy Do not use IY (incompatible with --fomit-frame-pointer)</div>
|
|
<div class="line"> --oldralloc Use old register allocator</div>
|
|
<div class="line"> --fno-omit-frame-pointer Do not omit frame pointer</div>
|
|
<div class="line"> --emit-externs Emit externs list in generated asm</div>
|
|
<div class="line"> --legacy-banking Use legacy method to call banked functions</div>
|
|
<div class="line"> --nmos-z80 Generate workaround for NMOS Z80 when saving IFF2</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the ez80_z80 port:</div>
|
|
<div class="line"> --callee-saves-bc Force a called function to always save BC</div>
|
|
<div class="line"> --portmode= Determine PORT I/O mode (z80/z180)</div>
|
|
<div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --dataseg <name> use this name for the data segment</div>
|
|
<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div>
|
|
<div class="line"> --reserve-regs-iy Do not use IY (incompatible with --fomit-frame-pointer)</div>
|
|
<div class="line"> --oldralloc Use old register allocator</div>
|
|
<div class="line"> --fno-omit-frame-pointer Do not omit frame pointer</div>
|
|
<div class="line"> --emit-externs Emit externs list in generated asm</div>
|
|
<div class="line"> --legacy-banking Use legacy method to call banked functions</div>
|
|
<div class="line"> --nmos-z80 Generate workaround for NMOS Z80 when saving IFF2</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the z80n port:</div>
|
|
<div class="line"> --callee-saves-bc Force a called function to always save BC</div>
|
|
<div class="line"> --portmode= Determine PORT I/O mode (z80/z180)</div>
|
|
<div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --dataseg <name> use this name for the data segment</div>
|
|
<div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div>
|
|
<div class="line"> --reserve-regs-iy Do not use IY (incompatible with --fomit-frame-pointer)</div>
|
|
<div class="line"> --oldralloc Use old register allocator</div>
|
|
<div class="line"> --fno-omit-frame-pointer Do not omit frame pointer</div>
|
|
<div class="line"> --emit-externs Emit externs list in generated asm</div>
|
|
<div class="line"> --legacy-banking Use legacy method to call banked functions</div>
|
|
<div class="line"> --nmos-z80 Generate workaround for NMOS Z80 when saving IFF2</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the ds390 port:</div>
|
|
<div class="line"> --model-flat24 use the flat24 model for the ds390 (default)</div>
|
|
<div class="line"> --stack-8bit use the 8bit stack for the ds390 (not supported yet)</div>
|
|
<div class="line"> --stack-size Tells the linker to allocate this space for stack</div>
|
|
<div class="line"> --stack-10bit use the 10bit stack for ds390 (default)</div>
|
|
<div class="line"> --use-accelerator generate code for ds390 arithmetic accelerator</div>
|
|
<div class="line"> --protect-sp-update will disable interrupts during ESP:SP updates</div>
|
|
<div class="line"> --parms-in-bank1 use Bank1 for parameter passing</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the pic16 port:</div>
|
|
<div class="line"> --pstack-model= use stack model 'small' (default) or 'large'</div>
|
|
<div class="line"> -y --extended enable Extended Instruction Set/Literal Offset Addressing mode</div>
|
|
<div class="line"> --pno-banksel do not generate BANKSEL assembler directives</div>
|
|
<div class="line"> --obanksel= set banksel optimization level (default=0 no)</div>
|
|
<div class="line"> --denable-peeps explicit enable of peepholes</div>
|
|
<div class="line"> --no-optimize-goto do NOT use (conditional) BRA instead of GOTO</div>
|
|
<div class="line"> --optimize-cmp try to optimize some compares</div>
|
|
<div class="line"> --optimize-df thoroughly analyze data flow (memory and time intensive!)</div>
|
|
<div class="line"> --asm= Use alternative assembler</div>
|
|
<div class="line"> --mplab-comp enable compatibility mode for MPLAB utilities (MPASM/MPLINK)</div>
|
|
<div class="line"> --link= Use alternative linker</div>
|
|
<div class="line"> --preplace-udata-with= Place udata variables at another section: udata_acs, udata_ovr, udata_shr</div>
|
|
<div class="line"> --ivt-loc= Set address of interrupt vector table.</div>
|
|
<div class="line"> --nodefaultlibs do not link default libraries when linking</div>
|
|
<div class="line"> --use-crt= use <crt-o> run-time initialization module</div>
|
|
<div class="line"> --no-crt do not link any default run-time initialization module</div>
|
|
<div class="line"> --debug-xtra show more debug info in assembly output</div>
|
|
<div class="line"> --debug-ralloc dump register allocator debug file *.d</div>
|
|
<div class="line"> --pcode-verbose dump pcode related info</div>
|
|
<div class="line"> --calltree dump call tree in .calltree file</div>
|
|
<div class="line"> --gstack trace stack pointer push/pop to overflow</div>
|
|
<div class="line"> --no-warn-non-free suppress warning on absent --use-non-free option</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the pic14 port:</div>
|
|
<div class="line"> --debug-xtra show more debug info in assembly output</div>
|
|
<div class="line"> --no-pcode-opt disable (slightly faulty) optimization on pCode</div>
|
|
<div class="line"> --stack-size sets the size if the argument passing stack (default: 16, minimum: 4)</div>
|
|
<div class="line"> --no-extended-instructions forbid use of the extended instruction set (e.g., ADDFSR)</div>
|
|
<div class="line"> --no-warn-non-free suppress warning on absent --use-non-free option</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the TININative port:</div>
|
|
<div class="line"> --model-flat24 use the flat24 model for the ds390 (default)</div>
|
|
<div class="line"> --stack-8bit use the 8bit stack for the ds390 (not supported yet)</div>
|
|
<div class="line"> --stack-size Tells the linker to allocate this space for stack</div>
|
|
<div class="line"> --stack-10bit use the 10bit stack for ds390 (default)</div>
|
|
<div class="line"> --use-accelerator generate code for ds390 arithmetic accelerator</div>
|
|
<div class="line"> --protect-sp-update will disable interrupts during ESP:SP updates</div>
|
|
<div class="line"> --parms-in-bank1 use Bank1 for parameter passing</div>
|
|
<div class="line"> --tini-libid <nnnn> LibraryID used in -mTININative</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the ds400 port:</div>
|
|
<div class="line"> --model-flat24 use the flat24 model for the ds400 (default)</div>
|
|
<div class="line"> --stack-8bit use the 8bit stack for the ds400 (not supported yet)</div>
|
|
<div class="line"> --stack-size Tells the linker to allocate this space for stack</div>
|
|
<div class="line"> --stack-10bit use the 10bit stack for ds400 (default)</div>
|
|
<div class="line"> --use-accelerator generate code for ds400 arithmetic accelerator</div>
|
|
<div class="line"> --protect-sp-update will disable interrupts during ESP:SP updates</div>
|
|
<div class="line"> --parms-in-bank1 use Bank1 for parameter passing</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the hc08 port:</div>
|
|
<div class="line"> --model-small 8-bit address space for data</div>
|
|
<div class="line"> --model-large 16-bit address space for data (default)</div>
|
|
<div class="line"> --out-fmt-elf Output executable in ELF format</div>
|
|
<div class="line"> --oldralloc Use old register allocator</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the s08 port:</div>
|
|
<div class="line"> --model-small 8-bit address space for data</div>
|
|
<div class="line"> --model-large 16-bit address space for data (default)</div>
|
|
<div class="line"> --out-fmt-elf Output executable in ELF format</div>
|
|
<div class="line"> --oldralloc Use old register allocator</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the stm8 port:</div>
|
|
<div class="line"> --model-medium 16-bit address space for both data and code (default)</div>
|
|
<div class="line"> --model-large 16-bit address space for data, 24-bit for code</div>
|
|
<div class="line"> --codeseg <name> use this name for the code segment</div>
|
|
<div class="line"> --constseg <name> use this name for the const segment</div>
|
|
<div class="line"> --out-fmt-elf Output executable in ELF format</div>
|
|
</div><!-- fragment --><p><a class="anchor" id="sdasgb-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md150"></a>
|
|
sdasgb settings</h1>
|
|
<div class="fragment"><div class="line">sdas Assembler V02.00 + NoICE + SDCC mods (GameBoy Z80-like CPU)</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> </div>
|
|
<div class="line">Copyright (C) 2012 Alan R. Baldwin</div>
|
|
<div class="line">This program comes with ABSOLUTELY NO WARRANTY.</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Usage: [-Options] file</div>
|
|
<div class="line">Usage: [-Options] outfile file1 [file2 file3 ...]</div>
|
|
<div class="line"> -d Decimal listing</div>
|
|
<div class="line"> -q Octal listing</div>
|
|
<div class="line"> -x Hex listing (default)</div>
|
|
<div class="line"> -g Undefined symbols made global</div>
|
|
<div class="line"> -a All user symbols made global</div>
|
|
<div class="line"> -b Display .define substitutions in listing</div>
|
|
<div class="line"> -bb and display without .define substitutions</div>
|
|
<div class="line"> -c Disable instruction cycle count in listing</div>
|
|
<div class="line"> -j Enable NoICE Debug Symbols</div>
|
|
<div class="line"> -y Enable SDCC Debug Symbols</div>
|
|
<div class="line"> -l Create list file/outfile[.lst]</div>
|
|
<div class="line"> -o Create object file/outfile[.rel]</div>
|
|
<div class="line"> -s Create symbol file/outfile[.sym]</div>
|
|
<div class="line"> -p Disable automatic listing pagination</div>
|
|
<div class="line"> -u Disable .list/.nlist processing</div>
|
|
<div class="line"> -w Wide listing format for symbol table</div>
|
|
<div class="line"> -z Disable case sensitivity for symbols</div>
|
|
<div class="line"> -f Flag relocatable references by ` in listing file</div>
|
|
<div class="line"> -ff Flag relocatable references by mode in listing file</div>
|
|
<div class="line"> -I Add the named directory to the include file</div>
|
|
<div class="line"> search path. This option may be used more than once.</div>
|
|
<div class="line"> Directories are searched in the order given.</div>
|
|
<div class="line"> </div>
|
|
<div class="line">removing </div>
|
|
</div><!-- fragment --><p><a class="anchor" id="bankpack-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md151"></a>
|
|
bankpack settings</h1>
|
|
<div class="fragment"><div class="line">bankalloc [options] objfile1 objfile2 etc</div>
|
|
<div class="line">Use: Read .o files and auto-assign areas with bank=255.</div>
|
|
<div class="line"> Typically called by Lcc compiler driver before linker.</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Options</div>
|
|
<div class="line">-h : Show this help</div>
|
|
<div class="line">-yt<mbctype> : Set MBC type per ROM byte 149 in Decimal or Hex (0xNN) (see pandocs)</div>
|
|
<div class="line">-mbc=N : Similar to -yt, but sets MBC type directly to N instead</div>
|
|
<div class="line"> of by intepreting ROM byte 149</div>
|
|
<div class="line"> mbc1 will exclude banks {0x20,0x40,0x60} max=127, </div>
|
|
<div class="line"> mbc2 max=15, mbc3 max=127, mbc5 max=255 (not 511!) </div>
|
|
<div class="line">-min=N : Min assigned ROM bank is N (default 1)</div>
|
|
<div class="line">-max=N : Max assigned ROM bank is N, error if exceeded</div>
|
|
<div class="line">-ext=<.ext> : Write files out with <.ext> instead of source extension</div>
|
|
<div class="line">-path=<path> : Write files out to <path> (<path> *MUST* already exist)</div>
|
|
<div class="line">-sym=<prefix>: Add symbols starting with <prefix> to match + update list.</div>
|
|
<div class="line"> Default entry is "___bank_" (see below)</div>
|
|
<div class="line">-cartsize : Print min required cart size as "autocartsize:<NNN>"</div>
|
|
<div class="line">-v : Verbose output, show assignments</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Example: "bankpack -ext=.rel -path=some/newpath/ file1.o file2.o"</div>
|
|
<div class="line">Unless -ext or -path specify otherwise, input files are overwritten.</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Default MBC type is not set. It *must* be specified by -mbc= or -yt!</div>
|
|
<div class="line"> </div>
|
|
<div class="line">The following will have FF and 255 replaced with the assigned bank:</div>
|
|
<div class="line">A _CODE_255 size <size> flags <flags> addr <address></div>
|
|
<div class="line">S b_<function name> Def0000FF</div>
|
|
<div class="line">S ___bank_<const name> Def0000FF</div>
|
|
<div class="line"> (Above can be made by: const void __at(255) __bank_<const name>;</div>
|
|
</div><!-- fragment --><p><a class="anchor" id="sdldgb-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md152"></a>
|
|
sdldgb settings</h1>
|
|
<div class="fragment"><div class="line">sdld Linker V03.00 + NoICE + sdld</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Usage: [-Options] [-Option with arg] file</div>
|
|
<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div>
|
|
<div class="line">Startup:</div>
|
|
<div class="line"> -p Echo commands to stdout (default)</div>
|
|
<div class="line"> -n No echo of commands to stdout</div>
|
|
<div class="line">Alternates to Command Line Input:</div>
|
|
<div class="line"> -c ASlink >> prompt input</div>
|
|
<div class="line"> -f file[.lk] Command File input</div>
|
|
<div class="line">Libraries:</div>
|
|
<div class="line"> -k Library path specification, one per -k</div>
|
|
<div class="line"> -l Library file specification, one per -l</div>
|
|
<div class="line">Relocation:</div>
|
|
<div class="line"> -b area base address = expression</div>
|
|
<div class="line"> -g global symbol = expression</div>
|
|
<div class="line">Map format:</div>
|
|
<div class="line"> -m Map output generated as (out)file[.map]</div>
|
|
<div class="line"> -w Wide listing format for map file</div>
|
|
<div class="line"> -x Hexadecimal (default)</div>
|
|
<div class="line"> -d Decimal</div>
|
|
<div class="line"> -q Octal</div>
|
|
<div class="line">Output:</div>
|
|
<div class="line"> -i Intel Hex as (out)file[.ihx]</div>
|
|
<div class="line"> -s Motorola S Record as (out)file[.s19]</div>
|
|
<div class="line"> -j NoICE Debug output as (out)file[.noi]</div>
|
|
<div class="line"> -y SDCDB Debug output as (out)file[.cdb]</div>
|
|
<div class="line">List:</div>
|
|
<div class="line"> -u Update listing file(s) with link data as file(s)[.rst]</div>
|
|
<div class="line">Case Sensitivity:</div>
|
|
<div class="line"> -z Disable Case Sensitivity for Symbols</div>
|
|
<div class="line">End:</div>
|
|
<div class="line"> -e or null line terminates input</div>
|
|
</div><!-- fragment --><p><a class="anchor" id="ihxcheck-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md153"></a>
|
|
ihxcheck settings</h1>
|
|
<div class="fragment"><div class="line">ihx_check input_file.ihx [options]</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Options</div>
|
|
<div class="line">-h : Show this help</div>
|
|
<div class="line">-e : Treat warnings as errors</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Use: Read a .ihx and warn about overlapped areas.</div>
|
|
<div class="line">Example: "ihx_check build/MyProject.ihx"</div>
|
|
</div><!-- fragment --><p><a class="anchor" id="makebin-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md154"></a>
|
|
makebin settings</h1>
|
|
<div class="fragment"><div class="line">makebin: convert a Intel IHX file to binary or GameBoy format binary.</div>
|
|
<div class="line">Usage: makebin [options] [<in_file> [<out_file>]]</div>
|
|
<div class="line">Options:</div>
|
|
<div class="line"> -p pack mode: the binary file size will be truncated to the last occupied byte</div>
|
|
<div class="line"> -s romsize size of the binary file (default: rom banks * 16384)</div>
|
|
<div class="line"> -Z genarate GameBoy format binary file</div>
|
|
<div class="line">GameBoy format options (applicable only with -Z option):</div>
|
|
<div class="line"> -yo n number of rom banks (default: 2) (autosize: A)</div>
|
|
<div class="line"> -ya n number of ram banks (default: 0)</div>
|
|
<div class="line"> -yt n MBC type (default: no MBC)</div>
|
|
<div class="line"> -yl n old licensee code (default: 0x33)</div>
|
|
<div class="line"> -yk cc new licensee string (default: 00)</div>
|
|
<div class="line"> -yn name cartridge name (default: none)</div>
|
|
<div class="line"> -yc GameBoy Color compatible</div>
|
|
<div class="line"> -yC GameBoy Color only</div>
|
|
<div class="line"> -ys Super GameBoy</div>
|
|
<div class="line"> -yS Convert .noi file named like input file to .sym</div>
|
|
<div class="line"> -yj set non-Japanese region flag</div>
|
|
<div class="line"> -yp addr=value Set address in ROM to given value (address 0x100-0x1FE)</div>
|
|
<div class="line">Arguments:</div>
|
|
<div class="line"> <in_file> optional IHX input file, '-' means stdin. (default: stdin)</div>
|
|
<div class="line"> <out_file> optional output file, '-' means stdout. (default: stdout)</div>
|
|
</div><!-- fragment --><p><a class="anchor" id="gbcompress-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md155"></a>
|
|
gbcompress settings</h1>
|
|
<div class="fragment"><div class="line">gbcompress [options] infile outfile</div>
|
|
<div class="line">Use: Gbcompress a binary file and write it out.</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Options</div>
|
|
<div class="line">-h : Show this help screen</div>
|
|
<div class="line">-d : Decompress (default is compress)</div>
|
|
<div class="line">-v : Verbose output</div>
|
|
<div class="line">Example: "gbcompress binaryfile.bin compressed.bin"</div>
|
|
<div class="line">Example: "gbcompress -d compressedfile.bin decompressed.bin"</div>
|
|
</div><!-- fragment --><p><a class="anchor" id="png2mtspr-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md156"></a>
|
|
png2mtspr settings</h1>
|
|
<div class="fragment"><div class="line">usage: png2mtspr <file>.png [options]</div>
|
|
<div class="line">-c ouput file (default: <png file>.c)</div>
|
|
<div class="line">-sw <width> metasprites width size (default: png width)</div>
|
|
<div class="line">-sh <height> metasprites height size (default: png height)</div>
|
|
<div class="line">-sp <props> change default for sprite OAM property bytes (in hex) (default: 0x00)</div>
|
|
<div class="line">-px <x coord> metasprites pivot x coordinate (default: metasprites width / 2)</div>
|
|
<div class="line">-py <y coord> metasprites pivot y coordinate (default: metasprites height / 2)</div>
|
|
<div class="line">-spr8x8 use SPRITES_8x8 (default: SPRITES_8x16)</div>
|
|
<div class="line">-spr8x16 use SPRITES_8x16 (default: SPRITES_8x16)</div>
|
|
<div class="line">-b <bank> bank (default 0)</div>
|
|
</div><!-- fragment --> </div></div><!-- contents -->
|
|
</div><!-- PageDoc -->
|
|
</div><!-- doc-content -->
|
|
<!-- HTML footer for doxygen 1.8.14-->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
</div>
|
|
</body>
|
|
</html>
|