2007-09-17 Scott Dattalo <scott@dattalo.com>
  * [gpasm] Single character strings were not being interpreted correctly for
  the .direct macros.

2007-09-28 David Barnett <daviebdawg@gmail.com>
  * [gputils] Fixed bsr location for p18f6585, p18f6680, p18f8585 and p18f8680

2007-09-17 Scott Dattalo <scott@dattalo.com>
  * [gputils] Added support for the p12f510.

2007-06-26 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Report message when RES directive size evaluates to zero (or
  truncates on PIC18)
  * [gpasm] Report error when ORG has odd address on PIC18

2007-06-26 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed bug #1638506, where fixed idata addresses were divided by 2

2007-06-26 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Added message when assuming first CBLOCK address

2007-06-25 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Added support for pageselw directive
  * [gpasm] Added test cases for pageselw directive in gpasm.project directory

2007-06-25 David Barnett <daviebdawg@gmail.com>
  * [gputils] Patch by Michael Ballbach to add support for new COFF format

2007-06-25 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed bug #1466150, where gpasm produced bad HEX output (instead
  of an error) for addresses above 0xFFFF under some hex formats

2007-06-25 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Reverted forward reference changes for RES directive (on 2007-6-19
  & 6-20) since they affect the wrong value
  * [gpasm] Fixed potential uninitialized pointer access in do_define

2007-06-25 David Barnett <daviebdawg@gmail.com>
  * [gputils] Added support for p18f2682, p18f2685, p18f4682, and p18f4685

2007-06-22 David Barnett <daviebdawg@gmail.com>
  * Fixed bug in test scripts that prevented failures from being reported
  properly
  * [gpasm] Disabled reporting testing failed if tests in gpasm.mchip fail
  (several have never passed)
  * [gpasm] Added sx.o into test script directory, apparently forgotten
  * [gpvc] Changed 'gpdasm' to 'gpvc' in gpvc usage message

2007-06-22 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed token problem that caused some beginning-of-line directives
  (include, title, subtitle) to be accepted when not followed by whitespace or
  a delimiter

2007-06-21 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed bug #1335511, where redefining a symbol silently corrupts
  the COFF relocations

2007-06-21 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed to return non-zero for invalid command-line arguments

2007-06-20 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Implemented warning for program code overflow
  * [gpasm] Implemented __maxrom directive (but not __badrom)
  * [gputils] Removed 16c747 (doesn't exist) and added 16f747
  * [gputils] Fixed wrong address in 16c771.lkr

2007-06-20 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Minor fix to previous update, assume 0 instead of 1 for "res"
  directive argument (size).

2007-06-19 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed behavior of undefined expressions on the first pass to
  assume 0 as in MPASM (affects strange "differ on second pass" cases like
  bug #1058509)

2007-06-18 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed to allow blank parameters on macro invocation, substituting
  nothing (not even empty quotes) as in MPASM

2007-06-18 David Barnett <daviebdawg@gmail.com>
  * [gplink] Fixed bug #1472396, error on empty comment line in LKR script

2007-06-17 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Limited string->character coercion of 1-length string literals to
  contexts where syntax doesn't permit strings
  * [gpasm] Allowed special escape sequences (like hex codes) in character
  literals. Old behavior would silently return incorrect result.

2007-06-14 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed bug #897875, assertion failed instead of error for
  substitution of #define label without a value
  * [gpasm] Fixed minor bug with ignored parameter in check_defines

2007-06-12 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Patch by Michael Ballbach to add support for CONFIG directive

2007-06-12 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed minor lexer error with title and subtitle directive involving
  whitespace after parameter
  * [gpasm] Fixed errors on misuse of #define directive

2007-06-11 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Improved quote behavior on include, title, and subtitle directives
  and moved their logic into the parser grammar

2007-06-11 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Corrected behavior for include directive with quoted, braced, and
  unquoted parameter

2007-06-07 David Barnett <daviebdawg@gmail.com>
  * [gputils] Added support for sx48 and sx52
  * [gputils] Updated list of supported processors in gputils.lyx

2007-06-07 David Barnett <daviebdawg@gmail.com>
  * [gputils] Added support for p10f220 and p10f222

2007-06-07 David Barnett <daviebdawg@gmail.com>
  * [gputils] Added support for p16f610
  * [gputils] Added support for p16f882, p16f883, p16f884, p16f886, and p16f887
  * [gputils] Added support for p18f1230 and p18f1330
  * [gputils] Added support for p18f24j10, p18f25j10, p18f44j10, and p18f45j10

2007-06-06 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Corrected processor class and removed special-case
  missing instructions for p16f5x

2007-06-06 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed erroneous page count on p16f88

2007-06-06 David Barnett <daviebdawg@gmail.com>
  * [gpasm] Fixed missing warning for line ending in unpaired quote

2006-12-16 Scott Dattalo <scott@dattalo.com>
  * [gpasm] Patch from David Barnett to fix 'Duplicate Label' bug.

2006-08-19 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.13.4 Released.
  * [gputils] Updated header files and linker scripts.
  * {gputils] Fixed UPPER to mask with 0xff instead of 0x3f.
  * [gpasm] Mask MOVLB with 0xf instead of 0xff.
  * [gpasm] Fixed default access bit for extended pic16e.

2005-12-19 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpasm] Fixed 18xx config bug when config the last section.

2005-10-13 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gputils] Fixed bsr boundary for 18f2455/2550/4455/4550.

2005-08-18 Borut Razem <borutr@users.sourceforge.net>
  * [gplib] Allow forward and back slashes as directory delimiters.

2005-08-03 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.13.3 Released.
  * [gpasm] Added more arity checks to bit special instruction mnemonics.

2005-08-03 Raphael Neider <tecodev@users.sourceforge.net>
  * [gplink] Allow processor mismatch warning to be disabled.

2005-07-25 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gplink] Changed order of stack and cinit functions to fix bugs.

2005-07-02 Scott Dattalo <scott@dattalo.com>
  * [gpasm] Quoted strings can now be passed in a .direct directive.

2005-06-14 Alain Portal <aportal AT univ-montp2 DOT fr>
  * [man] Updated French man pages.

2005-05-26 Alain Portal <aportal AT univ-montp2 DOT fr>
  * [man] Updated French man pages.

2005-05-22 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gplink] Remove dead sections from the object files.
  * [gplink] Added default linker path to search paths.

2005-05-18 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpasm] Check for divide by zero on modulo operator.

2005-05-11 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpstrip] Allow multiple input files.

2005-05-07 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpasm] Generate dependency file.

2005-05-06 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpvo] Added symbol export feature.

2005-05-05 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.13.2 Released.
  * [gpal] Removed gpal until it reaches alpha status.
  * [libgputils] Fixed pointer bug in symbol removal function.
  * [gpasm] Use .org_{address} for ORG COFF section names.

