* INSTALL.CMD
* RLS
* MAR 1986
* copyright this date; all rights reserved
ERASE
SET TALK OFF
SET INTENSITY OFF
RESTORE FROM GRAPHICS ADDITIVE
@ 1,0 SAY gr:on
@ 1,1 SAY gr:ltc + gr:line
@ 2,1 SAY gr:vert
@ 3,1 SAY gr:vert
@ 4,1 SAY gr:vert
@ 5,1 SAY gr:vert
@ 6,1 SAY gr:vert
@ 7,1 SAY gr:lbc+gr:line
@ 7,79 SAY gr:rbc
@ 6,79 SAY gr:vert
@ 5,79 SAY gr:vert
@ 4,79 SAY gr:vert
@ 3,79 SAY gr:vert
@ 2,79 SAY gr:vert
@ 1,79 SAY gr:rtc
@ 8,1 SAY gr:off
RELEASE ALL LIKE gr:*
@ 4,14 SAY "d B A S E   G R A P H I C S   I N S T A L L A T I O N "
STORE t TO nothru
DO WHILE nothru
@ 10,5 SAY "This module replaces the default graphics characters with the "
@ 11,5 SAY "characters you specify.  You will need the technical information"
@ 12,5 SAY "about your computer's graphics commands to complete the "
@ 13,5 SAY "installation.   "
@ 14,5 SAY "      Are you ready to proceed? <Y>es/<N>o "
SET CONSOLE OFF
WAIT TO ans
SET CONSOLE ON
IF !(ans) = 'N'
  RELEASE nothru, ans
  RETURN
ENDIF
@ 10,0
@ 11,0
@ 12,0
@ 13,0
@ 14,0
@ 10,5 SAY "This program makes very few assumptions about your terminal." 
@ 11,5 SAY "It builds the proper sequence of strings from your input."
@ 12,5 SAY "Entering a carriage return will end the string."
@ 13,5 SAY "If your terminal does not support a particular attribute,"
@ 14,5 SAY "please enter a DECIMAL 0 for that prompt."
SET CONSOLE OFF
WAIT
SET CONSOLE ON
@ 10,0
@ 11,0
@ 12,0
@ 13,0
@ 14,0
STORE "   " TO decimal
STORE t TO notrite
DO WHILE notrite
  @ 10,5 SAY "For your terminal to turn on REVERSE VIDEO: "
  @ 11,5 SAY "enter the DECIMAL ASCII of the first character " 
  @ 12,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE "CHR(&decimal)" TO mrvon
  STORE t TO nofinish
  DO WHILE nofinish
  STORE "   " TO decimal
  @ 11,0
  @ 12,0
  @ 13,0
  @ 11,5 SAY "enter the DECIMAL ASCII of the next character "
  @ 12,20 GET decimal PICTURE "###"
  READ
  CLEAR GETS
  IF decimal = " "
    STORE f TO nofinish
  ELSE
    STORE mrvon+"+ CHR(&decimal)" TO mrvon
  ENDIF
  ENDDO nofinish
  @ 11,0
  @ 12,0
  @ 11,20 SAY mrvon
  @ 12,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE &mrvon TO gr:rvon
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
  ENDIF
  ENDDO
@ 10,0
@ 11,0
@ 12,0
@ 13,0
@ 14,0
STORE "   " TO decimal
STORE t TO notrite
DO WHILE notrite
  @ 10,5 SAY "For your terminal to turn off REVERSE VIDEO: "
  @ 11,5 SAY "enter the DECIMAL ASCII of the first character " 
  @ 12,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE "CHR(&decimal)" TO mrvoff
  STORE t TO nofinish
  DO WHILE nofinish
  STORE "   " TO decimal
  @ 11,0
  @ 12,0
  @ 11,5 SAY "enter the DECIMAL ASCII of the next character "
  @ 12,20 GET decimal PICTURE "###"
  READ
  CLEAR GETS
  IF decimal = " "
    STORE f TO nofinish
  ELSE
    STORE mrvoff+"+ CHR(&decimal)" TO mrvoff
  ENDIF
  ENDDO nofinish
  @ 11,0
  @ 12,0
  @ 11,20 SAY mrvoff
  @ 12,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE &mrvoff TO gr:rvoff
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
  ENDIF
  ENDDO
