' +JJJJ ?\>m0M='+l> /+l   d]@ŵLҦ]]LF L}BBL] X  ` 鷎귭෍ᷩ췩緈JJJJx Lȿ L8ᷭ緍췩 緍i 8 `巬 췌`x (`(8`I`B` ``>J>J>VU)?`8'x0|&HhHh VY)'&Y)xꪽ)' `Hh`V0^*^*>&` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8  '  & x)*++`FG8`0($ p,&"ųųೳŪŪųųij  !"#$%&'()*+,-./0123456789:;<=>?   1 '" *"( (9"1 ( ,.(0# 2  /#0/#0 *?'#07#00/0/'#07#0:"4<*55/**5/*%5/)1/)1/)1/)'#0/#0*5/*75/**5/*:5//#0/#0'#07#0:::*::'#07#0"):$(%"%:$(%"%$$2%4%$$2%4%$(2()!)E(!8b $!H(+ "@H !D)"E` @ $ C ` DQ &J80^݌Hh ü ü݌ ռ ռ ռA ļD ļ? ļAEDE?HJ>h Լ ռ ռ ռ`HJ>݌h Hh݌`葠葠ȔЖȔЖȠHIHHHHhHH݌hHhHh݌H6 VDP (ED Z $0x8x D- ܸDD# H8`?E Vk *f???0xE Hh D#-EEE8` D ܸx D - ܸx8`-0ݩ?ʥD EEE`   LDcpq` [` ~  LӜu`".Q`pNФbptťܥm2<(-Py0\|e<6e<g< JJJJj귍hI  aUL@ kU8  L  Q^R(jQ0l^l\  wUuW ԧ H h@ [_ /QSIRb_L`LLLL`ª`LQLYLeLXLeLee ўQH\(h0L& Ꝥ$`( R \ZLl8 ўR HH\`\Z[YS6`LxQɿu3'RͲʎRʎ]]]ɍuL͟ɍ}RLRɍg^H8 ^hZLɍR LͲɊRR% QLܤͲ Z@ -^ ş\[Z QY\[Z8`l6Lş_Ȍb_Ͳ] )Y h( ֭ͲLɍ [LLĦ__ ^ 9 LҦ3 9 a   0LjLY u< (_9 ˭ɠuɠK_9 ?LˆʎõĵL õ ĵµ aµ`` L̦µ_bJLuLz`  ȟ QlXJ̥KlV  ȟ QlV eօ3L e3L &RL &QL d L4 Ne)n `@-eff L f`L . tQLѤ LҦL` OPu d L Ne)noon 8ɍ` ^f\õL ^NR  RΩLҦ)\Z ʽ LHv 3h`0h8` [L NС õ`A@` ŵL^Lõ`  \ 濭0 \  ȟ Q ^\lZl^?cqH şch`fhjõĵ@OAP`u@`@&`QR`E Ls  @DAE@u`8` %@ @A@`@`@A`Mµ ) LЦ`8@AWc@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@ch8&ȑ@Hȑ@Ah@LHȑ@ȑ@ htphso`hMhL`9V8U897T6S67`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!pppp p p p p`" t""#x"p0p@p@@@p@!y q q p@  LANGUAGE NOT AVAILABLRANGE ERROWRITE PROTECTEEND OF DATFILE NOT FOUNVOLUME MISMATCI/O ERRODISK FULFILE LOCKESYNTAX ERRONO BUFFERS AVAILABLFILE TYPE MISMATCPROGRAM TOO LARGNOT DIRECT COMMANč$3>L[dmx- (  @Ϡ@跻~!Wo*9~~~~ɬƬ~_ j ʪHɪH`Lc (L ܫ㵮赎 ɱ^_ J QL_Ls贩紎 DǴҵԵƴѵӵµȴ 7 ַ :ŵƴѵǴҵȴµ納贍﵎ٵ്ᵭⳍڵL^ѵ-I `  4 ò-յ!  8صٵ紭ﵝ 7L (0+BC  7L HH`LgL{0 HH` õL H hBL BH [ h`Lo õ ڬL B ڬ LʬH hB@ յյ [L (ȴ) ȴ 7L L ( L (ȴL{ƴѵ洩ƴǴҵ 7 ^* B0 HȱBh ӵԵ 8 L8 ݲ` ܫ  / / ED B / / ]ƴS0Jȴ ȴ)  紅D贅E B ƴ  / 0L Ν `HD٤DEEhiHLGh ` ŵBѵ-` ѵB-` ܫ XI볩쳢8 DH E𳈈췍Ȍ X0 · JLǵBȵC`,յp` 䯩 R-յյ`յ0` K R-յյ`ɵʵӵԵ` 4 K ( ѵҵLBȱBL8` DBHBH : ַ޵BȭߵBhhӵԵ RBܵmڵ޵ȱBݵm۵ߵ` 䯩LR˵̵ֵ׵`êĪLR E( 8` R` ELRŪƪ`췌 յյI뷭鷭귭ⵍ㵍跬ª 뷰` Lf ݵܵߵ޵ ^`8ܵ i B8` 4L ֵȱB׵ ܯ䵍൭嵍 ` DȑB׵Bֵ  ַ յյ`굎뵎쵬 뵎쵌``õĵBCõĵ`µµ`L õBĵCصص Qƴ0"Bƴ 󮜳` 0۰ϬBƴ8`i#`ЗLw!0>ﵭ` m ﳐ 7i볍 8 ЉLw`H h ݲL~ `浍국䵍뵩嵠Jm赍嵊mjnnn浈ۭm浍浭m䵍䵩m嵍`"L ŵ8ŵH ~(` d ֠z# u` @ @~p`@ CCC|   @a@a@@ q$ <@ 8!_~w}  <bay8xBFc `sa\a `  "x<878x8x G !P &$B  dD2I   2 I""@$"""! """""@HHHHI2""@$""" dA8,<<FDb,G@'" F`DxAGG0b CCC    @a@aC@ d#N`@A0CAG%bc0"<A%DG< qX$ @$, Fq0`Xa8@$@ >  @@@!P|x D#B y DDq"IH y"y`I@ <"<@Gxp<<<<GG`Q<@<`$DB@2""!D'@2AH $"<!DAGHqpqy ,DP@H$F"D &"!&$$          ؠҠӠ٠٠ϠŠŠԠ̤ƠԠƠΠϠӠԠ`4/`""    8 c8 co8 c؎8PL|d8RL|d8TL|dLeLaoLeLaoLaoLaoLeLaoLaoLaoLeLeLaoLeLeLaoLeLeLeLeLeLeLeLeLe8 c%8 c LeLe LeLeLaoLeLao LaoLeLeLaoLeLeLaoLeLeLaoLaoLeLaoLeLaoLao`P  e333 Hg Hh4 H??NPRLaoLe LeLeLe LeLaoLeLeLeLeLao eLă * m e .b` G a n {n i fLBLOAD G f f [oL ,A$4000 f f $n j k .b X` \ e Z  N ƅ % { % r G 3 G ld G Ȇ ld G ld : 1 ?`L`k IV ld k ц mLLAMPLITUDE TOO LARGE - REENTER f f LF G ld ld .b` L@# *** RESULT OF SUPERPOSITION *** f f n m  m g e  a n 6 n * K %m  Å m mL * m *  kn ld P  !mLށ  ld P  !mL ld .b ` XL*AMPLITUDE OF FUNDAMENTAL IS 40. f f P a ~ n {nLgENTER AMPLITUDE OF HARMONIC # fI f [o L(LIMITS 0 TO 50 UNITS) f{ f $n j $nL΀PRESS RETURN TO CONTINUE f j k` P a ~ n {n G ld G c i ld ld .b ` n a ~ n P n G ld G c i ld ld .b ` n a ~ n P n G ld G~ f L(NEED TO INPUT ONLY THE AMPLITUDE OF EACH f fL'HIGHER FREQUENCY WAVE. EIGHT HARMONICS f f LG(MAY BE ADDED TO THE FUNDAMENTAL. IF YOU f fLv#WANT TO SKIP A PARTICULAR HARMONIC, fR f LENTER ZERO AS ITS AMPLITUDE. f ff L~CALLED THE 2ND HARMONIC, ETC. f~ f L&THIS PROGRAM INCLUDES 3 DEMONSTRATIONS f~ f L?(OF THIS IDEA (MODES 6-8). ALSO, YOU CAN f fLs(TRY FORMING VARIOUS WAVE SHAPES YOURSELF fJ fL'BY USING MODE 9. IN THIS MODE, YOU WILL f L}%IN THE PROPER PROPORTIONS. HARMONICS f} f L ~&ARE WAVES THAT HAVE FREQUENCIES WHICH f} f LA~(ARE INTEGER MULTIPLES OF THE FUNDAMENTAL f~ fLp~#FREQUENCY. A WAVE WITH A FREQUENCY fL~ f L~$DOUBLE THE FUNDAMENTAL FREQUENCY IS f~~ v` XL|"ONE INTERESTING APPLICATION OF THE f| f L}(SUPERPOSITION PRINCIPLE WAS DEVELOPED BY f| fLC}(J. FOURIER. HE SUGGESTED THAT A PERIODIC f} fLq}"WAVE OF ANY POSSIBLE SHAPE CAN BE fN} f L}!'SYNTHESIZED' BY ADDING HARMONICS f} f f L{&AS 'BEATS' OCCURS, LET'S ADD TWO WAVES f{ f L |#OF THE SAME AMPLITUDE, BUT SLIGHTLY f{ f L0|DIFFERENT FREQUENCIES. f| f P ld P Ȇ ld P  ld P r P { $nL|PRESS RETURN TO CONTINUE ft| j k` r { 'S ADD A WAVE OF FREQUENCY 20, fz f Lz%AMPLITUDE 40, AND PHASE ANGLE OF 180. fz f P ld P Ȇ ld P  ld P r P { $nLX{PRESS RETURN TO CONTINUE f?{ j k ` P { P r v`L{&TO ILLUSTRATE HOW THE PHENOMENON KNOWN f}{ n 6 n * ‡  ۅ ' ld * o mLz K %m  Å m mLz * m e * *  *  ld .b`Ldz&THE FUNDAMENTAL HAS A FREQUENCY OF 10, f=z f Lz$AMPLITUDE 40, AND PHASE ANGLE OF 0. frz f Lz!LETmLx m  m g e LxWAVE # fx f [o ; # c i ldLy FREQUENCY= fy f ^oL*y AMP.= f#y f ^oLLy PHASE ANGLE= f>y f ^o c i W c i ؅ f D !mLy ۅ Y ؅  a D - REENTER fw f Lv .b ` n m  m g e m g e  m  e  m e f D !mLx ?  a U n B n υ m p e υ m ^ e .b  a 2 n 1 n  m υ e m υ e .b` z # w m !mLx G m  ! VALUES FOR WAVE # fv f [oLv: fv f Lv!FREQUENCY, AMPLITUDE, PHASE ANGLE fv f L5w((MAXIMUM FREQ.=80; MAXIMUM AMPLITUDE=80) f w f $n j ld k ld k ld k m  m mLwLw#TOO LARGE A VALUE ENTERE mLv  a n {n * ld .bLuR ߇ G i fu mLu  cLs G cLsLoL+v!THE FIRST WAVE (FUNDAMENTAL) WILL f v f LJvHAVE THE VALUES: f9v f Lv'FREQUENCY=10 AMPLITUDE=40 PHASE ANGLE=0 fXv f P a ~ n {nLvSELECT d ;o  Ql ;o ) Ql .b Lt(PRESS RETURN TO RETURN TO THE MAIN MENU, ft f $nL*u%OR ENTER R=REDRAW E=REDRAW EXPANDED fu j kL=uQ ߇ G i f;u mLzu چ ;o  Ql  ;o Ql  ;o  QlL`kLuELuR ߇ G i f}u m  ߇ G i fu ms ʃ  D %m   " m mLo  l :zj{z{||݀*z  !mLo w G a ~ n {n  !mLt ux 煭  lLftLRt PRESS ANY KEY FOR NEXT WAVE f4t f y d 5o  !m  D !m mLt L d ;o  Ql w  y d 5o CTHESIS OF NINE WAVES fr f Lr 10 = QUIT fr f ` . $n j ͇ kLr ˇ 2i fr mLo ˇ }f   . !mLOs چ ;o G Ql  ;o Ql  ;o  QlL`kLTsS ˇ P m G 1j fRs mLvs G L{sT ˇ P m G 1j fys mLs G   !mLON OF 4 WAVES fq f Lq' 5 = EXPLANATION OF FOURIER SYNTHESIS fq f L!r& 6 = DEMO SYNTHESIS OF SAWTOOTH WAVE fq f LTr$ 7 = DEMO SYNTHESIS OF SQUARE WAVE f/r f Lr( 8 = DEMO SYNTHESIS OF TRIANGULAR WAVE fbr fLr& 9 = FOURIER SYN PORTLAND, OR 97225 fp f LpSELECT MODE: fp f Lq 0 = GENERAL INSTRUCTIONS fp f L@q" 1 = DEMO OF ADDITION OF 2 WAVES fq f Ljq 2 = ADDITION OF 2 WAVES fNq f Lq 3 = DEMO OF BEATS fxq f Lq 4 = ADDITIo< `UoooOU i ׇ Շ fLoBLOAD TEXT 2,A$800 fo f XLp WAVE ADDITION II fo f L@p COPYRIGHT 1983 f&p f Lip VERNIER SOFTWARE fNp f Lp 2920 S.W. 89TH ST. fwp f Lp      ,$` L( L5 LD 8 XL XLR XQHPH RPhPhQ8 XL.0'L+ LfLLLLL ꥪLYԨéR L ,-` Leh8PhHQH`hbihciHHb\ȱb]`ߚl hhHHHH`L⥠`ʆ  hdheHdHHHH08  X Xhdhe + eHdHHHeHdH`   q% 0 L0`,wyywxzzx,Hyw wȄffȪ yw fh0`h&Hwyxzwy wy h Lh` ` ` ` 憅` ` ᥠQP` L  8e`LԩLcغh8uhHvH` L L L~ 憅 L ʊ8$!  W$Li)$` LY L   hPhQP 8ePQiHHš`hh PȱPʘHH` ,խwqq膸 J즸 , :hhlP,q`h8uhv] :  ڢ hgʆbcb KLf/q ߠ :۩q` S0 L,Hh*Mȱڦhwx%ȱH J hw0У8 ewwx𴰺 抦5?wtsʆwx8dedЕБt Z Z ,խvqq ", ȹ,ȹ ,W,qewix8 Z ZCBЍw U  yUUwyVxz`Зԥwyxz`ywzx`GH o8 UpVUVƠ UVUʆoph3]eУk ЮU 4Г U 5,wЅƩѤ wU! 5B=ooppȆbcĂbfUVd8ophLД8= 7MLdlkȄmn;op:E UUȥViлh8HH`Ї{y SՠUEowyywxzzxwIy:e \`fH,Hops8otpf,kiUliVU$f&łmUŁfbUȥcUUŭUVŮMvłGUŁ>UV2ЅUŕȱU喰!UUdUV0*UiUViVUmVnɊȢwU𧰸ХyyUU⥁œ.QP$  e LWHhL:5~    eȱeLaL LRwwxȆwxwHw Jhw`w5U,w`,hbhcbwȱbxcȘHH`wȄ wep`0CBe]Q=b`LicbbbE0`Ġ``MMLeڢD ! SL3LH h%LddЉ`?0 HH chh ޥ Yަ`н  eE   ࠰>Ffee0  &ߢEX$ƫv` ꥪLYDcbbwyȱbxz`ݥܦL+3UV UwȱUx`wUȥxU`Ncbbȱb`cbbȥb`cbbȱb8塅堅PEncbbȱbe HH`0S,,hdehUhVhhHHU hehHehUU HHk`UiȱUiuкe& & &eeHHqUȥqUeFdO݅܆`ycbbȱbƫ8pM䡥UȥUU +뺠ЧUV욥VHUHthhЁ HHf ㈱ۺQi e 纼 +뺊i  e HH`iiiHH`(bcbebbePE1b]  0  j=i<<=kbޙץ,,stHʈcbhH ʈpoophMm X RQtPsh`bhH      @pqpp@@` p xgp~p?@s<  @ p Caf@    @a@a@@  x@@C@a000H`w~~@00x? 0@ @x`pp@@   pGp|p~@cA@D0@saa@  @ 8 Caf@    @a@a@@`w`@CC@a0` 0Nr@CC@a00  0@  @<@|pp@@@   `pxp|@CAxDp  @  CCC|   @a@a@@@CC@a0` 0BBw@CC@a00  @ @~p @|pp@@`   ADD  CCC|   @a@a@@|w~~@CC0xx?BBCC@a0x? @ @~p |pp@@0 `pp|@  CDDacA  CCC    @a@aC@~~~@CC0xx?"FCC@a0x? pp@p@ ppp~@  Mx<<p@ CCC    @a@aC@`?*U*U*U*U*U"D~@C@a00xx ?pp@p@ 0@?xpp@| | p@@ ~C~ pp ~C?`<@xj*U*U*U*U*Upy~ pp `C?`@~pL~@C@a00xx pp@p@? @`{pp@@ F p@aaqOs?~~~@00x? ~C~ pp ~C?`<@\**U*U*U*U*Upy~ pp `C?`@~p  |H@@C@a000           UAGE ROUTINES USED BY THE COMPLILED VERSION OF THE PROGRAMw D$;"BRUN WAVE ADDITION II.OBJ": RUN COMPILED VERSION } (  GREETINGS PROGRAM9D$(4): CHR$(4)IS CNTRL D MASTER DISKETTE CREATED ON NOVEMBER 6, 1983 BY D. VERNIER: CLEAR HI-RES SCREEN 2D$;"BLOAD WAVE ADDITION LOGO, A$4000": D$;" BLOAD RUNTIME,A24576": LOAD MACHINE LANG رزōԠҤĠ̤Ơ˨ΠرƠ˨ΠزƠزΠԠΧԠԠҠ͢ƠرĠزΠ̠ԠҤŠҢ  @ (@ T!@@  @ @ @  @@  @  @ A! @@ @   @@  @@  @  @ @  @@@ @  @   @   @  @ @@ @  @ @  @ @@@@ @ @@@@@ @ `  @ @@@@@@  @@@   @ @!@@ @ *P@~_w}?o{@ !@                      VP6 "Pȱ"ֲ Hֲ HVP6:VP6,VPHP:HP,HP3VP3%!tDZ]!ǎHP3,HPVP3:VP3,VPHP:HP,HP3VP:VP,VP6HP3c!DZ!ǎHP,HP3VP:VP,VP6HP3:HP3,HPVP6:VP,VP6HP!DZ!ǎHP3,HPVP:VP,VP6HP:HP,HP3VP3:HP,HP3VP6!DZ!ȎHP,HP1VP3!ȱ"(ȍHP,G ƎHP3,HPVP:VP,VP3HP:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6M Ʊ ǎHP3,HPVP:VP,VP3HP:HP,HP3VP3:VP3,VP6HP3:HP,HP3VP6:VP6,VP3HP $DZ 8ǏVP1,VPHP:HP,HP3VP:VP,VP6HP3 LDZ!`ǎHP,HP3VP:VP,VP6HP3:HP3,HP FOR DRAWING EACH DIGIT)HƏVP,VP6HP1/\ƱwpƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP:HP,HP3VP6}ƱƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6ƱƏVP,VP3HP:HP,HP3VP3:VP,VP6HP3ƱNEEDED FOR THE '.'5HPHP4: SPACE 5 FOR A '1'ŭHP35HP35: NEVER MOVE PAST HP 35 TO AVOID DRAWING 'OFF THE SCREEN' ƂCHƱƲ ============================ END OF DIGIT DRAWING LOOPCƲ LINES 50760 - 51280 CONTAIN THE INSTRUCTIONSC1350620: ILLEGAL CHARACTERtŴAC50760,50800,50840,50880,50920,50960,51000,51040,51080,51120,51160,51200,51240ŭAC12AC1HPHP6:50680: MOVE OVER 6 SPACES FOR THE NEXT LETTER IN MOST CASESŭAC13HPHP2:50680: ONLY A LITTLE SPACE IS =====================nŲ THE LOOP BELOW GOES THROUGH THE STRING DIGIT BY DIGIT AND DRAWS THEM ON THE SCREENŁCH1(PR$)0ŪAC((PR$,CH,1))48DŭAC0AC10: '0'XŭAC21AC11: 'E'lŭAC3AC12: '-'ŭAC2AC13: '.'ŭAC1A DISPLAYING RESULTUR$(R$,7): ONLY PRINT THE FIRST SEVEN DIGITS OF THE RESULTzPR$R$:50000: DISPLAY RESULTSPò LARGE PRINT ROUTINE dò VARIABLES USED: PR$, HP, VP, AC, CHà15: SET COLOR FOR LARGE PRINT LETTERSIJ========( CALCULATE AND DISPLAY RESULT EM$"+"R$(N1N2):760bM$"-"R$(N1N2):760M$"*"R$(N1N2):760M$"/"N20R$".......":760: AVOID DIVISION BY 0 ERRORSM$"/"R$(N1N2):760HP0:VP26: SET POSITION FORIT ROUTINE<M$"-"ĎHP,HP4VP2:690: DRAW '-' SIGNM$"*"āJ04:HPJ,VPJ:J:J04:HPJ,VP4J:J:690: DRAW 'X' SIGNM$"/"ĎHP,HP4VP2:HP2,VP:HP2,VP4:690: DRAW '/' SIGN"IMPROPER SIGN, ENTER AGAIN ":610TH FUNCTION CHARACTER HAS ALREADY BEEN ENTERED, THEN SKIP THE MATH FUNCTION SECTION HERE^_b"ENTER MATH FUNCTION (+,-,*, OR /) "lM$qM$(3)ij: EXIT PROGRAM ON CNTRL C vM$"+"ĎHP,HP4VP2:VP,VP4HP2:690: DRAW '+' SIGN AND EX+,-,*,/, OR =)": ADD MESSAGE TO REMIND USER THAT MATH FUNCTIONS MAY BE TYPED NOWD520: REPEAT LOOP TO GET THE NEXT DIGIT OF THE NUMBER N(N$)0ī500SX DRAW MATH FUNCTION X]C$(13)M$C$:630: IF A MAT OF A NUMBERT#C$"E"(N$)0560: ACCEPT AN 'E' EXCEPT AS THE FIRST CHARACTER&" ILLEGAL CHARACTER, REENTER ":512: REPEAT LOOP0PR$C$:50000: DISPLAY DIGIT IN LARGE PRINT:N$N$C$: ADD DIGIT TO STRINGRB(22):"OR MATH FUNCTION (N$)0590: EXIT ROUTINE IF A '-' IS ENTERED EXCEPT AS THE FIRST CHARACTER (TO ALLOW FOR NEGATIVE ENTRY)(C$)47(C$)58560: IF A CHARACTER IS A NUMBER, ACCEPT INPUT !C$"-"C$"."560: ACCEPT OTHER POSSIBLE CHARACTERS WHICH COULD BE A PARTURN IS ENTERED, EXIT THIS ROUTINENC$(3)ij: END PROGRAM WITH CONTROL CC$"R"590: EXIT ROUTINE WITH 'R' SYMBOL AS RESTART MARKERC$"+"C$"*"C$"/"C$"="590: EXIT ROUTINE IF A MATH FUNTION IS ENTERED (ACCEPT AN '='iC$"-"( PRINT RESULT AT TOP OF SCREEN AS THE FIRST NUMBER360: START LOOP - THIS TIME WITH THE OLD RESULT AS THE NEW FIRST NUMBER GET NUMBER AND DISPLAY N$"": INITIALIZE N$:(21)"ENTER NUMBER "C$"C$(13)590: IF A REQ$"C"300: REPEAT MAIN LOOP UNLESS A 'C' IS ENTEREDN1(R$): SET THE VALUE OF THE FIRST NUMBER EQUAL TO THE OLD RESULTVP0:HP0: SET POSITION FOR DRAWING THE OLD RESULT AS THE NEW FIRST NUMBER: CLEAR SCREEN3PR$R$:50000:24: DRAW CALCULATION LINEOHP0:VP27: SET POSITION FOR DRAWING RESULTf700: DRAW RESULT::(24):" PRESS RETURN FOR NEW CALCULATION ";:" PRESS 'C' TO CONTINUE THIS CALCULATION ":Q$:Q$(3)ij: EXIT PROGRAM ON CONTROL C<9: SET POSITION TO DRAW MATH FUNCTION SIGNLr600: GET MATH FUNCTION~|HP0:VP16: SET POSITION FOR SECOND NUMBER500C$"R"300: IF ROUTINE WAS EXITED WITH 'R' N2(N$): DETERMINE THE VALUE OF THE SECOND NUMBER0,39PROGRAM DJHP0:VP0: START DISPLAYING DIGITS AT TOP LEFT CORNERlT: CLEAR SCREEN AND ENTER GRAPHICS^500: GET FIRST NUMBER`C$"R"300: IF ROUTINE WAS EXITED WITH 'R'cN1(N$): DETERMINE THE VALUE OF THE FIRST NUMBER/hHP0:VP"MATH FUNCTIONS : +,-,*,/ ONLY(T"IF YOU MAKE AN ERROR WHEN ENTERING A "NUMBER AND WISH TO START THE CALCULATION";"OVER, PRESS THE 'R' KEY (FOR RESTART).!:":" PRESS RETURN TO BEGIN CALCULATIONS "::678, MAIN OLVING MORE 0 "THAN TWO NUMBERS CAN BE DONE.8 :q :" PRESS RETURN CONTINUE INSTRUCTIONS "::678 :"THIS CALCULATOR HAS THE FOLLOWING "LIMITATIONS:  "NUMBER RANGE: -1E38 TO 1E38 "DISPLAY : FIRST SEVEN DIGITS ONLY""CALCULATION IN ANOTHER CALCULATION, YOU"Y "SHOULD PRESS THE 'C' KEY WHEN THE FIRST "CALCULATION IS COMPLETE. THIS WILL "CAUSE THE RESULT TO BE TAKEN AS THE "FIRST NUMBER OF THE NEW CALCULATION. IN"; "THIS WAY COMPUTATIONS INV '/' KEY IS USED FOR DIVISION.O "NEGATIVE NUMBERS MAY BE ENTERED BY USING";} "THE '-' KEY AS THE FIRST CHARACTER OF A "NUMBER. SCIENTIFIC NOTATION MAY BE " "ENTERED USING THE 'E' KEY. "IF YOU WANT TO USE THE RESULT OF ONE + YOU WOULD3 x"ANY ALGEBRAIC (NOT RPN) CALCULATOR.d }"FOR EXAMPLE, IF YOU WANT TO ADD 3 AND 4,"; "PRESS THE FOLLOWING KEYS: "; :"3";::" ";::"+";::" ";::"4";::" ";::"=": "THE '*' KEY IS USED FOR MULTIPLICATION, "AND THES THE COMPUTER TO BEE "USED AS A FOUR FUNCTION CALCULATOR, WITH";q "ALL NUMBERS AND SYMBOLS DISPLAYED IN ""LARGE PRINT. : <:" PRESS RETURN FOR INSTRUCTIONS "::678 d INSTRUCTIONS n s"USE THE COMPUTER KEYBOARD AS  ::(5)." CALCULATOR"M" **********s:" COPYRIGHT 1983":" VERNIER SOFTWARE" 2920 S.W. 89TH ST." PORTLAND, OR 97225::: "THIS PROGRAM ALLOW              (ȍHP,VP6Pȱֲ VHP3,HPVP6:VP6,VPHP:HP,HP3VP3-tDZeǎHP3,HPVP3:VP3,VPHP:HP,HP3VP:VP,VP6HP3kDZǎHP,HP3VP:VP,VP6HP3:HP3,HPVP6:VP,VP6HPDZǎHP3,HPVP:VP,VP6HP:HP,HP3VP3:HP,HP3VP6DZȎHP,HP1VP3ȱ3ƱOƎHP3,HPVP:VP,VP3HP:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6UƱǎHP3,HPVP:VP,VP3HP:HP,HP3VP3:VP3,VP6HP3:HP,HP3VP6:VP6,VP3HP$DZ8ǏVP1,VPHP:HP,HP3VP:VP,VP6HP3LDZ'`ǎHP,HP3VP:VP,VP6HP3:RUCTIONS FOR DRAWING EACH DIGIT1HƏVP,VP6HP17\ƱpƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP:HP,HP3VP6ƱƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6ƱƏVP,VP3HP:HP,HP3VP3:VP,VP6HP SPACE IS NEEDED FOR THE '.'>HPHP5: SPACE 5 FOR A '1'ŭHP35HP35: NEVER MOVE PAST HP 35 TO AVOID DRAWING 'OFF THE SCREEN' ƂCHƱƲ ============================ END OF DIGIT DRAWING LOOPCƲ LINES 50760 - 51280 CONTAIN THE INSTHPHP5:50680: IF A "0" IS PRINTED ONLY STEP OVER 5 SPACES OR ALL EIGHT DIGITS ON A BINARY NUMBER MAY NOT FIT ACROSS SCREENŭAC12AC1HPHP6:50680: MOVE OVER 6 SPACES FOR THE NEXT LETTER IN MOST CASESŭAC13HPHP2:50680: ONLY A LITTLE0ŪAC((PR$,CH,1))48/DŭAC0AC10: '0'FXŭAC21AC11: 'E']lŭAC3AC12: '-'tŭAC2AC13: '.'ŭAC1AC1350620: ILLEGAL CHARACTERŴAC50760,50800,50840,50880,50920,50960,51000,51040,51080,51120,51160,51200,51240~ŭAC10Pò LARGE PRINT SUBROUTINE Edò VARIABLES USED: PR$, HP, VP, AC, CHrà15: SET COLOR FOR LARGE PRINT LETTERSIJ=============================Ų THE LOOP BELOW GOES THROUGH THE STRING DIGIT BY DIGIT AND DRAWS THEM ON THE SCREENŁCH1(PR$)GE DIGITS M4VP12:HP0: SET STARTING POSITION FOR DRAWING BINARY NOTATIONvHPR$B$:50000: DRAW BINARY NOTATION\VP22:HP14: SET STARTING POSITION FOR DRAWING DECIMAL NOTATIONfPR$(J):50000: DRAW DECIMAL NUMBER IN LARGE DIGITSz5vVP1,VP3HP1*VP1,VP3HP20M DRAW LAMP 'TURNED OFF'T0HP(7L)5: CALCULATE PLOTTING POSITION FROM NUMBER OF LAMPVP5VP1,VP3HP1VP1,VP3HP2   DRAW BINARY AND DECIMAL NOTATION IN LARRAW ALL EIGHT INDICATORS &2/VP5>HP0355NVP,VP4HP`HP,HP3VP4r&VP4,VPHP30HP3,HPVP:HPNX DRAW LAMP 'TURNED ON'b15lHP(7L)5: CALCULATE PLOTTING POSITION FROM NUMBER OF LAMP qVPB(NV): DIVIDE TO SEE IF THE DIGIT SHOULD BE A '1'B1B$B$"1":600:440: THIS DIGIT IS A "1" AND THIS LAMP SHOULD BE "ON"B$B$"0":700: THISDIGIT IS A "0" AND THE LAMP IS OFFNN(NV)V: CALCULATE REMAINDERL D:J: END OF COUNTING LOOP8 x100: REPEAT PROGRAM] , ERASE LARGE PRINT NUMBER AREA d @0r JVP1228 T0,39VP h   CALCULATE LAMPS 'ON' FOR A NUMBER B$"": INITIALIZE BINARY NOTATION STRING L701 V2L5 n400: CALCULATE THE BINARY NOTATION FORM OF THE NUMBER AND TURN ON THE APPROPRIATE LAMPS s800: DRAW OUT BINARY AND DECIMAL NOTATION tFLAGĺ"PRESS RETURN TO CONTINUE COUNTING, ANY":"OTHER KEY TO END COUNTING"::Q$:(Q$)13FLAG0 uFLAGR (0 TO 255)":"ENTER 256 TO START A COUNTING SEQUENCE":J fFLAG0: INITIALIZE A FLAG WHICH WOULD INDICATE COUNTING IS DESIRED gJ256FLAG1 hFLAGāJ0255: START COUNTING LOOP iJ256100: IMPROPER INPUT jNJ l300: CLEAR SCREEN\N OF 'ON' OR *"'OFF' LAMPS.R 2:"IF YOU ENTER THE NUMBER 256, THE PROGRAM"; 4"WILL BEGIN COUNTING THROUGH THE NUMBERS 6"FROM 0 TO 255. : <:" PRESS RETURN TO CONTINUE "::678 Z500: DRAW LAMP LOCATIONS _: d"ENTER A NUMBE BINARY3 "NUMBER SYSTEM. YOU ENTER A NUMBER IN_ "THE RANGE OF 0 TO 255 AND THE NUMBER ""WILL BE DISPLAYED IN BOTH DECIMAL AND $"BINARY FORM IN LARGE DIGITS. IN &"ADDITION, THE BINARY 'BIT' PATTERN WILL ("BE DISPLAYED IN A PATTER ::(5)+" BINARYH" ******n:" COPYRIGHT 1983":" VERNIER SOFTWARE" 2920 S.W. 89TH ST." PORTLAND, OR 97225 "THIS PROGRAM DEMONSTRATES THE     3:HP,HP3VP6DZ(ȎHP,HP1VP3.ȱ;(ȍHP,VP6APȱHֲ (,VP6HP3LDZV`ǎHP,HP3VP:VP,VP6HP3:HP3,HPVP6:VP6,VPHP:HP,HP3VP3\tDZǎHP3,HPVP3:VP3,VPHP:HP,HP3VP:VP,VP6HP3DZǎHP,HP3VP:VP,VP6HP3:HP3,HPVP6:VP,VP6HPDZǎHP3,HPVP:VP,VP6HP:HP,HP3VPƱ0ƏVP,VP3HP:HP,HP3VP3:VP,VP6HP36Ʊ~ƎHP3,HPVP:VP,VP3HP:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6ƱǎHP3,HPVP:VP,VP3HP:HP,HP3VP3:VP3,VP6HP3:HP,HP3VP6:VP6,VP3HP$DZ 8ǏVP1,VPHP:HP,HP3VP:VPLOOPNCƲ LINES 50760 - 51280 CONTAIN THE INSTRUCTIONS FOR DRAWING EACH DIGIT`HƏVP,VP6HP1f\ƱpƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP:HP,HP3VP6ƱƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6 CASESMŭAC13HPHP2:50680: ONLY A LITTLE SPACE IS NEEDED FOR THE '.'mHPHP4: SPACE 4 FOR A '1'ŭHP35HP35: NEVER MOVE PAST HP 35 TO AVOID DRAWING 'OFF THE SCREEN' ƂCHƱƲ ============================ END OF DIGIT DRAWING  lŭAC3AC12: '-'. ŭAC2AC13: '.'X ŭAC1AC1350620: ILLEGAL CHARACTER ŴAC50760,50800,50840,50880,50920,50960,51000,51040,51080,51120,51160,51200,51240ŭAC12AC1HPHP6:50680: MOVE OVER 6 SPACES FOR THE NEXT LETTER IN MOSTT HORIZONTAL AND VERTICAL STARTING POSITIONSO IJ============================= Ų THE LOOP BELOW GOES THROUGH THE STRING DIGIT BY DIGIT AND DRAWS THEM ON THE SCREEN ŁCH1(PR$) 0ŪAC((PR$,CH,1))48 DŭAC0AC10: '0' XŭAC21AC11: 'E'THE LARGE PRINT SUBROUTINE# 440Y  *********************** END OF MAIN PROGRAMw Pò LARGE PRINT SUBROUTINE dò VARIABLES USED: PR$, HP, VP, AC, CH xÈ: ENTER LO-RES GRAPHICS à15: SET COLOR FOR LARGE PRINT LETTERS, êHP0:VP10: SE* "INCLUDING NEGATIVES AND SCIENTIFIC "W "NOTATION. ONLY THE FIRST SEVEN DIGITS "WILL BE DISPLAYED CLEARLY IN MOST CASES.   "ENTER A NUMBER" N PR$(N):50000: TRANSLATE THE NUMBER TO BE PRINTED TO A STRING, AND CALL "THIS IS A SHORT PROGRAM DEMONSTRATINGR "THE USE OF LARGE BLOCK NUMBERS WHICH ~ "ARE DRAWN WITH THE SUBROUTINE IN LINE "NUMBERS 50000 TO 60000. YOU MAY WANT "TO USE THIS SUBROUTINE IN YOUR OWN "PROGRAMS. MOST NUMBERS MAY BE DRAWN,J ), SAMPLE PROGRAM USING LARGE PRINT 16::@(5)ZE" LARGE PRINTzG" ***********H:J" VERNIER SOFTWARET" 2920 S.W. 89TH ST.^" PORTLAND, OR 97225 hr& |    ͠Ƴ͠ǠӠƠԠٍԠz #   ҠҠ  ƲƳƱƲƳ ŠԠ ٠ dz"Ǵ"Ϯ ŠΠɠ! ϠŠ ΠŠ ƱϠ ŠΠϠ" Š ŠΠɮʠԠ DZ"Dz" ~C~ pp ~C?`<@ipd#D `CH$$$D $""@'d$$dpy~ pp `C?`@~pnphxxDq<Opyp<"@H` |"AH$y "!dD|<<<@GCGcsaQ<GF'<@Gx<8MOB$  ! $"$`BHI E "@@ 0@ D`@ OD'DG'ba<!$CG Caf@    @a@a@@D <qx$"@$"< OGxpxb84@ """""@H!D<"CH$ &!$DD @nppqp""@ <bayOOpq]yn~~o];sY^{w;3wMmm"bD""Iq"x y  d'"@HHA DB $@$ "DIDD@"""" $$  $$DDD""B$  ! H$">dBHIHH ">"<,<Fxp,<<<<OO`0"<@$<< 0@ @  Caf@    @a@a@@$ $$<<<<OFxh8 Onpp@gCpx<84 @$@B aeqaa_:Ke?8|GKC-n"D ""I 2"  $$"@HHC >r|DB $@r$ "D|IDD|8<"`C# @GGx8x8<b  !yH$2""2$BHIHHH "" @"@$2 ! 2"""@H@G@H"@$"" D'<8 @ @~p  CCC|   @a@a@@ $@$ !B _~wb<4<7qRqqhpqp`C#@GM"DDO!$@$ bDDIDDD B IgP (%$R<RyDOOpqq aXDy,b H@ q,qHpbaF`">@$"">!y""">"@HOHOH">@$""> $@B@@@  @@@  @ @ F@B @ !@HId#"H @@p@H  @ *P@_w}?o{>@ >B@ @ !@I$$" y           < d$<@$2 A ! I$D@$"  ,<<<<K@xK$qq8"&Dp`Dx"""!$dGr"AH $""!D|AHG <"2@$ BHI E "@LHH@H}}app_<&{]9|G;Om@,, DC @ @EG`8@x0"<X    C#dx8 @ @@ ~C~ pp ~C?`<@" $$"D@H$$dD $r">!$$$py~ pp `C?`@~p DD "IHH  " HI 2" D$"@$"Aa I$D@$" 2"""@L xAL$ "!$D"""!$$D2"AH!$&"!DDCHH@2 yq"""@$>rBHIHH ">@HHHOa}~oo_o_{]^{w;;wmml"r IyBq qqq D' A2""2 $$   &$Dx"B$ l&|x D0"<aDGL` O@q<>  @ @@@ @ H( @ "Id  $D  &Ds "DIdxBH HD$#$ sq @   @ 0   @ "]yn~~o];sY^{w;3wMmm @@ PH@ 0 ">ID $D| $pD "bDD|IDDBH H@C$r$ r @ @  @aeqaa_:Ke?8|GKC-n @@`@@ p ""ID  dDD  dD 2B2"$DDIDDBHpI!@$$ 2 @ @_~w@@p@@@ @ ``  @ 7x4@#x<8@'cD R`saSy@bDx<8AxDO HFgbb `sqaaS@0I$ B1qq@@0 f_~w} @@@!$CGg  OqD paQy|aQAH$""I"" $$$ DO  "2 Id#@""BDD@",<KHx XIxX@IO!$`D$D"@$2AI E "@LHH@G#A<8D@ q OpL<!&$$&BLD @caG$bCq `aB DeCGaeqaa_:Ke?8|GKC-n!`@ B@'DG D4dcI CH$&@@HHH!DDLDBHH  A!$ $0   B@( B`saxD<84@r$BID$DD#$"I|D@D| pqh\a paDx8x @$"""`2IH !$D$yD"@r$rcAIHH ">@HHHO@ $A@DD  AOL@H@BH@F%@p8$ O@ ",<!$$$$BHqD rAH$ #"`#$$@_~w@ `Dx6Xxpacqqp@@Ixp O GOFgcx4xOGpyp@FC'$@( B@ @yph""G88`sabba<@`ccca" I"""@$"ID$D$ $"IDL@HDD @@ <"@RacsGFG'bx\qD "@$AIHH ""@HHHH@ $A8DD yAOHHOH BH!& D$rB@x "2 @'d$$$BH D 2 2|AH$"r#xI"" $$DcG_~w}H@ q",yp `qH$ <!L8D<@@DId(  &DXDxX$bB1 `XaB`d0aLaD@@@B  @"@@ )( x "  @`cqaSqy8`#x84gp8\qaQaQq]Awc]= `<"A @ H @DId(B@D@@@`! "BOx DIDD|q"ID2IDDCH@H@H DDD d          @F|GbqqH`r`cCGGCH @@ }}app_<&{]9|G;Om@HDDIDDD x!dDDDD$r" $rDBH"@H &Gc Mx84pyp OG'pO@!d D$BHD""""FEGHaXDs1@A y"" y I$$> $"BDD8"2 @LO dId@d@ I@$Bb@H $ BOG's`p8\qGDi<<!&$dDD2lHxp "@OK@cXDxLO@ qA@gC%<AH  &" I$$" $"BDL""">@HHH|DI|D8D>@ I8>"$B"@@d<" "HH"2 D"@$2 @$lq  ,@Ox8bXaB`s0@`bccc# A@ $$ d@D ,<@`bc OF%pX$aa   ]}`qq_\;{]^{w;;wmm @gCD4xx\aQqq `bbDpyO""@H!$@ `B @!$dp3DDD`I AL$"H@GL FdDDBH@  @ $& NHpyp"nxph`q8c# $O84x""""@HIHD DIDDD "@H I2""$B"@r8DD|"""HH"" D">@$"">@$ DAOH $@r$rc@DCHH!$@$DL D"$d$$$"H@ $$Dd2B@"@HI " ]}w]]5 G`QM"I r!HH#I I#@Ipa`0ax`"`x 'p8$`bB>rB $@r$ I E $IH>BOI y yq""">@HOOI$ BHaDBHIHLIDLD d@@"2"DD@$""& $"BLD@g  IDd$22@aeqaa_:Ke?8|GKC-n@DCHH!$@$x8 OF'`sabba84 @#dC'CGC>GO $$DD"BO">@HIH `]}w]]9 "> "HH I"@I|pH#@@L D$r""O!$@$ IHH $I"BHI   """"@HHH 2Idnp OH&x8OpO4784D`#cac `sa`01`DxOK0x0 p 8<@#0@`Qqqh8x@ @G#O4x!cqpyp7x$\aQ2_~w"x8 OF'`sabba@"@@H d$DD "BHy""p@HIHaAA]a="" "HHI I"@ID`q|"|@OH D$r"<bayBFc `sa\a `  IHH dI "GpIpypq qp<"@G`Sq $8pAq, Op1qD6Xxy<6DB@HIDAHL@Iy@"G#Cp >`8O@E bXaB`s8D@'$@%DGG _ yIDDDD"IH`D$B! bm}w]m=E"A `Sq x<8 OH<p yph<8xd @#p1 K `8L KDIxDX `sqb`  @   !$D@#q"I8ID>@`Bq xx"<"`C'<LD@!` @ qIX$$bb2DDIDDDBDDL@`sqx<Gppq<AxD8q<A4a}~oo_o_{]^{w;;wmml"`8O@E bXaB`sDA@H &@$#DD @b#&$$ @Q  IDLDDx"IH!D$Ba 2u}w]uCO>""@c'>BDD! yID$$r@8  ]yn~~o];sY^{w;3wMmmTEP OVER ONLY FIVE SPACES FOR EACH TIC MARK IN EXPANDED MODE`k DRAW TIC MARKS ON CENTER LINEqlM90270STqM9,82M9,78: SCALES MARKSrM9s DRAW TIC MARKS ON VERTICAL SCALEtM9016010u0,M94,M9: VERTICAL MARKSvM9; MAXIMUM AMPLITUDE=80)";-5F(J),A(J),P(J)n7F(J)80A(J)80ĺ"TOO LARGE A VALUE ENTERED - REENTER":550u:J{NS ***** X DRAW BACKGROUND_3b0,80279,80: DRAW CENTER LINEg0,00,159: VERTICAL LINE<iEF1ST5: SFIRST WAVE (FUNDAMENTAL) WILL"6"HAVE THE VALUES:"e"FREQUENCY=10 AMPLITUDE=40 PHASE ANGLE=0"k INPUT VALUES FOR OTHER WAVESJ2R&"SELECT VALUES FOR WAVE #";J;":"0"FREQUENCY, AMPLITUDE, PHASE ANGLE"3"(MAXIMUM FREQ.=80N THE NORMAL SCALE8c REDRAW WAVE ON EXPANDED SCALE ehEF1: SET A FLAG MARKING EXPANDED SCALEm255: REDRAW WAVES WITH EXPANDED SCALEr105: RETURN TO MAIN MENUw END OF MAIN PROGRAM *****  EXPLAIN WAVE 1 &INPUT"THE (Q$,1)"Q"Ĺ103,00:104,8:2048,0:: RESTORE POINTERS AND END PROGRAMT(Q$,1)"E"(Q$,1)"R"370: RETURN TO MAIN MENUYX0279:SY(X)0:: RESET SUMMATION VALUES ALL TO ZERO ^(Q$,1)"R"EF0:255: REPEAT WAVE DRAWING PROCESS OENT WAVE IS DRAWN/,756: WAIT FOR KEYPRESSd116300,0:230,32: RESTORE PAGE ONE GRAPHICSk6Ju; +++@10000: DRAW SUMMATION WAVEE"PRESS RETURN TO RETURN TO THE MAIN MENU,";J"OR ENTER R=REDRAW E=REDRAW EXPANDED ";Q$FOT WAVET(SF)TFĺ" PRESS ANY KEY FOR NEXT WAVE ":756: WAIT FOR KEYPRESS"TF0J1310: IF SUBTOTAL WAVE IS NOT TO BE DRAWN SKIP THE NEXT FEW LINES':16301,0:600:10000: DRAW THE 'SUBTOTAL' WAVE ON PAGE TWO AFTER EACH COMPON1M9100>M1000,2000,3000,4000,5000,6000,7000,8000,9000cM5100: NO GRAPHICS IN MODE 5w DRAW A WAVE :600: DRAW BACKGROUND FOR PAGE 1  +++J1RA(J)0310: SKIP WAVES WITH ZERO AMPLITUDE648: DRAW A COMPONEN): CHANGE MODE SELECTION STRING TO A NUMBERx M10Ĺ103,01:104,8:2048,0:: RESTORE POINTERS AND END PROGRAM (M$,2,1)"S"SF1: SET STEP FLAG (M$,2,1)"T"TF1: SET TOTAL FLAG M0İ20000: DISPLAY GENERAL INSTRUCTIONS MIS OF TRIANGULAR WAVE";E " 9 = FOURIER SYNTHESIS OF NINE WAVES"W " 10 = QUIT_ : : SET ALL VARIABLES TO ZERO 30000: INITIALIZE CONSTANTS M$: MODE SELECTION M$""105: PRESENT MENU AGAIN IF NO ENTRY IS MADE- M(M$" " 2 = ADDITION OF 2 WAVES = " 3 = DEMO OF BEATS^ " 4 = ADDITION OF 4 WAVES " 5 = EXPLANATION OF FOURIER SYNTHESIS" " 6 = DEMO SYNTHESIS OF SAWTOOTH WAVE" " 7 = DEMO SYNTHESIS OF SQUARE WAVE " 8 = DEMO SYNTHES x% }" COPYRIGHT 1983F " VERNIER SOFTWAREi " 2920 S.W. 89TH ST. " PORTLAND, OR 97225 "SELECT MODE: " " 0 = GENERAL INSTRUCTIONS" " 1 = DEMO OF ADDITION OF 2 WAVESBY THE TASC COMPILER:Y D! INTEGER J, M, SF, TF, EF, ST, X, ZE, MY, D, D2, M9, R, G, COt FD$(4): CONTROL D ND$;"BLOAD TEXT 2,A$800": BLOAD PAGE TWO OF TEXT d MAIN PROGRAM i: n MAIN PROGRAM s" WAVE ADDITION II> WAVE ADDITION IIA( COPYRIGHT 1983 - VERNIER SOFTWAREj2 2920 S.W. 89TH PORTLAND, OR 97225A THIS PROGRAM COMES WITH A 15 PAGE MANUAL EXPLAINING ITS OPERATION AND WITH SUGGESTIONS FOR USE IN SCIENCE CLASSES C THE LINE BELOW IS USED           AT THE PROGRAM WILL BE LOADED ABOVE THE HI-RES GRAPHIC SCREEN MEMORY daD$;"RUN WAVE ADDITION II"ja( E SUMB%buTWOPI23.1415: VALUE OF 2 PI TO BE USED IN CONVERSIONS%luZE0:MY159: CONSTANTS USED TO CHECK WHETHER THE POINT TO BE PLOTTED IS OFF THE SCREEN%vuR9: DEFAULT VALUE FOR NUMBER OF WAVES TO BE ADDED&{uG9: DEFAULT VALUE FOR NUMBER REEN TWO$&RJ14U$:R(4);"BLOAD G";J;",A$4000": LOAD A SCREEN OF INSTRUCTIONS}$DRQ$: WAIT FOR PRESS OF RETURN KEY$NRJ$U:$Hq$t ***** $0u INITIALIZE CONSTANTS%XuY(279),SY(279): INITIALIZE ARRAYS FOR Y VALUES OF A WAVE AND THPOSITION *** ":#.'3: SUMMATION IS ALWAYS DRAWN IN WHITEZ#3'0,80: PLOT STARTING POINTi#8'X0279Dy#L'YP80SY(X)#`'YPZEYPMY:X,80(SY(X))79:10100#j'X,YP#t'X#0*#* ***** # N DISPLAY GENERAL INSTRUCTIONS$R: CLEAR SC0.""F#J2R5"P#"ENTER AMPLITUDE OF HARMONIC #";JS"U#"(LIMITS 0 TO 50 UNITS)"]"Z#A(J)"_#A(J)50ĺ"AMPLITUDE TOO LARGE - REENTER":9040"d#F(J)F(1)J:P(J)0"n#"x#"' ***** "' DRAW SUPERPOSITION"':#$'" *** RESULT OF SUPERE SQUARED AMPLITUDE FUNCTION !& P(J2)0P(J)180: USE A 180 DEGREE DIFFERENT PHASE EACH TIME!+ P(J2)180P(J)0!0 J!"!'# ***** !(# ADDITION OF 9 WAVES!2#"<#"AMPLITUDE OF FUNDAMENTAL IS 4W ***** # X SQUARE WAVE DEMOH J3R2:USE ONLY ODD HARMONICSk 4F(J)F(1)J:A(J)A(1)J:P(J)0r HJx  ? ***** @ DEMO SYNTHESIS OF TRIANGLE WAVE  J3R2: USE ONLY ODD HARMONICSF! F(J)F(1)J:A(J)A(1)(JJ): INVERSTO THE FUNDAMENTAL. IF YOU";H"WANT TO SKIP A PARTICULAR HARMONIC,"k"ENTER ZERO AS ITS AMPLITUDE.qD"PRESS RETURN TO CONTINUE";Q$ko ***** p SAWTOOTH WAVE DEMO8J2RLF(J)F(1)J:A(J)A(1)J:P(J)0`J F"OF THIS IDEA (MODES 6-8). ALSO, YOU CAN";_P"TRY FORMING VARIOUS WAVE SHAPES YOURSELF";d"BY USING MODE 9. IN THIS MODE, YOU WILLx"NEED TO INPUT ONLY THE AMPLITUDE OF EACH";"HIGHER FREQUENCY WAVE. EIGHT HARMONICS"MAY BE ADDED ES THAT HAVE FREQUENCIES WHICH P2"ARE INTEGER MULTIPLES OF THE FUNDAMENTAL";z3"FREQUENCY. A WAVE WITH A FREQUENCY5"DOUBLE THE FUNDAMENTAL FREQUENCY IS 6"CALLED THE 2ND HARMONIC, ETC.7<"THIS PROGRAM INCLUDES 3 DEMONSTRATIONS.APPLICATION OF THEC "SUPERPOSITION PRINCIPLE WAS DEVELOPED BY";t"J. FOURIER. HE SUGGESTED THAT A PERIODIC";"WAVE OF ANY POSSIBLE SHAPE CAN BE "'SYNTHESIZED' BY ADDING HARMONICS""IN THE PROPER PROPORTIONS. HARMONICS("ARE WAVUENCIES."' F(2)13:A(2)40:P(2)1803 G2:R29 \ "PRESS RETURN TO CONTINUE";Q$bq *****  4 WAVE ADDITIONG4:R4h500: INPUT 0 *****  EXPLANATION OF FOURIER THEORY :"ONE INTERESTING RUNS NEEDED+G2: 2 RUNS TO BE GRAPHED@500: FOR INPUTFU ***** f BEATS DEMO "TO ILLUSTRATE HOW THE PHENOMENON KNOWN" "AS 'BEATS' OCCURS, LET'S ADD TWO WAVES "OF THE SAME AMPLITUDE, BUT SLIGHTLY  "DIFFERENT FREQPHASE ANGLE OF 0. ;L"LET'S ADD A WAVE OF FREQUENCY 20,"hV"AMPLITUDE 40, AND PHASE ANGLE OF 180."F(2)20:A(2)40:P(2)180G2:R2<F"PRESS RETURN TO CONTINUE";Q$Pl *****  2 WAVE ADDITION ROUTINE R2: 2YP80Y(X)>JG920: ONLY G WAVES ARE TO BE PLOTTED SYPZEYPMY920^ X,YPsSY(X)SY(X)Y(X)y === *****  WAVE ADDITION DEMO ROUTINE"THE FUNDAMENTAL HAS A FREQUENCY OF 10,""AMPLITUDE 40, AND A(J)(A(J)100.5)100: ROUND OFF b"FREQUENCY=";F(J);" AMP.=";A(J);" PHASE ANGLE=";P(J)PRP(J)57.3: CONVERT DEGREES TO RADIANSKTWOPIF(J)V: K IS WAVE NUMBER EF1KK2 ===X0279DY(X)A(J)(KXPR)  ***** / DRAW A COMPONENT WAVE dCOJ(J7)7: SELECT A COLOR BETWEEN 0 AND 7xCO: SET COLORCO4Ē1: THIS LINE AND THE ONE BELOW AVOID THE COLOR BLACKCO0Ē50,80: PUT A DOT AT START"WAVE # ";J(͠Ʋ͠ǠӠƠԠٍԠ͠Ʊ͠ǠӠƠԠٍԠ͠Ƴ͠ǠӠƠŠŠٍԍ͠Ʋ͠ǠӠƠŠŠٍԍ͠Ʊ͠ǠӠƠŠŠٍԍ͠Πō ͠Ϡō TER LINE (CHANGED TO 5 WITH EXPANDED SCALE)1'x='y *****OF WAVES TO BE DRAWNF&uD1: DETAIL SELECTION FOR DRAWING WAVES&uA(20),F(20),P(20): SET UP WAVE CHARACTERISTIC ARRAYS&uF(1)10:A(1)40:P(1)0: SET VALUES OF THE FUNDAMENTAL&uV800: WAVE SPEED+'uST10: SPACE BETWEEN TIC MARKS ON CEN ::(5)+" BINARYH" ******n:" COPYRIGHT 1983":" VERNIER SOFTWARE" 2920 S.W. 89TH ST." PORTLAND, OR 97225 "THIS PROGRAM DEMONSTRATES THE     3:HP,HP3VP6DZ(ȎHP,HP1VP3.ȱ;(ȍHP,VP6APȱHֲ (,VP6HP3LDZV`ǎHP,HP3VP:VP,VP6HP3:HP3,HPVP6:VP6,VPHP:HP,HP3VP3\tDZǎHP3,HPVP3:VP3,VPHP:HP,HP3VP:VP,VP6HP3DZǎHP,HP3VP:VP,VP6HP3:HP3,HPVP6:VP,VP6HPDZǎHP3,HPVP:VP,VP6HP:HP,HP3VPƱ0ƏVP,VP3HP:HP,HP3VP3:VP,VP6HP36Ʊ~ƎHP3,HPVP:VP,VP3HP:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6ƱǎHP3,HPVP:VP,VP3HP:HP,HP3VP3:VP3,VP6HP3:HP,HP3VP6:VP6,VP3HP$DZ 8ǏVP1,VPHP:HP,HP3VP:VPLOOPNCƲ LINES 50760 - 51280 CONTAIN THE INSTRUCTIONS FOR DRAWING EACH DIGIT`HƏVP,VP6HP1f\ƱpƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP:HP,HP3VP6ƱƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6 CASESMŭAC13HPHP2:50680: ONLY A LITTLE SPACE IS NEEDED FOR THE '.'mHPHP4: SPACE 4 FOR A '1'ŭHP35HP35: NEVER MOVE PAST HP 35 TO AVOID DRAWING 'OFF THE SCREEN' ƂCHƱƲ ============================ END OF DIGIT DRAWING  lŭAC3AC12: '-'. ŭAC2AC13: '.'X ŭAC1AC1350620: ILLEGAL CHARACTER ŴAC50760,50800,50840,50880,50920,50960,51000,51040,51080,51120,51160,51200,51240ŭAC12AC1HPHP6:50680: MOVE OVER 6 SPACES FOR THE NEXT LETTER IN MOSTT HORIZONTAL AND VERTICAL STARTING POSITIONSO IJ============================= Ų THE LOOP BELOW GOES THROUGH THE STRING DIGIT BY DIGIT AND DRAWS THEM ON THE SCREEN ŁCH1(PR$) 0ŪAC((PR$,CH,1))48 DŭAC0AC10: '0' XŭAC21AC11: 'E'THE LARGE PRINT SUBROUTINE# 440Y  *********************** END OF MAIN PROGRAMw Pò LARGE PRINT SUBROUTINE dò VARIABLES USED: PR$, HP, VP, AC, CH xÈ: ENTER LO-RES GRAPHICS à15: SET COLOR FOR LARGE PRINT LETTERS, êHP0:VP10: SE* "INCLUDING NEGATIVES AND SCIENTIFIC "W "NOTATION. ONLY THE FIRST SEVEN DIGITS "WILL BE DISPLAYED CLEARLY IN MOST CASES.   "ENTER A NUMBER" N PR$(N):50000: TRANSLATE THE NUMBER TO BE PRINTED TO A STRING, AND CALL "THIS IS A SHORT PROGRAM DEMONSTRATINGR "THE USE OF LARGE BLOCK NUMBERS WHICH ~ "ARE DRAWN WITH THE SUBROUTINE IN LINE "NUMBERS 50000 TO 60000. YOU MAY WANT "TO USE THIS SUBROUTINE IN YOUR OWN "PROGRAMS. MOST NUMBERS MAY BE DRAWN,J ), SAMPLE PROGRAM USING LARGE PRINT 16::@(5)ZE" LARGE PRINTzG" ***********H:J" VERNIER SOFTWARET" 2920 S.W. 89TH ST.^" PORTLAND, OR 97225 hr& |    ͠Ƴ͠ǠӠƠԠٍԠHP3,HPVP6:VP6,VPHP:HP,HP3VP3-tDZeǎHP3,HPVP3:VP3,VPHP:HP,HP3VP:VP,VP6HP3kDZǎHP,HP3VP:VP,VP6HP3:HP3,HPVP6:VP,VP6HPDZǎHP3,HPVP:VP,VP6HP:HP,HP3VP3:HP,HP3VP6DZȎHP,HP1VP3ȱ3ƱOƎHP3,HPVP:VP,VP3HP:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6UƱǎHP3,HPVP:VP,VP3HP:HP,HP3VP3:VP3,VP6HP3:HP,HP3VP6:VP6,VP3HP$DZ8ǏVP1,VPHP:HP,HP3VP:VP,VP6HP3LDZ'`ǎHP,HP3VP:VP,VP6HP3:RUCTIONS FOR DRAWING EACH DIGIT1HƏVP,VP6HP17\ƱpƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP:HP,HP3VP6ƱƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6ƱƏVP,VP3HP:HP,HP3VP3:VP,VP6HP SPACE IS NEEDED FOR THE '.'>HPHP5: SPACE 5 FOR A '1'ŭHP35HP35: NEVER MOVE PAST HP 35 TO AVOID DRAWING 'OFF THE SCREEN' ƂCHƱƲ ============================ END OF DIGIT DRAWING LOOPCƲ LINES 50760 - 51280 CONTAIN THE INSTHPHP5:50680: IF A "0" IS PRINTED ONLY STEP OVER 5 SPACES OR ALL EIGHT DIGITS ON A BINARY NUMBER MAY NOT FIT ACROSS SCREENŭAC12AC1HPHP6:50680: MOVE OVER 6 SPACES FOR THE NEXT LETTER IN MOST CASESŭAC13HPHP2:50680: ONLY A LITTLE0ŪAC((PR$,CH,1))48/DŭAC0AC10: '0'FXŭAC21AC11: 'E']lŭAC3AC12: '-'tŭAC2AC13: '.'ŭAC1AC1350620: ILLEGAL CHARACTERŴAC50760,50800,50840,50880,50920,50960,51000,51040,51080,51120,51160,51200,51240~ŭAC10Pò LARGE PRINT SUBROUTINE Edò VARIABLES USED: PR$, HP, VP, AC, CHrà15: SET COLOR FOR LARGE PRINT LETTERSIJ=============================Ų THE LOOP BELOW GOES THROUGH THE STRING DIGIT BY DIGIT AND DRAWS THEM ON THE SCREENŁCH1(PR$)GE DIGITS M4VP12:HP0: SET STARTING POSITION FOR DRAWING BINARY NOTATIONvHPR$B$:50000: DRAW BINARY NOTATION\VP22:HP14: SET STARTING POSITION FOR DRAWING DECIMAL NOTATIONfPR$(J):50000: DRAW DECIMAL NUMBER IN LARGE DIGITSz5vVP1,VP3HP1*VP1,VP3HP20M DRAW LAMP 'TURNED OFF'T0HP(7L)5: CALCULATE PLOTTING POSITION FROM NUMBER OF LAMPVP5VP1,VP3HP1VP1,VP3HP2   DRAW BINARY AND DECIMAL NOTATION IN LARRAW ALL EIGHT INDICATORS &2/VP5>HP0355NVP,VP4HP`HP,HP3VP4r&VP4,VPHP30HP3,HPVP:HPNX DRAW LAMP 'TURNED ON'b15lHP(7L)5: CALCULATE PLOTTING POSITION FROM NUMBER OF LAMP qVPB(NV): DIVIDE TO SEE IF THE DIGIT SHOULD BE A '1'B1B$B$"1":600:440: THIS DIGIT IS A "1" AND THIS LAMP SHOULD BE "ON"B$B$"0":700: THISDIGIT IS A "0" AND THE LAMP IS OFFNN(NV)V: CALCULATE REMAINDERL D:J: END OF COUNTING LOOP8 x100: REPEAT PROGRAM] , ERASE LARGE PRINT NUMBER AREA d @0r JVP1228 T0,39VP h   CALCULATE LAMPS 'ON' FOR A NUMBER B$"": INITIALIZE BINARY NOTATION STRING L701 V2L5 n400: CALCULATE THE BINARY NOTATION FORM OF THE NUMBER AND TURN ON THE APPROPRIATE LAMPS s800: DRAW OUT BINARY AND DECIMAL NOTATION tFLAGĺ"PRESS RETURN TO CONTINUE COUNTING, ANY":"OTHER KEY TO END COUNTING"::Q$:(Q$)13FLAG0 uFLAGR (0 TO 255)":"ENTER 256 TO START A COUNTING SEQUENCE":J fFLAG0: INITIALIZE A FLAG WHICH WOULD INDICATE COUNTING IS DESIRED gJ256FLAG1 hFLAGāJ0255: START COUNTING LOOP iJ256100: IMPROPER INPUT jNJ l300: CLEAR SCREEN\N OF 'ON' OR *"'OFF' LAMPS.R 2:"IF YOU ENTER THE NUMBER 256, THE PROGRAM"; 4"WILL BEGIN COUNTING THROUGH THE NUMBERS 6"FROM 0 TO 255. : <:" PRESS RETURN TO CONTINUE "::678 Z500: DRAW LAMP LOCATIONS _: d"ENTER A NUMBE BINARY3 "NUMBER SYSTEM. YOU ENTER A NUMBER IN_ "THE RANGE OF 0 TO 255 AND THE NUMBER ""WILL BE DISPLAYED IN BOTH DECIMAL AND $"BINARY FORM IN LARGE DIGITS. IN &"ADDITION, THE BINARY 'BIT' PATTERN WILL ("BE DISPLAYED IN A PATTERN$)0590: EXIT ROUTINE IF A '-' IS ENTERED EXCEPT AS THE FIRST CHARACTER (TO ALLOW FOR NEGATIVE ENTRY)(C$)47(C$)58560: IF A CHARACTER IS A NUMBER, ACCEPT INPUT !C$"-"C$"."560: ACCEPT OTHER POSSIBLE CHARACTERS WHICH COULD BE A PARTURN IS ENTERED, EXIT THIS ROUTINENC$(3)ij: END PROGRAM WITH CONTROL CC$"R"590: EXIT ROUTINE WITH 'R' SYMBOL AS RESTART MARKERC$"+"C$"*"C$"/"C$"="590: EXIT ROUTINE IF A MATH FUNTION IS ENTERED (ACCEPT AN '='iC$"-"( PRINT RESULT AT TOP OF SCREEN AS THE FIRST NUMBER360: START LOOP - THIS TIME WITH THE OLD RESULT AS THE NEW FIRST NUMBER GET NUMBER AND DISPLAY N$"": INITIALIZE N$:(21)"ENTER NUMBER "C$"C$(13)590: IF A REQ$"C"300: REPEAT MAIN LOOP UNLESS A 'C' IS ENTEREDN1(R$): SET THE VALUE OF THE FIRST NUMBER EQUAL TO THE OLD RESULTVP0:HP0: SET POSITION FOR DRAWING THE OLD RESULT AS THE NEW FIRST NUMBER: CLEAR SCREEN3PR$R$:50000:24: DRAW CALCULATION LINEOHP0:VP27: SET POSITION FOR DRAWING RESULTf700: DRAW RESULT::(24):" PRESS RETURN FOR NEW CALCULATION ";:" PRESS 'C' TO CONTINUE THIS CALCULATION ":Q$:Q$(3)ij: EXIT PROGRAM ON CONTROL C<9: SET POSITION TO DRAW MATH FUNCTION SIGNLr600: GET MATH FUNCTION~|HP0:VP16: SET POSITION FOR SECOND NUMBER500C$"R"300: IF ROUTINE WAS EXITED WITH 'R' N2(N$): DETERMINE THE VALUE OF THE SECOND NUMBER0,39PROGRAM DJHP0:VP0: START DISPLAYING DIGITS AT TOP LEFT CORNERlT: CLEAR SCREEN AND ENTER GRAPHICS^500: GET FIRST NUMBER`C$"R"300: IF ROUTINE WAS EXITED WITH 'R'cN1(N$): DETERMINE THE VALUE OF THE FIRST NUMBER/hHP0:VP"MATH FUNCTIONS : +,-,*,/ ONLY(T"IF YOU MAKE AN ERROR WHEN ENTERING A "NUMBER AND WISH TO START THE CALCULATION";"OVER, PRESS THE 'R' KEY (FOR RESTART).!:":" PRESS RETURN TO BEGIN CALCULATIONS "::678, MAIN OLVING MORE 0 "THAN TWO NUMBERS CAN BE DONE.8 :q :" PRESS RETURN CONTINUE INSTRUCTIONS "::678 :"THIS CALCULATOR HAS THE FOLLOWING "LIMITATIONS:  "NUMBER RANGE: -1E38 TO 1E38 "DISPLAY : FIRST SEVEN DIGITS ONLY""CALCULATION IN ANOTHER CALCULATION, YOU"Y "SHOULD PRESS THE 'C' KEY WHEN THE FIRST "CALCULATION IS COMPLETE. THIS WILL "CAUSE THE RESULT TO BE TAKEN AS THE "FIRST NUMBER OF THE NEW CALCULATION. IN"; "THIS WAY COMPUTATIONS INV '/' KEY IS USED FOR DIVISION.O "NEGATIVE NUMBERS MAY BE ENTERED BY USING";} "THE '-' KEY AS THE FIRST CHARACTER OF A "NUMBER. SCIENTIFIC NOTATION MAY BE " "ENTERED USING THE 'E' KEY. "IF YOU WANT TO USE THE RESULT OF ONE + YOU WOULD3 x"ANY ALGEBRAIC (NOT RPN) CALCULATOR.d }"FOR EXAMPLE, IF YOU WANT TO ADD 3 AND 4,"; "PRESS THE FOLLOWING KEYS: "; :"3";::" ";::"+";::" ";::"4";::" ";::"=": "THE '*' KEY IS USED FOR MULTIPLICATION, "AND THES THE COMPUTER TO BEE "USED AS A FOUR FUNCTION CALCULATOR, WITH";q "ALL NUMBERS AND SYMBOLS DISPLAYED IN ""LARGE PRINT. : <:" PRESS RETURN FOR INSTRUCTIONS "::678 d INSTRUCTIONS n s"USE THE COMPUTER KEYBOARD AS  ::(5)." CALCULATOR"M" **********s:" COPYRIGHT 1983":" VERNIER SOFTWARE" 2920 S.W. 89TH ST." PORTLAND, OR 97225::: "THIS PROGRAM ALLOW              (ȍHP,VP6Pȱֲ VVER ONLY FIVE SPACES FOR EACH TIC MARK IN EXPANDED MODE[k DRAW TIC MARKS ON CENTER LINEllM90270STqM9,82M9,78: SCALES MARKSrM9s DRAW TIC MARKS ON VERTICAL SCALEtM9016010u0,M94,M9: VERTICAL MARKSvM9 IMUM AMPLITUDE=80)";(5F(J),A(J),P(J)i7F(J)80A(J)80ĺ"TOO LARGE A VALUE ENTERED - REENTER":550p:JvNS ***** X DRAW BACKGROUND_3b0,80279,80: DRAW CENTER LINEg0,00,159: VERTICAL LINE7iEF1ST5: STEP OFIRST WAVE (FUNDAMENTAL) WILL"6"HAVE THE VALUES:"f"FREQUENCY= 10 AMPLITUDE=40 PHASE ANGLE=0" INPUT VALUES FOR OTHER WAVESJ2R&"SELECT VALUES FOR WAVE #";J;":"0"FREQUENCY, AMPLITUDE, PHASE ANGLE"3"(MAXIMUM FREQ.=80; MAXVP6 "Pȱ"ֲ Hֲ HVP6:VP6,VPHP:HP,HP3VP3%!tDZ]!ǎHP3,HPVP3:VP3,VPHP:HP,HP3VP:VP,VP6HP3c!DZ!ǎHP,HP3VP:VP,VP6HP3:HP3,HPVP6:VP,VP6HP!DZ!ǎHP3,HPVP:VP,VP6HP:HP,HP3VP3:HP,HP3VP6!DZ!ȎHP,HP1VP3!ȱ"(ȍHP,G ƎHP3,HPVP:VP,VP3HP:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6M Ʊ ǎHP3,HPVP:VP,VP3HP:HP,HP3VP3:VP3,VP6HP3:HP,HP3VP6:VP6,VP3HP $DZ 8ǏVP1,VPHP:HP,HP3VP:VP,VP6HP3 LDZ!`ǎHP,HP3VP:VP,VP6HP3:HP3,HP FOR DRAWING EACH DIGIT)HƏVP,VP6HP1/\ƱwpƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP:HP,HP3VP6}ƱƎHP,HP3VP:VP,VP3HP3:HP3,HPVP3:VP3,VP6HP3:HP3,HPVP6ƱƏVP,VP3HP:HP,HP3VP3:VP,VP6HP3ƱNEEDED FOR THE '.'5HPHP4: SPACE 5 FOR A '1'ŭHP35HP35: NEVER MOVE PAST HP 35 TO AVOID DRAWING 'OFF THE SCREEN' ƂCHƱƲ ============================ END OF DIGIT DRAWING LOOPCƲ LINES 50760 - 51280 CONTAIN THE INSTRUCTIONSC1350620: ILLEGAL CHARACTERtŴAC50760,50800,50840,50880,50920,50960,51000,51040,51080,51120,51160,51200,51240ŭAC12AC1HPHP6:50680: MOVE OVER 6 SPACES FOR THE NEXT LETTER IN MOST CASESŭAC13HPHP2:50680: ONLY A LITTLE SPACE IS =====================nŲ THE LOOP BELOW GOES THROUGH THE STRING DIGIT BY DIGIT AND DRAWS THEM ON THE SCREENŁCH1(PR$)0ŪAC((PR$,CH,1))48DŭAC0AC10: '0'XŭAC21AC11: 'E'lŭAC3AC12: '-'ŭAC2AC13: '.'ŭAC1A DISPLAYING RESULTUR$(R$,7): ONLY PRINT THE FIRST SEVEN DIGITS OF THE RESULTzPR$R$:50000: DISPLAY RESULTSPò LARGE PRINT ROUTINE dò VARIABLES USED: PR$, HP, VP, AC, CHà15: SET COLOR FOR LARGE PRINT LETTERSIJ========( CALCULATE AND DISPLAY RESULT EM$"+"R$(N1N2):760bM$"-"R$(N1N2):760M$"*"R$(N1N2):760M$"/"N20R$".......":760: AVOID DIVISION BY 0 ERRORSM$"/"R$(N1N2):760HP0:VP26: SET POSITION FORIT ROUTINE<M$"-"ĎHP,HP4VP2:690: DRAW '-' SIGNM$"*"āJ04:HPJ,VPJ:J:J04:HPJ,VP4J:J:690: DRAW 'X' SIGNM$"/"ĎHP,HP4VP2:HP2,VP:HP2,VP4:690: DRAW '/' SIGN"IMPROPER SIGN, ENTER AGAIN ":610TH FUNCTION CHARACTER HAS ALREADY BEEN ENTERED, THEN SKIP THE MATH FUNCTION SECTION HERE^_b"ENTER MATH FUNCTION (+,-,*, OR /) "lM$qM$(3)ij: EXIT PROGRAM ON CNTRL C vM$"+"ĎHP,HP4VP2:VP,VP4HP2:690: DRAW '+' SIGN AND EX+,-,*,/, OR =)": ADD MESSAGE TO REMIND USER THAT MATH FUNCTIONS MAY BE TYPED NOWD520: REPEAT LOOP TO GET THE NEXT DIGIT OF THE NUMBER N(N$)0ī500SX DRAW MATH FUNCTION X]C$(13)M$C$:630: IF A MAT OF A NUMBERT#C$"E"(N$)0560: ACCEPT AN 'E' EXCEPT AS THE FIRST CHARACTER&" ILLEGAL CHARACTER, REENTER ":512: REPEAT LOOP0PR$C$:50000: DISPLAY DIGIT IN LARGE PRINT:N$N$C$: ADD DIGIT TO STRINGRB(22):"OR MATH FUNCTION (=%buTWOPI23.1415: VALUE OF 2 PI TO BE USED IN CONVERSIONS%luZE0:MY159: CONSTANTS USED TO CHECK WHETHER THE POINT TO BE PLOTTED IS OFF THE SCREEN%vuR9: DEFAULT VALUE FOR NUMBER OF WAVES TO BE ADDED&{uG9: DEFAULT VALUE FOR NUMBER OF WATWO$&RJ14P$:R(4);"BLOAD G";J;",A$4000": LOAD A SCREEN OF INSTRUCTIONSx$DRQ$: WAIT FOR PRESS OF RETURN KEY$NRJ$U:$Hq$t ***** $0u INITIALIZE CONSTANTS%XuY(279),SY(279): INITIALIZE ARRAYS FOR Y VALUES OF A WAVE AND THE SUMION *** "5#.'3: SUMMATION IS ALWAYS DRAWN IN WHITEU#3'0,80: PLOT STARTING POINTd#8'X0279Dt#L'YP80SY(X)#`'YPZEYPMY:X,80(SY(X))79:10100#j'X,YP#t'X#0*#* ***** # N DISPLAY GENERAL INSTRUCTIONS$R: CLEAR SCREEN "F#J2R0"P#"ENTER AMPLITUDE OF HARMONIC #";JN"U#"(LIMITS 0 TO 50 UNITS)"X"Z#A(J)"_#A(J)50ĺ"AMPLITUDE TOO LARGE - REENTER":9040"d#F(J)F(1)J:P(J)0"n#"x#"' ***** "' DRAW SUPERPOSITION"': #$'" *** RESULT OF SUPERPOSITARED AMPLITUDE FUNCTION !& P(J2)0P(J)180: USE A 180 DEGREE DIFFERENT PHASE EACH TIME!+ P(J2)180P(J)0!0 J!"!'# ***** !(# ADDITION OF 9 WAVES!2#!<#"AMPLITUDE OF FUNDAMENTAL IS 40." *****  X SQUARE WAVE DEMOC J3R2:USE ONLY ODD HARMONICSf 4F(J)F(1)J:A(J)A(1)J:P(J)0m HJs  ? ***** @ DEMO SYNTHESIS OF TRIANGLE WAVE  J3R2: USE ONLY ODD HARMONICSA! F(J)F(1)J:A(J)A(1)(JJ): INVERSE SQUE FUNDAMENTAL. IF YOU";C"WANT TO SKIP A PARTICULAR HARMONIC,"f"ENTER ZERO AS ITS AMPLITUDE.lD"PRESS RETURN TO CONTINUE";Q$ko ***** p SAWTOOTH WAVE DEMO8J2RLF(J)F(1)J:A(J)A(1)J:P(J)0`J W F THIS IDEA (MODES 6-8). ALSO, YOU CAN";ZP"TRY FORMING VARIOUS WAVE SHAPES YOURSELF";d"BY USING MODE 9. IN THIS MODE, YOU WILLx"NEED TO INPUT ONLY THE AMPLITUDE OF EACH";"HIGHER FREQUENCY WAVE. EIGHT HARMONICS"MAY BE ADDED TO THAT HAVE FREQUENCIES WHICH K2"ARE INTEGER MULTIPLES OF THE FUNDAMENTAL";u3"FREQUENCY. A WAVE WITH A FREQUENCY5"DOUBLE THE FUNDAMENTAL FREQUENCY IS 6"CALLED THE 2ND HARMONIC, ETC.7<"THIS PROGRAM INCLUDES 3 DEMONSTRATIONS)F"OCATION OF THE> "SUPERPOSITION PRINCIPLE WAS DEVELOPED BY";o"J. FOURIER. HE SUGGESTED THAT A PERIODIC";"WAVE OF ANY POSSIBLE SHAPE CAN BE "'SYNTHESIZED' BY ADDING HARMONICS""IN THE PROPER PROPORTIONS. HARMONICS("ARE WAVES THES."" F(2)13:A(2)40:P(2)180. G2:R24 W "PRESS RETURN TO CONTINUE";Q$]l *****  4 WAVE ADDITIONG4:R4h500: INPUT 0 *****  EXPLANATION OF FOURIER THEORY : "ONE INTERESTING APPLI NEEDED&G2: 2 RUNS TO BE GRAPHED;500: FOR INPUTAP ***** a BEATS DEMO "TO ILLUSTRATE HOW THE PHENOMENON KNOWN" "AS 'BEATS' OCCURS, LET'S ADD TWO WAVES "OF THE SAME AMPLITUDE, BUT SLIGHTLY "DIFFERENT FREQUENCI ANGLE OF 0. 6L"LET'S ADD A WAVE OF FREQUENCY 20,"cV"AMPLITUDE 40, AND PHASE ANGLE OF 180."F(2)20:A(2)40:P(2)180G2:R2<F"PRESS RETURN TO CONTINUE";Q$Pl *****  2 WAVE ADDITION ROUTINER2: 2 RUNS0Y(X)9JG920: ONLY G WAVES ARE TO BE PLOTTED NYPZEYPMY920Y X,YPnSY(X)SY(X)Y(X)t~ === *****  WAVE ADDITION DEMO ROUTINE"THE FUNDAMENTAL HAS A FREQUENCY OF 10," "AMPLITUDE 40, AND PHASE(A(J)100.5)100: ROUND OFF ]"FREQUENCY=";F(J);" AMP.=";A(J);" PHASE ANGLE=";P(J)PRP(J)57.3: CONVERT DEGREES TO RADIANSKTWOPIF(J)V: K IS WAVE NUMBER EF1KK2 ===X0279DY(X)A(J)(KXPR)YP8 ***** * DRAW A COMPONENT WAVE _COJ(J7)7: SELECT A COLOR BETWEEN 0 AND 7sCO: SET COLORCO4Ē1: THIS LINE AND THE ONE BELOW AVOID THE COLOR BLACKCO0Ē50,80: PUT A DOT AT START"WAVE # ";J#A(J)͠Ʋ͠ǠӠƠԠٍԠ"͠Ʊ͠ǠӠƠԠٍԠ"͠Ƴ͠ǠӠƠŠŠٍԍ"͠Ʋ͠ǠӠƠŠŠٍԍ"͠Ʊ͠ǠӠƠŠŠٍԍ"͠Πō" ͠Ϡō" INE (CHANGED TO 5 WITH EXPANDED SCALE),'x8'y *****VES TO BE DRAWNA&uD1: DETAIL SELECTION FOR DRAWING WAVES}&uA(20),F(20),P(20): SET UP WAVE CHARACTERISTIC ARRAYS&uF(1)10:A(1)40:P(1)0: SET VALUES OF THE FUNDAMENTAL&uV800: WAVE SPEED&'uST10: SPACE BETWEEN TIC MARKS ON CENTER L