mirror of
https://github.com/gbdk-2020/gbdk-2020.git
synced 2026-03-06 15:29:00 +01:00
591 lines
39 KiB
HTML
591 lines
39 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.9.1"/>
|
|
<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
|
|
 <span id="projectnumber">4.1.1</span>
|
|
</div>
|
|
<div id="projectbrief">API Documentation for GBDK 2020</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.1 -->
|
|
<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','.html');
|
|
/* @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_md241"></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 Turns 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 only run preprocessor on named .c and .h files files -> stdout</div>
|
|
<div class="line">--save-preproc Use with -E for output to *.i files instead of stdout</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">-m select port and platform: "-m[port]:[plat]" ports:sm83,z80,mos6502 plats:ap,duck,gb,sms,gg,nes</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">-no-crt do not auto-include the gbdk crt0.o runtime in linker list</div>
|
|
<div class="line">-no-libs do not auto-include the gbdk libs in linker list</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_md242"></a>
|
|
sdcc settings</h1>
|
|
<div class="fragment"><div class="line">SDCC : z80/sm83/mos6502 4.2.2 #13350 (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"> --include Pre-include a file during pre-processing</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"> --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 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"> -bo <num> use code bank <num></div>
|
|
<div class="line"> -ba <num> use data bank <num></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 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"> --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"> --sdcccall Set ABI version for default calling convention</div>
|
|
<div class="line"> --allow-undocumented-instructions Allow use of undocumented instructions</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the sm83 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"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</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 Do not link default crt0.rel</div>
|
|
<div class="line"> --legacy-banking Use legacy method to call banked functions</div>
|
|
<div class="line"> --sdcccall Set ABI version for default calling convention</div>
|
|
<div class="line"> </div>
|
|
<div class="line">Special options for the mos6502 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"> --no-std-crt0 Do not link default crt0.rel</div>
|
|
</div><!-- fragment --><p> <a class="anchor" id="sdasgb-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md243"></a>
|
|
sdasgb settings</h1>
|
|
<div class="fragment"><div class="line">sdas Assembler V02.00 + NoICE + SDCC mods (GameBoy)</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] [-Option with arg] file</div>
|
|
<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div>
|
|
<div class="line"> -h or NO ARGUMENTS Show this help list</div>
|
|
<div class="line">Input:</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">Output:</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">Listing:</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"> -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"> -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"> -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">Assembly:</div>
|
|
<div class="line"> -v Enable out of range signed / unsigned errors</div>
|
|
<div class="line">Symbols:</div>
|
|
<div class="line"> -a All user symbols made global</div>
|
|
<div class="line"> -g Undefined symbols made global</div>
|
|
<div class="line"> -n Don't resolve global assigned value symbols</div>
|
|
<div class="line"> -z Disable case sensitivity for symbols</div>
|
|
<div class="line">Debugging:</div>
|
|
<div class="line"> -j Enable NoICE Debug Symbols</div>
|
|
<div class="line"> -y Enable SDCC Debug Symbols</div>
|
|
</div><!-- fragment --><p> <a class="anchor" id="sdasz80-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md244"></a>
|
|
sdasz80 settings</h1>
|
|
<div class="fragment"><div class="line">sdas Assembler V02.00 + NoICE + SDCC mods (GameBoy)</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] [-Option with arg] file</div>
|
|
<div class="line">Usage: [-Options] [-Option with arg] outfile file1 [file2 ...]</div>
|
|
<div class="line"> -h or NO ARGUMENTS Show this help list</div>
|
|
<div class="line">Input:</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">Output:</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">Listing:</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"> -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"> -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"> -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">Assembly:</div>
|
|
<div class="line"> -v Enable out of range signed / unsigned errors</div>
|
|
<div class="line">Symbols:</div>
|
|
<div class="line"> -a All user symbols made global</div>
|
|
<div class="line"> -g Undefined symbols made global</div>
|
|
<div class="line"> -n Don't resolve global assigned value symbols</div>
|
|
<div class="line"> -z Disable case sensitivity for symbols</div>
|
|
<div class="line">Debugging:</div>
|
|
<div class="line"> -j Enable NoICE Debug Symbols</div>
|
|
<div class="line"> -y Enable SDCC Debug Symbols</div>
|
|
</div><!-- fragment --><p> <a class="anchor" id="bankpack-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md245"></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">-lkin=<file> : Load object files specified in linker file <file></div>
|
|
<div class="line">-lkout=<file> : Write list of object files out to linker file <file></div>
|
|
<div class="line">-yt<mbctype> : Set MBC type per ROM byte 149 in Decimal or Hex (0xNN)</div>
|
|
<div class="line"> ([see pandocs](https://gbdev.io/pandocs/The_Cartridge_Header.html#0147---cartridge-type))</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">-plat=<plat> : Select platform specific behavior (default:gb) (gb,sms)</div>
|
|
<div class="line">-random : Distribute banks randomly for testing (honors -min/-max)</div>
|
|
<div class="line">-reserve=<b:n>: Reserve N bytes (hex) in bank B (decimal)</div>
|
|
<div class="line"> Ex: -reserve=105:30F reserves 0x30F bytes in bank 105</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_md246"></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="sdldz80-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md247"></a>
|
|
sdldz80 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_md248"></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_md249"></a>
|
|
makebin settings</h1>
|
|
<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>
|
|
<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 generate GameBoy format binary file</div>
|
|
<div class="line"> -S generate Sega Master System format binary file</div>
|
|
<div class="line"> -N generate Famicom/NES format binary file</div>
|
|
<div class="line"> -o bytes skip amount of bytes in binary file</div>
|
|
<div class="line">SMS format options (applicable only with -S option):</div>
|
|
<div class="line"> -xo n rom size (0xa-0x2) (default: 0xc)</div>
|
|
<div class="line"> -xj n set region code (3-7) (default: 4)</div>
|
|
<div class="line"> -xv n version number (0-15) (default: 0)</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"> -yN do not copy big N validation logo into ROM header</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="makecom-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md250"></a>
|
|
makecom settings</h1>
|
|
<div class="fragment"><div class="line">makecom image.rom image.noi output.com</div>
|
|
<div class="line">Use: convert a binary .rom file to .msxdos com format.</div>
|
|
</div><!-- fragment --><p> <a class="anchor" id="gbcompress-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md251"></a>
|
|
gbcompress settings</h1>
|
|
<div class="fragment"><div class="line">gbcompress [options] infile outfile</div>
|
|
<div class="line">Use: compress 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">--cin : Read input as .c source format (8 bit char ONLY, uses first array found)</div>
|
|
<div class="line">--cout : Write output in .c / .h source format (8 bit char ONLY) </div>
|
|
<div class="line">--varname=<NAME> : specify variable name for c source output</div>
|
|
<div class="line">--alg=<type> : specify compression type: 'rle', 'gb' (default)</div>
|
|
<div class="line">--bank=<num> : Add Bank Ref: 1 - 511 (default is none, with --cout only)</div>
|
|
<div class="line">Example: "gbcompress binaryfile.bin compressed.bin"</div>
|
|
<div class="line">Example: "gbcompress -d compressedfile.bin decompressed.bin"</div>
|
|
<div class="line">Example: "gbcompress --alg=rle binaryfile.bin compressed.bin"</div>
|
|
<div class="line"> </div>
|
|
<div class="line">The default compression (gb) is the type used by gbtd/gbmb</div>
|
|
<div class="line">The rle compression is Amiga IFF style</div>
|
|
</div><!-- fragment --><p> <a class="anchor" id="png2asset-settings"></a></p>
|
|
<h1><a class="anchor" id="autotoc_md252"></a>
|
|
png2asset settings</h1>
|
|
<div class="fragment"><div class="line">usage: png2asset <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">-pw <width> metasprites collision rect width (default: metasprites width)</div>
|
|
<div class="line">-ph <height> metasprites collision rect height (default: metasprites height)</div>
|
|
<div class="line">-spr8x8 use SPRITES_8x8</div>
|
|
<div class="line">-spr8x16 use SPRITES_8x16 (this is the default)</div>
|
|
<div class="line">-spr16x16msx use SPRITES_16x16</div>
|
|
<div class="line">-b <bank> bank (default 0)</div>
|
|
<div class="line">-keep_palette_order use png palette</div>
|
|
<div class="line">-repair_indexed_pal try to repair indexed tile palettes (implies "-keep_palette_order")</div>
|
|
<div class="line">-noflip disable tile flip</div>
|
|
<div class="line">-map Export as map (tileset + bg)</div>
|
|
<div class="line">-use_map_attributes Use CGB BG Map attributes</div>
|
|
<div class="line">-use_nes_attributes Use NES BG Map attributes</div>
|
|
<div class="line">-use_nes_colors Convert RGB color values to NES PPU colors</div>
|
|
<div class="line">-use_structs Group the exported info into structs (default: false) (used by ZGB Game Engine)</div>
|
|
<div class="line">-bpp bits per pixel: 1, 2, 4 (default: 2)</div>
|
|
<div class="line">-max_palettes max number of palettes allowed (default: 8)</div>
|
|
<div class="line"> (note: max colors = max_palettes x num colors per palette)</div>
|
|
<div class="line">-pack_mode gb, sgb, sms, 1bpp (default: gb)</div>
|
|
<div class="line">-tile_origin tile index offset for maps (default: 0)</div>
|
|
<div class="line">-tiles_only export tile data only</div>
|
|
<div class="line">-maps_only export map tilemap only</div>
|
|
<div class="line">-metasprites_only export metasprite descriptors only</div>
|
|
<div class="line">-source_tileset use source tileset (image with common tiles)</div>
|
|
<div class="line">-keep_duplicate_tiles do not remove duplicate tiles (default: not enabled)</div>
|
|
<div class="line">-bin export to binary format</div>
|
|
<div class="line">-transposed export transposed (column-by-column instead of row-by-row)</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>
|