Jump to content
IGNORED

Best music on the TI!


oddemann

Recommended Posts

I found the best music so fare on the TI, really good!

Do you have some music, sounds that are really great?

 

Program 5-6. Bach Prelude 
100 T=500 
110 LLA=110 :: LLBF=117 :: LC=131 :: LD=147 :: LE=165 :: LF=175 :: LG=196 :: LA=220 :: LBF=233 
120 C=262 :: D=294 :: E=330 :: F=349 :: G=392 :: A=440 :: BF=466
130 HC=523 :: HD=587 :: HE=659 :: HF=698 :: HG=784 :: HA=880 :: HBF=932
140 CALL CLEAR
150 CALL SCREEN (14)
160 DISPLAY AT(5,9):"P R E L U D E"
170 DISPLAY AT(9,9):"J. S. B A C H"
180 FOR DEL=1 TO 1000 :: NEXT DEL
190 CALL SOUND(T/4,LA,10,LF,10)
200 CALL SOUND(T/4,HC,10)
210 CALL SOUND(T/4,A,10,C,10,LF,10)
220 CALL SOUND(T/4,HC,10)
230 CALL SOUND(T/4,F,9,LA,S,LF,9)
240 CALL SOUND(T/4,HC,9)
250 CALL SOUND(T/4,A,9,C,9,LF,9)
260 CALL SOUND(T/4,HC,9)
270 CALL SOUND(T/4,F,8)
280 CALL SOUND(T/4,HD,8)
290 CALL SOUND(T/4,BF,8,D,8,LF,8)
300 CALL SOUND(T/4,HD,8)
310 CALL SOUND(T/4,F,7,LBF,7,LF,7)
320 CALL SOUND(T/4,HD,7)
330 CALL SOUND(T/4,BF,7,D,7,LF,7)
340 CALL SOUND(T/4,HD,7)
350 CALL SOUND(T/4,G,6)
360 CALL SOUND(T/4,HE,6)
370 CALL SOUND(T/4,BF,6,LG,6,LF,6)
380 CALL SOUND(T/4,HE,6)
390 CALL SOUND(T/4,G,6,LBF,6,LF,6)
400 CALL SOUND(T/4,HE,6)
410 CALL SOUND(T/4,BF,6,LG,6,LF,6)
420 CALL SOUND(T/4,HE,6)
430 CALL SOUND(T/4,HF,7,LA,7,LF,7)
440 CALL SOUND(T/4,HC,8)
450 CALL SOUND(T/4,A,9)
460 CALL SOUND(T/4,HC,10)
470 CALL SOUND(T/4,F,10)
480 CALL SOUND(T/4,C,10)
490 CALL SOUND(T/4,LA,10)
500 CALL SOUND(T/4,C,10)
510 CALL SOUND(T/4,LF,10)
520 CALL SOUND(T/4,C,10)
530 CALL SOUND(T/4,HF,9,HC,9,LA,9)
540 CALL SOUND(T/4,C,9)
550 CALL SOUND(T/4,HF,9,A,9,LF,9)
560 CALL SOUND(T/4,C,9)
570 CALL SOUND(T/4,HF,8,HC,8,LA,8)
580 CALL SOUND(T/4,C,8)
590 CALL SOUND(T/4,LF,8)
600 CALL SOUND(T/4,D,8)
610 CALL SOUND(T/4,HF,7,HD,7,LBF,7)
620 CALL SOUND(T/4,D,7)
630 CALL SOUND(T/4,HF,7,BF,7,LF,7)
640 CALL SOUND(T/4,D,7)
650 CALL SOUND(T/4,HF,6,HD,6,LBF,6)
660 CALL SOUND(T/4,D,6)
670 CALL SOUND(T/4,LG,6)
680 CALL SOUND(T/4,E,6)
690 CALL SOUND(T/4,HG,6,HE,6,LBF,6)
700 CALL SOUND(T/4,E,6)
710 CALL SOUND(T/4,HBF,6,HE,6,LG,6)
720 CALL SOUND(T/4,E,6)
730 CALL SOUND(T/4,HG,6,HE,6,LBF,6)
740 CALL SOUND(T/4,E,6)
750 CALL SOUND(T/4,HA,7,HF,7,F,7)
760 CALL SOUND(T/4,C,7)
770 CALL SOUND(T/4,LA,8)
780 CALL SOUND(T/4,C,8)
790 CALL SOUND(T/4,LF,9)
800 CALL S0UIID(T/4,LC,9)
810 CALL SOUND(T/4,LLA,10)
820 CALL SOUND(T/4,LC,10)
830 CALL SOUND(T/4,LF,10)
840 CALL SOUND(T/4,HA,10)
850 CALL SOUND(T/4,HF,10,LG,10)
860 CALL SOUND(T/4,HA,10)
870 CALL SOUND(T/4,HC,9,LLA,9)
800 CALL SOUND(T/4,HA,9)
890 CALL SOUND(T/4,HF,9,LBF,9)
900 CALL SOUND(T/4,HA,9)
910 CALL SOUND(T/4,HC,8,LC,8)
920 CALL SOUND(T/4,HG,8)
930 CALL SOUND(T/4,HF,8,LD,8)
940 CALL SOUND(T/4,HG,8)
950 CALL SOUND(T/4,HC,7,LE,7)
960 CALL SOUND(T/4,HG,7)
970 CALL SOUND(T/4,HE,7,LC,7)
980 CALL SOUND(T/4,HG,7)
990 CALL SOUND(T/4,A,6,LD,6)
1000 CALL SOUND(T/4,HF,6)
1010 CALL SOUND(T/4,HE,6,LE,6)
1020 CALL SOUND(T/4,HF,6)
1030 CALL SOUND(T/4,A,6,LF,6)
1040 CALL SOUND(T/4,HF,6)
1050 CALL SOUND(T/4,HD,6,LG,6)
1060 CALL SOUND(T/4,HF,6)
1070 CALL SOUND(T/4,A,6,LA,6)
1080 CALL SOUND(T/4,HE,6)
1090 CALL SOUND(T/4,HD,6,LBF,6)
1100 CALL SOUND(T/4,HE,6)
1110 CALL SOUND(T/4,A,6,C,6)
1120 CALL SOUND(T/4,HE,6)
1130 CALL SOUND(T/4,HC,6,LA,6)
1140 CALL SOUND(T/4,HE,6)
1150 CALL SOUND(T/4,F,6,LBF,6)
1160 CALL SOUND(T/4,HD,6)
1170 CALL SOUND(T/4,HC,6,LA,6)
1180 CALL SOUND(T/4,HD,6)
1190 CALL SOUND(T/4,G,6,LG,6)
1200 CALL SOUND(T/4,HD,6)
1210 CALL SOUND(T/4,BF,6,LF,6)
1220 CALL SOUND(T/4,HD,6)
1230 CALL SOUND(T/4,G,6,LE,6)
1240 CALL SOUND(T/4,HC,6)
1250 CALL SOUND(T/4,BF,6,LC,6)
1260 CALL SOUND(T/4,HC,6)
1270 CALL SOUND(T/4,F,6,LF,6)
1280 CALL SOUND(T/4,HC,6)
1290 CALL SOUND(T/4,A,6,LE,6)
1300 CALL SOUND(T/4,HC,6)
1310 CALL SOUND(T/4,F,6,LD,6)
1320 CALL SOUND(T/4,BF,6)
1330 CALL SOUND(T/4,A,6,LG,6)
1340 CALL SOUND(T/4,BF,6)
1350 CALL SOUND(T/4,C,6,LE,6)
1360 CALL SOUND(T/4,BF,6)
1370 CALL SOUND(T/4,G,6,LC,6)
1380 CALL SOUND(T/4,BF,6)
1390 CALL SOUND(T/4,C,6,LF,6)
1400 CALL SOUND(T/4,A,6,LC,6)
1410 CALL SOUND(T/4,F,6,LLA,6)
1420 CALL SOUND(T/4,A,6,LC,6)
1430 CALL SOUND(T/4,C,6,LF,6)
1440 CALL SOUND(T/4,A,6,LLA,6)
1450 CALL SOUND(T/4,F,6,LC,6)
1460 CALL SOUND(T/4,A,6,LF,6)
1470 CALL SOUND(T/4,D,6,LLBF,6)
1480 CALL SOUND(T/4,A,6)
1490 CALL SOUND(T/4,F,6,LBF,6)
1500 CALL SOUND(T/4,A,6)
1510 CALL SOUND(T/4,D,6)
1520 CALL SOUND(T/4,F,6)
1530 CALL SOUND(T/4,A,6,LA,6)
1540 CALL SOUND(T/4,HC,6)
1550 CALL SOUND(T/4,D,10,LG,10)
1560 CALL SOUND(T/4,BF,10,LD,10)
1570 CALL SOUND(T/4,G,9,LLBF,9)
1580 CALL SOUND(T/4,BF,9,LD,9)
1590 CALL SOUND(T/4,D,8,LG,8)
1600 CALL SOUND(T/4,BF,7,LLBF,7)
1610 CALL SOUND(T/4,G,6,LD,6)
1620 CALL SOUND(T/4,BF,6,LG,6)
1630 CALL SOUND(T/4,E,5,LC,5)
1640 CALL SOUND(T/4,BF,5)
1650 CALL SOUND(T/4,G,6,C,6)
1660 CALL SOUND(T/4,BF,6)
1670 CALL SOUND(T/4,E,7)
1680 CALL SOUND(T/4,G,7)
1690 CALL SOUND(T/4,BF,7,LBF,7)
1700 CALL SOUND(T/4,HD,7)
1710 CALL SOUND(T/4,F,7,LA,7)
1720 CALL SOUND(T/4,HC,7)
1730 CALL SOUND(T/4,A,7,LC,7)
1740 CALL SOUND(T/4,HC,7)
1750 CALL SOUND(T/4,HF,7,LA,7)
1760 CALL SOUND(T/4,HC,7)
1770 CALL SOUND(T/4,A,7,LC,7)
1780 CALL SOUND(T/4,F,7)
1790 CALL SOUND(T/4,LG,10)
1800 CALL SOUND(T/4,BF,10)
1810 CALL SOUND(T/4,G,10,LC,10)
1820 CALL SOUND(T/4,BF,10)
1830 CALL SOUND(T/4,HE,10,LG,10)
1840 CALL SOUND(T/4,BF,10)
1850 CALL SOUND(T/4,G,10,LC,10)
1860 CALL SOUND(T/4,E,10)
1870 CALL SOUND(T/4,LF,10)
1880 CALL SOUND(T/4,A,10)
1890 CALL SOUND(T/4,F,10,LC,10)
1900 CALL SOUND(T/4,A,10)
1910 CALL SOUND(T/4,HD,10,LF,10)
1920 CALL SOUND(T/4,A,10)
1930 CALL SOUND(T/4,F,10,LC,10)
1940 CALL SOUND(T/4,D,10)
1950 CALL SOUND(T/4,LE,10)
1960 CALL SOUND(T/4,G,10)
1970 CALL SOUND(T/4,E,10,LC,10)
1980 CALL SOUND(T/4,G,10)
1990 CALL SOUND(T/4,HC,10,LE,10)
2000 CALL SOUND(T/4,G,10)
2010 CALL SOUND(T/4,E,10,LC,10)
2020 CALL SOUND(T/4,C,10)
2030 CALL SOUND(T/4,LD,10)
2040 CALL SOUND(T/4,F,10)
2050 CALL SOUND(T/4,D,10,LC,10)
2060 CALL SOUND(T/4,F,10)
2070 CALL SOUND(T/4,G,10,LLBF,10)
2080 CALL SOUND(T/4,A,10)
2090 CALL SOUND(T/4,BF,10,LG,10)
2100 CALL SOUND(T/4,D,10)
2110 CALL SOUND(T/4,G,10,LE,10)
2120 CALL SOUND(T/4,A,10)
2130 CALL SOUND(T/4,BF,10,LC,10)
2140 CALL SOUND(T/4,E,10)
2150 CALL SOUND(T/4,F,10,LA,10)
2160 CALL SOUND(T/4,G,10)
2170 CALL SOUND(T/4,A,10,LF,10)
2180 CALL SOUND(T/4,C,10)
2190 CALL SOUND(T/4,D,9,LBF,9)
2200 CALL SOUND(T/4,F,9)
2210 CALL SOUND(T/4,A,8)
2220 CALL SOUND(T/4,HC,8)
2230 CALL SOUND(T/4,BF,7)
2240 CALL SOUND(T/4,A,7)
2250 CALL SOUND(T/4,G,6)
2260 CALL SOUND(T/4,BF,6)
2270 CALL SOUND(T/4,HD,5)
2280 CALL SOUND(T/4,HF,5)
2290 CALL SOUND(T/4,HE,4)
2300 CALL SOUND(T/4,HD,4)
2310 CALL SOUND(T/4,HC,3)
2320 CALL SOUND(T/4,HE,3)
2330 CALL SOUND(T/4,HG,2)
2340 CALL SOUND(T/4,HBF,2)
2350 CALL SOUND(T,HBF,0,HG,0,LE,0)
2360 CALL SOUND(T/2,HBF,30)
2370 CALL SOUND(T/2,HA,0,HF,0,LF,0)
2380 CALL SOUND(T/4,BF,0,LD,0)
2390 CALL SOUND(T/4,HG,0,HE,0)
2400 CALL SOUND(T/4,A,0,LLBF,0)
2410 CALL SOUND(T/4,HF,0,HD,0)
2420 CALL SOUND(T/4,G,0,LC,0)
2430 CALL SOUND(T/4,HF,0,HC,0)
2440 CALL SOUND(T/4,G,0,LC,0)
2450 CALL SOUND(T/4,HE,0,BF,0)
2460 CALL SOUND(T*2,HF,0,HC,0,LF,0)
2470 FOR X=1 TO 500 
2480 NEXT X 
2490 CALL CLEAR 
2500 PRINT "PLAY IT AGAIN?" 
2510 PRINT 
2520 PRINT "ENTER Y OR N:" 
2530 CALL KEY(3,REPLY,STATUS)
2540 IF STATUS=0 THEN 2530 
2550 IF REPLY=89 THEN 140 
2560 IF REPLY<>78 THEN 2500 
2570 END 

 

  • Like 3
