Phyton Project-SE Revision History


1.22.00

Updated: The protection system version.

Beginning April 2011 Phyton improved the software protection and license management. As a result, old licensed software versions are now incompatible with the new license registration system. To re-activate your license download the most current version of the product from the http://www.phyton.com/htdocs/support/update.shtml webpage, install it on your computer and send us a new license activation request using the UserID for your license from the Help > License Manager dialog. We will return you a new activation code promptly after validation of your license information.

1.21.01

Fixed [PICE-SE]: stkNdx SFR simulation.

1.21.00

Fixed [MCC-SE C Compiler]:

   incorrect processing of multiple #elif directives
   incorrect result of ## preprocessor operator
   internal error on #if without expression
   false error "Size of structure or array not known"
   false error "Duplicate case"
   wrong 'const' attribute on array-to-pointer conversion
   incorrect code for equality operators
   internal error when static pointer to function is initialized with 0

1.20.08

Added: Checking of MCC-SE compiler version that is used for building projects.

1.20.07

Fixed: Minor bugs in text editor.

Note: Installing this version of Project-SE will require re-activation of the package.

1.20.06

Changed: Operating system ID and CD/DVD hardware ID are excluded from the software protection check

1.20.05

Updated: Minor changes in the application protection

1.20.04

Fixed [PICE-SE]: On its power on startup PICE-SE did not clear the code breakpoints in the bank 1 of the RSC code space. It caused sporadic faulse code breakpoints while executing program from the bank 1.

1.20.03

Updated: Project examples

1.20.02

Fixed: Minor error in the product activation procedure

1.20.01

Fixed [MCA-SE Assembler]: Internal error in built-in assembler sometimes occurred if previous assembly detected an error.

1.20.00

Changed: Key mappings for Step, Step Over, Low Level Step, Low Level Step Over, Make, Compile, Next Search and other commands

1.10.12

Fixed [MCC-SE C Compiler]:

- IRDATA_INI segment schould be always placed in the 0th bank of the address space CONST to avoid wrong variables initialization. Corresponding directive for the linker is added in the C startup module.

Added [MCA-SE Assembler]:

- new command line option -Dname, the name specified in the option is defined in all modules of the source file (similar to the assembler directive '.DEFINE name 1') that can be used for conditional assembling.

Changed: SFR definition include-files for MCA-SE assembler and MCC-SE C compiler. If an SFR definition file included into compilation does not match the MCU selected for the project, C compiler and assembler will display an error message.

1.10.11

Minor changes in protection mechanism

1.10.10

Fixed [MCLINK Linker]: Information on segment name/position and source file name/line added to diagnostic messages.

Changed: Project-SE is now distributed using new licensing procedure.

1.10.09

Updated: Installation procedure

1.10.08

Fixed: Installation dialog

1.10.07

Changed: MCA-SE Macro Assembler works faster now

Changed: IDE main window toolbar icons

1.10.06

Fixed [PICE-SE]: Access to the FLASH (external read/write) memory in the break mode was mistakenly restricted to 64 KByte. Now the whole 1 MByte is available.

Note: the error affected the break mode only. While running user's program PICE-SE accessed the FLASH memory without any restriction.

1.10.05

Fixed [MCC-SE C Compiler]: Invalid compile stack processing led to internal error

Fixed: The IDE hangup on fatal MCLINK errors

1.10.04

Fixed [MCLIB Librarian]: Processing of multiple commands has been restored.

1.10.03

Fixed: MCC-SE C Compiler could not detect certain Sentinel dongles

1.10.02

Added: Indication of Time-Limited MCC-SE C Compiler expiration date in the status bar and About box

Changed: Under Windows XP, dialogs are displayed using Windows XP visual styles

1.10.01

Added [PICE-SE]: Support of the RSC464 microcontroller. Use the AR1-SE-06-Q100 adapter to connect PICE-SE to your target board.

1.01.07

Added [PICE-SE]: New alias of the RSC4128 MCU. Now it is just RSC4128. RSC4128-QFP100 rev.D and rev.A are left in the list of the target microcontrollers for compatibility with existing projects.

1.01.06

Fixed: Version 1.01.05 applications could crash upon start

1.01.05

Fixed: Generating binary files from hex

