home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / dsp / dspgroup / dataio.arc / DATAIO.COM next >
Encoding:
Text File  |  1983-11-17  |  4.3 KB  |  153 lines

  1.  
  2. $  SAVE_VERIFY = 'F$VERIFY("NO")'
  3. $ !============================================================================
  4. $ ! DATAIO.COM
  5. $ !
  6. $ ! FUNCTION:
  7. $ !     Execute the DATA I/O download program.
  8. $ !
  9. $ ! INPUTS:
  10. $ !     P1 - load module to be downloaded
  11. $ !     P2 - Device name of the DATA I/O prom blower
  12. $ !
  13. $ ! DEFAULTS:
  14. $ !     PAS$INPUT  - the terminal.
  15. $ !     PAS$OUTPUT - the terminal.
  16. $ !
  17. $ ! OUTPUTS:
  18. $ !     Binary representation of the load module is sent to DATA I/O.
  19. $ !
  20. $ ! NOTE:
  21. $ !     * The user must be able to allocate the device specified.
  22. $ !
  23. $ !
  24. $ !============================================================================
  25. $  !
  26. $  IF "''F$MODE()'" .EQS. "BATCH" THEN GOTO MESS3
  27. $  ON ERROR THEN GOTO NOMORE 
  28. $  ON CONTROL_Y THEN GOTO MESS4
  29. $  !
  30. $  CUR_DISK := 'F$LOGICAL("SYS$DISK")'
  31. $  CUR_DIRECTORY := 'F$DIRECTORY()'
  32. $  ALLOC_DEV := FALSE
  33. $  !
  34. $  WRITE SYS$OUTPUT "  "
  35. $  WRITE SYS$OUTPUT "     D A T A   I / O   D O W N L O A D "
  36. $  WRITE SYS$OUTPUT "             P R O G R A M      "
  37. $  WRITE SYS$OUTPUT "  "
  38. $  WRITE SYS$OUTPUT "  "
  39. $  !
  40. $  !
  41. $   CHECKIT := 'T$LNKO'
  42. $   IF CHECKIT .EQS. "" THEN -
  43.      T$LNKO := " " 
  44. $  !
  45. $TRY_AGAIN:
  46. $  !
  47. $  IF P1 .EQS. "" THEN -
  48.       INQUIRE/NOPUNC P1 " Load Module (''T$LNKO') ? "
  49. $  IF P1 .EQS. "" THEN P1 := 'T$LNKO'
  50. $  !
  51. $FIRST_TIME: 
  52. $  IF P1 .EQS. "" THEN GOTO MESS1
  53. $  !
  54. $FINE1:
  55. $   DISK := 'F$PARSE(P1,T$LNKO,CUR_DISK,"DEVICE")'         !Default disk
  56. $   DIR  := 'F$PARSE(P1,T$LNKO,CUR_DIRECTORY,"DIRECTORY")' !Default directory
  57. $   NAME := 'F$PARSE(P1,T$LNKO,P1,"NAME")'                 !Default pathname
  58. $   EXT := 'F$PARSE(P1,T$LNKO,LOD$,"TYPE")'
  59. $   VER  := 'F$PARSE(P1,T$LNKO,";","VERSION")'
  60. $  !
  61. $   P1 := 'DISK''DIR''NAME''EXT''VER'
  62. $   T$LNKO :== 'P1'
  63. $  !
  64. $  ! See if the object file does exist
  65. $  !
  66. $  SET MESSAGE/NOFACILITY/NOIDENTIFICATION/NOSEVERITY/NOTEXT
  67. $  SET NOON
  68. $    OPEN TEST 'P1'                  
  69. $    IF $SEVERITY .NE. 1 THEN GOTO MESS1 !If the file isn't there go here
  70. $    CLOSE TEST
  71. $  SET ON
  72. $  SET MESSAGE/FACILITY/IDENTIFICATION/SEVERITY/TEXT
  73. $  !
  74. $SECOND:
  75. $  IF P2 .EQS. "" THEN -
  76.      INQUIRE/NOPUNC P2 " Prom blower device name ? "
  77. $  !
  78. $PARSE2:
  79. $   DISK := 'F$PARSE(P2,CUR_DISK,,"DEVICE")'          !Default disk
  80. $   SYM = F$PARSE("''DISK'")
  81. $   IF SYM .EQS. "" THEN GOTO MESS2
  82. $  !
  83. $NEXT_STEP:
  84. $  !
  85. $  IF "''F$LOGICAL("PAS$INPUT")'"  .NES. "" THEN DEASSIGN PAS$INPUT
  86. $  IF "''F$LOGICAL("PAS$OUTPUT")'" .NES. "" THEN DEASSIGN PAS$OUTPUT
  87. $  IF "''F$LOGICAL("INFILE")'"     .NES. "" THEN DEASSIGN INFILE
  88. $  IF "''F$LOGICAL("DIO0")'"       .NES. "" THEN DEASSIGN DATAIO
  89. $  !
  90. $   ASSIGN 'P1'    INFILE
  91. $   ASSIGN 'P2'    DATAIO
  92. $   ASSIGN  TT     PAS$INPUT       
  93. $   ASSIGN  TT     PAS$OUTPUT       
  94. OUTPUTCOMMAND$  !
  95. $  !
  96. $  WRITE SYS$OUTPUT "  "
  97. $  WRITE SYS$OUTPUT "  "
  98. $  ALLOCATE 'P2'
  99. $  !
  100. $  IF .NOT. $SEVERITY THEN GOTO MESS4
  101. $  ALLOC_DEV := TRUE
  102. $  WRITE SYS$OUTPUT "  "
  103. $  WRITE SYS$OUTPUT "  "
  104. $  WRITE SYS$OUTPUT "Execution Begins."
  105. $  WRITE SYS$OUTPUT "  "
  106. $  !
  107. $RUN_EPM:
  108. $  RUN EXEFILES:EPM
  109. $  !
  110. $  !
  111. $  WRITE SYS$OUTPUT "  "
  112. $  WRITE SYS$OUTPUT "Execution Ends.  "
  113. $  GOTO NOMORE
  114. $  !
  115. $MESS1:                            ! For errors in input
  116. $  WRITE SYS$OUTPUT " "
  117. $  WRITE SYS$OUTPUT " **** Input file does not exist ****"
  118. $  WRITE SYS$OUTPUT "     File ==> ''P1'"
  119. $  WRITE SYS$OUTPUT "  "
  120. $  P1 := ""
  121. $  T$LNKO := " " 
  122. $  GOTO TRY_AGAIN
  123. $  !
  124. $MESS2:
  125. $  WRITE SYS$OUTPUT " "
  126. $  WRITE SYS$OUTPUT " **** Invalid Device Specified ****"
  127. $  WRITE SYS$OUTPUT "     Device ==> ''P2'"
  128. $  WRITE SYS$OUTPUT " "
  129. $  P2 := ""
  130. $  GOTO SECOND
  131. $  !
  132. $MESS3:
  133. $  WRITE SYS$OUTPUT " "
  134. $  WRITE SYS$OUTPUT " **** THIS PROCEDURE CAN NOT BE ****"
  135. $  WRITE SYS$OUTPUT "         EXECUTED IN BATCH         "
  136. $  WRITE SYS$OUTPUT " "
  137. $  !
  138. $MESS4:
  139. $  WRITE SYS$OUTPUT " "
  140. $  WRITE SYS$OUTPUT " **** DATA I/O DOWNLOAD PROGRAM ****"
  141. $  WRITE SYS$OUTPUT "              ABORTED           "
  142. $  WRITE SYS$OUTPUT "  "
  143. $  !
  144. $NOMORE:
  145. $  IF "''F$LOGICAL("PAS$INPUT")'"  .NES. "" THEN DEASSIGN PAS$INPUT
  146. $  IF "''F$LOGICAL("PAS$OUTPUT")'" .NES. "" THEN DEASSIGN PAS$OUTPUT
  147. $  IF "''F$LOGICAL("INFILE")'"     .NES. "" THEN DEASSIGN INFILE
  148. $  IF "''F$LOGICAL("DIO0")'"       .NES. "" THEN DEASSIGN DIO0
  149. $ !
  150. $  V  = F$VERIFY('SAVE_VERIFY')         ! RESTORE VERIFY
  151. $  IF ALLOC_DEV THEN DEALLOCATE 'P2'
  152. $ !
  153. $EXIT