From:	MERC::"uunet!CRVAX.SRI.COM!RELAY-INFO-VAX" 12-MAR-1993 22:46:37.52
To:	Info-VAX@KL.SRI.COM
CC:	
Subj:	Re: vs4000 serial port baud rate?

"Brian A McMillan (44) 5057 5388" <MCMILLAN@COLLOQUIUM.CO.UK> writes:
>There is a patch to the YFDRIVER that allows your to run a DHQ11 at 38400 baud
>but it is a more than a little unsupported. VMS cannot handle the interrupts
>even on a fast box (I'm told). I tried it and found that whilst one line worked
>fine, two or more lines working simultaneously could cause hangs. 

Rubbish.  Even a MicroVAX II can cope if it's not doing too much else.
You've got about 50ms or so to empty the buffer, as opposed to 4ms for
back to back characters on the console port at 2400bps.....

>If you still want to play, you might want to fiddle with this:
> 
>$ PATCH YFDRIVER.EXE
>DEFINE YF$VMS_SPEEDS = 13C +0A1
>DEFINE YF$DHU_SPEEDS = 13C +0B3

Danger Will Robinson!

These values are *DIFFERENT* for various versions of VMS.  Can you say
"exception while above ASTDEL or on interrupt stack"?  Or even "Starting
memory dump"? 

Even if it does work, you don't mention the side-effects of the patch.
(I'm not actually certain whether these apply to the DHQ11; I've only
tested the DHV11.)

I should flame you to a crisp for posting that patch without these
qualifications.

My version of the patch follows ... (basically the same, but has the
documentation attached...)


$ PATCH YFDRIVER					! 16/1/93/dcs
!
! THIS IS A PATCH FOR V5.3-1 SYSTEMS ONLY!  See below for details on how to 
!                                           modify it for other versions.
!
! This patches YFDRIVER to allow the 38400 bits per second speed to be set 
! on a DHV11.  REMEMBER TO TAKE A COPY OF THE DRIVER BEFORE RUNNING IT.
!
! The DHV11's ports are split into pairs of ports 0 & 1, 2 & 3 and so-on.
! The speeds supported by the DHV11 are split into two groups (A & B), with
! most common speeds supported in both groups.  However, each port in a pair
! must both be supported in the same group.
!
! All the speeds supported by the unpatched YFDRIVER are in group B, so this
! problem doesn't arise.  However, 38400 is a group A speed only, and therefore
! the other port in a pair must be set to a speed that is supported in group
! A.  If you set a port to 38400 and the other port is in a group-B-only
! speed, it will be changed to a group A speed (or something odd).
!
! The group B speeds not supported in group A are:
!
!       Speed           Corresponding group A speed
!          75              50
!         150             200 *
!        1800            7200
!        2000            1050 *
!       19200           38400
!
! * These speeds are not defined group A speeds, and can only be selected
! by making a group B to group A switch via the other port in the pair.
!
! The value of 1DD (hex) for YF$VMS_SPEEDS is correct for VMS V5.3-1.  You may
! need to adjust this value for other versions of VMS.  The tables look like:
!
!       0DFF0BFF 0A090807 06050403 0201FFFF    YF$VMS_SPEEDS
!       0F000D0B 0A090807 06050403 0200FF0E    YF$VMS_SPEEDS+10
!                                  00000010    YF$VMS_SPEEDS+20
!
! prior to patching, which should assist in finding the correct value for
! YF$VMS_SPEEDS.  
!
! Disclaimer: you broke your system?  Silly you.  8-)
!
define YF$VMS_SPEEDS=1DD
define YF$DHU_SPEEDS=YF$VMS_SPEEDS+12
replace/byte YF$VMS_SPEEDS+11
  0FF
  exit
  0F
  exit
replace/byte YF$DHU_SPEEDS+0F
  00
  exit
  11
  exit
update
exit

--
Don Stokes, ZL2TNM (DS555)                        don@zl2tnm.gen.nz (home)
Network Manager, Computing Services Centre            don@vuw.ac.nz (work)
Victoria University of Wellington, New Zealand              +64-4-495-5052