1.01.04

Fixed [MCC-SE C Compiler]:

Relative paths were processed incorrectly when a source file was compiled/assembled with generating debugging information.

1.01.03

Fixed [PICE-SE]: Problems mixing microcontrollers "RSC4128-Q100 Rev.A" and "RSC4128-Q100 Rev.D"

1.01.02

Updated [PICE-SE]: PICE-SE pdf manuals

Fixed: Binary files are now generated for all HEX files created by linker

1.01.01

Added [PICE-SE]: Support of the new Master MCU bootloader release 04/06/2004.

1.01.00

Fixed [PDS-SE]: Setting conditional breakpoints could crash the debugger

Fixed:

MCC-SE C Compiler:

- For COMPACT and LARGE memory models, the compiler generated superfluous declaration of FDATA and NDATA segments in case when there are no fdata/ndata variables in a source file. It led to the linker errors "unknown address area FDATA(NDATA)" if NDATA and FDATA address spaces were not defined.

MCLINK Linker:

- Resolving external names: the linker diagnostics in case of type mismatching was wrong for non-register variables.

Added:

MCC-SE C Compiler:

- In C runtime library, each of driver functions for DATA and FDATA memory access has been placed in a separate module.

Fixed:

MCC-SE C Compiler:

- In-line assembler: invalid code for branch instructions.

User Documentation:

- Minor improvements in MCC-SE and MCA-SE User Guides.

1.00.37

Fixed [PICE-SE]: Certain configuration settings were not saved in project/options file

1.00.36

Changed [MCA-SE]: Text of L18 linker warning has been changed.

Fixed [MCC-SE]: CLIB source files with functions sprintf(), sprintf_(), sscanf(), and sscanf_() has been changed to prevent generation of linker warning L47.

Added: Project Repository feature

Added [PICE-SE]: Remote USB connection feature via LAN. Launch the 'USBHost.exe' application on the computer where PICE-SE is connected. On another computer, launch the IDE and set up remote IP address and port to connect to the remote computer.

1.00.35

Updated [PICE-SE]: On-line manual.

Added [PDS-SE]: Interface to the additional Simulation Driver. You can create modules for simulation of peripheral devices in C by yourself (see PDS-SE on-line manual).

Fixed [MCA-SE Assembler]: Excessive error "Out of range" for absolute byte values.

Updated: MCC-SE C Compiler and MCA-SE Assembler documentation

1.00.34

Fixed [MCA-SE]: .FUNCALL directive outside function caused internal error.

1.00.33

Fixed: Too long project description string could cause IDE crash

1.00.32

Fixed: Specifying invalid path to include-files could crash the IDE

1.00.31

Fixed [MCA-SE Assembler]: Names declared with '=' and .SET directives can be redefined only with these directives

Added: The "Return to last editing context" main menu command

Added: IRQ6, IRQ7 interrupt bit definitions

1.00.30

Fixed: A few minor issues

1.00.29

Updated: A few minor issues

1.00.28

Updated: A few minor issues Updated: A few minor issues

1.00.27

Updated [PICE-SE]: On-Line manual

1.00.26

Fixed [PICE-SE]: Problems with working under Windows NT

1.00.25

Fixed: Installation problems under Windows NT

Fixed [PICE-SE]: If 'Hardware Stack' window was opened, the zero stack location contents were destroyed

Improved: Scanning of large project dependency information is now faster

Added: Project window now has the 'Abstract' folder. Any files can be added to this folder and edited with internal editor or 'executed'

Changed: The 'User' menu item has been renamed to 'Scripts'

MCC-SE C Compiler:

Fixed:

- Wrong register allocation for accessing function address stored in 'cdata' array of function pointers, e.g. (pf)[n]().

- Wrong startup initialization of the highest byte of 'cdata' function pointer (which is a pointer to parameter section of the function).

Enhancements:

- The compiler generates more efficient code for equality and non-equality operations with multibyte (int, long) integer operands in REG.

Added:

- Notation of diagnostic messages has been changed: the letter is added before diagnostic message number: C - for MCC-SE C compiler, A - for MCA-SE assembler, L - for MCLINK linker, B - for MCLIB librarian and D - for MCDUMP Object-to-Text converter.

