Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Info-Vax Digest V0 #12

16 views
Skip to first unread message

Info-Vax...@kl.sri.com.uucp

unread,
May 8, 1987, 12:39:00 AM5/8/87
to

Info-Vax Digest Thursday, 7 May 1987 Volume 0 : Issue 12

Today's Topics:
DECnet executor buffer size
JClock for VMS
Clearing the screen
DEC multicast addresses
Q-bus versus Unibus
Wanted: P/D tar tape reader for VMS
Problems with two UDA controllers in a MicroVAX
Re: Need faster VMS spawn
Command line redirection for VAX C
tape conversion program wanted
------------------------------

Date: Tue, 5 May 87 18:07 EDT
From: AB Stine <ABSTINE%CLVMS....@wiscvm.wisc.edu>
Subject: DECnet executor buffer size

Is there any advantage to setting the executor buffer size above 576?
The SYSGEN manual recommends that LRPSIZE be equal to the executor
buffer size for performance reasons, which i know, but what about
ethernet lines? they are set up at a buffer size of 1498. The books
seem to indicate that line buffers come out of LRP as well as serving
for NSP msgs. Just wondering...

art stine
systems programmer
clarkson u

------------------------------

Date: Tue, 5 May 87 17:18 EDT
From: MKrieg%UMASS....@wiscvm.wisc.edu
Subject: JClock for VMS

$! JCLOCK ARCHIVE FILE.
$!
$! CREATE A NEW, EMPTY SUBDIRECTORY, "SET DEFAULT" TO IT,
$! PUT THIS FILE IN THE NEW SUBDIRECTORY AS JCLOCK.ARC AND THEN @JCLOCK.ARC
$!
$!
$! SUPER-ULTRA-GIVE-AWAY-WARE PROGRAM...COPY AND DISTRIBUTE AT RANDOM.
$!
$!
$! MARK KRIEGSMAN, AUTHOR 87-05-05
$ write sys$output "This takes a minute; please wait..."
$ create jclock.com
$ deck/dollars="Bleah!Bleah!"
$ set nocontrol=(T,Y)
$ startup:= $JCLOCK$BASE:jclock.exe
$ startup 'p1
Bleah!Bleah!
$ create jclock.for
$ deck/dollars="Zap!Ouch!"
!=============================================================================!
! !
! J C L O C K - By Mark Kriegsman, around 2-87, at Hampshire College !
! Inspired by JCLOCK for the Macintosh (and God knows !
! where that came from) !
! !
! WHAT IT DOES is stick the current time (12 hour format) in the upper !
! right hand corner of the screen, and optionally ring an !
! Alarm (and blink) at a preset time. !
! !
! REQUIRES that users who wish to run it have at least one "free" !
! subprocess slot (try it, you'll get a message if you don't) !
! REQUIRES that it be run on a VT100 (or better) work-alike terminal. !
! The cursor codes are hard wired in to the program, and !
! not all terminals support "SAVE_CURSOR_POSITION" and the !
! corresponding RESTORE. !
! !
! BAD THINGS about it include: editing gets funny looking sometimes, !
! DCL gets spare CR/LF pairs thrown in sometimes. None !
! of this is fatal, or even Very Bad, but some is annoying. !
! !
! ODD THINGS about it include: mainly that if you start JC and then !
! SET HOST to a different node, the JC output follows you. !
! !
! INSTALLATION NOTE: many users can be running JC at once (each as their !
! own subprocess), so it is recommended that someone !
! put the files (JCLOCK.COM, JCLOCK.INIT, JCLOCK.EXE) !
! a World:Read+Execute subdirectory, and that !
! everyone run it from there. We do this, and !
! everybody gets to use it without having to HAVE it. !
! !
! RESOURCE DRAIN is really, really small. The subprocess HIBERnates for !
! most of the time, and even the IO is non-single-char. !
! Just for kicks, try using MON PROC/TOPCPU and watching !
! how little time it uses. !
! !
! AUTHOR, ADDRESS: Mark Kriegsman !
! Hampshire College !
! Amherst, MA 01002 !
! -or- !
! MKr...@UMass.BITNET !
! !
!=============================================================================!


REAL SECS,ONESEC
INTEGER HOUR,MINUTE,SECOND,ALLEN,MAZBUZ,BUZYET
CHARACTER*1 ESC,BEEP
CHARACTER*2 SAVE,REST,POST,TWODIG
CHARACTER*4 NORMAL
CHARACTER*7 HOME
CHARACTER*8 FLASH
CHARACTER*9 PRE
CHARACTER*10 TIME
CHARACTER*21 BIGGIE
CHARACTER*33 BIGGER
CHARACTER*10 ALTIME

