Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-06 - 43,50363/pirets.doc
There are no other files named pirets.doc in the archive.




                    Care and Feeding of
                  PITT REAL TIME STAR TREK
                      Daniel R. Strick
                        October 1975



   PItt  REal  Time  Star  trek  (PIRETS)  is  a   game   or
demonstration  program  (depending on you morality) designed
to run on a KI-10 CPU under  the  standard  TOPS-10  monitor
version not earlier than 5.5.  PIRETS is written in MACRO-10
and organized so that the  saved  core  image  is  a  single
sharable (high) segment and runs in 2+5K of core.

   This dectape contains 10 files that  you  need  to  bring
PIRETS up on your system:
    PIRETS.DOC - documentation for the PIRETS supporter,
    STRTRK.DOC - documentation for the PIRETS player,
    STRTRK.SHR - a runnable PIRETS core image,
    PIRETS.MAC - the PIRETS main program,
    INEPTA.MAC - miscellaneous numeric routines,
    IORUTS.MAC - miscellaneous I/O routines,
    FILSET.MAC - file specification ungarbaging routine,
    FILMSG.MAC - error messages for FILSET,
    ACCESS.MAC - limits access to PIRETS,
    UNGARB.FOR - ungarbages a PIRETS score report.



                      SCORE REPORTING

   Whenever a game is terminated, PIRETS tries to append  an
8  word score record onto a file identified in the parameter
section of the main program (see below under MODIFICATIONS).
The score file device, file name, extension, and PPN are the
values of the symbols SCRDEV, SCRFIL,  SCREXT,  and  SCRPPN.
PIRETS  gives  no  indication  of an unsuccessful attempt to
write the score.  Therefore the score recording facility can
be  turned off by using a bad file specification.  PIRETS is
provided    with    a    specification    for    the    file
"NUL:PIRETS.DAT[377777,377777]".

   The score recording routine is designed to write  onto  a
disk  like device.  Note that PIRETS cannot create the file,
it can only append to an existing file.  Note also that  the
file  must  have  a protection that permits append mode I/O.
Assuming   that   the   score   file   is   to   be   called
"DSK:PIRETS.DAT[123,456]"  and  that you are user [123,456],
you can create the initial copy  with  the  monitor  command
"COPY DSK:PIRETS.DAT<444>=NUL:X".

   UNGARB (a FORTRAN-10 program) can be used  to  print  the
information  from  a  score  file.   The  first  part of the




program just lists the data read from the  score  file.   In
order  to fit one score record onto one line of the listing,
the field widths  were  minimized  and  the  titles  of  the
columns were abbreviated.  The following explanations should
prove helpful.  "CREATION" is the moment at which the player
requested  that  a  new galaxy be created.  "TERMINATION" is
when the score record is written.  "I-K&R"  is  the  initial
(creation)  number  of  enemies  with Klingons listed before
Romulans.  "R-K&R" and "I-K&R" are the numbers of enemies at
the  last  game  restoration  and  termination.  "GS" is the
galaxy size.  "RS" is a two letter code for the  reason  for
termination:
    CS - collision with star,
    OT - out of time,
    OE - out of energy,
    OC - out of crew,
    VI - victory,
    DX - destruction of the Excalibur with phasers,
    CX - collision with the Excalibur,
    ^C - surrender,
    SG - game save,
    RG - game restoration.
"I-TIM", "R-TIM", and "T-TIM" are the initial,  restoration,
and  termination  time  limits  in  stardates.   "PRTG"  and
"TNTRG" are the ratings that PIRETS generates for the player
when  the  game  terminates.   "PRTG" is the "TOTAL EFFORT".
"TNTRG" is the "PROFICIENCY".  "EK/SD" is the average number
of  enemies  killed per stardate since the last restoration.
"VERSN" is the major version and edit number of  the  PIRETS
core  image  used.  "RC" is the count of the number of times
that the game has been saved and restored.  The second phase
of the UNGARB program lists accumulated statistics that have
been sorted and organized during the first phase.  This part
of  the output should be self explanatory.  UNGARB output is
written to FORTRAN channel number 6.

   If you want to write your own score ungarbaging  program,
you  can  find  the format of a score file record on page 41
(subroutine SCORE) of the PIRETS main program.



                  VARIABLE STARTUP MESSAGE

   When PIRETS is  started,  it  looks  for  a  file  called
NOTICE.TXT.   First  it  looks under the device and PPN from
which the program was run and then (if not found)  it  looks
under the device and PPN of the score recorder.  If it finds
a notice file, it types it after the initial startup message
and  before  the  request  for the desired galaxy size.  The
notice file  must  be  ASCII  text  with  no  internal  null
characters.   PIRETS  will type only up to the first null in
the file (i.e. do NOT line block it).  If the file  contains




more  than  about  1900  characters,  the  remainder will be
ignored.  PIRETS  gives  no  indication  of  an  error  when
attempting  to access the notice file; if PIRETS cannot find
it or cannot read it, PIRETS will simply not type it.



                     ACCESS LIMITATION

   PIRETS  is  perhaps  most  "useful"  as  a  demonstration
program.   It  is  certainly  most useful as a game.  In the
absence of an effective control  (e.g. work  ethic),  it  is
capable  of  tying  up  any concievable number of terminals.
Our  experience  is  that  students  have  an   unbelievable
capacity  for  the  stuff.   For example, on October 15, the
score report shows 44 games played during  the  lunch  hour.
For this reason, the PIRETS supporter is advised to hide his
source files and limit access to his core image file.  As an
alternative,  a  facility  is  provided  for  control by the
PIRETS program itself.

   At some point in the initialization phase of  the  PIRETS
program,  a  call is made to the subroutine ACCESS.  If this
subroutine decides not to permit play, it  simply  does  not
return.  The rules for the ACCESS program are few:
    1) The starting point must be labelled with the
       global symbol ACCESS,
    2) Accumulator 17 must be saved,
    3) PIRETS must be resumed with the instruction
            "POPJ   17,".
The supplied ACCESS program is just a return instruction and
will permit anybody to run PIRETS at any time.



                       MODIFICATIONS

   You are supplied with the PIRETS source files so that you
can change it if you desire.  My experience is that everyone
thinks he has a better idea.   The  main  program  has  some
parameters  on  the  top  of page 2 and the bottom of page 4
that you can modify  even  if  you  are  not  familiar  with
MACRO-10.   After you have modified the source programs from
the dectape, the following two monitor commands can be  used
to create a new PIRETS core image (this assumes the modified
files are on disk).
    .LOAD PIRETS,INEPTA,IORUTS,FILSET,FILMSG,ACCESS
    .SSAVE STRTRK