<sect>Binary format<p>
The standard binary file format generated by the linker for the
-enhanced Apple //e target is a binary program with a 4 byte DOS 3.3 header
-containing the load address and load length. The default load address is
-$803.
+enhanced Apple //e target is an <url name="AppleSingle"
+url="http://kaiser-edv.de/documents/AppleSingle_AppleDouble.pdf"> file.
+The default load address is $803.
-<bf/AppleCommander 1.3.5/ or later (available at <url
-url="https://applecommander.github.io/">) includes the option <tt/-cc65/
-that allows to put binary files with a DOS 3.3 header onto disk images
-containing DOS 3.3 as well as ProDOS 8.
-
-For ProDOS 8 system programs the load address is fixed to $2000 so there
-is no need for a header. Thus the linker configuration
-<ref id="apple-sys-cfg" name="apple2enh-system.cfg"> for those programs
-omits the DOS 3.3 header. The right AppleCommander option to put system files
-without a header on a ProDOS 8 disk image is <tt/-p/.
+<bf/AppleCommander 1.4.0/ or later (available at <url
+url="https://applecommander.github.io/">) includes the option <tt/-as/ that
+allows to put AppleSingle files onto disk images containing DOS 3.3 as well
+as ProDOS 8.
<sect>Memory layout<p>
<tag><tt/STARTADDRESS:/ Program start address</tag>
Default: $803. Use <tt/-S <addr>/ to set a different start address.
- <tag><tt/__EXEHDR__:/ Executable file header</tag>
- Default: DOS 3.3 header (address and length). Use <tt/-D __EXEHDR__=0/ to omit
- the header.
+ <tag><tt/__EXEHDR__:/ AppleSingle executable file header</tag>
+ Default: Yes. Use <tt/-D __EXEHDR__=0/ to omit the AppleSingle header.
<tag><tt/__STACKSIZE__:/ C runtime stack size</tag>
Default: $800. Use <tt/-D __STACKSIZE__=<size>/ to set a different
<descrip>
+ <tag><tt/__EXEHDR__:/ AppleSingle executable file header</tag>
+ Default: Yes. Use <tt/-D __EXEHDR__=0/ to omit the AppleSingle header.
+
<tag><tt/__STACKSIZE__:/ C runtime stack size</tag>
Default: $800. Use <tt/-D __STACKSIZE__=<size>/ to set a different
stack size.
<tag><tt/STARTADDRESS:/ Program start address</tag>
Default: $803. Use <tt/-S <addr>/ to set a different start address.
- <tag><tt/__EXEHDR__:/ Executable file header</tag>
- Default: DOS 3.3 header (address and length). Use <tt/-D __EXEHDR__=0/ to omit
- the header.
+ <tag><tt/__EXEHDR__:/ AppleSingle executable file header</tag>
+ Default: Yes. Use <tt/-D __EXEHDR__=0/ to omit the AppleSingle header.
<tag><tt/__STACKSIZE__:/ C runtime stack size</tag>
Default: $800. Use <tt/-D __STACKSIZE__=<size>/ to set a different
<sect1><tt/apple2enh-overlay.cfg/<p>
Configuration for an overlay program with up to nine overlays. The overlay files
-don't include the DOS 3.3 header. See <tt>samples/overlaydemo.c</tt> for more
+don't include the AppleSingle header. See <tt>samples/overlaydemo.c</tt> for more
information on overlays.
Parameters:
<tag><tt/STARTADDRESS:/ Program start address</tag>
Default: $803. Use <tt/-S <addr>/ to set a different start address.
- <tag><tt/__EXEHDR__:/ Executable file header</tag>
- Default: DOS 3.3 header (address and length). Use <tt/-D __EXEHDR__=0/ to omit
- the header.
+ <tag><tt/__EXEHDR__:/ AppleSingle executable file header</tag>
+ Default: Yes. Use <tt/-D __EXEHDR__=0/ to omit the AppleSingle header.
<tag><tt/__STACKSIZE__:/ C runtime stack size</tag>
Default: $800. Use <tt/-D __STACKSIZE__=<size>/ to set a different
<tag><tt/STARTADDRESS:/ Program start address</tag>
Default: $803. Use <tt/-S <addr>/ to set a different start address.
- <tag><tt/__EXEHDR__:/ Executable file header</tag>
- Default: No header. Use <tt/-u __EXEHDR__ apple2enh.lib/ to add a DOS 3.3 header
- (address and length).
+ <tag><tt/__EXEHDR__:/ AppleSingle executable file header</tag>
+ Default: No. Use <tt/-u __EXEHDR__ apple2enh.lib/ to add the AppleSingle header.
</descrip><p>
Using LOADER.SYSTEM is as simple as copying it to the ProDOS 8 directory of the
program to load under name <program>.SYSTEM as a system program. For
-example the program <tt/MYPROG/ is loaded by <tt/MYPROG.SYSTEM/.
+example the program <tt/MYPROG/ is loaded by <tt/MYPROG.SYSTEM/. The right
+AppleCommander option to put LOADER.SYSTEM on a ProDOS 8 disk image is <tt/-p/.
<sect1>Heap<p>