STATUS = LIB$GET_FOREIGN(ALTIME,,ALLEN) ! See if we got an
IF (ALLEN .EQ. 0) ALTIME = 'No_Alarm' ! Alarm request

BEEP = CHAR(7) ! just to be clear:
ESC = CHAR(27) ! these codes work on
SAVE = ESC // '7' ! VT100s and "better"
REST = ESC // '8' ! terminals, perhaps ONLY.
HOME = ESC // '[0;70H'
FLASH = ESC // '[5m' // ESC // '[1m'
NORMAL = ESC // '[0m'
PRE = SAVE // HOME
POST = REST
ONESEC = 1.0 ! how often to update.
MAXBUZ = 3
BUZYET = 0

1 SECS = SECNDS(0.0) ! What time is it?
ISEX = IFIX(SECS) ! in seconds.

HOUR = ISEX / 3600 ! convert to HMS
IF (HOUR .GE. 12) HOUR = HOUR - 12
IF (HOUR .EQ. 0) HOUR = 12
ISEX = MOD(ISEX,3600)
MINUTE = ISEX / 60
SECOND = MOD(ISEX,60) ! now to HH:MM:SS

TIME = ' ' // TWODIG(HOUR) // ':' // TWODIG(MINUTE) // ':'
1 // TWODIG(SECOND) // ' '

BIGGIE = PRE // TIME // POST ! build string to send
IF (TIME(2:9) .GE. ALTIME(1:8)) THEN
BIGGER = FLASH // BIGGIE // NORMAL
WRITE (*,102) BIGGER
IF (BUZYET .LT. MAXBUZ) THEN
WRITE(*,103) BEEP
BUZYET = BUZYET + 1
END IF
ELSE
WRITE (*,101) BIGGIE
END IF

STATUS = LIB$WAIT(ONESEC) ! Wait for update
IF (.TRUE.) GOTO 1 ! most of the time, eh?

STOP

101 FORMAT('+',$,21A) ! Watch string length!!
102 FORMAT('+',$,33A)
103 FORMAT('+',$,1A)
END

c-------------------------------------------------------------------

CHARACTER FUNCTION TWODIG*2(INTGR)

c Takes as input an integer and returns a two-character string.

INTEGER INTGR,LD,HD

HD = INTGR / 10
LD = INTGR - (HD*10)

TWODIG = CHAR( HD +48) // CHAR( LD +48)

RETURN
END
Zap!Ouch!
$ create jclock.init
$ deck/dollars="gurglepop"
$ verify = f$verify(0)
$ normal1 = %x10000001
$ normal2 = %x00030001
$ message = f$environment("message")
$ set message/noid/noseverity/nofacility/notext
$ if p1 .eqs. "SHOW" then goto SHOWJCLOCK
$ if f$getdvi(f$trnlnm("tt"),"tt_ansicrt") .eqs. "FALSE" then goto NOTANSICRT
$ tries = 0
$ me = f$getjpi("","MASTER_PID")
$ !me = f$trnlnm("tt") - "TA" - ":"
$ TryStop:
$ on error then goto TryNewTT
$ stop "''me'_JClock"
$ if $status .eq. normal1 .or. $status .eq. normal2 then goto Stopped
$ write sys$output "Starting JClock"
$ altim = "XX:XX:XX"
$ if p1 .eqs. "" then goto NoAlarm
$ altim = f$cvtime(p1,,"hour") + ":" + f$cvtime(p1,,"minute") + ":" + f$cvtime(p
$ NoAlarm:
$ on error then goto NoSpawn
$ spawn/now/nonoti/out=tt:/proc="''me'_JClock" @JCLOCK$BASE:jclock.com 'altim
$ goto Done
$ TryNewTT:
$ if tries .eq. 2 then goto BigProblem
$ tries = tries + 1
$ me = "''me'" + "$"
$ goto TryStop
$ BigProblem:
$ write sys$output "Got a problem too big to fix, can't run JClock."
$ goto Done
$ ShowJClock:
$ scan/sub/nohead/trail/image="JCLOCK"
$ goto Done
$ NotAnsiCrt:
$ write sys$output "Terminal can't support JClock!"
$ if JCLOCK$TOLDYASO .eq. 1 then goto Done
$ JCLOCK$TOLDYASO == 1
$ write sys$output "Try SET TERM/INQ, or SET TERM/VT100."
$ goto Done
$ NoSpawn:
$ write sys$output "Can't spawn JClock subprocess!"
$ Stopped:
$ write sys$output "JClock Stopped"
$ Done:
$ set message'message
$ verify = f$verify(verify)
gurglepop
$ create jclock.help
$ deck/dollars="redbutton"


This is the subdirectory that contains all the parts and batteries for
using the JClock program (so called after the MacProgram of the same name).

JClock puts the current time in the upper right hand corner of any
VT100 (or better) terminal, and keeps it re-paints it every second.

To use it, use

$ DEFINE/NOLOG JCLOCK$BASE $$$MAGIC$$$
$ JC*LOCK :== @JCLOCK$BASE:JCLOCK.INIT

to set the command to access it.

Then, use JC to "install" JClock, and JC again to "remove" it. It conflicts
with a few things, but not PHONE, MAIL, <DCL>, or most anything else.

You can also use JC 4:30 (or something) to set an "alarm" for 4:30. Note that
1) this can be turned off by "removing" the ringing JCLOCK, and 2) it
only uses 12-hour time...not 24-hour.