2005-04-24 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpstrip] Added new utility.

2005-04-15 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.13.1 Released.
  * [gpasm] Generate an error if config is placed in the middle of section.
  * [gplink] Generate an error if a relocation address is outside a section.

2005-04-13 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gplink] Fixed a bug in section merging.
  * [gpvo] Fixed a bug when disassembling multiword instructions.

2005-03-23 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gputils] Updated header files and linker scripts.

2005-03-11 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gplink] Fixed RELOCT_ALL relocation.

2005-01-27 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpal] Updated pub files.

2005-01-22 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gplink] Remove weak symbols from input object files.

2005-01-17 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gplink] Scan archives for missing symbols multiple times if necessary.

2005-01-17 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpasm] Fix relocation error with LCALL and LGOTO directives.

2005-01-14 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpasm] Allow concatenation operators in extern and global directives.

2005-01-12 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Updated config scripts.

2005-01-06 Alain Portal <aportal AT univ-montp2 DOT fr>
  * Updated French man pages.

2005-01-03 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.13.0 Released.
  * [gpdasm] Fixed error in decoding two word instructions.

2004-12-31 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gputils] Added support for 18xx extended instruction set.
  * [gplink] Generate a warning if object processor names don't match.
  * [gpdasm] Decode 18xx instruction mnemonics.

2004-12-24 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gputils] Updated header files and linker scripts.
  * [gputils] Added new processors: p10f200, p10f202, p10f204, p10f206,
    p16f59, p16f639, p16f685, p16f687, p16f689, p16f690 p18f6310, p18f6390,
    p18f64j15, p18f65j10, p18f65j15, p18f6627, p18f66j10, p18f66j15,
    p18f6722, p18f67j10, p18f8310, p18f8390, p18f84j15, p18f85j10, p18f85j15,
    p18f8627, p18f86j10, p18f86j15, p18f8722, p18f87j10

2004-11-28 Robert Kaes <rjkaes@users.sourceforge.net>
  * [gpal] Improved context save during isr.
  * [gpal] Simplified symbol offsets in the code generator.

2004-11-26 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpal] Added symbol attributes.
  * [gpal] Added access types.
  * [gpal] Added volatile symbols.
  * [gpal] Added records.

2004-11-09 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpal] Write a newline before eof in deps output.
  * [gpal] Require a public file for the module being compiled.

2004-11-09 Craig Franklin <craigfranklin@users.sourceforge.net>
  * [gpal] Generate Make compatible dependency lists.
  * [gpal] Attempt to open <public>.pub file if <public> isn't in memory.
  * [gpal] Use extended coff directives in gpal output files.
  * [gpasm] Fixed errors in new COFF directives.
  * [gplink] Sort sections in the map file.

2004-11-05 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Moved gpal FSR code to device specific code generators.

2004-11-05 Robert Kaes <rjkaes@users.sourceforge.net>
  * Improved gpal 16e code generator.

2004-10-29 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed bugs in gpal banksels, code generation, and optimizer.

2004-10-27 Robert Kaes <rjkaes@users.sourceforge.net>
  * Moved gpal reset and interrupt vectors to device specific code generators.
  * Fixed gpal com operator.
  * Fixed gpal bug when function calls appear in test expressions.
  * Improved gpal 16e indirect accesses, indf accesses, and inc/dec functions.

2004-10-26 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Allow conditionals in gpal subprogram declaration region.

2004-10-24 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Allow complex alias expressions in gpal.
  * Allow pragmas in gpal subprograms.
  * Add second pass to gpal optimizer.

2004-10-21 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Reduced number of gpal banksels.

2004-10-19 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed bug in new linker script option.
  * Use autoconf PACKAGE_BUGREPORT macro.
  * Improvements in gpal's 18xx code generator.

2004-10-17 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added absolute path option on win32 hosts.
  * Allow the linker script to be specified on as first item of the object
    list in gplink.

2004-10-15 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Delete gplink output files when errors occur.
  * Use more boolean types.
  * Clean up top level of gplink.
  * Added French translation of gputils man pages.

2004-10-10 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Merged changes from cod-branch:
    - Fixed stop location error in directory map of COD files.
    - Added time and date to COD files.
    - Fixed error in gpvc time reporting.
    - Changed to byte addressing for 18xx cod files.
  * Added direct messaging from COFF and COD files to simulator.
  * Added new COFF directives .ident and .type.
  * Allow expressions as arguments to banksel, bankisel, and pagesel.
  * Improved rpm spec file.

2004-10-02 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed error in disassembly of 18xx instuctions.

2004-09-26 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added directives to gpasm for directly modifying COFF symbol tables.
  * Changed the gpasm COFF debug directives to .file, .eof, and .line.  

2004-09-24 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.12.4 Released.
  * Allow odd relocation addresses in gplink and gpasm.

2004-09-16 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Improved banksel and pagesel directives.

2004-09-13 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Remove processor name kludge in gpasm lexer. 
  * Fixed bug in gpal indirect access banksel. 
  * Fixed bug in gpal function return values.

2004-09-05 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added new error message to gplink to catch udata sections in devices
    with only shared memory definitions.
  * Allow udata sections to be relocated by gplink to shared sections if
    no space is available.

2004-08-29 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Add 18xx support to gpal.
  * Fix disassembly of multi-word 18xx instructions.

2004-08-25 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Allow "#" in gpasm labels.

2004-08-23 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed disassembly of clrwdt on 16xx processors.

2004-08-22 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed BSR location for 18f2331, 18f2431, 18f4331, and 18f4431

2004-07-25 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.12.3 Released.

2004-07-24 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Merged patches from OpenBSD port.

2004-07-23 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added new processors: 12f508 12f509 12f635 12f683 16f505 16f636
    16f785 16f913 16f914 16f916 16f917 18f2410 18f2420 18f2455 18f2480
    18f2510 18f2515 18f2520 18f2525 18f2550 18f2580 18f2585 18f2610 18f2680
    18f2681 18f4410 18f4420 18f4455 18f4480 18f4510 18f4515 18f4520 18f4525
    18f4550 18f4580 18f4585 18f4610 18f4680 18f4681 18f6410 18f6490 18f8410
    18f8490
  * Updated header files and linker scripts.

2004-07-22 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Define SFRs in pub files as uint8 instead of constant uint8.

2004-07-18 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Allow multiple modules and publics in one gpal file.

2004-07-17 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added _stack_end symbol to gplink to simplify downward growing stacks.

2004-07-13 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.12.2 Released.

2004-07-08 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Allow empty modules and publics in gpal.
  * Allow if statements in a module or public, but outside of subprograms
    in gpal.

