Previous NEWS

Jan 2, 2016 -- gputils-1.4.2-1 Released

  • Added support for 14 bit EX processors: PIC16F1777/8/9 PIC16F18857 PIC16F18877
  • More predefined constants in the gpasm.
  • Added the missing DEBUG config option to many processors.
  • Improve the check that Flex is more recent than version 2.5.4.
  • Let "--list-chips" adapt to available screen width.
  • The inc and lkr files are synced with MPLABX 3.15

Oct 14, 2014 -- gputils-1.4.0-1 Released

  • Extended error and warning messages.
  • Enabled the CONFIG directive on the 12-bit and 14-bit devices.
  • Enabled the IDLOCS directive on the pic18fxxx devices.
  • The gpasm lists the properties of the processors.
  • New predefined constants in the gpasm: __EEPROM_START, etc.
  • The gpdasm shows the names of SFRs and bits, in addition shows the labels in code.
  • The inc and lkr files are synced with MPLABX 2.20

May 17, 2014 -- gputils-1.3.0 Released

  • Expanding the listing option of processors.
  • Added the missing CONFIG2 DEBUG file definition in some pic12f inc files.
  • The gputils can be compiled with newer versions of bison and flex.
  • French translation of gputils/man/fr/
  • inc and lkr files are synced with MPLABX 2.10

May 19, 2013 -- gputils-1.2.0 Released

  • #61 - __idlocs and __config generate line numbers
  • #58 - Generate mpasm compatible .config sections
  • strengthened bad object format detection
  • inc and lkr files are synced with MPLABX 1.80

March 23, 2013 -- gputils-1.1.0 Released

  • added -P (--preprocess) command line option to emit preprocessed asm file
  • added support for undocumented HALT, TRAP and TRET opcodes
  • inc and lkr files are synced with MPLABX 1.70
  • fixed support for 12 bit extended instruction set, devices PIC12F529T48A, PIC12F529T39A, 16F527 and PIC16F570

December 31, 2012 -- gputils-1.0.0 Released

  • support for nested WHILE loops
  • improvements in listing file and error message generation

November 30, 2012 -- gputils-0.15.0 Released

  • major redesign of gpasm lexer and parser
  • introduction of a separate preprocessing pass
  • fixed bugs / missing implementation of defines with parameters
  • improved / multiple / nested #v() handling
  • improved macro parameters handling
  • pic inc and lkr files synced with MPLABX 1.50

October 31, 2012 -- gputils-0.14.3 Released

  • gputils 0.14.3 supports all pic devices supported by latest MPASM(X) from MPLAB v1.41

June 25, 2012 -- gputils-0.14.2 Released

  • partial .inc file synchronization with MPLABX 1.20
  • fixed COD file generation for devices with program memory > 64KB
  • gpvc improvements
  • added devices 16f720, 16lf720, 16f721, 16lf721
  • man pages updated
  • genaration of absolute coff file (F_ABSOLURE header flag)
  • added regression test for pic 14 bit enhanced devices

January 7, 2012 -- gputils-0.14.1 Released

  • gpasm, gplink: generate coff files with the new Microchip COFF format version 2 by default
  • gpasm -C option reverted: now it generates old Microchip COFF format version 1
  • gpasm --new-coff option removed, added --old-coff
  • emitted config words are masked with the word size
  • gpasm messages, warnings and errors more compatible with MPASM
  • gpasm list file format more compatible with MPASM
  • proper "end" line handling, include the "end" line in the asm listing
  • --version command line option now shows also the gputils build date
  • added support for all pic 14 bit enhanced devices supported by MPASM 5.43

October 29, 2011 -- gputils-0.14.0 Released

Added support for pic 14 bit devices enhanced instruction set
Added support for pic18f2xk22 / pic18f4xk22 family
Added support for EEPROM16

March 13, 2009 -- gputils-0.13.7 Released

Added support for all processors supported by MPLAB 8.20 (except eeprom16 and related).
Added support for "LIST M=?" directive.
Fixed several bugs.