redbutton
$ create $$$read.me
$ deck/dollars="bonanza"


No, on second thought don't read me, read JCLOCK.HELP.

Sorry for the difficulty.

bonanza
$ fortran jclock
$ link jclock
$ delete jclock.obj;*
$ set protection=(s:rwed,o:rwed,w:e) jclock.*
$ set protection=(w:re) jclock.for,jclock.help
$ here = f$enviro("default")
$ define/nolog JCLOCK$BASE 'here
$ open/write out jclock.temp
$ write out "$ edit jclock.help"
$ write out "subs/$$$MAGIC$$$/''here'/1:end/notype"
$ write out "exit"
$ close out
$ @jclock.temp/out=nl:
$ purge jclock.help
$ delete jclock.temp;*
$ write sys$output "ok, everything's unpacked."
$ write sys$output "You can delete JC.ARC now, but I'm not going to in case you
$ write sys$output "A) want to pass it along to someone else, or B) need to re-r
$ write sys$output "Execute the JCLOCK.INIT file to start or stop the program."
$ write sys$output "Use the command JC to test JClock now. (and to stop it, too
$ write sys$output "(Hit a few <RETURN>s after starting it.)
$ esc[0,8]=27
$ write sys$output "''esc'#3''esc'[1m''esc'[7mAND FOR GOD'S SAKE READ THE HELP."
$ write sys$output "''esc'#4AND FOR GOD'S SAKE READ THE HELP.''esc'[0m"

------------------------------

Date: Tue, 5 May 87 19:55 EDT
From: Jim Murawski <R021JM9W@CMCCVB>
Subject: Clearing the screen


The method that I use to clear the screen in DCL is via
a symbol definition in my Login.Com,

$ Bl*ank :== Type /Page NL:
-Jim Murawski
-Carnegie Mellon Computing Services
-Pittsburgh, PA
Disclaimer: Any opinions contained in the above message do not
necessarily reflect the views of my employer,
Carnegie Mellon.

------------------------------

Date: Tue, 05 May 87 20:08:03 EDT
From: Pat Barron <p...@SEI.CMU.EDU>
Subject: DEC multicast addresses

Does anyone have a list of the multicast addresses the various DEC Ethernet
devices use (like the MOP remote boot request address, etc.)?

--Pat.

------------------------------

Date: Tue, 5 May 87 15:52:20 EST
From: L...@vaxi.UWO.CDN
Subject: Q-bus versus Unibus

We want to take a number of our word processing users off of a VAX
11/785 and put them on a MicroVAX II. The MicroVAX will eventually
support 16 or more interactive processes, using EVE and WordPerfect,
and about a half dozen serial printers. User will communicate with
the MicroVAX via DHV11s at speed of up to 9600bps. Some interactive
communications via DECnet will also occur. The six of so printers
will operate at up to 19.2Kbps. The MicroVAX will also be connected
to our LAN via DECnet/Ethernet. The MicroVAX will have 13MB of memory,
3 DHV11s for asynch communications, a third party disk drive such as a
Fujitsu Eagle or CDC drive and a third party disk controller. The
system also has a TK50 for backup and a RD53/RQDX3.

Questions: - Will the MicroVAX handle 16 wordprocessing users, DECnet and
the six printers? (Some RUNOFF and TEK processing may
also be performed but we could restrict this to BATCH
usage only and put a JOB_LIMIT on the queue).

- What's the I/O rate of a Unibus versus the Q32 bus?

- Would the RD53/RQDX3 be useful after we install the much
bigger and faster third party disk (i.e. for paging,
swapping, system disk, etc.) or should we move everything
to the larger disk?

- What bottlenecks or other problems should I watch out
for?

