All manual pages added to manifest file.

This commit is contained in:
Serge Vakulenko
2015-06-22 22:44:18 -07:00
parent f462811ae9
commit 880e6639ac
106 changed files with 1499 additions and 5537 deletions

View File

@@ -14,7 +14,7 @@ SUBDIR = adb adc-demo aout ar as awk basic cc chflags chpass \
cpp dc diff emg env fdisk find forth fstat glcdtest \
hostname id la lcc lcpp ld ls login make man med \
more nm passwd picoc portio printf pwm \
rdprof ranlib re renice retroforth scm setty sl \
ranlib re renice retroforth scm setty sl \
sed sh smallc smlrc stty sysctl test uname wiznet xargs \
zmodem gtest msec unixbench cron compress date2 tip \
talloc devupdate uucp smux

View File

@@ -7,11 +7,11 @@ TOPSRC = $(shell cd ../../..; pwd)
include $(TOPSRC)/target.mk
OBJS = main.o
CFLAGS += -g -Werror -Wall -Os
#include $(TOPSRC)/cross.mk
#OBJS = cross.o
CFLAGS += -g -Werror -Wall -Os
#CFLAGS += -g -Werror -Wall
# The program itself
#

View File

@@ -7,6 +7,7 @@
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <unistd.h>
#include <sys/param.h>
#include <sys/inode.h>
#include <sys/fs.h>
@@ -30,69 +31,10 @@ usage ()
printf (" -t file Filename for temporary data.\n");
}
main(argc, argv)
int argc;
char *argv[];
{
struct fstab *fsp;
int pid, passno, anygtr, sumstatus;
char *name, inbuf[128], outbuf[128];
setbuffer(stdin, inbuf, sizeof (inbuf));
setbuffer(stdout, outbuf, sizeof (outbuf));
setlinebuf(stdout);
sync();
while (--argc > 0 && **++argv == '-') {
switch (*++*argv) {
case 't':
if (**++argv == '-' || --argc <= 0)
errexit("Bad -t option\n");
strcpy(scrfile, *argv);
break;
case 'd':
debug++;
break;
case 'n': /* default no answer flag */
nflag++;
yflag = 0;
break;
case 'y': /* default yes answer flag */
yflag++;
nflag = 0;
break;
default:
errexit("%c option?\n", **argv);
}
}
if (argc == 0) {
usage();
return 0;
}
memsize = sizeof (memdata);
membase = memdata;
if (signal(SIGINT, SIG_IGN) != SIG_IGN)
(void)signal(SIGINT, catch);
if (preen)
(void)signal(SIGQUIT, catchquit);
while (argc-- > 0) {
hotroot = 0;
checkfilesys(*argv++);
}
return 0;
}
void
checkfilesys(filesys)
char *filesys;
{
daddr_t n_ffree, n_bfree;
register ino_t *zp;
devnam = filesys;
@@ -195,3 +137,61 @@ checkfilesys(filesys)
exit(4);
}
}
int
main(argc, argv)
int argc;
char *argv[];
{
char inbuf[128], outbuf[128];
setbuffer(stdin, inbuf, sizeof (inbuf));
setbuffer(stdout, outbuf, sizeof (outbuf));
setlinebuf(stdout);
sync();
while (--argc > 0 && **++argv == '-') {
switch (*++*argv) {
case 't':
if (**++argv == '-' || --argc <= 0)
errexit("Bad -t option\n");
strcpy(scrfile, *argv);
break;
case 'd':
debug++;
break;
case 'n': /* default no answer flag */
nflag++;
yflag = 0;
break;
case 'y': /* default yes answer flag */
yflag++;
nflag = 0;
break;
default:
errexit("%c option?\n", **argv);
}
}
if (argc == 0) {
usage();
return 0;
}
memsize = sizeof (memdata);
membase = memdata;
if (signal(SIGINT, SIG_IGN) != SIG_IGN)
(void)signal(SIGINT, catch);
if (preen)
(void)signal(SIGQUIT, catchquit);
while (argc-- > 0) {
hotroot = 0;
checkfilesys(*argv++);
}
return 0;
}

View File

@@ -5,10 +5,9 @@
*/
#ifdef CROSS
#include </usr/include/stdio.h>
#define off_t unsigned long long
//#define off_t unsigned long long
#else
#include <stdio.h>
#include <ctype.h>
#endif
#include <stdlib.h>
#include <string.h>
@@ -23,6 +22,8 @@
#include <sys/swap.h>
#include "fsck.h"
#define isspace(n) (n==' ' || n=='\t')
int returntosingle;
int

View File

@@ -8,9 +8,8 @@ CFLAGS += -Werror -I../../../sys/include
SRCS = glcdtest.c
OBJS = glcdtest.o
MAN = glcdtest.0
all: glcdtest ${MAN}
all: glcdtest
glcdtest: ${OBJS}
${CC} ${LDFLAGS} -o glcdtest.elf ${OBJS} ${LIBS}
@@ -20,11 +19,8 @@ glcdtest: ${OBJS}
.SUFFIXES: .0 .1
.1.0:
${MANROFF} $*.1 > $@
clean:
rm -f *.o *.elf ${MAN} *.elf *.dis tags *~ glcdtest
rm -f *.o *.elf *.elf *.dis tags *~ glcdtest
depend: ${SRCS}
mkdep ${CFLAGS} ${SRCS}

View File

@@ -8,9 +8,8 @@ CFLAGS += -Wall -Werror -I../../../sys/include
SRCS = pwm.c
OBJS = pwm.o
MAN = pwm.0
all: pwm ${MAN}
all: pwm
pwm: ${OBJS}
${CC} ${LDFLAGS} -o pwm.elf ${OBJS} ${LIBS}
@@ -20,11 +19,8 @@ pwm: ${OBJS}
.SUFFIXES: .0 .1
.1.0:
${MANROFF} $*.1 > $@
clean:
rm -f *.o *.elf ${MAN} *.elf *.dis tags *~ pwm
rm -f *.o *.elf *.elf *.dis tags *~ pwm
depend: ${SRCS}
mkdep ${CFLAGS} ${SRCS}

View File

View File

@@ -1 +0,0 @@
rdprof

View File

@@ -1,40 +0,0 @@
#
# Public Domain. 1995/03/13 - Steven Schultz
#
TOPSRC = $(shell cd ../../..; pwd)
include $(TOPSRC)/target.mk
CFLAGS += -Werror -I../../../sys/include
BIN = rdprof
SRCS = $(BIN).c
OBJS = $(BIN).o
MAN = $(BIN).0
all: $(BIN) ${MAN}
$(BIN): ${OBJS}
${CC} ${LDFLAGS} -o $@.elf ${OBJS} ${LIBS}
${OBJDUMP} -S $@.elf > $@.dis
${SIZE} $@.elf
${ELF2AOUT} $@.elf $@
.SUFFIXES: .0 .1
.1.0:
${MANROFF} $*.1 > $@
clean:
rm -f *.o *.elf ${MAN} *.elf *.dis tags *~ $(BIN)
depend: ${SRCS}
mkdep ${CFLAGS} ${SRCS}
install: all
install -m 755 $(BIN) ${DESTDIR}/sbin
lint: ${SRCS}
lint -hax ${SRCS}
tags: ${SRCS}
ctags ${SRCS}

View File

@@ -1,196 +0,0 @@
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/rdisk.h>
#include <time.h>
void usage()
{
printf("Usage: rdprof [-w] [-s <blocksize>] [-r repeat] [-b blocks] -d <device>\n");
exit(10);
}
int numblocks(int fd)
{
int size=0;
ioctl(fd,RDGETMEDIASIZE,&size);
return size;
}
void read_test(char *dev, unsigned int blocks, int blocksize, int repeats)
{
int fd;
int size;
char buffer[blocksize];
unsigned int toread;
unsigned int start_time;
unsigned int end_time;
unsigned int time_taken;
int i;
float bps;
fd = open(dev,O_RDONLY);
if(!fd)
{
printf("Error: unable to open %s for reading.\n",dev);
exit(10);
}
size = numblocks(fd);
if(size==0)
{
printf("Error: unable to get media size.\n");
close(fd);
exit(0);
}
if(blocks>size)
{
printf("More blocks requested than media size. Reducing.\n");
blocks = size;
}
if(blocks==0)
{
blocks=size;
}
printf("Testing read of %s from 0 to %d with %d byte blocks...\n",
dev,blocks-1,blocksize);
start_time = msec();
for(i=0; i<repeats; i++)
{
lseek(fd,0,SEEK_SET);
toread = blocks * 1024;
while(toread > 0)
{
if(toread>blocksize)
{
toread -= read(fd,buffer,blocksize);
} else {
toread -= read(fd,buffer,toread);
}
}
}
end_time = msec();
close(fd);
time_taken = end_time - start_time;
bps = (float)((blocks*repeats) * 1024) / ((float)time_taken / 1000.0);
printf("Time taken: %f seconds. Speed: %f KBytes/second\n",
time_taken / 1000.0, bps/1024.0);
}
void write_test(char *dev, unsigned int blocks, int blocksize, int repeats)
{
int fd;
int size;
char buffer[blocksize];
unsigned int towrite;
unsigned int start_time;
unsigned int end_time;
unsigned int time_taken;
int i;
float bps;
for(size=0; size<blocksize; size++)
{
buffer[size]=size;
}
fd = open(dev,O_RDWR);
if(!fd)
{
printf("Error: unable to open %s for writing.\n",dev);
exit(10);
}
size = numblocks(fd);
if(size==0)
{
printf("Error: unable to get media size.\n");
close(fd);
exit(0);
}
if(blocks>size)
{
printf("More blocks requested than media size. Reducing.\n");
blocks = size;
}
if(blocks==0)
{
blocks=size;
}
printf("Testing write of %s from 0 to %d with %d byte blocks...\n",
dev,blocks-1,blocksize);
start_time = msec();
for(i=0; i<repeats; i++)
{
lseek(fd,0,SEEK_SET);
towrite = blocks * 1024;
while(towrite > 0)
{
if(towrite>blocksize)
{
towrite -= write(fd,buffer,blocksize);
} else {
towrite -= write(fd,buffer,towrite);
}
}
}
end_time = msec();
close(fd);
time_taken = end_time - start_time;
bps = (float)((blocks*repeats) * 1024) / ((float)time_taken / 1000.0);
printf("Time taken: %f seconds. Speed: %f KBytes/second\n",
time_taken / 1000.0, bps/1024.0);
}
void main(int argc, char *argv[])
{
int opt;
unsigned char write_enable = 0;
char *device = NULL;
unsigned int blocks = 0;
int blocksize = 1024;
int repeats = 1;
printf("RetroDisk Profiler\n");
while((opt = getopt(argc,argv,"wd:b:s:r:"))!=-1)
{
switch(opt)
{
case 'w':
printf("Write tests enabled!\n");
write_enable=1;
break;
case 'd':
device = optarg;
break;
case 'b':
blocks = atoi(optarg);
break;
case 's':
blocksize = atoi(optarg);
break;
case 'r':
repeats = atoi(optarg);
break;
}
}
if(device==NULL)
{
usage();
}
read_test(device,blocks,blocksize,repeats);
if(write_enable==1)
write_test(device,blocks,blocksize,repeats);
}

View File

@@ -46,6 +46,7 @@ install: $(STD) $(NSTD)
install $$i $(DESTDIR)/games/$$i; done
-for i in *.6; do \
${MANROFF} $$i > $(DESTDIR)/share/man/cat6/`basename $$i .6`.0; done
ln -f $(DESTDIR)/share/man/cat6/canfield.0 $(DESTDIR)/share/man/cat6/cfscores.0
cat < /dev/null > $(DESTDIR)/games/lib/cfscores
chmod 666 $(DESTDIR)/games/lib/cfscores

View File

@@ -40,4 +40,5 @@ install: all
install snake $(DESTDIR)/games/
install snscore $(DESTDIR)/games/
install -m 644 $(MAN) $(DESTDIR)/share/man/cat6/
ln -f $(DESTDIR)/share/man/cat6/$(MAN) ${DESTDIR}/share/man/cat6/snscore.0
install -c -m 644 /dev/null ${DESTDIR}/games/lib/snakerawscores

View File

@@ -19,10 +19,8 @@
TOPSRC = $(shell cd ../..; pwd)
include $(TOPSRC)/target.mk
DIRS= man1 man2 man3 man3f man4 man5 man6 \
man7 man8
CDIRS= cat1 cat2 cat3 cat3f cat4 cat5 cat6 \
cat7 cat8
DIRS= man1 man2 man3 man4 man5 man6 man7 man8
CDIRS= cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8
LCDIRS= cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8
all:

View File

@@ -39,7 +39,7 @@ SRCS1= nroff.1 nslookup.1 od.1 pagesize.1 pdx.1 pi.1 pix.1 \
rlogin.1 rm.1 rmail.1 rmdir.1 roffbib.1 rsh.1 ruptime.1 rwho.1 \
sccs.1 script.1 sed.1 sendbug.1 sh.1 size.1 sleep.1 soelim.1 \
sort.1 sortbib.1 spell.1 spline.1 split.1 strcompact.1 strings.1 \
strip.1 struct.1 style.1 su.1 sum.1 symcompact.1 symorder.1 \
strip.1 style.1 su.1 sum.1 symcompact.1 symorder.1 \
tabs.1 tail.1 talk.1 \
tar.1 tbl.1 tc.1 tcopy.1 tee.1 telnet.1 time.1 \
tip.1 tk.1 tn3270.1 touch.1 tp.1 tr.1 troff.1 true.1 \
@@ -67,7 +67,7 @@ OBJS2= nroff.0 nslookup.0 od.0 pagesize.0 pdx.0 pi.0 pix.0 \
rlogin.0 rm.0 rmail.0 rmdir.0 roffbib.0 rsh.0 ruptime.0 rwho.0 \
sccs.0 script.0 sed.0 sendbug.0 sh.0 size.0 sleep.0 soelim.0 \
sort.0 sortbib.0 spell.0 spline.0 split.0 strcompact.0 strings.0 \
strip.0 struct.0 style.0 su.0 sum.0 symcompact.0 symorder.0 \
strip.0 style.0 su.0 sum.0 symcompact.0 symorder.0 \
tabs.0 tail.0 talk.0 \
tar.0 tbl.0 tc.0 tcopy.0 tee.0 telnet.0 time.0 \
tip.0 tk.0 tn3270.0 touch.0 tp.0 tr.0 troff.0 true.0 \

View File

