.psect .prog. play: jsr r0,__csav sub $26,sp jsr pc,clock clr -6(r5) tst 12(r5) bne .3 .2: .4: clr intrp jsr pc,move .3: tst manflg bne .4 .5: mov mantom,-4(r5) mov -4(r5),r0 asl r0 add $clktim,r0 mov (r0),-2(r5) jsr pc,bookm tst r0 bne .6 mov $1,(sp) mov mdepth,-(sp) jsr pc,mate tst (sp)+ tst r0 bne .7 jsr pc,xplay .7: .6: tst intrp beq .10 jsr pc,decrem tst mantom beq .77777 jsr pc,bremove br .77776 .77777: jsr pc,wremove .77776: br .4 .10: tst abmove bne .11 .psect .strn. .12: .byte 122 .byte 145 .byte 163 .byte 151 .byte 147 .byte 156 .byte 12 .byte 0 .psect .prog. mov $.12,(sp) jsr pc,printf jsr pc,onhup .11: mov abmove,(sp) jsr pc,makmov mov -4(r5),r0 asl r0 add $clktim,r0 mov (r0),-4(r5) mov -4(r5),r0 sub -2(r5),r0 mov r0,-2(r5) mov r5,(sp) add $177752,(sp) jsr pc,times mov -24(r5),-6(r5) mov moveno,-(sp) mov -4(r5),-(sp) .globl div_i jsr pc,div_i cmp (sp)+,(sp)+ cmp r0,$226 ble .13 cmp depth,$1 bgt .15 .14: br .4 .13: cmp depth,$3 bne .16 cmp -2(r5),$264 bgt .15 .16: cmp depth,$1 bne .17 cmp -2(r5),$74 blt .20 .17: cmp game,$3 bne .21 cmp -2(r5),$74 bge .21 cmp depth,$2 beq .20 .21: br .4 .20: inc depth br .4 .15: br .4 .1: jmp __cret move: jsr r0,__csav sub $6,sp .23: jsr pc,done mov r0,lmp jsr pc,manual mov r0,-2(r5) jsr pc,done mov r0,-4(r5) mov -4(r5),-6(r5) .25: cmp -6(r5),lmp beq .24 add $2,-6(r5) mov -6(r5),r0 add $2,-6(r5) cmp (r0),-2(r5) bne .26 mov -4(r5),lmp mov -2(r5),(sp) jsr pc,makmov br .22 .26: br .25 .24: .psect .strn. .27: .byte 111 .byte 154 .byte 154 .byte 145 .byte 147 .byte 141 .byte 154 .byte 40 .byte 155 .byte 157 .byte 166 .byte 145 .byte 12 .byte 0 .psect .prog. mov $.27,(sp) jsr pc,printf mov -4(r5),lmp br .23 .22: jmp __cret manual: jsr r0,__csav sub $10,sp .31: clr intrp jsr pc,stage jsr pc,rline mov $sbuf,sbufp .psect .strn. .33: .byte 163 .byte 141 .byte 166 .byte 145 .byte 0 .psect .prog. mov $.33,(sp) jsr pc,match tst r0 beq .32 jsr pc,save br .31 .32: .psect .strn. .35: .byte 164 .byte 145 .byte 163 .byte 164 .byte 0 .psect .prog. mov $.35,(sp) jsr pc,match tst r0 beq .34 tst testf bne .77775 mov $1,r0 br .77774 .77775: clr r0 .77774: mov r0,testf br .31 .34: .psect .strn. .37: .byte 162 .byte 145 .byte 155 .byte 157 .byte 166 .byte 145 .byte 0 .psect .prog. mov $.37,(sp) jsr pc,match tst r0 beq .36 mov amp,r0 cmp -2(r0),$177777 beq .40 jsr pc,decrem tst mantom beq .77773 jsr pc,bremove br .77772 .77773: jsr pc,wremove .77772: .40: mov amp,r0 cmp -2(r0),$177777 beq .41 jsr pc,decrem tst mantom beq .77771 jsr pc,bremove br .77770 .77771: jsr pc,wremove .77770: .41: br .31 .36: .psect .strn. .43: .byte 145 .byte 170 .byte 151 .byte 164 .byte 0 .psect .prog. mov $.43,(sp) jsr pc,match tst r0 beq .42 jsr pc,exit .42: .psect .strn. .45: .byte 155 .byte 141 .byte 156 .byte 165 .byte 141 .byte 154 .byte 0 .psect .prog. mov $.45,(sp) jsr pc,match tst r0 beq .44 tst manflg bne .77767 mov $1,r0 br .77766 .77767: clr r0 .77766: mov r0,manflg br .31 .44: .psect .strn. .47: .byte 162 .byte 145 .byte 163 .byte 151 .byte 147 .byte 156 .byte 0 .psect .prog. mov $.47,(sp) jsr pc,match tst r0 beq .46 jsr pc,onhup .46: cmp moveno,$1 bne .50 tst mantom bne .50 .psect .strn. .52: .byte 146 .byte 151 .byte 162 .byte 163 .byte 164 .byte 0 .psect .prog. mov $.52,(sp) jsr pc,match tst r0 beq .51 mov $1,(sp) jsr pc,play .51: .psect .strn. .54: .byte 141 .byte 154 .byte 147 .byte 0 .psect .prog. mov $.54,(sp) jsr pc,match tst r0 beq .53 mov $1,mfmt br .31 .53: .psect .strn. .56: .byte 162 .byte 145 .byte 163 .byte 164 .byte 157 .byte 162 .byte 145 .byte 0 .psect .prog. mov $.56,(sp) jsr pc,match tst r0 beq .55 jsr pc,restore br .31 .55: .50: .psect .strn. .60: .byte 143 .byte 154 .byte 157 .byte 143 .byte 153 .byte 0 .psect .prog. mov $.60,(sp) jsr pc,match tst r0 beq .57 jsr pc,clock mov r0,-(sp) mov mantom,r0 asl r0 add $clktim,r0 add (sp)+,(r0) .psect .strn. .61: .byte 167 .byte 150 .byte 151 .byte 164 .byte 145 .byte 0 .psect .prog. mov clktim,(sp) mov $.61,-(sp) jsr pc,ctime tst (sp)+ .psect .strn. .62: .byte 142 .byte 154 .byte 141 .byte 143 .byte 153 .byte 0 .psect .prog. mov clktim+2,(sp) mov $.62,-(sp) jsr pc,ctime tst (sp)+ br .31 .57: .psect .strn. .64: .byte 163 .byte 143 .byte 157 .byte 162 .byte 145 .byte 0 .psect .prog. mov $.64,(sp) jsr pc,match tst r0 beq .63 jsr pc,score br .31 .63: .psect .strn. .66: .byte 163 .byte 145 .byte 164 .byte 165 .byte 160 .byte 0 .psect .prog. mov $.66,(sp) jsr pc,match tst r0 beq .65 jsr pc,setup br .31 .65: .psect .strn. .70: .byte 150 .byte 151 .byte 156 .byte 164 .byte 0 .psect .prog. mov $.70,(sp) jsr pc,match tst r0 beq .67 jsr pc,xplay mov r0,-2(r5) mov abmove,(sp) jsr pc,out .psect .strn. .71: .byte 40 .byte 45 .byte 144 .byte 12 .byte 0 .psect .prog. mov -2(r5),(sp) mov $.71,-(sp) jsr pc,printf tst (sp)+ br .31 .67: .psect .strn. .73: .byte 162 .byte 145 .byte 160 .byte 145 .byte 141 .byte 164 .byte 0 .psect .prog. mov $.73,(sp) jsr pc,match tst r0 beq .72 mov amp,r0 cmp -2(r0),$177777 beq .74 mov amp,-2(r5) tst mantom beq .77765 jsr pc,wremove br .77764 .77765: jsr pc,bremove .77764: jsr pc,decrem mov -2(r5),(sp) mov $out1,-(sp) jsr pc,posit tst (sp)+ .74: br .31 .72: tstb *sbufp bne .75 jsr pc,pboard br .31 .75: jsr pc,algin mov r0,-2(r5) beq .76 mov $1,mfmt mov -2(r5),r0 br .30 .76: jsr pc,stdinn mov r0,-2(r5) beq .77 clr mfmt mov -2(r5),r0 br .30 .77: .psect .strn. .100: .byte 145 .byte 150 .byte 77 .byte 12 .byte 0 .psect .prog. mov $.100,(sp) jsr pc,printf br .31 .30: jmp __cret algin: jsr r0,__csav sub $4,sp jsr pc,cooin mov r0,-2(r5) jsr pc,cooin mov r0,-4(r5) tstb *sbufp beq .102 clr r0 br .101 .102: mov -2(r5),r0 swab r0 clrb r0 bis -4(r5),r0 .101: jmp __cret cooin: jsr r0,__csav sub $4,sp movb *sbufp,r0 mov r0,-2(r5) cmp -2(r5),$141 blt .77763 cmp -2(r5),$150 ble .104 .77763: clr r0 br .103 .104: mov sbufp,r0 movb 1(r0),r0 mov r0,-4(r5) cmp -4(r5),$61 blt .77762 cmp -4(r5),$70 ble .105 .77762: clr r0 br .103 .105: add $2,sbufp mov -2(r5),-(sp) sub $141,(sp) mov $70,r0 sub -4(r5),r0 asl r0 asl r0 asl r0 add (sp)+,r0 mov r0,-2(r5) mov -2(r5),r0 .103: jmp __cret match: jsr r0,__csav sub $4,sp mov sbufp,-2(r5) .110: mov 12(r5),r0 inc 12(r5) movb (r0),r0 mov r0,-4(r5) beq .107 mov -2(r5),r0 inc -2(r5) cmpb (r0),-4(r5) beq .111 clr r0 br .106 .111: br .110 .107: mov -2(r5),sbufp mov $1,r0 .106: jmp __cret done: jsr r0,__csav tst -(sp) jsr pc,rept cmp r0,$3 ble .113 .psect .strn. .114: .byte 104 .byte 162 .byte 141 .byte 167 .byte 40 .byte 142 .byte 171 .byte 40 .byte 162 .byte 145 .byte 160 .byte 145 .byte 164 .byte 151 .byte 164 .byte 151 .byte 157 .byte 156 .byte 12 .byte 0 .psect .prog. mov $.114,(sp) jsr pc,printf jsr pc,onhup .113: mov lmp,-2(r5) tst mantom beq .77761 jsr pc,bagen br .77760 .77761: jsr pc,wagen .77760: cmp -2(r5),lmp bne .115 jsr pc,check tst r0 beq .116 tst mantom beq .117 .psect .strn. .120: .byte 127 .byte 150 .byte 151 .byte 164 .byte 145 .byte 40 .byte 167 .byte 151 .byte 156 .byte 163 .byte 12 .byte 0 .psect .prog. mov $.120,(sp) jsr pc,printf br .121 .117: .psect .strn. .122: .byte 102 .byte 154 .byte 141 .byte 143 .byte 153 .byte 40 .byte 167 .byte 151 .byte 156 .byte 163 .byte 12 .byte 0 .psect .prog. mov $.122,(sp) jsr pc,printf .121: br .123 .116: .psect .strn. .124: .byte 123 .byte 164 .byte 141 .byte 154 .byte 145 .byte 40 .byte 155 .byte 141 .byte 164 .byte 145 .byte 12 .byte 0 .psect .prog. mov $.124,(sp) jsr pc,printf .123: jsr pc,onhup .115: mov -2(r5),r0 .112: jmp __cret xplay: jsr r0,__csav tst -(sp) jsr pc,stage clr abmove tst mantom beq .77757 jsr pc,bplay br .77756 .77757: jsr pc,wplay .77756: mov r0,-2(r5) mov -2(r5),ivalue mov -2(r5),r0 .125: jmp __cret term: jsr r0,__csav jsr pc,exit .126: jmp __cret .globl term .globl wplay .globl bplay .globl check .globl wagen .globl bagen .globl rept .globl cooin .globl stdinn .globl algin .globl pboard .globl posit .globl out .globl setup .globl score .globl ctime .globl restore .globl exit .globl save .globl match .globl rline .globl stage .globl out1 .globl manual .globl done .globl times .globl makmov .globl onhup .globl printf .globl wremove .globl bremove .globl decrem .globl xplay .globl mate .globl bookm .globl move .globl clock .globl play .globl sbuf .globl ambuf .globl lmbuf .globl board .globl dir .globl ipval .globl pval .globl edge .globl column .globl wkpos .globl bkpos .globl eppos .globl flag .globl depth .globl mfmt .globl ivalue .globl value .globl ply .globl mantom .globl lastmov .globl sbufp .globl amp .globl lmp .globl abmove .globl game .globl gval .globl moveno .globl intrp .globl matflg .globl manflg .globl bookp .globl bookf .globl mdepth .globl qdepth .globl testf .globl clktim .globl control .globl bheur .globl wheur .globl center .globl attacv .globl __csav .globl __cret .psect .prog. .even .psect .data. .even .psect .mwcn. .even .psect .prof. .even