Skip to content

Instantly share code, notes, and snippets.

@Misaka-0x447f
Created February 27, 2019 11:29
Show Gist options
  • Save Misaka-0x447f/abdfa4ed7febfba4d5b24749225feaaa to your computer and use it in GitHub Desktop.
Save Misaka-0x447f/abdfa4ed7febfba4d5b24749225feaaa to your computer and use it in GitHub Desktop.
HP39GS Music player C: Compiler P: Player
HP39AscD 5 KKSKC
BEEP 494;0.1:
WAIT 0.05:
BEEP 494;0.1:
WAIT 0.05:
INPUT I;"KKSK Compiler";"M_";"Which Matrix (1~8)?";2:
CASE
IF I==1 THEN M1\|>M9: END
IF I==2 THEN M2\|>M9: END
IF I==3 THEN M3\|>M9: END
IF I==4 THEN M4\|>M9: END
IF I==5 THEN M5\|>M9: END
IF I==6 THEN M6\|>M9: END
IF I==7 THEN M7\|>M9: END
IF I==8 THEN M8\|>M9: END
END:
SIZE(M9)\|>L0:
L0(1)\|>U:
M9(1,2)\|>V:
{440,466,494,523,554,587,622,659,698,740,784,831}\|>L0:
ERASE:
DISP 5;" Scanning Tags":
DISPXY 0.7;1;2;"%":
FOR I=3 TO U;
ERASE:
DISP 5;" Compiling Matrix":
DISPXY 0.7;1;2;"%":
[[M9(1,1),0]]\|>M0:
FOR I=3 TO U;
IF I MOD 3 == 0 THEN
DISPXY -0.7;1;2;FLOOR((I-2)/(U-2+1)*100):
END:
IF M0(I,1)\=/0 THEN
(M0(I,1)*2-1)\|>J:
IF J\>=6 THEN
J-1\|>J:
END:
L0(J)*2^(M0(I,2)+V)\|>M0(I,1):
END:
M0(I,3)\|>M0(I,2):
IF M0(I,2) == 0 THEN
1\|>M0(I,2):
END:
M0(I,2)-0.15\|>M0(I,2):
END:
DELCOL M0;3:
FOR I=1 TO 5 STEP 2;
BEEP L0(I);0.15:
WAIT 0.05:
END:
HP39AscD 5 KKSKP
60/M0(1,1)/4\|>T:
SIZE(M0)\|>L0:
L0(1)\|>U:
ERASE:
DISP 4;" Playing":
FOR I=3 TO U;
IF M0(I,1) == 0 THEN
WAIT M0(I,2)*T:
ELSE
BEEP M0(I,1);M0(I,2)*T:
END:
END:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment