From bb9aa7558f724445217afd7042cb3c3e9e248970 Mon Sep 17 00:00:00 2001
From: Greg King <gregdk@users.sf.net>
Date: Mon, 14 Apr 2014 05:54:13 -0400
Subject: [PATCH] Fixed the SGML <htmlurl> and <url> tags.

Those tags have two attributes: "url=" and "name=".  In the non-HTML output formats, <url> shows both fields, while <htmlurl> shows only the name field (as the HTML format always does.)  Thus, the general rules are
1. If the two attributes are different, then use <url>.
2. If they are similar, then use <htmlurl>.
3. If they are the same, then consider using <url> without the "name=" attribute.
(The reason for rules 2 and 3 is that the same text shouldn't be shown twice.)

There can be exceptions.  Example: "od65.sgml" has <htmlurl> because the URL
would disturb the flow of a sentence.
---
 doc/apple2.sgml      | 34 +++++++++++++++++-----------------
 doc/apple2enh.sgml   | 26 +++++++++++++-------------
 doc/atari.sgml       |  8 ++++----
 doc/c128.sgml        |  7 +++----
 doc/c16.sgml         | 10 +++++-----
 doc/c64.sgml         | 10 ++++------
 doc/ca65.sgml        | 10 ++++------
 doc/debugging.sgml   |  4 ++--
 doc/dio.sgml         |  6 +++---
 doc/funcref.sgml     | 11 +++++------
 doc/geos.sgml        | 19 ++++++++-----------
 doc/ld65.sgml        |  8 ++++----
 doc/library.sgml     |  4 ++--
 doc/lynx.sgml        |  4 ++--
 doc/nes.sgml         |  4 ++--
 doc/od65.sgml        |  6 +++---
 doc/pet.sgml         |  5 ++---
 doc/plus4.sgml       | 10 +++++-----
 doc/supervision.sgml |  8 ++++----
 doc/using-make.sgml  | 14 +++++++-------
 doc/vic20.sgml       |  5 ++---
 21 files changed, 101 insertions(+), 112 deletions(-)

diff --git a/doc/apple2.sgml b/doc/apple2.sgml
index 036f37207..e58565359 100644
--- a/doc/apple2.sgml
+++ b/doc/apple2.sgml
@@ -4,7 +4,7 @@
 
 <title>Apple&nbsp;&rsqb;&lsqb; specific information for cc65
 <author><url url="mailto:ol.sc@web.de" name="Oliver Schmidt">
-<date>2009-10-07
+<date>2014-04-10
 
 <abstract>
 An overview over the Apple&nbsp;&rsqb;&lsqb; runtime system as it is
@@ -24,7 +24,7 @@ Apple&nbsp;&rsqb;&lsqb; specific header files, available drivers, and any
 pitfalls specific to that platform.
 
 Please note that Apple&nbsp;&rsqb;&lsqb; specific functions are just mentioned
-here, they are described in detail in the separate <htmlurl url="funcref.html"
+here, they are described in detail in the separate <url url="funcref.html"
 name="function reference">. Even functions marked as "platform dependent" may
 be available on more than one platform. Please see the function reference for
 more information.
@@ -45,7 +45,7 @@ containing DOS 3.3 as well as ProDOS 8.
 
 For ProDOS 8 system programs the load address is fixed to &dollar;2000 so there
 is no need for a header. Thus the linker configuration
-<htmlurl url="apple2.html#ss4.3" name="apple2-system.cfg"> for those programs
+<ref id="apple-sys-cfg" name="apple2-system.cfg"> for those programs
 omits the DOS 3.3 header. The right AppleCommander option to put system files
 without a header on a ProDOS 8 disk image is <tt/-p/.
 
@@ -81,11 +81,11 @@ cc65 runtime system takes care of actually moving the code into the Language
 Card.
 
 The amount of memory available in the Language Card for generated code depends
-on the chosen <htmlurl url="apple2.html#s4" name="linker configuration">.
+on the chosen <ref id="link-configs" name="linker configuration">.
 
 
 
-<sect>Linker configurations<p>
+<sect>Linker configurations<label id="link-configs"><p>
 
 The ld65 linker comes with a default config file for the Apple&nbsp;&rsqb;&lsqb;,
 which is used via <tt/-t apple2/.
@@ -138,7 +138,7 @@ vanilla DOS 3.3 doesn't make use of the Language Card at all.
 </descrip><p>
 
 
-<sect1><tt/apple2-system.cfg/<p>
+<sect1><tt/apple2-system.cfg/<label id="apple-sys-cfg"><p>
 
 Configuration for a system program running on ProDOS 8.
 
@@ -159,7 +159,7 @@ Configuration for a system program running on ProDOS 8.
 </descrip><p>
 
 
-<sect1><tt/apple2-loader.cfg/<p>
+<sect1><tt/apple2-loader.cfg/<label id="apple-load-cfg"><p>
 
 Configuration optimized for a binary program running on ProDOS 8 without
 BASIC.SYSTEM. Intended to be used with <bf/LOADER.SYSTEM - an
@@ -231,7 +231,7 @@ range.
 The easiest (and for really large programs in fact the only) way to have a cc65
 program use the memory from &dollar;800 to &dollar;2000 is to link it as binary
 (as opposed to system) program using the linker configuration
-<htmlurl url="apple2.html#ss4.4" name="apple2-loader.cfg"> with start address
+<ref id="apple-load-cfg" name="apple2-loader.cfg"> with start address
 &dollar;803 and load it with the targetutil LOADER.SYSTEM. The program then works
 like a system program (i.e. quits to the ProDOS dispatcher).
 
@@ -243,7 +243,7 @@ example the program <tt/MYPROG/ is loaded by <tt/MYPROG.SYSTEM/.
 <sect1>Heap<p>
 
 If the cc65 program can be successfully linked as system program using the linker
-configuration <htmlurl url="apple2.html#ss4.3" name="apple2-system.cfg"> but
+configuration <ref id="apple-sys-cfg" name="apple2-system.cfg">, but
 uses the heap either explicitly or implicitly (i.e. by loading a driver) then
 the memory from &dollar;800 to &dollar;2000 can be added to the heap by calling
 <tt/_heapadd ((void *) 0x0800, 0x1800);/ at the beginning of <tt/main()/.
@@ -268,7 +268,7 @@ default I/O buffer allocation basically yields the same placement of I/O buffers
 in memory the primary benefit of <tt/apple2-iobuf-0800.o/ is a reduction in code
 size - and thus program file size - of more than 1400 bytes.
 
-Using <tt/apple2-iobuf-0800.o/ is as simple as placing it on the linker command 
+Using <tt/apple2-iobuf-0800.o/ is as simple as placing it on the linker command
 line like this:
 
 <tscreen><verb>
@@ -286,7 +286,7 @@ Programs containing Apple&nbsp;&rsqb;&lsqb; specific code may use the
 <sect1>Apple&nbsp;&rsqb;&lsqb; specific functions<p>
 
 The functions listed below are special for the Apple&nbsp;&rsqb;&lsqb;. See
-the <htmlurl url="funcref.html" name="function reference"> for declaration and
+the <url url="funcref.html" name="function reference"> for declaration and
 usage.
 
 <itemize>
@@ -347,7 +347,7 @@ The names in the parentheses denote the symbols to be used for static linking of
   <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.
-  
+
   Note that this driver doesn't check for the actual existence of the memory
   and that it doesn't check for ProDOS 8 RAM disk content!
 
@@ -373,7 +373,7 @@ The names in the parentheses denote the symbols to be used for static linking of
   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;.
-  
+
   Programs using this driver will have to be linked with <tt/--start-addr $4000/
   to reserve the first hires page if they are intended to run on an
   Apple&nbsp;&rsqb;&lsqb; (in contrast to an Apple&nbsp;//e) because the
@@ -428,7 +428,7 @@ BASIC.SYSTEM) there are some limitations for DOS 3.3:
   'FAILED TO ALLOC INTERRUPT' on program startup. This implicitly means that
   <tt/a2.stdmou.mou/ and <tt/a2.ssc.ser/ are not functional as they depend on
   interrupts.
-  
+
 </descrip><p>
 
 
@@ -477,7 +477,7 @@ The runtime for the Apple&nbsp;&rsqb;&lsqb; uses routines marked as
 <tt/.INTERRUPTOR/ for ProDOS 8 interrupt handlers. Such routines must be
 written as simple machine language subroutines and will be called
 automatically by the interrupt handler code when they are linked into a
-program. See the discussion of the <tt/.CONDES/ feature in the <htmlurl
+program. See the discussion of the <tt/.CONDES/ feature in the <url
 url="ca65.html" name="assembler manual">.
 
 
@@ -486,7 +486,7 @@ url="ca65.html" name="assembler manual">.
 <descrip>
 
   <tag/Drive ID/
-  The function <htmlurl url="dio.html#s1" name="dio_open()"> has the single
+  The function <url url="dio.html#s1" name="dio_open()"> has the single
   parameter <tt/device/ to identify the device to be opened. Therefore an
   Apple&nbsp;II slot and drive pair is mapped to that <tt/device/ according
   to the formula
@@ -498,7 +498,7 @@ url="ca65.html" name="assembler manual">.
   so that for example slot 6 drive 2 is mapped to <tt/device/ 14.
 
   <tag/Sector count/
-  The function <htmlurl url="dio.html#s3" name="dio_query_sectcount()"> returns
+  The function <url url="dio.html#s3" name="dio_query_sectcount()"> returns
   the correct sector count for all ProDOS 8 disks. However for any non-ProDOS 8
   disk it simply always returns 280 (which is only correct for a 140 KB disk).
   This condition is indicated by the <tt/_oserror/ value 82.
diff --git a/doc/apple2enh.sgml b/doc/apple2enh.sgml
index 95a8c084c..215c6d384 100644
--- a/doc/apple2enh.sgml
+++ b/doc/apple2enh.sgml
@@ -4,7 +4,7 @@
 
 <title>Enhanced&nbsp;Apple&nbsp;//e specific information for cc65
 <author><url url="mailto:ol.sc@web.de" name="Oliver Schmidt">
-<date>2009-10-07
+<date>2014-04-10
 
 <abstract>
 An overview over the enhanced&nbsp;Apple&nbsp;//e runtime system as it is
@@ -24,7 +24,7 @@ enhanced&nbsp;Apple&nbsp;//e specific header files, available drivers, and any
 pitfalls specific to that platform.
 
 Please note that enhanced&nbsp;Apple&nbsp;//e specific functions are just mentioned
-here, they are described in detail in the separate <htmlurl url="funcref.html"
+here, they are described in detail in the separate <url url="funcref.html"
 name="function reference">. Even functions marked as "platform dependent" may
 be available on more than one platform. Please see the function reference for
 more information.
@@ -45,7 +45,7 @@ containing DOS 3.3 as well as ProDOS 8.
 
 For ProDOS 8 system programs the load address is fixed to &dollar;2000 so there
 is no need for a header. Thus the linker configuration
-<htmlurl url="apple2enh.html#ss4.3" name="apple2enh-system.cfg"> for those programs
+<ref id="apple-sys-cfg" name="apple2enh-system.cfg"> for those programs
 omits the DOS 3.3 header. The right AppleCommander option to put system files
 without a header on a ProDOS 8 disk image is <tt/-p/.
 
@@ -81,11 +81,11 @@ cc65 runtime system takes care of actually moving the code into the Language
 Card.
 
 The amount of memory available in the Language Card for generated code depends
-on the chosen <htmlurl url="apple2enh.html#s4" name="linker configuration">.
+on the chosen <ref id="link-configs" name="linker configuration">.
 
 
 
-<sect>Linker configurations<p>
+<sect>Linker configurations<label id="link-configs"><p>
 
 The ld65 linker comes with a default config file for the enhanced&nbsp;Apple&nbsp;//e,
 which is used via <tt/-t apple2enh/.
@@ -138,7 +138,7 @@ vanilla DOS 3.3 doesn't make use of the Language Card at all.
 </descrip><p>
 
 
-<sect1><tt/apple2enh-system.cfg/<p>
+<sect1><tt/apple2enh-system.cfg/<label id="apple-sys-cfg"><p>
 
 Configuration for a system program running on ProDOS 8.
 
@@ -159,7 +159,7 @@ Configuration for a system program running on ProDOS 8.
 </descrip><p>
 
 
-<sect1><tt/apple2enh-loader.cfg/<p>
+<sect1><tt/apple2enh-loader.cfg/<label id="apple-load-cfg"><p>
 
 Configuration optimized for a binary program running on ProDOS 8 without
 BASIC.SYSTEM. Intended to be used with <bf/LOADER.SYSTEM - an
@@ -231,7 +231,7 @@ range.
 The easiest (and for really large programs in fact the only) way to have a cc65
 program use the memory from &dollar;800 to &dollar;2000 is to link it as binary
 (as opposed to system) program using the linker configuration
-<htmlurl url="apple2enh.html#ss4.4" name="apple2enh-loader.cfg"> with start address
+<ref id="apple-load-cfg" name="apple2enh-loader.cfg"> with start address
 &dollar;803 and load it with the targetutil LOADER.SYSTEM. The program then works
 like a system program (i.e. quits to the ProDOS dispatcher).
 
@@ -243,7 +243,7 @@ example the program <tt/MYPROG/ is loaded by <tt/MYPROG.SYSTEM/.
 <sect1>Heap<p>
 
 If the cc65 program can be successfully linked as system program using the linker
-configuration <htmlurl url="apple2enh.html#ss4.3" name="apple2enh-system.cfg"> but
+configuration <ref id="apple-sys-cfg" name="apple2enh-system.cfg">, but
 uses the heap either explicitly or implicitly (i.e. by loading a driver) then
 the memory from &dollar;800 to &dollar;2000 can be added to the heap by calling
 <tt/_heapadd ((void *) 0x0800, 0x1800);/ at the beginning of <tt/main()/.
@@ -286,7 +286,7 @@ Programs containing enhanced&nbsp;Apple&nbsp;//e specific code may use the
 <sect1>Enhanced&nbsp;Apple&nbsp;//e specific functions<p>
 
 The functions listed below are special for the enhanced&nbsp;Apple&nbsp;//e. See
-the <htmlurl url="funcref.html" name="function reference"> for declaration and
+the <url url="funcref.html" name="function reference"> for declaration and
 usage.
 
 <itemize>
@@ -483,7 +483,7 @@ The runtime for the enhanced&nbsp;Apple&nbsp;//e uses routines marked as
 <tt/.INTERRUPTOR/ for ProDOS 8 interrupt handlers. Such routines must be
 written as simple machine language subroutines and will be called
 automatically by the interrupt handler code when they are linked into a
-program. See the discussion of the <tt/.CONDES/ feature in the <htmlurl
+program. See the discussion of the <tt/.CONDES/ feature in the <url
 url="ca65.html" name="assembler manual">.
 
 
@@ -492,7 +492,7 @@ url="ca65.html" name="assembler manual">.
 <descrip>
 
   <tag/Drive ID/
-  The function <htmlurl url="dio.html#s1" name="dio_open()"> has the single
+  The function <url url="dio.html#s1" name="dio_open()"> has the single
   parameter <tt/device/ to identify the device to be opened. Therefore an
   Apple&nbsp;II slot and drive pair is mapped to that <tt/drive_id/ according
   to the formula
@@ -504,7 +504,7 @@ url="ca65.html" name="assembler manual">.
   so that for example slot 6 drive 2 is mapped to <tt/device/ 14.
 
   <tag/Sector count/
-  The function <htmlurl url="dio.html#s3" name="dio_query_sectcount()"> returns
+  The function <url url="dio.html#s3" name="dio_query_sectcount()"> returns
   the correct sector count for all ProDOS 8 disks. However for any non-ProDOS 8
   disk it simply always returns 280 (which is only correct for a 140 KB disk).
   This condition is indicated by the <tt/_oserror/ value 82.
diff --git a/doc/atari.sgml b/doc/atari.sgml
index 4b848575d..2b164ce35 100644
--- a/doc/atari.sgml
+++ b/doc/atari.sgml
@@ -6,7 +6,7 @@
 <author>
 <url url="mailto:shawnjefferson@24fightingchickens.com" name="Shawn Jefferson"> and<newline>
 <url url="mailto:chris@groessler.org" name="Christian Groessler">
-<date>2014-03-27
+<date>2014-04-10
 
 <abstract>
 An overview over the Atari runtime system as it is implemented for the cc65 C
@@ -36,7 +36,7 @@ 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
+described in detail in the separate <url url="funcref.html" name="function
 reference">. Even functions marked as "platform dependent" may be available on
 more than one platform. Please see the function reference for more
 information.
@@ -264,7 +264,7 @@ header file.
 <sect1>Atari specific functions<p>
 
 The functions and global variable listed below are special for the Atari.
-See the <htmlurl url="funcref.html" name="function reference"> for declaration and usage.
+See the <url url="funcref.html" name="function reference"> for declaration and usage.
 
 <itemize>
 <item>get_ostype
@@ -666,7 +666,7 @@ The runtime for the Atari uses routines marked as <tt/.INTERRUPTOR/ for
 interrupt handlers. Such routines must be written as simple machine language
 subroutines and will be called automatically by the VBI handler code
 when they are linked into a program. See the discussion of the <tt/.CONDES/
-feature in the <htmlurl url="ca65.html" name="assembler manual">.
+feature in the <url url="ca65.html" name="assembler manual">.
 
 
 <sect1>Reserving a memory area inside a program<label id="memhole"><p>
diff --git a/doc/c128.sgml b/doc/c128.sgml
index 3309d68af..4154c0a8d 100644
--- a/doc/c128.sgml
+++ b/doc/c128.sgml
@@ -4,7 +4,7 @@
 
 <title>Commodore 128-specific information for cc65
 <author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>2014-03-24
+<date>2014-04-12
 
 <abstract>
 An overview over the C128 runtime system as it is implemented for the cc65 C
@@ -235,9 +235,8 @@ The default drivers, <tt/joy_stddrv (joy_static_stddrv)/, point to <tt/c128-stdj
 
   <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
+  for the C64, and converted for the C128 by Uz. See <url
+  url="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_joy)/</tag>
diff --git a/doc/c16.sgml b/doc/c16.sgml
index a1317a0b5..1614516b7 100644
--- a/doc/c16.sgml
+++ b/doc/c16.sgml
@@ -4,7 +4,7 @@
 
 <title>Commodore 16/116 specific information for cc65
 <author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>2003-12-15
+<date>2014-04-10
 
 <abstract>
 An overview over the C16 runtime system as it is implemented for the cc65 C
@@ -23,13 +23,13 @@ cc65 C compiler. It describes the memory layout, C16/116 specific header
 files, available drivers, and any pitfalls specific to that platform.
 
 Please note that C16 specific functions are just mentioned here, they are
-described in detail in the separate <htmlurl url="funcref.html" name="function
+described in detail in the separate <url url="funcref.html" name="function
 reference">. Even functions marked as "platform dependent" may be available on
 more than one platform. Please see the function reference for more
 information.
 
 Since the C16/C116 and the Commodore Plus/4 are almost identical (the former
-don't have the 6551 ACIA and only 16KB of memory), the <htmlurl
+don't have the 6551 ACIA and only 16KB of memory), the <url
 url="plus4.html" name="Plus/4 documentation"> is also worth a look. The
 difference between both cc65 targets is that the Plus/4 runtime uses banking
 to support full 64K RAM, while the C16 does not use banking and supports up to
@@ -97,7 +97,7 @@ There are currently no special C16/C116 functions.
 <sect1>CBM specific functions<p>
 
 Some functions are available for all (or at least most) of the Commodore
-machines. See the <htmlurl url="funcref.html" name="function reference"> for
+machines. See the <url url="funcref.html" name="function reference"> for
 declaration and usage.
 
 <itemize>
@@ -232,7 +232,7 @@ The runtime for the C16 uses routines marked as <tt/.INTERRUPTOR/ for
 interrupt handlers. Such routines must be written as simple machine language
 subroutines and will be called automatically by the interrupt handler code
 when they are linked into a program. See the discussion of the <tt/.CONDES/
-feature in the <htmlurl url="ca65.html" name="assembler manual">.
+feature in the <url url="ca65.html" name="assembler manual">.
 
 
 
diff --git a/doc/c64.sgml b/doc/c64.sgml
index cef7f6467..ca99e0061 100644
--- a/doc/c64.sgml
+++ b/doc/c64.sgml
@@ -4,7 +4,7 @@
 
 <title>Commodore 64-specific information for cc65
 <author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>2014-03-24
+<date>2014-04-14
 
 <abstract>
 An overview over the C64 runtime system as it is implemented for the cc65 C
@@ -273,15 +273,13 @@ The default drivers, <tt/joy_stddrv (joy_static_stddrv)/, point to <tt/c64-stdjo
 <descrip>
 
   <tag><tt/c64-hitjoy.joy (c64_hitjoy_joy)/</tag>
-  Driver for the Digital Excess &amp; Hitmen adapter contributed by Groepaz. See
-  <htmlurl url="http://www.digitalexcess.de/downloads/productions.php"
-  name="http://www.digitalexcess.de/downloads/productions.php"> on
+  Driver for the Digital Excess &amp; Hitmen adapter contributed by Groepaz.
+  See <url url="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_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
+  <url url="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_joy)/</tag>
diff --git a/doc/ca65.sgml b/doc/ca65.sgml
index 46c1f4457..caf022c16 100644
--- a/doc/ca65.sgml
+++ b/doc/ca65.sgml
@@ -3,7 +3,7 @@
 <article>
 <title>ca65 Users Guide
 <author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>2000-07-19, 2000-11-29, 2001-10-02, 2005-09-08
+<date>2014-04-10
 
 <abstract>
 ca65 is a powerful macro assembler for the 6502, 65C02 and 65816 CPUs. It is
@@ -453,9 +453,8 @@ mnemonics:
 6502X mode is an extension to the normal 6502 mode. In this mode, several
 mnemonics for illegal instructions of the NMOS 6502 CPUs are accepted. Since
 these instructions are illegal, there are no official mnemonics for them. The
-unofficial ones are taken from <htmlurl
-url="http://www.oxyron.de/html/opcodes02.html"
-name="http://www.oxyron.de/html/opcodes02.html">. Please note that only the
+unofficial ones are taken from <url
+url="http://www.oxyron.de/html/opcodes02.html">. Please note that only the
 ones marked as "stable" are supported. The following table uses information
 from the mentioned web page, for more information, see there.
 
@@ -502,8 +501,7 @@ nor does it call the interpreter. All this must be done by your program. Apple
 ][ programmers do probably know how to use sweet16 mode.
 
 For more information about SWEET 16, see
-<htmlurl url="http://www.6502.org/source/interpreters/sweet16.htm"
-name="http://www.6502.org/source/interpreters/sweet16.htm">.
+<url url="http://www.6502.org/source/interpreters/sweet16.htm">.
 
 
 <sect1>Number format<p>
diff --git a/doc/debugging.sgml b/doc/debugging.sgml
index 320aa0359..c7c7792db 100644
--- a/doc/debugging.sgml
+++ b/doc/debugging.sgml
@@ -4,7 +4,7 @@
 
 <title>Using emulators with cc65
 <author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>03.12.2000
+<date>2014-04-11
 
 <abstract>
 How to debug your code using the VICE and Oricutron emulators.
@@ -29,7 +29,7 @@ Win32, OS/2, Acorn RISC OS, BeOS, QNX 6.x, Amiga, GP2X and Mac OS X. It emulates
 the Commodore 64, 128, VIC20, PET and the 600/700 machines. For more information
 see the VICE home page:
 
-<htmlurl url="http://www.viceteam.org/">
+<url url="http://vice-emu.sourceforge.net/">.
 
 VICE has a builtin machine language monitor that may be used for debugging
 your programs. Using an emulator for debugging has some advantages:
diff --git a/doc/dio.sgml b/doc/dio.sgml
index fe0a89983..c85992a4a 100644
--- a/doc/dio.sgml
+++ b/doc/dio.sgml
@@ -3,7 +3,7 @@
 <article>
 <title>Diskette Sector I/O Routines
 <author><url url="mailto:chris@groessler.org" name="Christian Groessler">
-<date>20-Feb-2005
+<date>2014-04-10
 
 <abstract>
 The cc65 library provides functions to read and write raw disk sectors.
@@ -89,8 +89,8 @@ The following function returns the sector size of the currently inserted disk:
 </verb></tscreen>
 
 On the Atari platform, the sector size is handled specially. Please refer
-to the DIO section in the <htmlurl url="atari.html" name="Atari">
-specific platform documentation.
+to the DIO section in the <url url="atari.html" name="Atari-specific
+platform documentation">.
 <p>
 
 The following function returns the sector count of the currently inserted disk:
diff --git a/doc/funcref.sgml b/doc/funcref.sgml
index 85b4c266e..adfeaf4b2 100644
--- a/doc/funcref.sgml
+++ b/doc/funcref.sgml
@@ -3,7 +3,7 @@
 <article>
 <title>cc65 function reference
 <author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>07.11.2002
+<date>2014-04-10
 
 <abstract>
 cc65 is a C compiler for 6502 based systems. This function reference describes
@@ -23,7 +23,7 @@ just some of the supported machines. This function refrence describes the
 available functions together with any limitations.
 
 For an overview about the available libraries, their purpose, and any
-differences to the ISO standard, please have a look at the <htmlurl
+differences to the ISO standard, please have a look at the <url
 url="library.html" name="cc65 Library Overview">.
 
 <bf/Note:/ Standard C functions are listed here, but not described in detail.
@@ -276,8 +276,7 @@ function.
 
 <sect1><tt/dio.h/<label id="dio.h"><p>
 
-<htmlurl url="dio.html" name="dio.html">
-Low-level disk I/O API.
+<url url="dio.html" name="Low-level disk I/O API">.
 
 
 <sect1><tt/dirent.h/<label id="dirent.h"><p>
@@ -416,8 +415,8 @@ Low-level disk I/O API.
 <sect1><tt/o65.h/<label id="o65.h"><p>
 
 The <tt/o65.h/ header file contains structure and constant definitions that
-may be used when dealing with files in <htmlurl
-url="http://www.6502.org/users/andre/o65/fileformat.html" name="o65 format">.
+may be used when dealing with files in <url
+url="http://www.6502.org/users/andre/o65/fileformat.html" name="the o65 format">.
 It does not declare any functions.
 
 
diff --git a/doc/geos.sgml b/doc/geos.sgml
index d1604bc9c..aa3725bdf 100644
--- a/doc/geos.sgml
+++ b/doc/geos.sgml
@@ -6,7 +6,7 @@
 
 <title>GEOSLib docs
 <author><url url="mailto:ytm@elysium.pl" name="Maciej Witkowiak">
-<date>v1.5, 26.12.1999, 2000, 2001, 2002, 2003, 2005
+<date>2014-04-11
 <abstract>
 This is the documentation of cc65's GEOSLib, but information contained here may be also
 useful for writing GEOS applications in general.
@@ -71,22 +71,19 @@ programs.
 The software needed:
 <itemize>
     <item><em/cc65/ Excellent package containing a C crosscompiler, a crossassembler and a linker, you
-		can get it from: <htmlurl url="http://www.cc65.org/"
-		name="http://www.cc65.org/">
+		can get it from: <url url="http://cc65.github.io/cc65/">.
     <item><em/VICE/ This is a portable C64, C128 and few other Commodore computers emulator, you
-		can obtain it from: <htmlurl url="http://www.viceteam.org/"
-		name="http://www.viceteam.org/">. The VICE package contains the
-		c1541 program that is able to convert/unconvert GEOS files to disk images.
+		can obtain it from: <url url="http://vice-emu.sourceforge.net/">.
+		The VICE package contains the <em/c1541/ program that is able
+		to convert/unconvert GEOS files to disk images.
     <item><em/The Star Commander/ This tool is only for DOS. You will need it for transferring
 		object files from a PC to a 1541. There's also one important ability of this
 		tool - it automatically un-converts .cvt files into GEOS native format on
-		disk image files. Check out: <htmlurl url="http://sta.c64.org/sc.html"
-		name="http://sta.c64.org/sc.html">
-    <item><em/cbm4linux/ A Linux kernel module that allows for communication with a 1541 and
+		disk image files. Check out: <url url="http://sta.c64.org/sc.html">.
+    <item><em/opencbm/ A package that allows for communication directly with a 1541 and
 		other Commodore IEC bus drives. It can be a replacement for Star Commander if
 		you only want to transfer files to a disk and unconvert using GEOS program for
-		this purpose. Check out: <htmlurl url="http://www.lb.shuttle.de/puffin/cbm4linux/"
-		name="http://www.lb.shuttle.de/puffin/cbm4linux">
+		this purpose. Check out: <url url="http://opencbm.sourceforge.net/">.
 </itemize>
 <p>
 VICE and cc65 are portable - they run on variety of platforms - DOS, Win32 and UNIX. GEOSLib only
diff --git a/doc/ld65.sgml b/doc/ld65.sgml
index c92761c0a..f3a3930b2 100644
--- a/doc/ld65.sgml
+++ b/doc/ld65.sgml
@@ -3,7 +3,7 @@
 <article>
 <title>ld65 Users Guide
 <author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>02.12.2000, 02.10.2001
+<date>2014-04-13
 
 <abstract>
 The ld65 linker combines object files into an executable file. ld65 is highly
@@ -840,7 +840,7 @@ look like this:
 </verb></tscreen>
 
 The only other available output format is the o65 format specified by Andre
-Fachat (see the <htmlurl url="http://www.6502.org/users/andre/o65/fileformat.html"
+Fachat (see the <url url="http://www.6502.org/users/andre/o65/fileformat.html"
 name="6502 binary relocation format specification">). It is defined like this:
 
 <tscreen><verb>
@@ -859,7 +859,7 @@ The necessary o65 attributes are defined in a special section labeled
 The <tt/FORMAT/ section is used to describe file formats. The default (binary)
 format has currently no attributes, so, while it may be listed in this
 section, the attribute list is empty. The second supported format,
-<htmlurl url="http://www.6502.org/users/andre/o65/fileformat.html" name="o65">,
+<url url="http://www.6502.org/users/andre/o65/fileformat.html" name="o65">,
 has several attributes that may be defined here.
 
 <tscreen><verb>
@@ -949,7 +949,7 @@ The <tt/CONDES/ feature has several attributes:
 Without specifying the <tt/CONDES/ feature, the linker will not create any
 tables, even if there are <tt/condes/ entries in the object files.
 
-For more information see the <tt/.CONDES/ command in the <htmlurl
+For more information see the <tt/.CONDES/ command in the <url
 url="ca65.html" name="ca65 manual">.
 
 
diff --git a/doc/library.sgml b/doc/library.sgml
index 16bd2dc5e..9b923c308 100644
--- a/doc/library.sgml
+++ b/doc/library.sgml
@@ -4,7 +4,7 @@
 
 <title>cc65 Library Overview
 <author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>2000-12-02, 2002-11-26
+<date>2014-04-12
 
 <abstract>
 An overview over the runtime and C libraries that come with the cc65 compiler,
@@ -19,7 +19,7 @@ including a discussion of the differences to the ISO standard.
 <sect>Overview<p>
 
 This file contains a short overview of the libraries available for the cc65 C
-compiler. Please have a look at the <htmlurl url="funcref.html" name="function
+compiler. Please have a look at the <url url="funcref.html" name="function
 reference"> for a list function by function. Since the function reference is
 not complete (I'm working on that) it may happen that you don't find a
 specific function. In this case, have a look into the header files. All
diff --git a/doc/lynx.sgml b/doc/lynx.sgml
index 720c68af6..73763f1dd 100644
--- a/doc/lynx.sgml
+++ b/doc/lynx.sgml
@@ -6,7 +6,7 @@
 <author>
 <url url="mailto:karri@sipo.fi" name="Karri Kaksonen">,<newline>
 <url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>2011-04-01
+<date>2014-04-12
 
 <abstract>
 An overview over the Atari Lynx runtime system as it is implemented for the
@@ -25,7 +25,7 @@ with the cc65 C compiler. It describes the memory layout, Lynx specific header
 files, available drivers, and any pitfalls specific to that platform.
 
 Please note that Lynx specific functions are just mentioned here, they are
-described in detail in the separate <htmlurl url="funcref.html" name="function
+described in detail in the separate <url url="funcref.html" name="function
 reference">. Even functions marked as "platform dependent" may be available on
 more than one platform. Please see the function reference for more
 information.
diff --git a/doc/nes.sgml b/doc/nes.sgml
index b40a0d30d..ca9ce72b3 100644
--- a/doc/nes.sgml
+++ b/doc/nes.sgml
@@ -6,7 +6,7 @@
 <author>
 <url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">,<newline>
 <url url="mailto:polluks@sdf.lonestar.org" name="Stefan A. Haubenthal">
-<date>2005-07-17
+<date>2014-04-12
 
 <abstract>
 An overview over the NES runtime system as it is implemented for the
@@ -25,7 +25,7 @@ with the cc65 C compiler. It describes the memory layout, NES specific header
 files, available drivers, and any pitfalls specific to that platform.
 
 Please note that NES specific functions are just mentioned here, they are
-described in detail in the separate <htmlurl url="funcref.html" name="function
+described in detail in the separate <url url="funcref.html" name="function
 reference">. Even functions marked as "platform dependent" may be available on
 more than one platform. Please see the function reference for more
 information.
diff --git a/doc/od65.sgml b/doc/od65.sgml
index 1f237b006..f5611a889 100644
--- a/doc/od65.sgml
+++ b/doc/od65.sgml
@@ -3,11 +3,11 @@
 <article>
 <title>od65 Users Guide
 <author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>2010-07-30
+<date>2014-04-14
 
 <abstract>
 od65 is the object file dump utility. It is able to output most parts of
-<htmlurl url="ca65.html" name="ca65"> generated object files in readable form.
+<htmlurl url="ca65.html" name="ca65-generated"> object files in readable form.
 </abstract>
 
 <!-- Table of contents -->
@@ -19,7 +19,7 @@ od65 is the object file dump utility. It is able to output most parts of
 <sect>Overview<p>
 
 od65 is an object file dump utility. It is able to output most parts of
-<htmlurl url="ca65.html" name="ca65"> generated object files in readable form.
+<htmlurl url="ca65.html" name="ca65-generated"> object files in readable form.
 Since the contents and format of the object files are not documented
 elsewhere and may change at any time, this tool is a portable way to look at
 the contents.
diff --git a/doc/pet.sgml b/doc/pet.sgml
index 01a88c67c..7c5bd71ea 100644
--- a/doc/pet.sgml
+++ b/doc/pet.sgml
@@ -6,7 +6,7 @@
 <author>
 <url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">,<newline>
 <url url="mailto:polluks@sdf.lonestar.org" name="Stefan A. Haubenthal">
-<date>2014-03-26
+<date>2014-04-12
 
 <abstract>
 An overview over the PET runtime system as it is implemented for the cc65 C
@@ -155,8 +155,7 @@ The default drivers, <tt/joy_stddrv (joy_static_stddrv)/, point to <tt/pet-stdjo
 
   <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
+  <url url="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_joy)/</tag>
diff --git a/doc/plus4.sgml b/doc/plus4.sgml
index 3a3da728a..36d53e753 100644
--- a/doc/plus4.sgml
+++ b/doc/plus4.sgml
@@ -4,7 +4,7 @@
 
 <title>Commodore Plus/4 specific information for cc65
 <author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">
-<date>2003-12-14
+<date>2014-04-12
 
 <abstract>
 An overview over the Plus/4 runtime system as it is implemented for the cc65 C
@@ -23,13 +23,13 @@ cc65 C compiler. It describes the memory layout, Plus/4 specific header files,
 available drivers, and any pitfalls specific to that platform.
 
 Please note that Plus/4 specific functions are just mentioned here, they are
-described in detail in the separate <htmlurl url="funcref.html" name="function
+described in detail in the separate <url url="funcref.html" name="function
 reference">. Even functions marked as "platform dependent" may be available on
 more than one platform. Please see the function reference for more
 information.
 
 Since the Plus/4 and the Commodore 16/116 are almost identical (the latter are
-missing the 6551 ACIA and do only have 16KB of memory), the <htmlurl
+missing the 6551 ACIA and do only have 16KB of memory), the <url
 url="c16.html" name="C16 documentation"> is also worth a look. The difference
 between both cc65 targets is that the Plus/4 runtime uses banking to support
 full 64K RAM, while the C16 does not use banking and supports up to 32K RAM.
@@ -95,7 +95,7 @@ There are currently no special Plus/4 functions.
 <sect1>CBM specific functions<p>
 
 Some functions are available for all (or at least most) of the Commodore
-machines. See the <htmlurl url="funcref.html" name="function reference"> for
+machines. See the <url url="funcref.html" name="function reference"> for
 declaration and usage.
 
 <itemize>
@@ -232,7 +232,7 @@ The runtime for the Plus/4 uses routines marked as <tt/.INTERRUPTOR/ for
 interrupt handlers. Such routines must be written as simple machine language
 subroutines and will be called automatically by the interrupt handler code
 when they are linked into a program. See the discussion of the <tt/.CONDES/
-feature in the <htmlurl url="ca65.html" name="assembler manual">.
+feature in the <url url="ca65.html" name="assembler manual">.
 
 
 
diff --git a/doc/supervision.sgml b/doc/supervision.sgml
index fcf05878e..97495dea5 100644
--- a/doc/supervision.sgml
+++ b/doc/supervision.sgml
@@ -4,7 +4,7 @@
 
 <title>Watara Supervision specific information for cc65
 <author><url url="mailto:polluks@sdf.lonestar.org" name="Stefan A. Haubenthal">
-<date>2005-07-17
+<date>2014-04-12
 
 <abstract>
 An overview over the Supervision runtime system as it is implemented for the
@@ -23,7 +23,7 @@ with the cc65 C compiler. It describes the memory layout, Supervision specific h
 files, available drivers, and any pitfalls specific to that platform.
 
 Please note that Supervision specific functions are just mentioned here, they are
-described in detail in the separate <htmlurl url="funcref.html" name="function
+described in detail in the separate <url url="funcref.html" name="function
 reference">. Even functions marked as "platform dependent" may be available on
 more than one platform. Please see the function reference for more information.
 
@@ -92,7 +92,7 @@ allow access to hardware located in the address space.
 No graphics drivers are currently available for the Supervision.
 <!--A TGI driver for the standard graphics mode (160&times;160 in 4 colors) is
 available, but must be statically linked, because no file I/O is available.
-See the documentation for the <htmlurl url="co65.html" name="co65 utility">
+See the documentation for the <url url="co65.html" name="co65 utility">
 for information on how to do that.-->
 
 <sect1>Extended memory drivers<p>
@@ -105,7 +105,7 @@ No extended memory drivers are currently available for the Supervision.
 No joystick drivers are currently available for the Supervision.
 <!--A joystick driver for the standard buttons is available, but must be
 statically linked, because no file I/O is available. See the documentation for
-the <htmlurl url="co65.html" name="co65 utility"> for information on how to do
+the <url url="co65.html" name="co65 utility"> for information on how to do
 that.-->
 
 <sect1>Mouse drivers<p>
diff --git a/doc/using-make.sgml b/doc/using-make.sgml
index f104379f0..0c3c13a6e 100644
--- a/doc/using-make.sgml
+++ b/doc/using-make.sgml
@@ -4,7 +4,7 @@
 
 <title>Using GNU Make with cc65
 <author><url url="mailto:ol.sc@web.de" name="Oliver Schmidt">
-<date>2009-06-26
+<date>2014-04-12
 
 <abstract>
 How to build your program using the GNU Make utility.
@@ -114,10 +114,10 @@ of creating a <tt/CC65_HOME/ environment variable.
 <sect1>Understanding the sample Makefile<p>
 
 Most parts of the sample Makefile follow the guidelines in the
-<htmlurl url="http://www.gnu.org/software/make/manual/make.html" name="GNU Make Manual">
+<url url="http://www.gnu.org/software/make/manual/make.html" name="GNU Make Manual">
 that can be searched online for background information. The automatic generation of
 dependency however rather works as described by the GNU Make maintainer Paul D. Smith in
-<htmlurl url="http://make.paulandlesley.org/autodep.html#advanced" name="Advanced Auto-Dependencies">.
+<url url="http://make.paulandlesley.org/autodep.html#advanced" name="&dquot;Advanced Auto-Dependencies&dquot;">.
 Fortunately both GCC and cc65 directly support this method in the meantime.
 
 
@@ -133,8 +133,8 @@ then the sample Makefile may be invoked from the Windows Command Prompt (cmd.exe
 by downloading the following programs:
 
 <itemize>
-<item>make.exe: <url url="http://gnuwin32.sourceforge.net/packages/make.htm">
-<item>rm.exe: <url url="http://gnuwin32.sourceforge.net/packages/coreutils.htm">
+<item><url name="make.exe" url="http://gnuwin32.sourceforge.net/packages/make.htm">
+<item><url name="rm.exe" url="http://gnuwin32.sourceforge.net/packages/coreutils.htm">
 </itemize>
 
 
@@ -144,9 +144,9 @@ by downloading the following programs:
 The very limited resources of the cc65 target machines now and then require
 manual optimization of the build process by compiling individual source files
 with different compiler options. GNU Make offers
-<htmlurl url="http://www.gnu.org/software/make/manual/html_node/Target_002dspecific.html" name="Target-specific Variable Values">
+<url url="http://www.gnu.org/software/make/manual/html_node/Target_002dspecific.html" name="Target-specific Variable Values">
 perfectly suited for doing so. For example placing the code of the two modules 
-<tt/foo/ and <tt/bar/ in the segment <tt/FOOBAR/ can be archived with this
+<tt/foo/ and <tt/bar/ in the segment <tt/FOOBAR/ can be achieved with this
 target-specific variable definition:
 
 <tscreen><verb>
diff --git a/doc/vic20.sgml b/doc/vic20.sgml
index ce58dad50..5fba59a13 100644
--- a/doc/vic20.sgml
+++ b/doc/vic20.sgml
@@ -6,7 +6,7 @@
 <author>
 <url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">,<newline>
 <url url="mailto:polluks@sdf.lonestar.org" name="Stefan A. Haubenthal">
-<date>2014-03-26
+<date>2014-04-12
 
 <abstract>
 An overview over the VIC20 runtime system as it is implemented for the cc65 C
@@ -161,8 +161,7 @@ The default drivers, <tt/joy_stddrv (joy_static_stddrv)/, point to <tt/vic20-std
 
   <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
+  <url url="http://www.protovision-online.de/hardw/hardwstart.htm"> for prices and
   building instructions. Up to three joysticks are supported.
 
 </descrip><p>