C                  INTERNATIONAL AVS CENTER
C        (This disclaimer must remain at the top of all files)
C
C WARRANTY DISCLAIMER
C
C This module and the files associated with it are distributed free of charge.
C It is placed in the public domain and permission is granted for anyone to use,
C duplicate, modify, and redistribute it unless otherwise noted.  Some modules
C may be copyrighted.  You agree to abide by the conditions also included in
C the AVS Licensing Agreement, version 1.0, located in the main module
C directory located at the International AVS Center ftp site and to include
C the AVS Licensing Agreement when you distribute any files downloaded from
C that site.
C
C The International AVS Center, MCNC, the AVS Consortium and the individual
C submitting the module and files associated with said module provide absolutely
C NO WARRANTY OF ANY KIND with respect to this software.  The entire risk as to
C the quality and performance of this software is with the user.  IN NO EVENT
C WILL The International AVS Center, MCNC, the AVS Consortium and the individual
C submitting the module and files associated with said module BE LIABLE TO
C ANYONE FOR ANY DAMAGES ARISING FROM THE USE OF THIS SOFTWARE, INCLUDING,
C WITHOUT LIMITATION, DAMAGES RESULTING FROM LOST DATA OR LOST PROFITS, OR ANY
C SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES.
C
C This AVS module and associated files are public domain software unless
C otherwise noted.  Permission is hereby granted to do whatever you like with
C it, subject to the conditions that may exist in copyrighted materials. Should
C you wish to make a contribution toward the improvement, modification, or
C general performance of this module, please send us your comments:  why you
C liked or disliked it, how you use it, and most important, how it helps your
C work. We will receive your comments at avs@ncsc.org.
C
C Please send AVS module bug reports to avs@ncsc.org.
C
      subroutine cgbmvi(string)
*                ======
*     Working out the Calcomp strokes
*     -------------------------------
C   IAC CODE CHANGE :       include 'cgblock.f'
	INCLUDE 'cgblock.f'
      character string*(*),code*2
      integer getal(2)
      logical low,high
      data n48,n57,n65,n70,n55 /
     /      48, 57, 65, 70, 55 /
*
      nodes=len(string)/2
      do 10 node=1,nodes
      i=2*node-1
* ... Decode hexadecimal ...
      code=string(i:i+1)
      do 15 l=1,2
* ... Decode hexadecimal ...
      getal(l)=ichar(code(l:l))
      low=getal(l).ge.n48.and.getal(l).le.n57
      high=getal(l).ge.n65.and.getal(l).le.n70
      if(low) getal(l)=getal(l)-n48
      if(high) getal(l)=getal(l)-n55
   15 continue
      ixs(node)=getal(1)
      iys(node)=getal(2)
   10 continue
      return
      end