@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu  } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u1184//[[5y`<(y#([(-//[-(T}y#(ٛ-5/ٛy*ll(//[5y`<(y(-ٛU}-rQ/ٛ5[5/[-/[5y`<ٛ-/[5<V}<<<<<<<ZZx<--<<<<W}128 THEN SUST=1:PITCH=PITCH-128:IF PITCH=125 THEN PITCH=128120 POKE C0,PITCH:POKE 20,0:IF }PITCH=0 THEN 170130 IF X>15 THEN X=5:G=1:GOSUB 210140 YPOS=ASC(YPO$(I,I)):IF YPOS>131 AND YPOS<147 THEN YPOS=YPOS-128:POSIT}ION X,YPOS:? #6;"":X=X+1150 IF YPOS>203 AND YPOS<219 THEN YPOS=YPOS-200:POSITION X,YPOS:? #6;"b":X=X+1160 POSITION X,YPOS:}? #6;NT$:POSITION X,YPOS-1:? #6;"":POSITION X,YPOS-2:? #6;"":X=X+2170 TEMPO=ASC(T$(I,I))*TEMP:GOSUB 50:IF SUST OR PITCH=0 }THEN SUST=0:NEXT I:GOTO 200180 IF A<>255 THEN POKE 764,255:IF A=28 THEN I=SI190 POKE 53760,0:NEXT I200 G=0:POKE C1,0:POKE }C2,0:POKE C3,0:POKE C0,0:SUST=0:RETURN 210 POKE 53277,0:NT$="":X=3:SETCOLOR 4,0,0:C=1:SETCOLOR 0,7,4220 SETCOLOR 1,1,4:SET}COLOR 2,54,4:GRAPHICS 17:POKE 559,46:POKE 53277,3230 POKE 16,112:POKE 53774,112240 POKE 756,CHRBASE/256:POSITION 7,0:? #6;"}play"250 POKE 53761,170:POKE 53763,168:POKE 53765,168:POKE 53767,168:POKE 53768,0:POKE 53775,3:IF G THEN RETURN 260 POKE 53}254,60:POKE 53255,188:POKE 53260,0:POKE 54279,PMBASE:FOR L=704 TO 707:POKE L,68:NEXT L270 FOR L=53256 TO 53259:POKE L,3:NEXT} L:POKE 53248,60:POKE 53249,92:POKE 53250,124:POKE 53251,156:GOTO 70280 INPUT #1,TEMP:INPUT #1,SI290 FOR I=1 TO SI:INPUT #1},CHA$:SONG$(I,I)=CHA$:NEXT I300 FOR I=1 TO SI:INPUT #1,CHA$:T$(I,I)=CHA$:NEXT I:FOR I=1 TO SI310 INPUT #1,CHA$:YPO$(I,I)=CH}A$:NEXT I:SI=SI+1:POKE 53762,0:POKE 53764,0:POKE 53768,0:RETURN 320 POSITION 4,22:? #6;" ";DESC$;" ":NTFLAG=}0:RETURN 330 IF MOVEFLAG THEN POSITION XPOS-1,YPOS:GOTO 360340 IF SUST THEN POSITION XPOS,YPOS+2:? #6;" "350 POSITION XPOS},YPOS-2:? #6;" ":POSITION XPOS,YPOS360 IF SHARPFLAT=3 THEN ? #6;""370 IF SHARPFLAT=1 THEN ? #6;""380 IF SHARPFLAT=2 THEN} ? #6;"b"390 IF MOVEFLAG THEN RETURN 400 MOVEFLAG=1:XPOS=XPOS+1:RETURN 410 IF SHARPFLAT THEN GOSUB 330420 POSITION XPOS,Y}POS+1:? #6;" ":POSITION XPOS,YPOS-3430 ? #6;" ":POSITION XPOS+1,YPOS+1:? #6;" ":POSITION XPOS+1,YPOS-3:? #6;" "440 IF SHARP}FLAT THEN POSITION XPOS-1,YPOS+1:? #6;" ":POSITION XPOS-1,YPOS-1:? #6;" "450 IF SUST THEN POSITION XPOS,YPOS+3:? #6;" "460 }POSITION XPOS,YPOS:? #6;"NT$";" "470 IF NTTYPE<>1 AND RFLAG=0 THEN POSITION XPOS,YPOS-1:? #6;STEM1$;" ":POSITION XPOS,YPOS-2}:? #6;STEM2$;" "480 IF NTTYPE=8 OR NTTYPE=6 OR NTTYPE=3 THEN POSITION XPOS+1,YPOS-2:? #6;STEMFLAG$490 IF NTTYPE=6 OR NTTYPE}=3 THEN POSITION XPOS+1,YPOS-1:? #6;STEMFLAG$500 IF NTTYPE=3 THEN POSITION XPOS+1,YPOS:? #6;STEMFLAG$510 IF DOT=1 THEN POSI}TION XPOS+1,YPOS:? #6;" "520 IF SUST THEN POSITION XPOS,YPOS+2:? #6;"s"530 IF RFLAG OR NTTYPE=1 THEN POSITION XPOS,YPOS-1:?} #6;" ":POSITION XPOS,YPOS-2:? #6;" "540 GOTO 320550 REM POLL JOYSTICK560 A=STICK(0):IF A=15 OR RFLAG THEN 590570 IF A=1}4 THEN IF YPOS>4 THEN YPOS=YPOS-1:GOSUB 410:GOTO 550580 IF A=13 THEN IF YPOS<18 THEN YPOS=YPOS+1:GOSUB 410:GOTO 550590 A=PE}EK(764):IF A<>255 THEN POKE 764,255:GOTO 620600 IF STRIG(0)=0 THEN 1020610 GOTO 550620 IF A=42 THEN POSITION 4,22:? #6;"ex}it y or n":GOSUB 2490:GOTO 550630 IF A=46 THEN NT$=CHR$(239):NTTYPE=1:DESC$="whole":RFLAG=0:GOTO 900640 IF A=8 THEN SONG$(}SI,SI)=CHR$(254):SI=SI+1:POSITION 4,22:? #6;"chord off ":GOTO 550650 IF A=18 THEN 1780660 IF A=45 THEN GOSUB 1670:GOTO }550670 IF A=63 THEN GOSUB 1900:GOTO 1970680 IF A=0 THEN GOSUB 1900:GOTO 2010690 IF A=57 THEN NT$=CHR$(239):NTTYPE=2:DESC$=}"half":RFLAG=0:GOTO 870700 IF A=40 THEN 940710 IF A=47 THEN NT$=CHR$(148):NTTYPE=4:DESC$="quarter":RFLAG=0:GOTO 870720 IF }A=53 THEN NTTYPE=8:STEMFLAG$=CHR$(224):DESC$="eighth":EIGHTFLAG=1:RFLAG=0:NT$=CHR$(148):GOTO 900730 IF A=27 THEN NTTYPE=6:ST}EMFLAG$=CHR$(224):DESC$="sixteenth":RFLAG=0:EIGHTFLAG=1:NT$=CHR$(148):GOTO 900740 IF A=26 THEN NTTYPE=3:STEMFLAG$=CHR$(224):}DESC$="thirty sec":RFLAG=0:EIGHTFLAG=1:NT$=CHR$(148):GOTO 900750 IF A=34 THEN DOT=1:GOTO 900760 IF A=7 THEN GOSUB 1270:GOTO} 550770 IF A=62 THEN SUST=1:GOTO 900780 IF A=54 THEN SI=1:FOR I=1 TO 3:SOUND 0,15,10,10:FOR D=1 TO 8:NEXT D:SOUND 0,0,0,0:N}EXT I790 IF A=54 THEN POSITION 4,22:? #6;"song cleared":GOTO 810800 GOTO 820810 FOR I=1 TO 300:NEXT I:FIRSTTIME=0:GOTO 212}0820 IF A=21 THEN SHARPFLAT=2:GOTO 900830 IF A=90 THEN SHARPFLAT=1:GOTO 900840 IF A=10 THEN GOSUB 210:FIRSTTIME=0:GOTO 212}0850 IF A=7 THEN GOSUB 550:GOTO 900860 IF A=35 THEN SHARPFLAT=3:GOTO 900870 IF EIGHTFLAG THEN POSITION XPOS+1,YPOS-2:? #6;}" ":POSITION XPOS+1,YPOS-1:? #6;" "880 IF NOT DOT THEN POSITION XPOS+1,YPOS:? #6;" "890 GOSUB 410:GOTO 550900 IF NTTYPE<>}1 THEN GOSUB 410:GOTO 550910 POSITION XPOS,YPOS-2:? #6;" ":POSITION XPOS,YPOS-1:? #6;" ":IF EIGHTFLAG THEN POSITION XPOS+1,Y}POS-2:? #6;" "920 IF EIGHTFLAG THEN POSITION XPOS+1,YPOS-1:? #6;" ":IF NOT DOT THEN POSITION XPOS+1,YPOS:? #6;" "930 GOSUB} 410:GOTO 550940 IF NTTYPE=4 THEN NT$=" "950 IF NTTYPE=8 THEN NT$="":NTTYPE=9960 IF NTTYPE=2 THEN NT$=""970 RFLAG=1:IF }YPOS=12 THEN GOSUB 410:GOTO 550980 IF YPOS>11 THEN 1010990 IF YPOS<11 THEN FOR YPOS=YPOS TO 11 STEP 1:GOSUB 410:NEXT YPOS1}000 GOTO 5501010 FOR YPOS=YPOS TO 13 STEP -1:GOSUB 410:NEXT YPOS:GOTO 5501020 NX=(YPOS=4)*4+(YPOS=5)*7+(YPOS=6)*13+(YPOS=7)}*19+(YPOS=8)*25+(YPOS=9)*28+(YPOS=10)*34+(YPOS=11)*401030 NX=NX+(YPOS=12)*43+(YPOS=13)*49+(YPOS=14)*55+(YPOS=15)*61+(YPOS=16})*64+(YPOS=17)*70+(YPOS=18)*761040 IF SHARPFLAT=1 THEN NX=NX-31050 IF SHARPFLAT=2 THEN NX=NX+31060 IF SHARPFLAT=3 THEN SHA}RPFLAT=01070 IF RFLAG THEN SOUND 0,10,8,10:GOTO 10901080 SOUND 0,VAL(SCALE$(NX,NX+2)),10,101090 FOR I=1 TO 50:NEXT I:SOUND} 0,0,0,0:TEMPO=100:IF DOT THEN T$(SI+1,SI+1)="."1100 TEMPO=120*(NTTYPE=1)+60*(NTTYPE=2)+30*(NTTYPE=4)+15*(NTTYPE=8)+7*(NTTYP}E=6)+3*(NTTYPE=3)1110 IF DOT THEN TEMPO=TEMPO*1.51120 PITCH=VAL(SCALE$(NX,NX+2)):IF SUST THEN PITCH=PITCH+128:IF PITCH=256 }THEN PITCH=2531130 SONG$(SI)=CHR$(PITCH):T$(SI,SI)=CHR$(TEMPO)1140 IF RFLAG THEN SONG$(SI)=CHR$(0):DOT=0:SUST=0:DESC$="quar}ter":NTTYPE=41150 YPO$(SI,SI)=CHR$(YPOS):IF SHARPFLAT=1 THEN YPO$(SI,SI)=CHR$(ASC(YPO$(SI,SI))+128)1160 IF SHARPFLAT=2 THEN} YPO$(SI,SI)=CHR$(ASC(YPO$(SI,SI))+200)1170 REM MAKE NEW NOTE1180 SI=SI+1:POSITION 3,0:IF NT$=CHR$(148) THEN NT$=""1190 I}F NT$=CHR$(239) THEN NT$="o"1200 STEM1$="":STEM2$="":STEMFLAG$="`":IF FIRSTTIME=0 THEN FIRSTTIME=1:GOTO 12201210 GOSUB 41}0:TRAP 40000:IF RFLAG THEN NT$="":RFLAG=01220 MOVEFLAG=0:SVEXPOS=XPOS:XPOS=XPOS+2:IF XPOS>15 THEN SUBFL=1:XPOS=3:GOSUB 2130}1230 IF SVEXPOS=1 THEN SVEXPOS=31240 STEM1$=CHR$(130):STEM2$=CHR$(130):STEMFLAG$=CHR$(224):IF NT$="" THEN NT$=CHR$(148)12}50 IF NT$="o" THEN NT$=CHR$(239)1260 DOT=0:SUST=0:GOSUB 410:GOTO 5501270 POSITION 2,22:? #6;" enter chord ":POSITION 2,2}3:? #6;"then press return"1280 FOR I=1 TO 3:SOUND 0,15,10,10:FOR D=1 TO 6:NEXT D:SOUND 0,0,0,0:NEXT I1290 CH$=" ":OPEN }#1,4,0,"K:":POKE 702,0:CI=1:XP=XPOS-11300 A=PEEK(764):IF A=255 THEN 13001310 GET #1,A:POKE 764,255:IF A=155 THEN 14701320 }IF CI=6 THEN 13001330 CH$(CI,CI)=CHR$(A)1340 IF CHR$(A)="6" THEN CH$(CI,CI)="":SIXTH=11350 IF CHR$(A)="7" THEN CH$(CI,CI)}="":SEVENTH=11360 CHA$=CH$(CI,CI)1370 IF CHA$="+" THEN CHA$=CHR$(19):GOODCHAR=11380 IF CHA$="-" THEN CHA$=CHR$(18):GOODCH}AR=11390 IF CHA$="#" THEN CHA$=CHR$(16):GOODCHAR=11400 IF CHA$="*" THEN CLOSE #1:POSITION XPOS-1,20:? #6;" ":SECONDPASS}=0:GOTO 16301410 IF CHA$="a" OR CHA$="b" OR CHA$="c" OR CHA$="d" OR CHA$="e" OR CHA$="f" OR CHA$="g" THEN 14501420 IF (CHA$}="m" OR CHA$="j") AND SECONDPASS THEN 14601430 IF (GOODCHAR OR SIXTH OR SEVENTH) AND SECONDPASS THEN 14601440 GOTO 1300145}0 SECONDPASS=11460 POSITION XP,20:? #6;CHA$:GOODCHAR=0:CI=CI+1:XP=XP+1:GOTO 13001470 CLOSE #1:POKE 702,64:SECONDPASS=0:CHA$}=CH$(1,1)1480 NX=112*(CHA$="c")+106*(CHA$="d")+100*(CHA$="e")+97*(CHA$="f")+91*(CHA$="g")+85*(CHA$="a")+79*(CHA$="b")1490 I}F CI=2 THEN OS1=12:OS2=21:GOTO 16101500 OS1=12:OS2=21:CI=2:IF CH$(2,2)="#" THEN NX=NX-3:CI=31510 IF CH$(2,2)="b" THEN NX=NX}+3:CI=31520 IF SIXTH THEN SIXTH=0:OS2=271530 IF SEVENTH THEN SEVENTH=0:OS2=301540 IF CH$(CI,CI)="+" THEN OS2=241550 IF CH}$(CI,CI)="d" THEN OS1=9:OS2=181560 IF CH$(CI,CI)="-" THEN OS1=12:OS2=181570 IF CH$(CI,CI)="m" THEN IF CH$(CI+1,CI+1)=" " TH}EN OS1=9:OS2=211580 IF CH$(CI,CI)="m" THEN IF CH$(CI+1,CI+2)="aj" THEN OS1=12:OS2=331590 IF CH$(CI,CI)="m" THEN IF CH$(CI+1},CI+1)="" THEN OS1=9:OS2=301600 IF CH$(CI,CI)="m" THEN IF CH$(CI+1,CI+1)="" THEN OS1=9:OS2=271610 SONG$(SI,SI)=CHR$(255):}SONG$(SI+1,SI+1)=CHR$(VAL(SCALE$(NX,NX+2)))1620 SONG$(SI+2,SI+2)=CHR$(VAL(SCALE$(NX-OS1,NX-OS1+2))):SONG$(SI+3,SI+3)=CHR$(VA}L(SCALE$(NX-OS2,NX-OS2+2)))1630 SIXTH=0:SEVENTH=0:SI=SI+4:POSITION 2,22:? #6;" ":POSITION 2,23:? #6;" } "1640 POSITION 7,22:? #6;DESC$:IF CHA$="*" THEN RETURN 1650 SOUND 0,ASC(SONG$(SI-3,SI-3)),10,10:SOUND 1,ASC(SONG$}(SI-2,SI-2)),10,10:SOUND 2,ASC(SONG$(SI-1,SI-1)),10,101660 FOR I=1 TO 20:NEXT I:SOUND 0,0,0,0:SOUND 1,0,0,0:SOUND 2,0,0,0:RE}TURN 1670 FOR I=1 TO 3:SOUND 0,15,10,10:FOR Q=1 TO 6:NEXT Q:SOUND 0,0,0,0:NEXT I1680 POSITION 5,20:? #6;"change tempo":POSI}TION 5,22:? #6;" "1690 POSITION 8,22:? #6;CHR$(243);CHR$(236);CHR$(239);CHR$(247);CHR$(229);CHR$(242):TEMPO=0.25}1700 A=STICK(0)1710 IF A=14 THEN POSITION 8,22:? #6;CHR$(230);CHR$(225);CHR$(243);CHR$(244);CHR$(229);CHR$(242)1720 IF A=14} THEN TEMPO=-0.25:GOTO 17001730 IF A=13 THEN 16901740 IF STRIG(0)=0 THEN 17601750 GOTO 17001760 TEMP=TEMP+TEMPO:FOR I=1 T}O 3:SOUND 0,15,10,10:FOR Q=1 TO 6:NEXT Q:SOUND 0,0,0,0:NEXT I1770 POSITION 5,20:? #6;" ":POSITION 4,22:? #6;" }";DESC$;" ":RETURN 1780 SI=SI-1:FOR I=1 TO 3:SOUND 0,15,10,10:FOR D=1 TO 8:NEXT D1790 SOUND 0,0,0,0:NEXT I:POSITION} 7,22:? #6;"cancelled"1800 POSITION XPOS,YPOS-2:? #6;" ":POSITION XPOS,YPOS-1:? #6;" ":POSITION XPOS,YPOS:? #6;" "1810 I}F SHARPFLAT THEN POSITION XPOS-1,YPOS:? #6;" "1820 IF SUST THEN POSITION XPOS,YPOS+2:? #6;" "1830 XPOS=SVEXPOS:IF SI<1 THEN} SI=11840 IF SI<4 THEN 5501850 IF ASC(SONG$(SI-3,SI-3))=255 THEN SI=SI-4:POSITION 3,22:? #6;"chord cancelled"1860 FOR I=1 }TO 100:NEXT I:POSITION 3,22:? #6;" "1870 GOTO 5501880 IF T$(SI,SI)="4" OR T$(SI,SI)="6" OR T$(SI,SI)="8" OR T}$(SI,SI)="3" THEN STEMFLAG$="\"1890 GOSUB 3201900 GRAPHICS 18:POKE 53277,0:POKE 559,34:? #6;" ENTER SONG NAME"1910 OPEN #}1,4,0,"K":FILENAME$="D:":I=3:? #6:? #6:? #6;" ";1920 POKE 16,112:POKE 53774,1121930 GET #1,CH:IF CH=155 THEN CLOSE #1}:RETURN 1940 IF CH=126 THEN POSITION (PEEK(85)-1),(PEEK(84)):? #6;" ";:POSITION (PEEK(85)-1),(PEEK(84)):I=I-1:GOTO 19301950} IF CHR$(CH)<"A" OR CHR$(CH)>"Z" THEN 19301960 FILENAME$(I)=CHR$(CH):? #6;CHR$(CH+128);:I=I+1:GOTO 19301970 IF LEN(FILENAME}$)=2 THEN OPEN #1,8,0,"C:":FOR I=1 TO 128:PUT #1,CH:NEXT I:GOTO 19901980 OPEN #1,8,0,FILENAME$1990 ? #1;TEMP:? #1;SI-1:FOR }I=1 TO SI-1:CHA$=SONG$(I):? #1;CHA$:NEXT I:FOR I=1 TO SI-1:CHA$=T$(I)2000 ? #1;CHA$:NEXT I:FOR I=1 TO SI-1:CHA$=YPO$(I):? #1};CHA$:NEXT I:CLOSE #1:FIRSTTIME=0:GOTO 21202010 FIRSTTIME=0:TRAP 20402020 IF LEN(FILENAME$)=2 THEN OPEN #1,4,0,"C:":FOR I=1} TO 128:GET #1,CH:NEXT I:GOTO 20502030 OPEN #1,4,0,FILENAME$:GOTO 20502040 CLOSE #1:GOTO 21202050 SI=1:NT$="":GOSUB 280:C}LOSE #1:GOSUB 210:FIRSTTIME=0:GOTO 21202060 REM INITIALIZE SCREEN2070 DIM NT$(1),STEM1$(1),STEM2$(1),SONG$(1000),T$(1000),Y}PO$(1000),SNAME$(12),FILENAME$(12)2080 DIM SCALE$(117),STEMFLAG$(1),DESC$(15):DESC$="quarter":DIM CH$(5),CHA$(1)2090 SCALE$}="028029031033035037040042045047050053057060064068072076081085091096102108114121128136144153162173182"2100 SCALE$(100)="1932}04217230243255":GOSUB 2200:TEMP=12110 C0=53760:C1=53762:C2=53764:C3=537662120 NT$="":STEM1$="":STEM2$="":NTTYPE=4:DESC$=}"quarter":YPOS=12:XPOS=12130 POKE 53277,0:GRAPHICS 17:SETCOLOR 0,0,0:POKE 756,INT(CHRBASE/256):POSITION 3,0:? #6;"the musici}an"2140 POKE 16,112:POKE 53774,1122150 POSITION 7,22:? #6;DESC$:POKE 559,46:POKE 53277,3:POKE 53254,60:POKE 53255,188:POKE }53260,0:POKE 623,42160 FOR I=CHRBASE TO CHRBASE+7:POKE I,0:NEXT I:FOR L=704 TO 707:POKE L,120:NEXT L2170 FOR L=53256 TO 532}59:POKE L,3:NEXT L:POKE 53248,60:POKE 53249,92:POKE 53250,124:POKE 53251,1562180 IF SUBFL THEN SUBFL=0:RETURN 2190 GOTO 119}02200 GRAPHICS 17:P=57856:PMBASE=INT(((PEEK(106)-12)*256)/1024)*10242210 CHRBASE=INT((((PEEK(106)-16)*256)/1024-1))*102422}20 POKE 16,112:POKE 53774,1122230 FOR I=1 TO 15:POSITION 3,I:? #6;" ":NEXT I:? #6:? #6:? #6;" rev.1.0"2240 D}IM E$(76):FOR I=1 TO 76:READ A:E$(I,I)=CHR$(A):NEXT I2250 DATA 104,104,133,193,104,133,192,104,133,197,104,1332260 DATA 196},169,226,133,195,169,0,133,194,160,0,162,0,177,194,1452270 DATA 192,200,192,0,208,247,232,224,5,240,10,230,193,2302280 DATA} 195,160,0,169,0,240,232,162,0,160,0,169,0,145,196,2002290 DATA 192,0,208,249,232,224,5,240,8,160,0,230,197,169,0,240,236,96}2300 X=USR(ADR(E$),CHRBASE,PMBASE):P=57344+176:FOR I=CHRBASE+176 TO CHRBASE+183:POKE I,PEEK(P):P=P+1:NEXT I2310 P=57344+184}:FOR I=CHRBASE+184 TO CHRBASE+191:POKE I,PEEK(P):P=P+1:NEXT I2320 P=57344+24:FOR I=CHRBASE+128 TO CHRBASE+135:POKE I,PEEK(P)}:P=P+1:NEXT I:P=57344+1122330 FOR I=CHRBASE+96 TO CHRBASE+103:POKE I,PEEK(P):P=P+1:NEXT I:P=57344+4802340 FOR I=CHRBASE+256} TO CHRBASE+263:POKE I,PEEK(P):P=P+1:NEXT I2350 FOR I=CHRBASE+80 TO CHRBASE+87:READ A:POKE I,A:NEXT I:FOR I=CHRBASE+64 TO CH}RBASE+71:READ A:POKE I,A:NEXT I2360 FOR I=CHRBASE+48 TO CHRBASE+55:READ A:POKE I,A:NEXT I2370 START=PMBASE:PMBASE=PMBASE/25}62380 FOR I=START+384+49 TO START+384+81:POKE I,240:NEXT I2390 FOR I=START+512+49 TO START+640-41 STEP 8:POKE I,255:FOR Z=I}+1 TO I+7:POKE Z,0:NEXT Z:NEXT I2400 FOR I=START+640+49 TO START+768-41 STEP 8:POKE I,255:FOR Z=I+1 TO I+7:POKE Z,0:NEXT Z:N}EXT I2410 FOR I=START+768+49 TO START+896-41 STEP 8:POKE I,255:FOR Z=I+1 TO I+7:POKE Z,0:NEXT Z:NEXT I2420 FOR I=START+896+}49 TO START+1024-41 STEP 8:POKE I,255:FOR Z=I+1 TO I+7:POKE Z,0:NEXT Z:NEXT I2430 POKE 15,INT(CHRBASE/256):A=CHRBASE-(INT(CH}RBASE/256)*256):POKE 14,A2440 POKE 54279,PMBASE:POKE 559,46:POKE 53277,32450 POKE 53760,0:RETURN 2460 DATA 48,24,28,48,24,}28,48,242470 DATA 48,62,4,8,8,16,16,322480 DATA 0,36,44,52,36,44,52,42490 A=PEEK(764):IF A=255 THEN 24902500 POKE 764,255}:IF A<>43 THEN POSITION 4,22:? #6;" ":RETURN 2510 FOR I=1 TO 20:NEXT I2520 X=USR(58484)32000 REM TYPO II BY AN}DY BARTON32010 REM VER.1.0 FOR ANTIC MAGAZINE32020 CLR :DIM LINE$(120):CLOSE #2:CLOSE #332030 OPEN #2,4,0,"E":OPEN #3,5,0,}"E"32040 ? "}":POSITION 11,1:? "Ϡ"32050 TRAP 32040:POSITION 2,3:? "Type in a program line"32060 POSITION 1,4:? " ":I}NPUT #2;LINE$:IF LINE$="" THEN POSITION 2,4:LIST B:GOTO 3206032070 IF LINE$(1,1)="*" THEN B=VAL(LINE$(2,LEN(LINE$))):POSITIO}N 2,4:LIST B:GOTO 3206032080 POSITION 2,10:? "CONT"32090 B=VAL(LINE$):POSITION 1,3:? " ";32100 POKE 842,13:STOP 32110 POK}E 842,1232120 ? "}":POSITION 11,1:? "Ϡɠ":POSITION 2,15:LIST B32130 C=0:ANS=C32140 POSITION 2,16:INPUT #3;LINE$:IF LI}NE$="" THEN ? "LINE ";B;" DELETED":GOTO 3205032150 FOR D=1 TO LEN(LINE$):C=C+1:ANS=ANS+(C*ASC(LINE$(D,D))):NEXT D32160 CODE}=INT(ANS/676)32170 CODE=ANS-(CODE*676)32180 HCODE=INT(CODE/26)32190 LCODE=CODE-(HCODE*26)+6532200 HCODE=HCODE+6532210 PO}SITION 0,16:? CHR$(HCODE);CHR$(LCODE)32220 POSITION 2,13:? "If CODE does not match press and edit line above.":GOTO 3}2050N 0,16:? CHR$(HCODE);CHR$(LCODE)32220 POSITION 2,13:? "If CODE does not match press and edit line above.":GOTO 31324r``țH@H9/*/9@HٛHțH@r`H`ٛUr```țH@H@/*/9H}ٛH@r`H`ٛUL@LUL@`r`9*/5ٛHyr`9999****}*/999ٛ5/59r`99ٛ5/59r`9@H9ٛ5/59r`9@H`ٛ}U@5r`/995//95//95/H@ٛHULHr```UHٛ՛ULH9@95#r`%}/95//95//95/țH@ٛHH@Hy<@H}_ٛ?1H_DDGG3???8s33??_?1H)?}WDDDC?3???8s33??U?1HUGDDDDDs?33?s33?3:U)@}?31HUDODDs?333s33?3U?HUD)A}DD333??s33?2?HODG3?3333?38s33?*)B}?HDDEDDG3333333333338s33?UU31HODDDEUUDDG33333333)C}33338s33?UUQ31HDDDDDUUUTDC3333333333338s33?UUUU)D}31HꪪDDDDDUUUTDC33333uw333338s333*UUUUUU31HDDDDDUUUTDC33333UW333338s33)E}3UUUUUU31HDDDDEUUUUDs33335UUs33333s332UUUUUUY31H)F}DDDDEUUUUDs3333UUUW33333s33:UUUUUUY31HDDDDDUUUTDs3333UUUW33333s33:U)G}UUUUUUY31HDDDDDUUUTDs3333UUUW33333s33*UUUUUUUU31HDDDD)H}DUUUTDs3333UUUW33333s33UUQUUUU31HUUDDDDDEUUDDs3333UUUW33333s33iV_UU)I}UUY31HiDDDDDEUUDDs3333UUUW33333s32iUUUUY31HiDDDDDDEDDDC333)J}3UUUW33338s32iUUY31HiDDDDDDDDDDC33335UUs33338s32iVWUU)K}31HDDDDDDDDDDC33333UW333338s3:UU31HDDDDDDDDDG33333uw333338)L}s3:o31HoDDDDDDDDDG3333333333338s3:31H)M}DDDDDDDDDG3333333333338s3:31HDDDDDDDDDD333333333333s3*)N}31HUUDDDDDDDDDDs33333333333s3*Ziji}}331HUYZi})O}DDDDDDDDDDs33333333333s3)Ui}331Hfij}DDDDDDDDDC33333333338s3)jij})P}331HjU}DDDDDDDDDG33333333338s3)j331HUZDDDDDDD)Q}DDD3333333333s3*331HDDDDDDDDDD333333333s3*)R}3331HDDDDDDDDH3333338s3:313331HDDDDDDDG3333)S}s3:3333331HDDDDDDO338s3:?3333)T}31HDDDDDD30s3:?3331HDDDDs32)U}=?331HȈ˿s321331H)V}̈s321?3=331H˻Ȍs33)W}1=31HDȈȈs33=31HDDD)X}菏ȼs33*)3]=331HDDDDH[s3313=U3?)Y}1=31HDDDDHUϏ뿾ȸȸˈs331U뿾111HDDDDDHU뿾)Z}ˋȸs31UUs??1=31HDDDDDHUȏόs31U3113)[}1HDDDDDHϕUˋˋs3=U1=11HDDDDDDDXϻ˸ˋ)\}ˉs33?Q311111HDDDDDDDˌ̸̸s31=??1HD)]}DDDDDDˌϏ̻s113=31HDDDDDDĎ̼Ȉ̌s1)^}111HDDDDDDDK̸̿̏ˌs1?1?=331=331HDDDDDDDHȈ)_}˻Ȉ˹s=13111HDDDDDDDD˸ό˹s)`}1Q=1HDDDDDDDDDꮪϻX˹s?1=1U==HDDDDETDDDD)a}̸ϼȕUϼˍsU?=UUQ=1HDDDDUUDDDDF3?˻UUXϻsUUQ??)b}3=UUQ31HDDDEUUTDDDH38˻UUXϻqUUU33?3=UUU331HDDDEUUTDDDH˻U)c}UXϻqUUU333۟33=UUU331HDDDEUUTDDDH?33˻UUXϻqUUU3333ݙ3=UUQ33)d}1HDDDUUUUDDDH333?˻UUXqUUU3333;1=UUQ1HDDDUUUUDDDH33ϼȕUϼ˹q)e}UUU3333??1=U=1HDDDEUUTDDDH??3??3ϼȉXϼ˹qUUU3333ݟ11Q=1HDDDEUUT)f}DDDH3333ˏ˹sUUU33333ۛ13=1HDDDEUUTDDDH3?3??8̻ˌsUUQ33)g}333۹33313HDDDDUUDDDDH3?̻Ȉ̻sU3333=ۛ3?3=3HDDDDETDDDDH3)q}/B%DOS SYSB*)DUP SYSB SABIDE B]LOVING BkMUSIC DOCB~MUSIC LSTBOURHOUSE BPEOPLE B!SAILING B &THEDAYS B50MUSICHLLOBJB nMUSICIANBASB)xMUSICTUTBNL?3??<̼̌̌s3333?333==1HDDDDDDDDD3333ˌȈ̻s3333=ۻ)r}3333=131HDDDDDDDDD3?3?3?˸s13333=ݹ333==111HDDDDDDDDD??3?)s}̸̉s13333?ݿ333=??1HDDDDDDDDD?73?s13333ۻ33313)t}331HDDDDDDDDH33?U333Ȉ̌ȏ̌s333333U]3331??=1HDDDDDDDDH33Us3?Ȉȏ)u}s333333ݹU[33331331HDDDDDDD35UW??ȈȸȈˈÈs333333ݹU[333==131H)v}DDDDDDD33Us??Ȉs3133333ݝU]۟333331HDDDDDDH??U3?ψȼȈs33)w}333333=ݟ333331331HDDDDD?3733?̈s331333333?ٻݿ33333?=?331HDDDDH)x}?3?3??8s3333333333?ٙ߹333333331HDDD3?3333UUUUUUUUUUUUUUUUUU)y}UUUUUUUUUUUUUUUUUUUUUU)z}@ OХ ѥɠ ɠ){}ɠML_ҭҭ ҭ!PV\b̩ͩ`"ҭ#ѩʅ`hҍPV\)|}b̅ͅ΅ϩЅѩ#"`ҭP `@QHQQ`UQH@QHQQ@HQ`lllllll`)}}QQQ``llllll`QQQQ```lll`llQQ`QQ`y`l``lll`llQ`Q````l`lllll`llQ`Q````l`lllll`llQQ`QQ`y`l``)~}lll`llQQ`QQ`y`l````l`lll`ll``l`lll`ll``l`lll`ll``l`ll`QQQQlU``yy``QlU`````y5@5@55)}5@5/@(((@y5@5@555@5/@((((/@yyyyyy)}yyyyyyylllll<f>``|ff|<```<>ff>>ff>|``|fff8<<``lxlf8<)}fkc|ffffff>|f```>`<|~ffff>fff<ck>6f< x~ 0~<~~<)}~x|nf8x8 OХ ѥɠ ɠɠΥML_kҭkҭk ҭ)}k!PV\b̩ͩ`l"ҭl#ѩ΅`hҍPV\b̅ͅ΅ϩЅѩ#"`ҭP `)}DDDDH<#VAR$LE?DAT>3276INPUDISTACOVERFLO?LIN?FOTOO LON?DE?GOSUGARBAG?CHM)}Eͣ?LOA?NES?WHIL?REPEA?D?EXIXPRO?EXE?PRO?IS OPE?DEWR ONLCMNOT OPEΣRD ONLEOTRUNTIMEOUNA!FRAMCURSO!OVERRU)}CHKSUDONMODNOT IMPRA͠D?>#FIL OХ ѥɠ ɠɠML_)}ҭҭ ҭ!PV\b̩ͩ`""ҭ"#ѩ΅`hҍPV\b̅ͅ΅ϩЅѩ#"`ҭ)}P `DlHlDlHlDlHlQlDHHQHHQHDHQQlDHHHDHQQllQ[[f[[f[Q[[[[f[fQQllllDHHQHHQHDHQ)}QlDHHHDHQQllQ[[f[[f[Q[[[[f[[[QQflllDDDDDDDDDDDDDDD<}*?}1x 0ԩ1ԩ_"#X` OХ ѥɠ*@} ɠɢML_ ҭ ҭ ҭ !PV\b̩ͩ`"ҭ#ѩ΅*A}`hҍPV\b̅ͅ΅ϩЅѩ#"`ҭP `55555555((--55*B}<55v7>v6```~gnx`0gllg000f0882z}fNJfffllll>`<f|cf 0f8l8xv p88pf< p 0`0 ~2|}~`0 0`f```f<fffff``x````x``||fff~fff~~ l8lxxlf`````2}}fv~nf||ff|``|ff|lf>f`<|~~fffff<ff<`~l8 2}fff`<|0|000vffv<|lf<~ 0~02}0v8< pAAL@ $6HZl~ԴԴ$4DTdt2}       "#$ !%&'()*+|-./0123456789:{<2}=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_aceg j mnopqrstuvwxyz}~do ti li la si solfi fa mi ri re di do VIII Perfect Octa2}ve^VII Major Seventh^vii Minor Seventh^VI Major Sixth^vi Minor Sixth^V Perfect Fifth^ Tritone^IV 2} Perfect Fourth^III Major Third^iii Minor Third^II Major Second^ii Minor Second^I Perfect Unison^^Repeat^D2}uration:^Octaves:^Key:^Presentation:^Menu^Repeat^Duration:^Octaves:^Key:^Menu^Melodic ^Harmonic ^堫OONNLong ^Medium^S2}hort ^NNNC C#D D#E F F#G G#A A#B C D$D E$E F G$G A$A B$B NNRandom^^ I N T E R V A L^^ a music ed2}ucation game^^^ by^^ Douglas Crockford^^^^^^^^Same/Different^Ascending/Descending^Intervals^Perfect Pitch2}^`!WXRW^^Ascending ^^Same^^Descending^^^^^^^^Repeat^Duration:^Octaves:^Menu^ D$4DT^^^^S2}ame^^Different^^^^^^^^Repeat^Duration:^Menu^DTdt $0