Link to comment
Share on other sites

Thanks to @Tursi it's possible to play music on the TI from several other home computers with the same family of sound chips. Many of those chiptunes are, in my opinion, more interesting than music done on the TI back in the days. But whenever this topics comes up it's clear that people have very different opinions about what qualifies as good music. One example I find impressive is Collision Chaos by Chris Kelly because it manages to squeeze so much sound out of the PSG, here in a demo I made for the F18A (the Flappy Bird sprite was broken by the latest F18A firmware update).

 

 

  • Like 6
Link to comment
Share on other sites

Sound program "Shaping TI sounds"

 

100 CALL CLEAR
110 CALL SCREEN(15)
120 PRINT TAB(7);"SHAPING TI SOUNDS"
130 FOR T=1 TO 6
140 PRINT
150 NEXT T
160 PRINT "CHOOSE:"
170 PRINT
180 PRINT
190 PRINT TAB(4);"1) SHAPED MUSICAL NOTES"
200 PRINT
210 PRINT TAB(4);"2) ECHO"
220 PRINT
230 PRINT TAB(4);"3) QUIT"
240 PRINT
250 INPUT A$
260 IF (VAL(A$)<1)+(VAL(A$)>3) THEN 250
270 ON VAL(A$) GOTO 290,520,690
280 REM THIS PART PRODUCES "SHAPED" MUSICAL NOTES
290 CALL CLEAR
300 CALL SCREEN(13)
310 PRINT TAB(3);"* SHAPED MUSICAL NOTES *"
320 FOR T=1 TO 10
330 PRINT
340 NEXT T
350 PRINT "ENTER RISE AND FALL TIMES -"
360 PRINT "USE VALUES GREATER THAN ZERO";
370 PRINT
380 INPUT R,D
390 IF (R=0)+(D=0) THEN 380
400 FOR F=110 TO 880 STEP 30
410 FOR DB=30 TO 0 STEP -5/R
420 CALL SOUND(-10,F,DB)
430 NEXT DB
440 FOR DB=0 TO 30 STEP 5/D
450 CALL SOUND(-10,F,DB)
460 NEXT DB
470 FOR T=1 TO 50
480 NEXT T
490 NEXT F
500 GOTO 100
510 REM THIS PART CREATES AN ECHO EFFECT
520 CALL CLEAR
530 CALL SCREEN(14)
540 PRINT TAB(8);"* ECHO EFFECT *"
550 FOR T=1 TO 12
560 PRINT
570 NEXT T
580 FOR F=110 TO 880 STEP 30
590 FOR DB=1 TO 30
600 CALL SOUND(-10,F,DB)
610 FOR T=1 TO 10
620 NEXT T
630 CALL SOUND(-10,990-F,DB)
640 FOR J=1 TO 10
650 NEXT J
660 NEXT DB
670 NEXT F
680 GOTO 100
690 END

 

