home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c100 / 2.ddi / BOSS.ZIP / BOSS.MEM
Encoding:
Text File  |  1988-08-20  |  5.5 KB  |  135 lines

  1. ******************************************************************************
  2.  
  3. The Window BOSS and Turbo C++ Version 1.0 
  4.  
  5. The Turbo C small model library and support files provided with release 
  6. 07.01.90 of The Window BOSS are compatible with both Turbo C 2.X and 
  7. the Turbo C++ ANSI compiler.  The following notes apply to Turbo C++ 
  8. ANSI compiler only.
  9.  
  10. IDE (Integrated Development Environment) NOTES:
  11.  
  12.   Window BOSS users who prefer the IDE over the command line compiler 
  13.   *MAY* have to disable source level debugging when attempting to run 
  14.   their applications from within the IDE via ^F9.  There are also 
  15.   problems with running Window BOSS applications from within the IDE 
  16.   when Sidekick (1.56A) is loaded.  Borland has been notified of 
  17.   these problems (7/19/90).  PLEASE KEEP IN MIND THAT THESE PROBLEMS
  18.   ONLY APPLY WHEN USING THE IDE - THEY DO NOT IMPACT THE FINAL 
  19.   APPLICATION.
  20.  
  21.   To disable source level debugging from within the IDE, select 
  22.   Options, then Debugger, then set "Source Debugging" to NONE.  It may 
  23.   also help to disable debugging information from being placed in the 
  24.   OBJ files.  This is done by selecting Options, then Compiler, 
  25.   then Code Generation, then More - then disable "Debug info in OBJs".
  26.  
  27.   The project files distributed with the 07.01.90 release of The Window 
  28.   BOSS can not be used with Turbo C++.  You must either recreate them
  29.   or convert them using the PRJCNVT utility provided with Turbo C++.
  30.   We suggest they be recreated.
  31.  
  32. REGISTERED (Source Code) User Notes:
  33.  
  34.   Compatible Compact, Medium, Large, and Huge libraries can not be 
  35.   created with the source code from revision 07.01.90 or earlier of
  36.   The Window BOSS.  There are two reasons for this: (1) The TC++ ANSI 
  37.   compiler does not allow K&R function calling conventions to be used 
  38.   when declaring a function with a variable number of arguments and 
  39.   (2) the linker supplied with TC++ can not resolve CONST and BSS 
  40.   segment declarations. The first problem can be resolved by 
  41.   editing "WN_PRINT.C" and changing the code for to look like:
  42.  
  43.         #if MSC
  44.         #if MSC4                                /* MSC VER 4.0 */
  45.         #if BORLAND | MIXPC
  46.         wn_printf(WINDOWPTR wn, char *cs, ...)  /* Borland C & MIX Power C */
  47.         #else
  48.         wn_printf(wn, cs,...)                   /* Microsoft */
  49.         WINDOWPTR wn;                           /* and everyone else */
  50.         char *cs;
  51.         #endif
  52.         {
  53.         char work[256];
  54.         va_list arg_ptr;
  55.  
  56.           if(!wn_activate(wn)) return(NULL);    /* bring window to top */
  57.           wns_err(wn,"wn_printf");              /* avoid fatal mistakes */
  58.           ....
  59.           ....
  60.  
  61.   The linker problem can be solved by using TLINK from Version 2.X of
  62.   Turbo C.  All linking will have to be done from the command line.
  63.  
  64.   To make the source level changes to resolve the linker problem start by
  65.   copying MSVLIB.ASM to TSVLIB.ASM then edit TCVLIB.ASM as follows:
  66.  
  67.     Add the HUGE equate at the top of the file (after LPROG and LDATA)
  68.  
  69.         LPROG   EQU     FALSE           ; TRUE for LARGE, FALSE for SMALL
  70.         LDATA   EQU     FALSE           ; "" ditto ......................
  71.         HUGE    EQU     FALSE           ; TRUE for HUGE
  72.  
  73.     Remove the following four lines (they are all together):
  74.         
  75.         CONST   SEGMENT  WORD PUBLIC 'CONST'
  76.         CONST   ENDS
  77.         _BSS    SEGMENT  WORD PUBLIC 'BSS'
  78.         _BSS    ENDS
  79.  
  80.     Change the ASSUME statement to look like:
  81.  
  82.     ASSUME    CS:_TEXT, DS:_DATA
  83.  
  84.     Change the code of _vidblt to look like:
  85.  
  86.         if      LPROG
  87.         __vidblt proc   far
  88.         else
  89.         __vidblt proc   near
  90.         endif
  91.                 push    bp
  92.                 mov     bp,sp
  93.                 push    si
  94.                 push    di
  95.                 push    cx
  96.                 push    ds
  97.                 push    es
  98.         if      HUGE
  99.             mov    ax,seg _wn_sbit         ; retrace test bit 
  100.             mov    es,ax
  101.             mov    ah,byte ptr es:_wn_sbit
  102.         else
  103.                 mov     ah,ds:_wn_sbit          ; retrace test bit 
  104.         endif
  105.                 mov     ds,[bp].ssgm            ; source segment
  106.                 mov     si,[bp].soff            ; source offset
  107.                 mov     es,[bp].dsgm            ; destination segment
  108.                 mov     di,[bp].doff            ; destination offset
  109.  
  110.   Edit "MAKELIB.CMD" replacing "msvlib" with "tcvlib".
  111.  
  112.   You can now REBUILD the libraries by using the batch files supplied
  113.   with The Window BOSS.  Remember, you will need to edit TSVLIB.ASM and
  114.   set the LPROG, LDATA, and HUGE equates at the top of the file to 
  115.   correspond to the memory model library you are building.  The
  116.   equates as set as follows:
  117.  
  118.             Memory Model      LDATA   LPROG   HUGE
  119.  
  120.               SMALL           FALSE   FALSE   FALSE
  121.               MEDIUM          FALSE   TRUE    FALSE
  122.               COMPACT         TRUE    FALSE   FALSE
  123.               LARGE           TRUE    TRUE    FALSE
  124.               HUGE            TRUE    TRUE    TRUE
  125.  
  126.   If you prefer, you can obtain special interim update, directly from
  127.   Star Guidance, that implements the above work-arounds. Preconfigured 
  128.   libraries for the small, compact, medium, large, and huge memory 
  129.   models are also included.
  130.  
  131.   Our phone number is (203)-574-2449.  The best time to call is
  132.   from 1:00 PM to 5:00 PM EST.
  133.  
  134. ******************************************************************************
  135.