RELEASE NOTES Decoder

RELEASE NOTES Decoder V5.0.18

List of New Features
- HCS08, CALL instruction is displayed with a single 24 bit argument instead of two arguments
- Section start offsets are now displayed in hexadecimal and not in decimal anymore when dumping ELF sections
- when dumping srecords, ASCII characters are displayed too making it easy to see text encoded in records (for example string literals)

List of Fixed Bugs
- none

List of Known Bugs
- none

RELEASE NOTES Decoder V5.0.17

List of New Features
- CALL/RTC support for HCS08
- ELF/DWARF2.0 decoding: also show section relative offsets for abrevation tags (and not only compilation unit relative offsets)

List of Fixed Bugs
- none

List of Known Bugs
- none

RELEASE NOTES Decoder V5.0.15

List of New Features
- license checkouts have been removed for features included in special edition license file.
- Initial RS08 support
- the option -proc is now also supported for binary input files (-fb) to disassemble the content.

List of Fixed Bugs
- MTWX20634: when the license file is accessed using the path from the LM_LICENSE_FILE environment variable (i.e. there is no license.dat in the
  tool's directory or its parent, nor is there a hiware.dat license file), and a required feature expires in less than 10 days, a crash occurs.
  This bug is fixed for build numbers greater than 6088.
- When decoding DWARF 2 files, the decoder did scale DW_LNE_set_address with "minimum_instruction_length". Now this is no longer done.
  Note: this change does not affect files built with Metrowerks tools as those tools are using 1 for the minimum_instruction_length field.
  The change also only affects how the dwarf data is dumped, which is disabled by default.
- Opening files from the builtin Windows GUI with double clicking did cause a crash 
  if the File->Configuration->Editor Settings dialog was configured as "CodeWarrior (with COM)" and if an old IDE 4.1 was 
  configured as current CodeWarrior IDE to be used. It did work as expected with if any
  more recent CodeWarrior IDE was registered.

List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.14

List of New Features
- none

List of Fixed Bugs
- For the HC08, the decoder printed the # sign twice for in case of symbolic lookups. E.g. "LDHX ##obj"
- when decoding intel hex files, address only records were dumped with disassembly (with option -proc)

List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.13

List of New Features
- Mapping unknown messages is now treated as warning and no longer as error. This change allows to maintain compatibility with old build tools when removing no longer used messages.
- 1-54681434: New option -LicWait. If set and used with floating license configuration, if no license is available from the license server,
  it will wait until a license is available. This is useful if you want to wait until a license is free, e.g. with batch jobs.
- The about box (and option -Lic) shows now as well borrowing status (same as lmborrow.exe -status)
- New option -LicBorrow:
  -LicBorrow    Borrow license feature (-LicBorrow<feature>:<Date>, <Date> in dd-mmm-yyyy[:hh:mm] format and 
  time in 24-hour hh:mm format)
  It enables selective borrowing of features (supported by the application). Note that borrowing is only supported
  if enabled in the license file by the BORROW keyword.
- In case of an expire/evaluation license, you are now warned 10 days before the license expires.
  The warning dialog box pops up once every day.
- FLEXlm support for BORROWING. Note that BORROWING is only available for floating licenses, and may be sold
  as a separate product or for an additional fee. BORROWING is used so you can work with a floating license
  even if you are disconnected from the licensing server. See FLEXlm user manuals for details on BORROWING.
  Note that this product needs a FLEXlm daemon (metrowks.exe on the licensing server) with following
  version information:
  FLEXlm v8.4a (lmgr.lib), Copyright (c) 1988-2003 by Macrovision Corporation. All rights reserved.
  The latest FLEXlm floating server software can as well be downloaded from the www.metrowerks.com
  web page, or get in touch with support to get the latest version.
- support for HCS12X

List of Fixed Bugs
- Opening files from the builtin Windows GUI with double clicking did cause a crash 
  if the File->Configuration->Editor Settings dialog was configured as "CodeWarrior (with COM)" and if an old IDE 4.1 was 
  configured as current CodeWarrior IDE to be used. It did work as expected with if any
  more recent CodeWarrior IDE was registered.

List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.12
List of New Features
- support for the HCS08.
  For object files and for applications, the decoder detects automatically that the code was generated for a HCS08.
  For SRecord files, use the option "-proc=HC08:HCS08" to explicitly decode the HCS08 instructions.
- The decoder can now decode Modula-2 symbol files as well. There is additionally the 
  new option Fm to let him decode Modula-2 symbol files.
- The decoder can now decode binary files (e.g. produced by Burner) as well. With the 
  new option Fb you can force the decoder to decode the input file as binary and it will 
  produce a hexadecimal dump.
List of Fixed Bugs
- none
List of Known Bugs
- none



RELEASE NOTES Decoder V5.0.11
List of New Features
- This version uses a new FLEXlm daemon (the Metrowerks one). If you already have a 
  license for the former version, you need to upgrade your license. Additionally be 
  aware that in compliance with other Metrowerks tools the license (license.dat) file in 
  the installation root (e.g. c:\metrowerks\license.dat, the installation script has created 
  a shortcut to this file) is used. If such a license.dat exists, this file is used to check out 
  the license. Only if this file does not exist, the one in C:\FLEXlm is used.
- R2856: HEX386 (32bit Intel HEX files were only supported up to 20bit addresses) in 
  the Burner. The burner supports now from V5.0.10 up to 32bit addresses. This is 
  handled in this version of the Decoder as well.
List of Fixed Bugs
- none
List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.10
List of New Features
- Following special macros are supported now in the environment too: {Compiler}, 
  {Project} and {System}.
  Note: Those macros are newly available during environment variable substitution.
  They are not automatically supported in filenames in general.
- R2652: It is possible now to change the color for messages in the tool window. It can 
  be changed for WARNING, INFORMATION, ERROR, FATAL and for user 
  messages as well. Following options are available for this: -WmsgCW, -WmsgCI, -
  WmsgCE, -WmsgCF and -WmsgCU. See manual for details.
- R2692: decoder version and options are in the listing file as well.
- DWARF2: When decoding .debug_frame, the advance PC does now print the 
  previous column instead of the new one.
- when decoding HC05, HC08, HC11, the * does now refer to the current instruction 
  instead of the next one. 
  The new behavior is compatible with the assembler.
- ELF: The sizes of Objects in the SHN_COMMON section are now reported to 
  CodeWarrior as DATA too. 
  Note: Two object files may report the size of the same object, so that the sum of all 
  sizes of the object files may still not exactly reflect the sizes in the linked application.
List of Fixed Bugs
- R2685: source information for decoded ELF DWARF2.0 object files for the M68k 
  was not displayed correctly.
  List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.9
List of New Features
- New option -ShowAboutDialog to show the about dialog
- All tools have now a dialog to edit the environment (File->Configuration). E.g. to 
  modify the GENPATH.  Note that this affects the project file only (and does NOT 
  support the default.env)
- The binary has now splitted into an *.exe and a *.dll part. This allows it to use as 
  CodeWarrior plug-in.
- The license file is searched in following order: 
- license.dat in the directory where the executable is (this was already the case) 
- hiware.lic in the directory where the executable is (this was already the case) 
- license.dat in one directory up from the where the executable is (this is new. E.g. if  
  the executable is in c:\metrowerks\prog, the license file in c:\metrowerks is searched 
  too) 
- the license file using the normal FLEXlm way (usually c:\flexlm, this was already 
  the case)
- The decoder is now able to decode S-Records as well
List of Fixed Bugs
- none
List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.8
List of New Features
- The new M-CORE instructions for the 3XX derivatives, IDLY4, PSRSET, 
  PSRCLR, MULSH, are decoded too.
- Support for PowerPC disassembly
- Option a shows now more output for HIWARE Object File Format files
List of Fixed Bugs
- none
List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.7
List of New Features
- V5.0.7 now relies on the ST19X specification Rev 1.6. The opcodes 31CC, 31DD, 
  31DD 31DC 32DD 32DC are no longer supported.
List of Fixed Bugs
- none
List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.6
List of New Features
- ELF: the new official processor ids for the Freescale HC05, HC08, HC11 and 
  STMicroelectronics ST7 are recognized.
- Color for output is now used: e.g. error messages are written in red
- New startup option NoEnv which disables the usage of the environment 
  (default.env, tips file and project.ini)
- Support for STMicroelectronics St19
List of Fixed Bugs
- R2245: The decoder output file will now use "BANKDED" instead "MEDIUM1" if 
  the file was build with banked memory model.
- HC08: The decoder did decoder the instruction "7E30 MOV X+,0x30" as "7E30 
  MOV X+". The destination address was not printed for some cases of the move and 
  compare instruction.
- HC16: For BRSET/BRCLR/BSET/BCLR/... the mask is decoded as 0x80 and no 
  longer as *+128.
- HC16: For BRSET, the absolute branch offset is calculated with the sign extend 
  branch offset. 
  E.g. "1000: BRSET 2000, #0x80, *-1;abs $0fff" 
  Previous version did write ";abs $10fff".
- HC16: All branch offsets are written signed. Instead of "*+0xffffffff", "*-1".
- HC16: The "*" in a branch instructions refers to the start of this instruction. 
  old: 1000: BRA *+0 ;abs $1006 
  is now written as  
  1000: BRA *+6 ;abs 1006 
  To all branch offsets 6 is added now.(for Rel8/Rel16).
List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.5
List of New Features
- Decoder can now disassemble PowerPC instructions
- R2103: New option  -WmsgNu to suppress user messages (e.g. included files). See 
  manual/help file for details.
List of Fixed Bugs
- The listing files are now written into the directory specified with TEXTPATH again 
  and no longer into the directory of the file to be decoded.
  List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.4
List of New Features
- none
List of Fixed Bugs
- none
List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.3
List of New Features
- ELF/DWARF 2.0 : sections .debug_arranges and .debug_pubnames are now also 
  symbolically decoded.
- The Decoder has now a new icon, so it is much easier now to identify the decoder if 
  the window is minimized in the task bar.
- The decoder uses now also the environment variable ERRORFILE. So if you compile 
  and afterwards decode the object file (e.g. using a make file), a previously generated 
  error file generated by the compiler will be overwritten.
- The decoder can now also decode HC08 ELF/DWARF files
- Now you can also double click onto the source file name written in the output 
  window to open this source file with your editor, e.g. you can double-click e.g. on 
  - Writing to file 'C:\test\b.lst' 
  - Opening source file 'C:\test\b.c' 
  - Successfully generated file 'C:\test\b.lst'
- for M68k CPU and the BSR.L instruction, the symbolic name of the branch target is 
  decoded if available.
List of Fixed Bugs
- ELF/DWARF 2.0 : the decoded DWARF info was not correct for some cases of 
  libraries.
- ELF/DWARF 2.0 files generated with old compilers or with new ones using the 
  compatibility option -f2o did show too few source positions in the previous decoder 
  version in mixed assembly/source view. 
List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.2
List of New Features
- New option -NoBeep to disable the beep in case of an error.
- The global and local editor can now be configured also in this tool and not only with 
  the shell. 
Note :  
- The global editor is stored globally in the mcutools.ini. The same editor 
  configuration is used by all tools (decoder, compiler, assembler,....). 
  Changes to the global mcutools.ini are stored when the application is closed and not 
  when the save command is chosen from the menu. 
-The local editor is shared among all tools using the same project file (usually 
  project.ini). 
- which editor type is used is stored in the project file. The default is the global editor.
- All error messages are now written to stdout. With WinEdit the 'Capture Output' 
  feature in the Project->Configure dialog can be used to get the error feedback. In other 
  applications as Microsoft Visual C++ Developer Studio (MSDEV) or the cmd.exe 
  command shell, it is necessary to use the new launcher application 'piper.exe' to get 
  direct error feedback. The decoder is a Win32 Window application and this type of 
  application is not expected to have reasonable output. So the command shell 
  'cmd.exe' or MSDEV do not use the stdout file. 
  The 'piper.exe' tool is actually a Win32 command line application and therefore 
  MSDEV or 'cmd.exe' use the stdout. 
  The first argument of 'piper.exe' is used as application to be called with the 
  remaining options. The output of the started application is then written to standard 
  output. 
  The maker itself does not need the launcher application "piper.exe" to display the 
  output directly. Instead the launcher functionality is directly build-in. 
  To print the list of option in a command window use :
  piper.exe decoder.exe -h
List of Fixed Bugs
- none
List of Known Bugs
- none


RELEASE NOTES Decoder V5.0.1
The new Decoder includes all the functionality of the 
previous HIWARE and ELF decoders.
List of New Features
- Support of filenames longer that 8 characters. Filenames with spaces must be 
surrounded by double quotes.
- New help file with description of all options.
- New User interface, supporting drag and drop, history,...... .
- New option -Lic to display license information (note: this information is also 
displayed in the about box)
- New option -Lica to display license information of all modules in the executable 
directory.
- New Decoder that involves the functionality of the ELF Decoder V.2.7.08 and the 

HIWARE Decoder V.2.7.24. The new decoder can decode 
  - ELF/DWARF objects and absolute files
  - HIWARE objects and absolute files
  - Libraries  with HIWARE or ELF/DWARF objects or libraries as contents. 
  (mixing of any kind allowed)
- The format of the input file is automatically detected by the decoder. The options 
  possible for each format remain the same except the option string for producing a 
  pure inline assembly file '-I'  that is no replaced by the option string '-L'.
- New option -F(h|e|a): The Decoder is now able to decode ELF/DWARF or HIWARE 
  object files. The default of the -F option (-Fa) is to detect automatically the object 
  file format. Using -Fh the Decoder is forced to decode HIWARE object files, using 
  -Fe the Decoder is forced to decode only ELF/DWARF object files.
- ELF: New HC12 ELF identification 53 instead of  0x4D12 before. The new 
  decoder supports both of them.
- ELF: Better formatting for some DWARF debug output.
- HIWARE: Decoding of high byte access for the HC08 as for the HC05.
List of Fixed Bugs
- some HC12 branch offsets were not displayed correctly. The relative offset the * 
  was in some cases relative to the next instruction and not to the current one. 
  The absolute branch destination after abs was already correct in earlier versions.
List of Known Bugs
- none


RELEASE NOTES ELF Decoder V2.7.08
List of New Features
- Update of disassembling for M-CORE.
- New HC12 ELF identification recognized
- Option -T (show cycles for each instruction) implemented for the targets HC05, 
  HC08, ST7, HC12.  The cycle count is displayed in '[' ']' braces before the 
  mnemonics string of the decoded instruction. 
  - Example (HC12, fibo.o):
  DISASSEMBLY OF: '.text' FROM 531 TO 664 SIZE 133 (0X85)
  Source file: 'X:\CHC12E\DEMO\ELF12C\fibo.c'
     19: unsigned int Fibonacci(unsigned int n)
  Fibonacci:
  00000000 1B98         [2]    LEAS  -8,SP
  00000002 3B           [2]    PSHD  
     24:   fib1 = x[0] + f + g;
  00000003 FC0000       [3]    LDD   x
  00000006 F30000       [3]    ADDD  f
  00000009 F30000       [3]    ADDD  g
  0000000C 6C88         [2]    STD   8,SP
     25:   fib2 = x[1];
  0000000E FC0002       [3]    LDD   x
  00000011 6C84         [2]    STD   4,SP
     26:   fibo = 0;
  00000013 C7           [1]    CLRB  
  00000014 87           [1]    CLRA  
  00000015 6C86         [2]    STD   6,SP
     27:   i = 2;  
  00000017 C602         [1]    LDAB  #2
  00000019 6C82         [2]    STD   2,SP
List of Fixed Bugs
- HC12 Disass: Bug in relative 9 bit offset decoding fixed.
List of Known Bugs
- Obj is not displayed for register indirect accesses with 9 bits. Note the compiler 
  could also set a 9 bit fixup to the object before. The compiler does currently not jet 
  generate fixups to register indirect accesses with 5 bit, but the assembler does.
- The movb instruction is not always decoded correctly. In the byte stream the IDX 
  encoding byte is always before the EXT encoded, but the decoder does always read 
  operand1 before operand2.
- ELF Decoder fails out of sync with decoded abs files with smart linking in the 
  .debug_loc section.
- ELF Decoder fails rarely out of sync in dwarf call frame information (CFA). This 
  debug info is only decoded with option -e.  All the other information is decoded 
  correctly even if CFA fails. 


RELEASE NOTES ELF Decoder V2.7.07
List of New Features
- Option -X does suppress the printing of source within the disassembly listing of the 
  decoded file.
  List of Fixed Bugs
- none
List of Known Bugs
- ELF Decoder fails out of sync with decoded abs files with smart linking in the 
  .debug_loc section.
- ELF Decoder fails rarely out of sync in dwarf call frame information (CFA).  This 
  debug info is only decoded with option -e.  All the other information is decoded 
  correctly even if CFA fails. 


RELEASE NOTES ELF Decoder V2.7.06
List of New Features
- Symbol type ELF_LABEL (= 0xD) is recognized.
- For HC05: Options -D and -E were mixed up in meaning. Now this is correct: 
	 -E: Generate ELF Section. 
	 -D: Generate DWARF section.
- Support ELF file extension for assembly labels.
List of Fixed Bugs
- none
List of Known Bugs
- ELF Decoder fails out of sync with decoded abs files with smart linking in the 
  .debug_loc section.
- ELF Decoder fails rarely out of sync in dwarf call frame information (CFA).  This 
  debug info is only decoded with option -e.  All the other information is decoded 
  correctly even if CFA fails. 


RELEASE NOTES ELF Decoder V2.7.05
List of New Features
- New MCUTOOLS.INI: All tools store now their global information instead in the 
  HICROSS.INI file in the windows directory in a file called MCUTOOLS.INI. 
  Below a short extract from the manual:
  MCUTOOLS.INI File (PC only)
  All tools may store some global data into the MCUTOOLS.INI. The tool first 
  search for this file in the directory of the tool itself (path of the executable). If 
  there is no MCUTOOLS.INI file in this directory, the tool looks for a 
  MCUTOOLS.INI file located in the MS Windows installation directory (e.g. 
  C:\WINDOS).
  Example:
  C:\WINDOWS\MCUTOOLS.INI
  D:\INSTALL\PROG\MCUTOOLS.INI
  If a tool is started in the D:\INSTALL\PROG\DIRECTOY, the project file in the 
  same directory than the tool is used (D:\INSTALL\PROG\MCUTOOLS.INI).
  But if the tool is started outside the D:\INSTALL\PROG directory, the project file 
  in the Windows directory is used (C:\WINDOWS\MCUTOOLS.INI).
  The HICROSS.INI file is not used any more. It can be renamed to MCUTOOLS.INI, 
  because the format remains the same.
- Improved information of -v, -h options


RELEASE NOTES HIWARE Decoder V2.7.24
List of New Features
- Option "-O<listFile>" to specify output file (list file name)
- Update of disassembling for M-CORE.
List of Fixed Bugs
- none
List of Known Bugs
- The movb instruction is not always decoded correctly. In the byte stream the IDX 
  encoding byte is always before the EXT encoded, but the decoder does always read 
  operand1 before operand2. 


RELEASE NOTES HIWARE Decoder V2.7.23
List of New Features
- Option "-T" (show cycles) implemented for the ST7,HC05 and the HC08. (Only for 
  HC12 before)
List of Fixed Bugs
- Decoding of Fixup Type 'h' (high byte access) as for HC05.
- HC12 Disass: Bug in rel9 offset decoding fixed.
- Option "-T" (show cycles) is only implemented for the HC12 and for the ST7. Do 
  Say this on option "-h"
List of Known Bugs
- The movb instruction is not always decoded correctly. In the byte stream the IDX 
  encoding byte is always before the EXT encoded, but the decoder does always read 
  operand1 before operand2. 


RELEASE NOTES HIWARE Decoder V2.7.22
List of New Features
- HC11:
	The decoding of the access to local operands in the immediate addressing mode was 
	wrong.
	Example (access to first argument with name 'value' of a function): 
  	    00000002 E600       LDAB  value,X    /* LDAB 0,X */	
	instead of
	    00000002 E600       LDAB  value	      /* LDAB 0,X */		
	before.
List of Fixed Bugs
- none
List of Known Bugs
- none


RELEASE NOTES HIWARE Decoder V2.7.21
List of New Features
- HC11:
	The access to local operands is printed in comment in non symbolic way.
	Example (access to first argument with name 'value' of a function): 
  	    00000002 E600       LDAB  value    /* LDAB 0,X */	
	instead of
	    00000002 E600       LDAB  value
	before.
List of Fixed Bugs
- HC11: 
	The  LDAB <imm>  instruction was decoded in a wrong operand format.   
	Example:  C6FF was decoded as LDAB 0xFF instead of  LDAB #0xFF
List of Known Bugs
-  none


 RELEASE NOTES HIWARE Decoder V2.7.19
List of New Features
- New MCUTOOLS.INI: All tools store now their global information instead in the 
  HICROSS.INI file in the windows directory in a file called MCUTOOLS.INI. 
  Below a short extract from the manual:
  MCUTOOLS.INI File (PC only)
  All tools may store some global data into the MCUTOOLS.INI. The tool first 
  search for this file in the directory of the tool itself (path of the executable). If 
  there is no MCUTOOLS.INI file in this directory, the tool looks for a 
  MCUTOOLS.INI file located in the MS Windows installation directory (e.g. 
  C:\WINDOS).
  Example:
  C:\WINDOWS\MCUTOOLS.INI
  D:\INSTALL\PROG\MCUTOOLS.INI
  If a tool is started in the D:\INSTALL\PROG\DIRECTOY, the project file in the 
  same directory than the tool is used (D:\INSTALL\PROG\MCUTOOLS.INI).
  But if the tool is started outside the D:\INSTALL\PROG directory, the project file 
  in the Windows directory is used (C:\WINDOWS\MCUTOOLS.INI).
  The HICROSS.INI file is not used any more. It can be renamed to MCUTOOLS.INI, 
  because the format remains the same.
List of Fixed Bugs
- Option -v crashed in the latest versions. Now this is fixed.
List of Known Bugs
-  none


RELEASE NOTES HIWARE Decoder V2.7.18
List of New Features
- none
List of Fixed Bugs
- Symbol names in the listing are displayed correctly. This was an error appeared 
  only in the newer versions of the HIWARE Decoder. Now this bug is fixed.
List of Known Bugs
-  none
