home *** CD-ROM | disk | FTP | other *** search
- 1 IFLC=0THENLC=1:LOAD"MC",8,8
- 2 IFLC=1THENLC=2:LOAD"P.CURSOR",8,8
- 3 IFLC=2THENLC=3:PRINTCHR$(147)CHR$(142)CHR$(8);:LOAD"C.MASK",8,8
- 4 IFLC=3THENLC=4:POKE53280,11:POKE53281,11:LOAD"MASK",8,8
- 5 POKE55,63:POKE56,156:CLR:DIM VI(39,24),JR(26)
- 6 DIMSX(17),SY(17),MX(15),MY(15)
- 7 DEF FN JY(X) =JR(PEEK(X)-101)
- 8 DEF FN XB(X) =INT((X-24)/8)
- 9 DEF FN YB(Y) =INT((Y-50)/8)
- 20 DEF FN PW(X) =INT(X*40.96)
- 21 DEF FN FR(X) =INT(X*17.02841156)
- 22 DEF FN GR(X) =INT(((X*1000)-30)/5.8182)
- 23 DEF FN HI(X) =INT(X/256)
- 24 DEF FN LO(X) =X-256*FN HI(X)
- 25 DEF FN PO(N1)=N1+16*N2
- 26 DEF FN XK(X) =PEEK(700)+PEEK(701)*256
- 27 DEF FN YK(X) =PEEK(702)
- 28 DEF FN SX(X) =X*8+24
- 29 DEF FN SY(Y) =Y*8+50
- 30 DEF FN OD(W) =W AND 1
- 31 DEF FN GH(X) =INT(X/8)
- 32 DEF FN GL(X) =X-8*FN GH(X)
- 36 S=54272:FORI=0TO2:A=I+1:B=S+7*I:FL(A)=B:FH(A)=B+1:PL(A)=B+2:PH(A)=B+3
- 37 KO(A)=B+4:AD(A)=B+5:SR(A)=B+6:NEXTI
- 40 GL=S+21:GH=S+22:RF=S+23:ML=S+24
- 43 VO=0:FU=0:FO=3848.568011:UG=0.03:OG=11.9398554:PU=0:PO=100:V=1:CS=58640
- 44 JO=56320:FORI=0TO24:POKES+I,0:NEXTI
- 50 FORI=1TO7:READX,Y,M:VI(X,Y)=M:VI(X,Y+1)=M:VI(X,Y+2)=M:SX(I)=FNSX(X)
- 51 SY(I)=FNSY(Y):NEXTI:FORI=1TO10:READX,Y,M:VI(X,Y)=M:VI(X+1,Y)=M:VI(X+2,Y)=M
- 52 SX(I+7)=FNSX(X):SY(I+7)=FNSY(Y):NEXTI:FORI=0TO26:READJR(I):NEXTI
- 55 POKE2041,14:POKE2042,15:FORI=896TO919:POKEI,255:NEXTI:FORI=960TO1022:POKEI,0
- 56 NEXTI:FORI=920TO958:POKEI,0:NEXTI:FORI=960TO995STEP3:POKEI,255:NEXTI
- 57 POKE53271,4:POKE53275,14:POKE700,32:POKE701,0:POKE702,58
- 58 FORI=0TO3:POKE53287+I,1:NEXTI
- 59 FORI=1TO15:READMX(I),MY(I):NEXT
- 60 POKE2043,14:POKE53254,248:POKE53255,138
- 200 POKE53269,(DO*8)*-(V=3):SYS40000:X=FNXK(0):Y=FNYK(0):M=VI(FNXB(X),FNYB(Y))
- 201 IFX>255THENPOKE700,PEEK(700)-1
- 202 IFM=0GOTO200
- 203 POKE53269,(DO*8)*-(V=3):XP=53252:YP=53253:A=4
- 210 IFM>7THENXP=53250:YP=53251:A=2
- 211 POKEYP,SY(M):IFX<256THENPOKEXP,SX(M)
- 212 IFX>255THENPOKEXP,SX(M)-255:POKE53264,A
- 213 POKE53269,PEEK(53269)OR A
- 214 ONMGOSUB300,320,340,360,380,400,420,440,460,480,500,520,540,560,580,600,620
- 220 GOTO200
- 300 W=A(V):GOSUB650:A(V)=W:N2=A(V):POKEAD(V),FNPO(D(V)):RETURN
- 320 W=D(V):GOSUB650:D(V)=W:N2=A(V):POKEAD(V),FNPO(W):RETURN
- 340 W=S(V):GOSUB650:S(V)=W:N2=S(V):POKESR(V),FNPO(R(V)):RETURN
- 360 W=R(V):GOSUB650:R(V)=W:N2=S(V):POKESR(V),FNPO(W):RETURN
- 380 W=VO:GOSUB650:VO=W:POKEML,VO+FI+DO*128:RETURN
- 400 W=RS:GOSUB650:RS=W:POKERF,RS*16+F(1)+F(2)+F(3):RETURN
- 420 IFFI=16THENF=2
- 421 IFFI=32THENF=3
- 422 IFFI=64THENF=1
- 423 IFFI=80THENF=4
- 425 GOSUB850:POKEML,FI+VO+DO*128:RETURN
- 440 GV=3:GOSUB1000:IF(A<UG)OR(A>OG)GOTO440
- 441 GR=FNGR(A):POKEGL,FNGL(GR):POKEGH,FNGH(GR):RETURN
- 460 GV=4:GOSUB1000:IF(A<FU)OR(A>FO)GOTO460
- 461 FR$(V)=B$:FR(V)=FNFR(A):POKEFL(V),FNLO(FR(V)):POKEFH(V),FNHI(FR(V)):RETURN
- 480 GV=3:GOSUB1000:IF(A<PU)OR(A>PO)GOTO480
- 481 PW$(V)=B$:PW(V)=FNPW(A):POKEPL(V),FNLO(PW(V)):POKEPH(V),FNHI(PW(V)):RETURN
- 500 W=0:IFRI(V)>0THENW=1
- 501 GOSUB950:RI(V)=W*4:POKEKO(V),RA(V)+RE(V)+SA(V)+DR(V)+RI(V)+SC(V):RETURN
- 520 W=0:IFSC(V)>0THENW=1
- 521 GOSUB950:SC(V)=W*2:POKEKO(V),RA(V)+RE(V)+SA(V)+DR(V)+RI(V)+SC(V):RETURN
- 540 W=0:IFF(V)>0THENW=1
- 541 GOSUB950:F(V)=W*2^(V-1):POKERF,RS*16+F(1)+F(2)+F(3):RETURN
- 560 KR=0
- 561 IFRA(V)=128THENKR=1
- 562 IFRE(V)= 64THENKR=2
- 563 IFSA(V)= 32THENKR=3
- 564 IFDR(V)= 16THENKR=4
- 565 IFV=3THENGOSUB800:GOTO570
- 566 GOSUB750
- 570 POKEKO(V),KR+RI(V)+SC(V)
- 571 POKEML,FI+VO+DO*128:RETURN
- 580 VV=V:W=V:GOSUB1100
- 581 POKE211,MX(9):POKE214,MY(9):SYSCS:FORI=1TO8-LEN(FR$(V)):PRINT"[153] ";:NEXTI
- 582 PRINT"";FR$(V):POKE211,MX(10):POKE214,MY(10):SYSCS:FORI=1TO7-LEN(PW$(V))
- 583 PRINT"[153] ";:NEXTI:PRINT"";PW$(V)
- 584 P=160:M=1:W=A(VV):GOSUB1252:M=2:W=D(VV):GOSUB1252:M=3:W=S(VV):GOSUB1252
- 585 M=4:W=R(VV):GOSUB1252
- 586 POKE1024+MX(14)+(MY(14)-KI(VV))*40,160
- 587 IF V=3 THEN IF DO=1 THEN POKE53269,PEEK(53269) OR 8
- 588 IF V=3 THEN IF DO=0 THEN POKE53269,PEEK(53269) AND 247
- 594 W=A(V):M=1:GOSUB1250:W=D(V):M=2:GOSUB1250:W=S(V):M=3:GOSUB1250:W=R(V):M=4
- 595 GOSUB1250:VA=1024+MX(14)+MY(14)*40:POKEVA-KI(V)*40,192
- 596 M=11:W=RI(V):GOSUB1300:M=12:W=SC(V):GOSUB1300:M=13:W=F(V):GOSUB1300
- 599 RETURN
- 600 A$=",":C$(1)="100 DATA":FORI=1TO3:FL(I)=FNLO(FR(I)):FH(I)=FNHI(FR(I))
- 601 PL(I)=FNLO(PW(I)):PH(I)=FNHI(PW(I))
- 602 KI(I)=RA(I)+RE(I)+SA(I)+DR(I)+RI(I)+SC(I):AD(I)=A(I)*16+D(I)
- 603 SR(I)=S(I)*16+R(I):NEXTI:C$(2)="101 DATA"
- 604 FORI=1TO3:B$(I)=STR$(FL(I))+A$+STR$(FH(I))+A$+STR$(PL(I))+A$+STR$(PH(I))+A$
- 605 B$(I)=B$(I)+STR$(KI(I))+A$+STR$(AD(I))+A$+STR$(SR(I)):NEXTI
- 606 A$(1)=C$(1)+B$(1)+A$+B$(2):A$(2)=C$(2)+B$(3)+A$:GL=FNGL(GR):GH=FNGH(GR)
- 607 A$(2)=A$(2)+STR$(GL)+A$+STR$(GH)+A$+STR$(RS*16+F(1)+F(2)+F(3))+A$
- 608 A$(2)=A$(2)+STR$(FI+VO+DO*128):A$(4)="103 ":A$(5)="104 "
- 609 A$(3)="102 S=54272:FORI=0TO24:READD:POKES+I,D:NEXTI"
- 610 IFKI(1)>15THENA$(4)=A$(4)+"POKE"+STR$(KO(1))+","+STR$(KI(1)+1)
- 611 IFKI(2)>15THENA$(4)=A$(4)+":POKE"+STR$(KO(2))+","+STR$(KI(2)+1)
- 612 IFKI(3)>15THENA$(4)=A$(4)+":POKE"+STR$(KO(3))+","+STR$(KI(3)+1)
- 613 A$(4)=A$(4)+":FORI=1TO1000:NEXTI"
- 614 IFKI(1)>15THENA$(5)=A$(5)+"POKE"+STR$(KO(1))+","+STR$(KI(1))
- 615 IFKI(2)>15THENA$(5)=A$(5)+":POKE"+STR$(KO(2))+","+STR$(KI(2))
- 616 IFKI(3)>15THENA$(5)=A$(5)+":POKE"+STR$(KO(3))+","+STR$(KI(3))
- 617 PRINT"[147]";"NEW":PRINTA$(1):PRINTA$(2):PRINTA$(3):PRINTA$(4):PRINTA$(5)
- 619 POKE631,19:FORI=1TO6:POKE631+I,13:NEXTI:POKE198,7:POKE53269,0:END
- 620 FORI=1TO3:KR=RA(I)+RE(I)+SA(I)+DR(I):IFKR>0THENPOKEKO(I),KR+RI(I)+SC(I)+1
- 621 NEXTI:WAIT56320,16,239:FORI=1TO3:KR=RA(I)+RE(I)+SA(I)+DR(I)+RI(I)+SC(I)
- 622 POKEKO(I),KR:NEXTI:RETURN
- 650 X=MX(M):Y=MY(M):VA=1024+X+(Y-INT(W/2))*40
- 651 J=FNJY(JO)
- 652 IF(J<9)OR(J=18)THENRETURN
- 655 IFJ=10 THENIFW<15THENW=W+1
- 656 IFJ=14 THENIFW> 0THENW=W-1
- 660 IF FN OD(W)=1THENP=197
- 661 IF FN OD(W)=0THENP=210
- 665 V2=VA:VA=1024+X+(Y-INT(W/2))*40:POKEVA,P:IFV2<>VATHENPOKEV2,160
- 669 GOTO651
- 750 X=MX(M):Y=MY(M):VA=1024+X+(Y-KR)*40:P=192
- 751 J=FNJY(JO)
- 752 IF(J<9)OR(J=18)THENGOSUB770:RETURN
- 755 IFJ=10 THENIFKR<4THENKR=KR+1
- 756 IFJ=14 THENIFKR>0THENKR=KR-1
- 765 V2=VA:VA=1024+X+(Y-KR)*40:POKEVA,P:IFV2<>VATHENPOKEV2,160
- 769 GOTO751
- 770 RA(V)=0:RE(V)=0:SA(V)=0:DR(V)=0:KI(V)=KR
- 771 IFKR=1THENRA(V)=128:KR=128
- 772 IFKR=2THENRE(V)=64 :KR= 64
- 773 IFKR=3THENSA(V)=32 :KR= 32
- 774 IFKR=4THENDR(V)=16 :KR= 16
- 775 RETURN
- 800 X=MX(M):Y=MY(M):VA=1024+X+(Y-KR)*40:P=192
- 801 J=FNJY(JO)
- 802 IF(J<9)OR(J=18)THENGOSUB820:RETURN
- 805 IFJ=10 THENIFKR<4THENKR=KR+1
- 806 IFJ=14 THENIFKR>0THENKR=KR-1
- 807 IFJ=12 THEN DO=0:POKE53269,PEEK(53269)AND 247
- 808 IFJ=16 THEN DO=1:POKE53269,PEEK(53269)OR 8
- 815 V2=VA:VA=1024+X+(Y-KR)*40:POKEVA,P:IFV2<>VATHENPOKEV2,160
- 816 GOTO801
- 820 RA(V)=0:RE(V)=0:SA(V)=0:DR(V)=0:KI(V)=KR
- 821 IFKR=1THENRA(V)=128:KR=128
- 822 IFKR=2THENRE(V)=64 :KR= 64
- 823 IFKR=3THENSA(V)=32 :KR= 32
- 824 IFKR=4THENDR(V)=16 :KR= 16
- 825 POKEML,VO+FI+DO*128
- 826 RETURN
- 850 X=MX(M):Y=MY(M):VA=55296+X+Y*40
- 851 J=FNJY(JO):F2=F
- 852 IF(J<9)OR(J=18)THENRETURN
- 855 IFJ=10 THENIFF<4THENF=F+1
- 856 IFJ=14 THENIFF>1THENF=F-1
- 860 IFF2=FTHEN851
- 862 IFF=1THENFORI=5TO7:POKEVA-I*40,7:NEXT:FORI=0TO4:POKEVA-I*40,0:NEXT:FI=64
- 863 IFF=1GOTO851
- 864 IFF=2THENFORI=0TO2:POKEVA-I*40,7:NEXT:FORI=3TO7:POKEVA-I*40,0:NEXT:FI=16
- 865 IFF=2GOTO851
- 866 IFF=3THENFORI=0TO7:POKEVA-I*40,0:NEXT:FORI=2TO5:POKEVA-I*40,7:NEXT:FI=32
- 867 IFF=3GOTO851
- 868 IFF=4THENFORI=0TO7:POKEVA-I*40,7:NEXT:FORI=2TO5:POKEVA-I*40,0:NEXT:FI=80
- 869 GOTO851
- 950 X=MX(M):Y=MY(M):VA=1024+X+Y*40:P=189:V2=55296+X+Y*40
- 951 J=FNJY(JO)
- 952 IF(J<9)OR(J=18)THENRETURN
- 955 IFJ=16 THENW=0
- 956 IFJ=12 THENW=1
- 960 IF W=1THENPOKEVA-4,160:POKEVA-3,P :POKEV2,7
- 961 IF W=0THENPOKEVA-4,P :POKEVA-3,160:POKEV2,0
- 965 GOTO951
- 1000 X=MX(M):Y=MY(M):KF=0:NS=0:VS=0:B$="":VA=1024+X+Y*40
- 1001 FORI=0TO4+GV:POKEVA+I,160:NEXTI
- 1010 GETA$:IFA$=""GOTO1010
- 1011 A=ASC(A$):IF((A<48)OR(A>57))AND(A<>46)AND(A<>13)AND(A<>20)GOTO1010
- 1012 IF(A<>13)GOTO1015
- 1013 IF(KF=0)OR((KF=1)AND(NS<2))GOTO1010
- 1014 A=VAL(B$):RETURN
- 1015 IF(A<>20)GOTO1020
- 1016 IF(VS>0)THENB$=LEFT$(B$,LEN(B$)-1)
- 1017 IF((KF=0)AND(VS>0))THENVS=VS-1
- 1018 IF((KF=1)AND(NS=0))THENKF=0
- 1019 IF((KF=1)AND(NS>0))THENNS=NS-1
- 1020 IF((A=46)AND(VS=0))OR((A=46)AND(KF=1))THEN1010
- 1021 B=((A>47)AND(A<58)):IF(A=46)THENKF=1
- 1022 IF B AND((VS=GV)AND(KF=0))GOTO1010
- 1023 IF B AND(NS=2)GOTO1010
- 1024 IF B AND(KF=1)THENNS=NS+1
- 1025 IF B AND(KF=0)THENVS=VS+1
- 1026 IF((A<>20)AND(A<>13))THENB$=B$+A$
- 1030 POKE211,X:POKE214,Y:SYSCS:FORI=1TO(4+GV)-LEN(B$):PRINT"[153] ";:NEXTI
- 1031 PRINT"";B$:GOTO1010
- 1100 X=MX(M):Y=MY(M)
- 1101 J=FNJY(JO)
- 1102 IF(J<9)OR(J=18)THENRETURN
- 1103 IFJ=10 THENIFV<3THENV=V+1
- 1104 IFJ=14 THENIFV>1THENV=V-1
- 1105 POKE211,X:POKE214,Y:SYSCS:PRINT"[153]";RIGHT$(STR$(V),1):GOTO1101
- 1250 IF FN OD(W)=1THENP=197
- 1251 IF FN OD(W)=0THENP=210
- 1252 VA=1024+MX(M)+(MY(M)-INT(W/2))*40:POKEVA,P:RETURN
- 1300 Q=MX(M)+MY(M)*40:IFW>0THENPOKE55296+Q,7:POKE1020+Q,160:POKE1021+Q,189
- 1301 IFW=0THENPOKE55296+Q,0:POKE1020+Q,189:POKE1021+Q,160
- 1302 RETURN
- 60000 DATA 3,20,1,6,20,2,9,20,3,12,20,4,15,20,5,18,20,6,21,20,7
- 60001 DATA 16,3,8,16,7,9,33,3,10,31,15,11,31,18,12,31,21,13,20,7,14
- 60002 DATA 35,18,15,35,16,16,35,14,17
- 60003 DATA 13,11,12,0,15,17,16,0,14,10,9,0,0,0,0,0,4,2,3,0,6,8,7,0,5,1,18
- 60004 DATA 3,18,6,18,9,18,12,18,15,18,18,18,21,18,3,3,3,7,22,3
- 60005 DATA 29,15,29,18,29,21,25,11,36,21
-