From: WSGS03::SITTA ( Flectar non frangar )
Subject: Code to use GMACRO on Digital Unix - Version 1
Date: 4-DEC-1998 10:35:52
Expires: 2-FEB-1999 10:35:52
I managed to run GMACRO on Digital Unix with small modifications.
If You are interested, I put the following files
GDIGITAL.CAR Modifications to be applied
GMACRO.CRA Sample cradle
in VAXGS::DISK$MACRO:[MACROSOFT.MONTE.GMACRO800.DIGUNIX] ; I put a copy
of them also on Unix disk area /macrous3/sitta/gmacro/osf .
In /macrous3/sitta/gmacro/osf/dbscin You can find scintillator DB files
dumped from /lamanna1/macrosoft/gmacro/db/ under rsgs04 and rebuilt on
nessie. These files are readable, but their physical validity is still
under test, as the rest of databases built on OSF. In the same area You
can find also a setnames file to be source'd.
I append here the introduction to gdigital.car with more instruction.
If You try this program please let me know of any problem. Please also
consider that this is still a work-in-progress version! Any help is
warmfully welcome.
+PATCH,INFODIGITAL.
Version 1 - Nov 1998
This file contains some modifications to the default GMACRO code to
run it on Digital Unix. It has been tested on Gran Sasso machine
nessie.
There are two main modifications. The first one is inside MV2BYTS to
prevent the program crashing inside GMREVE with a ZEBRA "bank chaining
clobbered" error. The second one is aimed to obtain the same byte
ordering as in VMS: to this extent slight code changes are made inside
GMREVE itself and in GMFILQ and GMTFILQ subroutines, and also in GUINIT
during file opening. Many of these changes are in the code flagged with
IF=IBMRT : these instructions are substituted with other ones similar
or sometimes identical to those flagged with IF=VMS.
A third class of modifications is not strictly needed: running GMACRO
you will see the following kind of errors
Unaligned access pid=808 <gmacro> va=0x1412567f2 pc=0x12023ed10 ra=0x120053be0
inst=0x99910000
These are harmless but annoying errors generated when some variables
are accessed in a non-aligned way (e.g. writing a two-byte integer in
the higher part of a four-byte word). The solution is to use some
intermediate variables properly dimensioned (in the example above,
writing into two INTEGER*2 words EQUIVALENCE'd to one INTEGER*4).
If for any reason the user doesn't want to apply this correction, (s)he
simply have to add
+USE,LETUNALGN.
in his/her cradle.
To compile a GMACRO cradle, users have to force the reading of Digital
Unix modifications with the switch
+USE,DIGUNIX,T=EXE.
and they have to insert the following line in their cradle
+PAM,11,T=ATTACH,T=CARDS. (GMACRODIR)/gdigital.car
BEFORE gmacro.car .
The data output files were successfully read with DREAM on both OSF
(nessie) and Risc IBM (rsgs04).