home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a016 / 1.ddi / READ.ME < prev    next >
Encoding:
Text File  |  1992-03-15  |  9.9 KB  |  306 lines

  1. READ.ME                  BLINKER 2.0 Release notes                  92.03.16
  2. -------                  -------------------------                  --------
  3.  
  4.  
  5.   This READ.ME contains IMPORTANT INFORMATION which is not available in
  6.   the manual. Please read this document before calling us for technical
  7.   support. It describes last minute changes and additions to the BLINKER
  8.   manual and product made since the manual was printed. Where
  9.   differences occur, the information contained herein supersedes the
  10.   Norton Guide, which in turn supersedes the printed manual.
  11.  
  12.   You may find it worthwhile to print and study this file before using
  13.   the product. There is a completely updated Norton Guide file which
  14.   contains the new commands, but we have repeated them below for the
  15.   benefit of those people who do not have a Norton Guide Reader.
  16.   
  17.  
  18. General
  19. -------
  20.  
  21.   Subdirectories within the Blinker 2.0 installation directory contain
  22.   header files defining all the available Blinker run time functions for
  23.   each major language. Those functions defined as having optional
  24.   parameters should pass the value -1 as a dummy for those languages
  25.   which do not support optional function parameters.
  26.  
  27.   It should be noted that to use BASIC with Blinker the final program
  28.   must run as a separate EXE file, i.e. all modules must be compiled
  29.   with the /O option.
  30.  
  31.   When linked with Blinker, Clipper's default STACK is increased to
  32.   5235, equivalent to a BLINKER PROCEDURE DEPTH OF 50.
  33.  
  34.   In many cases it should be possible to use incremental linking with
  35.   Clipper applications which previously required too much additional
  36.   memory, by linking with the CLS87MAX or CL501MAX script files to
  37.   overlay as much as possible, and then enabling the overlay caching.
  38.  
  39.   CodeView is only supported with external overlay files (created using
  40.   the SECTION INTO command).
  41.  
  42.   The startup module for Assembler programs must reside in the root of
  43.   the program.
  44.  
  45.  
  46. New / changed link script commands
  47. ----------------------------------
  48.  
  49. DOSSEG
  50.  
  51.   Purpose : Use Microsoft DOS segment ordering
  52.   
  53.   Syntax  : DOSSEG
  54.  
  55.   Default : Disabled
  56.  
  57.   The DOSSEG command is used to specify that Blinker should arrange the
  58.   segments making up the program in conformance with the segment
  59.   ordering scheme used by the Microsoft high level language compilers.
  60.   Most compilers which require this segment ordering include a DOSSEG
  61.   request in each .OBJ created or in the language library, so this
  62.   command is not needed under normal circumstances.
  63.  
  64.   WatCom C requires an explicit DOSSEG command.
  65.  
  66.  
  67. BLINKER EXECUTABLE SERIAL
  68.  
  69.   The serial number can now be up to 100 characters in length.
  70.  
  71.  
  72. BLINKER OVERLAY THRESHOLD
  73.  
  74.   This command has not been implemented yet.
  75.  
  76.  
  77. BLINKER LINK EMS / PAGEFRAME / XMS
  78.  
  79.   These commands have not been implemented yet.
  80.  
  81.  
  82. MURPHY
  83.  
  84.   The MURPHY command causes all overlays to be run at the same address
  85.   in memory, but does NOT yet fill the rest of the overlay area with INT
  86.   3 instructions.
  87.  
  88.  
  89. Swap system amendments
  90. ----------------------
  91.  
  92. There are two functions not mentioned in the manual used to control the
  93. amount of EMS and XMS used by the swap system for program image storage.
  94. The functions are SWPFREEMS(), and SWPFREXMS() (documented below).
  95.  
  96. SWPFREEMS
  97.  
  98.   Function : Specify amount of EMS to be left free
  99.  
  100.   Syntax   : niValue = SWPFREEMS(niValue)
  101.  
  102.   Return   : The previous setting
  103.  
  104.   This function can be used to limit the amount of EMS used by the swap
  105.   system for program image storage, so that the specified amount can be
  106.   left free for the child program.
  107.  
  108.   Example  :
  109.  
  110.   SWPUSEEMS(TRUE)               // enable use of EMS
  111.   SWPFREEMS(512)                // but leave at least 512K free
  112.  
  113.  
  114. SWPFREXMS
  115.  
  116.   Function : Specify amount of XMS to be left free
  117.  
  118.   Syntax   : niValue = SWPFREXMS(niValue)
  119.  
  120.   Return   : The previous setting
  121.  
  122.   This function can be used to limit the amount of XMS used by the swap
  123.   system for program image storage, so that the specified amount can be
  124.   left free for the child program.
  125.  
  126.   Example  :
  127.  
  128.   SWPUSEXMS(TRUE)               // enable use of XMS
  129.   SWPFREXMS(512)                // but leave at least 512K free
  130.  
  131.  
  132. Swap function error codes
  133.  
  134.   The SWPRUNCMD function returns a numeric result code to the calling
  135.   program following the swap. If the error occurs following the
  136.   execution of the child process, and the parent program image cannot
  137.   be restored correctly, an error message will be displayed detailing
  138.   the error and the error number that occurred, and the swap function
  139.   will exit to DOS.
  140.  
  141.   The return codes have the following meanings:
  142.  
  143.   0     No error
  144.   1     Disk full
  145.   2     File Not found
  146.   3     Disk I/O error
  147.   4     Change directory error
  148.   5     Temp file create error
  149.   6     Change drive error
  150.   7     EMS error
  151.   8     XMS error
  152.   9     SHELL error
  153.   10    Handle table too large to save
  154.   11    Top of memory error
  155.   12    MCB chain corrupt
  156.   13    Too many MCBs
  157.   14    DOS memory function call error
  158.   15    Unable to allocate same segment
  159.   254   Swap internal error
  160.   255   Swap internal error
  161.  
  162.   In the event that the return code is 0, indicating success, the minor
  163.   error code may be set to one of the following three values:
  164.  
  165.   0    No error
  166.   1    The swap function removed a TSR
  167.   2    Top of DOS memory increased
  168.  
  169.   In case 1, a TSR (or other memory block) had to be freed on return to
  170.   the parent program. This will succeed in almost all circumstances, but
  171.   is it always recommended that the TSR's owm removal mechanisms be used
  172.   in preference. This return code will allow you to warn your user of
  173.   the situation.
  174.  
  175.   In case 2, a utility such as Quarterdeck's VIDRAM ON may have been
  176.   used during the swap to increase DOS memory. This utility should not
  177.   be used to change memory sizes during the swap.
  178.  
  179.   Taken in turn:
  180.  
  181.   0     No error
  182.  
  183.   A return value of zero indicates that the swap function successfully
  184.   executed the command interpreter, and restored the program image.
  185.  
  186.   1     Disk full
  187.  
  188.   The disk on which the swap function was attempting to save the program
  189.   image is full.
  190.  
  191.   2     File not found
  192.  
  193.   DOS returned a 'file not found' error when the swap function attempted
  194.   to restore the program image from a disk swap file. The swap file may
  195.   have been deleted.
  196.  
  197.   3     Disk I/O error
  198.  
  199.   DOS returned an unexpected error while the swap function was either
  200.   reading from or writing to the disk file containing the program image.
  201.  
  202.   4     Change directory error
  203.  
  204.   The swap function encountered an error either when changing to the
  205.   requested directory passed as a parameter to the swap function, or
  206.   when restoring the current directory following the swap.
  207.  
  208.   5     Temp file create error
  209.  
  210.   DOS returned an error when the swap function attempted to create a
  211.   temporary file to store the program image. Check that the path
  212.   specified for the temporary file is valid.
  213.  
  214.   6     Change drive error
  215.  
  216.   The swap function encountered an error either when changing to the
  217.   requested drive passed as a parameter to the swap function, or when
  218.   restoring the current drive following the swap.
  219.  
  220.   7     EMS error
  221.  
  222.   An unexpected error occurred during an EMS operation.
  223.  
  224.   8     XMS error
  225.  
  226.   An unexpected error occurred during an XMS operation.
  227.  
  228.   9     SHELL error
  229.  
  230.   The swap function was unable to execute the command processor. Check
  231.   that the COMSPEC environment variable was set correctly.
  232.  
  233.   10    Handle table too large to save
  234.  
  235.   The swap function can only save an expanded handle table that contains
  236.   255 (or less) handles.
  237.  
  238.   11    Top of memory error
  239.  
  240.   The top of DOS memory was at a lower address following the swap than
  241.   it was before the swap. Do not execute programs like Quarterdeck's
  242.   VIDRAM utility while a program is swapped out.
  243.  
  244.   12    MCB chain corrupt
  245.  
  246.   The swap funtion detected that the DOS memory control block chain was
  247.   corrupted.
  248.  
  249.   13    Too many MCBs
  250.  
  251.   The swap function can only save programs that own 128 or less DOS
  252.   memory control blocks, which is more than sufficient in most cases.
  253.  
  254.   14    DOS memory function call error
  255.  
  256.   DOS returned an error on a memory related function call. Please
  257.   contact technical support with full details of the situation causing
  258.   this error.
  259.  
  260.   15    Unable to allocate same segment
  261.  
  262.   In order to restore the program image correctly, the swap function
  263.   must be able to allocate the same memory blocks that the program
  264.   originally owned. This message indicates that DOS returned a block at
  265.   a different address than the swap function expected. The program
  266.   cannot be correctly restored.
  267.  
  268.   254   Swap internal error
  269.  
  270.   Please contact technical support with full details of the situation
  271.   causing this error.
  272.  
  273.   255   Swap internal error
  274.  
  275.   Please contact technical support with full details of the situation
  276.   causing this error.
  277.  
  278.  
  279. New Link Time Error Messages
  280. ----------------------------
  281.  
  282. 1117: use of CODEVIEW information requires external overlays
  283.  
  284.   This release of Blinker supports the use of CodeView information in
  285.   overlaid programs which use EXTERNAL OVERLAYS only. This may be
  286.   supported in a future Blinker release so that programs using internal
  287.   overlays may be debugged using CodeView.
  288.  
  289.  
  290. New Run Time Error Messages
  291. ---------------------------
  292.  
  293. 1217: overlay vector currupted during execution
  294.  
  295.     This message indicates that the overlay manager has detected an
  296.     invalid overlay vector. The most likely cause of this is corruption
  297.     at run time due to an invalid pointer or attempting to overlay a non
  298.     overlayable module. Another possible cause is the use of a debugger
  299.     to place break points in the code after an overlay vector call,
  300.     since this replaces the vector data with a debugger breakpoint.
  301.  
  302.     Use of the MURPHY command for debugging overlays may help to
  303.     identify whether non-overlayable modules are responsible for this
  304.     message.
  305.  
  306.