@ 10,0
@ 11,0
@ 12,0
@ 13,0
@ 14,0
STORE "   " TO decimal
STORE t TO notrite
DO WHILE notrite
  @ 10,5 SAY "For your terminal to turn on BLINKING"
  @ 11,5 SAY "enter the DECIMAL ASCII of the first character " 
  @ 12,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE "CHR(&decimal)" TO mbon
  STORE t TO nofinish
  DO WHILE nofinish
  STORE "   " TO decimal
  @ 11,0
  @ 12,0
  @ 11,5 SAY "enter the DECIMAL ASCII of the next character "
  @ 12,20 GET decimal PICTURE "###"
  READ
  CLEAR GETS
  IF decimal = " "
    STORE f TO nofinish
  ELSE
    STORE mbon+"+ CHR(&decimal)" TO mbon
  ENDIF
  ENDDO nofinish
  @ 11,0
  @ 12,0
  @ 11,20 SAY mbon
  @ 12,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE &mbon TO gr:bon
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
  ENDIF
  ENDDO
@ 10,0
@ 11,0
@ 12,0
@ 13,0
@ 14,0
STORE "   " TO decimal
STORE t TO notrite
DO WHILE notrite
  @ 10,5 SAY "For your terminal to turn off BLINKING"
  @ 11,5 SAY "enter the DECIMAL ASCII of the first character " 
  @ 12,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE "CHR(&decimal)" TO mboff
  STORE t TO nofinish
  DO WHILE nofinish
  STORE "   " TO decimal
  @ 11,0
  @ 12,0
  @ 11,5 SAY "enter the DECIMAL ASCII of the next character "
  @ 12,20 GET decimal PICTURE "###"
  READ
  CLEAR GETS
  IF decimal = " "
    STORE f TO nofinish
  ELSE
    STORE mboff+"+ CHR(&decimal)" TO mboff
  ENDIF
  ENDDO nofinish
  @ 11,0
  @ 12,0
  @ 11,20 SAY mboff
  @ 12,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE &mboff TO gr:boff
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
  ENDIF
  ENDDO
@ 10,0
@ 11,0
@ 12,0
@ 13,0
@ 14,0
STORE "   " TO decimal
STORE t TO notrite
DO WHILE notrite
  @ 10,5 SAY "For your terminal to turn on GRAPHICS MODE"
  @ 11,5 SAY "enter the DECIMAL ASCII of the first character " 
  @ 12,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE "CHR(&decimal)" TO mon
  STORE t TO nofinish
  DO WHILE nofinish
  STORE "   " TO decimal
  @ 11,0
  @ 12,0
  @ 11,5 SAY "enter the DECIMAL ASCII of the next character "
  @ 12,20 GET decimal PICTURE "###"
  READ
  CLEAR GETS
  IF decimal = " "
    STORE f TO nofinish
  ELSE
    STORE mon+"+ CHR(&decimal)" TO mon
  ENDIF
  ENDDO nofinish
  @ 11,0
  @ 12,0
  @ 11,20 SAY mon
  @ 12,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE &mon TO gr:on
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
  ENDIF
  ENDDO
