EXTENDED CPC DSK File Disk-Info SamDisk070624*Track-Info  NAFBGCHDIETrack-Info  NAFBGCHDIETrack-Info  NAFBGCHDIEDISK BRIDGE GEN !BRIDGE GENS"#$%&'()*+,GEN80 COMs-./0123456789:;BRIDGE COM<=>?@ABCDEFGHIJKBRIDGE COM|LMNOPQRSTUVWXYZ[BRIDGE SYMk\]^_`abcdefghiHAND1 GENjLOADER kBRIDGE PRGlmnopqrstuvwxyz{BRIDGE PRG|}~BRIDGE PRGDISK BAKABCDEFGHGENHAND1 GENBG COM~puter to deal random ;hands), INDEAL (human to input deal of his choice), SAVE (save last hand, but ;not if it was a TUTOR hand) or LOAD (load a hand from disc) according to ;alternative selected in OPTIONS ; ;DEAL, INDEAL and LOAD come back to br50 and lead on to BID (bid the hand) or ;SELCON (human to select contract and declarer after seeing the hands) according ;to alternative selected while in OPTIONS (or, in the case of LOAD, when the ;hand was first bid). TUTOR goes straight on to BID becauseBG COMBG COM% all tutor hands ;must be bid. SAVE comes back to OPTIONS ; ;BID, TUTOR and SELCON all lead straight on to PLAY (play the hand) without ;returning to main routine ; ;PLAY returns to br110 and the routine then, if this was the 1st time this ;hand had been played, goes to SCORE (score the result of the hand) ; ;the routine then goes on to WHERTO, which allows the human to select whether ;he will go on to OPTIONS, to the next hand via TUTOR/DEAL/INDEAL, to rebid or ;replay this hand via BID or SELCON or to get a print-out of the hand via COPY : ;within BID and PLAY the human can elect to start the bidding/play/trick again, ;or go to OPTIONS or on to next hand at TUTOR/DEAL/INDEAL ; ;the routine COMBID (computer to bid N, E and W hands) is called when in BID. ;COMBID leads to COMBID2 which holds the various checks on bids by the computer ; ;the routines COMPLA (essentially computer to choose card to lead), COMFOL ;(essentially computer to choose which card to play when not on lead) ;are called when in PLAY ; ;other routines include SUBS (most of the subroutines including UDG, which ;defines the suit shapes) and VARS (which holds the variables) ; ;the other main file is TUTHANDS.GEN which holds the 100 TUTOR hands. For ;the format in which the hands are held, see that file. ; ;****************************************************************************** ; ;n.b. this is a composite file itself consisting of:- ; ; bridge - the framework ; options - the options re dealing, bidding aPLUS3DOSS S disk version  32767 "bridge.prg"32768 (32768 _`abcdefghiBRIDGE jBRIDGE PRGklmnopqrstuvwxyzBRIDGE PRG{|}~BRIDGE PRGBRIDGE Track-Info  NAFBGCHDIEnd play etc. ; tutor - introduce and set up tutor hands ; selcon - select contract and declarer if not bidding ; score - score the hand just played ; wherto - see where to go after playing a hand ; copy - print out hand details on paper ; ;(i.e. the shortish routines which do not merit a file on their own). This file ;also by reference includes all the other routines mentioned above ; ;******************************************************************************* ; ORG #8000 ; ;********(will become 1 in br30) jr br30 ;round again for next hand ; ;****************************************************************************** ; ;options ; ;****************************************************************************** ; option: call optsub ;cls and print "options" xor a ld hl,c4 ;assume we will not be seeing... ld b,4 ; opt10: ld (hl),a ;or playing all 4 hands inc hl ;(clear also bias and replay flags) djnz opt10 inc a ;set bidding... ld (bidhan),a ;flag ld ********************************************************************** ; DI LD IY,#5C3A LD HL,udgdat LD (#5C7B),HL ; ;***************************************************************************** ; bridge LD A,#28 ; set paper 5, ink 0 (cyan, black) LD (#5C48),A LD (#5C8D),A LD A,5 ; border colour (cyan) OUT (#FE),A ; CALL cls CALL setrnd ; initialise random no. ; TITLE CALL prwide LD DE,MSG200 ; do the title screen CALL prmsg CALL input CALL prfine ; jp option ;a,48-1 ;weak NT opener ld (ntopen),a ;set it in case tutor hands are chosen call sevpri ;down 3 lines call savcrs ;and save it ld de,msg50 ;"computer to deal, human to input hand ;play tutor hand or load hand from disc?" call prmsg ld de,msg50d ;"Save last hand to disc?" ld hl,rndeal ;computer/human deal flag ld ix,worksp+10 ;--> temp flag re tutor hand ld a,(handno) ;any hands... and a ;dealt yet? jr z,opt30 ;no ld a,(tuflag) ;was last hand... and a ;a tutor hand? cal *include m:vars.gen ; ;****************************************************************************** ; ; br10: jp option ;player to select various options ; br30: ld hl,handno inc (hl) ;next hand no. ld hl,replay ld (hl),0 ;this is not yet a replayed hand ; ;now decide whether to go to tutor, deal or indeal routine ; ld a,(tuflag) ;are we in... and a ;tutor mode? jp nz,tutor ;yes ld a,(rndeal) ;computer... and a ;to deal? push af call z,indeal ;no, player to input hand l z,prmsg ;no: print option to save a hand ; opt30: call input ld (hl),0 ;assume human to input hand... ld (ix),0 ;and not a tutor hand or %00100000 ;set l/c ld de,msg50b ;"human to input deal" cp "b" ;but is he? jp z,opt140 ;yes inc (hl) ;assume computer to deal ld de,msg50a ;"computer to deal" cp "a" ;but is it? jp z,opt140 ;yes cp "c" ;is it a tutor hand? jr z,opt40 ;no cp "d" ;load a hand from disc? jp z,LDSV ;yes (A SET TO OPTION D) cp "e" ;save last hand? j pop af call nz,deal ;yes, computer to deal ; br50: call cls ld a,(bidhan) ;are we... and a ;bidding? jp nz,bid ;yes jp selcon ;no: set contract ; ;come back after playing the hand ; br110: call redeal ;reset hands as before ld hl,replay ;is this... ld a,(hl) ;a replayed... inc (hl) ;(has been played) and a ;hand? call z,score ;no, so score it jp wherto ;find out if player wants to replay hand etc. ; ;here player wants to go on to the next hand, so first update the sr nz,opt30 ;no ld a,(handno) ;yes: any hands... and a ;yet played? jr z,opt30 ;no ld a,(tuflag) ;was last hand... and a ;a tutor hand? jr nz,opt30 ;yes: can't save LD A,"e" ;SET A TO OPTION E jp LDSV ;no: save hand ; ;here deal with tutor hand requested ; opt40: inc (ix) ;set tutor flag call optsub ;cls and print "options" call rescrs ld de,msg22 ;"you have chosen" call prmsg ld de,msg50c ;"tutor hand" call altprt call sevpri ;move down 3 lines ld de,msg60 ;"entercoresheet ; br200: ld hl,scor2 ;--> score before this hand ld a,(nsscor+6) ;get vul. ld (hl),a ;and update for vul. now inc hl ld a,(nsscor+4) ;get new N/S partscore ld (hl),a ;and update inc hl ld a,(ewscor+4) ;get E/W partscore ld (hl),a ;and update ld a,(tuflag) ;are we... and a ;in tutor mode? jr z,br30 ;no ld a,100 ;yes: get highest numbered tutor hand ld hl,handno ;--> this hand no. sub (hl) ;is this the last hand? jr nz,br30 ;no ld (hl),a ;yes: set no. to 0 Track-Info  NAFBGCHDIE hand no." ; opt50: call prmsg ld b,2 ;max. no. of digits accepted ld hl,worksp+1 ;buffer xor a ;clear... ld (hl),a ;2... dec hl ;bytes push hl ;save pointer ld (hl),a ; opt70: call input ;get hand no. cp enter ;end of entry? jr nz,opt75 ;no ld c,b ;yes: has any... dec c ;number yet... dec c ;been entered? jr nz,opt90 ;yes: a number has been entered ; opt75: or %00100000 ;set l/c cp "r" ;random hand no. requested? jr z,opt130 ;yes cp "9"+1 ;too high a no.? print it ld hl,bidhan ;--> bidding flag ; opt200: call input ;get selection or %00100000 ;get l/c ld (hl),0 ;reset flag ld de,msg16b cp "k" ;is there to be bidding? jr z,opt250 ;no inc (hl) ;set bidding flag ld de,msg16a cp "j" jr nz,opt200 call compos ;clear rest of screen etc. ld de,msg17 ;"level of NT opener?" call prmsg ;print message ld hl,ntopen ;--> bottom of 1NT bracket ; opt220: call input ;get NT opener or %00100000 ;get l/c ld (hl),48-1 ;set weak NT ld jr nc,opt70 ;yes cp "0" ;too low a no.? jr c,opt70 ;yes jr nz,opt80 ;no: a no. higher than 0 was entered ld c,b ;is this 0... dec c ;the first... dec c ;digit to be entered? jr z,opt70 ;yes: don't allow 0 as 1st digit ; opt80: ld (hl),a ;and save it CALL PRINT99 inc hl ;--> next digit djnz opt70 ;and get 2nd no. ; opt90: pop hl ;--> 1st (or only) digit entered ld a,(hl) ;get 1st no. entered sub "0" ;get as integer ld c,a ;save as integer inc hl ;--> 2nd no. ent de,msg17a cp "l" ;weak NT? jr z,check ;yes; kick off ld (hl),60-1 ;strong NT ld de,msg17b cp "m" ;strong NT? jr z,check ;yes ld (hl),0 ;mark variable NT ld de,msg17c cp "n" ;variable NT? jr nz,opt220 ;no: invalid input jr check ; opt250: call compos ;restore cursor etc. ld de,msg18 ;"see all 4 hands or just 2?" call prmsg ;print it ld hl,c4 ;--> see all 4 hands flag ; opt280: call input or %00100000 ;set l/c ld (hl),0 ;reset flag ld de,msg18a cp "o" ;see Nered (if any) ld a,(hl) ;get 2nd no. (0 if none) and a ;was there one? jr z,opt100 ;no ld a,c ;get 1st no. add a,a ;*2 ld c,a ;*2 add a,a ;*4 add a,a ;*8 add a,c ;*10 add a,(hl) ;add in units sub "0" ;get no. as integer ld c,a ;save whole no. ; opt100: dec c ;reduce hand no. as it will be increased later ld hl,handno ;--> hand no. ld (hl),c ;and record no. jp check2 ;jump on ; opt130: call random ;get random no. and %01111111 ;0 to 127 cp 100 ;over 100 s/S hands only? jr z,check ;yes inc (hl) ;set flag ld de,msg18b cp "p" ;see all 4 hands? jr nz,opt280 ;no ; ;so we are not going to bid but will see all 4 hands ; call compos ;restore cursor etc. ld de,msg19 ;"play all 4 hands?" call prmsg ;print it ld hl,p4 ;--> play all 4 hands flag ; opt300: call input or %00100000 ;set l/c ld de,msg19b ld (hl),0 ;assume computer to defend cp "r" ;but is it? jr z,check ;yes inc (hl) ;set flag=human to play all 4 hands ld de,melected? jr nc,opt130 ;yes: get another no. pop hl ld (handno),a ;save hand no. ld de,msg64 ;"random selection" call prmsg jp check2 ;and proceed ; ;come here if not a tutor hand ; opt140: push de call optsub ;cls and print "options" call rescrs ld de,msg22 ;"you have chosen" call prmsg call savcrs pop de ;message re dealer ld a,(hl) and a ;computer to deal? jr z,opt180 ;no call compos ;clear rest of screen etc. ld de,msg15 ;"bias on deal?" call prmsg ;print messg19a cp "q" ;but is he? jr nz,opt300 ;no ; check: call compos ; check2: LD BC,#1400 call pripos call revvid ld de,msg23 ;"C to change choice: K for keying insts.: ;Else any other key" call prmsg call norvid call input or %00100000 ;set l/c cp "c" ;choices o.k? jp z,option ;no push af ;yes ld a,(worksp+10) ;get temp. tutor flag ld (tuflag),a ;and record call scroll ;scroll all off screen pop af cp "k" ;keying instructions? jp nz,br30 ;no: proceed with the sage ld hl,bias ;--> bias flag:0=random deal; 1=usually N/S ;better hands; 2=always N/S better hands ; opt160: call input ;get selection or %00100000 ;l/c ld (hl),2 ld de,msg15a cp "f" ;N/S always better? jr z,opt180 ;yes dec (hl) ld de,msg15b cp "g" ;N/S usually better? jr z,opt180 ;yes dec (hl) cp "h" ;random hands? jr nz,opt160 ;no: invalid bid ld de,msg15c ; opt180: call compos ;clear rest of screen etc. ld de,msg16 ;"bid & play or just play?" call prmsg ;Track-Info  NAFBGCHDIEprogram ld de,msg75 ;keying instructions page call prmsg call input ;get keypress call scroll ;scroll all off screen jp br30 ;return to main prog. ; ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; optsub: call cls call revvid LD BC,#0014 call pripos ld de,msg62 ;"options" call prmsg jp norvid ;set white on black and return ; ;************************************************************************* ; ;DISC ROUTINES FOR SAVING & LOADING HAND ; ;selcon ; ;****************************************************************************** ; ;select contract and declarer ; selcon: ld a,(c4) ;are we to see... and a ;all 4 hands? push af ;(save flag) call nz,pralha ;yes, so print all 4 hands... pop af jr nz,selc05 ;and jump on ld de,1 ;North call prhand ;print his hand ld de,3 ;South call prhand ;print his hand ; selc05: call prbox ;print card table call prtlde ;print hand no. and dealer call revvid ;reverse videS ; BUFFER DEFS #0400 WILD DEFM "A:*.GEN" DEFB #FF MSG99 DEFM "No files found$" MSG100 DEFM "K Free$" ; LDSV PUSH AF CALL cls LD BC,#0B18 CALL pripos POP AF PUSH AF LD DE,msg72 CP "d" JR Z,LDSV2 LD DE,msg71 LDSV2 CALL prmsg LD BC,#0000 CALL pripos CALL PGIN LD HL,BUFFER LD DE,BUFFER+1 LD BC,#03FF LD (HL),#00 LDIR LD B,#40 LD C,#00 LD DE,BUFFER LD HL,WILD CALL #011E PUSH BC CALL PGOUT POP BC DEC B JR Z,NOFILE LD HL,BUFFER+#0D PBLOOP PUSH BC o LD BC,#1500 ;print pos. call pripos ld de,msg20 ;enter contract call prmsg ; selc10: call input ;get level or %00100000 ;set l/c cp "o" ;return to list of options? jr nz,selc12 ;no call norvid ;yes jp br10 ;on to options ; selc12: cp "n" ;on to next hand? jr nz,selc15 ;no call norvid ;yes, resume normal video jp br200 ;on to next hand ; selc15: cp "7"+1 ;between 7... jr nc,selc10 cp "1" ;and 1 jr c,selc10 ld (contr),a ;and store it call print CALL prsp ; LD B,#08 FIELD1 LD A,(HL) CALL PRINT99 INC HL DJNZ FIELD1 LD A,"." CALL PRINT99 LD B,#03 FIELD2 LD A,(HL) AND #7F CALL PRINT99 INC HL DJNZ FIELD2 LD B,#04 SPLOOP LD A,#20 CALL PRINT99 DJNZ SPLOOP INC HL INC HL POP BC DJNZ PBLOOP CALL sevpri JR FREE NOFILE LD A,#0D CALL PRINT99 LD DE,MSG99 CALL prmsg CALL sevpri FREE CALL PGIN LD A,"A" CALL #0121 CALL PGOUT PUSH HL POP BC CALL ROM DEFW #1A1B LD DE,MSG100 CALL prmsg CALL sevpri CALL GE selc20: LD A,#11 RST #10 LD A,5 LD (COLFLG),A RST #10 call input ;get suit or %00100000 ;set l/c ld hl,alfsui ;--> shdcn ld de,ascsui ;--> UDG's ld b,5 ;no. of suits call verify ;valid entry? jr nz,selc20 ;no ld hl,trumps ld (hl),a ;store suit inc hl ;--> double ld (hl),space ;no double inc hl ;--> redouble ld (hl),space ;none PUSH AF PUSH AF DEC A AND 2 LD (COLFLG2),A POP AF CALL CONSUIT ;and print it POP AF ld de,msg21 ;"enter declarer" call pFNAM JR C,LDSVRET POP AF PUSH AF CP "e" JR Z,SAVE ; CALL PGIN LD BC,#0001 LD DE,#0001 LD HL,fname CALL #0106 CALL VARS CALL #0112 LD B,#00 CALL #0109 CALL PGOUT CALL redeal CALL setrnd JR DDRET ; SAVE CALL PGIN LD BC,#0002 LD DE,#0103 LD HL,fname CALL #0106 CALL VARS CALL #0115 LD B,#00 CALL #0109 CALL PGOUT ; DDRET LD BC,#1500 CALL pripos POP AF PUSH AF LD DE,msg73 CP "e" JR Z,SAVEND LD DE,msg74 SAVEND CALL prmsg LD DE,msg5 CALL rmsg ; selc40: call input ;get declarer and %11011111 ;set u/c ld hl,nesw ;--> letters as entered from keyboard ld bc,#0401 ;no. of players in B, player no. in C ld e,a ;save entry ld a,(c4) ;are we looking at... and a ;all 4 hands? ld a,e ;(get back declarer) jr nz,selc50 ;yes cp "W" ;no: has player selected West as declarer? jr z,selc40 ;yes, not allowed cp "E" ;or East? jr z,selc40 ;yes, also not allowed ; selc50: cp (hl) ;valid entry? jr z,selc60 ;yes inc hl inprmsg CALL input POP AF CP "d" JR Z,LDRET CALL cls JP br10 LDRET LD HL,tuflag LD (HL),#00 JP tut45 LDSVRET POP AF JP option ; PGIN DI LD BC,#7FFD LD A,(#5B5C) RES 4,A OR #07 LD (#5B5C),A OUT (C),A EI RET ; PGOUT DI LD BC,#7FFD LD A,(#5B5C) SET 4,A AND #F8 LD (#5B5C),A OUT (C),A EI LD B,#20 CALL wait DI RET ; VARS LD BC,#0000 LD DE,#0080 LD HL,mydeal-75 RET ;****************************************************************************** Track-Info  NAFBGCHDIEc c ;next player djnz selc50 jr selc40 ;invalid entry ; selc60: call print call norvid ;resume normal service ld hl,declar ld (hl),c ;save declarer LD B,50 ;set longish... call wait ;delay call cls jp play ;and go to play hand ; ;****************************************************************************** ; ;score ; ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; ;in this routine (except when printing scores and result of rubber) ix -->NT ld b,2 ;20 points per trick made over 6 ld a,(trumps) ;get trump suit cp spades-1 ;major? jr c,scor20 ;no inc b ;30 for major suit or NT cp notr ;NT? jr nz,scor20 ;no inc d ;yes: extra 10 for NT ; scor20: ld hl,tempx ;store... ld (hl),b ;trick value (2 or 3) xor a ; scor30: add a,c ;multiply djnz scor30 ;b by c add a,d ;add NT points if any ld b,a ;save total b.l.t. points/10 on this hand ld hl,dbled ld a,(hl) ;was contract... cp "x" ;doubled? ld d,0 ;ass ;scores of declarer's side and iy --> those of the defenders ; ;n.b. all scores held as score/10 ; ;the structure of the record of scores held is as follows: ; ; ; DECLARER DEFENDERS ; -------- --------- ; ; ix new score above the line iy ; ; ------------------------ ; ; ix+1 old score above the line iy+1 ; ; ------------------------ ; ; ix+2 game 1 iy+2 ; ; ------------------------ ; ; ix+3 game 2 iy+3 ; ; ------------------------ ; ; ix+4 ume no insult jr nz,scor40 ;no sla b ;yes: b=b*2 ld d,5 ;insult inc hl ;--> redouble ld a,(hl) ;was contract... cp "x" ;redoubled? jr nz,scor40 ;no sla b ;b=b*4 ld d,10 ;double insult ; scor40: ld (ix+5),b ;save new b.t.l. score ; ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; ;now get points above the line to declarer on this hand ; ld (ix),d ;record insult, if any ld a,e ;get overtrix and a ;any overtrix? jr z,scor80 ;no ld a,old part score iy+4 ; ; ------------------------ ; ; ix+5 new score below the line iy+5 ; ; ------------------------ ; ; ix+6 vul. before this hand iy+6 ; where: ; ; %00=nobody vulnerable * i.e. bit 0 is set if... ; %01=this pair only vul. * this pair is vul. and.. ; %10=other pair only vul. * bit 1 is set if other.. ; %11=both pairs vul. * pair is vulnerable ; ; ------------------------ ; ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; d ;yes: get insult points and a ;was contract doubled? jr nz,scor60 ;yes ld a,(tempx) ;get trick value (2 or 3) ld b,a ;save it xor a ; scor50: add a,e ;multiply trick value... djnz scor50 ;by no. of overtrix ld d,a ;save points for overtrix jr scor70 ;and on ; ;contract was doubled: get overtrick points ; scor60: ld b,e ;no. of overtrix ld d,10 ;100 points per doubled overtrick ld a,(hl) ;was contract... cp "x" ;redoubled? jr nz,scor65 ;no ld d,20 ;yes, 200 point score: call cls call scroff ;turn screen off till ready to print all LD BC,#0825 call pripos LD A,#11 RST #10 LD A,5 LD (COLFLG),A RST #10 ld de,contr+1 LD A,(DE) DEC DE DEC A AND 2 LD (COLFLG2),A LD A,(DE) CALL CONSUIT ; PRINT CARD INC DE LD A,(DE) PUSH AF CALL CONSUIT ; PRINT SUIT POP AF INC DE LD A,(DE) CALL PRINT99 ;PRINT X IF DOUBLED INC DE LD A,(DE) CALL PRINT99 ;PRINT X IF REDOUBLED ld hl,nstrix ld ix,nsscor ;score... ld iy,ewscor ;ars if redoubled ; scor65: ld a,(ix+6) ;get vulnerability srl a ;are we vul? jr nc,scor70 ;no sla d ;yes, so d=d*2 ; ;now add in any overtrick points to insult points ; scor70: ld a,(ix) ;get insult add a,d ;add overtrick points ld (ix),a ;and put back ld l,e ;save no. of overtrix LD BC,#0A22 call pripos ld de,msg25 ;"with" call prmsg ld a,L ;get no. of overtricks... add a,"0" ;in ascii call print ;print no. of overtrix ld de,msg26 ;"overtrix" call prmsg dec l ;rays ld a,(declar) srl a ;is declarer N/S jr c,scor10 ;yes inc hl ;--> E/W trix ld iy,nsscor ld ix,ewscor ; ;first get value of this contract below the line ; scor10: ld a,(contr) ;get level... sub "0" ;as integer ld c,a ;save level add a,6 ;book ld b,a ;no. of trix required by declarer for contract ld a,(hl) ;no. actually made sub b ;did he make it? ld e,a ;(no. of overtrix) jp c,penalt ;no push de ld de,msg24 ;"made" call prmsg pop de ld d,0 ;assume not Track-Info  NAFBGCHDIE2+ overtrix? ld a,"s" call nz,print ;yes jr scor90 ; ;here contract made exactly ; scor80: LD BC,#0A27 call pripos ld de,msg27 ;"exactly" call prmsg ; ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; ;now deal with slam points, if any ; scor90: ld a,(contr) ;get level of contract ld b,a ;save level cp "6" ;slam? jp c,sco200 ;no ld d,50 ;500 for small non-vul. slam ld a,(ix+6) ;get vul. srl a ;are we vul.? jr nc,sco100 ;no ld d,75 ;7led contracts ; pena50: ld d,20 ;basically 200 points per doubled undertrick ld e,0 ;vul./non-vul. flag ld a,(ix+6) ;was declarer... srl a ;vul.? jr nc,pena60 ;no ld d,30 ;yes: set 300 points per doubled vul. undertrick inc e ;set flag to vul. ; pena60: ld b,L ;no. of undertrix ld c,b ;save xor a ; pena70: add a,d ;multiply 200 by djnz pena70 ;no. of undertrix sub 10 ;deduct 100 for 1st undertrick ld d,a ;save total so far ; ;now we see whether or not to adjust for t50 for vul. small slam ; sco100: ld a,b ;get level cp "7" ;grand slam? jr nz,sco110 ;no sla d ;double points for grand slam ; sco110: ld a,(ix) ;get a.t.l. points add a,d ;add in slam points ld (ix),d ;and put back LD BC,#010D call pripos ld de,msg28 ;"congrats. slam" call prmsg ; ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; ;here see whether to give rubber points ; sco200: ld a,(ix+5) ;points scored below line on this hand add a,(ix+4he 1987 scoring change ;(300 for each doubled non-vulnerable undertrick beyond 3) ; dec e ;vul? jr z,pena90 ;yes ld a,c ;get no. of undertrix sub 4 ;less than 4? jr c,pena90 ;yes inc a ;get excess of undertrix beyond 3 ld b,a ld c,10 ;100 points extra per trick xor a ; pena80: add a,c ;multiply excess... djnz pena80 ;undertrix by 100 add a,d ;add to carried score ld d,a ;and put back ; pena90: ld a,(rdbld) ;was contract... cp "x" ;redoubled? jr nz,pen100 ;no sl) ;add in previous part score cp 10 ;game made? jr c,sco270 ;no ld a,(ix+6) ;get game position srl a ;are we vul.? jr nc,sco270 ;no ; ;we have made rubber, but are they vul.? ; ld d,70 ;assume short rubber srl a ;are oppo's vul.? jr nc,sco250 ;no ld d,50 ;yes ; sco250: ld a,(ix) ;get a.t.l. score for declarer add a,d ;add in rubber points ld (ix),a ;and put back ; sco270: jr honors ;skip past penalty points routine ; ;++++++++++++++++++++++++++++++++++++++++++++++++++a d ;double score cos contract redoubled ; pen100: ld (iy),d ;record score for defenders ; ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; ;here deal with honours points ; honors: ld a,notr ld hl,trumps ;--> trump suit sub (hl) ;so S=1, C=4 jr z,nthons ;contract is NT: jump on ld b,4 ;no. of hands ld c,0 ;count of honour points ld d,c ld e,a add a,a ;*2 add a,a ;*4 add a,a ;*8 add a,e ;*9 ld e,a ld hl,hannow-5 ; honor2: add hl,de++++++++++++++++++++++++++++ ; ;here deal with penalty points to the opponents and print out message ; penalt: push bc ;no. of trix declarer should have got ld de,msg29 ;"defeated by" call prmsg LD BC,#0A2A ;E call pripos pop bc ld a,b ;no. of trix declarer should have got sub (hl) ;no. he actually got ld l,a ;no. light push hl ;save ld e,0 ld h,e call prdec ;print no. light ld de,msg34 ;"trick" call prmsg pop hl ;no. down push hl dec l ;1 only? ld a,"s" ca ;--> player's trump suit ld a,(hl) ;get his 4th best trump cp 149 ;10+? jr c,honor6 ;no ld c,10 ;set 100 honours inc hl ;--> 5th best trump ld a,(hl) cp 149 ;10? jr nz,honor3 ;no ld c,15 ;150 honours ; honor3: push ix pop hl ld a,(declar) ;does declarer... add a,b ;hold honours? srl a jr c,honor4 ;yes push iy ;no... pop hl ;defender does ; honor4: ld a,(hl) ;get a.t.l. points already recorded add a,c ;add in honours score ld (hl),a jr honprt ; honor6:ll nz,print ;no, print plural ld hl,dbled ld a,"x" ;contract... cp (hl) ;doubled? pop hl jr z,pena50 ;yes ; ;so get the value of undoubled undertrix ; ld b,L ;no. of undertrix ld d,5 ;50 penalty per trick ld a,(ix+6) ;get vul. srl a ;are we vul.? jr nc,pena20 ;no ld d,10 ;penalty for vul. undertrix ; pena20: xor a ; pena30: add a,d ;multiply penalty per trick... djnz pena30 ;by no. of trix ld (iy),a ;store penalty to defenders jr honors ; ;here we deal with doubTrack-Info  NAFBGCHDIE ld de,diff djnz honor2 ;next player? jr sco300 ;no ; ;here deal with NT honours ; nthons: ld a,(declar) ;get declarer ld hl,hons ;North's honours push hl call indx5a ;get declarer's hons and %01000000 ;got em all? pop hl jr nz,nthon2 ;yes ld a,(declar) call inca2 ;--> LHO call inca2 ;--> dummy call indx5a ;get dummy's hons and %01000000 ;got em all? jr z,sco300 ;no ; nthon2: ld a,(ix) ;get above line points add a,15 ;150 for all 4 aces in same hand ld (ix),a pop bc ;and round... djnz sco320 ;again? pop iy pop ix ; ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; ;here consolidate scores on this hand with those brought forward ;and update vulnerability ; sco400: ld a,(ix) ;get new score above the line for declarer add a,(ix+1) ;add in previous score ld (ix+1),a ;and put back ld (ix),0 ;reset new score ld a,(iy) ;get new score above the line for defenders add a,(iy+1) ;add in previous penalty points et;put back ; honprt: LD BC,#0C24 call pripos ld de,msg30 ;"honours scored" call prmsg ; ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; ;here print out score in conventional format ;first print the heading and vertical line ; sco300: LD BC,#0303 call pripos ld de,msg35 ;"N/S E/W" call prmsg LD BC,#0307 call pripos LD B,18 ;length of vertical line ; sco310: call savcrs ;save cursor pos. ld a,#7C ;vertical bar call prt CALL CHHF call rec ld (iy+1),a ;and put back ld (iy),0 ;reset new score ld a,(ix+5) ;points scored below line on this hand add a,(ix+4) ;add in previous part score ld (ix+4),a ;and put back ld (ix+5),0 ;and reset current score ld l,a ;and save cp 10 ;game made? jp c,scron ;no: return after turning screen on again ; ;here deal with where a game has just been made ; ld de,msg44 ;"-----------" call prmsg ld a,(ix+6) ;get game position before this hand and a ;anybody vul.? jr nz,sco420 ;yes scrs ;get back cursor pos. call crsdwn ;down 1 line djnz sco310 ;and round again ; ;now start printing the numbers ; push ix ;in case... push iy ;E/W were... ld ix,nsscor ;playing... ld iy,ewscor ;the hand LD BC,#0B02 ld a,(ix+6) ;get vul. and a ;anyone? jr z,sco315 ;no LD B,#06 ;yes: assume both cp 3 ;game all? jr z,sco315 ;yes LD B,#0A ;no: 1 game only ; sco315: call pripos ld b,6 ;max. no. of scores on each side to print on ; sco320: push bc call savcrs ld (ix+4),a ;no part score now ld (ix+2),L ;record 1st game inc (ix+6) ;and mark vul. table ld (iy+6),2 ;and mark defenders' table too ld l,(iy+4) ;get defenders' part score ld (iy+4),a ;reset it ld (iy+2),L ;put it above the line jp scron ;turn screen on and return ; ;here deal with where someone was already vul. ; sco420: srl a ;was declarer vul.? jr nc,sco600 ;no ; ;here get net total points as a result of rubber which has just been made ; ld ix,nsscor ;E/W may have been play ;save start of line ld a,(ix) ;get this score for us ld (tempx),a ;save whether or not and a ;any score? call nz,prinno ;print if so ld a,(iy) ;get score on this line to oppo's and a ;any score? jr z,sco350 ;no ld (tempx),a ;record if positive score LD B,7 ;move cursor right... ; sco340: call cright ;a few places djnz sco340 call prinno ;and print no. ; sco350: ld a,(tempx) ;if any score printed... and a call nz,crsdn2 ;then lower cursor 2 lines pop bc push bc ling hand ld c,2 ;no. of pairs playing xor a ; sco450: ld h,a ld l,a ld d,a ld b,6 ;no. of possible scores on either side ; sco460: ld e,(ix) ;get this score add hl,de ;add to total ld (ix),a ;reset this score inc ix ;--> next no. djnz sco460 ;and round again ld (ix),a ;reset vul. inc ix ;--> E/W score push hl ;holds total of this side's points dec c ;next col. of figures? jr nz,sco450 ;yes pop bc ;holds E/W total pop hl ;holds N/S total ld de,msg4a ;"N/S" d a,b ;get this no. cp 6 ;new a.t.l. score? jr z,sco390 ;no line underneath cp 2+1 ;old or new b.t.l. score? jr c,sco390 ;yes: no line cp 5 ;old a.t.l. score jr z,sco360 ;yes: print line in any event ld a,(tempx) ;any score at... and a ;this level? jr z,sco390 ;no, so no line under ; sco360: call savcrs ;and remember pos. ld de,msg44 ;"----------" call prmsg call rescrs ;recall cursor pos. call crsdn2 ;down 2 lines ; sco390: inc ix ;next score line... inc iy ;down Track-Info  N A F B G C H D I E xor a ;clear carry sbc hl,bc ;is N/S > E/W? jr nc,sco470 ;yes add hl,bc ;get N/S total again push hl pop de ;N/S total push bc pop hl ;E/W total xor a ;clear carry again sbc hl,de ;get difference in favour of E/W ld de,msg4a+5 ;"E/W" ; sco470: push hl ;margin of score push de ;message LD BC,#0E23 call pripos ld de,msg31 ;"rubber complete" call prmsg LD BC,#1020 call pripos pop de ;--> winner's names ld b,3 call prstr ld de,msg32 ;"win by" call prmsg ... and a ;on this hand? jr z,where6 ;no call clbot ;clear rest of screen call revvid ;reverse video LD BC,#150E call pripos ld de,msg42 ;"press P to replay, B to rebid" call prmsg call norvid ;normal video ; where4: call input ;get selection or %00100000 ;l/c cp "b" ;rebid? jp z,br50 ;yes cp "p" ;replay? jr nz,where4 ;no ; where6: call scroll jp selcon ;play hand again ; ;****************************************************************************** ; ;copy pop hl ;get net score ld e,0 call prdec ;print diff. ld a,"0" ;*10 call print ld de,msg33 ;"points" call prmsg jp scron ;turn screen on and proceed ; ;here record game all and convert all below the line scores into 2nd game ;scores (both for declarer and defenders) ; sco600: xor a ld hl,nsscor+4 ;--> N/S below the line score ld e,(hl) ;get it ld (hl),a ;reset it dec hl ;--> N/S 2nd game score ld (hl),e ;record here ld hl,ewscor+4 ;--> E/W below the line score ld e,(; ;print out hand details on printer ; ;****************************************************************************** ; copy: ld hl,prt+5 ;--> print to screen/printer function dec (hl) ;set to print on paper call prfine ;print in narrow script ld de,msg10+12 ;8 spaces call prmsg call stat05 ;print status line call sevpri call prfine ;print in narrow script call prtlde ;print dealer, hand no. and score call nexlin ld de,msg3b ;contract call prmsg ld hl,contr ld a,(hl) ;ghl) ;get it ld (hl),a ;reset it dec hl ;--> E/W 2nd game score ld (hl),e ;record here ld a,3 ld (nsscor+6),a ;mark game all... ld (ewscor+6),a ;for both sides jp scron ;turn on screen and return ; ;****************************************************************************** ; ;print score no. (stored as no./10) ; prinno: cp 100 ;1000+? call c,prsp ;no: print space ld a,(tempx) ;get no. cp 10 ;100+? call c,prsp ;no: another space ld e,0 ld h,e ld a,(tempx) ld l,et contract level call prt inc hl ;--> trump suit push hl xor a ld e,(hl) ;get suit ld d,0 ld hl,alfsui+spades sbc hl,de ;--> this suit in alphanumeric chars. ld a,(hl) ;get suit cp "$" ;NT? jr nz,copy10 ;no ld a,"N" ;yes call prt ld a,"T" ; copy10: and %11011111 ;u/c call prt pop de inc de ;--> double call prtl95 ;print dble/redbl (if any) and declarer call sevpri ld de,msg10 ;20 spaces call prmsg call prsp ld de,name ;--> North ld b,5 call prstra call prdec ;print no. in ehl ld a,"0" ;multiply by 10 call print call rescrs ;restore cursor pos. jp savcrs ;record it and back ; ;****************************************************************************** ; ;wherto ; ;here print continuation message after scoring or not ;and proceed as appropriate ; wherto: LD BC,#140D call pripos call revvid ;reverse video ld de,msg41 ;"press N for next hand, O for options" call prmsg LD BC,#1513 call pripos ld de,msg41a ;"R for ld ix,alfsui ;--> shdcn push ix push ix ld de,hannow ;--> North's Spade suit ld b,4 ;no. of suits ; copy50: push bc push de call nexlin ld de,msg10+2 ;18 spaces call prmsg pop de call copsub ;print suit inc ix ;--> next suit letter ld de,9 add hl,de ;--> next suit ex de,hl pop bc djnz copy50 call nexlin ld de,msg10+17 ;3 spaces call prmsg ld de,West+2 ;--> "West" ld b,4 call prstr ld b,33 ; copy90: call prsp ;move cursor right... djnz copy90 ;a nu review, P for print-out" call prmsg call norvid ;resume normal service ; where2: ld hl,replay ;--> replay flag ld (hl),0 ;assume no replay call input ;get choice or %00100000 ;lower case ; cp "p" ;print out hand on paper? ; jr z,copy ;yes cp "n" ;next hand? jp z,br200 ;yes cp "o" ;options? jp z,br10 ;yes cp "r" ;review? jr nz,where2 ;no inc (hl) ;this is a replayed hand ld a,(tuflag) ;are we in... and a ;tutor mode? jp nz,br50 ;yes ld a,(bidhan) ;any biddingTrack-Info  N A F B G C H D I Ember of places ld de,name+diff ;--> "East" ld b,4 call prstr call nexlin ;down 1 line pop ix ;shdcn ld de,hannow+(diff*3) ;--> West's Spade suit ld b,4 ;no. of suits ; cop100: push bc ld b,2 ;East and West ; cop110: push bc call copsub ;print suit ; cop140: call prsp dec c jr nz,cop140 ld de,diff*2 ;interval back to East's suit xor a sbc hl,de ;--> East's suit ex de,hl pop bc djnz cop110 ;now do East's suit call nexlin inc ix ;--> next suit ld hl,diff*4+optrx ;jump if finished djnz copb40 ;next bid in this round call nexlin jr copb30 ;on to next round ; coptrx: ld de,msg77 ;"card play" call prmsg ld a,(prevtr) ;get no. of trix... srl a ;actually... srl a ;played srl a ld b,a ld hl,tricks ;--> storage of previous trix ; coptr3: push bc ;save trix ld b,4 ;cards per trick ; coptr4: ld e,(hl) ;get 1st suit inc hl ;--> 1st card ld c,(hl) ;get 1st card inc hl ;--> 2nd suit push hl xor a ld d,a ld hl,alfsui+spad9 ;interval to West's suit add hl,de ;--> West's next suit ex de,hl pop bc djnz cop100 ;round for next suit? ld de,msg10 ;20 spaces call prmsg call prsp ld de,name+2*diff ;--> South ld b,5 call prstr call nexlin pop ix ld de,hannow+2*diff ;--> South's Spades ld b,4 ; cop190: push bc push de ld de,msg10+2 ;18 spaces call prmsg pop de call copsub ;print suit ld de,9 add hl,de ;--> next suit ex de,hl call nexlin inc ix ;--> next suit letter pop bc djnzes sbc hl,de ld a,(hl) ;get suit and %11011111 ;u/c call prt ;print suit ld e,c ;get card ld hl,alfakq+ace sbc hl,de ld a,(hl) cp "9"+1 ;honour card? jr c,coptr6 ;no and %11011111 ;u/c cp "T" ;10? jr nz,coptr6 ;no ld a,"1" ;yes call prt dec a call prt jr coptr8 ; coptr6: call prt call prsp ;print space ; coptr8: call prsp pop hl djnz coptr4 ;again? call nexlin pop bc ;get trick djnz coptr3 ;round again ; cop500: call nexlin call prsp ld de, cop190 ld a,(bidhan) ;has there been... and a ;any bidding? jp z,coptrx ;no: ld de,msg10+16 ;4 spaces push de call prmsg ld de,msg9 ;"bidding" call prmsg call nexlin pop de ;4 spaces call prmsg ld de,msg9a ;"************" call prmsg call nexlin ld a,(bidno) ;get no. of bids ld c,a ;save no. of bids ld hl,nesw-1 ;--> base for NESWNESW ld a,(dealer) ld e,a ;index in... ld d,0 ;to get... add hl,de ;--> dealer's letter ld b,4 ;bids per round ; copb20: call msg4 ;"trix N/S E/W" call prmsg call nexlin ld hl,nstrix ;--> no. of trix won by N/S push hl call prsp ld l,(hl) ;get no. of trix won by this pair push hl ld h,0 ld e,h call prdec ;print this pair's trick total ld de,msg10+17 ;3 spaces call prmsg pop hl ;no. of N/S trix in L ld a,L cp 10 ;10 +? call c,prsp ;extra space if not pop hl inc hl ;--> E/W trick total ld l,(hl) ld h,0 ld e,h call prdec call nexlin ;print last line ld hl,prt+5 inc (hl) ;revprsp ld a,(hl) ;get player letter call prt ;and print it inc hl ;--> next player letter call prspac ;print 2 spaces djnz copb20 ;next player? call nexlin ld de,msg9a-8 ;"*******" call prmsg ;print message call nexlin ld hl,bids ;--> storage of bids ; copb30: ld b,4 ;no. of bids in full round ; copb40: push bc ;bids remaining in this round push hl ld a,(hl) ;get bid call sepbid ;get bid level in b, suit in c ld a,b ;get level cp "*" ;is it P,D or R? jr nc,copbert to screen print call prwide jp where2 ;and return ; ;****************************************************************************** ; copsub: push de ;--> this suit ld a,(ix) ;get suit and %11011111 ;u/c call prt ld a,"." call prt ld a,(de) ;get no. of cards ld b,a ld c,35 inc de ;--> first card and a ;are there any cards in this suit? jr z,cops30 ;no ; cops10: call prsp push de ld a,(de) ;get card ld e,a ld d,0 xor a ld hl,alfakq+ace sbc hl,de ld a60 ;jump if so add a,"0" ;convert to ascii call prt ;and print it ld a,5 sub c ;NT? jr nz,copb50 ;no ld a,"N" ;yes call prt ld a,"T" call prt jr copb90 ; copb50: ld d,0 ld e,a ld hl,alfsui-1 add hl,de ld a,(hl) ;get suit and %11011111 ;u/c jr copb80 ; copb60: push af call prsp pop af ; copb80: call prt ;print -, D or R call prsp ;and 2... ; copb90: call prsp ;spaces pop hl inc hl ;--> next bid pop bc ;restore count dec c ;reduce count jr z,cTrack-Info  N A F B G C H D I E,(hl) ;get card cp "9"+1 ;honour card? jr c,cops20 ;no and %11011111 ;yes: set u/c cp "T" ;10? jr nz,cops20 ;no ld a,"1" ;yes... call prt ;print... dec a ;10 dec c ; cops20: call prt ;print it pop de inc de ;--> next card dec c dec c djnz cops10 ;round again? ; cops30: pop hl ;--> this suit just played ret ; ;****************************************************************************** ; ;load tutor hand routine ; ;******************************************ul. so... ld (ix+13),3 ;record v. both sides ld (ix+2),10 ;and give game points (/10) to N/S and... ; tut80: ld (ix+10),10 ;give E/W game points (/10) ; tut90: ld a,(scor2+1) ;get N/S partscore ld (ix+4),a ;and give to N/S ld a,(scor2+2) ;get E/W partscore ld (ix+11),a ;and give it to E/W jp br50 ;and start the bidding ; ;****************************************************************************** ; *include m:deal.gen ; ;************************************************************************************************* ; tutor: ld a,(handno) ;get hand no. entered ld l,a ld h,0 push hl pop de ;*1 add hl,hl ;*2 add hl,hl ;*4 add hl,de ;*5 add hl,hl ;*10 add hl,hl ;*20 add hl,hl ;*40 add hl,hl ;*80 ld de,hand1-80 ;base for tutor hands add hl,de ;--> tutor hand with desired no. ; ;first record the score at the start of the hand ; ld de,scor2 ;score pad ld bc,3 ldir ;set up score ; ;now record the bids and cards (in approved order of play) ***************** ; *include m:bid.gen ; ;****************************************************************************** ; *include m:combid.gen ; ;****************************************************************************** ; *include m:combid2.gen ; ;****************************************************************************** ; *include m:play.gen ; ;****************************************************************************** ; *include m:compla.gen ; ;***************************; ld de,tutbid ;load bids and cards here ld bc,25+52 ;no. of bids + cards ldir ; ;now sort cards (which are in order of play) into hands ; ld de,mydeal ;--> hand array ld bc,#0400 ;no. of hands in B, North's code in C ; tut20: push bc ld hl,tutcrd ;--> start of cards array ld b,52 ;no. of cards in pack ; tut30: ld a,(hl) ;get card and %11000000 ;get player (0=N, 3=W) cp c ;does this player hold this card? jr nz,tut40 ;no ld a,(hl) ;get card again and %00111111 ;ignore play*************************************************** ; *include m:comfol.gen ; ;****************************************************************************** ; *include m:tuthands.gen ; ;****************************************************************************** ; *include m:subs.genlude m:tuthands.gen ; ;************************************************************* AQ $  <|"@! ! next card djnz tut30 ;and round again pop bc ;get back hand ld a,c ;get player code add a,%01000000 ;set next player ld c,a ;and put back djnz tut20 ;and on to next player ld (bias),a ;do not rotate hands call deal30 ;sort and deal cards ; tut45: ld b,14 ;stand by... xor a ;to clear... ld hl,nsscor ;scores... ; tut50: ld (hl),a ;brought... inc |,)?go|g}o|g}o|Fþ!"8@*eD)/B^#V*aD)/B^#V|o)?goKA!ͯ!EͬN5D9D*uB*$@}o|go|g}o|g}oD!EͬD!&Eͬ+F!#Eͻ|g}o|g}o|g}o|g}o|!"8@*8@|kD!EͬD!&Eͬ*uB*$@}o|go|g}o|g}o!}o|g"6@EKA!ͯ#z|a}|k*gD"6@þ*gD|*0@|go*$@*0@}o|go|g}o|p*"@)/B^#V|goN9D5DN9D=D|g}o|g}o|p*wB*0@}o|KQA!ͯ!Dpڋ*gD|goN9D5DN9D=Dhl ;forward djnz tut50 ;(all of them) ld ix,nsscor ;--> start of scores ld a,(scor2) ;get vul. and a ;anyone? jr z,tut90 ;no dec a ;N/S vul only? jr nz,tut60 ;no ld (ix+6),1 ;yes: N/S are... ld (ix+13),2 ;vul. so record v. both sides... ld (ix+2),10 ;and give game points (/10) to N/S jr tut90 ; tut60: dec a ;E/W vul. only? jr nz,tut70 ;no: both ld (ix+6),2 ;yes: E/W are... ld (ix+13),1 ;vul. so record it jr tut80 ;and give E/W game points ; tut70: ld (ix+6),3 ;both vTrack-Info  N A F B G C H D I Eg8PBl-,k,s 12,m-,p-,u-,c 50 P -GEN80 (C) HiSoft 1987. PLEASE BUY DON'T STEAL!`:!2͆):2-:2 -2-!"%-!5",!m:N)",*.|g",R< T])*,RN)",.'2-2-!P'%Y%!-.  n( *-͜ %~g. :,ʸ!q2'&͓)Y ͏)*,z7> .'͏)NG(# 6 #6 6*,-͗$͗$͗$> ͔$2-.͔$<([.͔$< )F(!-".!1͆)!z7X 6%-<u $!. =  / j ͔$<(2-*,s#r#[.s#r###[,s#r!",".*,",I(++:-2->K">K":+-(2+-ͤ |}+ ͤ "-+ ~ N .͔$Ô$(#~ (:-/G8+ ~# y2 -> ++V*&>2,ͤ "- ͤ "- +ͤ +"-#͘ 6 !. !)'84q(.F (F "$>K"~: #~+: *͔$ ~#* P'K"!-~ F( 6R#6E#6L6C#6O#6M:+-2,-w!!͔$n([.͔$͔$ ͓)> ͓)͔$*,",͔$ͣ!-~# ( yͣ!-~ # 30n( >ͣB*,> @*,> F!",",2-2-2k-2-2 -$!\-w#w+_-͔$*,",vI(~wv( !K/7nz)W *-*,,> w+ͥ!)uY",á b0wF F[,$*,N7(MV ~ #~(#~2,#*,S,s#r#[,s#zͫ",",>K"t" ͢~M8F( ʯ >K"W "a{( A(͚ 1!a:( . (ͼ >wF( ͚  ͼ (ˆ>õF  + #",|!( ͘O >K"y2,G  (a~>K":,2,*,",>2,",", *,[,R[,",:,2,# 8> $*,wuA# Q( uA# +Y+",>K"z'8 0 #~(x8>ͣ#~a8{0  [#-R7N#~(#(#~ +##!z76 ^3~ ;n> f>(DN >ͣ~ ͣ#~(#~ #~ f(~w#~(#6#6F 9!9/z7#~˿~(6 #n!d/(!]/6 Bf~#z7ff^(,: >2!-!k/2!" -:-!!/t!/>tFf!/> t!(/>tf2,͆)[#-R*,z7>^#V{(!###:-G:, >2( 0#~˿~(> #^#V '> = >^#Vz(!^#Vzʟ4͘ (;(|!.",~2,S,!_-".*,62- (;A > K" ((}al.",?0f> K"~(.*,|> K"N>K"*,#",+6RqK"1F>(~( *,6#"#-z uL(C.",f> K">0.",> K"{[,|(4!+>XF(~( G:,>K":,",: -<2 - *,|>K"f7 '*,|(*,~w~w*,s#r~"(' +.",x\ !(&p { 4!> K"S,.",~w S'-ͅ 0 0 .",##!-ˎ*,[#-R:-0.O(##^#VR($O ###N#~(#(#~ +##2-O +[,RŸ:,((^ "2#2#;-!f5͗$W#͔$W#N F" *,N)ͣ(-͔$~r!-6S#6Y#6M2-2-2--͔$-͔$*,",30oN(B#~#(^#V!6 '~d #> d n  #~n( A8{0d ~ #~( > d > > d ###*,6#N)ͣ(-͔$: -(O!2͆)!y'͏)*#-[,շR|!B2V*,ѷR|!M2V!.2͆):,=!s/Ć)n(*,6kvČ$%6 z7*,w#:-=(G>w#>w#8vF FY(8Q( ++[,R{QIA(~w S'-7y{zA7?z >[(e(|s(> K"E>ݵc >c4!0vą > vK"n>(~K"F()~(#*,B[,R!S2%*,ͤ> S,> vK"F1\:V;& ͘; t @> "tG> tG> ( ,}<(x+t> u+t @ Ͷ,(> 6K"tG> (ͽ@(;( yͽ@( (w#"#-*-|( )*,R",*,[,R0!1%< N)|(*,R",~O*,",˿(@w#6:#p 6.# (w#:,-2+-#~ ȹ 7:,G<0!2,:, (2,:,=2,>!K":,=(:,G>(G:, >2,2,F( z7!2j#V *,#",!k7",!f76 #[, '!",",",",!y7N(:,O͐ 01FAt",;(ͥ;(u (*´ ̀ :F#VW'K"͜ j ++"-!_-[. t#> ++/![.:-2-! `i#͘# +D&qw w w!w" *,:,ͫ:,ͫ*,",#",:, :,(G6#",:,͘ (; f -' 'f( ͼ'(6#ͼ'( (ͫͫͼ> (w#6R>K"tVN V(^fN V t7*,ʹ)!f7~͈#*,|(+~ ( (#",!z7~ (ͯ)N;(*+:-Gt.(@(q(uW> z ͈# ʏ); {(ͯ)ͯ)͟uW> z ͈#+tW> z͈z ʏ); tW> z ʏ);(G(ͯ)ͯ)F DF >v 8*,|(DMB (~͈#+74BK!80x( T]p(?(G(M()z(ʹz(<z():ʹp66=(4ͮR!yXOxX__~Gr:ͮ!prptpprtrt͢͢{_zW(͡{_zW:͡{_zW(4( ($(|r:|0+|y|̀|vxp( r( t(\2(-\ xp"Spx\"C\`i( Rp!NF#~(((>7(>"t ʏ); :-( 8 ͯ)!z7~ ʏ)͈#2 > f“)n Nē)^(͠)n*,8Rkw#",!|8[."͗$(*|.#"|. > ^ n ͓) > Ó) (! -5(> ͼ((:2 -:-=2-:-G> (* -#" -2ʹ):2-: -G:-/8(O( !8~(# (y(Gͯ)/!2~#(͏)͏):,GJn)+6+6(#'?a/8r#~ > #~08A8 { :!N #~ a7ɐ :,; +&@*!/?)$%#"'I0H(S0828B(W0 T])8)88)8 _zͱͱR0BKW_ )80x Z> K"|(|ժDM!ͱf>)=0j 8B= +++|+~NF &%ɿ͇[%- zd S%-*,,:,0$os#r!",",",>;&o),^#V2,",͇O>~Nͣyͣ} |V!( *,:,O> L > > >[%-> zd S%-*,[,R8 ͣ(*,w#",*,|(5*'-~ ( ~ O> *,",~#~(#^#V+=~ ['- {4!z4!w F(P~ @N >(>ͣ} |I>K"!$08?8!:I)8)8)8)8ϵo0j00 ??  A8˯G~ y#~p82O0c8v~ ~8 ( =0 <(<wR 01!,o|gx~O~#F#fhG !09~w(~#+##~_r#wٷ~#VzzN!-,7>K"!-,>w",+t. tq t. tqb0t.(q(t:-8x2)-*,####:)-G#~(~a8{0 O #++++^#Vz(Ô|ʻ7~(~a8{0 O F  ^ *,{'z'~ 6R(6D#",*,##",}4!|~ 8 Fă!N F(ͣͣd ^ *,'",*,#",F>:-!S!gO:F0:S(!GGC"> "> "2-:- 9*-|(# "-/-!,ͻ)!-C"> ":`(!TGC":h":g(!aGC"!-'C"!-4*-w#|8R8 .!7͗$"-~#"~w^!% !AF( ((F(~~O:,^ #;-!_- ͔$͔$"K"",v(=",F(#~(#",n @=;[,s#r*,~w:,w~8>wf(", #~(#^#V<N>K"F(*#-6#6",v(",#r+s~(:)-G~a8{0 #K)-+#",=#"#-*,R0*,R|!\2V!S2%ѯ<l{([,7p͟+6 9xp8Gp0Xwsr>K"N(^( xc {sc V>K"͟Q#uAtA ,|o>gxp8G xp~>K"ta i qr.ʬƀ"(' ,Wt_( =G:- 6z7X 6!z7~2#~(#6 *--5R "!f5;-^ ͗$(͔$(w#"--*,~$V(-~ )*,+V+^S,+V+^^#V+",!5RS, z7~V K,B }$@ ;V(5#F#*,+++N+na## [, '(~# ~(##!7R% (m +6 #6 ]:-(S= F(7",C(*,é#.!2-˿ :-<=Gn(]:-%^( [. f(-o.'}!K1xA2D1e 6!71^)$& .':t #8+{( ##~ ( >\>K"!#(%(>p+[,:,Tpp/8~T~'>^>h+4 zh(b {0fg(| g0>K"t>btq(b08 u. r>K"SHҁ̂NOԃMOĿANĦO҄XOҡEѽXЇGԾLԼO׉UGԅLԆHIGȈ4O{/_z/Wy((K(P 4ʹ -!:r>K"~9>K"G(G4Z4Cxb fpͼ=2ͼO_x2`ipTrack-Info  NAFBGCHDIE-_.'x2-n(4y" /![.R ^  f F6.'p",'.':-!^#6 -D&% (A;(==~# y2-+`-D&y :-2_-- !`-; P' 1 -y2-2_-`-!-~ (6 !2 !/^)!^)͌$(n!1'&2.2.2.2..!/- ͔$<<9!Z1^).'(( .'S&y :-  x.7&0y(>   ( +( &з~#a8{0 ( 80!.(#!/( #_%|()/\.:= ; GENPRN MACROs PUBLICs EXTERNALs in *WARNING* Pass 1Pass 2 errors: Public Absent Symbols **Un-balanced Conditionals** Command Line Format is: GEN80 [object=]source [;opts] [ ] means optional. 'opts' are: L +/- (list) M +/- (expand) P +/- (print) N (no object) T (print symbols) D (type in) S n (label length) B n (table size K) F (force 2nd pass) K (kill object) C n (comment posn) W (write PRN file) V (vir disking) Q +/- (ERR file) G n (SYM 7z'{'Ɛ'@'O}yʈw#'%( ͘ ~(_O(('y###q#yI(~ ]#^#V!|''+#^#V!|'' (B͘ (+(- ~ "O(tN(F tF ѯ>u#+W Te Fj So By K V D_ N Қ G Ѥ z C ̄ U ZC I H E9 O *,",T]!.:-< = [.͛(####q#p!K,B(8S,*.͗$͛(p+q !!!N#F[,R-"͗$ *-#"-!!1%-$ V(.~ (:-( :S(G!GC"*file) R +/- (REL file) U +/- (Upper case) Default: Please mount A: for Press any key (CTRL/C to abort) when ready: Symbol Table too Big!No Source File: Object File Exists...Delete(Y/N)?Disc Full!Directory Full!Please mount system disc..Bad source file!*WARNING* ORGs used: Symbol Table used: K out of K. Used all K of Symbol Table!Direct mode: At Front (Y/N)?*I GENTEMP.$$$ GEN80 2.06 Copyright (C) HiSoft 1987, 88 HiSoft GEN80 Assembler 10 Feb 88 Page: 1Expressi-6!7.͗$͔$n(~ >Tk[.͔$N~V-Ô$}ƀo|g~͆)w͆)͏)~͈#> _.'_.'> È0!,^V>/  ##ɀLD`x> :W_@b!*j1{ Ks"C21eɠҰĨҸlGnOJR PCPUSHŃBLIOPCALLP/ɡұĩҹC?ONSEMACR LIEQN ILSXhdkكTRERNAINCLUD`x@ɢҲĪҺMFon syntaxBad mnemonicRedefined symbolMissing )Bad commandIllegal symbolSymbol is Reserved WordMismatch of registersOut of rangeJP (IX+n), JP (IY+n) illegalBad directiveForward referenceDivision by zeroBad filenameMacro parameter stack overflowNested conditionalNested macro definitionBad ENDMToo many includesExpression too complexLabel missingBad Macro parameterIllegal digit after # or %Bad expressionIllegal indexBad dot operatorNumeric expectedRe-defined MacroIllegal for COM fileDEF C EJNZA'SBCbB`UB LA RA( L8 ETzC7REME Sz LC o RC gSTORUTugAɣīTIҳDһADD`b C`bJNDSE XOR BITz@NEDOHALv.PHASDEPHASCOMMENZ8&b`h"d 0,fN*.Sj$(lb2b8642n`c(&$"f 8642f.,*jbd0hbd08z,z,8,4,D,D,'d $YM |8|8k7Expression must be absoluteString not terminatedIllegal DEFMError in ConditionalUndeclared label7HDE COMERR GEN GENTEMP $$$ GEN GEN GEN GEN PRN$$$ SUB CDE_-<>,?*[]Track-Info  NAFBGCHDIE WEST …r|…r|:9{!m:.͗$(,':,29( !9͆).'m:RDM2!9# Error(s) found, hit a key for editor:2`ipɱN##*\2rmZXЯW̓X͉XhX_2rm![N!l ~y  Y˻z w##l ]"\*qm&͗X0%!8L}X.AC!4!6:ɕ:̯e:(L͠!~4! :w#:w#:w:(>d! wƈ!w#<2>/2͔EN>!!M:(:>66 bʵ4^aʵc(de :(: >e4ƈ\>V͔>!Dw+w H  r(2:008 H (wA#~0O#~( yO0O !qËOd02>Ëƈ\>E~(*ͼ@>! 6Pf(5g(5h ͼ>! BIDDING: South opens 1* with 14 points and a powerful 6-card * suit. North& responds 2NT which shows 11-12 points and a fairly balanced hand. South@ adding& points onto his hand knows that they have enough points for game@ so jumps& straight to game in 4*s.& PLAY: West opens %6. South may lose 1*@ 2's and 1!. South wins trick 1 with %K.& He then leads *A to draw a round of trumps. He cannot continue *s since he is& planning to discard a loser % on 'K and if he gives up the lead opponents 6k(64j ͼ<>! 6/Ll(X6;rm(O6n Dͼ>! 6o(*4p ͼ6>! t6r(4Fq ͼot>u c:M2͠kf>͠fto>u!:\!"{\>(2H\2\>(j>cNESWNESWNorth$East $South$West $shdcnakqjt98765432Tc1   .GENd/0 "#$%&'()*+,-.23456789:;<=>NORTH )EAST SOUTHTrack-Info  NAFBGCHDIEA:*.GENNo files found$K Free$ od(>o!ۈ܈6@ۈ!ی*(0!~A#>.A~A#> A##͔> A>͔>A!*!>͔q8ye(%!B *͠(!B *oe( >x>?w#y@O2͋!w#!: (.= 66 6 = 66  66 6 6 : w: w Â!T4O?40_~w#4!̓ !;Mw#!!R0 ~0  # qy 8#{_P!R~wq# P !V#0~w####~w++++# (T !R!d ~#w0P!R~#Gw T !!_ ~( ( ( (zW#wT!!Rů~_(: ~ ( ( (!d(c!6:\[˧2\[y:\[2\[y !À:c qqto> o ucn uÞ80182hc>>2$ !OT !w#6 #6 =2 >!/_:{ W(E((# hu!q2/͞%o>>2$=2 AA!!!:?8 #!!:0OG~_]T>:8 !pG!~x  #~x   pr{(Jz :GWC ~x ~?0"~wk" o[>}0ha>->sh ( ~ ~ # wF!R! 6~( 4~w#T !~݆TR08:(2= _OGd0"!5C !4A'Ë!dFx( #Ƌw# 0 !;!R~#O#0===dw#~6]06~86K8 ~86P!{_# x !}_w#_w#!}:???ݮ~# 0~w# (!~6͝w2!d0$w# > !f !8c!62O2P>2! ' ol>:G6;2~?0Kx7 "~r ot>~݆ 8~?0F?02~wy>* oxoc>->sh!>x(E~?0 w5~?0EH W(y8 !(8Q__!_~8 #~ :?8~w.T3:!a͊@ :88͊@(~w$ o>o>oE>|.\͗!! ~(( oE~2’~( 2͹’:Ėx(8(:(E>\͖##~݆w6~w; w#o>!1:__>>'A>sA^!5~>>2$=2 >>͹E ( 7\2&\!; w#!>͗!!:P2O oc!>͗!!Y (+5p!;4N w!O4y(~ :;8!;F##0~w# (!;N >:_q!P:;w+w (K:  o>_$w#:͢_qo!8!8!4~ !` w# 8>ï(w# q!d0~( G#~֋ 6~݆w6o ڟ>~ wu46nwuß?0i!goW^w#w# B0 R#o> oK>>0h>ß!^w+s!^w+s>22 ßdc: cc:o>0h\E ot>oE>u!6 nʞocr 4:‚:(# to_>u bʂp ͠L!35c>͔c͐b>!~.#^!R~$ >N.>T.ͱ͔>c6K!Od͐>͈# ͐>2K!cK͐`yO0 à>!G!4͇G#~Oo!"!Vd222qo>o!~2t~__!1>u>͹- >GC!-!:(0ء:*~GaR8???w0hc~ƙG >p (bWno cG!~ xw 7:2͏2(xl 5*~a0 8???0v xpʔdir!6m !;ü580180w:O???G8 y(ء~0hc ʼ ء& !OT G:(*~ƙv p~02:=݆͈c R͐#!Y>cރK͐ >͈ ͐#:>>͐>>͐:O!.:_c~.#^͐>͐!…~Qx*0"0.> >N.>T._!N~c.cc# (͐>:???G!^#N#W!R~.Y!R~:8T >1.=..cc͐͐cw>͐!cn&\>} c#n&\͐!34j~.>..G#()c_!R~:8 T >1.= . :o&)))))) M!4~ ~Track-Info  NAFBGCHDIE݆֙G?O:?0!~(@5>>2$EoM>_>:hc~=2 ~\x2&!f:?8## ': !:(!~ # !4!=~Pw#~Uw> !w#w!:?8!<~2>>2$2 ֙_~ :w~(o5b:oFP#~֕8W x= zO!?͊wD:B w5BwDBw?B w!R͊>ݖ_~0 ?!?͊w>>!ͱ!-*#"ªÝP:(2oM>_>P(  D(>!5&ء>:8*d++~i+~ :셧 +~ ڔ5:T:N Rf 0 !V͇ڔ:N 8(280988:TO]( G:P8X:Pƙw:B w:N=ڔͱG:P((xO]:?:P! 3:Q ( (:a???? "O6͞!>~ w>2?:PG : ( x 2: +!46͞!>~ w!S>(+(yͅ]:Q>ʇQ :P_ڶ:QW{W(9{ 2Pö(('4(!({(`ʔzҔ 8OdÞ!Q!?8!_~2t o>u n(o b ݘ(/!~(jQ!?0_!>x(WD:œ6xء o >!:?8!~ :?0<>w?B w&i:”:”!Q!?8!>x #(R:œ6xء o>!4*dw#"d!h:_!;͊>ݖ_~~-( D(R ~??????>ȑO*f:?8*h+~?2PK:oo& o!;ͱ2T! (Q:P% :N85- :N8=Æ:P 0( :N!8;8.(Ҕ:P !6!^͇X8 :N`0 :TO]G:P?W 8(:M_zW:T {Tڔp(0` 0!S6:PG:T(5G:R( 44:R>(BҔ(0 :P %!6:S=·:N ڔ]8:M:2 :S=¹:T /:P>D0 :80 !Md0Xڔ:Pʔ]:R_:PG 'x:M0.ڔ(<0 ڔ((0 x!Q :M0(4$(0TP= :M0(0F(8@>:M085:POG:T(y08O(:S=(=( :=_͇G#OCM*d+~?2O+~?2P++~?2Q++~?2RO(4 r:”:QG(y%(xƙ2##~088xOÆ:QG ::”!a:P-( ~????~ )O!?~w:G8 8-*f:?0*h+~ !a͇_Ox8???i:{:O_:P({:Ҕ:Tl:P>”:TG:O(:Nڔ:?Oʔx ,!^͇l yƙ2~(!;͇>͹2Ty8Gyx8O:N$8yO]!:?8#~(G:Pʔ5ʇʽKMN:?OҔ06!^͇F8,x<8'N0#yƙ2~#8(~0#~8 ]yx<05(:S=ʔ:TOK:(:P) :a ñ:(:= :Pʔ:TG:PW !:?ڔzO:?08 Gy?Oʔ:O( Gyiy08+!aT:?8~@( 00((yOy0҆! :?8#~y8??G?Wy_8xG{  8 y8O:?WGy 7z83! :?8#~:P_8??G?W{_8xG{  Ҕ: Ly E:?G!8;:Oi:P( :xiÔ!;͇>͹2TWx (Oóz Oy8ʔyʔҔ:?8KyO:8>:P(8G !:?8!~?( xWyG (!?͇HGB~ wOƙwy???ڔy( !X͇8,yW#~0####>(x88H0 !^͇:8iyO:Tʔdyڔ/0!V͇8 :TOÆx\0 U8 ya8:T -:0 8 ]>P0]!;͇>>2T9>@KM00>D0+!V͇8!####^>(2###~8:T5KMy5ڔ!^͇@(%:Tʔ !R͇### >:TO]!]͇G> >:P C8ʵ6ʔEo:TKM( ACMKMxڔ<02:T( G:P ^KMx(8 zWx48zW:TO]!6:PO:T !;͇>( 0O]!;͇>>2TKM:W8_:TOz02ءG:xh> h!:?0!~?!"> !f !6#:82:cq} !4:2>2: _ ~  #~2y27:=(_:o~=:2~27>?21o!1:__>9>vH:!(#5>>0:o:??0}g.ͱ $:=(͌(^~2:2Ͷ 7 H bʉe-o cp!l 6n ÞG~xuo~!wocÏw :2͏2?]x ]!R͇:PO:Wx(( ~8x#!?͇ڔ ]G:O(x y0><2UWKM:Tz )\ڔ`8Ax8;%8-858=ÆO\0(G:TڔyPڔ:TO](X!~-->ͅ2!6KMx8D4ͱ2T !a͇8;7:N"8"_:TG>s##~8:T0O:O”>ͅ](G:PX:Pƙw:Bwͱ2TG:N8{:2:P :M 0 !a͇0 :TO:N(8_:TG>(s##~8:TO:N8%:O8)G>(!G_xs##~ڔ#~ʔ:O”XT!~(:(?:NTrack-Info  NAFBGCHDIEÂz !v &͠2ot%>udLr % to>u͠d/g $>2͠otA>udÂ!OT(0G:=(&͌(!x!Yf 2:2͗ ˵(p2˵ ͑(:=( ͤ(͌ ͑#~2=(C1>? H ͬp Ko> ծ !Yf 2͗ !~(<>>2$5!w6oM>6oW>=2 1KoͶ: !:_w#w! :(:!?0vv:: :(G:88(  :_q:= :0**=~0"#~*7#F0*9#~0*;#0~*=#/*7#> #> #= #~0 *7~0 /!w#!! ͆*=~*90~w*7~W*;^0~wzwJ*7#*;~(O#F#0~w# ([?F  #~W0OFx : y]y8Jq# ye!#2O(g:*G!:?8#~0!8K:(!_!m~(R~( :2O͆:>!O!x(~0# >!I"!>(GU"ExZ"GxL"C!q͆*7~W_*6:(r(o*E~G(*A~_8 *;~g08{(6x82z0.= +*9~ *C= :(88_qZ!:_q!^+:_*#"!-ˆox> u }>>!ͱ!_~#o4FX~#w+( 8 ~w+!-*++++":_=q88_qq:=cÈ!>: 82ow>!:?8#>O4onc!F#>͗!~#>>!ͱ>>2$6oB>;oG>:_!.5>Go>ׯ> A~^=2 ^#>ׯ>G5o>>h>2$!~w{ox>Ï!4cծ:~(*=~ *G~(*~w*=~*9 *G~*C> _*;~0z *=*9G:> *w:( (-*C~*G #*9~*=0*?#~*7#:*;#:![7*?#( y!GL~^#V*AN AH~8x=`[?€!w:88OxŹ(( = :=(x͢>>2$:=(J0ͨ!/c~h#^ͤ>:G!ͤ~=2 ~#~#!6ծ>>2$:!:0ͨ!.:_c~h#^ͤKO!…ͤ>ׯQx*0'0> AAy <ƙ>=2 chcc# (!6ծ "  >>2$!':_F#No:Co:! :2O!:O:=:=:~~͑F:#:!^~2::G*~Ƌv::G*~????ƚvTt!"@!$8`+*?~!0~*;#8+~^>!GU~^:ݾ*9~= ~#*?~!0~*;#+~=~*9#:*?0A*9##~ݾ06:ݾ0.:*(%*L#[U#00~ݾ/:ݾ08 5*?~!:!*;~0 #~!:ݾ8 /*;~ݾ0#~!8*9#:!?8:(!(*?#~ݾ *;~8?~!8"*9#0/+~=(*!:?0#~!00~*?##8 ~  *9#~*?## 2#[; (#[9:[= #[9:*9~0 *=~*;~8 #~ݾ8/~:!!$@!$8!$>>!ͱy(Y~27ͬ7:(*~0????ƚ2~Ƌ27:=r:!?U͆*?*7FxB:B ^!vF*;~_WG~ ~W> G~W>{ ~ p>G~ >^(V~8P~ +~ @~( (*;#~ ~ ~ ~ zG*9#~ *;#~ K>GE[=(T>G(~(+~(#(> G!:?0#~!08>G*=~(#~*;#0 ~0>G:(k*=~(T*9~(M*A~(#*;~0= >G~~*9#8*=#8 ~ ,:!!!~#8 :*9#^:!(##!~#0 ~N!9~ ~*?# #: #~*;#/*9~ Ny8 :9+ *9~*=(j?> &= >*;~ݾ0*0&!>GU~(> G*=~ *9~ !Yp >*A~(!>(GHZ~(AOL~(GZLy0 :(~?8>G  > x8^*A~0D~8< ~ /~ ~0 ~(~ ~ ~ >G~8G:_!p!I>>O2͆*;~0E*7~8=:!?8*7##~*?###8 *;#~/*;#F*?##~ +~*7#/*7#[?( # /[?*7~#=(= :G: F(/ ! : !:?0#~!00: 2*9~Track-Info  NAFBGCHDIE##~ݾ01:ݾ8 !~##( *9##~ݾ0:ݾ8 !~##(*;~*= <*98*?#~ݾ ?~ y=(~*?0 !:( :*?## +~ /~ ,:(c!(]*A~(V!>y(I:^!>y(1!: : "N A:0H:8:W: +y=/!>/~*?#/:0!/:!?/~==*=8:(*9~W~/~*?8-V~0*;#~8!:_~*?###/:/:*;#~*?##/#V~/*9#~*?8 ~*=##8*?[; #/͌(-:2ͬ7:_+m\X2W(F>{=|)Ipp p pp$pppJ3r5t-f6xz(T+W X]M FYp p ppp#p)p2ppp;|XZ"f.g=t$lvzB)C(x M p pppp"p#p*ppp#eVr=t-j8z*;8*7#~*;#0Z*?8 > q*7^z0 :( > q:([:(U*7~8N_8 #~*;#0*?~*7#01+>*?#~*;#+~:ï*=(*9 > q:(z*7 > q:(:(*7~8_z8 #~Z*? > q:(x*7 > *A~:2/!q͆*=~W*9V_>Gs"7x͗!"?xL"9xU";xZ"=_:o"A~*9#! ~*9#! pp pp#ppp7s ppp#p3ppp>y.f+r%W3}B;tZKŗ \pp ppp)pppT"yBʴ#{Xյ+E$eTFZ]M Kp ppppppB]HUt Ew$h)jz=.k2y3| p p pppp2yW#f(dR-gY3ZIMl+tFppp ppppp4y5}rR]K'c(dXef-j Ippppp"p#p$p%p*p3ppp9t"s$g&wCĸ+zR]خjTUZ Lp ppppp4} F GVՍHK RY7x*l"]+f;i pppp#hB CVW>xE FG\ rCŎJ#g-l$i t&s>v7xؽ:|pp dpp$ppp'hV2s9fXZݣINt vx p ppp#pppG$i<}g*R>x2TUZ7B5F4Kɭ \p$pp*ppdppp>u.b={:R&egh MB3C6G7J9Npp dp$pppD C E2z3{RSV׵6F"g$c%X4Yp p#ppp5tC-f+r=~ Gx2z3|UIƞWZ Dr6}H&e:dp#pppRF$^'b+w,eڮ2f5h={>|JKLpp pp#pppI B L%k'R.T3v\X)Z4y5}8Fp dppp)e>ru3zNJ(B6|ՓT9kZYp ppppp#j$g5G(kppp ppppp<}t3"rIG-dS]ҜUW.hj lppp"p)p+p3pppDRF#h-iY*H[ J3Kx={p ppp#ppp MB"d*C.vUӭ4JWYZs8{=~ ppppp>yTՌCM}6u;E W Xg#d&i*lp pp"p#p$p*p2ppp>wYҖZ8{ CIKȊ#su*b|'d)f pp$p%p*p4ppp"c6w B:u8|T-e'hVD GJ9jpp$ppp>rT\s' NvXYDBdȮ(e)l ppp"p#p%p+p2ppp(i=x>zD EF̢g2{ʣU3|ӥH4VZppp pp$ppp-f Nh"D#H2s8g:wZԖ^Y9RrCM*e6}+g:G-HYծJZ[p pppp3~u4Sv٦+b.eBƃEIڍ7K#h{j ppp4ppp=s>B4DHI L˭'b.h+lRTUؼ7Vppp p p pp"p$ppp8u D˞R:E#f$c'f-B D EG;s=tue"g&i+j3z;}ppppppppppT"c&g)h5rV,j;tW6xCyUp p pp$ppp B5|t%g$h)mWYӻ}M F wn*p#$+,pp3ppp2t.e,gi C9w M{FUYzݪJ ppp%p5pppBr5t"y)lJ%V-nY+fHK=w8z|Li#$e&g.kpp p$pppX\B2y3C=d"f-i%g F G HԻ8Lp ppp4ppp.d>r5x6c7yֽ|NfRTU B h pppppp\[T NJ 4x;y>b=eIHg,(m p pppppTړVX6~BE Gtw"c3g&y*npp pp$ppp#g(b-nU BCȴ5d>e7EY9G[ڼMpp5pppW2v>w'ebjԮ(k)E F JKՈ3x;$p4ppppE3w.c&m5B'd[G9T]ɽ:Jhk ppdpppppp2s7x#zFZئ-d]Cb%h'jG Jpppppp6zBE;}x<SV H#j$m]'wJpppppp"p%p+p-p2ps2w DVҜXYE"g$j%k5F:I ppdppppp,g G E"dr#StX3z7x=y Y\pp pp#pppXz pp"p,p1pz;K pppppp9s#nT"hU5B6D)H+J KƲ7t8LM pp$p%p*p4ppp#n#iT%jD7t:yEI˲&|J͵'mLp pp#ppp2x.g"j7tYZHu#vMB I)z ppp#ppp,dUҜ^C"iZ'B>z3{4D7H*M8mpppppp$p4ppp'd9|l) C;w6}RVDG:fYܸ[pp p$ppp(cTWXY M3bGç4e;r f9}N p pppp5{+mv=Fȧ.d#jt9%bEÎ KI^\ ppppp4pppC=u3v[bפ.cBؖ:HJb(4r=s5v[dغeH Kfgip p#pppD#f$h.k2y E*H3vR=TU7X[p5ppp+n|2,f-TVٓXZ FGŎJ%z={4[ppp pp%p*p2pppIUZǞ\+e$f,iB>r7s:t{L^#VS;#2<\!:\ 8:( !2! ?o&))) >8/O~#y/_(0)!&&&&#8!>>>>#: y=>! O K[\!#%! ! :28,OǾx&h'i k dppppIVWB[4r5f%h.v8w=E*y)zpp!p#p$p*p2ppp.e+gS*hG”tH˖u v͗w i2y3zp pp#ppp,dR"h2u4x7T.U;FJŭYN[K pppp!p%p,p2p3pppS&g)W-XY=v8uw BJŎKzZppp pppppp>r\v<]uYCDEˮ#h%k J'Mpp p pppppp%k D2x GZҴ;~bf[:$(>:((x>>y!A>ׯ>>2$A2A2?A2>կ2<\C 92>G>!O! K *\ "\*\%"\ *\#"\*\-"\(*\+"\*\,"\!k 2<\oo:\(=G!D:> A:\G> !:2s*\"*\":s2*"\*"\!nA!> AKoCC!X'\͖VE!:\v!:\2\:\(_=G~#0N/S game $E/W game $None $N/S $Press N for next hand, O for options,$ R to review last hand $Press P to replay, B to rebid first$Vul. $-----------$Enter $ holding $--->$You have given this hand too few cards. Enter the hand again.$You have left West with too long a suit. Please re-enter entire hand.$Do you want:- A. to let the computer deal the hands? B. to input a deal of your own choosing? C. to play a preset hand in TUTOR mode? D. to load a hand from disc? $E. {O~2+ ~62":*:w4~6:<>5:=>5bx?D:_!r^!dW>=__~_::_!r^~__!4͊F#N !oEc% F5#N #(# ^#Vr+s:=!NG/ V^R^R0V^^Zy0 @(Ax###}0AɘB@'d q> >2$t{2!T!4͍F#No C!6:?8Ku!dx2 ͤ~#F#寰( ^~#^^>2$M>:octo save the last hand to disc?$Press B to restart: any other key to continue$Suggested$card:- $ bid:- $ Tutor hand | $ Random deal | $ Your hand | $ No bidding | $Enter no. of hand you wish to play: $The London School of Bridge's$OPTIONS$ Richard Wheen & Nicola Gardener$ Random selection$New contract to be selected$Hand to be rebid$Enter Disc (A, B or M):- $Enter file name: .GEN$Hand not saved. Press 1 to retry: any other key to abandon.$Hand not loaded. $SAVE HAND ROUTINE$LOAD HAND ROUTINE$Ha >2W>__!1>͐>E: (=(  =(>\͗: ( o>rc: o Kc>0A>>2$! ~#(ob>A=2 Kl>:__!1>E otg: v: >:(>Z:/( ;(K:(>|.iKc\u to play$Last$trick$Hand no. $ Dealer $Contract $ Declarer $ Tricks N/S E/W$*******************$ Remaining tricks claimed$ Remaining tricks conceded$Play to restart$Bidding$ nd saved. $Hand loaded. $ KEYING INFORMATION S = Spades: H = Hearts: D = Diamonds: C = Clubs: N = No Trumps P (or ENTER) = Pass (no bid): D = Double: R = Redouble A = Ace: K = King: Q = Queen: J = Jack (Knave): T = 10 To bid 4 Spades enter 4S (i.e. first the level then the suit) To play 2 Hearts enter H2 (i.e. first the suit, then the card) B - (bidding) restart the Bidding: (play) review the Bidding L - Leave the TUTOR mode but continu $Pass$Double$Redouble$Hand passed out. Next hand coming up$Do you want:- F. N/S (your side) always to have more points than E/W? G. N/S usually (but not always) to have more points than E/W? H. randomly dealt hands?$Do you want:- J. to bid and play the hands? K. merely to play the cards?$Do you want:- L. to play a weak no trump (12-14)? M. to play a strong no trump (15-17)? N. to play a variable no trump (12-14 non-vul, 15-17 vul)?$Do you want:- O. to see merely Nore to play the same hand M # - see recommended bid or card to play N - abandon current hand and proceed to Next hand O - abandon current hand and return to list of Options W # - switch hands round the table clockwise and start again Space- get computer to bid or play a card for you E * - see the cards played to Earlier tricks G * - Go back and (re)bid and replay the hand P * - Peep at the other hands R * - Reth's and South's hands? P. to see all 4 hands?$Do you want:- Q. to play the cards from all 4 hands? R. to let the computer play the defenders' cards?$Enter contract $ : Enter declarer $You have chosen:- $Press C to change any of the above; K to see keying information; any other key to continue$ made $with $ overtrick$exactly$Congratulations: slam bid and made$ defeated by $honours scored$Rubber complete. $ win by $ points$ trick$N/S E/W -----------$Game all $Track-Info  NAFBGCHDIEcommence the play of the hands U * - (when trick completed) Unplay this trick V #* - Vary the contract and/or declarer Y #* - concede the rest of the tricks Z #* - claim the rest of the tricks # = not used in TUTOR mode: * = used only during card play$Press any key to continue$ Card play ********* N E S W *************** $ The London School Of Bridge's B R I D G E yer 809C plapos 809D sugest 809E maxtut 809F appbid 80A3 tutbid 80A1 appcrd 80BC tutcrd 80F0 bidhan 80F1 rndeal 80F2 contr 80F3 trumps 80F4 dbled 80F5 rdbld 80F6 c4 80F7 p4 80F8 bias 80F9 replay 80FA ntopen 80FB handno 80FC tuflag 80FD nsscor 8104 ewscor 8101 partsc 810B scor2 810E mydeal 8143 worksp 8150 gap 8300 cards 8334 locate 8336 name 833B suival 8352 shape 835E shafac 835F points 8360 point2 8361 hons 8364 hannow 8430 West 8484 tricno 8485 nstrix 8486 ewtrix 8487 prevtr 8488 tricks 84F0 l P L A Y E R  G A L A C T I C A   Written By Richard Wheen & Nicola Gardener Spectrum Conversion By Phil Davis & Iain Stirzaker Press Any Key To Continue$0H @x0H0H00Px@@pp0H@pHH0x ppp0HH8H0x`php**>>"w>>*wRRRRRа> A> AA.A!6 #om>o2 ( 80w:< (2~#A: 7ȧ: > A!5+6 ! !# > A! !# eader 84F1 suit1 84F2 card1 84F3 suit2 84F4 card2 84F5 suit3 84F6 card3 84F9 suipld 84FA carpld 84FB card1v 84FF sleft 8537 mysul 8539 lhosul 853B parsul 853D rhosul 853F glosul 8541 mytrum 8543 lhotrm 8545 partrm 8547 rhotrm 8549 leaval 854D mypoin 854E myhcp 854F rhobid 8550 parbid 8551 mybid1 8552 parbi1 8553 follow 8554 bessui 8555 parpoi 8556 list 85C2 bids 859A nsbids 85AE ewbids 8572 nbids 857C ebids 8586 sbids 8590 wbids 8564 endlis 8564 bidpoi 8566 nsbipo 8568 ewbipo 856A nbidpo 856C ebidUW$tArq!"T `$BBBB$R"w"R @ddrVRRRw&Q!Av4VQq7AbRT$rU%SQv "'@'E! BbէubUdTUbgTVTTgrEtGEBWRrRRWVU%EGGGEurUUUURgUUeGGsTRaQVu%%%%'UWWWW"UU%"RRw$$DwAa!1 p  VAE@CdTTc5VT30CeECAB@fRRW$&&%@@EGGG5bUUURcUUcAA3DBAF u%%%UWWW"UU%SQr"Bs&"!""&X  Li#$e&g.kpp p$pppX\B2y3C=d"f-i%g F G HԻ8Lp ppp4ppppo 856E sbidpo 8570 wbidpo 85EA thisbi 85EC lasbov 85ED samlev 85EE fibisu 85F8 nsbino 85F9 ewbino 85FA bidno 85FB gforce 85FC gerbfl 85FD untflg 85FE stmnfl 85FF pad 85FF sleft2 863B thissu 864F hanlen 8650 hanle2 8663 br10 8666 br30 95C9 tutor 99AF indeal 9665 deal 8682 br50 9C28 bid 8E4C selcon 868F br110 99A0 redeal 8F13 score 92E4 wherto 869E br200 88C6 optsub 86C9 opt10 E794 sevpri E745 savcrs F14E msg50 F1FC msg50d 86F9 opt30 F187 msg50b 87B5 opt140 F15E msg50a 8733 opt40 8CF9 LDSV E75C re"%!/+""%(*|-+##n+&+.&&*%D+2%l,"%l,`+2%m,"%m,ʿ.<ʿ.=_!~#foʔ+##{ʪ+++À+*ͳ+"q#p#s#4#5++###DM !"%~#fo++V+^##*%{zڸ+BK^#V+*%s#r! DM+*% DMBs#r# 6# x, !T]~#foʿ.x,y,~#~+*"s#r2DY*%|Z,! s#r#wd,2I,}p+¼.! ^#V:%,*%{.+s#r! w#w! ~#fo!ͪ.¿,,BK>!),)#,)), ,#=,}_}la).,#x."C,scrs EED1 msg22 F1B2 msg50c E656 altprt F2A3 msg60 874E opt50 875B opt70 8767 opt75 8783 opt90 879F opt130 877C opt80 E541 PRINT99 8797 opt100 888B check2 994F random F310 msg64 87F4 opt180 E7BC compos EC40 msg15 87D6 opt160 EC50 msg15a EC8F msg15b ECD4 msg15c ECEE msg16 8800 opt200 ED1E msg16b 8844 opt250 ECFE msg16a ED3C msg17 8822 opt220 ED4C msg17a 8888 check ED72 msg17b ED9A msg17c EDDB msg18 8850 opt280 EDEB msg18a EE1E msg18b EE36 msg19 8872 opt300 EE74 msg19b EE46 msg19a E66F pripos E774 FAC6 udgdat 800B bridge E6E9 cls 9928 setrnd 801D TITLE E66A prwide F9CE MSG200 E63E prmsg E7E1 input E663 prfine 86C0 option 0007 lochan 000D enter 000A LF 001B esc 0020 space 0054 diff 000C delete 009E notr 009D spades 009C hearts 009B diamond 009A clubs 0099 ace 0098 king 0097 queen 0096 jack 802F nesw 8037 names 804F alfsui 8054 ascsui 8059 alfakq 8066 ascakq 8073 taboff 8077 table 8084 fname 8091 tempx 8092 tempy 8093 tempz 8095 curpos 8097 peepfl 8098 prtrfl 8099 dealer 809A declar 809B plaTrack-Info  NAFBGCHDIErevvid EEE5 msg23 E775 norvid E7A0 scroll F419 msg75 F2E6 msg62 88DB BUFFER 8CDB WILD 8CE3 MSG99 8CF2 MSG100 F3EC msg72 8D0F LDSV2 F3DA msg71 8E18 PGIN 8E2A PGOUT 8D6D NOFILE 8D40 PBLOOP 8D43 FIELD1 8D51 FIELD2 8D5C SPLOOP 8D7B FREE E521 ROM FB71 GEFNAM 8E14 LDSVRET 8DC6 SAVE 8E42 VARS 8DE3 DDRET F3FE msg73 8DF5 SAVEND F40B msg74 F978 msg5 8E0C LDRET 9614 tut45 E7D3 wait E963 pralha 8E63 selc05 E971 prhand B5E7 prbox E9F0 prtlde EEAC msg20 8E78 selc10 8E87 selc12 8E91 selc15 FB68 print FB63 prsp ak50 986B swap 98B1 move 988F swap2 98B9 move05 98BC move10 98CE move40 98C4 move30 98DD suiv05 98E6 suiv10 98E9 suiv20 98FA suiv25 991E suiv30 992E setrn0 997D rndmem 993D setrn1 9955 ran0 998D sort10 9998 sort20 99BB inde10 99BD inde20 99CC inde30 99F2 inde40 99FE inde50 9A04 inde60 F099 msg45 F0A0 msg46 9C11 prarow F0AA msg47 9A5F inde70 9A67 ind100 9AED ind200 9AA9 ind140 FC05 HLFFLG E726 clline 9A85 ind110 E897 a_14a 9AA7 ind120 9B11 ind250 9AF4 ind210 9AFF ind220 9B0A ind230 E87F index3 9B88EA2 selc20 E624 COLFLG E8D4 verify E60B COLFLG2 E5F8 CONSUIT EEBD msg21 8EDA selc40 8EF5 selc50 8EFE selc60 AE2F play E79E scroff 8F63 scor10 905D penalt EF54 msg24 8F8B scor20 8F90 scor30 8FAD scor40 9001 scor80 8FC6 scor60 8FC0 scor50 8FD9 scor70 8FD0 scor65 EF5B msg25 EF61 msg26 900D scor90 EF6C msg27 903B sco200 9021 sco100 9028 sco110 EF74 msg28 905B sco270 9054 sco250 90D6 honors EF97 msg29 E8F5 prdec EFD7 msg34 90A1 pena50 9098 pena20 9099 pena30 90AF pena60 90B2 pena70 90CA pena90 90C5 p9 ind400 9B46 ind280 F0AF msg48 E85F index1 9B60 ind290 E8A2 clhand E710 clrest 9B86 ind300 9BA8 ind410 9BAC ind430 9BC7 ind440 F102 msg49 9BCE ind450 9BE6 ind520 9BEB ind540 9BFC ind570 9BF2 ind550 E887 index5 9C3C bid10 9C49 bid20 9C70 bid30 E82D inchl EACE status 9C9D bid50 9CAA bid60 9CEC bid100 9CBC bid80 A1D8 bidpos A1F9 combid 9D52 bid190 9DE9 bid260 9CF5 bid110 A057 biden4 A012 hapao2 9D0E bid120 9D09 bid115 9D2F bid130 9D3A bid150 9D38 bid140 9D4C bid170 E776 ping 9F94 pass A069 dble A0Eena80 90D3 pen100 9116 nthons 90EC honor2 910F honor6 90FC honor3 910A honor4 913D honprt 9149 sco300 E88A indx5a 9135 nthon2 E838 inca2 EFA5 msg30 EFDE msg35 915D sco310 E62E prt E5EF CHHF E697 crsdwn 918D sco315 9192 sco320 92C2 prinno 91B3 sco350 91AB sco340 E6B9 cright E696 crsdn2 91DE sco390 91CF sco360 F08D msg44 91E9 sco400 E79F scron 923B sco420 92A8 sco600 9246 sco450 924B sco460 EB83 msg4a 9274 sco470 EFB4 msg31 E64B prstr EFC6 msg32 EFCF msg33 F01F msg41 F045 msg41a 9302 where2 934B whC rdbl 9D79 bid195 FD8D endit 9DA2 bid200 9DB0 bid220 9DC5 bid240 9E12 bid280 9E59 bid300 A1ED resval F24D msg52 F25F msg54 A126 recbid 9E6D bid310 E8E1 ldhla 9E9C bid320 9EB5 bid330 9EE7 bid350 9F5D bid470 E835 lhono 9EF3 bid390 E862 indx1a E86F index2 9F00 bid410 9F0B bid420 9F14 bid430 E844 rhono A142 gesuva E83F partno 9F69 bid480 E8B1 clsp10 9FCE pass40 9F9C pass20 EC06 msg11 9FC1 pass30 EC0B msg12 EC12 msg13 E8EA squapa 9FEC pass50 A01A bidend A001 hapaou EC1B msg14 A02B biden2 F21F msg51 Aere6 E70A clbot F05F msg42 933D where4 9351 copy EBF1 msg10 EADA stat05 E790 nexlin EB62 msg3b 9391 copy10 EAB1 prtl95 93BC copy50 9588 copsub 93E8 copy90 93FF cop100 9402 cop110 9406 cop140 943E cop190 94F1 coptrx EBE9 msg9 EB98 msg9a 948B copb20 FB5E prspac 94A7 copb30 94A9 copb40 A151 sepbid 94D6 copb60 94CA copb50 94E1 copb90 94DB copb80 F992 msg77 9504 coptr3 9507 coptr4 9535 coptr6 953B coptr8 9547 cop500 EB77 msg4 95C7 cops30 959E cops10 95BE cops20 C5E1 hand1 95F2 tut20 95F8 tut30 9604 tut063 biden6 A0DA dble90 A0AC dble20 A0CF dble60 A0D4 dble80 A165 sepb10 A176 sepb30 A16E sepb20 A185 unadj1 A19E unadj2 A1B1 gebesu A1B9 gebes2 E7F6 ghnil1 A1C3 gfbbtp A1D0 gfbbt2 A269 blak20 A2AB cb10 A263 josfin AD86 chbid2 A27A blak30 A9FA rb150 A296 blak40 A299 blak60 A29E blak80 A908 staym6 A2E2 cb15 A2C2 cb12 A37B cb80 A309 cb20 A375 cb60 A311 cb30 A323 cb40 A360 cb50 A350 cb45 A36C cb55 A378 cb70 AC5D chex A38C cb100 A3A8 opebid A535 respon A887 rebid AABD reply AC12 latbid A44E opeb80 A3F640 968B deal30 961A tut50 9656 tut90 9639 tut60 9646 tut70 9652 tut80 9666 deal5 966D deal10 9691 deal50 9983 sort 969D deal70 96A6 calc2 96A9 calc5 96BA calc10 96C1 calc20 96C3 calc30 96CE calc40 96D9 calc45 96EF calc50 96F3 calc60 970F csrt10 9710 csrt20 971A csrt30 973B csrt40 9753 csrt50 9759 csrt60 9774 sf05 977B sf10 977F mult10 9786 mult20 979D hcp10 97A2 hcp20 97C1 hcp40 97D9 dist10 97DE dist20 9821 dist60 9804 dist40 9800 dist30 9801 dist35 980D dist45 9841 ak10 9848 ak20 9858 ak30 9860 Track-Info  NAFBGCHDIE opeb20 A3EB opeb10 A3F1 opeb15 A400 opeb25 A42B opeb30 A441 opeb70 A43E opeb50 A4B2 ope140 A46B twocl A479 twocl2 A47E opeb90 A49F ope120 A495 ope110 A4EB ope150 A520 ope190 A524 ope200 A51E ope180 A51B ope170 A643 res300 A558 res100 A7EE res600 A6B5 res400 A736 res500 A845 res800 A56E res120 A5AE res160 A590 res130 A5EE res220 A5A6 res140 A5CF res165 A5E6 res190 A5DB res180 A5D6 res170 E808 g2nil A61F res240 A633 res260 A630 res250 AE1E opbid1 A655 res302 A68E res320 A666 res305 A6B2 res360 A68B2 EB47 msg2a B38C lastt2 B413 unpe20 B429 unpe30 B425 unpe25 B486 pretr5 E7A8 prsav2 B447 pretr2 E7A4 prsave EB8C msg6 B465 pretr3 B46B pretr4 B521 prbid9 B4AF prbid2 B4CC prbid3 B4D3 prbid4 B50A prbid6 B4F5 prbid5 B518 prbid7 B529 cenpos B56C valc10 B59E hocap2 B62F plcard B642 plcar3 B66C clead BD72 cfol10 BA55 comdec B681 cle20 C586 cplvar B842 cle500 B6B8 cle30 B6B2 cle25 B6DA cle35 B757 cle100 B755 cle90 B6FE cle50 B6F7 cle40 B754 cle80 B73A cle70 B72A cle60 B771 cle110 B7B6 cle160 B7D0 cle1 res310 A6AD res350 A6BF res420 A725 res450 A6FC res430 A733 res480 E873 indx2a A722 res440 A743 res510 A7DF res570 A78E res540 A787 res520 A7B3 res550 A7EA res590 A842 res700 A808 res630 A83D res690 A817 res660 A826 res680 A856 res810 A881 res820 A90F rebi10 A8C9 staymn A8A1 gerb10 A8B1 gerb20 A8D8 staym2 A8E4 staym4 AA87 rb300 AA51 rb220 A9B6 rb130 A970 rb30 A943 rebi20 A9AE rb80 A9D5 rb135 A997 rb50 A9B3 rb110 A9D8 rb140 AA4F rb210 AA07 rb155 AA1A rb170 AA16 rb160 AA28 rb175 AA2B rb180 AA49 rb80 B78E cle120 B79C cle130 B7A7 cle140 B832 cle400 B80F cle300 B808 cle200 B82E cle390 B81C cle350 E855 parsui B928 cle600 E85A rhosui E84C lhosui B895 cle520 B899 cle540 B8AD cle550 B91D cle590 B90E cle580 B8F6 cle560 B93A cle650 B989 cle730 B971 cle710 B994 cle750 B99D cle760 B9A8 cle800 B9A3 cle780 B9CC cle810 B9F1 cle840 B9E6 cle820 BA2C cle860 BA48 cle880 BA52 cle900 BA5B cle905 BA65 cle910 BA78 cle920 BA88 cle930 BB02 cl1010 BAAD cle940 BAB8 cle950 BAC3 cle960 BAD7 cle970 BAE0 cle980 BAE8 c200 AA84 rb270 AA7F rb260 AA7D rb250 AA9A rb340 AADE rep05 AB27 rep50 AB1E rep45 AAEE rep30 AB12 rep40 ABB7 rep160 ABFC rep880 ABEF rep850 ABB9 rep200 AB69 rep80 AB4E rep65 AB4C rep55 AB66 rep70 AB9F rep120 AB90 rep100 AB8D rep90 AC0B rep920 ABB1 rep140 ABB5 rep150 AC09 rep900 ABCD rep300 ABC9 rep210 ABEA rep350 AC10 rep940 AC2C latb20 AC29 latb10 AC40 latb30 AC73 chrho AC83 chslam ACB3 rbtoga AC96 chslb3 ACAD chslb7 ACA8 chslb5 ACBE rbtog1 ACD8 rbtog2 ACDE rbtog3 ACEE fblb AD34 av45nt AD0C fblb1le990 BAFA cle995 BB57 cl1060 BAFF cl1000 BB12 cl1020 BB84 dle10 BB2E cl1030 BB39 cl1040 BB61 cl1070 BB54 cl1050 BB6A cl1080 BB6F cl1090 BB77 cl1100 BB7F cl1110 BBA9 dle30 BD5F dle570 BC38 dle150 BBE5 dle40 BBF4 dle60 BC1F dle120 BC06 dle80 BC18 dle100 BC42 dle170 BC5A dle190 BC76 dle210 BC99 dle230 BCA3 dle250 BCAB dle270 BCBB dle310 BCB8 dle290 BCED dle330 BD13 dle370 BD0C dle350 BD22 dle390 BD37 dle430 BD30 dle410 BD63 dle590 BD4E dle510 BD5B dle530 C29A cfo800 C018 cfo600 BE33 cfo300 BDA2 cfo20 AD27 fblb20 AD2D fblb40 AD63 av45n2 AD80 av45n4 AD7D av45n3 AD97 chbid4 ADEA addplr ADCA adj2 ADC4 adj ADF6 prbid AE2B opbid2 AE3C filsui AE4F var0 EA7D prtl80 E7D1 wait30 AE7B loop10 AE88 loop20 AEB2 notr13 AE9E tr13 AEA6 tr13b B137 prsui1 AED5 pla100 B531 prsuit EB39 msg1 B576 horctp B648 compla AF01 pla150 AF04 pla200 B3FE unpeep AF36 pla240 AF2E NUMOK AF5F pla270 B58C hosule B5B6 cardok B489 prbids B42D pretrx AF79 pla290 B3F4 peep AF8D pla300 AF96 pla350 B03C pla450 AFEB pla410 EBBC msg7a 00 C41C discar BDD5 cfo260 BDBC cfo210 BE30 cfo280 C55E trumlo BDEE cfo265 BE02 cfo270 C560 trumit C3EA plalo BE4B cfo305 BE6A cfo310 C312 finess BEFB cfo350 BEC3 cfo320 BEAF cfo315 BEF8 cfo340 BEED cfo330 BF14 cfo360 BF3E cfo370 BF7D cfo395 BF69 cfo390 BF5E cfo380 BF83 cfo400 C5C0 wintr C30D pl1or2 BFC2 cfo420 BFDB cfo430 BFF0 cfo450 BFED cfo440 C04A cfo610 C3FB ovtrum C047 cfo605 C059 cfo615 C06E cfo620 C239 cfo780 C092 cfo635 C0B2 cfo650 C0A4 cfo640 C0AA cfo645 C126 cfo695 C104 cfo675 C0E7 cfoAFB5 pla400 B003 pla430 B012 pla440 EBA0 msg7 F325 msg65 B065 pla460 EBD9 msg8 B08D pla480 F341 msg66 B0CA pla530 B0C7 pla500 B597 hocapl B5CB suitok B591 hosupl B0E7 pla550 B5A4 folsui B0F4 pla580 B0FC pla600 B10D pla630 B5AC lowest B17D prcar1 B120 pla670 B17A prsui2 F257 msg53 B190 record B1C6 remcar E8C1 rcfs10 B1F0 yes B1F9 no B21D no2 B212 no1 B55A valcar B22B sacapl B2EB winner B283 unplay B2AE unpl40 B2A1 unpl20 B2FE win2 B301 prtrix B320 prtrx2 B331 remove B34C delcar B35B lasttr EB42 msgTrack-Info  NAFBGCHDIE660 C0F2 cfo665 C0FD cfo670 C111 cfo680 C11A cfo690 C12D cfo705 C141 cfo710 C144 cfo735 C170 cfo745 C154 cfo740 C189 cfo750 C1D9 cfo760 C1AA cfo755 C1FD cfo765 C219 cfo770 C237 cfo775 C258 cfo785 C297 cfo799 C27C cfo790 C287 cfo795 C2CC cfo900 C30A cfo950 C2E8 cfo910 C2F0 cfo920 C307 cfo940 C362 fines3 C355 fines2 C39C fines5 C37E fines4 C3D3 fines8 C3F5 plalo2 C414 ovtru2 C41E disc10 C420 disc20 C571 disvar C45E disc60 C447 disc30 C454 disc40 C468 disc70 C47E disc80 C486 disc90 C488 dis100 C4EC dPLUS3DOSy4 /;9853" 64,'&$ ><:2-+*)( =7.%# 0sion By Phil Davis & Iain Stirzaker Press Any Key To Continue$0H @x0H0H00Px@@pp0H@pHH0x ppp0HH8H0x`php**>>"w>>*wRRRRRа> A> AA.A!6 #is150 C4AD dis120 C4F6 dis170 C507 dis190 C50F dis210 C511 dis230 C539 dis250 C543 dis300 C545 dis310 C556 dis330 E53B ADDR E54D NORMAL FBFC PFFLG E557 FINEPRT FC0C CHARS E578 MOVIT FBFD BTFORM E57E SHIFT E5A4 SHIFTR E5B9 LRSOK E595 MLEFT E5AC MRIGHT E5CA NOTYET E5C8 COLMOK E5D5 BTLOOP E628 NOUDG E60F TABLE E620 HANDEND E61E COLOK E62F prt2 E632 COLOUR E641 prmsg1 E64E prstr1 E659 altprt1 FC06 STORE E695 gensub E6CE SAMEHL E6D1 cleft E6E6 SAMEHL1 E701 curtlc E721 LINE0 E736 REPEAT E743 enable E74"iD)]*@;^`LDj͉\!@V@@!}T`LDj͉\D!}Dj͉\D !ͯDj͉\!"iD)]D!H`j͙\D!}Dj͙\*0@|\D!bj͙\D!ͯDj͉\!"iD)]!DV@@!}<`LDj͉\*Dv*_Dv;7c͚E͵cz\ pEc͚pEdpEEs\\ !  \cDjD!lc\cDjD!lc\Ý\!D"E!\D*iD!ͯ}2ͭE"_D*iD#"iD*iD*Ez| ]}|\ ! ! ] !"c *iDv7c!2 7c c̈́4 disabl E773 STORE99 E796 sevpr2 E7B1 popcpm E7B3 cpm E7DA PAUSE E7EC input2 E7FA ghnil2 E7FD ghnil3 E805 ghnil4 E835 inca E84F othsui E874 indx2b E88D indx5b E8B6 clsp20 E8C4 rcfs20 E8CE rcfs30 E8D6 verif2 E8DF verif4 E8EE squap2 E94E dectab E900 dec30 E904 dec40 E936 dec50 E93B dec60 E966 pralh2 E9A7 prh10 E9B4 prh20 E9DA NOCARD E9D0 prh40 E9DD prh50 EB4D msg3 EA06 prtl10 EB57 msg3a F083 msg43 EFF6 msg36 EA48 prtl20 F000 msg37 F00A msg38 F014 msg39 EA64 prtl50 F01A msg40 EA72 prtl60 EA92 prtl9PLUS3DOSh.h!Kh@h :\[2\[y:\[˧2\[y!BRIDGE.COMRACING J?@ABCDEFGHDATABASEV1 Zz{|}~DISASSEM GSTUVWXYROUTINESBAK[\]STARTREK ^_`abcdefghijklmSTARTREK EnopqrstuvUSEFUL ROU wxZEUSCODES y0 EB6C msg3c F267 msg55 EAEF stat10 F276 msg56 F286 msg57 F294 msg58 EAFE stat30 EB1A stat50 EB33 stat70 EB9A msg2b F2C8 msg61 F2EE msg63 F352 msg67 F36D msg68 F38A msg69 F3C7 msg70 FB5E endudg FB6B print1 FB6E print2 FB77 CLEAR FBFB LENGTH FB93 NXTCHAR FBBA ENTER FBC3 DELETE FBE0 BACK1 FBD3 DLEND FD8D FINISH id150 9D38 bid140 9D4C bid170 E776 ping 9F94 pass A069 dble A0Et10 E794 sevpri E745 savcrs F14E msg50 F1FC msg50d 86F9 opt30 F187 msg50b 87B5 opt140 F15E msg50a 8733 opt40 8CF9 LDSV E75C reL!LDj͙\_!D|_!Dv͚DdDwc_*D|¸_D!lcjcDsccDoc|g}o|_!DV}o|gv͚D!DVDjD!Dj͙\!D*DDʹ*D#"D*D|+`_k2` 7`e;`f ?`Declarer K`Contract W`Dealer:a`Handh`INFOo`1s`2w`3+{`(2) Select New hand / Exit to Bridge Player`(1) Replay the last hand.`Do you want to:` Press a key to Continue.`,`@`$a'a! a% a*a&aALLINFOaSouth:(aNorth:1aV5aU9a =aNORTH'S CARD: NaSOUTH'S CARD: _aW!EjE!aW!EjE!`W!EjE!`WE!`WE!`j !E *$@#"$@*$@*Ez|W}|WV!#&!p"iD)]D!`j͙\͝\^!"iD)]D!`j͙\!v"iD)]D!`j͙\!x"iD)]D!x`j͙\ͷ^D!t`AXD!p`FD!l` G!͉!EE!}!e`eXE!͒;͍"2E*0E*2E}o|eX!E"E!YE*$@!ͯDjD!&cD!?c|g}oD!"c|g}oD!c|g}o|Y͙\*$@#"$@*$@*Ez|)Y}|ҺX*E"iD)]!E"E!YE*$@!ͯEjE!&cTrack-Info  NAFBGCHDIEPLUS3DOS!:\!"{\>(2H\2\>(j>cNESWNESWNorth$East $South$West $shdcnakqjt98765432Tc1   .GENd/0 "#$%&'()*+,-.23456789:;<=>NORTHA:*.GENNo files found$K Free$ od(>o!ۈ܈6@ۈ!ی*(0!~A#>.A~A#> A##͔> A>͔>A )EAST SOUTH WEST …r|…r|!*!>͔q8ye(%!B *͠(!B *oe( >x>d(c!6:\[˧2\[y:\[2\[y !À:c qqto> o ucn uÞ80182hc>>2$ !OT !w#6 #6 =2 >!/_:{ W(E((# hu!q2/͞%o>>2$=2 AA!!!:?8 #!!:0OG~_]T>:!4!6:ɕ:̯e:(L͠!~4! :w#:w#:w:(>d! wƈ!w#<2>/2͔EN>!!M:(:>66 bʵ4^aʵc(de :(: >e4ƈ\>V͔>!Dw+w H  r(2:008 H (wA8 !pG!~x  #~x   pr{(Jz :GWC ~x ~?0"~wk" o[>}0ha>->sh ' ol>:G6;2~?0Kx7 "~r ot>~݆ 8~?0F?02~wy>* oxoc>->sh!>x(E~?0 w5~?0EH W(y8 !(8Q__!_~8 #~ :?8~w.T3:!a͊@ :88͊@(~w$ o>o>oE>|.\͗!! #~0O#~( yO0O !qËOd02>Ëƈ\>E~(*ͼ@>! 6Pf(5g(5h ͼ>! 6k(64j ͼ<>! 6/Ll(X6;rm(O6n Dͼ>! 6o(*4p ͼ6>! t6r(4Fq ͼot>u c:M2͠kf>͠fto>uTrack-Info  NAFBGCHDIE~(( oE~2’~( 2͹’:Ėx(8(:(E>\͖##~݆w6~w6~݆w6o ڟ>~ wu46nwuß?0i!goW^w#w# B0 R#o> oK>>0h>ß!^w+s!^w+s>22 ßdc: cc:o>0h\E ot>oE>u!6 nʞocr 4:‚:(# to_>u bʂp ͠L!35c>͔c͐b>!~.#^8!8!4~ !` w# 8>ï(w# q!d0~( G#~֋ yO0 à>!G!4͇G#~Oo!"!Vd222qo>o!~2t~__!1>u>͹- >GC!-!:(0ء:*~GaR8???w0hc~ƙG >p (bWno cG!~ xw 7:2͏2(xl 5*~a0 8???0v xpʔdir!6m !;ü5801!R~$ >N.>T.ͱ͔>c6K!Od͐>͈# ͐>2K!cK͐`͈c R͐#!Y>cރK͐ >͈ ͐#:>>͐>>͐:O!.:_c~.#^͐>͐!…~Qx*0"0.> >N.>T._!N~c.cc# (͐>:???G!^#N#W!R~.Y!R~:8T >1.=..cc͐͐cw>͐!cn&\>} c#n&\͐!380w:O???G8 y(ء~0hc ʼ ء& !OT G:(*~ƙv p~02:=݆݆֙G?O:?0!~(@5>>2$EoM>_>:hc~=2 ~\x2&!f:?8## ': !:(!~ # !4!=~Pw#~Uw> !w#w!:?8!<~2>>2$2 ֙_~ :w~(o5b:oFP#~֕8W x= zO!?͊wD:B w5BwDBw?B w!R͊>ݖ_~0 ?!?͊w>>!ͱ!-*4j~.>..G#()c_!R~:8 T >1.= . :o&)))))) M!4~ ~?w#y@O2͋!w#!: (.= 66 6 = 66  66 6 6 : w: w Â!T4O?40_~w#4!̓ !;Mw#!!R0 ~0  # qy 8#{_P!R~wq# P !V#0~w####~w++++# (T !R!d ~#w0P!R~#G#"ªÝP:(2oM>_>P(  D(>!5&ء>:8*d++~i+~ :셧 +~ o>dÞ!Q!?8!_~2t o>u n(o b ݘ(/!~(jQ!?0_!>x(WD:œ6xء o >!:?8!~ :?0<>w?B w&i:”:”!Q!?8!>x #(R:œ6xء o>!4*dw#"d!h:_!;͊>ݖ_~~-( D(R ~??????>ȑO*f:?8*h+~?2PK:oo& o!;ͱ2T!_͇G#OCM*d+~?2O+~?2P++~?2Q++~?2RO(4 r:”:QG(y%(xƙ2##~088xOÆ:QG ::”!a:P-( ~????~ )O!?~w:G8 8-*f:?0*h+~ !a͇_Ox8???i:{:O_:P({:Ҕ:Tl:P>”:TG:O(:Nڔ:?Oʔx ,!^͇l yƙ2~(!;͇>͹2Ty8Gyx8O:N$8yO]!# 0~w# (!~6͝w2!d0$w# > !f !8c!62O2P>2!; w#o>!1:__>>'A>sA^!5~>>2$=2 >>͹E ( 7\2&\!; w#!>͗!!:P2O oc!>͗!!Y (+5p!;4N w!O4y(~ :;8!;F##0~w# (!;N >:_q!P:;w+w (K:  o>_$w#:͢_qo!Track-Info  NAFBGCHDIE:?8#~(G:Pʔ5ʇʽKMN:?OҔ06!^͇F8,x<8'N0#yƙ2~#8(~0#~8 ]yx<05ڔy( !X͇8,yW#~0####>(x88H0 !^͇:8iyO:Tʔdyڔ/0!V͇8 :TOÆx\0 U8 ya8:T -:0 8 ]>P0]!;͇>>2T9>@KM00>D0+!V͇8!####^>(2###~8:T5KMy5ڔ!^͇@(%:Tʔ !R͇### >:TO]!]͇G> >:P C8ʵ6ʔEo:TKM( ACMKMxڔ<02:Tz Oy8ʔyʔҔ:?8KyO:8>:P(8G !:?8!~?( xWyG (!?͇HGB~ wOƙwy???02ءG:xh> h!:?0!~?!"> !f !6#:82:cq} !4:2>2: _ ~  #~2y27:=(_:o~=:2~27>?21o!1:__>9>vH:!(#5>>0:o:??0}g.ͱ $:=(͌(^~2:2Ͷ 7 H bʉe-o cp!( G:P ^KMx(8 zWx48zW:TO]!6:PO:T !;͇>( 0O]!;͇>>2TKM:W8_:TOz?]x ]!R͇:PO:Wx(( ~8x#!?͇ڔ ]G:O(x y0><2UWKM:Tz )\ڔ`8Ax8;%8-858=ÆO\0(G:TڔyPڔ:TO](X!~-->ͅ2!6KMx8D4ͱ2T !a͇8;7:N"8"_:TG>s##~8:T0O:O”>ͅ](G:PX:Pƙw:Bwͱ2TG:N8{:2:P :M 0 !a͇l 6n ÞG~xuo~!wocÏw :2͏2Âz !v &͠2ot%>udLr % to>u͠d/g $>2͠otA>udÂ!OT(0G:=(&͌(!x!Yf 2:2͗ ˵(p2˵ ͑(:=( ͤ(͌ ͑#~2=(C1>? H ͬp Ko> ծ !Yf 2͗ !~(<>>2$5!w6oM>6oW>=2 1K0 :TO:N(8_:TG>(s##~8:TO:N8%:O8)G>(!G_xs##~ڔ#~ʔ:O”XT!~(:(?:Nڔ5:T:N Rf 0 !V͇ڔ:N 8(280988:TO]( G:P8X:Pƙw:B w:N=ڔͱG:P((xO]:?:P! 3:Q ( (:a???? "O6͞!>~ w>2?:PG : ( x 2: +!46͞!>~ w!S>(+(yͅ]:Q>ʇQ :P_ڶ:QW{W(9{ 2Pö(('4(!({(`ʔzҔ 8O u }>>!ͱ!_~#o4FX~#w+( 8 ~w+!-*++++":_=q88_qq:=cÈ!>: 82ow>!:?8#>O4onc!F#>͗!~#>>!ͱ>>2$6oB>;oG>:fҮ:QW:P(B:T 0!^͇F8):TO]:PW:T  :NL0D0Ô:NB8:PG8O:T0yOU!F:Q (Q:P% :N85- :N8=Æ:P 0( :N!8;8.(Ҕ:P !6!^͇X8 :N`0 :TO]G:P?W 8(:M_zW:T {Tڔp(0` 0!S6:PG:T(5G:R( 44:R>(BҔ(0 :P %!6:S=·:N ڔ]8:M:2 :S=¹:T /:P>D0 :80 !Md0Xڔ:Pʔ]:R_:PG 'x:M0_!.5>Go>ׯ> A~^=2 ^#>ׯ>G5o>>h>2$!~w{ox>Ï!4cծ:!w:88OxŹ(( = :=(x͢>>2$:=(J0ͨ!/c~h#^ͤ>:G!ͤ~=2 ~#~#!6ծ>>2$:!:0ͨ!.:_c~h#^ͤKO!…ͤ>ׯQx*0'0> AAy <ƙ>=2 chcc# (!6ծ "  >>2$!':_F#No:Co:! :2O!:O:=:.ڔ(<0 ڔ((0 x!Q :M0(4$(0TP= :M0(0F(8@>:M085:POG:T(y08O(:S=(=( :=(:S=ʔ:TOK:(:P) :a ñ:(:= :Pʔ:TG:PW !:?ڔzO:?08 Gy?Oʔ:O( Gyiy08+!aT:?8~@( 00((yOy0҆! :?8#~y8??G?Wy_8xG{  8 y8O:?WGy 7z83! :?8#~:P_8??G?W{_8xG{  Ҕ: Ly E:?G!8;:Oi:P( :xiÔ!;͇>͹2TWx (OóTrack-Info  NAFBGCHDIE=:~~͑F:#:!^~2::G*~Ƌv::G*~????ƚvTt!"@!$8!$@!$8!$>>!ͱy(Y~27ͬ7:(*~0????ƚ2~Ƌ27:=r:!?U͆*?*7FxB:B ^!vF*;~_WG~ ~W> G~W>{ ~ p>G~ >^(V~8P~ +~ @~( (*;#~ ~ ~ ~ zG*9#~ *;#~ K>GE[=(T>G *9#~*?## 2#[; (#[9:[= #[9:*9~0 *=~*;~8 #~ݾ8/~:!~*9#8*=#8 ~ ,:!!!~#8 :*9#^:!(##!~#0 ~N!9~ ~*?# #: #~*;#/*9~ Ny8 :9+ *9~*=(j? G!:?0#~!08>G*=~(#~*;#0 ~0>G:(k*=~(T*9~(M*A~(#*;~0= >G~ >> &= >*;~ݾ0*0&!>GU~(> G*=~ *9~ !Yp >*A~(!>(GHZ~(AOL~(GZLy0 :(~?8>G  > x8^*A~0D~8< ~ /~ ~0 ~(~ ~ ~ >G~8G:_!p!I>>O2͆*;~0E*7~8=:!?8*7##~*?###8 *;#~/*;#F*?##~ +/*=#~9:!?0:!:?0#~!09~8|~*?###0p#~*=#0g*9~=(`*=~*98T##~!0:8%!~## <*9##~ݾ01:ݾ8 !~##( *9##~ݾ0:ݾ8 !~##(*;~*= <*98*?#~ݾ ?~ y=(~*?0 !:( :*?## +~ /~ ,:(c!(]*A~(V!>y(I:^!>y(1!: : "N A:0H:8:W: +y=/!>/~*?#/:0!/:!?/~==*=8:(*9~W~/~*?8-V~0*;#~8!~*7#/*7#[?( # /[?*7~#=(= :G: F(/ ! : !:?0#~!00: 2*9~0**=~0"#~*7#F0*9#~0*;#0~*=#/*7#> #> #= #~0 *7~0 /!w#!! ͆*=~*90~w*7~W*;^0~wzwJ*7#*;~(O#F#0~w# ([?F  #~W0OFx : y]y8Jq# ye!#2O(g:*G!:?8#~0!8K:(!_!m~(R~( :2O͆:>!O!x(~0# >:_~*?###/:/:*;#~*?##/#V~/*9#~*?8 ~*=##8*?[; #/͌(-:2ͬ7:_!V*A~(O Az`+ q:(5:(/*7~8(_z8#>8z*;8*7#~*;#0Z*?8 > q*7^z0 :( > q:([:(U*7~8N_8 #~*;#0*?~*7#01+>*?#~*;#+~:ï*=(*9 > q:(z*7 > q:(:(*7~8_z8 #~Z*? > q:(x*7 > *A~:2/!q͆*=~W*!I"!>(GU"ExZ"GxL"C!q͆*7~W_*6:(r(o*E~G(*A~_8 *;~g08{(6x82z0.= +*9~ *C~(*=~ *G~(*~w*=~*9 *G~*C> _*;~0z *=*9G:> *w:( (-*C~*G #*9~*=0*?#~*7#:*;#:![7*?#( yGs"7x͗!"?xL"9xU";xZ"=_:o"A~*9#! ~*9#! pp pp#ppp7s"yBʴ#{Xյ+E$eTFZ]M Kp ppppppB]HUt Ew$h)jz=.k2y3| p p pppp2yW#f(dR-gY3ZIMl+tFppp ppppp4y5}rR]K'c(dXef-j Ippppp"p#p$p%p*p3ppp9t"s$g&wCĸ+zR]خjTUZ Lp pppppʚ~3:( !(*A~*9~()#F*;#~8!0t*A~^##~*?0^^>!GL~^#V*AN AH~8x=`[?`+*?~!0~*;#8+~^>!GU~^:ݾ*9~= ~#*?~!0~*;#+~=~*9#:*?0A*9##~ݾ06:ݾ0.:*(%*L#[U#00~ݾ/:ݾ08 5*?~!:!*;~0 #~!:ݾ8 /*;~ݾ0#~!8*9#:!?8:(!(*?#~ݾ *;~8?~!8"*9#0/+~=(*!:?0#~!00~*?##8 ~ Track-Info  NAFBGCHDIE4} F GVՍHK RY7x*l"]+f;i pppp#hB CVW>xE FGr6}H&e:dp#pppRF$^'b+w,eڮ2f5h={>|JKLpp pp#pppI B L%k'R.T3v\X)Z4y5}8Fp dppp)e>rx2z3|UIƞWZ D#j$g5G(kppp ppppp<}t3"rIG-dS]ҜUW.hj lppp"p)p+p3pppDRF#h-iY*H[ J3Kx={p ppp#ppp MB"d*C.vUӭ4JWYZs8{=~ ppppp>yTՌCM}6u;E W Xg#d&i*lp pp"p#p$p*p2ppp>wYҖZ8{ 7gS+H*V)WFڎIJpp p pp#pppHM&c'j=r>u3zNJ(B6|ՓT9kZYp ppppp>rT\s' NvXYDBdȮ(e)l ppp"p#p%p+p2ppp(i=x>zD EF̢g2{ʣU3|ӥH4VZppp pp$ppp-f Nh"D#H2s8g:wZԖ^Y9RrCM*e6}+g:G-HYծJZ[p pppp3~u4Sv٦+b.eBƃEIڍ7K#h{j| p p p p pppp7~s8rd eW-f"hSt[]up p pppB"eY'fS+m\X2W(F>{=|)Ipp p pp$pppJ3r5t-f6xz(T+W X]M FYp p ppp#p)p2ppp;|XZ"f.g=t$lvzB)C(x M p pppp"p#p*ppp#eVr=t-jB4DHI L˭'b.h+lRTUؼ7Vppp p p pp"p$ppp8u D˞R:E#f;G%h=J*k]LY,m p p ppppUT֢-gXۂF\ݣ.fM|4%jI8Clpp p pppp$ppp.b]f#Y(eE9G=sv wx KL ppp#pppX$R.r(CS]5s Nt6:VF IKppppp!p"p#p,p4ppp&e3t5xU[֗7\+dJCy.f+r%W3}B;tr5t"y)lJ%V-nY+fH$p4ppppE3w.c&m5B'd[G9T]ɽ:Jhk ppdpppppp2s7x#zFZئ-d]Cb%h'jG Jpppppp6zBE;}x<SV H#j$m]'wJpppppp"p%p+p-p2ps2w DVҜXYE"gJ$i%u,Lp pp$ppp4v9c.d,gZKŗ \pp ppp)pppT\ rCŎJ#g-l$i t&s>v7xؽ:|pp dpp$ppp'hV2s9fXZݣINt vx p ppp#pppG$i<}g*R>x2TUZ7B5F4Kɭ \p$pp*ppdppp>u.b={:R&egh MB3C6G7J9Npp dp$pppD C E2z3{RSV׵6F"g$c%X4Yp p#pppTrack-Info  NAFBGCHDIE$j%k5F:I ppdppppp,g G E"dr#StX3z7x=y Y\pp pp#pppX#iT%jD7t:yEI˲&|J͵'mLp pp#ppp2x.g"j7tYZHu#vMB I)z ppp#ppp,dUҜ^C"iZ'B>z3{4D7H*M8mpppppp$p4ppp'd9|l) C;w6}RVDG:fYܸ[pp p$ppp(cTWXY M3bGç4e;r f9}N p ppppyWY>z;K pppppp9s#nT"hU5B6D)H+J KƲ7t8LM pp$p%p*p4ppp#nb(4r=s5v[dغeH Kfgip p#pppD#f$h.k2y E*H3vR=TU7X[p5ppp+n|2,f-TVٓXZ FGŎJ%z={4[ppp pp%p*p2pppIUZǞ\+e$f,iB>r7s:t{L^#VS;#2<\!:\ 8:( !2! ?o&))) >8/O~5{+mv=Fȧ.d#jt9%bEÎ KI^\ ppppp4pppC=u3v[bפ.cBؖ:HJǾx&h'i k dppppIVWB[4r5f%h.v8w=E*y)zpp!p#p$p*p2ppp.e+gS*hG”tH˖u v͗w i2y3zp pp#ppp,dR"h2u4x7T.U;FJŭYN[K pppp!p%p,p2p3pppS&g)W-XY=v8uw BJŎKzZppp pppppp>r\v<]u#y/_(0)!&&&&#8!>>>>#: y=>! O K[\!#%! ! :28,O>:$(>:((x>>y!A>ׯ>>2$A2A2?A2>կ2<\C 92>G>!O! K *\ "\*\%"\ *\#"\*\-"\(*\+"\*\,"\!k 2<\oo:\(=G!D:> A:\G> !:2s*\"*\":s2*"\*"\!nYCDEˮ#h%k J'Mpp p pppppp%k D2x GZҴ;~bf[ue"g&i+j3z;}ppppppppppT"c&g)h5rV,j;tW6xCyUp p pp$ppp B5|t%g$h)mWYӻ}M F wn*p#$+,pp3ppp2t.e,gi C9w M{FUYzݪA!> AKoCC!X'\͖VE!:\v!:\2\:\(_=G~#0{O~2+ ~62":*:w4~6:<>5:=>5bx?D:_!r^!dW>=__~_::_!r^~__!4͊F#N !oEc% F5#N #(# ^#Vr+s:=!NG/ V^R^R0V^^Zy0 @(Ax###}0AɘB@'d q> >2$t{2J ppp%p5pppBr5x6c7yֽ|NfRTU B h pppppp\[T NJ 4x;y>b=eIHg,(m p pppppTړVX6~BE Gtw"c3g&y*npp pp$ppp#g!T!4͍F#No C!6:?8Ku!dx2 ͤ~#F#寰( ^~#^^>2$M>:oc >2W>__!1>͐>E: (=(  =(>\͗: ( o>rc: o Kc>0A>>2$! ~#(ob>A=2 Kl>:__!1>E otg: v: >:(>Z:/( ;(K:(>|.iKc\u to play$Last$trick$Hand no. $ Dealer $Contract $ Declarer $ Tric(b-nU BCȴ5d>e7EY9G[ڼMpp5pppW2v>w'ebjԮ(k)E F JKՈ3x;z pp"p,p1p$You have given this hand too few cards. Enter the hand again.$You have left West with too long a suit. Please re-enter entire hand.$Do you want:- A. to let the computer deal the hy key to continue$ Card play ********* N E S W *************** $ The London School Of Bridge's B R I D G E P L A Y E R  G A L A C T I C A   Written By Richard Wheen & Nicola Gardener Spectrum Conversion By Phil Davis & Iain Stirzaker Press Any Key To Continue$0H @x0H0H00Px@@pp0H@pHH0x ppp0HH8H0x`php**>>"w>>*wRRRRRа> A> AA.A!6 #ands? B. to input a deal of your own choosing? C. to play a preset hand in TUTOR mode? D. to load a hand from disc? $E. to save the last hand to disc?$Press B to restart: any other key to continue$Suggested$card:- $ bid:- $ Tutor hand | $ Random deal | $ Your hand | $ No bidding | $Enter no. of hand you wish to play: $The London School of Bridge's$OPTIONS$ Richard Wheen & Nicola Gardener$ Random selection$New contract to be selected$Hand to be rebid$Enter Disc (A, B or M):- $Enter file name: om>o2 ( 80w:< (2~#A: 7ȧ: > A!5+6 ! !# > A! !# UW$tArq!"T `$BBBB$R"w"R @ddrVRRRw&Q!Av4VQq7AbRT$rU%SQv "'@'E! BbէubUdTUbgTVTTgrEtGEBWRrRRWVU%EGGGEurUUUURgUUeGGsTRaQVu%%%%'UWWWW"UU%"RRw$$DwAa!1 p  VAE@CdTTc5VT30CeECAB@fRRW$&&%@@EGGG5bUUURcUUcAA3DBAF u%%%UWWW"UU%SQr"Bs&"! .GEN$Hand not saved. Press 1 to retry: any other key to abandon.$Hand not loaded. $SAVE HAND ROUTINE$LOAD HAND ROUTINE$Hand saved. $Hand loaded. $ KEYING INFORMATION S = Spades: H = Hearts: D = Diamonds: C = Clubs: N = No Trumps P (or ENTER) = Pass (no bid): D = Double: R = Redouble A = Ace: K = King: Q = Queen: J = Jack (Knave): T = 10 To bid 4 Spades enter 4S (i.e. first the level then the suit) To play 2 Hearts enter H2 (i.e. first Track-Info ! N!A!F!B!G!C!H!D!I!E""&X  Li#$e&g.kpp p$pppX\B2y3C=d"f-i%g F G HԻ8Lp ppp4ppp|8M|8MG G\GWq!g1:[>> =;.,&# 98763 <:42*)'$ 0sion By Phil Davis & Iain Stirzaker Press Any Key To Continue$0H @x0H0H00Px@@pp0H@pHH0x ppp0HH8H0x`php**>>"w>>*wRRRRRа> A> AA.A!6 #~@|@@@>BB<DHpHDB@@@@@~BfZBBBBbRJFB$You have given this hand too few cards. Enter the hand again.$You have left West with too long a suit. Please re-enter entire hand.$Do you want:- A. to let the computer deal the h (@R0), D BC,HHTS CLL FW00( ATFHBL NVT B@ DL   B VL @(XCR: At hd cndi 4e LH0 an puht@nt HL HL @L,@ `"l4DD !2!t `!`Hun d% \ I#B0 xqop th trt rhe(ra D ,D ;ndddhey(d{plemt ] ;It iski i0potso e drs`rleraofhein8wean ;e s vou edRs zoMolr .nfrxute tm!|qe JDR ;  fd DO DFS ; " Fv$laJRED0* fi fAg  P^DD": Ddp"ar wo s ce T P_DE 2 ; emp Arwo* s ceP^DC 72d" vB  B LP_D2: empa2wo2!sce0 IOU UGB) sp{e r e`ouu o0spte O_RUSFS teyor rk{pau/ *TlEEES 3-;esvepa f te!svit1 foabu. eB2 UGSs2 "i! * "& (0 " 3 QR_M fB phPLUS3DOSy4 / 5-+(%" >=;.,&# 98763 <:42*)'$ 0LOADER kBRIDGE PRGlmnopqrstuvwxyz{BRIDGE PRG|}~BRIDGE PRGDISK ABCDEFGHGENBG COMnopqrstuvwxyz{|}BG COM~PLUS3DOSA A 32767 "bridge.prg"32768 32768 itten By Richard Wheen & Nicola Gardener Spectrum Conversion By Phil Davis & Iain Stirzaker Press Any Key To Continue$0H @x0H0H00Px@@pp0H@pHH0x ppp0HH8H0x`php**>>"w>>*wRRRRRа> A> AA.A!6 #Puht"`c. DDL,  PSH L  sve E  llstat a r D HL-BD(+ fp t$(xno$inpe R H RRLL RL an dide!t ( 8 RL ((iswilCoer it pil&Qln W:nt` zDgAtim) R D D ge4the x #`rpe`posipi D ,D INE ީPO HL ; t e illst` ares b}ck d LD (TqAD,H; ut t io teorry op ET FL5DA,(L) g te cnpes Te skrebY OR y ;s epty? R (FL@1 ;0b DE@00010b01000` DF010110b,11110 BB00000"$00000bDB00080 01 0p0b DE 000000c0111B FS34;2paa tpu th orhn sitr i AN@@V00  r|   x nohn`d/ XCRDEF2 ; t%qoryuom f t xcootinenCHR1 BS ste 5) r e srt lu wre n. HA DFS 1 ste ) or e rrnu lu we . tPAR BS2 spe Kuq leaTl aR,loti i  BNE DWW 0 Track-Info " N"A"F"B"G"C"H"D"I"Ef t hen8jumon D ;HL)55 fll he olbye LD --8FHM10EEBL˿ bmp ie!re aer$s 4uh.dt bu%DJ FLL1 D { gt 4 cr%t clumw% i R ; )`cnumjdr? CS Z,DL ;go t!veeabed @m`left``ind side 3 ofpleScEeno gC an f$L$B t ot ezM Ii; d`re o& ECI AdQstzdhe@ol n Cinar JVFIL5 Y juAp bAck2$O c.tinue @N ~hisireCtib O ;$|is routAneWil#rate mk |@at@ill Fittorheigh@ oa$t `t$!#! $<>j ͆!2 :L >|" p=@tm"|?-C= !2 #~"r/2i~~G(S<[d˽<K_]f>-D0@!@; @? }+ gt&~`?/, <O` ~@B   @ !!# $Amdd>A!B @!NA22R~D!>\@ " υd=-尡A?Tmx>-Ce0= B,0 ;"rerg th@ mqsk { F@L2 R A 2#ta` t! sdbysdHt B@IL25IIfw%vfodd e Dt 7>-0p< /E9[q l b(2kPFd`&H/.(. N3XAC 5CqAH/yp(@ɡQ#-! $ 0d> j< !*NI2m? .͆@> /#N0! 0?@À| = ~!U #~+8~2)Gy/&i)=aLM  ]XL K J!9Q`@3??;{ 01~@~?73t;`YaP~@@ (( A!#M! 0d> !j ! N2-?SR 2͆>\ .#0@>0?0?0@| = 1A]APO.y3H;@ H@ ` `A! #! mdx>j6 A!α2"R:  >"#"t1@4"|?0=9 2++‘"2iY~p~!G))ę<aN˼K˞]nd˝^K @ {@76W ~`?<?߀Y@ ,/>@' ~`@  ! #! d>b2 !@22 D > # t 9@t 1| 0=`#8(pB"(~!Ϩ (Ab~pD0Yx)\ᱧ@\[-I`_okB/ ww? ~`?<?'{7{@w@_5?`~B  @ ͡#! $0d>!j$ M!J_N@2-P6A?\ / #N / -0?0A|A=( k8 !2I~ OíM )=O]DULFnL Iyv.F!Q@@ @p o@;{#Gpjp@@@>`?7Sf+`{sc|~**Uu "UUUU"**U"QU**uQU*UU@!# ! $0 d> !j< (N2)?2 6͆A? & ߽000<=  ~)(2@d2 ~ a K((~FGa +eeyo&)0_ @@Hps3{0s23z^?wcv@k`s_s|~ATrack-Info # N#A#F#B#G#C#H#D#I#E!# $m$1x>Aj> A! 2 :L >\A#d=5m@tm|?-B= @) "+]e2iI~p~Gof)PD<AN nk]]n @x8?L!^[ _@_Wc@w@W 0 @ހ@@ U@ UQB*U@ UUІ"UX "UA  U UQ* ! #! $>b2 !22 L >A # t@4 |-C=A9 +‘e$2~6~G21`&!>`ETn}N <+/?`s?`ww>؀??q{%Ї?w@{$@?` @@@  ĠȀ!# ! 0d ! M! ۀN2MSR͇A?\ /O'/0?A|M=#k %2I^G]F3SQyB>_e]DFOLNL]B + `@P3?;@sa;0! !,p>?##"C`m7q|ܰ6A#$ˀd>M!V Mɡ ۠2SR6͆A?\ /0 w0 70?0|-= 7$k8  e2i~&].ϲS& J>>_e}Fo  ]A 8+`@3{0323~C0  @@  A!# m$8>A" ͧA!22 :D>A#t=-@$I|?mB =]1  +B]e 2i~@zG2!&(!:ETnYNfk 8<+ ?>[? ` ;C/`w@o؄04 @ƄΠ@@0ߌ %@B̠ ,؄,ȀȀ؀$Q! #! d|>b6 A!26 L >A # t=@tm"|C0= A8 3+±] 2]~~~G21h&!>hTn}N~ <+8~=`$ `w _, 00 @@00%(UU(U*%UUjU*UU* "uQ"*UQ'me $d> ! M% ߀NK2mS2R6͇A?\ /#00 @?  ? ˀ|-= Fo  e2i~ϷS ><_e]FoL ]f@ 8+_?~7<~`@^_D00 @@@@00쀥@@  ݡm $0!d>! !*߀Nɲ-S2R6 ?\ / 0 ?0 ?0|-= %&k8 e2i~2 ><_e}Fo  &88+@@p;@{02s~S0@  **QU$5V"UU*UUꊪQU**UU]U"UA-0$@!dM! M!jߠNrR6 ?\!O 00 @?  ?qm= w"V!k oeE2i~0\7SQJA><_e}NFoL T&x8/@@p;?@ #23Z0%0    @ATrack-Info $ N$A$F$B$G$C$H$D$I$E! #! d|>j A!22"L > #2t=@t"|C=A 3+].2]~~G21b&)>ehTn@}NP <+k?IA{/_00 @@@0 0UUQA*U@UU*U`"UQUP*UU ! #! $@!d>͆!j> ͆!jN2>!R>͆!>\͆!##w!w!@A?w!?w%= ,vkJNeD2iA~fT2qR푻@?_d|Fo\ tN& 8+ ~??~UkUՀՀU@U@U`UPQ#0 $0> !V ! ۀN2m2R6͆?\L/! o ?0?0| = (k ϙMe2iA~f]2D(;>>_%}NFoLN&AAX 8+@@{06~?wv`s@@  A! #! $@!d>͆!j> ͆!jN2>!R>͆!>\͆!##w!w!@A?w!?w%= Y,~ #~+ů2i~8UG~2qyo&))>=_NFnf NFnf  x 8>+~??~   @@@@Q! #! d>j> !2> :L>(# t=@t |=A ~+],2~vG21`&)>hTnD}NP <+??`{w\W^@00 @@Ƞ@@0 0Ȁ@  @! #! $@!d>͆!j> ͆!jN2>!R>͆!>\͆!##w!w!@A?w!?w%= Y,~ #~+ů2i~8UG~2qyo&))>=_NFnf NFnf  x 8>+ 00 @@ @@0 0UUUT5UUUV*5UUUV*UUUUUjUUUUUUUUUUUUUUUQ#0 0 d>M!T !*N2mrR6͆ ?\ ' 0 @?0  ?0Q<m= 7)ZkJA%A2)~f]T2DR;>_e}Fo NfAX 8+`@{02v0 @     @  A! #! $@!d>͆!j> ͆!jN2>!R>͆!>\͆!##w!w!@A?w!?w%= Y,~ #~+ů2i~8UG~2qyo&))>=_NFnf NFnf  x 8>+ ~??~6*Q!ȡ #! d>j> !2> L>(# t =@t"| d=AX +±].2]~v~G21`&)>hTnD}N <+`]!6>Xz4Fv~FGq+ěmɑ@Xyo&;x=χ_e\@|:' !@m'(˾>6 >>qSnfFħlB2}f"jfF>_&O D Pٺi@(7EN]p(XoKQTrack-Info % N%A%F%B%G%C%H%D%I%E! #! $@!d>͆!j> ͆!jN2>!R>͆!>\͆!##w!w!@A?w!?w%= U,~ #~+ů2i~8UG~2qyo&))>=_NFnf NFnf  x 8>+!3~(!U,~<(~Gq#p+yxyo&))x=_|͔͈:i !ѧ(>>>>>nfNF B}2}o"nfNF >&0$o\!U U :i(7Nfyo)yoxKdddd*d^tdtddddddd4dJ4dNddzddFnf"^V!R"!^VR["!^VR[R0 !R"nf["**^VR0 !R"C[|R*8 !!"CS"<[*ɧR8 bkKɧB8[ɧR[[*Ky( "*Jy( "[A(/w x  ʶw&%0$F#fxo)x G/O͵!!!~(< ~(4ͣ~ j5~w~9~89## >2i~8=ô~G!~(!-~ #~+ů2i~8UG~2qyo&))>=_NFnf NFnf  x 8>+0!~(!-~<(~Gq#p+yxyo&))x=_|͔͈:i !ѧ(>>>>>nfNF B}2}o"nfNF >&0$o\!U U :i(7Nfyo)yoxKɵo{G{_>O!!F#~2#^#Vnf#~O>o~ 3~ 0y/w~ 0R-,~ 3~ 0y/w~ 0R, UU"":=(}}_02:ˡw $Tt4dD!.!->ͳ>0ͳͼSr*r#"r+R R0>ͳ>Yͳx ͳ} ͳyͳ_̛h5 G/O٦#ٱw}o0$++ Nfyo)yoxK G~w#/Oٱw}o0$++ !yO:_(s#_S#(s D_ S+(Ö Çͳ~#$ > ͳ> ͳ>2>ͳ>Eͳ>ͳ>Hͳ44$454F͒ͭDoubling cube status: Game is for $:o&ͭ point$:=(>sr:(6(ͭ. I have the cube.$ͭ. You have the cube.$ͭ.$ͭ $:çȯ2!*W "*W "ͭ M N ??? O P Q R Z S T U V W X$ͺͭ L K J I H G Y F E D C B A$!6#!"qDDD$D5DFddd$d5dF444$454F$5F$5F$5Fttt$t5tF$5F$5F$5F$5FTTT$T5TF$$$$$5$F$$$$o$^TTTToT^o^??????????????????o^o^o^ttttot^o^o^o^4444o4^ddddod^DDDDoD^8<00XX$P:$P>TPjTPnPPPPPPP*P^tPtPPPPPPP4PJ4PNdPzdP$d:$d>TdjTdndddTrack-Info & N&A&F&B&G&C&H&D&I&E???:!|ͻ:!iͻ͈=O}o">&0$o! ^#VOGNfyo)yoxK Gw}o0$++ |͈O}o">&0$oi&)))  Nfyo)yoK :qҧ^/w}o0$++ ?_(>ͳ>Yͳz ͳ{ ͳ>ͳ>eͳ>ͳ>fͳ>+{({/_|/g}/o#| >-r!BG/ V^-?=@;?+0 wݿ*+0w<|8=%W8  @@ 0 p~8+/` /x@@ @@<< 80p  a! c0` 8p ?R^R0V^^Zy0 @(rx###}0rɘB@'d M AC, K A R 8f$|lss|ffX<|0f8l8vv 000 0 0f<f<05?? pW0*@Uw0U  w@o[ ~o/x_ xx8@@IIIIFFFFIFF+?????????????~+?UU* U@*@Z  *U0 8@8/\0@gx 080??8V|pV` _`@ ??-?=@>?+0 wݿ*/ ?~~~~~+8 @_@0 +pV8 ` /?x@@@@<< 800  q10 R_-_n[d!o"c1|? a8g_+p`+/< @ .0a CU` 0p <??8BBB~%???????????%+UU Uw@ @Wo  U0.W`@+Track-Info ' N'A'F'B'G'C'H'D'I'E???*0Uo@ @U0W?@ +  *8W+W*W*W8+ 8 W0 @@0`@_ . V <0#{8   ǿx8!???? W0*p0W3 ¿8__C8p @_|`_/ +00_0`p+00 . <8p @/ @0,0*W "<>2j*r~+*)))  !r>>*|)))  r>>r*+} !r([~#!5*+"}(!5 6!~(5*@R"!5>8ʹ+6X͓>2B:O:o>2C>2C:B X͓͹+A8#I?8ka-A_W12345678=] 3k!:C~ D_:C~(Dpͺ] :Cw„a :Ca :C:Ca :C_„:Cak( ~>-:m73͏~>7=7k2CÁ*W "<>2j*W "<>2j8|>8| ??~# *~!Z:CO! N#F#nf }2}o"~O>&0$oOG!:–(.#G>##++### DG##&++### :* Nfyo)yoxK G:j(~*w#}o0$~/ONwq*#}o0$++ +AI?a-A_W12345678=ɱw0R, : s (""6"!!! $ & (!+!-"/$1%3'5)6,8.91:3;6<9<<9?9A9C8F7H6J5L4N3O1Q/R.S,S*T(T&T$S"S RQONLJHFCA><97520.,*)'&% %"$$$&$(%*%,&.'0)1*3,4.506275879:9<6>6@6B5D5F4H3I2K1L/M.N-O+P)P(P&P$P#O!NMLKIHFDB@><:86420/-,+* )!(#($(&((())+*-+.,/-1/20324456586:6CCCBA@?><:87420.,*'%#" |zx v"t$s%q(q*p,p.p0q2q5s7t9v:x