- Additional information about 'type' attribute assignment has been included in the description of the .EQU assembler directive.

1.00.24

Fixed [MCC-SE]: Runtime library code of ISR prologue did not set register BANK to Bank 0 before passing control to C-written interrupt handler.

1.00.23

Fixed [MCC-SE]: in C runtime library the current value of BANK register was not restored at the end of the ISR prologue.

Fixed [PDS-SE]: Problems with stepping through program if "Execute startup coe" option is off

1.00.22

Fixed [MCC-SE C Compiler]: Invalid code generation for some cases

1.00.21

Impoved [PICE-SE]: USB communication reliability

Added [PICE-SE]: RSC4128-Q100 rev.D support

1.00.20

Added [PICE-SE]: Support for communication with computer via USB interface

Fixed:

- MCC-SE: .lnkcmd directives for the linker have been added to startup module to prevent unoptimized allocation of two auxiliary C segments in the middle of REG address space. Also the erroneous override of wait state setup is eliminated.

- MCA-SE: type information for external names wasn't written to the object file if -d option was disabled. As a result the linker didn't perform type checking correctly. Now the linker diagnostics don't depend on presence/absence of debugging information in object files.

- MCLINK: if MCLINK encountered unresolved external references, only the first of them was listed in map-file. Now all unresolved references are listed in the map-file.

Added:

- minor improvements in the user documentation.

1.00.19

Updated [PICE-SE]: On-line help

Fixed [MCC-SE]:

- wrong code for operation with a temporary register and a constant, for example:

unsigned int tw();
int i;
/* ... */
if (tw() & 0xFF)  /* wrong code */
i++;
- if size of a 'const' array without explicit 'cdata' memory specifier (which is placed in ROM by default, if no -r option is specified) is greater than 64 bytes, the error "Object is too big" occured.

Added [MCC-SE]:

- Support of IRQ 6 (P0.2 edge) is added in MCC-SE.

- MCC-SE runtime library functions do not change wait states now. (Wait states was temporarily set equal to 7 in the runtime library functions prologue and was restored in the epilogue. This can cause interrupt service routines to run very slowly).

- In non-strict ANSI compatible mode (by default) the string literals can be used as the format string parameter of <stdio.h> functions.

1.00.18

Added: Printable PICE-SE manual in PDF format

1.00.17

Fixed: Occasional loosing of project member files

1.00.16

Fixed [PICE-SE]: Flash memory access

Fixed [MCC-SE C Compiler]:

Wrong code was generated for the following example:

unsigned test(void);
void f(void) {
int i;

if ( (test() & 0xFF) == 0)
i++;
}
Improved: Compiling projects with a large number of source and include-files is now faster

Improved: The Watches, AutoWatches, Memory Layout windows now have vertical grid with sizeable fields. Vertical grid can be turned off via "Configure" -> "Display Options" or, locally, through the window local menu -> "Properties".

Improved: The Watches window is organized as a set of tabs (pages). Each page contains its own number of watches.

Improved: The 'Single Source window' option in "Configure" -> "Debug Options" creates a multi-tab Source window.

Improved: The Messages window now have the 'Output' pane that displays 'raw' compiler and linker console output.

1.00.15

Fixed [MCC-SE]:

- wrong integral promotion for some expressions with explicit casting, for example:

int a,b; b = b + (signed char)a;

- wrong access to data/fdata/ndata array of longs;

- wrong assignment of pointers to cdata/data/fdata if explicit or implicit cast is required.

C library:

- an error in tolower() and toupper() functions.

Added [MCC-SE]:

- Total size of a relocatable segment with allocation 'const' or 'data' as well as sizes of static objects with memory type specifiers Ñfar cdataÒ, ÑdataÒ, ÑfdataÒ, and ÑndataÒ can now exceed 64K.

1.00.14

Fixed: Problems launching PDS-SE simulator

1.00.13

Improved: Algorithm of High-Level Step Over for assembly programs and C function implicit return statements

Improved: Memory Dump and Memory Layout windows now have tabs for each address space

Fixed: Local bookmarks for editor windows are restored on start-up and project load

Fixed: Problems with 'Fill unused memory' option

1.00.12

