1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-11 23:53:12 +00:00

Greenblatt chess program, timesharing and standalone versions.

This commit is contained in:
Lars Brinkhoff 2018-02-16 11:29:39 +01:00 committed by Eric Swenson
parent f35f3adc84
commit eae9d7a662
5 changed files with 3583 additions and 2 deletions

View File

@ -5,9 +5,9 @@ include conf/network
# The directores listed in SRC, DOC, and BIN are put on the sources tape.
SRC = system syseng sysen1 sysen2 sysen3 sysnet kshack dragon channa \
midas _teco_ emacs emacs1 rms klh syshst sra mrc ksc eak gren \
bawden _mail_ l lisp libdoc comlap lspsrc nilcom rwk \
bawden _mail_ l lisp libdoc comlap lspsrc nilcom rwk rg \
inquir acount gz sys decsys ecc alan sail kcc kcc_sy c games
DOC = info _info_ sysdoc sysnet syshst kshack _teco_ emacs emacs1 c kcc
DOC = info _info_ sysdoc sysnet syshst kshack _teco_ emacs emacs1 c kcc chprog
BIN = sys2 device emacs _teco_ lisp liblsp alan inquir sail comlap c decsys \
moon

View File

@ -139,6 +139,7 @@ A list of [known ITS machines](doc/machines.md).
- CHADEV, Chaosnet jobdev (binary only).
- CHARFC/CHARFS, Chaos RFC.
- CHATST, Chaos test.
- CHESS2, Greenblatt chess program.
- CHTN, CFTP, Chaosnet TELNET and FTP support.
- COMIFY, convert HEX to COM format.
- COMPLR, lisp compiler.

View File

@ -1084,6 +1084,18 @@ respond "Command:" "d"
respond "*" ":pdump sys3; ts advent\r"
respond "*" ":kill\r"
# Chess: timesharing, no TV display
respond "*" ":midas /t games;ts chess2_rg;chess2\r"
respond "with ^C" "TV==0\r\003"
expect ":KILL"
# Chess: standalone
respond "*" ":midas /t .;@ chess2_rg;chess2\r"
respond "with ^C" "TS==0\r"
respond "\n" "PI==4\r"
respond "\n" "TTY==120\r\003"
expect ":KILL"
# ten50
respond "*" ":midas sys3;ts ten50_mrc; ten50\r"
expect ":KILL"

113
doc/chprog/chess2.order Executable file
View File

@ -0,0 +1,113 @@
Enter moves in algebraic notation, e.g. E2E4 or B2B1=Q.
(In algebraic notation white castles king-side by E1G1, etc.) or
in english notation e.g. P-K4 or P/K2-K4 or KP-K4, O-O for
castling kingside, X or * for captures, e.g.
NXB, promotion by =, e.g. P-N8=N. Terminate moves by space or cr if
in english notation. Rubout flushes previous typein, echoes as "?".
Acceptance of move or non-typing command is confirmed by
backarrow.
In move typeout e.g. " 1 W E2-E4 3 0 0.5 IN 1.6"
the "1" is the move number, the "W" (white) is the side moving,
E2-E4 is the move in algebraic notation, the "3" is the maximum
depth setting, the "0" is the value return from TECH II's point of
view (-100 = TECH II is a pawn down) the "0.5" is the run time of
the last search (at depth 3), and the 1.6 is the total real time
for all searches made for this move (if in tournament mode, (set
by $T) it will be the time for searches at depths 1, 2, and 3).
List of commands
PW Play white.
PB Play black.
PS Play self.
PN Play neither side.
^R Resets board to initial position, clears clock, does a "PN".
^U Takes back a move, does a "PN".
^B Prints board.
^E Causes program to make a move.
^V Turns on/off the "live" TV display.
^G Quit thinking. Does a "PN".
^P Print principal variation of last search.
^W Print statistics of last search.
LMM legal moves made during search.
ILM illegal moves made, and immediately taken back.
TRM terminal nodes in tree.
LMG legal moves generations.
ICH calls to routine which checks for check.
PSM moves made up to set depth.
STV captures made after set depth.
FED replies to check made after set depth.
Sum of PSM ("plausible moves"), STV ("static evaluator moves"),
and FED ("feedovers") equals LMM.
LMS legal moves per second of run time.
$C $C<n>,<nmoves>,<nmin>, sets time control N to NMOVES
in NMIN minutes total time from start of game. N may be 0 to 6.
Time controls must be in ascending order, and a margin of about
three times the mean time per move should be left or else TECH II
may overstep on its last move. T.C. 0 is assembled as 2 moves
in zero seconds for book purposes and is normally not to
be changed. Default settings of T.C.'s are 1 move/minute,
good for hacker games.
$A $A <maxtim>,<mintim>,<mintim2>, sets the parameters which
control use of the active schema in tournament mode. MAXTIM is
the number of minutes after which to abort the active search, MINTIM is
the minimum number of seconds per move which must be left in order
not to abort the active search, and MINTIM2 is the minimum number of
seconds per move which must be left to start an active search.
$D $D<integer>, where <integer> is of the form ZZYYXXDD, the letters
representing digits, leaves tournament mode, and sets four search
parameters from <integer>. DD is the (weighted) depth up to which
the search examines all moves at each node. Up to depth YY, safe
active moves are examined, and all safe replies are considered
at nodes following an active move, and all moves at depth YY+1
if the move from depth YY was active. Safe checks are examined up
to depth YY, and all checks from YY+1 to XX. Safe captures are
always examined, and after depth YY all captures are examined.
All replies to check are always examined.
Leading zeroes may be omitted in <integer>.
$D3050701 is roughly equivalent to, but much faster than, $D6 .
$T Enter "tournament", or variable parameter mode. If
there is enough time per move left (see the $C and $A commands)
for an active search, the "DD" parameter (see $D command) is set to
one and a single active search is performed in accordance with the
ZZ, YY, and XX parameters set by the last $D command. Otherwise,
or if the active search is aborted, the "XX" and "YY" parameters
are set to zero and the program iteratively searches starting at
the depth specified by the "DD" part of the last $D command and
deepening by one with each iteration. However, the iteration
always begun at depth at least 2, and for the first 4 plies is
begun at exactly 2 irrespective of the "DD" setting. Suggested
tournament settings are $D3050704 followed by $T, with appropriate
$C and $A settings.
$S Setup board. Scan from queen-side to king-side, black's first
rank first; e.g. $S 4BK3 8 8 8 8 8 8 4WK3_,
where spaces and _ are typed by the program,
sets up the kings in their original position. At end of
setup it will be white's turn to move and neither side will have
castling or immediate en passant privileges.
$V $V <file spec><tab or cr> saves game. Default is DSK:AGB;GAME >.
In non-ts, prints game on TTY.
$R Read commands from file. Takes file spec like $V, may be used
to read in saved games. "_"'s confirming moves are
suppressed. Exists in TS version only.
$X $X<integer>, enables usage of CHEOPS if <integer> is 1 or disables
usage of CHEOPS if <integer> =0. AI TS with CHEOPS only.
$Z Enter the CHEOPS console program. AI TS with CHEOPS only.
$6 Seizes/releases PDP-6 memory. AI TS only.
$? Type this cruft.
(To display the board, type ^B)

3455
src/rg/chess2.614 Executable file

File diff suppressed because it is too large Load Diff