May 17, 2008 -- gputils-0.13.6 Released

Added support for many new processors in the 18F family.
Added support for new COFF format to all of gputils.

October 27, 2007 -- gputils-0.13.5 Released

Added support for many new processors in all families.
Added support for CONFIG directive on 18F devices.
Support for new COFF format (MPASM default) in gpvo.
Fixed bugs.

August 19, 2006 -- gputils-0.13.4 Released

Fixed bugs.

August 3, 2005 -- gputils-0.13.3 Released

Fixed bugs.

May 5, 2005 -- gputils-0.13.2 Released

Fixed bugs. Added gpstrip. Removed gpal.

April 15, 2005 -- gputils-0.13.1 Released

Fixed bugs.

January 3, 2005 -- gputils-0.13.0 Released

Added many new processors. Added support for extended 18xx mode. Fixed many bugs.

November 14, 2004 -- MPLAB Plugin Available

A preliminary release of an MPLAB plugin is available. Informal releases are available here.

September 25, 2004 -- COD File Improvements

We have started an effort to fix bugs in gputils COD files. The purpose is to improve compatibility with other tools. Informal releases are available here.

September 24, 2004 -- gputils-0.12.4 Released

Fixed bugs.

July 25, 2004 -- gputils-0.12.3 Released

Added processors and fixed bugs.

July 13, 2004 -- gputils-0.12.2 Released

Fixed many bugs and added features to gpal.

January 20, 2004 -- gputils-0.12.0 Released

Fixed many bugs and released gpal. Although, gpal really isn't ready to be used.

December 12, 2003 -- gpal announcement

I am adding a new tool to gputils. A compiler called gpal.

November 22, 2003 -- gputils-0.11.8 Released

Fixed bugs.

October 17, 2003 -- gputils-0.11.7 Released

Fixed 18xx gplink bugs and added support for 18xx config and idlocs sections in gpasm.

August 1, 2003 -- gputils-0.11.6 Released

Added support for idata sections in gplink and added new processors.

June 28, 2003 -- gputils-0.11.5 Released

Fixed many bugs in 18xx relocatable object support.

June 4, 2003 -- gputils-0.11.4 Released

Added new processors, updated header files, and update linker scripts.

May 10, 2003 -- gputils-0.11.3 Released

Added memory fill feature to gplink and fixed several target memory allocation problems.

April 19, 2003 -- gputils-0.11.2 Released

Fixed various bugs.

April 2, 2003 -- gputils-0.11.1 Released

Added cod output to gplink. Fixed various bugs.

March 14, 2003 -- gputils-0.11.0 Released

Added support for relocatable objects. This is just a start, there is still much work to do.

November 24, 2002 -- gputils-0.10.6 Released

Added banksel, pagesel, and changed default hex format to inhx32.

October 27, 2002 -- gputils-0.10.5 Released

Added support for new processors.

October 12, 2002 -- gputils-0.10.4 Released

This release primarily fixes bugs in gpasm.

May 12, 2002 -- gputils-0.10.3 Released and gputils-extra-0.0.2 Released

At the request of a user, man pages have been generated for gputils. These pages are not considered a substitute for the manual. The header files and linker scripts have been updated. Changes were incorporated for the Code Warrior port of gpasm.

A new branch in cvs has been created for the relocatable object file support. This branch will become 0.10.4 or 0.10.5. A notice will be posted when it is ready for the users.

April 4, 2002 -- gputils-0.10.2 Released

gpasm now generates messages, warnings, and errors for various invalid arguments to instructions. Typically because the argument is not within the valid range. Additionally, gpasm now generates messages and warnings related to setting the bank and page bits.

February 24, 2002 -- gputils-0.10.1 Released

This release includes a major overhaul of macros. The macros are now stored as text instead of a parsed structure. This text is inputted into the lexer each time the macro is called. Several macro related problems were also fixed.

January 24, 2002 -- gputils-extra-0.0.1 Released

