]> git.sur5r.net Git - cc65/commitdiff
Updated linuxdoc sources from https://github.com/groessler/cc65/tree/gh-pages-sgml.
authorOliver Schmidt <ol.sc@web.de>
Tue, 4 Feb 2014 21:51:39 +0000 (22:51 +0100)
committerOliver Schmidt <ol.sc@web.de>
Tue, 4 Feb 2014 21:51:39 +0000 (22:51 +0100)
28 files changed:
doc/apple2.sgml
doc/apple2enh.sgml
doc/ar65.sgml
doc/atari.sgml
doc/atmos.sgml
doc/c128.sgml
doc/c16.sgml
doc/c64.sgml
doc/ca65.sgml
doc/ca65html.sgml
doc/cbm510.sgml
doc/cbm610.sgml
doc/cc65.sgml
doc/cl65.sgml
doc/co65.sgml
doc/da65.sgml
doc/index.sgml
doc/intro.sgml
doc/ld65.sgml
doc/library.sgml
doc/lynx.sgml
doc/nes.sgml
doc/od65.sgml
doc/pet.sgml
doc/plus4.sgml
doc/sp65.sgml
doc/supervision.sgml
doc/vic20.sgml

index fb6dda7febcec57179725a30f583baaa9dd40ee5..ecab5c32b93466ebc75500c30bb672ef06b6a07c 100644 (file)
@@ -87,13 +87,13 @@ on the chosen <htmlurl url="apple2-4.html" name="linker configuration">.
 
 <sect>Linker configurations<p>
 
-The ld65 linker comes with a builtin config file for the Apple&nbsp;&rsqb;&lsqb;,
-which is used via <tt/-t apple2/ (and displayed via <tt/--dump-config apple2/).
+The ld65 linker comes with a default config file for the Apple&nbsp;&rsqb;&lsqb;,
+which is used via <tt/-t apple2/.
 The apple2 package comes with additional secondary linker config files, which
-are used via <tt/-C &lt;configfile&gt;/.
+are used via <tt/-t apple2 -C &lt;configfile&gt;/.
 
 
-<sect1>builtin config file<p>
+<sect1>default config file (<tt/apple2.cfg/)<p>
 
 Default configuration optimized for a binary program running on ProDOS 8 with
 BASIC.SYSTEM. A plain vanilla ProDOS 8 doesn't actually use the Language Card
@@ -317,13 +317,13 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/a2.lo.tgi (apple2_40_48_16)/</tag>
+  <tag><tt/a2.lo.tgi (a2_lo_tgi)/</tag>
   This driver features a resolution of 40&times;48 with 16 colors.
 
   The function <tt/tgi_apple2_mix()/ allows to activate 4 lines of text. The
   function clears the corresponding area at the bottom of the screen.
 
-  <tag><tt/a2.hi.tgi (apple2_280_192_8)/</tag>
+  <tag><tt/a2.hi.tgi (a2_hi_tgi)/</tag>
   This driver features a resolution of 280&times;192 with 8 colors and two
   hires pages. Note that programs using this driver will have to be linked
   with <tt/--start-addr $4000/ to reserve the first hires page or with
@@ -345,7 +345,7 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/a2.auxmem.emd (apple2_auxmem)/</tag>
+  <tag><tt/a2.auxmem.emd (a2_auxmem_emd)/</tag>
   Gives access to 47.5 KB RAM (190 pages of 256 bytes each) on an Extended
   80-Column Text Card.
   
@@ -359,7 +359,7 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/a2.stdjoy.joy (apple2_stdjoy)/</tag>
+  <tag><tt/a2.stdjoy.joy (a2_stdjoy_joy)/</tag>
   Supports up to two standard analog joysticks connected to the game port of
   the Apple&nbsp;&rsqb;&lsqb;.
 
@@ -370,7 +370,7 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/a2.stdmou.mou (apple2_stdmou)/</tag>
+  <tag><tt/a2.stdmou.mou (a2_stdmou_mou)/</tag>
   Driver for the AppleMouse&nbsp;II Card. Searches all Apple&nbsp;II slots
   for an AppleMouse&nbsp;II Card compatible firmware. The default bounding
   box is &lsqb;0..279,0..191&rsqb;.
@@ -391,7 +391,7 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/a2.ssc.ser (apple2_ssc)/</tag>
+  <tag><tt/a2.ssc.ser (a2_ssc_ser)/</tag>
   Driver for the Apple&nbsp;II Super Serial Card. Supports up to 19200 baud,
   hardware flow control (RTS/CTS) and interrupt driven receives. Note
   that because of the peculiarities of the 6551 chip transmits are not
@@ -421,9 +421,8 @@ BASIC.SYSTEM) there are some limitations for DOS 3.3:
   <tag>Disk File I/O</tag>
   There's no disk file I/O support. Any attempt to use it yields an error with
   <tt/errno/ set to <tt/ENOSYS/. This implicitly means that loadable drivers
-  are in general not functional as they depend on disk file I/O. However they
-  may be converted to statically linked drivers using the co65 object-file
-  converter.
+  are in general not functional as they depend on disk file I/O. Therefore the statically
+  linked drivers have to be used instead.
 
   <tag/Interrupts/
   There's no <tt/interruptor/ support. Any attempt to use it yields the message
@@ -439,14 +438,12 @@ BASIC.SYSTEM) there are some limitations for DOS 3.3:
 <descrip>
 
   <tag/Color/
-  The Apple&nbsp;&rsqb;&lsqb; has no color text mode. Therefore the functions
-  <htmlurl url="funcref-205.html" name="textcolor()">,
-  <htmlurl url="funcref-68.html" name="bgcolor()"> and
-  <htmlurl url="funcref-69.html" name="bordercolor()"> have no effect.
+  The Apple&nbsp;&rsqb;&lsqb; has no color text mode. Therefore the functions textcolor(),
+  bgcolor() and bordercolor() have no effect.
 
   <tag/Cursor/
-  The Apple&nbsp;&rsqb;&lsqb; has no hardware cursor. Therefore the function
-  <htmlurl url="funcref-88.html" name="cursor()"> has no effect.
+  The Apple&nbsp;&rsqb;&lsqb; has no hardware cursor. Therefore the function cursor() has
+  no effect.
 
 </descrip><p>
 
@@ -511,15 +508,6 @@ url="ca65.html" name="assembler manual">.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index 667ae9ec7861f1d8f07b363a783ab5ef2044dae9..f20c187fd8513fef510f7b983ac89b62ae8e27b4 100644 (file)
@@ -87,13 +87,13 @@ on the chosen <htmlurl url="apple2enh-4.html" name="linker configuration">.
 
 <sect>Linker configurations<p>
 
-The ld65 linker comes with a builtin config file for the enhanced&nbsp;Apple&nbsp;//e,
-which is used via <tt/-t apple2enh/ (and displayed via <tt/--dump-config apple2enh/).
+The ld65 linker comes with a default config file for the enhanced&nbsp;Apple&nbsp;//e,
+which is used via <tt/-t apple2enh/.
 The apple2enh package comes with additional secondary linker config files, which
-are used via <tt/-C &lt;configfile&gt;/.
+are used via <tt/-t apple2enh -C &lt;configfile&gt;/.
 
 
-<sect1>builtin config file<p>
+<sect1>default config file (<tt/apple2enh.cfg/)<p>
 
 Default configuration optimized for a binary program running on ProDOS 8 with
 BASIC.SYSTEM. A plain vanilla ProDOS 8 doesn't actually use the Language Card
@@ -320,13 +320,13 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/a2e.lo.tgi (apple2_40_48_16)/</tag>
+  <tag><tt/a2e.lo.tgi (a2e_lo_tgi)/</tag>
   This driver features a resolution of 40&times;48 with 16 colors.
 
   The function <tt/tgi_apple2_mix()/ allows to activate 4 lines of text. The
   function clears the corresponding area at the bottom of the screen.
 
-  <tag><tt/a2e.hi.tgi (apple2_280_192_8)/</tag>
+  <tag><tt/a2e.hi.tgi (a2e_hi_tgi)/</tag>
   This driver features a resolution of 280&times;192 with 8 colors and two
   hires pages. Note that programs using this driver will have to be linked
   with <tt/--start-addr $4000/ to reserve the first hires page or with
@@ -352,7 +352,7 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/a2e.auxmem.emd (apple2_auxmem)/</tag>
+  <tag><tt/a2e.auxmem.emd (a2e_auxmem_emd)/</tag>
   Gives access to 47.5 KB RAM (190 pages of 256 bytes each) on an Extended
   80-Column Text Card.
   
@@ -366,7 +366,7 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/a2e.stdjoy.joy (apple2_stdjoy)/</tag>
+  <tag><tt/a2e.stdjoy.joy (a2e_stdjoy_joy)/</tag>
   Supports up to two standard analog joysticks connected to the game port of
   the enhanced&nbsp;Apple&nbsp;//e.
 
@@ -377,7 +377,7 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/a2e.stdmou.mou (apple2_stdmou)/</tag>
+  <tag><tt/a2e.stdmou.mou (a2e_stdmou_mou)/</tag>
   Driver for the AppleMouse&nbsp;II Card. Searches all Apple&nbsp;II slots
   for an AppleMouse&nbsp;II Card compatible firmware. The default bounding
   box is &lsqb;0..279,0..191&rsqb;.
@@ -392,7 +392,7 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/a2e.ssc.ser (apple2_ssc)/</tag>
+  <tag><tt/a2e.ssc.ser (a2e_ssc_ser)/</tag>
   Driver for the Apple&nbsp;II Super Serial Card. Supports up to 19200 baud,
   hardware flow control (RTS/CTS) and interrupt driven receives. Note
   that because of the peculiarities of the 6551 chip transmits are not
@@ -422,9 +422,8 @@ BASIC.SYSTEM) there are some limitations for DOS 3.3:
   <tag>Disk File I/O</tag>
   There's no disk file I/O support. Any attempt to use it yields an error with
   <tt/errno/ set to <tt/ENOSYS/. This implicitly means that loadable drivers
-  are in general not functional as they depend on disk file I/O. However they
-  may be converted to statically linked drivers using the co65 object-file
-  converter.
+  are in general not functional as they depend on disk file I/O. Therefore the statically
+  linked drivers have to be used instead.
 
   <tag/Interrupts/
   There's no <tt/interruptor/ support. Any attempt to use it yields the message
@@ -441,13 +440,11 @@ BASIC.SYSTEM) there are some limitations for DOS 3.3:
 
   <tag/Color/
   The enhanced&nbsp;Apple&nbsp;//e has no color text mode. Therefore the functions
-  <htmlurl url="funcref-205.html" name="textcolor()">,
-  <htmlurl url="funcref-68.html" name="bgcolor()"> and
-  <htmlurl url="funcref-69.html" name="bordercolor()"> have no effect.
+  textcolor(), bgcolor() and bordercolor() have no effect.
 
   <tag/Cursor/
   The enhanced&nbsp;Apple&nbsp;//e has no hardware cursor. Therefore the function
-  <htmlurl url="funcref-88.html" name="cursor()"> has no effect.
+  cursor() has no effect.
 
 </descrip><p>
 
@@ -517,15 +514,6 @@ url="ca65.html" name="assembler manual">.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index d4e19a5c5563df49d077d56f2ad330497db2a326..d35bc9987c1c272fbf4f33e3fda84079f87f91e9 100644 (file)
@@ -117,14 +117,6 @@ operation does update the library. This is only a warning, the linker
 will ignore one of the duplicate symbols (which one is unspecified).
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the archiver, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org" name="uz@cc65.org">).
-
-
-
 <sect>Copyright<p>
 
 ar65 (and all cc65 binutils) are (C) Copyright 1998-2000 Ullrich von
index 9fe75ec2ac7b70331160d3c95d0ea0512208c14b..8ec35965488837f1a269a1b30e38e15f4148311e 100644 (file)
@@ -26,6 +26,16 @@ with the cc65 C compiler. It describes the memory layout, Atari specific
 header files, available drivers, and any pitfalls specific to that
 platform.
 
+The Atari runtime support comes in two flavors: <tt/atari/ and <tt/atarixl/.
+The <tt/atari/ target supports all Atari 8-bit computers, the <tt/atarixl/ only
+supports XL type or newer machines (excluding the 600XL).
+
+The <tt/atarixl/ runtime makes the whole 64K of memory available, with the
+exception of the I/O area at &dollar;D000 - &dollar;D7FFF. Since the
+<tt/atarixl/ runtime has some <ref name="limitations" id="limitations">, it is
+recommended to use the <tt/atari/ target unless lack of memory dictates the
+use of the <tt/atarixl/ target.
+
 Please note that Atari specific functions are just mentioned here, they are
 described in detail in the separate <htmlurl url="funcref.html" name="function
 reference">. Even functions marked as "platform dependent" may be available on
@@ -35,35 +45,54 @@ information.
 
 <sect>Binary format<p>
 
-The standard binary output format generated by the linker for the
+The Atari DOS executable file format supports more than one load block (<it/chunk/).
+
+The default binary output format generated by the linker for the
 Atari target is a machine language program with a standard executable
