X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=doc%2Fld65.sgml;h=2195ca48daa4d05183b0ebc3870b89f2b75ffd1a;hb=1a5fa6dc512221490c5547505668a78308f904a8;hp=beb2144bfa728e21023763b4a84e26db20a0fe04;hpb=63e64f801a3ded5ab7052b4d5b340beec75b05f4;p=cc65
diff --git a/doc/ld65.sgml b/doc/ld65.sgml
index beb2144bf..2195ca48d 100644
--- a/doc/ld65.sgml
+++ b/doc/ld65.sgml
@@ -24,21 +24,21 @@ It complements the features that are built into the ca65 macroassembler:
- Accept any number of segments to form an executable module.
+ Accept any number of segments to form an executable module.
- Resolve arbitrary expressions stored in the object files.
+ Resolve arbitrary expressions stored in the object files.
- In case of errors, use the meta information stored in the object files
- to produce helpful error messages. In case of undefined symbols,
- expression range errors, or symbol type mismatches, ld65 is able to
- tell you the exact location in the original assembler source, where
- the symbol was referenced.
+ In case of errors, use the meta information stored in the object files
+ to produce helpful error messages. In case of undefined symbols,
+ expression range errors, or symbol type mismatches, ld65 is able to
+ tell you the exact location in the original assembler source, where
+ the symbol was referenced.
- Flexible output. The output of ld65 is highly configurable by a config
- file. Some more-common platforms are supported by default configurations
- that may be activated by naming the target system. The output
- generation was designed with different output formats in mind, so
- adding other formats shouldn't be a great problem.
+ Flexible output. The output of ld65 is highly configurable by a config
+ file. Some more-common platforms are supported by default configurations
+ that may be activated by naming the target system. The output
+ generation was designed with different output formats in mind, so
+ adding other formats shouldn't be a great problem.
@@ -808,8 +808,7 @@ segment.
Other SEGMENT attributes
Segments may be aligned to some memory boundary. Specify "
SEGMENTS {
@@ -894,7 +893,7 @@ look like this:
}
-The only other available output format is the o65 format specified by Andre
+There are two other available formats, one is the o65 format specified by Andre
Fachat (see the ). It is defined like this:
@@ -904,7 +903,20 @@ name="6502 binary relocation format specification">). It is defined like this:
}
-The necessary o65 attributes are defined in a special section labeled
+The other format available is the Atari (xex) segmented file format, this is
+the standard format used by Atari DOS 2.0 and upward file managers in the Atari
+8-bit computers, and it is defined like this:
+
+
+ FILES {
+ %O: format = atari;
+ }
+
+
+In the Atari segmented file format, the linker will write each .
@@ -925,6 +937,30 @@ has several attributes that may be defined here.
}
+The Atari file format has two attributes:
+
+
+
+ RUNAD = symbol
+
+ 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.
+
+ INITAD = memory_area : symbol
+
+ 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.
+
+
+
+
+
+ FORMATS {
+ atari: runad = _start;
+ }
+The FEATURES section