Fixed [PICE-SE]: Displaying of source lines in the Tracer window when the corresponding Source window is in the 'Mixed with Disassembler' mode

Improved: Syntax highlighting - more elements, more colors

Fixed: Problems with loading older projects

1.00.11

Fixed: Problems with compiling projects under Windows XP

1.00.10

Improved: Project options, Make options and cross-tools options are re-arranged and integrated into one tree-like dialog

Fixed: MCLINK Linker memory allocation options now correspond to the microcontroller selected for the project, not for the one being emulated.

1.00.09

Fixed: IDE hanging when trying to compile a project with MCC-SE C Compiler if the security key is not plugged in

Improved [PICE-SE]: Source text pane position in the Tracer window is made customizeable

1.00.08

Fixed MCLINK linker: Handling of low-priority library modules

Updated: MCC-SE C Compiler standard libraries

1.00.01

Added [PICE-SE]: POD board PR1-SE-052 support. The POD is based on RSC4128-Q100 chip version A.

Fixed: Display of MCC-SE auto variables

Added: Project support for MCC-SE C compiler Known bugs: 1. The contents of auto variables is displayed incorrectly. You may use global variables instead to avoid this problem in the current release.

Added: Peripheral window support for:

SCPU - ALU resources and interrupts Port0 - General Purpose I/O port 1 Port1 - General Purpose I/O port 1 Port2 - General Purpose I/O port 1 Clocks - main clock operations control Timer1 - Timer1 control Timer2 - Timer2 control Timer3 - Timer3 control

Fixed: Bit fcklk_on (ckctl.5) renamed to fclk_on

Added [MCC-SE]: MCC-SE C compiler (alpha version)

MCC-SE Release notes
I. General notes
The final testing procedure (using the test suite consisting of
nearly 2 thousand tests) was applied only to small memory model.

II. Compiler
1. When a static variable initializer is a result of pointer
comparison, it causes the internal error.
Example:

int u,v;
int b = ((int)(&u)>(int)(&v));

2. Preprocessor error - when #if condition is true, #elif body is
also processed.
3. If a function declaration appears inside another function, the
function is defined later in the source text.
4. When an intrinsic function (e.g. _cli_()) is called the compiler
generates the mco_func record that causes  MCLINK internal error.
5. #pragma funcall is not implemented.
6. #pragma startup is processed incorrectly.
7. 'data' pointer indirection in complicated expression may cause
internal error. Example:

data long *pdl;
long *pl;
int main(void){
*pdl = *pl = 5;
return 0;
}
8. Using non-scalar types in conditional operator causes the internal
error. Example:

typedef struct{
int s;
int exp;
int mant;
} str_t;

str_t s1,s2;

void test (int c) {
str_t   x;
x = c < 0 ? s1 : s2;
}

III. Standard library
1. Trigonometric functions from 'math.h' don't work correctly (either
the test is not compiled successfully or the program cannot be linked).
2. Functions from 'stdio.h' were not tested.

IV. Documentation
The printable document  (PDF file) formatting should be revised.
Added [Documentation]: Help on Hardware Configuration dialog

0.90.11

Added [PICE-SE]: Tracer and Breakpoint Processor features.

Fixed: High-level Step Over

Added: Double click action in Source/Editor window is customizeable now.

Improved: Mouse wheel scrolls windows by one line, Shift+wheel scrolls by one page.

0.90.10

Improved [PICE-SE]: Reliability of RS232 connection.

Improved [PICE-SE]: Memory Map Scheme option is added to the Memory Map dialog.

Fixed [PDS-SE]: RL, RR, RLC, RRC, SHL, SHR, SAR commands modified Z,S flags but had to update only C flag. Simulator files (drvmain.dll, RSC4256.dll) fixed and updated.

0.90.08

Fixed [PICE-SE]: Target clock generator support.

Description: When user switched to the target clock generator while it did not operate properly, Master lost dual-ported RAM control. FLEX logic needs Slave clock to be available otherwise Master can't access the dual-ported ram.

Solution: Master monitor (mst) updated. Now SET_RST_SLAVE procedure writes command to Slave without any feedback. So, the absence of the Slave's clock makes no sense to the Hardware Configuration changing and now user can switch the external generator option back to the emulator's internal.