Version 6 (23-FEB-2006)
--------

- as/: added unary >> operator that returns the number of trailing clear bits
- as/lang.l:yyerrorf: didn't initialize "ap", oops
- as/cpp.[ch]: moved to shared/
- prog/libprog.a: new home of all interactions with the programmer that are not
  part of the user interface
- shared/interact.[ch]: new home for all "verbose" and progress reporting items
- cleaned up library inclusion in all Makefiles
- shared/README: moved the cpp.[ch] license, too
- sim/: added a simulator (proof of concept only and certainly full of bugs)
- waspic/: reset also if restarting through start1
- prog/drv/waspic.c: reset target when closing
- prog/drv/watsp.c: reset target and disable output when closing

Version 5 (22-FEB-2006)
--------

- m8cprog: verified that READ_REG(REG_CPU_X) indeed reads CPU register X
- "make" now prints terse message (to obtain the full command text, set V=1)
- waspic/waspic.asm: the first vector now ends in 000 instead of 111 (which was
  incorrect, but didn't seem to have any effect)
- waspic/: added protective resistors to SDATA, SCLK, and XRES
- watsp/: new simple bit-banging programmer for the serial port
- m8cprog: terminal width is now determined at run-time
- m8cprog/vectors.h: moved chip IDs to chips.h
- m8cprog/chips.[ch]: moved to shared/
- das/tests/input: a reference to m8cdasm escaped the great renaming

Version 4 (20-FEB-2006)
--------

- renamed CY8C2 to M8C (package name, cy8c2prog, etc.)
- renamed m8cdasm to m8cdas
- m8cprog: added support for chips with banked Flash (CY8C24x94 and CY8C29xxx);
  UNTESTED !
- shared/file.h: increased sizes to 32 kB Flash
- m8cprog: write security data after reading or comparing
- m8cprog: the INITIALIZE_3 vector must set BDG_TR, not ILO_TR
- m8cprog: as an exception, if there are 128 blocks, CHECKUP_SETUP sets POINTER
  to 0 instead of 0x80
- prog/m8cprog.c: turn off progress bar if verbose > 1
- prog/ref/: tools and data for comparing the vectors against the official
  published reference AN2026A and AN2026B
- m8cas: cleaned up implementation of AREA and made list of attributes optional
- m8cas: added support for overlaid areas
- m8cas: code area is now called "text" and is pre-defined as (ROM, ABS, CON).
- as/tests/{blk,blkw}: updated to use the "text" area

Version 3 (18-FEB-2006)
--------

- prog/tty.[ch]: added functions to access individual lines of the serial port
- prog/: moved drivers to subdirectory prog/drv/
- proc/Makefile: introduced central driver list
- proc/cy8c2prog.c: option -d didn't take an argument, crashing cy8c2prog
- proc/prog.c:prog_vector: was completely broken, now is less so
- m8cas: added support for the AREA directive (with limitations)
- as/tests/{blk,blkw}: updated to use AREA
- m8cas: unary operators caused a segfault
- m8cas: unary - was implemented as ~
- m8cas: hexadecimal numbers in the XXh format were not handled properly

Version 2 (17-FEB-2006)
--------

- prog/cy8c2prog.c: programmer can now also be invoked without any operation,
  in which case it will only establish communication and retrieve the IDs
- prog/cy8c2prog.c: new erase device only option -e
- prog/cy8c2prog.c: new option -z to skip read-protected blocks when reading or
  comparing
- prog/cy8c2prog.c: now also retrieves the silicon revision (experimental)
- prog/cy8c2prog.c: restructured the code
- proc/README: documented that programmers with hard-coded vectors aren't
  supported
- Makefile: didn't stop on errors in subdirectories
- libfdr/: added red-black trees by James S. Plank
- as/: added an assembler (experimental and largely untested)
- dasm/tests/Common: regression tests now print the script name on failure

Version 1 (15-FEB-2006)
---------

- waspic: schematic uses transistor symbols with correct pin information,
  removed BC337.sym and pic16LF88.sym, and updated the READMEs
- waspic: added "project", which guides the operation of gsch2pcb
- prog/Makefile: moved common settings to top-level Common.make, and added
  -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow
  -Werror to CFLAGS
- moved prog/file.[ch] to shared/
- shared/file.[ch]: added support for reading and writing ROM files
- shared/file.c: Intel HEX file records now output with \n, not \r\n, as record
  terminator
- shared/file.c: added full support for security data and cleaned up confusion
  with checksum data
- shared/file.[ch]: program and security data size now has byte granularity,
  and no automatic padding occurs
- cy8c2prog: files are now only padded to full blocks when writing
- cy8c2prog: added support for writing security data
- cy8c2prog: added detection of error codes returned by SSC when reading
- cy8c2prog: new option -i to write an Intel HEX file, changed the default to
  "ROM"
- cy8c2prog: default isn't as silent as README claimed; added option -q to make
  it so (i.e., to suppress progress bars)
- dasm/: added a disassembler
- improved the READMEs a little
- moved prog/TODO to the top level
- prog/vectors.h: some macro arguments lacked parentheses
- added CHANGES (forgot that one, oops)

Version 0 (14-FEB-2006)
---------

- Initial release
