10 ' ---------------------------------------- 20 ' ËÞ°Ìß µÝ¹ÞÝ ÄÞײÊÞ by Y.Mino 1991. 5. 6 30 ' ÒÆ­° ²¶ by HAL8999 2002.10.27 90 ' ---------------------------------------- 100 CLEAR 900,&HA4FF:DEFSNG A-Z:DEFDBL M:DEFINT I 110 DEF USR=&HAF90:DEF USR1=&HB000 200 '----- **** **** ----- 300 '----- MENU INIT ----- 310 DIM T$(5) 320 GOSUB 2000 330 IX=0:IY=1 400 '----- MENU MAIN ----- 410 COLOR0:PRINT CHR$(12):CONSOLE0,25,0,0:WIDTH40,25 420 FOR I=0 TO 5 430 IF I=IY THEN COLOR4 ELSE COLOR0 440 LOCATE 5,I*2:PRINT T$(I) 450 NEXT I 500 K$="" 510 K$=INKEY$ 520 IF K$="8" OR K$=CHR$(30) THEN Y=IY:IY=IY-1:GOTO 560 530 IF K$="2" OR K$=CHR$(31) THEN Y=IY:IY=IY+1:GOTO 560 540 IF K$=CHR$(13) THEN 610 550 GOTO 510 560 IF IY=0 THEN IY=5 ELSE IF IY=6 THEN IY=1 570 COLOR0:LOCATE 5,Y*2:PRINT T$(Y) 580 COLOR4:LOCATE 5,IY*2:PRINT T$(IY) 590 GOTO 510 600 '----- INIT DRIVER ----- 610 IF IX=IY THEN 810 620 GOSUB 1000 700 '----- WRITE DATA ----- 710 ON IY GOSUB 2110,2120,2130,2140,2150 720 FOR I=1 TO 3:M$(I)="":NEXT 730 READ A:IF A<0 THEN 810 ELSE FOR I=1 TO A:READ M$(I):NEXT 740 A$=M$(3)+CHR$(255)+M$(2)+CHR$(255)+M$(1)+CHR$(255) 750 B$=USR1(A$) 760 P=PEEK(&HA905):IF P=0 THEN 720 ELSE PRINT A$:IF P=1 THEN 1210 ELSE 1220 800 '----- PLAY MUSIC ----- 810 IX=IY 820 OUT 81,0 830 A=USR(0) 840 BEEP 0 850 GOTO 410 1000 '----- INIT DRIVER ----- 1010 LOCATE 10,23:COLOR6:PRINT" [ ÃÞ°À ÍÝ¶Ý Á­³ ] ":COLOR0 1020 RESTORE 1100 1030 J=&HA500 1040 FOR I=&HA500 TO &HA546:READ A:POKE I,A:NEXT 1050 RESTORE 1150 1060 READ A,B:IF A>=0 THEN FOR I=&HA600 TO &HA850 STEP &H100:POKE I+A,B:NEXT:GOTO 1060 1070 POKE &HA903,0:POKE &HA904,&HB0:POKE &HA905,0:POKE &HA906,0:POKE &HA907,&HB6 1080 RETURN 1100 DATA 0,230,216,204,192,0,0,0,0,0,0,0,0,254,244 1110 DATA 112,108,100,96,192,184,170,162,152,142,142,134,124,120 1120 DATA 56,54,50,48,96,90,84,81,76,71,71,67,63,60 1130 DATA 28,26,25,23,48,45,42,39,37,35,35,33,31,30 1140 DATA 13,12,12,11,23,22,20,19,18,17,17,16,15,14 1150 DATA 0,2,1,9,2,0,7,1,8,7,9,0,10,4,64,0,65,0,66,0,67,0,-1,0 1200 '----- COMPILE ERROR ----- 1210 PRINT "Out of octave":BEEP:END 1220 PRINT "Sound buffer overflow":BEEP:END 2000 '----- DATA INDEX 1 ----- 2010 T$(1) = "TEST1 (Q command)" 2020 T$(2) = "TEST2 (V command)" 2030 T$(3) = "KIMIGAYO (KOKKA)" 2040 T$(4) = "RYDEEN (YMO)" 2050 T$(5) = "×Ñ É ×ÌÞ¿Ý¸Þ (³Ù¾²ÔÂ×)" 2090 RETURN 2100 '----- DATA INDEX 2 ----- 2110 RESTORE 3010:RETURN 2120 RESTORE 4010:RETURN 2130 RESTORE 5010:RETURN 2140 RESTORE 6010:RETURN 2150 RESTORE 7010:RETURN 3000 '----- MML DATA 1 - TEST1 (Q command) ----- 3010 DATA 3,"L8O3","","T50000L4O2" 3020 DATA 1,"O2Q7(2CEGE)Q1(2CEGE)Q2(2CEGE)Q4(2CEGE)Q8(2CEGE)" 3030 DATA 1,"O3Q7(2CEGE)Q1(2CEGE)Q2(2CEGE)Q4(2CEGE)Q8(2CEGE)" 3040 DATA 1,"O4Q7(2CEGE)Q1(2CEGE)Q2(2CEGE)Q4(2CEGE)Q8(2CEGE)" 3050 DATA 1,"O5Q7(2CEGE)Q1(2CEGE)Q2(2CEGE)Q4(2CEGE)Q8(2CEGE)" 3060 DATA -1 4000 '----- MML DATA 2 - TEST2 (V command) ----- 4010 DATA 3,"L8O3","","T50000L4O2" 4020 DATA 1,"O2V9(2CEGE)V5(2CEGE)V1(2CEGE)" 4030 DATA 1,"O3V9(2CEGE)V5(2CEGE)V1(2CEGE)" 4040 DATA 1,"O4V9(2CEGE)V5(2CEGE)V1(2CEGE)" 4050 DATA 1,"O5V9(2CEGE)V5(2CEGE)V1(2CEGE)" 4060 DATA -1 5000 '----- MML DATA 3 - KIMIGAYO (KOKKA) ----- 5010 DATA 3,"L4O3V4","L4O2V4","T50000L4O2V4" 5020 DATA 3,"DCDE","DCDE","" 5030 DATA 3,"GED2","GED2","" 5040 DATA 3,"EGAG8A8","G>CC2<","CEFE8F8" 5050 DATA 3,">DDCCC2","CECF" 5070 DATA 3,">DCD2<","FEF2","DD2" 5080 DATA 3,"EGAG","CECC<","AGFE" 5090 DATA 3,"E4^8G8D2","GGB2","CEG2" 5100 DATA 3,"A>CD2",">CEFD1^2D4E4", "D^4E^4F^4D^4C4F4B-^2A4G^2B-4A4", "Q1(4(4ARAA))" 6040 DATA 3,"F1RFGFEE16D16CDA1^2>D4C4<", "D^4E^4F^4D^4C4F4B-1B-2B-4A4", "(4(4ARAA))" 6050 DATA 3,"O4D4DCDF4GCDCCD^4D4DCDF4GAGFDF4DF", "GFG^4A>CD^2DCCD^2D4C4<", "(4(4ARAA))" 6060 DATA 3,"A^2>CCRC^2DCE-1D^1", "L8O2B-B-FG+B-RRB-RB-FG+B-RRB-G+G+E-FG+RRGRGDFGG+AB-RB-FG+B-RRB-RB-FG+B-RRB-", "Q7L8O4F^4^2F^1E-^4^2D^2D^4F1F^1" 6080 DATA 3,"C^4^2C^1C^4^2CDC4D4GGR4O4D4E4", "G+G+E-FG+RRG+RG+E-FG+RRG+GGDEGRRGRGDEGABGC4C4C4C4CCRRB-4A4", "E-^4^2E-^1D^4^2D^2DFGDC4D4F4G4>CCR4R2" 6090 DATA 3,"F1RFGFEE16D16CD1^2D4E4", "D^4E^4F^4D^4C4F4B-^2A4G^2B-4A4", "O5L16Q1(4(4ARAA))" 6100 DATA 3,"F1RFGFEE16D16CDA1^2Q8D4E4", "D^4E^4F^4D^4C4F4B-1B-2B-4A4", "(3(4ARAA))(2ARAA)O4L8Q8C+4" 6110 DATA 3,"F1RFGFEE16D16CD1^4R4D4E4", "D^4E^4F^4D^4C4F4B-^2A4G^2B-4A4", "D1RDEDC+C+16C+4" 6120 DATA 3,"F1RFGFEE16D16CDA1^4R4D4E4", "D^4E^4F^4D^4C4F4B-1^2", "D1RDEDC+C+16F1^4R4C+4" 6130 DATA 3,"F1RFGFEE16D16CD1^4R4D4E4", "", "D1RDEDC+C+16C+4" 6140 DATA 3,"F1RFGFEE16D16CDA^1", "", "D1RDEDC+C+16F^1" 6150 DATA -1 7000 '----- MML DATA 5 - Lum no Love Song (URUSEI YATSURA) ----- 7010 DATA 3,"","","T33000" 7020 DATA 2,"L16Q4O5BAGFEDCB<))", "Q7O2L4(2AB>CC+CC+D<)" 7040 DATA 2,"O4L8Q7ED+EGF+EDCDGE^2CCEDCDF+E^2", "O2L8Q4ARRRDRRRGRRE8^2ARRRDRRRGF+FE^2" 7050 DATA 2,"ED+EGF+EDCDGE^2ED+EGF+FF+DGGF+GR2", "ARRRDRRRGRRE8^2ARRRDRRRGGF+GR2" 7060 DATA 2,"(4GGGRF+F+F+REEERR2)", "O3(4DDDRDDDRCCCRR2)" 7070 DATA 2,"O4L8Q7F+RF+RF+RF+F+RF+RF+G4F+4E4ED^1R2", "O4L8Q1>D<(2F+A>DCCD<(2GB>DDD<(2F+A>DCCD<(2GB>DDR2", ">E<(2G+B>EDDE<(2A>CECCEF+<(2A+>C+F+EC+C4DDDDDDCCCC4DDDDDDC4EEECCCDDDDDDDDGE^2CCEDCDF+E^2" 7160 DATA 1,"ED+EGF+EDCDGE^2ED+EGF+FF+DGGF+GR2" 7170 DATA 1,"L4ED+EGF+FF+DL8" 7180 DATA 2,"(2GGGRF+F+F+REEERR2)", "O4L8Q7(2DDDRDDDRCCCRR2)" 7190 DATA 2,"GGF+GRF+RF+G4^8^16G32