home *** CD-ROM | disk | FTP | other *** search
-
- $ SAVE_VERIFY = 'F$VERIFY("NO")'
- $ !============================================================================
- $ ! DATAIO.COM
- $ !
- $ ! FUNCTION:
- $ ! Execute the DATA I/O download program.
- $ !
- $ ! INPUTS:
- $ ! P1 - load module to be downloaded
- $ ! P2 - Device name of the DATA I/O prom blower
- $ !
- $ ! DEFAULTS:
- $ ! PAS$INPUT - the terminal.
- $ ! PAS$OUTPUT - the terminal.
- $ !
- $ ! OUTPUTS:
- $ ! Binary representation of the load module is sent to DATA I/O.
- $ !
- $ ! NOTE:
- $ ! * The user must be able to allocate the device specified.
- $ !
- $ !
- $ !============================================================================
- $ !
- $ IF "''F$MODE()'" .EQS. "BATCH" THEN GOTO MESS3
- $ ON ERROR THEN GOTO NOMORE
- $ ON CONTROL_Y THEN GOTO MESS4
- $ !
- $ CUR_DISK := 'F$LOGICAL("SYS$DISK")'
- $ CUR_DIRECTORY := 'F$DIRECTORY()'
- $ ALLOC_DEV := FALSE
- $ !
- $ WRITE SYS$OUTPUT " "
- $ WRITE SYS$OUTPUT " D A T A I / O D O W N L O A D "
- $ WRITE SYS$OUTPUT " P R O G R A M "
- $ WRITE SYS$OUTPUT " "
- $ WRITE SYS$OUTPUT " "
- $ !
- $ !
- $ CHECKIT := 'T$LNKO'
- $ IF CHECKIT .EQS. "" THEN -
- T$LNKO := " "
- $ !
- $TRY_AGAIN:
- $ !
- $ IF P1 .EQS. "" THEN -
- INQUIRE/NOPUNC P1 " Load Module (''T$LNKO') ? "
- $ IF P1 .EQS. "" THEN P1 := 'T$LNKO'
- $ !
- $FIRST_TIME:
- $ IF P1 .EQS. "" THEN GOTO MESS1
- $ !
- $FINE1:
- $ DISK := 'F$PARSE(P1,T$LNKO,CUR_DISK,"DEVICE")' !Default disk
- $ DIR := 'F$PARSE(P1,T$LNKO,CUR_DIRECTORY,"DIRECTORY")' !Default directory
- $ NAME := 'F$PARSE(P1,T$LNKO,P1,"NAME")' !Default pathname
- $ EXT := 'F$PARSE(P1,T$LNKO,LOD$,"TYPE")'
- $ VER := 'F$PARSE(P1,T$LNKO,";","VERSION")'
- $ !
- $ P1 := 'DISK''DIR''NAME''EXT''VER'
- $ T$LNKO :== 'P1'
- $ !
- $ ! See if the object file does exist
- $ !
- $ SET MESSAGE/NOFACILITY/NOIDENTIFICATION/NOSEVERITY/NOTEXT
- $ SET NOON
- $ OPEN TEST 'P1'
- $ IF $SEVERITY .NE. 1 THEN GOTO MESS1 !If the file isn't there go here
- $ CLOSE TEST
- $ SET ON
- $ SET MESSAGE/FACILITY/IDENTIFICATION/SEVERITY/TEXT
- $ !
- $SECOND:
- $ IF P2 .EQS. "" THEN -
- INQUIRE/NOPUNC P2 " Prom blower device name ? "
- $ !
- $PARSE2:
- $ DISK := 'F$PARSE(P2,CUR_DISK,,"DEVICE")' !Default disk
- $ SYM = F$PARSE("''DISK'")
- $ IF SYM .EQS. "" THEN GOTO MESS2
- $ !
- $NEXT_STEP:
- $ !
- $ IF "''F$LOGICAL("PAS$INPUT")'" .NES. "" THEN DEASSIGN PAS$INPUT
- $ IF "''F$LOGICAL("PAS$OUTPUT")'" .NES. "" THEN DEASSIGN PAS$OUTPUT
- $ IF "''F$LOGICAL("INFILE")'" .NES. "" THEN DEASSIGN INFILE
- $ IF "''F$LOGICAL("DIO0")'" .NES. "" THEN DEASSIGN DATAIO
- $ !
- $ ASSIGN 'P1' INFILE
- $ ASSIGN 'P2' DATAIO
- $ ASSIGN TT PAS$INPUT
- $ ASSIGN TT PAS$OUTPUT
- OUTPUTCOMMAND$ !
- $ !
- $ WRITE SYS$OUTPUT " "
- $ WRITE SYS$OUTPUT " "
- $ ALLOCATE 'P2'
- $ !
- $ IF .NOT. $SEVERITY THEN GOTO MESS4
- $ ALLOC_DEV := TRUE
- $ WRITE SYS$OUTPUT " "
- $ WRITE SYS$OUTPUT " "
- $ WRITE SYS$OUTPUT "Execution Begins."
- $ WRITE SYS$OUTPUT " "
- $ !
- $RUN_EPM:
- $ RUN EXEFILES:EPM
- $ !
- $ !
- $ WRITE SYS$OUTPUT " "
- $ WRITE SYS$OUTPUT "Execution Ends. "
- $ GOTO NOMORE
- $ !
- $MESS1: ! For errors in input
- $ WRITE SYS$OUTPUT " "
- $ WRITE SYS$OUTPUT " **** Input file does not exist ****"
- $ WRITE SYS$OUTPUT " File ==> ''P1'"
- $ WRITE SYS$OUTPUT " "
- $ P1 := ""
- $ T$LNKO := " "
- $ GOTO TRY_AGAIN
- $ !
- $MESS2:
- $ WRITE SYS$OUTPUT " "
- $ WRITE SYS$OUTPUT " **** Invalid Device Specified ****"
- $ WRITE SYS$OUTPUT " Device ==> ''P2'"
- $ WRITE SYS$OUTPUT " "
- $ P2 := ""
- $ GOTO SECOND
- $ !
- $MESS3:
- $ WRITE SYS$OUTPUT " "
- $ WRITE SYS$OUTPUT " **** THIS PROCEDURE CAN NOT BE ****"
- $ WRITE SYS$OUTPUT " EXECUTED IN BATCH "
- $ WRITE SYS$OUTPUT " "
- $ !
- $MESS4:
- $ WRITE SYS$OUTPUT " "
- $ WRITE SYS$OUTPUT " **** DATA I/O DOWNLOAD PROGRAM ****"
- $ WRITE SYS$OUTPUT " ABORTED "
- $ WRITE SYS$OUTPUT " "
- $ !
- $NOMORE:
- $ IF "''F$LOGICAL("PAS$INPUT")'" .NES. "" THEN DEASSIGN PAS$INPUT
- $ IF "''F$LOGICAL("PAS$OUTPUT")'" .NES. "" THEN DEASSIGN PAS$OUTPUT
- $ IF "''F$LOGICAL("INFILE")'" .NES. "" THEN DEASSIGN INFILE
- $ IF "''F$LOGICAL("DIO0")'" .NES. "" THEN DEASSIGN DIO0
- $ !
- $ V = F$VERIFY('SAVE_VERIFY') ! RESTORE VERIFY
- $ IF ALLOC_DEV THEN DEALLOCATE 'P2'
- $ !
- $EXIT