@@ -1,113 +0,0 @@
.\" @(#)struct.1 6.1.1 (2.11BSD) 1996/10/22
.\"
.TH STRUCT 1 "October 22, 1996"
.AT 3
.SH NAME
struct \- structure Fortran programs
.SH SYNOPSIS
.B struct
[ option ] ...
file
.SH DESCRIPTION
.LP
.I Struct
translates the Fortran program specified by
.I file
(standard input default)
into a Ratfor program.
Wherever possible, Ratfor control constructs
replace the original Fortran.
Statement numbers appear only where still necessary.
Cosmetic changes are made, including changing Hollerith strings
into quoted strings
and relational operators into symbols (.e.g. ".GT." into ">").
The output is appropriately indented.
.PP
The following options may occur in any order.
.TP
.B \-s
Input is accepted in standard format, i.e.
comments are specified by a c, C, or * in column 1, and continuation lines
are specified by a nonzero, nonblank character in column 6.
Normally input is in the form accepted by
.IR f77 (1)
.TP
.B \-i
Do not turn computed goto statements into
switches.
(Ratfor does not turn switches back
into computed goto statements.)
.TP
.B \-a
Turn sequences of else ifs into a
non-Ratfor switch of the form
.IP
.nf
.ta 5 7
switch
{ case pred1: code
case pred2: code
case pred3: code
default: code
}
.fi
.DT
.IP
The case predicates are tested in order;
the code appropriate to only one case is executed.
This generalized form of switch statement does not
occur in Ratfor.
.TP
.B \-b
Generate goto's instead of multilevel break statements.
.TP
.B \-n
Generate goto's instead of multilevel next statements.
.TP
.BI \-t n
Make
the nonzero integer
.I n
the lowest valued label in the output program
(default 10).
.TP
.BI \-c n
Increment successive labels
in the output program
by the nonzero integer
.I n
(default 1).
.TP
.BI \-e n
If
.I n
is 0 (default),
place code within a loop only if it can
lead to an iteration of the loop.
If
.I n
is nonzero,
admit a small code segments to a loop
if otherwise the loop would have exits to several places including the segment,
and the segment can be reached only from the loop.
`Small' is close to, but not equal to, the
number of statements in the code segment.
Values of n under 10 are suggested.
.SH FILES
/tmp/struct*
.br
/usr/libexec/struct/*
.SH SEE ALSO
f77(1)
.SH BUGS
Struct knows Fortran 66 syntax, but not full Fortran 77.
.br
If an input Fortran program contains identifiers which
are reserved words in Ratfor, the structured
version of the program
will not be a valid Ratfor program.
.br
The labels generated cannot go above 32767.
.br
If you get a goto without a target, try
.B \-e .

View File

@@ -1,124 +0,0 @@
#
# Copyright (c) 1987 Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms are permitted
# provided that the above copyright notice and this paragraph are
# duplicated in all such forms and that any documentation,
# advertising materials, and other materials related to such
# distribution and use acknowledge that the software was developed
# by the University of California, Berkeley. The name of the
# University may not be used to endorse or promote products derived
# from this software without specific prior written permission.
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# @(#)Makefile 5.4.1 (2.11BSD) 1996/01/26
#
TOPSRC = $(shell cd ../../..; pwd)
include $(TOPSRC)/target.mk
MDIR= /share/man/cat3f
.SUFFIXES: .3 .0
SRCS= abort.3 access.3 alarm.3 bessel.3 bit.3 chdir.3 chmod.3 etime.3 \
exit.3 fdate.3 flmin.3 flush.3 fork.3 fseek.3 getarg.3 getc.3 \
getcwd.3 getenv.3 getlog.3 getpid.3 getuid.3 hostnm.3 idate.3 \
index.3 intro.3 ioinit.3 kill.3 link.3 loc.3 long.3 malloc.3 \
perror.3 plot.3 putc.3 qsort.3 rand.3 random.3 rename.3 signal.3 \
sleep.3 stat.3 system.3 time.3 topen.3 traper.3 trapov.3 trpfpe.3 \
ttynam.3 unlink.3 wait.3
OBJS= abort.0 access.0 alarm.0 bessel.0 bit.0 chdir.0 chmod.0 etime.0 \
exit.0 fdate.0 flmin.0 flush.0 fork.0 fseek.0 getarg.0 getc.0 \
getcwd.0 getenv.0 getlog.0 getpid.0 getuid.0 hostnm.0 idate.0 \
index.0 intro.0 ioinit.0 kill.0 link.0 loc.0 long.0 malloc.0 \
perror.0 plot.0 putc.0 qsort.0 rand.0 random.0 rename.0 signal.0 \
sleep.0 stat.0 system.0 time.0 topen.0 traper.0 trapov.0 trpfpe.0 \
ttynam.0 unlink.0 wait.0
.3.0:
${MANROFF} $*.3 > $*.0
all: _make_01
_make_01: ${OBJS}
clean: FRC
rm -f ${OBJS}
install: _make_01
mkdir -p ${DESTDIR}${MDIR}
cp ${OBJS} ${DESTDIR}${MDIR}
ln -f ${DESTDIR}${MDIR}/bit.0 ${DESTDIR}${MDIR}/and.0
ln -f ${DESTDIR}${MDIR}/bit.0 ${DESTDIR}${MDIR}/lshift.0
ln -f ${DESTDIR}${MDIR}/bit.0 ${DESTDIR}${MDIR}/not.0
ln -f ${DESTDIR}${MDIR}/bit.0 ${DESTDIR}${MDIR}/or.0
ln -f ${DESTDIR}${MDIR}/bit.0 ${DESTDIR}${MDIR}/rshift.0
ln -f ${DESTDIR}${MDIR}/bit.0 ${DESTDIR}${MDIR}/xor.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/arc.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/box.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/circle.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/clospl.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/cont.0
ln -f ${DESTDIR}${MDIR}/time.0 ${DESTDIR}${MDIR}/ctime.0
ln -f ${DESTDIR}${MDIR}/rand.0 ${DESTDIR}${MDIR}/drand.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/erase.0
ln -f ${DESTDIR}${MDIR}/getc.0 ${DESTDIR}${MDIR}/fgetc.0
ln -f ${DESTDIR}${MDIR}/putc.0 ${DESTDIR}${MDIR}/fputc.0
ln -f ${DESTDIR}${MDIR}/stat.0 ${DESTDIR}${MDIR}/fstat.0
ln -f ${DESTDIR}${MDIR}/time.0 ${DESTDIR}${MDIR}/gmtime.0
ln -f ${DESTDIR}${MDIR}/rand.0 ${DESTDIR}${MDIR}/irand.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/label.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/line.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/linemd.0
ln -f ${DESTDIR}${MDIR}/stat.0 ${DESTDIR}${MDIR}/lstat.0
ln -f ${DESTDIR}${MDIR}/time.0 ${DESTDIR}${MDIR}/ltime.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/move.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/openpl.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/point.0
ln -f ${DESTDIR}${MDIR}/long.0 ${DESTDIR}${MDIR}/short.0
ln -f ${DESTDIR}${MDIR}/plot.0 ${DESTDIR}${MDIR}/space.0
ln -f ${DESTDIR}${MDIR}/link.0 ${DESTDIR}${MDIR}/symlnk.0
ln -f ${DESTDIR}${MDIR}/flmin.0 ${DESTDIR}${MDIR}/dffrac.0
ln -f ${DESTDIR}${MDIR}/flmin.0 ${DESTDIR}${MDIR}/dflmax.0
ln -f ${DESTDIR}${MDIR}/flmin.0 ${DESTDIR}${MDIR}/dflmin.0
ln -f ${DESTDIR}${MDIR}/etime.0 ${DESTDIR}${MDIR}/dtime.0
ln -f ${DESTDIR}${MDIR}/flmin.0 ${DESTDIR}${MDIR}/ffrac.0
ln -f ${DESTDIR}${MDIR}/flmin.0 ${DESTDIR}${MDIR}/flmax.0
ln -f ${DESTDIR}${MDIR}/intro.0 ${DESTDIR}${MDIR}/fortran.0
ln -f ${DESTDIR}${MDIR}/fseek.0 ${DESTDIR}${MDIR}/ftell.0
ln -f ${DESTDIR}${MDIR}/flmin.0 ${DESTDIR}${MDIR}/inmax.0
ln -f ${DESTDIR}${MDIR}/idate.0 ${DESTDIR}${MDIR}/itime.0
ln -f ${DESTDIR}${MDIR}/index.0 ${DESTDIR}${MDIR}/len.0
ln -f ${DESTDIR}${MDIR}/index.0 ${DESTDIR}${MDIR}/lnblnk.0
ln -f ${DESTDIR}${MDIR}/index.0 ${DESTDIR}${MDIR}/rindex.0
ln -f ${DESTDIR}${MDIR}/topen.0 ${DESTDIR}${MDIR}/tclose.0
ln -f ${DESTDIR}${MDIR}/topen.0 ${DESTDIR}${MDIR}/tread.0
ln -f ${DESTDIR}${MDIR}/topen.0 ${DESTDIR}${MDIR}/trewin.0
ln -f ${DESTDIR}${MDIR}/topen.0 ${DESTDIR}${MDIR}/tskipf.0
ln -f ${DESTDIR}${MDIR}/topen.0 ${DESTDIR}${MDIR}/tstate.0
ln -f ${DESTDIR}${MDIR}/topen.0 ${DESTDIR}${MDIR}/twrite.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/besj0.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/besj1.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/besjn.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/besy0.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/besy1.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/besyn.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/dbesj0.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/dbesj1.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/dbesjn.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/dbesy0.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/dbesy1.0
ln -f ${DESTDIR}${MDIR}/bessel.0 ${DESTDIR}${MDIR}/dbesyn.0
ln -f ${DESTDIR}${MDIR}/random.0 ${DESTDIR}${MDIR}/drandm.0
ln -f ${DESTDIR}${MDIR}/malloc.0 ${DESTDIR}${MDIR}/falloc.0
ln -f ${DESTDIR}${MDIR}/trpfpe.0 ${DESTDIR}${MDIR}/fpecnt.0
ln -f ${DESTDIR}${MDIR}/malloc.0 ${DESTDIR}${MDIR}/free.0
ln -f ${DESTDIR}${MDIR}/perror.0 ${DESTDIR}${MDIR}/gerror.0
ln -f ${DESTDIR}${MDIR}/getuid.0 ${DESTDIR}${MDIR}/getgid.0
ln -f ${DESTDIR}${MDIR}/getarg.0 ${DESTDIR}${MDIR}/iargc.0
ln -f ${DESTDIR}${MDIR}/perror.0 ${DESTDIR}${MDIR}/ierrno.0
ln -f ${DESTDIR}${MDIR}/random.0 ${DESTDIR}${MDIR}/irandm.0
ln -f ${DESTDIR}${MDIR}/ttynam.0 ${DESTDIR}${MDIR}/isatty.0
FRC:

View File

@@ -1,59 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)abort.3f 6.2 (Berkeley) 6/7/85
.\"
.TH ABORT 3F "June 7, 1985"
.UC 5
.SH NAME
abort \- abnormal termination
.SH SYNOPSIS
.B subroutine abort (string)
.br
.B character*(*) string
.SH DESCRIPTION
.I Abort
cleans up the I/O buffers and then terminates execution.
If
.I string
is given, it is written to logical unit 0 preceded by ``abort:''.
.PP
If the
.B \(mig
flag was specified during loading,
then execution is terminated by calling
.I abort
(3)
which aborts producing a
.I core
file in the current directory.
If
.B \-g
was not specified while loading,
then
.I ***\ Execution terminated
is written
on logical unit 0 and execution is terminated.
.PP
If the
.I f77_dump_flag
environment variable
has been set to a value which begins with
.IR y , \ abort
(3) is called whether or not
.B \(mig
was specified during loading.
Similarly, if the value of
.I f77_dump_flag
begins with
.IR n , \ abort
is not called.
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a
.SH "SEE ALSO"
abort(3)
.SH BUGS
.I String
is ignored on the PDP11.

View File

@@ -1,43 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)access.3f 6.2 (Berkeley) 5/27/86
.\"
.TH ACCESS 3F "May 27, 1986"
.UC 5
.SH NAME
access \- determine accessibility of a file
.SH SYNOPSIS
.B integer function access (name, mode)
.br
.B character*(*) name, mode
.SH DESCRIPTION
.I Access
checks the given file,
.I name,
for accessibility with respect to the caller according to
.I mode.
.I Mode
may include in any order and in any combination one or more of:
.LP
.nf
.ta 1i 2i
\fBr\fR test for read permission
\fBw\fR test for write permission
\fBx\fR test for execute permission
(blank) test for existence
.DT
.fi
.PP
An error code is returned if either argument is illegal, or if the file
cannot be accessed in all of the specified modes.
0 is returned if the specified access would be successful.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
access(2), perror(3F)
.SH BUGS
Pathnames can be no longer than MAXPATHLEN as defined in
.RI < sys/param.h >.

View File

@@ -1,46 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)alarm.3f 6.1 (Berkeley) 5/15/85
.\"
.TH ALARM 3F "May 15, 1985"
.UC 5
.SH NAME
alarm \- execute a subroutine after a specified time
.SH SYNOPSIS
.B integer function alarm (time, proc)
.br
.B integer time
.br
.B external proc
.SH DESCRIPTION
This routine arranges for subroutine
.I proc
to be called after
.I time
seconds. If
.I time
is ``0'', the alarm is turned off and no routine will be called.
The returned value will be the time remaining on the last alarm.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
alarm(3C), sleep(3F), signal(3F)
.SH BUGS
.I Alarm
and
.I sleep
interact. If
.I sleep
is called after
.IR alarm ,
the
.I alarm
process will never be called. SIGALRM will occur at the lesser of the
remaining
.I alarm
time or the
.I sleep
time.

View File

@@ -1,57 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)bessel.3f 6.1 (Berkeley) 5/15/85
.\"
.TH BESSEL 3F "May 15, 1985"
.UC 5
.SH NAME
bessel functions \- of two kinds for integer orders
.SH SYNOPSIS
.B function besj0 (x)
.sp 1
.B function besj1 (x)
.sp 1
.B function besjn (n, x)
.sp 1
.B function besy0 (x)
.sp 1
.B function besy1 (x)
.sp 1
.B function besyn (n, x)
.sp 1
.B double precision function dbesj0 (x)
.br
.B double precision x
.sp 1
.B double precision function dbesj1 (x)
.br
.B double precision x
.sp 1
.B double precision function dbesjn (n, x)
.br
.B double precision x
.sp 1
.B double precision function dbesy0 (x)
.br
.B double precision x
.sp 1
.B double precision function dbesy1 (x)
.br
.B double precision x
.sp 1
.B double precision function dbesyn (n, x)
.br
.B double precision x
.SH DESCRIPTION
These functions calculate Bessel functions of the first and second kinds
for real arguments and integer orders.
.SH DIAGNOSTICS
Negative arguments cause \fIbesy0, besy1,\fR and \fIbesyn\fR to return a huge
negative value. The system error code will be set to EDOM (33).
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a
.SH "SEE ALSO"
j0(3M), perror(3F)

View File

@@ -1,64 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)bit.3f 6.4 (Berkeley) 4/30/86
.\"
.TH BIT 3F "April 30, 1986"
.UC 5
.SH NAME
bit \- and, or, xor, not, rshift, lshift bitwise functions
.SH SYNOPSIS
.B (intrinsic) function and (word1, word2)
.sp 1
.B (intrinsic) function or (word1, word2)
.sp 1
.B (intrinsic) function xor (word1, word2)
.sp 1
.B (intrinsic) function not (word)
.sp 1
.B (intrinsic) function rshift (word, nbits)
.sp 1
.B (intrinsic) function lshift (word, nbits)
.SH DESCRIPTION
These bitwise functions are built into the compiler and return
the data type of their argument(s).
Their arguments must be
.B integer
or
.B logical
values.
.PP
The bitwise combinatorial functions return the
bitwise ``and'' (\fBand\fR), ``or'' (\fBor\fR), or ``exclusive or'' (\fBxor\fR)
of two operands.
.B Not
returns the bitwise complement of its operand.
.PP
.IR Lshift ,
or
.I rshift
with a negative
.IR nbits ,
is a logical left shift with no end around carry.
.IR Rshift ,
or
.I lshift
with a negative
.IR nbits ,
is an arithmetic right shift with sign extension.
No test is made for a reasonable value of
.I nbits.
.PP
These functions may be used to create a variety of general routines, as in
the following statement function definitions:
.sp 1
.B integer bitset, bitclr, getbit, word, bitnum
.sp 1
.B bitset( word, bitnum ) = or(word,lshift(1,bitnum))
.br
.B bitclr( word, bitnum ) = and(word,not(lshift(1,bitnum)))
.br
.B getbit( word, bitnum ) = and(rshift(word,bitnum),1)
.SH FILES
These functions are generated in-line by the f77 compiler.

View File

@@ -1,31 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)chdir.3f 6.1 (Berkeley) 5/15/85
.\"
.TH CHDIR 3F "May 15, 1985"
.UC 5
.SH NAME
chdir \- change default directory
.SH SYNOPSIS
.B integer function chdir (dirname)
.br
.B character*(*) dirname
.SH DESCRIPTION
The default directory for creating and locating files will be
changed to
.I dirname.
Zero is returned if successful; an error code otherwise.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
chdir(2), cd(1), perror(3F)
.SH BUGS
Pathnames can be no longer than MAXPATHLEN as defined in
.RI < sys/param.h >.
.PP
Use of this function may cause
.B inquire
by unit to fail.

View File

@@ -1,37 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)chmod.3f 6.1 (Berkeley) 5/15/85
.\"
.TH CHMOD 3F "May 15, 1985"
.UC 5
.SH NAME
chmod \- change mode of a file
.SH SYNOPSIS
.B integer function chmod (name, mode)
.br
.B character*(*) name, mode
.SH DESCRIPTION
This function changes the filesystem
.I mode
of file
.IR name .
.I Mode
can be any specification recognized by
.IR chmod (1).
.I Name
must be a single pathname.
.PP
The normal returned value is 0.
Any other value will be a system error number.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.br
/bin/chmod exec'ed to change the mode.
.SH "SEE ALSO"
chmod(1)
.SH BUGS
Pathnames can be no longer than MAXPATHLEN as defined in
.RI < sys/param.h >.

View File

@@ -1,35 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)etime.3f 6.1 (Berkeley) 5/15/85
.\"
.TH ETIME 3F "May 15, 1985"
.UC 5
.SH NAME
etime, dtime \- return elapsed execution time
.SH SYNOPSIS
.B function etime (tarray)
.br
.B real tarray(2)
.sp 1
.B function dtime (tarray)
.br
.B real tarray(2)
.SH DESCRIPTION
These two routines return elapsed runtime in seconds for the calling process.
.I Dtime
returns the elapsed time since the last call to
.I dtime,
or the start of execution on the first call.
.PP
The argument array returns user time in the first element and system time
in the second element.
The function value is the sum of user and system time.
.PP
The resolution of all timing is 1/HZ sec. where HZ is currently 60.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
times(2)

View File

@@ -1,37 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)exit.3f 6.1 (Berkeley) 5/15/85
.\"
.TH EXIT 3F "May 15, 1985"
.UC 5
.SH NAME
exit \- terminate process with status
.SH SYNOPSIS
.B subroutine exit (status)
.br
.B integer status
.SH DESCRIPTION
.I Exit
flushes and closes all the process's files, and notifies the parent process
if it is executing a
.IR wait .
The low-order 8 bits of
.I status
are available to the parent process.
(Therefore
.I status
should be in the range 0 \- 255)
.PP
This call will never return.
.PP
The C function
.I exit
may cause cleanup actions before the
final `sys exit'.
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a
.SH "SEE ALSO"
exit(2), fork(2), fork(3F), wait(2), wait(3F)

View File

@@ -1,40 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)fdate.3f 6.2 (Berkeley) 5/27/86
.\"
.TH FDATE 3F "May 27, 1986"
.UC 5
.SH NAME
fdate \- return date and time in an ASCII string
.SH SYNOPSIS
.B subroutine fdate (string)
.br
.B character*(*) string
.sp 1
.B character*(*) function fdate()
.SH DESCRIPTION
.I Fdate
returns the current date and time as a 24 character string
in the format described under
.IR ctime (3).
Neither `newline' nor NULL will be included.
.PP
.I Fdate
can be called either as a function or as a subroutine.
If called as a function, the calling routine must define
its type and length. For example:
.nf
character*24 fdate
external fdate
write(*,*) fdate()
.fi
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
ctime(3), time(3F), itime(3F), idate(3F), ltime(3F)

View File

@@ -1,53 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)flmin.3f 6.2 (Berkeley) 6/7/85
.\"
.TH FLMIN 3F "June 7, 1985"
.UC 5
.SH NAME
flmin, flmax, ffrac, dflmin, dflmax, dffrac, inmax \- return extreme values
.SH SYNOPSIS
.B function flmin()
.sp 1
.B function flmax()
.sp 1
.B function ffrac()
.sp 1
.B double precision function dflmin()
.sp 1
.B double precision function dflmax()
.sp 1
.B double precision function dffrac()
.sp 1
.B function inmax()
.SH DESCRIPTION
Functions
.I flmin
and
.I flmax
return the minimum and maximum positive floating point values respectively.
Functions
.I dflmin
and
.I dflmax
return the minimum and maximum positive double precision floating point values.
Function
.I inmax
returns the maximum positive integer value.
.PP
The functions
.I ffrac
and
.I dffrac
return the fractional accuracy of single and double precision
floating point numbers respectively.
This is the difference between 1.0 and the
smallest real number greater than 1.0.
.PP
These functions can be used by programs that must scale algorithms
to the numerical range of the processor.
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a

View File

@@ -1,24 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)flush.3f 6.1 (Berkeley) 5/15/85
.\"
.TH FLUSH 3F "May 15, 1985"
.UC 5
.SH NAME
flush \- flush output to a logical unit
.SH SYNOPSIS
.B subroutine flush (lunit)
.SH DESCRIPTION
.I Flush
causes the contents of the buffer for logical unit
.I lunit
to be flushed to the associated file.
This is most useful for logical units 0 and 6 when they are both
associated with the control terminal.
.SH FILES
.ie \nM /usr/ucb/lib/libI77.a
.el /usr/lib/libI77.a
.SH "SEE ALSO"
fclose(3S)

View File

@@ -1,54 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)fork.3f 6.2 (Berkeley) 5/27/86
.\"
.TH FORK 3F "May 27, 1986"
.UC 5
.SH NAME
fork \- create a copy of this process
.SH SYNOPSIS
.B integer function fork()
.SH DESCRIPTION
.I Fork
creates a copy of the calling process.
The only distinction between the 2 processes is that the value
returned to one of them (referred to as the `parent' process)
will be the process id of the copy.
The copy is usually referred to as the `child' process.
The value returned to the `child' process will be zero.
.PP
All logical units open for writing are flushed before the fork to avoid
duplication of the contents of I/O buffers in the external file(s).
.PP
If the returned value is negative, it indicates an error and will be
the negation of the system error code.
See perror(3F).
.PP
A corresponding
.I exec
routine has not been provided because there is no satisfactory way to
retain open logical units across the exec.
However, the usual function of
.I fork/exec
can be performed using
.IR system (3F).
.if 0 \{
A pipe can be opened to another process using the f77
.B open
statement with
.sp 1
.ti +5
.B "file=\(fm\fIprocess\fB\(fm, status=\(fmpipe\(fm, access=\(fmread\(fm"
.br
or
.br
.ti +5
.B "file=\(fm\fIprocess\fB\(fm, status=\(fmpipe\(fm, access=\(fmwrite\(fm"
\}
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
fork(2), wait(3F), kill(3F), system(3F), perror(3F)

View File

