home *** CD-ROM | disk | FTP | other *** search
- READ.ME BLINKER 2.0 Release notes 92.03.16
- ------- ------------------------- --------
-
-
- This READ.ME contains IMPORTANT INFORMATION which is not available in
- the manual. Please read this document before calling us for technical
- support. It describes last minute changes and additions to the BLINKER
- manual and product made since the manual was printed. Where
- differences occur, the information contained herein supersedes the
- Norton Guide, which in turn supersedes the printed manual.
-
- You may find it worthwhile to print and study this file before using
- the product. There is a completely updated Norton Guide file which
- contains the new commands, but we have repeated them below for the
- benefit of those people who do not have a Norton Guide Reader.
-
-
- General
- -------
-
- Subdirectories within the Blinker 2.0 installation directory contain
- header files defining all the available Blinker run time functions for
- each major language. Those functions defined as having optional
- parameters should pass the value -1 as a dummy for those languages
- which do not support optional function parameters.
-
- It should be noted that to use BASIC with Blinker the final program
- must run as a separate EXE file, i.e. all modules must be compiled
- with the /O option.
-
- When linked with Blinker, Clipper's default STACK is increased to
- 5235, equivalent to a BLINKER PROCEDURE DEPTH OF 50.
-
- In many cases it should be possible to use incremental linking with
- Clipper applications which previously required too much additional
- memory, by linking with the CLS87MAX or CL501MAX script files to
- overlay as much as possible, and then enabling the overlay caching.
-
- CodeView is only supported with external overlay files (created using
- the SECTION INTO command).
-
- The startup module for Assembler programs must reside in the root of
- the program.
-
-
- New / changed link script commands
- ----------------------------------
-
- DOSSEG
-
- Purpose : Use Microsoft DOS segment ordering
-
- Syntax : DOSSEG
-
- Default : Disabled
-
- The DOSSEG command is used to specify that Blinker should arrange the
- segments making up the program in conformance with the segment
- ordering scheme used by the Microsoft high level language compilers.
- Most compilers which require this segment ordering include a DOSSEG
- request in each .OBJ created or in the language library, so this
- command is not needed under normal circumstances.
-
- WatCom C requires an explicit DOSSEG command.
-
-
- BLINKER EXECUTABLE SERIAL
-
- The serial number can now be up to 100 characters in length.
-
-
- BLINKER OVERLAY THRESHOLD
-
- This command has not been implemented yet.
-
-
- BLINKER LINK EMS / PAGEFRAME / XMS
-
- These commands have not been implemented yet.
-
-
- MURPHY
-
- The MURPHY command causes all overlays to be run at the same address
- in memory, but does NOT yet fill the rest of the overlay area with INT
- 3 instructions.
-
-
- Swap system amendments
- ----------------------
-
- There are two functions not mentioned in the manual used to control the
- amount of EMS and XMS used by the swap system for program image storage.
- The functions are SWPFREEMS(), and SWPFREXMS() (documented below).
-
- SWPFREEMS
-
- Function : Specify amount of EMS to be left free
-
- Syntax : niValue = SWPFREEMS(niValue)
-
- Return : The previous setting
-
- This function can be used to limit the amount of EMS used by the swap
- system for program image storage, so that the specified amount can be
- left free for the child program.
-
- Example :
-
- SWPUSEEMS(TRUE) // enable use of EMS
- SWPFREEMS(512) // but leave at least 512K free
-
-
- SWPFREXMS
-
- Function : Specify amount of XMS to be left free
-
- Syntax : niValue = SWPFREXMS(niValue)
-
- Return : The previous setting
-
- This function can be used to limit the amount of XMS used by the swap
- system for program image storage, so that the specified amount can be
- left free for the child program.
-
- Example :
-
- SWPUSEXMS(TRUE) // enable use of XMS
- SWPFREXMS(512) // but leave at least 512K free
-
-
- Swap function error codes
-
- The SWPRUNCMD function returns a numeric result code to the calling
- program following the swap. If the error occurs following the
- execution of the child process, and the parent program image cannot
- be restored correctly, an error message will be displayed detailing
- the error and the error number that occurred, and the swap function
- will exit to DOS.
-
- The return codes have the following meanings:
-
- 0 No error
- 1 Disk full
- 2 File Not found
- 3 Disk I/O error
- 4 Change directory error
- 5 Temp file create error
- 6 Change drive error
- 7 EMS error
- 8 XMS error
- 9 SHELL error
- 10 Handle table too large to save
- 11 Top of memory error
- 12 MCB chain corrupt
- 13 Too many MCBs
- 14 DOS memory function call error
- 15 Unable to allocate same segment
- 254 Swap internal error
- 255 Swap internal error
-
- In the event that the return code is 0, indicating success, the minor
- error code may be set to one of the following three values:
-
- 0 No error
- 1 The swap function removed a TSR
- 2 Top of DOS memory increased
-
- In case 1, a TSR (or other memory block) had to be freed on return to
- the parent program. This will succeed in almost all circumstances, but
- is it always recommended that the TSR's owm removal mechanisms be used
- in preference. This return code will allow you to warn your user of
- the situation.
-
- In case 2, a utility such as Quarterdeck's VIDRAM ON may have been
- used during the swap to increase DOS memory. This utility should not
- be used to change memory sizes during the swap.
-
- Taken in turn:
-
- 0 No error
-
- A return value of zero indicates that the swap function successfully
- executed the command interpreter, and restored the program image.
-
- 1 Disk full
-
- The disk on which the swap function was attempting to save the program
- image is full.
-
- 2 File not found
-
- DOS returned a 'file not found' error when the swap function attempted
- to restore the program image from a disk swap file. The swap file may
- have been deleted.
-
- 3 Disk I/O error
-
- DOS returned an unexpected error while the swap function was either
- reading from or writing to the disk file containing the program image.
-
- 4 Change directory error
-
- The swap function encountered an error either when changing to the
- requested directory passed as a parameter to the swap function, or
- when restoring the current directory following the swap.
-
- 5 Temp file create error
-
- DOS returned an error when the swap function attempted to create a
- temporary file to store the program image. Check that the path
- specified for the temporary file is valid.
-
- 6 Change drive error
-
- The swap function encountered an error either when changing to the
- requested drive passed as a parameter to the swap function, or when
- restoring the current drive following the swap.
-
- 7 EMS error
-
- An unexpected error occurred during an EMS operation.
-
- 8 XMS error
-
- An unexpected error occurred during an XMS operation.
-
- 9 SHELL error
-
- The swap function was unable to execute the command processor. Check
- that the COMSPEC environment variable was set correctly.
-
- 10 Handle table too large to save
-
- The swap function can only save an expanded handle table that contains
- 255 (or less) handles.
-
- 11 Top of memory error
-
- The top of DOS memory was at a lower address following the swap than
- it was before the swap. Do not execute programs like Quarterdeck's
- VIDRAM utility while a program is swapped out.
-
- 12 MCB chain corrupt
-
- The swap funtion detected that the DOS memory control block chain was
- corrupted.
-
- 13 Too many MCBs
-
- The swap function can only save programs that own 128 or less DOS
- memory control blocks, which is more than sufficient in most cases.
-
- 14 DOS memory function call error
-
- DOS returned an error on a memory related function call. Please
- contact technical support with full details of the situation causing
- this error.
-
- 15 Unable to allocate same segment
-
- In order to restore the program image correctly, the swap function
- must be able to allocate the same memory blocks that the program
- originally owned. This message indicates that DOS returned a block at
- a different address than the swap function expected. The program
- cannot be correctly restored.
-
- 254 Swap internal error
-
- Please contact technical support with full details of the situation
- causing this error.
-
- 255 Swap internal error
-
- Please contact technical support with full details of the situation
- causing this error.
-
-
- New Link Time Error Messages
- ----------------------------
-
- 1117: use of CODEVIEW information requires external overlays
-
- This release of Blinker supports the use of CodeView information in
- overlaid programs which use EXTERNAL OVERLAYS only. This may be
- supported in a future Blinker release so that programs using internal
- overlays may be debugged using CodeView.
-
-
- New Run Time Error Messages
- ---------------------------
-
- 1217: overlay vector currupted during execution
-
- This message indicates that the overlay manager has detected an
- invalid overlay vector. The most likely cause of this is corruption
- at run time due to an invalid pointer or attempting to overlay a non
- overlayable module. Another possible cause is the use of a debugger
- to place break points in the code after an overlay vector call,
- since this replaces the vector data with a debugger breakpoint.
-
- Use of the MURPHY command for debugging overlays may help to
- identify whether non-overlayable modules are responsible for this
- message.
-
-