------------------------------------------------------------------------
CHANGELOG TINYSAFEBOOT - SOFTWARE
------------------------------------------------------------------------
tsb-executables
------------------------------------------------------------------------

20140401
Updated database and port ressources for 2 new devices: 
ATtiny441 and ATtin841 (TSB-FW 20140331)
Added One-Wire-Detection notification.
Added full Devicename to Device-Info.
Minor internal code-improvements.


20140302
Code revisited. Updated database of TSB-FW 20140302.


20131023
Code revisited. Updated database of TSB-FW 20131023.


20130915
File format (hex or binary) now autodetected when data is loaded to 
write or verify.
Added display of absolute Flash size to device info block.



20130902
Updated TSB-Software with TSB-FW 20130902. 
New firmware performs different handling of rjmp to Application. 
Added support for both valid directions of an rjmp in User Data field. 
This is only relevant for the read-back of application firmware from
flash with ATtinys up to 8 KB to reconstruct the original rjmp Reset 
correctly.


20130831
Password-changing: Old password is now fully overwritten in memory
when being replaced by shorter one.
Display of APPJUMP on ATmegas corrected from "FFFF" 
to always show "0000", regardless of any values written to LASTPAGE.
Emergency-Erase: Improved re-check of accessability of TSB after 
some Emergency Erase has been engaged (no misleading ERROR note).


20130625
Updated TSB-Software with TSB-FW 20130625 (see changelog_fw).
Fixed a silly lower/uppercase bug in conjunction with firmware template
search that caused some devices not to be found.


20130505
Updated TSB-Software with new TSB-Installer/Firmware database
(116 devices currently supported).


20130428
Corrected wrong calculation of checksum that could lead 
TSB-Installers not to install under some conditions.


20130414
Support for tn1634 and tn88 integrated into database.
Support for ATmegas (experimental).
Restructuring of database for TSB-Templates and tightened programming.
Integrated list of port mappings for all current ATtinys and ATmegas 
to eliminate the need for 'exemptions' in future programming.
No generation of code for nonexisting Ports.
FlashRead and FlashVerify: Analysis of the last bytes in Device Info 
Block to determine whether the target device is an ATtiny (rjmp), 
ATtiny with 16 KB up (jmp) or ATmega (reset vector not relevant). 


20130217
Implemented checksum for customized TSB-Installers. While previous 
Installer only checked for a bunch of ASCII characters in the last 
page of TSB-Firmware, now a checksum is calculated (by means of 
modulo 2^16 sum) over all pages containing relevant code of the 
TSB-Installer and the attached TSB-Firmware. 
These two bytes are calculated in the course of making a customized 
TSB-Installer from a (internal or external) Installer template. 
When processing external TSB-Firmware (without Installer routines),
no checksum feature will be implemented.


20130210
Adapted TSB firmware for modified date format. Previous TSB still 
supported (i.e. date shown correctly).
Integrated new firmware templates into TSB.BAS.


20130108
Integration of modified TSB-FW 20130106. 
Re-integrated support for ATtiny87.


20121222
Customized firmware feature: It will now deliver TSB-Installers. 
The autogenerated filename of them directly represents the firmware's 
coding date instead of the current date. 
(Please have a look at the firmware's changelog and assembly source 
for details on the proposed installer mechanism.)
Firmware-Read: Empty (erased) pages that contain only $FF bytes will
be stripped from the firmware file that's read back by the tool. 


20121123
Integrated new code template-datas. Tested and activated new method 
of generating TSB-FW from templates for devices tn87 and tn167.


20121118
Extended features of code-generation-from-templates: Added support 
for ATtiny87 (and ATtiny167, with restrictions), which have different
IO locations that require different search-and-replacement rules for 
being correctly modified.
Commandline interpreter: Improved serial port device name trimming.
Other changes: Default speed lowered to failsafe 9600 bps, that
would be viable with tsb in a wide range of MCU clock.


20120909
Added long-awaited *integration of pre-assembled firmware templates*
into the tsb-software by means of a 'database of datas' included in 
tsb.bas, enabling it to generate customized tsb-firmware files 
standalone for at least those attiny models directly covered by the 
universal assembler programming. All the tsb-stuff in one folder now!
(i hate too many subfolders ;-)
Of course there is still option of making your own tsb-variant 
directly from source (tsb_base.asm), or you may build further
external templates. If tsb cannot find the submitted attiny filename 
in its database, it will search for a hexfile matching that name 
in its executable directory. TSB-templates should fulfil 
these simple requirements: naming like "tn-fancyname-def.hex"; 
not conflicting with existing attinys' (see "attinys.txt"); 
located in the same folder where tsb-executable resides.
Ah, and do not change the interim port assignments (B0 for RXD, 
B1 for TXD), which are essential for autodetecting and changing 
the respective opcodes later on.


20120902
- Added support for One-Wire-Interface (auto-recognition of such
  adaptor; echoed characters won't interfere with the protocol)
- Fixed some bugs and added new ones...


20120812
- Option making customized tsb-firmware file:
Changed template search path from working directory (./) to exepath$ (fb). 
Now it will always find the folder "tsb_tmp" with preassembled 
templates even if tsb.exe has been invoked from any different 
working directory. (Thanks, OD!)
- Minor improvements in coding


20120626
- Fixed some Intel-HEX-conversion issues (explicit thanks go to: WEO) 
- Fixed external verifying; last byte of file that fills all available 
flash memory, will also be checked now :)
- Adjusted to compile under Linux version of fbc and enable using 
linux device names (/dev/ttyS or /dev/ttyUSB) in the commandline 
- Successfully tested and demonstrated full functionality 
(testing platforms Debian 6, Xubuntu 10)
- Strange behaviour with USB-COM-adaptors mitigated; possibly 
non-fbc-specific and/or depending on the particular platform and 
libraries


20110921	
First public release of the commandline tool.


***
