B128 keyboard piano

Started by Blacklord, August 10, 2009, 06:27 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Blacklord

It's not good, but it works :


10 BANK15:S=55808:POKES+24,15:POKES+5,9
20 GETA$:IFA$=""THEN20
25 POKES+4,32:POKES+1,ASC(A$):POKES+4,33
30 GOTO20


Here's a slightly "better" one :


10 BANK15:S=55808:POKES+24,15:POKES+5,9
15 N$="Q2W3ER5T6Y7UI9O0P":O=3608:NL=LEN(N$)+1
20 GETA$:IFA$=""THEN20
21 N=1:IFA$="X"THENO=O*2:IFO>14432THENO=14432
22 IFA$="Z"THENO=O/2:IFO<902THENO=902
23 IFN<>MID$(N$,N,1)THEN=N+1:GOTO23
24 IFN=NLTHEN20
25 F=2^((N-1)-12)*O:H=INT(F-256):L=F-(256*H)
30 POKES+4,32:POKES,L:POKES+1,H:POKES+4,33
32 GOTO20


(this program works on a C64/128 too, if you set S=54272 on line 10 and omit BANK)

Use Z and X to change octave, play with Q-P.

And a final more memory hungry one :


10 BANK15:S=55808:POKES+24,15:POKES+5,9
11 DIMK%(256):N$="Q2W3ER5T6Y7UI9O0PZX":O=3608:NL=LEN(N$)
12 FORI=1TONL:K%(ASC(MID$(N$,I,1)))=I:NEXT
20 GETA$:IFA$=""THEN20
21 N=K%(ASC(A$)):IFN=0THEN20
22 IFA$="X"THENO=O*2:IFO>14432THENO=14432
23 IFA$="Z"THENO=O/2:IFO<902THENO=902
24 IFN>NL-2THEN20
25 F=2^((N-1)-12)*O:H=INT(F-256):L=F-(256*H)
30 POKES+4,32:POKES,L:POKES+1,H:POKES+4,33
32 GOTO20

Blacklord

Original post by Anders Carlsson

Heh.. those programs look awfully familiar. Didn't I write and post them on the Vintage Computer Forum last year? :-)