Link to comment
Share on other sites

20 minutes ago, Asmusr said:

But whenever this topic comes up it's clear that people have very different opinions about what qualifies as good music. 

 

Agreed!  This is why a PC based recording program needs to be made.  People would be able to make what they want (by themselves) and play them on their TI's.

Filesize would not be an issue for most as SD cards are so freaking huge that people can store gigabytes worth of stuff on them.

  • Like 1
Link to comment
Share on other sites

3 minutes ago, Omega-TI said:

 

Agreed!  This is why a PC based recording program needs to be made.  People would be able to make what they want (by themselves) and play them on their TI's.

Filesize would not be an issue for most as SD cards are so freaking huge that people can store gigabytes worth of stuff on them.

Are you talking about digitized sound played back on the TI?

Link to comment
Share on other sites

On 9/30/2020 at 11:50 AM, Asmusr said:

Are you talking about digitized sound played back on the TI?

 

YES, that would be the ticket in my book.  Imagine if ANYONE, even a noob could record sound samples or even whole songs on their PC, or easily convert existing sound files into a "TI format".  What could that bring to the community?  Possibly a whole new generation of games, new demo programs or even a TI-Jukebox program.  The length of the files would really not be that much of an issue since people using modern SD card storage on gadgets like the TIPI have quite literally gigabytes of unused space.

 

Space.JPG.33b1257072352b4a3e1cfb34e397ce0f.JPG

 

 

 

Link to comment
Share on other sites

22 hours ago, Omega-TI said:

 

YES, that would be the ticket in my book.  Imagine if ANYONE, even a noob could record sound samples or even whole songs on their PC, or easily convert existing sound files into a "TI format".  What could that bring to the community?  Possibly a whole new generation of games, new demo programs or even a TI-Jukebox program.  The length of the files would really not be that much of an issue since people using modern SD card storage on gadgets like the TIPI have quite literally gigabytes of unused space.

