File: SCHACH.PA of Tape: Sources/Other/new-17
(Source file text) 

/SCHACH PROGRAM DATAPLAN

AC4000=CLA STL RAR
AC2000=CLA STL RTR
PDLS=6400
PSKF=6661
PCLF=6662
PSKE=6663
PSTB=6664
PCIE=6667

DECIMAL
KING=	15^32
QUEEN=	9^32
ROOK=	5^32
BISHOP=	3^32+10
KNIGHT=	3^32+4
PAWN=	1^32
OCTAL
	NOPUNC
	JMS I	[PUSH01
	JMS I	[POP01
	JMS I	[MES
	JMS I	[IPDL01
	JMS I	[PUSHIT
	JMS I	[POPIT
	JMS I	[PDLIN
	JMS I	[RFOFL
	ENPUNC
	

OS8=1
LPTREE=1
DEBUG=1
RANVAL=1
*0000
Z00,	0000
	JMP I	.+1
	INTHAN
REV,	0063
ODT4,	0000
ODT5,	0000
ODT6,	0000

*0011
RANDOM,	0000
XR0,	0000
ITMP0,	0000
ITMP1,	0000
ITMP2,	0000
CLIST,	KBUF-1
LIST2,	0000
TEMP,	0000
TEMP1,	0000
TEMP2,	0000
TEMP3,	0000
TEMP4,	0000
TMP,	0000
ZOUT,	OUT
CHAR,	0000
ZCRLF,	CRLF
XXXX,	0000
ZBEGIN,	BEGIN
CNTCHR,	0000
ISW,	0000
ZGETC,	GETC
PONDIR,	0001
M1,	0000
M2,	0000
M3,	0000
M4,	0000
GN1,	0000
GN2,	0000
GN3,	0000
GN4,	0000
GNMSW,	0000
GNMDW,	0000
FSTRNK,	7777
ZCHKIO,	CHKIO
WPSW,	0000
BPSW,	0000
CPSW,	0000
GMAP,	0000
OMAP,	0000
TOMAK1,	0000
TOMAK2,	0000
DIR1,	0000
DIR2,	0000
CNTR1,	0000
WKING,	0000
BKING,	0000
CKING,	0000
TKING,	0000
LSTMV,	0000
ZGNMV,	GNMV
ZMKMV,	MKMV
ZUNMV,	UNMV
ZMAPEC,	MAPEC
PW,	0000
WHOSE,	0000
PCNT,	0000
PVAL,	0000
PSQR,	0000
ZSPLIT,	SPLIT
ZTSTCH,	TSTCHK
ZFNL,	TSTCHK
GNCNT,	0000
TOADR,	0000
IOMDW,	0000
IOMSW,	0000
CMSW,	0000
SMSW,	0000
COMP,	0000
ZLOOKA,	LOOKA
UVAL1,	0000
CVAL1,	3777
RVAL1,	0000
MVAL1,	0000
PLY,	0000
DEPTH,	0003
RDEPTH,	0000
BUG,	0000
RNKKNT,	0000
FILKNT,	0000
PIECE,	0000
COLOR,	0000
RNKPTR,	0000
MOBMOD,	0000
KNGBLK,	0000
MOB0,	0000
MOB1,	0000
CTNEED,	0000
STRATG,	0000
PC01,	0000
PDLADR,	0000
ENO,	0000
ENOB,	0000
WHOWHI,	0000
WHOBLK,	0000
COMTMP,	0000
BOGUS,	0000
DOMAP,	0000
*0200
START,	TAD	(OUT
	DCA	ZOUT
	JMS I	ZCRLF
	JMS I	[MES
	NAME
	JMS I	ZCRLF
	DCA	WHOSE
	JMS I	(SETBRD
COMPN,	DCA	WHOWHI
	DCA	WHOBLK
COMMAN,	JMS I	[PDLIN
	JMS I	[IPDL01
	ISZ	DOMAP
	JMS I	(QMATE
	TAD	WHOSE
	SPA CLA 
	JMP	BLKMVE
	JMS I	[MES
	MESG23
	TAD	WHOWHI
	SZA CLA 
	JMP	CMOVE
USER,	JMS I	[MES
	MESG24
	JMS I	ZBEGIN
	ION
	JMS I	ZCHKIO
	JMS I	ZGETC
	AND	[77
	CLL RTL 
	RTL 
	RTL 
	DCA	COMTMP
	JMS I	ZGETC
	AND	[77
	TAD	COMTMP
	DCA	COMTMP
	TAD	(COMLST-2
	DCA	XR0
NUTHER,	ISZ	XR0
	TAD I	XR0
	SNA 
	JMP	UINP
	TAD	COMTMP
	SZA CLA 
	JMP	NUTHER
	TAD I	XR0
	DCA	TEMP
	JMP I	TEMP
COMPW,	ISZ	WHOWHI
	JMP	COMMAN
COMPB,	ISZ	WHOBLK
	JMP	COMMAN
COMBD,	JMS I	(DISPLA
	JMP	COMMAN
COMIP,	JMS I	(INPUT
	JMP	COMPN
UINP,	JMS I	ZBEGIN
	JMS I	(INMV
	SKP CLA 
	JMP	COMMAN
	TAD	("?
	JMS I	ZOUT
	JMS I	ZCRLF
	JMP	COMMAN
BLKMVE,	JMS I	[MES
	MESG22
	TAD	WHOBLK
	SNA CLA 
	JMP	USER
CMOVE,	CLA 
	TAD	(3777
	DCA	CVAL1
	DCA	PLY
	TAD	(LPTOUT
	DCA	ZOUT
	JMS I	ZCRLF
	JMS I	(DISPLA
	JMS I	(TABPLY
	CLA CMA 
	TAD	DEPTH
	SNA 
	JMP	CMOVE1
	IAC 
	DCA	RDEPTH
	IAC 
	DCA	DEPTH
	JMS I	ZLOOKA
	TAD	RDEPTH
	DCA	DEPTH
CMOVE1,	JMS I	ZLOOKA
	TAD	(OUT
	DCA	ZOUT
	TAD I	(BESTBL
	DCA	IOMSW
	TAD I	(BESTBL+1
	DCA	IOMDW
	TAD I	(BESTBL
	DCA	TOMAK1
	TAD I	(BESTBL+1
	DCA	TOMAK2
	JMS I	ZMKMV
	JMS I	(OUTMV
	JMS I	(GNMVSM
	TAD I	(GNCHEK
	SZA CLA 
	TAD	("+
	JMS I	ZOUT
	JMS I	ZCRLF
	JMP	COMMAN
PAGE
GNMV,	0000
	CLA CLL 
	DCA	MOBMOD
	DCA	KNGBLK
	DCA	CMSW
	DCA	SMSW
	DCA	QMVCNT
	TAD	CKING
	DCA	TEMP
	JMS I	(CHKATK
	TAD	PCNT
	DCA	GNCHEK
	DCA	GNCNT
	TAD	BOGUS
	SZA CLA 
	JMP	.+3
	JMS I	[PUSHIT
	JMS I	[PUSHIT
	TAD	CKING
	DCA	CNTR1
	TAD	CNTR1
	AND	[7
	DCA	GN2
	TAD	CNTR1
	RTR 
	RAR 
	AND	[7
	DCA	GN1
	JMS I	(GKM
	TAD	GNCHEK
	CLL RAR 
	SZA CLA 
	JMP	TSCMSM
	TAD	BOGUS
	SNA CLA 
	JMS I	(GNEP
	TAD	GMAP
	DCA	ITMP2
NXTSQR,	CLA CLL 
	TAD I	ITMP2
	SNA 
	JMP	TSCMSM
	DCA	CNTR1
	IAC 
	DCA	CTNEED
	TAD	CNTR1
	AND	[7
	DCA	GN2
	TAD	CNTR1
	RTR 
	RAR 
	AND	[7
	DCA	GN1
	TAD I	CNTR1
	JMS I	(CLRFIX
	TAD	[-PAWN
	SNA 
	JMP I	(GPM
	TAD	(PAWN-KNIGHT
	SNA 
	JMP I	(GNM
	TAD	(KNIGHT-BISHOP
	SNA 
	JMP I	(GBM
	TAD	(BISHOP-ROOK
	SNA 
	JMP I	(GRM
	TAD	(ROOK-KING
	SNA 
	JMP	NXTSQR
	TAD	(KING-QUEEN
	SNA 
	JMP I	(GQM
	HLT 
QMVCNT,	0000
GNCHEK,	0000
TSCMSM,	TAD	QMVCNT
	CLL RAR 
	TAD	QMVCNT
	CLL RAR 
	CIA 
	TAD	MOBMOD
	TAD	GNCNT
	DCA	MOBMOD
	DCA	BOGUS
	TAD	GNCNT
	SZA CLA 
	JMP I	GNMV
	TAD	GNCHEK
	SNA 
	ISZ	SMSW
	DCA	CMSW
	JMP I	GNMV

TIME,	JMS I	[PDLIN
	JMS I	[IPDL01
	JMS I	(GNWMV
	ISZ	B142
	JMP	TIME
B142,	4000
	HLT 

RFOFL,	0000
	SPA 
	JMP I	RFOFL
	RTR 
	RTR 
	SZL 
	JMP I	RFOFL
	RTL 
	RTL 
	ISZ	RFOFL
	JMP I	RFOFL
PAGE
LINE,	CLA 
	TAD I	ITMP0
	DCA	DIR1
	TAD I	ITMP0
	DCA	DIR2
	TAD	GN1
	DCA	GN3
	TAD	GN2
	DCA	GN4
LINEM,	TAD	GN3
	TAD	DIR1
	JMS I	[RFOFL
	JMP	XXOX
	DCA	GN3
	TAD	DIR2
	TAD	GN4
	JMS	XYZ
	JMP	XXOX
	TAD I	CNTR1
	JMS I	(CLRFIX
	TAD	(-QUEEN
	SNA CLA 
	ISZ I	(QMVCNT
	TAD	GNMSW
	JMS I	ZFNL
	JMP	XOOO
	TAD I	TOADR
	SZA CLA 
	STL RAR 
	DCA	GNMDW
	JMS	GNSTR
XOOO,	TAD I	TOADR
	SNA CLA 
	JMP	LINEM
XXOX,	CLA 
	ISZ	LCNT
	JMP	LINE
	JMP I	(NXTSQR
LCNT,	0000
GNSTR,	0000
	ISZ	GNCNT
	CLA 
	TAD	BOGUS
	SZA CLA 
	JMP I	GNSTR
	TAD	GNMSW
	JMS I	[PUSHIT
	TAD	GNMDW
	JMS I	[PUSHIT
	JMP I	GNSTR

XYZ,	0000
	JMS I	[RFOFL
	JMP I	XYZ
	DCA	GN4
	JMS I	(BLDTO
	TAD I	TOADR
	JMS I	(CLRFIX
	SMA SZA CLA 
	JMP I	XYZ
	JMS	BLDMSW
	ISZ	XYZ
	JMP I	XYZ
GQM,	CLA 
	TAD	[-10
	DCA	LCNT
	TAD	(OTRX-1
	DCA	ITMP0
	JMP	LINE
GRM,	CLA 
	TAD	(-4
	DCA	LCNT
	TAD	(OTR-1
	DCA	ITMP0
	JMP	LINE
GBM,	CLA 
	TAD	(-4
	DCA	LCNT
	TAD	(OTRX-1
	DCA	ITMP0
	JMP	LINE
BLDMSW,	0000
	CLA 
	TAD	TOADR
	AND	[77
	DCA	GNMSW
	TAD	CNTR1
	AND	[77
	CLL RTL 
	RTL 
	RTL 
	TAD	GNMSW
	DCA	GNMSW
	JMP I	BLDMSW

PUSHIT,	0000
	DCA I	PDLADR
	ISZ	PDLADR
	JMS I	(OFLOW
	JMP I	PUSHIT

POPIT,	0000
	CLA CMA 
	TAD	PDLADR
	SMA 
	HLT 
	DCA	PDLADR
	TAD I	PDLADR
	JMP I	POPIT

PUSH01,	0000
	DCA I	PC01
	CMA 
	TAD	PC01
	DCA	PC01
	JMS I	(OFLOW
	JMP I	PUSH01

POP01,	0000
	ISZ	PC01
	SKP CLA 
	HLT 
	TAD I	PC01
	JMP I	POP01
PAGE
SNGMV,	0000
	DCA	ITMP0
	TAD	[-10
	DCA	SCNT
	DCA	GNMDW
	TAD	GN1
	TAD I	ITMP0
	JMS I	[RFOFL
	JMP	XXXO-1
	DCA	GN3
	TAD	GN2
	TAD I	ITMP0
	JMS I	(XYZ
	JMP	XXXO
	TAD I	CNTR1
	JMS I	(CLRFIX
	TAD	(-KING
	SZA CLA 
	JMP	SNGKNT
	TAD	GNMSW
	JMS I	(MMOVE
	TAD	TOADR
	DCA	TEMP
	IAC 
	JMS I	(CHKATK
	JMS I	(UMOVE
	TAD	PCNT
	SNA CLA 
	JMP	SNGLGL
	ISZ	KNGBLK
	JMP	XXXO
SNGKNT,	TAD	GNMSW
	JMS I	ZFNL
	JMP	XXXO
SNGLGL,	TAD I	TOADR
	SZA CLA 
	AC4000 
	TAD	GNMDW
	DCA	GNMDW
	JMS I	(GNSTR
	SKP 
	ISZ	ITMP0
XXXO,	CLA 
	ISZ	SCNT
	JMP	SNGMV+4
	JMP I	SNGMV
SCNT,	0000
GPM,	CLA 
	DCA	GNMDW
	TAD	GN2
	DCA	GN4
	TAD	GN1
	JMS I	(PST
	JMP	GPM1
	TAD	GN1
	TAD	FSTRNK
	SZA CLA 
	JMP	GPM1
	AC2000 
	DCA	GNMDW
	TAD	GN3
	JMS I	(PST
	NOP 
GPM1,	CLA 
	TAD	GN1
	TAD	PONDIR
	DCA	GN3
	IAC 
	TAD	GN2
	DCA	GN4
	TAD	GN4
	AND	[-10
	SZA CLA 
	JMP	.+2
	JMS I	(CAPTST
	CLA CMA 
	TAD	GN2
	SPA 
	JMP	.+3
	DCA	GN4
	JMS I	(CAPTST
	JMP I	(NXTSQR
OTRX,	0001
	7777
	0001
	0001
	7777
	7777
	7777
	0001
OTR,	0001
	0000
	0000
	7777
	0000
	0001
	7777
	0000
KNLST,	0002
	7777
	0002
	0001
	0001
	0002
	7777
	0002
	7776
	0001
	7776
	7777
	7777
	7776
	0001
	7776
PAGE
GKM,	0000
	CLA IAC 
	DCA	GNMDW
	TAD	PONDIR
	AND	(70
	TAD	(BOARD+4
	DCA	TEMP
	TAD I	TEMP
	JMS I	(CLRFIX
	TAD	(-KING
	SNA CLA 
	JMP	GKM2
	TAD I	CPSW
	AND	[7
	TAD	(3000
	DCA I	CPSW
	JMP	GKM1
GKM2,	TAD	TEMP
	AND	[-10
	DCA	TEMP
	TAD I	CPSW
	RTL 
	SPA CLA 
	JMP	CAKR
	TAD I	TEMP
	JMS I	(CLRFIX
	TAD	(-ROOK
	SNA CLA 
	JMP	.+5
	TAD	(1000
	TAD I	CPSW
	DCA I	CPSW
	JMP	CAKR
	TAD I	(GNCHEK
	SZA CLA
	JMP	CAKR
	ISZ	TEMP
	TAD I	TEMP
	SZA CLA 
	JMP	CAKR
	ISZ	TEMP
	TAD I	TEMP
	SZA CLA 
	JMP	CAKR
	JMS I	(CHKATK
	TAD	PCNT
	SZA CLA 
	JMP	CAKR
	ISZ	TEMP
	TAD I	TEMP
	SZA CLA 
	JMP	CAKR
	JMS I	(CHKATK
	TAD	PCNT
	SZA CLA 
	JMP	CAKR
	TAD	PONDIR
	AND	(7070
	TAD	(402
	DCA	GNMSW
	JMS I	(GNSTR
CAKR,	CLA 
	TAD I	CPSW
	RAL 
	SPA CLA 
	JMP	GKM1
	TAD	TEMP
	AND	[7770
	TAD	[7
	DCA	TEMP
	TAD I	TEMP
	JMS I	(CLRFIX
	TAD	(-ROOK
	SNA CLA 
	JMP	.+5
	AC2000 
	TAD I	CPSW
	DCA I	CPSW
	JMP	GKM1
	TAD I	(GNCHEK
	SZA CLA
	JMP	GKM1
	TAD	TEMP
	TAD	(-2
	DCA	TEMP
	JMS	CAKR1
	ISZ	TEMP
	JMS	CAKR1
	TAD	PONDIR
	AND	(7070
	TAD	(406
	DCA	GNMSW
	ISZ	GNMDW
	JMS I	(GNSTR
GKM1,	CLA 
	TAD	(OTRX-1
	JMS I	(SNGMV
	JMP I	GKM

CAKR1,	0000
	TAD I	TEMP
	SZA CLA 
	JMP	GKM1
	JMS I	(CHKATK
	TAD	PCNT
	SZA CLA 
	JMP	GKM1
	JMP I	CAKR1
GNM,	CLA 
	TAD	(KNLST-1
	JMS I	(SNGMV
	JMP I	(NXTSQR
PAGE
BLDTO,	0000
	TAD	GN3
	CLL RTL 
	RAL 
	TAD	GN4
	TAD	[BOARD
	DCA	TOADR
	JMP I	BLDTO

CLRFIX,	0000
COLR,	HLT 
	JMP I	CLRFIX

GNEP,	0000
	CLA CMA 
	DCA	CTNEED
	TAD	LSTMV
	AND	(770
	SNA 
	JMP I	GNEP
	CLL RTR 
	RAR 
	TAD	[BOARD
	DCA	CNTR1
	TAD	CNTR1
	DCA	GNEPTM
	DCA I	GNEPTM
	TAD	CNTR1
	CLL RTR 
	RAR 
	AND	[7
	TAD	PONDIR
	CLL RTL 
	RAL 
	DCA	GNMDW
	TAD	CNTR1
	AND	(7707
	TAD	GNMDW
	DCA	TOADR
	TAD	(4003
	DCA	GNMDW
	ISZ	CNTR1
	TAD	CNTR1
	AND	[7
	SNA CLA 
	JMP	GNOTF
	TAD I	CNTR1
	JMS	CLRFIX
	TAD	[-PAWN
	SZA CLA 
	JMP	GNOTF
	JMS I	(BLDMSW
	TAD	GNMSW
	JMS I	ZTSTCH
	SKP 
	JMS I	(GNSTR
GNOTF,	CLA 
	TAD	CNTR1
	TAD	(-2
	DCA	CNTR1
	TAD	GNEPTM
	AND	[7
	SNA CLA 
	JMP	GNEPDN
	TAD I	CNTR1
	JMS	CLRFIX
	TAD	[-PAWN
	SZA CLA 
	JMP	GNEPDN
	JMS I	(BLDMSW
	TAD	GNMSW
	JMS I	ZTSTCH
	SKP 
	JMS I	(GNSTR
GNEPDN,	TAD	[-PAWN
	JMS	CLRFIX
	DCA I	GNEPTM
	JMP I	GNEP
GNEPTM,	0000
MAPEC,	0000
	CLA CMA 
	TAD	[BOARD
	DCA	ITMP2
	TAD	DOMAP
	SNA CLA 
	JMP I	MAPEC
	DCA	DOMAP
	TAD	(MAP-1
	DCA	ITMP0
	TAD	(MAP+23
	DCA	ITMP1
	TAD	(-100
	DCA	TEMP4
F133,	TAD I	ITMP2
	SZA 
	JMP	MAPOC
MAPGO,	ISZ	TEMP4
	JMP	F133
	DCA I	ITMP0
	DCA I	ITMP1
	JMP I	MAPEC
MAPOC,	SPA 
	JMP	MAPOCB
	TAD	(-KING
	SZA CLA 
	JMP	.+3
	TAD	ITMP2
	DCA	WKING
	TAD	ITMP2
	DCA I	ITMP0
	JMP	MAPGO
MAPOCB,	TAD	(KING
	SZA CLA 
	JMP	.+3
	TAD	ITMP2
	DCA	BKING
	TAD	ITMP2
	DCA I	ITMP1
	JMP	MAPGO
PAGE
PROMCK,	0000
	CLA 
	TAD	GNMDW
	RTL 
	SZL CLA 
	JMP	PROM1
	TAD	GN3
	TAD	PONDIR
	JMS I	[RFOFL
	SKP CLA 
	JMP	PPLSTR
	TAD	GNMDW
	TAD	[4
	DCA	GNMDW
	JMS I	(GNSTR
	ISZ	GNMDW
	JMS I	(GNSTR
	ISZ	GNMDW
	JMS I	(GNSTR
	ISZ	GNMDW
PPLSTR,	JMS I	(GNSTR
	JMP I	PROMCK
PROM1,	CLL RTR 
	DCA	GNMDW
	TAD	GNMSW
	AND	[77
	CLL RTL 
	RAL 
	TAD	GNMDW
	DCA	GNMDW
	JMP	PPLSTR

CAPTST,	0000
	JMS I	(BLDTO
	TAD I	TOADR
	JMS I	(CLRFIX
	SMA CLA 
	JMP I	CAPTST
	JMS I	(BLDMSW
	AC4000 
	DCA	GNMDW
	TAD	GNMSW
	JMS I	ZFNL
	JMP I	CAPTST
	JMS	PROMCK
	JMP I	CAPTST
PST,	0000
	TAD	PONDIR
	DCA	GN3
	JMS I	(BLDTO
	TAD I	TOADR
	SZA CLA 
	JMP I	PST
	JMS I	(BLDMSW
	TAD	GNMSW
	JMS I	ZFNL
	SKP 
	JMS	PROMCK
	ISZ	PST
	JMP I	PST
ISLNM,	CLA CLL CMA 
	RAL 
	DCA	TOOS
	TAD	M1
	CIA 
	TAD	M3
	SMA 
	CIA 
	IAC 
	SNA 
	JMP	G112
	IAC 
	SZA CLA 
	JMP I	(BATAK
	ISZ	TOOS
G112,	TAD	M2
	CIA 
	TAD	M4
	SMA 
	CIA 
	IAC 
	SNA 
	JMP	G126
	IAC 
	SZA CLA 
	JMP I	(BATAK
	ISZ	TOOS
G126,	SKP 
	JMP I	(BATAK
	ISZ	TOOS
	JMP I	(BATAK
	JMP I	(GATAK
TOOS,	0000
PDLIN,	0000
	CLA 
	TAD	(PDLS
	DCA	PDLADR
	JMP I	PDLIN

IPDL01,	0000
	CLA 
	TAD	(PDLS+777
	DCA	PC01
	JMP I	IPDL01

OFLOW,	0000
	TAD	PC01
	CIA 
	TAD	PDLADR
	SZA CLA 
	JMP I	OFLOW
	TAD	(OUT
	DCA	ZOUT
	JMS I	[MES
	MESG26
	JMS I	ZCRLF
	HLT 
MESG26,	TEXT "I RESIGN"
PAGE
ISLKM,	CLA 
	TAD	M1
	CIA 
	TAD	M3
	SMA 
	CIA 
	SZA 
	IAC 
	SZA CLA 
	JMP I	(BATAK
	TAD	M2
	CIA 
	TAD	M4
	SMA 
	CIA 
	SZA 
	IAC 
	SNA CLA 
	JMP I	(GATAK
	JMP I	(BATAK

ROW,	0000
	CLA 
	TAD	M1
	CIA 
	TAD	M3
	CLL RAL 
	SZA CLA 
	TAD	(10
	SZL 
	CIA 
	DCA	TEMP3
	TAD	M4
	CIA 
	TAD	M2
	CLL RAL 
	SZA CLA 
	IAC 
	SNL 
	CIA 
	TAD	TEMP3
	DCA	TMP
	TAD I	(TMATK
	DCA	TEMP3
MIDLIN,	TAD	TEMP3
	TAD	TMP
	DCA	TEMP3
	TAD	TEMP3
	CIA 
	TAD	TEMP
	SNA CLA 
	JMP I	ROW
	TAD I	TEMP3
	SNA CLA 
	JMP	MIDLIN
	ISZ	ROW
	JMP I	ROW

SUBR1,	0000
	CLA 
	TAD	M1
	CIA 
	TAD	M3
	SMA 
	CIA 
	DCA	TEMP3
	TAD	M2
	CIA 
	TAD	M4
	SPA 
	CIA 
	TAD	TEMP3
	SZA CLA 
	JMP I	SUBR1
	JMS	ROW
	ISZ	SUBR1
	JMP I	SUBR1

SUBR2,	0000
	CLA 
	TAD	M1
	CIA 
	TAD	M3
	SNA CLA 
	JMP	H127
	TAD	M2
	CIA 
	TAD	M4
	SZA CLA 
	JMP I	SUBR2
H127,	JMS	ROW
	ISZ	SUBR2
	JMP I	SUBR2
ISLQM,	JMS	SUBR2
	SKP 
	JMP I	(GATAK
	JMS	SUBR1
	JMP I	(BATAK
	JMP I	(GATAK
ISLBM,	CLA 
	JMS	SUBR1
	JMP I	(BATAK
	JMP I	(GATAK
ISLRM,	CLA 
	JMS	SUBR2
	JMP I	(BATAK
	JMP I	(GATAK
PAGE
CHKATK,	0000
	DCA	CKMODE
	CLA CMA 
	DCA	TMATK
	DCA	PCNT
	DCA	PVAL
	DCA	PSQR
	TAD	TEMP
	AND	[7
	DCA	M4
	TAD	TEMP
	CLL RTR 
	RAR 
	AND	[7
	DCA	M3
	TAD	PONDIR
	TAD	M3
	JMS I	[RFOFL
	JMP	TAG1
	DCA	M1
	CLA IAC 
TAG0,	TAD	M4
	JMS I	[RFOFL
	JMP	TAG3
	CLL RTR 
	RAR 
	TAD	M1
	RTL 
	RAL 
	TAD	[BOARD
	DCA	TEMP1
	TAD I	TEMP1
	JMS I	(CLRFIX
	TAD	(PAWN
	SZA CLA 
	JMP	TAG3
TAG2,	ISZ	PCNT
	TAD I	TEMP1
	DCA	PVAL
	TAD	TEMP1
	DCA	PSQR
	TAD	CKMODE
	SZA CLA 
	JMP I	CHKATK
TAG3,	ISZ	TMATK
	JMP	TAG1
	CLA CMA 
	JMP	TAG0
TMATK,	0000
CKMODE,	0000
TMATK1,	0000
TAG1,	CLA 
	TAD	OMAP
	DCA	TOMAK1
BATAK,	ISZ	TOMAK1
	TAD I	TOMAK1
	SNA 
	JMP I	CHKATK
	DCA	TMATK
	TAD	TMATK
	CIA 
	TAD	TEMP
	SNA CLA 
	JMP	BATAK
	TAD I	TMATK
	JMS I	(CLRFIX
	TAD	(PAWN
	SNA CLA 
	JMP	BATAK
	TAD	TMATK
	AND	[7
	DCA	M2
	TAD	TMATK
	RTR 
	RAR 
	AND	[7
	DCA	M1
	TAD I	TMATK
	JMS I	(CLRFIX
	TAD	(ROOK
	SNA 
	JMP I	(ISLRM
	TAD	(BISHOP-ROOK
	SNA 
	JMP I	(ISLBM
	TAD	(KNIGHT-BISHOP
	SNA 
	JMP I	(ISLNM
	TAD	(KING-KNIGHT
	SNA 
	JMP I	(ISLKM
	TAD	(QUEEN-KING
	SNA CLA 
	JMP I	(ISLQM
	JMP	BATAK
GATAK,	ISZ	PCNT
	TAD	CKMODE
	SZA CLA 
	JMP I	CHKATK
	CLA CMA 
	TAD	PCNT
	SNA CLA 
	JMP	TAG4
	TAD I	TMATK
	CIA 
	TAD	PVAL
	JMS I	(CLRFIX
	SMA CLA 
	JMP	BATAK
TAG4,	TAD I	TMATK
	DCA	PVAL
	TAD	TMATK
	DCA	PSQR
	JMP	BATAK
PAGE
TSTCHK,	0000
	DCA	MMUMTM
	TAD I	(GNCHEK
	SZA CLA 
	JMP	TSTCH1
	TAD	CTNEED
	SPA 
	JMP	TSTCH1
	SNA CLA 
	JMP	TSTCH2
	DCA	CTNEED
	TAD	CKING
	DCA	TEMP
	TAD	CNTR1
	DCA I	(TMATK
	TAD	TEMP
	CLL RTR 
	RAR 
	AND	[7
	DCA	M3
	TAD	TEMP
	AND	[7
	DCA	M4
	TAD	CNTR1
	CLL RTR 
	RAR 
	AND	[7
	DCA	M1
	TAD	CNTR1
	AND	[7
	DCA	M2
	JMS I	(SUBR1
	SKP 
	JMP	TSTCH1
	JMS I	(SUBR2
	JMP	TSTCH2
TSTCH1,	CLA CMA 
	DCA	CTNEED
	TAD	MMUMTM
	JMS	MMOVE
	TAD	CKING
	DCA	TEMP
	IAC 
	JMS I	(CHKATK
	JMS	UMOVE
	TAD	PCNT
	SNA 
TSTCH2,	ISZ	TSTCHK
	SNA CLA 
	JMP I	TSTCHK
	TAD I	(GNCHEK
	SZA CLA 
	ISZ	MOBMOD
	JMP I	TSTCHK

MMOVE,	0000
	DCA	MMUMT1
	TAD	MMUMT1
	JMS I	ZSPLIT
	TAD I	TEMP1
	DCA	MMUMTM
	TAD I	TEMP2
	DCA I	TEMP1
	DCA I	TEMP2
	JMP I	MMOVE

UMOVE,	0000
	CLA 
	TAD	MMUMT1
	JMS I	ZSPLIT
	TAD I	TEMP1
	DCA I	TEMP2
	TAD	MMUMTM
	DCA I	TEMP1
	JMP I	UMOVE
MMUMTM,	0000
MMUMT1,	0000

GNWMV,	0000
	CLA CMA 
	DCA	FSTRNK
	JMS I	ZMAPEC
	TAD	(NOP
	DCA I	(COLR
	IAC 
	DCA	PONDIR
	TAD	WKING
	DCA	CKING
	TAD	(MAP-1
	DCA	GMAP
	TAD	(MAP+23
	DCA	OMAP
	TAD	(WPSW
	DCA	CPSW
	JMS I	ZGNMV
	JMP I	GNWMV
GNBMV,	0000
	CLA CMA 
	DCA	PONDIR
	JMS I	ZMAPEC
	TAD	[CIA
	DCA I	(COLR
	TAD	BKING
	DCA	CKING
	TAD	(7772
	DCA	FSTRNK
	TAD	(MAP+23
	DCA	GMAP
	TAD	(MAP-1
	DCA	OMAP
	TAD	(BPSW
	DCA	CPSW
	JMS I	ZGNMV
	JMP I	GNBMV
PAGE
TSTWAT,	0000
	DCA	TEMP
	TAD	[CIA
	DCA I	(COLR
	CLA CMA 
	DCA	PONDIR
	TAD	(MAP-1
	DCA	OMAP
	JMS I	(CHKATK
	JMP I	TSTWAT

TSTBAT,	0000
	DCA	TEMP
	TAD	(NOP
	DCA I	(COLR
	CLA IAC 
	DCA	PONDIR
	TAD	(MAP+23
	DCA	OMAP
	JMS I	(CHKATK
	JMP I	TSTBAT

MKMV,	0000
	CLA CLL 
	ISZ	DOMAP
	JMS I	(TSTBRD
	TAD	TOMAK1
	JMS I	[PUSH01
	TAD	TOMAK1
	JMS I	ZSPLIT
	TAD	TOMAK2
	SMA CLA 
	JMP	MKMV1
	TAD I	TEMP1
	JMS I	[PUSH01
	TAD I	TEMP1
	CIA 
	TAD	PW
	DCA	PW
MKMV1,	TAD I	TEMP2
	DCA I	TEMP1
	DCA I	TEMP2
	TAD	WPSW
	JMS I	[PUSH01
	TAD	BPSW
	JMS I	[PUSH01
	TAD	LSTMV
	JMS I	[PUSH01
	TAD	TOMAK2
	DCA	LSTMV
	TAD	TOMAK2
	AND	[7
	SNA 
	JMP	MKMVDN
	TAD	(JMP	.+2
	DCA	.+1
	HLT 
	JMP	MKQSC
	JMP	MKKSC
	JMP	MKEP
	TAD	(KNIGHT-BISHOP
	TAD	(BISHOP-ROOK
	TAD	(ROOK-QUEEN
	TAD	(QUEEN
	DCA	TEMP3
	TAD I	TEMP1
	CIA 
	TAD	PW
	DCA	PW
	TAD I	TEMP1
	RAL 
	CLA 
	TAD	TEMP3
	SZL 
	CIA 
	DCA I	TEMP1
	TAD I	TEMP1
	TAD	PW
	DCA	PW
	JMP	MKMVDN
MKQSC,	TAD	TEMP1
	AND	[-10
	DCA	TEMP2
K121,	TAD	TEMP2
	TAD	(3
	DCA	TEMP1
MKCA1,	TAD I	TEMP2
	DCA I	TEMP1
	DCA I	TEMP2
	TAD I	TEMP1
	SPA 
	ISZ	BPSW
	SMA CLA 
	ISZ	WPSW
	JMP	MKMVDN
MKKSC,	TAD	TEMP1
	IAC 
	DCA	TEMP2
	TAD	(-5
	JMP	K121
MKEP,	TAD	TEMP2
	AND	[-10
	DCA	TEMP3
	TAD	TEMP1
	AND	[7
	TAD	TEMP3
	DCA	TEMP3
	TAD I	TEMP3
	CIA 
	TAD	PW
	DCA	PW
	DCA I	TEMP3
MKMVDN,	JMS I	(TSTBRD
	TAD	WHOSE
	CMA 
	DCA	WHOSE
	JMP I	MKMV
PAGE
UNMV,	0000
	CLA CLL 
	ISZ	DOMAP
	JMS	TSTBRD
	TAD	LSTMV
	DCA	TOMAK2
	JMS I	[POP01
	DCA	LSTMV
	JMS I	[POP01
	DCA	BPSW
	JMS I	[POP01
	DCA	WPSW
	TAD	TOMAK2
	SPA CLA 
	JMS I	[POP01
	DCA	TEMP3
	JMS I	[POP01
	DCA	TOMAK1
	TAD	TOMAK1
	JMS I	ZSPLIT
	TAD I	TEMP1
	SNA 
	HLT 
	DCA I	TEMP2
	TAD	TEMP3
	DCA I	TEMP1
	TAD	TEMP3
	TAD	PW
	DCA	PW
	TAD	TOMAK2
	AND	[7
	SNA 
	JMP	UNMVDN
	TAD	(JMP	.+2
	DCA	.+1
	HLT 
	JMP	UNQSC
	JMP	UNKSC
	JMP	UNEP
	JMP	UNGP
	JMP	UNGP
	JMP	UNGP
UNGP,	TAD I	TEMP2
	CIA 
	TAD	PW
	DCA	PW
	TAD I	TEMP2
	SMA CLA 
	TAD	(PAWN+PAWN
	TAD	[-PAWN
	DCA I	TEMP2
	TAD I	TEMP2
	TAD	PW
	DCA	PW
	JMP	UNMVDN
UNKSC,	TAD	TEMP2
	IAC 
	DCA	TEMP2
UNKS1,	TAD	TEMP2
	TAD	(2
	DCA	TEMP1
	TAD I	TEMP2
	DCA I	TEMP1
	DCA I	TEMP2
	JMP	UNMVDN
UNQSC,	TAD	TEMP1
	IAC 
	DCA	TEMP2
	TAD	(-5
	JMP	UNKS1
UNEP,	TAD	TEMP1
	AND	[7
	DCA	TEMP3
	TAD	TEMP2
	AND	[7770
	TAD	TEMP3
	DCA	TEMP3
	TAD I	TEMP2
	CIA 
	DCA I	TEMP3
	TAD I	TEMP3
	TAD	PW
	DCA	PW
UNMVDN,	JMS	TSTBRD
	TAD	WHOSE
	CMA 
	DCA	WHOSE
	JMP I	UNMV
SPLIT,	0000
	DCA	TEMP1
	TAD	TEMP1
	CLL RTR 
	RTR 
	RTR 
	AND	[77
	TAD	[BOARD
	DCA	TEMP2
	TAD	TEMP1
	AND	[77
	TAD	[BOARD
	DCA	TEMP1
	JMP I	SPLIT

PLYCHP,	0000
	CLA STL 
	TAD	PLY
	TAD	[-10
	SMA 
	CLA 
	TAD	[7
	JMP I	PLYCHP

TSTBRD,	0000
	CLA 
	TAD	PW
	DCA	TEMP1
	JMS I	(BRDVAL
	CIA 
	TAD	TEMP1
	SZA CLA 
	HLT 
	JMP I	TSTBRD
PAGE
COMPAR,	0000
	CIA 
	DCA	COMPAC
	TAD	COMPAC
	TAD	COMP
	SNA CLA 
	JMP I	COMPAR
	TAD	COMPAC
	SPA SNA CLA 
	JMP	XXAP
	TAD	COMP
	SMA 
	JMP	XXCL
	TAD	COMPAC
	SPA CLA 
	JMP	XXAL
	JMP	XXCL
XXAP,	TAD	COMP
	SPA 
	JMP	XXAL
	TAD	COMPAC
	SMA CLA 
XXCL,	ISZ	COMPAR
XXAL,	ISZ	COMPAR
	CLA 
	JMP I	COMPAR
COMPAC,	0000

BRDVAL,	0000
	CLA 
	TAD	(-100
	DCA	TEMP
	TAD	(BOARD-1
	DCA	ITMP1
	TAD I	ITMP1
	ISZ	TEMP
	JMP	.-2
	DCA	PW
	TAD	PW
	JMP I	BRDVAL
PRNCNT,	0000
EVAL,	0000
	CLA 
	TAD I	RANDOM
	AND	(1
	DCA	STRATG
	JMS I	(BREV
	JMS I	(COEV
	JMS I	(CASTEV
	TAD	PW
	TAD	STRATG
	JMS I	(LCLRFX
	DCA	STRATG
	JMS	MOBGET
	TAD	STRATG
	DCA	STRATG
	TAD	STRATG
	JMS I	(PLYFIX
	DCA	COMP
	TAD	UVAL1
	JMS I	(PLYFIX
	JMS	COMPAR
	JMP	EVAL2
	JMP	EVAL1
	JMP	EVAL2
EVAL1,	JMS I	(HIEP
	JMS I	(LCLRFX
	TAD	STRATG
	JMP I	EVAL
EVAL2,	TAD	("_
	JMS I	ZOUT
	TAD	STRATG
	JMP I	EVAL
MOBGET,	0000
	CLA 
	TAD	MOB0
	SZA CLA 
	JMP	MOBGE1
	ISZ	BOGUS
	TAD	GNCNT
	JMS I	[PUSH01
	TAD	MOBMOD
	JMS I	[PUSH01
	JMS I	(GNBMV
	TAD	MOBMOD
	DCA	MOBGTM
	ISZ	BOGUS
	JMS I	(GNWMV
	TAD	MOBGTM
	CIA 
	TAD	MOBMOD
	JMS I	(LCLRFX
	DCA	MOBGTM
	JMS I	[POP01
	DCA	MOBMOD
	JMS I	[POP01
	DCA	GNCNT
	TAD	MOBGTM
	JMP I	MOBGET
MOBGE1,	TAD	MOBMOD
	SNA 
	TAD	MOB0
	CIA 
	TAD	MOB1
	CIA 
	JMS I	(PLYFIX
	JMP I	MOBGET
MOBGTM,	0000
PAGE
LOOKA,	0000
	CLA CLL 
	TAD	LOOKA
	JMS I	[PUSH01
	ISZ	PLY
	CLA CMA 
	TAD	PLY
	SZA CLA 
	JMP	LOOKA1
	TAD	WHOSE
	SMA CLA 
	TAD	(NOP-CIA
	TAD	[CIA
	DCA I	(LCLRFX+1
	DCA	MOBMOD
	DCA	MOB0
	DCA	MOB1
	DCA	ENO
LOOKA1,	TAD	UVAL1
	JMS I	[PUSH01
	TAD	CVAL1
	DCA	UVAL1
	TAD I	(PLYFIX+1
	JMS I	[PUSH01
	TAD	GNCNT
	JMS I	[PUSH01
	TAD	STRATG
	JMS I	[PUSH01
	DCA	GNCNT
	TAD	MOB0
	JMS I	[PUSH01
	TAD	MOB1
	DCA	MOB0
	TAD	MOBMOD
	DCA	MOB1
	DCA	MOBMOD
	TAD	PDLADR
	JMS I	[PUSH01
	TAD	PC01
	JMS I	[PUSH01
	TAD	PLY
	RAR 
	SZL CLA 
	TAD	(NOP-CIA
	TAD	[CIA
	DCA I	(PLYFIX+1
	TAD	PLY
	CIA 
	TAD	DEPTH
	SPA CLA 
	JMP I	(LEVAL
LKFUR,	TAD	(-3777
	JMS I	(PLYFIX
	DCA	CVAL1
	JMS	GNMVSM
	TAD	CMSW
	SZA CLA 
	JMP I	(LKCM
	TAD	SMSW
	SZA CLA 
	JMP I	(LKSM
	JMS I	(PRUNE
PICK,	JMS I	[POPIT
	DCA	TOMAK2
	JMS I	[POPIT
	SNA 
	JMP I	(LKAD
	DCA	TOMAK1
	TAD	TOMAK1
	DCA	IOMSW
	TAD	TOMAK2
	DCA	IOMDW
	JMS I	(OUTMV
	JMS I	(SPACE
	JMS I	ZMKMV
	JMS I	ZLOOKA
	JMS I	ZCRLF
	JMS I	ZUNMV
	JMP I	(COMPMV

POPOUT,	0000
	CLA 
	JMS I	[POPIT
	JMS I	[POPIT
	SZA CLA 
	JMP	.-3
	JMP I	POPOUT
GNMVSM,	0000
	CLA 
	TAD	WHOSE
	SMA CLA 
	JMS I	(GNWMV
	TAD	WHOSE
	SPA CLA 
	JMS I	(GNBMV
	JMP I	GNMVSM
PAGE
COMPMV,	CLA 
	JMS I	(TABPLY
	TAD	RVAL1
	JMS I	(OCTOUT
	TAD	CVAL1
	JMS I	(OCTOUT
	TAD	RVAL1
	JMS I	(PLYFIX
	DCA	COMP
	TAD	CVAL1
	JMS I	(PLYFIX
	JMS I	(COMPAR
	JMP	JMPICK
	JMP	JMPICK
RPLACE,	TAD	RVAL1
	DCA	CVAL1
	TAD	("*
	JMS I	ZOUT
	JMS	SETPNT
	TAD	TOMAK1
	DCA I	XR0
	TAD	TOMAK2
	DCA I	XR0
ALPHAB,	CLA 
	TAD	CVAL1
	JMS I	(PLYFIX
	DCA	COMP
	TAD	UVAL1
	JMS I	(PLYFIX
	JMS I	(COMPAR
	JMP	ALPHAP
	JMP	JMPICK
ALPHAP,	JMS I	(POPOUT
	TAD	PLY
	CLA CLL 
	TAD	("!
	JMS I	ZOUT
	JMP I	(LKAD
JMPICK,	JMS I	ZCRLF
	JMS I	(TABPLY
	CLA 
	JMP I	(PICK
SAVBRD,	ROOK
	KNIGHT
	BISHOP
	QUEEN
	KING
	BISHOP
	KNIGHT
	ROOK
	PAWN
	PAWN
	PAWN
	PAWN
	PAWN
	PAWN
	PAWN
	PAWN
BESTBL,	ZBLOCK 30
SETPNT,	0000
	CLA 
	TAD	PLY
	CLL RAL 
	TAD	ADCON
	DCA	XR0
	JMP I	SETPNT
ADCON,	BESTBL-3
	-PAWN
	-PAWN
	-PAWN
	-PAWN
	-PAWN
	-PAWN
	-PAWN
	-PAWN
	-ROOK
	-KNIGHT
	-BISHOP
	-QUEEN
	-KING
	-BISHOP
	-KNIGHT
	-ROOK
PAGE
LKAD,	CLA 
	TAD	CVAL1
	DCA	RVAL1
	JMP	DONE
LKSM,	CLA 
	TAD	("=
	JMS I	ZOUT
	DCA	RVAL1
	JMP	LKXM
DONE,	CLA CMA 
	TAD	PLY
	DCA	PLY
	TAD	UVAL1
	DCA	CVAL1
	JMS I	[POP01
	CIA 
	TAD	PC01
	SZA 
	HLT 
	JMS I	[POP01
	CIA 
	TAD	PDLADR
	SZA 
	HLT 
	TAD	MOB1
	DCA	MOBMOD
	TAD	MOB0
	DCA	MOB1
	JMS I	[POP01
	DCA	MOB0
	JMS I	[POP01
	DCA	STRATG
	JMS I	[POP01
	DCA	GNCNT
	JMS I	[POP01
	DCA	PLYFIX+1
	JMS I	[POP01
	DCA	UVAL1
	JMS I	[POP01
	DCA	TEMP
	JMP I	TEMP
LKCM,	CLA 
	TAD	("+
	JMS I	ZOUT
	TAD	PLY
	TAD	(-3740
	JMS	PLYFIX
	DCA	RVAL1
LKXM,	JMS I	[POPIT
	JMS I	[POPIT
	JMP	DONE

PLYFIX,	0000
	CIA 
	JMP I	PLYFIX

LCLRFX,	0000
	NOP 
	JMP I	LCLRFX

LEVAL,	CLA CLL 
	JMS I	ZMAPEC
	TAD	WHOSE
	SMA CLA 
	JMP	.+4
	TAD	BKING
	JMS I	(TSTWAT
	JMP	.+3
	TAD	WKING
	JMS I	(TSTBAT
	TAD	PCNT
	SZA CLA 
	JMP I	(LKFUR
	TAD	("#
	JMS I	ZOUT
	ISZ	ENO
	TAD	ENO
	CIA 
	TAD	ENOB
	SNA CLA 
	NOP 
	TAD	ENO
	JMS I	(OCTNFM
	JMS I	(EVAL
	DCA	RVAL1
	JMP	DONE
PRUNE,	0000
	CLA 
	DCA I	(PRNCNT
	TAD I	(GNCHEK
	SZA 
	JMP I	PRUNE
	JMS I	(PLYCHP
	TAD	(JMP I	.+3
	DCA	.+1
	HLT 
PPNPRO,	PPA
	PPB
	PPB
	PPB
	PPB
	PPB
	PPB
	PPB
PPA,	JMS I	(BSTOP
PPZ,	JMP I	PRUNE
PPB,	JMS I	(HIEP
	SNA CLA 
	JMP	.+4
	JMS I	(SETPNT
	TAD I	(HIEPMS
	DCA I	XR0
	JMS I	(BSTOP
	JMP I	PRUNE
PAGE
BSTOP,	0000
	JMS I	(SETPNT
	TAD I	XR0
	CIA 
	DCA	TEMP2
	TAD	GNCNT
	CIA 
	TAD I	(PRNCNT
	SNA 
	JMP I	BSTOP
	DCA	TEMP
	TAD	TEMP
	CLL RAL 
	TAD	PDLADR
	DCA	TEMP1
BSTOP1,	TAD I	TEMP1
	SNA 
	HLT 
	TAD	TEMP2
	SNA CLA 
	JMP	BSTOP2
	ISZ	TEMP1
	ISZ	TEMP1
	ISZ	TEMP
	JMP	BSTOP1
	JMP I	BSTOP
BSTOP2,	TAD	PDLADR
	TAD	(-2
	DCA	TEMP
	TAD I	TEMP
	DCA I	TEMP1
	TAD	TEMP2
	CIA 
	DCA I	TEMP
	ISZ	TEMP
	ISZ	TEMP1
	TAD I	TEMP1
	DCA	XR0
	TAD I	TEMP
	DCA I	TEMP1
	TAD	XR0
	DCA I	TEMP
	JMP I	BSTOP
BREV,	0000
	CLA 
	TAD	(NOP
	DCA	BREV2
	JMS	BREV1
	CIA 
	TAD	STRATG
	DCA	STRATG
	TAD	[CIA
	DCA	BREV2
	TAD	(70
	JMS	BREV1
	TAD	STRATG
	DCA	STRATG
	JMP I	BREV

BREV1,	0000
	TAD	(BOARD-1
	DCA	ITMP0
	DCA	TEMP2
	TAD	[-10
	DCA	TEMP1
	TAD I	ITMP0
BREV2,	HLT 
	TAD	(-KNIGHT
	SNA 
	ISZ	TEMP2
	TAD	(KNIGHT-BISHOP
	SNA CLA 
	ISZ	TEMP2
	ISZ	TEMP1
	JMP	BREV2-1
	TAD	TEMP2
	CLL RAL 
	CLL RAL 
	JMP I	BREV1
COEV,	0000
	CLA 
	TAD	(-4
	DCA	TEMP1
	TAD	(TAD I	COTB
	DCA	COEV1
COEV1,	HLT 
	SNA 
	JMP	COEV2
	SMA CLA 
	TAD	(10
	TAD	(-4
	TAD	STRATG
	DCA	STRATG
COEV2,	ISZ	COEV1
	ISZ	TEMP1
	JMP	COEV1
	TAD	TEMP
	JMP I	COEV
COTB,	BOARD+33
	BOARD+34
	BOARD+43
	BOARD+44

CASTEV,	0000
	CLA 
	TAD	WPSW
	RAR 
	SZL CLA 
	TAD	(10
	TAD	STRATG
	DCA	STRATG
	TAD	BPSW
	RAR 
	SZL CLA 
	TAD	[-10
	TAD	STRATG
	DCA	STRATG
	JMP I	CASTEV
PAGE
ENPRIS,	0000
	DCA	ENPRAD
	JMS I	ZMAPEC
	TAD I	ENPRAD
	SNA 
	JMP I	ENPRIS
	SMA CLA 
	JMP	ENPRWH
	TAD	ENPRAD
	JMS I	(TSTWAT
	TAD	PVAL
	DCA	ENPVAL
	TAD	PCNT
	SNA 
	JMP I	ENPRIS
	DCA	ENPCNT
	TAD	PSQR
	DCA	ENPSQR
	TAD	ENPRAD
	JMS I	(TSTBAT
	JMP	ENPR0
ENPRWH,	TAD	ENPRAD
	JMS I	(TSTBAT
	TAD	PVAL
	CIA 
	DCA	ENPVAL
	TAD	PSQR
	DCA	ENPSQR
	TAD	PCNT
	SNA 
	JMP I	ENPRIS
	DCA	ENPCNT
	TAD	ENPRAD
	JMS I	(TSTWAT
	TAD	PVAL
	CIA 
	DCA	PVAL
ENPR0,	TAD	ENPCNT
	CIA 
	TAD	PCNT
	SMA CLA 
	JMP	ENPR1
	TAD	PCNT
	CLL RAR 
	SZA CLA 
	JMP	ENPR1
	SNL CLA 
	JMP	ENPR2
	TAD I	ENPRAD
	JMS I	(CLRFIX
	TAD	PVAL
	TAD	ENPVAL
	SMA CLA 
	JMP	ENPR3
	TAD	PVAL
	TAD	ENPVAL
	SPA SNA CLA 
	JMP	ENPR2
	TAD	PVAL
	TAD	ENPVAL
	JMS I	(CLRFIX
ENPR2,	TAD I	ENPRAD
	CIA 
	JMP I	ENPRIS
ENPR1,	CLA 
	TAD I	ENPRAD
	JMS I	(CLRFIX
	TAD	ENPVAL
	SMA 
ENPR3,	CLA 
	CIA 
	JMS I	(CLRFIX
	JMP I	ENPRIS
ENPRAD,	0000
ENPVAL,	0000
ENPSQR,	0000
ENPCNT,	0000
TESTEP,	JMS I	(INPUT
	JMS I	ZMAPEC
	TAD	[BOARD
	DCA	TSTTMP
	TAD	(7700
	DCA	TSTCNT
TEP2,	TAD	TSTTMP
	JMS	ENPRIS
	SNA 
	JMP	TEP1
	JMS I	(OCTOUT
	JMS I	(SPACE
	TAD	TSTTMP
	JMS I	(OUTSQR
	JMS I	ZCRLF
TEP1,	ISZ	TSTTMP
	ISZ	TSTCNT
	JMP	TEP2
	HLT 
	JMP	TESTEP
TSTTMP,	0000
TSTCNT,	0000
PAGE
HIEP,	0000
	CLA 
	TAD	WHOSE
	SPA CLA 
	TAD	(NOP-CIA
	TAD	[CIA
	DCA	HIEPX
	DCA	HIEPVL
	DCA	HIEPCN
	JMS I	ZMAPEC
	TAD	(-12
	JMS	HIEPFX
	TAD	(MAP+12
	DCA	HMAPAD
HIEP1,	CLA 
	TAD I	HMAPAD
	ISZ	HMAPAD
	SNA 
	JMP	HIEP2
	DCA	HIEPTM
	TAD I	HIEPTM
	JMS	HIEPFX
	TAD	(-KING
	SNA CLA 
	JMP	HIEP1
	TAD	HIEPTM
	JMS I	(ENPRIS
	SNA 
	JMP	HIEP1
	DCA	HIEPTM
	ISZ	HIEPCN
	TAD	HIEPVL
	CIA 
	TAD	HIEPTM
	JMS	HIEPFX
	SMA CLA 
	JMP	HIEP1
	TAD	HIEPTM
	DCA	HIEPVL
	TAD I	(ENPSQR
	AND	[77
	CLL RTL 
	RTL 
	RTL 
	DCA	HIEPTM
	TAD I	(ENPRAD
	AND	[77
	TAD	HIEPTM
	DCA	HIEPMS
	JMP	HIEP1
HIEP2,	CLA CMA 
	TAD	HIEPCN
	SPA 
	CLA 
	CLL RTL 
	RAL 
	CIA 
	JMS	HIEPFX
	TAD	HIEPVL
	JMP I	HIEP

HIEPFX,	0000
HIEPX,	HLT 
	JMP I	HIEPFX
HIEPVL,	0000
HIEPTM,	0000
HIEPCN,	0000
HIEPMS,	0000
HMAPAD,	0000
SETBRD,	0000
	CLA CLL 
	TAD	(-100
	DCA	TEMP
	TAD	(BOARD-1
	DCA	ITMP0
	TAD	(SAVBRD-1
	DCA	ITMP1
	TAD I	ITMP1
	DCA I	ITMP0
	ISZ	TEMP
	JMP	.-3
	TAD	(-40
	DCA	TEMP
	TAD	(BOARD+17
	DCA	ITMP1
	DCA I	ITMP1
	ISZ	TEMP
	JMP	.-2
	DCA	LSTMV
	DCA	WPSW
	DCA	BPSW
	DCA	PW
	JMP I	SETBRD
COMTM,	IAC 
	IAC 
COMBM,	IAC 
	DCA	DEPTH
	JMP I	(COMMAN
PAGE
INTHAN,	DCA	ACHOLD
	RAL 
	DCA	LKHOLD
	KSF
	HLT 
	KRB
	SNA 
	JMP	RTINT
	AND	(177
	TAD	(200
	DCA	CHAR
BACK,	TAD	ISW
	SNA CLA 
	JMP	RTINT
	TAD	CHAR
	JMS I	ZOUT
	TAD	CHAR
	TAD	(-240
	SNA CLA 
	JMP	RTINT
	ISZ	CNTCHR
	SKP 
	JMP	UGO
	TAD	CHAR
	TAD	(-215
	SNA 
	JMP	LINDUN
	TAD	(215-377
	SNA 
	JMP	RUBGO
	TAD	(377-225
	SNA CLA 
	JMP	UGO
	TAD	CHAR
	TAD	(-203
	SNA CLA
	JMP I	(MONITR
	TAD	CHAR
	DCA I	CLIST
RTINT,	TAD	LKHOLD
	CLL RAR 
	TAD	ACHOLD
	RMF
	ION
	JMP I	Z00
ACHOLD,	0000
LKHOLD,	0000
LINDUN,	DCA I	CLIST
	TAD	(KBUF-1
	DCA	CLIST
	DCA	ISW
	JMS I	ZCRLF
	JMP	RTINT

LNOGO,	JMS I	ZCRLF
	JMS I	ZBEGIN
	JMP	RTINT

CHKIO,	0000
	CLA
	TAD	ISW
	ISZ	RANDOM
	SZA CLA 
	JMP	.-4
	IOF
	JMP I	CHKIO

RUBGO,	CLA
	TAD	(KBUF-1
	CIA 
	TAD	CLIST
	SNA CLA 
	JMP	LNOGO
	TAD	("\
	JMS I	ZOUT
	CLA CMA 
	TAD	CLIST
	DCA	CLIST
	JMP	RTINT
UGO,	CLA
	JMS I	[MES
	MESG21
	JMP	LNOGO
COMLST,	-2027
	COMPW
	-2002
	COMPB
	-2016
	COMPN
	-204
	COMBD
	-1120
	COMIP
	-2205
	START
	-1526
	CMOVE
	-2313
	COMSK
	-215
	COMBM
	-2415
	COMTM
	-1424
	COMLT
	0000
	0000
MESG14,	TEXT "STALEMATE"
MESG24,	TEXT "YOUR MOVE? "
PAGE
MES,	0000
	SZA 
	JMP	.+3
	TAD I	MES
	ISZ	MES
	DCA	TEMP
MES2,	TAD I	TEMP
	RTR 
	RTR 
	RTR 
	JMS	TYPO
	TAD I	TEMP
	JMS	TYPO
	ISZ	TEMP
	JMP	MES2

TYPO,	0000
	AND	[77
	SNA 
	JMP I	MES
	TAD	[-40
	SPA 
	TAD	(100
	TAD	(240
	JMS I	ZOUT
	JMP I	TYPO

OUT,	0000
	TLS
	TSF
	JMP	.-1
	TCF
	CLA 
	JMP I	OUT

CRLF,	0000
	CLA 
	TAD	(215
	JMS I	ZOUT
	JMS I	ZOUT
	TAD	(212
	JMS I	ZOUT
	JMS I	ZOUT
	JMS I	ZOUT
	JMP I	CRLF
BEGIN,	0000
	CLA IAC 
	DCA	ISW
	TAD	(KBUF-1
	DCA	CLIST
	TAD	(-30
	DCA	CNTCHR
	KCC
	JMP I	BEGIN

GETC,	0000
	CLA 
	TAD I	CLIST
	DCA	TEMP
	TAD	TEMP
	TAD	(-"-
	SNA 
	JMP	GETC+1
	TAD	("--":
	SNA CLA 
	JMP	GETC+1
	TAD	TEMP
	JMP I	GETC

OCTOUT,	0000
	DCA	TEMP
	JMS	SPACE
	TAD	TEMP
	SPA CLA 
	TAD	("--" /
	TAD	(" /
	JMS I	ZOUT
	TAD	TEMP
	SPA 
	CIA 
	JMS	OCTNFM
	JMP I	OCTOUT
OCTNFM,	0000
	RAL 
	DCA	TEMP
	TAD	(-4
	DCA	TEMP1
OCTMID,	TAD	TEMP
	RAL 
	RTL 
	DCA	TEMP
	TAD	TEMP
	AND	[7
	TAD	("0
	JMS I	ZOUT
	ISZ	TEMP1
	JMP	OCTMID
	JMP I	OCTNFM

SPACE,	0000
	CLA 
	TAD	(240
	JMS I	ZOUT
	JMP I	SPACE

MONITR,	CLA
	JMS I	[MES
	MESG18
	CIF CDF 0
	JMP I	(7600

TABPLY,	0000
	CLA 
	TAD	PLY
	SNA 
	IAC 
	CIA 
	DCA	CMBCNT
	JMS I	[MES
	MESG19
	ISZ	CMBCNT
	JMP	.-3
	JMP I	TABPLY
CMBCNT,	0000
PAGE
INMV,	0000
	CLA 
	DCA	IOMSW
	DCA	IOMDW
	JMS I	ZGETC
	JMS I	(ISA2H
	JMP	INCA
	TAD	(-301
	CLL RTL 
	RTL 
	RTL 
	JMS	INPAK
	JMS I	(IS128
	JMP I	INMV
	TAD	(-261
	CLL RTR 
	RTR 
	JMS	INPAK
	JMS I	(ISA2H
	JMP I	INMV
	TAD	(-301
	JMS	INPAK
	JMS I	(IS128
	JMP I	INMV
	TAD	(-261
	CLL RTL 
	RAL 
	JMS	INPAK
	TAD	(-"=
	SZA CLA 
	JMP	INMID-1
	NOP 
	JMS I	ZGETC
	TAD	(-"Q
	SNA 
	JMP	IPPQ
	TAD	("Q-"R
	SNA 
	JMP	IPPR
	TAD	("R-"B
	SNA 
	JMP	IPPB
	TAD	("B-"N
	SNA 
	JMP	IPPN
	JMP I	INMV
IPPQ,	IAC 
IPPR,	IAC 
IPPB,	IAC 
IPPN,	TAD	(4
	DCA	IOMDW
	JMP	INMID-1
INCA,	TAD	(-"O
	SZA CLA 
	JMP I	INMV
	JMS I	ZGETC
	TAD	(-"O
	SZA CLA 
	JMP I	INMV
	TAD	PONDIR
	AND	(7070
	TAD	(0406
	DCA	IOMSW
	JMS I	ZGETC
	TAD	(-"O
	SZA 
	JMP	INMID-1
	TAD	(-4
	TAD	IOMSW
	DCA	IOMSW
	JMS I	(GNMVSM
INMID,	JMS I	[POPIT
	DCA	TOMAK2
	JMS I	[POPIT
	SNA 
	JMP I	INMV
	CIA 
	TAD	IOMSW
	SZA CLA 
	JMP	INMID
	TAD	IOMSW
	DCA	TOMAK1
	TAD	IOMDW
	SNA CLA 
	JMP	INMID2
	TAD	TOMAK2
	AND	[7
	CIA 
	TAD	IOMDW
	SZA CLA 
	JMP	INMID
INMID2,	JMS I	ZMKMV
	JMS I	[IPDL01
	JMS I	(POPOUT
	ISZ	INMV
	JMP I	INMV

INPAK,	0000
	TAD	IOMSW
	DCA	IOMSW
	JMS I	ZGETC
	JMP I	INPAK
MESG18,	TEXT "^C"
MESG15,	TEXT "O-O-O"
NAME,	TEXT "CHEKMO-II"
PAGE
OUTMV,	0000
	CLA 
	TAD	(240
	DCA	IOCH1
	TAD	(240
	DCA	IOCH2
	TAD	IOMDW
	AND	[7
	TAD	(JMP	.+3
	DCA	.+1
	HLT 
	JMP	OUTSTD
	JMP	OUTQCA
	JMP	OUTKCA
	JMP	OUTSTD
	TAD	("N-"B
	TAD	("B-"R
	TAD	("R-"Q
	TAD	("Q
	DCA	IOCH2
	TAD	("=
	DCA	IOCH1
OUTSTD,	CLA 
	TAD	IOMSW
	RTR 
	RTR 
	RTR 
	JMS	OUTSQR
	TAD	IOMDW
	SPA CLA 
	TAD	(":-"-
	TAD	("-
	JMS I	ZOUT
	TAD	IOMSW
	JMS	OUTSQR
	TAD	IOCH1
	JMS I	ZOUT
	TAD	IOCH2
	JMS I	ZOUT
	JMP I	OUTMV
OUTSQR,	0000
	DCA	IOTMP
	TAD	IOTMP
	AND	[7
	TAD	(301
	JMS I	ZOUT
	TAD	IOTMP
	RTR 
	RAR 
	AND	[7
	TAD	(261
	JMS I	ZOUT
	JMP I	OUTSQR
OUTKCA,	IAC 
OUTQCA,	TAD	(MESG15
	JMS I	[MES
	JMP I	OUTMV
IOCH1,	0000
IOCH2,	0000
IOTMP,	0000

IS128,	0000
	TAD	(-"1
	SPA 
	JMP	.+4
	TAD	[-10
	SPA CLA 
	ISZ	IS128
	CLA 
	TAD	TEMP
	JMP I	IS128

ISA2H,	0000
	TAD	(-"A
	SPA 
	JMP	.+4
	TAD	[-10
	SPA CLA 
	ISZ	ISA2H
	CLA 
	TAD	TEMP
	JMP I	ISA2H
QMATE,	0000
	JMS I	(GNMVSM
	JMS I	(POPOUT
	TAD	GNCNT
	SZA CLA 
	JMP I	QMATE
	TAD	CMSW
	SNA CLA 
	TAD	(MESG14-MESG9
	TAD	(MESG9
	JMS I	[MES
	JMS I	ZCRLF
	JMS I	(DISPLA
	JMP I	(START
COMLT,	TAD I	(LTSW
	CMA 
	DCA I	(LTSW
	JMP I	(COMMAN
COMSK,	TAD	WHOSE
	CMA 
	DCA	WHOSE
	DCA	LSTMV
	JMP I	(COMMAN
PAGE
MESG19,	TEXT "        "
MESG21,	TEXT "^U"
LPTOUT,	0000
	SNA 
	JMP I	LPTOUT
	DCA	LPTMP
	TAD	LTSW
	SNA CLA 
	JMP I	LPTOUT
	LAS 
	SMA CLA 
	JMP I	LPTOUT
	TAD	LPTMP
	PSKE
	SKP 
	JMP	.-2
	PSKF
	JMP	.-1
	PCLF PSTB
	CLA 
	PCIE
	JMP I	LPTOUT
LPTMP,	0000
LTSW,	0000
DISPLA,	0000
	JMS I	ZCRLF
	TAD	(BOARD+70-1
	DCA	RNKPTR
	TAD	[-10
	DCA	RNKKNT
RNKLUP,	TAD	RNKPTR
	DCA	XR0
	TAD	[-10
	DCA	FILKNT
	JMP	RL1
RL2,	TAD	(240
	JMS I	ZOUT
RL1,	DCA	COLOR
	TAD I	XR0
	SNA 
	JMP	EMPTY
	SPA 
	ISZ	COLOR
	SPA 
	CIA 
	TAD	[-PAWN
	SNA 
	JMP	DP
	TAD	(PAWN-KNIGHT
	SNA 
	JMP	DN
	TAD	(KNIGHT-BISHOP
	SNA 
	JMP	DB
	TAD	(BISHOP-ROOK
	SNA 
	JMP	DR
	TAD	(ROOK-QUEEN
	SNA 
	JMP	DQ
	TAD	(QUEEN-KING
	SNA CLA 
	JMP	DK
	TAD	("?-"P
DP,	TAD	("P-"N
DN,	TAD	("N-"B
DB,	TAD	("B-"R
DR,	TAD	("R-"K
DK,	TAD	("K-"Q
DQ,	TAD	("Q
	DCA	PIECE
	TAD	COLOR
	SZA CLA 
	TAD	("B-"W
	TAD	("W
	JMS I	ZOUT
	TAD	PIECE
	JMS I	ZOUT
	JMP	NEXT
EMPTY,	TAD	XR0
	RTR 
	RAR 
	AND	[7
	TAD	XR0
	RAR 
	SZL CLA 
	TAD	("--"*
	TAD	("*
	DCA	PIECE
	TAD	PIECE
	JMS I	ZOUT
	TAD	PIECE
	JMS I	ZOUT
NEXT,	ISZ	FILKNT
	JMP	RL2
	JMS I	ZCRLF
	TAD	RNKPTR
	TAD	[-10
	DCA	RNKPTR
	ISZ	RNKKNT
	JMP	RNKLUP
	JMS I	ZCRLF
	JMP I	DISPLA
PAGE
INPUT,	0000
	JMS I	ZCRLF
	TAD	(BOARD+70-1
	DCA	RNKPTR
	TAD	[-10
	DCA	RNKKNT
RNLUP,	TAD	RNKPTR
	DCA	XR0
	TAD	(">
	JMS I	ZOUT
	TAD	(7767
	DCA	FILKNT
	JMS I	ZBEGIN
	ION
	JMS I	ZCHKIO
RL3,	JMS I	ZGETC
	SNA 
	JMP	EOL
	JMS I	(IS128
	JMP	LETTR
	TAD	(-260
	CIA 
	DCA	COLOR
	JMS	CHK
	DCA I	XR0
	ISZ	COLOR
	JMP	.-3
	JMP	RL3
LETTR,	TAD	(-"B
	SNA 
	JMP	BLP
	TAD	("B-"W
	SZA CLA 
	JMP	ERR4
WHP,	CLA CMA 
BLP,	DCA	COLOR
	JMS	CHK
	JMS I	ZGETC
	TAD	(-"B
	SNA 
	JMP	GB
	TAD	("B-"N
	SNA 
	JMP	GN
	TAD	("N-"P
	SNA 
	JMP	GP
	TAD	("P-"R
	SNA 
	JMP	GR
	TAD	("R-"K
	SNA 
	JMP	GK
	TAD	("K-"Q
	SNA 
	JMP	GQ
	TAD	("Q-"S
	SNA CLA 
	JMP	GN
	JMP	ERR3
GP,	TAD	(PAWN-KNIGHT
GN,	TAD	(KNIGHT-BISHOP
GB,	TAD	(BISHOP-ROOK
GR,	TAD	(ROOK-QUEEN
GQ,	TAD	(QUEEN-KING
GK,	TAD	(KING
	ISZ	COLOR
	CIA 
	DCA I	XR0
	JMP	RL3
EOL,	ISZ	FILKNT
	JMP	ERR2
	TAD	RNKPTR
	TAD	[-10
	DCA	RNKPTR
	ISZ	RNKKNT
	JMP	RNLUP
	DCA	BPSW
	DCA	WPSW
	DCA	LSTMV
	JMS I	(BRDVAL
	JMS I	ZCRLF
	JMS I	(DISPLA
	JMP I	INPUT
ERR4,	IAC 
ERR3,	IAC 
ERR2,	IAC 
ERR1,	TAD	(61
	JMS I	ZOUT
	TAD	("?
	JMS I	ZOUT
	JMS I	ZCRLF
	JMP	RNLUP
CHK,	0000
	ISZ	FILKNT
	JMP I	CHK
	JMP	ERR1

MESG9,	TEXT "CHECKMATE"
MESG22,	TEXT "B. "
MESG23,	TEXT "W. "

*7400
MAP,	ZBLOCK 50
KBUF,	ZBLOCK 30
BOARD,	ROOK
	KNIGHT
	BISHOP
	QUEEN
	KING
	BISHOP
	KNIGHT
	ROOK
	PAWN
	PAWN
	PAWN
	PAWN
	PAWN
	PAWN
	PAWN
	PAWN
	ZBLOCK 40
	-PAWN
	-PAWN
	-PAWN
	-PAWN
	-PAWN
	-PAWN
	-PAWN
	-PAWN
	-ROOK
	-KNIGHT
	-BISHOP
	-QUEEN
	-KING
	-BISHOP
	-KNIGHT
	-ROOK

FIELD 0
*200
$$$