@@ -1,49 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)fseek.3f 6.2 (Berkeley) 5/27/86
.\"
.TH FSEEK 3F "May 27, 1986"
.UC 5
.SH NAME
fseek, ftell \- reposition a file on a logical unit
.SH SYNOPSIS
.B integer function fseek (lunit, offset, from)
.br
.B integer offset, from
.sp 1
.B integer function ftell (lunit)
.SH DESCRIPTION
.I lunit
must refer to an open logical unit.
.I offset
is an offset in bytes relative to the position specified by
.I from.
Valid values for
.I from
are:
.sp 1
.in +5
0 meaning `beginning of the file'
.br
1 meaning `the current position'
.br
2 meaning `the end of the file'
.in -5
.PP
The value returned by
.I fseek
will be 0 if successful, a system error code otherwise.
(See perror(3F))
.PP
.I Ftell
returns the current position of the file associated with the specified
logical unit. The value is an offset, in bytes, from the beginning of the file.
If the value returned is negative, it indicates an error and will be
the negation of the system error code. (See perror(3F))
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
fseek(3S), perror(3F)

View File

@@ -1,30 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)getarg.3f 6.1 (Berkeley) 5/15/85
.\"
.TH GETARG 3F "May 15, 1985"
.UC 4
.SH NAME
getarg, iargc \- return command line arguments
.SH SYNOPSIS
.B subroutine getarg (k, arg)
.br
.B character*(*) arg
.sp 1
.B function iargc ()
.SH DESCRIPTION
A call to
.I getarg
will return the \fBk\fIth\fR command line argument in character string
.I arg.
The 0\fIth\fR argument is the command name.
.PP
.I Iargc
returns the index of the last command line argument.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
getenv(3F), execve(2)

View File

@@ -1,33 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)getc.3f 6.2 (Berkeley) 5/27/86
.\"
.TH GETC 3F "May 27, 1986"
.UC 5
.SH NAME
getc, fgetc \- get a character from a logical unit
.SH SYNOPSIS
.B integer function getc (char)
.br
.B character char
.sp 1
.B integer function fgetc (lunit, char)
.br
.B character char
.SH DESCRIPTION
These routines return the next character from a file associated with a
fortran logical unit, bypassing normal fortran I/O.
.I Getc
reads from logical unit 5, normally connected to the control terminal input.
.PP
The value of each function is a system status code. Zero indicates no
error occurred on the read; \-1 indicates end of file was detected.
A positive value will be either a UNIX system error code or an f77 I/O error
code. See perror(3F).
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
getc(3S), intro(2), perror(3F)

View File

@@ -1,27 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)getcwd.3f 6.1 (Berkeley) 5/15/85
.\"
.TH GETCWD 3F "May 15, 1985"
.UC 5
.SH NAME
getcwd \- get pathname of current working directory
.SH SYNOPSIS
.B integer function getcwd (dirname)
.br
.B character*(*) dirname
.SH DESCRIPTION
The pathname of the default directory for creating and locating files
will be returned in
.I dirname.
The value of the function will be zero if successful; an error code otherwise.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
chdir(3F), perror(3F)
.SH BUGS
Pathnames can be no longer than MAXPATHLEN as defined in
.RI < sys/param.h >.

View File

@@ -1,34 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)getenv.3f 6.1 (Berkeley) 5/15/85
.\"
.TH GETENV 3F "May 15, 1985"
.UC 5
.SH NAME
getenv \- get value of environment variables
.SH SYNOPSIS
.B subroutine getenv (ename, evalue)
.br
.B character*(*) ename, evalue
.SH DESCRIPTION
.I Getenv
.a
searches the environment list
(see
.IR environ (7))
for a string of the form
.IB ename = value
and returns
.I value
in
.I evalue
if such a string is present, otherwise fills
.I evalue
with blanks.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
environ(7), execve(2)

View File

@@ -1,25 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)getlog.3f 6.1 (Berkeley) 5/15/85
.\"
.TH GETLOG 3F "May 15, 1985"
.UC 5
.SH NAME
getlog \- get user's login name
.SH SYNOPSIS
.B subroutine getlog (name)
.br
.B character*(*) name
.sp 1
.B character*(*) function getlog()
.SH DESCRIPTION
.I Getlog
will return the user's login name or all blanks if
the process is running detached from a terminal.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
getlogin(3)

View File

@@ -1,20 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)getpid.3f 6.1 (Berkeley) 5/15/85
.\"
.TH GETPID 3F "May 15, 1985"
.UC 5
.SH NAME
getpid \- get process id
.SH SYNOPSIS
.B integer function getpid()
.SH DESCRIPTION
.I Getpid
returns the process ID number of the current process.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
getpid(2)

View File

@@ -1,22 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)getuid.3f 6.1 (Berkeley) 5/15/85
.\"
.TH GETUID 3F "May 15, 1985"
.UC 5
.SH NAME
getuid, getgid \- get user or group ID of the caller
.SH SYNOPSIS
.B integer function getuid()
.sp 1
.B integer function getgid()
.SH DESCRIPTION
These functions return the real user or group ID of the user
of the process.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
getuid(2)

View File

@@ -1,24 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)hostnm.3f 6.1 (Berkeley) 5/15/85
.\"
.TH HOSTNM 3F "May 15, 1985"
.UC 5
.SH NAME
hostnm \- get name of current host
.SH SYNOPSIS
.B integer function hostnm (name)
.br
.B character*(*) name
.SH DESCRIPTION
This function puts the name of the current host into
character string
.IR name .
The return value should be 0; any other value indicates an error.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
gethostname(2)

View File

@@ -1,34 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)idate.3f 6.1 (Berkeley) 5/15/85
.\"
.TH IDATE 3F "May 15, 1985"
.UC 5
.SH NAME
idate, itime \- return date or time in numerical form
.SH SYNOPSIS
.B subroutine idate (iarray)
.br
.B integer iarray(3)
.sp 1
.B subroutine itime (iarray)
.br
.B integer iarray(3)
.SH DESCRIPTION
.I Idate
returns the current date in
.I iarray.
The order is: day, mon, year.
Month will be in the range 1-12. Year will be \(>= 1969.
.PP
.I Itime
returns the current time in
.I iarray.
The order is: hour, minute, second.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
ctime(3F), fdate(3F)

View File

@@ -1,49 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)index.3f 6.1 (Berkeley) 5/15/85
.\"
.TH INDEX 3F "May 15, 1985"
.UC 5
.SH NAME
index, rindex, lnblnk, len \- tell about character objects
.SH SYNOPSIS
.B (intrinsic) function index (string, substr)
.br
.B character*(*) string, substr
.sp 1
.B integer function rindex (string, substr)
.br
.B character*(*) string, substr
.sp 1
.B function lnblnk (string)
.br
.B character*(*) string
.sp 1
.B (intrinsic) function len (string)
.br
.B character*(*) string
.SH DESCRIPTION
.I Index
.I (rindex)
returns the index of the first (last) occurrence of the substring
.I substr
in
.I string,
or zero if it does not occur.
.I Index
is an f77 intrinsic function;
.I rindex
is a library routine.
.PP
.I Lnblnk
returns the index of the last non-blank character in
.I string.
This is useful since all f77 character objects are fixed length, blank padded.
Intrinsic function
.I len
returns the size of the character object argument.
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a

View File

@@ -1,163 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)intro.3f 6.6 (Berkeley) 5/27/86
.\"
.TH INTRO 3F "May 27, 1986"
.UC 5
.SH NAME
intro \- introduction to FORTRAN library functions
.SH DESCRIPTION
.PP
This section describes those functions that are in the Fortran run time
library. The functions listed here provide an interface from \fIf77\fP
programs to the system in the same manner as the C library does for C
programs. They are automatically loaded as needed by the Fortran compiler
.IR f77 (1),
except for the graphics interface routines.
Those must be explicitly requested, see
.IR plot (3f).
.PP
The math intrinsics required by the 1977 Fortran standard are
available, although not described here. In addition, the
\fIabs\fP, \fIsqrt\fP, \fIexp\fP, \fIlog\fP, \fIsin\fP, and \fIcos\fP
intrinsics have been extended for double complex values.
They may be referenced using the generic names listed above,
or they may be referenced using their specific names that
consist of the generic names preceded by either \fIcd\fP or
\fIz\fP. For example, if \fIzz\fP is double complex, then
\fIsqrt(zz)\fP, \fIzsqrt(zz)\fP, or \fIcdsqrt(zz)\fP compute
the square root of \fIzz\fP. The \fIdcmplx\fP intrinsic
forms a double complex value from two double precision variables
or expressions, and the name of the specific function for the conjugate
of a double complex value is \fIdconjg\fP.
.PP
Most of these functions are in libU77.a.
Some are in libF77.a or libI77.a.
A few intrinsic functions are described for the sake of completeness.
.PP
For efficiency, the SCCS ID strings are not normally included in the
.I a.out
file. To include them, simply declare
.nf
external f77lid
.fi
in any
.I f77
module.
.SH "LIST OF FUNCTIONS"
.sp 2
.nf
.ta \w'system'u+2n +\w'access.3f'u+10n
\fIName\fP \fIAppears on Page\fP \fIDescription\fP
.ta \w'system'u+4n +\w'access.3f'u+4n
.sp 5p
abort abort.3f abnormal termination
access access.3f determine accessibility of a file
alarm alarm.3f execute a subroutine after a specified time
and bit.3f bitwise and
arc plot.3f f77 interface to plot(3x)
bessel bessel.3f bessel functions of two kinds for integer orders
box plot.3f f77 interface to plot(3x)
chdir chdir.3f change default directory
chmod chmod.3f change mode of a file
circle plot.3f f77 interface to plot(3x)
clospl plot.3f f77 interface to plot(3x)
cont plot.3f f77 interface to plot(3x)
ctime time.3f return system time
dffrac flmin.3f return extreme values
dflmax flmin.3f return extreme values
dflmin flmin.3f return extreme values
drand rand.3f return random values
drandm random.3f better random number generator
dtime etime.3f return elapsed execution time
erase plot.3f f77 interface to plot(3x)
etime etime.3f return elapsed execution time
exit exit.3f terminate process with status
falloc malloc.3f memory allocator
fdate fdate.3f return date and time in an ASCII string
ffrac flmin.3f return extreme values
fgetc getc.3f get a character from a logical unit
flmax flmin.3f return extreme values
flmin flmin.3f return extreme values
flush flush.3f flush output to a logical unit
fork fork.3f create a copy of this process
fpecnt trpfpe.3f trap and repair floating point faults
fputc putc.3f write a character to a fortran logical unit
free malloc.3f memory allocator
fseek fseek.3f reposition a file on a logical unit
fstat stat.3f get file status
ftell fseek.3f reposition a file on a logical unit
gerror perror.3f get system error messages
getarg getarg.3f return command line arguments
getc getc.3f get a character from a logical unit
getcwd getcwd.3f get pathname of current working directory
getenv getenv.3f get value of environment variables
getgid getuid.3f get user or group ID of the caller
getlog getlog.3f get user's login name
getpid getpid.3f get process id
getuid getuid.3f get user or group ID of the caller
gmtime time.3f return system time
hostnm hostnm.3f get name of current host
iargc getarg.3f return command line arguments
idate idate.3f return date or time in numerical form
ierrno perror.3f get system error messages
index index.3f tell about character objects
inmax flmin.3f return extreme values
ioinit ioinit.3f change f77 I/O initialization
irand rand.3f return random values
irandm random.3f better random number generator
isatty ttynam.3f find name of a terminal port
itime idate.3f return date or time in numerical form
kill kill.3f send a signal to a process
label plot.3f f77 interface to plot(3x)
len index.3f tell about character objects
line plot.3f f77 interface to plot(3x)
linemd plot.3f f77 interface to plot(3x)
link link.3f make a link to an existing file
lnblnk index.3f tell about character objects
loc loc.3f return the address of an object
long long.3f integer object conversion
lshift bit.3f left shift
lstat stat.3f get file status
ltime time.3f return system time
malloc malloc.3f memory allocator
move plot.3f f77 interface to plot(3x)
not bit.3f bitwise complement
openpl plot.3f f77 interface to plot(3x)
or bit.3f bitwise or
perror perror.3f get system error messages
point plot.3f f77 interface to plot(3x)
putc putc.3f write a character to a fortran logical unit
qsort qsort.3f quick sort
rand rand.3f return random values
random random.3f better random number generator
rename rename.3f rename a file
rindex index.3f tell about character objects
rshift bit.3f right shift
short long.3f integer object conversion
signal signal.3f change the action for a signal
sleep sleep.3f suspend execution for an interval
space plot.3f f77 interface to plot(3x)
stat stat.3f get file status
symlnk symlnk.3f make a symbolic link
system system.3f execute a \s-2UNIX\s0 command
tclose topen.3f f77 tape I/O
time time.3f return system time
topen topen.3f f77 tape I/O
traper traper.3f trap arithmetic errors
trapov trapov.3f trap and repair floating point overflow
tread topen.3f f77 tape I/O
trewin topen.3f f77 tape I/O
trpfpe trpfpe.3f trap and repair floating point faults
tskipf topen.3f f77 tape I/O
tstate topen.3f f77 tape I/O
ttynam ttynam.3f find name of a terminal port
twrite topen.3f f77 tape I/O
unlink unlink.3f remove a directory entry
wait wait.3f wait for a process to terminate
xor bit.3f bitwise exclusive or
.fi

View File

@@ -1,144 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)ioinit.3f 6.3 (Berkeley) 5/27/86
.\"
.TH IOINIT 3F "May 27, 1986"
.UC 5
.SH NAME
ioinit \- change f77 I/O initialization
.SH SYNOPSIS
\fBlogical function ioinit (cctl, bzro, apnd, prefix, vrbose)\fP
.br
.B logical cctl, bzro, apnd, vrbose
.br
.B character*(*) prefix
.SH DESCRIPTION
This routine will initialize several global parameters in the f77 I/O system,
and attach externally defined files to logical units at run time.
The effect of the flag arguments applies to logical units opened after
.I ioinit
is called.
The exception is the preassigned units, 5 and 6, to which
.I cctl
and
.I bzro
will apply at any time.
.I Ioinit
is written in Fortran-77.
.PP
By default,
carriage control is not recognized on any logical unit. If
.I cctl
is
.B .true.
then carriage control will be recognized on formatted output
to all logical units except unit 0, the diagnostic channel.
Otherwise the default will be restored.
.PP
By default, trailing and embedded blanks in input data fields
are ignored. If
.I bzro
is
.B .true.
then such blanks will be treated as zeros.
Otherwise the default will be restored.
.PP
By default, all files opened for sequential access are positioned at
their beginning.
It is sometimes necessary or convenient to open at the END-OF-FILE
so that a write will append to the existing data.
If
.I apnd
is
.B .true.
then files opened subsequently on any logical unit
will be positioned at their end upon opening.
A value of
.B .false.
will restore the default behavior.
.PP
.I Ioinit
may be used to associate file names with Fortran logical unit numbers
through environment variables
(see "Introduction to the f77 I/O Library" for a more general way of
doing this).
If the argument
.I prefix
is a non-blank string, then names of the form
.BR prefix NN
will be sought in the program environment. The value associated with
each such name found will be used to open logical unit NN for formatted
sequential access.
For example, if f77 program
.I myprogram
included the call
.nf
call ioinit (.true., .false., .false., \(fmFORT\(fm, .false.)
.fi
then when the following sequence
.nf
% setenv FORT01 mydata
% setenv FORT12 myresults
% myprogram
.fi
would result in logical unit 1 opened to file
.I mydata
and logical unit 12 opened to file
.IR myresults .
Both files would be positioned at their beginning.
Any formatted output would have column 1 removed and interpreted
as carriage control.
Embedded and trailing blanks would be ignored on input.
.PP
If the argument
.I vrbose
is
.B .true.
then
.I ioinit
will report on its activity.
.PP
The effect of
.nf
call ioinit (.true., .true., .false., \(fm\(fm, .false.)
.fi
can be achieved without the actual call by including ``\-lI66''
on the
.I f77
command line.
This gives carriage control on all logical units except 0,
causes files to be opened at their beginning, and causes
blanks to be interpreted as zero's.
.PP
The internal flags are stored in a labeled common block with the following
definition:
.nf
integer*2 ieof, ictl, ibzr
common /ioiflg/ ieof, ictl, ibzr
.fi
.SH FILES
.ta \w'/usr/ucb/lib/libI77.a 'u
.ie \nM /usr/ucb/lib/libI77.a f77 I/O library
.el /usr/lib/libI77.a f77 I/O library
.br
.ie \nM /usr/ucb/lib/libI66.a sets older fortran I/O modes
.el /usr/lib/libI66.a sets older fortran I/O modes
.SH "SEE ALSO"
getarg(3F), getenv(3F), ``Introduction to the f77 I/O Library''
.SH BUGS
.I Prefix
can be no longer than 30 characters.
A pathname associated with an environment name can be no longer than 255
characters.
.PP
The ``+'' carriage control does not work.

View File

@@ -1,25 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)kill.3f 6.1 (Berkeley) 5/15/85
.\"
.TH KILL 3F "May 15, 1985"
.UC 5
.SH NAME
kill \- send a signal to a process
.SH SYNOPSIS
.B function kill (pid, signum)
.br
.B integer pid, signum
.SH DESCRIPTION
.I Pid
must be the process id of one of the user's processes.
.I Signum
must be a valid signal number (see sigvec(2)).
The returned value will be 0 if successful; an error code otherwise.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
kill(2), sigvec(2), signal(3F), fork(3F), perror(3F)

View File

@@ -1,39 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)link.3f 6.1 (Berkeley) 5/15/85
.\"
.TH LINK 3F "May 15, 1985"
.UC 5
.SH NAME
link \- make a link to an existing file
.SH SYNOPSIS
.B function link (name1, name2)
.br
.B character*(*) name1, name2
.sp 1
.B integer function symlnk (name1, name2)
.br
.B character*(*) name1, name2
.SH DESCRIPTION
.I Name1
must be the pathname of an existing file.
.I Name2
is a pathname to be linked to file
.IR name1 .
.I Name2
must not already exist.
The returned value will be 0 if successful; a system error code otherwise.
.PP
.I Symlnk
creates a symbolic link to
.IR name1 .
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
link(2), symlink(2), perror(3F), unlink(3F)
.SH BUGS
Pathnames can be no longer than MAXPATHLEN as defined in
.RI < sys/param.h >.

View File

@@ -1,18 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)loc.3f 6.1 (Berkeley) 5/15/85
.\"
.TH LOC 3F "May 15, 1985"
.UC 5
.SH NAME
loc \- return the address of an object
.SH SYNOPSIS
.B function loc (arg)
.SH DESCRIPTION
The returned value will be the address of
.I arg.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a

View File

@@ -1,29 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)long.3f 6.1 (Berkeley) 5/15/85
.\"
.TH LONG 3F "May 15, 1985"
.UC 5
.SH NAME
long, short \- integer object conversion
.SH SYNOPSIS
.B integer*4 function long (int2)
.br
.B integer*2 int2
.sp 1
.B integer*2 function short (int4)
.br
.B integer*4 int4
.SH DESCRIPTION
These functions provide conversion between short and long integer objects.
.I Long
is useful when constants are used in calls to library routines and
the code is to be compiled with ``-i2''.
.I Short
is useful in similar context when an otherwise long object must be
passed as a short integer.
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a

View File

@@ -1,124 +0,0 @@
.\" Copyright (c) 1985 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)malloc.3f 6.1 (Berkeley) 5/15/85
.\"
.TH MALLOC 3F "May 15, 1985"
.UC 6
.SH NAME
malloc, free, falloc \- memory allocator
.SH SYNOPSIS
.nf
.B subroutine malloc (size, addr)
.B integer size, addr
.PP
.B subroutine free (addr)
.B integer addr
.PP
.B
subroutine falloc (nelem, elsize, clean, basevec, addr, offset)
.B
integer nelem, elsize, clean, addr, offset
.fi
.SH DESCRIPTION
.IR Malloc , \ falloc
and
.I free
provide a general-purpose memory allocation package.
.I Malloc
returns in
.I addr
the address of a block of at least
.I size
bytes beginning on an even-byte boundary.
.PP
.I Falloc
allocates space for an array of
.I nelem
elements of size
.I elsize
and returns the address of the block in
.I addr.
It zeros the block if
.I clean
is 1.
It returns in
.I offset
an index such that the storage may be addressed as
.I basevec(offset+1) ... basevec(offset+nelem).
.I Falloc
gets extra bytes so that after address arithmetic,
all the objects so addressed are within the block.
.PP
The argument to
.I free
is the address of a block previously allocated by
.I malloc
or
.IR falloc ;
this space is made available for further allocation,
but its contents are left undisturbed.
To free blocks allocated by
.I falloc,
use
.I addr
in calls to
.I free,
do not use
.I basevec(offset+1).
.PP
Needless to say, grave disorder will result if the space assigned by
.IR malloc or falloc
is overrun or if some random number is handed to
.IR free .
.SH DIAGNOSTICS
.I Malloc
and
.I falloc
set
.I addr
to 0 if there is no available memory or if the arena
has been detectably corrupted by storing outside the bounds of a block.
.PP
The following example shows how to obtain memory and use it within a
subprogram:
.nf
integer addr, work(1), offset
...
call falloc ( n, 4, 0, work, addr, offset )
do 10 i = 1, n
work(offset+i) = ...
10 continue
.fi
.PP
The next example reads in dimension information,
allocates space for two arrays and two vectors,
and calls subroutine
.I doit
to do the computations:
.nf
integer addr, dummy(1), offs
read *, k, l, m
indm1 = 1
indm2 = indm1 + k*l
indm3 = indm2 + l*m
indsym = indm3 + k*m
lsym = n*(n+1)/2
indv = indsym + lsym
indtot = indv + m
call falloc ( indtot, 4, 0, dummy, addr, offs )
call doit( dummy(indm1+offs), dummy(indm2+offs),
. dummy(indm3+offs), dummy(indsym+offs),
. dummy(indv +offs), m, n, lsym )
end
subroutine doit( arr1, arr2, arr3, vsym, vec, m, n, lsym )
real arr1(k,l), arr2(l,m), arr3(k,m), vsym(lsym), v2(m)
...
.fi
.SH FILES
/usr/lib/libU77.a
.SH SEE ALSO
malloc(3)

View File

@@ -1,112 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)perror.3f 6.2 (Berkeley) 6/7/85
.\"
.TH PERROR 3F "June 7, 1985"
.UC 5
.SH NAME
perror, gerror, ierrno \- get system error messages
.SH SYNOPSIS
.B subroutine perror (string)
.br
.B character*(*) string
.sp 1
.B subroutine gerror (string)
.br
.B character*(*) string
.sp 1
.B character*(*) function gerror()
.sp 1
.B function ierrno()
.SH DESCRIPTION
.I Perror
will write a message to fortran logical unit 0
appropriate to the last detected system error.
.I String
will be written preceding the standard error message.
.PP
.I Gerror
returns the system error message in character variable
.I string.
.I Gerror
may be called either as a subroutine or as a function.
.PP
.I Ierrno
will return the error number of the last detected system error.
This number is updated only when an error actually occurs.
Most routines and I/O statements that might generate such errors
return an error code after the call;
that value is a more reliable indicator of what caused the error condition.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
intro(2), perror(3)
.br
D. L. Wasley, \fIIntroduction to the f77 I/O Library\fR
.SH BUGS
.I String
in the call to
.I perror
can be no longer than 127 characters.
.PP
The length of the string returned by
.I gerror
is determined by the calling program.
.SH NOTES
UNIX system error codes are described in
.IR intro (2).
The f77 I/O error codes and their meanings are:
.sp 1
.in +5
100 ``error in format''
.br
101 ``illegal unit number''
.br
102 ``formatted i/o not allowed''
.br
103 ``unformatted i/o not allowed''
.br
104 ``direct i/o not allowed''
.br
105 ``sequential i/o not allowed''
.br
106 ``can't backspace file''
.br
107 ``off beginning of record''
.br
108 ``can't stat file''
.br
109 ``no * after repeat count''
.br
110 ``off end of record''
.br
111 ``truncation failed''
.br
112 ``incomprehensible list input''
.br
113 ``out of free space''
.br
114 ``unit not connected''
.br
115 ``invalid data for integer format term''
.br
116 ``invalid data for logical format term''
.br
117 ``'new' file exists''
.br
118 ``can't find 'old' file''
.br
119 ``opening too many files or unknown system error''
.br
120 ``requires seek ability''
.br
121 ``illegal argument''
.br
122 ``negative repeat count''
.br
123 ``illegal operation for unit''
.br
124 ``invalid data for d, e, f, or g format term''

View File

@@ -1,101 +0,0 @@
.\" Copyright (c) 1985 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)plot.3f 6.3 (Berkeley) 4/30/86
.\"
.TH PLOT 3F "April 30, 1986"
.UC 6
.SH NAME
plot: openpl et al. \- f77 library interface to \fIplot\fR (3X)
libraries.
.SH SYNOPSIS
.nf
.B subroutine openpl()
.PP
.B subroutine erase()
.PP
.B subroutine label(str)
.B character str*(*)
.PP
.B subroutine line(ix1, iy1, ix2, iy2)
.PP
.B subroutine box(ix1, iy1, ix2, iy2)
.fi
Draw a rectangle and leave the cursor at (
.IR ix2 , iy2 ).
.nf
.PP
.B subroutine circle(ix, iy, ir)
.PP
.B
subroutine arc(ix, iy, ix0, iy0, ix1, iy1)
.PP
.B subroutine move(ix, iy)
.PP
.B subroutine cont(ix, iy)
.PP
.B subroutine point(ix, iy)
.PP
.B subroutine linemd(str)
.B character str*(*)
.PP
.B subroutine space(ix0, iy0, ix1, iy1)
.PP
.B subroutine clospl()
.fi
.PP
.ft R
.SH DESCRIPTION
These are interface subroutines, in the library
.IR -lf77plot ,
allowing
.I f77
users to call the
.IR plot (3X)
graphics routines
which generate graphic output in a relatively
device-independent manner.
The
.I f77
subroutine names are the same as the
.I C
function names except that
.I linemod
and
.I closepl
have been shortened to
.I linemd
and
.I clospl .
See
.IR plot (5)
and
.IR plot (3X)
for a description
of their effect.
.PP
Only the first 255 character in string arguments to
.I label
and
.I linemd
are used.
.PP
This library must be specified in the
.IR f77 (1)
command before the device specific graphics library;
for example, to compile and load a FORTRAN program in
.I prog.f
to run on a Tektronix 4014 terminal:
.br
.RS
.B f77 prog.f -lf77plot -l4014
.RE
.br
See
.IR plot (3X)
for a complete list of device specific plotting libraries.
.SH "SEE ALSO"
plot(5), plot(1G), plot(3X), graph(1G)

View File

@@ -1,31 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)putc.3f 6.1 (Berkeley) 5/15/85
.\"
.TH PUTC 3F "May 15, 1985"
.UC 5
.SH NAME
putc, fputc \- write a character to a fortran logical unit
.SH SYNOPSIS
.B integer function putc (char)
.br
.B character char
.sp 1
.B integer function fputc (lunit, char)
.br
.B character char
.SH DESCRIPTION
These funtions write a character to the file associated with a fortran logical
unit bypassing normal fortran I/O.
.I Putc
writes to logical unit 6, normally connected to the control terminal output.
.PP
The value of each function will be zero unless some error occurred;
a system error code otherwise. See perror(3F).
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
putc(3S), intro(2), perror(3F)

View File

@@ -1,67 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)qsort.3f 6.1 (Berkeley) 5/15/85
.\"
.TH QSORT 3F "May 15, 1985"
.UC 5
.SH NAME
qsort \- quick sort
.SH SYNOPSIS
.B subroutine qsort (array, len, isize, compar)
.br
.B external compar
.br
.B integer*2 compar
.SH DESCRIPTION
One dimensional
.I array
contains the elements to be sorted.
.I len
is the number of elements in the array.
.I isize
is the size of an element, typically -
.sp 1
.in +5
4 for
.B integer
and
.B real
.br
8 for
.B "double precision"
or
.B complex
.br
16 for
.B "double complex"
.br
(length of character object) for
.B character
arrays
.in -5
.sp 1
.I Compar
is the name of a user supplied integer*2 function
that will determine the sorting order.
This function will be called with 2 arguments that will be elements of
.I array.
The function must return -
.sp 1
.in +5
negative if arg 1 is considered to precede arg 2
.br
zero if arg 1 is equivalent to arg 2
.br
positive if arg 1 is considered to follow arg 2
.in -5
.sp 1
On return, the elements of
.I array
will be sorted.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
qsort(3)

View File

@@ -1,51 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)rand.3f 6.1 (Berkeley) 5/15/85
.\"
.TH RAND 3F "May 15, 1985"
.UC 5
.SH NAME
rand, drand, irand \- return random values
.SH SYNOPSIS
.B function irand (iflag)
.sp 1
.B function rand (iflag)
.sp 1
.B double precision function drand (iflag)
.SH DESCRIPTION
.ft B
The newer random(3f) should be used in new applications;
rand remains for compatibilty.
.ft R
.PP
These functions use
.IR rand (3C)
to generate sequences of random numbers.
If
.I iflag
is '1', the generator is restarted and the first random value is returned.
If
.I iflag
is otherwise non-zero, it is used as a new seed for the random number
generator, and the first new random value is returned.
.PP
.I Irand
returns positive integers in the range 0 through 2147483647.
.I Rand
and
.I drand
return values in the range 0. through 1.0 .
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a
.SH "SEE ALSO"
random(3F), rand(3C)
.SH BUGS
The algorithm returns a 15 bit quantity on the PDP11; a 31 bit quantity
on the VAX.
.I Irand
on the PDP11 calls
.IR rand (3C)
twice to form a 31 bit quantity, but bit 15 will always be 0.

View File

@@ -1,41 +0,0 @@
.\" Copyright (c) 1985 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)random.3f 6.1 (Berkeley) 5/15/85
.\"
.TH RANDOM 3F "May 15, 1985"
.UC 6
.SH NAME
random, drandm, irandm \- better random number generator
.SH SYNOPSIS
.B function irandm (iflag)
.sp 1
.B function random (iflag)
.sp 1
.B double precision function drandm (iflag)
.SH DESCRIPTION
These functions use
.IR random (3)
to generate sequences of random numbers, and
should be used rather than the older functions described in
.I man 3f rand.
If
.I iflag
is non-zero, it is used as a new seed for the random number
generator, and the first new random value is returned.
.PP
.I Irandm
returns positive integers in the range 0 through 2147483647 ( 2**31-1).
.I Random
and
.I drandm
return values in the range 0. through 1.0 by dividing the integer random number
from
.IR random (3)
by 2147483647 .
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a
.SH "SEE ALSO"
random(3)

View File

@@ -1,39 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)rename.3f 6.1 (Berkeley) 5/15/85
.\"
.TH RENAME 3F "May 15, 1985"
.UC 5
.SH NAME
rename \- rename a file
.SH SYNOPSIS
.B integer function rename (from, to)
.br
.B character*(*) from, to
.SH DESCRIPTION
.I From
must be the pathname of an existing file.
.I To
will become the new pathname for the file.
If
.I to
exists, then both
.I from
and
.I to
must be the same type of file, and must reside on the same filesystem.
If
.I to
exists, it will be removed first.
.PP
The returned value will be 0 if successful; a system error code otherwise.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
rename(2), perror(3F)
.SH BUGS
Pathnames can be no longer than MAXPATHLEN as defined in
.RI < sys/param.h >.

View File

@@ -1,73 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)signal.3f 6.1 (Berkeley) 5/15/85
.\"
.TH SIGNAL 3F "May 15, 1985"
.UC 5
.SH NAME
signal \- change the action for a signal
.SH SYNOPSIS
.B integer function signal(signum, proc, flag)
.br
.B integer signum, flag
.br
.B external proc
.SH DESCRIPTION
When a process incurs a signal (see
.IR signal (3C))
the default action
is usually to clean up and abort.
The user may choose to write an alternative signal handling routine.
A call to
.I signal
is the way this alternate action is specified to the system.
.PP
.I Signum
is the signal number (see
.IR signal (3C)).
If
.I flag
is negative, then
.I proc
must be the name of the user signal handling routine.
If
.I flag
is zero or positive, then
.I proc
is ignored and the value of
.I flag
is passed to the system as the signal action definition.
In particular, this is how previously saved signal actions can be restored.
Two possible values for
.I flag
have specific meanings:
0 means "use the default action" (See NOTES below),
1 means "ignore this signal".
.PP
A positive returned value is the previous action definition.
A value greater than 1 is the address of a routine that
was to have been called on occurrence of the given signal.
The returned value can be used in subsequent calls to
.I signal
in order to restore a previous action definition.
A negative returned value is the negation of a system error code.
(See
.IR perror (3F))
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
signal(3C), kill(3F), kill(1)
.SH NOTES
.B f77
arranges to trap certain signals when a process is started.
The only way to restore the default
.B f77
action is to save the returned
value from the first call to
.I signal.
.PP
If the user signal handler is called, it will be passed the signal number
as an integer argument.

View File

@@ -1,25 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)sleep.3f 6.1 (Berkeley) 5/15/85
.\"
.TH SLEEP 3F "May 15, 1985"
.UC 5
.SH NAME
sleep \- suspend execution for an interval
.SH SYNOPSIS
.B subroutine sleep (itime)
.SH DESCRIPTION
.I Sleep
causes the calling process to be suspended for
.I itime
seconds.
The actual time can be up to 1 second less than
.I itime
due to granularity in system timekeeping.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
sleep(3)

View File

@@ -1,54 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)stat.3f 6.1 (Berkeley) 5/15/85
.\"
.TH STAT 3F "May 15, 1985"
.UC 5
.SH NAME
stat, lstat, fstat \- get file status
.SH SYNOPSIS
.B integer function stat (name, statb)
.br
.B character*(*) name
.br
.B integer statb(12)
.sp 1
.B integer function lstat (name, statb)
.br
.B character*(*) name
.br
.B integer statb(12)
.sp 1
.B integer function fstat (lunit, statb)
.br
.B integer statb(12)
.SH DESCRIPTION
These routines return detailed information about a file.
.I Stat
and
.I lstat
return information about file
.IR name ;
.I fstat
returns information about the file associated with fortran logical unit
.I lunit.
The order and meaning of the information returned in array
.I statb
is as described for the structure
.I stat
under
.IR stat (2).
The ``spare'' values are not included.
.PP
The value of either function will be zero if successful;
an error code otherwise.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
stat(2), access(3F), perror(3F), time(3F)
.SH BUGS
Pathnames can be no longer than MAXPATHLEN as defined in
.RI < sys/param.h >.

View File

@@ -1,41 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)system.3f 6.1 (Berkeley) 5/15/85
.\"
.TH SYSTEM 3F "May 15, 1985"
.UC 5
.SH NAME
system \- execute a \s-2UNIX\s0 command
.SH SYNOPSIS
.B integer function system (string)
.br
.B character*(*) string
.SH DESCRIPTION
.I System
causes
.I string
to be given to your shell
as input as if the string had been typed as a command.
If environment variable
.B SHELL
is found, its value will be used as the command interpreter (shell);
otherwise
.IR sh (1)
is used.
.PP
The current process waits until the command terminates.
The returned value will be the exit status of the shell.
See
.IR wait (2)
for an explanation of this value.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
exec(2), wait(2), system(3)
.SH BUGS
.I String
can not be longer than NCARGS\-50 characters, as defined in
.RI < sys/param.h >.

View File

@@ -1,49 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)time.3f 6.1 (Berkeley) 5/15/85
.\"
.TH TIME 3F "May 15, 1985"
.UC 5
.SH NAME
time, ctime, ltime, gmtime \- return system time
.SH SYNOPSIS
.B integer function time()
.sp 1
.B character*(*) function ctime (stime)
.br
.B integer stime
.sp 1
.B subroutine ltime (stime, tarray)
.br
.B integer stime, tarray(9)
.sp 1
.B subroutine gmtime (stime, tarray)
.br
.B integer stime, tarray(9)
.SH DESCRIPTION
.I Time
returns the time since 00:00:00 GMT, Jan. 1, 1970, measured in seconds.
This is the value of the UNIX system clock.
.PP
.I Ctime
converts a system time to a 24 character ASCII string.
The format is described under
.IR ctime (3).
No 'newline' or NULL will be included.
.PP
.I Ltime
and
.I gmtime
disect a UNIX time into month, day, etc., either for the local time zone
or as GMT.
The order and meaning of each element returned in
.I tarray
is described under
.IR ctime (3).
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
ctime(3), itime(3F), idate(3F), fdate(3F)

View File

@@ -1,188 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)topen.3f 6.1 (Berkeley) 5/15/85
.\"
.TH TOPEN 3F "May 15, 1985"
.UC 5
.SH NAME
topen, tclose, tread, twrite, trewin, tskipf, tstate \- f77 tape I/O
.SH SYNOPSIS
.B integer function topen
(tlu, devnam, label)
.br
.B integer
tlu
.br
.B character*(*)
devnam
.br
.B logical
label
.sp 1
.B integer function tclose
(tlu)
.br
.B integer
tlu
.sp 1
.B integer function tread
(tlu, buffer)
.br
.B integer
tlu
.br
.B character*(*)
buffer
.sp 1
.B integer function twrite
(tlu, buffer)
.br
.B integer
tlu
.br
.B character*(*)
buffer
.sp 1
.B integer function trewin
(tlu)
.br
.B integer
tlu
.sp 1
.B integer function tskipf
(tlu, nfiles, nrecs)
.br
.B integer
tlu, nfiles, nrecs
.sp 1
.B integer function tstate
(tlu, fileno, recno, errf, eoff, eotf, tcsr)
.br
.B integer
tlu, fileno, recno, tcsr
.br
.B logical
errf, eoff, eotf
.SH DESCRIPTION
These functions provide a simple interface between f77 and magnetic
tape devices.
A ``tape logical unit'',
.IR tlu ,
is ``topen''ed in much the same way as a normal f77 logical unit
is ``open''ed.
All other operations are performed via the
.IR tlu .
The
.I tlu
has no relationship at all to any normal f77 logical unit.
.PP
.I Topen
associates a device name with a
.IR tlu .
.I Tlu
must be in the range 0 to 3.
The logical argument
.I label
should indicate whether the tape includes a tape label.
This is used by
.I trewin
below.
.I Topen
does not move the tape.
The normal returned value is 0.
If the value of the function is negative, an error has occured.
See
.IR perror (3F)
for details.
.PP
.I Tclose
closes the tape device channel and removes its association with
.IR tlu .
The normal returned value is 0.
A negative value indicates an error.
.PP
.I Tread
reads the next physical record from tape to
.IR buffer .
.I Buffer
.B must
be of type
.BR character .
The size of
.I buffer
should be large enough to hold the largest physical record to be read.
The actual number of bytes read will be returned as the value of the
function.
If the value is 0, the end-of-file has been detected.
A negative value indicates an error.
.PP
.I Twrite
writes a physical record to tape from
.IR buffer .
The physical record length will be the size of
.IR buffer .
.I Buffer
.B must
be of type
.BR character .
The number of bytes written will be returned.
A value of 0 or negative indicates an error.
.PP
.I Trewin
rewinds the tape associated with
.I tlu
to the beginning of the first data file.
If the tape is a labelled tape
(see
.I topen
above)
then the label is skipped over after rewinding.
The normal returned value is 0.
A negative value indicates an error.
.PP
.I Tskipf
allows the user to skip over files and/or records.
First,
.I nfiles
end-of-file marks are skipped. If the current file is at
EOF, this counts as 1 file to skip.
(Note: This is the way to reset the EOF status for a
.IR tlu .)
Next,
.I nrecs
physical records are skipped over.
The normal returned value is 0.
A negative value indicates an error.
.PP
Finally,
.I tstate
allows the user to determine the logical state of the tape I/O channel
and to see the tape drive control status register.
The values of
.I fileno
and
.I recno
will be returned and indicate the current file and record number.
The logical values
.IR errf ,
.IR eoff ,
and
.I eotf
indicate an error has occurred, the current file is at EOF,
or the tape has reached logical end-of-tape.
End-of-tape (EOT) is indicated by an empty file, often
referred to as a double EOF mark.
It is not allowed to read past EOT although it is allowed to write.
The value of
.I tcsr
will reflect the tape drive control status register.
See
.IR ht (4)
for details.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
ht(4), perror(3F), rewind(1)

View File

@@ -1,43 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)traper.3f 6.1 (Berkeley) 5/15/85
.\"
.TH TRAPER 3F "May 15, 1985"
.UC 5
.SH NAME
traper \- trap arithmetic errors
.SH SYNOPSIS
.B integer function traper (mask)
.SH DESCRIPTION
\fBNOTE: This routine applies only to the \s-2VAX\s0.
It is ignored on the \s-2PDP11\s0.\fR
.PP
Integer overflow and floating point underflow are not normally
trapped during execution. This routine enables these traps by setting
status bits in the process status word. These bits are reset on
entry to a subprogram, and the previous state is restored on return.
Therefore, this routine must be called
.I inside
each subprogram in which these conditions should be trapped.
If the condition occurs and trapping is enabled,
signal SIGFPE is sent to the process. (See
.IR signal (3C))
.PP
The argument has the following meaning:
.nf
value meaning
0 do not trap either condition
1 trap integer overflow only
2 trap floating underflow only
3 trap both the above
.fi
The previous value of these bits is returned.
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a
.SH "SEE ALSO"
signal(3C), signal(3F)

View File

@@ -1,53 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)trapov.3f 6.1 (Berkeley) 5/15/85
.\"
.TH TRAPOV 3F "May 15, 1985"
.UC 5
.SH NAME
trapov \- trap and repair floating point overflow
.SH SYNOPSIS
.B subroutine trapov (numesg, rtnval)
.br
.B double precision rtnval
.SH DESCRIPTION
\fBNOTE: This routine applies only to the older VAX 11/780's.
VAX computers made or upgraded since spring 1983 handle errors differently.\fR
See
.IR trpfpe (3F)
for the newer error handler.
This routine has always been ineffective on the VAX 11/750.
It is a null routine on the PDP11.
.PP
This call sets up signal handlers to trap arithmetic exceptions
and the use of illegal operands.
Trapping arithmetic exceptions allows the user's program to proceed from
instances of floating point overflow or divide by zero.
The result of such operations will be an illegal floating point value.
The subsequent use of the illegal operand will be trapped
and the operand replaced by the specified value.
.PP
The first
.I numesg
occurrences of a floating point arithmetic error will cause a message
to be written to the standard error file.
If the resulting value is used, the value given for
.I rtnval
will replace the illegal operand generated by the arithmetic error.
.I Rtnval
must be a double precision value. For example, ``0d0'' or ``dflmax()''.
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a
.SH SEE ALSO
trpfpe(3F), signal(3F), range(3F)
.SH BUGS
Other arithmetic exceptions can be trapped but not repaired.
.PP
There is no way to
distinguish between an integer value of 32768 and the illegal
floating point form.
Therefore such an integer value may get replaced while repairing
the use of an illegal operand.

View File

@@ -1,66 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)trpfpe.3f 6.1 (Berkeley) 5/15/85
.\"
.TH TRPFPE 3F "May 15, 1985"
.UC 5
.SH NAME
trpfpe, fpecnt \- trap and repair floating point faults
.SH SYNOPSIS
.B subroutine trpfpe (numesg, rtnval)
.br
.B double precision rtnval
.sp 1
.B integer function fpecnt ()
.sp 1
.B common /fpeflt/ fperr
.br
.B logical fperr
.SH DESCRIPTION
\fBNOTE: This routine applies only to Vax computers.\fR
It is a null routine on the PDP11.
.PP
.I Trpfpe
sets up a signal handler to trap arithmetic exceptions.
If the exception is due to a floating point arithmetic fault,
the result of the operation is replaced with the
.I rtnval
specified.
.I Rtnval
must be a double precision value. For example, ``0d0'' or ``dflmax()''.
.PP
The first
.I numesg
occurrences of a floating point arithmetic error will cause a message
to be written to the standard error file.
Any exception that can't be repaired will result in the default
action, typically an abort with core image.
.PP
.I Fpecnt
returns the number of faults since the last call to
.IR trpfpe .
.PP
The logical value in the common block labelled
.I fpeflt
will be set to
.B .true.
each time a fault occurs.
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a
.SH SEE ALSO
signal(3F), range(3F)
.SH BUGS
This routine works only for
.IR faults ,
not
.IR traps .
This is primarily due to the Vax architecture.
.PP
If the operation involves changing the stack pointer, it can't be repaired.
This seldom should be a problem with the f77 compiler, but such an operation
might be produced by the optimizer.
.PP
The POLY and EMOD opcodes are not dealt with.

View File

@@ -1,38 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)ttynam.3f 6.1 (Berkeley) 5/15/85
.\"
.TH TTYNAM 3F "May 15, 1985"
.UC 5
.SH NAME
ttynam, isatty \- find name of a terminal port
.SH SYNOPSIS
.B character*(*) function ttynam (lunit)
.sp 1
.B logical function isatty (lunit)
.SH DESCRIPTION
.I Ttynam
returns a blank padded path name
of the terminal device associated with logical unit
.IR lunit .
.PP
.I Isatty
returns
.B .true.
if
.I lunit
is associated with a terminal device,
.B .false.
otherwise.
.SH FILES
/dev/\(**
.br
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH DIAGNOSTICS
.I Ttynam
returns an empty string (all blanks) if
.I lunit
is not associated with a terminal device in directory `/dev'.

