1 ad=&Hc000 'ÌßÚ²Ô° É ¾Ýij ±ÄÞÚ½ 2 defusr1=ad+&H10 '1 ·®¸ »²¾² 3 defusr2=ad+&H13 'BGM ¼®·¶ 4 defusr3=ad+&H16 'BGM 1tick »²¾² 5 defusr4=ad+&H19 'PCG µÄÄÒ 6 defusr5=ad+&H1B '·®¸½³ É ¼­Ä¸ 7 max=usr5(0) 8 gosub 50000 '·®¸ ¦ ÄÒÙÀÒ É Ï¼ÝºÞ 9 poke ad+&H20,&HC3:poke ad+&H21,&H00:poke ad+&H22,&H90 'Ï¼ÝºÞ Æ ÄÊÞ½ (JP 09000H) 10 print CHR$(12); 20 print "full key : Piano Play" 30 print "10 key : Organ Play" 40 print 100 '*** loop *** 110 a=inp(6) 120 poke &Hffff,a 130 if a<>255 then gosub 300 140 a=inp(0) 150 poke &Hfffe,a 160 if a<>255 then gosub 300 170 goto 100 300 '*** bit check *** 310 if a=254 then n%=0:goto 500 320 if a=253 then n%=1:goto 500 330 if a=251 then n%=2:goto 500 340 if a=247 then n%=3:goto 500 350 if a=239 then n%=4:goto 500 360 if a=223 then n%=5:goto 500 370 if a=191 then n%=6:goto 500 380 if a=127 then n%=7:goto 500 390 goto 100 500 '*** play song *** 510 if n% >= max then 100 520 print right$(str$(n%),1); 530 a=usr1(n%) '1 ·®¸ »²¾² (n%:·®¸ÊÞݺ޳, Íݽ³Ê ¾²½³¶ÞÀ) 590 goto 100 49999 '*** DumpListEditor ÃÞ ¾²¾² *** 50000 REM PROG AREA = 9000-902B 50010 REM PROG SIZE = 002C (44BYTE) 50020 FOR I=&H9000 TO &H902B:READ A$:POKE I,VAL("&H"+A$):NEXT 50030 DATA E5,F5,21,FE,FF,7E,3C,20,13,DB,00,3C,20,15,DB,06 50040 DATA 21,FF,FF,BE,77,28,10,3C,28,0D,18,07,DB,00,3C,28 50050 DATA 02,18,04,F1,E1,37,C9,F1,E1,37,3F,C9 59999 RETURN