2004-07-07 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added support for manually assigned data memory addresses in gpal.

2004-07-04 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added support for nested case statements in gpal.
  * Added support for multiple switch elements in gpal case statements.

2004-07-03 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added symbol alias feature to gpal.

2004-06-27 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added several new gpal optimizations.

2004-06-25 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed gpasm regression.  Duplicate extern feature can cause assertions.
  * Allow cblocks in gpasm macros.

2004-06-16 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Allow duplicate extern directives in gpasm.

2004-06-15 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed relocations in idata sections.

2004-05-05 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added labels and gotos to gpal.

2004-05-02 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.12.1 Released.

2004-04-22 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added processor pub file generation.
  * Added default search path to gpal.

2004-04-17 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added support for #if directive and allow else in column 1.
  * Fixed malformed header files.  They were missing a NL before the EOF.
  * Added interrupt context save to gpal.

2004-03-13 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added gplink command line option to disable list file output.
  * Fixed gplink bug that caused an error to be generated if a source file
    wasn't found when generating a list file.
  * Fixed gplink 18xx initialized data sections so retlw isn't used.
  * Added support for stack sections in gplink.
  * Use section type to determine format for gpvo disassembly output.

2004-02-09 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed bug in gpdasm relative branches.

2004-02-07 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed uninitialized memory in escape character conversion.

2004-01-20 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.12.0 Released.
  * Fixed bug in gpdasm relative branches.
  * Force decimal interpretation of debug line number directive in gpasm.
  * Don't insert LIST or NOLIST symbols in gpasm COFF outputs if debug
    directives are used.
  * Fixed bug when concatenated symbols <string>_#v<expr> is used as a
    macro argument.
  * Fill missing 18xx config words in gpasm relocatable objects with 0xff
    instead of generating an error.

2004-01-16 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Use install path for default when environmental variable isn't set.
  * Added GPUTILS_LIB_PATH environmental variable for gplink.
  * Added list file output to gplink and fixed bugs in cod file output.
  * Added automake work around to fix compile order for bison outputs.
  * Switched to AM_ flags in automake so users can specify additional
    flags.

2004-01-09 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Allow full path to object file in gplib when creating an archive.
  * Always generate a warning when a source is missing an endif.
  * Prevent #v label from being processed when assembly is disabled.
  * Force list file to print blank space when assembly is disabled.

2004-01-07 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Use environmental variables GPUTILS_HEADER_PATH and GPUTILS_LKR_PATH
    for the default header and lkr paths.
  * Removed CFLAGS from mingw port.
  * Fixed COFF line number bugs in gplink.
  * Fixed 18xx symbol offset bug when merging sections in gplink.
  * Fixed segfault in gplink when sections missing relocations are merged.

2004-01-01 Scott Dattalo <scott@dattalo.com>
  * libgputils/gpsystem.c - added unsigned short gp_getu16(char *addr)
  * gputils/dump.c - changed references of gp_getl16 to gp_getu16. Added
    new function fget_line() to read a line from a file.

2004-01-01 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Allow multiple config words for all devices in gpasm.

2003-12-25 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Use full symbol name in gpal at the base of symbol tables.
  * Add symbol alias at the top of symbol table stack.
  * Use full type name in types.

2003-12-23 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Removed constant and variable keywords from gpal.  Added constant type.
  * Removed header file scan from gpal.

2003-12-20 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed i_memory allocation so memory beyond 32k words is initialized to 0.
  * Fixed memory map in gpasm list files for 18xx devices.  The map is now 
    in byte format.

2003-12-18 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Changed gpasm classification to beta, gpal to pre-alpha, and all
    others to alpha.
  * Updated gputils manual to include gpal.
  * Added gpal man page.
  * Fixed many gpal bugs.

2003-12-15 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added a new tool called gpal.
  * Added debug-info feature to gpasm, so HLL linenumbers can be inserted
    into COFF outputs.

2003-12-14 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed a bug in gpasm 18xx absolute data memory sections that caused the 
    address to be wrong.
  
2003-12-01 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Changed gpasm behavior so cblocks are only processed when assembly is
    enabled. 

2003-11-30 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Changed gpasm while loops to insert raw text instead of a parsed tree.

2003-11-29 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed gpasm bug that prevented some symbols from being substitued with
    macro parameters and #defines.

2003-11-23 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed gpasm bug that caused the relocation to be omitted if the macro
    argument is complex.
  * Fixed gpasm bug that could cause symbol offsets in relocations to be
    calculated incorrectly.

2003-11-22 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.11.8 Released.
  * Added new processors: 16f54, 16f57, 16f688
  * Updated header files and linker scripts.
  * Updated libiberty from upstream sources.
  * Changed gpasm 18xx banksel from movlb relocation to banksel relocation.
  * Changed gplink movlb relocation to use the upper byte of symbol address.

2003-10-21 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed string to long conversion in gpasm so 32 bit numbers
    could be used.

2003-10-19 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Updated documentation.

2003-10-18 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed a bug in 16xx special instruction mnemonics that could cause
    an incorrect branch calculation if a goto proceded the mnemonic.

2003-10-17 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.11.7 Released.

2003-10-09 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Allow gplink to parse linker scripts with missing newlines before the 
    EOF.

2003-10-08 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed an initialization problem that causes a segfault when the first
    line has a parse error.

2003-10-03 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added 18xx config and idlocs sections to gpasm coff outputs.
  * Cleaned up gplink script error reporting.

2003-09-28 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed gplink bug in 18xx absolute sections.
  * Fixed gplink memory allocation bug in 18xx devices.

2003-08-08 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed bug that could cause problems with comments on include directives.

2003-08-01 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.11.6 Released.
  * Added support for idata sections in gplink.
  * Changed extension of gplink object output from ".out" to ".cof"

2003-07-23 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed bsr boundary location for 18f248, 18f258,18f448, and 18f458.
  * Changed gpasm, gpdasm, and gpvo memory dump address format from word to
    byte for 18xx devices.
  * Changed gplink processor check to be processor family instead of processor
    name.
  * Changed gpdasm to display the second word of 18xx two word instructions.

2003-07-20 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added new processors: 16f716, 18f2620, 18f4620
  * Update header files and linker scripts.
  * Fixed gplink error that caused the map file to always be generated.
  * Fixed bug in gpasm that caused 18xx access bank bit to be ignored if it
    was specified on some instructions.
  * Changed gpdasm 18xx address format from word to byte. 

2003-07-07 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Changed extension of gplink object output from ".o" to ".out"
  * Fixed error in RES directive when used for data sections.
  * Fixed typo in gp_date_string.

2003-06-28 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.11.5 Released.
  * Fixed byte count when RES directive is used in 18xx data sections.
  * Display help when multiple files are passed to gpasm, gpdasm, gpvo, 
    and gpvc on the command line.
  * Check for lower case filename if include file is not found.