Any information and personal experiences with a similiar environment
would be appreciated.

Les Flodrowski
Assistant Director (Systems and Applications)
Social Science Computing Laboratory
University of Western Ontario

E-mail address: L...@UWOVAX.BITNET

------------------------------

Date: 5 May 87 21:53:51 GMT
From: sundc!hadron!k...@seismo.css.gov (Kurt L. Reisler)
Subject: Wanted: P/D tar tape reader for VMS

I am trying to locate a VMS utility that would permit a UNIX tar
tape to be read. I am aware that the tar utility is a part of
the DECShell product, but the individual who needs the utility
does not have the funds available to purchase the DECShell.

If you have any knowledge of such a beast, please get in touch
with me directly (phone or E-mail) as I do not regularly read
this news group.

Thanks in advance

Kurt Reisler (703) 359-6100
============================================================================
UNISIG Chairman, DECUS US Chapter | Hadron, Inc.
..{seismo|sundc|rlgvax|dtix|decuac}!hadron!klr | 9990 Lee Highway
Sysop, Fido 109/74 The Bear's Den (703) 671-0598 | Suite 481
Sysop, Fido 109/483 The Pot of Gold (703) 359-6549 | Fairfax, VA 22030
============================================================================

------------------------------

Date: Tue, 5 May 87 23:41:53 EDT
From: Jeffrey C Honig <j...@omnigate.clarkson.edu>
Subject: Problems with two UDA controllers in a MicroVAX


I just purchased a Systems Industries QDA4EC/4382 combination. The
controller emulates a UDA/KDA50. I'm installing it on a MicroVAX-II that
already has an RQDX3/RD54 combination running BSD 4.3 Unix (Mt Xinu's
43+nfs).

I generated a system to support the current rqdx3/rd54 disk AND the new
controller/disk. The new disk is not yet installed but I booted anyway
to check the configuration. I was very surprized to watch it configure
uda0 and uda1 at the same address (172150). I wasn't that surprized to see
the system lock up after that point though.

After rebooting my old vmunix I looked at the uda driver code. It has
a section of conditional code delimited by VAX630 (i.e. MicroVAX) that
checks for (cpu == VAX_630) and assumes that there is one controller at
172150. Normally this code would init the controller at the gened in
address and wait for it to initialize.

Why is this code there? Is it because someone assumed that the uVAX
will only ever have one controller, because of a Q-BUS limitation, or
because the uda controllers used in development of the MicroVAX (RQDXn)
support don't respond the same as a UDA50?

If it is not a limitation of the Q-BUS, but of one of the DEC
controllers I belive I could modify the code to assume that a
controller at 772150 is a dumb controller and controllers at other
addresses respond the same as a UDA50. If it is a limitation of the
RQDX1 or 2 I can take the code out or add conditional compilation if an
RQDX1/2 is present.

Thanks

Jeff

----- End of forwarded messages

------------------------------

Date: 5 May 87 14:04:13 GMT
From: tedc...@tcgould.tn.cornell.edu (Ted Crane)
Subject: Re: Need faster VMS spawn

In article <6...@cognos.UUCP> ji...@cognos.UUCP (Jim Patterson) writes:
>I'm replying to your posting just to correct some apparent misunderstandings
>about a few of the VMS services.
>
>>You will have to look at the System Services manual to find out what it's
>>called, but I know that there is also a "exec"-like routine that overlays all
>>or part of your address space with a new program image.
>
>You won't find this in the system services manual. The routine you're
>referring to is the image activator, and it's used by DCL to merge a user
>program or image into the process address space as part of a RUN command.

Jim's right, there is an undocumented system service which interfaces to the
image activator. There is also a Run Time Library routine called

LIB$FIND_IMAGE_SYMBOL

which presents a limited interface to the image activator. It will locate
an image on disk, map it into your address space, and return to the caller
the value of a global symbol from that image. Usually, that value is the
address of a routine entry mask, and the caller can then call the routine.
If you call LIB$FIND_IMAGE_SYMBOL again (with the same image name), it is
smart enough not to map the image again--it just returns the global symbol value
from the existing image.

This technique can be used to some advantage, like not including whole portions
of your program unless they are really going to be used (example: ANAL/ERRLOG
is divided into many such images, and are bound up at run time). Unlike
sharable images, if you aren't going to call routines in the image, the image
need not even exist on disk!

One catch: the errors returned by LIB$FIND_IMAGE_SYMBOL are sometimes less
than helpful. For example, something like "invalid key in library" (a
librarian message) when you look for a symbol that isn't in the image!

------------------------------