The is the first release of the new extras package. Anything which doesn't fit into gputils will go into this new package. The package is distributed in source only and does not install.

January 20, 2002 -- gputils-0.10.0 Released

This release is basically gpasm-0.9.14 with bug fixes. Additionally, there are some new tools. However, these new tools are not complete, so they are not installed. Please see the ChangeLog for details on the bug fixes.

January 13, 2002 -- gputils imported to cvs

The new package has been imported to cvs. The first release should occur in the coming weeks.

December 12, 2001 -- gputils package created

A new linker and lib tool are under development. These new tools along with gpasm will be distributed in a new package gputils, GNU PIC Utilities.

November 20, 2001 -- gpasm-extra announced

A new package, gpasm-extra, is being put together. See the description above for details.

October 31, 2001 -- v0.9.14 Released

The path to the header files is automatically loaded into the include paths list. This means that you no longer need to add "-I /usr/local/share/gpasm/header" to gpasm to use the provided header files. This feature can be disabled by adding "--disable-path" when configuring. One key point, gpasm always checks the local directory for includes before checking any of the include paths.

The fill directive will now allow a line of assembly as an argument. The argument must be enclosed by parentheses.

fill (goto start), NextBlock - $

Several bugs were fixed in the lexer. These were related to malformed input files confusing gpasm about when pass 1 could be ended. One of the file problems was a missing newline before the end of file marker. The bugs have been fixed so they shouldn't cause any more problems. Gpasm will warn the user when one of these files is processed. If you receive the warning, open the input file in vi and save it. Vi will fix the problem. The test has been disabled on win32 systems because of inconsistencies in the editors and file formats.

October 6, 2001 -- v0.9.13 Released

The release is mainly to add several new processors. Additionally, new header files to support the processors were added.

A new feature is "list n=0". This will prevent page breaks in the source code section of the list file. A related bug was also fixed. All numeric arguments to the list directive are now interpretted as decimal regardless of the current radix setting.

September 8, 2001 -- v0.9.12 Released

This release makes more improvements to the preprocessor. A brief description of the features are in the ChangeLog. A more comprehensive explaination will be included in the updated documentation in the next minor release.

In addition to the new features, several bug fixes were incorporated. The most significant was the replacement of the old "can't evaluate expression" error message with more meaningful messages.

I was surprised to see that more than 400 people downloaded the MinGW32 port of gpasm 0.9.11. No one has reported any bugs in the port. Because of the large number of downloads, the MinGW32 distribution will continue to be generated.

More progress was made with the new macro implementation. With these changes all of the known macro defiencies have been fixed. These changes will be distributed in the next minor release (there might be a couple more micros releases first).

August 17, 2001 -- MinGW32 binary

For the next few releases a win32 binary will be provided. If this distribution is popular the releases will continue.

August 14, 2001 -- v0.9.11 Released

This release primarily fixes bugs and adds features to the gpasm preprocessor. This is all ground work for the up coming macro implementation changes.

With the changes in this release, gpasm should correctly identify any opcode, directive, or macro incorrectly placed in column 1. It will also substitute any symbol found in column 1 that appears in the #defines table.

August 4, 2001 -- v0.9.10 for win32 experiment

A gpasm user has decided to attempt a gpasm port to win32 using Microsoft Visual C++ 6.0. To my knowledge this has never been attempted. I have done this using the Borland compiler. In order to help the user, the data from the Borland port has been added. The data is available in the "What Platforms are Supported?" section of this page.

The Borland data will be added to the distribution sometime in the future. If Visual C port works that data could be added as well.

Try out the Borland port. If you have an opinion send me an email <>.

July 30, 2001 -- v0.9.10 Released

I experienced a moment of terror on July 29th, when my new 0.9.9 release generated a core dump. I made the 0.9.9 release inactive and investigated the problem. It turned out to be a really old bug. I had already stopped the presses, so I decided to just make a new release that included the fix.

July 28, 2001 -- v0.9.9 Released

