mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
106 lines
4.5 KiB
HTML
106 lines
4.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<!-- This is an automatically generated file. Do not edit.
|
|
This file is part of RGBDS.
|
|
|
|
Copyright (c) 2017-2018, Antonio Nino Diaz and RGBDS contributors.
|
|
|
|
SPDX-License-Identifier: MIT
|
|
-->
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<link rel="stylesheet" href="mandoc.css" type="text/css" media="all"/>
|
|
<title>RGBLINK(5)</title>
|
|
</head>
|
|
<body>
|
|
<table class="head">
|
|
<tr>
|
|
<td class="head-ltitle">RGBLINK(5)</td>
|
|
<td class="head-vol">File Formats Manual</td>
|
|
<td class="head-rtitle">RGBLINK(5)</td>
|
|
</tr>
|
|
</table>
|
|
<div class="manual-text">
|
|
<section class="Sh">
|
|
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
|
|
<code class="Nm">rgblink</code> —
|
|
<div class="Nd">linkerscript file format</div>
|
|
</section>
|
|
<section class="Sh">
|
|
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
|
|
The linkerscript is an external file that allows the user to specify the order
|
|
of sections without the need for doing so before assembling each object file.
|
|
<p class="Pp">The placement of sections specified in the linkerscript is done
|
|
before the sections whose placement is defined in the source code.</p>
|
|
<p class="Pp">A linkerscript consists on a series of banks followed by a list of
|
|
sections and, optionally, commands. They can be lowercase or uppercase, it
|
|
is ignored. Any line can contain a comment starting with
|
|
‘<code class="Li">;</code>’ that ends at the end of the
|
|
line:</p>
|
|
<div class="Bd Pp Bd-indent">
|
|
<pre>
|
|
ROMX $F ; This is a comment
|
|
"Functions to read array"
|
|
ALIGN 8
|
|
"Array aligned to 256 bytes"
|
|
|
|
WRAMX 2
|
|
"Some variables"
|
|
</pre>
|
|
</div>
|
|
<p class="Pp">Numbers can be in decimal or hexadecimal format (the prefix is
|
|
‘<code class="Li">$</code>’). It is an error if any section
|
|
name or command are found before setting a bank.</p>
|
|
<p class="Pp">Files can be included by using the <var class="Ar">INCLUDE</var>
|
|
keyword followed by a string with the path of the file that has to be
|
|
included.</p>
|
|
<p class="Pp">The possible bank types are: <b class="Sy">ROM0</b>,
|
|
<b class="Sy">ROMX</b>, <b class="Sy">VRAM</b>, <b class="Sy">WRAM0</b>,
|
|
<b class="Sy">WRAMX</b>, <b class="Sy">OAM</b> and <b class="Sy">HRAM</b>.
|
|
Types <b class="Sy">ROMX</b>, <b class="Sy">VRAM</b>,
|
|
<b class="Sy">WRAMX</b> and <b class="Sy">SRAM</b> are banked, which means
|
|
that it is needed to specify a bank after the type.</p>
|
|
<p class="Pp">When a new bank statement is found, sections found after it will
|
|
be placed right from the beginning of that bank. If the linkerscript
|
|
switches to a different bank and then it comes back to the previous one it
|
|
will continue from the last address that was used.</p>
|
|
<p class="Pp">The only two commands are <var class="Ar">ORG</var> and
|
|
<var class="Ar">ALIGN</var>:</p>
|
|
<ul class="Bl-bullet">
|
|
<li><var class="Ar">ORG</var> sets the address in which new sections will be
|
|
placed. It can not be lower than the current address.</li>
|
|
<li><var class="Ar">ALIGN</var> will increase the address until it is aligned
|
|
to the specified boundary (it tries to set to 0 the number of bits
|
|
specified after the command: <b class="Sy">ALIGN 8</b> will align to
|
|
$100).</li>
|
|
</ul>
|
|
<p class="Pp">Note: The bank, alignment, address and type of sections can be
|
|
specified both in the source code and in the linkerscript. For a section to
|
|
be able to be placed with the linkerscript the bank must be left unassigned
|
|
in the source code or be the same as the one specified in the linkerscript.
|
|
The address and alignment musn't be set.</p>
|
|
</section>
|
|
<section class="Sh">
|
|
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
|
|
ALSO</a></h1>
|
|
<a class="Xr">rgbasm(1)</a>, <a class="Xr">rgblink(1)</a>,
|
|
<a class="Xr">rgbfix(1)</a>, <a class="Xr">rgbds(5)</a>,
|
|
<a class="Xr">rgbds(7)</a>
|
|
</section>
|
|
<section class="Sh">
|
|
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
|
|
<code class="Nm">rgblink</code> was originally written by Carsten
|
|
Sørensen as part of the ASMotor package, and was later packaged in
|
|
RGBDS by Justin Lloyd. It is now maintained by a number of contributors at
|
|
<a class="Lk" href="https://github.com/rednex/rgbds">https://github.com/rednex/rgbds</a>.
|
|
</section>
|
|
</div>
|
|
<table class="foot">
|
|
<tr>
|
|
<td class="foot-date">January 27, 2018</td>
|
|
<td class="foot-os">RGBDS Manual</td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|