Originally I implemented the application using Symantec C++ 8.5 under MacOS 8. With the implementation of the additional routines, I adapted the source code to CodeWarrior 6.0 under MacOS 9. Here are the information needed to compile the code in this IDE. The adapted code is available in the according directories below. Project settings: --------------------- In Symantec C++ you can set compiler defines in the project settings. I did't find such an option in CW, but a Prefix File option MacHeaders.h set in the project Language Preferences. We use therefore a copy of this file (found in the MacOS Support:MacHeaders directory) put in the same directory as the source files. By closing & reopening the project, CodeWarrior will use this copy. The modified files are provided with the other source files. In this prefix file following modifications have been setup: - first the names of numerous Toolbox routines have changed: The conversion is done by defines. - second the definition of the compiler switches. Then several default options must be changed: --------------------------------------------------------- In the C/C++ Language preferences: deselect the option Require Function Prototype. For the RPN project remove ANSI Library MSL C.PPC.Lib (but not in the C++ project!). As for the applications generated with Symantec C++, there is still a problem with the conversion of a floating point value to string using FormatX2Str: For the RPN project: - In the console (code in UX_StdLib.c), the string always gives the double of the actual value, - in the top of the main window (code in Display.c) it works. For the Objects project; - In the console (code in UX_StdLib.cp), the string always gives the double of the actual value, - in the top of the main window (code in Display.c) the first conversion is right, the following do not work. Still now I have not found out what's wrong. Just do not define USE_FORMATX2STR when compiling the code, and it should work. The precompiled applications use this routine. Just rename the appripriate file to Text2.txt (depending on the decimal separator set in the Number Format control panel) to use them. Other information: ---------------------- First I finalized the printf routine (case %f). By the way I added several test cases. For the applications, I have used the optimizer options(Global optimizer and optimisation Level 4). In the case of Symantec C++ I had the problem that it throw away the code line checking for NAN or INF values before performing the conversion (Note thqt this check is not performed in the code in Display.c so yet get an alert message). The problem is solved by switching off the optimizing option before the routine and switching it on after by used of pragma compiler directives. For the CodeWarrior case, the C++ application is working correctly.