2003-06-23 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Extended the legal syntax for difference of coff symbols within the same
    section.

2003-06-22 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Changed coff to use byte addressing for program memory of 18xx devices.
  * Changed absolute coff sections generated with org directive to use
    org_"number" for a name instead of org_"address".
  * Added missing relocation for "$" symbol.
  * Fixed bug in gpvo which could cause section data to not be printed for
    18xx devices.
  * Added range warning to gplink for 18xx relative branches.
  * Changed default behavior of the 18xx access bit in gplink to be like
    gpasm. 
  * Changed build directory for rpms.

2003-06-14 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed error in the range check for 17xx movpf and movfp instructions.

2003-06-04 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.11.4 Released.
  * Replaced or removed obsolete macros in configure.ac.

2003-06-01 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added new processors:
    p16c557 p16c747 p16f648a p16f684 p16f737 p16f767 p16f777 p18f2331 
    p18f2431 p18f2439 p18f2539 p18f4331 p18f4431 p18f4439 p18f4539 
    p18f6520 p18f6525 p18f6585 p18f6621 p18f6680 p18f8520 p18f8525
    p18f8585 p18f8621 p18f8680 rf675f rf675h rf675k
  * Updated header files and linker scripts.

2003-05-20 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Updated scripts to automake-1.6 and autoconf-2.57.
  * Ran autoscan and fixed reported problems.
  * Added AM_MAINTAINER_MODE to autoconf.

2003-05-10 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.11.3 Released.  
  * Fixed seg fault in gpasm when difference between coff symbols is 
    calculated. 
  * Fixed map file bug that caused the end section address to be reported
    incorrectly.
  * Added gplink command line option to fill unused unprotected program
    memory.
  * Added gplink testsuite.

2003-05-06 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed conditional assembly of INCLUDE directives in gpasm. 
  * Fixed seg fault in gplink when object has no sections or symbols.
  * Fixed target memory allocation in gplink when section size = page size
  * Fixed target memory allocation in gplink when section size = 1
  * Implemented section fill in gplink.

2003-05-03  Scott Dattalo  <scott@dattalo.com>
  * 18f Bit instructions were not handling the Access bit properly

2003-04-19 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.11.2 Released.
  * Fixed section size bug in org directives when used in gpasm coff outputs.
  * Fixed bug in cod file address size that confused MPLAB.
  * Fixed bug in lexer when < and > were used in the same expression.
  * Prevented symbols from absolute sections from being updated after
    relocation.
  * Added feature so gplink now loads a default linker script if one is not
    specified.
  * Updated header files.
  * Updated linker scripts.
  * Added configuration settings for OS/2 host.
  * Modified lexer to allow [.][a-z][a-z0-9]* labels.
  * Moved gpasm default header path to last in the search list.

2003-04-02 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.11.1 Released.

2003-03-23 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Moved common cod functions into libgputils.
  * Added cod file output to gplink.
  * Updated config scripts.
  * Added variable bsr boundary location for default access bit on 18xx
    devices.

2003-03-21 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Check status of all fopens to prevent file io problems.

2003-03-14 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Specified fopen() mode to prevent CRLF conversion on binary files when
    using the mingw port.
  * Fixed gplink bug that causes some symbols to be incorrect after section
    merging.
  * Report symbol names when resolving external references in gplink fails.

2003-03-14 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.11.0 Released.
  * Fixed bug that caused amode stack to be incorrect when exitm was used.
  * The P value for movpf and movfp instructions is now checked.
  * Added check for invalid destinations with movff instructions.
  * Cleared defines table at the start of second pass.
  * Generate a warning for macros only invoked on pass 2.

2003-03-09 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed segmentation fault in gplink.
  * Fixed a parse error in the sharebank definitions in linker scripts.
  * Moved COFF definitions to gpcoff.h.

2003-03-03 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Finished relocation patching.
  * Added map and hex file outputs to gplink.

2003-02-27 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added relocation and linking functions to gplink.

2003-02-22 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Removed nuisance warning about malformed asm files.
  * Fixed errors when using escape characters in strings.

2003-02-17 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added auxiliary coff symbols.

2003-02-16 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added pointers in object files to simplify linking operations.
  * Added checks when reading object files.

2003-02-02 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Combined overlayed sections in gpasm coff outputs.
  * Append prefix on local variables that end up in coff file.  
  * Fixed error that prevented using $ with data directives.

2003-01-19 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added object test files.
  * Fixed errors found by running new test files.  
  * Added bankisel directive.

2003-01-05 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Converted to new object structures.
  * Fixed errors in gpasm, gplib, and gplink.  
  * Changed gpvo output format.

2002-12-22 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added coff file support to gpasm.
  * Added UPPER operator.
  * Removed invalid parts. 

2002-12-04 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed incorrect range warning on 18xx gotos.
  * Fixed parse error for << operators > in the comment.
  * Cleaned up parse debug output.

2002-11-22 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.10.6 Released.
  * Fixed behavior of de directive for 18xxx devices. Data is now packed.
  * Added new directives: banksel and pagesel
  * Fixed default BSR behavior for 18xxx devices.
  * Changed gpasm default hex file format to inhx32.

2002-11-09 Scott Dattalo <scott@dattalo.com>
  * Invalid relative branches for 18xxx family were not generating errors. 
    eg: bc $+258, bc $-256, rcall $-2048, rcall $+2050 all now generate 
    appropriate errors.

2002-11-07 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added support for sx, 17xx, and 18xx devices in gpdasm.
  * Fixed config directive for 18xx devices with address > 0x300007

2002-10-27 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.10.5 Released.

2002-10-19 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added new processors: 12f629 12f675 16c557 16f627a 16f628a 16f630 
    16f676 16f72 16f76 16f77 16f818 16f819 16f87 16f873a 16f874a 16f876a 
    16f88 18f1220 18f1320 18f2220 18f2320 18f4220 18f4320 18f6620 18f6720 
    18f8620 18f8720 rf509af rf509ag
  * Updated header files

2002-10-12 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.10.4 Released.
  * Fixed bug that caused assertion when macro calls procede definition.
  * Fixed bug that required gpasm arguments be in a specific order.
  * Moved opcode definitions into libgputils for future gpdasm improvments.
  * Fixed bug that prevented conditional assembly directives in column 1 to be
    missed if assembly had been previously disabled.
  * Generate an error if endm is missing from a macro definition.
  * Increased gpvc file number limit from 20 to 100.

2002-08-18 Scott Dattalo <scott@dattalo.com>
  * gpasm - arithmetic for negative relative branches on a 16bit core
    was loosing the sign bit.
	
