home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / c / cnews007.zip / CNEWS007.NWS next >
Text File  |  1988-05-29  |  28KB  |  605 lines

  1.      Volume 1, Number  7                                   30 May 1988 
  2.      +---------------------------------------------------------------+ 
  3.      |                                                               | 
  4.      |                       -  C   News  -                          | 
  5.      |                                                               | 
  6.      |                        International                          | 
  7.      |                C Programming & Compiler Review                | 
  8.      |                         Newsletter                            | 
  9.      |                                                               | 
  10.      +---------------------------------------------------------------+ 
  11.      US Office: 
  12.      Editor                                                Barry Lynch 
  13.      Technical Editor                                Marshall Presnell 
  14.  
  15.      Australian Office:      
  16.      Editor                                               David Nugent 
  17.      Asst Editor                                          Kevin Bergin
  18.  
  19.      C News  is  published  monthly by  the  C BBS as its official 
  20.      newsletter.  You are encouraged to submit articles for publication 
  21.      in C News.  Articles should be related to C programming and can be 
  22.      Tutorials, reviews or articles of interest to the C programming 
  23.      community.  All Operating systems are fairly represented and this 
  24.      newsletter shows no favoritism to any one in particular.  Instruct- 
  25.      ions on how to submit articles for publication is included on the 
  26.      last page.  
  27.            
  28.      C News is the property of the C BBS and is Copyright 1988 by the 
  29.      the C BBS.  All rights are reserved and distribution is limited to 
  30.      electronic distribution and personal printed copies.  C News cannot 
  31.      be resold at any profit, by any organization.  All material enclosed 
  32.      within the newsletter is the opinions of the writers and not the 
  33.      C BBS or it's Sysop.  
  34.      C News 1-07                                           30 May 1988 
  35.  
  36.      ================================================================= 
  37.                              TABLE OF CONTENTS 
  38.      ================================================================= 
  39.       
  40.  
  41.      1. EDITORIAL  
  42.              The Heap: messages from the editor....................  1 
  43.       
  44.      2. C Spot Run: A User Supported Library
  45.            by Todd Lehr  ..........................................  2 
  46.       
  47.      3. Beginning C Functions
  48.             by Jack Hess   ........................................  5
  49.  
  50.      4. NOTES 
  51.         Article Submission Standards  .............................  8 
  52.         Address's   ...............................................  9 
  53.         USER Response Form  ....................................... 10
  54.      
  55.      5. INDEX   ................................................... 11 
  56.  
  57.      6. Distribution Points   ..................................... 13
  58.  
  59.      C News 1-07                 Page 1                   30 May 1988
  60.  
  61.      ================================================================
  62.      The Heap:  Messages from the editor  
  63.      ================================================================
  64.  
  65.           As you may notice, C News is later than usual with this issue.
  66.      This is due to a major event in my life, <House Purchase> that
  67.      caused all computer related activities to stop for the last month.
  68.      Now that the house is in order, I am desperately trying to get back
  69.      into the computers again.  On the plate, are 1) get acquainted with
  70.      MSC Version 5.1 and the MS Editor, 2) Review the MS Version 2.0
  71.      Software Development kit, 3) a article on Software Copyrights, and
  72.      4) a review on a new project on the C BBS - a XENIX 386 BBS system
  73.      that supports Usenet and Fidonet.  Hopefully, some of the articles
  74.      will be ready for Issue 8, which is scheduled for the end of June
  75.      at the moment.
  76.  
  77.           So with that, I will leave and get back to the reading - That
  78.      I am so far behind on - of the backed up computer mag's.  C U
  79.      in the next issue.
  80.  
  81.  
  82.  
  83.   
  84.         
  85.      C News 1-07                 Page 2                   30 May 1988
  86.  
  87.      ================================================================
  88.      C Spot Run: A user supported library 
  89.      ================================================================
  90.  
  91.           As a relatively new C programmer, one of the biggest
  92.      problems I had was the rewriting all the custom routines that I
  93.      had already written in Turbo Pascal.  Fortunately for me, I
  94.      found C Spot Run, an excellent Shareware C Library, from New
  95.      Dimension Software, in Cherry Hill, NJ. (The address follows the
  96.      article).  It contains functions for almost all aspects of
  97.      programming, and the source code is available from the author,
  98.      for a 50 dollar registration fee.
  99.  
  100.          One of the main strengths of CSR is its data input
  101.      functions, with over 20 functions available, double that, if
  102.      you count their windowing counterparts.  With this large
  103.      selection of input commands at your fingertips, CSR removes some
  104.      of the great drudgery in programming.  These versatile routines
  105.      allow you to specify, field sizes, ranges, and default values.
  106.      There also are full line editing routines, that allow insertion,
  107.      deletion, and other manipulation of the input string.  Modifying
  108.      these function calls to work in a window is as easy as adding a
  109.      "w" to the front of the function name, and inserting a window
  110.      identifer, this value is returned by the "wopen(...)" routine.
  111.  
  112.      General Description of the Input Routines,
  113.  
  114.         [w][f]inpt<type>[r][e][d](....)
  115.          |  |        |   |  |  |
  116.          |  |        |   |  |  +---> Allows default value to be
  117.          |  |        |   |  |          specified
  118.          |  |        |   |  +------> Full Editing
  119.          |  |        |   +---------> High/Low Range values
  120.          |  |        +-------------> Field Type (int or string)
  121.          |  +----------------------> Allows field size argument
  122.          +-------------------------> Windowing Function Specifier
  123.  
  124.      The windowing functions are easy to use, fast, and work extremely
  125.      well.  Originally based on the "Windows for C" and "Windows BOSS"
  126.      C libraries, the functions should be familiar to users of those
  127.      packages.
  128.  
  129.           CSR also has a rich assortment of screen I/O routines
  130.      with full color control, which also easily convert to use with
  131.      windows.  Functions to place a string at and X,Y coordinate,
  132.      "putat(x,y,str)", or use a formatted output string
  133.      "putatf(x,y,frmt,str)" are included.  The library also includes
  134.      string center and string center with formatted output,
  135.      "center(line,str), centerf(line,frmt,str)", as well as many other
  136.      character and cursor control functions.  Also available are more
  137.      advanced routines, such as screen saving and restoring, functions
  138.      to draw boxes, screen scrolling, as well as many others. Another
  139.      C News 1-07                 Page 3                   30 May 1988
  140.  
  141.      ================================================================
  142.      C Spot Run: A user supported library 
  143.      ================================================================
  144.  
  145.      helpful feature are the built in pop-up menu functions, in fact
  146.      there are two different types of menus.  The first in a generic
  147.      pop-up which allows the specification of where to put the menu,
  148.      the border type, and a **char array of the menu options. The
  149.      options are automatically centered, as well as having formatting
  150.      options, such as horizontal lines, blank lines, and inactive
  151.      choices.  The more advanced menu routine allow the passing of a
  152.      custom designed structure, from which the menu is then
  153.      constructed.
  154.  
  155.           In addition to all the I/O routines, CSR also include
  156.      many functions not normally found in PD library packages.  One
  157.      such example are the excellent timer functions.  Routines are
  158.      included that allow the starting, stopping, and reading of 10
  159.      different timers, with accuracy of 1/10th of a second.  There
  160.      also are sound functions included, providing background interrupt
  161.      driven sound, or "while you wait" sound.  The main function is
  162.      "play(...)", which is identical to the BASIC PLAY function, thus
  163.      making the conversion of existing BASIC music routines much
  164.      easier.  There also are some excellent directory management
  165.      routines, such as, "findfirst(...), findnext(...)" as well as a
  166.      built-in pop-up window that display a directory 36 files at a
  167.      time.  Time and Date manipulation are also included in this
  168.      package, there are routines to convert date to and from a
  169.      integer serial number, as well as many other functions.  There
  170.      are also primitive graphic and printer routines as well.
  171.  
  172.           C Spot Run also comes with a few support programs,
  173.      CheckC, and Fline.  CheckC is a curly brace, paren, quote,
  174.      comment checker. One drawback is that is doesn't support nested
  175.      comments.  Fline is a program that takes a source file and copies
  176.      all lines that start in column 1, and put them in an output file.
  177.      Also included is an assembly language source shell, showing how
  178.      to write Assembly functions to interface with C.  New Dimension
  179.      Software also wrote up a demo program that is included with
  180.      source.
  181.  
  182.          Documentation is a very important part of a package such
  183.      as this, and CSR comes with a great set of docs.  There is about
  184.      15 pages of explanations and notices, and following that is
  185.      about 250 pages of function descriptions.  The description pages
  186.      are not numbered, so updates come with just the changed or new
  187.      description pages, which then can be inserted in proper order.
  188.      Also included is a Ascii chart, descriptions of the header files,
  189.      as well as a list of all the functions.
  190.  
  191.  
  192.  
  193.      C News 1-07                 Page 4                   30 May 1988
  194.  
  195.      ================================================================
  196.      C Spot Run: A user supported library 
  197.      ================================================================
  198.  
  199.           All in all I find the C Spot Run library to be an
  200.      excellent C library package, and from experience with the author
  201.      I know that it is, and will continue to be an excellently
  202.      supported package(The program is supported at the Pineland's
  203.      BBS, 107/414).  If there are any complaints that I have it would
  204.      be that some of the OBJect files are very large, so use of one
  205.      function will add a large amount of overhead to your program.
  206.      Also CSR currently supports only TurboC and MSC 4.0, but with
  207.      the source code available to registered user this should not be
  208.      a major problem.
  209.  
  210.      Author's Address
  211.      ===========================
  212.      Bob Pritchett
  213.      New Dimension Software
  214.      23 Pawtucket Dr.
  215.      Cherry Hill, NJ 08003
  216.      ===========================
  217.  
  218.  
  219.                                                         Todd Lehr
  220.                                                   Eastern C Board
  221.                                                           107/335
  222.  
  223.  
  224.  
  225.  
  226.      C News 1-07                 Page 5                   30 May 1988
  227.  
  228.      ================================================================
  229.      Beginning C Functions: By Jack Hess  
  230.      ================================================================
  231.  
  232.    
  233.           While reading messages in the C ECHO net mail, I began to see
  234.      quite a few messages from beginning 'C' programmers requesting the
  235.      creation of a new ECHO devoted to beginning programmers.  I too am
  236.      a beginner but, I do not agree with this, I feel we need the
  237.      experience and wisdom that the more seasoned programmers bring to
  238.      the ECHO.  Though I don't agree with them, I do understand their
  239.      need.  It can be quite intimidating at times, seeing some of the
  240.      questions and the code other programmers have posted in the ECHO,
  241.      and it seems embarrassing to ask some of the more basic programming
  242.      questions.   Instead of creating a new ECHO, it is my hope that a new
  243.      section devoted to "Beginners Teaching Beginners", can be created in
  244.      the C Newsletter.  This way beginners will be learning from someone
  245.      with their own perspective, or on their own level if you will.  This
  246.      is the purpose of this article.
  247.  
  248.           The question that's asked quite frequently by beginners is,
  249.      "What's the best way to clear the screen?".  This depends on whether
  250.      or not anyone else will be using your program.  The simplest way to
  251.      clear the screen is by using ANSI escape codes, but it requires any
  252.      system running the program to have ansi.sys loaded in the config.sys
  253.      file of their computer.  This may not always be the case.  It's simple
  254.      and requires only one line of code to clear the screen:
  255.  
  256.       printf("%c[2J", 27);  /* 27 is the non-printing ASCII code for ESCAPE */
  257.                     OR
  258.       printf("\x1B[2J");    /* this is a variation of the same thing */    
  259.      
  260.           Another way to clear the screen is by using a call to the video
  261.       BIOS, contained in ROM on IBM PC compatible computers.  This would
  262.       require that the computer the program is running on to be BIOS
  263.       compatible.  This code is for a TURBO C compiler:
  264.      
  265.       #include <dos.h>
  266.  
  267.       void cls()
  268.       {
  269.       union REGS r;   /* defined in dos.h header file */
  270.       r.h.ah=6;     /* load ah register with screen SCROLL PAGE UP code */
  271.       r.h.al=0;     /* al register = no. of lines to scroll, 0 = all */
  272.       r.h.ch=0;     /* ch register = row of upper left corner of screen */
  273.       r.h.cl=0;     /* cl register = column of upper left corner */
  274.       r.h.dh=24;    /* dh register = row of lower right corner of screen */
  275.       r.h.dl=79;    /* dl register = column of lower right corner */
  276.       r.h.bh=7;     /* bh register = character attribute, 7 = NORMAL */
  277.       int86(0x10,&r,&r);  /* call VIDEO BIOS INTERRUPT 10h */
  278.       }
  279.  
  280.      C News 1-07                 Page 6                   30 May 1988
  281.  
  282.      ================================================================
  283.      Beginning C Functions: By Jack Hess  
  284.      ================================================================
  285.  
  286.      It is not necessary to understand UNIONS or interrupts to use
  287.      this function, and it's pretty fast.  Although this method is
  288.      frowned upon by more experienced programmers, my guess it's the
  289.      extra overhead of a call to the BIOS through an interrupt.  So, it
  290.      was at this point that I decided to try my hand at a more inter- 
  291.      mediate step up to mixing 'C' with assembly language.  I wrote an
  292.      assembly language procedure to write zeros directly into video ram
  293.      on my display adapter.  This is the fastest method possible to clear
  294.      the screen.  By doing so I learned a great many new things; the
  295.      command line version of TURBO C, TCC, the linker, TLINK, and not
  296.      least of all, some assembly language.  First I wrote the assembly
  297.      procedure with the MICROSOFT Macro Assembler V4.0, if you don't
  298.      have MASM you might try this with the SHAREWARE assembler, A86.
  299.      Although, I have not tried this, and cannot assure your success. 
  300.  
  301.      The first step is to compile the assembly source to an object module
  302.      by using:
  303.        
  304.        MASM CLS.ASM,,;
  305.        
  306.      The source code for the assembly procedure is:
  307.      
  308.      ;----------------------------------------------------------------------;
  309.      ; FAST_CLS assembly procedure to be called from TURBO C     V1.5       ;  
  310.      ; This procedure clears the screen by writing zeros directly into the  ;
  311.      ; screen buffer on the video adapter defined in variable "vid_mem".;
  312.      ; This is the fastest way to clear the screen.                         ;
  313.      ;----------------------------------------------------------------------;
  314.  
  315.      PUBLIC    _FAST_CLS    ; This tells the linker your procedure can be
  316.      NAME      FAST_CLS     ; called from other modules ie. C source file
  317.     _TEXT      SEGMENT   BYTE      PUBLIC    'CODE' ; Set up segment,
  318.                                                       TURBO C specific
  319.      ASSUME    CS:_TEXT
  320.  
  321.      VID_MEM        EQU  0B000h         ; Segment for MONO display adapter
  322.                                         ; change for your display type
  323.                                         ; CGA = 0B800h
  324.      ;------------------------------------------------------------------;
  325.      _FAST_CLS PROC NEAR
  326.           PUSH BP        ; Save the BP register
  327.           MOV  BP,SP          ; Make BP point to top of stack
  328.      
  329.           MOV  AX,VID_MEM     ; Point to mono display
  330.           MOV  ES,AX          ; Source = video adapter
  331.           MOV  DI,0      ; Destination = upper left corner
  332.           MOV  AX,0      ; Will fill buffer with zeros
  333.           MOV  CX,2000        ; Number of characters to write
  334.      C News 1-07                 Page 7                   30 May 1988
  335.  
  336.      ================================================================
  337.      Beginning C Functions: By Jack Hess  
  338.      ================================================================
  339.  
  340.           REP  STOSW          ; Fill screen buffer fast!
  341.           POP  BP        ; Restore BP register
  342.           RET            ; Return to calling program
  343.          _FAST_CLS  ENDP
  344.      ;------------------------------------------------------------------;
  345.  
  346.      _TEXT  ENDS
  347.           END
  348.           
  349.            This is the simplest method for mixing 'C' with assembly,
  350.      because there is no parameter passing involved, this procedure is
  351.      self contained.  Maybe in a future article, we could discuss parameter
  352.      passing if there is an interest for this type of article.  The leading
  353.      (_) underscore in the procedure name is necessary, so that it can be
  354.      recognized as an extern function, and be linked into the main 'C'
  355.      program at link time.  When calling the function from your 'C' program
  356.      it is called by it's name only (ie. fast_cls();).  The next step is to
  357.      compile your 'C' program that calls the fast_cls() function, by typing:
  358.  
  359.      TCC -ms -c prog_name.c
  360.      
  361.      This means compile the source code to an object module only (no linking),
  362.      using small memory model.  The next step is to link your main 'C' program
  363.      with the assembly module, by typing:
  364.  
  365.      TLINK lib\c0s prog_name cls, prog_name,,lib\cs
  366.      
  367.      This will link your program, the assembly module, and the small memory
  368.      model library into an executable file call PROG_NAME.
  369.  
  370.      I hope this has been of interest to you, and maybe you have learned a
  371.      few new topics in 'C'.  I was once told in college that 10% of the
  372.      learning process is teaching to others, and I have certainly learned
  373.      a few things bringing it to you.  I hope to be C'ing you in the future.
  374.  
  375.  
  376.      REFERENCES:
  377.            TURBO C Users Manual, Borland Int'l.
  378.            USING ASSEMBLY LANGUAGE, Allen L. Wyatt, QUE Publishing
  379.            SUPERCHARGING C WITH ASSEMBLY LANGUAGE, Harry R. Chesley &
  380.               Mitchell Waite, The Waite Group, Addison Wesley Publishing
  381.            ADVANCED TURBO C, Herbert Schildt, BORLAND-OSBORNE-McGRAW HILL   
  382.            THE BITWORKS, Douglas Wiig, The Inputer magazine
  383.      
  384.       Jack T. Hess
  385.       1213 Delores Dr.
  386.       Garland, Tx. 75040
  387.       (214) 414-1803      C News 1-07                 Page 8                   30 May 1988 
  388.       
  389.      ================================================================ 
  390.      ARTICLE SUBMISSION STANDARDS AND ADDRESSES  
  391.      ================================================================ 
  392.  
  393.           As I have repeatedly stated in this newsletter and previous 
  394.      issues, I would like to see user-submitted articles, reviews or 
  395.      questions.  Listed below are the standards that should be 
  396.      followed to make my job easier as an editor. 
  397.  
  398.  
  399.            - Articles should be submitted in a ASCII non-formatted 
  400.              file.   
  401.  
  402.            - If the article include code fragments as examples. Then 
  403.              you can include the entire source file if you like for  
  404.              inclusion with the newsletter. 
  405.  
  406.            - Book or magazine reviews should follow the same format, 
  407.              that is outlined in this issue.  The publisher, author, 
  408.              title, and ISBN number are a must.   
  409.  
  410.            - Compiler/and or product reviews, should include the 
  411.              version number and manufacture.  If possible, reviews 
  412.              should include a sample program with benchmarks. 
  413.  
  414.      
  415.            If you have any questions you can contact me at the 
  416.       address's included on the next page. 
  417.  
  418.      C News 1-07                  Page 9                  30 May 1988 
  419.   
  420.      ================================================================ 
  421.      ADDRESSES 
  422.      ================================================================ 
  423.  
  424.      The C BBS is located at: 
  425.  
  426.           C BBS 
  427.           % BCL Limited 
  428.           P.O. Box 9162 
  429.           McLean VA, 22102 
  430.  
  431.  
  432.      or you can send netmail to: 
  433.  
  434.  
  435.      1:109/713  
  436.  
  437.  
  438.  
  439.  
  440.            C News 1-07                 Page 10                  30 May 1988 
  441.       
  442.      ================================================================ 
  443.      USER RESPONSE FORM: 
  444.      ================================================================ 
  445.  
  446.      This form will be included as a regular feature in all future 
  447.      issues of C NEWS. 
  448.  
  449.  
  450.  
  451.      What did you think of the content of this Issue?  _____________ 
  452.       
  453.      _______________________________________________________________ 
  454.  
  455.  
  456.      What improvements can you think of that would make C News a 
  457.      better tool for the C Community? 
  458.  
  459.      _______________________________________________________________ 
  460.  
  461.      _______________________________________________________________ 
  462.  
  463.  
  464.      What is your favorite section or sections?  ___________________ 
  465.  
  466.      _______________________________________________________________ 
  467.  
  468.  
  469.      What don't you like about C News?  ____________________________ 
  470.  
  471.      _______________________________________________________________ 
  472.  
  473.  
  474.      Additional Comments:  _________________________________________ 
  475.  
  476.      _______________________________________________________________ 
  477.  
  478.      _______________________________________________________________ 
  479.  
  480.      _______________________________________________________________ 
  481.  
  482.      C News 1-07                 Page 11                  30 May 1988 
  483.       
  484.      ================================================================ 
  485.                                   INDEX 
  486.      ================================================================ 
  487.  
  488.      Subject:                                          Issue: 
  489.  
  490.      Articles: 
  491.  
  492.      Additional Comments of Filename Wild..             6
  493.      Beginning C Functions                              7
  494.      C Spot Run: A User Supported Library               7
  495.      Filename Wildcard Expansion in MSC                 4 
  496.      Integrated Environment: TC & QC                    5 
  497.      Talking with a Fossil                              5 
  498.      TurboC and Interrupts: A few Questions             2 
  499.        
  500.      Book Reviews: 
  501.  
  502.      C Chest: and other treasures.                      6
  503.      C Database Development                             1 
  504.      C Programming Guide                                1 
  505.      C Programming Language                             1 
  506.      C Programmer's Guide to Serial Communications      3 
  507.      C Programmer's Library                             1 
  508.      C Primer Plus                                      1 
  509.      C the Complete Reference                           2 
  510.      Crafting C Tools for the IBM PC                    2 
  511.      Learning to Program in C                           1 
  512.      Microsoft C Programming on the IBM PC              1 
  513.      MS-DOS Developer's Guide                           4 
  514.      Programming in Windows                             3 
  515.      Reliable Data Structures in C                      1 
  516.      TurboC: Memory Resident Utilities                  5 
  517.      TurboC Programmer's Reference Book                 2 
  518.  
  519.   
  520.      Compilers:  
  521.  
  522.      QuickC                                             1
  523.       
  524.      Software Reviews:  
  525.    
  526.      Bplus11.arc                                        3 
  527.      C_Dates.arc                                        4 
  528.      Cdate.arc                                          4 
  529.      Casm.arc                                           3 
  530.      C-subr.arc                                         4 
  531.      Docu.arc                                           3 
  532.      Jcl-src.arc                                        4 
  533.      Mscpopup.arc                                       3 
  534.      Ndmake41.arc                                       4 
  535.  
  536.      C News 1-07                 Page 12                  30 May 1988 
  537.       
  538.      ================================================================ 
  539.                                   INDEX 
  540.      ================================================================ 
  541.  
  542.      Subject:                                          Issue: 
  543.  
  544.      Software Reviews Cont: 
  545.  
  546.      Nuc-subr.arc                                       3
  547.      Prndoc.arc                                         6 
  548.      Sed.arc                                            6 
  549.      Shift_c.arc                                        4
  550.      Sysact11.arc                                       4 
  551.      Tp_to_qc.arc                                       3 
  552.      Xenixarc.arc                                       4 
  553.  
  554.      C News 1-07                 Page 13                  30 May 1988 
  555.       
  556.      ================================================================ 
  557.                            DISTRIBUTION POINTS 
  558.      ================================================================ 
  559.  
  560.  
  561.      Board Name               Number         Net/Node       Sysop 
  562.  
  563.      United States 
  564.  
  565.      C BBS               (703) 440-0240      1:109/713      Barry Lynch 
  566.      Burke, VA 
  567.  
  568.      Jaz C-Scape         (904) 724-1377      1:112/1027     Tom Evans 
  569.      Jacksonville, FL 
  570.  
  571.      Links.BBS           (916) 343-4422      1:119/13       Tom Baughman 
  572.      Chico, CA 
  573.  
  574.      Eastern C Board     (201) 247-6748      1:107/335      Todd Lehr 
  575.  
  576.      Rutgers1            (201) 932-4066      1:107/320      Michael Keyles 
  577.      Rutgers, NJ 
  578.  
  579.      PTC Net             (206) 757-4248      1:138/4        Arlen Fletcher 
  580.      Washington, State 
  581.   
  582.      
  583.  
  584.      Canada 
  585.  
  586.      Another BBS System  (416) 465-7752      1:148/208      Mark Bowman 
  587.      Toronto, Canada 
  588.  
  589.      Europe 
  590.  
  591.      Fido_N1_1               31-8350-37156     2:500/1        Henk Wevers 
  592.      The Netherlands 
  593.  
  594.      Australia 
  595.  
  596.      Alpha-Centuri BBS   011-61-3-874-3559    3:632/348     David Nugent 
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.