'--------------------------- ' PetitcoLOID Ver.Alpha 3 '--------------------------- ' PL$ƒj PeticoLOID Languageƒ’ ' ƒLƒVJƒ…ƒcƒV @PLTALKƒ’ ƒˆƒtJƒg ' 1ƒc ƒnƒcƒ ƒTƒŒƒ‹B ' VSYNCƒeJ PWƒtJƒ“ ƒ}ƒbƒeƒJƒ‰ ' ƒtƒ^ƒ^ƒqJ@PLTALKƒ’ ƒˆƒtJ '--------------------------- ' PMTMP=Beat Per Minute ' PE=ERRORƒm ƒnJƒAƒC 1 ' PLE=PL$ƒ}ƒcƒqJƒj ƒgƒEƒ^ƒcƒXƒ‹ƒg 1 ' PHF=1ƒjƒXƒ‹ƒg ƒnƒcƒ ƒ}ƒcƒqJƒj"-"ƒcƒCƒJ '--------------------------- 'PMTMPƒn VSYNCƒm ƒJƒ“ƒPƒCƒVJƒ‡ƒE ' ƒXJƒŒƒJJ ƒVƒ‡ƒEƒVJƒiƒC ƒeƒ“ƒzKƒg ƒIƒ“ƒtKƒn ' ƒCƒJƒm ƒˆƒEƒjƒiƒŠƒ}ƒX ' 123468ABƒtJƒIƒ“ƒtK ' 50 ›››››››› ' 60 ›››››››› A=16ƒtJ ' 72 ››„}›„}››„} B=24ƒtJ ' 80 ›››››„}„}„} 3ƒtJ=2ƒtJƒm3ƒŒƒ“ƒtK ' 90 ››„}›„}››„} 6ƒtJ=4ƒtJƒm3ƒŒƒ“ƒtK ' 96 ›››„}›„}„}„} 24ƒtJ=8ƒtJƒm3ƒŒƒ“ƒtK '100 ›››››››› '120 ››››››„}› '150 ›››››››› '160 ›››„}›„}„}„} '180 ››„}›„}››„} '192 ›„}›„}›„}„}„} '200 ››››››„}› '225 ››„}›„}››„} '240 ›››››„}„}„} MMLƒTƒCƒ^JƒC '--------------------------- ' PetitcoLOID Language(PLL) ' Ver.Alpha 1 ƒVƒˆƒE '--------------------------- ' ƒIƒNƒ^-ƒtJƒCƒgJƒE ƒIƒ“ƒJƒC ƒIƒ“ƒ`ƒ‡ƒE ƒnƒcƒ ' ƒeJA1ƒZƒbƒgB ' ƒIƒNƒ^-ƒtJƒCƒgJƒE: [<>]? ' ƒIƒ“ƒJƒC:[RCDEFGAB][+#-]? ' ƒIƒ“ƒ`ƒ‡ƒE:[0-9]+\.* ' ƒnƒcƒ:[|_/.?!'ƒ’-ƒ“]+ ' ƒIƒNƒ^-ƒtJƒCƒgJƒE ƒCƒJJƒCƒn ƒVƒ‡ƒEƒŠƒƒƒN ƒtƒJ ' ƒLƒ…ƒEƒtƒm ƒnJƒAƒC ƒnƒcƒ ƒtƒˆƒE '--------------------------- @GOTO @MAIN @PLL DATA"R8A8ƒJA8ƒJJA4ƒNA4ƒmA8ƒPJG+8ƒ“A8ƒJB8ƒCA8ƒ’R8A8ƒRB8ƒGR8A8ƒA8ƒ^A4ƒVA4ƒA4ƒ^JG+4.ƒˆ DATA"R8A8ƒwKA8ƒ“A8ƒR8A8ƒ‚A8ƒIA8ƒeG+8ƒiA8ƒCB8ƒPA8ƒgJR8A8ƒeJB8ƒLR8A8ƒnJR8A8ƒzR8A8ƒVG+8ƒCA2ƒiR4A8ƒAG+8ƒmA8ƒl" DATA"F+4.ƒnA8ƒ„A2.ƒNR8A8ƒeJƒBB8ƒCA8ƒGB8ƒXA8ƒjE4.ƒŒA8ƒeA2.ƒˆ" DATA"R8A8ƒgJB8ƒIA8ƒVB8ƒ^B4ƒVƒ‡A8ƒIR8A8ƒtKB4ƒgA4ƒ~A8ƒcA4.ƒB8ƒeB2.ƒ‹" DATA"R8A8ƒLF+8ƒmA8ƒRB8ƒg" DATA"A8ƒtKR8A8ƒ`B8ƒtKR8B8ƒ`B8ƒjB4ƒVA8ƒeB8ƒAA8ƒPJA4ƒEA8ƒ^B4ƒB8ƒ}B8ƒJB8ƒ‰" DATA"A8ƒtKR8A8ƒ`B8ƒtKR8B8ƒ`B8ƒjB4ƒVA8ƒeB8ƒAA8ƒPJA8ƒIR8A4ƒgR8A8ƒJB8ƒNB4ƒ’A8ƒeB8ƒˆA1ƒl" DATA"" @MAIN CLEAR DIM N(14),NM(7) RESTORE @NDATA FOR I=0 TO 13:READ N(I):NEXT FOR I=0 TO 6:READ NM(I):NEXT BGMSETD 128,@MML GOSUB @PLINIT RESTORE @PLL READ PL$ VSYNC 0 BGMPLAY 128 @PLP GOSUB @PLTALK IF !PE AND !PLE THEN VSYNC PW:GOTO@PLP READ PL$:P=0 IF LEN(PL$)>0 THEN @PLP END @PLINIT P=0:PL$="":PM=0:PO=0:PW=0 PE=0:PTMP=120:PHF=1:RETURN @PLTALK PLE=(P>=LEN(PL$)):PE=0 IF PLE AND PM<3 THEN RETURN GOSUB@PLRI GOTO "@PM"+STR$(PM) 'ƒIƒ“ƒJƒC @PM0 IF C==60 THEN PO=PO+(PO<2):GOTO@PLTALK IF C==62 THEN PO=PO-(PO>-2):GOTO@PLTALK IF C==82 THEN PR=1:PM=1:GOTO@PLTALK IF C<65 OR C>71 THEN ?"ERROR0@";P;":";CHR$(C):PE=1:RETURN PM=1:PR=0:C1=C-65:GOSUB@PLR IF C!=43 AND C!=35 AND C!=45 THEN PT=PO*690+N(NM(C1)):GOTO @PLTALK P=P+1:PT=PO*690+N(NM(C1)-(C==45)+(C==43 OR C==35)) GOTO @PLTALK 'ƒIƒ“ƒ`ƒ‡ƒE @PM1 IF C<49 OR C>57 THEN ?"ERROR1@";P;":";CHR$(C):PE=1:RETURN PM=2+PR:C1=C-48 @PM1A GOSUB@PLR IF C!=46 AND(C<48 OR C>57)THEN PW=14400/PTMP/C1:PH=FLOOR(16/C1)-1:GOTO@PLTALK P=P+1 IF C!=46 THEN C1=C1*10+C-48:GOTO @PM1A C2=1.5:C3=4 @PM1B GOSUB@PLR IF C==46 THEN P=P+1:C2=C2+1/C3:C3=C3+1:GOTO@PM1B PW=14400/PTMP/C1*C2:PH=FLOOR(16/C1*C2)-1:GOTO@PLTALK 'ƒnƒcƒIƒ“ƒ‚ƒVJƒŒƒc @PM2 A=C!=95 AND C!=39 AND C!=37 AND C!=47 AND C!=124 AND C!=46 AND C!=33 AND C!=63 AND(C<166 OR C>223) A=A AND C!=45 IF A THEN ?"ERROR2@"P":"CHR$(C):PE=1:RETURN PT$=C$ @PM2A GOSUB@PLR B=(C<166 OR C>223) A=C!=95 AND C!=39 AND C!=37 AND C!=47 AND C!=124 AND C!=46 AND C!=33 AND C!=63 AND B AND C!=45 IF !A THEN P=P+1:PT$=PT$+C$:GOTO@PM2A PM=3 GOTO@PLTALK 'ƒVƒ…ƒcƒŠƒ‡ƒNƒ‚ƒVJƒŒƒc @PM3 PS$="" IF C!=93 THEN P=P-1:PM=4+PR:GOTO@PLTALK @PM3A GOSUB@PLR IF C==0 THEN PE=1:RETURN IF C==92 THEN P=P+1:GOSUB@PLR:PS$=PS$+C$:GOTO@PM3A IF C!=94 THEN P=P+1:PS$=PS$+C$:GOTO@PM3A PM=4+PR:GOTO@PLTALK @PM4 'ƒnƒcƒIƒ“ T$="@E16@N"+STR$(PT)+PT$+"-"*(PH+(C1==0))*PHF ?T$ TALK T$ @PM5 PWM=PWM+PW%1:PM=(PWM>0)*(FLOOR(PWM)):PW=PW+PM:PWM=PWM-PM P=P-1+PLE:PM=0 RETURN @PLR IF P>=LEN(PL$) THEN C$="":C=0 RETURN C$=MID$(PL$,P,1):C=ASC(C$) '?C$; RETURN @PLRI IF P>=LEN(PL$) THEN C$="":C=0 RETURN C$=MID$(PL$,P,1):C=ASC(C$) '?C$"*"; P=P+1:RETURN @NDATA DATA 1403,1447,1510,1559,1626 DATA 1686,1745,1792,1858,1916 DATA 1971,2031,2093,2137 @NMAP DATA 10,12,1,3,5,6,8 @MML DATA":0@V60T120R16L8RAL16ARA8.RA8.RA8 DATA"@V60L8G+ABARABL8RA16R16AA8.R16A4A8.R16G+4. DATA"@V60T120L16R8ARARA8R8ARARL8AG+ABARABRARARAG+A&A2RAG+A DATA"@V60F+4.L16ARA2&A4.L8ABABAE4.L16ARA2&A4&ARL8ABABRB8.R16A8.R16AB4A8.RA8A4.BRB2&B4R8ARF+RA8BR DATA"@V60L16AR8.A8BR8.BRBRB4L8ABAL16RA8.RA8B8.RL8BL16BRB8 DATA"@V60L16AR8.A8BR8.BRBRB4L8ABAARA&A8.R16ABB4ABA1&A1 DATA":1@V70@39R16 DATA"L8>>DL16DD8D8RERC+R DATA"L8C+L16C+L8C+F+R16>F+L16DD8E8RERC+RL8C+L16C+C+8F+8R DATA"F+8.F+8 DATA"L8DL16DD8E8RERC+R DATA"L8C+L16C+C+8F+8RF+>L8F+L16DD8E8ERC+RL8C+L16C+L8C+F+R16F+8.F+ DATA"@V80L8RDRDRDRDRDRDRDRD>RARARARARARARARA DATA"L8RDRDRDRDRDRDRDRDREREREREEERR>AL16AA8< DATA"L8DL16DD8E8RERC+R DATA"L8C+L16C+C+8F+8RF+>F+8L16DD8E8RERC+R DATA"L8C+L16C+C+8F+8RF+8RF+8 DATA"L8DL16DD8E8RERE+RL8E+L16E+E+8F+8L16F+F+8 DATA"L8DL16DD8E8EL8EC+L16C+L8C+F+ DATA"DL16DD8E8RERC+R DATA"L8C+L16C+C+8F+8RF+>L8F+BRF+RF+BRF+RBRRBRF+RBRF+RF+ DATA"BRERBRBR DATA"@90@V50L16F+RBRF+RF+BRFRBRRBR DATA"F+RBRF+RF+BRERBRARBRBR DATA"F+RBRF+RF+BRF+RBRBR 'DATA 0 DATA":3@V70@81R16L8[RC+>BBBBBBBBBB DATA"@80@V30L16<[DRDRF+RAR]4[>ARARR1 DATA"@81@V50L16EF+ARL8BAF+EC+EF+EC+EL16FABRL8AL16DF+ARL8BAF+EC+EF+EC+EFEC+E DATA"@81@V50L16DF+ARL8BAF-EC+EFEC+EL16F+ABRA[RAEA]3AAEA[RC+>BB]4[C+RERARAR]3C+RERAR DATA"@80@V20L16AR[F+RAR]4G+RBRBRBR>R8.R2. DATA"@60@V40L2F+EC+F+F+EC+F+ DATA"@60@V40L2F+EFF+F+BA 'DATA 0 DATA":5@81@V30R16L1RRRRRRRRF+&F+A&A DATA"@81@V30L1