-header (FF FF &lt;2 byte start address&gt; &lt;2 bytes end address&gt;
-&lsqb;program bytes&rsqb;). These values are calculated in the crt0.s
-file from the __STARTUP_LOAD__ and __ZPSAVE_LOAD__ values, so keep
-this in mind if you create a custom linker config file and start
-moving segments around (see section
+header (FF FF &lt;load chunk #1&gt; ... &lt;load chunk #n&gt).
+A load chunk has the format &lsqb;&lt;2 byte start address&gt; &lt;2 bytes end address&gt;
+&lt;chunk data&gt;&rsqb;.
+A run vector is added to the end of the
+file (&dollar;02E0 &dollar;02E1 &lt;run vector&gt;) and is calculated using
+the <tt/start/ label in crt0.s.  (Technically the run vector is also a load chunk,
+but is not regarded as such here.)
+
+An <tt/atari/ program has two load chunks, an <tt/atarixl/ program has three load
+chunks.  The load chunks are defined in the linker configuration files.  For more
+detailed information about the load chunks see the chapter
+<ref name="Technical details" id="techdetail">. For the discussion here it's
+sufficient to know that the first load chunk(s) do preparation work and the
+main part of the program is in the last load chunk.
+
+The values determining the size of the main part of the program (the only load
+chunk for <tt/atari/, the third load chunk for <tt/atarixl/) are calculated in
+the crt0.s file from the __STARTUP_LOAD__ and __BSS_LOAD__ values.
+Be aware of that if you create a custom linker config file and start moving segments around (see section
 <ref name="Reserving a memory area inside the program" id="memhole">).
-You can override this behaviour by creating your own crt0.s file and
-linking it into your program.  A run vector is added to the end of the
-file (&dollar;02E0 &lt;run vector&gt;) and is calculated using
-__STARTUP_LOAD__ in crt0.s.
 
 
 <sect>Memory layout<p>
 
-The default linker script assumes that the BASIC ROM is disabled (or
-the BASIC cartridge unplugged). This gives a usable memory range from
-&dollar;2E00 - &dollar;BC1F. The library startup code examines the
+<sect1><tt/atari/ target<p>
+
+The default linker config file assumes that the BASIC ROM is disabled (or
+the BASIC cartridge unplugged). This gives a usable memory range of
+&lsqb;&dollar;2000-&dollar;BC1F&rsqb;. The library startup code examines the
 current memory configuration, which depends on the size of the
-installed memory and cartridges present, by inspecting the value in
-the MEMTOP (&dollar;2E5) variable. Then the initial stack pointer,
-which indicates the upper bound of memory used, is adjusted. The
-default load address of &dollar;2E00 was chosen to accommodate having
-a DOS loaded and a driver that resides in low memory such as the 850
-R: handler. You can override this behaviour by creating a custom
+installed memory and cartridges. It does so by using the value in
+the MEMTOP (&dollar;2E5) variable as highest memory address the program
+can use. The initial stack pointer, which is the upper bound of
+memory used by the program, is set to this value, minus an optionally
+defined __RESERVED_MEMORY__ value.
+
+The default load address of &dollar;2000 can be changed by creating a custom
 linker config file or by using the "--start-addr" cl65 command line
 argument or the "--start-addr" or "-S" ld65 command line arguments.
 
+Please note that the first load chunk (which checks the available memory)
+will always be loaded at &dollar;2E00, regardless of the specified start
+address. This address can only be changed by a custom linker config file.
+
 Special locations:
 
 <descrip>
@@ -86,6 +115,135 @@ Special locations:
 
 </descrip><p>
 
+<sect1><tt/atarixl/ target<p>
+
+The startup code rearranges the memory as follows:
+
+<enum>
+<item>Sceen memory and display list are moved below the program start address.
+<item>The ROM is disabled, making the memory in the areas &lsqb;&dollar;C000-&dollar;CFFF&rsqb;
+and &lsqb;&dollar;D800-&dollar;FFF9&rsqb; available.
+<item>Character generator data is copied from ROM to the CHARGEN location specified in the
+linker config file.  This is (in the default <tt/atarixl.cfg/ file) at the same address as
+where it is in ROM (&dollar;E000, it can be changed, see <ref name="atarixl chargen location"
+id="chargenloc">).  With the character generator at &dollar;E000, there are two upper memory
+areas available, &lsqb;&dollar;D800-&dollar;DFFF&rsqb; and &lsqb;&dollar;E400-&dollar;FFF9&rsqb;.
+</enum>
+
+With the default load address of &dollar;2400 this gives a usable memory range of
+&lsqb;&dollar;2400-&dollar;CFFF&rsqb;.  Note that the default load address for <tt/atarixl/ is
+different (and lower) that the default load address for <tt/atari/.  This is no problem since
+on the <tt/atarixl/ target the first load chunk makes sure that the loaded prgram won't overwrite
+memory below MEMLO. See <ref name="atarixl load chunks" id="xlchunks">.
+
+
+Special locations:
+
+<descrip>
+  <tag/Text screen/
+  The text screen depends on the selected load address (&dollar;2400
+  by default), and resides directly before that address, rounded to the next
+  lower page boundary.
+  The screen memory's start address can be obtained from the SAVMSC variable
+  (&dollar;58).
+
+  <tag/Stack/
+  The C runtime stack is located at end of the RAM memory area (&dollar;CFFF)
+  and grows downwards.
+
+  <tag/Heap/
+  The C heap is located at the end of the program (end of BSS segment) and
+  grows towards the C runtime stack.
+
+</descrip><p>
+
+<sect>Linker configurations<p>
+
+The ld65 linker comes with default config files for the Atari. There
+are two targets for the Atari, <tt/atari/ and <tt/atarixl/.
+The default config file for <tt/atari/ is selected with
+<tt/-t atari/, and the default config file for <tt/atarixl/ is selected with
+<tt/-t atarixl/.
+The Atari package comes with additional secondary linker config files which
+can be used via <tt/-t atari -C &lt;configfile&gt;/ (for <tt/atari/ target) or
+<tt/-t atarixl -C &lt;configfile&gt;/ (for <tt/atarixl/ target).
+
+<sect1><tt/atari/ config files<p>
+
+<sect2>default config file (<tt/atari.cfg/)<p>
+
+The default configuration is tailored to C programs. It creates files
+which have a default load address of &dollar;2000.
+
+The files generated by this config file include the
+<ref name="&dquot;system check&dquot;" id="syschk"> 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/atari-asm.cfg/<p>
+
+This config file aims to give the assembler programmer maximum
+flexibility. All program segments (<tt/CODE/, <tt/DATA/, etc.) are
+optional.
+
+By default it creates regular DOS executable files, which have a default
+load address of &dollar;2E00. It's also possible to generate an image of
+just the program data without EXE header, load address, or (auto-)start address.
+To you so, you have to define the symbols <tt/__AUTOSTART__/ and <tt/__EXEHDR__/
+when linking the program. Therefore, to generate a "plain" binary file, pass the
+options "<tt/-D__AUTOSTART__=1 -D__EXEHDR__=1/" to the linker.
+It's also possible to create a non auto-starting program file, by defining
+only the <tt/__AUTOSTART__/ symbol. Such a program has to be run manually
+after being loaded by DOS (for example by using the "M" option of DOS 2.5).
+Defining only the <tt/__EXEHDR__/ symbol will create a (useless) file which
+doesn't conform to the DOS executable file format (like a "plain" binary file)
+but still has the "autostart" load chunk appended.
+
+The sections of the file which the defines refer to (<tt/__AUTOSTART__/ for
+the autostart trailer, <tt/__EXEHDR__/ for the EXE header and load address)
+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-cart.cfg/<p>
+
+This config file can be used to create 8K or 16K cartridges. It's suited both
+for C and assembly language programs.
+
+By default, an 8K cartridge is generated. To create a 16K cartridge, pass the
+size of the cartridge to the linker, like "<tt/-D__CARTSIZE__=0x4000/".
+The only valid values for <tt/__CARTSIZE__/ are 0x2000 and 0x4000.
+
+The option byte of the cartridge can be set with the <tt/__CARTFLAGS__/
+value, passed to the linker. The default value is &dollar;01, which means
+that the cartridge doesn't prevent the booting of DOS.
+
+The option byte will be located at address &dollar;BFFD. For more information
+about its use, see e.g. "Mapping the Atari".
+
+
+<sect1><tt/atarixl/ config files<p>
+
+<sect2>default config file (<tt/atarixl.cfg/)<p>
+
+The default configuration is tailored to C programs. It creates files
+which have a default load address of &dollar;2400.
+
+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-largehimem.cfg/<p>
+
+This is the same as the default config file, but it rearranges the
+high memory beneath the ROM into one large block. In order for this
+config file to work, the runtime library has to be recompiled with a
+special define. See the file <tt/libsrc&sol;atari&sol;Makefile.inc/ in the
+source distribution.
+
+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">.
 
 
 <sect>Platform specific header files<p>
@@ -157,48 +315,43 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <sect1>Graphics drivers<p>
 
-<descrip>
-
-  <tag><tt/atari10.tgi (atari_10)/</tag>
-
-  <tag><tt/atr10p2.tgi (atari_10p2)/</tag>
-
-  <tag><tt/atari11.tgi (atari_11)/</tag>
-
-  <tag><tt/atari14.tgi (atari_14)/</tag>
-
-  <tag><tt/atari15.tgi (atari_15)/</tag>
-
-  <tag><tt/atr15p2.tgi (atari_15p2)/</tag>
-
-  <tag><tt/atari3.tgi (atari_3)/</tag>
-
-  <tag><tt/atari4.tgi (atari_4)/</tag>
-
-  <tag><tt/atari5.tgi (atari_5)/</tag>
-
-  <tag><tt/atari6.tgi (atari_6)/</tag>
-
-  <tag><tt/atari7.tgi (atari_7)/</tag>
-
-  <tag><tt/atari8.tgi (atari_8)/</tag>
-
-  <tag><tt/atr8p2.tgi (atari_8p2)/</tag>
-
-  <tag><tt/atari9.tgi (atari_9)/</tag>
-
-  <tag><tt/atr9p2.tgi (atari_9p2)/</tag>
+<table><tabular ca="rrrr">
+<tt/atari/|<tt/atarixl/|screen resolution|display pages@<hline>
+<tt/atr3.tgi (atr3_tgi)/|<tt/atrx3.tgi (atrx3_tgi)/|40x24x4 (CIO mode 3, ANTIC mode 8)|1@
+<tt/atr4.tgi (atr4_tgi)/|<tt/atrx4.tgi (atrx4_tgi)/|80x48x2 (CIO mode 4, ANTIC mode 9)|1@
+<tt/atr5.tgi (atr5_tgi)/|<tt/atrx5.tgi (atrx5_tgi)/|80x48x4 (CIO mode 5, ANTIC mode A)|1@
+<tt/atr6.tgi (atr6_tgi)/|<tt/atrx6.tgi (atrx6_tgi)/|160x96x2 (CIO mode 6, ANTIC mode B)|1@
+<tt/atr7.tgi (atr7_tgi)/|<tt/atrx7.tgi (atrx7_tgi)/|160x96x4 (CIO mode 7, ANTIC mode D)|1@
+<tt/atr8.tgi (atr8_tgi)/|<tt/atrx8.tgi (atrx8_tgi)/|320x192x2 (CIO mode 8, ANTIC mode F)|1@
+<tt/atr8p2.tgi (atr8p2_tgi)/|<tt/atrx8p2.tgi (atrx8p2_tgi)/|320x192x2 (CIO mode 8, ANTIC mode F)|2@
+<tt/atr9.tgi (atr9_tgi)/|<tt/atrx9.tgi (atrx9_tgi)/|80x192x16b (CIO mode 9, ANTIC mode F, GTIA mode &dollar;40)|1@
+<tt/atr9p2.tgi (atr9p2_tgi)/|<tt/atrx9p2.tgi (atrx9p2_tgi)/|80x192x16b (CIO mode 9, ANTIC mode F, GTIA mode &dollar;40)|2@
+<tt/atr10.tgi (atr10_tgi)/|<tt/atrx10.tgi (atrx10_tgi)/|80x192x9 (CIO mode 10, ANTIC mode F, GTIA mode &dollar;80)|1@
+<tt/atr10p2.tgi (atr10p2_tgi)/|<tt/atrx10p2.tgi (atrx10p2_tgi)/|80x192x9 (CIO mode 10, ANTIC mode F, GTIA mode &dollar;80)|2@
+<tt/atr11.tgi (atr11_tgi)/|<tt/atrx11.tgi (atrx11_tgi)/|80x192x16h (CIO mode 11, ANTIC mode F, GTIA mode &dollar;C0)|1@
+<tt/atr14.tgi (atr14_tgi)/|<tt/atrx14.tgi (atrx14_tgi)/|160x192x2 (CIO mode 14, ANTIC mode C)|1@
+<tt/atr15.tgi (atr15_tgi)/|<tt/atrx15.tgi (atrx15_tgi)/|160x192x4 (CIO mode 15, ANTIC mode E)|1@
+<tt/atr15p2.tgi (atr15p2_tgi)/|<tt/atrx15p2.tgi (atrx15p2_tgi)/|160x192x4 (CIO mode 15, ANTIC mode E)|2
+</tabular>
+<!-- <caption>bla bla -->
+</table>
 
-</descrip><p>
 
 Many graphics modes require more memory than the text screen which is
 in effect when the program starts up. Therefore the programmer has to
 tell the program beforehand the memory requirements of the graphics
 modes the program intends to use.
-This can be done by using the __RESERVED_MEMORY__ linker config
-variable. The number specified there describes the number of bytes to
-subtract from the top of available memory as seen from the runtime
-library. This memory is then used by the screen buffer.
+
+On the <tt/atari/ target his can be done by using the __RESERVED_MEMORY__
+linker config variable. The number specified there describes the number
+of bytes to subtract from the top of available memory as seen from the
+runtime library. This memory is then used by the screen buffer.
+
+On the <tt/atarixl/ target the screen memory resides below the program
+load address.  In order to reserve memory for a graphics mode, one
+simply uses a higher program load address.  There are restrictions on
+selectable load addresses,
+see <ref name="Selecting a good program load address" id="loadaddr">.
 
 The numbers for the different graphics modes presented below should
 only be seen as a rule of thumb. Since the screen buffer memory needs
@@ -251,41 +404,74 @@ the Atari ROM code.
 
 <sect1>Extended memory drivers<p>
 
-<descrip>
-
-  <tag><tt/atr130xe.emd (atari_130xe)/</tag>
-
-</descrip><p>
+Currently there is only one extended memory driver.  It manages the second 64K of a 130XE.
 
+<table>
+<tabular ca="rr">
+<tt/atari/|<tt/atarixl/@<hline>
+<tt/atr130.emd (atr130_emd)/|<tt/atrx130.emd (atrx130_emd)/
+</tabular>
+</table>
 
 <sect1>Joystick drivers<p>
 
-<descrip>
+Currently there are two joystick drivers available:
 
-  <tag><tt/ataristd.joy (atari_stdjoy)/</tag>
-  Supports up to four standard joysticks connected to the joystick ports of
-  the Atari.
+<table>
+<tabular ca="rrr">
+<tt/atari/|<tt/atarixl/|description@<hline>
+<tt/atrstd.joy (atrstd_joy)/|<tt/atrxstd.joy (atrxstd_joy)/|Supports up to two/four standard joysticks connected to the joystick ports of the Atari. (Four on the pre-XL systems, two on XL or newer.)@
+<tt/atrmj8.joy (atrmj8_joy)/|<tt/atrxmj8.joy (atrxmj8_joy)/|Supports up to eight standard joysticks connected to a MultiJoy adapter.
+</tabular>
+<caption>
+</table>
 
-  <tag><tt/atarim8.joy (atari_multijoy)/</tag>
-  Supports up to eight standard joysticks connected to a MultiJoy adapter.
 
-</descrip><p>
+<sect1>Mouse drivers<p>
 
+Currently there are five mouse drivers available:
 
-<sect1>Mouse drivers<p>
+<table>
+<tabular ca="rrr">
+<tt/atari/|<tt/atarixl/|description@<hline>
+<tt/atrjoy.mou (atrjoy_mou)/|<tt/atrxjoy.mou (atrxjoy_mou)/|Supports a mouse emulated by a standard joystick.@
+<tt/atrst.mou (atrst_mou)/|<tt/atrxst.mou (atrxst_mou)/|Supports an Atari ST mouse.@
+<tt/atrami.mou (atrami_mou)/|<tt/atrxami.mou (atrxami_mou)/|Supports an Amiga mouse.@
+<tt/atrtrk.mou (atrtrk_mou)/|<tt/atrxtrk.mou (atrxtrk_mou)/|Supports an Atari trakball.@
+<tt/atrtt.mou (atrtt_mou)/|<tt/atrxtt.mou (atrxtt_mou)/|Supports an Atari touch tablet.
+</tabular>
+<caption>
+</table>
 
-Currently no drivers available (in fact, the API for loadable mouse drivers
-does not exist). There is a static driver you can use.
+All mouse devices connect to joystick port #0.
 
 
 <sect1>RS232 device drivers<p>
 
-Currently there are no RS232 loadable drivers available for the Atari
-platform. There is a static driver you can use.
+Currently there is one RS232 driver.  It uses the R: device (therefore
+a R: driver needs to be installed) and was tested with the 850
+interface module.
+
+<table>
+<tabular ca="rr">
+<tt/atari/|<tt/atarixl/@<hline>
+<tt/atrrdev.ser (atrrdev_ser)/|<tt/atrxrdev.ser (atrxrdev_ser)/
+</tabular>
+</table>
 
 
 <sect>Limitations<p>
 
+<sect1><tt/atarixl/<label id="limitations"<p>
+
+<itemize>
+<item>The display is cleared at program start and at program termination.  This is a side
+effect of relocating the display memory below the program start address.
+<item>Not all possible CIO and SIO functions are handled by the runtime stub code which banks
+the ROM in and out.  All functions used by the runtime library are handled, though.
+<item>The <tt/_sys()/ function is not supported.
+<item>It is not compatible with DOSes or other programs using the memory below the ROM.
+</itemize>
 
 <sect>DIO implementation<label id="dio"><p>
 
@@ -303,6 +489,143 @@ The console I/O is speed optimized therefore support for XEP80 hardware
 or f80.com software is missing. Of course you may use stdio.h functions.
 
 
+<sect>Technical details<label id="techdetail"><p>
+
+<sect1><tt/atari/<p>
+
+<sect2>Load chunks<p>
+
+An <tt/atari/ program contains two load chunks.
+
+<enum>
+<item>"system check"<label id="syschk">&nl;
+This load chunk is always loaded at address &dollar;2E00, and checks if the system has
+enough memory to run the program. It also checks if the program start address is not
+below MEMLO. If any of the checks return false, the loading of the program is aborted.&nl;
+The contents of this chunk come from the SYSCHKCHNK memory area of the linker config file.
+<item>main program&nl;
+This load chunk is loaded at the selected program start address (default &dollar;2000) and
+contains all of the code and data of the program.&nl;
+The contents of this chunk come from the RAM memory area of the linker config file.
+</enum>
+
+
+<sect1><tt/atarixl/<p>
+
+<sect2>General operation<p>
+
+The <tt/atarixl/ target banks out the ROM while the program is running in
+order to make more memory available to the program.
+
+The screen memory is by default located at the top of available memory,
+&dollar;BFFF if BASIC is not enabled, &dollar;9FFF if BASIC is enabled.
+Therefore, in order to create a largest possible continuous memory area,
+the screen memory is moved below the program load address.  This gives
+a memory area from &lt;program load addr&gt; to &dollar;CFFF.
+
+The startup code installs wrappers for interrupt handlers and ROM routines.
+When an interrupt or call to a ROM routine happens, the wrappers enable the
+ROM, call the handler or routine, and disable the ROM again.
+
+The "wrapping" of the ROM routines is done by changing the ROM entry
+point symbols in <tt/atari.inc/ to point to the wrapper functions.
+
+For ROM functions which require input or output buffers, the wrappers
+copy the data as required to buffers in low memory.
+
+<sect2>Load chunks<label id="xlchunks"><p>
+
+An <tt/atarixl/ program contains three load chunks.
+
+<enum>
+<item>"system check"<label id="syschkxl">&nl;
+This load chunk is always loaded at address &dollar;2E00, and checks if the system is
+suitable for running the program. It also checks if there is enough room between MEMLO
+and the program start address to move the text mode screen buffer there. If any of the
+checks return false, the loading of the program is aborted.&nl;
+The contents of this chunk come from the SYSCHKCHNK memory area of the linker config file.
+<item>"shadow RAM prepare"&nl;
+The second load chunk gets loaded to the selected program load address (default &dollar;2400).
+It moves the screen memory below the program load address, copies the character generator
+from ROM to its new place in RAM, and copies the parts of the program which reside in
+high memory below the ROM to their place. The high memory parts are included in this load chunk.&nl;
+At the beginning of this load chunk there is a .bss area, which is not part of the
+EXE file. Therefore the on-disk start address of this load chunk will be higher than the
+selected start address. This .bss area (segment LOWBSS) contains the buffers for the
+double buffering of ROM input and output data.  If you add contents to this segment be aware
+that the contents won't be zero initialized by the startup code.&nl;
+The contents of this chunk come from the SRPREPCHNK memory area of the linker config file.
+<item>main program&nl;
+This load chunk is loaded just above the LOWBSS segment, replacing the code of
+the previous load chunk. It contains all remaining code and data sections of the program,
+including the startup code.&nl;
+The contents of this chunk come from the RAM memory area of the linker config file.
+</enum>
+
+<sect2>Moving screen memory below the program start address<p>
+
+When setting a graphics mode, the ROM looks at the RAMTOP location. RAMTOP
+describes the amount of installed memory in pages (RAMTOP is only one byte).
+The screen memory and display list are placed immediately below RAMTOP.
+
+Now in order to relocate the screen memory to lower memory, the startup code
+puts a value into RAMTOP which causes the ROM routines to allocate the display
+memory below the program start address and then it issues a ROM call to setup
+the regular text mode.
+
+<sect2>Selecting a good program load address<label id="loadaddr"><p>
+
+Due to the movement of the screen memory below the program start, there are some
+load addresses which are sub-optimal because they waste memory or prevent a
+higher resolution graphics mode from being enabled.
+
+There are restrictions at which addresses screen memory (display buffer and display
+list) can be placed. The display buffer cannot cross a 4K boundary and a display
+list cannot cross a 1K boundary.
+
+The startup code takes this into account when moving the screen memory down.
+If the program start address (aligned to the next lower page boundary) minus
+the screen buffer size would result in a screen buffer which spans a 4K
+boundary, the startup code lowers RAMTOP to this 4K boundary.&nl;
+The size of the screen buffer in text mode is 960 (&dollar;3C0) bytes. So, for
+example, a selected start address of &dollar;2300 would span the 4K boundary
+at &dollar;2000. The startup code would adjust the RAMTOP value in such way that
+the screen memory would be located just below this boundary (at &dollar;1C40).
+This results in the area &lsqb;&dollar;2000-&dollar;22FF&rsqb; being wasted.
+Additionally, the program might fail to load since the lowest address used
+by the screen memory could be below MEMLO. (The lowest address used in this
+example would be at &dollar;1C20, where the display list would allocated.)
+
+These calculations are performed by the startup code (in the first two
+load chunks), but the startup code only takes the default 40x24 text mode
+into account. If the program later wants to load TGI drivers which set
+a more memory consuming graphics mode, the user has to pick a higher
+load address.
+Using higher resolution modes there is a restriction in the ROM that it
+doesn't expect RAMTOP to be at arbitrary values. The Atari memory modules
+came only in 8K or 16K sizes, so the ROM expects RAMTOP to only have
+values in 8K steps. Therefore, when using the highest resolution modes
+the program start address must be at an 8K boundary.
+
+
+<sect2>Character generator location<label id="chargenloc"><p>
+
+The default <tt/atarixl/ linker config file (<tt/atarixl.cfg/) leaves the
+character generator location at the same address where it is in ROM
+(&dollar;E000). This has the disadvatage to split the upper memory into
+two parts (&lsqb;&dollar;D800-&dollar;DFFF&rsqb; and
+&lsqb;&dollar;E400-&dollar;FFF9&rsqb;). For applications which
+require a large continuous upper memory area, an alternative linker
+config file (<tt/atarixl-largehimem.cfg/) is provided. It relocates the
+character generator to &dollar;D800, providing a single big upper
+memory area at &lsqb;&dollar;DC00-&dollar;FFF9&rsqb;.
+
+With the character generator at a different address than in ROM, the routines
+which enable and disable the ROM also have to update the chargen pointer.
+This code is not enabled by default. In order to enable it,
+uncomment the line which sets CHARGEN_RELOC in <tt/libsrc&sol;atari&sol;Makefile.inc/
+and recompile the <tt/atarixl/ runtime library.
+
 <sect>Other hints<p>
 
 
@@ -335,6 +658,9 @@ feature in the <htmlurl url="ca65.html" name="assembler manual">.
 
 <sect1>Reserving a memory area inside a program<label id="memhole"><p>
 
+(This section is primarily applicable to the <tt/atari/ target, but the
+principles apply to <tt/atatixl/ as well.)
+
 The Atari 130XE maps its additional memory into CPU memory in 16K
 chunks at address &dollar;4000 to &dollar;7FFF. One might want to
 prevent this memory area from being used by cc65. Other reasons to
@@ -348,7 +674,7 @@ memory area (assuming a reserved area from &dollar;4000 to
 &dollar;BC1F.
 <p>
 Each load chunk of the executable starts with a 4 byte header which
-defines its load address and size. In the following linker scripts
+defines its load address and size. In the following linker config files
 these headers are named HEADER and SECHDR (for the MEMORY layout), and
 accordingly NEXEHDR and CHKHDR (for the SEGMENTS layout).
 <p>
@@ -360,30 +686,34 @@ segments should go above &dollar;7FFF.
 <p>
 The main problem is that the EXE header generated by the cc65 runtime
 lib is wrong. It defines a single load chunk with the sizes/addresses
-of the STARTUP, LOWCODE, INIT, CODE, RODATA, and DATA segments (the whole user
-program).
+of the STARTUP, LOWCODE, INIT, CODE, RODATA, and DATA segments, in 
+fact, the whole user program (we're disregarding the "system check"
+load chunk here).
 <p>
-The contents of the EXE header come from the EXEHDR segment, which is
-defined in crt0.s. This cannot be changed without modifying and
-recompiling the cc65 atari runtime lib. Therefore the original EXE
-header must be discarded. It will be replaced by a user created
-one. The discarding is done by assigning the EXEHDR segment to the
-BANK memory area. The BANK memory area is discarded in the new linker
-script (written to file "").
+The contents of the EXE header come from the EXEHDR and MAINHDR segments.
+The EXEHDR segment just contains the &dollar;FFFF value which is required
+to be the first bytes of the EXE file.&nl;
+The MAINHDR are defined in in crt0.s. This cannot be changed without
+modifying and recompiling the cc65 atari runtime library. Therefore
+the original contents of this segment must be discarded and be
+replaced by a user created one. This discarding is done by assigning the
+MAINHDR segment to the (new introduced) DISCARD memory area. The DISCARD memory area is
+thrown away in the new linker config file (written to file "").
+We add a new FSTHDR segment for the chunk header of the first chunk.
 <p>
 The user needs to create a customized linker config file which adds
-new memory areas and segments to hold the new EXE header and the
-header data for the second load chunk. Also an assembly source file
-needs to be created which defines the contents of the new EXE header
-and the second load chunk header.
+new memory areas and segments to hold the new header data for the first load
+chunk and the header data for the second load chunk. Also an assembly source file
+needs to be created which defines the contents of the new header data
+for the two load chunks.
 <p>
 <p>
 This is an example of a modified cc65 Atari linker configuration file
 (split.cfg):
 <tscreen><verb>
 SYMBOLS {
-    __STACKSIZE__ = $800;                               # 2K stack
-    __RESERVED_MEMORY__: value = $0000, weak = yes;
+    __STACKSIZE__:       value = $800   type = weak;    # 2K stack
+    __RESERVED_MEMORY__: value = $0000, type = weak;
 }
 FEATURES {
     STARTADDRESS: default = $2E00;
@@ -391,18 +721,22 @@ FEATURES {
 MEMORY {
     ZP: start = $82, size = $7E, type = rw, define = yes;
 
-    HEADER: start = $0000, size = $6, file = %O;        # first load chunk
+    HEADER: start = $0000, size = $2, file = %O;        # first load chunk
+
+    FSTHDR: start = $0000, size = $4, file = %O;        # second load chunk
     RAMLO: start = %S, size = $4000 - %S, file = %O;
 
-    BANK: start = $4000, size = $4000, file = "";
+    DISCARD: start = $4000, size = $4000, file = "";
 
     SECHDR: start = $0000, size = $4, file = %O;        # second load chunk
     RAM: start = $8000, size = $3C20, file = %O;        # $3C20: matches upper bound $BC1F
 }
 SEGMENTS {
-    EXEHDR: load = BANK, type = ro;
+    EXEHDR: load = HEADER, type = ro;
 
-    NEXEHDR: load = HEADER, type = ro;                  # first load chunk
+    MAINHDR: load = DISCARD, type = ro;
+
+    NEXEHDR: load = FSTHDR, type = ro;                  # first load chunk
     STARTUP: load = RAMLO, type = ro, define = yes;
     LOWCODE: load = RAMLO, type = ro, define = yes, optional = yes;
     INIT: load = RAMLO, type = ro, optional = yes;
@@ -412,7 +746,6 @@ SEGMENTS {
     RODATA: load = RAM, type = ro, define = yes;
     DATA: load = RAM, type = rw, define = yes;
     BSS: load = RAM, type = bss, define = yes;
-    ZPSAVE: load = RAM, type = bss, define = yes;
 
     ZEROPAGE: load = ZP, type = zp;
     AUTOSTRT: load = RAM, type = ro;                    # defines program entry point
@@ -430,12 +763,13 @@ FEATURES {
 </verb></tscreen>
 <p>
 
-A new memory area BANK was added which describes the reserved area.
-It gets loaded with the contents of the old EXEHDR segment. But the
+A new memory area DISCARD was added.
+It gets loaded with the contents of the (now unused) MAINHDR segment. But the
 memory area isn't written to the output file. This way the contents of
-the EXEHDR segment get discarded.
+the MAINHDR segment get discarded.
 <p>
-The newly added NEXEHDR segment defines the correct EXE header. It
+The newly added NEXEHDR segment defines the correct chunk header for the
+first intended load chunk. It
 puts the STARTUP, LOWCODE, INIT, and CODE segments, which are the
 segments containing only code, into load chunk #1 (RAMLO memory area).
 <p>
@@ -451,7 +785,6 @@ file (split.s):
        .import __DATA_LOAD__, __RODATA_LOAD__, __STARTUP_LOAD__
 
        .segment "NEXEHDR"
-       .word    $FFFF
        .word    __STARTUP_LOAD__
        .word    __CODE_LOAD__ + __CODE_SIZE__ - 1
 
@@ -473,8 +806,8 @@ CODE, BSS, ZPSAVE into high memory (split2.cfg):
 
 <tscreen><verb>
 SYMBOLS {
-    __STACKSIZE__ = $800;       # 2K stack
-    __RESERVED_MEMORY__: value = $0000, weak = yes;
+    __STACKSIZE__:       value = $800   type = weak;    # 2K stack
+    __RESERVED_MEMORY__: value = $0000, type = weak;
 }
 FEATURES {
     STARTADDRESS: default = $2E00;
@@ -482,18 +815,22 @@ FEATURES {
 MEMORY {
     ZP: start = $82, size = $7E, type = rw, define = yes;
 
-    HEADER: start = $0000, size = $6, file = %O;        # first load chunk
+    HEADER: start = $0000, size = $2, file = %O;        # first load chunk
+
+    FSTHDR: start = $0000, size = $4, file = %O;        # second load chunk
     RAMLO: start = %S, size = $4000 - %S, file = %O;
 
-    BANK: start = $4000, size = $4000, file = "";
+    DISCARD: start = $4000, size = $4000, file = "";
 
     SECHDR: start = $0000, size = $4, file = %O;        # second load chunk
     RAM: start = $8000, size = $3C20, file = %O;        # $3C20: matches upper bound $BC1F
 }
 SEGMENTS {
-    EXEHDR: load = BANK, type = ro;                     # discarded old EXE header
+    EXEHDR: load = HEADER, type = ro;                     # discarded old EXE header
 
-    NEXEHDR: load = HEADER, type = ro;                  # first load chunk
+    MAINHDR: load = DISCARD, type = ro;
+
+    NEXEHDR: load = FSTHDR, type = ro;                  # first load chunk
     RODATA: load = RAMLO, type = ro, define = yes;
     DATA: load = RAMLO, type = rw, define = yes;
 
@@ -501,7 +838,6 @@ SEGMENTS {
     STARTUP: load = RAM, type = ro, define = yes;
     INIT: load = RAM, type = ro, optional = yes;
     CODE: load = RAM, type = ro, define = yes;
-    ZPSAVE: load = RAM, type = bss, define = yes;
     BSS: load = RAM, type = bss, define = yes;
 
     ZEROPAGE: load = ZP, type = zp;
@@ -521,17 +857,16 @@ FEATURES {
 
 New contents for NEXEHDR and CHKHDR are needed (split2.s):
 <tscreen><verb>
-       .import __STARTUP_LOAD__, __ZPSAVE_LOAD__, __DATA_SIZE__
+       .import __STARTUP_LOAD__, __BSS_LOAD__, __DATA_SIZE__
        .import __DATA_LOAD__, __RODATA_LOAD__
 
        .segment "NEXEHDR"
-       .word    $FFFF
        .word    __RODATA_LOAD__
        .word    __DATA_LOAD__ + __DATA_SIZE__ - 1
 
        .segment "CHKHDR"
        .word    __STARTUP_LOAD__
-       .word    __ZPSAVE_LOAD__ - 1
+       .word    __BSS_LOAD__ - 1
 </verb></tscreen>
 
 Compile with
@@ -542,7 +877,7 @@ cl65 -t atari -C split2.cfg -o prog.com prog.c split2.s
 <sect2>Final note<label id="memhole_final_note"><p>
 
 There are two other memory areas which don't appear directly in the
-linker script. They are the stack and the heap.
+linker config file. They are the stack and the heap.
 
 The cc65 runtime lib places the stack location at the end of available
 memory. This is dynamically set from the MEMTOP system variable at
@@ -556,14 +891,47 @@ common/_heap.s defines the location of the heap and atari/crt0.s
 defines the location of the stack by initializing sp.
 
 
-<sect>Bugs/Feedback<p>
+<sect1>Upgrading from an older cc65 version<p>
+
+If you are using a customized linker config file you might get some errors
+regarding the MAINHDR segment. Like this:
 
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org"> or <htmlurl url="mailto:chris@groessler.org"
-name="chris@groessler.org"> ).
+<tscreen><verb>
+ld65: Error: Missing memory area assignment for segment `MAINHDR'
+</verb></tscreen>
+
+The old "HEADER" memory description contained six bytes: &dollar;FFFF
+and the first and last memory addess of the program. For the "system
+check" load chunk this had to be split into two memory assigments. The
+"HEADER" now only contains the &dollar;FFFF. The main program's first
+and last memory address were moved to a new segment, called "MAINHDR",
+which in the new linker config file goes into its own memory area (also
+called "MAINHDR").&nl;&nl;
+A simple way to adapt your old linker config file is to add the
+following line to the "SEGMENTS" section:
+
+<tscreen><verb>
+MAINHDR: load = HEADER, type = ro;
+</verb></tscreen>
+
+
+
+<sect1>Getting rid of the "system check" load chunk<label id="nosyschk"><p>
+
+If, for some reason, you don't want to include the "system check" load
+chunk, you can do so by defining the symbol <tt/__SYSTEM_CHECK__/ when linking the
+program. The "system check" chunk doesn't include vital parts of the
+program. So if you don't want the system checks, it is save to leave them out.
+This is probably mostly interesting for debugging.
+
+When using cl65, you can leave it out with this command line:
+
+<tscreen><verb>
+cl65 -Wl -D__SYSTEM_CHECK__=1 <arguments>
+</verb></tscreen>
 
+The value you assign to <tt/__SYSTEM_CHECK_/ doesn't matter. If the
+<tt/__SYSTEM_CHECK__/ symbol is defined, the load chunk won't be included.
 
 
 <sect>License<p>
index 8e24c92a132a92d833e98d4455e5e4586168aaac..82aef6c314e8078579b097f653a8fd77c7fad468 100644 (file)
@@ -112,14 +112,14 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/atmos-228-200-3.tgi (atmos_228_200_3)/</tag>
+  <tag><tt/atmos-228-200-3.tgi (atmos_228_200_3_tgi)/</tag>
   This driver was written by Greg King and Stefan Haubenthal.
   It features a resolution of 228&times;200 with a palette of two colors that
   can be chosen from the Atmos's eight colors.  The driver supports a third
   palette-"color" that actually "flips" the pixel (it becomes the other color)
   that is on the screen under the graphics cursor.
 
-  <tag><tt/atmos-240-200-2.tgi (atmos_240_200_2)/</tag>
+  <tag><tt/atmos-240-200-2.tgi (atmos_240_200_2_tgi)/</tag>
   This driver was written by Stefan Haubenthal and Greg King.
   It features a resolution of 240&times;200 with black and white colors.
   It is the default graphics driver for the Atmos.
@@ -136,7 +136,7 @@ No extended memory drivers are currently available for the Atmos.
 
 <descrip>
 
-  <tag><tt/atmos-pase.joy (atmos_pase)/</tag>
+  <tag><tt/atmos-pase.joy (atmos_pase_joy)/</tag>
   Supports two standard joysticks connected to the P.A.S.E. interface of the Atmos.
 
 </descrip><p>
@@ -151,7 +151,7 @@ No mouse drivers are currently available for the Atmos.
 
 <descrip>
 
-  <tag><tt/atmos-acia.ser (atmos_acia)/</tag>
+  <tag><tt/atmos-acia.ser (atmos_acia_ser)/</tag>
   Driver for the Telestrat integrated serial controller and the Atmos with a
   serial add-on.
   Note that because of the peculiarities of the 6551 chip together with the
@@ -224,15 +224,6 @@ feature in the <htmlurl url="ca65.html" name="assembler manual">.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index 37cdd25f8a6836df12e2d8f9f77fb4e83179a40d..5ea44b97043c30bc1769739dbf3d441ca1cfbe9b 100644 (file)
@@ -168,13 +168,13 @@ Note: The graphics drivers for the VDC are incompatible with the extended
 memory drivers using the VDC memory!
 
 <descrip>
-  <tag><tt/c128-vdc.tgi (c128_640_200_2)/</tag>
+  <tag><tt/c128-vdc.tgi (c128_vdc_tgi)/</tag>
   This driver was written by Maciej Witkowiak. It uses the 80 column display
   and features a resolution of 640*200 with two colors and an adjustable
   palette (that means that the two colors can be chosen out of the 16 VDC
   colors).
 
-  <tag><tt/c128-vdc2.tgi (c128_640_480_2)/</tag>
+  <tag><tt/c128-vdc2.tgi (c128_vdc2_tgi)/</tag>
   This driver was written by Maciej Witkowiak. This driver uses the 80 column
   display and features a resolution of 640*480 with two colors and an
   adjustable palette (that means that the two colors can be chosen out of the
@@ -189,17 +189,16 @@ missing on VDC and are translated to the two colors missing from VIC palette.
 
 <descrip>
 
-  <tag><tt/c128-georam.emd (c128_georam)/</tag>
+  <tag><tt/c128-georam.emd (c128_georam_emd)/</tag>
   A driver for the GeoRam cartridge. The driver will always assume 2048 pages
   of 256 bytes each. There are no checks, so if your program knows better,
   just go ahead.
 
-  <tag><tt/c128-ram.emd (c128_ram)/</tag>
+  <tag><tt/c128-ram.emd (c128_ram_emd)/</tag>
   An extended memory driver for the RAM in page 1. The common memory area is
   excluded, so this driver supports 251 pages of 256 bytes each.
 
-  <tag><tt/c128-ram2.emd (c128_ram2)/</tag>
-
+  <tag><tt/c128-ram2.emd (c128_ram2_emd)/</tag>
   An extended memory driver for the RAM in pages 1-3. The common memory area
   is excluded, so this driver supports up to 731 pages of 256 bytes each. The
   driver can be used as a full replacement for <tt/c128-ram.emd/, because RAM
@@ -207,17 +206,17 @@ missing on VDC and are translated to the two colors missing from VIC palette.
   machines with RAM in banks 2+3, so it has been made a separate driver. The
   additional code was contributed by Marco van den Heuvel.
 
-  <tag><tt/c128-ramcart.emd (c128_ramcart)/</tag>
+  <tag><tt/c128-ramcart.emd (c128_ramcart_emd)/</tag>
   A driver for the RamCart 64/128 written and contributed by Maciej Witkowiak.
   Will test the hardware for the available RAM.
 
-  <tag><tt/c128-reu.emd (c128_reu)/</tag>
+  <tag><tt/c128-reu.emd (c128_reu_emd)/</tag>
   A driver for the CBM REUs. The driver will determine from the connected REU
   if it supports 128KB of RAM or more. In the latter case, 256KB are assumed,
   but since there are no range checks, the application can use more memory if
   it has better knowledge about the hardware than the driver.
 
-  <tag><tt/c128-vdc.emd (c128_vdc)/</tag>
+  <tag><tt/c128-vdc.emd (c128_vdc_emd)/</tag>
   A driver for the VDC memory of the C128 written and contributed by Maciej
   Witkowiak. Autodetects the amount of memory available (16 or 64K) and offers
   64 or 256 pages of 256 bytes each. Note: This driver is incompatible with
@@ -230,14 +229,14 @@ missing on VDC and are translated to the two colors missing from VIC palette.
 
 <descrip>
 
-  <tag><tt/c128-ptvjoy.joy (c128_ptvjoy)/</tag>
+  <tag><tt/c128-ptvjoy.joy (c128_ptvjoy_joy)/</tag>
   Driver for the Protovision 4-player adapter originally written by Groepaz
   for the C64 and converted for the C128 by me. See <htmlurl
   url="http://www.protovision-online.de/hardw/hardwstart.htm"
   name="http://www.protovision-online.de/hardw/hardwstart.htm"> for prices and
   building instructions. Up to four joysticks are supported.
 
-  <tag><tt/c128-stdjoy.joy (c128_stdjoy)/</tag>
+  <tag><tt/c128-stdjoy.joy (c128_stdjoy_joy)/</tag>
   Supports up to two joysticks connected to the standard joysticks port of
   the C128.
 
@@ -249,14 +248,21 @@ missing on VDC and are translated to the two colors missing from VIC palette.
 
 <descrip>
 
-  <tag><tt/c128-1351.mou (c128_1351)/</tag>
+  <tag><tt/c128-1351.mou (c128_1351_mou)/</tag>
   Supports a standard mouse connected to port #0 of the C128.
 
-  <tag><tt/c128-joy.mou (c128_joymouse)/</tag>
+  <tag><tt/c128-inkwell.mou (c128_inkwell_mou)/</tag>
+  Supports the Inkwell Systems lightpens, connected to port #0 of the
+  C128.  It can read both the one-button 170-C and the two-button 184-C pens.
+  (It can read other lightpens and light-guns that send their button signal to
+  the joystick left-button pin or the paddle Y [up/down] pin.)  It works on
+  only the 40-column screen.
+
+  <tag><tt/c128-joy.mou (c128_joy_mou)/</tag>
   Supports a mouse emulated by a standard joystick e.g. 1350 mouse in port
   #1 of the C128.
 
-  <tag><tt/c128-pot.mou (c128_potmouse)/</tag>
+  <tag><tt/c128-pot.mou (c128_pot_mou)/</tag>
   Supports a potentiometer device e.g. Koala Pad connected to port #1 of
   the C128.
 
@@ -267,7 +273,7 @@ missing on VDC and are translated to the two colors missing from VIC palette.
 
 <descrip>
 
-  <tag><tt/c128-swlink.ser (c128_swlink)/</tag>
+  <tag><tt/c128-swlink.ser (c128_swlink_ser)/</tag>
   Driver for the SwiftLink cartridge. Supports up to 38400 baud, hardware flow
   control (RTS/CTS) and interrupt driven receives. Note that because of the
   peculiarities of the 6551 chip together with the use of the NMI, transmits
@@ -323,15 +329,6 @@ feature in the <htmlurl url="ca65.html" name="assembler manual">.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index 110082a19f5ad04423f8683c1940630fa9f04468..5d4a5d37251bc64f896245b8db5af93c9ce97b8a 100644 (file)
@@ -160,7 +160,7 @@ No graphics drivers are currently available for the C16/C116.
 
 <descrip>
 
-  <tag><tt/c16-ram.emd (c16_ram)/</tag>
+  <tag><tt/c16-ram.emd (c16_ram_emd)/</tag>
   A driver for the hidden RAM below the BASIC and KERNAL ROMs. Supports 125
   pages with 256 bytes each if the machine is equipped with 64K of memory
   (a Plus/4 or a memory extended C16/116).
@@ -173,7 +173,7 @@ No graphics drivers are currently available for the C16/C116.
 
 <descrip>
 
-  <tag><tt/c16-stdjoy.joy (c16_stdjoy)/</tag>
+  <tag><tt/c16-stdjoy.joy (c16_stdjoy_joy)/</tag>
   Supports up to two joysticks connected to the standard joysticks port of
   the Commodore 16/116.
 
@@ -183,8 +183,7 @@ No graphics drivers are currently available for the C16/C116.
 
 <sect1>Mouse drivers<p>
 
-Currently no drivers available (in fact, the API for loadable mouse drivers
-does not exist).
+No mouse drivers are currently available for the C16/C116.
 
 
 <sect1>RS232 device drivers<p>
@@ -237,15 +236,6 @@ feature in the <htmlurl url="ca65.html" name="assembler manual">.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index 2e6a37e774ce7df0660c6b5d1fe8195d2352069f..a5014414ccb3ef202f7a5676a523b117be442e29 100644 (file)
@@ -65,15 +65,15 @@ Special locations:
 
 <sect>Linker configurations<p>
 
-The ld65 linker comes with a builtin config file for the Commodore&nbsp;64,
-which is used via <tt/-t c64/ (and displayed via <tt/--dump-config c64/). The
+The ld65 linker comes with a default config file for the Commodore&nbsp;64,
+which is used via <tt/-t c64/. The
 c64 package comes with additional secondary linker config files, which are
-used via <tt/-C &lt;configfile&gt;/.
+used via <tt/-t c64 -C &lt;configfile&gt;/.
 
 
-<sect1>builtin config file<p>
+<sect1>default config file (<tt/c64.cfg/)<p>
 
-The builtin configuration is tailored to C programs. It supplies the load
+The default configuration is tailored to C programs. It supplies the load
 address and a small BASIC stub that starts the compiled program using a SYS
 command.
 
@@ -210,7 +210,7 @@ the standard setup without any memory loss or need for a changed
 configuration.
 
 <descrip>
-  <tag><tt/c64-hi.tgi (c64_320_200_2)/</tag>
+  <tag><tt/c64-hi.tgi (c64_hi_tgi)/</tag>
   This driver features a resolution of 320*200 with two colors and an
   adjustable palette (that means that the two colors can be chosen out of a
   palette of the 16 C64 colors).
@@ -221,45 +221,45 @@ configuration.
 
 <descrip>
 
-  <tag><tt/c64-c256k.emd (c64_c256k)/</tag>
+  <tag><tt/c64-c256k.emd (c64_c256k_emd)/</tag>
   A driver for the C64 256K memory expansion. This driver offers 768 pages of
   256 bytes each. Written and contributed by Marco van den Heuvel.
 
-  <tag><tt/c64-dqbb.emd (c64_dqbb)/</tag>
+  <tag><tt/c64-dqbb.emd (c64_dqbb_emd)/</tag>
   A driver for the Double Quick Brown Box cartridge. This driver offers
   64 pages of 256 bytes each. Written and contributed by Marco van den Heuvel.
 
-  <tag><tt/c64-georam.emd (c64_georam)/</tag>
+  <tag><tt/c64-georam.emd (c64_georam_emd)/</tag>
   A driver for the Berkeley Softworks GeoRam cartridge. The driver will
   determine the available RAM from the connected cartridge. It supports 64KB
   up to 2048KB of RAM.
 
-  <tag><tt/c64-isepic.emd (c64_isepic)/</tag>
+  <tag><tt/c64-isepic.emd (c64_isepic_emd)/</tag>
   A driver for the ISEPIC cartridge. This driver offers just 8 pages of 256
   bytes each. Written and contributed by Marco van den Heuvel.
 
-  <tag><tt/c64-ram.emd (c64_ram)/</tag>
+  <tag><tt/c64-ram.emd (c64_ram_emd)/</tag>
   A driver for the hidden RAM below the I/O area and kernal ROM. Supports 48
   256 byte pages. Please note that this driver is incompatible with any of the
   graphics drivers!
 
-  <tag><tt/c64-ramcart.emd (c64_ramcart)/</tag>
+  <tag><tt/c64-ramcart.emd (c64_ramcart_emd)/</tag>
   A driver for the RamCart 64/128 written and contributed by Maciej Witkowiak.
   Will test the hardware for the available RAM.
 
-  <tag><tt/c64-reu.emd (c64_reu)/</tag>
+  <tag><tt/c64-reu.emd (c64_reu_emd)/</tag>
   A driver for the CBM REUs. The driver will determine from the connected REU
   if it supports 128KB of RAM or more. In the latter case, 256KB are assumed,
   but since there are no range checks, the application can use more memory if
   it has better knowledge about the hardware than the driver.
 
-  <tag><tt/c64-vdc.emd (c64_vdc)/</tag>
+  <tag><tt/c64-vdc.emd (c64_vdc_emd)/</tag>
   A driver for the VDC memory of the C128. Written and contributed by Maciej
   Witkowiak. Can be used if the program is running in C64 mode of the C128.
   Autodetects the amount of memory available (16 or 64K) and offers 64 or 256
   pages of 256 bytes each.
 
-  <tag><tt/dtv-himem.emd (dtv_himem)/</tag>
+  <tag><tt/dtv-himem.emd (dtv_himem_emd)/</tag>
   A driver for the C64 D2TV (the second or PAL version). This driver offers
   indeed 7680 pages of 256 bytes each.
 
@@ -270,23 +270,23 @@ configuration.
 
 <descrip>
 
-  <tag><tt/c64-hitjoy.joy (c64_hitjoy)/</tag>
+  <tag><tt/c64-hitjoy.joy (c64_hitjoy_joy)/</tag>
   Driver for the Digital Excess & Hitmen adapter contributed by Groepaz. See
   <htmlurl url="http://www.digitalexcess.de/downloads/productions.php"
   name="http://www.digitalexcess.de/downloads/productions.php"> on
   instructions how to build one. Up to four joysticks are supported.
 
-  <tag><tt/c64-ptvjoy.joy (c64_ptvjoy)/</tag>
+  <tag><tt/c64-ptvjoy.joy (c64_ptvjoy_joy)/</tag>
   Driver for the Protovision 4-player adapter contributed by Groepaz. See
   <htmlurl url="http://www.protovision-online.de/hardw/hardwstart.htm"
   name="http://www.protovision-online.de/hardw/hardwstart.htm"> for prices and
   building instructions. Up to four joysticks are supported.
 
-  <tag><tt/c64-stdjoy.joy (c64_stdjoy)/</tag>
+  <tag><tt/c64-stdjoy.joy (c64_stdjoy_joy)/</tag>
   Supports up to two standard joysticks connected to the joysticks port of
   the C64.
 
-  <tag><tt/c64-numpad.joy (c64_numpad)/</tag>
+  <tag><tt/c64-numpad.joy (c64_numpad_joy)/</tag>
   Supports one joystick emulated by the numberpad of the C128 in C64 mode,
   the firebutton is labeled &dquot;5&dquot; and ENTER.
 
@@ -297,14 +297,20 @@ configuration.
 
 <descrip>
 
-  <tag><tt/c64-1351.mou (c64_1351)/</tag>
+  <tag><tt/c64-1351.mou (c64_1351_mou)/</tag>
   Supports a standard mouse connected to port #0 of the C64.
 
-  <tag><tt/c64-joy.mou (c64_joymouse)/</tag>
+  <tag><tt/c64-inkwell.mou (c64_inkwell_mou)/</tag>
+  Supports the Inkwell Systems lightpens, connected to port #0 of the C64.
+  It can read both the one-button 170-C and the two-button 184-C pens.  (It can
+  read other lightpens and light-guns that send their button signal to the
+  joystick left-button pin or the paddle Y [up/down] pin.)
+
+  <tag><tt/c64-joy.mou (c64_joy_mou)/</tag>
   Supports a mouse emulated by a standard joystick e.g. 1350 mouse in port
   #1 of the C64.
 
-  <tag><tt/c64-pot.mou (c64_potmouse)/</tag>
+  <tag><tt/c64-pot.mou (c64_pot_mou)/</tag>
   Supports a potentiometer device e.g. Koala Pad connected to port #1 of
   the C64.
 
@@ -315,7 +321,7 @@ configuration.
 
 <descrip>
 
-  <tag><tt/c64-swlink.ser (c64_swlink)/</tag>
+  <tag><tt/c64-swlink.ser (c64_swlink_ser)/</tag>
   Driver for the SwiftLink cartridge. Supports up to 38400 baud, hardware flow
   control (RTS/CTS) and interrupt driven receives. Note that because of the
   peculiarities of the 6551 chip together with the use of the NMI, transmits
@@ -372,15 +378,6 @@ feature in the <htmlurl url="ca65.html" name="assembler manual">.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index 00d72db56dadb781cf77d972293d51e2157c494e..c1c314a2c2c72de804fdfd2058e4e172653a56a9 100644 (file)
@@ -112,14 +112,12 @@ Long options:
   --debug                       Debug mode
   --debug-info                  Add debug info to object file
   --feature name                Set an emulation feature
-  --forget-inc-paths            Forget include search paths
   --help                        Help (this text)
   --ignore-case                 Ignore case of symbols
   --include-dir dir             Set an include directory search path
   --large-alignment             Don't warn about large alignments
   --listing name                Create a listing file if assembly was ok
   --list-bytes n                Maximum number of bytes per listing line
-  --macpack-dir dir             Set a macro package directory
   --memory-model model          Set the memory model
   --pagelength n                Set the page length for the listing
   --relax-checks                Relax some checks (see docs)
@@ -195,14 +193,6 @@ Here is a description of all the command line options:
   command for a list of emulation features.
 
 
-  <label id="option--forget-inc-paths">
-  <tag><tt>--forget-inc-paths</tt></tag>
-
-  Forget the builtin include paths. This is most useful when building
-  customized assembler modules, in which case the standard header files should
-  be ignored.
-
-
   <label id="option-g">
   <tag><tt>-g, --debug-info</tt></tag>
 
@@ -251,17 +241,6 @@ Here is a description of all the command line options:
   number of printed bytes.
 
 
-  <label id="option--macpack-dir">
-  <tag><tt>--macpack-dir dir</tt></tag>
-
-  This options allows to specify a directory containing macro files that are
-  used instead of the builtin images when a <tt><ref id=".MACPACK"
-  name=".MACPACK"></tt> directive is encountered. If <tt>--macpack-dir</tt>
-  was specified, a <tt>.mac</tt> extension is added to the package name and
-  the resulting file is loaded from the given directory. This is most useful
-  when debugging the builtin macro packages.
-
-
   <label id="option-mm">
   <tag><tt>-mm model, --memory-model model</tt></tag>
 
@@ -393,20 +372,19 @@ Here is a description of all the command line options:
 Normal include files are searched in the following places:
 
 <enum>
-<item>The current directory.
-<item>A compiled-in directory, which is often <tt>/usr/lib/cc65/asminc</tt>
-      on Linux systems.
+<item>The current file's directory.
+<item>Any directory added with the <tt/<ref id="option-I" name="-I">/ option
+on the command line.
 <item>The value of the environment variable <tt/CA65_INC/ if it is defined.
 <item>A subdirectory named <tt/asminc/ of the directory defined in the
       environment variable <tt/CC65_HOME/, if it is defined.
-<item>Any directory added with the <tt/<ref id="option-I" name="-I">/ option
-on the command line.
+<item>An optionally compiled-in directory.
 </enum>
 
 Binary include files are searched in the following places:
 
 <enum>
-<item>The current directory.
+<item>The current file's directory.
 <item>Any directory added with the <tt/<ref id="option--bin-include-dir"
 name="--bin-include-dir">/ option on the command line.
 </enum>
@@ -4319,6 +4297,15 @@ Currently defined macros are:
                 beq     Arg
                 bcc     Arg
         .endmacro
+
+        .macro  bnz     Arg
+                bne     Arg
+        .endmacro
+
+        .macro  bze     Arg
+                beq     Arg
+        .endmacro
+
 </verb></tscreen>
 
 
@@ -4430,22 +4417,28 @@ For better orthogonality, the assembler defines similar symbols as the
 compiler, depending on the target system selected:
 
 <itemize>
-<item><tt/__APPLE2__/ - Target system is <tt/apple2/
+<item><tt/__APPLE2__/ - Target system is <tt/apple2/ or <tt/apple2enh/
 <item><tt/__APPLE2ENH__/ - Target system is <tt/apple2enh/
-<item><tt/__ATARI__/ - Target system is <tt/atari/
+<item><tt/__ATARI__/ - Target system is <tt/atari/ or <tt/atarixl/
+<item><tt/__ATARIXL__/ - Target system is <tt/atarixl/
 <item><tt/__ATMOS__/ - Target system is <tt/atmos/
 <item><tt/__BBC__/ - Target system is <tt/bbc/
 <item><tt/__C128__/ - Target system is <tt/c128/
-<item><tt/__C16__/ - Target system is <tt/c16/
+<item><tt/__C16__/ - Target system is <tt/c16/ or <tt/plus4/
 <item><tt/__C64__/ - Target system is <tt/c64/
 <item><tt/__CBM__/ - Target is a Commodore system
 <item><tt/__CBM510__/ - Target system is <tt/cbm510/
 <item><tt/__CBM610__/ - Target system is <tt/cbm610/
-<item><tt/__GEOS__/ - Target system is <tt/geos/
+<item><tt/__GEOS__/ - Target is a GEOS system
+<item><tt/__GEOS_APPLE__/ - Target system is <tt/geos-apple/
+<item><tt/__GEOS_CBM__/ - Target system is <tt/geos-cbm/
 <item><tt/__LUNIX__/ - Target system is <tt/lunix/
+<item><tt/__LYNX__/ - Target system is <tt/lynx/
 <item><tt/__NES__/ - Target system is <tt/nes/
 <item><tt/__PET__/ - Target system is <tt/pet/
 <item><tt/__PLUS4__/ - Target system is <tt/plus4/
+<item><tt/__SIM6502__/ - Target system is <tt/sim6502/
+<item><tt/__SIM65C02__/ - Target system is <tt/sim65c02/
 <item><tt/__SUPERVISION__/ - Target system is <tt/supervision/
 <item><tt/__VIC20__/ - Target system is <tt/vic20/
 </itemize>
@@ -4744,15 +4737,6 @@ are used for the cbm load address.
 </enum>
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the assembler, if you find any bugs, or if
-you're doing something interesting with the assembler, I would be glad to
-hear from you. Feel free to contact me by email
-(<htmlurl url="mailto:uz@cc65.org" name="uz@cc65.org">).
-
-
-
 <sect>Copyright<p>
 
 ca65 (and all cc65 binutils) are (C) Copyright 1998-2003 Ullrich von
index 8b26be44c79797c9e1de00b42d99fc8c0540a06c..68dd2507f853c237903c2de4ccbe73b080edf16a 100644 (file)
@@ -248,15 +248,6 @@ that you have to pay for color.
 </enum>
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the converter, if you find any bugs, or if you're
-doing something interesting with the assembler, I would be glad to hear from
-you. Feel free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>Copyright<p>
 
 ca65html is (c) Copyright 2000-2007 Ullrich von Bassewitz. For its use, the
index 0dc842bc1ad14af3621db34f98232bc2c25b34ff..75497d97745750814a41aa4bd3ce820ca6e78733 100644 (file)
@@ -3,9 +3,10 @@
 <article>
 
 <title>Commodore 510 (aka P500) specific information for cc65
-<author>Ullrich von Bassewitz, <htmlurl url="mailto:uz@cc65.org" name="uz@cc65.org">
-Stefan A. Haubenthal, <htmlurl url="mailto:polluks@sdf.lonestar.org" name="polluks@sdf.lonestar.org">
-<date>2006-05-22
+<author>Ullrich von Bassewitz, <htmlurl url="mailto:uz@cc65.org" name="uz@cc65.org">&nl;
+Stefan A. Haubenthal, <htmlurl url="mailto:polluks@sdf.lonestar.org" name="polluks@sdf.lonestar.org">&nl;
+<htmlurl url="mailto:greg.king5@verizon.net" name="Greg King">
+<date>2013-08-23
 
 <abstract>
 An overview over the Commodore 510 runtime system as it is implemented for the
@@ -184,7 +185,7 @@ No graphics drivers are currently available for the Commodore 510.
 <sect1>Extended memory drivers<p>
 
 <descrip>
-  <tag><tt/cbm510-ram.emd (cbm510_ram)/</tag>
+  <tag><tt/cbm510-ram.emd (cbm510_ram_emd)/</tag>
   A driver for the RAM in bank 1. Supports up to 255 pages with 256 bytes
   each.
 </descrip><p>
@@ -194,7 +195,7 @@ No graphics drivers are currently available for the Commodore 510.
 
 <descrip>
 
-  <tag><tt/cbm510-std.joy (cbm510_stdjoy)/</tag>
+  <tag><tt/cbm510-std.joy (cbm510_std_joy)/</tag>
   Supports up to two standard joysticks connected to the joysticks port of
   the Commodore 510.
 
@@ -203,14 +204,27 @@ No graphics drivers are currently available for the Commodore 510.
 
 <sect1>Mouse drivers<p>
 
-No mouse drivers are currently available for the Commodore 510.
+<descrip>
+
+  <tag><tt/cbm510-joy.mou (cbm510_joy_mou)/</tag>
+  Supports a mouse that is emulated by a standard joystick, e.g. 1350
+  mouse, in joystick port #2 of the CBM510. That stick's fire button acts as
+  the left mouse button. The fire button of a stick in joystick port #1 can
+  act as the right mouse button.
 
+  <tag><tt/cbm510-inkwl.mou (cbm510_inkwl_mou)/</tag>
+  Supports the Inkwell Systems lightpens, connected to port #1 of the CBM510.
+  It can read both the 170-C and one button of the 184-C pens.  (It can
+  read other lightpens and light-guns that send their button signal to the
+  joystick left-button pin.)
+
+</descrip><p>
 
 <sect1>RS232 device drivers<p>
 
 <descrip>
 
-  <tag><tt/cbm510-std.ser (cbm510_stdser)/</tag>
+  <tag><tt/cbm510-std.ser (cbm510_std_ser)/</tag>
   Driver for the 6551 ACIA chip built into the Commodore 510. Supports up to
   19200 baud, hardware flow control (RTS/CTS) and interrupt driven receives.
   Note that because of the peculiarities of the 6551 chip transmits are not
@@ -268,15 +282,6 @@ code when they are linked into a program. See the discussion of the
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index 5acb38a1a3c42cd9d128a2add7ec1ab6d2da8441..a6ec4650bf09955dfdd4ab89e2728d9ad95893d0 100644 (file)
@@ -186,7 +186,7 @@ really good:-).
 <sect1>Extended memory drivers<p>
 
 <descrip>
-  <tag><tt/cbm610-ram.emd (cbm610_ram)/</tag>
+  <tag><tt/cbm610-ram.emd (cbm610_ram_emd)/</tag>
   A driver for the RAM in bank 2. Supports up to 255 pages with 256 bytes
   each.
 </descrip><p>
@@ -201,15 +201,14 @@ are no drivers for the non existing ports available.
 
 <sect1>Mouse drivers<p>
 
-Currently no drivers available (in fact, the API for loadable mouse drivers
-does not exist).
+No mouse drivers are currently available for the Commodore 610.
 
 
 <sect1>RS232 device drivers<p>
 
 <descrip>
 
-  <tag><tt/cbm610-std.ser (cbm610_stdser)/</tag>
+  <tag><tt/cbm610-std.ser (cbm610_std_ser)/</tag>
   Driver for the 6551 ACIA chip built into the Commodore 610. Supports up to
   19200 baud, hardware flow control (RTS/CTS) and interrupt driven receives.
   Note that because of the peculiarities of the 6551 chip transmits are not
@@ -267,15 +266,6 @@ code when they are linked into a program. See the discussion of the
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index bb13039095fbf2bd92df832b1bc9233bdd7af7ef..ab763271887d5937647566cf8c824ddb87ce3e89 100644 (file)
@@ -88,7 +88,6 @@ Long options:
   --dep-target target           Use this dependency target
   --disable-opt name            Disable an optimization step
   --enable-opt name             Enable an optimization step
-  --forget-inc-paths            Forget include search paths
   --help                        Help (this text)
   --include-dir dir             Set an include directory search path
   --list-opt-steps              List all optimizer steps and exit
@@ -204,13 +203,6 @@ Here is a description of all the command line options:
   is defined to the value "1".
 
 
-  <tag><tt>--forget-inc-paths</tt></tag>
-
-  Forget the builtin include paths. This is most useful when building
-  customized C or runtime libraries, in which case the standard header
-  files should be ignored.
-
-
   <tag><tt>-g, --debug-info</tt></tag>
 
   This will cause the compiler to insert a <tt/.DEBUGINFO/ command into the
@@ -344,6 +336,7 @@ Here is a description of all the command line options:
   <item>apple2
   <item>apple2enh
   <item>atari
+  <item>atarixl
   <item>atmos
   <item>c16 (works also for the c116 with memory up to 32K)
   <item>c64
@@ -357,6 +350,8 @@ Here is a description of all the command line options:
   <item>nes
   <item>pet (all CBM PET systems except the 2001)
   <item>plus4
+  <item>sim6502
+  <item>sim65c02
   <item>supervision
   <item>vic20
   </itemize>
@@ -514,24 +509,23 @@ Here is a description of all the command line options:
 
 The compiler will accept one C file per invocation and create a file with
 the same base name, but with the extension replaced by ".s". The output
-file contains assembler code suitable for the use with the ca65 macro
+file contains assembler code suitable for use with the ca65 macro
 assembler.
 
-Include files in single quotes are searched in the following places:
+Include files in quotes are searched in the following places:
 <enum>
-<item>The current directory.
-<item>The value of the environment variable <tt/CC65_INC/ if it is defined.
+<item>The current file's directory.
 <item>Any directory added with the <tt/-I/ option on the command line.
+<item>The value of the environment variable <tt/CC65_INC/ if it is defined.
 </enum>
 
 Include files in angle brackets are searched in the following places:
 <enum>
-<item>A compiled in directory which is often <tt>/usr/lib/cc65/include</tt> on
-      Linux systems.
+<item>Any directory added with the <tt/-I/ option on the command line.
 <item>The value of the environment variable <tt/CC65_INC/ if it is defined.
 <item>A subdirectory named <tt/include/ of the directory defined in the
       environment variable <tt/CC65_HOME/, if it is defined.
-<item>Any directory added with the <tt/-I/ option on the command line.
+<item>An optionally compiled-in directory.
 </enum>
 
 
@@ -709,7 +703,7 @@ The compiler defines several macros at startup:
 <descrip>
   <tag><tt>__APPLE2__</tt></tag>
 
-  This macro is defined if the target is the Apple ][ (-t apple2).
+  This macro is defined if the target is the Apple ][ (-t apple2) or the enhanced Apple //e (-t apple2enh).
 
   <tag><tt>__APPLE2ENH__</tt></tag>
 
@@ -717,8 +711,11 @@ The compiler defines several macros at startup:
 
   <tag><tt>__ATARI__</tt></tag>
 
-  This macro is defined if the target is one of the Atari computers
-  (400/800/130XL/800XL).
+  This macro is defined if the target is the Atari 400/800 (-t atari) or the Atari 800XL/130XE (-t atarixl).
+
+  <tag><tt>__ATARIXL__</tt></tag>
+
+  This macro is defined if the target is the Atari 800XL/130XE (-t atarixl).
 
   <tag><tt>__ATMOS__</tt></tag>
 
@@ -726,15 +723,15 @@ The compiler defines several macros at startup:
 
   <tag><tt>__C128__</tt></tag>
 
-  This macro is defined if the target is the c128 (-t c128).
+  This macro is defined if the target is the Commodore 128 (-t c128).
 
   <tag><tt>__C16__</tt></tag>
 
-  This macro is defined if the target is the c16 (-t c16).
+  This macro is defined if the target is the Commodore 16/116 (-t c16) or the Commodore Plus/4 (-t plus4).
 
   <tag><tt>__C64__</tt></tag>
 
-  This macro is defined if the target is the c64 (-t c64).
+  This macro is defined if the target is the Commodore 64 (-t c64).
 
   <tag><tt>__CBM__</tt></tag>
 
@@ -776,7 +773,15 @@ The compiler defines several macros at startup:
 
   <tag><tt>__GEOS__</tt></tag>
 
-  This macro is defined if you are compiling for the GEOS system (-t geos).
+  This macro is defined if you are compiling for one of the GEOS systems.
+
+  <tag><tt>__GEOS_APPLE__</tt></tag>
+
+  This macro is defined if you are compiling for the Apple GEOS system (-t geos-apple).
+
+  <tag><tt>__GEOS_CBM__</tt></tag>
+
+  This macro is defined if you are compiling for the GEOS 64/128 system (-t geos-cbm).
 
   <tag><tt>__LINE__</tt></tag>
 
@@ -792,7 +797,7 @@ The compiler defines several macros at startup:
 
   <tag><tt>__NES__</tt></tag>
 
-  This macro is defined if the target is the NES (-t nes).
+  This macro is defined if the target is the Nintendo Entertainment System (-t nes).
 
   <tag><tt>__OPT__</tt></tag>
 
@@ -816,15 +821,22 @@ The compiler defines several macros at startup:
 
   <tag><tt>__PLUS4__</tt></tag>
 
-  This macro is defined if the target is the plus/4 (-t plus4).
+  This macro is defined if the target is the Commodore Plus/4 (-t plus4).
 
   <tag><tt>__STDC_HOSTED__</tt></tag>
 
   This macro is expands to the integer constant 1.
 
+  <tag><tt>__SIM6502__</tt></tag>
+
+  This macro is defined if the target is sim65 in 6502 mode (-t sim6502).
+
+  <tag><tt>__SIM65C02__</tt></tag>
+  This macro is defined if the target is sim65 in 65C02 mode (-t sim65c02).
+
   <tag><tt>__SUPERVISION__</tt></tag>
 
-  This macro is defined if the target is the supervision (-t supervision).
+  This macro is defined if the target is the Supervision (-t supervision).
 
   <tag><tt>__TIME__</tt></tag>
 
@@ -833,7 +845,7 @@ The compiler defines several macros at startup:
 
   <tag><tt>__VIC20__</tt></tag>
 
-  This macro is defined if the target is the vic20 (-t vic20).
+  This macro is defined if the target is the Commodore VIC20 (-t vic20).
 </descrip>
 
 
@@ -1308,15 +1320,6 @@ behavior as implementation-defined.
 
 (to be done)
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the compiler, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>Copyright<p>
 
 This is the original compiler copyright:
index a574049cc3ac7c5a622dd8140b0e7566033229bf..2667ab5557b347ff38d7b96dc1cc5eb3b8bf5afc 100644 (file)
@@ -88,7 +88,6 @@ Long options:
   --debug-info                  Add debug info
   --feature name                Set an emulation feature
   --force-import sym            Force an import of symbol `sym'
-  --forget-inc-paths            Forget include search paths (compiler)
   --help                        Help (this text)
   --include-dir dir             Set a compiler include directory path
   --ld-args options             Pass options to the linker
@@ -277,14 +276,6 @@ to do this.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the utility, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org" name="uz@cc65.org">).
-
-
-
 <sect>Copyright<p>
 
 cl65 (and all cc65 binutils) are (C) Copyright 1998-2004 Ullrich von
index 126ed56fd4b0cec67c35fe2987bc568433dc61d2..ea75dcf7cdc414bac89c1072df30f13e3c14b9ef 100644 (file)
@@ -316,15 +316,6 @@ will get an "undefined external" error for the _c64_hi symbol.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the converter, if you find any bugs, or if you're
-doing something interesting with the code, I would be glad to hear from you.
-Feel free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>Copyright<p>
 
 co65 is (C) Copyright 2003 Ullrich von Bassewitz. For usage of the binaries
index 58d031eff37dec2b8eaa64d9f175cafe5d19eeb1..4dd6800d57b5c0266a9793de845d102b10283155 100644 (file)
@@ -651,15 +651,6 @@ directives explained above:
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the disassembler, if you find any bugs, or if
-you're doing something interesting with the assembler, I would be glad to hear
-from you. Feel free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>Copyright<p>
 
 da65 (and all cc65 binutils) are (C) Copyright 1998-2007 Ullrich von
index e0b110ead6d4e242c2a36c6325062fb348e02350..ef8e563275f0f91ad379d2298df08b38b78611b6 100644 (file)
@@ -2,12 +2,8 @@
 
 <article>
 <title>cc65 Documentation Overview
-<author>Ullrich von Bassewitz, <htmlurl url="mailto:uz@cc65.org" name="uz@cc65.org">
-<date>2005-8-6
-
-<abstract>
-Main documentation page, contains links to other available stuff.
-</abstract>
+<author><htmlurl url="https://github.com/oliverschmidt/cc65" name="">
+<date>
 
 <sect>Program documentation<p>
 
@@ -60,9 +56,6 @@ Main documentation page, contains links to other available stuff.
   <tag><htmlurl url="coding.html" name="coding.html"></tag>
   Contains hints on creating the most effective code with cc65.
 
-  <tag><htmlurl url="compile.txt" name="compile.txt"></tag>
-  How to compile cc65 and the support tools.
-
   <tag><htmlurl url="using-make.html" name="using-make.html"></tag>
   Build programs, using the GNU Make utility.
 
@@ -159,21 +152,5 @@ Main documentation page, contains links to other available stuff.
 </descrip>
 
 
-<sect>Miscellaneous<p>
-
-<descrip>
-
-  <tag><htmlurl url="newvers.txt" name="newvers.txt"></tag>
-  Somewhat outdated.  Lists the differences between my cc65 releases
-  and the original Atari version that was created by J. R. Dunning.
-
-  <tag><htmlurl url="BUGS" name="BUGS"></tag>
-  Known cc65 bugs.
-
-  <tag><htmlurl url="CREDITS" name="CREDITS"></tag>
-  Here is who helped with the compiler and other tools.
-
-</descrip>
-
 </article>
 
index c5ef7956af782cfa0a4ce4a95eac57083a7a1164..1db4c0c04a3f4310f7b32c76ac79a7d4d5d4e226 100644 (file)
@@ -371,12 +371,12 @@ The emulation, also, supports that method.
 
 <sect2>VICE<p>
 Available at <url
-url="http://www.viceteam.org/">:
+url="http://vice-emu.sourceforge.net/">:
 
 Emulates Commodore 64/128/VIC-20/PET/CBM II/Plus 4 computers. Supports
-printers, serial port and adapters, stereo sound, disk drives and images, RAM
-expansions, cartridges, ethernet connection, cycle-exact NTSC/PAL video, mice,
-and joysticks. Includes monitor. Runs on MSDOS/PCDOS, Win9x/ME/NT/2000/XP, OS2,
+printers, serial port and adapters, stereo sound, disk drives and images, RAM expansions,
+cartridges, ethernet connection, cycle-exact NTSC/PAL video, mice, graphics tablet,
+lightpens, and joysticks. Includes monitor. Runs on MSDOS/PCDOS, Win9x/ME/NT/2000/XP, OS2,
 BeOS x86, Acorn RISC OS, and most Unixes.
 
 Compile the tutorial with
@@ -395,7 +395,7 @@ Substitute the name of a Commodore computer for that <tt/&lt;sys&gt;/:
 <item><tt/vic20/
 </itemize>
 
-Start the desired version of the emulator (CBM510 and CBM610 programs run on
+Start the desired version of the emulator (CBM610 programs run on
 the CBM II &lsqb;<tt/xcbm2/&rsqb; emulator).
 
 In the Windows versions of VICE, choose <bf>File&gt;Autoboot disk/tape
index 5330a21d97d89a2ac7d98cca491ace6ae00ebc53..4f74b04c13cb34c5a026d9093403852a6c3927fb 100644 (file)
@@ -76,7 +76,6 @@ Long options:
   --config name         Use linker config file
   --dbgfile name        Generate debug information
   --define sym=val      Define a symbol
-  --dump-config name    Dump a builtin configuration
   --end-group           End a library group
   --force-import sym    Force an import of symbol `sym'
   --help                Help (this text)
@@ -140,7 +139,7 @@ Here is a description of all the command line options:
 
   The -o switch is used to give the name of the default output file.
   Depending on your output configuration, this name may NOT be used as
-  name for the output file. However, for the builtin configurations, this
+  name for the output file. However, for the default configurations, this
   name is used for the output file name.
 
 
@@ -148,7 +147,7 @@ Here is a description of all the command line options:
   <tag><tt>-t sys, --target sys</tt></tag>
 
   The argument for the -t switch is the name of the target system. Since this
-  switch will activate a builtin configuration, it may not be used together
+  switch will activate a default configuration, it may not be used together
   with the <tt><ref id="option-C" name="-C"></tt> option. The following target
   systems are currently supported:
 
@@ -158,6 +157,7 @@ Here is a description of all the command line options:
   <item>apple2
   <item>apple2enh
   <item>atari
+  <item>atarixl
   <item>atmos
   <item>c16 (works also for the c116 with memory up to 32K)
   <item>c64
@@ -171,6 +171,8 @@ Here is a description of all the command line options:
   <item>nes
   <item>pet (all CBM PET systems except the 2001)
   <item>plus4
+  <item>sim6502
+  <item>sim65c02
   <item>supervision
   <item>vic20
   </itemize>
@@ -252,9 +254,9 @@ Here is a description of all the command line options:
   <tag><tt>-S addr, --start-addr addr</tt></tag>
 
   Using -S you may define the default starting address. If and how this
-  address is used depends on the config file in use. For the builtin
+  address is used depends on the config file in use. For the default
   configurations, only the "none", "apple2" and "apple2enh" systems honor an
-  explicit start address, all other builtin config provide their own.
+  explicit start address, all other default configs provide their own.
 
 
   <tag><tt>-V, --version</tt></tag>
@@ -313,56 +315,53 @@ Here is a description of all the command line options:
 
 <sect>Search paths<p>
 
-Starting with version 2.10 there are now several search paths for files needed
-by the linker: One for libraries, one for object files and one for config
+Starting with version 2.10, there are now several search-path lists for files needed
+by the linker: one for libraries, one for object files, and one for config
 files.
 
 
 <sect1>Library search path<p>
 
-The library search path contains in this order:
+The library search-path list contains in this order:
 
 <enum>
 <item>The current directory.
-<item>A compiled in library path which is often <tt>/usr/lib/cc65/lib</tt> on
-      Linux systems.
+<item>Any directory added with the <tt><ref id="option--lib-path"
+      name="--lib-path"></tt> option on the command line.
 <item>The value of the environment variable <tt/LD65_LIB/ if it is defined.
 <item>A subdirectory named <tt/lib/ of the directory defined in the environment
       variable <tt/CC65_HOME/, if it is defined.
-<item>Any directory added with the <tt><ref id="option--lib-path"
-      name="--lib-path"></tt> option on the command line.
+<item>An optionally compiled-in library path.
 </enum>
 
 
 <sect1>Object file search path<p>
 
-The object file search path contains in this order:
+The object file search-path list contains in this order:
 
 <enum>
 <item>The current directory.
-<item>A compiled in directory which is often <tt>/usr/lib/cc65/obj</tt> on
-      Linux systems.
+<item>Any directory added with the <tt><ref id="option--obj-path"
+      name="--obj-path"></tt> option on the command line.
 <item>The value of the environment variable <tt/LD65_OBJ/ if it is defined.
 <item>A subdirectory named <tt/obj/ of the directory defined in the environment
       variable <tt/CC65_HOME/, if it is defined.
-<item>Any directory added with the <tt><ref id="option--obj-path"
-      name="--obj-path"></tt> option on the command line.
+<item>An optionally compiled-in directory.
 </enum>
 
 
 <sect1>Config file search path<p>
 
-The config file search path contains in this order:
+The config file search-path list contains in this order:
 
 <enum>
 <item>The current directory.
-<item>A compiled in directory which is often <tt>/usr/lib/cc65/cfg</tt> on
-      Linux systems.
+<item>Any directory added with the <tt><ref id="option--cfg-path"
+      name="--cfg-path"></tt> option on the command line.
 <item>The value of the environment variable <tt/LD65_CFG/ if it is defined.
 <item>A subdirectory named <tt/cfg/ of the directory defined in the environment
       variable <tt/CC65_HOME/, if it is defined.
-<item>Any directory added with the <tt><ref id="option--cfg-path"
-      name="--cfg-path"></tt> option on the command line.
+<item>An optionally compiled-in directory.
 </enum>
 
 
@@ -1025,24 +1024,6 @@ __STACKSIZE__=xxx/ on the command line.
 
 
 
-<sect1>Builtin configurations<p>
-
-The builtin configurations are part of the linker source. They can be retrieved
-with <tt/--dump-config/ and don't have a special format. So if you need a
-special configuration, it's a good idea to start with the builtin configuration
-for your system. In a first step, just replace <tt/-t target/ by <tt/-C
-configfile/. Then go on and modify the config file to suit your needs.
-
-
-
-<sect1>Secondary configurations<p>
-
-Several machine specific binary packages are distributed together with secondary
-configurations (in the cfg directory). These configurations can be used with
-<tt/-C configfile/ too.
-
-
-
 <sect>Special segments<p>
 
 The builtin config files do contain segments that have a special meaning for
@@ -1075,15 +1056,6 @@ initialized.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the linker, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>Copyright<p>
 
 ld65 (and all cc65 binutils) are (C) Copyright 1998-2005 Ullrich von
index 29a8ca063c87a7f7a70a9b0585f8ecfc9ec3e668..6c2ced43360319d05acea19e6ad3246b0ec06d64 100644 (file)
@@ -164,6 +164,7 @@ portable. conio implementations exist for the following targets:
   <item>apple2
   <item>apple2enh
   <item>atari
+  <item>atarixl
   <item>atmos
   <item>c16 (works also for the c116 with up to 32K memory)
   <item>c64
@@ -187,8 +188,7 @@ which define constants for special characters and keys.
 
 For systems that have a joystick, <tt/joystick.h/ will define a subroutine to
 read the current value, including constants to evaluate the result of this
-function. To help in writing portable code, the header file will define the
-symbol <tt/__JOYSTICK__/ on systems that have a joystick.
+function.
 
 
 
@@ -201,23 +201,12 @@ the following targets:
   <item>apple2
   <item>apple2enh
   <item>atari
+  <item>atarixl
   <item>c64
   <item>c128
-  <item>cbm510
   </itemize>
 
-The available functions are declared in <tt/mouse.h/ To help writing portable
-code, the header file will define the symbol <tt/__MOUSE__/ in systems that
-support a mouse.
-
-
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
+The available functions are declared in <tt/mouse.h/.
 
 
 <sect>Copyright<p>
index 48c3d7d4a6a907a74eb95c6082978ef074b46557..f83552e507975ebc430a2ba503eddd4346fe57a6 100644 (file)
@@ -194,7 +194,7 @@ The names in the parentheses denote the symbols to be used for static linking of
 
 <descrip>
 
-  <tag><tt/lynx-160-102-16.tgi (lynx_160_102_16)/</tag>
+  <tag><tt/lynx-160-102-16.tgi (lynx_160_102_16_tgi)/</tag>
   A TGI driver for the standard graphics mode (160&times;102 in 16 colors).
 
   The TGI driver is implemented as an interrupt driven dual buffering device.
@@ -243,7 +243,7 @@ No extended memory drivers are currently available for the Lynx.
 
 <descrip>
 
-  <tag><tt/lynx-stdjoy.joy (lynx_stdjoy)/</tag>
+  <tag><tt/lynx-stdjoy.joy (lynx_stdjoy_joy)/</tag>
   A joystick driver for the standard buttons.
 
 </descrip><p>
@@ -258,7 +258,7 @@ No mouse drivers are currently available for the Lynx.
 
 <descrip>
 
-  <tag><tt/lynx-comlynx.ser (lynx_comlynx)/</tag>
+  <tag><tt/lynx-comlynx.ser (lynx_comlynx_ser)/</tag>
   A serial driver for the ComLynx port.
 
   The ComLynx port has Tx and Rx wired together. Every byte is sent
@@ -327,15 +327,6 @@ cc65 drivers require. But for the time being you can create less portable
 applications using these Lynx specific modules in <tt/lynx-cart-demo/.
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index c66b1f2baad78681750a5bc78094cc0016ca7dfa..5d465c813ac3dfa725d741b0e564107685efabb4 100644 (file)
@@ -161,15 +161,6 @@ following functions (and a few others):
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index 2668b0b86ce70c3d0a0e688d477fc78ca84a3251..a1960109d6a73f6d791627d50972d22f3825d19b 100644 (file)
@@ -187,15 +187,6 @@ t.o:
 </verb></tscreen>
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the converter, if you find any bugs, or if you're
-doing something interesting with the code, I would be glad to hear from you.
-Feel free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>Copyright<p>
 
 od65 is (C) Copyright 2000-2009, Ullrich von Bassewitz. For usage of the
index 35e794db5414003f261d11d8cae1090e35d9dd60..6d816ad7716baec39f832bb799a3ad6484126120 100644 (file)
@@ -150,13 +150,13 @@ No extended memory drivers are currently available for the PET.
 
 <descrip>
 
-  <tag><tt/pet-ptvjoy.joy (pet_ptvjoy)/</tag>
+  <tag><tt/pet-ptvjoy.joy (pet_ptvjoy_joy)/</tag>
   Driver for the Protovision 4-player adapter contributed by Groepaz. See
   <htmlurl url="http://www.protovision-online.de/hardw/hardwstart.htm"
   name="http://www.protovision-online.de/hardw/hardwstart.htm"> for prices and
   building instructions. Up to two joysticks are supported.
 
-  <tag><tt/pet-stdjoy.joy (pet_stdjoy)/</tag>
+  <tag><tt/pet-stdjoy.joy (pet_stdjoy_joy)/</tag>
   Driver for the standard PET userport joystick.
 
 </descrip><p>
@@ -228,15 +228,6 @@ the following code:
 </verb></tscreen>
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index eefb85e21fb899342d2512612bdc801387c505c9..a16eef9d319da2f529bdd865dba7e82d485ae0c0 100644 (file)
@@ -163,7 +163,7 @@ No extended memory drivers are currently available for the Plus/4.
 
 <descrip>
 
-  <tag><tt/plus4-stdjoy.joy (plus4_stdjoy)/</tag>
+  <tag><tt/plus4-stdjoy.joy (plus4_stdjoy_joy)/</tag>
   Supports up to two joysticks connected to the standard joysticks port of
   the Plus/4.
 
@@ -172,15 +172,14 @@ No extended memory drivers are currently available for the Plus/4.
 
 <sect1>Mouse drivers<p>
 
-Currently no drivers available (in fact, the API for loadable mouse drivers
-does not exist).
+No mouse drivers are currently available for the Plus/4.
 
 
 <sect1>RS232 device drivers<p>
 
 <descrip>
 
-  <tag><tt/plus4-stdser.ser (plus4_stdser)/</tag>
+  <tag><tt/plus4-stdser.ser (plus4_stdser_ser)/</tag>
   Driver for the 6551 ACIA chip built into the Plus/4. Supports up to 19200
   baud, hardware flow control (RTS/CTS) and interrupt driven receives. Note
   that because of the peculiarities of the 6551 chip transmits are not
@@ -237,15 +236,6 @@ feature in the <htmlurl url="ca65.html" name="assembler manual">.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index 32dead645614917161a5d1e2b13e4333b537abe1..3cf749e206d0bd38a4156e8b08a600986e28de9f 100644 (file)
@@ -382,15 +382,6 @@ Possible attributes for this format are:
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the assembler, if you find any bugs, or if
-you're doing something interesting with the assembler, I would be glad to
-hear from you. Feel free to contact me by email
-(<htmlurl url="mailto:uz@cc65.org" name="uz@cc65.org">).
-
-
-
 <sect>Copyright<p>
 
 sp65 (and all cc65 binutils) are (C) Copyright 1998-2012 Ullrich von Bassewitz
index 504ba5194b26813b0a81858c7f5d2c7f007d76be..0aa990ac596b6cd35b573a14793aa78607722d6b 100644 (file)
@@ -146,15 +146,6 @@ following functions (and a few others):
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied
index 1227ee667f85f806208850c361374bee4aedabb0..562ea002ab2a9da506297a9e215714952933c448 100644 (file)
@@ -153,10 +153,10 @@ No extended memory drivers are currently available for the VIC20.
 
 <descrip>
 
-  <tag><tt/vic20-stdjoy.joy (vic20_stdjoy)/</tag>
+  <tag><tt/vic20-stdjoy.joy (vic20_stdjoy_joy)/</tag>
   Supports one standard joystick connected to the joysticks port of the VIC20.
 
-  <tag><tt/vic20-ptvjoy.joy (vic20_ptvjoy)/</tag>
+  <tag><tt/vic20-ptvjoy.joy (vic20_ptvjoy_joy)/</tag>
   Driver for the Protovision 4-player adapter contributed by Groepaz. See
   <htmlurl url="http://www.protovision-online.de/hardw/hardwstart.htm"
   name="http://www.protovision-online.de/hardw/hardwstart.htm"> for prices and
@@ -219,7 +219,7 @@ code:
 
 <tscreen><verb>
     /* Check for the existence of RAM */
-    if (PEEK(0xA000) == POKE(0xA000, PEEK(0xA000)+1)) {<br>
+    if (PEEK(0xA000) == POKE(0xA000, PEEK(0xA000)+1)) {
         /* Add it to the heap */
         _heapadd ((void *) 0xA000, 0x2000);
     }
@@ -236,15 +236,6 @@ feature in the <htmlurl url="ca65.html" name="assembler manual">.
 
 
 
-<sect>Bugs/Feedback<p>
-
-If you have problems using the library, if you find any bugs, or if you're
-doing something interesting with it, I would be glad to hear from you. Feel
-free to contact me by email (<htmlurl url="mailto:uz@cc65.org"
-name="uz@cc65.org">).
-
-
-
 <sect>License<p>
 
 This software is provided 'as-is', without any expressed or implied