 
 
                       FTN77/486 Version 2.75 Full Diskettes
 
                   Copyright (C) Salford Software Ltd 1990, 1991
 
       Welcome  to FTN77/486, which is probably the world's fastest and most
       fully featured Fortran 77  compiler  for  80486-based  PCs  and  PS/2
       systems.
 
 
     1 SOFTWARE SUPPORT
 
       If  you  have  any  problems with this release of FTN77/486 or if you
       require   any    further    information,    please    contact    your
       distributor/dealer or, in cases of difficulty, contact:
 
                               Salford Software Ltd
                                  Adelphi  House
                                  Adelphi Street
                                  SALFORD M3 6EN
                                      England
 
                              Tel: (+44) 061 834 2454
                              Fax: (+44) 061 834 2148
                              BBS: (+44) 061 834 2139
 
 
     2 VERSION
 
       This  release  is  version  2.75  of  FTN77/486  and is released with
       version 2.75 of DBOS.
 
 
     3 LEGAL MATTERS
 
       THIS  SECTION  CONTAINS  IMPORTANT  INFORMATION.   PLEASE   READ   IT
       CAREFULLY.
 
       (1)   All  intellectual  property  rights  necessary  to  licence the
             FTN77/486 compiler ("the  Product")  to  you  ("the  Customer")
             are  vested  in  Salford  Software  Ltd  ("the Vendor") and the
             Customer shall not claim or assert title  in  or  ownership  of
             the Product.
 
       (2)   The  Vendor  shall  not  be  responsible for losses of any kind
             resulting from the use of the Product or of  any  documentation
             and   can  in  no  way  provide  compensation  for  any  losses
             sustained  including  but  not  limited  to   any   obligation,
             liability,  right,  claim  or  remedy for tort nor any business
             expense machine downtime or damages caused to the  Customer  by
             any  deficiency  defect  or error in the Product or in any such
             documentation or any malfunction of  the  Product  or  for  any
             incidental  or  consequential  losses  damages or costs however
             caused.
 
       Use of FTN77/486 is subject  to  the  terms  and  conditions  of  the
       FTN77/486  Licence  Agreement.  Before using FTN77/486, please ensure
       that you have read that Agreement and that you agree to be  bound  by
       its terms.
 
 
 
       FTN77/486 Full Release                                   Page 1 of 15
 
 
     4 SYSTEM REQUIREMENTS
 
       Please  ensure  that  you  have a 80486-based PC or PS/2 system, or a
       80386-based PC or PS/2  system  optionally  equipped  with  an  80387
       coprocessor and/or a Weitek 1167 or 3167 coprocessor.
 
       Your  system  should  run  under  MS-DOS  (or  PC-DOS) version 3.3 or
       later and have at least two megabytes of RAM.
 
       FTN77/486 programs are  not  limited  to  640K  and  are  capable  of
       addressing  all  the  memory  available, so any additional memory you
       add can be used either as program  memory  or  by  the  disk  caching
       feature of DBOS.
 
       If   you   encounter   difficulties   installing  FTN77/486  on  your
       particular system, please run the diagnostic software  supplied  with
       your  machine.  Several customers have had problems when running DBOS
       because of hardware faults which only become apparent when  a  system
       runs  in  protected  mode.  If  you  still have problems contact your
       distributor or dealer or contact us directly at the  address  at  the
       start of this note.
 
       DBOS  has  been  tested  on the following list of 80486-based systems
       at the present time:-
 
            Dell 425
            Dell 486/50 DE
            Gateway 2000 486/33
            Olivetti CP464
            Research Machines 486
            Tandon PCA 486/25 SL
            Viglen Vig IV/25
 
       FTN77/486 is continually being tested on new 80486-based systems.
 
 
     5 INSTALLATION GUIDE
 
       If you have  not  previously  installed  FTN77/486  on  your  system,
       please  follow  the  installation instructions in this section before
       you do anything else with the contents of the diskettes.
 
       Inevitably, a number of changes have  been  made  to  our  method  of
       distribution  and  to FTN77/486 itself since Revisions A and B of the
       Reference Manual were  printed.  Please  follow  the  instuctions  in
       this Section, rather than those in your manual.
 
       The  system  requirements  for running FTN77/486 appear in Section 4.
       Please check that your system conforms to these  requirements  before
       proceeding further.
 
       In order to install FTN77/486 follow these steps:
 
       (1)   Ensure  that  the  following parameters in your CONFIG.SYS file
             have at least the values shown here:
 
                FILES=30
                BUFFERS=30
 
 
 
       Page 2 of 15                                   FTN77/486 Full Release
 
 
             After you have changed CONFIG.SYS you must reboot  the  system.
 
       (2)   You  will  have been shipped two high density diskettes (either
             three and a half inch or five and  a  quarter  inch).  Put  the
             first diskette in either the A or B drive and type one of:
 
                A:INSTALL
 
             or
 
                B:INSTALL
 
             as appropriate.
 
       (3)   The  INSTALL  program  will  read  the  file FILES.CFG from the
             disk and issue warnings  about  running  other  DOS  extenders.
             When you have read the warnings enter "Y" to the prompts.
 
       (4)   The  INSTALL  program  will  use  the  DOS PATH to search for a
             previously  installed  version  of  DBOS.  If  this   directory
             cannot  be  found  you  will  be  asked  for  the  name  of the
             directory for DBOS which you wish  to  create.  This  directory
             will  hold  nothing  but  DBOS.  You may choose to call it, for
             example:
 
                C:\DBOS.DIR
 
             The INSTALL program will now search for  FTN77/486.  If  it  is
             not  found  you will be asked for the name of the directory for
             FTN77/486 which you wish to create.  This directory  will  hold
             nothing  but  FTN77/486,  or  it  may  be the same directory as
             that for DBOS. You may choose to call it, for example:
 
                C:\FTN77.DIR
 
       (5)   Now you will be shown the  directories  and  asked  to  confirm
             that this is what you want.
 
             The  files  are  then  copied  from the release diskette to the
             nominated directories, with some  of  the  larger  files  being
             converted  from  the  compressed format in which they appear on
             the release diskette.  This process may take  several  minutes.
 
             When  the  first  diskette has been copied you will be prompted
             to remove it and insert the second of the  two  diskettes.  The
             contents of the second diskette is then copied.
 
             When  the  first  diskette has been copied you will be prompted
             to remove it and insert the second of the  two  diskettes.  The
             contents of the second diskette is then copied.
 
       (6)   You  will  then  be  asked if you want to update your Windows 3
             SYSTEM.INI file in order to use the  WDBOS.386  virtual  device
             driver.  WDBOS.386  is  essential  if  you wish to run ClearWin
             applications or run DBOS in  a  DOS  box  in  Windows  enhanced
             mode.
 
             Next   you   will   be   asked  if  you  want  to  update  your
             AUTOEXEC.BAT  file  to   include   the   DBOS   and   FTN77/486
 
 
       FTN77/486 Full Release                                   Page 3 of 15
 
 
             directories on the path, and add the command DBOS.
 
       (7)   You  will  then be given a terminating message, and prompted to
             terminate.  When  you  terminate  the  program  you   will   be
             reminded to reboot your system.
 
       (8)   If  you  have  not  allowed  INSTALL to amend your AUTOEXEC.BAT
             file, you  must  now  either  edit  the  AUTOEXEC.BAT  file  as
             follows:
 
             (a)   Amend  the  PATH  command  to  include  the new directory
                   containing the compiler
 
             (b)   Add the following command at the bottom of the file:
 
                      DBOS
 
                   or, alternatively, you can type  the  DBOS  command  once
                   before  you  use  the  compiler  or  any  other FTN77/486
                   programs.
 
                   Do not type DBOS again unless you reboot your system.
 
 
     6 THE RELEASE FILES
 
       The release consists of the following files:
 
           Files on          Files as      Description of files
           Distribution      copied to
           Diskettes         hard disk
           ------------      ------------  ---------------------
 
       First Disk:-
 
           INSTALL.EXE                     The install program
 
           UPDATE.EXE                      Program to update from pre 2.65
                                           DBOS release
 
           FILES.CFG                       List of files etc. for install
 
           README                          This file, of which you will find
                                           another copy in your product
                                           directory
 
         DBOS.DIR\
 
           DBOS.CPR      ->  DBOS.LIB      Part of the DBOS DOS extender
 
           DBOS.INF      ->  DBOS.INF      Part of the DBOS DOS extender
 
         DBOS.DIR\BRIEF
 
           INSTALL.BAT   ->  INSTALL.BAT   Batch file to install BRIEF
                                           configuration files
 
           README.DOC    ->  README.DOC    Instructions for installation
                                           and use
 
 
       Page 4 of 15                                   FTN77/486 Full Release
 
 
           SOLSOFT.CB    ->  SOLSOFT.CB    BRIEF macros
 
           SOLSOFT.DLG   ->  SOLSOFT.DLG   Resource for a BRIEF dialog box
 
           POPUP.MNU     ->  POPUP.MNU     Resource for a BRIEF menu box
 
           SOLSOFT.CFG   ->  SOLSOFT.CFG   Data file for configuration
                                           options
 
           SOLSOFT.TXT   ->  SOLSOFT.TXT   Data file for help text
 
       Second Disk:-
 
           HELP77.EXE    ->  HELP77.EXE    A TSR program which can be loaded
                                           then used by pressing Ctrl+Alt+H
                                           to access the help system
 
           HELP.CPR      ->  HELP.LIB      Help text
 
           DBOS.CEX      ->  DBOS.EXE      Part of the DBOS DOS extender
 
           CONFIGDB.CEX  ->  CONFIGDB.EXE  The DBOS configuration program
 
           INTERFAC.ASM  ->  INTERFAC.ASM  Source for DOS TSR availible from
                                           a DBOS application
 
           CACHESTA.EXE  ->  CACHESTA.EXE  Program to print DBOS disk cache
                                           statistics
 
           WDBOS.CEX     ->  WDBOS.386     Windows 3.x Virtual Device Driver.
                                           This allows FTN77 programs to run
                                           in a DOS window under Windows 3.x
                                           in enhanced mode.
 
           WDBOSVER.EXE  ->  WDBOSVER.EXE  Windows application to give the
                                           version number of WDBOS.
 
           LINK77.CEX    ->  LINK77.EXE    Linker
 
           MK.CEX        ->  MK.EXE        Make utility
 
           TOUCH.CEX     ->  TOUCH.EXE     Touch utility
 
           MKLIB77.EXE   ->  MKLIB77.EXE   A program used to create DBOS
                                           libraries
 
           FTN77WT.ASM   ->  FTN77WT.ASM   Source of FTN77WT.OBJ
 
           FTN77WT.OBJ   ->  FTN77WT.OBJ   Interfaces to real mode libraries
                                           using different manufacturers
                                           call conventions
 
           EXECHECK.COM  ->  EXECHECK.COM  A command which can be used to
                                           check the integrity of a .EXE
                                           or .LIB file
 
           RUN77.EXE     ->  RUN77.EXE     The run command (for debugging
                                           and for large programs)
 
 
 
       FTN77/486 Full Release                                   Page 5 of 15
 
 
           HERSHEY.CPR   ->  HERSHEY.FNT   Font information for DBOS
 
           DBOS_SET.COM  ->  DBOS_SET.COM  Commands which allow DBOS
           DBOS_RES.COM  ->  DBOS_RES.COM  switches to be changed after DBOS
                                           has been loaded.
 
           KILL_DBO.COM  ->  KILL_DBO.COM  A command which removes DBOS.EXE
                                           from memory
 
           KILL_387.COM  ->  KILL_387.COM  Forces use of the floating point
                                           emulator
 
           CURE_387.COM  ->  CURE_387.COM  Forces BIOS to acknowledge a
                                           co-processor
 
           SET_LIBR.COM  ->  SET_LIBR.COM  A command to allow the user to
                                           specify a different search rule
                                           for dynamic link libraries to
                                           that given as the default in
                                           the LIBRARIE.DIR file
 
           COMSPACE.COM  ->  COMSPACE.COM  Reserves DOS memory when a DBOS
                                           application is loaded
 
           HOTKEY77.EXE  ->  HOTKEY77.EXE  A TSR program which enables the
                                           "hot key" system
 
           DBOS.VER      ->  DBOS.VER      The version number of DBOS
 
           DBOS.ENH      ->  DBOS.ENH      Enhancements to this release of
                                           DBOS
 
           MEMORY.DOC    ->  MEMORY.DOC    A description of the memory
                                           management techniques used by
                                           DBOS and the method used to
                                           configure DBOS to use a swap file
                                           for data paging
 
         FTN77.DIR\
 
           README        ->  README        This file
 
           FTN77.CEX     ->  FTN77.EXE     The FTN77/486 compiler
 
           MAKEDA77.EXE  ->  MAKEDA77.EXE  A program which creates fixed
                                           length records for formatted
                                           direct access
 
           FTN77.VER     ->  FTN77.VER     The version number of FTN77/486
 
           FTN77.ENH     ->  FTN77.ENH     Enhancememts to this release of
                                           FTN77
 
           BTRIEVE.DOC   ->  BTRIEVE.DOC   A brief description of the
                                           FTN77/486 interface to Novell
                                           Inc.'s BTRIEVE Package
 
           REALMODE.DOC  ->  REALMODE.DOC  A description of the FTN77/486
                                           real mode interface
 
 
       Page 6 of 15                                   FTN77/486 Full Release
 
 
           QUOTES.DOC    ->  QUOTES.DOC    Some of the things customers have
                                           said about FTN77/486
 
           GRAPHIC1.DOC  ->  GRAPHIC1.DOC  Graphical routines not in Rev C
                                           manual
 
           GRAPHIC2.DOC  ->  GRAPHIC2.DOC  Graphical routines not in Rev D
                                           manual
 
           MOUSE.DOC     ->  MOUSE.DOC     Mouse routines not in Rev C
                                           manual
 
           THREADS.DOC   ->  THREADS.DOC   Notes on routines used to produce
                                           simple multi-thread applications
 
           OPTIONS.MAN   ->  OPTIONS.MAN   Appendix 1 of the FTN77 reference
                                           manual detailing the compiler
                                           options
 
         FTN77.DIR\DEMO
 
           CALLER.FOR    ->  CALLER.FOR    Demonstate calling real mode
           CALL.MAK      ->  CALL.MAK      libraries from FTN77
           CALLED.C      ->  CALLED.C
 
           GWIN.FOR      ->  GWIN.FOR      Example drawing app illustrating
           GWIN.EXE      ->  GWIN.EXE      use of pop up menus in graphics
                                           mode and various other techniques
 
           GWINCOM.INS   ->  GWINCOM.INS   Common block insert file for GWIN
 
           EX1.FOR       ->  EX1.FOR       A program which demonstrates the
                                           various run-time errors which can
                                           be detected by FTN77/486
 
           EX2.FOR       ->  EX2.FOR       Binary file scaner illustration
           EX2.EXE       ->  EX2.EXE       use of DBOS windows, CODE/EDOC
                                           and virtual memory file access
 
           EX3.FOR       ->  EX3.FOR       Illustrates use of a number of
           EX3.EXE       ->  EX3.EXE       low level graphics primatives
 
           MARKS.DAT     ->  MARKS.DAT     Data file for STATS.FOR
 
           STATS.FOR     ->  STATS.FOR     A simple statistics calculator
 
           STATS.LNK     ->  STATS.LNK     Linker script for STATS
           STATS.INF     ->  STATS.INF     Obsolete STATS.LNK
 
           STATS1.FOR    ->  STATS1.FOR    Variation of STATS.FOR used
           STATS1.LNK    ->  STATS1.LNK    to demonstrate features
           STATS1.INF    ->  STATS1.INF    Obsolete STATS1.LNK
 
           STATS2.FOR    ->  STATS2.FOR    Variation of STATS.FOR used
                                           to demonstrate features
 
           GRAPH1.FOR    ->  GRAPH1.FOR    Simple screen app to enter
                                           graphics mode and draw a
                                           rectangle
 
 
       FTN77/486 Full Release                                   Page 7 of 15
 
 
           GRAPH2.FOR    ->  GRAPH2.FOR    Screen app to draw a rectangle
                                           with a polyline
 
           GRAPH3.FOR    ->  GRAPH3.FOR    Screen app to draw and fill a
                                           rectangle using a polyline
 
           GRAPH4.FOR    ->  GRAPH4.FOR    Draws a filled rectangle on a
                                           printer
 
           GRAPH5.FOR    ->  GRAPH5.FOR    Draws a filled rectangle on a
                                           plotter
 
           GRAPH6.FOR    ->  GRAPH6.FOR    Draws a filled rectangle in HPGL
 
           GRAPH7.FOR    ->  GRAPH7.FOR    Screen app to illustrate addition
           GRAPH7.EXE    ->  GRAPH7.EXE    of polygons
 
           GRAPH8.FOR    ->  GRAPH8.FOR    Screen app to illustrate addition
           GRAPH8.EXE    ->  GRAPH8.EXE    of polygons for mask production
 
           GRAPH9.FOR    ->  GRAPH9.FOR    As GRAPH8 as well as illustrating
           GRAPH9.EXE    ->  GRAPH9.EXE    saving and restoring of screen
                                           blocks
 
           GRAPH10.FOR   ->  GRAPH10.FOR   Screen app to save the screen as
           GRAPH10.EXE   ->  GRAPH10.EXE   a PCX file
 
           GRAPH11.FOR   ->  GRAPH11.FOR   Screen app to draw hershey
           GRAPH11.EXE   ->  GRAPH11.EXE   characters one character at a
                                           time
 
           GRAPH12.FOR   ->  GRAPH12.FOR   Screen app to draw hershey
                                           characters one alphabet at a time
 
           THREADS.FOR   ->  THREADS.FOR   Example program that demonstrates
           THREADS.EXE   ->  THREADS.EXE   simple multitasking
 
           COLOURS.INS   ->  COLOURS.INS   Insert file for THREADS.FOR
 
 
     7 DBOS
 
 
   7.1 VIRTUAL DISKS AND DISK CACHES
 
       DBOS version 2.70 and higher can be  used  with  SMARTDRIVE  5.0  and
       STACKER  3.5.  DBOS  can also be used with VDISK as supplied with DOS
       4.0 If you have problems with other  virtual  disk  utilities  please
       let us know.
 
       To use a VDISK with DBOS proceed as follows:
 
       (1)   Remove  the  virtual  disk  temporarily  from  your machine and
             install DBOS in the normal way.
 
       (2)   Re-install the virtual disk in the  CONFIG.SYS  file  or  ahead
             of  the  DBOS  command in AUTOEXEC.BAT in such a way that there
             is still some extended memory available for use by DBOS.
 
 
 
       Page 8 of 15                                   FTN77/486 Full Release
 
 
   7.2 USING VIRTUAL MEMORY FOR DATA (DATA PAGING)
 
       If you would like to use  data  paging  (virtual  memory  for  data),
       please see the file MEMORY.DOC in your DBOS directory.
 
       This  file  contains  a  description  of  the use of the CONFIGDB.EXE
       program.
 
 
   7.3 CONFIGURING DBOS
 
       Apart from specifying the use of data paging, CONFIGDB  can  also  be
       used  to  set  certain other DBOS parameters.  After you have started
       DBOS, type CONFIGDB for more details of these options.
 
 
   7.4 LIMITING DBOS MEMORY
 
       If you want to limit the amount  of  memory  which  is  available  to
       DBOS, you should type:
 
               DBOS <memory limit>
 
       where <memory limit> is the hexadecimal address (For example,
 
               DBOS 100000
 
       limits DBOS to one megabyte).
 
 
   7.5 TROUBLE SHOOTING DBOS
 
       Attempted  auto-detection  of  a Weitek coprocessor performed by DBOS
       can cause some problems  on  some  machines,  typically  causing  the
       system  to  hang  as  DBOS  is  loading.  You  can  disable the auto-
       detection by using the /NOWEITEK option to DBOS:
 
               DBOS /NOWEITEK
 
       Should  this  fail  you  should  progressively  remove  non-essential
       drivers,  TSRs  etc.  from your CONFIG.SYS and AUTOEXEC.BAT files, to
       attempt to find any possible incompatibilty, and then contact  us  at
       the above address for further assistance.
 
 
   7.6 DBOS ENHANCEMENTS
 
       Enhancements  to  the  DBOS  DOS  extender are documented in the file
       DBOS.ENH.
 
 
   7.7 INTERFACING DBOS PROGRAMS TO REAL MODE TSR PROGRAMS
 
       The assembler code in the file INTERFACE.ASM may be useful  to  users
       wishing  to  interface  their  code  to  terminate  and stay resident
       (TSR) programs in real mode.  Other users should  ignore  this  file.
       (Interfacing  to  real mode code is described in the text in the file
       REALMODE.DOC.)
 
 
 
       FTN77/486 Full Release                                   Page 9 of 15
 
 
     8 FTN77
 
 
   8.1 PROGRAMMING CONSIDERATIONS
 
       Please note that the  compiler-supplied  defaults  may  be  different
       from   those   which  you  are  used  to  when  using  other  Fortran
       compilers.  In particular,  FTN77/486  uses  short  (16-bit)  integer
       and  logical  defaults.  Use  of 16-bit integers and logicals reduces
       memory usage, but can sometimes increase  execution  times  slightly.
       You can change these defaults in one of the following ways:
 
       (1)   Using the /CONFIG option, by typing
 
                  FTN77 /CONFIG
 
       (2)   Using the compile-time options /INTL and /LOGL
 
       (3)   Including the directive
 
                  OPTIONS(INTL,LOGL)
 
             at the start of each source file which you compile.
 
       All  other  compile-time  options  can  be changed using one of these
       three methods (although not every option  can  be  changed  by  every
       method).
 
 
   8.2 FTN77/486 ENHANCEMENTS
 
       Many  enhancements  have  been  incorporated  in  FTN77  over  recent
       months.  Some of these are not reflected in the  current  edition  of
       the  manual.  Furthermore,  if you have a demonstration copy of FTN77
       you will not have a manual available. The most important  version  to
       version  changes  are  documented  in  the  file  FTN77.ENH  which is
       supplied on the release disks.
 
       We also suggest that you access the  help  information  in  FTN77  by
       typing:
 
             FTN77 /HELP
 
       This  will  display  a window of help about command line options.  By
       following the invitation to type F3 you can proceed  to  a  directory
       of  FTN77  help.  From  that  directory you can select help on system
       subroutines,   where   you   will   find   information   about   many
       enhancements to the system.
 
 
   8.3 DEMONSTRATION
 
       Please  note  that  this  release  contains  the sub-directory, DEMO,
       which contains  a  demonstration  of  the  most  important  FTN77/486
       facilities.   Whether   this   release   has   been   obtained  as  a
       demonstration system, or  if  you  have  purchased  a  full  licence,
       please follow the instructions in Section 5.
 
       A  number  of  example programs have been included in \DEMO. Read the
 
 
       Page 10 of 15                                  FTN77/486 Full Release
 
 
       comments at the head of  each  program  for  further  details.  These
       programs  may  be copied, modified, or incorporated in other software
       without restriction.  Some of these  programs  illustrate  techniques
       and   subroutines  which  may  not  be  otherwise  described  in  the
       Reference Manual, so you should  at  least  print  the  programs  and
       examine them.
 
 
   8.4 RUNNING THE DEMONSTRATION
 
       PLEASE  ENSURE  THAT  FTN77/486  HAS  BEEN INSTALLED CORRECTLY BEFORE
       ATTEMPTING TO RUN ANY PART OF THIS DEMONSTRATION
 
       We have provided a simple  statistics  program,  together  with  some
       test  data,  in the directory FTN77.DIR\DEMO, so that we can show you
       some of the features of FTN77/486.
 
       Please follow these steps:
 
       (1)   Copy the above files to  a  suitable  directory  on  your  hard
             disk.
 
       (2)   You  may  find it helpful to print the file STATS.FOR (which is
             about 150 lines long), so that you can refer to it  during  the
             demonstration.
 
       (3)   Compile  and  execute STATS.FOR using FTN77/486 with the 'load-
             and-go' option, /LGO, as follows:
 
                  FTN77 STATS /LGO
 
             The results will be displayed on your screen.
 
             Notice that the file suffix must be ".FOR", and  that  it  need
             not  be  used explicitly when compiling.  /LGO avoids using the
             linker, and shows how quick it is  to  compile  and  execute  a
             program during development.
 
             Note:  A  full  list  of  compiler  options appears in the file
             OPTIONS.MAN.
 
       (4)   Compile STATS.FOR again:
 
                  FTN77 STATS
 
             and use the linker to link-load it:
 
                  LINK77 STATS.LNK
 
             (You  might  like  to  see  how  few  commands  are  needed  in
             STATS.LNK  in  order  to  load  the  program.)  Now execute the
             program:
 
                  STATS
 
             The program will display the same results as in step 3.
 
       (5)   Now  try  some  of  the  features  which  make   FTN77/486   an
             outstanding   program   development   tool.  Try  the  compiler
 
 
       FTN77/486 Full Release                                  Page 11 of 15
 
 
             without any debugging aids by typing:
 
                  FTN77 STATS1
                  LINK77 STATS1.LNK
                  STATS1
 
 
             The program  fails,  but  the  message  is  probably  not  very
             useful to the average Fortran programmer.
 
             You  can  now  use  some  of the unique combination of features
             provided by FTN77/486, in order to  locate  the  cause  of  the
             error. Type:
 
                  FTN77 STATS1 /CHECK
                  LINK77 STATS1.LNK
                  RUN77 STATS1
 
             RUN77  can  be  used  to run a program so that, when a run-time
             error occurs, the FTN77/486 system can help  you  to  find  the
             error.  When  a  run-time  error occurs, a window appears which
             contains an error message.  Press ESC  to  remove  this  window
             and  you  will  see  a  red arrow pointing at the faulty source
             statement. Press  F1  to  display  the  help  window  for  full
             details of the debugger facilities.
 
             Press SHIFT-F1 to remove the debugger windows completely.
 
       (6)   In  order  to  illustrate  another  powerful FTN77/486 feature,
             compile program STATS2.FOR by typing:
 
                  FTN77 STATS2
 
             Note that a warning message is displayed saying  that  variable
             "NVALUE"  is  undefined.  Sometimes  you will have an undefined
             variable in a program which is not so easy to  locate  as  this
             one  and  the  compiler  cannot  output a compile-time message.
             In this case, you  will  want  to  use  the  /UNDEF  option  to
             pinpoint the undefined variable.  Type:
 
                  FTN77 STATS2 /UNDEF
                  LINK77
                  LO STATS2
                  FILE STATS2.EXE
                  RUN77 STATS2
 
             (Notice   that  the  linker  commands  "LO  STATS2"  and  "FILE
             STATS2.EXE" can be typed like this instead of  using  a  ".LNK"
             file  as  previously.)  The  run-time system displays the error
             message and indicates the faulty  source  program  line.  Press
             ESC  to  clear  this  window  and  see  the  faulty line in the
             source indicated by a red arrow.
 
       (7)   Often you will know where an error is, but not its  cause.  You
             can  use  the  FTN77 window-based debugger to find out. Try the
             facilities of the debugger with  STATS.FOR  (of  course,  there
             is no error in this program). Type:
 
                  FTN77 STATS /BREAK
 
 
       Page 12 of 15                                  FTN77/486 Full Release
 
 
             This  command compiles and link-loads STATS.FOR, and leaves you
             in the  FTN77/486debugger,  in  a  window  showing  the  source
             program,  with  a  red  arrow  pointing at the first statement.
             Press key F1,  and  the  HELP  window  for  the  debugger  will
             appear.  You  will  see  that  you can control execution in one
             of two ways.  (a) either statement by  statement  (F7)  or  (b)
             by  setting  breakpoints (F3).  You can also display the values
             of all variables in a routine (F4), toggle the  results  screen
             (including  any  graphical  output)  (F5), and print the values
             of variables and array  elements  (PRINT  command).  All  these
             and many other facilities are described in the HELP window.
 
             Try  stepping  through  the source code and printing the values
             of some variables.
 
             When you have finished, press SHIFT-F1 to clear the screen.
 
       (8)   Print the file EX1.FOR.  Now compile it, and  link-load  it  as
             follows:
 
                  FTN77 EX1 /CHECK
                  LINK77
                  LO EX1
                  FILE EX1.EXE
 
             (LINK77   reports   that  routine  NOWT  is  missing.  This  is
             deliberate.)
 
             Execute this program using the RUN77 utility. Type:
 
                  RUN77 EX1.EXE
 
             From the display, choose the number of one  of  the  deliberate
             run-time  errors.  Observe  how FTN77/486 traps run-time errors
             which, in a program  of  any  size,  can  save  many  hours  of
             valuable  program  development  time.  Rerun  EX1.EXE using the
             different numbers until you have  seen  all  the  errors  which
             can be trapped in this way.
 
       (9)   Now  try  the  profiling  facility, which allows you to see how
             many times  each  statement  in  program  has  been  exercised.
             Type:
 
                  FTN77 STATS /PROFILE /BREAK
 
             Press  F6  to  execute  the  program.  Press  ESC  to clear the
             "program  terminated"  message.  Press  F9   to   profile   the
             program.   Observe   that   the   source  window  displays  the
             required information. Use  the  PgUp/PgDn  and  arrow  keys  to
             scroll the source in the window.
 
             Press  Shift-F1 when you have finished with the profile window.
 
       (10)  If you want to see the  assembler  equivalent  of  the  machine
             code generated by the compiler, type:
 
                  FTN77 STATS /EXPLIST
 
             The  compiler  produces  a  file  STATS.LIS  which  is a source
 
 
       FTN77/486 Full Release                                  Page 13 of 15
 
 
             listing  showing  assembler  interspersed  with   the   Fortran
             statements.
 
             Using  /LIST  instead  of  /EXPLIST  produces a listing file of
             the source program.  Notice how all  the  compile-time  options
             are  listed  at  the start, and how levels of nesting of DO and
             block-IF statements are indicated by .1 .2  etc  following  the
             line numbers at the left hand side.
 
       (11)  You  might  now like to look at some other FTN77/486 facilities
             which are demonstrated by the  programs  EX2.EXE  and  EX3.EXE.
             These  programs  have  already  been  compiled  and link-loaded
             although you can,  of  course,  recompile  and  link-load  them
             again  if  you  wish.  Before you execute the programs, you may
             want to look at the comment lines at the start  of  the  source
             versions of these programs (EX2.FOR and EX3.FOR).
 
             EX2.EXE  can  be  used  to  view  a file in binary format.  The
             user can scan forward or backward through the  file  using  the
             cursor  keys.  This  program  illustrates a number of FTN77/486
             features: windows, CODE/EDOC, and the  use  of  virtual  memory
             file access.
 
             The  program  should  be  used  with a filename as a parameter,
             thus:
 
                             EX2 MYFILE
 
             where MYFILE is any file.
 
             EX3.EXE,  which  requires  an  EGA  or   VGA   colour   screen,
             illustrates   the  use  of  a  number  of  low  level  graphics
             primitives which  are  not  described  in  Revision  A  of  the
             manual.
 
             In  the  interests  of  simplicity,  SUBROUTINE  GRAPH  is  not
             completely robust  but  is  simply  meant  to  be  used  as  an
             illustration of what is possible.
 
             The  program  requires no data and should be executed by typing
 
                             EX3
 
 
     9 RUN-TIME SYSTEM DISKETTE
 
       If you wish to distribute programs written with the  DBOS  family  of
       compilers  the  recipient  will  need  a  copy  of  the DBOS run-time
       system.  This contains all necessary run time  libraries  to  execute
       ready  built  .EXE  files,  but  omits the compiler, linker, debugger
       etc.  (See the current price  list  for  details  of  this  low  cost
       option.)
 
 
    10 FURTHER INFORMATION
 
       We  hope  that  the  above  demonstration  has  shown you some of the
       capabilities of FTN77/486.  By now, we hope you  will  just  want  to
       order  the  full  version and we, or one of our distributors, will be
 
 
       Page 14 of 15                                  FTN77/486 Full Release
 
 
       delighted to supply it to  you  on  receipt  of  a  cheque,  purchase
       order or credit card number.
 
       If  you  still  need convincing, we suggest that you look at the file
       called QUOTES.DOC in your  compiler  directory,  and  then  try  some
       programs  of  your  own with this demonstration version (although you
       may find the 50 line per program unit  limit  somewhat  restrictive).
 
       If  you  require  any  further  information  about FTN77/486, or have
       experienced  any  problems  in  running  the  demonstration,   please
       contact us at any time.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
       FTN77/486 Full Release                                  Page 15 of 15
