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 $$$