[Simh] Enhancement Request: Additional Built-In Variable

Robert W.Mills rwmills.uk at gmail.com
Sun Jan 13 12:22:58 EST 2019


Dave,

Thanks for the Date Diff JCW info.

I am using the following in my script which works fine:

    set env -a DATE_YY_DIF=DATE_YYYY-1900-DATE_19XX_YY
    go until "\r\n:" ; send "SETJCW DIFFYEAR=%DATE_YY_DIF%\r"

I have attached a copy of the 'do command' files that I am using as a
thank you.

Robert
-------------- next part --------------
; Mount a Tape on the specified HP7970E Tape Drive.

if "%1"!="?" goto start

echo
echo Syntax: do mount ldev mode file
echo . ldev = 7, 8 or 9
echo . mode = n (new) or r (read only)
echo . file = Tape Image filename
goto done

:start

if "%1"=="7" goto ldev-ok
if "%1"=="8" goto ldev-ok
if "%1"=="9" goto ldev-ok

:ldev-error

echo ERROR: Invalid LDEV entered. Valid values: 7, 8, and 9.
goto done    

:ldev-ok

if "%2"=="n" goto mode-ok
if "%2"=="r" goto mode-ok

:mode-error

echo ERROR: Invalid mode entered. Valid values: n (new), and r (read only).
goto done    

:mode-ok

if "%3"!="" goto name-ok
echo ERROR: Filename for the Tape Image not entered.
goto done

:name-ok

; - LDEV #7
if "%1"=="7" set ms0 7970E ; attach -%2 ms0 %3 ; show ms0

; - LDEV #8
if "%1"=="8" set ms1 7970E ; attach -%2 ms1 %3 ; show ms1

; - LDEV #9
if "%1"=="9" set ms2 7970E ; attach -%2 ms2 %3 ; show ms2

:done

send "\r"
continue

-------------- next part --------------
; Unmount the specified Tape Image.

if "%1"!="?" goto start

echo
echo Syntax: do unmount ldev
echo . ldev = 7, 8 or 9
goto done

:start

if "%1"=="7" goto ldev-ok
if "%1"=="8" goto ldev-ok
if "%1"=="9" goto ldev-ok

:ldev-error

echo ERROR: Invalid LDEV entered. Valid values: 7, 8, and 9.
goto done    

:ldev-ok

if "%1"=="7" detach ms0; show ms0
if "%1"=="8" detach ms1; show ms1
if "%1"=="9" detach ms2; show ms2

:done

send "\r"
continue

-------------- next part --------------
; Place the specified Tape Drive or Printer online.

if "%1"!="?" goto start

echo
echo Syntax: do online ldev
echo . ldev = 6 (LP), 7 (TAPE), 8 (TAPE) or 9 (TAPE)
goto done

:start

if "%1"=="6" set lp online; goto done
if "%1"=="7" set ms0 online; goto done
if "%1"=="8" set ms1 online; goto done
if "%1"=="9" set ms2 online; goto done

:error

echo ERROR: Invalid LDEV entered. Valid values: 6, 7, 8, and 9.

:done

send "\r"
continue

-------------- next part --------------
; Place the specified Tape Drive or Printer offline.

if "%1"!="?" goto start

echo
echo Syntax: do offline ldev
echo . ldev = 6 (LP), 7 (TAPE), 8 (TAPE) or 9 (TAPE)
goto done

:start

if "%1"=="6" set lp offline; goto done
if "%1"=="7" set ms0 offline; goto done
if "%1"=="8" set ms1 offline; goto done
if "%1"=="9" set ms2 offline; goto done

:error

echo ERROR: Invalid LDEV entered. Valid values: 6, 7, 8, and 9.

:done

send "\r"
continue

-------------- next part --------------
; Load paper into the line printer.

if "%1"!="?" goto start

echo
echo Syntax: do paper mode file
echo . mode = n (new) or a (append)
echo . file = Printer Image filename
goto done

:start

if "%1"=="n" goto mode-ok
if "%1"=="a" goto mode-ok

:mode-error

echo ERROR: Invalid mode entered. Valid values: n (new), and a (append).
goto done    

:mode-ok

if "%2"!="" goto name-ok
echo ERROR: Filename for the Printer Image not entered.
goto done

:name-ok

if "%1"=="n" attach -n lp %2 
if "%1"=="a" attach lp %2

:done

send "\r"
continue

-------------- next part --------------
; List status of all discs, printers and magnetic tape drives.

if "%1"!="?" goto start

echo
echo Syntax: do showdev
goto done

:start

echo
echo LDEV #1 (DISC)
show ds0
echo LDEV #2 (DISC)
show ds1
echo LDEV #6 (LP)
show lp
echo LDEV #7 (TAPE)
show ms0
echo LDEV #8 (TAPE)
show ms1
echo LDEV #9 (TAPE)
show ms2

:done

send "\r"
continue


More information about the Simh mailing list