SourceBoost V6.87
(08-May-2008)
|
Minor corrections release
BoostC/BoostC++
- Fixed bug when result of substruction of 2 unsigned constant values (4-5) didn't result in a negative result.
- Fixed bug when compiler confused subwfb and subfwb.
- Added macro that replaces strlen with a number at compile time.
- Fixed bug when assignment of complex objects failed.
Linker
- Fixed Bug added in V6.86 - Use of #pragma DATA 0x000 crashes linkerFixed bug: Rare corruption of internal list caused unexpect errors.
|
SourceBoost V6.86
(01-May-2008)
|
Overall Installation
Distcontinued Win95 support.
BoostBasic
- First commercial release.
- Added Support for Novo RTOS.
- Added Novo sample programs.
- Added set_bit and clear_bit macros.
- Fixed bug: BoostBasic didn't process global data types and declarations in the first pass.
- Fixed bug: Multiple variable delaration fails if initial values specified.
- Fixed bug: Optimised out expression crashes compiler.
- Fixed bug: boolean type in BoostBasic generated compilation error.
- Fixed bug: long couldn't be assigned maximum negative value.
- Manual updates and corrections.
BoostC/BoostC++
- Enabled subtraction for pointers.
- Improved compilation error reporting.
- Forced number operand to use the smallest datatype.
- Added support for complex initialisation - struct/classes and multi-dim arrays.
- Added support for function pointer typedef.
- Fixed bug: in variable name masking.
- Fixed bug: recently introduced bug when wrong code was generated for pointer to pointer operands.
- Fixed bug: when incorrect code was generated when comparing "unsigned char variable >= un/signed short const".
- Fixed bug: problems when function pointer was used as an argument in function template.
- Fixed bug: when offset was not used for arguments of an inline call.
- Fixed bug:when wrong code was generated for XOR operation between bit and not bit operands.
- Manual- Corrected text regarding calling of a function from main and interrupt threads, other minor changes.
Linker
- Added code to report the list of files that are restricting the compilation if compilation fails due to compiler license being exceeded.
- Fixed bug: Rare corruption of internal list caused unexpect errors.
IDE
- Added functionality to call pre/post build scripts if they are present in project directory.
- Added generation of 'clean' make rule.
Novo RTOS
- Fixed bug - Sys_StopTask can cause corruption if called from more than one thread.
- Gave scheduler structure a name to be compatible with BoostBasic compiler.
- Manual - Documented BoostBasic support.
|
SourceBoost V6.85
(18-February-2008)
|
Overall Installation
Removed old C2C, C2C++ and P2C compilers from installation.
BoostBasic
Manual updated with: compiler and linker command line option sections, MPLAB V8.x integration, #pragma pre-processor directive.
BoostC/BoostC++
- Manual updated: added reference to MPLAB V8.x integration.
- Fixed bug when in some specific cases incorrect code was generated when a number was used as index.
- Added -beep command line option.
- Fixed bug when compiler produced incorrect code for switch operation used with array element 8 bit long.
- Re-written compiler part of compiler core that handles complex expressions.
- Fixed bug when wrong code was generated for XOR operation between bit and not bit operands.
- Added support for declaration inside 'for' loop statement.
- Fixed bug when const index of stack operand lost some code.
- Improved optimisation of generated code.
- Added hamming code example.
BoostC++
- Added support for :: operation over a call
- Added support for :: operand to refer to variables from global scope.
Linker
- Fixed bug Internal linker warning, Coff generation: Internal Warning: Var:c Unrecognised type id:0x10000B8C
- Fixed pointer size not consistent across files checking.
- Fixed delay routines:
- PIC18 routines had large errors due to extended excution time of of GOTO instruction on PIC18.
- Fixed reporting of delay overhead and unit delay for inaccurate delays.
- Fixed Bug when Linker reports overlapping code when optimization off.
|
SourceBoost V6.84
(31-December-2007)
|
IDE
- Terminal serial code update to use lastest library.
- Fixed problem with 'Function Info' windows when no data was shown for C++ projects
BoostBasic
- Added missing target 18F6628.
BoostC/BoostC++
- Fixed bug when indirect > used wrong offset in FSR.
- Fixed bug when default datatype of an expression when small constant was shifted left was 8 bit long instead of 16.
BoostC++
- Fixed parsing error for forward declaration that caused constructor parser to fail.
- Added error report if template arguments parsing error.
|
SourceBoost V6.83
(15-December-2007)
|
BoostC/BoostC++
- Improved error reporting if input file name can't be parsed.
- Added implicit return type to constructor and destructor
- Added support for parentheses in case arguments
- Fixed bug when used labels of branch opcodes were optimised out which caused linking to fail (PIC18 only).
- Fixed bug when code with implicit return type of constructor/destructor failed to parse
|
SourceBoost V6.82
(03-December-2007)
|
BoostC
- Optimised code for 8 bit switch case.
- Added support for NULL function pointers.
- Added support for binary constants (in the form 0bXXXX) in inline ASM.
- Added Support for ROM string re-assignment.
- Added integer square root function.
- Fixed link error when function pointers used with function declared in a different file.
- Fixed bug where only first 2 bytes of static array where initialise to 0.
- Fixed rare bug where dynamic memory allocation could go past the end of the heap.
- Fixed problems for addition and substractions with pointers and constants.
- Fixed bug when function pointer couldn't be passed as function argument.
BoostC++
- class keyword no longer required in a class instance declaration.
- Added support for pure virtual functions and abstract classes.
- Added support for NULL function pointers.
- Added support for forward class/struct/union declaration.
- Added integer square root function.
- Added support for binary constants (in the form 0bXXXX) in inline ASM.
- Improved linker error reports for class member functions.
- Fixed link error when function pointers used with function declared in a different file.
- Fixed bug which cause a linker error when a non member function was called from a class member function.
- Fixed bug where only first 2 bytes of static array where initialise to 0.
- Fixed rare bug where dynamic memory allocation could go past the end of the heap.
- Fixed bug when variables created in default constructor/destructor were assigned to wrong scopes.
- Fixed problems with addition and substractions with pointers and constants
- Fixed compiler crash when 2 class pointers were summed.
- Fixed bug when wrong argument passed to a memember function called from another member function.
- Fixed bug when function pointer couldn't be passed as function argument.
All Compilers
- Update of many .h and .tdf files.
- Changed asm code labels so that they start at 1 to make asm code more readable.
- Added fsr optimization at optimization level -O1
- Increased line buffer size in pre-processor.
- Added string monitoring in debugger.
- Fixed bank switching bug that could occur on targets with unbanks bank memory blocks.
- Fixed generation of software call stack when function pointers are used.
|
|
SourceBoost V6.81
(26-September-2007)
|
BoostC++
Fixed bug in call of methods from methods.
Linker
Fixed rare bank switching bug. |
|
SourceBoost V6.80
(23-August-2007)
|
IDE
- Changes for support of BC++.
- Added ability to watch strings.
BoostC/BoostC++
- Added pic18 eeprom library support for pic18 + some minor tuning on libs.
- BC Manual - Added more details about passing args by references.
- BC Manual - Corrected CR/LF descriptions.
- Enabled bit arguments, disabled pointer to bit arguments.
- Updated header files with missing register declarations.
- Added new targets:
PIC16F722, PIC16F723, PIC16F724, PIC16F726, PIC16F727, PIC16F882, PIC16F610, PIC16HV610, PIC18F2458, PIC18F2553, PIC18F4458, PIC18F4553, PIC18F24K20, PIC18F44K20
PIC18F25K20, PIC18F45K20, PIC18F26K20, PIC18F46K20
- Added toggle bit macro.
- Fixed bug with inline assembly when BRA instruction used.
- Fixed bug when l-value flag could be lost when const offset was added to pointer.
- Fixed Bug Casting mul result causes linker crash. Cause by compiler leaving function arguments present in calling code for function that are not called.
- Fixed Bug code size increase introduced in 6.70.
- Fixed Bug fixed bug when += failed when used with structure members and pointers.
- Fixed bug when code that assigns a struct to struct when one or both of them are members of another struct used wrong offset.
- Fixed bug when incorrect command line option was used under MPLAB for debug inline code feature.
- Fixed bug when access of array members inside member functions produced wrong code.
BoostC++
First comercial release of BC++.
Added C++ language features missing from alpha release:
- Destructors
- Default constructors
- Overloaded constructors.
- Virtual member functions.
BoostBasic
- Added rom var initialization to BoostBasic.
- Fixed bug - compiler incorrectly reported variable not being initialized.
- Fixed Bug - optional argument after NEXT is disabled.
- Fixed Bug - when BoostBasic didn't handle passing array as function argument.
- Fixed bug - when size of typedefs of pointers was calculated incorrectly.
- Manual - added section on use of BoostC libraries.
- Manual - Added section on inline asm.
- Manual - Added section on variables with fixed addresses.
Linker
- Changes for support of BC++.
- Added linker command line switch -hexela to allow extended linear addressing use to be forced in .hex file, even if not required.
- Added CR/LF to end of .hex file, to match MPLAB output.
- Fixed Bug Linking fails with mismatch of data types.
- Fixed Bug rare bank switching issue.
Novo RTOS
- Manual - Added section on sharing a resource between tasks.
- Manual - Added section on critical sections and macros.
|
|
SourceBoost V6.70
(13-March-2007)
|
Changes that affect all compilers:
- Delay code allows delays to be generated even with very low clock rates. Inaccurate delays are reported with warning messages.
BoostBasic:
- Added support for MPLAB integration and header files for use with ICD2.
- Changed BoostBasic manual to PDF format.
- Fixed bug were library could not be added to project.
BoostC and BoostC++ compiler changes:
- Added support for function pointers.
- Added float point library and documentation.
- Added code to support asm MOVLW HIGH( _x + off1 )+ off2
- Added sprinft32 for 32 bit value output.
- Fixed bug when compiler crashed when plain variable was initialized as an array like char a = { 1, 2, 3 };
- Fixed bug when bit access in inline code caused compiler to generate error.
- Fixed bug when optimization broke 32 bit negation code.
- Fixed bug when compiler didn't interpred sign of 32 bit constant correctly
- Fixed bug Linker does not check var types when linking external vars.
- Fixed bug when agressive optimizaion caused argument corruption if same functon was called several times
- Fixed bug when '}' inside array initialization caused compiler to skip all further initialization constants
- Fixed bug when zero based optimization didn't work for complex expressions inside conditionals.
- Fixed bug when basic binary constants were not parsed correctly
- Fixed bug when decrement of a bit variable caused wrong code generation
- Fixed bit access within inline functions bug.
- Fixed typedef of pointers bug
- Fixed bug when long constant could not be bigger than 0x7FFFFFFF
Linker
- Changed ROM usage calculation to take into accounts gap in ROM usage - caused by using #pragma DATA.
- Corrected us of -swcs Interrupt call stack figures.
- Added error message for -swcs parameters when out of range.
- Added second stage dead code removal as dead code is created by other processes.
- Fixed minor bug Linker generates when using -swcs "Internal Warning:Duplicate Var id".
- Fixed bug Link fails when extern var accessed using bit number.
MPLAB/ICD2
- Fixed MPLAB problem where local variables could not be monitored.
- Added linker command line option (-icd2) to add NOP at ROM address 0 for use of ICD2.
Novo RTOS
- Changed sleep code so that Sys_Sleep(0) works as expected (yield and no sleep).
- Reduced code overhead for each call to Sys_Sleep().
- Corrected SysGetElapsedTime when handling tick value wrapping.
- Added critical section nesting count.
IDE
- Fixed bug when ide sometimes corrupted text after find and replace in files used.
|
|
SourceBoost V6.60
(29-Nov-2006)
|
Changes include overall Changes:
- Added support for new targets: PIC12F609, PIC12HV609, PIC12F615, PIC12HV615, PIC18F2682, PIC18F4682, PIC18F63J11, PIC18F64J11, PIC18F65J11, PIC18F83J11, PIC18F84J11, PIC18F85J11, PIC18F2423, PIC18F2523, PIC18F4423, PIC18F4523, PIC18LF2423, PIC18LF2523, PIC18LF4423, PIC18LF4523
- Header files and TDF files updated with latest data from MPLAB header files.
BoostC and BoostC++ compiler changes:
- Added new conversion library functions, including sprintf, atoi, strtol.
- Added MPLAB support for BoostC++
- Added sample programs for Velleman K8048 programmer/experimentation board.
- Minor correction to Novo RTOS.
- Fixed a number of compiler bugs.
- Improved some optimisations to reduce code size.
|
|
SourceBoost V6.55
(24-Oct-2006)
|
Added PIC18 interrupt options/features and some
Bug fixes:
- Interrupt context corruption problem fixed (introduced in V6.50).
- Addition of interrupt shadow register use option.
- Added option of no interrupt context saving for PIC18 targets (user can implement their own).
- Added Preservation of MULH and MULL on PIC18 targets in interrupt context saving.
- Fixed some 32 bit maths errors in BoostC compiler.
|
|
SourceBoost V6.50
(11-Oct-2006)
|
Many significant changes and bug fixes:
- BoostC++ Alpha.
- Novo RTOS Beta release.
- Bugs in access to structures of data structures using pointers fixed.
- Support for use of software and hardware call stacks, allows call depth > hardware call stack depth.
- Updated TDF files add missing config sections for 18FxxJxx targets.
- Other compiler bugs fixed.
- BoostC manual in PDF format.
- Additional String, memory and character standard libraries.
- Full BoostC and Novo library source code available for Pro License users.
|
|
SourceBoost V6.40
(15-Jun-2006)
|
A couple of minor fixes since the pre-release V6.38 version
- Fixed: New build system would not work if project spread across several folders.
- Fixed: Debugger step into which reported that source code could not be found when stepping into library code, and did not step as expected.
- Corrected some of the PIC18 include files.
|
|
SourceBoost V6.38
(06-Jun-2006)
|
Currently available as pre-release version.
- Linker rare bank switch issue fixed.
- Added symbol browser for BoostBasic compiler.
- Changed make process for BoostC tool suite so that only files that are changed are re-compiled.
- Change PIC18 header files and TDF files to match microchips latest changes.
- Added a number of new target devices.
|
|
SourceBoost V6.35
(04-Apr-2006)
|
Bug fix release :
- Fixed some PIC18 simulator problems related to indirect addressing auto increment functionality.
- Fixed BoostC compiler bug when nested structures caused linker failure.
- Fixed BoostC bug when incorrect code was generated for '--' operation of the 32 bit long operands accessed through pointers.
|
|
SourceBoost V6.33
(19-Mar-2006)
|
Bug fix release :
- Fixed compile and build problems in BoostBasic compiler
- Fixed several pointer math and data access problems in BoostC compiler
- Fixed linker bug when incorrect opcodes were generated for push/pop instructions
- A few minor improvements in the IDE
|
|
SourceBoost V6.32
(21-Feb-2006)
|
Bug fix release (no changes in BoostBasic in this release):
- Fixed BoostC bug when linked lists could not be compiled;
- Fixed ad/eeprom/flash system libraries when they didn't link for some targets;
- Added IDE options to overwrite default project open directory and to disable last project load at start time;
- Added IDE option to use boiler plate text when creating a new file;
- Fixed several other issues in IDE and compilers reported on the forum.
|
|
|
|
SourceBoost V6.31
(5-Feb-2006)
|
Bug fix release:
- Added one wire interface library;
- Fixed preprocessor bug when include of a file with absolute path didn't work;
- Fixed compiler bug when sometimes default initialization of un-initialized static variables crashed the compiler;
- Fixed PIC18 compiler bug when compiler didn't accept an argument after the 'return' instruction;
- Fixed PIC18 compiler bug when compiler didn't accept the second argument after the 'call' instruction;
- Fixed simulator bug STATUS register was incorrectly restored after interrupt;
- Fixed several other minor issues in IDE and compilers.
|
|
|
SourceBoost V6.30
(20-Jan-2006) |
- Added beta release of BoostBasic Basic compiler;
- Changed format of .obj and .lib files for BoostC compiler. You have to rebuild your libraries to be able to use them with this BoostC release;
- Fixed bug when incorrect code was generated when comparing 32 bit long struct members;
- Fixed bug when compiler didn't handle table instructions for PIC18 targets;
- Speeded up link time.
|
|
|
SourceBoost V6.25
(19-Dec-2005) |
- Added beta release of BoostBasic Basic compiler;
- Un-initialized static variables are initialized with zero at program startup;
- Fixed bug when in some rare cases optimization caused incorrect bank selection at function entry;
- Fixed bug when conditional 'and' operation of 16 bit long operands in some cases produced incorrect code;
- Fixed bug when accessing a bit inside a variable inside an inline function resulted in incorrect variable allocation;
- Added more code optimization.
|
|
|
SourceBoost V6.21
(23-Nov-2005) |
- Patch that fixes the bug when for some code compiler silently aborts compilation.
|
|
|
SourceBoost V6.20
(16-Nov-2005) |
- Added support for changing values of variables in the watch window;
- Fixed incorrect code generation for 32 bit long array elements as operands;
- Fixed incorrect code generation for conditional right shift by 4;
- Compiler changed to put output files into the current directory;
- Added more optimization (generated code is about 5-10% shorter);
- Added 4 lines mode to the LCD plugin;
- Added font size selection to the LCD plugin;
- Added support for 2 more targets;
- Speeded up BoostC compilation and linking;
- A few other minor bug fixes and improvements.
|
|
|
SourceBoost 6.15
(11-Oct-2005) |
- Added more optimization;
- Fixed bug when union members couldn't be watched under debugger;
- Speeded up stepping under debugger;
- Added support for full escape sequences in strings;
- Added support for rom objects initialization with a list of values like: rom char *ptr = { 1, 2, 3, 4 };
- Fixed IDE bug when double click on an error line didn't position on the error if patch to the file contained spaces;
- Fixed bug in aggressive optimization when global vars could be optimized out;
- Fixed all other bugs reported since the previous release.
|
|
|
SourceBoost 6.14
(22-Sep-2005) |
- Multiple improvements in SourceBoost IDE and BoostC compiler;
- Added new optimization option -Op;
- Added new pragma OPTIMIZE that changes optimization on function level;
- Added new operand _asm;
- Aggressive optimization is now useable;
- Fixed all bugs reported since the previous release.
|
|
|
Patch 6.13
(14-Sep-2005) |
Bug fix release:
- Fixed simulator execution bug that sometime happened when F11 (step into) command was used to step trough the code;
- Fixed string optimization bug introduced in 6.12.
|
|
|
Patch 6.12
(13-Sep-2005) |
Bug fix release:
- Fixed two over-optimization bugs in BoostC & BoostLink that in some cases caused incorrect code generation;
- Fixed bug in C2C++ compiler when it reported an error in not all methods had implementation;
- Added compiler keywords to SourceBoost IDE auto completion functionality;
- Added more optimization for strings and | and |= operations in BoostC compiler.
|
|
|
SourceBoost 6.11
(01-Sep-2005) |
Bug fix release:
- Fixed preprocessor crash for input files that have total path longer than 79 characters.
|
|
|
SourceBoost 6.10
(30-Aug-2005) |
Several new big features in BoostC compiler:
- Support for 32 bit long data types;
- References as function arguments;
- Access of separate bits in a variable;
- Added support for several new targets;
- Improved reliability of debugger;
- More optimized code;
- Added French IDE translation;
- Some other minor improvements.
|
|
|
SourceBoost 6.0.4 and BoostC 6.0.4
(27-Jul-2005) |
File host service that we user for several years suddenly died and we had to move to another one. Because of this change we decided to publish a new release that fixes one recently found bug. This release doesn't contain any other changes because we spend all our effort to add support of 32 bit long data types to BoostC. This work is partially done. Hopefully we will release the next BoostC version that support 32 bit math in couple of weeks:
- Fixed typecast to bigger data type error in BoostC.
|
|
|
SourceBoost 6.0.3 and BoostC 6.0.3
(1-Jul-2005) |
- Fixed error in static variable allocation in BoostC;
- Fixed BoostC error when an expression result couldn't be assigned to a bit or boolean variable;
- Fixed BoostC error when incorrect code was generated for conditional -= operation;
- Fixed BoostC bug when divide by 8 of a negative variable didn't preserve sign;
- Fixed minor issue related to timer1 in PIC18 simulator;
- Fixed several problems related to right shift of negative variables in BoostC;
- Fixed debugger bug when code bigger than 64k couldn't be loaded into debugger;
- Fixed several other bugs reported at the SourceBoost forum;
- BoostC generates a bit more optimized code (we add more optimization virtually to every release);
- Fixed problem in C2C compilers related to memory allocation for SX48/52 targets;
- We also work on 32-bit data types and floating math in BoostC (Though this probably won't be ready by the next release ).
|
|
|
BoostC 6.0.1
(28-May-2005) |
Bug fix release:
- Fixed BoostC bug when link failed if 'return' statement was used inside 'interrupt' function;
- Considerably increased compilation speed for long functions;
- Fixed error in ICD header file;
- Fixed error configuration file for PIC16F676 target;
- Added more optimization (generated code is now about 1.5% shorter).
|
|
|
SourceBoost 6.0 and BoostC 6.0
(20-May-2005) |
- First commercial BoostC release;
- Support for interrupts and I/O in PIC18 simulator;
- Much shorter code generated for PIC18 target(through the use of branch instructions);
- Low cost PIC18 based controller and demo board:
- Compact size DIP-24
- 2 external interruption sources
- Loads code within the module without blocking the microcontroller serial port
- 20 configurable inputs/outputs
- Asynchronous serial port
- I2C port
- PWM modulator
- 5 channels 10 bits AD
- 32 KB FLASH (16 K instructions)
- 1.5 KB RAM
- 256 BYTES EEPROM
- 20 MHz oscillator (5 MIPS)
- Integrated 5V regulator
- Integrated MAX232 circuit
- Integrated supply LED
|