Bears 1

Developer(s): James Brezina
Date: 198x
Type: Program
Platform(s): TS 2068

Plays the Chicago Bears Fight Song; can show notation for the tune, too.

Related Content

Gallery

Bears 1

Source Code

    2 PRINT "Do you desire a note printout?  (y/n). A note printout option   takes longer to run (in some    cases it may take 10 minutes to load the dimension holding the  notes). Also the sounds will be at the incorrect tempo. Without the printout the sounds will be at the correct tempo."
    3 INPUT q$
    4 IF q$="n" OR q$="N" THEN GO TO 6
    6 LET s=164
    8 GO SUB 4000
   10 DIM a(s): DIM b(s)
   11 DIM c$(s): DIM d$(s)
   15 RESTORE 1000
   20 FOR i=1 TO s: READ b(i)
   25 IF i=83 THEN RESTORE 1005
   30 IF i=163 THEN RESTORE 1070
   90 NEXT i
   95 RESTORE 2000
   99 RESTORE 2000
  100 FOR i=1 TO s: READ a(i)
  110 IF i=83 THEN RESTORE 2005
  113 IF i=163 THEN RESTORE 2075
  190 NEXT i
  195 IF q$="n" OR q$="N" THEN GO TO 215
  200 GO SUB 5000
  205 CLS : GO SUB 3000
  210 LET y=8
  215 FOR i=1 TO s
  217 IF q$="n" OR q$="N" THEN GO TO 450
  220 LET j=i
  225 IF b(i)=0 THEN LET z=0
  230 IF b(i)=-1 THEN LET z=-1
  235 IF b(i)=1 OR b(i)=2 THEN LET z=0
  240 IF b(i)=3 OR b(i)=4 THEN LET z=1
  245 IF b(i)=5 OR b(i)=6 THEN LET z=1
  250 IF b(i)=7 OR b(i)=8 THEN LET z=2
  255 IF b(i)=9 OR b(i)=10 THEN LET z=2
  260 IF b(i)=11 THEN LET z=3
  265 IF b(i)=12 OR b(i)=13 THEN LET z=3
  270 IF b(i)=14 OR b(i)=15 OR b(i)=16 THEN LET z=4
  280 IF b(i)=17 OR b(i)=18 OR b(i)=19 THEN LET z=5
  285 IF b(i)=20 OR b(i)=21 THEN LET z=6
  290 IF b(i)=22 OR b(i)=23 THEN LET z=6
  295 IF b(i)=-2 THEN LET z=-2
  300 IF i=31 THEN GO SUB 3030
  305 IF i>30 THEN LET j=i-30
  310 IF i=61 OR i=121 OR i=181 OR i=241 OR i=301 OR i=361 OR i=421 THEN GO SUB 3200
  315 IF i>60 THEN LET j=i-60
  320 IF i=91 OR i=151 OR i=211 OR i=271 OR i=331 OR i=391 OR i=451 THEN GO SUB 3210
  325 IF i>90 THEN LET j=i-90
  330 IF i>120 THEN LET j=i-120
  335 IF i>150 THEN LET j=i-150
  340 IF i>180 THEN LET j=i-180
  345 IF i>210 THEN LET j=i-210
  350 IF i>240 THEN LET j=i-240
  355 IF i>270 THEN LET j=i-270
  360 IF i>300 THEN LET j=i-300
  365 IF i>330 THEN LET j=i-330
  370 IF i>360 THEN LET j=i-360
  375 IF i>390 THEN LET j=i-390
  380 IF i>420 THEN LET j=i-420
  385 IF i>450 THEN LET j=i-450
  400 PRINT INK 3; OVER 1;AT y-z,1+j;c$(i);AT (y-z-1),1+j;d$(i)
  450 BEEP a(i),b(i)
  455 IF i=17 OR i=68 OR i=82 OR i=91 OR i=150 THEN PAUSE 10
  500 NEXT i
  899 RANDOMIZE USR 23296
  999 STOP 
 1000 DATA 10
 1005 DATA 10,9,12,10,7,9,4,7
 1010 DATA 10,9,10,12,10,10,9,8
 1015 DATA 12,12,11,14,12,8,0
 1020 DATA 5,8,12,11,12,14,12,12,11
 1025 DATA 10,12,15,15,15,15,12
 1030 DATA 15,12,10,8,7,10
 1035 DATA 5,9,12,14,12,10.1,10,10,9
 1040 DATA 12,10,7,-1,4,7,10,9,10
 1045 DATA 12,10,4,12
 1050 DATA 8,7,5,7,8,12,10
 1055 DATA 14,15,15,12,15,14
 1060 DATA 15
 1065 DATA 10
 1070 DATA 15
 2000 DATA .3
 2005 DATA .7,.2,.3,.2,.7,.2,.3,.2
 2010 DATA .3,.3,.2,.3,.3,.3,.2,.5
 2015 DATA .35,.7,.2,.3,.2,.7,.2,.3
 2020 DATA .2,.3,.3,.2,.35,.35,.3
 2025 DATA .2,.5,.35,.2,.2,.2,.3,.2
 2030 DATA .3,.2,.3,.2,.7,.2
 2035 DATA .35,.35,.35,.35,.7,.35,.35,1,.2
 2040 DATA .3,.2,1,.2,.3,.2,.35,.3,.2
 2045 DATA .35,.3,.2,1
 2050 DATA .3,.2,.35,.35,.35,.35,.35
 2055 DATA .35,.35,.2,.2,.5,.35
 2065 DATA 1
 2070 DATA .3
 2075 DATA 1.25
 2999 STOP 
 3000 LET y=8: PRINT AT 3,0;"F-------------------------------"
 3005 PRINT AT 4,0;"D-------------------------------"
 3010 PRINT AT 5,0;"B-------------------------------"
 3015 PRINT AT 6,0;"G-------------------------------"
 3020 PRINT AT 7,0;"E-------------------------------"
 3025 PRINT AT 8,0;"C-------------------------------"
 3027 RETURN 
 3030 LET y=17: PRINT AT 12,0;"F-------------------------------"
 3035 PRINT AT 13,0;"D-------------------------------"
 3040 PRINT AT 14,0;"B-------------------------------"
 3045 PRINT AT 15,0;"G-------------------------------"
 3050 PRINT AT 16,0;"E-------------------------------"
 3054 PRINT AT 17,0;"C-------------------------------"
 3055 RETURN 
 3200 RANDOMIZE USR 23296: CLS : GO TO 3000
 3210 GO TO 3030
 3999 STOP 
 4000 RESTORE 4010: FOR i=0 TO 143: READ byte: POKE USR "\a"+i,byte: NEXT i: RETURN 
 4005 STOP 
 4010 DATA 4,28,60,124,124,60,48,0
 4015 DATA 0,0,0,7,4,7,4,4
 4020 DATA 0,0,0,7,4,4,4,4
 4025 DATA 0,0,0,4,4,4,4,4
 4030 DATA 124,60,48,0,0,0,0,0
 4035 DATA 7,4,7,4,4,28,60,124
 4040 DATA 7,4,4,4,4,28,60,124
 4045 DATA 4,4,4,4,4,28,60,124
 4050 DATA 4,28,36,68,68,36,48,0
 4055 DATA 0,48,36,68,68,36,48,0
 4060 DATA 68,36,48,0,0,0,0,0
 4065 DATA 4,4,4,4,4,60,36,68
 4070 DATA 0,0,0,0,0,48,36,68
 4075 DATA 4,28,60,125,124,60,48,0
 4080 DATA 7,4,4,4,4,28,60,125
 4085 DATA 4,4,4,4,4,28,60,125
 4090 DATA 4,4,4,4,4,28,38,69
 4095 DATA 4,28,36,69,68,36,48,0
 4999 STOP 
 5000 FOR i=1 TO s
 5049 IF a(i)=.1 AND (b(i)=-1 OR b(i)=1 OR b(i)=2 OR b(i)=5 OR b(i)=6 OR b(i)=9 OR b(i)=10 OR b(i)=12 OR b(i)=13 OR b(i)=16 OR b(i)=22 OR b(i)=19 OR b(i)=23) THEN LET c$(i)="\e": LET d$(i)="\f"
 5050 IF a(i)=.2 AND (b(i)=-1 OR b(i)=1 OR b(i)=2 OR b(i)=5 OR b(i)=6 OR b(i)=9 OR b(i)=10 OR b(i)=12 OR b(i)=13 OR b(i)=19 OR b(i)=16 OR b(i)=22 OR b(i)=23) THEN LET c$(i)="\e": LET d$(i)="\g"
 5051 IF a(i)=.3 AND (b(i)=-1 OR b(i)=1 OR b(i)=2 OR b(i)=5 OR b(i)=6 OR b(i)=9 OR b(i)=10 OR b(i)=12 OR b(i)=13 OR b(i)=19 OR b(i)=16 OR b(i)=22 OR b(i)=23) THEN LET c$(i)="\e": LET d$(i)="\h"
 5052 IF a(i)=.35 AND (b(i)=-1 OR b(i)=1 OR b(i)=2 OR b(i)=5 OR b(i)=6 OR b(i)=9 OR b(i)=10 OR b(i)=12 OR b(i)=13 OR b(i)=19 OR b(i)=16 OR b(i)=22 OR b(i)=23) THEN LET c$(i)="\e": LET d$(i)="\p"
 5053 IF a(i)=.25 AND (b(i)=-1 OR b(i)=1 OR b(i)=2 OR b(i)=5 OR b(i)=6 OR b(i)=9 OR b(i)=10 OR b(i)=12 OR b(i)=13 OR b(i)=19 OR b(i)=16 OR b(i)=22 OR b(i)=23) THEN LET c$(i)="\e": LET d$(i)="\o"
 5054 IF a(i)=.5 AND (b(i)=-1 OR b(i)=1 OR b(i)=2 OR b(i)=5 OR b(i)=6 OR b(i)=9 OR b(i)=10 OR b(i)=12 OR b(i)=13 OR b(i)=19 OR b(i)=16 OR b(i)=22 OR b(i)=23) THEN LET c$(i)="\k": LET d$(i)="\l"
 5055 IF a(i)=.7 AND (b(i)=-1 OR b(i)=1 OR b(i)=2 OR b(i)=5 OR b(i)=6 OR b(i)=9 OR b(i)=10 OR b(i)=12 OR b(i)=13 OR b(i)=19 OR b(i)=16 OR b(i)=22 OR b(i)=23) THEN LET c$(i)="\k": LET d$(i)="\q"
 5056 IF a(i)=1 AND (b(i)=-1 OR b(i)=1 OR b(i)=2 OR b(i)=5 OR b(i)=6 OR b(i)=9 OR b(i)=10 OR b(i)=12 OR b(i)=13 OR b(i)=19 OR b(i)=16 OR b(i)=22 OR b(i)=23) THEN LET c$(i)="\k": LET d$(i)="\m"
 5057 IF a(i)=.1 AND (b(i)=-2 OR b(i)=0 OR b(i)=3 OR b(i)=4 OR b(i)=7 OR b(i)=8 OR b(i)=11 OR b(i)=14 OR b(i)=17 OR b(i)=18 OR b(i)=15 OR b(i)=20 OR b(i)=21) THEN LET c$(i)="\a": LET d$(i)="\b"
 5058 IF a(i)=.2 AND (b(i)=-2 OR b(i)=0 OR b(i)=3 OR b(i)=4 OR b(i)=7 OR b(i)=8 OR b(i)=11 OR b(i)=14 OR b(i)=17 OR b(i)=18 OR b(i)=15 OR b(i)=20 OR b(i)=21) THEN LET c$(i)="\a": LET d$(i)="\c"
 5059 IF a(i)=.25 AND (b(i)=-2 OR b(i)=0 OR b(i)=3 OR b(i)=4 OR b(i)=7 OR b(i)=8 OR b(i)=11 OR b(i)=14 OR b(i)=17 OR b(i)=18 OR b(i)=15 OR b(i)=20 OR b(i)=21) THEN LET c$(i)="\a": LET d$(i)="\d"
 5060 IF a(i)=.3 AND (b(i)=-2 OR b(i)=0 OR b(i)=3 OR b(i)=4 OR b(i)=7 OR b(i)=8 OR b(i)=11 OR b(i)=14 OR b(i)=17 OR b(i)=18 OR b(i)=15 OR b(i)=20 OR b(i)=21) THEN LET c$(i)="\a": LET d$(i)="\d"
 5061 IF a(i)=.35 AND (b(i)=-2 OR b(i)=0 OR b(i)=3 OR b(i)=4 OR b(i)=7 OR b(i)=8 OR b(i)=11 OR b(i)=14 OR b(i)=17 OR b(i)=18 OR b(i)=15 OR b(i)=20 OR b(i)=21) THEN LET c$(i)="\n": LET d$(i)="\d"
 5062 IF a(i)=.5 AND (b(i)=-2 OR b(i)=0 OR b(i)=3 OR b(i)=4 OR b(i)=7 OR b(i)=8 OR b(i)=11 OR b(i)=14 OR b(i)=17 OR b(i)=18 OR b(i)=15 OR b(i)=20 OR b(i)=21) THEN LET c$(i)="\i": LET d$(i)="\d"
 5063 IF a(i)=.7 AND (b(i)=-2 OR b(i)=0 OR b(i)=3 OR b(i)=4 OR b(i)=7 OR b(i)=8 OR b(i)=11 OR b(i)=14 OR b(i)=17 OR b(i)=18 OR b(i)=15 OR b(i)=20 OR b(i)=21) THEN LET c$(i)="\r": LET d$(i)="\d"
 5064 IF a(i)=1 AND (b(i)=-2 OR b(i)=0 OR b(i)=3 OR b(i)=4 OR b(i)=7 OR b(i)=8 OR b(i)=11 OR b(i)=14 OR b(i)=17 OR b(i)=18 OR b(i)=15 OR b(i)=20 OR b(i)=21) THEN LET c$(i)="\j": LET d$(i)=CHR$ 32
 5065 IF a(i)>1 THEN LET c$(i)="O": LET d$(i)="#"
 5099 NEXT i
 5100 RETURN 
 8999 STOP 
 9000 SAVE "BEARS-1": PRINT "Rewind & press ENTER to VERIFY.": PAUSE 0: VERIFY "BEARS-1": PRINT "BEARS-1 VERIFIED."
Scroll to Top