This page contains notes for the game MSX Derby (MSX).
MSX-BASIC Listing#
This is the de-tokenized form of the MSX-BASIC code contained in the ROM.
40 'KEIBA YOSOU GAME
50 ' --BY SOUKEI ZEMI.
60 ' 1983�H09�A09�G(�E)
100 CLEAR500:COLOR15,12,12:SCREEN1,2,0:WIDTH30:DEFINTA-Z:KEYOFF:PLAY"V13T255L64"
105 W=&HBF00:FORI=0TO3:C$="":FORJ=0TO31:C$=C$+CHR$(PEEK(W+J)):NEXT:SPRITE$(I)=C$:W=W+32:NEXT:X=0:I=240:J=255
110 LOCATE2,3:PRINTSTRING$(11,"*"):LOCATE2,4:PRINT"* M S X *":LOCATE2,5:PRINT"* DERBY *":LOCATE2,6:PRINTSTRING$(11,"*"):LOCATE15,11:PRINT"(C) 1983 ASCII"
115 PUTSPRITE25,(I-X*3.5,0),1,(XMOD2)*2:PUTSPRITE1,(J-X*3.5,0),1,(XMOD2)*2+1:GOSUB10515:PUTSPRITE2,(I-X*1.5,16),2,(XMOD2)*2:PUTSPRITE3,(J-X*1.5,16),2,(XMOD2)*2+1:GOSUB10515
120 PUTSPRITE4,(I-X*2,32),3,(XMOD2)*2:PUTSPRITE5,(J-X*2,32),3,(XMOD2)*2+1:GOSUB10515:PUTSPRITE6,(I-X*2.5,48),5,(XMOD2)*2:PUTSPRITE7,(J-X*2.5,48),5,(XMOD2)*2+1:GOSUB10515
125 PUTSPRITE8,(I-X*3,64),6,(XMOD2)*2:PUTSPRITE9,(J-X*3,64),6,(XMOD2)*2+1:GOSUB10515:PUTSPRITE10,(I-X*4,80),15,(XMOD2)*2:PUTSPRITE11,(J-X*4,80),15,(XMOD2)*2+1:GOSUB10515
130 PUTSPRITE12,(I-X*3,96),8,(XMOD2)*2:PUTSPRITE13,(J-X*3,96),8,(XMOD2)*2+1:GOSUB10515:PUTSPRITE14,(I-X*2.5,112),9,(XMOD2)*2:PUTSPRITE15,(J-X*2.5,112),9,(XMOD2)*2+1:GOSUB10515
135 PUTSPRITE16,(I-X*2,128),10,(XMOD2)*2:PUTSPRITE17,(J-X*2,128),10,(XMOD2)*2+1:GOSUB10515:PUTSPRITE18,(I-X*1.5,144),11,(XMOD2)*2:PUTSPRITE19,(J-X*1.5,144),11,(XMOD2)*2+1:GOSUB10515
140 PUTSPRITE20,(I-X*3.5,160),13,(XMOD2)*2:PUTSPRITE21,(J-X*3.5,160),13,(XMOD2)*2+1:GOSUB10515
150 IFX<57THENX=X+1:GOTO10513ELSE14870
160 IFSTRIG(0)ORSTRIG(1)ORSTRIG(2)THENRETURN14870ELSERETURN
170 SCREEN1,2:WIDTH30:COLOR15:LOCATE8,5:PRINT"M S X DERBY":PLAY"O3CD":LOCATE19,8:PRINT"(C) 1983":LOCATE19,9:PRINT"ASCII CORP.":PLAY"CD":SPRITE$(15)=CHR$(&HF0)+STRING$(6,&H80)+CHR$(&HF0)
180 LOCATE3,13:PRINT"ÌßÚ²Ô°êåýæýãÞ?":PRINTSPC(5);"1:ëäø":PRINTSPC(5);"2:ìàø":PRINTSPC(5);"3:ýæý":PRINTSPC(5);"4:öæý":Y=111
190 PUTSPRITE0,(44,Y),1,15:W=0
200 W=W+1:IFW>500THENRUN
210 IF((STICK(0)>4ANDSTICK(0)<8)OR(STICK(1)>4ANDSTICK(1)<8)OR(STICK(2)>4ANDSTICK(2)<8))ANDY<135THENGOSUB55849:Y=Y+8:GOTO61271
220 IF((STICK(0)>0ANDSTICK(0)<4)OR(STICK(1)>0ANDSTICK(1)<4)OR(STICK(2)>0ANDSTICK(2)<4))ANDY>111THENGOSUB55849:Y=Y-8:GOTO61271
230 A$=INKEY$:PL=VAL(A$):IFPL>0ANDPL<5THEN5672
240 IFNOT(A$=CHR$(13)ORSTRIG(0)ORSTRIG(1)ORSTRIG(2))THEN53893ELSEPL=(Y-111)/8+1
270 GOSUB55849:DIMHN$(24),HP(5,24),BW(6),C(6),CO(6),CY(6),RP(6),NS(6),HS(1,24),HK(24),BY$(PL,4),KY(8),CS$(2),BB$(4),OS$(14),O!(5,6),X(6),RT(6),ID(PL),PY(PL):DEFFNR(X)=RND(-TIME)*X+1:PUTSPRITE0,(0,209),0,0
280 LOCATE 3,13:PRINT"ÌßÚ²Ô° No. ýê åæâï?":PRINTSPC(34);"·°ÎÞ°ÄÞå÷ œÍß°œ·°,":PRINTSPC(34);"ŒÞ®²œÃš¯žå÷ úÞúéÎÞÀÝ":PRINTSPC(34);"ãàÞ.":ONSTRIGGOSUB330,340,350:STRIG(0)ON:STRIG(1)ON:STRIG(2)ON:J=1
290 ONSTRIGGOSUB330,340,350:J=1
300 STRIG(0)ON:STRIG(1)ON:STRIG(2)ON:LOCATE13,13:PRINTUSING"#";J;:PLAY"C64":FORX=0TO1000:NEXT
320 IFJ=<PLTHEN4904ELSESTRIG(0)OFF:STRIG(1)OFF:STRIG(2)OFF:GOTO13105
330 ID(J)=0:GOSUB55849:J=J+1:IFJ>PLTHENSTRIG(0)OFF:RETURN4904ELSE4904
340 ID(J)=1:GOSUB55849:J=J+1:IFJ>PLTHENSTRIG(1)OFF:RETURN4904ELSE4904
350 ID(J)=2:GOSUB55849:J=J+1:IFJ>PLTHENSTRIG(2)OFF:RETURN4904ELSE4904
360 STRIG(0)OFF:STRIG(1)OFF:STRIG(2)OFF
370 TP=PL
500 CLS:A=RND(-TIME):PLAY"L4T130V13O3CGEGCGEGCAFACGEG","L4S0M1000T130O5EGGGAGGGAO6CCDCO5AG2","L4T130V10EGGGAGGGAO6CCDCO5AG2"
510 RESTORE3220:FORI=1TO2:READCS$(I):NEXT:FORI=1TO4:READBB$(I):NEXT:FORI=1TO8:READKY(I):NEXT:FORI=1TO24:READHN$(I):NEXT
520 FORI=1TO24:A=FNR(1000)+999:A$=STR$(A):FORJ=0TO2:HP(J,I)=VAL(MID$(A$,J+3,1))+1:NEXT:A=FNR(1000)+999:A$=STR$(A):FORJ=3TO5:HP(J,I)=VAL(MID$(A$,J,1))+1:NEXT:NEXT
530 FORI=1TO6:READC(I):NEXT:FORI=0TO14:READOS$(I):NEXT:PLAY"CGEGCGEGO2GO3GFGO2GO3GC2","O6CCO5AGAAGEGEGEDDC2","O6CCO5AGAAGEGEGEDDC2"
540 KY(0)=KY(FNR(8)):CS$(0)=CS$(2+(FNR(10)<6)):LOCATE5,3:PRINT"** Ú°œ é ø **":LOCATE10,5:PRINTKY(0)*100;"m ãÞ":LOCATE5,8:PRINT"** º ° œ **":LOCATE11,10:PRINTCS$(0);"º°œ ãÞ"
550 LOCATE1,12:PRINT"�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W"
560 PRINT"¥Ú°œê öý÷ïãÞ 7Ú°œøï.":PRINT:PRINT"¥óáý ê 3000�I ãÞ.":PRINT:PRINT"¥ÃÞ°À ýæ ö ãàÞ.":PRINT:PRINT"¥äë ê 4äø ïãÞãÞ,100�I àý.":PRINT:PRINT" ÞýêÞã àÞè."
570 FORI=1TO24:HK(I)=0:HS(0,I)=100:HS(1,I)=0:NEXT:FORI=1TOPL:PY(I)=300:NEXT
580 FORI=0TO30:A=FNR(24):B=FNR(24):IFA<>BTHENSWAPHN$(A),HN$(B):NEXTELSESWAPHN$(1),HN$(A):NEXT
600 IFPLAY(0)THEN4847
610 RC=1:RN$="öý 1":GOSUB61505:FORI=1TO6:BW(I)=I:NEXT:GOSUB44981:GOSUB19002
620 RC=2:RN$="öý 2":GOSUB61505:FORI=1TO6:BW(I)=I+6:NEXT:GOSUB44981:GOSUB19002
630 RC=3:RN$="Þý 1":GOSUB61505:J=1:FORI=1TO12:IFHK(I)=1THENBW(J)=I:J=J+1
640 NEXT:GOSUB44981:GOSUB19002
650 RC=4:RN$="öý 3":GOSUB61505:FORI=1TO6:BW(I)=I+12:NEXT:GOSUB44981:GOSUB19002
660 RC=5:RN$="öý 4":GOSUB61505:FORI=1TO6:BW(I)=I+18:NEXT:GOSUB44981:GOSUB19002
670 RC=6:RN$="Þý 2":GOSUB61505:J=1:FORI=13TO24:IFHK(I)=1THENBW(J)=I:J=J+1
680 NEXT:GOSUB44981:GOSUB19002
690 RC=7:RN$="":GOSUB61505:J=1:FORI=1TO24:IFHK(I)=2THENBW(J)=I:J=J+1
700 NEXT:GOSUB44981
720 SCREEN1:CLS:PRINT:PRINTSPC(5);"Player Þý"
730 FORI=1TOPL:LOCATE5,I*2+3:PRINTUSING"@# ";"No.";I;:W=PY(I):IFW<10THENW=0ELSEW=W*10
735 PRINTUSING"######@";W;"�I":NEXT
740 LOCATE1,15:PRINT"é ÒÝÊÞ°ãÞ ¹Þ°Ñùå÷,":PRINT" œÍß°œ·°ÄضްÎÞÀÝ ãàÞ.":PRINT:PRINT" ÷ êÞòùéå÷,":PRINT" SELECT·° ãàÞ.":W=1
750 IFSTRIG(0)ORSTRIG(1)ORSTRIG(2)THEN61992
760 W=W+1:IFW>2000ORINKEY$=CHR$(24)THENRUNELSE10515
870 CLS:LOCATE9,0:PRINTRC"Ú°œ µ¯œÞ":LOCATE0,1:PRINT"�X";:FORI=0TO27:PRINT"�W";:NEXT:PRINT"�Y";:FORI=2TO7:LOCATE0,I:PRINT"�V";:LOCATE29,I:PRINT"�V";:NEXT:LOCATE0,8:PRINT"�Z";:FORI=0TO27:PRINT"�W";:NEXT:PRINT"�[";
910 FORI=0TO4:LOCATE1,I+2:PRINTOS$(I);:NEXT:FORI=5TO8:LOCATE11,I-3:PRINTOS$(I);:NEXT:FORI=9TO11:LOCATE21,I-7:PRINTOS$(I);:NEXT:LOCATE11,7:PRINTOS$(14);:FORI=12TO13:LOCATE21,I-6:PRINTOS$(I);:NEXT
920 LOCATE1,9:PRINT"¥";CS$(0);" ";:K$=RIGHT$(STR$(KY(0)),2)+"00":PRINTK$;"m ";RN$;:LOCATE25,9:PRINTBB$(0)
930 LOCATE0,10:PRINT"�W�W�W�W�W�W�W�W�W n-k-t-a-c-d-o-öý�W�W�W";:FORI=1TO6:LOCATE0,10+I:PRINTRIGHT$(STR$(I),1);" ";HN$(BW(I)):NEXT:LOCATE0,17:PRINT"�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W�W";
940 SPRITE$(15)=CHR$(&HF0)+STRING$(6,&H80)+CHR$(&HF0)
960 FORI=1TO6:A=HP(0,BW(I))+HP(1,BW(I))+HP(2,BW(I)):R$="C":IFA>18THENR$="A"ELSEIFA>12THENR$="B"
970 LOCATE10,I+10:PRINTR$;:NEXT
980 FORI=1TO6:A=HP(1,BW(I))+HP(2,BW(I))*2:R$="C":IFA>18THENR$="A"ELSEIFA>12THENR$="B"
990 LOCATE12,I+10:PRINTR$;:NEXT
1000 FORI=1TO6:IFHP(0,BW(I))=>HP(1,BW(I))THENR$="�Q"ELSER$="�R"
1010 LOCATE14,I+10:PRINTR$;:NEXT
1020 FORI=1TO6:A=HP(3,BW(I)):R$="C":IFA>7THENR$="A"ELSEIFA>4THENR$="B"
1030 LOCATE16,I+10:PRINTR$;:NEXT
1040 FORI=1TO6:A=RND(1)*9+1:CO(I)=A:R$=RIGHT$(STR$(A),1)
1050 LOCATE18,I+10:PRINTR$;:NEXT
1060 FORI=1TO6:A=HP(5,BW(I)):R$="C":IFA>7THENR$="A"ELSEIFA>4THENR$="B"
1070 LOCATE20,I+10:PRINTR$;:NEXT
1080 FORI=1TO6:A=HP(4,BW(I)):R$="C":IFA>7THENR$="A"ELSEIFA>4THENR$="B"
1090 LOCATE22,I+10:PRINTR$;:NEXT
1100 FORI=1TO6:A$=RIGHT$(STR$(HS(0,BW(I))),2):LOCATE24,I+10:PRINTA$;:PRINTUSING"####";HS(1,BW(I));:NEXT
1120 SB=-((BB$(0)=BB$(2))+(BB$(0)=BB$(3))*2+(BB$(0)=BB$(4))*3)
1130 SD=-(CS$(0)=CS$(2))
1140 IFKY(0)=32THENK1=1:K2=4:K3=5:GOTO18671
1150 IFKY(0)>19THENK1=2:K2=5:K3=3:GOTO18671
1160 ON(KY(0)\2-5)GOSUB1280,6656,12032,14848:GOTO18671
1170 K1=8:K2=2:K3=0:RETURN
1175 K1=7:K2=3:K3=0:RETURN
1180 K1=6:K2=4:K3=0:RETURN
1185 K1=5:K2=4:K3=1:RETURN
1200 FORI=1TO6
1210 RP(I)=HP(0,BW(I))*K1+HP(1,BW(I))*K2+HP(2,BW(I))*K3
1220 A=SB*6*(11-HP(4,BW(I)))/80:B=SD*(11-HP(5,BW(I)))*2:C=30-CO(I)*3:NS(I)=(100-A)*(100-B)*(100-C)/10000-2*I+5:RP(I)=RP(I)*NS(I)/100:NS(I)=NS(I)+2*I:NEXT
1230 FORI=1TO6:RP(I)=RP(I)*RP(I)/10:NEXT
1250 S1=RP(1)+RP(2)+RP(3)+RP(4)+RP(5)+RP(6):S1!=S1*S1:S2!=0:FORI=1TO6:S2!=S2!+RP(I):NEXT:S!=(S1!-S2!)/2
1260 FORI=1TO5:FORJ=I+1TO6:O!(I,J)=.6*S!/(RP(I)*RP(J)):O!(I,J)=-(O!(I,J)>99)*99-(O!(I,J)<=99)*O!(I,J):O!(I,J)=(INT(O!(I,J)*10))/10:NEXTJ,I
1270 FORI=1TOPL:FORJ=1TO4:BY$(I,J)="**:*":NEXTJ,I
1280 FORI=2TO6:LOCATE5,I:PRINTUSING"##.#";O!(1,I);:NEXT:FORI=3TO6:LOCATE15,I-1:PRINTUSING"##.#";O!(2,I);:NEXT:FORI=4TO6:LOCATE25,I-2:PRINTUSING"##.#";O!(3,I);:NEXT:LOCATE15,7:PRINTUSING"##.#";O!(5,6);:FORI=5TO6:LOCATE25,I+1:PRINTUSING"##.#";O!(4,I);:NEXT
1320 GOSUB22864
1340 LOCATE0,23:PRINT"äë œÀ°Ä ·¬ÝŸÙ âò";:X=7
1350 PUTSPRITE0,(X,183),1,15
1360 IF(STICK(0)=3ORSTICK(1)=3ORSTICK(2)=3)ANDX<151THENX=X+48:GOSUB55849:GOTO38991
1370 IF(STICK(0)=7ORSTICK(1)=7ORSTICK(2)=7)ANDX>7THENX=X-48:GOSUB55849:GOTO38991
1380 A=-STRIG(0)-STRIG(1)*2-STRIG(2)*4:IFA=0THEN63252ELSEPUTSPRITE0,(X,209),0,0
1390 IFX=151THEN8224
1400 IFX<>55THEN60993ELSEJ=1
1410 IFPY(J)>90ANDBY$(J,1)="**:*"THENLOCATE0,22:PRINT"Þý äëãàÞ.":PLAY"O8C2":FORW=1TO1000:NEXT:GOTO58402ELSEJ=J+1:IFJ>PLTHEN4392ELSE10514
1420 IFX<>103THEN39954
1430 IFA>=4THENJ=1:I=2:GOSUB20514:A=A-4
1440 IFA>=2THENJ=1:I=1:GOSUB20514:A=A-2
1450 IFA>=1THENJ=1:I=0:GOSUB20514:GOTO58402ELSE58402
1470 GOSUB55849:K=1:LOCATE0,22:PRINT"Player No ";
1480 IFID(J)<>ITHENJ=J+1:IFJ>PLTHENRETURNELSE19083
1485 IFPY(J)<0THENJ=J+1:GOTO19083
1490 LOCATE10,22:PRINTUSING"#";J;
1500 IFSTICK(I)=1ORSTICK(I)=5THENJ=J+1:GOSUB55849:IFJ>PLTHENJ=1:GOTO19083ELSE19083
1510 IFNOTSTRIG(I)THEN19162ELSEGOSUB55849:K=1:IFBY$(J,K)="**:*"THENLOCATE0,22:PRINT" ·¬ÝŸÙ íÞ äëÞ øïý.":PLAY"O8C2":FORW=1TO1500:NEXT:RETURN
1520 LOCATE14,22:PRINTBY$(J,K);
1530 IFSTICK(I)=3THENGOSUB55849:K=K+1:IFK>4THENRETURNELSEIFBY$(J,K)="**:*"THENRETURNELSE59
1540 IFNOT(STRIG(I))THEN61771ELSEGOSUB55849:PY(J)=PY(J)+VAL(RIGHT$(BY$(J,K),1))*10:BY$(J,K)="**:*"
1550 FORK=1TO3:IFBY$(J,K)="**:*"THENSWAPBY$(J,K),BY$(J,K+1)
1560 NEXT:GOSUB22864:FORW=1TO1500:NEXT:RETURN
1600 IFA>=4THENJ=1:I=2:GOSUB19083:A=A-4
1610 IFA>=2THENJ=1:I=1:GOSUB19083:A=A-2
1620 IFA>=1THENJ=1:I=0:GOSUB19083
1630 GOTO38991
1650 IFID(J)<>ITHENJ=J+1:IFJ>PLTHENRETURNELSE19083
1655 IFPY(J)<10ORBY$(J,4)<>"**:*"THENJ=J+1:IFJ>PLTHENRETURNELSE19083
1660 GOSUB55849:K=0:LOCATE0,22:PRINT"Player No ê";SPC(16);
1670 LOCATE10,22:PRINTUSING"#";J:IFSTRIG(I)THEN41983
1680 IFNOT(STICK(I)=1ORSTICK(I)=5)THEN43533ELSEJ=J+1:IFJ>PLTHENJ=1
1690 IFID(J)=IANDPY(J)>0ANDBY$(J,4)="**:*"THENGOSUB55849:GOTO41983ELSEJ=J+1:IFJ>PLTHENJ=1:GOTO17142ELSE17142
1700 IFSTICK(I)=3THENK=K+1:GOSUB55849:IFK>14THENK=0
1710 IFSTICK(I)=7THENK=K-1:GOSUB55849:IFK<0THENK=14
1780 LOCATE14,22:PRINTOS$(K);
1790 IFNOTSTRIG(I)THEN5871ELSEGOSUB55849
1800 LOCATE18,22:PRINT"æ ";:B=1:IFSTRIG(I)THEN14866
1810 IFSTICK(I)=3THENB=B+1:IFB>9THENB=9ELSEGOSUB55849
1820 IFSTICK(I)=7THENB=B-1:IFB<0THENB=0ELSEGOSUB55849
1830 LOCATE20,22:PRINTUSING"#";B
1840 IFNOTSTRIG(I)THEN60994ELSEGOSUB55849
1850 LOCATE22,22:PRINT"äë.";:IFB=0THENLOCATE0,22:PRINTSTRING$(29," ");:RETURN
1860 B$=OS$(K):B$=LEFT$(B$,1)+RIGHT$(B$,1):K=1
1870 IFLEFT$(BY$(J,K),2)=B$THENLOCATE0,22:PRINT"ãÞæäëãùéä åÞãÞ. ";:PLAY"O8C2":FORW=1TO2000:NEXT:RETURNELSEK=K+1:IFK<5THEN9282ELSEK=1
1880 IFB*10>PY(J)THENLOCATE0,22:PRINT" èÞ àøïýö. ";:PLAY"O8E2":FORW=1TO2000:NEXT:RETURN
1890 IFBY$(J,K)="**:*"THENBY$(J,K)=B$+":"+RIGHT$(STR$(B),1):PY(J)=PY(J)-B*10:GOSUB22864:GOSUB55849:RETURNELSEK=K+1:IFK<5THEN17114
1900 LOCATE0,22:PRINT"ëäø 4 ùïãÞ äëãÞïý ";:PLAY"O8C2":FORW=1TO2000:NEXT:RETURN
2110 LOCATE0,0:PRINT" â ò ";:GOSUB11292:GOSUB14907:LOCATE1,2:PRINT"n: éø k: ä t: â";:LOCATE2,3:PRINT"A-à A-long �Q ý";:LOCATE2,4:PRINT"B-ìâ B-middle �R ð";:LOCATE2,5:PRINT"C-ë C-short";:GOSUB10515
2120 GOSUB14907:GOSUB11292:LOCATE1,2:PRINT"a: ýãäÞ c: á d: ÀÞ°Ä";:LOCATE2,3:PRINT"A-ýã 9-good A-ï";:LOCATE2,4:PRINT"B-ïï �V B-ïï";:LOCATE2,5:PRINT"C-ãæå÷å 1-bad C-íà";:GOSUB10515
2130 GOSUB14907:GOSUB11292:LOCATE1,2:PRINT"o: óêÞêÞ öý: öý åäÞé ";:LOCATE2,3:PRINT"A-ï ëàÞø÷ öý Þý";:LOCATE2,4:PRINT"B-ïï Þý Þý";:LOCATE2,5:PRINT"C-íà öý é À²Ñ";:GOSUB10515
2140 GOSUB14907:GOSUB11292:FORI=0TO4:LOCATE1,I+2:PRINTOS$(I);:NEXT:FORI=5TO8:LOCATE11,I-3:PRINTOS$(I);:NEXT:FORI=9TO11:LOCATE21,I-7:PRINTOS$(I);:NEXT:LOCATE11,7:PRINTOS$(14);:FORI=12TO13:LOCATE21,I-6:PRINTOS$(I);:NEXT
2150 LOCATE0,0:PRINT" ";:LOCATE9,0:PRINTRC;"Ú°œ µ¯œÞ ";:GOTO11811
2170 SCREEN2,2:COLOR15,12+(CS$(0)="ÀÞ°Ä")*6,8:CLS:CLOSE:OPEN"GRP:"AS#1
2180 DATA4,52,92,160,68,1.57,2,20,1.57,4.71,88,4,4.71
2190 DATA68,1,1.57,20,4.71,1.57,88,4.71,5,15,0,240,20,47,235,20,86,235,15,152,240
2200 DATA0,162,255,191,8,198,56,200,91,7,202,56,203,91,7,80,50,160,80,1,90,81,96,85,1,144,81,150,85,1
2210 RESTORE2180:FORI=0TO3:READY:LINE(25,Y)-(230,Y),1:NEXT
2220 FORI=0TO2:READR,S!,E!:CIRCLE(25,72),R,1,S!,E!:NEXT
2230 FORI=0TO2:READR,S!,E!:CIRCLE(230,72),R,1,S!,E!:NEXT:LINE(15,0)-(0,3):LINE(15,152)-(0,147):LINE(240,0)-(255,3):LINE(240,152)-(255,147)
2240 FORI=0TO3:READX1,Y,X2:LINE(X1,Y)-(X2,Y),15:NEXT:LINE(20,47)-(5,67):LINE-(20,86):LINE(235,47)-(250,67):LINE-(235,86)
2250 FORI=20TO230STEP10:LINE(I,0)-(I,3):LINE(I,47)-(I,51):LINE(I,86)-(I,91):LINE(I,152)-(I,159):NEXT
2260 FORI=0TO5:READA,B,X,Y,C:LINE(A,B)-(X,Y),C,BF:NEXT
2270 PRESET(20,60),12:PRINT#1,CS$(0):PRESET(20,70),12:PRINT#1,KY(0)*100;"m"
2275 IFTP=4THEN10521ELSEK=8
2280 FORI=1TOPL:PRESET(0,157+K):W=PY(I):IFW=-1THEN14867ELSEK=K+8:W=W*10:PRINT#1,"No";I;:FORJ=1TO4:PRINT#1,BY$(I,J)" ";:NEXT:A$=RIGHT$(" "+STR$(W),6):PRINT#1,A$
2285 NEXT:GOTO8753
2290 FORI=1TO2:PRESET(8,157+I*8):PRINT#1,"No";RIGHT$(STR$(I),1);" ";:FORJ=1TO4:PRINT#1,LEFT$(BY$(I,J),2);" ";:NEXT:PRINT#1,"No";RIGHT$(STR$(I+2),1);" ";:FORJ=1TO4:PRINT#1,LEFT$(BY$(I+2,J),2);" ";:NEXT:NEXT
2300 PRESET(85,54),1:PRINT#1,"1":PRESET(85,63),1:PRINT#1,"2":PRESET(85,72),1:PRINT#1,"3"
2310 SOUND7,56:A$="S1M1C64":PLAYA$,A$,A$
2320 A$="S13M553L8T160":K1$="CEGG16G16GEE16E16ECEC"
2330 M1$=A$+"O4GO5"+K1$:M2$=A$+"O3GO4"+K1$:M3$=A$+"O5GO6"+K1$:PLAYM1$,M2$,M3$
2340 K1$="CEGG16G16GGEC":K2$="GG16G16G"
2350 M1$="O4G1GO5"+K1$+"O4"+K2$+"O5C1":M2$="O3G1GO4"+K1$+"O3"+K2$+"O4C1":M3$="O5G1GO6"+K1$+"O5"+K2$+"O6C1":PLAYM1$,M2$,M3$
2390 W=&HBF00:FORI=0TO7:C$=""
2400 FORJ=0TO31:C$=C$+CHR$(PEEK(W+J)):NEXT
2410 SPRITE$(I)=C$:W=W+32:NEXT
2430 K1=KY(0)*20+40:FORI=1TO6:X(I)=K1:NEXT:IFKY(0)>22THEN7208
2440 FORH=1TO6:PUTSPRITE2*H-1,(X(H)-230,40-7*H),C(H),0:PUTSPRITE2*H,(X(H)-215,40-7*H),C(H),1:NEXT:GOTO3546
2450 FORH=1TO6:PUTSPRITE30-2*H,(740-X(H),68+11*H),C(H),4:PUTSPRITE29-2*H,(755-X(H),68+11*H),C(H),5:NEXT
2460 FORI=1TO5000:NEXT:IFPLAY(0)THEN3546
2490 POKE&HE700,1:SOUND7,60:DEFUSR0=&HBA00:A=USR(0)
2500 K=KY(0)*20:FORI=1TO6:A=RND(1)*HP(3,BW(I))*7+50:NS(I)=NS(I)*A/90:NEXT:T=1
2510 H=1:FORI=1TO6:CY(I)=0:NEXT:CY=1
2520 IFK-X(H)<170THENRP(H)=(2+HP(0,BW(H)))*NS(H)/12+20:GOTO10568
2530 IFX(H)<180THENRP(H)=(2+HP(1,BW(H)))*NS(H)/12ELSERP(H)=(2+HP(2,BW(H)))*NS(H)/12+20
2540 A=RND(1)*120:IFRP(H)>A*2/3THENIFRP(H)>ATHENM=11ELSEM=5ELSEM=3
2550 X(H)=X(H)-M:IFX(H)<-60THEN18571
2560 IFX(H)>190ANDX(H)<215THENPUTSPRITE2*H,(0,209),0,0
2570 IFX(H)>470ANDX(H)<508THENPUTSPRITE30-2*H,(0,209),0,0
2580 IFX(H)<200THENIFX(H)<180THENPUTSPRITE30-2*H,(170-X(H),68+11*H),C(H),4+(TMOD2)*2:PUTSPRITE29-2*H,(185-X(H),68+11*H),C(H),5+(TMOD2)*2:GOTO18571ELSEPUTSPRITE30-2*H,(0,209),0,0:PUTSPRITE29-2*H,(185-X(H),68+11*H),C(H),5+(TMOD2)*2:GOTO18571
2590 IFX(H)>=200ANDX(H)<485THENIFX(H)>215ANDX(H)<470THENPUTSPRITE2*H-1,(X(H)-230,40-7*H),C(H),0+(TMOD2)*2:PUTSPRITE2*H,(X(H)-215,40-7*H),C(H),1+(TMOD2)*2:GOTO18571ELSE11282
2600 IFX(H)>=485THENPUTSPRITE30-2*H,(740-X(H),68+11*H),C(H),4+(TMOD2)*2:IFX(H)>499THENPUTSPRITE29-2*H,(755-X(H),68+11*H),C(H),5+(TMOD2)*2:GOTO18571ELSEPUTSPRITE29-2*H,(0,209),0,0:GOTO18571
2610 IFX(H)<=215THENPUTSPRITE2*H-1,(0,209),0,0:PUTSPRITE2*H,(X(H)-215,40-7*H),C(H),1+(TMOD2)*2ELSEPUTSPRITE2*H-1,(X(H)-230,40-7*H),C(H),0+(TMOD2)*2:PUTSPRITE2*H,(0,209),0,0
2620 IFX(H)<0THEN2650
2630 IFH<6THENH=H+1:GOTO61225ELSET=T+1:H=1:GOTO61225
2640 IFCY(H)<>0THEN21665
2650 CY(H)=CY:RT(H)=T:IFCY(H)=1THENC1=HELSEIFCY(H)=2THENC2=H
2660 IFCY(H)=3THENC3=H
2670 IFCY(H)<4THENHK(BW(H))=HK(BW(H))+1ELSEHK(BW(H))=0
2680 IFCY<6THENCY=CY+1:GOTO21665
2700 PRESET(90,54),1:PRINT#1,C1:PRESET(90,63),1:PRINT#1,C2:PRESET(90,72),1:PRINT#1,C3:IFC1>C2THENSWAPC1,C2
2710 TK$=RIGHT$(STR$(C1),1)+"-"+RIGHT$(STR$(C2),1):PRESET(125,60),1:PRINT#1,TK$:PRESET(120,72),1:PRINT#1,STR$(O!(C1,C2)*100)
2720 FORI=0TO2000:NEXT:FORI=17TO28:PUTSPRITEI,(0,209),0,0:NEXT:TK$=LEFT$(TK$,1)+RIGHT$(TK$,1):POKE&HFD9A,&HC9:A$="V1C64":PLAYA$,A$,A$
2730 S1=0:FORI=1TOPL:PRESET(12,98+I*8):PRINT#1,"Player No";I;
2740 FORJ=1TO4:IFLEFT$(BY$(I,J),2)<>TK$THEN14979ELSEPRESET(108,98+I*8):PRINT#1,LEFT$(BY$(I,J),1)"-"MID$(BY$(I,J),2,1)
2750 PY=O!(C1,C2)*VAL(RIGHT$(BY$(I,J),1))*10:PY(I)=PY(I)+PY:PRESET(140,98+I*8):PRINT#1,RIGHT$(" "+STR$(PY),4);"0":S1=1
2760 NEXT:W=PY(I):IFW=-1THENNEXTELSEW=W*10:PRESET(196,98+I*8):PRINT#1,RIGHT$(" "+STR$(W),6);:NEXT
2820 IFS1=1THENPLAY"V13T255O7DGDGDGDGDG"ELSEPLAY"V13O2ECECCC"
2830 IFPLAY(0)THEN18818
2840 CLOSE:FORI=0TO3000:NEXT
2860 IFRC=1ORRC=2ORRC=4ORRC=5THEN10537
2870 IFRC=3ORRC=6THENFORI=1TO6:HS(0,BW(I))=HS(0,BW(I))+CY(I):NEXT:I=0:GOTO10515
2880 FORI=1TO6:HS(0,BW(I))=HS(0,BW(I))+CY(I)*10:HS(1,BW(I))=RT(I):NEXT:I=0
2890 IFSTRIG(0)ORSTRIG(1)ORSTRIG(2)THENRETURNELSEI=I+1:IFI>900THENRETURNELSE10515
2970 FORW=1TO800:NEXT:IFNOTPLAY(0)THENPLAY "O5E62F62G62":RETURNELSERETURN
2980 FORW=1TO500:NEXT:IFNOTPLAY(0)THENPLAY "O6C62D62E62":RETURNELSERETURN
2990 FORW=1TO300:NEXT:IFNOTPLAY(0)THENPLAY "O7C62E62G62":RETURNELSERETURN
3000 LOCATE0,18:FORI=1TOPL:W=PY(I):IFW=-1THEN10530ELSEPRINTUSING"No#-";I;:FORJ=1TO4:PRINTBY$(I,J)" ";:NEXT:PRINTUSING"######";W*10;
3010 NEXT:LOCATE0,22:PRINTSTRING$(29," ");:RETURN
3120 A=RND(-TIME)*10:B=-(A<3)*(A+1)+1:BB$(0)=BB$(B):RETURN
3150 LOCATE0,22:PRINTSTRING$(29," ");:LOCATE0,23:PRINTSTRING$(29," ");:RETURN
3170 LOCATE0,20:PRINTSTRING$(29," ");:LOCATE0,21:PRINTSTRING$(29," ");:RETURN
3180 IFSTRIG(0)ORSTRIG(1)ORSTRIG(2)THEN10515
3190 PUTSPRITE0,(0,209),0,0:LOCATE1,23:PRINT"œÍß°œ·° ïàê ÎÞÀÝ ãàÞ";
3200 IFSTRIG(0)ORSTRIG(1)ORSTRIG(2)THENGOSUB55849:RETURNELSE10515
3210 FORZ=2TO7:LOCATE1,Z:PRINTSTRING$(28," ");:NEXT:RETURN
3220 DATA"êÞ ",ÀÞ°Ä,ø,ó,ôôó,ìø,12,14,16,18,20,24,25,32
3230 DATAHŸ²º°,TΰÌß,ijŒ®³B,TÎß²ÝÄ,ÏÙŸÞÝS,K¶ÁÄÞ·,AÃÝØ³,MÌßØÝœ,SŒ®³Ø,γֳB,¶Â×ÉH,GžÞל,HTÚÃÞš,±žÞÈœR,ܺG,KÐÉÌÞ,ŸÝÄR,MÚÀ°Ý,±ÝÊÞ°S,ÄÞÛ¯ÎßR,B¶ÞÙ°,KTްœ,œØ°G,¶ÌÞ×ÔO
3240 DATA15,1,9,4,10,7
3250 DATA1-2,1-3,1-4,1-5,1-6,2-3,2-4,2-5,2-6,3-4,3-5,3-6,4-5,4-6,5-6
3500 SCREEN1,2:COLOR15,12,12:CLS:J=0:FORI=1TOPL:IFPY(I)>9THENNEXTELSEJ=J+1:NEXT
3510 IFJ=PLTHENRETURN25977ELSEJ=0:FORI=1TOPL:IFPY(I)>9ORPY(I)=-1THENNEXTELSEJ=J+1:NEXT
3515 IFJ=0THENRETURN
3520 TP=TP-1:K=1:PLAY"T100L4S9M20000O2CCC8C.D+D8DC8CO1B8O2C1T255L64V13":FORI=1TOJ:LOCATE3,5+I
3540 IFPY(K)>9ORPY(K)=-1THENK=K+1:IFK>PLTHENRETURNELSE55826
3550 PRINTUSING"Player No@#êéø ##�I";".";K;PY(K)*10;:PY(K)=-1:K=K+1:NEXT
3560 LOCATE5,9:PRINT"Ú°œ æ ýãÞïý."
3565 IFPLAY(0)THEN62134ELSEI=0
3570 IFSTRIG(0)ORSTRIG(1)ORSTRIG(2)THENRETURNELSEI=I+1:IFI>700THENRETURNELSE10515