2002-05-12 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.10.3 Released.

2002-04-27 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added Code Warrior changes. 

2002-04-09 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Updated header files and linker scripts. 
  * Added manpages.

2002-04-08 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed error that could cause a seg fault on AmigaOS.
  
2002-04-03 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.10.2 Released.
  * Any argument to an instruction which exceeds its range will now generate
    at least a warning.
  * Bank warnings are now generated for access to register files that aren't 
    in bank 0.
  * Any goto or call which is to a page other than the current page will now
    generate a page warning.
  * Added --force-list option, so gpasm will ignore nolist directives.
  * The default values for hex format, radix, and warning level are now 
    displayed.
  * Added description of the alternative number formats to documents. 
  
2002-02-28 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed a bug that inserted an extra NULL line in a macro definition when +=
    type ops are used.  The bug caused a seg fault.

2002-02-23 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.10.1 Released.

2002-02-23 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Macros are now implemented as a text substitution at the input to the 
    lexer.  All macro arguments are preprocessor substitutions like #define.
  * Fixed a bug that caused i = i + 1 type expressions to be evaluated twice
    in macros.
  * Include statements now appear before the body of the file in the listing.
  * Macro calls now appear before the body of the macro in the listing.
  * Fixed a bug that allowed #defines in the body of a macro to be processed 
    during the macro definition.
  * "fill (<expression>),number", equ, and various other commands now work in
    macros.
  * Fixed several bugs in the processing of numeric constants.  For example,
    with a hex radix setting "100b" is now evaluated as 0x100b not 0x4.
  * #v() subsitutions will now work in cblocks and macros.
  * Fixed a bug that could cause a segmentation fault with a bad text 
    substitution.

2002-01-27 Craig Franklin <craigfranklin@users.sourceforge.net>
  * added rpm spec file.

2002-01-20 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gputils 0.10.0 Released.

2002-01-17 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Removed target detection from configure.  Target is always a PIC so it
    doesn't make any sense to run the test.
  * Removed unnecessary object extension from Makefiles.
  * Added bzero.c to libiberty for mingw32 port.

2002-01-16 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added missing () in gplink lexer. 
  * Added a subset of libiberty so getopt_long is always available.

2002-01-15 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed a bug in gpasm that causes a nuisance warning when multiple macro
    definitions are selected using conditional assembly.

2002-01-13 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed a bug in gpvc that could cause a segmentation fault.

2002-01-10 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Renamed gpasm package to gputils.
  * Changed library from libgpasm.a to libgputils.a
  * Renamed mem2asm.c to dis.c
  * Appended gp prefix to all library files.
  * Renamed /gpasm/opcode.c to /gpasm/directive.c.
  * Corrected and updated copyright notices.
  * Moved /gpasm/cod.h to library. Removed cod.h from gpvc.
  * Moved test files to tool subdir for future support of dejagnu.
  * Started updating users manual.
  * Moved examples to gputils-extra package.
  * Corrected many problems with gplib.
  * Continued work on gplink.  

2001-12-07 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added linker scripts.

2001-12-06 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed cygwin warnings with -Wall -pedantic flags.
  * Updated maintainer information.

2001-11-26 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Fixed a bug that could cause a core dump when expanding macros.
  * Fixed a bug that cause labels inside of macros for 18cxx devices
    to be off by 2X.
  * Removed unecessary -I /usr/local/share/gpasm/header from example1
    Makefile. 
  * Fixed a bug that causes command line radix to be overwritten on pass 2.
  * Moved symbol table functions to library for use with gplink.
  * Added extra warning flags to cygwin.

2001-11-24 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added new tool gplink.  This tool is intended to be compatible with mplink.
    This is a development version.  It is not complete.  

2001-11-17 Craig Franklin <craigfranklin@users.sourceforge.net>
  * Added new tool gplib.  This tool is intended to be compatible with mplib.
    This is a development version.  It is not complete.  

2001-10-31 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gpasm 0.9.14 Released.
  * The path to the header files is now searched when including files.  This  
    means the "-I /usr/local/share/gpasm/header" argument to gpasm is no  
    longer necessary.  The path may be displayed by commanding "gpasm -h".  
    This path may be disabled at compile time using the "--disable-path" 
    configuration option.
  
2001-10-25 Craig Franklin <craigfranklin@users.sourceforge.net>
  * implemented "fill (<expression>),number", where <expression> is a line of
    assembly.  example: "fill (goto start), 10" 
  * fixed bug #423204, infinite loop when missing new line before EOF in a file
    without the END directive
  * parser debug is enabled when PARSE_DEBUG is defined

2001-10-09 Craig Franklin <craigfranklin@users.sourceforge.net>
  * removed all // comments to satisfy --pedantic flag
  * fixed several errors in gpvo

2001-10-06 Craig Franklin <craigfranklin@users.sourceforge.net>
  * gpasm 0.9.13 Released.
  * Added new processors:
    p16c432 p16c433 p16c781 p16c782 p16c925 p16c926 p16cr620a p16f73	
    p16f74 p16f85 p16f86 p16f877a p18f242 p18f248 p18f252 p18f258	
    p18f442 p18f448 p18f452 p18f458	
  * Corrected header file errors.
  * New header files added:
    p16c781.inc p16c782.inc p16f85.inc p16f86.inc p16f877a.inc p18c601.inc
    p18c801.inc p18f020.inc p18f242.inc p18f248.inc p18f252.inc p18f258.inc
    p18f442.inc p18f448.inc p18f452.inc p18f458.inc

2001-10-02 Craig Franklin <craigfranklin@users.sourceforge.net>
  * "list n=0" may now be used to prevent page breaks in the listing file.  
    This feature was provided by Reto Felix <reto.felix@bluewin.ch>.
  * All arguments to the list directive are now processed as decimal regardless
    of the current radix setting.
  * reformat ChangeLog  

0.9.12   TSD for Craig Franklin

1.  The preprocessor now supports #v(expression) substitution in labels and 
symbols.  If symbol equals 4, then the label "mylabel_#v( (symbol * 3))_ok" is 
replaced with "mylabel_12_ok".

2.  The error message "can't evaluate expression" has been replaced by more
specific error messages.

3.  eeprom8 device is now supported.

4.  The DOS newlines option (-n) has been disabled on win32 systems.  DOS
newlines are already the default on these systems.

0.9.11   TSD for Craig Franklin

1.  Labels are substituted when found on the #define table.  

2.  Labels are treated as macros when found on the macro table.

3.  gpasm can now distinguish between directives and opcodes placed in the 
first column.  

4.  defines are now printing in the listing file symbol table.

5.  #ifdef and #ifndef check the entire symbol table not just #define table.

6.  Several processors had characters with the incorrect case in the 
defined_as section of their definition.  This lead to incorrect warnings when
using the Microchip header files.