The problem is that the CPU cannot do anything else while playing digitized sound unless your code is specially designed for it (like Dragon's Lair). And even with the TIPI I don't think you could transfer data fast enough for a smooth experience. 

  • Like 2
Link to comment
Share on other sites

On 10/7/2020 at 12:06 PM, ralphb said:

Somewhat off topic, but my upcoming SDD 99 is able to play PCM files, which can be extracted from WAV files.  The SDD produces 8 bit, 44,1 kHz sound, which is half CD quality.

 

Alas, there are no good demos, since anything noticeable would be killed by YouTube. ?

 

you can upload a mp4 file here:)

Link to comment
Share on other sites

On 9/30/2020 at 7:50 AM, eebuckeye said:

Those are all extremely good!  Does the TI have any Ragtime songs such as the Entertainer?

I knew I had this.. I found it while browsing some old disk images. ;)

 

 

50 CALL CHARSET :: FOR A=1 TO 14 :: CALL COLOR(A,2,1) :: NEXT A
60 CALL DELSPRITE(ALL)
100 !By Dan Hawes
110 !7570 S. Bridgewater Ct.
120 !Salt Lake City, UT 84121
130 !Finished June 11, 1986
140 D=366.875 :: C=326.875 :: E=411.875 :: F=438 :: G=490 :: A=550 :: B=617.5 :: D1=388.75 :: G1=519.375 :: A1=582.5 :: C1=346.25 :: F1=462.5
150 H,M,JH,K=0
160 HDE=562.5 :: Q=750 :: EI=375 :: S=180.5
170 CALL SCREEN(14)
180 FOR I=2 TO 12 :: CALL COLOR(I,16,1) :: NEXT I
190 CALL CHAR(128,"00000000000000000103070703010000003C3C2020202020A0E0E0E0C0800000")
210 CALL CHAR(134,"8142241818244281") :: CALL CHAR(137,"8142241818244281") :: CALL COLOR(13,7,16) :: CALL COLOR(14,11,16)
220 CALL CLEAR
230 CALL HCHAR(1,1,134,32) :: CALL HCHAR(24,1,134,32) :: CALL VCHAR(1,1,134,24) :: CALL VCHAR(1,32,134,24)
240 CALL HCHAR(2,2,137,30) :: CALL HCHAR(23,2,137,30) :: CALL VCHAR(2,2,137,21) :: CALL VCHAR(2,31,137,21)
250 DISPLAY AT(4,8):"*************" :: DISPLAY AT(8,8):"*************" :: CALL VCHAR(4,10,42,4) :: CALL VCHAR(4,22,42,4)
260 DISPLAY AT(5,12.5):"THE    *" :: DISPLAY AT(7,9):"ENTERTAINER*"
270 DISPLAY AT(14,1.5):"* MUSIC BY SCOTT JOPLIN *" :: DISPLAY AT(22,3.5):" 1986 DANIEL C. HAWES"
280 CALL MAGNIFY(4) :: FOR I=1 TO 7 :: CALL SPRITE(#I,128,17-I*1.2,I*6+90,RND*180+I*4,RND*-5-1,0) :: NEXT I
290 CALL SOUND(S,C*4,6,C*2,6) :: CALL SOUND(S,C1*4,6,C1*2,6)
300 CALL SOUND(S,D*4,4,D*2,4) :: CALL SOUND(S,E*4,4,E*2,4) :: CALL SOUND(S,C*2,4,C*4,4) :: CALL SOUND(EI,A,4,A*2,4)
310 CALL SOUND(S,B,5,B*2,5) :: CALL SOUND(EI,G,6,G*2,6) :: CALL SOUND(S,D,7,D*2,7) :: CALL SOUND(S,E,8,E*2,8)
320 CALL SOUND(S,C,8,C*2,8) :: CALL SOUND(EI,A/2,8,A,8) :: CALL SOUND(S,B,9,B/2,9) :: CALL SOUND(E,G,10,G/2,10)
330 CALL SOUND(S,D,11,D/2,11) :: CALL SOUND(S,E,11,E/2,11) :: CALL SOUND(S,C,11,C/2,11) :: CALL SOUND(EI,A/2,11,A/4,11)
340 CALL SOUND(S,B/4,12,B/2,12) :: CALL SOUND(S,A/2,12,A/4,12) :: CALL SOUND(S,G1/2,13,G1/4,13)
350 CALL SOUND(EI,G/2,17,G/4,17) :: CALL SOUND(EI,40000,1)
360 CALL SOUND(EI,G*2,0,B,0,G/4,0)
370 CALL SOUND(S,D,8) :: CALL SOUND(S,D1,8)
380 CALL SOUND(S,E,8,C/2,8) :: CALL SOUND(S,C*2,8,C/2,8)
390 CALL SOUND(S,C*2,8,G/2,8,E/2,8) :: CALL SOUND(S,E,8,G/2,8,E/2,8) :: CALL SOUND(EI,C*2,8,E/2,8)
400 CALL SOUND(S,E,8,A1/2,8,G/2,8) :: CALL SOUND(S,C*2,8,A1/2,8,G/2,8) :: CALL SOUND(EI,C*2,8,F/4,8)
410 CALL SOUND(EI,C*2,8,C,8,F/2,8) :: CALL SOUND(S,C*2,8,E/2,8) :: CALL SOUND(S,C*2,6,C*4,6)
420 CALL SOUND(S,D*2,4,D*4,4,F/4,4) :: CALL SOUND(S,D1*2,2,D1*4,2,F1/4,2) :: CALL SOUND(S,E*2,0,E*4,0,G/4,0)
430 CALL SOUND(S,C*2,0,C*4,0,G/4,0) :: CALL SOUND(S,D*2,0,D*4,0,G/2,0) :: CALL SOUND(S,E*2,0,E*4,0,G/2,0)
440 CALL SOUND(S,E*2,0,E*4,0,G/4,0) :: CALL SOUND(S,B,0,B*2,0,G/4,0) :: CALL SOUND(EI,D*2,0,D*4,0,B/2,0)
450 CALL SOUND(EI,C*4,2,E*2,2,C/2,2) :: CALL SOUND(EI,C*4,4,E*2,4,G/2,4) :: CALL SOUND(EI,C,8) :: IF T=1 THEN RETURN
460 CALL SOUND(S,D,8) :: CALL SOUND(S,D1,8,G/4,8) :: CALL SOUND(S,E,8,C/2,8) :: CALL SOUND(S,C*2,8,C/2,8)
470 CALL SOUND(S,C*2,8,G/2,8,E/2,8) :: CALL SOUND(S,E,8,G/2,8,E/2,8) :: CALL SOUND(EI,C*2,8,E/2,8)
480 CALL SOUND(S,E,8,A1/2,8,G/2,8) :: CALL SOUND(S,C*2,8,A1/2,8,G/2,8) :: CALL SOUND(EI,C*2,8,F/4,8)
490 CALL SOUND(EI,C*2,8,C,8,F/2,8) :: CALL SOUND(EI,C*2,8,E/2,8) :: CALL SOUND(S,A,6,A*2,6,D1/2,6)
500 CALL SOUND(S,G,4,G*2,4,D1/2,4) :: CALL SOUND(S,F1,2,F1*2,2,D/2,2) :: CALL SOUND(S,A,0,A*2,0,D/2,0)
510 CALL SOUND(S,C*2,0,C*4,0,F1/2,0) :: CALL SOUND(S,E*2,0,E*4,0,F1/2,0) :: CALL SOUND(S,E*2,0,E*4,0,F1/4,0)
520 CALL SOUND(S,D*2,0,D*4,0,F1/4,0) :: CALL SOUND(S,C*2,0,C*4,0,F1/2,0) :: CALL SOUND(S,A,0,A*2,0,F1/2,0)
530 CALL SOUND(EI,D*2,0,F*2,0,G/2,0) :: CALL SOUND(EI,D*2,0,F*2,0,F/2,0) :: CALL SOUND(EI,E/2,2) :: H=H+1
540 CALL SOUND(S,D,4,D/2,4) :: CALL SOUND(S,D1,6)
550 T=1 :: GOSUB 380 :: T=0
560 CALL SOUND(S,C*2,0,C*4,0)
570 CALL SOUND(S,D*2,0,D*4,0,G/4,0) :: CALL SOUND(S,E*2,0,E*4,0,C/2,0) :: CALL SOUND(S,C*2,0,C*4,0,C/2,0)
580 CALL SOUND(S,D*2,0,D*4,0,C,0) :: CALL SOUND(S,E*2,0,E*4,0,C,0) :: CALL SOUND(S,E*2,0,E*4,0,A1/4,0)
590 CALL SOUND(S,C*2,0,C*4,0,A1/4,0) :: CALL SOUND(S,D*2,0,D*4,0,A1/2,0) :: CALL SOUND(S,C*2,0,C*4,0,A1/2,0)
600 CALL SOUND(S,E*2,0,E*4,0,A/4,0) :: CALL SOUND(S,C*2,0,C*4,0,A/4,0) :: CALL SOUND(S,D*2,0,D*4,0,A/2,0)
610 CALL SOUND(S,E*2,0,E*4,0,A/2,0) :: CALL SOUND(S,E*2,0,E*4,0,G1/4,0) :: CALL SOUND(S,C*2,0,C*4,0,G1/4,0)
620 CALL SOUND(S,D*2,0,D*4,0,G1/2,0) :: CALL SOUND(S,C*2,0,C*4,0,G1/2,0) :: CALL SOUND(S,G*2,0,E*4,0,G/4,0)
630 CALL SOUND(S,E*2,0,C*4,0,G/4,0) :: CALL SOUND(S,D*4,0,F*2,0,G/2,0) :: CALL SOUND(S,G*2,0,E*4,0,G/2,0)
640 CALL SOUND(S,G*2,0,E*4,0,G/4,0) :: CALL SOUND(S,D*2,0,B*2,0,G/4,0) :: CALL SOUND(EI,F*2,0,D*4,0,B/2,0)
650 ON H GOTO 660,670,1040
660 CALL SOUND(EI,E*2,0,C*4,0,C/2,0) :: CALL SOUND(EI,E*2,0,C*4,0,G/4,0) :: CALL SOUND(EI,C/2,0) :: CALL SOUND(EI,40000,1) :: GOTO 370
670 CALL SOUND(EI,E*2,0,C*4,0,C/2,0) :: CALL SOUND(EI,E*2,4,C*4,4,G/4,4) :: CALL SOUND(EI,C/2,8) :: CALL SOUND(S,C*2,8,E*2,8)
680 CALL SOUND(S,D*2,6,F*2,6) :: CALL SOUND(S,D1*2,5,F1*2,5)
690 CALL SOUND(EI,G*2,4,E*2,4,C/2,4)
700 CALL SOUND(S,A*2,4,C,4) :: CALL SOUND(S,B,4,G*2,4,C,4) :: CALL SOUND(S,B,4,G*2,4,G/4,4)
710 CALL SOUND(S,C*2,4,E*2,4,G/4,4) :: CALL SOUND(S,D*2,4,F*2,4,G/2,4) :: CALL SOUND(S,D1*2,4,F1*2,4,G/2,4)
720 CALL SOUND(EI,G*2,4,E*2,4,C/2,4) :: CALL SOUND(S,A*2,4,E,4) :: CALL SOUND(S,G,4,G*2,4,E,4)
730 CALL SOUND(S,G,4,G*2,4,G/4,4) :: CALL SOUND(S,E*2,4,G/4,4) :: CALL SOUND(S,C*2,4,E,4,C,4)
740 CALL SOUND(S,G,4,E,4,C,4) :: CALL SOUND(S,F,8,A,4,F/4,4) :: CALL SOUND(S,B,4,F,8,F/4,4)
750 CALL SOUND(S,C*2,4,F,8,A,4) :: CALL SOUND(S,D*2,4,F,8,A,4) :: CALL SOUND(S,G1,8,E*2,4,F/4,4)
760 CALL SOUND(S,D*2,4,G1,8,F/4,4) :: CALL SOUND(S,C*2,4,G1,8,G1/2,4) :: CALL SOUND(S,D*2,4,G1,8,G1/2,4) :: IF T1=1 THEN RETURN
770 CALL SOUND(S,G,4,E/2,4) :: CALL SOUND(S,C*2,4,E*2,4,E/2,4) :: CALL SOUND(S,D*2,4,F*2,4,C,4)
780 CALL SOUND(S,E*2,4,G*2,4,C,4) :: CALL SOUND(S,F*2,3,A*2,3,G/4,3) :: CALL SOUND(S,E*2,3,G*2,3,G/4,3)
790 CALL SOUND(S,C*2,2,E*2,2,G/2,2) :: CALL SOUND(S,D*2,1,F*2,1,G/2,1) :: CALL SOUND(EI,E*2,0,G*2,0,C/2,0)
800 CALL SOUND(S,A*2,0,G/2,0) :: CALL SOUND(S,B,0,G*2,0,G/2,0) :: CALL SOUND(S,B,0,G*2,0,G/4,0)
810 CALL SOUND(S,C*2,0,E*2,0,G/4,0) :: CALL SOUND(S,D*2,0,F*2,0,C,0) :: CALL SOUND(S,D1*2,0,F1*2,0,C,0)
820 CALL SOUND(EI,E*2,0,G*2,0,C/2,0) :: CALL SOUND(S,A*2,0,E,0) :: CALL SOUND(S,G,0,G*2,0,E,0)
830 CALL SOUND(S,G,0,G*2,0,E/2,0) :: CALL SOUND(S,G,0,G*2,0,E/2,0) :: CALL SOUND(S,A,0,A*2,0,D1/2,0)
840 CALL SOUND(S,A1,0,A1*2,0,D1/2,0) :: CALL SOUND(S,G*2,0,B*2,0,D/2,0) :: CALL SOUND(S,G*2,0,B*2,0,D/2,0)
850 CALL SOUND(S,B*2,0,G*2,0,D,0) :: CALL SOUND(S,D,0,F1*2,0,B*2,0) :: CALL SOUND(S,F1*2,0,B*2,0,D/2,0)
860 CALL SOUND(S,A*2,0,D/2,0) :: CALL SOUND(S,C*2,0,F*2,0,A,0) :: CALL SOUND(S,D*2,0,A,0)
870 CALL SOUND(EI,G/2,0,B,0,G*2,0) :: CALL SOUND(EI,B,0,G*2,0,F/2,0) :: CALL SOUND(S,B,0,G*2,0,E/2,0)
880 CALL SOUND(S,C*2,0,E*2,0,E/2,0) :: CALL SOUND(S,D*2,0,F*2,0,D/2,0) :: CALL SOUND(S,D1*2,0,F1*2,0,D/2,0)
890 T1=1 :: GOSUB 690 :: T1=0
900 CALL SOUND(S,C*2,6,E/2,4) :: CALL SOUND(S,E,4,C*2,6,E/2,4)
910 CALL SOUND(S,G,4,C*2,6,C,4) :: CALL SOUND(S,B,4,C*2,6,C,4) :: CALL SOUND(S,A1,4,C*2,6,C/2,4)
920 CALL SOUND(S,G,4,C/2,4) :: CALL SOUND(S,F1,4,A1/2,4,E,4) :: CALL SOUND(S,G,4,A1/2,4,E,4)
930 CALL SOUND(EI,C*2,4,C,4,F/2,4) :: M=M+1 :: CALL SOUND(S,A,4,C,4,F/2,4) :: CALL SOUND(S,C*2,4,C,4,F/2,4)
940 CALL SOUND(S,C*2,4,C1,4,F1/2,4) :: CALL SOUND(S,A,4,C1,4,F1/2,4) :: CALL SOUND(S,C*2,4,F1/2,4,C1,4)
950 CALL SOUND(S,A,4,C1,4,F1/2,4) :: CALL SOUND(S,G,4,E,4,G/2,4) :: CALL SOUND(S,C*2,4,E,4,G/2,4)
960 CALL SOUND(S,E*2,4,C,4,G/2,4) :: CALL SOUND(S,G*2,4,C,4,G/2,4) :: CALL SOUND(S,G*2,4,E,4,A/2,4)
970 CALL SOUND(S,E*2,4,E,4,A/2,4) :: CALL SOUND(S,C*2,4,C,4,A/2,4) :: CALL SOUND(S,G,4,C,4,A/2,4)
980 CALL SOUND(EI,F1,4,A,4,C,4) :: CALL SOUND(EI,F,4,C*2,4,A/2,4) :: CALL SOUND(S,G,4,E*2,4,G/2,4)
990 CALL SOUND(S,D*2,4,F,4,G/2,4) :: CALL SOUND(S,D*2,4,F,4,G/4,4) :: CALL SOUND(S,E,4,C*2,4,G/4,4) :: IF T2K=1 THEN RETURN
1000 ON M GOTO 1010,1030
1010 CALL SOUND(EI,C,4,E,4,C*2,4) :: CALL SOUND(EI,G/2,4,E,4,C*2,4) :: CALL SOUND(S,E/2,4)
1020 CALL SOUND(S,C*2,4,E*2,4,E/2,4) :: CALL SOUND(S,D/2,3,D*2,3,F*2,3) :: CALL SOUND(S,D1*2,2,F1*2,2,D/2,2) :: GOTO 690
1030 CALL SOUND(EI,C*2,4,E,4,C,4) :: CALL SOUND(EI,C*2,6,E,6,G/2,6) :: CALL SOUND(EI,C/2,8) :: GOTO 370
1040 CALL SOUND(EI,C/2,4,E*2,4,C*4,4) :: CALL SOUND(EI,E*2,4,C*4,4,G/4,4) :: CALL SOUND(EI,C*8,0,C*4,0,C/2,0)
1050 CALL SOUND(EI,40000,1)
1060 CALL SOUND(S,A*2,2,F*2,2,F/4,2) :: CALL SOUND(S,G1*2,2,F*2,2,F/4,2) :: CALL SOUND(S,A*2,2,F*2,2,A/2,2)
1070 CALL SOUND(S,A*2,2,C*2,2,A/2,2) :: CALL SOUND(S,F*2,2,C/2,2) :: CALL SOUND(S,A*2,2,C/2,2)
1080 CALL SOUND(S,C*4,2,F/2,2) :: CALL SOUND(S,A*2,2,F/2,2) :: CALL SOUND(EI,A1*2,2,F*2,2,A1/4,2)
1090 CALL SOUND(S,A1,2,D,2,A1/2,2) :: CALL SOUND(S,A,2,D,2,A1/2,2) :: CALL SOUND(S,A1,2,F/4,2)
1100 CALL SOUND(S,C*2,2,F/4,2) :: CALL SOUND(EI,D*2,2,A1,2,F,2) :: CALL SOUND(S,F*2,2,D*2,2,D/2,2)
1110 CALL SOUND(S,E*2,2,D/2,2) :: CALL SOUND(S,F*2,2,D*2,2,A/2,2) :: CALL SOUND(S,F*2,2,A,2,A/2,2)
1120 CALL SOUND(S,D*2,2,A/4,2) :: CALL SOUND(S,F*2,2,A/4,2) :: CALL SOUND(S,A*2,2,F,2,A/2,2)
1130 CALL SOUND(S,F*2,2,F,2,A/2,2) :: CALL SOUND(EI,G*2,2,A1*2,2,G/4,2) :: CALL SOUND(S,G,2,D,2,A1/2,2)
1140 CALL SOUND(S,F1,2,D,2,A1/2,2) :: CALL SOUND(S,G,2,D/2,2) :: CALL SOUND(S,A,2,D/2,2)
1150 CALL SOUND(S,A1,2,D,2,A1/2,2) :: CALL SOUND(S,G*2,2,D,2,A1/2,2) :: CALL SOUND(EI,D*2,2,A1,2,A1/2,2)
1160 CALL SOUND(S,G*2,2,D,2,A1/2,2) :: CALL SOUND(S,D*2,2,A1,2,A1/2,2) :: CALL SOUND(S,D*2,2,A1,2,G/4,2)
1170 CALL SOUND(S,G*2,2,G/4,2) :: CALL SOUND(EI,D*2,2,B,2,G1/4,2) :: IF T2=1 THEN RETURN
1180 CALL SOUND(S,C*2,2,A/2,2,A/4,2)
1190 CALL SOUND(S,F,2,A/2,2,A/4,2) :: CALL SOUND(S,A,2,C,2,A/2,2) :: CALL SOUND(S,C*2,2,C,2,A/2,2)
1200 CALL SOUND(S,F*2,2,D/2,2) :: CALL SOUND(S,A,2,D/2,2) :: CALL SOUND(S,D*2,2,F,2,A/2,2)
1210 CALL SOUND(S,F*2,2,F,2,A/2,2) :: CALL SOUND(S,E*2,2,E/2,2) :: CALL SOUND(S,G1*2,2,E/2,2)
1220 CALL SOUND(S,B*2,2,B/2,2,D,2) :: CALL SOUND(S,E*4,2,B/2,2,D,2) :: CALL SOUND(S,E*4,2,G1/4,2)
1230 CALL SOUND(S,D*4,2,G1/4,2) :: CALL SOUND(S,B*2,2,B/2,2,E,2) :: CALL SOUND(S,C*4,2,B/2,2,E,2)
1240 CALL SOUND(EI,A*2,2,C,2,F/2,2) :: CALL SOUND(EI,A*2,2,E/2,2) :: CALL SOUND(EI,A1*2,0,G*2,0,G/2,0)
1250 CALL SOUND(EI,A1*2,2,G*2,2,C/2,2)
1260 T2=1 :: GOSUB 1060 :: T2=0
1270 CALL SOUND(S,C*2,2,F,2,A/2,2) :: CALL SOUND(S,C*2,2,F,2,F/2,2) :: CALL SOUND(S,C*2,2,F,2,E/2,2) :: JH=JH+1
1280 CALL SOUND(S,C*2,2,F,2,D/2,2) :: CALL SOUND(HDE,F*2,0,G1,0,C1/2,0) :: CALL SOUND(S,F*2,2,C1/2,2)
1290 CALL SOUND(S,A*2,2,A,2,C/2,2) :: CALL SOUND(S,C*4,2,C*2,2,C/2,2) :: CALL SOUND(S,C*4,2,C*2,2,A/2,2)
1300 CALL SOUND(S,G*2,2,A1,2,A/2,2) :: CALL SOUND(S,G*2,2,A1,2,C/2,2) :: CALL SOUND(S,C*2,2,C/2,2)
1310 CALL SOUND(S,D*2,2,A1,2,C/2,2) :: CALL SOUND(S,E*2,2,C/2,2) :: ON JH GOTO 1320,1340
1320 CALL SOUND(EI,F*2,2,A,2,F/4,2) :: CALL SOUND(S,B,2) :: CALL SOUND(S,C*2,2) :: CALL SOUND(S,D*2,2)
1330 CALL SOUND(S,E*2,2) :: CALL SOUND(S,F*2,2) :: CALL SOUND(S,G*2,2) :: GOTO 1060
1340 CALL SOUND(EI,F*2,2,A,2,F/2,2) :: CALL SOUND(EI,C/2,2) :: CALL SOUND(EI,F*4,0,A*2,0,F/2,0) :: CALL SOUND(EI,40000,1)
1350 T2K=1 :: GOSUB 930 :: T2K=0
1360 CALL SOUND(Q,C/2,4,E,4,C*2,4) :: CALL SOUND(EI,C*4,0,E*2,0,C/2,0) :: CALL SOUND(EI,40000,1)
1370 CALL SOUND(EI,A,8,F*2,8,F/4,8) :: CALL SOUND(S,G1,8,E*2,8,C,8) :: CALL SOUND(S,A,8,F*2,8,C,8)
1380 CALL SOUND(S,A,8,F*2,8,A/4,8) :: CALL SOUND(S,G1,8,E*2,8,A/4,8) :: CALL SOUND(EI,A,8,F*2,8,C,8)
1390 CALL SOUND(S,F/4,8) :: CALL SOUND(S,A,8,F/4,8) :: CALL SOUND(S,F,8,D*2,8,F/2,8)
1400 CALL SOUND(S,A,8,F/2,8) :: CALL SOUND(S,C*2,8,A/4,8) :: CALL SOUND(S,D*2,8,A/4,8)
1410 CALL SOUND(S,C*2,8,F/2,8) :: CALL SOUND(S,A,8,F/2,8) :: CALL SOUND(E,E*2,8,G*2,8,C/2,8)
1420 CALL SOUND(S,D1*2,8,F1*2,8,G/2,8) :: CALL SOUND(S,E*2,8,G*2,8,G/2,8) :: CALL SOUND(S,E*2,7,G*2,7,G/4,7)
1430 CALL SOUND(S,D1*2,7,F1*2,7,G/4,7) :: CALL SOUND(EI,E*2,6,G*2,6,G/2,6) :: CALL SOUND(S,C/2,6)
1440 CALL SOUND(S,C*2,5,C/2,5) :: CALL SOUND(S,G,4,E*2,4,C,4) :: CALL SOUND(S,C*2,4,C,4)
1450 CALL SOUND(S,D*2,4,G/4,4) :: CALL SOUND(S,E*2,3,G/4,3) :: CALL SOUND(S,D*2,3,C,3) :: CALL SOUND(S,C*2,3,C,3) :: IF T3=1 THEN RETURN
1460 CALL SOUND(EI,B*2,2,D*4,2,G/4,2) :: CALL SOUND(S,A1*2,2,C1*2,2,B,2)
1470 CALL SOUND(S,B*2,2,D*4,2,B,2) :: CALL SOUND(S,B*2,2,D*4,2,B/4,2) :: CALL SOUND(S,A1*2,2,C1*2,2,B/4,2)
1480 CALL SOUND(EI,B*2,2,D*4,2,G/2,2) :: CALL SOUND(S,G/4,2) :: CALL SOUND(S,F*2,2,G/4,2)
1490 CALL SOUND(S,B,2,A*2,2,F/2,2) :: CALL SOUND(S,F*2,2,F/2,2) :: CALL SOUND(S,G*2,1,D/2,1)
1500 CALL SOUND(S,A*2,1,D/2,1) :: CALL SOUND(S,G*2,1,B,1) :: CALL SOUND(S,F*2,1,B,1)
1510 CALL SOUND(S,F1/2,0,D1/2,0,C*4,0) :: CALL SOUND(S,F1/2,0,D1/2,0,C*4,0) :: CALL SOUND(Q,F1/2,0,D1/2,0,C*4,0)
1520 CALL SOUND(EI,A*2,0,D1/2,0,F1/2,0) :: CALL SOUND(EI,G*2,2,G/2,2,E/2,2) :: CALL SOUND(S,E,4,G,4)
1530 CALL SOUND(S,E,4,G,4) :: CALL SOUND(EI,E,6,G,6) :: CALL SOUND(EI,E,7,G,7) :: K=K+1
1540 T3=1 :: GOSUB 1370 :: T3=0
1550 CALL SOUND(S,A,2,F/2,2) :: CALL SOUND(S,G1,2,F/2,2) :: CALL SOUND(S,A,2,D/2,2) :: CALL SOUND(S,A,2,G*2,2,D/2,2)
1560 CALL SOUND(S,A,2,G*2,2,E/2,2) :: CALL SOUND(S,A,2,F*2,2,E/2,2) :: CALL SOUND(S,A,2,F*2,2,F/2,2)
1570 CALL SOUND(S,C*2,2,F/2,2) :: CALL SOUND(S,G,2,E*2,2,G/2,2) :: CALL SOUND(S,D1*2,2,G/2,2)
1580 CALL SOUND(S,E*2,2,E,2,C,2) :: CALL SOUND(S,A*2,2,E,2,C,2) :: CALL SOUND(S,A*2,2,C1,2,F1/2,2)
1590 CALL SOUND(S,C*4,2,C1,2,F1/2,2) :: CALL SOUND(S,G*2,2,E,2,G/2,2) :: CALL SOUND(S,E*2,2,E,2,G/2,2)
1600 CALL SOUND(EI,F1,2,C*2,2,A/2,2) :: CALL SOUND(EI,F1,2,C*2,2,D/2,2) :: CALL SOUND(S,G,2,E*2,2,G/2,2)
1610 CALL SOUND(S,F,2,D*2,2,G/2,2) :: CALL SOUND(S,F,2,D*2,2,B,2) :: CALL SOUND(S,E,2,C*2,2,B,2)
1620 CALL SOUND(EI,E,2,C*2,2,C,2) :: CALL SOUND(S,E,2,G,2) :: CALL SOUND(S,E,4,G,4) :: CALL SOUND(EI,E,6,G,6)
1630 CALL SOUND(EI,E,8,G,8) :: ON K GOTO 1370,1640
1640 CALL SOUND(EI,C*2,8,E,8,C,8) :: CALL SOUND(EI,C*2,4,E,4,G/2,4) :: CALL SOUND(EI,C*4,0,E*2,0,C/2,0)
1650 FOR COL=14 TO 22 :: CALL HCHAR(COL,4,32,26) :: NEXT COL :: CALL DELSPRITE(ALL)
1660 CALL SOUND(1,-1,30)
1670 REM RUN "DSK1.GHOSTBUSTX"
1680 CALL SAY("#PRESS##ENTER##TO##HERE##IT##AGAIN#,#OR##PRESS##ANY##OTHER##KEY##TO##STOP#")
1690 CALL KEY(0,K,S) :: IF S=0 THEN 1690 ELSE IF K=13 THEN 140 ELSE CALL CLEAR :: IF P=0 THEN END ELSE CALL SAY("GOODBYE") :: END

 

 

It was on a disk of music files I'd accumulated, and linked together to make a XB music box of sorts... ;)

 

Basic_MUSIC.DSK

Edited by Tursi
  • Like 6
  • Thanks 2
Link to comment
Share on other sites

On 10/7/2020 at 5:06 AM, Asmusr said:

The problem is that the CPU cannot do anything else while playing digitized sound unless your code is specially designed for it (like Dragon's Lair). And even with the TIPI I don't think you could transfer data fast enough for a smooth experience. 

 

 

Not ENTIRELY true...

 

Again, (since I have brought this idea up before), all you need to do is pass either a set of wave patch files, or an .SF2 file to the PI, then have a small python or other handler, that accepts network connections on some reserved TCP ports, and then accepts simple midi messages from them, and sends them to an appropriate midi device.

 

Since the midi devices the PI has are all software wavetable synthesizers, if the PI already has the samples (because your program shits them down the PI's throat during the loading stage, then instructs the PI what instrument patch set to use-- specifically, the instruments you just provided it), then all you have to do is blurp out a bytecode message to play it, designating the sample, the pitch, the duration, etc-- in the form of a midi message.

 

The PI does the needful and makes the sound, You just vomit up a midi bytecode message to instruct playback.  That is not showstopping by any means.

 

It WOULD however, require somebody to run some wires from the GPIO header strip of their PI, to the AUDIOIN line of the sidecar slot/JediMatt connector.

 

 

 

Edited by wierd_w
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...