View File

@@ -1,29 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)unlink.3f 6.1 (Berkeley) 5/15/85
.\"
.TH UNLINK 3F "May 15, 1985"
.UC 5
.SH NAME
unlink \- remove a directory entry
.SH SYNOPSIS
.B integer function unlink (name)
.br
.B character*(*) name
.SH DESCRIPTION
.I Unlink
causes the directory entry specified by pathname
.I name
to be removed.
If this was the last link to the file, the contents of the file are lost.
The returned value will be zero if successful; a system error code otherwise.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
unlink(2), link(3F), filsys(5), perror(3F)
.SH BUGS
Pathnames can be no longer than MAXPATHLEN as defined in
.RI < sys/param.h >.

View File

@@ -1,33 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)wait.3f 6.1 (Berkeley) 5/15/85
.\"
.TH WAIT 3F "May 15, 1985"
.UC 5
.SH NAME
wait \- wait for a process to terminate
.SH SYNOPSIS
.B integer function wait (status)
.br
.B integer status
.SH DESCRIPTION
.I Wait
causes its caller to be suspended until a signal is received or one of
its child processes terminates.
If any child has terminated since the last
.I wait,
return is immediate; if there are no children, return is immediate
with an error code.
.PP
If the returned value is positive, it is the process ID of the child and
.I status
is its termination status (see
.IR wait (2)).
If the returned value is negative, it is the negation of a system error code.
.SH FILES
.ie \nM /usr/ucb/lib/libU77.a
.el /usr/lib/libU77.a
.SH "SEE ALSO"
wait(2), signal(3F), kill(3F), perror(3F)