7.  Some changes have been incorporated for cross compiling to win32 systems.

0.9.10   TSD for Craig Franklin

1.  The instruction set is now loaded when the processor is selected.
Previously it was loaded when the first instruction is encountered.  This 
resolves some old problems when the first instruction is incorrectly formatted.  

0.9.9   TSD for Craig Franklin

1.  Labels are now checked against the symbol tables.  If the label is found
on the instruction or the directive lists, a warning is generated and the text 
is treated accordingly.

2.  Symbols may now be assigned values when declared using the local directive.
As in "local i, j=15, k".

3.  The extended ASCII character set (ü) may now be used for labels and 
symbols.  

4.  gpasm now tests for infinite while loops.  In this condition, an error is
generated and assembly continues. 

5.  Assembly will now stop upon encountering the first END statement. 
Regardless of location.

6.  Flags have been added to the linker to warn when a common symbol is 
combined with another symbol.  This condition could create porting issues. The 
warnings that resulted from this change were fixed.  

0.9.8   TSD for Craig Franklin

1. Macros and While loops are now expanded in the listing file.  Macro 
expansion can be disabled using "list e=OFF" in the source code or "-e OFF" as 
a gpasm argument.  While loops are always expanded.    

2. Macros and While loops are also expanded in the COD file.  Now when you 
step through the source code in gpsim, the file viewer will jump to the macro 
or while loop definition.

3.  New Processors added:

     16c745, 16c765

4.  Some users require dos style new lines (CRLF) in hex files for device 
programmers.  gpasm will generate these by selecting -n or --dos. 

5. The -Wall and -pedantic flags were added to gcc on linux systems.  All 
warnings generated from this change were corrected.  

6. Various configuration problems were fixed that caused "make distcheck" to 
fail.

7. getopt_long() has been added to gpvo.

8. A Makefile for generating rpms has been added.  See the README in the rpm
subdirectory for details.

9. BUG #433291. During macro innvocation, the list linetype was set to the 
value of the line before endm in the definition.  This could result in a bad
label error, if that line was a non code generating directive.  The linetype is
now "none" during expansion or "insn" during nonexpansion. 

0.9.7   TSD for Craig Franklin

1.  The i++ and i-- operators are now implemented.  Note: the variable is a
label and must appear in column 1. 

2.  +=, -=, *=, /=, %=, <<=, >>=, &=, |=, and ^= have all been implemented.
Note: the variable is a label and must appear in column 1. 

3.  If a file ends during an IF statement, before an ENDIF found, a warning is 
now generated.

4.  The conditional assembly directives IFDEF, IFNDEF, and ENDIF may now be
proceeded by a "#".  example: #ifdef

5.  The SET directive may now be proceeded by "."

6.  The header files have been updated. 

7.  A memory map is now generated as part of the listing file.  The generation
of the memory map is controlled by "list mm=[ON|OFF]".

8.  The number of program words used by the program is now reported in the
listing file.

9.  Several users have had problems linking with libfl.a to get yywrap().  
gpasm has been modified so that libfl.a is no longer needed.  flex is still 
required.

10.  The message generated whenever a special mneumonic was used has been
disabled.  This message was part of the test files provided by Microchip, but
message is not yet part of the current mpasm releases. 

11.  The configure script now detects the host operating system.  When using cc
on SunOS the "-xCC" flag is used to allow "//" comments.

12.  New processors added:

     18c601, 18c801, 18f010, 18f012, 18f020, 18f022

0.9.6   TSD for Craig Franklin

1.  A new utility, gpvo, GNU PIC View Object, was added.  This tool displays the
contents of Microchip's object files.  The tool is in a very preliminary stage 
of development.  To reflect this it is designated "pre-alpha".  

2.  BUG #426330.  getopt_long() is not available on all systems.  The configure
script now detects the function.  If it is not present gpasm uses getopt(). 
This does not change the features available, only the way they are commanded.

3.  To make the error messages more readable the error codes are now enclosed in
[].

4.  BUG #423850.  gpasm would hang on symbols defined incorrectly. 

          #define foo foo.  
 
crash --> movlw foo

An error is now generated each time foo is used in an expression and gpasm
doesn't lockup.

5.  1/2 of BUG #423204.  The top level assembly file must always end in "END". 
This condition is now tested for and an error is generated if it is not present.    

6.  BUG #422060.  gpasm will now compile on a 64 bit machine (NetBSD/Alpha is
the only one that has been tested).     

7.  gpvc header file had declarations that were getting instantiated multiple
times.

0.9.5   TSD for Craig Franklin

1.  gpasm, like mpasm, is now case sensitive by default.  The -c parameter now 
makes gpasm case insensitive.

2.  The macros in special.inc have been incorporated into the source code.  This
was done to solve a case sensitivity problem.

3.  gpdasm can now read inhx16 format in addition to inhx8m and inhx32.

4.  A new option, -i, has been added to gpdasm.  This option returns data on 
the input hex file, like number of bytes and hex file format.

5.  The format of error/warning/message has been changed.  To standard output
the new format is 

  "filename":"line number": Error "number" "message"

to the list file:

  Error ["number"] : "message"

The list file output conforms with MPASM.  The standard output conforms with
most gnu tools.

6.  GNU long options have been provided by Salvador Eduardo Tropea
<salvador@inti.gov.ar>. 

0.9.4   TSD for Craig Franklin

1.  inhx16 hex format can now be generated by gpasm.  

2.  17cxx devices are now checked for exceeding their 16 bit address range.  If
this happens an error is generated.

3.  gpasm now checks to see if an address has been written to more than once.  
If it has an error is generated.

4.  Previously, when an invalid data memory location is accessed, gpasm would
generate a warning and not write the instruction to program memory.  Now it 
will still generate the warning, but it also outputs the instruction.

5.  __fuses is now equivalent to __config.

6.  The 16c461 processor has been added.

7.  When two different processors are selected in the source file an error,
in addition to the duplicate processor warning, is generated.

8.  The "#" symbol can now be prefixed to include directives.

9.  If a source file ends during a while statement, before a endw is
encountered, an error is generated.

10.  Bug #413296.  Numeric expressions followed by b, d, h, or o, are now 
interpretted according to the radix they represent (i.e. 144o = 144 octal 
= 100 decimal)

11.  Labels are now checked to verify they are on a legal line.  An example is
shown below: 

     Error radixerr.asm 16 : 121 Illegal label.
                    00016 Label   RADIX   OCTAL

0.9.3   TSD for Craig Franklin

1.  The 17cxx processor family is now supported.  Much of the work was completed
by Carlos Nieves <cnieves@iname.com>.

2.  Macro name case sensitivity is now controlled by the -c option.

