Merge remote-tracking branch 'dmsc/xex-c' into upstream-master

This commit is contained in:
Christian Groessler
2019-02-23 01:14:54 +01:00
15 changed files with 323 additions and 42 deletions

View File

@@ -203,7 +203,7 @@ is <it/left out/, keep this in mind.
The values you assign to the two symbols <tt/__AUTOSTART__/ and <tt/__EXEHDR__/
don't matter.
<sect2><tt/atari-xex.cfg/<p>
<sect2><tt/atari-asm-xex.cfg/<p>
This config file allows writing multi segment binaries easily, without having to
write the header explicitly on each segment.
@@ -213,7 +213,8 @@ format support on LD65 instead of the standard binary output, so it does not
have the <tt/__AUTOSTART/ nor the <tt/__EXEHDR__/ symbols.
Note that each <tt/MEMORY/ area in the configuration file will have it's own
segment in the output file with the correct headers.
segment in the output file with the correct headers, and you can specify and
init address INITAD) for each memory area.
<sect2><tt/atari-cart.cfg/<p>
@@ -242,6 +243,18 @@ would need to be split in more parts and the parts to be loaded manually.
To write the generated file to a cassette, a utility (<tt/w2cas.com/) to run
on an Atari is provided in the <tt/util/ directory of <tt/atari/ target dir.
<sect2><tt/atari-xex.cfg/<p>
This config file shows how to write a binary using the ATARI (xex) file format
support on LD65, this simplifies the memory areas and allows to add new memory
areas easily without writing new headers and trailers.
Note that the default C library includes the system-check chunk, so in this
linker configuration we suppress the importing of the header and trailer for
this chunk by defining the standard import symbols to a 0 value. For the
initialization address of the system-check chunk, the INITAD is set directly in
the configuration.
<sect1><tt/atarixl/ config files<p>
<sect2>default config file (<tt/atarixl.cfg/)<p>
@@ -265,6 +278,15 @@ The files generated by this config file include the
<ref name="&dquot;system check&dquot;" id="syschkxl"> load chunk. It can
optionally be left out, see <ref name="Getting rid of the &dquot;system check&dquot; load chunk" id="nosyschk">.
<sect2><tt/atarixl-xex.cfg/<p>
Similar to the <tt/atari-xex.cfg/ above, this config file shows how to write a
binary using the ATARI (xex) file format support on LD65.
In addition to the suppressing of the system-check headers and trailers, this
also suppresses the shadow-ram-preparation headers and trailers, but does this
by defining an "UNUSED" memory area that is not written to the output file.
<sect>Platform specific header files<p>

View File

@@ -938,9 +938,24 @@ has several attributes that may be defined here.
}
</verb></tscreen>
The Atari file format has only one attribute, <tt/RUNAD/ that allows to specify
a symbol as the run address of the binary. If the attribute is omiteed, no run
address is specified.
The Atari file format has two attributes:
<descrip>
<tag><tt>RUNAD = symbol</tt></tag>
Specify a symbol as the run address of the binary, the loader will call this
address after all the file is loaded in memory. If the attribute is omitted,
no run address is included in the file.
<tag><tt>INITAD = memory_area : symbol</tt></tag>
Specify a symbol as the initialization address for the given memory area.
The binary loader will call this address just after the memory area is loaded
into memory, before continuing loading the rest of the file.
</descrip>
<tscreen><verb>
FORMATS {