Date: Wed, 6 May 87 09:41 EST
From: "GLENN EVERHART, 609 486 6328"
<EVERHART%ARISIA%rca...@RELAY.CS.NET>
Subject: Command line redirection for VAX C

The DECUS C kit (recently available on fall '85 RSX SIG tapes
from DECUS) contains a VAX native mode C library which has
the necessary tools to let VAX C do redirection. You just call
the getredirection() function to do it all... look in the
[.tools] directory ([5,something]) for examples. Why? Martin
Minow, at DEC, worked on DECUS C in the past and now works a lot
with VAX11 C. All the tools in that kit run native mode as well as
compat mode, and there are lots of them. The fall '85 RSX SIG tape
has other stuff of interest to VMS users (as do basically all the
RSX SIG tapes) and the recent ones are all available from the DECUS
library in both BRU format (readable on vax with vax/rsx) and in
VMS Backup format.
Call the library and have fun... there are LOTS of nifty
little C utilities (and some big ones) in the kit. (Focal in C anyone?)
Glenn Everhart

------------------------------

Date: 5 May 87 12:15:05 GMT
From: hao!noao!hsi!tan...@ames.arpa (Ed Tankus)
Subject: tape conversion program wanted

I'm not sure this request belongs here but I thought I would give it a try ...

I am looking for a tape conversion program that will allow us to read in a
VMS backup tape written under VMS 4.2(?) on a VAX 11/780 on to a VAX 11/785
under 4.3BSD.

Any help or info would be appreciated! I'll summarize if there is enough
interest.

Note: this is a one-shot deal so a commercial program is out.

Cheers!

-- Ed.

Net : {noao!ihnp4!yale!}!hsi!tankus
Snail: Health Systems Int'l, 100 Broadway, New Haven, CT 06511
Bell : (203) 562-2101

------------------------------

End of Info-Vax Digest
**********************

Chris Janton

unread,
May 8, 1987, 4:10:14 PM5/8/87
to
To clear the screen and ring the bell, leaving the cursor positioned on
the first line do the following - (assumes a VT100)

1. Create a file with the proper escape sequences: (assume name clear_bell)

<esc>[;H<esc>[J<bel>

2. Create an FDL file that looks like this (assume name clear_bell.fdl)

IDENT " 8-MAY-1987 12:40:05 VAX/VMS ANALYZE/RMS_FILE Utility"

SYSTEM
SOURCE VAX/VMS

FILE
ALLOCATION 3
BEST_TRY_CONTIGUOUS no
CLUSTER_SIZE 3
CONTIGUOUS no
EXTENSION 0
GLOBAL_BUFFER_COUNT 0
NAME "CLEAR_BELL."
ORGANIZATION sequential
OWNER [25,14]
PROTECTION (system:RWED, owner:RWED, group:RE, world:E)

RECORD
BLOCK_SPAN yes
CARRIAGE_CONTROL none
FORMAT variable
SIZE 255

The key point here is the carriage_control entry of "none"

3. Execute the command

Convert/Fdl=clear_bell clear_bell clear_bell
which creates a new version of the file clear_bell with the appropriate
file attributes.

4. Put the new clear_bell file in a suitable place.

5. In DCL procedures use the command

$ type clear_bell.

to clear the screen and ring the bell.

Note: I realize that this requires an image activation but TYPE is usually
installed so it shouldn't matter too much. How often do you clear the screen
anyway?

t...@blia.uucp

unread,
May 11, 1987, 5:09:29 PM5/11/87
to

According to _DECnet Digital Network Arch. Phase IV, Ethernet Data Link
Functional Spec._, DEC order number AA-Y298A-TK, page A-2, the DEC
Ethernet multicast addresses are as follows:

AB-00-00-01-00-00 MOP Dump/Load Assistance
AB-00-00-02-00-00 MOP Remote Console
AB-00-00-03-00-00 Received by Routing Layer on all Routing Nodes
AB-00-00-04-00-00 Received by Routing Layer on all End Nodes
AB-00-03-00-00-00 LAT Transport
AB-00-04-00-00-00 through
AB-00-04-00-FF-FF Reserved for customer use
AB-00-04-01-00-00 through
AB-00-04-01-FF-FF System Communication Architecture (SCA) [I don't know
what this is; wild guess: LAVC]

Hope this helps.
--
Ted Marshall ...!ucbvax!mtxinu!blia!ted <or> mtxinu!blia!t...@Berkeley.EDU
Britton Lee, Inc., 14600 Winchester Blvd, Los Gatos, Ca 95030 (408)378-7000
The opinions expressed above are those of the poster and not his employer.
"My hovercraft is full of eels" *fnord*

0 new messages