3.  Values stored to program memory using the dt directive are now masked to
ensure that a value over 0xff isn't stored.

4.  The number of arguments passed to EXPAND and NOEXPAND are now checked.  If
any number other than 0 is passed a warning is generated.

5.  If no arguments are passed to SPACE, it is now equivalent to SPACE 0.

6.  16cr56 and 14000 processors are now supported.  

7.  SUBTITL and STITLE are now equivalent to the SUBTITLE directive. 

8.  A single character enclosed by double quotes is now interpretted as the
corresponding ASCII code (example: ANDLW "A" = 0x0E41 for 12 bit cores).

9.  The header files have been updated.

10.  The ram access bit "a" for 18cxx devices now defaults to "0" or Access RAM.

11.  The AND operator now has a higher precedence then the OR operator.  The
following line from the preced.asm test file demonstrates this.

    002D     0000           00067         DATA    2 == (2 && 0 + 1)       ; 0
                            00068 
--> 002E     0001           00069         DATA    1 || 0 && 0     ; 1
    002F     0001           00070         DATA    1 || (0&&0)     ; 1
    0030     0000           00071         DATA    (1||0) && 0     ; 0

12.  A few changes were required to compile under Mac OS X.  Some of these 
changes were incorporated.

0.9.2   TSD for Craig Franklin

1.  Added many new processors.  The new list is below:

	gen        p12c508    p12c508a   p12c509    p12c509a   p12c671
	p12c672    p12ce518   p12ce519   p12ce673   p12ce674   p12cr509a
	p16c5x     p16cxx     p16c505    p16c52     p16c54     p16c54a
	p16c54b    p16c54c    p16c55     p16c55a    p16c554    p16c554a
	p16c558    p16c558a   p16c56     p16c56a    p16c57     p16c57c
	p16c58     p16c58a    p16c58b    p16c61     p16c62     p16c62a
	p16c62b    p16c620    p16c620a   p16c621    p16c621a   p16c622
	p16c622a   p16c63     p16c63a    p16c64     p16c64a    p16c641
	p16c642    p16c65     p16c65a    p16c65b    p16c66     p16c661
	p16c662    p16c67     p16c70     p16c71     p16c71a    p16c710
	p16c711    p16c712    p16c715    p16c716    p16c717    p16c72
	p16c72a    p16c73     p16c73a    p16c73b    p16c74     p16c74a
	p16c74b    p16c76     p16c77     p16c770    p16c771    p16c773
	p16c774    p16c83     p16c84     p16c85     p16c86     p16c923
	p16c924    p16ce623   p16ce624   p16ce625   p16cr54    p16cr54a
	p16cr54b   p16cr54c   p16cr56a   p16cr57a   p16cr57b   p16cr57c
	p16cr58a   p16cr58b   p16cr62    p16cr63    p16cr64    p16cr65
	p16cr72    p16cr83    p16cr84    p16f83     p16f84     p16f84a
	p16f627    p16f628    p16f870    p16f871    p16f872    p16f873
	p16f874    p16f876    p16f877    p16hv540   p16lc74b   p18cxx2
	p18c242    p18c252    p18c442    p18c452    p18c658    p18c858
	sx18       sx20       sx28       

2.  Bug #231274.  Page directive conflicted with the Page instruction in sx 
devices.  The result was a redefining symbol error when an SX device was 
selected.  This has been fixed.  The result is the PAGE directive is disabled 
for all SX devices.

3.  Config data is now masked by the device core size.  This prevents things
like 0x1234 from being written into config memory for a 12 bit device. 

4.  "decimal" and "octal" are now valid arguments for the radix.  This is a
legacy feature of MPASM.  It is not documented in their users manual. 

5.  In instances of "label org 100", label is added to the symbol table. 
Previously, it was ignored.

6.  BUG #233207.  Labels defined inside macros now work.

7.  Microchip has provided the gpasm project with test files they use to test 
MPASM.  The new test files have been added to CVS.  These files required the 
use of their header files.  These were added to the project.  They are 
installed when "make install" is ran.

8.  The distribution now includes an example located in ./examples/example1.

9.  A few changes were required to compile under cygwin.  Some of these changes
were incorporated.

10.  Cleaned up source code.  (Missing comments, unused code, ...) 

0.9.1   TSD for Craig Franklin

1.  The project was reorganized to make room for some new tools. Each tool    
is now located in its own subdirectory.  Common functions are located in 
libgpasm.a in the lib directory.

2.  A new utility, gpdasm, GNU PIC Disassembler, was added.  Details can be 
found in the project documentation.  

3.  A new utility, gpvc, GNU PIC View COD, was added.  Details can be 
found in the project documentation.  This is basically version 0.0.3 of Scott
Dattalo's vc.  It will be maintained as part of gpasm. 

4.  Documentation has been updated.  The gpasm section includes changes made
during the 0.8.x series.  It still isn't perfect. It is missing information on
the PIC18cxx series.  New sections have been added for the new tools.

5.  Previously, the ERRORLEVEL directive required the user to force
interpretation of arguments as decimal using "." or "d".  This is no longer
required.  The arguments are always interpreted as decimal regardless of the
radix setting.

6.  A debug message has been removed from the maybe_evaluate function in
opcode.c.

0.9.0   TSD for Craig Franklin

1.  A typo in the help listing for the usage of warning level was fixed. 

2.  The options for LIST are case sensitive when the -c option is used.  Because
of this, list p=<XXX> works and list P=<XXX> doesn't.  This has been corrected.

3.  The addition of the case sensitive defines broke the processor selection
using -p <processor>.  This has been fixed.

4.  gpasm -q will now suppress the output from the gperror system to the screen.
This doesn't effect the listing file.  It doesn't currently make gpasm totally
quiet.  Some messages bypass the gperror system.  They are not effected by -q.

5.  gpasm reported an "Unknown Opcode" for each instruction whenever a processor
wasn't selected.  It now reports this error as "Processor type is undefined". 


0.8.16  TSD for Craig Franklin

1.  New directives:

     da
     __idlocs
     variable
     constant
     
2.  The data and db directives generated incorrect values for 16 bit cores. 
This has been corrected.

3.  The dw directive generated incorrect values for all devices.  This as been
corrected.

4.  inhx8s hex format can now be generated.

5.  EXPAND and NOEXPAND directives can now be called without generating an
error.  They will not, however, effect the listing file.  Similarly, macro 
expansion can be selected on the command line with "gpasm -e [ON|OFF]" or
using in the source file "list x=[ON|OFF]."  They will not effect the listing
file.

0.8.15	TSD for Craig Franklin

1.  When numeric arguments were passed to a function that expects a symbol,
GPASM reported the error as "Expression to Complex".  This has been changed to
illegal argument to conform with MPASM.  

