I B M    M u s i c    D e m o    1 9 8 1 - 8 2
Frank's Humble Abode at frankosite2020.com
Herein is the complete IBM-BASIC Code of the original 1981 (updated 1982) IBM Music Demo Program with
eleven selections. Compiled into a DOS EXE with PowerBasic DOS Version 3.50 in the 1990's.

IBM Music 1981

Download compiled TMUSIC.EXE program, stored in ZIP file IBM-Music-8182.zip. Once extracted,
it can be viewed using a DOS emulator such as Dosbox -OR- DosBox-X.  

frankosite2020.com »»»   Home Page       About Me         E-Mail   and   GuestBook

See Also »»»   Kube-0-Seven   PowerBasic Console Compiler Demonstration Program

and ... Program 8032   Emulation of a Commodore 4.0 Screen using PowerBASIC-DOS 3.50

Visit these PowerBasic Forums »»»   PB Users Site   (NEW, Oct 11th 2025)   and   Forums       "PUMP" Alternative Board

ALSO VISIT .... BASIC Programming Language Group on FaceBook


 ' ==========================================================

   REM  PowerBASIC DOS-3.50 Coding

   $Compile exe "TMUSIC.EXE"
   $CPU 80386

   REM  IBM BASIC Coding Hereafter

   REM  The IBM BASIC code was copied exactly as originally written, with
   REM  only minor adjustments. The 4000-and-up lines were added for the
   REM  PowerBASIC 3.50-DOS Compiler version.

   REM  You may adjust any coding syntax herein, if needed to accomodate
   REM  the particular type of BASIC you are using.

   900 CLS:KEY OFF:CLEAR:RESTORE

   1000 REM The IBM Personal Computer Music
   1010 REM Version 1.10 (C)Copyright IBM Corp 1981, 1982
   1020 REM Licensed Material - Program Property of IBM

   1030 DEF SEG
   1040 SAMPLES$ = "NO"
   1050 GOTO 1070
   1060 SAMPLES$ = "YES"

   1070 KEY OFF:SCREEN 0,1:COLOR 15,0,0:WIDTH 40:CLS:LOCATE 5,19,0:PRINT "IBM"
   1080 LOCATE 7,12:PRINT "Personal Computer"
   1090 COLOR 10,0:LOCATE 10,9:PRINT CHR$(213)+STRING$(21,205)+CHR$(184)
   1100 LOCATE 11,9:PRINT CHR$(179)+"        MUSIC        "+CHR$(179)
   1110 LOCATE 12,9:PRINT CHR$(179)+STRING$(21,32)+CHR$(179)
   1120 LOCATE 13,9:PRINT CHR$(179)+"    Version 1.10     "+CHR$(179)
   1130 LOCATE 14,9:PRINT CHR$(212)+STRING$(21,205)+CHR$(190)
   1140 COLOR 15,0:LOCATE 17,4:PRINT "(C) Copyright IBM Corp 1981, 1982"
   1150 COLOR 14,0:LOCATE 23,7:PRINT "Press space bar to continue"

   1160 IF INKEY$ <> "" THEN  1160
   1170 CMD$ = INKEY$:IF CMD$="" THEN 1170
   1180 IF CMD$ = CHR$(27) THEN GOTO 2000
   1190 IF CMD$ <> " " THEN 1170

   1200 ON ERROR GOTO 1230
   1210 PLAY "mf"
   1220 GOTO 1240
   1230 RESUME 1240

   1240 ON ERROR GOTO 0
   1250 SCREEN 0,1:WIDTH 40:COLOR 15,1,1:CLS:DEFINT A-Z
   1260 LOCATE 15,7:PRINT " ------- selections -------"
   1270 LOCATE 16,7:PRINT " A-MARCH  E-HUMOR  I-SAKURA"
   1280 LOCATE 17,7:PRINT " B-STARS  F-BUG    J-BLUE  "
   1290 LOCATE 18,7:PRINT " C-FORTY  G-POP    K-SCALES"
   1300 LOCATE 19,7:PRINT " D-HAT    H-DANDY  ESC KEY-EXIT"

   1310 COLOR 15,0
   1320 FOR I=0 TO 15:FOR J=0 TO 8
   1330 LOCATE 5+J,5+I*2:PRINT CHR$(219);CHR$(221);
   1340 NEXT:NEXT

   1350 FOR I=0 TO 12:FOR J=0 TO 4
   1360 IF I=2 OR I=6 OR I=9 OR I=13 THEN 1380
   1370 LOCATE 5+J,8+I*2:PRINT CHR$(32);CHR$(222);
   1380 NEXT:NEXT

   1390 FOR J=0 TO 9
   1400 LOCATE 4+J,4:COLOR 4,0:PRINT CHR$(221);:LOCATE 4+J,36:COLOR 15,0
   1410 PRINT CHR$(221);:COLOR 4,1:PRINT CHR$(221);
   1420 NEXT

   1430 COLOR 4,1:LOCATE 4,4
   1440 FOR I=0 TO 32:PRINT CHR$(219);:NEXT
   1450 PRINT CHR$(221);:LOCATE 13,4
   1460 FOR I=0 TO 32:PRINT CHR$(219);:NEXT
   1470 PRINT CHR$(221);:COLOR 0,7:DIM M(88),O(70)
   1480 FOR I=7 TO 88:M(I) =  36.8*(2^(1/12))^(I-6):NEXT
   1490 FOR I=0 TO 6:M(I) = 32767:NEXT

   1500 O(0) = 0
   1510 O(39)=5:O(40)=7:O(41)=8:O(42)=9
   1520 O(43)=10:O(44)=11:O(45)=13:O(46)=14
   1530 O(47)=15:O(48)=16:O(49)=17:O(50)=18
   1540 O(51)=19:O(52)=21:O(53)=22:O(54)=23
   1550 O(55)=24:O(56)=25:O(57)=27:O(58)=28
   1560 O(59)=29:O(60)=30:O(61)=31:O(62)=32
   1570 O(63)=33:O(64)=35:O(65)=36:O(66)=37
   1580 O(67)=38:O(68)=39:O(69)=40:O(70)=42
   1590 GOTO 1750

   1600 READ J,K
   1610 CMD$ = INKEY$:IF CMD$="" THEN 1650
   1620 IF CMD$=CHR$(27) THEN RETURN
   1630 REM
   1640 REM
   1650 IF J = -1 THEN RETURN
   1660 Q = O(J)
   1670 IF J>64 OR J<39 THEN 1700
   1680 IF SCREEN(5,Q)<>32 THEN COLOR 0,7:LOCATE 11,Q:PRINT CHR$(14);:COLOR 15,0:GOTO 1700
   1690 COLOR 15,0:LOCATE 7,Q:PRINT CHR$(14);:COLOR 0,7

   1700 SOUND M(J),K:IF J=0 AND K=1 THEN 1720:'SKIP NEXT FOR STACCATTO
   1710 SOUND 32767,1
   1720 IF J>64 OR J<39 THEN 1600
   1730 IF SCREEN(5,Q) = 32 THEN COLOR 15,0:LOCATE 7,Q:PRINT CHR$(32);:GOTO 1600
   1740 COLOR 15,0:LOCATE 11,Q:PRINT CHR$(219);:GOTO 1600

   1750 LOCATE 21,5:PRINT "                                ";
   1760 LOCATE 21,5:PRINT "ENTER SELECTION ==>";
   1770 IF INKEY$ <> "" THEN 1770
   1780 CMD$=INKEY$:IF CMD$="" THEN 1780
   1790 IF CMD$=CHR$(27) THEN 2000
   1800 IF CMD$="A" OR CMD$="a" THEN S$= "MARCH ":RESTORE 2680:GOTO 1920
   1810 IF CMD$="B" OR CMD$="b" THEN S$= "STARS ":RESTORE 2770:GOTO 1920
   1820 IF CMD$="C" OR CMD$="c" THEN S$= "FORTY ":RESTORE 2460:GOTO 1920
   1830 IF CMD$="D" OR CMD$="d" THEN S$= "HAT   ":RESTORE 2880:GOTO 1920
   1840 IF CMD$="E" OR CMD$="e" THEN S$= "HUMOR ":RESTORE 2300:GOTO 1920
   1850 IF CMD$="F" OR CMD$="f" THEN S$= "BUG   ":RESTORE 2050:GOTO 1920
   1860 IF CMD$="G" OR CMD$="g" THEN S$= "POP   ":RESTORE 2380:GOTO 1920
   1870 IF CMD$="H" OR CMD$="h" THEN S$= "DANDY ":RESTORE 2580:GOTO 1920
   1880 IF CMD$="I" OR CMD$="i" THEN S$= "SAKURA":RESTORE 3040:GOTO 1920
   1890 IF CMD$="J" OR CMD$="j" THEN S$= "BLUE  ":RESTORE 2130:GOTO 1920
   1900 IF CMD$="K" OR CMD$="k" THEN S$= "SCALES":RESTORE 2960:GOTO 1920
   1910 GOTO 1760

   1920 PRINT " ";CMD$;"-";S$
   1925 FOR ZZ=1 TO 250:NEXT ZZ:' CHANGE THE 2nd NUMBER AFTER 1925
   1930 READ D
   1940 READ S$:LOCATE 23,1+(40.5-LEN(S$))/2
   1950 COLOR 15,4:PRINT S$;:COLOR 0,7
   1960 GOSUB 1600
   1970 S$=STRING$(39," "):LOCATE 23,1:COLOR 4,1:PRINT S$:COLOR 0,7
   1980 GOTO 1750
   1990 GOTO 4000

   2000 ' IF SAMPLES$="YES" THEN CHAIN "SAMPLES",1000
   2010 SCREEN 0,1:COLOR 7,0,0:GOTO 4000

   2020 REM The IBM Personal Computer Music Scroll
   2030 REM Version 1.00 (C)Copyright IBM Corp 1981
   2040 REM Licensed Material - Program Property of IBM

   2050 DATA -2,"La Cucaracha - Mexican Folk Song"
   2060 DATA 42,1,0,1,42,1,0,1,42,1,0,1,47,1,0,5,51,1,0,3,42,1,0,1,42,1,0,1
   2070 DATA 42,1,0,1,47,1,0,5,51,1,0,5,30,1,0,1,30,1,0,1,35,1,0,3,47,1,0,1
   2080 DATA 47,1,0,1,46,1,0,1,46,1,0,1,44,1,0,1,44,1,0,1,42,8,0,2,42,1,0,1
   2090 DATA 42,1,0,1,42,1,0,1,46,1,0,5,49,1,0,3,42,1,0,1,42,1,0,1,42,1,0,1
   2100 DATA 46,1,0,5,49,1,0,5,37,1,0,1,37,1,0,1,30,1,0,3,54,2,56,2,54,2,52,2
   2110 DATA 51,2,49,2,47,8
   2120 DATA -1,-1

   2130 DATA -2,"Blue Danube Waltz by J.S.Strauss"
   2140 DATA 42,4,46,4,49,4,49,4,0,4,61,2,0,2,61,2,0,6,58,2,0,2,58,2,0,6,42,4,42,4
   2150 DATA 46,4,49,4
   2160 DATA 49,4,0,4,61,2,0,2,61,2,0,6,59,2,0,2,59,2,0,6,41,4,41,4,44,4,51,4,51,4
   2170 DATA 0,4,63,2,0,2,63,2,0,6,59,2,0,2
   2180 DATA 59,2,0,6,41,4,41,4,44,4,51,4,51,4,0,4,63,2,0,2,63,2,0,6,58,2,0,2,58,2
   2190 DATA 0,6,42,4
   2200 DATA 42,4,46,4,49,4,54,4,0,4,66,2,0,2,66,2,0,6,61,2,0,2,61,2,0,6,42,4
   2210 DATA 42,4,46,4,49,4,54,4,0,4,66,2,0,2
   2220 DATA 66,2,0,6,63,2,0,2,63,2,0,6,44,4,44,4,47,4,51,2,0,2,51,14,0,2,48,4
   2230 DATA 49,4,58,16
   2240 DATA 54,4,46,4,46,8,44,4,51,8,49,4,42,4,0,2,42,2,42,4,0,8,49,2,0,2,47,2
   2250 DATA 0,6,49,2,0,2
   2260 DATA 47,2,0,6,49,4,58,16,56,4,49,2,0,2,46,2,0,6,49,2,0,2,46,2,0,6,49,4
   2270 DATA 56,16,54,4,49,2,0,2,47,2,0,6,49,2,0,2,47,2,0,6,49,4,58,16
   2280 DATA 56,4,49,4,54,4,56,4,58,4,61,8,59,4,58,2,58,2,58,4,56,2,0,2,54,4,0,8
   2290 DATA -1,-1

   2300 DATA -2,"Humoresque by Dvorak"
   2310 DATA 47,3,0,2,49,1,47,3,0,2,49,1,51,3,0,2,54,1,56,3,0,2,54,1
   2320 DATA 59,3,0,2,58,1,61,3,0,2,59,1,58,3,0,2,61,1,59,3,0,2,56,1
   2330 DATA 54,3,0,2,54,1,56,3,0,2,54,1,59,3,0,2,56,1,54,3,0,2,51,1
   2340 DATA 49,24,47,3,0,2,49,1,47,3,0,2,49,1,51,3,0,2,54,1,56,3,0,2,54,1
   2350 DATA 56,3,0,2,58,1,61,3,0,2,59,1,58,3,0,2,61,1,59,3,0,2,56,1
   2360 DATA 54,3,0,2,54,1,59,3,0,2,47,1,49,6,54,6,47,18
   2370 DATA -1,-1

   2380 DATA -2,"Pop! Goes the Weasel - Anonymous"
   2390 DATA 47,2,0,2,47,2,49,2,0,2,49,2,51,2,54,2,51,2,47,2,0,2,42,2
   2400 DATA 47,2,0,2,47,2,49,2,0,2,49,2,51,6,47,2,0,2,42,2,47,2,0,2,47,2,49,2
   2410 DATA 0,2,49,2,51,2,54,2,51,2,47,2,0,4,56,2,0,4,49,2,0,2,52,2,51,6,47,2
   2420 DATA 0,4,59,2,0,2,59,2,56,2,0,2,59,2,58,2,61,2,58,2,54,2,0,4,59,2,0,2
   2430 DATA 59,2,56,2,0,2,59,2,58,6,54,2,0,2,51,2,52,2,0,2,51,2,52,2,0,2,54,2
   2440 DATA 56,2,0,2,58,2,59,2,0,4,56,2,0,4,49,2,0,2,52,2,51,6,47,2
   2450 DATA -1,-1

   2460 DATA -2,"Symphony #40 by Mozart"
   2470 DATA 55,2,54,2,54,4,55,2,54,2,54,4,55,2,54,2,54,4,62,4,0,4
   2480 DATA 62,2,61,2,59,4,59,2,57,2,55,4,55,2,54,2
   2490 DATA 52,4,52,4,0,4,54,2,52,2,52,4,54,2,52,2,52,4,54,2,52,2
   2500 DATA 52,4,61,4,0,4,61,2,59,2,58,4,58,2,55,2,54,4,54,2,52,2
   2510 DATA 50,4,50,4,0,4,62,2,61,2,61,4,64,4,58,4,61,4
   2520 DATA 59,4,54,4,0,4,62,2,61,2,61,4,64,4,58,4,61,4
   2530 DATA 59,4,62,4,61,2,59,2,57,2,55,2,54,4,46,4,47,4,49,4
   2540 DATA 50,4,52,2,50,2,49,4,47,4,54,4,0,4,65,8
   2550 DATA 66,2,0,6,65,8,66,2,0,6,65,8
   2560 DATA 66,4,65,4,66,4,65,4,66,4
   2570 DATA -1,-1

   2580 DATA -2,"Yankee Doodle - Anonymous "
   2590 DATA 50,3,50,3,52,3,54,3,50,3,54,3,52,3,45,3,50,3,50,3,52,3,54,3,50,6
   2600 DATA 49,3,0,3
   2610 DATA 50,3,50,3,52,3,54,3,55,3,54,3,52,3,50,3,49,3,45,3,47,3,49,3,50,6
   2620 DATA 50,3,0,3
   2630 DATA 47,5,49,1,47,3,45,3,47,3,49,3,50,3,0,3,45,5,47,1,45,3,43,3,42,6
   2640 DATA 45,3,0,3
   2650 DATA 47,5,49,1,47,3,45,3,47,3,49,3,50,3,47,3,45,3,50,3,49,3,52,3,50,6
   2660 DATA 50,6
   2670 DATA -1,-1

   2680 DATA -2,"FUNERAL MARCH OF A MARIONETTE - GOUNOD"
   2690 DATA 37,1,0,2,30,1,0,5,42,3,42,3,41,3,39,3,41,3,0,3,42,3,44,3,0,3,37,1,0,2
   2700 DATA 30,1,0,5,42,3,42,3,41,3,39,3,41,3,0,3,42,3,44,3,0,3,37,3,42,3,0,3,45,3
   2710 DATA 49,6,47,3,45,3,0,3,49,3,52,6,50,3,49,3,0,3,53,3,56,6,54,3,53,3,50,3
   2720 DATA 49,3,47,3,45,3,44,3,30,1,0,5,42,3,42,3,41,3,39,3,41,3,0,3,42,3,44,3
   2730 DATA 0,3,37,1,0,2,30,1,0,5,42,3,42,3,41,3,39,3,41,3,0,3,42,3,44,3,0,3
   2740 DATA 37,3,45,3,0,3,49,3,52,6,50,3,49,3,47,3,45,3,43,3,47,3,50,3,42,3
   2750 DATA 41,3,42,3,44,3,0,3,45,1,0,2,44,9,42,1
   2760 DATA -1,-1

   2770 DATA -2,"STARS AND STRIPES FOREVER - SOUSA "
   2780 DATA 54,6,54,6,52,3,51,3,51,6,50,3,51,3,51,16,0,2,50,3
   2790 DATA 51,3,51,6,50,3,51,3
   2800 DATA 54,6,51,3,54,3,52,12,49,6,0,3,49,3,49,6,48,3,49,3
   2810 DATA 49,6,48,3,49,3
   2820 DATA 52,16,0,2,51,3,49,3,51,3,54,9,56,9,56,3,49,16,0,2,54,6
   2830 DATA 54,6,52,3,51,3,51,6,50,3,51,3,51,16,0,2,50,3,51,3,51,6,50,3 ,51,3
   2840 DATA 52,3,51,3,49,5,46,1,49,12,47,6,0,3,47,3,47,6,46,3,47,3,50,6,49,3,47,3
   2850 DATA 59,15,0,3,47,3,49,3,51,3,54,1,0,2,47,3,49,3,51,3,54,1,0,2,42,3,44,5
   2860 DATA 51,1,49,12,47,1
   2870 DATA -1,-1

   2880 DATA -2,"Mexican Hat Dance - Traditional "
   2890 DATA 52,2,57,2,0,2,52,2,57,2,0,2,52,2,57,6,0,4,52,2,57,2,59,2,57,2,56,4
   2900 DATA 57,2,59,2,0,8,52,2,56,2,0,2,52,2,56,2,0,2,52,2,56,6,0,4,52,2
   2910 DATA 56,2,57,2,56,2,54,4,56,2,57,2,0,6,64,2,63,2,64,2,61,2,60,2,61,2
   2920 DATA 57,2,56,2,57,2,52,2,0,4,49,2,50,2,52,2,54,2,56,2,57,2,59,2,61,2
   2930 DATA 62,2,59,2,0,4,62,2,61,2,62,2,59,2,58,2,59,2,56,2,55,2,56,2,52,2
   2940 DATA 0,4,64,2,63,2,64,2,66,2,64,2,62,2,61,2,59,2,57,2
   2950 DATA -1,-1

   2960 DATA -2,"SCALES"
   2970 DATA 38,1,39,1,40,1,41,1,42,1,43,1,44,1,45,1,46,1,47,1
   2980 DATA 48,1,49,1,50,1,51,1,52,1,53,1,54,1,55,1,56,1
   2990 DATA 57,1,58,1,59,1,60,1,61,1,62,1,63,1,64,1,65,8,0,4
   3000 DATA 65,8,64,1,63,1,62,1,61,1,60,1,59,1,58,1,57,1
   3010 DATA 56,1,55,1,54,1,53,1,52,1,51,1,50,1,49,1,48,1
   3020 DATA 47,1,46,1,45,1,44,1,43,1,42,1,41,1,40,1,39,1,38,8
   3030 DATA -1,-1

   3040 DATA -2,"Sakura - Japanese Folk Melody "
   3050 DATA 49,8,49,8,51,12,0,4,49,8,49,8,51,12,0,4,49,8,51,8,52,8,51,8
   3060 DATA 49,8,51,4,49,4,45,16,44,8,40,8,44,8,45,8
   3070 DATA 44,8,44,4,40,4,39,16,49,8,49,8,51,12,0,4,49,8,49,8,51,12,0,4
   3080 DATA 40,8,44,8,45,8,49,8,51,4,49,4,45,8,44,16
   3090 DATA -1,-1

   4000 CLS:WIDTH 40:COLOR 9,7,0:CLS
   4005 LOCATE 5,5:PRINT " Press M for MUSIC "
   4010 ' LOCATE 7,5:PRINT " Press B for BASIC "
   4015 LOCATE 9,5:PRINT " Press D for DOS * "

   4020 ZA$=INKEY$:IF ZA$="" THEN 4020
   4022 IF ZA$="M" OR ZA$="m" THEN 900
   4023 ' IF ZA$="B" OR ZA$="b" THEN 4030
   4024 IF ZA$="D" OR ZA$="d" THEN 4040
   4025 IF ZA$=CHR$(155) THEN 4038 ELSE 4020

   4030 LOCATE 11,5:COLOR 4,7,0:PRINT " BASIC -- Are You Sure (Y/N) ? "
   4032 ZB$=INKEY$:IF ZB$="" THEN 4032
   4033 IF ZB$="Y" OR ZB$="y" THEN 4038
   4034 IF ZB$="N" OR ZB$="n" THEN 4000 ELSE 4032
   4038 COLOR 7,0,0:WIDTH 80:KEY 2,"RUN"+CHR$(13):END

   4040 LOCATE 11,5:COLOR 4,7,0:PRINT " DOS -- Are You Sure (Y/N) ? "
   4042 ZB$=INKEY$:IF ZB$="" THEN 4042
   4043 IF ZB$="Y" OR ZB$="y" THEN 4048
   4044 IF ZB$="N" OR ZB$="n" THEN 4000 ELSE 4042
   4048 COLOR 7,0,0:WIDTH 80:KEY 2,"RUN"+CHR$(13):SYSTEM

 ' ===========================================================

I B M    M u s i c    D e m o    1 9 8 1 - 8 2

Herein is the complete IBM-BASIC Code of the original 1981 (updated 1982) IBM Music Demo Program with
eleven selections. Compiled into a DOS EXE with PowerBasic DOS Version 3.50 in the 1990's.

Download compiled TMUSIC.EXE program, stored in ZIP file IBM-Music-8182.zip. Once extracted,
it can be viewed using a DOS emulator such as Dosbox -OR- DosBox-X.  

frankosite2020.com »»»   Home Page       About Me         E-Mail   and   GuestBook

See Also »»»   Kube-0-Seven   PowerBasic Console Compiler Demonstration Program

and ... Program 8032   Emulation of a Commodore 4.0 Screen using PowerBASIC-DOS 3.50

Visit these PowerBasic Forums »»»   PB Users Site   (NEW, Oct 11th 2025)   and   Forums       "PUMP" Alternative Board

ALSO VISIT .... BASIC Programming Language Group on FaceBook


Go Back to the Top of This Page