@ 10,0
@ 11,0
@ 12,0
@ 13,0
@ 14,0
STORE "   " TO decimal
STORE t TO notrite
DO WHILE notrite
  @ 10,5 SAY "For your terminal to turn off GRAPHICS MODE"
  @ 11,5 SAY "enter the DECIMAL ASCII of the first character " 
  @ 12,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE "CHR(&decimal)" TO moff
  STORE t TO nofinish
  DO WHILE nofinish
  STORE "   " TO decimal
  @ 11,0
  @ 12,0
  @ 11,5 SAY "enter the DECIMAL ASCII of the next character "
  @ 12,20 GET decimal PICTURE "###"
  READ
  CLEAR GETS
  IF decimal = " "
    STORE f TO nofinish
  ELSE
    STORE moff+"+ CHR(&decimal)" TO moff
  ENDIF
  ENDDO nofinish
  @ 11,0
  @ 12,0
  @ 11,20 SAY moff
  @ 12,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE &moff TO gr:off
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
  ENDIF
  ENDDO
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "The rest of the installation deals with specific characters"
  @ 11,5 SAY "displayed in graphics mode.  Only one character is requested."
  SET CONSOLE OFF
  WAIT
  SET CONSOLE ON
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 10,5 SAY "Enter the character to make a HORIZONTAL LINE: "  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE ' ' TO grstring
  DO WHILE LEN(grstring) < 79
  STORE CHR(&decimal)+grstring TO grstring
  ENDDO
  @ 10,1 SAY gr:on
  @ 11,1 SAY grstring
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE grstring TO gr:line 
    RELEASE grstring
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "Enter the character to make a VERTICAL LINE: "  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE CHR(&decimal) TO mvert
  @ 10,0
  @ 11,0
  @ 10,1 SAY gr:on
  @ 11,5 SAY mvert
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE mvert TO gr:vert 
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "Enter the character to make an UPPPER LEFT CORNER: "  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE CHR(&decimal) TO mltc
  @ 10,0
  @ 11,0
  @ 10,1 SAY gr:on
  @ 11,5 SAY mltc
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE mltc TO gr:ltc 
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "Enter the character to make an UPPPER RIGHT CORNER: "  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE CHR(&decimal) TO mrtc
  @ 10,0
  @ 11,0
  @ 10,1 SAY gr:on
  @ 11,5 SAY mrtc
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE mrtc TO gr:rtc 
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "Enter the character to make a LOWER RIGHT CORNER: "  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE CHR(&decimal) TO mrbc
  @ 10,0
  @ 11,0
  @ 10,1 SAY gr:on
  @ 11,5 SAY mrbc
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE mrbc TO gr:rbc 
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "Enter the character to make a LOWER LEFT CORNER: "  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE CHR(&decimal) TO mlbc
  @ 10,0
  @ 11,0
  @ 10,1 SAY gr:on
  @ 11,5 SAY mlbc
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE mlbc TO gr:lbc 
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "The last section of questions deals with TEES, those places "
  @ 11,5 SAY "that lines connect.  Aside from the full cross, the direction "
  @ 12,5 SAY "mentioned refers to the direction of the odd connector."
  @ 13,5 SAY "For example, the letter 'T' points down."
  SET CONSOLE OFF
  WAIT
  SET CONSOLE ON
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "Enter the character to make a FULL CROSS:"  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE CHR(&decimal) TO mtee
  @ 10,0
  @ 11,0
  @ 10,1 SAY gr:on
  @ 11,5 SAY mtee
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE mtee TO gr:tee 
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "Enter the character to make a DOWNWARD TEE"  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE CHR(&decimal) TO mumid
  @ 10,0
  @ 11,0
  @ 10,1 SAY gr:on
  @ 11,5 SAY mumid
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE mumid TO gr:umid 
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "Enter the character to make an UPWARD TEE"  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE CHR(&decimal) TO mbmid
  @ 10,0
  @ 11,0
  @ 10,1 SAY gr:on
  @ 11,5 SAY mbmid
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE mbmid TO gr:bmid 
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "Enter the character to make a LEFTWARD TEE"  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE CHR(&decimal) TO mrmid
  @ 10,0
  @ 11,0
  @ 10,1 SAY gr:on
  @ 11,5 SAY mrmid
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE mrmid TO gr:rmid 
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  STORE "   " TO decimal
  STORE t TO notrite
  DO WHILE notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 10,5 SAY "Enter the character to make a RIGHTWARD TEE"  
  @ 11,20 GET decimal PICTURE "###"
  READ 
  CLEAR GETS
  STORE CHR(&decimal) TO mlmid
  @ 10,0
  @ 11,0
  @ 10,1 SAY gr:on
  @ 11,5 SAY mlmid
  @ 12,1 SAY gr:off
  @ 13,5 SAY "Is this correct? <Y>es/<N>o "
  SET CONSOLE OFF
  WAIT TO ans
  SET CONSOLE ON
  IF !(ans) = "Y"
    STORE mlmid TO gr:lmid 
    STORE f TO notrite
  ELSE
    @ 10,0
    @ 11,0
    @ 12,0
    @ 13,0
  ENDIF
  ENDDO notrite
  @ 10,0
  @ 11,0
  @ 12,0
  @ 13,0
  @ 14,0
  @ 10,5 SAY "That is all there is!"
  @ 12,5 SAY "To save your work, please enter a three letter abbreviation"
  @ 13,5 SAY "for your computer type. (Ex.: OSB = Osborne)"
  STORE "   " TO gr:ext
  DO WHILE gr:ext = "   "
  @ 14,20 GET gr:ext PICTURE "!!!"
  READ
  ENDDO
  * now clean up this mess!
  RELEASE ALL EXCEPT gr:*
  SAVE TO graphics.&gr:ext
  @ 15,5 SAY "Renaming the file just created to GRAPHICS.MEM"
  @ 16,5 SAY "will allow it to be used by the dBase II program. "
  SET CONSOLE OFF
  WAIT
  SET CONSOLE ON
  RETURN
  