  Device Driver Documentation? 
 The Question is:
 
Sorry to bother you with this, but I've been diligently looking for answers
from my contacts and from the web and "no joy" yet.
 
I'm porting a set of vax vms drivers to alpha vms. Additionally, these are
drivers for DR11-C (and W) devices, so we're using
a 3rd party PCI look-alike cards. The third party has drivers, written in
vax macro (compiled on the alpha), and I have the original
vax drivers.
 
My strategy is to read both drivers and cull the code I need into a new
drivers, written in C. It's going pretty well but I am running into a few
problems
 
1. I am having trouble finding documentation on the system macros, e.g.
$EQU. I have found some doc in the VAX device driver support
reference, but not all ($EQU is an example, but I know what that means).
 
2. The existing 3rd party driver has a workaround in it. The workaround is
most easily explained by the code:
BBS	#IDB$V_MCJ, -		; Did they fix IOHANDLE allocation yet?
IDB$L_FLAGS(R5), 1492$
MOVL	#MCJ$S_MCJ+&lt;2*8&gt;, R1	; Nope, allocate 2 IOHANDLE pointers
JSB	G^EXE$ALONONPAGED
 
In converting to C I did find the call_entry routine exe$std_alononpaged,
but it takes different args than the JSB version. and I don't know where to
find documentation on that routine.
 
The routine may not be needed (the bug may be fixed) but I still would like
to figure out where to find documentation on these
system routines - any of the online help libraries?
 
Thanks for your help. I find it very hard to phrase detailed technical
questions in an understandable manner, so if this is
not clear please let me know.
 
David Elins
delins@foliage.com
 
 The Answer is:
 
  When writing drivers, access to the OpenVMS source listings
  CD-ROM set is often very beneficial.
 
    QB-MT1AB-E8      OpenVMS Alpha Source Listings CD-ROM
    QT-MT1AB-Q8      OpenVMS Alpha Source Listings CD-ROM Updates
    QB-001AB-E8      OpenVMS VAX Source Listings CD-ROM
    QT-001AB-Q8      OpenVMS VAX Source Listings CD-ROM Updates
 
  For system macros not referenced in the OpenVMS device driver
  documentation, access to the listings or techniques such as the
  extraction and examination of the contents of the Macro32
  libraries can be used.
 
  Current information on OpenVMS Alpha device drivers is available
  in the Digital Press book "Writing OpenVMS Alpha Device Drivers
  in C".  (http://www.bh.com/)
 
  Information on OpenVMS VAX device drivers is available in older
  OpenVMS documentation sets and in the "archived" bookshelf of the
  OpenVMS VAX CD-ROM documentation set -- the OpenVMS VAX device
  driver information was retired some time ago.  The OpenVMS VAX
  Device Support Manual, and the OpenVMS VAX Device Support Reference
  Manual were the two manuals most commonly involved.  (Older versions
  of the OpenVMS Alpha device driver documentation are also available
  in the archived manual bookshelf.)
 
