TopSpeed Extended Environment Release Notes version 3.10 ======================== ========================== This document contains information on the following: 1. KNOWN PROBLEMS IN TOPSPEED RELEASE 3.10 2. DIFFERENCES FROM TOPSPEED VERSION 2.00 3. DIFFERENCES FROM TOPSPEED VERSION 3.00 4. ERRATA AND ADDENDA 5. ADDITIONAL INSTALLATION INFORMATION 컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 1. KNOWN PROBLEMS IN TOPSPEED RELEASE 3.10 =========================================== � Run time errors in dynalink model will not have line number information in the report. � A program containing floating point, compiled with the emulator option and being debugged on a machine with a co-processor may exhibit erratic behaviour. 2. DIFFERENCES FROM TOPSPEED VERSION 2.00 ========================================== The TopSpeed Environment for Release 3.10 is different in appearance, but essentially the same in operation, to that supplied with Release 2 of TopSpeed Modula-2 and TopSpeed C, with the following exceptions. � A number of new facilities have been introduced, such as the Locate File utility, and a command history in every data- entry field using the Tab key. � The project system has been introduced in place of the previous make system. This is discussed further below. � The TopSpeed system now supports four TopSpeed languages (Pascal, Modula-2, C and C++) rather than two. � The TopSpeed system now supports more memory models, including an automatic code and data overlaying model. 3. DIFFERENCES FROM TOPSPEED VERSION 3.00 ========================================== � SmartMethod Linking. Starting with release 3.01 the TopSpeed linker is able to smart-link out virtual procedures that cannot be called during the execution of a program. An option to control SmartMethod linking is on the Project Options menu. Note that SmartMethod linking will not work if SmartLinking is specified as off. The consistency of these options is not yet checked. � Commoning up of identical constants. The TopSpeed linker is now capable of assigning identical constants and procedure bodies to the same location in memory. This can result in size savings on large projects but can also alter the semantics of pointer comparisons on constant objects. See the help text for further information. This option defaults to off. 4. ERRATA AND ADDENDA ====================== The Developer's Guide p 19: The second example for the #implib command should read as follows: #implib The Developer's Guide p 32 lines 33 and 34: These lines should read as follows: #set opath = c:\ts\include\io.def #set cpath = d:\test\io.def The Developer's Guide p56: The description of the following call pragma is missing from the manual: alloca=>on This pragma is only used for internal library routines. The purpose of this pragma is to modify the stack frame of the calling function. When using the alloca function you must include the header file alloc.h. This pragma cannot be used in a project file. The Developer's Guide p72: The name pragma prefix => string cannot be used in project files. The Developer's Guide p91: The following link_option pragmas are missing from the manual: pragma link_option(smart_method => on | off) This pragma controls whether the linker will eliminate unused virtual methods from the executable file. This process, known as Smart Method linking, typically results in a significant reduction in the executable file size. Smart Method linking can only operate when the optimize(smart_link) pragma is also specified. This option defaults to on, except when a dynamic link library is being produced. The Project Project options SmartMethod linking menu command may be used to specify this option. pragma link_option(share_const => on | off) This pragma controls whether the linker allocates the same memory for identical constant values, or whether constants are allocated distinct addresses even when they are identical. Sharing identical constants reduces the size of executable files, but may cause semantic changes in the operation of a program if it compares the values of pointers to these constants, for example. Identical virtual method tables are always shared, regardless of the setting of this pragma. This pragma defaults to off. The Project Project options (H) Share identical constants menu command may be used to specify this option. 5. ADDITIONAL INSTALLATION INFORMATION ======================================= In order to use the Extended environment, your PATH must specify the directories C:\TS\XTD_SYS;C:\TS\SYS;C:\TS\OS2_SYS in that order (assuming that your system is installed in the directory C:\TS). The XTD_SYS directory contains files which are specific to the Extended environment, the SYS directory contains executable files which are common to the Extended and DOS environments, and OS2_SYS contains executable files that are shared between the Extended and OS/2 environments. If you have both the DOS and Extended environments installed, you can use the DOS environment in preference to the Extended environment by removing the XTD_SYS and OS2_SYS directories from your path. The TopSpeed DOS Environment is compatible with the VCPI, DPMI and XMS standard protocols for managing extended memory requirements, and is therefore compatible with the following extended memory managers: QEMM EMM386 where it supports VCPI (e.g., MSDOS 4.0+, DRDOS 6.0+) 386MAX HIMEM.SYS Windows 3.x OS/2 2.0 Any other driver fully supporting one of the above protocols In the absence of any of the above drivers, the TopSpeed DOS Extender will manage extended memory for itself. The TopSpeed Extended Environment is designed to work with all PC-compatible computers with a 286, 386 or 486 processor. However, in the unlikely event of incorrect operation, it is possible that changing or upgrading any extended memory managers in use will allow the Environment to operate correctly. In particular, non-standard hardware in which the line A20 address wraparound feature does not behave in the usual manner may not work correctly unless a suitable HIMEM.SYS driver is installed. A diagnostic program XSTATS.EXE is supplied with the TopSpeed Extended Environment, which will determine the current extended memory configuration, and ensure that the TopSpeed DOS Extender can operate correctly on the system where it is run. To run the program, type XSTATS to give a summary of the configuration, or XSTATS TEST to test all available memory.