View File

@@ -20,16 +20,8 @@ TOPSRC = $(shell cd ../../..; pwd)
include $(TOPSRC)/target.mk
MDIR= /share/man/cat6
SRCS= aardvark.6 adventure.6 arithmetic.6 backgammon.6 banner.6 \
bcd.6 bj.6 boggle.6 canfield.6 chess.6 ching.6 \
cribbage.6 doctor.6 fish.6 fortune.6 hangman.6 hunt.6 mille.6 \
monop.6 moo.6 number.6 quiz.6 rain.6 robots.6 rogue.6 \
snake.6 trek.6 ttt.6 warp.6 words.6 worm.6 worms.6 wump.6 zork.6
OBJS= aardvark.0 adventure.0 arithmetic.0 backgammon.0 banner.0 \
bcd.0 bj.0 boggle.0 canfield.0 chess.0 ching.0 \
cribbage.0 doctor.0 fish.0 fortune.0 hangman.0 hunt.0 mille.0 \
monop.0 moo.0 number.0 quiz.0 rain.0 robots.0 rogue.0 \
snake.0 trek.0 ttt.0 warp.0 words.0 worm.0 worms.0 wump.0 zork.0
SRCS=
OBJS=
.SUFFIXES: .6 .0
@@ -45,6 +37,4 @@ clean: FRC
install: _make_01
cp ${OBJS} ${DESTDIR}${MDIR}
ln -f ${DESTDIR}${MDIR}/snake.0 ${DESTDIR}${MDIR}/snscore.0
ln -f ${DESTDIR}${MDIR}/canfield.0 ${DESTDIR}${MDIR}/cfscores.0
FRC:

View File

@@ -1,25 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)aardvark.6 6.1 (Berkeley) 5/20/85
.\"
.TH AARDVARK 6 "May 20, 1985"
.UC 4
.SH NAME
aardvark \- yet another exploration game
.SH SYNOPSIS
.B /usr/games/aardvark
.SH DESCRIPTION
Aardvark is yet another computer fantasy simulation game
of the adventure/zork genre.
This one is written in DDL (Dungeon Definition Language)
and is intended primarily as an example of how to write
a dungeon in DDL.
.SH FILES
.ta \w'/usr/games/lib/aardvark'u
/usr/games/lib/ddlrun ddl interpreter
.br
/usr/games/lib/aardvark internal form of aardvark dungeon
.SH AUTHOR
Mike Urban, UCLA

View File

@@ -1,21 +0,0 @@
.\" @(#)adventure.6 6.2 (Berkeley) 5/6/86
.\"
.TH ADVENTURE 6 "May 6, 1986"
.AT 3
.SH NAME
adventure \- an exploration game
.SH SYNOPSIS
.B /usr/games/adventure
.SH DESCRIPTION
The object of the game is to
locate and explore Colossal Cave, find the treasures hidden there,
and bring them back to the building with you.
The program is self-descriptive to a point, but part of the game is to discover
its rules.
.PP
To terminate a game, type `quit';
to save a game for later resumption, type `suspend'.
.SH BUGS
.PP
Saving a game creates a large executable file instead of just
the information needed to resume the game.

View File

