Files
pdp7-unix/build/proto
T
Sebastian RasmussenandGitHub dd6b61333f Add standings file to get moo running. (#233)
Recently Wordle has piqued the interest of many (like me):
https://www.powerlanguage.co.uk/wordle/

A recent video by Tech Tangents links Wordle to Master Mind
and also mentions it being based on Bulls and Cows or Moo:
https://www.youtube.com/watch?v=rLUmER9dn9A&t=141s
https://en.wikipedia.org/wiki/Bulls_and_Cows#The_numerical_version

Judging by the assembler listing I thought moo.s might
be an implementation of the game for PDP-7 UNIX. I
debugged the game deduced why it exits early.

The game statistics are saved in the file moostat.
Prior to this commit there was no such file which
caused moo to exit immediately at start. Now, once
the file exists, the game can run successfully.

This is how to play the game:

1. after having logged in as ken, enter "moo" ENTER at prompt
2. moo asks "wru?" which means "who are you?"
3. answer "ken" ENTER
4. moo says "name not found; enter?"
5. answer "y" to participate in the game
6. moo says "ready?"
7a. answer "s" to see the current standings between participants listing name, number of games, average guesses, average time
7b. answer "a" to see your average, showing number of games, average guesses and average time
7c. answer "r" to reset the game from step 2 above
7d. answer "q" to quit the game if you wish
8. answer "y" to begin the game
9. moo generates a secret number that you must guess
10. enter a four digit number like "2874" and press ENTER
11. if your guess is correct, moo says "g=<number of guesses> t=<time in some unit>", goto step 6
11. if your guess is not correct, moo says "bc=" followed by two numbers
12. 1st digit is the number of correct digits in the correct place in your guess
13. 2nd digit is the number of correct digits in the wrong place in your guess
14. goto 10
2022-02-03 18:53:00 -05:00

103 lines
3.3 KiB
Plaintext

# Prototype file for PDP-7 Unix filesystem layout
#
# Entries are one of:
# filename f[r-][w-][r-][w-] uid local_file_to_insert [inumber]
# dirname d[r-][w-][r-][w-] uid [inumber]
# device i[r-][w-][r-][w-] uid inumber
# link l---- inumber
#
# The top directory's name is ignored
# inumbers are in decimal (-1 means previous file)
# uids are in octal
# Contents of each directory ends with a $ on a line by itself
# Format was inspired by 6th Edition mkfs
#
dd drwr- -1 4
core frwrw -1 /dev/null 1
system drwr- -1 3
ttyin irwr- -1 6
keyboard irwr- -1 7
pptin irwr- -1 8
ttyout irwr- -1 11
display irwr- -1 12
pptout irwr- -1 13
password frw-- -1 fs/password
adm frwr- -1 bin/adm
apr frwr- -1 bin/apr
as frwr- -1 bin/as
b frwr- -1 bin/b
cas frwr- -1 bin/cas
cat frwr- -1 bin/cat
check frwr- -1 bin/check
chmod frwr- -1 bin/chmod
chown frwr- -1 bin/chown
chrm frwr- -1 bin/chrm
cp frwr- -1 bin/cp
date frwr- -1 bin/date
db frwr- -1 bin/db
ds frwr- -1 bin/ds
dskres frwr- -1 bin/dskres
dsksav frwr- -1 bin/dsksav
dsw frwr- -1 bin/dsw
ed frwr- -1 bin/ed
init frwr- -1 bin/init
ln frwr- -1 bin/ln
link l---- -1
ls frwr- -1 bin/ls
list l---- -1
moo frwr- -1 bin/moo
mv frwr- -1 bin/mv
nm frwr- -1 bin/nm
od frwr- -1 bin/od
p frwr- -1 bin/p
rm frwr- -1 bin/rm
rn frwr- -1 bin/rn
roff frwr- -1 bin/roff
salv frwr- -1 bin/salv
sh frwr- -1 bin/sh
stat frwr- -1 bin/stat
tm frwr- -1 bin/tm
ttt frwr- -1 bin/ttt
dttt l---- -1
st frwr- -1 bin/st
un frwr- -1 bin/un
$
ken drwr- 12
system l---- 3
sop.s frwr- 12 ../src/sys/sop.s
s1.s frwr- 12 ../src/sys/s1.s
s2.s frwr- 12 ../src/sys/s2.s
s3.s frwr- 12 ../src/sys/s3.s
s4.s frwr- 12 ../src/sys/s4.s
s5.s frwr- 12 ../src/sys/s5.s
s6.s frwr- 12 ../src/sys/s6.s
s7.s frwr- 12 ../src/sys/s7.s
s8.s frwr- 12 ../src/sys/s8.s
maksys.s frwr- 12 ../src/sys/maksys.s
trysys.s frwr- 12 ../src/sys/trysys.s
sys.rc frwr- 12 fs/sys.rc
moostat frwr- 12 fs/moostat
$
dmr drwr- 14
system l---- 3
as.s frwr- 14 ../src/cmd/as.s
op.s frwr- 14 ../src/cmd/op.s
b_readme frwr- 14 fs/b_readme
bi.s frwr- 14 ../src/cmd/bi.s
bl.s frwr- 14 ../src/cmd/bl.s
db.s frwr- 14 ../src/cmd/db.s
hello.b frwr- 14 ../src/other/hello.b
b.b frwr- 14 ../src/other/b.b
$
doug drwr- 15
system l---- 3
t1.s frwr- 15 ../src/cmd/t1.s
t2.s frwr- 15 ../src/cmd/t2.s
t3.s frwr- 15 ../src/cmd/t3.s
t4.s frwr- 15 ../src/cmd/t4.s
t5.s frwr- 15 ../src/cmd/t5.s
t6.s frwr- 15 ../src/cmd/t6.s
t7.s frwr- 15 ../src/cmd/t7.s
t8.s frwr- 15 ../src/cmd/t8.s
$