This release fixes some minor bugs and cleans up some of the old code. Most of the changes probably won't effect users who are not writing new code. For those that are, several new tests should help to catch some problems before they occur. For example, all labels are checked to see if they are a resevered word. If they are a warning is generated and the text is treated accordingly. This test should help catch typos.

July 17, 2001 -- v0.9.8 Released

gpasm will now expand macros in the listing and cod files. The real advantage of this is gpsim will jump to the macro or while loop source when stepping through the code. If you like the old way that gpasm operated add a "NOEXPAND" or "LIST x=OFF" to the top of your source code. Another way is to add the argument "e=OFF" to gpasm.

New with this release is an optional i386 rpm distribution. Make sure you uninstall any previous gpasm installation before installing the rpm. This can be accomplished by running a "make uninstall" on 0.9.7 or by removing the binaries from /usr/local/bin and the data from /usr/local/share/gpasm. The only difference the users should notice is the headers are now located in /usr/share/gpasm/header.

June 17, 2001 -- v0.9.7 Released

This one has some new features. New operators have been implemented. i++, i--, i+=1 are some examples.

There is also some new eye candy in this one as well. A memory map is now produced as part of the list file. The number of program words used by the file is also reported.

Some work was done to make gpasm a little more friendly to non Linux systems. More can probably be done in this area. If you have to patch gpasm to compile it, please send me the data. I will evaluate it for possible inclusion in future gpasm releases <>.

May 30, 2001 -- v0.9.6 Released

This release primarily fixes bugs submitted into the bug tracker. Most of them are minor. The one some of you may have experienced is failure of 0.9.5 to compile due to missing getopt_long(). This problem occurs on Solaris and some BSDs. This version of gpasm will configure around your system. If you don't have it, gpasm won't use it.

The first version of the object file viewer is included in this release. It is not a final version. Please hold off on the bug reports for a few weeks at least. The basic functions of the viewer work, but there are still some holes to fill. Completion of this viewer will lead directly into object file generation for gpasm.

May 18, 2001 -- v0.9.5 Released

The release was completed on May 13th, so this is probably old news for many of you.

Much was accomplished, but nothing that I planned for. The main changes are related to getting some case sensitivity problems solved. The problem was that the mneumonics in are implemented as macros. This created some case sensitivity headaches. This release solves all of the problems (at least the ones I know about).

The solution was to move the functionality of into the source code. With 0.9.5 you can safely remove from /usr/local/share/gpasm. This can also be accomplished be running a "make uninstall" on 0.9.4 before installing 0.9.5.

The macro expansion and object file viewer are in about the same shape they were a couple of weeks ago. They are still at the top of the list. I will try to make finish them for the next release. I won't make any promises though.

April 22, 2001 -- v0.9.4 Released

More compatibility changes ... most are minor. 460 of 501 gpasm test files are now passing.

Many things are in the queue for 0.9.5. Most are very close to being complete, but weren't ready to make the 0.9.4 cut. These things include:

  • A utility to view the contents of Microchip's object files. The next step in adding object file support to gpasm.

  • Macro expansion. It has been on the back burner for some time. I just want to get it off of my "To Do" list.

March 17, 2001 -- v0.9.3 Released

The work has continued on the Microchip test files. 431 of 501 gpasm test files are now passing.

March 4, 2001 -- v0.9.2 Released

I have spent most of the last week working on the Microchip test files. They provided > 500 asm files for testing MPASM. The first time I tested gpasm, only 53 of the files passed. With the changes made in 0.9.2 we are up to 387. Not 500, but much better than 53. The rest of the 0.9.x series will concentrate on getting closer to 500 files passing.

The linker support was put on hold when the Microchip test files came in. I felt it was better to fix bugs than to add features. Not to worry, I will pick it back up in a few weeks. Currently, the linker can read Microchip's object files and combine the data into one hex file. (All of the important steps in between are skipped.)

Carlos Nieves has provided a patch which adds the 17cxx family. It will be part of 0.9.3.

Return to Main page