** DDS Micro-C revision history **
1.0 12/88 Initial release of Micro-C compiler. Initial release of 6809 code generator & runtime library Initial release of 8080 code generator & runtime library 1.1 04/89 Initial release of 8086 code generator & runtime library Improved handling of '#define' and substitution Added full support for COMMA operator Improved pointers and arrays, allows pointer indexing Better error checking on all forms of indirection Better handling of global, static and external symbols Zero uninitialized "static" variables (or array elements) 1.2 07/89 Initial release of Extended Preprocessor Initial release of Peephole Optimizer Conversion to "standard" octal and hex constant formats "io" module modified to function as "filter" in a pipe 1.21 08/89 Support for multi-level pointers. eg: char ***a; 1.22 09/89 Misc code generator improvements Modified IO.C to output negative numbers for MASM 5.0 1.3 11/89 Supports both TINY and SMALL memory models (for 8086) Added support for argv[0] (program name) (DOS >= 3.0) Uninitialized data is no longer saved to disk 1.31 01/90 Added many more library & MS-DOS functions Modified library to use "link library" files, so that unused functions are not included in the output image Added unreferenced local variable detection Changed "static" modifier to inhibit "public" access 1.32 02/90 Fix "null character in string" ('\0') bug in compiler Fix for mixed int/char with '&&' and '||' Added handling for string array initialization Fix bugs in MCO scanner which cause incorrect matches More optimizations added to MCO Initial release of 68HC11 code generator & runtime library 1.33 03/90 Misc fixes to library functions Improved GENASM/INTERCG file format Improved 8086 runtime library More library functions Fix bad post-INC/DEC optimizations in MCO 1.4 03/90 Initial release of "Introduction to 'C'" document Initial release of Micro-Installer Fix incorrect register stacking when handling complicated expressions involving partial results in both the accumulator and the index register, Such as: y = *a * *b + *c * *d + *e * *f; More library functions More example programs 1.41 04/90 Changed operator grouping to be consistent with standard 'C' Fix handling of "continue" in "do" loops Fix incorrect < > <= >= when left value is a constant Fix *rl.asm sources (Accidently "bugged" in release 1.4) More library functions 1.42 05/90 Added "typecast" handling to compiler Added support for command line defines to MCP Fix MCP to resolve macros in parameters to macros Added "control" keys to CONSOLE interface library Enhanced "TSR" function for full POP-UP support 1.5 06/90 Initial release of "CC" utility Initial release of "make" utility Initial release of "touch" utility Fix bug in MCP command line defines Changed MCP to return error count in "error_level" More example programs More library functions 1.51 07/90 Initial release of "EXE2BIN" utility Fix handling of "continue" in "switch" statements Misc fixes to library functions Documentation updates 2.0 08/90 Re-package MICRO-C distribution to be on two diskettes Update presentation ("look & feel") of all commands Initial release of source linker/indexer (SLINK/SINDEX) Initial release of IBM/PC windowing library Misc fixes to compiler & all code generators Misc fixes to library functions Fix handling of PATH in 'CC.COM' Fix handling of blanks in MCP macros 2.01 10/90 Initial release of source converter SCONVERT Minor revisions to compiler and utilities Additional optimizations added to MCO tables More example programs (ASM86 and BASIC) 2.02 11/90 Remove redundant 'GLOBAL' bit from type definitions 2.1 12/90 Modified library to support fully buffered I/O Add "sizeof" operator to compiler 2.11 01/91 Fix handling of embedded () and , in MCP macro args Enhanced SLINK to support multiple output segments Initial release of 8051 code generator & runtime library 2.12 06/91 Fix to retain type of "cast"ed constants Fix handling of "jammed" nested comments ("/*/**/*/") Clean up handling of #asm/#endasm in compiler Added multi-line defines to MCP Fix to prevent processing comments in MCP (with -c option) Three additional memory models for the 8051 Misc fix's to 8080 and 8051 implementations 2.13 10/91 Misc fix's to libraries Added numeric fields to wgets() and wform() 2.14 12/91 Initial release of source librarian SLIB Update SLINK, SINDEX, SCONVERT and MAKE to support '?' Modify SINDEX to scan entire symbol for 'C' validity Change MCP to allow more macro definitions Fix handling of char[] arguments in 6809 and 6811 cg's 2.2 01/92 Removed #asm/#endasm, added more powerful 'asm' statement Improve option parsing for Command Coordinator (CC) Fix accessing of temporary stack values in 6811cg Enhance 6811cg to support internal/external allocation Separate code generators for PC and stand-alone 8086 Enhance MCO to support substitution of logically negated jumps etc. Improve all MCO optimization tables Initial release of 8096 code generator and library 2.3 04/92 Added '-l' option to pass line #'s between MCP and MCC Added '-c' option to include C code as comments in ASM output Added '-m' to CCxx to allow MACRO before ASM Fix to allow reserved words followed by numbers as names Updates and improvements to library Initial release of 68HC16 code generator and library 2.4 12/92 Added '-f' option to "fold" identical string constants Updated compiler and all code generators to properly handle "static" locals and globals in ALL cpu implementations Updated SLINK & utils to recognize '$DD' convertible symbols More updates and improvements to all libraries Increase size of compiler symbol table Fixes to CCxx commands to accept longer PATH's 2.41 04/93 Initial release of SRENUM.COM Initial release of 68HC08 code generator & library Update CC commands to accept full pathname Updated MCP to support multi-line strings Fix MCP so multi-line #defines don't upset line numbers Fix indirect-call bug in 8051 code generator Fix bad double access stack optimization in 6809.MCO 3.0 06/93 Significant rewriting of declaration handlers, and parser Added "struct" and "union" types Update MCC and MCP to include filename in error messages Increase size of compiler symbol table Increase size of SLINK and SLIB symbol tables Modify startup code to zero uninitialized variables 3.01 08/93 Implement separate structure/member name space Add support for '&' (address of) static initializations Fix small-model startup code in PC/demo version Fix "reference" bit clearing on external declarations Fix indirect calls with parameters to access stack correctly Modified PC comm functions to support com3-4 3.02 01/94 Modify CC commands to support MCP command line defines Change return codes to prevent double execution by CC Enhance SLINK to support multiple input files Add "longnum" functions to libraries 3.1 04/94 Add support for "modern" style function definitions Add '-L' option to CCxx commands to generate .LST file Add constant conditional recognition & improve output code Initial release of MAPGEN utility + Add support in libraries Additions and enhancements to PC library 3.11 07/94 Add '-z' option to CC51 to force '-a' (2K) option to ASM51 Add '$RL,$RS,$FS' commands, '-c' and 'c=' options to SLINK Modify SLINK to output MCP comments in seg0 (for MAPGEN) Enhance string init. to determine type based on byte/word 3.12 09/94 Initial release of DDSIDE Integrated Development Environment Fix blank-line in asm{} causing ':' in column one 3.13 02/95 Add support for "void" type Add support for C++ style '//' comments Fix MCP to allow symbol redefinition (no self reference) Fix bad optimization in PC86 MCO Change internal type promotions to be more standard Additional error checking on pointer operations Added 'F=' option to SLINK Extensive rework to standardize PC library 3.14 10/95 Switch from .COM to .EXE: Much larger tables Add #if and #error directives to MCP Add S= option to CCxx and SLINK to select startup file Modify CC/DDSIDE to use TEMP if MCTMP undefined Additions/Updates PC libraries & header files Fix to allow sizeof() in array declaration Fix to detect redeclarations differing in dimension Fix to prevent index being promoted with type of array Fix PYSH generated by PC86 MCO (Should be PUSH) a05/96 Initial release of C-FLEA code generator & library b11/96 Initial release of 68HC12 code generator & library 3.15 05/98 Modify handling of static symbols to retain symbol name Improve handling of array declarations and null dimensions Add -s options to CC, MCC and SLINK to output symbolic information in the form of special assembly comments Modify SLINK to always pass special comments Updated MAPGEN to handle symbolic information Initial release of LRG and SPRITED for MICRO-C/PC 3.16 11/98 Add support for "const" type Modify SLINK to allow path override on library files Initial release of AVR code generator & library 3.2 08/99 Constants >32767 are given "unsigned" type Fixed compile-time compares (num<>num) to be signed Fixed bad offset for struct members declared in func args Fixed bad load when cast indirect to different storage class Added "#elif", "#message", -d option and string concat to MCP Added __DATE__/__FILE__/__LINE__/__TIME__ to MCP. Added automatic _CPU_ and _MDL_ defines. Added ASSERT.H, DEBUG.H, LIMITS.H, STDARG.H, STDDEF.H Enhance CTYPE.H and SETJMP.H to apply to all CPUs. Fixed MCP #if nesting problems Added "PREFIX feature", IF and ESET to MACRO 3.21 12/99 Implemented delayed DEC/INC for post++/-- optimization. Fixed minor bugs in delayed ! processing Updated SLINK to enhance S= option, added @file, remove F= Provide access to environment variables from within MAKE Improved AVR optimizations 3.22 05/01 Update 8051 compiler to support constant data in code memory Including string in code memory ... updated library Add $RF: and $RN: directives to SLINK Misc optimizations Fixes to 68HC08 code generator Update embedded examples with DEMOLIB.H 3.23 01/03 Change 'ASM' to value element & allow operands Fix parser failing to detect some global declarations. Initial release of HRG for Micro-C/PC
Back to "How I got here".
Back tp "About Dave".
Back to DDS main page.