2.  A previous patch always warned the user then option or tris was used.  I
have learned that MPASM doesn't warn the user on p16c5x devices.  The behavior
has been modified to conform with MPASM.

3.  The -c option now makes the #defines case sensitive.

4.  Command line setting of the warning level is supported.  Like MPASM, 
command line arguments override settings in the source code. All command 
line settings now have flags indicating the value was set by the 
command line and it can't be overwritten by the asm source code.  A warning 
or message is posted to the user.

5.  Output hex file format can now be chose using LIST f=<inhx8m|inhx8s|inhx32>.  

6.  GPASM 0.8.14 has a bug were the org isn't reset after a config is called. 
This is normally not seen because most people place the config statements before
their first org.  This patch saves the org before the config is ran then 
restores it afterword.

7.  GPASM 0.8.14 doesn't print the config information to the list file correctly
for pic18cxx devices. 

8.  Several new codes have been added for new tests.

9.  The FILL directive works.  It works the same as MPASM with one important 
exception.  It does't support the use of a line of assembly as an argument.  
That is not a problem because the while statement can do the same thing. 

10.  GPASM now generates inhx32 format.  In adding this, a structural change had 
to be made.  Previously, the MEMBLOCK segment size was 64K words.  I changed 
this to 32K words.  I did this because the 32K words (or 64K bytes) is equal 
to one segment.  Which, conviently, is the maximum size for a inhx8m file and
the size of one inhx32 segment.

11.  The list file had some extra blanks.  These were fixed.

12.  All of the directives and instuctions now have the correct list linetype 
assignment.  I abandoned the default method because of too many special cases.

13.  The RADIX directive had a linetype assignment of ORG, it should be none.

14.  The ORG directive originally had the correct line type assignment of ORG. 
It was changed to EQU in version 1.8 of opcode.c.  I don't know the reason.  
This patch changes it back.

15.  The PAGE directive had a linetype assignment of ORG, it should be NONE.

16.  Directives in scan.l (include, define, ..) are now all case insensitive.
There are many instances in microchips appnotes of SubTitle, Title, ...
GPASM 0.8.14 dosesn't recognize them.  The change was to add "-i" to flex
when GPASM is compiled this makes the scan.l case insensitive.

17.  #undefine now works.  Previously symbols could be redefined by having
another instance of #define.  Doing so will now result in a warning.  Symbols
must be defined and undefined and defined again to be reassigned.

18.  Previously, #define could only appear in column 1.  Now it does not. This
occurs in micorchip include files.  

19.  Previously, #defines were executed regardless of assembling being enabled. 
An example would be a set of defines inside an IF statement.  This case occurs
when Micorchip's include file for 16c5x devices is used.

0.8.14	TSD Yet another patch from Craig Franklin that improves gpasm error
	handling capabilities. Also, I added the 16f876 for Alex Holden.

0.8.13  ELS - Added gpasm.spec file to build RPMs under Red Hat Linux 7.0,
	use 'rpm -ta gpasm-0.8.13.tar.gz'.  Added missing newline to
	gperror.h.

0.8.12	TSD Patch from Craig Franklin mailto:craigfranklin@users.sourceforge.net that 
	implements the ERRORLEVEL directive.

0.8.11  TSD Patch from Craig Franklin mailto:craigfranklin@users.sourceforge.net to fix command
	line options (the -o option was missing, and the -e and -w options weren't
	being used). Also applied patch from Craig that implements the subtitle 
	directive.

0.8.10	TSD added support for more than 8 files in one .cod file.

0.8.6  symbol information was not being written to the .cod file

0.8.5 
  added >64k file generation capability. 
  added support for the __CONFIG address, config_bits directive
    (you used to couldn't specify the config address)
  added i_memory.c to handle the instruction memory. Previously,
    i_memory was a 64k, statically allocated array. Now it's a
    dynamically allocated linked list of 64k memory blocks.
  redesigned/rewrote major portions of cod.c to accomodate the
   greater than 64k code generation. Removed the unnecessary
   restriction that the miscellaneous code blocks had to be
   written in a specific order. Added multiple directories.
   Fixed the code range information (this specifies where there's
   valid code).  
   
0.8.1 - 0.8.4
  minor enhancements 

0.8.0

 - added a few more processors
 - the HIGH directive was always returning 0
 - __CONFIG directive now supports an optional address
 - added support for >64k address space
   (this allows the 18cxxx config word to be handled
    properly, but at the same time the change is 
    general enough to accomodate code generation
    at addresses above 64k - a feature gpsim will
    soon need).
 - Switched the Makefile to a more standard automake
   style.
 - Changed the number notation so that what was the
   micro version is now the minor version. Development
   releases will bump the micro version. (This means
   gpasm-0.0.8 is now expressed as gpasm-0.8.0).
 - renamed gpasm.y to parse.y so that the automake
   tools would be happy.
 - Enhanced the error message system.

0.0.8

Added SET opcode
Supports '=' syntax for SET
Added WHILE/WEND
Added ERROR
Added 'generic' processor type; needed for AVR support

Support for .cod files added 
  - added cod.c and cod.h
  - several small changes scattered through out all of the source
    some of the more significant changes:
     o modified the state structure to accomodate symbol files
     o gpasmVal now has typing information
     o cblock defined constant are given register typing
     o program labels are given typing info

Added a few more pic processors

__config now will display the config address and config value in the .lst file

dt macro didn't ignore upper 8 bits of a literal

added new macros:
  db   byte packed data table
  dw   same as data macro
  de   like dw but upper nibble is zeroed

Added support for the 18cxxx instruction set.
Added the '-l' (dash ell) option for showing the list of
supported processors


0.0.7

Tab-stops now expanded to spaces in listing, LIST b=NN supported
Scenix processors added
Changed sys_errlist[] to strerror()
Manual update

0.0.6

Build using autoconf

0.0.5

Fixed bug where we always processed equ statements, even inside
conditional assembly blocks.

0.0.4

Second invocation of macro actually runs the macro twice, so local
forward definitions get resolved correctly.  This means that macro
bodies get 3 passes made on them.  Far from pretty, but it does the
job.  See execute_macro(), and new function execute_body().

Restore cblock value to 0 at start of 2nd pass.

Accept CBLOCK headers without an expression: continues at previous
CBLOCK value.  See gpasm.y.

Accept CBLOCK values as labels, with or without an expression.  See gpasm.y.

Do #define substitution.  Done in the lexical analyser, using the same
stack that we use for include files.  Still no support for parameters
in #define.  See scan.l.

Evaluate '$' late, instead of at parse time.

Missing parameter to bit operations was giving coredump instead of
error message.

Makefile now builds with "gcc -Wall --pedantic", had a general cleanup
following this.

Small fix to lexical analyser to make it cope with MSDOS '\r'
characters.