@@ -1,56 +0,0 @@
.\" @(#)arithmetic.6 6.2 (Berkeley) 5/6/86
.\"
.TH ARITHMETIC 6 "May 6, 1986"
.AT 3
.SH NAME
arithmetic \- provide drill in number facts
.SH SYNOPSIS
.B /usr/games/arithmetic
[
.B +\-x/
] [ range ]
.SH DESCRIPTION
.I Arithmetic
types out simple arithmetic problems, and waits for an answer to be typed in.
If the answer is correct, it types back \*(lqRight!\*(rq, and a new problem.
If the answer is wrong, it replies \*(lqWhat?\*(rq,
and waits for another answer.
After every twenty problems, it publishes
statistics on correctness and the time required to answer.
.PP
To quit the program, type an interrupt (delete).
.PP
The first optional argument determines the kind of problem to be generated;
.B +\-x/
respectively cause addition, subtraction, multiplication, and division
problems to be generated.
One or more characters can be given;
if more than one is given, the different types of
problems will be mixed in random order; default is
.B +\-.
.PP
.I Range
is a decimal number;
all addends, subtrahends, differences, multiplicands, divisors,
and quotients will be less than or equal to the value of
.IR range .
Default
.I range
is 10.
.PP
At the start, all numbers less than or equal to
.I range
are equally likely to appear.
If the respondent makes a mistake,
the numbers in the problem which was missed
become more likely to reappear.
.PP
As a matter of educational philosophy, the program will
not give correct answers, since the learner should, in principle,
be able to calculate them.
Thus the program is intended to provide drill for
someone just past the first learning stage, not to teach number facts
.I de
.IR novo .
For almost all users, the relevant statistic should be
time per problem, not percent correct.

View File

@@ -1,11 +0,0 @@
.\" @(#)backgammon.6 6.1 (Berkeley) 5/20/85
.\"
.TH BACKGAMMON 6 "May 20, 1985"
.AT 3
.SH NAME
backgammon \- the game
.SH SYNOPSIS
.B /usr/games/backgammon
.SH DESCRIPTION
This program does what you expect.
It will ask whether you need instructions.

View File

@@ -1,45 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)banner.6 6.2 (Berkeley) 5/6/86
.\"
.TH BANNER 6 "May 6, 1986"
.UC
.SH NAME
banner \- print large banner on printer
.SH SYNOPSIS
.B /usr/games/banner
[
.BI \-w n
]
message ...
.SH DESCRIPTION
.I Banner
prints a large, high quality banner on the standard output.
If the message is omitted, it prompts for and
reads one line of its standard input. If
.B \-w
is given, the output is scrunched down from a width of 132 to
.I n ,
suitable for a narrow terminal. If
.I n
is omitted, it defaults to 80.
.PP
The output should be printed on a hard-copy device, up to 132 columns wide,
with no breaks between the pages. The volume is great enough that you
may want
a printer or a fast hardcopy terminal, but if you are patient, a
decwriter or other 300 baud terminal will do.
.SH BUGS
Several ASCII characters are not defined, notably <, >, [, ], \\,
^, _, {, }, |, and ~. Also, the characters ", ', and & are funny
looking (but in a useful way.)
.PP
The
.B \-w
option is implemented by skipping some rows and columns.
The smaller it gets, the grainier the output.
Sometimes it runs letters together.
.SH AUTHOR
Mark Horton

View File

@@ -1,18 +0,0 @@
.TH BCD 6
.SH NAME
bcd, ppt \- convert to antique media
.SH SYNOPSIS
.B /usr/games/bcd
text
.PP
.B /usr/games/ppt
.SH DESCRIPTION
.I Bcd
converts the literal
.I text
into a form familiar to old-timers.
.PP
.I Ppt
converts the standard input into yet another form.
.SH "SEE ALSO"
dd(1)

View File

@@ -1,77 +0,0 @@
.TH BJ 6
.SH NAME
bj \- the game of black jack
.SH SYNOPSIS
.B /usr/games/bj
.SH DESCRIPTION
.I Bj
is a serious attempt at
simulating the dealer
in the game of black jack (or twenty-one)
as might be found in Reno.
The following rules apply:
.HP 5
The bet is $2 every hand.
.IP
A player `natural' (black jack) pays $3.
A dealer natural loses $2.
Both dealer and player naturals
is a `push' (no money exchange).
.IP
If the dealer has an ace up,
the player is allowed to make an `insurance'
bet against the chance of a dealer natural.
If this bet is not taken, play resumes as normal.
If the bet is taken, it is a side bet
where the player wins $2 if the dealer has
a natural and loses $1 if the dealer does not.
.IP
If the player is dealt two cards
of the same value, he is allowed to
`double'.
He is allowed to play two
hands, each with one of these cards.
(The bet is doubled also; $2 on each hand.)
.IP
If a dealt hand
has a total of ten or eleven,
the player may `double down'.
He may double the bet ($2 to $4)
and receive exactly one more card on that hand.
.IP
Under normal play,
the player may `hit' (draw a card)
as long as his total is not over twenty-one.
If the player `busts' (goes over twenty-one),
the dealer wins the bet.
.IP
When the player `stands' (decides not to hit),
the dealer hits until he attains
a total of seventeen or more.
If the dealer busts, the player wins the bet.
.IP
If both player and dealer stand,
the one with the largest total wins.
A tie is a push.
.PP
The machine deals and keeps score.
The following questions will be asked at
appropriate times.
Each question is
answered by
.B y
followed by a new line for `yes',
or just new line for `no'.
.PP
? (means, `do you want a hit?')
.br
Insurance?
.br
Double down?
.PP
Every time the deck is shuffled,
the dealer so states and the `action' (total bet)
and `standing' (total won or lost)
is printed.
To exit, hit the interrupt key (DEL)
and the action and standing will be printed.

View File

@@ -1,49 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)boggle.6 6.1 (Berkeley) 5/20/85
.\"
.TH BOGGLE 6 "May 20, 1985"
.UC 4
.SH NAME
boggle \- play the game of boggle
.SH SYNOPSIS
.B /usr/games/boggle
[
.B +
] [
.B ++
]
.SH DESCRIPTION
This program is intended for people wishing to sharpen their
skills at Boggle (TM Parker Bros.).
If you invoke the program with 4 arguments of 4 letters each,
.RI ( e.g.
.RB \*(lq "boggle appl epie moth erhd" \*(rq)
the program forms the obvious Boggle grid and lists all the words from
.B /usr/dict/words
found therein. If you invoke the program without arguments, it will generate
a board for you, let you enter words for 3 minutes, and then tell you
how well you did relative to
.BR /usr/dict/words .
.PP
The object of Boggle is to find, within 3
minutes, as many words as possible in a 4 by 4 grid of letters. Words
may be formed from any sequence of 3 or more adjacent letters in the
grid. The letters may join horizontally, vertically, or diagonally.
However, no position in the grid may be used more than once within any
one word. In competitive play amongst humans, each player is given
credit for those of his words which no other player has found.
.PP
In interactive play, enter your words separated by spaces, tabs,
or newlines. A bell will ring when there is 2:00, 1:00, 0:10, 0:02,
0:01, and 0:00 time left. You may complete any word started before the
expiration of time. You can surrender before time is up by hitting
\&'break'. While entering words, your erase character is only effective
within the current word and your line kill character is ignored.
.PP
Advanced players may wish to invoke the program with 1 or 2 +'s as
the first argument. The first + removes the restriction that positions
can only be used once in each word. The second + causes a position to
be considered adjacent to itself as well as its (up to) 8 neighbors.

View File

@@ -1,91 +0,0 @@
.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)canfield.6 6.2 (Berkeley) 5/6/86
.\"
.TH CANFIELD 6 "May 6, 1986"
.UC 5
.SH NAME
canfield, cfscores \- the solitaire card game canfield
.SH SYNOPSIS
.B /usr/games/canfield
.br
.B /usr/games/cfscores
.SH DESCRIPTION
.PP
If you have never played solitaire before, it is recommended
that you consult a solitaire instruction book. In
Canfield, tableau cards may be built on each other downward
in alternate colors. An entire pile must be moved as a unit
in building. Top cards of the piles are available
to be played on foundations, but never into empty spaces.
.PP
Spaces must be filled from the stock. The top card of
the stock also is available to be played on foundations or
built on tableau piles. After the stock is exhausted,
tableau spaces may be filled from the talon and the player may
keep them open until he wishes to use them.
.PP
Cards are dealt from the hand to the talon by threes
and this repeats until there are no more cards in the hand
or the player quits. To have cards dealt onto the talon the
player types 'ht' for his move. Foundation base cards are
also automatically moved to the foundation when they become
available.
.PP
The command 'c' causes
.I canfield
to maintain card counting statistics
on the bottom of the screen.
When properly used this can greatly increase one's chances of
winning.
.PP
The rules for betting are somewhat less strict than
those used in the official version of the game.
The initial deal costs $13.
You may quit at this point or inspect the game.
Inspection costs $13 and allows you to make as many
moves as possible without moving any cards from your hand
to the talon.
(The initial deal places three cards on the talon;
if all these cards are used,
three more are made available.)
Finally, if the game seems interesting,
you must pay the final installment of $26.
At this point you are
credited at the rate of $5 for each card on the foundation;
as the game progresses you are credited with $5 for each
card that is moved to the foundation.
Each run through the hand after the first costs $5.
The card counting feature
costs $1 for each unknown card that is identified.
If the information is toggled on,
you are only charged for cards
that became visible since it was last turned on.
Thus the maximum cost of information is $34.
Playing time is charged at a rate of $1 per minute.
.PP
With no arguments, the program
.I cfscores
prints out the current status of your canfield account.
If a user name is specified,
it prints out the status of their canfield account.
If the
.B \-a
flag is specified,
it prints out the canfield accounts for all users that have
played the game since the database was set up.
.SH FILES
/usr/games/canfield the game itself
.br
/usr/games/cfscores the database printer
.br
/usr/games/lib/cfscores the database of scores
.SH BUGS
It is impossible to cheat.
.SH AUTHORS
Originally written: Steve Levine
.br
Further random hacking by: Steve Feldman, Kirk McKusick,
Mikey Olson, and Eric Allman.

View File

@@ -1,28 +0,0 @@
.TH CHESS 6
.SH NAME
chess \- the game of chess
.SH SYNOPSIS
.B /usr/games/chess
.SH DESCRIPTION
.I Chess
is a computer program that plays class D chess.
Moves may be given either in standard (descriptive) notation
or in algebraic notation.
The symbol `+' is used to specify check;
`o-o' and `o-o-o' specify castling.
To play black, type `first';
to print the board, type an empty line.
.PP
Each move is echoed in the appropriate notation followed by
the program's reply.
.SH FILES
.ta 2i
/usr/games/lib/book opening `book'
.SH DIAGNOSTICS
The most cryptic diagnostic is `eh?' which
means that the input was syntactically incorrect.
.SH WARNING
Over-use of this program
will cause it to go away.
.SH BUGS
Pawns may be promoted only to queens.

View File

@@ -1,81 +0,0 @@
.\" @(#)ching.6 6.1 (Berkeley) 5/20/85
.\"
.TH CHING 6 "May 20, 1985"
.AT 3
.SH NAME
ching \- the book of changes and other cookies
.SH SYNOPSIS
.B /usr/games/ching
[ hexagram ]
.SH DESCRIPTION
The
.I "I Ching"
or
.I "Book of Changes"
is an ancient Chinese oracle that has been in use for centuries
as a source of wisdom and advice.
.PP
The text of the
.I oracle
(as it is sometimes known) consists of sixty-four
.I hexagrams,
each symbolized by a particular arrangement of six straight (\-\-\-)
and broken (\-\ \-) lines. These lines have values ranging
from six through nine, with the even values indicating the broken lines.
.PP
Each hexagram consists of two major sections. The
.B Judgement
relates specifically to the matter at hand (E.g.,
\*(lqIt furthers one to have somewhere to go.\*(rq) while the
.B Image
describes the general attributes of the hexagram and how they apply
to one's own life (\*(lqThus the superior man makes himself strong
and untiring.\*(rq).
.PP
When any of the lines have the values six or nine, they are moving lines;
for each there is an appended judgement which becomes significant.
Furthermore, the moving lines are inherently unstable and
change into their opposites; a second hexagram
(and thus an additional judgement) is formed.
.PP
Normally, one consults the oracle by fixing the desired question
firmly in mind and then casting a set of changes (lines)
using yarrow\-stalks or tossed coins. The resulting hexagram
will be the answer to the question.
.PP
Using an algorithm suggested by S. C. Johnson, the UNIX
.IR oracle " simply reads"
a question from the standard input (up to an EOF)
and hashes the individual characters in combination with the
time of day, process id and any other magic numbers which happen to be lying
around the system. The resulting value is used as the seed
of a random number generator which drives a simulated coin\-toss divination.
The answer is then piped through
.BR nroff " for formatting"
and will appear on the standard output.
.PP
For those who wish to remain steadfast in the old traditions,
the oracle will also accept the results of a personal divination using,
for example, coins. To do this, cast the change and then type the
resulting line values as an argument.
.PP
The impatient modern may prefer to settle for Chinese cookies; try
.IR fortune (6).
.SH "SEE ALSO"
It furthers one to see the great man.
.SH DIAGNOSTICS
The great prince issues commands,
.br
Founds states, vests families with fiefs.
.br
Inferior people should not be employed.
.SH BUGS
Waiting in the mud
.br
Brings about the arrival of the enemy.
.PP
If one is not extremely careful,
.br
Somebody may come up from behind and strike him.
.br
Misfortune.

View File

@@ -1,102 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)cribbage.6 6.2 (Berkeley) 5/6/86
.\"
.TH CRIBBAGE 6 "May 6, 1986"
.UC 4
.SH NAME
cribbage \- the card game cribbage
.SH SYNOPSIS
.B /usr/games/cribbage
[
.B \-req
]
.I name ...
.SH DESCRIPTION
.I Cribbage
plays the card game cribbage, with the program playing one hand
and the user the other. The program will initially ask the user if
the rules of the game are needed \- if so, it will print out
the appropriate section from
.I According to Hoyle
with
.I more (I).
.PP
.I Cribbage
options include:
.TP
.B \-e
When the player makes a mistake scoring his hand or crib, provide an
explanation of the correct score. (This is especially useful for
beginning players.)
.TP
.B \-q
Print a shorter form of all messages \- this is only recommended for
users who have played the game without specifying this option.
.TP
.B \-r
Instead of asking the player to cut the deck, the program will randomly
cut the deck.
.PP
.I Cribbage
first asks the player whether he wishes to play a short game
(\*(lqonce around\*(rq, to 61) or a long game (\*(lqtwice around\*(rq, to 121). A
response of `s' will result in a short game, any other response will
play a long game.
.PP
At the start of the first game, the program
asks the player to cut the deck to determine who gets the
first crib. The user should respond with a number between 0 and
51, indicating how many cards down the deck is to be cut. The player
who cuts the lower ranked card gets the first crib.
If more than one game is played, the
loser of the previous game gets the first crib in the current game.
.PP
For each hand, the program first prints the player's hand,
whose crib it is, and then asks the player
to discard two cards into the crib. The cards are prompted for
one per line, and are typed as explained below.
.PP
After discarding, the program cuts the deck (if it is the player's
crib) or asks the player to cut the deck (if it's its crib); in the latter
case, the appropriate response is a number from 0 to 39 indicating
how far down the remaining 40 cards are to be cut.
.PP
After cutting the deck, play starts with the non-dealer (the person
who doesn't have the crib) leading the first card.
Play continues, as per cribbage, until all cards are exhausted. The
program keeps track of the scoring of all points and the total of
the cards on the table.
.PP
After play, the hands are scored. The program requests the player to
score his hand (and the crib, if it is his) by printing out the
appropriate cards (and the cut card enclosed in brackets).
Play continues until one player reaches the game limit (61 or 121).
.PP
A carriage return when a numeric input is expected is equivalent
to typing the lowest legal value; when cutting the deck this
is equivalent to choosing the top card.
.PP
Cards are specified as rank followed by suit. The ranks may be specified
as one of:
`a', `2', `3', `4', `5', `6', `7', `8', `9', `t', `j', `q', and `k',
or alternatively, one of: \*(lqace\*(rq, \*(lqtwo\*(rq, \*(lqthree\*(rq, \*(lqfour\*(rq, \*(lqfive\*(rq, \*(lqsix\*(rq,
\*(lqseven\*(rq, \*(lqeight\*(rq, \*(lqnine\*(rq, \*(lqten\*(rq, \*(lqjack\*(rq, \*(lqqueen\*(rq, and \*(lqking\*(rq.
Suits may be specified as: `s', `h', `d', and `c', or alternatively as:
\*(lqspades\*(rq, \*(lqhearts\*(rq, \*(lqdiamonds\*(rq, and \*(lqclubs\*(rq.
A card may be specified as: <rank> \*(lq \*(rq <suit>, or: <rank> \*(lq of \*(rq <suit>.
If the single letter rank and suit designations are used, the space
separating the suit and rank may be left out. Also, if only one card
of the desired rank is playable, typing the rank is sufficient.
For example, if your hand was \*(lq2H, 4D, 5C, 6H, JC, KD\*(rq and it was
desired to discard the king of diamonds, any of the following could be typed:
\*(lqk\*(rq, \*(lqking\*(rq, \*(lqkd\*(rq, \*(lqk d\*(rq, \*(lqk of d\*(rq, \*(lqking d\*(rq, \*(lqking of d\*(rq, \*(lqk diamonds\*(rq,
\*(lqk of diamonds\*(rq, \*(lqking diamonds\*(rq, or \*(lqking of diamonds\*(rq.
.SH FILES
.ta 2i
/usr/games/cribbage
.SH AUTHORS
Earl T. Cohen wrote the logic.
Ken Arnold added the screen oriented interface.

View File

@@ -1,24 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)doctor.6 6.1 (Berkeley) 5/20/85
.\"
.TH DOCTOR 6 "May 20, 1985"
.UC 4
.SH NAME
doctor \- interact with a psychoanalyst
.SH SYNOPSIS
.B /usr/games/doctor
.SH DESCRIPTION
.I Doctor
is a lisp-language version of the legendary ELIZA program
of Joseph Weizenbaum. This script "simulates" a Rogerian psychoanalyst.
Type in lower case, and when you get tired or bored, type
your interrupt character (either control-C or Rubout).
Remember to type two carriage returns when you want it to answer.
.PP
In order to run this you must have a Franz Lisp system in /usr/ucb/lisp.
.SH AUTHORS
Adapted for Lisp by Jon L White, moved to Franz by John Foderaro,
from an original script by Joseph Weizenbaum.

View File

@@ -1,35 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)fish.6 6.1 (Berkeley) 5/20/85
.\"
.TH FISH 6 "May 20, 1985"
.UC 4
.SH NAME
fish \- play ``Go Fish''
.SH SYNOPSIS
.B /usr/games/fish
.SH DESCRIPTION
.I Fish
plays the game of \*(lqGo Fish\*(rq,
a childrens' card game. The Object is to
accumulate `books' of 4 cards with the same face value. The
players alternate turns; each turn begins with one player
selecting a card from his hand, and asking the other player for
all cards of that face value. If the other player has one or
more cards of that face value in his hand, he gives them to the
first player, and the first player makes another request.
Eventually, the first player asks for a card which is not in
the second player's hand: he replies `GO FISH!' The first
player then draws a card from the `pool' of undealt cards. If
this is the card he had last requested, he draws again. When a
book is made, either through drawing or requesting, the cards
are laid down and no further action takes place with that face
value.
.PP
To play the computer, simply make guesses by typing a,
2, 3, 4, 5, 6, 7, 8, 9, 10, j, q, or k when asked. Hitting
return gives you information about the size of my hand and the
pool, and tells you about my books. Saying `p' as a first
guess puts you into `pro' level; The default is pretty dumb.

View File

@@ -1,54 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)fortune.6 6.1 (Berkeley) 5/20/85
.\"
.TH FORTUNE 6 "May 20, 1985"
.UC 4
.SH NAME
fortune \- print a random, hopefully interesting, adage
.SH SYNOPSIS
.B /usr/games/fortune
[
.B \-
] [
.B \-wslao
]
..[ file ]
.SH DESCRIPTION
.I Fortune
with no arguments prints out a random adage. The flags mean:
.PP
.TP 5
.B \-w
Waits before termination
for an amount of time calculated from the number of characters in the message.
This is useful if it is executed as part of the logout procedure
to guarantee that the message can be read before the screen is cleared.
.TP 5
.B \-s
Short messages only.
.TP 5
.B \-l
Long messages only.
.TP
.B \-o
Choose from an alternate list of adages,
often used for potentially offensive ones.
.TP
.B \-a
Choose from either list of adages.
.PP
.. The user may specify a file of adages.
.. This file must be created by strfile(6),
.. and be given by the user as
.. .it file.
.. Only one such file may be named,
.. subsequent ones are ignored.
.SH FILES
/usr/games/lib/fortunes.dat
.SH AUTHOR
Ken Arnold
...SH SEE\ ALSO
..strfile(6)

View File

@@ -1,23 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)hangman.6 6.1 (Berkeley) 5/20/85
.\"
.TH HANGMAN 6 "May 20, 1985"
.UC 4
.SH NAME
hangman \- Computer version of the game hangman
.SH SYNOPSIS
.B /usr/games/hangman
.SH DESCRIPTION
In
.I hangman,
the computer picks a word from the on-line word list
and you must try to guess it.
The computer keeps track of which letters have been guessed
and how many wrong guesses you have made on the screen in a graphic fashion.
.SH FILES
/usr/dict/words On-line word list
.SH AUTHOR
Ken Arnold

View File

@@ -1,266 +0,0 @@
.\" Hunt
.\" Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
.\" San Francisco, California
.\"
.\" Copyright (c) 1985 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)hunt.6 6.3 (Berkeley) 1/9/86
.\"
.TH HUNT 6 "January 9, 1986"
.UC 6
.SH NAME
hunt \- a multi-player multi-terminal game
.SH SYNOPSIS
\fB/usr/games/hunt\fP [-q] [\fB-m\fP] [hostname] [\fB-l\fP name]
.SH DESCRIPTION
The object of the game
.I hunt
is to kill off the other players.
There are no rooms, no treasures, and no monsters.
Instead, you wander around a maze, find grenades, trip mines, and shoot down
walls and players.
The more players you kill before you die, the better your score is.
If the
.B \-m
flag is given,
you enter the game as a monitor
(you can see the action but you cannot play).
.PP
.I Hunt
normally looks for an active game on the local network; if none is found,
it starts one up on the local host. One may specify the location of the
game by giving the \fIhostname\fP argument. The player name may be specified
on the command line by using the \fB-l\fP option. This command syntax was
chosen for \fIrlogin/rsh\fP compatibility.
If the
.B \-q
flag is given,
.I hunt
queries the network and reports if an active game were found.
This is useful for .login scripts.
.PP
.I Hunt
only works on crt (vdt) terminals with at least 24 lines, 80 columns, and
cursor addressing.
The screen is divided in to 3 areas.
On the right hand side is the status area.
It shows you how much damage you've sustained,
how many charges you have left,
who's in the game,
who's scanning (the asterisk in front of the name),
who's cloaked (the plus sign in front of the name),
and other players' scores.
Most of the rest of the screen is taken up by your map of the maze,
except for the 24th line,
which is used for longer messages that don't fit in the status area.
.PP
.I Hunt
uses the same keys to move as
.I vi
does,
.IR i.e. ,
.BR h , j , k ,
and
.B l
for left, down, up, right respectively.
To change which direction you're facing in the maze,
use the upper case version of the movement key (\c
.IR i.e. ,
HJKL).
.TP
Other commands are:
.sp
.nf
.ta
.ta \w'>\|<\|^\|v\ \ 'u
f \- Fire (in the direction you're facing) (Takes 1 charge)
g \- Throw grenade (in the direction you're facing) (Takes 9 charges)
F \- Throw satchel charge (Takes 25 charges)
G \- Throw bomb (Takes 49 charges)
o \- Throw small slime bomb (Takes 15 charges)
O \- Throw big slime bomb (Takes 30 charges)
s \- Scan (show where other players are) (Takes 1 charge)
c \- Cloak (hide from scanners) (Takes 1 charge)
^L \- Redraw screen
q \- Quit
.fi
.TP
Knowing what the symbols on the screen often helps:
.sp
.nf
.ta
.ta \w'>\|<\|^\|v\ \ 'u
\-\||\|+ \- walls
/\|\\ \- diagonal (deflecting) walls
# \- doors (dispersion walls)
; \- small mine
g \- large mine
: \- shot
o \- grenade
O \- satchel charge
@ \- bomb
s \- small slime bomb
$ \- big slime bomb
>\|<\|^\|v \- you facing right, left, up, or down
}\|{\|i\|! \- other players facing right, left, up, or down
\(** \- explosion
.ne 3
.cs R 24
.cs I 24
\fR\\|/\fP
.cs R
\fI\-\(**\-\fP \- grenade and large mine explosion
.fl
.cs R 24
\fR/|\\\fP
.cs R
.cs I
.fi
.TP
Satchel and bomb explosions are larger than grenades (5x5, 7x7,
and 3x3 respectively).
.LP
Other helpful hints:
.sp
.ie n .ds b []
.el .ds b \(bu
.ta
.ta \w'\*b\ \|'u
.nr In \n(.i
.de MP
.br
.in \n(Inu+\w'\*b\ \|'u
.ti \n(Inu
\*b \c
..
.MP
You can only fire in the direction you are facing.
.MP
You can only fire three shots in a row, then the gun must cool.
.MP
A shot only affects the square it hits.
.MP
Shots and grenades move 5 times faster than you do.
.MP
To stab someone,
you must face that player and move at them.
.MP
Stabbing does 2 points worth of damage and shooting does 5 points.
.MP
Slime does 5 points of damage each time it hits.
.MP
You start with 15 charges and get 5 more for every new player.
.MP
A grenade affects the nine squares centered about the square it hits.
.MP
A satchel affects the twenty-five squares centered about the square it hits.
.MP
A bomb affects the forty-nine squares centered about the square it hits.
.MP
Slime affects all squares it oozes over (15 or 30 respectively).
.MP
One small mine and one large mine is placed in the maze for every new player.
A mine has a 5% probability of tripping when you walk directly at it;
50% when going sideways on to it;
95% when backing up on to it.
Tripping a mine costs you 5 points or 10 points respectively.
Defusing a mine is worth 1 charge or 9 charges respectively.
.MP
You cannot see behind you.
.MP
Scanning lasts for (20 times the number of players) turns.
Scanning takes 1 ammo charge,
so don't waste all your charges scanning.
.MP
Cloaking lasts for 20 turns.
.MP
Whenever you kill someone,
you get 2 more damage capacity points and 2 damage points taken away.
.MP
Maximum typeahead is 5 characters.
.MP
A shot destroys normal (\c
.IR i.e.,
non-diagonal, non-door) walls.
.MP
Diagonal walls deflect shots and change orientation.
.MP
Doors disperse shots in random directions (up, down, left, right).
.MP
Diagonal walls and doors cannot be destroyed by direct shots but may
be destroyed by an adjacent grenade explosion.
.MP
Slime goes around walls, not through them.
.MP
Walls regenerate, reappearing in the order they were destroyed.
One percent of the regenerated walls will be diagonal walls or doors.
When a wall is generated directly beneath a player, he is thrown in
a random direction for a random period of time. When he lands, he
sustains damage (up to 20 percent of the amount of damage he had before
impact); that is, the less damage he had, the more nimble he is and
therefore less likely to hurt himself on landing.
\".MP
\"There is a volcano close to the center of the maze which goes off
\"close to every 100 deaths.
.MP
The environment variable
.B HUNT
is checked to get the player name.
If you don't have this variable set,
.I hunt
will ask you what name you want to play under.
If it is set,
you may also set up a single character keyboard map, but then you have to
enumerate the options:
.br
.ti +1i
\fIe.g.\fP setenv HUNT ``name=Sneaky,mapkey=zoFfGg1f2g3F4G''
.br
sets the player name to Sneaky,
and the maps \fBz\fP to \fBo\fP, \fBF\fP to \fBf\fP, \fBG\fP to \fBg\fP,
\fB1\fP to \fBf\fP,
\fB2\fP to \fBg\fP, \fB3\fP to \fBF\fP, and \fB4\fP to \fBG\fP.
The \fImapkey\fP option must be last.
.MP
It's a boring game if you're the only one playing.
.PP
Your score is the ratio of number of kills to number
of times you entered the game and is only kept for the duration
of a single session of \fIhunt\fP.
.PP
.I Hunt
normally drives up the load average to be about
(number_of_players + 0.5) greater than it would be without a
.I hunt
game executing. A limit of three players per host and nine players
total is enforced by \fIhunt\fP.
.SH FILES
.nf
.ta
.ta \w'/usr/games/lib/hunt.driver\ \ \ 'u
/usr/games/lib/hunt.driver game coordinator
.DT
.fi
.SH AUTHORS
Conrad Huang,
Ken Arnold,
and Greg Couch;
University of California, San Francisco, Computer Graphics Lab
.SH ACKNOWLEDGEMENTS
We thank Don Kneller,
John Thomason, Eric Pettersen,
and Scott Weiner for providing
endless hours of play-testing to improve the character of the game.
We hope their significant others will forgive them;
we certainly don't.
.SH BUGS
To keep up the pace, not everything is as realistic as possible.
.PP
There were some bugs in early releases of 4.2 BSD that
.I hunt
helped discover;
.I hunt
will crash your system if those bugs haven't been fixed.

View File

@@ -1,351 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)mille.6 6.2 (Berkeley) 5/6/86
.\"
.TH MILLE 6 "May 6, 1986"
.UC 4
.SH NAME
mille \- play Mille Bournes
.SH SYNOPSIS
.B /usr/games/mille
[ file ]
.SH DESCRIPTION
.I Mille
plays a two-handed game reminiscent of
the Parker Brother's game of Mille Bournes with you.
The rules are described below.
If a file name is given on the command line,
the game saved in that file is started.
.PP
When a game is started up,
the bottom of the score window will contain a list of commands.
They are:
.IP P
Pick a card from the deck.
This card is placed in the `P' slot in your hand.
.IP D
Discard a card from your hand.
To indicate which card, type the number of the card in the hand
(or \*(lqP\*(rq for the just-picked card) followed by a <RETURN> or <SPACE>.
The <RETURN or <SPACE> is required to allow recovery from typos
which can be very expensive, like discarding safeties.
.IP U
Use a card.
The card is again indicated by its number, followed by a <RETURN> or <SPACE>.
.IP O
Toggle ordering the hand.
By default off, if turned on it will sort the cards in your hand appropriately.
This is not recommended for the impatient on slow terminals.
.IP Q
Quit the game.
This will ask for confirmation, just to be sure.
Hitting <DELETE> (or <RUBOUT>) is equivalent.
.IP S
Save the game in a file.
If the game was started from a file,
you will be given an opportunity to save it on the same file.
If you don't wish to, or you did not start from a file,
you will be asked for the file name.
If you type a <RETURN> without a name,
the save will be terminated and the game resumed.
.IP R
Redraw the screen from scratch.
The command ^L (control `L') will also work.
.IP W
Toggle window type.
This switches the score window between the startup window
(with all the command names) and the end-of-game window.
Using the end-of-game window
saves time by eliminating the switch at the end of the game
to show the final score.
Recommended for hackers and other miscreants.
.PP
If you make a mistake, an error message will be printed
on the last line of the score window, and a bell will beep.
.PP
At the end of each hand or game,
you will be asked if you wish to play another.
If not, it will ask you if you want to save the game.
If you do, and the save is unsuccessful,
play will be resumed as if you had said you wanted to play another hand/game.
This allows you to use the
.RB \*(lq S \*(rq
command to reattempt the save.
.SH AUTHOR
Ken Arnold
.br
(The game itself is a product of Parker Brothers, Inc.)
.SH "SEE ALSO"
curses(3X),
.I "Screen Updating and Cursor Movement Optimization:"
.IR "A Library Package" ,
Ken Arnold
.SH CARDS
.PP
Here is some useful information.
The number in parentheses after the card name
is the number of that card in the deck:
.sp
.nf
.ne 10
.ta \w'Speed Limit (3)'u+3n \w'Speed Limit (3)'u+\w'End of Limit (6)'u+6n
Hazard Repair Safety
.sp
Out of Gas (2) Gasoline (6) Extra Tank (1)
Flat Tire (2) Spare Tire (6) Puncture Proof (1)
Accident (2) Repairs (6) Driving Ace (1)
Stop (4) Go (14) Right of Way (1)
Speed Limit (3) End of Limit (6)
.sp
.ce
25 \- (10), 50 \- (10), 75 \- (10), 100 \- (12), 200 \- (4)
.sp
.fi
.DT
.SH RULES
.PP
.BR Object :
The point of this game is to get a total of 5000 points in several hands.
Each hand is a race to put down exactly 700 miles before your opponent does.
Beyond the points gained by putting down milestones,
there are several other ways of making points.
.PP
.BR Overview :
The game is played with a deck of 101 cards.
.I Distance
cards represent a number of miles traveled.
They come in denominations of 25, 50, 75, 100, and 200.
When one is played,
it adds that many miles to the player's trip so far this hand.
.I Hazard
cards are used to prevent your opponent from putting down Distance cards.
They can only be played if your opponent has a
.I Go
card on top of the Battle pile.
The cards are
.IR "Out of Gas" ,
.IR "Accident" ,
.IR "Flat Tire" ,
.IR "Speed Limit" ,
and
.IR "Stop" .
.I Remedy
cards fix problems caused by Hazard cards played on you by your opponent.
The cards are
.IR "Gasoline" ,
.IR "Repairs" ,
.IR "Spare Tire" ,
.IR "End of Limit" ,
and
.IR "Go" .
.I Safety
cards prevent your opponent from putting specific Hazard cards on you
in the first place.
They are
.IR "Extra Tank" ,
.IR "Driving Ace" ,
.IR "Puncture Proof" ,
and
.IR "Right of Way" ,
and there are only one of each in the deck.
.PP
.BR "Board Layout" :
The board is split into several areas.
From top to bottom, they are:
.B "SAFETY AREA"
(unlabeled): This is where the safeties will be placed as they are played.
.BR HAND :
These are the cards in your hand.
.BR BATTLE :
This is the Battle pile.
All the Hazard and Remedy Cards are played here, except the
.I "Speed Limit"
and
.I "End of Limit"
cards. Only the top card is displayed, as it is the only effective one.
.BR SPEED :
The Speed pile. The
.I "Speed Limit"
and
.I "End of Limit"
cards are played here
to control the speed at which the player is allowed to put down miles.
.BR MILEAGE :
Miles are placed here.
The total of the numbers shown here is the distance traveled so far.
.PP
.BR Play :
The first pick alternates between the two players.
Each turn usually starts with a pick from the deck.
The player then plays a card, or if this is not possible or desirable,
discards one. Normally, a play or discard of a single card
constitutes a turn. If the card played is a safety, however,
the same player takes another turn immediately.
.PP
This repeats until one of the players reaches 700 points or the deck runs out.
If someone reaches 700, they have the option of going for an
.IR Extension ,
which means that the play continues until someone reaches 1000 miles.
.PP
.BR "Hazard and Remedy Cards" :
Hazard Cards are played on your opponent's Battle and Speed piles.
Remedy Cards are used for undoing the effects of your opponent's nastiness.
.PP
.RB "\ \ \ \ " Go
(Green Light)
must be the top card on your Battle pile for you to play any mileage,
unless you have played the
.I "Right of Way"
card (see below).
.br
.RB "\ \ \ \ " Stop
is played on your opponent's
.I Go
card to prevent them from playing mileage until they play a
.I Go
card.
.br
.RB "\ \ \ \ " "Speed Limit"
is played on your opponent's Speed pile.
Until they play an
.I "End of Limit"
they can only play 25 or 50 mile cards, presuming their
.I Go
card allows them to do even that.
.br
.RB "\ \ \ \ " "End of Limit"
is played on your Speed pile to nullify a
.I "Speed Limit"
played by your opponent.
.br
.RB "\ \ \ \ " "Out of Gas"
is played on your opponent's
.I Go
card. They must then play a
.I Gasoline
card, and then a
.I Go
card before they can play any more mileage.
.br
.RB "\ \ \ \ " "Flat Tire"
is played on your opponent's
.I Go
card. They must then play a
.I "Spare Tire"
card, and then a
.I Go
card before they can play any more mileage.
.br
.RB "\ \ \ \ " "Accident"
is played on your opponent's
.I Go
card. They must then play a
.I Repairs
card, and then a
.I Go
card before they can play any more mileage.
.br
.PP
.BR "Safety Cards" :
Safety cards prevent your opponent
from playing the corresponding Hazard cards on you for the rest of the hand.
It cancels an attack in progress, and
.IR "always entitles the player to an extra turn" .
.br
.RB "\ \ \ \ " "Right of Way"
prevents your opponent from playing both
.I Stop
and
.I "Speed Limit"
cards on you. It also acts as a permanent
.I Go
card for the rest of the hand, so you can play mileage
as long as there is not a Hazard card on top of your Battle pile.
In this case only, your opponent can play Hazard cards directly on a Remedy card
other than a Go card.
.br
.RB "\ \ \ \ " "Extra Tank"
When played, your opponent cannot play an
.I "Out of Gas"
on your Battle Pile.
.br
.RB "\ \ \ \ " "Puncture Proof"
When played, your opponent cannot play a
.I "Flat Tire"
on your Battle Pile.
.br
.RB "\ \ \ \ " "Driving Ace"
When played, your opponent cannot play an
.I Accident
on your Battle Pile.
.PP
.BR "Distance Cards" :
Distance cards are played when you have a
.I Go
card on your Battle pile,
or a Right of Way in your Safety area and are not stopped by a Hazard Card.
They can be played in any combination that totals exactly 700 miles,
except that
.IR "you cannot play more than two 200 mile cards in one hand" .
A hand ends whenever one player gets exactly 700 miles or the deck runs out.
In that case, play continues until neither someone reaches 700,
or neither player can use any cards in their hand.
If the trip is completed after the deck runs out, this is called
.IR "Delayed Action" .
.PP
.BR "Coup Fourr\o'\(aae'" :
This is a French fencing term for a counter-thrust move as part of a parry
to an opponents attack.
In Mille Bournes, it is used as follows:
If an opponent plays a Hazard card,
and you have the corresponding Safety in your hand,
you play it immediately, even
.I before
you draw. This immediately removes the Hazard card from your Battle pile,
and protects you from that card for the rest of the game. This
gives you more points (see \*(lqScoring\*(rq below).
.PP
.BR Scoring :
Scores are totaled at the end of each hand,
whether or not anyone completed the trip.
The terms used in the Score window have the following meanings:
.br
.RB "\ \ \ \ " "Milestones Played" :
Each player scores as many miles as they played before the trip ended.
.br
.RB "\ \ \ \ " "Each Safety" :
100 points for each safety in the Safety area.
.br
.RB "\ \ \ \ " "All 4 Safeties" :
300 points if all four safeties are played.
.br
.RB "\ \ \ \ " "Each Coup Four\o'\(aae'" :
300 points for each Coup Four\o'\(aae' accomplished.
.PP
The following bonus scores can apply only to the winning player.
.br
.RB "\ \ \ \ " "Trip Completed" :
400 points bonus for completing the trip to 700 or 1000.
.br
.RB "\ \ \ \ " "Safe Trip" :
300 points bonus for completing the trip without using any 200 mile cards.
.br
.RB "\ \ \ \ " "Delayed Action" :
300 points bonus for finishing after the deck was exhausted.
.br
.RB "\ \ \ \ " "Extension" :
200 points bonus for completing a 1000 mile trip.
.br
.RB "\ \ \ \ " "Shut-Out" :
500 points bonus for completing the trip
before your opponent played any mileage cards.
.PP
Running totals are also kept for the current score for each player
for the hand
.RB ( "Hand Total" ),
the game
.RB ( "Overall Total" ),
and number of games won
.RB ( Games ).

View File

@@ -1,164 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)monop.6 6.2 (Berkeley) 5/6/86
.\"
.de Sc \" start command list macro
.ie n .PD 0
.el .PD 0.5
.sp
..
.de Cm \" define command macro
.TP 10
.ie t .BR "\\$1" :
.el .IR "\\$1" :
..
.de Ec \" end command macro
.PD 1
..
.TH MONOP 6 "May 6, 1986"
.UC 4
.SH NAME
monop \- Monopoly game
.SH SYNOPSIS
.B /usr/games/monop
[ file ]
.SH DESCRIPTION
.I Monop
is reminiscent of the Parker Brother's game Monopoly, and
monitors a game between 1 to 9 users.
It is assumed that the rules of Monopoly are known.
The game follows the standard rules, with the exception that,
if a property goes up for auction and there are only two solvent players,
no auction is held and the property remains unowned.
.PP
The game, in effect, lends the player money,
so it is possible to buy something which you cannot afford.
However, as soon as a person goes into debt,
he must \*(lqfix the problem\*(rq,
.IR i.e. ,
make himself solvent, before play can continue.
If this is not possible, the player's property reverts to his debtee,
either a player or the bank.
A player can resign at any time to any person or the bank,
which puts the property back on the board, unowned.
.PP
Any time that the response to a question is a
.IR string ,
e.g., a name, place or person, you can type `?' to get a list of valid answers.
It is not possible to input a negative number, nor is it ever necessary.
.Sc
.IR "A Summary of Commands" :
.Cm quit
quit game: This allows you to quit the game. It asks you if you're sure.
.Cm print
print board: This prints out the current board.
The columns have the following meanings (column headings are the same for the
.BR where ,
.BR "own holdings" ,
and
.B holdings
commands):
.PP
.RS 10
.TP "\w'Name\ \ 'u"
Name
The first ten characters of the name of the square
.TP
Own
The \fInumber\fR of the owner of the property.
.TP
Price
The cost of the property (if any)
.TP
Mg
This field has a `*' in it if the property is mortgaged
.TP
#
If the property is a Utility or Railroad, this is the number
of such owned by the owner.
If the property is land, this is the number of houses on it.
.TP
Rent
Current rent on the property. If it is not owned, there is no rent.
.RE
.Cm where
where players are: Tells you where all the players are.
A `*' indicates the current player.
.Cm "own\ holdings"
List your own holdings,
.IR i.e. ,
money, get-out-of-jail-free cards, and property.
.Cm holdings
holdings list: Look at anyone's holdings.
It will ask you whose holdings you wish to look at.
When you are finished, type \*(lqdone\*(rq.
.Cm shell
shell escape: Escape to a shell. When the shell dies,
the program continues where you left off.
.Cm mortgage
mortgage property:
Sets up a list of mortgageable property, and asks which you wish to mortgage.
.Cm unmortgage
unmortgage property:
Unmortgage mortgaged property.
.Cm buy
buy houses:
Sets up a list of monopolies on which you can buy houses.
If there is more than one, it asks you which you want to buy for.
It then asks you how many for each piece of property,
giving the current amount in parentheses after the property name.
If you build in an unbalanced manner
(a disparity of more than one house within the same monopoly),
it asks you to re-input things.
.Cm sell
sell houses:
Sets up a list of monopolies from which you can sell houses.
It operates in an analogous manner to
.I buy.
.Cm card
card for jail:
Use a get-out-of-jail-free card to get out of jail.
If you're not in jail, or you don't have one, it tells you so.
.Cm pay
pay for jail:
Pay $50 to get out of jail, from whence you are put on Just Visiting.
Difficult to do if you're not there.
.Cm trade
This allows you to trade with another player.
It asks you whom you wish to trade with,
and then asks you what each wishes to give up.
You can get a summary at the end, and, in all cases,
it asks for confirmation of the trade before doing it.
.Cm resign
Resign to another player or the bank.
If you resign to the bank, all property reverts to its virgin state,
and get-out-of-jail free cards revert to the deck.
.Cm save
save game:
Save the current game in a file for later play.
You can continue play after saving,
either by adding the file in which you saved the game after the
.I monop
command, or by using the
.I restore
command (see below).
It will ask you which file you wish to save it in,
and, if the file exists, confirm that you wish to overwrite it.
.Cm restore
restore game:
Read in a previously saved game from a file.
It leaves the file intact.
.Cm roll
Roll the dice and move forward to your new location.
If you simply hit the <RETURN> key instead of a command,
it is the same as typing
.IR roll .
.Ec
.SH AUTHOR
Ken Arnold
.SH FILES
/usr/games/lib/cards.pck Chance and Community Chest cards
.SH BUGS
No command can be given an argument instead of a response to a query.

View File

@@ -1,16 +0,0 @@
.TH MOO 6
.SH NAME
moo \- guessing game
.SH SYNOPSIS
.B /usr/games/moo
.SH DESCRIPTION
.I Moo
is a guessing game imported from England.
The computer picks a number consisting
of four distinct decimal digits.
The player guesses four distinct digits
being scored on each guess.
A `cow' is a correct digit in an incorrect position.
A `bull' is a correct digit in a correct position.
The game continues until the player guesses the number
(a score of four bulls).

View File

@@ -1,12 +0,0 @@
.\" @(#)number.6 6.1 (Berkeley) 5/20/85
.\"
.TH NUMBER 6 "May 20, 1985"
.AT 3
.SH NAME
number \- convert Arabic numerals to English
.SH SYNOPSIS
.B /usr/games/number
.SH DESCRIPTION
.I Number
copies the standard input to the standard output,
changing each decimal number to a fully spelled out version.

View File

@@ -1,67 +0,0 @@
.\" @(#)quiz.6 6.1 (Berkeley) 5/20/85
.\"
.TH QUIZ 6 "May 20, 1985"
.AT 3
.SH NAME
quiz \- test your knowledge
.SH SYNOPSIS
.B /usr/games/quiz
[
.B \-i
file ]
[
.B \-t
] [ category1 category2 ]
.SH DESCRIPTION
.I Quiz
gives associative knowledge tests on various subjects.
It asks items chosen from
.I category1
and expects answers from
.IR category2 .
If no categories are specified,
.I quiz
gives instructions and lists the available categories.
.PP
.I Quiz
tells a correct answer whenever you type a bare newline.
At the end of input, upon interrupt, or when questions run out,
.I quiz
reports a score and terminates.
.PP
The
.B \-t
flag specifies `tutorial' mode, where missed questions are repeated
later, and material is gradually introduced as you learn.
.PP
The
.B \-i
flag causes the named file to be substituted for the default index file.
The lines of these files have the syntax:
.RS
.nf
.ta \w'alternate 'u
line = category newline \(bv category `:' line
category = alternate \(bv category `|' alternate
alternate = empty \(bv alternate primary
primary = character \(bv `[' category `]' \(bv option
option = `{' category `}'
.fi
.RE
.PP
The first category on each line of an index file names an information file.
The remaining categories specify the order and contents of
the data in each line of the information file.
Information files have the same syntax.
Backslash `\\' is used as with
.IR sh (1)
to quote syntactically significant characters or to insert transparent
newlines into a line.
When either a question or its answer is empty,
.I quiz
will refrain from asking it.
.SH FILES
/usr/games/quiz.k/*
.SH BUGS
The construct `a\||\|ab' doesn't work in an information file.
Use `a{b}'.

View File

@@ -1,27 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)rain.6 6.1 (Berkeley) 5/20/85
.\"
.TH RAIN 6 "May 20, 1985"
.UC 4
.SH NAME
rain \- animated raindrops display
.SH SYNOPSIS
/usr/games/rain
.SH DESCRIPTION
.PP
.ad b
.IR Rain 's
display is modeled after the VAX/VMS program of the same name.
The terminal has to be set for 9600 baud to obtain the proper effect.
.PP
As with all programs that use
.IR termcap ,
the TERM environment
variable must be set (and exported) to the type of the terminal being used.
.SH FILES
/etc/termcap
.SH AUTHOR
Eric P. Scott

View File

@@ -1,130 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)robots.6 6.1 (Berkeley) 5/20/85
.\"
.TH ROBOTS 6 "May 20, 1985"
.UC 6
.SH NAME
robots \- fight off villainous robots
.SH SYNOPSIS
.B /usr/games/robots
[
.B \-sjta
] [
.B scorefile
]
.SH DESCRIPTION
.I Robots
pits you against evil robots,
who are trying to kill you
(which is why they are evil).
Fortunately for you,
even though they are evil,
they are not very bright
and have a habit of bumping into each other,
thus destroying themselves.
In order to survive,
you must get them to kill each other off,
since you have no offensive weaponry.
.PP
Since you are stuck without offensive weaponry,
you are endowed with one piece of defensive weaponry:
a teleportation device.
When two robots run into each other or a junk pile,
they die.
If a robot runs into you,
you die.
When a robot dies, you get 10 points,
and when all the robots die,
you start on the next field.
This keeps up until they finally get you.
.PP
Robots are represented on the screen by a
.RB ` + ',
the junk heaps from their collisions by a
.RB ` \(** ',
and you
(the good guy)
by a
.RB ` @ '.
.PP
The commands are:
.sp
.nf
.ta
.ta \w'\fBHJKLBNYU\fP\ \ 'u
\fBh\fP move one square left
\fBl\fP move one square right
\fBk\fP move one square up
\fBj\fP move one square down
\fBy\fP move one square up and left
\fBu\fP move one square up and right
\fBb\fP move one square down and left
\fBn\fP move one square down and right
\fB\&.\fP (also space) do nothing for one turn
\fBHJKLBNYU\fP run as far as possible in the given direction
\fB>\fP do nothing for as long as possible
\fBt\fP teleport to a random location
\fBw\fP wait until you die or they all do
\fBq\fP quit
\fB^L\fP redraw the screen
.sp
.fi
All commands can be preceded by a count.
.PP
If you use the
.RB ` w '
command and survive to the next level,
you will get a bonus of 10%
for each robot which died after you decided to wait.
If you die, however, you get nothing.
For all other commands,
the program will save you from typos
by stopping short of being eaten.
However,
with
.RB ` w '
you take the risk of dying by miscalculation.
.PP
Only five scores are allowed per user on the score file.
If you make it into the score file,
you will be shown the list at the end of the game.
If an alternate score file is specified,
that will be used instead of the standard file
for scores.
.PP
The options are
.TP
.B \-s
Don't play,
just show the score file
.TP
.B \-j
Jump,
.IR i.e. ,
when you run,
don't show any intermediate positions;
only show things at the end.
This is useful on slow terminals.
.TP
.B \-t
Teleport automatically when you have no other option.
This is a little disconcerting until you get used to it,
and then it is very nice.
.TP
.B \-a
Advance into the higher levels directly,
skipping the lower, easier levels.
.SH AUTHOR
Ken Arnold
.SH FILES
.ta
.ta \w'/usr/games/lib/robots_roll\ \ \ \ 'u
/usr/games/lib/robots_roll the score file
.SH BUGS
Bugs?
You
.IR crazy ,
man?!?

View File

@@ -1,93 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)rogue.6 6.2 (Berkeley) 5/6/86
.\"
.TH ROGUE 6 "May 6, 1986"
.UC 4
.SH NAME
rogue \- Exploring The Dungeons of Doom
.SH SYNOPSIS
.B /usr/games/rogue
[
.B \-r
]
[
.I save_file
]
[
.B \-s
]
[
.B \-d
]
.SH DESCRIPTION
.PP
.I Rogue
is a computer fantasy game with a new twist. It is crt oriented and the
object of the game is to survive the attacks of various monsters and get
a lot of gold, rather than the puzzle solving orientation of most computer
fantasy games.
.PP
To get started you really only need to know two commands. The command
.B ?
will give you a list of the available commands and the command
.B /
will identify the things you see on the screen.
.PP
To win the game (as opposed to merely playing to beat other people's high
scores) you must locate the Amulet of Yendor which is somewhere below
the 20th level of the dungeon and get it out. Nobody has achieved this
yet and if somebody does, they will probably go down in history as a hero
among heroes.
.PP
When the game ends, either by your death, when you quit, or if you (by
some miracle) manage to win,
.I rogue
will give you a list of the top-ten scorers. The scoring is based entirely
upon how much gold you get. There is a 10% penalty for getting yourself
killed.
.PP
If
.I save_file
is specified,
rogue will be restored from the specified saved game file.
If the
.B \-r
option is used, the save game file is presumed to be the default.
.PP
The
.B \-s
option will print out the list of scores.
.PP
The
.B \-d
option will kill you and try to add you to the score file.
.PP
For more detailed directions, read the document
.I "A Guide to the Dungeons of Doom."
.SH AUTHORS
Michael C. Toy,
Kenneth C. R. C. Arnold,
Glenn Wichman
.SH FILES
.DT
.ta \w'/usr/games/lib/rogue_roll\ \ \ 'u
/usr/games/lib/rogue_roll Score file
.br
\fB~\fP/rogue.save Default save file
.SH SEE ALSO
Michael C. Toy
and
Kenneth C. R. C. Arnold,
.I "A guide to the Dungeons of Doom"
.SH BUGS
.PP
Probably infinite
(although countably infinite).
However,
that Ice Monsters sometimes transfix you permanently is
.I not
a bug.
It's a feature.

View File

@@ -1,93 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)snake.6 6.1 (Berkeley) 5/20/85
.\"
.TH SNAKE 6 "May 20, 1985"
.UC 4
.SH NAME
snake, snscore \- display chase game
.SH SYNOPSIS
.B /usr/games/snake
[
.BI \-w n
] [
.BI \-l n
]
.br
.B /usr/games/snscore
.SH DESCRIPTION
Snake is a display-based game which must be played on a CRT terminal
from among those supported by vi(1).
The object of the game is to make as much money as possible without
getting eaten by the snake. The
.B \-l
and
.B \-w
options allow you to specify the length and width of the field.
By default the entire screen (except for the last column) is used.
.PP
You are represented on the screen by an I.
The snake is 6 squares long and is represented by S's.
The money is $, and an exit is #.
Your score is posted in the upper left hand corner.
.PP
You can move around using the same conventions as vi(1),
the h, j, k, and l keys work, as do the arrow keys.
Other possibilities include:
.IP sefc
These keys are like hjkl but form a directed pad around the d key.
.IP HJKL
These keys move you all the way in the indicated direction to the
same row or column as the money. This does
.I not
let you jump away from the snake, but rather saves you from having
to type a key repeatedly. The snake still gets all his turns.
.IP SEFC
Likewise for the upper case versions on the left.
.IP ATPB
These keys move you to the four edges of the screen.
Their position on the keyboard is the mnemonic, e.g.
P is at the far right of the keyboard.
.IP x
This lets you quit the game at any time.
.IP p
Points in a direction you might want to go.
.IP w
Space warp to get out of tight squeezes, at a price.
.IP !
Shell escape
.IP ^Z
Suspend the snake game, on systems which support it.
Otherwise an interactive shell is started up.
.PP
To earn money, move to the same square the money is on.
A new $ will appear when you earn the current one.
As you get richer, the snake gets hungrier.
To leave the game, move to the exit (#).
.PP
A record is kept of the personal best score of each player.
Scores are only counted if you leave at the exit,
getting eaten by the snake is worth nothing.
.PP
As in pinball, matching the last digit of your score to the number
which appears after the game is worth a bonus.
.PP
To see who wastes time playing snake, run
.I /usr/games/snscore .
.SH FILES
.nf
.ta \w'/usr/games/lib/snakerawscores 'u
/usr/games/lib/snakerawscores database of personal bests
/usr/games/lib/snake.log log of games played
/usr/games/busy program to determine if system too busy
.DT
.fi
.SH BUGS
.PP
When playing on a small screen,
it's hard to tell when you hit the edge of the screen.
.PP
The scoring function takes into account the size of the screen.
A perfect function to do this equitably has not been devised.

View File

@@ -1,63 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)trek.6 6.1 (Berkeley) 5/20/85
.\"
.TH TREK 6 "May 20, 1985"
.UC 4
.SH NAME
trek \- trekkie game
.SH SYNOPSIS
.B /usr/games/trek
[ [
.B \-a
] file ]
.SH DESCRIPTION
.I Trek
is a game of space glory and war. Below is a summary of commands.
For complete documentation, see
.IR Trek
by Eric Allman.
.PP
If a filename is given, a log of the game is written onto that file.
If the
.B \-a
flag is given before the filename, that file is appended to, not truncated.
.PP
The game will ask you what length game you would like.
Valid responses are \*(lqshort\*(rq, \*(lqmedium\*(rq, and \*(lqlong\*(rq.
You may also type \*(lqrestart\*(rq, which restarts a previously saved game.
You will then be prompted for the skill, to which you must respond
\*(lqnovice\*(rq, \*(lqfair\*(rq, \*(lqgood\*(rq, \*(lqexpert\*(rq,
\*(lqcommadore\*(rq, or \*(lqimpossible\*(rq.
You should normally start out with a novice and work up.
.PP
In general, throughout the game, if you forget what is appropriate
the game will tell you what it expects if you just type in a question mark.
.SH AUTHOR
Eric Allman
.SH "SEE ALSO"
/usr/doc/trek
.SH "COMMAND SUMMARY"
.ie t .ds f \fB
.el .ds f \fI
.ta 3i
.nf
\*fabandon\fR \*fca\fRpture
\*fcl\fRoak \*fu\fRp/\*fd\fRown
\*fc\fRomputer request; ... \*fda\fRmages
\*fdestruct\fR \*fdo\fRck
\*fhelp\fR \*fi\fRmpulse course distance
\*fl\fRrscan \*fm\fRove course distance
\*fp\fRhasers \*fa\fRutomatic amount
\*fp\fRhasers \*fm\fRanual amt1 course1 spread1 ...
\*ft\fRorpedo course [\*fy\fRes] angle/\*fn\fRo
\*fram\fR course distance \*fr\fRest time
\*fshell\fR \*fsh\fRields \*fu\fRp/\*fd\fRown
\*fs\fRrscan [\*fy\fRes/\*fn\fRo]
\*fst\fRatus \*fterminate\fR \*fy\fRes/\*fn\fRo
\*fu\fRndock \*fv\fRisual course
\*fw\fRarp warp_factor
.fi
.DT

View File

@@ -1,17 +0,0 @@
.TH TTT 6
.SH NAME
ttt \- tic-tac-toe
.SH SYNOPSIS
.B /usr/games/ttt
.SH DESCRIPTION
.I Ttt
is the X and O game popular in the first grade.
This is a learning program that never makes the same
mistake twice.
.PP
Although it learns, it learns slowly.
It must lose nearly 80 games to
completely know the game.
.SH FILES
.ta 2i
/usr/games/ttt.k learning file

View File

@@ -1,133 +0,0 @@
.TH WARP 6
.SH NAME
warp - a real-time space war game
.SH SYNOPSIS
.B warp [options]
.SH DESCRIPTION
.I Warp
is a real-time space war game that requires skill and quick thinking.
"Real-time" in this context means that the enemies keep moving (and shooting)
even if you don't.
A unique feature of
.I warp
is that blast propagates; it is unhealthy to remain near things that are
in the process of blowing up.
If a given universe is above a critical density it may chain react.
Scoring is like many popular arcade games--there are multiple waves which
get harder and harder as you go along.
Nobody has ever maxed out the scoreboard without cheating.
.PP
Unlike many space-war games,
.I warp
is not simply a shooting gallery.
Along with phasers and photon torpedoes, you have tractor beams and a cloaking
device.
Skill in navigation is important.
It helps to be schizophrenic, because you must manage an Enterprise and a Base
simultaneously.
And enemies do not simply shoot back.
You can get tailed, absorbed, snuck up upon, hemmed in, rammed, loved to death,
reprimanded for destroying civilized life, dragged around, robbed, damaged
and eaten.
And if you should happen to get bored by the enemies (a trifle unlikely),
you can always watch the interesting star patterns.
In fact, you'll have to, since your tactics will depend upon what kind of
universe you find yourself in.
.PP
.I Warp
is played in a double wraparound universe, i.e. the bottom is connected to the
top, and the right is connected to the left.
You need a crt with random cursor addressing and at least 24 lines by 80
columns.
For more information about about how to play, simply run
.I warp
and say "y" when it asks if you want to see the instructions.
There is also a single-page command summary that you can get while playing
by typing a "?".
.PP
Command line options include:
.TP 5
.B -b
Put
.I warp
into beginner mode.
Makes the difficulty increase more slowly, but penalizes you for it.
.TP 5
.B -d<n>
Sets the initial difficulty to
.BR n .
.TP 5
.B -l
Play a low-speed game.
Changes the basic cycle time from 1 second to 2 seconds.
This switch is automatically set at baud rates below 2400.
You may want to set it at higher speeds if your terminal cannot keep up
with the output.
(This should never happen on BSD systems, which have an IOCTL call to
determine output queue length.)
Because this makes the game easier, a separate scoreboard is kept for
low-speed games.
.TP 5
.B -m
Terminal has a meta key which turns on the eighth bit. Ordinarily the
eighth bit is stripped in order to ignore parity.
Metacharacters will appear to the keymap as prefixed with a ^A, and will
subsequently have the same effect as a control character, unless otherwise
mapped.
.TP 5
.B -s
Just prints out the scoreboards and saved games and then exits.
.TP 5
.B -v
Prints out the version number.
.TP 5
.B -x
Play an experimental game.
This causes
.I warp
to ignore any saved game, and disables the ability to save
the current game.
Thus you can play around with something or show
.I warp
to someone without jeopardizing a currently saved game.
.SH ENVIRONMENT
.TP 5
.B WARPMACRO
If defined, names a file containing keyboard mappings and macros.
If not defined, the value %X/Kbmap.%{TERM} is assumed.
The macro file contains lines of the following form:
.sp
<keystroke-sequence> <whitespace> <canonical-keystroke-sequence>
.sp
You may use certain % interpolations and ^<letter> control characters.
For possible % interpolations see warp.h.
Sequences in the canonical-keystroke-sequence bounded by ^(...^) are
subject to reinterpretation via the keymap.
This file has two major uses.
First, you can set up your commands to use any kind of prefix key your terminal
might have, or change the key bindings in any other way you choose.
Second, you can define arbitrary macros, such as this:
.sp
# define Corbamite maneuver
= DDllllll
.SH AUTHOR
Larry Wall <lwall@sdcrdcf.UUCP>
.SH FILES
~/.fullname, if full names aren't in /etc/passwd
.SH DIAGNOSTICS
Generally self-documenting, as they say.
.SH BUGS
Addicting.
At the end of a wave, all you have to do to keep going is hit a space.
You see the message "Hit space to continue" and automatically hit space.
About 2 seconds later you remember you wanted to go home, but by then
it's too late to escape without penalty.
.PP
You can't kill a backgrounded
.I warp
process directly, because it is running setuid.
You have to use the killer built in to
.IR warp .
.PP
Now that there is a space amoeba, there ought to be tribbles.
But it might be too much trouble...

View File

@@ -1,16 +0,0 @@
.TH WORDS 6
.SH NAME
words \- word game
.SH SYNOPSIS
.B /usr/games/words
.SH DESCRIPTION
.I Words
prints all the uncapitalized words
in the word list that can be made from
letters in
.I string.
.SH FILES
.ta 2i
/usr/dict/words the regular word list
.SH BUGS
Hyphenated compounds are run together.

View File

@@ -1,39 +0,0 @@
.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\" @(#)worm.6 6.1 (Berkeley) 5/20/85
.\"
.TH WORM 6 "May 20, 1985"
.UC 4
.SH NAME
worm \- Play the growing worm game
.SH SYNOPSIS
.B /usr/games/worm
[
.I size
]
.SH DESCRIPTION
.PP
In
.I worm,
you are a little worm, your body is the "o"'s on the screen
and your head is the "@". You move with the hjkl keys (as in the game
snake). If you don't press any keys, you continue in the direction you
last moved. The upper case HJKL keys move you as if you had pressed
several (9 for HL and 5 for JK) of the corresponding lower case key
(unless you run into a digit, then it stops).
.PP
On the screen you will see a digit, if your worm eats the digit is will
grow longer, the actual amount longer depends on which digit it was
that you ate. The object of the game is to see how long you can make
the worm grow.
.PP
The game ends when the worm runs into either the sides of the screen,
or itself. The current score (how much the worm has grown) is kept in
the upper left corner of the screen.
.PP
The optional argument, if present, is the initial length of the worm.
.SH BUGS
If the initial length of the worm is set to less than one or more
than 75, various strange things happen.

Some files were not shown because too many files have changed in this diff Show More