[net.sources] MORIA, The REAL Story

mikec@uokmax.UUCP (03/13/87)

The newest version of Moria (version 4.9) is now available at the
University of Oklahoma via uucp.  Since the version is in VMS Pascal,
it will not run on UNIX sites. :-(  But, the VMS users of netland
can run the game with or without a Pascal compiler since the game executable
is available.

The entire moria system is 2.4 megabytes.  This includes both source and
executable.  The listing of the directories is listed below with the cover
explanation provided by the author.  All documentation is also included in
the uucp directories.  Note: a compressed version is available in a different
directory tree and occupies about 1 megabyte.

The game is available for uucp'ing between the hours of midnight and
8 am (although you can still transfer after 8 am, you must log in before
then).  300/1200/2400 baud is supported.  If using a slow baud rate, request
a few files a night so as not to use all the modems during the day.

The phone numbers are:

	(405) 325-7658		300/1200/2400	baud
	(405) 325-7659		300/1200/2400	baud
	(405) 325-7660		300/1200/2400	baud

Calling a number should find the first open number on the list that follows
if the particular number is busy.

The numbers are connected to a terminal server (Encore Annex), so the login
sequence is as follows:

	1. After connecting carriage return should be sent (with pauses)
	   until the baud rate adjusts and the prompt "ecn lan:" appears.
	   (We suggest that you look for "lan")

	2. Then you send "call uokmax"  this connects you to uokmax.
	   Uokmax will prompt with "login:"

	3. The login name is "moria", and the password is "Balrog" (The
	   Balrog is the nastiest monster in Moria).

Sample L.sys line:

uokmax	Any ACU 2400 4053257658 "" \d\r\d\r\d\r\d\r\d\r\d\r lan-\r-lan call\suokmax gin-\r-ogin moria ssword Balrog

Mail comments/bug reports (hopefully very few bugs) to mikec@uokmax and
lorne@uokmax (seismo!okstate!uokmax!mikec and seismo!okstate!uokmax!lorne).
We will forward to the people in charge of moria here at OU.


				Mike Callahan
				mikec@uokmax


Author of Moria note (for VMS Formater):

-----------------------------------------------------------------------------
.page size 60,80
.layout 1,2
.ebo
.eov
.eun
.fl bold
.fl underline
.fl accept
.first title
.title ^*The Dungeons of Moria - COPYRIGHT (c) Robert Alan Koeneke\*
.lm 10
.rm 75
.page
.hl 1 ^&Disclaimer\&
.p
Moria is intended for Public Domain, and may not be sold or marketed
IN ANY FORM
without the permision and written consent from the author Robert Alan Koeneke.
I retain all copyrights to this program, in either the original or modified
forms, and no violation, deletion, or change of the copyright notice is
allowed.  Futhermore, I will have
no liability or responsibilty to any user with respect to loss or
damage caused directly or indirectly by this program.
.page
.hl 1 ^&Introduction\&
.p
MORIA is a huge dungeon simulation game written mainly in VAX-11 PASCAL,
encompasing about 22,000 lines of code.
A single executable file is all that is needed
to bring up MORIA for the first time, although a MORIA help library must
be present in order to use the internal help options.
.p
In addition to the PASCAL source code, several macro functions and procedures
are present which must be linked into the moria object library.  These macro
routines are primarily used for greatly improved speed on IO and execution.
.hl 1 ^&The distribution package\&
.p
This distribution package contains many files organized into certain
directories.  The directory structure is as follows:
.lt

                        +--------------------+
                        |Main MORIA directory|
                        |     Build.com      |
                        +--------------------+
                        /          |         \
                       /           |          \
 +--------------------+ +--------------------+ +--------------------+
 | DOC - Documentation| | SOURCE - .PAS files| | EXECUTE - Binaries |
 |       source       | |                    | |           and data |
 +--------------------+ +--------------------+ +--------------------+
                            /           \
                           /             \
     +--------------------+               +--------------------+
     | MACRO - source &   |               | INCLUDE - Pascal   |
     |         library    |               |       include files|
     +--------------------+               +--------------------+

.el
.p
A ready to run Moria is found in EXECUTE.DIR, along with all needed data
files and the Moria help library.  You may execute BUILD.COM to rebuild
Moria if needed.  Examine BUILD.COM closely and you will notice that it
will allow you to rebuild certain sections of Moria or re-link it, if
the proper parameter is used.
.p
Documentation source can be found in the directory DOC.DIR.  MORIA.HLP
is used to build the help library.  MORIA.RNO is used for the manual
which can be printed off.
.p
The source directory, SOURCE.DIR, contains only MORIA.PAS and TERMDEF.PAS.
Most of the guts to Moria can be found in the directory INCLUDE.DIR, which
contains all of the include files used by MORIA.PAS.  MACRO.DIR contains
several macro routines, whose objects are stored in MORIALIB.OLB, an object
module library.
.hl 1 ^&Installation\&
.p
Because of the size of MORIA when running, it is suggested that it be installed
shared.  MORIA can be installed with SYSPRV so that all data files can
be kept locked up to all but system.  MORIA turns off SYSPRV automatically
unless accessing it's own data files, so that no breach in system security
is possible.  Also, the game itself should be read protected, allowing only
EXECUTE access, so that it can not propagate within a system.
.lt


Installed without SYSPRV      /open/shared         
Executable protection         MORIA.EXE (s:re,o:re,g:re,w:re)

Installed with SYSPRV         /priv=sysprv/open/shared
Executable protection         MORIA.EXE (s:re,o:e,g:e,w:e)


.el
.p
When MORIA is first executed, it looks for certain data files in the same
directory as the executable.  If they are not found, they are created with
default values and the game exits.  The local MORIA WIZARD should edit
these files for site specific information and running hours.
.p
Four data
files are created and maintained by MORIA.  MORIA.DAT contains a startup
message and MORIA news, and can be used to tell MORIAvites about changes
in playing times and such.  HOURS.DAT contains a reject message and the
normal operating hours for the game.  Note that the only part of this file
important to the game is the lines containing hours, and that text may be
added before and/or after these lines.
MORIATOP.DAT will contain the
top twenty scores.  MORIACHR.DAT contains an entry for each living, saved
character, thus disallowing players to bring back dead characters.
.p
A fifth file is needed if you want to use the internal help
command within MORIA.  This is the MORIAHLP.HLB help library, which must
be located in the same directory as the other data files.
.p
The suggested protection for these files is as follows:
.lt

			With SYSPRV		Without SYSPRV
	MORIA.DAT	(s:rw,o,g,w)		(s:rw,o:r,g:r,w:r)
	HOURS.DAT	(s:rw,o,g,w)		(s:rw,o:r,g:r,w:r)
	MORIATOP.DAT	(s:rw,o:r,g:r,w:r)	(s:rw,o:rw,g:rw,w:rw)
	MORIACHR.DAT	(s:rw,o,g,w)		(s:rw,o:rw,g:rw,w:rw)
	MORIAHLP.HLB	(s:r,o:r,g:r,w:r)       (s:r,o:r,g:r,w:r)

.el
It is suggested that a special directory be set aside for MORIA game
and data files, so that they may be easily protected and maintained.
Note that the data files must be in the same directory as the executable.
.p
Characters may be saved in MORIA, and later restored.  To save a character
use <CONTROL>-Z and supply a filename.  The character will be encrypted
so that no tampering will be allowed.  To restore a character, set up a moria
foreign command and supply the saved-character filename as an argument.
.lt

Set up a MORIA foreign run command :	$ moria :== $user1:[moria]moria
Restore character                  :	$ moria save_filename

.el
.page
.hl 1 ^&Notes\&
.hl 2 The IO bug...
.p
When Moria was run at high baud rates (9600 and above), the game would
come to a screeching halt and the process would have to be killed.  I
suspected that I had screwed up on my use of QIO.  But after tromping
through the code and writing several test programs, I have come to
the conclusion that a problem exists in the device driver.
In order to "get around" this bug, I pause the process a small amount
of time before issuing a QIO read command.  This seems to allow the 
device driver to perform what ever duty needs doing, and no hang ups
occur.  If you should experience a problem with the game going into
permanent LEF's, try increasing the pause time a bit.
.hl 2 Hibernating the game...
.p
At certain places in the game, I have included code to hibernate for
brief periods.  Many of these were taken out with the addition of
the pause before each INKEY, but some still exist.
These are included to keep Moria "system friendly".  My philosophy
has been that a well written game should not eat the CPU up alive.
If you wish to differ, these pauses can be removed to speed up the
game, but you should not remove the pauses before INKEY unless you
are running the game at baud rates less than 9600.
.hl 2 A vision of the FUTURE...
.p
With the 4.0 version of Moria, I had finally "finished" all I had
originally set out to do.  Moria 1.1 which was released as an executable
was actually an incomplete game.
.p
Around May, 1986, I expect to release a Moria Version 5.0 (or there abouts).
This version may have some (or all) of the following:
.lt

	Altars
	Artifacts
	New creatures
	New objects
	Regeneration for monsters (slower than the player of course)
	Water passages, rooms, etc.

.el
.p
In addition, I expect much of my code will be better documented and
more carefully written.  I may even tackle the "Town level" code...
.page


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

Directory listing (non compressed version):

~uucp/moria:
total 19
-rw-r--r--  1 root         9879 Mar 12 23:59 AAAREADME.1ST
-rw-r--r--  1 root         4146 Mar 12 23:59 BUILD.COM
-rw-r--r--  1 root          820 Mar 12 23:59 VMS4.TXT
drwxr-xr-x  2 root           88 Mar 12 23:58 doc
drwxr-xr-x  2 root          220 Mar 12 23:58 execute
drwxr-xr-x  4 root          156 Mar 12 23:59 source

~uucp/moria/doc:
total 73
-rw-r--r--  1 root          306 Mar 13 00:11 AAAREADME.1ST
-rw-r--r--  1 root         7761 Mar 12 23:58 INSTALL.RNO
-rw-r--r--  1 root        65073 Mar 12 23:58 MORIA.RNO

~uucp/moria/execute:
total 734
-rw-r--r--  1 root          357 Mar 12 23:58 HOURS.DAT
-rw-r--r--  1 root        92064 Mar 12 23:58 MANUAL.MEM
-rw-r--r--  1 root       150057 Mar 12 23:58 MONSTER.TXT
-rw-r--r--  1 root          370 Mar 12 23:58 MORIA.DAT
-rw-r--r--  1 root       397959 Mar 12 23:58 MORIA.EXE
-rw-r--r--  1 root            0 Mar 12 23:58 MORIACHR.DAT
-rw-r--r--  1 root        81278 Mar 12 23:58 MORIAHLP.HLB
-rw-r--r--  1 root         1789 Mar 12 23:58 MORIAMAP.DAT
-rw-r--r--  1 root            0 Mar 12 23:58 MORIATOP.DAT

~uucp/moria/source:
total 532
-rw-r--r--  1 root        50635 Mar 12 23:58 MORIA.ENV
-rw-r--r--  1 root       466705 Mar 12 23:59 MORIA.OBJ
-rw-r--r--  1 root         4692 Mar 12 23:59 MORIA.PAS
-rw-r--r--  1 root         3957 Mar 12 23:59 TERMDEF.OBJ
-rw-r--r--  1 root         6558 Mar 12 23:59 TERMDEF.PAS
drwxr-xr-x  2 root          596 Mar 12 23:58 include
drwxr-xr-x  2 root          764 Mar 12 23:58 macro

~uucp/moria/source/include:
total 909
-rw-r--r--  1 root         8533 Mar 12 23:58 CONSTANTS.INC
-rw-r--r--  1 root        10248 Mar 12 23:58 CREATE.INC
-rw-r--r--  1 root        33664 Mar 12 23:58 CREATURE.INC
-rw-r--r--  1 root         9261 Mar 12 23:58 DEATH.INC
-rw-r--r--  1 root         6758 Mar 12 23:58 DESC.INC
-rw-r--r--  1 root         4168 Mar 12 23:58 EAT.INC
-rw-r--r--  1 root        28053 Mar 12 23:58 FILES.INC
-rw-r--r--  1 root        27064 Mar 12 23:58 GENERATE.INC
-rw-r--r--  1 root         7953 Mar 12 23:58 HELP.INC
-rw-r--r--  1 root        14613 Mar 12 23:58 IO.INC
-rw-r--r--  1 root         4523 Mar 12 23:58 MAGIC.INC
-rw-r--r--  1 root        83043 Mar 12 23:58 MISC.INC
-rw-r--r--  1 root       121901 Mar 12 23:58 MORIA.INC
-rw-r--r--  1 root         6963 Mar 12 23:58 POTIONS.INC
-rw-r--r--  1 root         3687 Mar 12 23:58 PRAYER.INC
-rw-r--r--  1 root        23413 Mar 12 23:58 SAVE.INC
-rw-r--r--  1 root        10109 Mar 12 23:58 SCROLLS.INC
-rw-r--r--  1 root        49572 Mar 12 23:58 SPELLS.INC
-rw-r--r--  1 root         2816 Mar 12 23:58 STAFFS.INC
-rw-r--r--  1 root         8673 Mar 12 23:58 STORE1.INC
-rw-r--r--  1 root        24844 Mar 12 23:58 STORE2.INC
-rw-r--r--  1 root         9818 Mar 12 23:58 TYPES.INC
-rw-r--r--  1 root       163738 Mar 12 23:58 VALUES.INC
-rw-r--r--  1 root         9210 Mar 12 23:58 VARIABLES.INC
-rw-r--r--  1 root         3643 Mar 12 23:58 WANDS.INC
-rw-r--r--  1 root         9645 Mar 12 23:58 WIZARD.INC
-rw-r--r--  1 root        83047 Mar 12 23:58 misc.inc.5
-rw-r--r--  1 root       121881 Mar 12 23:58 moria.inc.5

~uucp/moria/source/macro:
total 85
-rw-r--r--  1 root         4578 Mar 12 23:58 BITPOS.LIS
-rw-r--r--  1 root          428 Mar 12 23:58 BITPOS.MAR
-rw-r--r--  1 root          243 Mar 12 23:58 BITPOS.OBJ
-rw-r--r--  1 root         5304 Mar 12 23:58 DISTANCE.LIS
-rw-r--r--  1 root          623 Mar 12 23:58 DISTANCE.MAR
-rw-r--r--  1 root          281 Mar 12 23:58 DISTANCE.OBJ
-rw-r--r--  1 root         5251 Mar 12 23:58 INSERT.LIS
-rw-r--r--  1 root          908 Mar 12 23:58 INSERT.MAR
-rw-r--r--  1 root          275 Mar 12 23:58 INSERT.OBJ
-rw-r--r--  1 root         4682 Mar 12 23:58 MAXMIN.LIS
-rw-r--r--  1 root          436 Mar 12 23:58 MAXMIN.MAR
-rw-r--r--  1 root          260 Mar 12 23:58 MAXMIN.OBJ
-rw-r--r--  1 root         4607 Mar 12 23:58 MINMAX.LIS
-rw-r--r--  1 root          409 Mar 12 23:58 MINMAX.MAR
-rw-r--r--  1 root          262 Mar 12 23:58 MINMAX.OBJ
-rw-r--r--  1 root         4203 Mar 12 23:58 MORIALIB.OLB
-rw-r--r--  1 root        11386 Mar 12 23:58 PUTQIO.LIS
-rw-r--r--  1 root         2922 Mar 12 23:58 PUTQIO.MAR
-rw-r--r--  1 root          731 Mar 12 23:58 PUTQIO.OBJ
-rw-r--r--  1 root         4480 Mar 12 23:58 RANDINT.LIS
-rw-r--r--  1 root          433 Mar 12 23:58 RANDINT.MAR
-rw-r--r--  1 root          304 Mar 12 23:58 RANDINT.OBJ
-rw-r--r--  1 root         4976 Mar 12 23:58 RANDREP.LIS
-rw-r--r--  1 root          544 Mar 12 23:58 RANDREP.MAR
-rw-r--r--  1 root          301 Mar 12 23:58 RANDREP.OBJ
-rw-r--r--  1 root          243 Mar 12 23:58 bitpos.obj.1
-rw-r--r--  1 root          281 Mar 12 23:58 distance.obj.1
-rw-r--r--  1 root          275 Mar 12 23:58 insert.obj.1
-rw-r--r--  1 root          260 Mar 12 23:58 maxmin.obj.1
-rw-r--r--  1 root          262 Mar 12 23:58 minmax.obj.1
-rw-r--r--  1 root         4203 Mar 12 23:58 morialib.olb.1
-rw-r--r--  1 root          731 Mar 12 23:58 putqio.obj.1
-rw-r--r--  1 root          304 Mar 12 23:58 randint.obj.1
-rw-r--r--  1 root          301 Mar 12 23:58 randrep.obj.1

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

Directory listing (compressed version):

~uucp/moria.compress
total 11
-rw-r--r--  1 root         4279 Mar 13 01:08 AAAREADME.1ST.Z
-rw-r--r--  1 root         1942 Mar 13 01:08 BUILD.COM.Z
-rw-r--r--  1 root          606 Mar 13 01:08 VMS4.TXT.Z
drwxr-xr-x  2 root          112 Mar 13 01:09 doc
drwxr-xr-x  2 root          264 Mar 13 01:10 execute
drwxr-xr-x  4 root          200 Mar 13 01:13 source

~uucp/moria.compress/doc:
total 34
-rw-r--r--  1 root          260 Mar 13 01:07 AAAREADME.1ST.Z
-rw-r--r--  1 root         4175 Mar 13 01:07 INSTALL.RNO.Z
-rw-r--r--  1 root        28460 Mar 13 01:07 MORIA.RNO.Z

~uucp/moria.compress/execute:
total 329
-rw-r--r--  1 root          169 Mar 13 01:07 HOURS.DAT.Z
-rw-r--r--  1 root        32747 Mar 13 01:07 MANUAL.MEM.Z
-rw-r--r--  1 root        27165 Mar 13 01:07 MONSTER.TXT.Z
-rw-r--r--  1 root          221 Mar 13 01:07 MORIA.DAT.Z
-rw-r--r--  1 root       227231 Mar 13 01:07 MORIA.EXE.Z
-rw-r--r--  1 root            0 Mar 13 01:07 MORIACHR.DAT
-rw-r--r--  1 root        35537 Mar 13 01:08 MORIAHLP.HLB.Z
-rw-r--r--  1 root          363 Mar 13 01:08 MORIAMAP.DAT.Z
-rw-r--r--  1 root            0 Mar 13 01:08 MORIATOP.DAT

~uucp/moria.compress/source:
total 288
-rw-r--r--  1 root        21316 Mar 13 01:08 MORIA.ENV.Z
-rw-r--r--  1 root       249961 Mar 13 01:08 MORIA.OBJ.Z
-rw-r--r--  1 root         2250 Mar 13 01:08 MORIA.PAS.Z
-rw-r--r--  1 root         2228 Mar 13 01:08 TERMDEF.OBJ.Z
-rw-r--r--  1 root         2800 Mar 13 01:08 TERMDEF.PAS.Z
drwxr-xr-x  2 root          692 Mar 13 01:12 include
drwxr-xr-x  2 root          884 Mar 13 01:12 macro

~uucp/moria.compress/source/include:
total 323
-rw-r--r--  1 root         4148 Mar 13 01:08 CONSTANTS.INC.Z
-rw-r--r--  1 root         4601 Mar 13 01:08 CREATE.INC.Z
-rw-r--r--  1 root        12234 Mar 13 01:08 CREATURE.INC.Z
-rw-r--r--  1 root         4340 Mar 13 01:08 DEATH.INC.Z
-rw-r--r--  1 root         2966 Mar 13 01:08 DESC.INC.Z
-rw-r--r--  1 root         1946 Mar 13 01:08 EAT.INC.Z
-rw-r--r--  1 root        10407 Mar 13 01:08 FILES.INC.Z
-rw-r--r--  1 root         9948 Mar 13 01:08 GENERATE.INC.Z
-rw-r--r--  1 root         3742 Mar 13 01:08 HELP.INC.Z
-rw-r--r--  1 root         6798 Mar 13 01:08 IO.INC.Z
-rw-r--r--  1 root         2196 Mar 13 01:08 MAGIC.INC.Z
-rw-r--r--  1 root        29441 Mar 13 01:08 MISC.INC.Z
-rw-r--r--  1 root        42043 Mar 13 01:08 MORIA.INC.Z
-rw-r--r--  1 root         3011 Mar 13 01:08 POTIONS.INC.Z
-rw-r--r--  1 root         2015 Mar 13 01:08 PRAYER.INC.Z
-rw-r--r--  1 root         8801 Mar 13 01:08 SAVE.INC.Z
-rw-r--r--  1 root         3982 Mar 13 01:08 SCROLLS.INC.Z
-rw-r--r--  1 root        17170 Mar 13 01:08 SPELLS.INC.Z
-rw-r--r--  1 root         1531 Mar 13 01:08 STAFFS.INC.Z
-rw-r--r--  1 root         3656 Mar 13 01:08 STORE1.INC.Z
-rw-r--r--  1 root         9810 Mar 13 01:08 STORE2.INC.Z
-rw-r--r--  1 root         4442 Mar 13 01:08 TYPES.INC.Z
-rw-r--r--  1 root        48410 Mar 13 01:08 VALUES.INC.Z
-rw-r--r--  1 root         3479 Mar 13 01:08 VARIABLES.INC.Z
-rw-r--r--  1 root         1784 Mar 13 01:08 WANDS.INC.Z
-rw-r--r--  1 root         3947 Mar 13 01:08 WIZARD.INC.Z
-rw-r--r--  1 root        29360 Mar 13 01:08 misc.inc.5.Z
-rw-r--r--  1 root        42026 Mar 13 01:08 moria.inc.5.Z

~uucp/moria.compress/source/macro:
total 53
-rw-r--r--  1 root         1802 Mar 13 01:08 BITPOS.LIS.Z
-rw-r--r--  1 root          351 Mar 13 01:08 BITPOS.MAR.Z
-rw-r--r--  1 root          214 Mar 13 01:08 BITPOS.OBJ.Z
-rw-r--r--  1 root         2074 Mar 13 01:08 DISTANCE.LIS.Z
-rw-r--r--  1 root          475 Mar 13 01:08 DISTANCE.MAR.Z
-rw-r--r--  1 root          243 Mar 13 01:08 DISTANCE.OBJ.Z
-rw-r--r--  1 root         2229 Mar 13 01:08 INSERT.LIS.Z
-rw-r--r--  1 root          643 Mar 13 01:08 INSERT.MAR.Z
-rw-r--r--  1 root          248 Mar 13 01:08 INSERT.OBJ.Z
-rw-r--r--  1 root         1862 Mar 13 01:08 MAXMIN.LIS.Z
-rw-r--r--  1 root          354 Mar 13 01:08 MAXMIN.MAR.Z
-rw-r--r--  1 root          226 Mar 13 01:08 MAXMIN.OBJ.Z
-rw-r--r--  1 root         1853 Mar 13 01:08 MINMAX.LIS.Z
-rw-r--r--  1 root          340 Mar 13 01:08 MINMAX.MAR.Z
-rw-r--r--  1 root          227 Mar 13 01:08 MINMAX.OBJ.Z
-rw-r--r--  1 root         2426 Mar 13 01:08 MORIALIB.OLB.Z
-rw-r--r--  1 root         4364 Mar 13 01:08 PUTQIO.LIS.Z
-rw-r--r--  1 root         1767 Mar 13 01:08 PUTQIO.MAR.Z
-rw-r--r--  1 root          530 Mar 13 01:08 PUTQIO.OBJ.Z
-rw-r--r--  1 root         1879 Mar 13 01:08 RANDINT.LIS.Z
-rw-r--r--  1 root          368 Mar 13 01:08 RANDINT.MAR.Z
-rw-r--r--  1 root          260 Mar 13 01:08 RANDINT.OBJ.Z
-rw-r--r--  1 root         2049 Mar 13 01:08 RANDREP.LIS.Z
-rw-r--r--  1 root          450 Mar 13 01:08 RANDREP.MAR.Z
-rw-r--r--  1 root          257 Mar 13 01:08 RANDREP.OBJ.Z
-rw-r--r--  1 root          214 Mar 13 01:08 bitpos.obj.1.Z
-rw-r--r--  1 root          243 Mar 13 01:08 distance.obj.1.Z
-rw-r--r--  1 root          248 Mar 13 01:08 insert.obj.1.Z
-rw-r--r--  1 root          226 Mar 13 01:08 maxmin.obj.1.Z
-rw-r--r--  1 root          227 Mar 13 01:08 minmax.obj.1.Z
-rw-r--r--  1 root         2423 Mar 13 01:08 morialib.olb.1.Z
-rw-r--r--  1 root          529 Mar 13 01:08 putqio.obj.1.Z
-rw-r--r--  1 root          260 Mar 13 01:08 randint.obj.1.Z
-rw-r--r--  1 root          257 Mar 13 01:08 randrep.obj.1.Z