#ė€V‚Ąƒ*…•†ˆk‰ÖŠAŒ«‚ī‘X“Ā”.–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÉ=NNNNNNNNNNNNNNNNNNNNNN”””ū€MAN_EX!‡7gż’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žś NNNNNNNNNNNNNNNNNNNNNNž”””ūį"’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÆ_NNNNNNNNNNNNNNNNNNNNNNš”””ūREVID ‡B€Activate éP‡Q€ €Animation éP‡W€ €BACKGROUNDéP‡€ €BAR_KNOB éP9 ‡€ €Bar_code éPB‡€ €Button_boxéPF‡ € €CDials éPL ‡%€ €Ēź’óNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žœnNNNNNNNNNNNNNNNNNNNNNN”””ūCIRCLES éPU‡0€ €CScale éPj‡6€ €CharCell éPm ‡B€ €Contour éPv&‡I€ €Csize éPœ‡U€ €DITHER_PALéP£ ‡€ €DumpGraph éP¬‡€ €Gdu éP“‡€ €øÕ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žłNNNNNNNNNNNNNNNNNNNNNNš”””ūGray_Map éP¼‡ € €Gstore éPÕ‡)€ €HIL_ID éPō‡7€ €ID_MODULE éP‡E€ €InputSong éP‡S€ €Iplot éP$ ‡€ €KBD_ICONS éP0‡ € €Label éPM‡€ €\ó’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž6ČNNNNNNNNNNNNNNNNNNNNNN”””ūLdir éPT‡!€ €Lem1 éPZ ‡'€ €Lem2D éPf$‡6€ €Lorg éPЇB€ €MARQUEE éP’‡H€ €Mul_press éP„ ‡T€ €Multi_dev éP® ‡€ €NEW_MODELSéPŗv‡€ €š’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žc›NNNNNNNNNNNNNNNNNNNNNN”””ūOdeToJoy 0‡$€Pause éP2‡7€ €Pen éP9‡E€ €Pie_Chart éPK&‡T€ €RIPPLES éPq ‡€ €Rplot éPz‡€ €SET_COLOR éPŒ‡$€ €STEREO éP«6‡6€ €ÜŖ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žPŖNNNNNNNNNNNNNNNNNNNNNN”””ūSTORM éPįB‡I€ €Scale éP#‡ € €Scenery éP)‡ € €Show éPC‡ $€ €SinAxes éPK ‡ 4€ €SinGrdAxeséPX ‡ E€ €SinLabel éPe ‡ U€ €SinLabel2 éPn ‡!€ €Śµ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž@”NNNNNNNNNNNNNNNNNNNNNN”””ūSinViewprtéPx‡!€ €SoundArrayéP~‡!1€ €SoundInstréP’‡!P€ €Surface éP•.‡"€ €Symbol éPƇ"€ €Touch_plotéP܇"0€ €FONT_ED ā=‡"E€ ’’ż7’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž s„NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž &öNNNNNNNNNNNNNNNNNNNNNNš”””ū TŁ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĒNNNNNNNNNNNNNNNNNNNNNN”””ū TŁžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŒPNNNNNNNNNNNNNNNNNNNNNNš”””ū TŁžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž æaNNNNNNNNNNNNNNNNNNNNNN”””ū TŁNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žź2NNNNNNNNNNNNNNNNNNNNNNš”””ū TŁ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŁNNNNNNNNNNNNNNNNNNNNNNš”””ū TŁ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%NNNNNNNNī€Y‚ă/…š†ˆp‰ŪŠGŒ“ Œ÷‘a“Ģ”6–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž »`NNNNNNNNNNNNNNNNNNNNNN”””ū@ bµ!Žń·³@ lµ!Žņ»T³Ž@v“Ž’ąҳŽ@ €ŗ³Ž@ н³ŽŠhĄ/’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ˆQNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’@@ĀĀ’’’’äĄ Z’’ R¢0"¶Š0²œ€’’’čEś"’’ž€ "’’ż"’’ūų| 0šÅś00ŚZ’’ūäˆ@ Ę <@ ’’’¼F D@ ūV@ ū@ ’ū`@" ūn ’’ūāū@ ūt@ ūz@ ū|@ ’’’ļū‚@ Ń’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŻNNNNNNNNNNNNNNNNNNNNNN”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’éūŖ@ ’’’čB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲ@ ’’’āūā@ ūź@ ūš@ !ūö@ "ūž@ #ū@ ’’’Üū @ %ū@ &ū@ 'ū @ (ū$@ )ū.@ ’’’Öū8@ +ūDŹB’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žī3NNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’’ŠūnP ’’’’’ūt@ ’ūz@ 3ū†@ 4BŠP ’’’’’ū–@ ’’’Źūš@ ’’’ÉB @ ’’’Čū¦@ ’’’ĒDš¬@ ’’’ĘB¶@";ū¼P ’’’’’ūÄP ’’’’’ūŹP ’’’’’ūŠP ’’’’’ūÖP ’’’’’ūąP ’’’’’ūę@ Būī@ Cūō@ DūüP ’’’’_Ż’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žž NNNNNNNNNNNNNNNNNNNNNN”””ū:10 ! Series 200/300 BASIC 5.0 Manual Examples Programs!20 ! Part Number 98616-10206 30 ! Date: 4/ 8/87540 ! Copyright Hewlett-Packard Company, 1981,1987 50 ! All Rights Reserved’’yŌžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĶ@ ’’’B –VP ’’’’ –œ@ ’’’@żb@ ’’’>Ŗ€P ’’’’Ŗ$t@ ’’’<ł†@ ’’žŠłz@!ˆŖ$@ –Œ@ *$¦P ’’ߌ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž˜oNNNNNNNNNNNNNNNNNNNNNN”””ū’’ –°@ –Ā@ ’’’4*$@"’’’ ź@ –Ü@ *$ų@ – Response$ Key_serviceLoopēėžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž«^NNNNNNNNNNNNNNNNNNNNNNš”””ū@ d»@³@8 n‘µ2Ž)Do you want to activate the Function Box?Ÿ„³@ 8x‘µ2Ž Enter Yes or No.Ÿ„³@ ‚½ µ2½¤³Ž@ŒżĄµŽyńŽ·P³Ž@ –ƒ»'»{»5³@  G¤žiNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž2ÉNNNNNNNNNNNNNNNNNNNNNN”””ūˆ»(’½³Ž@B Ŗ›µ!Žн£µ"+The status light is on and keys are active.¤³Ž@B“øŽŗ³Ž@ ¾ƒ»'»u»5³@  Č»)³@F Ņ›µ!Žн£µ"0The status light is off and keys are not active.¤³@Fܹ³Ą  ę–³Ž@ š½³Ž@ ś¶Ž³Ž@ĀĀ’’’H!7’ēżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žųNNNNNNNNNNNNNNNNNNNNNN”””ū’’ްnøn° Ž’ś@ ’ś@ ’ś@ ’ś@ ’ś Key_service³Ž@" ›µ2ŽKey_service called.¤³Ž@"±³L'’ōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žT«NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’N@ĀĀ’’’’ł²0’’v<ęFę:0lĘ D€’’’ŲF 0VĘ P€’’’ŠF €’’’ČF 4€’’’ĄF €’’’øF *€’’’°F 0BĘ >!’’üą€’’üŲF \€’’üŠF f@ refStar Position DirectiofDiameteRadiusUsedŽž’ōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žgšNNNNNNNNNNNNNNNNNNNNNNš”””ūPenStarPosition DirectionDiameterStars Circles_in Circles_out Selection Max_radius@  »"³@ Ąµ"ŽINTERNAL»I³@µ! ėµ!Ž µ! ėµ!Ž »³@ (»³@ 2»³@ < ³@ F ¬Ž³Ž@ P» ³@~’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žw¤NNNNNNNNNNNNNNNNNNNNNN”””ū Zµ!€€€»M³@ d‚µ!°’šL³Ž@ n»M³Ž@ xź€€€»M³Ž@ ‚“Ž’š³Ž@ Œ»M³Ž@–»Žš³ŽĄL ¶Ž>--------------------------------------------------------------³Ž@LŖµ!ސ³@ “³@ ¾» ³@ Č»H³Ž@ Ņ»D»­’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž D•NNNNNNNNNNNNNNNNNNNNNN”””ūB»>³@  ܁萳@ ęµ!Žń·³@ šµ(?īfffffg쐳Ž@śµŽ?¹™™™™™šó»ڳŽ@ ŗ³ŽĄJ ¶Ž=-------------------------------------------------------------³@Jµ!ސ³@"µ!ސ³@ ,» ³@ 6»H³Ž@ @»D»B»>³@  Jź³@`ÓžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĘNNNNNNNNNNNNNNNNNNNNNN”””ū T€ń·µ!ސ³@ ^µ(?īfffffg쐳Ž@hµŽ?¹™™™™™šó»ƳŽ@ rŗ³ŽĄP |¶ŽB -----------------------------------------------------------------³Ž@P†¼ %g¤³@ Ī€»{»y³@ š»)³@ ¤µ!2°’ą0³Ž@  ®» ³@ øæµ8Ž@v€ģæą`žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž "÷NNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@ Ā Ēś»ŽܳŽ@  Ģ ǁ³@ Öæƒģ³Ž@ ąæµ!Žģæč³Ž@ ź …æˆģ萳Ž@  ō» ³@ žæģæģ»³@  »³Ž@ »H³Ž@  ó·Ŗ³Ž@  &€€» ³@ 0øŽгŽ@ :»Dµ?tzįG®{숻B»>³@ D¹³@ Nµ8?šĢĢĢĢĢĶ쐳Ž@  Xč³Æ…’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚ă/…š†ˆo‰ŚŠDŒ­ģ‘X“Ä”/–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž6 NNNNNNNNNNNNNNNNNNNNNN”””ūTransformation Connectivity InitializeKnob_isr Connectivity M—žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ūaster_cubeTrigSineCosineCubeOld_cubeTemp1Temp2PointCube@"¶Ž RE-STORE "BACKGROUND"³Ž@ "»@³@. ›µŽPress SPACEBAR to exit program.¤³Ž@ .›„³Ž@& ›µŽPress ENTER to continue.¤³@ &½ ¤³Ž@ »@³@‚ģ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž PBNNNNNNNNNNNNNNNNNNNNNN”””ū  »’½³Ž@* ¼ ¶Ž* Arrays start at 1 by default³@.*¼d„ Ž€ €£ Ž€€£ Ž€€¤³@4.¼dŽ)Ž€€¤¶* How to connect the points?³@<4(¼’’’’d¦d§Žg£dØg¤¶0 Faster than calculation³Ž@F<2¼d© Ž€ €£dŖ € €£dŒ €€Æé’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž csNNNNNNNNNNNNNNNNNNNNNN”””ū£d« €€£d¬ €€¤³@F<¼ € €¤³@"F¼ !¤¶* Speed up plotting³Ž@,"P»)¶* So trig arrays are in degrees³Ž@,Zd“•¶* Set up program³@:dµ?©™™™™™š»+’d—½¶* Change angle from top (phi)³Ž@::nd«Ī»|»y¶*& \ Both transformation maöÕ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž śäNNNNNNNNNNNNNNNNNNNNNN”””ūtrices start³Ž@6:xd¬Ī»|»y¶*# / start out as identity matrices.³@6‚» ¶* forever³Ž@ Œ‚ļč³@  –»³Ž@  ‚ļčüė»H³Ž@ Ŗd«ČRdØĒ¶Ž* \³Ž@4 “ƒd«ČRd§Ē됶* \ Rotate the cube around the³@"4 ¾ƒd«ČRd§Ē¶Ž* / Y-axis.³Ž@" ȃƒd«ČRKŽ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ÉÕNNNNNNNNNNNNNNNNNNNNNN”””ūdØĒ¶Ž* /³Ž@ Ņ‚‚d¬ČNdØĒ¶Ž* \³Ž@4 ܂ƒd¬ČNd§Ē됶* \ Rotate the cube around the³@"4 ꃂd¬ČNd§Ē¶Ž* / X-axis.³Ž@" šƒƒd¬ČNdØĒ¶Ž* /³Ž@: śdŒĪd«Īd¬Ī»„»y¶* Concatenate the transformations³Ž@: Īd©Ī»z»y³@0 d©Īd„ĪdŒĪ»„»y¶1 Modify th‘ó’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žœ†NNNNNNNNNNNNNNNNNNNNNN”””ūe data array³Ž@60 ‘µ2ŽPhi:ŸN¤¶* How many degrees from vertical³@:6 "RR…čüµ1ŽhŽ*# Cause cube to be rotated next time³@ : ,»³Ž@ 6Ą…»J³Ž@ @ µ!°’üą³Ž@ Jd­ dŽČ³Ž@ Td­d©Čd­‚d©Č ‚dŽČ»&³@ ^“Ž ’ü¢³Ž@ hń· ³Ž@ÆŖžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÆ·NNNNNNNNNNNNNNNNNNNNNNš”””ū rĶ»M³@ |øŽ"³Ž@ †Ķ»M³@ ¹³@ š‚ļčü뻳Ž@ ¤Ą„»J³Ž@ ® µ!°’ų”³Ž@ ød­ dŽČ³Ž@ Ād­Čd­‚Č ‚dŽČ»&³@ Ģ“Ž ’ųX³Ž@,Ö»ŽN¶Ž* End of rotate/draw loop³ŽĄL,ą—¶Ž> -----------------------------------’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žæ‰NNNNNNNNNNNNNNNNNNNNNN”””ū’ūP ’’’’’ūP ’’’’’ūP ’’’’’ū @ Iū @ JB@ Kū@ ’’’“ū @ Mū.€’’ūŚū8@ Oū<@ PūB@ QūR€’’ūŅū\@ Sūb@ Tūd@ Uūp@ Vūt@ Wūx@ ’’’Øū„@ Yūˆ@ ZūŒ@ [’ū’@"\B–@ ]ū¢@ ’’’¢ūØ@ ų’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŒøNNNNNNNNNNNNNNNNNNNNNNž”””ū’’’”B®@ ’’’ ūø@ ’’’ŸDš¾P ’’’’’ūĀP ’’’’’ūČP ’’’’’ūŅP ’’’’’ūŲ@ ’ūÜ@ ’’’™ūä@ ’ūź@ iūš@"jBö@ kū@ lB@ ’’’“ū @ ’’’’Dš@ oū@ pū"@ qū.P ’’’’B2@ sū6P ’’’’B<@ u’ūB@ vBF@ wūL@"xBHõ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŁėNNNNNNNNNNNNNNNNNNNNNN”””ūR@"yū`@"’’’†Dšj@ ’’’…BZ@ |ūt@ }ūx@ ~ū€@ ū†@ €ūˆ@!ø’ūT@ ‚ūŽ@"ƒū@ „ū–@ ’ūž@!Ś’ūō@"’’’yūØ@ ˆū²@ ‰ūŗ@ ’ūĄ@!Ō’ū–"’’ūRXŹ@ ’’’sBŚ"’’ū$č@ Bö@ ūü@ ‘Dš@ Ś.’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žźŚNNNNNNNNNNNNNNNNNNNNNN”””ū’ū0œB @ ”ū,P ’’’’B8@ –ūD0ĄBN@ ˜ūXP ’’’’B`@ ’ūh@ ›ūt@ œūx@ ’ū|@ žūˆ@ ’’’aūŒ@ ’ū@ ”ū @ ¢ū¤@ ’ūØ02’ū“"’’łīĀ –’ūĪ!@ 0Ō!@8Ś"’’ųĪ@ā"’’÷®Lč"’’÷.dņ/ßžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žsMNNNNNNNNNNNNNNNNNNNNNN”””ū"’’ö®pų€’’ö¦ūž0J’ūLdestinatiof$FNAskGeessageBPABIOldCmapExitQ$6ļ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž@|NNNNNNNNNNNNNNNNNNNNNN”””ūį"’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž/NNNNNNNNNNNNNNNNNNNNNN”””ūPhiTheta5š’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž&NNNNNNNNNNNNNNNNNNNNNN”””ūį"’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚ă.…˜†ˆi‰ŃŠ:Œ¤yä‘M“·”–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žD}NNNNNNNNNNNNNNNNNNNNNN”””ū@"ų¹³@2R€¶*% \ Looking toward the cube at origin³@"2 N€¶* / from the +y axis³ŽĄ" ®¶Ž ³Ž@J ¼ . -1,-2,-3, 1,-2,-3, 1,2,-3, -1,2,-3 ¶Ž: bottom face³Ž@FJ*¼ . -1,-2,3, 1,-2,3, 1,2,3, -1,2,3 ¶Ž: top face³@JF4€’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žwLNNNNNNNNNNNNNNNNNNNNNN”””ū¼ . 0,0,0 ¶Ž: center point³Ą>J>¤¶Ž0 First column: next point; Second column: Draw?³Ž@P>H¼ D 1,-2, 2,-1, 3,-1, 4,-1, 1,-1, 5,-1, 6,-1, 7,-1, 8,-1, 5,-1, 9,-1,³Ž@0PR¼ % 2,-2, 6,-1, 3,-2, 7,-1, 4,-2, 8,-K'’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž"NNNNNNNNNNNNNNNNNNNNNN”””ū1³Ą0 \¶Ž ³Ž@Bf¼ 6 0,1,0, 0,0,0, 0,1,0, .3,.3,.3, 0,1,0, .3,.3,.3, 0,1,0³Ž@BBp¼ 7 0,0,1, 0,1,0, 0,0,1, 0,1,0, 0,0,1, 0,1,0, 0,0,1, 0,1,0³@BBz¼ 6 0,0,0, 0,1,0, 0,1,0, .3,.3,.3, .3,.3,.3, 0,1,0, 0,1,0³Ž@BB„¼ 7 0,0,1, 0,0,1, 0,1,0, 0,1,0, 0,0­‡’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž.NNNNNNNNNNNNNNNNNNNNNN”””ū,1, 0,0,1, 0,1,0, 0,1,0³@*BŽŗ¶Ž* Go back, young man, go back!³Ą * »³@ Ąµ2ŽINTERNAL»I³@  ’»@³@< “‘µ2Ž.You are returned to the BASIC language system.¤³@<˜½¶Ž* Finish³  hhD @h @ÅV’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žNNNNNNNNNNNNNNNNNNNNNNž”””ūh    €€€  € €ˆ€0€ €.€€6€€€@ €€>€€€p€HT@€ €*€€p€€€‚€€€N€€€\€€<€N€€€’ž¢’’ė|’’裸’ōš’’ōÖ’’õ’’õj’’üŖŅé‚T€€€,Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­»¼’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 2!NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’v@ĀĀ’’¬P’’l š|¬š¬0„Åśą$Vā|\€’’’Č;퀒’’Ąū€’’’øū@ d0¬ÄJ"0T’ü>€’’’°ū.@ ’ū8@ ’’’õū@0øÄJFĀ’ūLvce Knob_sbvce Old_develFNSwapExitņ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž grNNNNNNNNNNNNNNNNNNNNNN”””ūIChangeLevelHere Knob_srvce Old_levelAbortExitFNProundAbortExit@2 ¶Ž& "BAR_KNOB" Interactive graphics demo³Ž@,2¶Ž updated 1/12/87 for Series 300³Ž@,µŽAbort½½’½³Ž@ (€³@ •qžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž TCNNNNNNNNNNNNNNNNNNNNNN”””ū2€³@ <»@¶- Clear the screen³@ F»"³@ P»³@ Z»³@ d»³@ n…µ!Ž_»³@2x» µ"Ž!Rotate knob to fill in bar graph.¤³Ž@2‚…µ!Ž\»³@*Œ» µ"ŽPress softkey 1 to abort.¤³Ž@*–€µ1ސµ!ėµ1Žx»³@ µ1“€»³Ž@Ŗµ1“µH@Yz’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĶŌNNNNNNNNNNNNNNNNNNNNNN”””ū »³@“µ1ܵH@Y »³@¾µ1܀»³Ž@ȵ1“€»³Ž@ Ҷ޳Ž@ ܈»³Ž@ 怋а’š²³Ž@ šµ1³»³Ž@ ś» µ2ŽK,"-"œž¤³@“Ž’šx³Ž@ €³@ µ1Ȋ뻳@ "…»³Ž@ ,» µ2ŽDDD.Dœž¤³@ 6‚»³Ž@ @µ1ܵ!P’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž žåNNNNNNNNNNNNNNNNNNNNNN”””ū»³@&J» µ2ŽKœžµ2Ž - High Normal¤³Ž@&Tµ1ܵ!<»³@$^» µ2ŽKœžµ2Ž - Low Normal¤³@$hµ?„zįG®{»+’½³ŽĄ  r» ³@ s»Ž³Ž@ |¶Ž³ŽĄ †¶Ž³Ž@ Ą³@ 𠐳@ ¤€ó·³Ž@  ®ė»³@ øæ°Ž’ą‚³Ž@ –’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž«¶NNNNNNNNNNNNNNNNNNNNNNš”””ūō·:³Ž@ ̌µŽ?¹™™™™™š½$³@  Ö –³Ž@ ą¹³@ źµ?ə™™™™šź³Ž@ ōµ1µ»³Ž@ žµ1Ū»³Ž@ “Ž’ą³Ž@øŽø³Ž@  »³Ž@ &°Ž’а³Ž@ 0‹õ·ź³Ž@ :µA øµ?¹™™™™™š½$³@  D –³Ž@ N¹³@, Oµ8Ž@Xs33333ń·‘µ:Žle‹®žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž˜‡NNNNNNNNNNNNNNNNNNNNNN”””ūvel = ŸŸ„³Ž@, Xµ1µ»³Ž@ bµ1Ū»³Ž@" lŠļµ(Ž?ąóü…ņü÷·ˆ³Ž@ " v€»³Ž@ €µ1µ»³Ž@  Ё»³Ž@ ”¹³@ žµ?ə™™™™šč³Ž@ Ø“Ž’Š°³Ž@²¹³Ą ¼ ¶Ž ³Ž@ ʅ»³Ž@ е1Ȋ뻳@ ځ뻳@ ä» µ2ŽDDD.Dœž Ó Õ‚ėÕxŻ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žˆ¹NNNNNNNNNNNNNNNNNNNNNN”””ū--------------------------³Ž@6LźNNĄčüµ1ŽhŽ* Update phi according to knob³@06ōN€ó·rNNµ1h萶Ž* Ensure positiveness³Ž@*0žŗ¶Ž* Go back, young man, go back!³ĄJ*“¶Ž< -----------------------------------------------------------³Ž@ J»³pŃ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž»ˆNNNNNNNNNNNNNNNNNNNNNN”””ū@0 »"¶*# Set up various graphics parameters³@0&Ąµ2ŽINTERNAL»I³@0ŠėŠŠėŠ»³@ :„»³Ž@ D»$³Ž@ Nˆ»³Ž@$ Xµ?ə™™™™šµ?ə™™™™š€€……ƒ»%³@$bĄ…»J³Ž@$l…ė……ė…»¶* Isotropic units³Ž@:$vd„΁»{»y¶Ž*% Make array (esp. 4tž„’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žīŪNNNNNNNNNNNNNNNNNNNNNN”””ūh col.) to be one³@<:€ ‰°Ž’ōv¶Ž*$ Nine points: eight vertices, center³Ž@< Š  d„Č£ ‚d„Č£ ƒd„Ȥ³@ ”“Ž ’ō<¶Ž* et cetera³Ž@4 ž dŽĶ¤¶*$ How to proceed from point to point?³Ž@4Ø Ķ£ͤ³@²Ķ»M³@&¼»¶* Turn on graphics screen³Ž@:„ ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŻźNNNNNNNNNNNNNNNNNNNNNN”””ū&ʀdØĒ€ńŽ·ö¶Ž*" If trig arrays undefined, define.³Ž@8: Š €µ1g°’šī¶Ž* Not 1 to 360, because of MODs³Ž@68 Ś d§Ē 搶Ž*# \ Array fetches are substantially³@86 ä dØĒ 搶Ž*% / faster than SIN or COS evaluation³@"8 ī“Ž ’š^¶Ž* and so forth³¦’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚Ćƒ-…˜†ˆm‰ŲŠCŒ®„ļ‘Y“Ć”.–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž$UNNNNNNNNNNNNNNNNNNNNNN”””ū²¤³@ ³Ž@ ųµ1Ȋ뻳@ » µ2ŽDDD.Dœž ÓՂėÕ²¤³@  ŗ³ŽĄ »³@ »@³@B  ›µ2Ž4That's all... The demo is over. Continue your work.¤³@ B*½³Ž@ 4¶Ž³Ž@>ĮĮ’’’6@’’–ĄvŹnĄ0Ā’ū €ÓåžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ždNNNNNNNNNNNNNNNNNNNNNN”””ū’’’üDJ ’’’ųū Fä@!’’’’Fä@!’’’’0FNProundXY³Ž@ H€ń·Ø€ŗ³@ Rææ čźææŗ³Ž@ \½³Ždd’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žB7NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’@ĀĀ’’ø ’’€Ŗęš¶ęÖ ’’’ī® ’’’ģś ’’’źś ’’žč(’T,0’ś80š˜®Dt€’’žą®P ’TVš’ś`0֘®jngth Packetgstart Packet_endBa$ Service_req Ser Packet_length+žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žqNNNNNNNNNNNNNNNNNNNNNN”””ū Packet_start Packet_endA$Disp_buf Service_reqLoopIndexLoop Key_check Prog_doneDisp_buf@d‚„ī»(’½³ŽĄ  n–³Ž@ x½³Ž@ ‚¶Ž³Ž@ŒĀĀ’’ž¦’’ŗRnJZn„Ń’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žč‘NNNNNNNNNNNNNNNNNNNNNNš”””ū’T’T ’T’T’T*Disp_bufA$ Packet_start Packet_length Packet_end³Ž@ –¼@¤³@   Ą³@ Ŗæ ń·¤³½ŗ³Ž@  “‚³@ ¾» ³@ Č’æ ³@ Ņ聟³@ ܛƒčżŸ„³@  ęč³@ šzžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŪ NNNNNNNNNNNNNNNNNNNNNNš”””ūæ ņ»„³ŗ³Ž@  ś›„³Ž@ ±³_’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŽóNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’4@ĀĀ’’š ’’€āęšīęÖ ’’’ī® ’’’ģś ’’’źś ’’žč(@ t0’ś80š˜®D@ śJ€’’žą®P@ ®Vš’ś`0֘®jngth Packetgstart Packet_endBa$ Service_req Ser Packet_lengthyU’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž½ĀNNNNNNNNNNNNNNNNNNNNNNš”””ū Packet_start Packet_endA$ Service_reqLoopIndex Key_check Prog_done@d¼!£!£!¤³@n¼@¤³@x‚ƒī»(’½³Ž@‚ƒ»'»{»5³@ Œ»@³@ –»"³@  €»³Ž@ Ŗ»³Ą RkžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž­üNNNNNNNNNNNNNNNNNNNNNN”””ū“–³Ž@ ¾¶Ž³ŽĄ ȶ޳Ž@ ŅĄ³@ Üæ ń·6ŗ³Ž@ ꂐ³@ š» ³@ ś’æ ³@ 聟³@ ƒč°Ž’š ³Ž@  Ō’æ Õ²³Ž@ "“Ž’š|³Ž@  ,č³@ 6æ ņ»J³Ž@ @ŗ³Ž@ J¶Ž³ŽĄ T ½³Ž@ ^¶Ž³Ž@Pņ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž žĶNNNNNNNNNNNNNNNNNNNNNNš”””ūhĀĀ’’ż¼ (’’’<rDn< 𘮠’’’üś €’’’Ų®i"ēzčzę:Åi"ēzčzę:Å  Key_checkKey_numI³Ž@ r» ¢³Ž@  |»Ž<€»»»³Ž@& †‘µ2ŽThe program has STOPPED!¤³@& ƒ»'»u»5³@  š½³Ž»z’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĖžNNNNNNNNNNNNNNNNNNNNNN”””ū@ ¤»Ž<‚»»ŽĄ³Ž@ ®µ!2µ!2»³@ øµ!°’šr³Ž@ Ā»Dµ!µ!»>³Ž@ ̓ޒšH³Ž@ Öµ!ށė°Ž’ą¶³Ž@ ą»Dµ!µ!»>³Ž@ ź“Ž’ąŒ³Ž@  ō»³@ ž»Ž<³Ž@ ‚ļü€ńŽ·2³Ž@2 ›µ!Žн£µ"This key is 8žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ųÆNNNNNNNNNNNNNNNNNNNNNNš”””ūnot implemented.¤³@ 2 ½#³@ &»@³@ 0¹³@  :»³@ D±³  € €ˆ€0€ €.€€6€€€@ €€>€€€p€HT@€ €*€€p€€€‚€€€N€€€\€€<€N€€€’ž¢’’ė|’’裸’ōš’’ōÖ’’õ’’õj’’üŖŅé‚T€€€,Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­b–’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž a8NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’>@ĀĀ’’’’÷ĀP’’¾4"œ>"\A"’’ę@$’’åP’€’’’ų €’’’š€’’’耒’’ą€’’’Ų€’’’Š"@ *04 –4@ >02 –J@ V0v –b€’’’Čn€’’’Ąt€’’’øv€’’’°zEcos- ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž R NNNNNNNNNNNNNNNNNNNNNNž”””ū30Sins XYX_sibeY_size Cdial_isb Cdial_iCos30Sin30XYX_sizeY_size Cdial_isr Redraw_axes Redraw_boxBitsZZ_xZ_y@4d»)¶ ' Use degrees mode (instead of RADians).³@4)’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žZNNNNNNNNNNNNNNNNNNNNNN”””ū4nµ!Žæ¶ Used to put 3-d on 2-d surface.³Ž@4xµ!Žæ³@ ‚¶Ž³Ž@> ŒĄµ2ŽINTERNAL»#¶"! Use the CRT screen for plotting.³@&>–€‹Ą쀋» ¶" Use full screen.³@4& €‹Ą쀋»¶" Scale drawing (isotropically).³@ 4Ŗ¶Ž³Ž@6 “А¶) L0’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž4kNNNNNNNNNNNNNNNNNNNNNN”””ūocation of lower left corner of square.³@ 6¾ˆ³@& ČА¶ Size of sides of square.³@ &ŅА³@ ܶ޳Ž@& ę»*’ ½¶Ž" Set up interrupts.³@ &š •¶Ž" Draw axes and box.³@ ś •³Ž@ ¶Ž³Ž@( » ¶  Keep looping indefinitely.³@(»ŽĮ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Ćƒ.…™†ˆl‰ÖŠBŒ®ˆō‘_“É”3–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž VNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@ |¶Ž³Ž@ †ε?ć333333»{»y¶Ž*\³@ˆĶ»M¶* \³Ž@$š‰Ķ»M¶* > Pens for labels³@$¤Ī€»{»y¶* /³Ž@®ŠĶ»M¶*/³@ ø¶Ž³Ž@ ĀĄ‚Ķ»K³@ ̶޳Ž@P Ö¶ŽD******************* Create the Additive Palette ******************O’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž e9NNNNNNNNNNNNNNNNNNNNNN”””ū**³Ž@ Pą¶Ž³Ž@ ꀇ°Ž’ąT³Ž@ ō€Ą³@ žĄ³@ ‚Ą³@ »M³Ž@“Ž’ą³Ž@ &¶Ž³Ž@ 0΁»{»y¶*\³@:ˆĶ»M¶* \³Ž@&DĪ€»{»y¶* > Pens for labels³@&N‰Ķ»M¶* /³Ž@XŠĶ»M¶*/³@ b¶Ž³Ž@* f{’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž0jNNNNNNNNNNNNNNNNNNNNNN”””ūlĄ‚Ķ»K¶, Read additive palette³Ž@ *v¶Ž³Ž@4 €Ąٵ2#,Bœžµ1Ž’£µ!ŽK¤¶* Clear the screen³@ 4жŽ³Ž@N ”¶ŽC************** Create the Subtractive Palette *********************³@ Nž¶Ž³ŽĄB Ø ¼4 A,"Pen ",D,XX,D,X,D,X,D,55X,A,"Pen ",D,[ÆžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž[NNNNNNNNNNNNNNNNNNNNNNš”””ūXX,D,X,D,X,D³Ž@FB²¶Ž: IMAGE for printing pens to screen; B's simulate CHR$ for³Ž@LF¼¶Ž@ selecting printing colors that appear only in their own display³Ž@ Lʶ޳Ž@2 Р΁»{»y¶* Define unit vector for RGB to³Ž@2*ڶŽ* CMY conversion³@ *䶎ī(NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žeNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@ "½³Ž@ ,¶Ž³ŽĄ 6 ¶Ž³Ž@$@€»¶Ž  "Erase" (black) pen.³@ $J •³Ž@ T¶Ž³Ž@8 ^€Ą ¶Ž' Read 16-bit status word (which knobs?)³@ 8h¶Ž³Ž@N rĄ·µ?¹™™™™™šĄ ģ萶,& Dial 1 rotated, so change X position.³Ž@NN|‚Ą·*|žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž TNNNNNNNNNNNNNNNNNNNNNNš”””ū\µ?¹™™™™™š‚Ą ģ萶,& " 2 " " " Y " .³Ž@NN†ƒĄ·Ŗµ?¹™™™™™šƒĄ ģ萶,& " 3 " " " Z " .³Ž@ N¶Ž³Ž@8 š„Ą·īµ?ə™™™™š„Ą ģ萶6 Change "X_size".³@88¤…Ą·&µ?Ó333333…Ą ģ萶6 Change Bq’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žuNNNNNNNNNNNNNNNNNNNNNN”””ū"Y_size".³@ 8®¶Ž³ŽĄ< ø »¶Ž+ Now re-draw axes and box (with white pen).³@ <Ā€€»³@ ̵!Z€»¶Ž X axis.³Ž@Ö» µ2ŽX axis¤³@ ą€€»³@ ꀵ!ŽZ»¶ Y axis.³Ž@ō» µ2ŽY axis¤³@ ž€€»³@" µ!Zģµ!Zģ»¶ Z axis.³Ž@"—žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žF6NNNNNNNNNNNNNNNNNNNNNN”””ū» µ2ŽZ axis¤³@ ¶Ž³Ž@ & •¶Ž (White pen.)³@ 0¶Ž³Ž@ :ŗ³Ž@ D¶Ž³ŽĄ N ¶Ž³Ž@ X쐳@ b쐳@2 lčč»¶& Move pen to corner of square.³Ž@2v€» ¶ Side "1".³Ž@€€» ¶ Side "2".³Ž@Š뀻 ¶Ž Side "3".ģ ž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žß”NNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@”€ė» ¶Ž Side "4".³Ž@ ž¶Ž³Ž@ Øŗ³Ž@ ²¶Ž³Ž@ ¼½³Žž’éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žģNNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’”@ĀĀ’’’’ėl”’’d<hüFNh€’’’˜Eś€’’’Eś€’’’ˆEś€’’’€Eś "’’ž"’’ü€ €’’üxEś("’’ü`<*"’’üH$0"’’ü00:@"’’ü<<@’’üHF0 ®`’’üJN"’’śˆl’’śtLV0†’ūv€’’ślū€@ ’ĻśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¹ĆNNNNNNNNNNNNNNNNNNNNNN”””ūū„@ ū0˜’–0’ūœ04’ū¦@ ’’’éū²0f’¼@ ūĘ0°’Š0–’ūŚ@ ’ąnatCyan$IRedGreenBlueAdditive SubtractiveJPoint New_pointUnitBlack$Green$White$ Pen_image2SurpriseSurpriseHue0ø’ēżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŠņNNNNNNNNNNNNNNNNNNNNNN”””ūDummyAdditive Subtractive Surprise2All_doneHere@N ¶ŽB "CIRCLES" to demonstrate non-dominant writing to the frame buffer³Ž@0N¶Ž$ and some color map tricks³Ž@ 0¶Ž³Ž@ c’éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žšĢNNNNNNNNNNNNNNNNNNNNNN”””ū”»%³Ž@, (¼£Ž£Ž¤³@,,2¼£ ޣޤ³@ ,<¶Ž³Ž@. F»¶* Turn off the graphics and alpha³Ž@,.P»¶* screens to prevent "flashing"³Ž@ ,Z»)³@ d¶Ž³Ž@* n»"¶* Defaults for graphics sysez’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ©żNNNNNNNNNNNNNNNNNNNNNN”””ūtem³@*xĄµ2ŽINTERNAL»I³@*‚Ą…»J¶Ž, Set non-dominant mode³Ž@ *Œ¶Ž³Ž@ – µ1Žæ¶*\³@. µ1Žˆæ¶* > For changing text colors³@.Ŗ µ1Ž‹æ¶*/³@ “¶Ž³Ž@ ¾‚ė‚‚ė‚»³@ ȶ޳Ž@P ҶŽD************** Create the Surprise P%D’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ü®NNNNNNNNNNNNNNNNNNNNNNš”””ūalette *************************³Ž@ Pܶ޳Ž@@ ꀵŽ?ć333333µ?ć333333µ?ć333333»M¶Ž* Gray background³Ž@2@š½¶Ž*" Make sure you read the right data³ŽĄ(2ś¶Ž DATA for surprise palette³Ž@"(¼ .9 ¶ Pen 1³Ž@""¼ .2 Zl’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ϟNNNNNNNNNNNNNNNNNNNNNNš”””ū ¶ Pen 2³Ž@""¼ .5 ¶ Pen 3³Ž@"""¼ .7 ¶ Pen 4³Ž@"",¼ .1 ¶ Pen 5³Ž@""6¼ .8 ¶ Pen 6³Ž@""@¼ .3 ¶ Pen 7³Ž@ "J¶Ž³Ž@ T‡°Ž’šč³Ž@  ^ ¤³@ h»L³Ž@r“Ž’š¼ŽžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Ćƒ.…˜†ˆr‰ąŠNŒ¹$Žś‘e“Š”=–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŪHNNNNNNNNNNNNNNNNNNNNNNš”””ū********************³Ž@ H ¶Ž³ŽĄ Ŗ¶Ž³Ž@“€Ķ»M³@ ¾ŗ³Ž@ ȶŽ³ŽĄ Ҷ޳Ž@܀Ķ»M³@ ęŗ³Ž@ š¶Ž³ŽĄ ś¶Ž³Ž@€Ķ»M³@ ŗ³Ž@ ¶Ž³ŽĄ "ŗ³Ž@ ,¶Ž³ŽĄ 6»³@ 7»@³@ 8ĄµBŽINTERNAL»I³’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž čyNNNNNNNNNNNNNNNNNNNNNNš”””ū@ 9—»%³Ž@< @‘µBŽ.You are returned to the BASIC language system.¤³@ <J½³Ž€€€<€N€€€’ž¢’’ė|’’裸’ōš’’ōÖ’’õ’’õj’’üŖŅé‚T€€€,Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­†·žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ½*NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’Š@ĀĀ’’’’żv<’’ž~¾@ˆ¾ ¦A ’’÷Ž€’’’蜀’’’ąś€’’’Ųś’’’Ä ’śČ@ ü@ ü@ ü @ ü"@ ’’’ņ_Z>P ’’’’l`!’’’ņüv Base_freqNoteFreqNote$ŖŪžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŽNNNNNNNNNNNNNNNNNNNNNN”””ū@*x¼  C,C#,D,D#,E,F,F#,G,G#,A,A#,B,C³@ *‚¶Ž³Ž@0 Œµ1Žp‚ƒµ! ķüī쐶 880=A; Base_freq=C.³Ž@0–µ! °’š޳Ž@  ‚źüµ!Ž ķüī쐳@  Ŗ ¤³@, “µ2Ž#æ śŽ·|¶Ž$ "Natural" note.³Ž@, ¾›œž£¤³Ž@2 ȼ& "Note:",X,2A,3X,"Tf’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŒNNNNNNNNNNNNNNNNNNNNNN”””ūFrequency:",2X,4D.DD³Ž@2 ҁµ!µ?ą»&³Ž@ ܵ?ą½#³Ž@ ę¹¶ Natural note.³Ž@š“Ž’š¢³Ž@ ś¶Ž³Ž@ ¶Ž³Ž@ ½³Ž3½žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž $½NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’@ĀĀ’’’’÷ä\’’¶"”"ö@"’’’ģ@ ūLP ’’’’ @ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV€’’’Čū@ ’ū`@" ūn€’’’Ąū@ ūt€’’’øūz@"’’’¤|’’’¤€@ 8šž@éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žqīNNNNNNNNNNNNNNNNNNNNNN”””ū„0¼’üŠ œNrLdestinatiof$FNAskXIYQ$Exit@  ¶Ž³Ž@ »@³@< ›µ"Ž-Demonstration of character cŠŚžl’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žBßNNNNNNNNNNNNNNNNNNNNNNš”””ūells in graphics.¤³Ž@<<(›µ"Ž----------------------------------------------¤³Ž@ <2›„³Ž@^ <›µ"Ž Press the Ÿµ1Ž…æŸµ2ŽSPACEBARŸµ1Ž€æŸµ2Ž! to get back to the BASIC System.¤³Ž@ ^F›„³Ž@t P›µŽPress Ÿµ1Ž…æŸµ2ŽReturnŸµ1Ž€æŸµ2Ž or Ÿµ1Ž…”Ļ’6ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žRįNNNNNNNNNNNNNNNNNNNNNN”””ū*³Ž@4 !°’Ą @¶Ž* Create subtractive palette³@4 ųƒ°Ž’Š v³Ž@6 ČȐ¶*# Read a point from additive palette³@6  “Ž’Š .³Ž@ Ī ĪĪ»ƒ»y³Ž@   ¶Ž ³Ž@L *¶Ž @ The next line prints out PEN INTENSITY values for both palettes³Ž†}’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žaŠNNNNNNNNNNNNNNNNNNNNNN”””ū@:L 4ˆó· › œž££Č£‚Č£ƒČ£ ££Č£‚Č£ƒȤ³Ž@: >Ķ»M¶*³Ž@H“Ž’Ą ³Ž@ R¶Ž³Ž@ \› ¤¶* Restore green text³@ f¶Ž³Ž@ p΁»{»y¶*\³@*zˆĶ»M¶* \ Create pens for labels³@*„Ī€»{»y¶* /³Ž@މĶ»M¶*/³@ ™ƒ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž4ƒNNNNNNNNNNNNNNNNNNNNNN”””ū˜¶Ž³Ž@, ¢Ą‚Ķ»K¶, Read subtractive palette³@ ,¬¶Ž³Ž@L ¶¶Ž@********************* Build the image **************************³Ž@ LĄ¶Ž³Ž@( ʀͻM¶* Load additive palette³Ž@&(Ō»¶* Flashing is over - turn³Ž@&Ž»¶* on the displaū’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž²NNNNNNNNNNNNNNNNNNNNNN”””ūys³Ž@ č¶Ž³Ž@ ņ€€»¶*\³@üµ!» ¶* \³Ž@*µ?ą€»¶Ž* > First circle³Ž@*»H¶Ž* /³Ž@»D»B»>¶*/³@ $¶Ž³Ž@. .€» ¶Ž* Restore coordinate orientation³@.8€€»¶*\³@Bµ1–» ¶* \³Ž@*Lµ?ą€»¶Ž* > ś1žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žž%NNNNNNNNNNNNNNNNNNNNNNš”””ūSecond circle³@*V‚»H¶Ž* /³Ž@`»D»B»>¶*/³@ j¶Ž³Ž@. t€» ¶Ž* Restore coordinate orientation³@.~€€»¶*\³@ˆµ1» ¶* \³Ž@*’µ?ą€»¶Ž* > Third circle³Ž@*œ„»H¶Ž* /³Ž@¦»D»B»>¶*/³@ °¶Ž³Ž@& ŗ…»¶Ž*ā7žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž­NNNNNNNNNNNNNNNNNNNNNN”””ū Label Origin is center³@H&ĵŽ?tzįG®{ėµŽ?tzįG®{µ?tzįG®{°’°z¶Ž* Make bolded labels³@H Ī€čµ(Ž?žfffffg»³@$ ؊»¶Ž* Visible in Surprise³Ž@B$ ā» µBŽKœžµBŽ)------< These Pens are all wrong! >------¤³Ž@$B 숻¶Ž* Visible in additives’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žųGNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@.$ ö» µBŽKœžµBŽAdditive Color Circles¤³@&. ‰»¶Ž* Visible in subtractive³@2&  » µBŽKœžµBŽSubtractive Color Circles¤³Ž@2“Ž’°@³Ž@ ¶Ž³Ž@N (¶ŽC****************** Set up the Control Structure *******************³@N2€‰°Ž`Ø’ĄéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĖvNNNNNNNNNNNNNNNNNNNNNN”””ū’ ³Ž@ <µBŽ ½½’½³Ž@F“Ž’ č³Ž@P€µŽAdditive½½’½³@"Z‚µŽ Subtractive½½’½³Ž@"d„µŽSurprise½½’½³@n‰µŽQuit½½’½³@ x¶Ž³ŽĄ ‚–³Ž@ Œ¶Ž³Ž@H –¶Ž<*************** ON KEY destinations ****?~’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Z‚Ęƒ3…Ÿ† ˆu‰ąŠLŒ·"ł‘e“Ń”<–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž©NNNNNNNNNNNNNNNNNNNNNN”””ūCd¤¶% Sample letters³@&J‡µ(Ž?ÜĢĢĢĢĢĶ»¶3 \³Ž@T†»¶Ž3 \³@*^µ!µ!»¶3 > Write the title³Ž@:*h» µ2Ž#Size of Character in Character Cell¤¶Ž3 /³@ :r–¶Ž% Stay with graphics³Ą |»³@ †»@³@0 ›µ2Ž!You are back in the BAƒ«’żNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žš$NNNNNNNNNNNNNNNNNNNNNN”””ūSIC System.¤³Ž@0š½¶Ž% Terminate³ŽŠĄ’ōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĻwNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’% @ĀĀ’’ Nh’’N ”ŗ  ”< ä ’’’ęü"’’±Ę ś@ ’’±pmP& ’’±Ägž€’’±¼A €’’±“A€’’±¬ś ’’±Ŗgž,€’’±¢gž0€’’±šgž4 ’’±˜š@ ś<-B@ śH*BN@ śT'śZ@ ó’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žüFNNNNNNNNNNNNNNNNNNNNNN”””ūś`$čd@ ūš@ Dš @ B¦@ ’’’`ūŖ@ ’’’XB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲA ’’Ųā@ ’’Šūź@ ’’Čūš@ ’’Ąūö@ ’’øūž@ ’’°ū@ ’’Øū @ ’’ ū@ ’’˜ū@ ’’ū @ ’’ˆū$@ ’’€ū.@ ’’xū8@ ’’pūD!Q’żNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žģxNNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’hūnP ’’’’’ūt@ ’ūz@"’’T†@"’’TŠ@ 5ŽP ’’’’’ü”@ OopsSoerce$ FNFide_existsLdestinatiof$FNAskIRowAMaxJContourMinFactorColSumSummedPauseShowLabelź ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ßINNNNNNNNNNNNNNNNNNNNNN”””ūGdu*’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŠNNNNNNNNNNNNNNNNNNNNNN”””ū@ ¶Ž RE-STORE "Contour"³@ ¶Ž³Ž@L ¶ŽA This is the MAIN program used to generate Demo data for Contour.³@RL(¶ŽG To use Contour with your own program ‹p’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¹+NNNNNNNNNNNNNNNNNNNNNN”””ūdelete lines 10-700 (DEL 10,700).³@ R2¶Ž³Ž@ <¼ ³Ž@ F¼!£ !£!£!¤³Ž@ P½³@& Z¼€2€2¤¶+ Array 50 x 50³Ž@ &d¶Ž³Ž@6 n‘µ"Ž(Filling the Array full of Random numbers¤³@6xµ!2°’ų4³Ž@ ‚ µ!2°’ü"³Ž@0 Œ Čæ¶+ Fil¼%žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ¼NNNNNNNNNNNNNNNNNNNNNN”””ūl Array with Random numbers³@0 –“Ž ’üą³Ž@ “Ž’ųʳŽ@ Ŗ¶Ž³Ž@6 “Š°Ž’ģ¶Ž+ Smooth the edges of the graph³Ž@6 ¾µ!2°’šƳŽ@ ȁµ!2°’ō“³Ž@  Ņ €³@ Ü €³@ ęņ·č³Ž@š źȐ³Ž@ ś ³@ ¹³@ µ!ŽĒ&’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ūó·"³Ž@ čČ萳Ž@ " č³@ ,¹³@ 6ņ·X³Ž@@ źČ萳Ž@ J č³@ T¹³@ ^µ!Žó·’³Ž@h čČ萳Ž@ r č³@ |¹³@ †Č 퐳Ž@ “Ž’ō¢³Ž@ š“Ž’šŒ³Ž@< ¤‘µ2Ž!Smoothing Edges, loop iteration= ŸXć’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žFŽNNNNNNNNNNNNNNNNNNNNNN”””ūŸµ2 of 10¤³@<®“Ž’ģv³Ž@ ø¶Ž³Ž@ Ā»uεAŽ Ä»w»w»x³@4Ģ»fĪ»¤»§»jž»g¶. Determine Extremes³@4Ö»fĪ»¤»§»kž»g³@ ąꐳ@ ź¶Ž³Ž@* ōµA İ’čś¶Ž. Scale the Matrix³@* žȁČźü퐳Ž@“Ž’čo¦’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žuļNNNNNNNNNNNNNNNNNNNNNN”””ūҳŽ@"»uε!Ž2»wµ!2»w»x³Ž@ "¶Ž³Ž@ &µ2Gdu¾ ³@0µ2Label¾ ³@:µ2Show¾ ³Ž@Dµ2Pause¾ ³@ N¶Ž³Ž@ X»@³@ b—»>³Ž@$ lŃĶՀՁյ(Ž?™™™™™™šÕÕÕÕ²³@ $v”»>³Ž@ €»@³@ жŽ³Ž@ ”½%’ ¤³@ ž½%’¤³@ Ø:°’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žeŃNNNNNNNNNNNNNNNNNNNNNN”””ū柵2ŽENTERŸµ1€æŸµ2Ž to see the graphics demo.¤³@&tZ½ ¤¶Ž% Let user see messages³Ž@"&d»’½¶Ž% Left user exit³@ "n»@³@4 x»"¶%' Initialize various graphics parameters³@64‚Ąµ2ŽINTERNAL»#¶% Use the internal screen³Ž@*6Œ»¶% T©@’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žVąNNNNNNNNNNNNNNNNNNNNNN”””ūurn on the graphics screen³Ž@**–»¶% Draw a box around the screen³@P* €µ!Ž$µ(@ėµ8Ž@6€»¶%' Isotropic units; Left/Right/Bottom/Top³@PŖ €µ!$°’ą²¶Ž% \³Ž@ “€µ!°’šš¶Ž% \³@, ¾ µŽ?¹™™™™™šźµ?¹™™™™™šč»¶Ž% \³Ž@,, ČnŸ’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž³NNNNNNNNNNNNNNNNNNNNNN”””ū µŽ?¹™™™™™ščµ?¹™™™™™šź»¶Ž% \³@F, Ņ µŽ?¹™™™™™ščµ?¹™™™™™šč»¶Ž% > Draw all the little Xs.³Ž@,F Ü µŽ?¹™™™™™šźµ?¹™™™™™šź»¶Ž% /³@, ꓎’š¶¶Ž% /³Ž@š“Ž ’ąš¶Ž% /³@ś €µ!‰°Ž’Š:¶Ž% \³Ž@  ‰č€µ!Ž»¶% Ū:žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž0‚NNNNNNNNNNNNNNNNNNNNNN”””ū\³@8 »¶%* > Draw boxes around the character cells³Ž@8“Ž ’ŠжŽ% /³@6"»¶%( Deactivate clipping so LABELs will work³Ž@66,µ!2»¶%% Character cells half the screen high³@266€€»¶%# Starting point (LORG 1 by default)³@&2@» µ2ŽAbū ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€W‚æƒ(…“†ż‡g‰ŠŠ;Œ¦{å‘O“»”%–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĢNNNNNNNNNNNNNNNNNNNNNN”””ū½%’¤³@ ²½%’¤³@ ¼½³ŽN 22ĄĘĀ’’åąÜ ’’²ä<tģ0ä  śÓč0’š"€’’’ųõ €’’’ōõ €’’’š'T €’’’ģõ €’’’čł& €’’’ä0 €’’’ąõ6 ’’’ŽSč: ’’’Üš< ’’’Śõ> ’’’ŲõD ’ź $č’šN€’’’Š‹’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž0żNNNNNNNNNNNNNNNNNNNNNN”””ūõX€’’’Čõb€’’’Ą'TR€’’’øõl @ 'ś’šx @F *B’š„€’’’°S芀’’’ØS蔀’’’ S螀’’’˜S褀’’’S言’’’ˆS讀’’’€Sč“€’’’xSčø€’’’pS血’’’hSčʀ’’’`SčĢ€’’’XSčŅ€’’’PS覀’’’HS豀’’’@Sčč’’’,쀒’’$Sčō0ŌÓčś @? ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””že®NNNNNNNNNNNNNNNNNNNNNNž”””ū_ˆ,-’õ @(ś6 @2@ @<üJ @Fjt&fcMinMaxrtIContourContourSfcMinMaxIntervalExtremesStatsCrtIJImaxJmaxGduXmid X_gdu_max Y_gdu_maxYmidLabelShow Northeast Northwe;kNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žVŸNNNNNNNNNNNNNNNNNNNNNN”””ūstCrossBigSmallContTopBottomLeftRightJtopJbottomIleftIrightPenImage$PointEndPauseG_unitsGdu_xmaxGdu_ymaxShowUdu_xminUdu_xmaxUdu_yminUdu_ymax³Ž@TжŽI----------------------------Ą’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĻNNNNNNNNNNNNNNNNNNNNNN”””ū--------------------------------------------!³@TTڶŽI Copyright 1983, Hewlett-Packard Company !³@TT䶎I All Rights Reserved !³@TTī¶ŽI NćžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žü9NNNNNNNNNNNNNNNNNNNNNN”””ū !³@TTų¶ŽI This subprogram plots a contour map of the array Sfc(*), and !³@TT¶ŽI optionally plots local minima, maxima, and statistics. !³@TT ¶ŽI RPžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž©jNNNNNNNNNNNNNNNNNNNNNNž”””ū !³@TT¶ŽI Sfc(*): This is the two-dimensional real array containing the !³@TT ¶ŽI data to be plotted. It need not be square. !³@TT*¶ŽI Min & Max: These are the lowest and ™¹NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žš[NNNNNNNNNNNNNNNNNNNNNN”””ūhighest levels, respectively, !³@TT4¶ŽI of the contour lines. These allow you to specify the !³@TT>¶ŽI exact range within which you want contours. Every !³@TTH¶ŽI contour line outside of this źU’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŠeNNNNNNNNNNNNNNNNNNNNNN”””ūrange will not be plotted. !³@TTR¶ŽI Interval: This specifies how far apart the contour lines have to !³@TT\¶ŽI be (in value, not in distance). The smaller the inter- !³@TTf¶ŽI val, the denser the contour plot.1žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¹TNNNNNNNNNNNNNNNNNNNNNNž”””ū !³@TTp¶ŽI Extremes: This is a logical variable which specifies whether or !³@TTz¶ŽI not to label local maxima and minima. A local maximum !³@TT„¶ŽI is a point whose value is larger that@«’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ģNNNNNNNNNNNNNNNNNNNNNNš”””ū its eight !³@TT޶ŽI neighbors immediately to the west, northwest, north, !³@TT˜¶ŽI northeast, east, southeast, south, and southwest. A !³@TT¢¶ŽI local minimum has a corresponding definitń½’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ß6NNNNNNNNNNNNNNNNNNNNNN”””ūion. !³@TT¬¶ŽI Stats: This is a logical variable which specifies whether or !³@TT¶¶ŽI not to print the "stats" (statistics) of the data !³@TTĄ¶ŽI array. Stats include: 1) array size, rows an ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž F”NNNNNNNNNNNNNNNNNNNNNNž”””ūd columns; !³@TTʶŽI 2) Minimum and maximum contour levels, and 3) contour !³@TTŌ¶ŽI interval. !³@TT޶ŽI Crt: Logical variable specifying whether the plot is gN?’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž uNNNNNNNNNNNNNNNNNNNNNN”””ūoing !³@TTč¶ŽI to a CRT or a plotter. !³@TTņ¶ŽI------------------------------------------------------------------------!³@$Tü¼’’’’ ££)£+£,£-£.¤³Ž@$¼ !£ !£ !£ !¤³Ž@· ų³Ž@  `’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĆNNNNNNNNNNNNNNNNNNNNNN”””ū»"³@ $»³@ .»³@ 8¹³@B ΁Ą³Ž@L Ī‚Ą³Ž@V·>³Ž@ `ŃÕÕÕÕ²³Ž@f jуյ?ć333333ՀՅՁÕÕµŽ?¤zįG®{ģÕµŽ Array has 济 rows and 济 columns.ūūūūÕ²³Ž@|f tуյ?ć333333ՀՅՁÕÕµŽ?”zįG®{ģÕµŽ Minimum: žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žņNNNNNNNNNNNNNNNNNNNNNN”””ū æµ ; Maximum: 济; Contour interval: æµ.ūūūūūūÕ²³Ž@| ~€µ?®øQė…¹ģ» ³Ž@ˆ¹³@’ŌÕ üÕ üՁղ³Ž@œ »³@¦»%³@° »%³@ŗ€¶ \³Ž@2Ä€¶$ > Figure what to do for case 4.³Ž@2΁¶ ō\’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Z‚Ęƒ2…ž†ˆr‰ŻŠIŒ“!Žś‘f“Ņ”>–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž q‘NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’V@ĀĀ’’’’łŖh’’z6ę”Rę*@"’’’Ü’’’Ü @ 0Ü’ü šH@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV@ ū@ ’ū` ’’’Øn€’’’ ū€’’’˜ūtLdestinatiof$FNAskIQ$ÜyžiNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž B NNNNNNNNNNNNNNNNNNNNNN”””ūExitText$Csize@  ¶Ž³Ž@ »@³@: ›µŽ,Demonstration of character size in graphics.¤³@::(›µŽ,------------------------------D;žÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žóNNNNNNNNNNNNNNNNNNNNNN”””ū--------------¤³@ :2›„³Ž@B <›µŽ3Press the SPACEBAR to get back to the BASIC System.¤³Ž@ BF›„³Ž@> P›µ"Ž/Press Return or ENTER to see the demonstration.¤³Ž@&>Z½ ¤¶Ž) Let user read messages³@$&d»’½¶Ž) Provide for exit³@ $n»@³@( x¼4l’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž$ĀNNNNNNNNNNNNNNNNNNNNNN”””ū @2¤¶) Allow the long strings³@4(‚»"¶)' Initialize various graphics parameters³@64ŒĄµ2ŽINTERNAL»#¶) Use the internal screen³Ž@*6–»¶) Turn on the graphics screen³Ž@** »¶) Draw a box around the screen³@&*ŖėŠ»¶Ž) Anisotropic uni¦’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž4üNNNNNNNNNNNNNNNNNNNNNN”””ū /³Ž@Ų  ź°Ž’čR³Ž@ ⠁ ź°Ž’ģ@³Ž@& ģ Č čČ č Č č čČĄ³Ž@&& ö Č čČ č Č č čČĄ³Ž@& °’š.³Ž@  ņó÷·³Ž@* Č čČĄņ Č čČĄó÷³@2* č Č č čČĄņ č Č č čČĄó÷³ÓkNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĶNNNNNNNNNNNNNNNNNNNNNNž”””ū@*2( Č č ČĄņ Č č ČĄó÷³@2*2  čČ č čČĄņ čČ č čČĄó÷³@2<čč č» J³Ž@VF»Ž€»»Ž ¶Ž7 Do nothing............................................³@VVP»Ž‚»»Ž¶Ž7 Two intersections, so dra‚’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žRžNNNNNNNNNNNNNNNNNNNNNN”””ūw one line...................³@VZ·³Ž@ d!  Čźü čČ Čźüķ萳Ž@< n·¾¶Ž%+ Top and Bottom............................³@&<x"  č Čźü č čČ č Čźüķ萳Ž@ &‚! »³@ Œ" č»³@–øŽ䶎 (not Bottom)³@< ·v¶Ž%+ Top and LHA’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žaÆNNNNNNNNNNNNNNNNNNNNNNš”””ūeft..............................³@ <Ŗ#  Čźü č Č Čźüķ萳Ž@ “! »³@ ¾ #»³@D ČøŽ̶Ž3 Not left, therefore Top and Right.................³@&DŅ$  čČźü č čČ čČźüķ萳Ž@ &Ü! »³@ ę č$»³@š¹¶ (if left)³Ž@ś¹¶ (‘Ūž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žų8NNNNNNNNNNNNNNNNNNNNNN”””ūif bottom)³Ž@øŽ¶Ž (not Top)³Ž@·Œ³Ž@&"  č Čźü č čČ č Čźüķ萳Ž@<&"·ī¶Ž%+ Bottom and Left...........................³@ <,#  Čźü č Č Čźüķ萳Ž@ 6 #»³@ @" č»³@DJøŽF¶Ž3 Not left, therefore Bottom an`NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĖ NNNNNNNNNNNNNNNNNNNNNNš”””ūd Right..............³@&DT$  čČźü č čČ čČźüķ萳Ž@&^" č»³@h č$»³@r¹¶ (if left)³Ž@F|øŽ¶Ž5 Not Bottom, therefore Left and Right................³@ F†#  Čźü č Č Čźüķ萳Ž@& $  čČźü č čČ čČźüķ萳Ž@ &šbĻNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žžZNNNNNNNNNNNNNNNNNNNNNN”””ū #»³@ ¤ č$»³@®¹¶ (if bottom)³Ž@ø¹¶ (if top)³@V»ބ»»Ž ¶Ž7 Four intersections....................................³@ VĢ!  Čźü čČ Čźüķ萳Ž@& Ö"  č Čźü č čČ č Čźüķ萳Ž@ &ą#  Čźü č Č Čźüķ萳Ž@& Ś+žÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž­kNNNNNNNNNNNNNNNNNNNNNN”””ūź$  čČźü č čČ čČźüķ萳Ž@&ō·V³Ž@ ž #»³@ ! »³@ " č»³@ č$»³@&¹¶ (if northeast)³@0·²³Ž@ : #»³@ D" č»³@ N! »³@ X č$»³@b¹¶ (if northwest)³@l· ³Ž@ v #»³@ € č$»l1žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž½UNNNNNNNNNNNNNNNNNNNNNNš”””ū³@ Š! »³@ ”" č»³@ž¹¶ (if cross)³@ Ø»³@ ²¹³@ ¼“Ž’šh³Ž@ Ę“Ž ’ģ³Ž@Š“Ž ’čņ³Ž@Ś€ņ·Ō³Ž@  ä%„³@ ī&µBŽK³Ž@ ų ‚ ź°Ž’ą¾³Ž@  ‚ ź°Ž’䬳Ž@.  ' Ȑ¶Ž (The point we're working on)³@FkĀžSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŽdNNNNNNNNNNNNNNNNNNNNNN”””ū.  ź źČ ź Č ź čČ źČ čČ č źČ č Č č čČĄ³Ž@FF   ź źČ ź Č ź čČ źČ čČ č źČ č Č č čČĄ³Ž@F *'ņ'óų·š³Ž@,4сյ?ć333333ՀՅÕ%Õ üÕ üÕµŽ+Õ²³Ž@,>'ņ·ģ³Ž@,Hуյ?ć333333ՀՅÕ%Õ üÕ üÕµŽŲČ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ū7NNNNNNNNNNNNNNNNNNNNNN”””ūHÕ²³Ž@,RøŽ ³Ž@,\уյ?ć333333ՀՅÕ%Õ üÕ üÕµŽLÕ²³Ž@,f¹³@pņ·’³Ž@Jzуյ?ć333333ՀՅÕ%Õ Õ µ?ə™™™™ščÕµÕ²¶5 No label, just setup³@J„» &œž'¤³Ž@޹³@ ˜¹³@ ¢“Ž ’äسŽ@ ¬“Ž ’ą’³Ž@¶¹¶ (if Stats)³Ą ÅKžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž čNNNNNNNNNNNNNNNNNNNNNNš”””ūĄ(*сղ³Ž@ʱ³t’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Z‚Ęƒ0…™†ˆl‰ÖŠ?Œ©|ę‘P“ŗ”%–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žüŃNNNNNNNNNNNNNNNNNNNNNN”””ūColorsx–žéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĻąNNNNNNNNNNNNNNNNNNNNNNš”””ū@ ¶Ž "DITHER_PAL"³@8¶Ž- This program creates a palette for dithering³@ 8¶Ž³Ž@ (»2­žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž š³NNNNNNNNNNNNNNNNNNNNNNš”””ū"³@ 2Ąµ"ŽINTERNAL»I³@ <»³@ F€µ!޵?¹™™™™™šė»³@P¼¤³@ZĄ‚Ķ»K³@d €‡°Ž’šø³Ž@ n ˆčČ Ȃ퐳@ x ˆč‚Č ‚Ȃ퐳@ ‚ ˆčƒČ ƒȂ퐳@Œ“Ž ’šj³Ž@–€Ķ»M³@  €µ!°’ą³Ž@  Ŗ €»³@ “ »Mļ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ©‚NNNNNNNNNNNNNNNNNNNNNNš”””ūH³Ž@ ¾»D»B»=³@Č“Ž ’ąܳŽ@ ҽ³Ž€ system.¤³@ <J½³Ž€€€<€N€€€’ž¢’’ė|’’裸’ōš’’ōÖ’’õ’’õj’’üŖŅé‚T€€€,Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­”°’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 0NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’¦@ĀĀ’’~0’’vęvę:0lĘ D€’’’ŲF 0VĘ P€’’’ŠF €’’’ČF 4€’’’ĄF €’’’øF *€’’’°F 0BĘ >!’’üą€’’üŲF \€’’üŠF f@ refStar Position DirectiofDiameteRadiusUsed‚“žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž $NNNNNNNNNNNNNNNNNNNNNN”””ūPenStarPosition DirectionDiameterStars Circles_in Circles_out Selection Max_radiusŠhĄ Ā’’łŲ ’’¶  Ø(¼Ę’ō*¼Ę4’’’ū’ōõ>’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žVwNNNNNNNNNNNNNNNNNNNNNN”””ū8’’’ś’„@’’’łūH’’’ų’„N \ b p ~ ¼Ę‚’’’ņ†Žcc Dump_gra`hics Dev_celector_a_pixelsCol Dump_graphics Dump_graphics Dev_selector_Y_pixelsRowColumnElementChar Return_arrayPad$ Dev_selMžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žeFNNNNNNNNNNNNNNNNNNNNNN”””ūector Words_per_rowHi$Lo$ScreenEsc$³Ž@ ¼ ¶Ž- Arrays start at 1³Ž@2 ¼!£!£!£!£!£%Ž€¤¶A Speed it up...³@(2(¼ @-¤¶- Padding for centering³Ž@2(2æńŽ·¤¶-¶Ž- Is output device specified?³Ž@2 < ¶- If so, ß’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žuxNNNNNNNNNNNNNNNNNNNNNN”””ūts³Ž@4&“„»¶Ž)$ Bottom center of labels is ref. pt.³Ž@(4¾ †°Ž’š¶Ž) Six labels total³@6( Č £ ¤¶)' Read the characters cell size and text³@6 Ņ»¶Ž) Use Csize³Ž@0 ܀ æƒģč»¶) Move to appropriate place³Ž@0 ę» ¤¶) Write the text³@.µNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žFINNNNNNNNNNNNNNNNNNNNNN”””ūš“Ž ’šH¶Ž) Looplooplooplooplooploop³@>.ś¼ 2 30,T,20,his,10,isjustlike,7,thosecutelittlecharts³Ž@,>¼ ! 5,thatyoualwaysseeinyourfriendly³@8,¼ - 3,neighborhoodoptometristsoropticiansoffice.³@8–¶Ž) Stay in demo³Ą "»³@ ,»@³@D‡§žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žNNNNNNNNNNNNNNNNNNNNNN”””ū 6›µ2Ž6Control has been returned to you and the BASIC System.¤³@D@½¶Ž) have done with³2U|žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž +NNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’2@ĀĀ’’’’÷ĪØ’’˜ų& ˜VA ’’’PA ’’žąB ’’ż`(P ’’’’Åś,@ ’’żXEś@ ’’żPEś@ ’’żH @ ’’ż@Vž>@ ’’ż8€’’’ŲF @ ’’ż(EśˆP ’’’’źA ’’üØA ’’ü(:A ’’ūØ <@ ’’ū¦L@ ’’ū¤;ćT@ ’’ūœBP ’’ÖĄžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¹¼NNNNNNNNNNNNNNNNNNNNNNš”””ū’’;ćhP ’’’’pP ’’’’ÅśP ’’’’;ć„"’’žXČP ’’’’;ć–@ ’’ū”`P ’’’’;ć¦P ’’’’ÅśDP ’’’’;ć¶P ’’’’Vž¼P ’’’’;ćČ@"’’ū€<zP ’’’’;ćŲ@ üČ@ ’’ūxūŽ@ ’’ūp’öP ’’’’;ćī@ ’’ūhūžP ’’’’;ćö@ ’’ū`’&P ’’’’;ćž@ ’’ūX’®P ’’’’;ć @ ’’ūP’¾P ’’’’;ćÅß’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŠNNNNNNNNNNNNNNNNNNNNNN”””ū@ ’’ūH*@ ’’ū@6@ ’’ū8’ä@ ’’ū0’P ’’’’;ćR@ ’’ū(\@ ’’ū b@ ’’ūh@ ’’ūn@ ’’ūtP ’’’’z@ ’’ū’A ’’śĄ4P ’’’’;ćœ@ ’’śø¢@ ’’ś°¬@ ’’śØ“P ’’’’’’@"’’ś”>”P ’’’’&@ @P@"’’ś€@

ožNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žqyNNNNNNNNNNNNNNNNNNNNNNž”””ū4Œ½½ ½½)¤¶9 Screen array³@2&– €æµ!-Ą¶Ž- 45 nulls centers the image³@"2 Ķ»¶- Store the picture³Ž@4"Ŗµ!Žæµ"Kµ!-čüµ1ļæµ!-čüµ1šæūūū³@64“ ٵ2Kœžµ!Žæµ"Aˆæūū¤¶; 1 line=8/72 inch³@86¾ °ŽKœžµ!޶Ž-! For eveJbžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž$*NNNNNNNNNNNNNNNNNNNNNN”””ūry 16-bit swath across...³@68 ȁė°Žžµ!޶޶Ž- and for every pixel down...³Ž@46 ŅȐ¶Ž-# get the appropriate array element,³@24 Üźč¶- determine the string subscript,³Ž@82 ę ’µ1ķææ¶Ž- fill up the high-order byte...³@08 š ’µ1￐¬“žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žNNNNNNNNNNNNNNNNNNNNNNš”””ū¶Ž- and the low-order byte.³Ž@0 ś“޵1ļæ³Ž@  ٵ2Kœž ūū¤³@  ٵ2Kœž ūū¤³@“ŽKœž³Ž@<" ٵ2Kœžµ!Žæµ"Aµ!Ž æūū¤¶< 1 line=12/72 inch³Ž@<,±³Ē’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%NNNNNNNNNNNNī€X‚Āƒ,…–†ˆl‰×ŠBŒ¬‚ķ‘W“Ā”,–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žī¤NNNNNNNNNNNNNNNNNNNNNN”””ū@  ¶Ž RE-STORE "Gray_Map"³Ž@ ¶Ž³Ž@N ¶ŽB This is the MAIN program used to generate Demo data for Gray Map.³Ž@TN(¶ŽH To use Gray_Map with your own pro“žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŻ•NNNNNNNNNNNNNNNNNNNNNNš”””ūgram delete lines 10-620 (DEL 10,620).³Ž@ T2¶Ž³Ž@ <¼ ³Ž@ F¼!£ !£!£!¤³Ž@ P½³@& Z¼€2€2¤¶+ Array 50 x 50³Ž@ &d¶Ž³Ž@6 n‘µ"Ž(Filling the Array full of Random numbers¤³@6xµ!2°’ų:³Ž@ ‚ µ!2°’ü(³Ž@0 Œ Čæ¶†³’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žˆĘNNNNNNNNNNNNNNNNNNNNNNž”””ū+ Fill Array with Random numbers³@0 –“Ž ’üę³Ž@ “Ž’ųгŽ@ Ŗ¶Ž³Ž@6 “Š°Ž’ģ¶Ž+ Smooth the edges of the graph³Ž@6 ¾µ!2°’š̳Ž@ ȁµ!2°’ōŗ³Ž@  Ņ €³@ Ü €³@ ęņ·ī³Ž@š źȐ³Ž@ ś ³@ ¹³@ S;’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž»÷NNNNNNNNNNNNNNNNNNNNNNš”””ūµ!Žó·(³Ž@ čČ萳Ž@ " č³@ ,¹³@ 6ņ·^³Ž@@ źČ萳Ž@ J č³@ T¹³@ ^µ!Žó·˜³Ž@h čČ萳Ž@ r č³@ |¹³@ †Č 퐳Ž@ “Ž’ōسŽ@ š“Ž’š’³Ž@< ¤‘µ2Ž!Smoothing Edges, loop iterat ŽžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž"`NNNNNNNNNNNNNNNNNNNNNN”””ūion= ŸŸµ2 of 10¤³@<®“Ž’ģ|³Ž@ ø¶Ž³Ž@ Ā»uεAŽ Ä»w»w»x³@4Ģ»fĪ»¤»§»jž»g¶. Determine Extremes³@4Ö»fĪ»¤»§»kž»g³@ ąꐳ@ ź¶Ž³Ž@* ōµA İ’č ¶Ž. Scale the Matrix³@* žȁČźü퐳Ž@”›’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žQNNNNNNNNNNNNNNNNNNNNNN”””ū“Ž’čŲ³Ž@"»uε!Ž2»wµ!2»w»x³Ž@ "°ašžg€Mmg€av>f€u/v>}g€$ˆ¢›«««df€$)v>}g€±v>f€Åmg€Łz gœ@de€"ģ„’’āĄ0!’žäŌŲüčXŌ ’ų`’ö.Ķ,(oćüNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žDNNNNNNNNNNNNNNNNNNNNNN”””ūv  ’’’Ö- " ’’’Ōū( ’’’Ņ1. ’’’Šū6 ’’’Ī- > ’’’ĢūB ’’’Ź1J ’’’ČūN ’’’Ę@ V ’’’Äō^ ’’’Ā"h ’’’Ąp šķ˜’ū€€’’’ø- †€’’’°- Œ @ 4’ū”€’’’Ø1˜€’’’ ū¢€’’’˜- ¬€’’’- ¼€’’’ˆ- Ģ€’’’€U^’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žw3NNNNNNNNNNNNNNNNNNNNNN”””ū- ܀’’’x- ‒’’p- 耒’’h- ī @F F’ūś @_’ @(ś& @20 @<_õ: @FüD@!¦žfaceNCrtD`maxYmax XpixelsGapixelsRolCGray_mapGray_mapSurfaceNCrtXmaxYmaxXpixelsYpixelsRowRowmaxColColmax@Ū’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žg NNNNNNNNNNNNNNNNNNNNNN”””ūSubrow SubrowmaxSubcol SubcolmaxScaleColorPenGdu X_gdu_max Y_gdu_maxRecip_n_plus_1Left_row_deltaRight_row_deltaSubyLeftRightSubxPauseG_unitsGdu_xmaxGdu_ymaxUdu_xminUdu_xmaxUdu_yminUdu_ymaxShow„FžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž TžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ˜ųNNNNNNNNNNNNNNNNNNNNNN”””ū !³@TT¶ŽI Surface(*): This is the two-dimensional real array containing the !³@TT ¶ŽI data to be plotted. It need not be square. !³@TT*¶ŽI N: Thiē‚’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĶ«NNNNNNNNNNNNNNNNNNNNNN”””ūs specifies the number of pixels square each element !³@TT4¶ŽI in the data array should be. The probability of any !³@TT>¶ŽI particular pixel in the square being on is linearly !³@TTH¶ŽI interpo„’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žžšNNNNNNNNNNNNNNNNNNNNNN”””ūlated in both directions to get a smooth !³@TTR¶ŽI transition from one value to another. !³@TT\¶ŽI Crt: This is a logical variable specifying whether or not to !³@TTf¶ŽI send the pl¤ŹžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Įƒ+…•†ż‡e‰ĪŠ8Œ¤|é‘U“Ą”+–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž œłNNNNNNNNNNNNNNNNNNNNNN”””ū wide the screen is³@DB¾ ‹ĄķĄ쐶Ž%+ Determine how many GDUs high the screen is³@VDČ µ(Ž?Šėµ(Ž?е?¹™™™™™š°’šF¶Ž% Offset of X from starting point³Ž@:V Ņ‚ķ č »¶%& Move to about middle of top of screen³Ž@<: Ü» µ2ŽBlackbody {“’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ÆČNNNNNNNNNNNNNNNNNNNNNNž”””ūRadiation¤¶Ž% Write title of plot³Ž@.<꓎ ’š¢¶Ž% Next position for title³Ž@6.š„»¶Ž%' Smaller letters for temperature legend³@46ś‚ķ µ(?īfffffgģ»¶Ž% Right below main title³@P4» µ2ŽTemperature (K): ¤¶%' Label offset to left so valB’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žś›NNNNNNNNNNNNNNNNNNNNNN”””ūue will fit³@4P»)¶%' Angular mode is degrees (used in LDIR)³@*4µ!Z»¶% Specify vertical labels³Ž@2*"µ(@ »¶% Specify smaller characters³@82,€ ‚ķ»¶%& Move to center of left edge of screen³Ž@<86» µ2ŽIntensity of Radiation¤¶% WriN’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÉŖNNNNNNNNNNNNNNNNNNNNNN”””ūte Y-axis label³@:<@„»¶Ž%+ Reference point: center of bottom of label³@(:J€»¶Ž% Horizontal labels again³Ž@F(T‚ķµŽ?±ė…øQģ ģ»¶%) X: center of screen; Y: above key labels³@:F^» µ2ŽWavelength (microns)¤¶% Write X-axis label³@Z:hµ?¹™™™™ßžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŁ”NNNNNNNNNNNNNNNNNNNNNN”””ūot to the CRT. !³@TTp¶ŽI------------------------------------------------------------------------!³@ Tz¼ ³Ž@$ „¼’’’’£ £"£#£$£%£&¤³Ž@$޼!£!£!£!¤³Ž@"˜¼ !£ !£ !£ !£ !£!£!£!¤³Ž@"¢ŃĶՀՁղ³@Šr’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žź„NNNNNNNNNNNNNNNNNNNNNN”””ū¬· гŽ@  ¶»³@ Ą»³@ Ź»³@ Ō¹³@$޵2CRT IDĄµ2ŽCæ · ®³@$č· ³Ž@ ņ‹µŽ?¹™™™™™š½$³@ üµ!°’š ³Ž@ €€źüµ!Žķ»L³@ “Ž’š č³Ž@¹³@$ŃÕÕ²³Ž@. Ī‚Ą³Ž@8 ΁Ą³Ž@B čü쐳Ž· žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žæöNNNNNNNNNNNNNNNNNNNNNN”””ū@L čü쐳Ž@V€µ1Ž’µ1…€»³Ž@ `‚»³Ž@ jń· ³Ž@ t  °Ž’č ³Ž@ ~  ņüź°’ģ ō³Ž@ ˆæ Čō· ā »&³Ž@ ’“Ž ’ģ ȳŽ@ œ“Ž ’č °³Ž@¦øŽø³Ž@  °퐳@ ŗ  ź°Ž’Ų°³Ž@ Ä  ź°Ž’Üž³Ž@ Ī č Č ©žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŒĒNNNNNNNNNNNNNNNNNNNNNN”””ū Čź³@ Ų č čČ čČź³@ ā €ź°Ž’ąŒ³Ž@ ģ 쐳@ ö Čģ萳Ž@ čČģ萳Ž@ €ź°Ž’äz³Ž@ 쐳@ ·:³Ž@(źüģčüµ!ģč³Ž@ 2»³Ž@ < ģč ģ č»&³Ž@FøŽh³Ž@&Pæźüģčō·` ģč ģ č·åžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žPNNNNNNNNNNNNNNNNNNNNNN”””ū»&³Ž@&Z¹³@d“Ž’ä Ö³Ž@ n“Ž ’ą Ž³Ž@ x“Ž ’Ü L³Ž@ ‚“Ž ’Ų 6³Ž@Œ¹³@–!сղ³Ž@  ½%’¤³@ Ŗ½%’¤³@ “½%’!¤³@ ¾±¶ Gray_Map³Œ žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž&aNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’"@ĀĀ’’b¬’’N²”ŗ ”<ž@"’’’쀒’’ˆūLP ’’’’ @ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D€’’’€ūV€’’’xū@ ’ū`@" ūn€’’’pū@ ūt€’’’hūz@ ū|@ ’’’ļū‚@ ūžéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žs2NNNNNNNNNNNNNNNNNNNNNNš”””ūūˆ@ B@ ūš@ Dš @ B¦€’’’`ūŖ€’’’XB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲ!’’Ų‒’Šūꀒ’Čūš€’’Ąūö€’’øūž€’’°ū€’’Øū €’’ ū€’’˜ū€’’ū €’’ˆū$€’’€ū.€’’xū8€’’pūDŒü’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž@NNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūN0äBX0¬’ūb@ /Bh€’’hūn0’ūt’ūz@"’’T†’’TŠ@ 5Ž0X’ü”@ OopsSoerce$ FNFide_existsLdestinatiof$FNAskXI X_gdu_max Y_gdu_max ¹’ĄéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žP=NNNNNNNNNNNNNNNNNNNNNN”””ūYDxDyScreenXminXmaxXrangeYminYmaxYrangeDecadeUnitsPerMantissaExponent TemperatureRotation New_cur/b’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž c NNNNNNNNNNNNNNNNNNNNNN”””ūveSpinDeltaDelta FNIntensityQ$Exit@  ¶Ž³Ž@ »@³@( ›µŽDemonstration of graphing.¤³@(((›µŽ--------------------------¤³@ (2›„³Ž@B <›µŽ3Press the SPACEBAR to get back to the BASIÄø’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 6_NNNNNNNNNNNNNNNNNNNNNN”””ūC System.¤³Ž@ BF›„³Ž@> P›µŽ/Press Return or ENTER to see the graphics demo.¤³Ž@&>Z½ 4¤¶Ž% Let user read messages³@ &d»@³@$ n»’6½¶Ž% Provide for exit³@0$x¼%0Ą¤¶% To store the screen image in³@60‚»"¶%( Initialize various graphicsž’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž nNNNNNNNNNNNNNNNNNNNNNNš”””ū parameters.³Ž@66ŒĄµ2ŽINTERNAL»#¶% Use the internal screen³Ž@*6–»¶% Turn on the graphics screen³Ž@,* †»¶Ž% Large letters for main title³@8,Ŗ†»¶Ž%( Reference point: center of top of label³Ž@B8“‹ĄĄ쐶Ž%+ Determine how many GDUs/žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Āƒ.…™†ˆo‰ŪŠFŒ±‡ó‘^“Ģ”9–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¹NNNNNNNNNNNNNNNNNNNNNN”””ū% Same size letters as before³Ž@(,4»¶Ž% Lower left label origin³Ž@8(>'А¶%* Number of knob pulses before action taken³Ž@28H(‰¶*% \ These three statements define the³@22R)‚¶*% > temperature in a way which can be³@.2\*(Š)ī쐶* / changed Ęz’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž "ˆNNNNNNNNNNNNNNNNNNNNNNž”””ūlogarithmically.³Ž@4.f+А¶%& Make the subroutine notice first pass³Ž@04p-•¶Ž%# Load the screen and plot the curve³@B0zµ?ą»+’-½¶Ž%% Look at the knob every half a second³Ą8B„..–¶Ž%) Looplooplooplooplooplooplooplooplooploop³ĄL8Ž-¶Ž> ---mś’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž wŪNNNNNNNNNNNNNNNNNNNNNN”””ū----------------------------------------------------------³Ž@(L˜++Ą萶% Accumulate knob pulses³@.(¢+æ'ó·†ŗ¶Ž* If not enough, return³Ž@6.¬Ķ»¶%' Load grid (in effect, erase old curve)³@*6¶0+搶% Which way was knob turned?³@>*Ą(ƒń)‚ń÷0•„’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž DźNNNNNNNNNNNNNNNNNNNNNN”””ū€ó÷(‚ń)µ!Žń÷0€ņ÷ų·h¶Žu Reached the limits³@(> Ź‹µŽ?„zįG®{½$¶% Let user know³Ž@(ŌøŽ¶Ž (in range)³@@ Ž +æ'ķæ°Ž’ ģ¶Ž*" Allow rapid change of temperature³Ž@2@ č1•¶Ž%$ Increment/decrement logarithmically³Ž@2 ņ“Ž ’ سŽ@ü¹¶/{’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ż}NNNNNNNNNNNNNNNNNNNNNNš”””ū (out of range?)³Ž@**(Š)ī쐶* Build temperature value³Ž@4*+€¶%' Start knob rotation accumulation again³@84»¶%+ Allow label to be written outside viewport³@.8$€µ8Ž@9fffffg»¶% Go to label location³@...» µ2ŽKœž*¤¶% Write new temperay’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž īLNNNNNNNNNNNNNNNNNNNNNNš”””ūture³Ž@$.8»¶% Label leaves pen down³Ž@$$B»¶% Turn clipping back on³Ž@B$L  ‚ģ°’ ¶Ž%( # data points: CEIL((Xmax-Xmin)/Dx+eps)³Ž@,B V2ӊ īÕ*Õ²¶Ž* Calculate intensity³Ž@:, ` æ »&¶Ž%' Get a data point and plot it against X³@ :j“Ž Ą2žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž»NNNNNNNNNNNNNNNNNNNNNN”””ū’„¶Ž% et cetera³Ž@ tŗ³ŽĄN ~1¶ŽA ----------------------------------------------------------------³@0Nˆ(ƒń)‚ń÷0€ó÷·’ŗ¶Ž= \ Have you reached³@40’(‚ń)µ!ń÷0€ņ÷Ž·Ęŗ¶Ž= / a boundary yet?³Ž@&4œ0€ņ·.¶Ž% Clockwise rotation³@>& ¦(‰Cž’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žˆ.NNNNNNNNNNNNNNNNNNNNNN”””ūń·š¶Ž%* Need to increment order of magnitude yet?³Ž@,> °))č¶% Increment order of magnitude³@&, ŗ(¶% Start over with mantissa³@& ÄøŽź¶Ž (mantissa<9)³@6 Ī((č¶%' In the middle of an order of magnitude³@6 Ų¹¶ (mantissa=9?)³Ž@DāøŽĘb’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž˜NNNNNNNNNNNNNNNNNNNNNN”””ū™šģµ(?ļ\(õĀ]ģµ(?Ć333333 ģµ?ģĢĢĢĢĢĶ ģ» ¶u Define subset of screen area³@Zr„됶Ž% \³Ž@| ƒ¶% \³@†! ꐶ% \³Ž@>µŽ?¹™™™™™š¶%' \ Calculate X and Y internal data³@>š"…됶Ž% /³@¤#µ!ސ¶% /³Ž@®$#"ꐶ% /³@ ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž«!NNNNNNNNNNNNNNNNNNNNNNš”””ūø¶% /³Ž@<Ā "#»¶%+ Anisotropic scaling: left/right/bottom/top³@6<Ģ»¶%) So labels can be outside VIEWPORT limits³@&6Ö% °Ž’Š ˆ¶Ž% |\³@*& ą&ˆ% óüģč°’ą d¶Ž) | \³Ž@"* ź %&æ 萶% | \³@:" ō "»¶%* ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žžrNNNNNNNNNNNNNNNNNNNNNNš”””ū | > Draw logarithmic X-axis³Ž@ : ž #»¶% | /³@& “Ž&’ą ¶Ž% | /³Ž@$&“Ž%’Š ˜¶Ž% |/³@4$  Šģ°’Ą¦¶Ž% |\³@,4 &†»¶Ž% | \³Ž@,, 0ƒ»¶Ž’²žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĶCNNNNNNNNNNNNNNNNNNNNNN”””ū% | \³@<, : "$µŽ?„zįG®{ģź»¶% A smidgeon below X-axis | \³Ž@L< D» µ2Ž#,Kœžµ2Ž10 ¤¶Ž%* Compact; no CR/LF | \ Label the³Ž@6L N‚»¶Ž%' | / X-axis³@.6 X»¶Ž% Ž’éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žTŌNNNNNNNNNNNNNNNNNNNNNNš”””ū | /³Ž@@. b !µ?„zįG®{ģč"$µ?žøQė…¹ģź»¶, | /³Ž@6@ l» µ2Ž#,Kœž ¤¶% | /³Ž@06v“Ž ’Ą ¼¶Ž% et sequens |/³@0€»¶% | \³@Š!"…»%¶Ž% | \³Ž@:”! #…»%¶Ž%$ | > OnlfžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žgåNNNNNNNNNNNNNNNNNNNNNN”””ūy powers of 10 on Y-axis³Ž@:ž…ģ"»$¶Ž% | /³Ž@Ø»¶% | /³@6²"#…ģ°’°`¶Ž% Logarithmic Y-axis |\³Ž@,6 ¼„»¶Ž% Big chars for "10" | \³@., ʈ»¶Ž% | \³Ž@<. Š!µ?žøQė…¹ģź»¶Ž% Smidgeon leP’’ģ’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž2¶NNNNNNNNNNNNNNNNNNNNNNš”””ūft of Y-axis | \³@J< Ś» µ2Ž#,Kœžµ2Ž10¤¶%+ | \ Label the³@8J 䂻¶Ž%( Small chars for exponent | / Y-axis³Ž@.8 ¶Ž% | /³@@. ų!µ(?™™™™™™šģź$µ?„zįG®{ģč»¶- | N—’ĄéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‡NNNNNNNNNNNNNNNNNNNNNN”””ū /³Ž@6@ » µ2Ž#,Kœž¤¶% Compact; no CR/LF | /³@26 “Ž’°r¶Ž% et sequens |/³Ž@T2¶ŽI Here is where the action starts.........................................³@4T Ķ»¶%$ Store the screen image in the array³Ž@,4*„»¶ŽąžzNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Z‚Ęƒ2…ž† ˆu‰ąŠJŒ“‡ń‘\“Ē”2–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žcäNNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’ņ@ĀĀ’’&ą’’L6 6˜!’’’FH ’’’D*$N@"’’žž@"’’žģ @ ’’žäŖ@ ’’žÜ$@ ’’žŌś2@ ’’žŅ*$> ’’’B –VP ’’’’ –œ ’’’@żb ’’’>Ŗ€P ’’’’Ŗ$t ’’’<ł†@ ’’žŠłzˆŖ$ A –Œ@ *$¦0¬x’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žPÕNNNNNNNNNNNNNNNNNNNNNN”””ūü –°@ –Ā€’’’4*$’’’ ź@ –Ü@ *$ų& – IIdd$Dev_id Address_num Des_headerTestCount Io_headerLink_end™»’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž†NNNNNNNNNNNNNNNNNNNNNN”””ū Unknown_dev$ Describe_rec@ č¼ ³Ž@ ņ¼D€¤³@ü¼!£!£ !£ !£ !¤³@¼’’’’!¤³Ž@ ¶Ž³Ž@B ¶Ž6******************************************************³Ž@BB$¶Ž6 This is sŚn’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž6·NNNNNNNNNNNNNNNNNNNNNN”””ūegment 1 of the program. It stores Indentify³Ž@8B.¶Ž, and Describe information in the array Idd$.³Ž@B88¶Ž6******************************************************³Ž@ BB¶Ž³Ž@ L½ ’½³@V‡°Ž’šü³Ž@ `»'»z»5³Ž@ jĒĄ³@t“Ž|’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž&‰NNNNNNNNNNNNNNNNNNNNNN”””ū’šʳŽĄ~¶Ž³Ž@ ˆ ź³@ ’›„³Ž@ œ¶Ž³Ž@B ¦¶Ž6******************************************************³Ž@@B°¶Ž4 This is segment 2 of the program. It identifies all³Ž@:@ŗ¶Ž/ devices on the link and provides their address³@>:ĶŽ2 iB·NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž øNNNNNNNNNNNNNNNNNNNNNN”””ūn the link. It also uses two subprograms called³Ž@>>ζŽ3 Describe_rec and Io_descriptor. These subprograms³@.>Ų¶Ž" describe what each device can do.³Ž@B.ā¶Ž6******************************************************³Ž@ Bģ¶Ž³Ž@ ö °Ž’ąd³Ž˜Ł’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž @ėNNNNNNNNNNNNNNNNNNNNNNš”””ū@ Ē„’æ ³@   ›„³Ž@ ¶Ž ³Ž@ ǃ’æ ³@ ( Ē…’æ ³@ 2ĒĒæ ’æ ³@  <¶Ž ³Ž@ F» j³Ž@4 P»Ž4€µ!Ž»»޶Ž Vectra Keyboard³Ž@@4 Z›µBŽ/HP 46030A (Vectra Keyboard) located at address Ÿ¤³Ž@.@ d»Ž4µ!0»»¬hžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž sŚNNNNNNNNNNNNNNNNNNNNNNš”””ūH¶Ž Function Box³@<. n›µBŽ,HP 46086A (Function Box) located at address Ÿ¤³@,< x»Ž4µ!4»»“¶Ž ID Module³Ž@@, ‚›µBŽ0HP 46084A (HP-HIL ID Module) located at address Ÿ¤³@2@ Œ»Ž4µ!\»»&¶Ž Bar Code Reader³Ž@@2 –›µBŽ/HPžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž źMNNNNNNNNNNNNNNNNNNNNNNš”””ū 92916A (Bar Code Reader) located at address Ÿ¤³Ž@6@  »Ž4µ!`»» ¶Ž Rotary Control Knob³Ž@D6 Ŗ›µBŽ3HP 46083A (Rotary Control Knob) located at address Ÿ¤³Ž@DD “»Ž4µ!a»» J¶Ž" Control Dials and Quadrature Port³Ž@FD ¾¶Ž : This *’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ł|NNNNNNNNNNNNNNNNNNNNNNž”””ūis a test to determine if the device is an HP 46085A³Ž@FF ȶŽ : or an HP 46094A. Note that both of these devices have the³Ž@F ҶŽ  same ID number.³Ž@ Ü€Ąśü· ü³Ž@N ꛵BŽ=One third of an HP 46085A (Control Dials) located at address Ÿ¤³Ž@N šYžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŒ/NNNNNNNNNNNNNNNNNNNNNNž”””ūøŽ J³Ž@F ś›µBŽ6HP 46094A (HP-HIL Quadrature Port) located at address Ÿ¤³@F ¹³@* »Ž4µ1h»» ¬¶Ž HP Mouse³@8* ›µBŽ(HP 46060A (HP Mouse) located at address Ÿ¤³@.8 "»Ž4µ1Œ»» ¶Ž Touchscreen³Ž@<. ,›µBŽ+HP 35723A (Tou.£’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žæNNNNNNNNNNNNNNNNNNNNNNš”””ūchscreen) located at address Ÿ¤³Ž@.< 6»Ž4µ1“»» €¶Ž Digitizer A³Ž@<. @›µBŽ+HP 46087A (Digitizer A) located at address Ÿ¤³Ž@.< J»Ž4µ1”»» ź¶Ž Digitizer B³Ž@<. T›µBŽ+HP 46088A (Digitizer B) located at address Ÿ¤³Ž@2< ^»Ž.ožNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÆ NNNNNNNNNNNNNNNNNNNNNN”””ūN¶Ž 2 (delta<0) ! Counterclockwise rotation³Ž@>D ģ(ń·č¶Ž%* Need to decrement order of magnitude yet?³Ž@,> ö))ź¶% Decrement order of magnitude³@2, (‰¶%% Start mantissa over again at top end³@2  øŽ8¶Ž (mantissa>1)³@6 ((ź¶Dˆ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žœNNNNNNNNNNNNNNNNNNNNNN”””ū%' In the middle of an order of magnitude³@6 ¹¶ (mantissa=1?)³Ž@(¹¶ (delta>0?)³@ 2ŗ³ŽĄ <6»³@ F»@³@0 P›µBŽ!You are back in the BASIC System.¤³Ž@0Z½¶Ž% finis³Ž@Td¶ŽI *******************************************************7žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÉBNNNNNNNNNNNNNNNNNNNNNN”””ū*****************³a€0ĄĄnĮ’’žī@’’ŠzTn0’ū0B €’’’üū €’’’ųDš"€’’’ųū.sity FNIntensity Intensity Wavelength Temperature Intensity³Ž@. xµPŽ@āD@…=žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žśsNNNNNNNNNNNNNNNNNNNNNN”””ūīķµH@,Ē®zįHģüķæźü퐳Ž@ . ‚ŗ³@ Œ½³Žõ“ <®’ü n €`¢?<Hn’ü?<NŗńŖ?<8NŗńźHząNŗõ€/.’ü/<~@N¹ n 爁/<~@ nęˆ€/N¹ .’üŸ//<pN¹ nPų 눁P/.’ü/<pN¹ n’ą’ ሁ``L n ¼'p°nf nö*žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Āƒ,…•†ˆk‰ÕŠ@Œ«ƒī‘Z“Å”0–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žLžNNNNNNNNNNNNNNNNNNNNNN”””ū4µ1•»» \¶Ž Graphics Tablet³Ž@@2 h›µBŽ/HP 45911A (Graphics Tablet) located at address Ÿ¤³Ž@8@ r»Ž4µ1 µ1æ»» ʶŽ Integral Keyboard³Ž@68 |›µBŽ%Integral Keyboard located at address Ÿ¤³Ž@<6 †»Ž4µ1Ąµ1ß»» F¶Ž HP 46vĖžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĻNNNNNNNNNNNNNNNNNNNNNN”””ū020/21A Keyboard³Ž@@< ›µBŽ/HP 46020/21A (ITF Keyboard) located at address Ÿ¤³Ž@4@ š»Ž4µ1ą»» °¶Ž HP 98203C Keyboard³@64 ¤›µBŽ&HP 98203C Keyboard located at address Ÿ¤³@6 ®»Ž4³Ž@8 ø›µBŽ(Un-recognized device located at address ņ®’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž*œNNNNNNNNNNNNNNNNNNNNNN”””ūŸ¤³@8 µ!Ą³Ž@  Ģ›µBŽ Device ID is Ÿƒ’¤³Ž@ Ö»³@ ąŃ ÕÕÕ²³Ž@  ź¶Ž ³Ž@ ō“Ž’ąō³Ž@ ž›„³Ž@ ›µBŽNO MORE DEVICES.¤³@ ¶Ž³Ž@ ½³Ž@ &¶Ž³Ž@@ 0¶Ž5*****************************************************³@@@:PDžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž­NNNNNNNNNNNNNNNNNNNNNN”””ū¶Ž5 This is segment 3 of the program. It is a subprogarm³@:@D¶Ž/ that provides information on each device. This³@@:N¶Ž4 information will help you determine what you can do³Ž@&@X¶Ž with a particular device.³Ž@@&b¶Ž4****************************מNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž€:NNNNNNNNNNNNNNNNNNNNNN”””ū************************³Ž@ @l¶Ž³Žš@vĀĀV` ’’4J¶|VŖ  &Ŗ$ ’’’ü – ’’’ųż ’’’ōŖ&<Ŗ$. A –0@ *$:| –H_`eader Address_numFdev_id   Describe_rec Des_headełś’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž³ NNNNNNNNNNNNNNNNNNNNNN”””ūr Address_numDev_id Io_header Io_descriptor³Ž@ €¼’’’’!¤³Ž@ жŽ³Ž@. ”›‚½£µŽDescribe Record Information¤³Ž@. ž€ń·ƳŽ@& ؛…½£µŽNo special features¤³Ž@& ²×³@ ¼¹³@> Ę‚MXžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žęXNNNNNNNNNNNNNNNNNNNNNNš”””ūĄ·›…½£µŽ!Reports Security Code information¤³Ž@B> ŠƒĄ·F›…½£µŽ&Supports the Extended Describe command¤³@ B ڶŽ ³Ž@ 䄥·jŃÕ²³Ž@L ī‡Ą·¶›…½£µŽ0Contains two independent sets of coordinate axes¤³@ L ų¶Ž ³Ž@ „ļ» c žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÕiNNNNNNNNNNNNNNNNNNNNNN”””ūŌ³Ž@  »Ž€»»Ž&³Ž@. ›…½£µŽNo axis information reported¤³@.  ׳@ *»Ž»»Žp³Ž@. 4›…½£µŽX axis information reported¤³Ž@. >»Ž‚»»ŽĄ³Ž@4 H›…½£µŽ!X and Y axis information reported¤³Ž@4 R»Ž)*’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÅWNNNNNNNNNNNNNNNNNNNNNN”””ūƒ»»Ž³Ž@6 \›…½£µŽ$X, Y and Z axis information reported¤³@ 6 f»³@ p¶Ž ³Ž@ z†Ą·v³Ž@. „›ˆ½£µŽAbsolute positioning device¤³Ž@. ޸ެ³Ž@. ˜›ˆ½£µŽRelative positioning device¤³Ž@. ¢¹³@ ¬…Ą·ņ³Ž@& ¶›ˆ½£µŽčĢ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž öfNNNNNNNNNNNNNNNNNNNNNN”””ūReturns 16 bits/axis¤³@& ĄøŽ ³Ž@& Ź›ˆ½£µŽReturns 8 bits/axis¤³Ž@& Ō¹³@ޱ³@ č¶Ž³Ž@< ņ¶Ž1*************************************************³@6<ü¶Ž* This is segment 4 of the program. It is a³Ž@86 ¶Ž- subprogram that provides you ?’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž £5NNNNNNNNNNNNNNNNNNNNNNš”””ūwith additional³@08 ¶Ž% information on what a device can do.³@<0 ¶Ž1*************************************************³@ < $¶Ž³Ž@ .ĀĀ’’ūŠ ’’ŗnrFvnn |Ŗ$ ’’’ü –€’’’ų*$āEé°-J’ŽāEé°-J’Ž  Io_depH’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ūscriptor Io_header Test_bits³Ž@, 8›…½£µŽI/O Descriptor Information¤³@, B€ń·$³Ž@ L›ˆ½£µŽ No features¤³Ž@ V׳@ `¹³@F j‡Ą·j›ˆ½£µŽ)Recognizes General Prompt and Acknowledge¤³Ž@ F t¶Ž ³Ž@øī’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  “NNNNNNNNNNNNNNNNNNNNNN”””ū ~µ1€ļüµ!š³Ž@ ˆ» œ³Ž@ ’»Ž»Žų³Ž@@ œ›ˆ½£µŽ.Does not support Prompts/Acknowledges 1 thru 7¤³@@ ¦»Ž»ŽD³Ž@0 °›ˆ½£µŽSupports Prompt/Acknowledge 1¤³Ž@0 ŗ»Žī‚»»Ž˜³Ž@8 ěˆ½£µŽ%SupportsŅžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž :¢NNNNNNNNNNNNNNNNNNNNNN”””ū Prompts/Acknowledges 1 and 2¤³Ž@8 Ī»Žī³Ž@< Ų›ˆ½£µŽ%Supports Prompts/Acknowledges 1 thru æū¤³Ž@ < ⻳@ ģ¶Ž ³Ž@8 öƒĄ·2›ˆ½£µŽSupports Proximity Detection¤³@ 8 ¶Ž ³Ž@ ˆļü³Ž@ » \³Ž@ »Žn€»»Ž¢³ŽX žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žońNNNNNNNNNNNNNNNNNNNNNN”””ū@* (›ˆ½£µŽDoes not report buttons¤³Ž@* 2»Žn»»Žą³Ž@" <›ˆ½£µŽReports 1 button¤³@" F»Žn‚»»Ž&³Ž@* P›ˆ½£µŽReports buttons 1 and 2¤³Ž@* Z»Žn³Ž@. d›ˆ½£µŽReports buttons 1 thru æū¤³Ž@ . n»³@  x±³_ ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž\ĄNNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’D@ĀĀ’’’’ü¼(’’*66ō@66@ h’’’ģ@ ’’’š@ ’’’čüC ’’’äP ’’’’Xp @ ’ü2@ ’’’āV¶@@ ’’’ąüD@ dV¶H@ nBL@ ’’’ŽP@ ’’’ÜR@"’’’Č@ ^@"’’’“h’’’Ų$@ ’üx@ ²Ž’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNī€X‚Įƒ-…—†ˆk‰ÕŠ?Œ«‡ō‘`“Ė”6–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž >£NNNNNNNNNNNNNNNNNNNNNN”””ūl æ ¶Ž. Is key in table?³@" v· ī³Ž@ € ‚ž³Ž@ Š›Ÿµ2Ž Ÿ„³@ ”µ2Ž ö· ¾³Ž@žčü‚ķǐ³Ž@؁µ! µ?Ó333333»&³Ž@ ²øŽ ڳŽ@¼µ?Ó333333½#³Ž@ ƹ³@  Š ū³@ ڹ³@  äč³@ ī¹³@ų»Žl³Ž@ ŗ³Ž@ >Ż’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ’NNNNNNNNNNNNNNNNNNNNNN”””ū ¶Ž³ŽĄ ¶Ž³Ž@  »@³@0 *›µ2Ž"Here are the notes entered so far.¤³@ 04›„³Ž@ >› ¤³@ H æ ź‚°’ģ @³Ž@ R ‚ž³Ž@ \µ2Ž ö· ³Ž@ f æ čü‚ķǐ³@ pµ! µ?Ó333333»&³Ž@ zµ?Ó333333½#³Ž@ „øŽ .³Ž@ ޵?Ó3333ĆéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žXĮNNNNNNNNNNNNNNNNNNNNNN”””ū33½#³Ž@ ˜¹³@¢“Ž’ģ œ³Ž@"¬ĄŁžµ2ŽAŸµ1’æµ2<ūŸ„³Ž@8"¶½ µ2&Add to this song?, or Delete it? (A/D)½¤³Ž@8ĄżĄµŽAńŽ· ō³Ž@  Ź»@³@& Ō›µ2ŽEnter additional notes.¤³Ž@&ŽøŽ N³Ž@  č»@³@ ņ µBސ³@ ü›µBŽ Song cleŹÄžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žkšNNNNNNNNNNNNNNNNNNNNNNš”””ūared.¤³Ž@ ›µBŽEnter a new one.¤³@¹³@ ŗ³Ž@ $¶Ž³ŽĄ .ŗ³Ž@ 8¶Ž ³ŽĄ B»@³@ L³@ V€³Ą ` ¶Ž³Ž@.j½ µBPlease enter file specifier.½!¤³Ž@.t›µBŽ Thank you.¤³@~½ ’#½³@ˆ$½1!½-½2³Ž@ ’$Ūž ¤³@ œ0K’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž{ĪNNNNNNNNNNNNNNNNNNNNNN”””ūü$@ ’üŒ@ Jؾ@ ü¢@ ü°@ üTofsS_hSSn$Sn_disp$‰OžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žH’NNNNNNNNNNNNNNNNNNNNNN”””ū@ µ"Ž SERIAL NUMBERĄ³@µ"Žń·˜³Ž@* ›µ"ŽNO SECURITY MODULE PRESENT.¤³Ž@ * (½³Ž@ 2¹³@H<ٵ"9Dœžµ1µ1µ8@pˆ’æ µ!Ž@ļü쇒æ čü솒æ čüģ…’æ 褳Ž@VHF›µ1޵8@pAĮ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¬NNNNNNNNNNNNNNNNNNNNNN”””ū„’æ ‡Ąģƒ’æ čüģ‚’æ čæ„’æ µ1Ž€ļæū£„ż‰’æ µ1€ļæ…’ūū¤³@ VP½³Ž³Ž€€€<€N€€€’ž¢’’ė|’’裸’ōš’’ōÖ’’õ’’õj’’üŖŅé‚T€€€,Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­Ø#žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž.NNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’ü@ĀĀ’’’’šś$ŠŲō–āō, ’’’źś"@ ’’’čś@ ’’’ąś!’’’‚’’’n@!Ä’śČ ’’’l$J* ’’’jż2 ’’’hg<> ’’’JH ’’’,P ’’žĘ\ ’’ż4b@ ’’’óśh0¾¤Jr€’’ż,ś|€’’ż$ś†@ ś”0L«’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž· NNNNNNNNNNNNNNNNNNNNNN”””ū d¤Jš@ ś 0 (¤JŖ@ ś“0 |¤J¾@ śČ0 ʤJŌ@ śą0ʤJꀒ’żśģ’’żō’’üōś€’’üģś’’üŲ0 œ’ś’’üÄ"@ "ś.02¤J:’’ü’’F0 ź’śL0X’śX@ 'śd@ (śp@ )ś|ebKey_posJgrite_flaĒ>ž~NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž„;NNNNNNNNNNNNNNNNNNNNNN”””ūFreqNote$PointerKey_pos Write_flag Read_flagScale$ Key_codes$Key$Song$ Trap_keysKbd_type Last_softkeyNo_op Play_song Read_song Store_songDoneSoftkeyKeys$ Alpha/J’ģ’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŃhNNNNNNNNNNNNNNNNNNNNNN”””ū_key$ This_freqAns$ Read_song2 File_spec$ File_error@File Store_song2 Store_song3@ d¼ ³Ž@ n¼!£!£!£!¤³Ž@ x¼ @£ @Ž£ @Žd£ @ސ¤³@ ‚¼€ ¤³@ Œ¶Ž³Ž@F –¼ "C Ķąžl’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žāYNNNNNNNNNNNNNNNNNNNNNN”””ūC#D D#E F F#G G#A A#B C  " ¶Ž+ Last char. is "rest".³Ž@ F   ¤³@ Ŗ¶Ž³Ž@L “¼ "A_W_S_E_D_F_T_G_Y_H_U_J_K_ _" ¶Ž+ Keys for above notes, resp.³Ž@ L¾  ¤³@ ȶ޳Ž@@ Ҽ 5 523,554,587,622,659,698,740,784,831,880,932,988,1046³@2@Ü ͤ¶Ž# F×»’³žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žņgNNNNNNNNNNNNNNNNNNNNNNš”””ūrequencies for above notes, resp.³@ 2ę¶Ž³Ž@ š µ2ސ³@ ś¶Ž³Ž@( »’½¶Ž Re-define keyboard.³Ž@ (¶Ž³Ž@ »@³@ "¶Ž³Ž@. ,Ąµ!Ž­€£€¤¶Ž Get into known mode.³@.6Ą‰®¤³Ž@@…Ą·,³Ž@ Jˆ¶ ITF keyboard.³Ž@œmžżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĮVNNNNNNNNNNNNNNNNNNNNNN”””ūTøŽR³Ž@ ^‰¶ 98203 keyboard.³Ž@h¹³@"r‰ń·t€µŽ ½½’½³@"|µŽPlay½½’½³@†‚µŽLoad½½’½³@ƒµŽStore½½’½³Ž@š„µŽDone½½’½³@¤…°Ž’š³Ž@ ®µ2Ž ½½’½³Ž@ø“Ž’šņ³Ž@(#žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ”NNNNNNNNNNNNNNNNNNNNNNš”””ūĀ”»>¶Ž Turn on softkey labels.³Ž@0(́»/¶Ž Make sure right menu is active.³Ž@ 0ֶ޳Ž@ ą» ³@ ź»ŽŒ³Ž@ ō¶Ž³Ž@ ž½³Ž@ ¶Ž³ŽĄ. ¶Ž Defines keys as piano keyboard.³Ž@2.Ą¶" Read (and empty) keyboard buffer.³Ž@B‹’’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž §4NNNNNNNNNNNNNNNNNNNNNNš”””ū2&¶5 Initialize pointer (to current character in buffer).³@ B0¶Ž³Ž@ :æ ō» ³Ž@2 Džµ1’æń·ö¶Ž, It is a "system" key,³Ž@2 N‚萶+ so skip it.³Ž@( XøŽ ¶Ž+ It is an "alpha" key.³Ž@&( bžĄ¶- Read 1 character.³Ž@"& ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚Ń/…›†ˆq‰ÜŠGŒ³‰ō‘_“É”3–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ³ćNNNNNNNNNNNNNNNNNNNNNNš”””ūį"žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž €ŅNNNNNNNNNNNNNNNNNNNNNN”””ūArrayLetterPointsFLAX@  »@³@, ›µŽDemonstration of use of IPLOT.¤³@.,›µŽ --------------------------------¤³@ .(›„³Ž@T 2›µŽPress Ÿµ1Ž„æŸµ2ŽReturnŸµ1Ž€µ£’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ՁNNNNNNNNNNNNNNNNNNNNNN”””ū柵2Ž or Ÿµ1Ž„æŸµ2ŽENTERŸµ1€æ¤³@ T<½ ¤³Ž@( F¼ ¶Ž# Make the arrays start at 1³@6(P¼B€€¤¶# Set aside space for the array³Ž@46Z»"¶#' Initialize various graphics parameters³@64dĄµ2ŽINTERNAL»#¶# Use the internal screen³Ž@&6fŚ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ę°NNNNNNNNNNNNNNNNNNNNNN”””ūn»¶# Turn on graphics screen³Ž@0&xµ!Ž#µ!ėµ!Ž»¶# Isotropic scaling³Ž@*0‚C„°Ž’š†¶Ž# Four letters total³@.* Œ D¤¶# How many points in this letter?³Ž@@. –»uBĪD»wƒ»w»x¶#" Adjust the array size accordingly³Ž@2@   Bͤ¶Ž#" Read thžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 'NNNNNNNNNNNNNNNNNNNNNN”””ūe correct number of points³Ž@62 ŖC†ģ€»¶#$ Move to lower-left corner of letter³Ž@ 6 “BĶ»D»F¶Ž# Draw letter³Ž@ ¾“ŽC’šp¶Ž# et cetera³ŽĄR ČE¼ D 10, 0,5,-1, 5,0,-1, 0,-1,-1, -4,0,-1, 0,-1,-1³Ž@PRҼ D 3,0,-1, o¦’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž LNNNNNNNNNNNNNNNNNNNNNN”””ū 0,-1,-1, -3,0,-1, 0,-2,-1, -1,0,-1³ŽĄRPÜF¼ D 6, 0,5,-1, 1,0,-1, 0,-4,-1, 4,0,-1, 0,-1,-1³Ž@Rę¼  -5,0,-1³ŽĄRšG¼ E 12, 2,5,-1, 1,0,-1, 2,-5,-1, -1,0,-1, -.4,1,-1³@PRś¼ D žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ENNNNNNNNNNNNNNNNNNNNNN”””ū -2.2,0,-1, -.4,-1,-1, -1,0,-1, 1.8,2,-2, .7,2,-1³Ž@(P¼  .7,-2,-1, -1.4,0,-1³ĄR(H¼ E 12, 1.9,2.5,-1, -1.9,2.5,-1, 1,0,-1, 1.5,-2,-1, 1.5,2,-1³@PR¼ E 1,0,-1, -1.9,-2.5,-1,1.9,-2.5,-1, -1,0,-1, ļNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž *tNNNNNNNNNNNNNNNNNNNNNN”””ū -1.5,2,-1³@&P"¼  -1.5,-2,-1, -1,0,-1³@<&,‘µ2Ž-Program returns to BASIC System in 4 seconds.¤³Ž@ <6„½#³@ @»³@ J»@³@$ T‘µ2ŽYou can use BASIC now.¤³@$^½¶Ž# Finis³Žąū4’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž :JNNNNNNNNNNNNNNNNNNNNNN”””ū$½0³@ ¦½ ³Ž@ °»@³@ ±›„³Ž@& ŗ›µBŽSong read successfully.¤³Ž@8&ěµBŽ*Select an option (input notes, Play, etc.)¤³@ 8΃½#³@ Ų»@³@ āŗ³Ž@ ģ¶Ž³ŽĄ ö»@³@ ³@  €³Ą %¶Ž³Ž@.½ µBPlease enter file specifier.µé’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  {NNNNNNNNNNNNNNNNNNNNNNš”””ū½!¤³Ž@.(›µBŽ Thank you.¤³@2½ ’#½³@ b’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž £ŻNNNNNNNNNNNNNNNNNNNNNN”””ū’ū0 (’ū0 ”’ū0 ^’ū ide_existsLdestinatiof$FNAskQ$®h’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Āƒ-…˜†ˆm‰ŲŠEŒ±‹ų‘e“Ń”>–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Į¾NNNNNNNNNNNNNNNNNNNNNN”””ūalpha height³Ž@<*dĄµ!Ž ®¤¶Ž'% Use height for alpha/graphics split.³@<<nĄ‰®¤¶Ž'( Use ht. and width for graphics scaling.³Ž@&<x‰»?¶' Set to minimal value.³Ž@@&‚€‹Ąģµ1„ķ‹» ¶Ž)% Specify graphics area (above alpha).³@4@Œ€€‰ź»¶'! SŪ_’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ņNNNNNNNNNNNNNNNNNNNNNN”””ūet up scaling on graphics area.³@<4– µ!š¶Ž'( 20 char. widths for horz. icon spacing.³Ž@><  ‰źü†šč¶Ž'( 6 char. widths for vert. icon spacing.³Ž@8>Ŗ½ ½ ½½½-¤¶- Array for icon "states".³@68“ŌĶÕ²¶'% Determine which cells contain±ė’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž §ÜNNNNNNNNNNNNNNNNNNNNNN”””ū icons.³@,6¾  °Ž’ų®¶Ž' Draw rows of icons.³Ž@., Č  °Ž’üœ¶Ž' Draw columns of icons.³@4. Ņ €É·ŠŃ Õ Õ²¶Ž4 Draw (if icon there).³Ž@4 Ü“Ž ’üV³Ž@꓎ ’ų(³Ž@6š»¶'( Enable raster (if separate from alpha).³Ž@ 6śĄµ!ŽĶ@Ļ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ”ķNNNNNNNNNNNNNNNNNNNNNN”””ū»K¶' Test for³@, €Ē€ņ·œ¶Ž' Touchscreen or Tablet.³@:, Ąµ2ŽTABLET»3¶' Specify Touchscreen as input.³Ž@2:øŽŗ¶Ž' Use Knob, Mouse, or Arrow Keys.³Ž@2 "Ąµ2ŽKBD»3³Ž@,¹³@46» ¶'' Indefinitely (i.e., until "Stop" key).³@84 @3½’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž „ÓNNNNNNNNNNNNNNNNNNNNNN”””ū»4¶'' Read coords. of pointer (& proximity).³@,8 J»0¶' For non-Touchscreen systems.³@0, T Šš¶'! Begin conversion to icon coords.³@ 0 ^ ƒš³@4 h€õ ‚ļüś÷ ‚ļüś÷· D¶Ž: Pointer is on icon.³Ž@44 r ‚šč¶'" Finish conversion to icon coords.ˆKžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ·āNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@4 | ‚šč³@0 † ņ ņų· 4˜¶Ž' Out of bounds at top.³Ž@00  €É· ¶Ž' Icon present in this cell.³@00 š ÉśŽ· 0¶Ž' This icon is not framed.³@00¤Ō Õ ÕĶÕ²¶* Un-frame all other icons.³Ž@(0®Ō Õ Õ²¶Ž' Then frame this one.³@((ø %®’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ā±NNNNNNNNNNNNNNNNNNNNNN”””ūɁ¶' Set flag to "framed".³Ž@( ¹¶ Icon not framed.³@4 ̇’æųü Ɂń÷Ž· ō¶ŽD Pointer withdrawn³Ž@$4ÖŌ Õ Õ²¶Ž3 (so select it).³Ž@*$ą ɂ¶3 Set flag to "selected".³Ž@$*ꀐ¶3 For KBD only systems.³Ž@$ ō¹¶ Pointer withdrawn.³7U’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  рNNNNNNNNNNNNNNNNNNNNNN”””ū@& ž¹¶ Icon present in this cell.³@*& øŽ ʶŽ Pointer is not on icon.³ŽĄ>* ԁėՁėÕĶÕ²¶(% Unframe and clear flag on all icons.³@$> €¶( For KBD only systems.³Ž@ $ &¹¶ Pointer is on icon.³Ž@ 0»Žī³Ž@ :¶Ž³ŽĄ$ D Ą¶( RŁą’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  HNNNNNNNNNNNNNNNNNNNNNN”””ūead keystroke(s).³@2$N æ » x¶Ž( Be sure to process all keys.³@2 X ‚ż» Ž L³Ž@6 b»Žhµ1’æµ2!ū»» ą¶Ž( "Stop" key.³Ž@,6 l»?¶Ž( Restore full screen height.³Ž@2, v½¶Ž(% Terminate program (non-continuable).³@P2 €»Žhµ1’æKmžÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  {&NNNNNNNNNNNNNNNNNNNNNNš”””ūµ2&ū»µ1’æµ2Xū»» F¶Ž+ For KBD only systems.³Ž@ P Ё³@ ” ƒ’³@V ž»Žhµ1’æµ2^ū»µ1’æµ2Vū»» ضŽ+ Ignore Up & Down Arrow Keys³Ž@ V Ø ƒ’³@* ²»Žh¶Ž All other keystrokes.³Ž@* ¼ żµ1’æń·³Ž@  Ę‚³i3ž@éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž .uNNNNNNNNNNNNNNNNNNNNNN”””ū@ и޳Ž@  ځ³@ ä¹³@< īĄŁž żŸ„¶& Send them to the keyboard input line.³Ž@< ų č’³@  »³@  »Ž ³Ž@&ŗ¶Ž From subroutine "Test".³Ž@L& ½¶Ž? of main program. *********************************************³@ L*¶ŽUL’ˆżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž DNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž ‚’’’ōü @4ĀĀx@’’ĄlvxnT SE ’’’üž ’’’ųjme_acon Fme_acon F  Frame_iconIJ¶Ž#& Draws/undraws a frame around an icon.³Ž@" >€»¶Ž# Complementing pen.³Ž–’ĻśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  zNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’\@ĀĀ’’R’’fźrōörž¤!’’’ö€’’’’’ęü3’’’ā0 āXp Ō’ü2 ’’’ąV¶@ ’’’ŽüD A V¶H ABL ’’’ÜP ’’’ŚR’’’Ęø^’’’²h ’’’°SE$’üx@ żtžśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž >KNNNNNNNNNNNNNNNNNNNNNN”””ūSET’üŒŠJؾ@ SE”@ SEl@ SE0 D’ž„@ ’’’ēSE¢@ SE°@ SEĢP ’’’’SEŌ ’’’®üLdefine_icI_sTQTestK$XYIcons Picked_flag Define_iconsS_hS_wI_xI_yIJ Draw_iconA$ Frame_icoTBžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž kNNNNNNNNNNNNNNNNNNNNNN”””ūnTopDo_icon Cancel_icons@* ¶Ž ICON picking with Touchscreen³@ *¶Ž³Ž@: ¼’’’’ !£ ¤¶'" Number of icons in X and Y dir's.³Ž@H:(¼!£!£ !£ !£%€£!¤ß<žgżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž X)NNNNNNNNNNNNNNNNNNNNNNš”””ū¶Ž'% Screen height and width; misc. vars.³@&H2¼!¤¶' For KBD Only systems.³Ž@*&<»"¶' Initialize graphics system.³Ž@B*FĄµ"ŽINTERNAL»#¶'$ Select graphics display as plotter.³Ž@(BP»’½¶Ž' Set up key trapping.³@*(Z»?¶Ž' Restore full xžgżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Z‚Ęƒ0…›†ˆo‰ŁŠCŒÆ†ń‘]“Ē”0–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ”–NNNNNNNNNNNNNNNNNNNNNN”””ū@" Hµ!źü솁źü컳Ž@  RŠ€» ³@ \€ƒ» ³@ fŠė€» ³Ž@ p€ƒė» ³Ž@$ z»¶Ž# Back to default pen.³@$„±¶ "Frame_icon"³@ ޶޳Ž@˜ĀĀJ` ’’*>ĄDJ“ 6 ŠSE ’’’üž ’’’ųj#’’’šž2Å;NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ’§NNNNNNNNNNNNNNNNNNNNNN”””ūSE A ž Aj  ’’’öSE$ ’’’ōž&@ SE(’ž4@   Cancel_iconsIJIconsI_sI_xI_yKL Frame_icon¶Ž.! Unframes icons and clears flags.³@ ¢¼’’’’!£ ¤³@ ¬¼!£!¤³Ž@& ¶°Ž’ų6¶Ž. For a’yžÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĒōNNNNNNNNNNNNNNNNNNNNNN”””ūll rows.³Ž@(& Ą°Ž’ü$¶Ž. For all columns.³@.( Źńń÷üśÉ÷·¶Ž8 Icon flagged.³Ž@".Ō ŌÕÕ²¶Ž. Unframe icon.³Ž@"ށɀ¶. Clear flag.³Ž@ č¹³@ ņ“Ž’üœ³Ž@ ü“Ž’ųt³Ž@±³@ ¶Ž³Ž@ĀĀä ’’øĶ8žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ōÅNNNNNNNNNNNNNNNNNNNNNN”””ūŲränŠ ŌSE#’’’ųž ’’’öSE ’’’ōž@ ’’ł¶@' Define_iconsIconsIJ¶Ž*# Specify which cells contain icons.³@4 $¼!£!¤¶Ž*! Replace with your own routine to³@>4 .΁Ą°’ųжŽ*" assign screen locations ty×’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž mRNNNNNNNNNNNNNNNNNNNNNN”””ūo icons.³Ž@<> 8Ī‚Ą°’ü¾¶Ž*! (This should be coordinated with³@8< B€Éö¶*$ "Draw_icon" and "Do_icon" routines.³Ž@8 Lɀ³@ V“Ž’üf³Ž@ `“Ž’ų*³Ž@j±³@ t¶Ž³Ž@~ĀĀJ@ ’’<ŠD0Č@ŹNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ^cNNNNNNNNNNNNNNNNNNNNNN”””ū øSE ’’’üž ’’’ųj DSE A(ž"’’ż"’’ū "’’ł@ "’’÷$"@ @ @ @ ³Ž@6@!$¼(" D  Draw_iconIJD_i Next_iconABCD¶Ž(" Draws icon at specified location.³Ž½žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  0NNNNNNNNNNNNNNNNNNNNNNž”””ū@6 ˆ¼’’’’!¤¶Ž( Replace with routine that draws³Ž@ 6 ’čü„Ž( your icons.³Ž@ œµ(@»³@h ¦¼ ] 2,1,0,0,0,6,2,2,-1,3,2,1,3,1.6,1,7,1.6,1,7,2,1,8,2,1,8,1,1,7,1,1,7,1.3,1,3,1.3,1,3,1,0,0,0,7³@bh °¼ V 4,.3,0,0,0,6,4,.6,-1,6,.6,1,6,.3,0,p(’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 8NNNNNNNNNNNNNNNNNNNNNN”””ū0,0,7,4,2.3,0,0,0,6,4,2.6,-1,6,2.6,1,6,2.3,0,0,0,7³Ž@žb ŗ¼ ’ 2,.3,0,0,0,6,2,.6,-1,3,.6,1,3,1.6,1,2,1.6,1,2,1.3,1,1,1.3,1,1,2,1,4,2,1,4,2.6,1,6,2.6,1,6,2,1,9,2,1,9,1.3,1,8,1.3,1,8,1.6,1,7,1.6,1,7,.6,1,8,.6,1³Ž@2ž ļ ' 8,.3,1,6,.3,1,6,1,1,4,1,1,4,.3,0,0,.-’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž (?NNNNNNNNNNNNNNNNNNNNNN”””ū0,7³@œ2 μ  2,1.6,0,0,0,6,2,2.6,-1,8,2.6,1,8,.6,1,2,.6,1,2,1.6,1,3,1.6,1,3,1,1,7,1,1,7,2.3,1,3,2.3,1,3,1.6,0,0,0,7,4,1.3,0,0,0,6,4,2,-1,6,2,1,6,1.3,0,0,0,7³Ž@–œ Ų¼ ‹ 3,1.3,0,0,0,6,3,2.6,-1,3.5,2.6,1,3.5,2,1,4,2,1,4,2.6,1,4.5,2.6,1,4.5,2,1,5,2,1,5,2.6,ī«’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ū1,5.5,2.6,1,5.5,2,1,6,2,1,6,2.6,1,6.5,2.6,1,6.5,1.6,1³@D– ā¼ 8 7,1.6,1,7,2.3,1,7.5,2.3,1,7.5,1.3,1,6.5,1,1,4,1,0,0,0,7³Ž@8D ģ¼€€£Ž€€£Ž€€£Ž€€¤³@48 ö Ķ£Ķ£Ķ£ͤ¶# Each array contains an icon.³@4 µ!źü솁źü컳ŽQŠž}NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž N]NNNNNNNNNNNNNNNNNNNNNN”””ū@  » L³Ž@ »Ž€»»Žx³Ž@ Ķ»D»G³Ž@ (»Ž»»Ž¤³Ž@ 2Ķ»D»G³Ž@ <»Ž‚»»ŽгŽ@ FĶ»D»G³Ž@ P»Žƒ»»Žü³Ž@ ZĶ»D»G³Ž@  d»³@ n±³@ x¶Ž³ŽppąŹ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž }lNNNNNNNNNNNNNNNNNNNNNN”””ū@@‚ĀĀ’’ž¦@’’“RvZnR SE ’’’üž ’’’ųj A /-¤/HzA /-¤/Hz Do_iconIJ¶Ž+ Replace with routine that³Ž@H Œ›µBŽIconŸŸµBŽ,ŸŸµB selected.¤¶+ implements your†ßNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž äūNNNNNNNNNNNNNNNNNNNNNN”””ū actions.³@ H –›„³Ž@L  ‘µBŽ|ŸŸŸ„¶4 Displays a history of icons selected (recommended).³Ž@LŖ±³)žiNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ׏NNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’¢@ĀĀ’’ZČ’’N”ŗN ”<|@ ü"’’ü8ę@ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ’’’€ūV@ ’’’xū@ ’ū`@" ūn@ ’’’pū@ ūt@ ’’’hūz@ ū|@ ’’’ļū‚@ ŗb’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‚™NNNNNNNNNNNNNNNNNNNNNN”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’`ūŖ@ ’’’XB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲA ’’Ųā@ ’’Šūź@ ’’Čūš@ ’’Ąūö@ ’’øūž@ ’’°ū@ ’’Øū @ ’’ ū@ ’’˜ū@ ’’ū @ ’’ˆū$@ ’’€ū.@ ’’xū8@ ’’pūD¤’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ±ØNNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’hūnP ’’’’’ūt@ ’ūz@"’’T†@"’’TŠ@ 5ŽP ’’’’’ü”@ OopsSoerce$ FNFide_existsLdestinatiof$FNAskAContour&žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNī€Y‚Āƒ*…“†ż‡g‰ŃŠ<ŒØ‚ī‘Z“Ę”1–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ÓĖNNNNNNNNNNNNNNNNNNNNNNš”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’’ŠūnP ’’’’’ūt@ ’ūz"’’üč†@ 4BŠ0Ō’ū–@"’’üŌ š’’üŌ žoerce$ FNFide_existsLdestinatiof$FNAskr9’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ąśNNNNNNNNNNNNNNNNNNNNNN”””ūį"žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž µ©NNNNNNNNNNNNNNNNNNNNNNž”””ūLemLemQ$@  ¶Ž³Ž@ »@³@< ›µŽ.Demonstration of drawing a Lunar lander (Lem).¤³@<<(›µŽ.==============================================¤³@ <2›„³Ž@* <›µŽThįļ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž †˜NNNNNNNNNNNNNNNNNNNNNN”””ūe display lasts 3 seconds.¤³@$*F›µŽPress Return or ENTER¤³Ž@ $P½ 7¤³Ž@ Z»@³@" d¼ ¶Ž( Arrays start at one³Ž@2"n¼3€!€¤¶( Data and pen-control array³@$2x 3ͤ¶Ž( Define the LEM data³Ž@4$‚»"¶(' Initialize various graphics parameterH“’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž –¦NNNNNNNNNNNNNNNNNNNNNN”””ūį"’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž „—NNNNNNNNNNNNNNNNNNNNNNž”””ūČ ĄÖĀ’’żø$’’N@öVHŅ@ " ’ū0/ €’’’üū €’’’ųū €’’’ō* €’’’šū" €’’’ģū( €’’’č$, €’’’äū. ‚’’Ā}žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž šÄNNNNNNNNNNNNNNNNNNNNNN”””ū’Üū0@ @ @ @ "t_gdu_max Y nitsLabelLabelCsize Asp_ratioLdirLorgPenXYText$³Ž@Ną¶ŽC This defines several systems variables (in CSIZE, LDIR, etc.), anņÆžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĆõNNNNNNNNNNNNNNNNNNNNNN”””ūd³@2Nź¶Ž& labels the text (if any) accordingly.³Ž@ 2ō»)³@ ž»³@ »³Ž@ »³Ž@ »³Ž@ &»³@" 0 µ2Žö·6» µ2Ž#,Kœž ¤³@ ":»³@ D±³‚ŠžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ZbNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’ģ@ĀĀ’’’’ś,’’ąŲ"¾ź"Ģ@"’’’ģ@ ūLP ’’’’ @ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV@ ū@ ’ū`@" ūn@ ū@ ūt@ ūz@ ū|€’’’čū‚@"’’Ü’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž iSNNNNNNNNNNNNNNNNNNNNNN”””ū’Ԉ’’’Ԍ@ 0’’ü– lšAngleQ$Exit@  ¶Ž³Ž@ »+ާNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž <NNNNNNNNNNNNNNNNNNNNNN”””ū@³@< ›µŽ-Demonstration of label direction in graphics.¤³Ž@<<(›µŽ----------------------------------------------¤³Ž@ <2›„³Ž@> <›µŽ/Press SPACEBAR to get back to the BASIC System.¤³Ž@ >F›„³Ž@4 P›µŽ&Press Return or ENTER to see the demo.¤³ļž’³žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 1NNNNNNNNNNNNNNNNNNNNNN”””ū@&4Z½ ¤¶Ž' Let user read messages³@ &d»@³@" n»’½¶Ž' Provide outlet³@4"x»"¶'' Initialize various graphics parameters³@64‚Ąµ2ŽINTERNAL»#¶' Use the internal screen³Ž@*6Œ»¶' Turn on the graphics screen³Ž@**–»¶' Draw a box arwƒ’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ūound the screen³@F* ėµ(Ž?ń™™™™™šė»¶') Anisotropic units; Left/Right/Bottom/Top³@$FŖ»)¶' Angular mode: Degrees³Ž@,$“‚»¶Ž' Label origin is left center³Ž@,,¾€µ1^аŽ’š`¶Ž' Every 10 degrees³@ , Č»¶Ž' Labelling angle³Ž@( Ņ€€»¶'æĆžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ,>NNNNNNNNNNNNNNNNNNNNNN”””ū Move to center of screen³@>( Ü» µ2Ž -------LDIRŸ¤¶Ž' Write using the current LDIR³@ >꓎’šŗ¶Ž' And so on³Ž@& š–¶Ž' Stay in demo of graphics³Ą &ś»³@ »@³@0 ›µ2Ž!You are back in the BASIC System.¤³Ž@0½¶Ž' Quit³žC’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ymNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’ Z@ĀĀ’’’’ō¦,’’N B”ŗ L”< 6@"’’’ģ@ ūLP ’’’’ @ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV@ ū@ ’ū`@" ūn@ ū@ ūt@ ūz@ ū|@ ’’’ļū‚@ ĖäžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  J\NNNNNNNNNNNNNNNNNNNNNN”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’éūŖ@ ’’’čB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲ@ ’’’āūā@ ūź@ ūš@ !ūö@ "ūž@ #ū@ ’’’Üū @ %ū@ &ū@ 'ū @ (ū$@ )ū.@ ’’’Öū8@ +ūDŹBžōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Āƒ-…˜†ˆn‰ŲŠCŒÆ‰õ‘`“Ė”6–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ^‹NNNNNNNNNNNNNNNNNNNNNNš”””ū@ ,ūNP ’’’’BX0 Ų’ūb@ /Bh@ ’’’ŠūnP ’’’’’ūt@ ’ūz"’’ūD †@ 4BŠ0"’ū–@ ’’’Źūš@ ’’’ÉB @ ’’’Čū¦@ ’’’ĒDš¬@ ’’’ĘB¶@";ū¼P ’’’’’ūÄP ’’’’’ūŹP ’’’’’ūŠP ’’’’’ūÖP ’’’’’ūąP ’’’’’ūę@ Būī@ Cūō@ DūüP ’’’’@‰’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž mŗNNNNNNNNNNNNNNNNNNNNNNž”””ū’ūP ’’’’’ūP ’’’’’ūP ’’’’’ū @ Iū @ JB@ Kū@ ’’’“ū @ Mū.@ Nū8@ Oū<@ PūB@ QūR€’’ū<ū\@ Sūb@ Tūd@ Uūp@ Vūt@ Wūx@ ’’’Øū„@ Yūˆ@ ZūŒ@ [’ū’@"\B–@ ]ū¢@ ’’’¢ūØ@ ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 8éNNNNNNNNNNNNNNNNNNNNNN”””ū’’’”B®@ ’’’ ūø@ ’’’ŸDš¾P ’’’’’ūĀP ’’’’’ūČP ’’’’’ūŅP ’’’’’ūŲ@ ’ūÜ@ ’’’™ūä@ ’ūź@ iūš@"jBö@ kū@ lB@ ’’’“ū @ ’’’’Dš@ oū@ pū"@ qū.P ’’’’B2@ sū6P ’’’’B<@ u’ūB@ vBF@ wūL@"xBHõ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ŲNNNNNNNNNNNNNNNNNNNNNNš”””ūR@"yū`@"’’’†Dšj@ ’’’…BZ@ |ūt@ }ūx@ ~ū€@ ū†@ €ūˆ@!²’ūT@ ‚ūŽ’’ū(>@ „ū–@ ’ūž@!ˆ’ūō@"’’’yūØ@ ˆū²@ ‰ūŗ@ ’ūĄ@! Š’ū–"’’śąŹ"’’ų Ś"’’ųP0č ’’ųNBö ’’ųLūü ’’ųJDš@ ¦ŠžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ’ONNNNNNNNNNNNNNNNNNNNNNš”””ū’ū0B @ ”ū,0,B8@ –ūD0 äBN@ ˜ūX0źB`¢’ūh€’’ųBūt€’’ų:ūxJ’ū|€’’ų2ūˆ€’’ų*ūŒ "’ū€’’ų"ū €’’ųū¤" ’ūØ0*’ū“IExitC$•-’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ”~NNNNNNNNNNNNNNNNNNNNNN”””ūTempPī’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ō-NNNNNNNNNNNNNNNNNNNNNN”””ūSpinLemLemg„’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĒNNNNNNNNNNNNNNNNNNNNNN”””ūTheta“†’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ×"NNNNNNNNNNNNNNNNNNNNNN”””ūs³@64ŒĄµ2ŽINTERNAL»#¶( Use the internal screen³Ž@&6–ŠėŠŠėŠ»¶( Isotropic scaling³Ž@*& »¶( Turn on the graphics screen³Ž@6*Ŗµ8?Ąµ8?Ąµ8?Ą»<¶( 12.5% gray³@"6“3Ķ»D»E¶Ž( Plot the data³ŽĄJ" ¾5¶Ž < X Y Pen | X¼ä’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž äNNNNNNNNNNNNNNNNNNNNNN”””ū Y Pen | X Y Pen | X Y Pen³Ž@PJȼ  0, 0, 11 ¶($ Start of polygon with FILL and EDGE³Ž@TPҼ < 1.5, 1, -2, 2.5, 2, -1, 2.5, 3, -1, 1.5, 4, -1 ¶ŽG Octagon³Ž@FTܼ : -1.5, 4, -1, -2.5, 3, -1, -2.5, 2,±NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ±@NNNNNNNNNNNNNNNNNNNNNN”””ū -1, -1.5, 1, -1³Ž@@Fę¼  0, 0, 7 ¶( End of first polygon³@F@š¼  0, 0, 6 ¶( Start of polygon with FILL³@PFś¼ < -2.5, 1, -2, 2.5, 1, -1, 2.5, -2, -1, -2.5, -2, -1 ¶ŽG Box³Ž@P¼ -2.5, 1, -•S’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‚qNNNNNNNNNNNNNNNNNNNNNN”””ū1³@B¼  0, 0, 7 ¶( End of second polygon³Ž@TB¼ < -2.5, -2, -2, -4.5, -4, -1, -2.5, 0, -1, -5, -4, -2 ¶ŽG Left Leg³@T"¼ -4, -4, -1³@T,¼ < 2.5, -2, -2, 4.5, -4, -1, 2.5, 0, -1, 5, -4, -2 ¶ŽG Rt. lH’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ęNNNNNNNNNNNNNNNNNNNNNN”””ūeg³Ž@T6¼ 4, -4, -1³@F@¼  0, 0, 10 ¶( Start of polygon with EDGE³@RFJ¼ < -0.5, -2, -2, -1, -3, -1, 1, -3, -1, 0.5, -2, -1 ¶ŽG Nozzle³@@RT¼  0, 0, 7 ¶( End of third polygon³@ @^ƒ½#³@ gžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž (×NNNNNNNNNNNNNNNNNNNNNN”””ū h»³@ r»@³@< |›µ2Ž.The program has ended. You can use BASIC now.¤³@ <†½³Ž!†OžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž }„NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’#č@ĀĀ’’¾ę’’ œ*®ī~@®„@ PŽ0°B° ’’’Ģ<@ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV@ ū@ ’ū`@" ūn€’’’Äū@ ūt@ ūz@ ū|@ ’’’ļū‚@ !y’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NµNNNNNNNNNNNNNNNNNNNNNN”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’éūŖ@ ’’’čB®@ ū²P ’’’’BĄ"’’ż„$Ī@ ūŌ@ ūŲ@ ’’’āūā@ ūź@ ūš@ !ūö@ "ūž@ #ū@ ’’’Üū @ %ū@ &ū@ 'ū @ (ū$@ )ū.@ ’’’Öū8@ +ūD2’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Z‚Ń/…›†ˆq‰ÜŠGŒ³‰ō‘^“É”4–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ,ÖNNNNNNNNNNNNNNNNNNNNNN”””ūĄ Ŗ..–³ŽĄL “—¶Ž> -------------------------------------------------------------³Ž@L¾dƒ» ŽB³Ž@` Ȼޮµ2rotate»»¶Ž8 Modify the angle of rotation...........................³Ž@` ŅRĄƒģ³@ ÜdšŌRÕdŒĶÕ²³@` 껎®µ2scal$²žōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ēNNNNNNNNNNNNNNNNNNNNNN”””ūe»»Ž¶Ž8 Compress/expand LEM in X or Y..........................³Ž@` šĄŠ®d¤³@, śd€ĄŽ·®¶Ž! (shift key pressed)³Ž@ ,d›³Ž@ dœĄµ?©™™™™™šģ萳@* øŽš¶Ž (shift key not pressed)³Ž@*"d›Ąµ?©™™™™™šģ萳@ ,dœ³Ž@ “’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž J“NNNNNNNNNNNNNNNNNNNNNN”””ū6¹¶ (shift pressed?)³@ @dŌd›ÕdœÕdŒĶÕ²³@` J»Ž®µ2 translate»»Ž`¶Ž4 Move LEM in X or Y.................................³Ž@` TĄŠ®d¤³@, ^d€ĄŽ·ņ¶Ž! (shift key pressed)³Ž@ ,hdž€³Ž@ rdŸĄµŽ?©™™™™™šģ됳@* |øŽJ¶Žħ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž y…NNNNNNNNNNNNNNNNNNNNNN”””ū (shift key not pressed)³Ž@*†džĄµŽ?©™™™™™šģ³Ž@ dŸ€³Ž@ š‘µ2ŽMode:Ÿdƒ¤³@ ¤¹¶ (shift pressed?)³@ ®d ŌdžÕdŸÕdŒĶÕ²³@` ø»Ž®µ2shear»»Ž¤¶Ž8 Shear the LEM..........................................³Ž@` ĀĄŠ®d¤³@, Ģd®+’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž i»NNNNNNNNNNNNNNNNNNNNNN”””ū€ĄŽ·L¶Ž! (shift key pressed)³Ž@ ,Öd”€³Ž@ ąd¢ĄµŽ?©™™™™™šģ됳@* źøŽ޶Ž (shift key not pressed)³Ž@*ōd”ĄµŽ?©™™™™™šģ³Ž@ žd¢€³Ž@ ¹¶ (shift pressed?)³@ d£Ōd”Õd¢ÕdŒĶÕ²³@ »³@ &ĪdĪdŒĪ»„»y³Ž@0dĪĪ»z»y³@ ņāžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ZŠNNNNNNNNNNNNNNNNNNNNNNš”””ū:d••³@ Dŗ³ŽĄL N™¶Ž> -------------------------------------------------------------³Ž@LXĄĄ» ŽL³Ž@` b»Ž µ2R»»ŽĄ¶Ž< Rotation mode..............................................³Ž@` ldƒµ2rotate³@` v»Ž µ2S»»ėžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ŁNNNNNNNNNNNNNNNNNNNNNN”””ūŽ4¶Ž< Scaling mode...............................................³Ž@` €dƒµ2scale³Ž@` Š»Ž µ2T»»Ž¬¶Ž< Translation mode...........................................³Ž@` ”dƒµ2 translate³Ž@` ž»Ž µ2H»»Ž ¶Ž< Shear mod=’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  <čNNNNNNNNNNNNNNNNNNNNNN”””ūe.................................................³Ž@` Ødƒµ2shear³Ž@` ²»Ž µ2 »»Žœ¶Ž< Start over.................................................³Ž@` ¼dĪ3Ī»z»y³@  Ęd••³@N Š»Ž ¶Ž; Oops.....................................ŠžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  „NNNNNNNNNNNNNNNNNNNNNN”””ū.................³@N Ś‹µŽ?„zįG®{½$³@ 仳@ 2ŽMode: Ÿdƒ¤³Ž@ ųŗ³ŽĄH •¶Ž: ---------------------------------------------------------³Ž@ H »³@ »%³Ž@  µ!°’šž³Ž@ *d dŽČ³Ž@ 4ddČd‚dČ»³@ >d‘ ‚dŽČ³Ž@’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  –NNNNNNNNNNNNNNNNNNNNNNN”””ū Hd‘dČd‘‚dČ»³@R“Ž ’š ³Ž@ \ŗ³ŽĄJ f“¶Ž< -----------------------------------------------------------³Ž@ Jp»"³@ z»³@ „µ!ėµ!޵!ėµ!Ž»³@Ž3΁»{»y³@˜ µ!°’ąγŽ@ ¢  3Č£ ‚3Ȥ³@¬“Ž ’ąŖ³Ž@ ¶ dŽĶōW’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĆNNNNNNNNNNNNNNNNNNNNNN”””ū¤³@ ĄdĪ3Ī»z»y³@ Ź»)³@ Ōdƒµ2rotate³@Ž‘µ2ŽMode: Ÿdƒ¤³ŽĄ č5¶Ž ³Ž@>ņ¼ 3 1.5,1, 2.5,2, 2.5,3, 1.5,4, -1.5,4, -2.5,3³@@>ü¼ 4 -2.5,2, -1.5,1, -2.5,1, 2.5,1, 2.5,-2, -2.5,-2³Ž@>@¼ 3 -2.5,0, -4.5,-4, -5,-4, -4,-}|žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž š,NNNNNNNNNNNNNNNNNNNNNNš”””ū4, 2.5,0, 4.5,-4³@>>¼ 2 5,-4, 4,-4, -.5,-2, -1,-3, 1,-3, .5,-2³ŽĄ>¤¶Ž³Ž@J$¼ 2 1,2, 2,3, 3,4, 4,5, 5,6, 6,7, 7,8 ¶Ž> Octagon³Ž@FJ.¼ 2 9,10, 10,11, 11,12, 12,9 ¶Ž> Box³Ž@JF8¼ 2 13,14÷,žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ąNNNNNNNNNNNNNNNNNNNNNN”””ūMode$Transformation Modified_lem ConnectivityMask First_point Last_point Initialize Display_lemUĒžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ó#NNNNNNNNNNNNNNNNNNNNNN”””ūKnob_isrKbd_isr Rotation_2dSxSy Scaling_2dTxTyTranslation_2dShxShy Shearing_2d Connectivity@ ¶Ž RE-STORE "Lem2D"³@ »@³@N ›µŽ@Program demonstrates two-dimensional mÖk’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž †pNNNNNNNNNNNNNNNNNNNNNNš”””ūovement of a Lunar lander.¤³@XN(›µŽJKnob causes movement. Modes are: R=rotate, T=translate, H=shear, S=scale.¤³@@X2›µŽ2Press letter for desired mode. Then, rotate knob.¤³@.@<›µŽ Press softkey 1 to exit program.¤³@6.F›µŽ(Press SPACEBAR to Ł}’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž µANNNNNNNNNNNNNNNNNNNNNN”””ūrecenter Lunar lander.¤³@*6P½ µPress ENTER to continue.½¤³Ž@*ZµŽExit½½’½³@ d¼ ³Ž@: n¼dŒ Ž€€£3 Ž€€£d €€£ Ž€€¤³@":x¼dŽ)Ž€€£d!£d!£d‘!¤³@ "‚d“•³@ Œd••³@ –µ?”zįG®{»+’d—½³@ »’d™½³įtžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Z‚Ń1…œ†ˆp‰ŲŠAŒ©{å‘M“·” –NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž †NNNNNNNNNNNNNNNNNNNNNNš”””ū, 14,12, 15,16 ¶Ž> Left leg³@LJB¼ 2 17,18, 18,11, 19,20 ¶Ž> Right leg³Ž@HLL¼ 2 21,22, 22,23, 23,24 ¶Ž> Nozzle³@ HVŗ³ŽĄ `»³@ j»@³@4 ~›µBŽ&You haŽG’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž µ>NNNNNNNNNNNNNNNNNNNNNN”””ūve returned to the BASIC System.¤³@ 4ˆ½³Ž@ ’½³Ž@T œ¶ŽH ***********************************************************************³ŽH@@@PĄ¦ĀØ@ ’’T¶HØŖ ¢b’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ąmNNNNNNNNNNNNNNNNNNNNNN”””ūL ¢’ū0B €’’’üū"€’’’ōDš€’’’ųū$€’’’šū*rd Rotationg2d Rotatign_2dThetaArraySifeCosin Rotation_2d Rotation_2dThetaArraySineCosine³Ž@T°¶ŽH This subprogram takes a 3x3 real array and’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ó\NNNNNNNNNNNNNNNNNNNNNN”””ū converts it into a rotation³Ž@RTŗ¶ŽG matrix for two-dimensional transformations. The angular mode assumed³@FRĶŽ: for the SIN and COS will be that of the calling context.³Ž@ FĪæ³@ Ųæ³@ āĪ»|»y³Ž@쁁Ȑ³Ž@ö‚Č됳@KūžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž JĖNNNNNNNNNNNNNNNNNNNNNN”””ū‚Č³Ž@ ‚‚Ȑ³Ž@±³@T¶ŽH ***********************************************************************³ŽĄ(ĀŲ`’’Ę„~FŲn| J’ū0B €’’’üū €’’’ųDš"€’’’šB  Sca Scaling_2d ScaŁw’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž yśNNNNNNNNNNNNNNNNNNNNNN”””ūling_2dSxSyArray³Ž@R2¶ŽG This subprogram takes a 3x3 real array and converts it into a scaling³@8R<¶Ž- matrix for two-dimensional transformations.³@8FĪ»|»y³Ž@PČ³Ž@Z‚‚Ȑ³Ž@d±³@Tn¶ŽHø’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ,©NNNNNNNNNNNNNNNNNNNNNN”””ū ***********************************************************************³ŽĄxĀč`’’Ņ”~RčnŒ  "’ū0B €’’’üū €’’’ųDš"€’’’šB(_2dTranslation_2dTxTyTranslation_2dArray{¢’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ˜NNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@J‚¶Ž? This subprogram takes a 3x3 real array and converts it into a³@DJŒ¶Ž9 translation matrix for two-dimensional transformations.³@D–Ī»|»y³Ž@ ƒČ³Ž@Ŗƒ‚Ȑ³Ž@“±³@T¾¶ŽH ***********************†¾žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¦NNNNNNNNNNNNNNNNNNNNNN”””ū************************************************³ŽĄČĀ’’ž>`’’ŗŗFĀŖ ŗ " ’ū0B €’’’üū €’’’ųDš"€’’’šB P ’’’’šH&W She Sheabing_2d Shearing_2dCchxShyArbayExit Shearing_2d Shearin <’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž <—NNNNNNNNNNNNNNNNNNNNNN”””ūg_2dShxShyArray³Ž@JҶŽ? This subprogram takes a 3x3 real array and converts it into a³@BJܶŽ6 shearing matrix for two-dimensional transformations.³Ž@BęĪ»|»y³Ž@š‚Č³Ž@ś‚Ȑ³Ž@±³’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž iÄNNNNNNNNNNNNNNNNNNNNNNž”””ū’’’’@ĀĀ’’’’ųp,’’Śp"øŽ"d@"’’’ģ@ ūLP ’’’’ @ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV@ ū@ ’ū`@" ūn@ ū@ ūt@ ūz€’’’čū|@"’’’Ō‚’’ŸĄ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ZõNNNNNNNNNNNNNNNNNNNNNN”””ū’Ō†@ Š0’ü ā6of$FNAskLorgQ$Exit@  ¶Ž³Ž@ »@³@< y‡žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĆbNNNNNNNNNNNNNNNNNNNNNN”””ū›µ"Ž-Demonstration of label placement in graphics.¤³Ž@><(›µŽ/-----------------------------------------------¤³Ž@ >2›„³Ž@B <›µŽ3Press the SPACEBAR to get back to the BASIC System.¤³Ž@ BF›„³Ž@4 P›µŽ&Press Return or ENTER to see the demo.¤³’āNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž šSNNNNNNNNNNNNNNNNNNNNNN”””ū@&4Z½ ¤¶Ž! Let user read messages³@$&d»’½¶Ž! Provide for exit³@ $n»@³@4 x»"¶!' Initialize various graphics parameters³@64‚Ąµ2ŽINTERNAL»#¶! Use the internal screen³Ž@*6Œ»¶! Turn on the graphics screen³Ž@D*–€Šµ8@%€»¶Ž‘UžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž „NNNNNNNNNNNNNNNNNNNNNN”””ū!) Isotropic scaling: Left/Right/Bottom/Top³@*D »¶! Draw a box around the screen³@0*Ŗ‰°Ž’šÖ¶Ž! Loop on LORG parameters³Ž@60 “‚»¶Ž!& Left-center origin for the "LORG n ="³Ž@,6 ¾„»¶Ž! Characters cell 4 GDUs high³Ž@6, Ȁ»¶!& Move to pCŌžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž –1NNNNNNNNNNNNNNNNNNNNNN”””ūosition for "LORG n =" label³Ž@26 Ņ» µ2ŽLORGŸŸµ2Ž=¤¶Ž! Write the label³Ž@*2 ܈µŽ?¹™™™™™ščµ?¹™™™™™šč»¶Ž! \³Ž@** ꈵŽ?¹™™™™™šźµ?¹™™™™™šź»¶Ž! \³@N* šˆµŽ?¹™™™™™šźµ?¹™™™™™šč»¶Ž!& > Draw an "X" to show where pen is³Ž@*N śˆµŽ?¹™™X’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNī€Z‚Ń.…–†ˆj‰ŌŠ?ŒŖė‘T“½”&–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ōRNNNNNNNNNNNNNNNNNNNNNNš”””ū½¶-" Make sure you read the right data³Ž@&2x dkͤ¶- Read the base palette³Ž@*&‚ doͤ¶- Read the reordering vector³Ą@* Œr¼ 2 1,0,0, 0,1,0, 0,0,1, 0,0,0, 0,0,0, 0,1,1³Ž@@–¼ 2,3,4,1,5,6³Ž@ dlĪdkĪ»z»y¶Ž-\³@0ŖdlĪdoĪ» ¶Ž- \ĪžéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ĒcNNNNNNNNNNNNNNNNNNNNNN”””ū Copy preceding palette³Ž@00“dmĪdlĪ»z»y¶Ž- \ and reorder the lower³@00¾dmĪdoĪ» ¶Ž- / four entries to rotate³Ž@.0ČdnĪdmĪ»z»y¶Ž- / the colors for the³Ž@*.ŅdnĪdoĪ» ¶Ž-/ lower four pens.³Ž@*Ü»"¶- Set defaults³@,ꥵ2ŽINTERN»džNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ’0NNNNNNNNNNNNNNNNNNNNNN”””ūAL»I¶- Set color map³Ž@B,š¶Ž7 SET PEN 0 INTENSITY Black(*) ! All pens black³@Bś»¶- Obvious³Ž@.µ! ėµ!Ž#…ėµ!$»¶- Arbitrary scale³Ž@$.†»¶Ž- Border and text pen³Ž@$$dt½¶- Read the right data³Ž@,$" ‰°Ž’š¢¶Ž- 8 n]J’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ”NNNNNNNNNNNNNNNNNNNNNN”””ūested rectangles³Ž@&, , „ļč»H¶Ž- Use pens 1 thru 4³Ž@4& 6 ‰ń· `…»H¶Ž- Inner rectangle for message³Ž@D4 @€ µ?ąģčü€ µŽ?ąģč»¶- Corner of the rectangle³Ž@>D J»Dµ!Ž źüµ!Ž ź»B»C»=¶- Draw a filled rectangle³Ž@,> T ‚﷐¶Ž-ŗ¾’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ±?NNNNNNNNNNNNNNNNNNNNNNž”””ū™™™ščµ?¹™™™™™šź»¶Ž! /³@(* »¶Ž! Specify LORG for "TEST",³@&( †»¶Ž! ...and larger letters³Ž@*& ˆ»¶! Move the center of the "X"³@8* "» µ2ŽTEST¤¶!! Write "TEST", using current LORG³@"8,“Ž’šn¶Ž! And so forth³@ "6–¶Ž! Let uZ žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‚NNNNNNNNNNNNNNNNNNNNNN”””ūser see demo³ŽĄ& @»¶! Clear graphics display³@ &J»@³@> T›µ2Ž/You now have control of the BASIC System again.¤³Ž@>^½¶Ž! Cease and desist³•#žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ×]NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’š@ĀĀ’’’’ķb’’bžbØHzž’’’ĢF0D P ’’’’ @ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV@ ū@ ’ū`@" ūn€’’’Äū@ ūt@ ūz@ ū|@ ’’’ļū‚@ ?²’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž älNNNNNNNNNNNNNNNNNNNNNNš”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’éūŖ@ ’’’čB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲ@ ’’’āūā@ ūź@ ūš@ !ūö@ "ūž@ #ū@ ’’’Üū @ %ū@ &ū@ 'ū @ (ū$@ )ū.@ ’’’Öū8@ +ūDŹB’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž }ūNNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’’ŠūnP ’’’’’ūt@ ’ūz@ 3ū†@ 4BŠP ’’’’’ū–@ ’’’Źūš@ ’’’ÉB @ ’’’Čū¦@ ’’’ĒDš¬@ ’’’ĘB¶@";ū¼P ’’’’’ūÄP ’’’’’ūŹP ’’’’’ūŠP ’’’’’ūÖP ’’’’’ūąP ’’’’’ūę@ Būī@ Cūō@ DūüP ’’’’_ŻžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NŹNNNNNNNNNNNNNNNNNNNNNN”””ū’ūP ’’’’’ūP ’’’’’ūP ’’’’’ū @ Iū @ JB@ Kū@ ’’’“ū @ Mū.@ Nū8@ Oū<@ PūB@ QūR@ ’’’®ū\@ Sūb@ Tūd@ Uūp@ Vūt@ Wūx@ ’’’Øū„@ Yūˆ@ ZūŒ@ [’ū’@"\B–@ ]ū¢@ ’’’¢ūØ@ ¤žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ™NNNNNNNNNNNNNNNNNNNNNN”””ū’’’”B®@ ’’’ ūø@ ’’’ŸDš¾P ’’’’’ūĀP ’’’’’ūČP ’’’’’ūŅP ’’’’’ūŲ@ ’ūÜ@ ’’’™ūä@ ’ūź"’’žDš ’’żņ ö"’’żb"’’üŅ"’’üB& "’’ū²2!’’ū¦>€’’ūžū"@ qū.0 nB2@ sū60¢B<@ OopsSoerce$ FNFide_existsLdestina©RžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž (ØNNNNNNNNNNNNNNNNNNNNNN”””ūtiof$FNAskSt$IQuit9f’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 8–NNNNNNNNNNNNNNNNNNNNNN”””ūį"žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž   §NNNNNNNNNNNNNNNNNNNNNN”””ūBlaj’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ^ōNNNNNNNNNNNNNNNNNNNNNN”””ūckMessage$Pal1Pal2Pal3Pal4 New_order Pause_timePalText@6 ¶Ž+ "MARQUEE" - a demo of color map animation³@"6¶Ž updated for Series 300³@"¼diŽ£dj@P¤³@:(¼dkŽ£dlĘŚžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  mÅNNNNNNNNNNNNNNNNNNNNNN”””ū£dm£dn¤³@:2¼do%ޤ³@6<Ąٵ"#,Bœžµ1Ž’£µ!ŽK¤¶- Clear alpha screen³@ 6=»7³@ F»¶- Obvious³Ž@P›µ"Ž What's that?¤³@6Zdpµ(?µ$Ż/¶- Display each palette this long³@$6ddiĪ€»{»y¶Ž- All pens black³@2$ndr®äžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚ă/…›†ˆq‰ÜŠFŒ°‡ō‘`“Ģ”8–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž yNNNNNNNNNNNNNNNNNNNNNN”””ū¶Ž³Ž@ ¾¼  2,1,3,1,4,1,5,1³Ž@$ȼ  1,2,2,2,3,2,4,2,5,2,6,2³Ž@$$Ҽ  1,3,2,3,3,3,4,3,5,3,6,3³Ž@$$ܼ  1,4,2,4,3,4,4,4,5,4,6,4³Ž@$$ę¼  1,5,2,5,3,5,4,5,5,5,6,5³Ž@$š¼  2,6,3,6,4,6,5,6³Ž@ ś¶Ž³Ž@   ͤ³Ž@ Ō²³Ž@B ¶Ž6 Ó§žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž J#NNNNNNNNNNNNNNNNNNNNNN”””ū enable device at location 3 (button box)³Ž@B"‚ƒī»(’ ½³Ž@ ,¶Ž³ŽĄ 6 –³Ž@ @¶Ž³ŽĄ J ¶Ž³Ž@ TĄ³@* ^æ ń·¤ŗ¶Ž  no data in buffer³Ž@ *h‚³@ r» ³@ |’æ ³@ †聟³@ ƒč°Ž’ü,³Ž@ š’čĘ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž pNNNNNNNNNNNNNNNNNNNNNNš”””ūæ ³@ ¤ ‚šü³Ž@ ®Ō Õ€ĄśÕ²³@ ø“Ž’üź³Ž@  萳@ Ģæ ņ»ø³Ž@ Öŗ³Ž@ ą¶Ž³Ž@ 꽳ހ @ōĀĀb@’’–ZvbnZ zŖ$ ’’’üł ’’’ųż žŖ$"A ł Dis4ƒ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ,ANNNNNNNNNNNNNNNNNNNNNN”””ūp_keyNOn Array³Ž@ ž¼’’’’=¤³Ž@$ ·,¶Ž. Even='downstroke'.³@&$ ›‚Čģµ!Žč‚‚Čģ„č½£µŸ„³@:& øŽZ¶Ž) Odd=>'upstroke'.³@&: &›‚Čģµ!Žč‚‚Čģ„č½£µ Ÿ„³@& 0¹³@:±³@DĀĀ’’žŠ‘Ž’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž µÖNNNNNNNNNNNNNNNNNNNNNNš”””ū’’Ž(n0n( ÜŖ$€’’’č*$ QįŻžA` `QįŻžA` `QįŻžA` ` FrameworkI³Ž@ N€Š‚°’š³Ž@& X›µ!Ž…č½Ÿµ -------------¤³Ž@&& b›µ!Ž†č½Ÿµ | | | | | | |¤³Ž@& l“Ž’š¢³Ž@( v›µ!޵!½Ÿµ"Ž ģžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž †ēNNNNNNNNNNNNNNNNNNNNNN”””ū-------------¤³Ž@(€±³ čæ„’æ µ1Ž€ļæū£„ż‰’æ µ1€ļæ…’ūū¤³@ VP½³Ž³Ž€€€<€N€€€’ž¢’’ė|’’裸’ōš’’ōÖ’’õ’’õj’’üŖŅé‚T€€€,Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­ ŲžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ó“NNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’ Ž@ĀĀ’’f0’’LV6b6L@"’’žś @!ŖŖ$ ’’žž ’’žģ €’’žäŖ€’’žÜ$€’’žŌś2 ’’žŅ*$>@ *$H0` –œB \P ’’’’’łh0HŖ$t@ ’’žņ*$b ’’žŠłz@ ’’žī*$€@ *$R@ ’ł’@ [<’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ą…NNNNNNNNNNNNNNNNNNNNNNš”””ū*$¦f –Ā@ *$Ī@ ’łø † –Üket_lengthJ`acket_enBuf$Packet$ Packet_start Packet_length Packet_endHil_addrLoopIndexDisp_bufN‘žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž š»NNNNNNNNNNNNNNNNNNNNNN”””ū\ Print a message after³@*, ^ dj¤¶Ž- \ every other rectangle;³Ž@&* h›dj¤¶Ž- / (Don't let them get³@ & i½#³@( r¹¶-/ bored while setting up.)³@(|“Ž ’š ³ŽĄ@ †t¼ 2 "You're tired of the same old computer programs?"³Ž@J@¼ > "Ready ¾ÆNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ÊNNNNNNNNNNNNNNNNNNNNNN”””ūfor something new?","Don't Move.","Don't Go Away."," "³Ž@.Jšµ(@»¶-\ Set up for the labels³@.¤…»¶Ž-/³@*®µ!µ!»¶- Location for labels³Ž@(*ø» µ2ŽKœžµ2Ž Coming soon¤¶Ž-\³@>(Ā» µ2ŽKœžµ2ŽTo a Model 36C¤¶- > Labels in MarŹNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž –ŁNNNNNNNNNNNNNNNNNNNNNNš”””ūquee³Ž@&>Ģ» µ2ŽKœžµ2Ž Near You.¤¶Ž-/³@6&Ö µŽ?¤zįG®{ėµŽ?¤zįG®{µ?„zįG®{°’ąʶŽ-\³@06 ąµ! čµ!»¶- \ Make this label bold³Ž@*0 ź» µ2ŽKœžµ2Ž "The Tiger"¤¶Ž- /³Ž@*ō“Ž ’ąV¶Ž-/³@2›µ2ŽIt's time for:¤¶- Last text messa±‡žéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž „čNNNNNNNNNNNNNNNNNNNNNN”””ūge³Ž@2‚½#¶- Let them read it³@$»@¶- Clear the Alpha screen³@$»’½³Ž@&» ¶- Do forever³@ 0dkĶ»M¶Ž-\³@ :dp½#¶Ž- \³Ž@ DdlĶ»M¶Ž- \³@, Ndp½#¶Ž- \ Load the four palettes,³@2, XdmĶ»M¶Ž- / waiting after eachChžōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž <NNNNNNNNNNNNNNNNNNNNNN”””ū load.³Ž@2 bdp½#¶Ž- /³@ ldnĶ»M¶Ž- /³Ž@ vdp½#¶Ž-/³@€»Žb³ŽĄ ¶Ž ³Ž@ ‚µ2Ž SYSTEM IDĄ³@ ƒ„ž³Ž@ …µ2ŽS300ń·”»8³@  †»³@ н³Ž€P Ē2ž~NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’ @ĀĀ’’z’’ b6źl6b ’’žś ŖŖ$@ 94@ ’’žśł ’’žųŖ ’’žö$ ’’žōś2@ ’’žņ*$>@ ’’žšłL@ ’’žīŖT"A \0`’łh0HŖ$t ’’žņ*$b ’’žšłz ’’žī*$€@ *$ˆÜ’ł’@ 5“žtNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ZNNNNNNNNNNNNNNNNNNNNNN”””ū*$œ@ ’’’ķ*$Ø@ *$®z’łøsdart Packet_lengthJ`acket_enA$ Packet_start Packet_length Packet_endArrayKey Service_reqLoopIndexKeycode FrameworkDisp_NNžżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž i,NNNNNNNNNNNNNNNNNNNNNN”””ūkey@ d»@³@> n¶Ž2 Assumes button box at location 3.³Ž@.>xƒ»'»w»5¶Ž Disable Key Auto-repeat.³@ .‚¶Ž³Ž@ Œ¼’’’’ )Ž€¤³@–¼ !£!£!£!£!¤³@  ¼!¤³@ Ŗ¼@¤³@ “ˆÖ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€W‚æƒ)…“†ž‡j‰×ŠEŒ² ł‘d“Ī”9–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ONNNNNNNNNNNNNNNNNNNNNN”””ūisplay.³@@&Ų€µ!Ž8€µ!Ž+»¶' Scale to match Touchscreen resolution.³@ @ā¶Ž³ŽĄ ģ –³Ž@ ö¶Ž³ŽĄ  ¶Ž³Ž@  Ą³@0 æ ń·Ŗŗ¶Ž$ Data already processed.³Ž@(0‚¶ Skip "overflow" indicator.³@ ((» ³@* 2’æ ¶/ DetermiXžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 8~NNNNNNNNNNNNNNNNNNNNNNž”””ūne packet length.³@&* <聟¶1 Find end of packet.³Ž@& Fż³Ž@  P¶Ž ³Ž@ Z‚’æ ³@ d» d³Ž@, n»Ž䁻»Žž¶Ž Touchscreen³Ž@, xŃÕ²³Ž@, ‚»Ž䃻»ŽڶŽ Function box³@, ŒŃ„’Õ²³Ž@  –»³@  ¶Ž ³Ž@( [>žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž m-NNNNNNNNNNNNNNNNNNNNNN”””ūŖč¶% Prepare for next packet.³@ ( “¶Ž ³Ž@ ¾æ ņ»ܳŽ@ ț„³Ž@ Ņŗ³Ž@ ܽ³Ž@ ę¶Ž³Ž@šĀĀ  ’’ørD n fŖ$ ‚’’’ų – €’’’ų*$€’’’š*$ @ NV’ų Touchscreen Coordinate$X_cnūžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ^NNNNNNNNNNNNNNNNNNNNNN”””ūoordY_coord³Ž@ ś¶Ž ³Ž@ ƒ’æ Ąń· ³Ž@ „’æ ³@ …’æ ³@  "»³@ ,¹³@6±³@ @¶Ž³Ž@JĀĀ’’żų ’’ørDn  †Ŗ$ ‚’’’ų – ’’’ž*$Hąć€//<Hąć€//<÷Z’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž N"NNNNNNNNNNNNNNNNNNNNNN”””ū Function_box Key_press$Key_num³Ž@ T¼!¤³@ ^æ » ³Ž@  hæ ³@ r» ņ³Ž@  |»Ž䀻»»$³Ž@ †»D…ƒƒ»>³Ž@  »Ž䂻ƒ»»V³Ž@ š»D…„„»>³Ž@  ¤»Ž䄻…»»ģ÷žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  }NNNNNNNNNNNNNNNNNNNNNNš”””ūˆ³Ž@ ®»D………»>³Ž@  ø»Ž䆻‡»»Ą³Ž@ Ā»D…µ!2µ!2»>³Ž@ Ģ»Ž䳎@  Ö½$³@ ໳@ ź‚’³@ ō»ŽÄ³Ž@ž±³R¹žSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  (@NNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’uĪ@ĀĀ’’ „(’’ˆ d~ p~m ZB ’’ł(A ’’’čB ’’’pB ’’žČB"’’śh "A"’’łĪ.*@ ōWx2@"’’’ģ8@ ’’’ä> ¬WxB@ (žH@"2:T@"’’’ŠX B \ Bb Bj B(p B2v B0„žśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  qNNNNNNNNNNNNNNNNNNNNNN”””ū< ~ BF †@$’’ņ8’Œ@ ’’’ČWx’ BPĄ „¤@"’’ł²R˜@" N@ ’’łŖü°@ ÅśĪP ’’’’WxŚP ’’’’WxäP ’’’’Wxģ@ ’’ńŲWxö@ Wxü@ RQÖŗP ’’’’’žP ’’’’Wx @"–LÖ@ ’’ńŠWx @ ’’ńČWx$P ’’’’Wx&@ (_ü,P ’’’’’žžP ’’’’Wx<@ WxJ0į’©³žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ‚ęNNNNNNNNNNNNNNNNNNNNNN”””ū@ WxP@ WxZ@ .Eśā@ Wxj@ Wxv@ Wx€@ ’’ńĄEśøP ’’’’’žšP ’’’’Wx¦@ Wx²@ WxĄ@ WxĪ@ WxÜ@ Wxę@ WxīP ’’’’Wxś@ Wx@ Wx @ Wx@ Wx@ Wx P ’’’’Wx(@ Wx4@ Wx>@ WxH@ °ŗ’ēżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ±×NNNNNNNNNNNNNNNNNNNNNN”””ūWxT@ Wx\@ WxjP ’’’’Wxv@ Wx‚@ Wx@ Wxš@ Wx¦@ Wx°P ’’’’Wxŗ@ WxČP ’’’’fP ’’’’ÅśŽ@ Wxš@ Wxś@ WxP ’’’’Wx@ Wx"P ’’’’ÅśpP ’’’’’ž0@ ’’ńøWx8@ ’’ń°Wx<@ ’’ńØWxB@ WxHP ’’’’WxR@ ÅśV@ =žĶŸōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ä„NNNNNNNNNNNNNNNNNNNNNN”””ūÄ@ `Eś2@ Åśz@ _ž‚’’’쐒’’Ų˜@ ÅśĢ@ ÅśÖ@ ÅśŽ@ ÅśęP ’’’’Åś(@ jEśfs$Titles$DceysKeyBeenRed$Green$Blue$Cyan$GSžśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ×µNNNNNNNNNNNNNNNNNNNNNN”””ūWhite$Blink$Norm$ New_models System_type$ĮtžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ē‹NNNNNNNNNNNNNNNNNNNNNN”””ū Touchscreen Function_box@č¼@£@ޤ³@ņ¼!£!¤³Ž@ ü¶Ž³Ž@, Š»(’ ½¶Ž$ Set up interrupts for³Ž@<,¶Ž0 addresses 1 and 3.³Ž@<»"¶ InipŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ōŗNNNNNNNNNNNNNNNNNNNNNN”””ūtialize³@ $»¶ Turn on graphics.³Ž@D .›µ!Ž„½£µ- This program allows you to touch a point on¤³Ž@DD8›µ!޽£µ"Ž-the screen and draw a figure at that location¤³Ž@BDB›µ!޽£µ"Ž+by pressing a key on the Function Box. The¤³Ž@DBL›µ!޽¹‚žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ”éNNNNNNNNNNNNNNNNNNNNNN”””ū£µ"Ž-keys are numbered from left to right starting¤³Ž@4NNNNNNNNNNNNNNNNNNNNNN”””ū *³@BB¶Ž7* This is a demo for the HP 9000 color workstations *³@BB(¶Ž7* using either 9836C or Series 300 color systems. *³@BB2¶Ž7* *³@BB<¶Ž7* Updated 1-8-87 for Seur’żNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž§£NNNNNNNNNNNNNNNNNNNNNN”””ūries 300 *³@BBF¶Ž7* *³@BBP¶Ž7*******************************************************³@ BZ¶Ž³Ž@> d¼’’’’ @Ž£@Ž£@Ž£@Ž£@Ž£@Ž£@Ž£@ޤ³@ >n½³@ x»Į4’Ł’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž”’NNNNNNNNNNNNNNNNNNNNNN”””ū³@4 ‚Ąµ!Ž­¤¶Ž& KBD Compatibliity Mode - ON³Ž@4ŒĄµ2ŽINTERNAL»I³@–µ2Ž SYSTEM IDĄ³@ „ž³Ž@:Ŗµ2ŽS300ń· ¦µ!»:¶7 set key labels to Green³Ž@ :“¶Ž³Ž@ ¾ µ1މ搳@ȵ1Ž‹æ³@ҵ1Žæ³@ܵ1ŽŒæ³@0Óž@éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĮĮNNNNNNNNNNNNNNNNNNNNNN”””ūęµ1Žˆæ³@šµ1ކ搳@śµ1Ž€æ³@cµ1ŽŠæ³@ddµ1ƒæ³@ ¶Ž³Ž@ "Ѳ³Ž@ ,½³Ž@ 6¶Ž³Ž@@ĀĀfĄ`’’4ejޤexHŽÕeF  „WxRWx @ (ž@"2@"2 B®’€ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žņšNNNNNNNNNNNNNNNNNNNNNN”””ū & B, B4 B(: B2@ B< H BF P BPb0"€’ž\€’’žčl6¬@ p ’’ü*~ ’’ū`„"’’ł"’’÷Ą ”"’’÷,ž"’’öp8Ø"’’õ°D“"’’õpP¾"’’õX\Ę"’’óˆhŌ"’’ņųtÜ"’’ņ؀ę"’’ņŒī"’’ńؘü!’’ń˜¤ µ’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žāĪNNNNNNNNNNNNNNNNNNNNNN”””ū"’’šČ¬"’’š ø"’’ļ Ä"’’ļ Š("’’ī Ü4"’’ī č@"’’ķ0ōP"’’ķX"’’ģŠ d"’’ģ r"’’ģp$|"’’ģ00†"’’ģ<@ ,ŗ0Ŗ’ž¤@ .üŽ@ /ü>0I`’žĘ@ 1ü0M˜’žŲ@ 3üp0’žč@ 5üz0NŚ’žś@ 7_Üd0”žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ń’NNNNNNNNNNNNNNNNNNNNNN”””ūø’ž @ 9\š*0Š’ž @ ;Wx*0PT’ž4@ =Wx>0’žJ@ ’’éĄWxV€’’ėųž^@ ’’’ædP ’’’’’žr@ CWx€0Q’žŒ@ EWx˜0Q¾’ž¤@ GWx°0Rv’ž¼@ IWxČ0’žÖ@ KWxä0²’žī@ MWxųP ’’’’’ž€’’ėšWx @ PWx0S’žä÷žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž „¬NNNNNNNNNNNNNNNNNNNNNN”””ū@ RWx"P ’’’’’ž*0†Wx2€’’ėčWx<€’’ėąWx@@ WWxL0(Ź’žV@ YWx`07’žj@ [Wxt0&¬’ž~@ ]Wxˆ0~’ž@ _Wx˜0D’ž @ aWxØP ’’’’’ž®€’’ėŲWx“€’’ėŠWxŗ@ eWx¾0ų’žȀ’’ėČWxŅsBWxŲ€’’ėĄWx‒’ėøWx䀒’ė°DįžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ·NNNNNNNNNNNNNNNNNNNNNN”””ūWx’ėØWxś€’’ė Wx€’’ė˜Wx€’’ėWx€’’ėˆWx€’’ė€Wx"€’’ėxWx(€’’ėpWx.@ tWx60"˜’žFP ’’’’WxV@ wWxb0 ō’žj@ yWxr0!6’ž|@ {Wx†0!x’ž@ }Wxš0!ŗ’ž¦@ Wx²0!ü’žŗ@ WxĀ0">’žĢ@ ƒWxÖP ’’’’’ž܀ßTžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž . NNNNNNNNNNNNNNNNNNNNNN”””ū’’ėhWxā@ †Wxę0$r’žī@ ˆWxö0%’ž@ ’’’vWx 0%¾’ž€’’ė`Wx€’’ėXž €’’ėPWx"€’’ėHWx(€’’ė@Wx.€’’ė8Wx0€’’ė0Wx:€’’ė(žD@ ”WxN0&d’žV€’’ė Wx^€’’ėWxj@ ˜Wxt09’ž|P ’’’’Wx„@ ›žŠ@ œWx0(.’žœ0(WxkæžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ;NNNNNNNNNNNNNNNNNNNNNNž”””ūØ@ Ÿž²€’’ėWx¼€’’ėWxĄ€’’ėWxĀ’’źųWxȀ’’źšWxĪ@ „WxŌ09Ā’ž䀒’źčWxō@ ØWxž0Aˆ’ž 03ŽWx@ «Wx&0EĘ’ž0P ’’’’Wx:€’’źąWxF@ ’’’QWxN0C“’žV@ ±Wx^0D’žh€’’źŲWxr@ “Wxz0?¬’ž„@ ’’’JWxŽ0=Č’ž–€’’ų!’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žHhNNNNNNNNNNNNNNNNNNNNNNž”””ūźŠWxž@ ¹Wx¦0Dņ’ž°@ »Wxŗ0Db’žĀ@ ’’čˆWxŹ@ ’’č€WxŌ@ æWxŽ08Ø’žč08€Wxņ@ Āžü€’’źČWx€’’źĄWx€’’źøWx@ Ęž0³Ž@  (‰ žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žXNNNNNNNNNNNNNNNNNNNNNN”””ū¶Ž ³Ž@2 2OµŽ?陙™™™šµ?Ó333333µ?¹™™™™™šė°Ž’ąī³Ž@"2 <€µŽ?ə™™™™šµ?ə™™™™šO»M³@" Fµ?ə™™™™š½#³Ž@ P“ŽO’঳Ž@  Zŗ³Ž@ d¶Ž ³ŽĄ n4¶Ž³Ž@  x dg¤³Ž@ ‚µBސ³@ ŒOdgæ°’Šj³Ž@  – ¤³@  ū³@ Ŗ“ŽO’ŠB³Ž@ L…’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žLiNNNNNNNNNNNNNNNNNNNNNN”””ū“dgdgæń·€»@³@ ¾dhŃÕ²³@ Čdidič³@  Ņŗ³Ž@ ܶŽ³ŽĄ ęL¶Ž³Ž@ šO€‰°Ž’Ąž³Ž@ śOµBŽ ½½’ ½³Ž@ “ŽO’ĄŌ³Ž@  »³@ €µ!Ž#µ!ėµ!Ž »³@  "»³@ ,»³@ 6»³@ @dj€³Ž@ Jdk€³Ž@ Tdl€³Ž@ ^¶Ž öČ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž\WNNNNNNNNNNNNNNNNNNNNNN”””ū_boxIsland Hsl_combiner Wheel_seg Wheel_hueIrisSliderTop_beam Bottom_beam Filter_beamNon_filter_beamEraser Up_triangle Down_triangleIris_topIris_bot Iris_cone Last_colorsLights Lecture_text Global_initIntroįL’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žofNNNNNNNNNNNNNNNNNNNNNN”””ū Read_textIntro2 Wait_keys Wait_loop Intro_tag Intro_keysFalse First_model First_inst Lights_out Douse_lightū’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž:5NNNNNNNNNNNNNNNNNNNNNN”””ūsMake_rgbI Hsl_model Main_loopHsl Slider_madeMake_hslHsl_keys Rgb2_keysSet_rgbSet_hslTrueRgbGet_backLinesText_out`džNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ūP Red_level Green_level Blue_level BackgroundBlackBodyRedGreenBlueResultMake_indicatorUp_redDown_redUp_green Down_greenUp_blue Down_blue4·’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž“NNNNNNNNNNNNNNNNNNNNNNž”””ūIncSet_red Set_greenSet_blueXYRmoveRdrawJInd_base Ind_levelLast_redSet_ind Last_green Last_blueGet_out Back_to_hsl Rgb2_loopHueSatLumWhiteDoneŽwžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž£¢NNNNNNNNNNNNNNNNNNNNNN”””ūMake_color_pens Step_size New_sliderMake_hsl_beamsNew_irisDel_hueUp_hueDown_hueDel_satDown_satUp_satDel_lumDown_lumUp_lumö”’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žöńNNNNNNNNNNNNNNNNNNNNNN”””ū Rgb_modelHsl_loopHue_upIjLast_hueWheel_indicatorOld_satLast_lumDel_irisBoxCombinerBeamsPointerHsl_boxText_out³Ž@ J¶Ž³Ž@ T¼ ³Ž@> ^¼’’’’@Ž£@Ž£@Ž£@Ž£ aŗ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÅĄNNNNNNNNNNNNNNNNNNNNNN”””ū@Ž£ @Ž£ @Ž£ @ޤ³@ > h» ³@ rµ?ə™™™™š»+’ ½³Ž@  |»³@ †»³@ »@³@ š»)³@ ¤¼@¼£@ŽČ¤³@8 ®¼€%€£Ž€€£Ž€ €£Ž€ €¤³@,8 ø¼€ €£Ž€€£Ž€€¤³@8, ¼€€£Ž€ €£Ž€¤WžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÕžNNNNNNNNNNNNNNNNNNNNNN”””ū€£Ž€ €¤³@48 ̼€€£Ž £Ž€ €£ Ž€€¤³@ 4 Ö¼!€€£"Ž€€¤³@, ą¼#€€£$Ž€€£%Ž€ €¤³@ , ź¼&€€£'Ž€€¤³@, ō¼(€€£)Ž€€£*Ž€€¤³@, ž¼+ ¤³@  ¶Ž ³ŽRŅžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ęĻNNNNNNNNNNNNNNNNNNNNNN”””ū@ »"³@ Ąµ2ŽINTERNAL»I³@  &-½³Ž@ 0¶Ž ³ŽĄ :-¼ .2,.2,.8³@  D ͤ³Ž@ Nµ1ŽŒ³@, X€µŽ?Ó333333µ?Ó333333µ?ć333333»M³Ž@ , b0•³Ž@ l»³@ v»³@ €¶Ž ³Ž@ Š2½³Ž@ ”4•³Ž@ ž6½³Ž@ Ø4•³Ž@ ²>•³Ž@ ¼:•XžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ³œNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@ Ę»@³@ жŽ ³ŽĄ ŚT» ³@ äU·̳Ž@  īV@³@ ųX•³Ž@ Z•³Ž@  øŽč³Ž@  L•³Ž@  \•³Ž@ *¹³@ 4»Ž’³Ž@ >¶Ž³Ž@ H¶Ž³ŽĄ R>¶Ž³Ž@" \€µŽ RGB Model½½’^½³@" fµŽ ½½’ ½³Ž@" p‚µŽ HSL Mod1A’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž €­NNNNNNNNNNNNNNNNNNNNNN”””ūel½½’`½³@" zƒµŽ ½½’ ½³Ž@ „„µŽ ½½’ ½³Ž@ Ž…µŽ ½½’ ½³Ž@ ˜†µŽ ½½’ ½³Ž@ ¢‡µŽ ½½’ ½³Ž@ ¬ˆµŽ ½½’ ½³Ž@ ¶‰µŽ ½½’ ½³Ž@ Ą¶Ž³Ž@ Źŗ³Ž@ Ō¶Ž³ŽĄ Ž`¶Ž³Ž@  čUc³@ ņdd@³Ž@ üēł’żNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Ćƒ-…—†ˆk‰ÕŠ>Œ«„š‘\“Č”3–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž”zNNNNNNNNNNNNNNNNNNNNNNš”””ū  ܶŽ³ŽĄ  ę|¶Ž³Ž@ šdkdkd…聥³@  śd‰•³@ ŗ³Ž@  ¶Ž³ŽĄ  ~¶Ž³Ž@ "dkdkd…ź€Ą³@  ,d‰•³@ 6ŗ³Ž@  @¶Ž³ŽĄ  J€¶Ž³Ž@ Tdldld…聥³@  ^d‹•³@ hŗ³Ž@  r¶Ž³ŽĄ  |‚¶Ž³Ž@ †dldld…ź€Ą³@  d‹•³@ [ę’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž §KNNNNNNNNNNNNNNNNNNNNNN”””ū šŗ³Ž@  ¤¶Ž³ŽĄ ® ŗ³Ž@  ø¶Ž³ŽĄ  Āu¶Ž³Ž@ ĢdŒd»A³Ž@ Öµ(@333333€dŽ»(³@ ąµ(@333333†d»(³@ źO„°Ž’p# ³Ž@ ōµ8?ōOdŽ»(³@ ž‚Od»(³Ž@ d„°’€#޳Ž@( µ(?ųOdµ(Ž?ŠģčdŽ»(³Ž@( ‚Odµ(?ŠÖOžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ņNNNNNNNNNNNNNNNNNNNNNN”””ūģčd»(³Ž@ &“ސ’€#6³Ž@ 0“ŽO’p"ś³Ž@  :ˆ»³Ž@ DdŒd»³@ N…dŽ»(³Ž@ X‚…d»(³Ž@ b…dŽ»(³Ž@ l» µRŽKœžµRŽ1¤³Ž@ vdŒd»³@ €dŽ»(³Ž@ Š‚d»(³Ž@ ”dŽ»(³Ž@ ž» µRŽKœžµRŽ0¤³Ž@  Øŗ³Ž@  ²¶Žŗ"’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Į)NNNNNNNNNNNNNNNNNNNNNNš”””ū³ŽĄ  ¼‡¶Ž³Ž@  Ęd‘…³Ž@ Šd’d“³@ Śdm»H³@ äd••³@ īdn»H³@ ųd’dj³@ d••³@ d“dj³@ dpdj€€»M³Ž@ dsdjdkdl»M³Ž@  *ŗ³Ž@  4¶Ž³ŽĄ  >‰¶Ž³Ž@  Hd‘‚됳@ Rd’d–³@ \dm»H³@ fd••³@ pdn»H³@ zd’dk³@ ŗńžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž X¾NNNNNNNNNNNNNNNNNNNNNNš”””ū „d••³@ Žd–dk³@ ˜dq€dk€»M³Ž@ ¢dsdjdkdl»M³Ž@  ¬ŗ³Ž@  ¶¶Ž³ŽĄ  Ą‹¶Ž³Ž@  Źd‘‰ė³@ Ōd’d—³@ Ždm»H³@ čd••³@ ņdn»H³@ üd’dl³@ d••³@ d—dl³@ dsdjdkdl»M³Ž@ $dr€€dl»M³Ž@  .ŗ³Ž@ 8¶Ž³ŽĄ B•¶ŽU-žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž kNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@ Lƒd‘d’„ģ軳@ VĶ»D»B»G³@  `ŗ³Ž@ j¶Ž ³ŽĄ t\¶Ž³Ž@" ~€µŽ More Red½½’dx½³Ž@"" ˆ…µŽ Less Red½½’dz½³Ž@$" ’µŽ More Green½½’d|½³Ž@$$ œ†µŽ Less Green½½’d~½³Ž@"$ ¦‚µŽ More Blue½½’d€½³@"" °æCžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž>ÜNNNNNNNNNNNNNNNNNNNNNNš”””ū‡µŽ Less Blue½½’d‚½³@" ŗƒµŽ ½½’ ½³Ž@$ ĄµŽ HSL Model½½’d½³Ž@$ ΈµŽ ½½’ ½³Ž@ Ų‰µŽQuit½½’d™½³Ž@ ā¶Ž³ŽĄ ģž» ³@ ö»Ž(³Ž@ ¶Ž³ŽĄ  ¶Ž³Ž@  »³@ d ³Ž@ (d”³Ž@ 2d¢³Ž@ ŒŒžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ķNNNNNNNNNNNNNNNNNNNNNN”””ūµ8@1fffffg‰»³Ž@  H€»³Ž@ R»³Ž@ \» µBŽKœžµBŽ_QžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŃNNNNNNNNNNNNNNNNNNNNNNš”””ūMirror¤³@  f»³@ p¶Ž³Ž@ z¶Ž Make Lower Mirror³Ž@ „µ!‰ė»³@ ޵!-» ³@ ˜»D„‚æģė»B»C»=³@  ¢€» ³Ž@ ¬µ8@1fffffg‰ė»³@  ¶ƒ»³Ž@ Ą» µBŽKœžµBŽMirror¤³@  Ź»³@ Զ޳Ž@ ޵!ė»³@  čds»H³@ ņ»Dµ!ŽķžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žā&NNNNNNNNNNNNNNNNNNNNNNš”””ū‚»B»=³@ ü¶Ž³Ž@  ¶Ž Make Indicators³Ž@  „»³@ du•¶! Red³Ž@  $dp»H³@ .»³@ 8Ķ»D»B»E³@  B‡‡»³@ L»D‚»>³Ž@  V¶Ž³Ž@ `ƒė»³Ž@ jdu•¶! Green³Ž@  tdq»H³@ ~»³@ ˆĶ»D»B»E³@  ’‡€»³@ œ»D‚»žøžōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž·uNNNNNNNNNNNNNNNNNNNNNN”””ū>³Ž@  ¦¶Ž³Ž@ °Šė»³Ž@ ŗdu•¶! Blue³@  Ädr»H³@ Ī»³@ ŲĶ»D»B»E³@ ⇇뻳Ž@ ģ»D‚»>³Ž@  ö¶Ž³Ž@ Oˆ°Ž’° ³Ž@  dx•³@ “ŽO’° ³Ž@ Oˆ°Ž’  P³Ž@  (d|•³@ 2“ŽO’  4³Ž@ » µRŽKœžµRŽMirror¤³@ H¶Ž³Ž@ Rµ!ė†ė»³Ž@ \µ!-ė» ³Ž@ f»Dƒ‚æģė»B»C»=³@  p€» ³Ž@" zµ8@2€ėµ(Ž@#뻳Ž@ " „ƒ»³Ž@ Ž» µRŽKœžµRŽMirror¤³@ ˜¶Ž³Ž@ ¢µ(@D’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÕNNNNNNNNNNNNNNNNNNNNNN”””ūfffffgµ(@"333333»³@ ¬µ!-ė» ³Ž@ ¶»Dƒ‚æ쁻B»C»=³Ž@  Ą€» ³Ž@ Ź…µ!Ž »³@  ԃ»³Ž@ Ž» µRŽKœžµRŽMirror¤³@ č¶Ž³Ž@ ņ…µ(Ž@"333333뻳Ž@ üµ!-» ³@ »Dƒ‚æģė»B»C»=³@  €» ³Ž@ …µ!Ž ė»³Ž@  $»³Ž@ .v¾’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž€ENNNNNNNNNNNNNNNNNNNNNN”””ū» µRŽKœžµRŽMirror¤³@ 8¶Ž³Ž@ B»³@ LĶ»D»B»C»E³Ž@  V»³@ `µ(@ĢĢĢĢĢĶ€»³Ž@  j»³Ž@ tµ(@»³@  ~» µRŽKœžµRŽOptical¤³Ž@ ˆ» µRŽKœžµRŽMixer¤³Ž@  ’»³@ œĶ»D»B»C»E³Ž@ ¦¶Ž³Ž@ °‚»³Ž@ ŗØźžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž³tNNNNNNNNNNNNNNNNNNNNNN”””ūƒ»³Ž@ ĵ8@0€…»³Ž@" Ī» µRŽKœžµRŽ Luminosity¤³@" Ųµ8@0€ƒė»³@" ā» µRŽKœžµRŽ Luminosity¤³@" ģ» µRŽKœžµRŽIris¤³@ ö¶Ž³Ž@ d©•³@  µ(@#ė„»³@  »³Ž@$ » µRŽKœžµRŽ Saturation-¤³Ž@ $ (»³Ž@ 2@ČNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž£JNNNNNNNNNNNNNNNNNNNNNNš”””ū» µRŽKœžµRŽSlider¤³@ <¶Ž³Ž@" F¶Ž Start the color wheel³Ž@ " Pdn»³@ Z€µ1Ž’€µ!ŽK»³@ dO„µ! °’@2~³Ž@$ nµ1µ8@2™™™™™šµ(?ų컳Ž@&$ xO„źüµ!-ģµ8Ž@6€čµ1Ž“č» ³Ž@ & ‚€€» ³@ ŒO»H³Ž@ –»Dµ!Ž µ!PŠ»B»C»>³@x žéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž {NNNNNNNNNNNNNNNNNNNNNNš”””ū  “ŽO’@1ģ³Ž@  Ŗ€» ³Ž@ “Šėµ!µ!ėµ!Ž»³@ ¾¶Ž³Ž@ ȇėµ8@.™™™™™šė»³Ž@  ҃»³Ž@ Ü» µRŽKœžµRŽHue¤³Ž@ ę» µRŽKœžµRŽColor¤³Ž@ š» µRŽKœžµRŽWheel¤³Ž@$ś¶Ž Color wheel control knob³@$ ‰ėµ!뻳Ž@ »Dµ(ŽÉųžżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Å(NNNNNNNNNNNNNNNNNNNNNN”””ū?žfffffg»>³Ž@  ˆ»³Ž@ "ƒ»³Ž@" ,µ8@'ėµ8Ž@)뻳Ž@" 6» µRŽKœžµRŽHue¤³Ž@ @¶Ž³ŽĄ JŖ¶Ž³Ž@$T¶Ž Add Lamp and light beams³@$ ^µ!ė„뻳Ž@  hdn»³@ rd£»H³@ |»D…ˆ»B»=³@ †µ8@0€ė€»³@ »D‚»ź=’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž öNNNNNNNNNNNNNNNNNNNNNN”””ūB»C»>³Ž@ š¶Ž³Ž@ ¤!Ķ»D»B»E³@  ®»³@ ø"Ķ»D»B»E³@ µ(@333333ė‰ė»³Ž@  ̇»H³Ž@ Ö»Dµ(Ž@fffffgƒ»B»=³@ ą¶Ž³Ž@ ꇻH³Ž@ ō#Ķ»D»B»E³@ ž¶Ž³Ž@ »³@ е(Ž?ų뻳Ž@ µ! »H³@ &»Dµ(Ž@ƒ»ää’ōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž oŽNNNNNNNNNNNNNNNNNNNNNN”””ūB»=³@ 0¶Ž³Ž@ :µ8@-µ(?ų뻳Ž@ Dµ! »H³@ N»Dµ!Žƒ»B»=³@ X¶Ž³Ž@ bd¬•³@ ld©•³@ vd¬•³@ €O€d®źd®°’06"³Ž@  Šd°•³@ ”“ŽO’06³Ž@" žO€µ?ąd³źd³°Ž’ 6`³Ž@ " Ødµ•³@ ²“ŽO’ 6D³Ž@" ¼O€µ?ąBl’€ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž \æNNNNNNNNNNNNNNNNNNNNNN”””ūdøźdø°Ž’6ž³Ž@ " Ędŗ•³@ Š“ŽO’6‚³Ž@  ڶŽ ³Ž@ äŗ³Ž@ ī¶Ž³Ž@F ų¶Ž; HSL Support Routines ************************************³@ F¶Ž³ŽĄ  Z¶Ž³Ž@$ €µŽ Hue Wheel Up½½’d°½³Ž@&$  …µŽHue Wheel Down½½’d²½³Ž@(& )čžSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ģNNNNNNNNNNNNNNNNNNNNNNš”””ū*µŽMore Saturated½½’d·½³Ž@(( 4†µŽLess Saturated½½’dµ½³Ž@&( >‚µŽMore Luminous½½’d¼½³@&& H‡µŽLess Luminous½½’dŗ½³@& RƒµŽ ½½’ ½³Ž@$ \„µŽ RGB Model½½’dĄ½³Ž@$ fˆµ޽½’ ½³@ p‰µŽQuit½½’d}ĀžÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž:ŻNNNNNNNNNNNNNNNNNNNNNN”””ū™½³Ž@  z¶Ž ³ŽĄ „Į» ³@ Ž»Ž8Œ³Ž@ ˜¶Ž³ŽĄ ¢Ą¶Ž³Ž@  ¬d ³Ž@ ¶d”³Ž@ Ąd¢³Ž@ Źddc³Ž@ ŌU@³@ Žŗ³Ž@ č¶Ž ³ŽĄ ņ™¶Ž³Ž@  ü»³@ »@³@ ĄµRŽINTERNAL»#³@  µBŽS300ń·9z³Ž@  $„»:³Ž@ .„»‚±’éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž*ćNNNNNNNNNNNNNNNNNNNNNN”””ū@ Ü»³@ 滳@ š¶Ž ³Ž@, śdmµ?ąµ?ąµ?ą»M³Ž@,, doµ(?äĢĢĢĢĢ͵(?äĢĢĢĢĢ͵(?äĢĢĢĢĢĶ»M³Ž@, dn€€€»M³@ d£»M³@  "¶Ž ³Ž@ ,d¤@³Ž@ 6d ³Ž@ @d”³Ž@ Jd¢³Ž@ Td¦•³@ ^¶Ž ³Ž@ hdq»³@ rdo»]ž³žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŅNNNNNNNNNNNNNNNNNNNNNN”””ūH³@ |¶Ž ³Ž@ †»@³@ Q½³Ž@ š4•³Ž@ ¤8•³Ž@ ®:•³Ž@ ø»@³@ ¶Ž ³Ž@ Ģdn»³@ ÖĶ»D»B»C»E³Ž@  ໳@ źĶ»D»B»C»E³Ž@  ō»³@ ž»³Ž@ ƒ»³Ž@ µ8@)뀻³@ » µRŽKœžµRŽWhite¤³Ž@ &» µRŽKœ‡žÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žLNNNNNNNNNNNNNNNNNNNNNN”””ūžµRŽLight¤³Ž@ 0» µRŽKœžµRŽSource¤³@  :»³@ DĶ»D»B»C»E³Ž@  N»³@ Xˆ»³Ž@ bƒ»³Ž@( lµ(@ėµ!Ž µ!µ! źü‚ķ軳Ž@"( v» µRŽKœžµRŽ Saturation¤³@" €ƒėµ! »³@ е(@ėµ!Ž »³@ ”» µRŽD.Dœž€¤³@ žd§fž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž°NNNNNNNNNNNNNNNNNNNNNN”””ūµ!µ! źü„퐳@  Ødµ! d§čµ!Žd§°’P,Ō³Ž@ ²ƒėd»³@ ¼µ(@ffffffėd»³Ž@ Ę“Ž’P,œ³Ž@ Ѓėµ!»³@ ڵ(@ėµ!Ž»³@ ä» µRŽD.Dœž¤³@  @ ų¶Ž³Ž@ µ!놻³@  µ!-» ³@ »Dƒ‚æ쁻B»C»=³Ž@   €» ³Ž—Ł’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Āƒ+…•†’‡h‰ŃŠ;Œ„|ē‘R“½”(–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žҚNNNNNNNNNNNNNNNNNNNNNN”””ū<³Ž@ 8¹³@4 BĄµ!Ž­€¤¶Ž( KBD Compatibliity Mode - OFF³@4 L׳@ V¶Ž³ŽĄ `¦¶Ž³Ž@ jµ! Ēd „d®ģꐳŽ@& tµ! Ē€óŽ·: µ! ǁµ!Ž Ē萳Ž@& ~ŠĒd ƒd®ģꐳ@ ˆŠĒ€ó·:8ŠǁŠĒ萳@ ’‰Ēd ‚d®ģꐳ@ œ‰Ē€ó·:d‰ǁ‰Ē萳@ ¦ˆĒd[ÖžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žį«NNNNNNNNNNNNNNNNNNNNNN”””ū d®ź³@ °ˆĒ€ó·:ŽˆǁˆĒ萳@  ŗ¶Ž ³Ž@ ćĒd ³Ž@ ΆĒd d®čüļ³Ž@ Ų…Ēd ‚d®ģčüļ³Ž@ ā„Ēd ƒd®ģčüļ³Ž@  ģ¶Ž ³Ž@ ödĆcńŽ·;R³Ž@ dĄµ!Ž °’;D³Ž@  dÄdÄǁ»L³Ž@ “ŽÄ’;³Ž@ øŽ;š³Ž@ (dĵ! „ė°Žžš;’³Ž@Ż)’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž“ųNNNNNNNNNNNNNNNNNNNNNN”””ū 2dÄdÄǁ»L³Ž@ <“ŽÄžš;l³Ž@ F¹³@ Pµ! +Čd ³Ž@ Zµ! ‚+Čd”³Ž@ dµ! +Čd ³Ž@ nµ! ‚+Čd”³Ž@ xµ! ƒ+Čd¢³Ž@ ‚µ! +Ķ»L³Ž@ Œd¤Ž·<8³Ž@ –dÅd ö·<*dĒ•³@  øŽŗ³Ž@ H¶Ž³ŽĄ R©¶Ž³Ž@  \ˆ»³Ž@ fµ(@fffffg»³@ pV·B–³Ž@ zµ(?ó333333ėµ!Ž»³@ „%Ķ»D»G³Ž@ ޵(?ōĢĢĢĢĢĶėµ!Ž»³@ ˜%Ķ»D»G³Ž@  ¢dm»³@ ¬µ(@fffffgėµ!Ž dȃģ軳Ž@ ¶€» ³@ Ąµ(?ųėµ!Ž»³@ oƒ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž hNNNNNNNNNNNNNNNNNNNNNN”””ūŹ» µRŽD.DDœždȤ³@  ŌdČd”³@ ޹³@ č¶Ž³Ž@ ņdn»³@ üµ(?ó333333ėµ!Ž d”ƒģ軳Ž@  Ķ»D»G³Ž@  µ(?ōĢĢĢĢĢĶėµ!Ž d”ƒģ軳Ž@  Ķ»D»G³Ž@  $Vc³@ .µ(?ųėµ!Ž»³@ 8» µRŽD.DDœžd”¤³@$ Bµ! d d”»L¶( Mixer Output³n@NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž =QNNNNNNNNNNNNNNNNNNNNNN”””ū@$$ Lµ! d d”d¢»L¶Ž( Box Output³@ $V¶Ž³Ž@ `ŗ³Ž@ j¶Ž³ŽĄ t°¶Ž³Ž@ ~d d d®čüļ³@  ˆdĆc³Ž@ ’d¦•³@ œŗ³Ž@ ¦¶Ž³ŽĄ °²¶Ž³Ž@ ŗd d d®ź³Ž@  ÄdĆ@³Ž@ Īd €óŽ·DBd d č³@  Ųd¦•³@ āŗ³Ž@ ģ¶Ž³ŽĄ ö¼¶Ž•QžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž `NNNNNNNNNNNNNNNNNNNNNNš”””ū³Ž@ d¢óŽ·Dč³Ž@  d¢d¢døčĄ³@  d¬•³@ µH@-LĢĢĢĢ͵(?ų뻳Ž@ (µ! »H³@ 2*Ķ»D»B»G³@ <¹³@  Fŗ³ŽĄ Pŗ¶Ž³Ž@ Zd¢€ņŽ·E°³Ž@ dd¢d¢døź€Ą³@  nd¬•³@ xµH@-LĢĢĢĢ͵(?ų뻳Ž@ ‚dm»H³@ Œ)Ķ»D»B»G³€f’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž —÷NNNNNNNNNNNNNNNNNNNNNN”””ū@  –»³@  µH@-LĢĢĢĢ͵(?ų»³@ Ŗ(Ķ»D»B»G³@ “¹³@  ¾ŗ³Ž@ ȶŽ³ŽĄ Ҭ¶Ž³Ž@ ܵ! »³@ ęµ8@-µ(?ų»³@  šµ8@-µ(?ų뻳Ž@ śµ8@-333333µ(?ų뻳Ž@ µ8@-333333µ(?ų»³@ ¶Ž³Ž@ ÉžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¤ĘNNNNNNNNNNNNNNNNNNNNNN”””ūµ8@0€„»³Ž@  "dm»³@ ,‚»³Ž@ 6µ(@fffffg»³@ @» µRŽD.DDœždɤ³@  JdÉd¢³@ T¶Ž³Ž@ ^d¢óŽ·H³Ž@  hdn»³@ rµ8@-µ(?ų»³@" |µ8@-d¢µ(?ų컳Ž@"" †µ8@-333333d¢µ(?ų컳Ž@" µ8@-333333µ([Š’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žń•NNNNNNNNNNNNNNNNNNNNNNš”””ū?ų»³@ š¶Ž³Ž@ ¤µ8@-µ(?ų뻳Ž@" ®µ8@-d¢µ(?ųģ뻳@"" øµ8@-333333d¢µ(?ųģ뻳@ " µ8@-333333µ(?ų뻳Ž@ ̹³@ ֶ޳Ž@" ądʵ(?ųµ(?ųd¢ģꐳ@" ꁂ*ȃdŹź³@ ō„‚*Čdʐ³@ žƒ‚(ČdŹė³ŽlÄžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¤NNNNNNNNNNNNNNNNNNNNNN”””ū@ ƒ‚)Čdʐ³@ µ! d d”d¢»L³Ž@  ¶Ž³Ž@ &µ8@0€„»³Ž@  0dn»³@ :‚»³Ž@ Dµ(@fffffg»³@ N» µRŽD.DDœžd¢¤³@  Xŗ³Ž@R  b¶ŽG Begin Data Statements ************************************************³@ R l¶Ž³ŽĄ  v0¶Ž³Žõ$’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNī€Y‚Āƒ+…•†ˆk‰ÖŠ@Œ«€ź‘S“¾”)–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ĒNNNNNNNNNNNNNNNNNNNNNN”””ū0,4, 1,4, 1,10³@86 $ź¼ , 10,10, 10,8, 11,8, 11,10³Ž@88 $ō¼ , 21,10, 21,1, 22,1, 22,11³Ž@8 $ž¼  0,11³@ %¶Ž³ŽĄ %̶޳Ž@8%¶Ž- X,Y X,Y X,Y X,Y³@68 %&¼ + -1,8ƒžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž “öNNNNNNNNNNNNNNNNNNNNNN”””ū3, -1,2, -2,2, -2,1³@86 %0¼ , -3,1, -3,-1, -2,-1, -2,-2³Ž@68 %:¼ + -1,-2, -1,-3, 1,-3, 1,-2³@66 %D¼ * 2,-2, 2,-1, 3,-1, 3,1³Ž@66 %N¼ * 2,1, 2,2, 1,2, 1,3(½žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĘ„NNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@6 %X¼  -1,3³@ %b¶Ž³ŽĄ %lζŽ ³Ž@8%v¶Ž- X,Y X,Y X,Y X,Y³@68 %€¼ + 4,10, 4,4, 10,4, 10,6³@66 %м + 17,6, 17,3, 19,3, 19,6³@66 %”¼ + 17,8, 10,8, 10,10, uĢžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žõ”NNNNNNNNNNNNNNNNNNNNNN”””ū 4,10³@ 6%ž¶Ž³Ž@8 %ؼ , 4,3, 4,-3, 10,-3, 10,-1³Ž@68 %²¼ + 15,-1, 15,1, 10,1, 10,3³@6 %¼¼  4,3³Ž@ %ʶ޳Ž@8 %м , 4,-10, 4,-4, 10,-4, 10,-6³Ž@88 %ڼ , 17,-6, 17,-3, 19,-3, BĢžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žåŖNNNNNNNNNNNNNNNNNNNNNN”””ū@  €¶Ž³Ž@ Šdނ됳@ ”dė³@  ž¶Ž³Ž@ Ødj€³Ž@ ²dk€³Ž@ ¼dl€³Ž@ Ęd…µ!Ž퐳Ž@  жŽ³Ž@ Śdm€³Ž@ ädn³Ž@ īdo‚³Ž@ ųdpƒ³Ž@ !dq„³Ž@ ! dr…³Ž@ !ds†³Ž@ ! d£µ!³@ !*d£»M³@ !4¶Ž³Ž@ !>@€³@ !H郞NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž֛NNNNNNNNNNNNNNNNNNNNNN”””ūc³@ !R¶Ž³Ž@ !\d˽³@ !f ͤ³Ž@ !pd̽³@ !z ͤ³Ž@ !„dν³@ !ޠͣͣͤ³Ž@  !˜dϽ³@ !¢ ͤ³Ž@ !¬¶Ž³Ž@ !¶dн³@ !Ą ͤ³Ž@ !Ź ͤ³Ž@ !Ō ͤ³Ž@ !Ž ͤ³Ž@ !č ͤ³Ž@ !ņ  Ķ£%ͤ³@  !ü !ͤ³Ž@ " "ͤ³Ž@ " #ͤ³Ž@ –Ģ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žƒČNNNNNNNNNNNNNNNNNNNNNN”””ū"døµ!Ž 퐳Ž@ "$d³µ?¹™™™™™š³@ ".d®ˆķ³Ž@ "8¶Ž³Ž@ "B&Ȁ³Ž@ "L‚&Ȁ³Ž@ "V‚&Čd³ƒģ³@ "`‚‚&Ȁ³Ž@ "jƒ&Ȁ³Ž@ "tƒ‚&Čd³ƒģ됳Ž@ "~¶Ž³Ž@ "ˆ'Ȁ³Ž@ "’‚'Ȁ³Ž@ "œ‚'Ȁ³Ž@ "¦‚‚'ȃd³ģ³@ "°ƒ'ȃd³ģ³@ "ŗƒ‚'Ȁ³Ž@ "ÄMęžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž°łNNNNNNNNNNNNNNNNNNNNNNš”””ū¶Ž³Ž@ "Ī(Ī€»{»y³@ "Ų‚(ȵ!³@ "ā¶Ž³Ž@ "ģ)Ī€»{»y³@ "ö‚)ȵ!³@ #¶Ž³Ž@ # *Ī€»{»y³@ #‚*ȃ³Ž@ #‚*ȵ!³@ #(‚‚*ȃ³Ž@ #2ƒ*ȵ!³@ #<¶Ž³Ž@ #Fŗ³Ž@ #P¶Ž³Ž@R #Z¶ŽG Begin Data Statements *******************Æh’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž)nNNNNNNNNNNNNNNNNNNNNNN”””ū*****************************³@ R#d¶Ž³ŽĄ #n2¶Ž ³Ž@ #x¼  2³Ž@ž #‚¼ ’ "The Series 300 Color & 9836C supports two color models, the RGB (Red, Green, Blue) model and the HSL (Hue, Saturation, and Luminosity) model. "³Ž@ˆž #Œ¼ } "The uses of eachLd’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž_NNNNNNNNNNNNNNNNNNNNNN”””ū model are discussed in the chapter on Color Graphics in the BASIC Graphics Programming Techniques book. "³Ąˆ#–6¶Ž³Ž@ # ¼  3.1³Ž@l #Ŗ¼ ` "This program provides two softkey controlled simulators to familiarize you with the models. "³Ž@fl #“¼ [ųžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žO NNNNNNNNNNNNNNNNNNNNNN”””ū "In both models, the values supplied by you are 'normalized,' (range from zero to one). "³@Šf #¾¼ ~ "Whenever the 'Next' label is displayed for the upper right softkey (K4/F4), you can press it to proceed with the program. "³ŽĄŠ#Č<¶Ž³Ž@ #Ҽ  1ĖĒ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž|=NNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@œ #ܼ ‘ "If you are already familiar with the concepts and just want to play with the models, press the HSL or RGB softkey for the appropriate model. "³@ œ#ę¶Ž³ŽĄ #šD¶Ž³Ž@ #ś¼  1³Ž@~ $¼ s "Our simulator will treat this as three light s—õžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žlNNNNNNNNNNNNNNNNNNNNNNš”””ūources, with the outputs mixed to form a single resulting color. "³@ ~$¶Ž³ŽĄ $F¶Ž³Ž@ $"¼  2.1³Ž@< $,¼ 1 "The softkeys will control the light sources. "³@R< $6¼ G "An indicator to the left of each light source shows its intensity. "³@ Rč,žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž _2NNNNNNNNNNNNNNNNNNNNNN”””ū$@¶Ž³ŽĄ $JH¶Ž³Ž@ $T¼  1.1³Ž@f $^¼ [ "As soon as you are ready, I'll dim the lights and you can get on with the experiments. "³@ f$h¶Ž³ŽĄ $rQ¶Ž³Ž@ $|¼  1³Ž@¦ $†¼ š "The HSL color model is slightly more complex than the RGB color kžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  aNNNNNNNNNNNNNNNNNNNNNNš”””ūmodel, but allows a more 'natural' selection of colors. Press 'Next' softkey to begin."³Ž@8¦$¶Ž- X,Y X,Y X,Y X,Y³Ą8 $šĖ¶Ž ³Ž@8 $¤¼ , 0,11, 0,-11, 22,-11, 22,-1³Ž@88 $®¼ , 21,-1, 21,-10, 11,-10+»žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 9PNNNNNNNNNNNNNNNNNNNNNN”””ū, 11,-8³Ž@68 $ø¼ + 10,-8, 10,-10, 1,-10, 1,-4³@86 $¼ , 10,-4, 10,-6, 11,-6, 11,-1³Ž@68 $̼ * 10,-1, 10,-3, 1,-3, 1,3³Ž@66 $Ö¼ + 10,3, 10,1, 11,1, 11,6³@66 $ą¼ + 10,6, 1’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚Āƒ-…—†ˆk‰ÖŠAŒ®‡ó‘]“Ē”1–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž-‡NNNNNNNNNNNNNNNNNNNNNN”””ū 0,-6,-1³Ž@$ 'ŗ¼ 15,0,3 ¶Ž WHITE PEN³Ž@$ 'ļ  0,-9,-1³Ž@& 'μ 0,0,3 ¶ BACKGROUND PEN³@& 'Ų¼ 0,-21,-1³@$ 'ā¼ 7,0,3 ¶ FILTERED PEN³@$ 'ģ¼ 0,-24,-1³@& 'ö¼ 0,0,3 ¶ BACKGROUND PEN³@& (¼ 0,-31,-1³@ ( ¶Ž³Ž@ (—t’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¶NNNNNNNNNNNNNNNNNNNNNN”””ū¶Ž top beam³@B(¶Ž7 X,Y X,Y X,Y X,Y³@BB ((¼ 7 -18,4, -18,6, -15,9, -1.4,9³@BB (2¼ 6 -1.4,6, -15,6, -15,4, -18,4³Ž@ B(<¶Ž³Ž@ (F¶Ž bottom beam³Ž@D (P¼I’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž KåNNNNNNNNNNNNNNNNNNNNNN”””ū 8 -18,-4, -18,-6, -15,-9, -4.3,-9³Ž@BD (Z¼ 7 -4.3,-6, -15,-6, -15,-4, -18,-4³@ B(d¶Ž³Ž@ (n¶Ž FILTER BEAM³Ž@@ (x¼ 5 -1,-6, 5,-6, 5,-3, 8,-3³@B@ (‚¼ 6 8,-5.9, 4.SĒ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž xŌNNNNNNNNNNNNNNNNNNNNNN”””ū9,-9, -1,-9, -1,-6³Ž@ B(Œ¶Ž³Ž@ (–¶Ž NON FILTER BEAM³Ž@@ ( ¼ 4 -1, 6, 5,6, 5,3, 8,3³Ž@@@ (Ŗ¼ 5 8, 5.9, 4.9,9, -1,9, -1,6³@ @(“¶Ž³Ž@ (¾±¶ New_models³@ (ȶŽ³ŽĄ (Ņ>žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž įCNNNNNNNNNNNNNNNNNNNNNNš”””ūѶ޳޼ČP%PĄ  Ą @А P @@Š Ø€€€€šĮä’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŅrNNNNNNNNNNNNNNNNNNNNNN”””ū 0000@0 @(ÜĀĀ’’żv ’’v®jŠŖ v sBWx ‚’’’ųž €’’’ųWx€’’’šWx€’’’čWx0tWx$@ ü:0Ź’ž2@ Wx:P ’’’’Wx@@ T“Ė’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‡!NNNNNNNNNNNNNNNNNNNNNN”””ūext_outSource$WidthFirstLastTestDump_it³Ž@,(ę¶Ž This routine used in NEW_MODELS³Ž@, (šµ!Ž2³@  (ś³@ )³@ )¶Ž³ŽĄ )» ³@" )"žµ ńüæ ńüųŽ·¢˜³Ž@ "),ź³@JCžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž“NNNNNNNNNNNNNNNNNNNNNN”””ū )6»Ž€³Ž@ )@¶Ž³ŽĄ )J¶Ž³Ž@ )Tžµ ńŽ·ōč³@ )^›ż¤³Ž@ )hæ ń·6³Ž@  )r›Šæ¤³@ )|׳@ )†øŽv³Ž@  )č³@ )š萳@ )¤æ ņ·dæ ³@  )®–³Ž@ )ø¹³@)±¶ Text_out³Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­’e’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¤.NNNNNNNNNNNNNNNNNNNNNN”””ū 19,-6³Ž@88 %ä¼ , 17,-8, 10,-8, 10,-10, 4,-10³Ž@ 8%ī¶Ž³ŽĄ %ų϶޳Ž@8&¶Ž- X,Y X,Y X,Y X,Y³@68 & ¼ + .1,0, .8,.2, .8,-.2, .1,0³@ 6&¶Ž³ŽĄ & жŽ³Ž@B&*¶Ž7 X,Y ˜ęžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž—NNNNNNNNNNNNNNNNNNNNNNš”””ū X,Y X,Y X,Y³@BB &4¼ 6 -20,20, -20,-20, 15,-20, 15,-5³Ž@@B &>¼ 5 14,-5, 14,-19, 0,-19, 0,-9³@B@ &H¼ 7 -1,-9, -1,-19, -19,-19, -19,-5³@BB &R¼ 6 -18,-5, qŻ’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĀLNNNNNNNNNNNNNNNNNNNNNNš”””ū -18,-4, -19,-4, -19,4³Ž@BB &\¼ 7 -18,4, -18,5, -19,5, -19,19³@@B &f¼ 5 -1,19, -1,9, 0,9, 0,19³@B@ &p¼ 6 14,19, 14,5, 15,5, 15,20³Ž@B &z¼  -20ĄŪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žń}NNNNNNNNNNNNNNNNNNNNNN”””ū,20³@&„¶Ž BEGIN LIGHT BOX³@B&޶Ž7 X,Y X,Y X,Y X,Y³@BB &˜¼ 7 -15,5, -15,4, -14,4, -14,-4³@BB &¢¼ 6 -15,-4, -15,-5, -13,-5, -13,5³Ž@B &¬¼  -15,5³Ž@&¶¶ŽAW’éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žhźNNNNNNNNNNNNNNNNNNNNNNš”””ū BEGIN ISLAND³Ž@B&Ą¶Ž7 X,Y X,Y X,Y X,Y³@@B &ʼ 4 -1,6, -1,-6, 0,-6, 0,6³Ž@@ &Ō¼  -1,6³@ &޶޳Ž@ &č¶ŽCOMBINER³Ž@B&ņ¶Ž7 X,Y X,Y X,Y įŗžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž[ŪNNNNNNNNNNNNNNNNNNNNNN”””ūX,Y³@BB &ü¼ 7 5,2.9, 5,-2.9, 8,-2.9, 8,-1.5³@BB '¼ 6 10,-1.5, 10,1.5, 8,1.5, 8,2.9³Ž@B '¼  5,2.9³Ž@ '¶Ž³Ž@ '$¶ŽIRIS³Ž@B'.¶Ž7 X,Y X,Y X,Y X,Y³@FB '8¼ŲĒžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žˆNNNNNNNNNNNNNNNNNNNNNN”””ū : 13,5, 13,1.5, 14.5,1.5, 14.5,-1.5³Ž@DF 'B¼ 8 13,-1.5, 13,-5, 16,-5, 16,-1.5³Ž@@D 'L¼ 5 14.5,-1.5, 14.5,1.5, 16,1.5, 16,5³@@ 'V¼  13,5³@'`¶ŽSLIDER³Ž@F'j¶Ž; X,Y,Pen ÖÖ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž=¹NNNNNNNNNNNNNNNNNNNNNNš”””ū X,Y,Pen X,Y,Pen X,Y,Pen³@4F 't¼ ( -1,0,1, 0,0,1, 0,-3,0³Ž@$4 '~¼  0,-6,1, 0,-21,0³@$$ 'ˆ¼  0,-24,1, 0,-27,0³@ $'’¶Ž³Ž@ 'œ¶ŽERASER 11 POINTS³Ž@& '¦¼ 0,0,3 ¶ BACKGROUND PEN³@& '°¼ Ķņ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNī€X‚Āƒ-…™†ˆt‰āŠOŒ¼'’ū‘f“Ļ”9–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž_ŚNNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’hūnP ’’’’’ūt@ ’ūz@"’’T†@"’’TŠ@ 5ŽP ’’’’’ü”@ OopsSoerce$ FNFide_existsLdestinatiof$FNAskAContour&žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žlėNNNNNNNNNNNNNNNNNNNNNN”””ūį"žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž9øNNNNNNNNNNNNNNNNNNNNNN”””ūČ Ą Ā’’żĄ ’’¾*vF@n’ū0/’ū ’ū ę’üsePPausePause Graphics_GraphicsD ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‰NNNNNNNNNNNNNNNNNNNNNNš”””ū³Ž@P¶ŽE This indicates that the output is finished, so push 'CONT' to go on.³@P æ€ńŽ·his ³Ž@  *€³@ 4øŽ³Ž·³Ž@  >³@ H¹³@R·³Ž·³Ž@  \½$³@ f»³@ p»³@ z¹³@:„‘µ2Ž+Push 'CONTINUE' |żžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž·NNNNNNNNNNNNNNNNNNNNNNš”””ūwhen you're ready to go on.¤³Ž@:Ž·2Ž+³Ž@  ˜‚½#³@ ¢»³@ ¬»³@ ¶¹³@ Ą½³Ž@ Ź‘„³Ž@ Ō·³Ž+³Ž@  Ž»³@ 軳@ ņ¹³@ü±¶ SUB Pause³Ž._žgżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž )†NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’ų@ĀĀ’’’’ļ^’’`ŗhųĪ*h®@"’’’Ō(’’’Ō(@  0Z’ü@"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV2’’’Š@ ’ū`@" ūn@ ū@ ūt2’’’Ģ z@ ū|@ ’’’ļū‚ ’’¼ōž6ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž |ÕNNNNNNNNNNNNNNNNNNNNNN”””ū’Źūˆ ’’’ČB ’’’Ęūš ’’’ÄDš  ’’’ĀB¦1’’’¾Ŗ1’’’ŗ ®@ ū²0äBĄ€’’’²ūĪ€’’’ŖūŌ€’’’¢ūŲXQ$ExitYPola¶žl’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž OäNNNNNNNNNNNNNNNNNNNNNN”””ūygonPolygonsSideSidesPenDxDy Define_deltasTempNewPrevious@  ¶Ž³Ž@ »@³@0 ›µŽ!Demonstration of Moving graphics.¤³Ž@00(›µŽ!_________________________________¤³Ž@ 02›„³Ž@. <›µŽPress SPĮź’ĻśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ÖsNNNNNNNNNNNNNNNNNNNNNN”””ūACEBAR to exit program.¤³Ž@ .F›„³Ž@6 P›µŽ'Press Return or ENTER to start program.¤³Ž@ 6Z½ ¤³Ž@ d»@³@ n»’½³Ž@.x¼!£!£!£!£!¤¶1 Make loops faster³Ž@$.‚µ!ސ¶1 How many polygons?³@$$Œƒ¶1 How many sides apiece?³@*$–€¶ŠĄ’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž åBNNNNNNNNNNNNNNNNNNNNNN”””ū1 1: Draw/erase; 0: Complement³@,* ½€ź½½½) £€ź½½½(¤³Ž@,Ŗ½½½%£½½$¤³Ž@"“½¶1 Different each time³Ž@,"¾»"¶1 Initialize graphics parameters³@6,ČĄµ2ŽINTERNAL»#¶1 Use the internal screen³Ž@&6Ņ»¶1 Turn onSŪžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž°NNNNNNNNNNNNNNNNNNNNNN”””ū graphics screen³Ž@6&܀µ1Ž’€µ1Ž…»¶1 Integer arithmetic is faster³@&6ę»¶Ž1 Select appropriate pen³@*&š°Ž’ü8¶Ž1 For each vertex...³@6* ś€ Čæµ1쐶Ž1 ...define a starting point...³Ž@.6 €Čæµ1†ģ¶Ž1 ...for both X and Y...³@4. “j’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žƒ NNNNNNNNNNNNNNNNNNNNNN”””ū€ ȀČ»&¶Ž1 ...then draw to that point.³Ž@ 4“Ž’ü€¶Ž1 et cetera³Ž@< "‚ņ·t€ ȀČ»&¶Ž1 If simple line, don't close³Ž@,<,•¶Ž1 Get dx and dy for each vertex³Ž@0,6ź°Ž’ō ¶Ž1 Draw all the polygons³Ž@$0 @»¶1 Don't conne4—žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž“NNNNNNNNNNNNNNNNNNNNNN”””ū@E E F G G F E D C C D E E D D  E E F G G F E D C C D E D C C  ’’iö’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž /NNNNNNNNNNNNNNNNNNNNNN”””ū³@  v»³@ €»³@& ŠĄµ2ŽINTERNAL»#¶ COLOR MAP³@&”»³@žĄ‹ģ‹» ³@<ضŽ1*************************************************³@ <²¶Ž³Ž@& ¼¶ŽAllocate space for BSTORING³@ &ʶ޳Ž@< жŽ1******************************** ōžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žõ|NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’š@ĀĀ’’ZČ’’N”ŗN ”<|@ ü"’’ü8ę@ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ’’’€ūV@ ’’’xū@ ’ū`@" ūn@ ’’’pū@ ūt@ ’’’hūz@ ū|@ ’’’ļū‚@ 9žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĘMNNNNNNNNNNNNNNNNNNNNNN”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’`ūŖ@ ’’’XB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲA ’’Ųā@ ’’Šūź@ ’’Čūš@ ’’Ąūö@ ’’øūž@ ’’°ū@ ’’Øū @ ’’ ū@ ’’˜ū@ ’’ū @ ’’ˆū$@ ’’€ū.@ ’’xū8@ ’’pūD¤žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚Ćƒ-…—†ˆj‰ÖŠAŒ¬ƒķ‘V“Ą”*–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž?ņNNNNNNNNNNNNNNNNNNNNNN”””ūct polygons³@4$ J°Ž’ų ŗ¶Ž1 Each vertex of each polygon³Ž@,4 Tź ČĒ萶Ž1 Avoid recalculation³Ž@, ^µ1Ž’ņ·̶Ž1 \³Ž@ hĒĒ됶Ž1 \³@H røŽ¶Ž7 (it's not off right side) ! > Is X out of range?³@H |€ó·źĒĒ됶Ž1 Z<’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĆNNNNNNNNNNNNNNNNNNNNNNš”””ū/³@, †¹¶ (off right side?) ! /³Ž@*,  ȁź ČĒ萶7 Calculate next X³@,* šźČĒ萶Ž1 Avoid recalculation³Ž@, ¤µ1Ž…ņ·䶎1 \³Ž@ ®ĒĒ됶Ž1 \³@H øøŽ .¶Ž7 (it's not off top) ! > Is Y out of range?³@H ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žYNNNNNNNNNNNNNNNNNNNNNN”””ūĀ€ó· ĒĒ됶Ž1 /³@, ̹¶ (off the top?) ! /³Ž@*, ÖȁźČĒ萶7 Calculate new Y³Ž@.* ą ČČ»&¶Ž1 Draw line to new point³@4. ź“Ž’ų(¶Ž1 Loop for next side of polygon³Ž@44 ō‚ņ· ī ČČ»&¶Ž7 If line, don't j’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žj”NNNNNNNNNNNNNNNNNNNNNN”””ūclose³@&4ž“Ž’ōжŽ1 Get each polygon³@&&€¶1 Start re-use at entry 0³Ž@.&Š»h’½¶1 Change deltas periodically³@.» ¶1 Ad infinitum...³Ž@( &€ń· ģ¶Ž1 Boundary condition?³Ž@$( 0ź¶1 Start re-using over³Ž@$ :øŽ &¶Ž (new>¤ź’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žó6NNNNNNNNNNNNNNNNNNNNNNš”””ū0)³Ž@& DčüŽ1 Re-use next entry³Ž@& N¹¶ (new=0?)³@$ X»¶1 Don't connect polygons³@.$ bė»¶1 This works either way for Pen³Ž@*. lж1 Don't interrupt in "Side" loop³@* v°Ž’š ¶Ž1 \³Ž@ € ČČ»&¶Ž1 \³@, Гޒ𠼶ޔ'žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĄNNNNNNNNNNNNNNNNNNNNNN”””ū1 > Erase oldest line³Ž@", ”‚ņ· $ ȁȻ&¶Ž1 /³@" ž»¶1 /³Ž@ Ø»¶Ž1 Drawing pen³Ž@ ²°Ž’ģF¶Ž1 \³Ž@ ¼ ČĒ萶Ž1 \³@ ʵ1Ž’ņ· ζŽ1 \³Ž@ ŠĒĒ됶Ž1 \³@ ŚøŽ ¶Ž1 \³Ž@" ä€ó· šĒĒ됶Ž1;ź’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž•TNNNNNNNNNNNNNNNNNNNNNN”””ū \³@" ī¹¶1 \³Ž@  ų Č ČĒ萶1 \³@2 ČĒ萶Ž1 \ Draw the new line³@62  µ1Ž…ņ· ¶Ž1 / same way as before.³@6 ĒĒ됶Ž1 /³@  øŽ ö¶Ž1 /³Ž@" *€ó· äĒĒ됶Ž1 /³@" (ėžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¦eNNNNNNNNNNNNNNNNNNNNNNš”””ū4¹¶1 /³Ž@ >ČČĒ萶1 /³@ H ČČ»&¶Ž1 /³Ž@ R“Ž’ģ j¶Ž1 /³@" \‚ņ·h ȁȻ&¶Ž1 /³Ž@ " f϶1 Interrupts OK again³Ž@( pčüŽ1 Next one to re-use.³Ž@((z»Ž †¶Ž1 End of infinite loop³ĄH(„¶Ž: ---§÷’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¶[NNNNNNNNNNNNNNNNNNNNNNš”””ū------------------------------------------------------³Ž@(Hށ°Ž’č(¶Ž1 For each vertex³Ž@*( ˜Ēæƒģ‚萶Ž1 Magnitude of this dx³@6* ¢æµ?ąó·ØĒĒ됶Ž1 Sign of this dx³Ž@*6 ¬Ēæƒģ‚萶Ž1 Magnitude of this dy³@6* ¶æµ?ąó·~ÜNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž …jNNNNNNNNNNNNNNNNNNNNNN”””ūĒĒ됶Ž1 Sign of this dy³Ž@ 6Ą“Ž’čH¶Ž1 et cetera³Ž@& Źŗ¶Ž1 back to the main program³Ą&Ō»¶1 Clear graphics³@ Ž»@³@8 蛵!މ½Ÿµ!You can use the BASIC System now.¤³Ž@8ņ½¶Ž1 Finish³&L|N¹/-&LĻ’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Š9NNNNNNNNNNNNNNNNNNNNNN”””ū|c7’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ćNNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’%ž@ĀĀ’’J ’’ œ Ų¾Ž,¾ ¼’’’Ü0 N_ü @ ü@ ’’@"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV@ ū@ ’ū`@" ūn€’’’Ōū@ ūt@ ūz@ ū|@ ’’’ļū‚@ €N’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž zŸNNNNNNNNNNNNNNNNNNNNNNž”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’éūŖ@ ’’’čB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲ@ ’’’āūā@ ūź@ ūš@ !ūö@ "ūž@ #ū@ ’’’Üū @ %ū@ &ū@ 'ū @ (ū$@ )ū.@ ’’’Öū8@ +ūDŹBNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž I®NNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’’ŠūnP ’’’’’ūt@ ’ūz@ 3ū†@ 4BŠP ’’’’’ū–@ ’’’Źūš@ ’’’ÉB @ ’’’Čū¦@ ’’’ĒDš¬@ ’’’ĘB¶@";ū¼P ’’’’’ūÄP ’’’’’ūŹP ’’’’’ūŠP ’’’’’ūÖP ’’’’’ūąP ’’’’’ūę@ Būī@ Cūō@ DūüP ’’’’_Ż’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žżNNNNNNNNNNNNNNNNNNNNNNš”””ū’ūP ’’’’’ūP ’’’’’ūP ’’’’’ū @ Iū @ JB@ Kū@ ’’’“ū @ Mū.@ Nū8@ Oū<@ PūB@ QūR@ ’’’®ū\@ Sūb@ Tūd@ Uūp@ Vūt@ Wūx@ ’’’Øū„@ Yūˆ@ ZūŒ@ [’ū’@"\B–@ ]ū¢@ ’’’¢ūØ@ ¤’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž/ĢNNNNNNNNNNNNNNNNNNNNNNš”””ū’’’”B®@ ’’’ ūø@ ’’’ŸDš¾P ’’’’’ūĀP ’’’’’ūČP ’’’’’ūŅP ’’’’’ūŲ@ ’ūÜ@ ’’’™ūä@ ’ūź@ iūš@"jBö@ kū@ lB@ ’’’“ū @ ’’’’Dš@ oū@ pū"@ qū.P ’’’’B2@ sū6P ’’’’B<@ u’ūB@ vBF!’’’dL!’’’$Ł’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Āƒ,…–†ˆl‰ÖŠ@ŒŖė‘T“Ą”+–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž MÆNNNNNNNNNNNNNNNNNNNNNN”””ū---------!³Ž@TT"¶ŽH This is a routine which draws a pie chart. The data is passed !³Ž@TT,¶ŽH through the array Data(*), which is a one-dimensional real array !³Ž@TT6¶ŽH with up to fourteen elements. Fourteen, because a 9836C has 16 C’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ~žNNNNNNNNNNNNNNNNNNNNNNš”””ū !³Ž@TT@¶ŽH entries in the color map and a black and white are always needed. !³Ž@TTJ¶ŽH If an entry in Data(*) is negative, that is a flag which specifies !³Ž@TTT¶ŽH that the corresponding pie segment is to be exploded, i.e., pulled >žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž+ĶNNNNNNNNNNNNNNNNNNNNNNš”””ū !³Ž@TT^¶ŽH out slightly from the center of the pie. !³Ž@TTh¶ŽH Title$(*) is a one-dimensional, two-entry string array whose !³Ž@TTr¶ŽH first element is the main title of the pie chart, and whose second !³ŽĪłžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žüNNNNNNNNNNNNNNNNNNNNNNš”””ū@TT|¶ŽH element is the subtitle. Either of these may be blank, if desired. !³Ž@TT†¶ŽH Legends$(*) is a one-dimensional string array which is expected !³Ž@TT¶ŽH to have the same number of elements in it as the Data(*) array. !³Ž@TT”AžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĀNNNNNNNNNNNNNNNNNNNNNN”””ūR@"yū`@"’’’†Dšj@ ’’’…BZ@ |ūt@ }ūx@ ~ū€@ ū†@ €ūˆ@!’’’’’ūT@ ‚ūŽ@"ƒū@ „ū–@ ’ūž@!’’’’’ūō!’’żš؀’’żčū²€’’żąūŗJ’ūĄ@! ‚’ū–of$FNAskC$IExitļžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž;óNNNNNNNNNNNNNNNNNNNNNN”””ūį"’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žn NNNNNNNNNNNNNNNNNNNNNN”””ūį"NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž]‘NNNNNNNNNNNNNNNNNNNNNN”””ūį"’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÄNNNNNNNNNNNNNNNNNNNNNN”””ūDataTitle$Legends$PiecesMult Pie_chart@ ¶Ž RE-STORE "Pie_Chart"³@ ¶Ž updated 1-12-87³Ž@  »@³@2 ›µŽ$DemonsŚ“’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž÷7NNNNNNNNNNNNNNNNNNNNNN”””ūtration of drawing pie charts.¤³@22(›µŽ$------------------------------------¤³@ 22›„³Ž@T <›µŽPress Ÿµ1ށ柵2ŽReturnŸµ1Ž€æŸµ2Ž or Ÿµ1ށ柵2ŽENTERŸµ1€æ¤³@ TF½ ¤³Ž@ P¼ ¶Ž4 Arrays start at 1³Ž@D Z¼dwŽ€£dxD€£d‡D€ …’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¢dNNNNNNNNNNNNNNNNNNNNNN”””ū¤¶4 Pie data, 2 titles, labels³@Dd»@¶4 Clear the screen³@&ndˆ†¶Ž4 A good average number³Ž@<&x»udwĪdˆ»w»xd‡Īdˆ»w»x¶Ž4 Adjust array sizes³@<‚d‰ŠæƒģüŽ4 \³Ž@.Œ dˆ°’𠦶Ž4 \ Make some random³@.. – dwĒæd‰ģ¶Ž4 \ ČžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‘UNNNNNNNNNNNNNNNNNNNNNNš”””ū data for the pie-³Ž@>.  æµ?Ó333333ó· F dwĒ dwĒ됶Ž4 \ chart routine to³@.> Ŗ d‡Ēµ2Legend # æµ2Ž~æŠģæčĄūū³@2.““Ž ’š Ś¶Ž4 / work on: random data³Ž@:2¾dxǵTest Pie Chart¶4 / and random-length³@8:Ȃdxǵ(This ƒ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žkNNNNNNNNNNNNNNNNNNNNNNš”””ūis the subtitle)¶4 / labels.³@68ŅdŠŌdwĶÕdxĶÕd‡ĶÕ²¶4 Call the pie-chart routine³Ą 6Ü‚½#³@ 滳@ ē»@³@ 襵2ŽINTERNAL»I³@4š›µ2Ž&You have returned to the BASIC System.¤³@4ś½¶Ž4 End of program³@T¶ŽH *****************> žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ²ZNNNNNNNNNNNNNNNNNNNNNN”””ū******************************************************³Žp@4ĄĀ `’’bŖxčž h’ J’ū0B !€’’’ųū!‚’’’šDš!‚’’’čB" ’’’¦, ’’’r4€’’’jū<€’’’būD€’’’ZūJ1’’’VLgX’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ē NNNNNNNNNNNNNNNNNNNNNN”””ū€’’’NūT€’’’Fū\€’’’>ūb€’’’6ūl#T’ūv€’’’.ū|€’’’&ū„€’’’ūŽ€’’’ūš€’’’ū €’’’ūŖ€’’žžū“€’’žöūŗ€’’žīūĀ’’žęūŹ_chart Pie_chartData Title$Hdegends$end$ Pie_chart Pie_chartDataTitle$Legends$Image±]’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ō8NNNNNNNNNNNNNNNNNNNNNN”””ū$Legend$PiecesColorIExplodeMaxlenTotal X_gdu_max Y_gdu_maxLabelRadius Cum_angle Rect_ratioPiece New_angle Mid_angleEdge Asp_ratioChunkPchunk³Ž@T¶ŽH--------------------------------------------------------------’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Āƒ*…“†ż‡h‰ŅŠ=ŒØ€ė‘W“Į”,–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĄļNNNNNNNNNNNNNNNNNNNNNN”””ūs angle³@$* 4‚ķ萶4 Middle of segment³Ž@*$ >€» ¶Ž4 Unrotated coords for MOVE³Ž@&* H€»¶4 Move to center of pie³Ž@$& R Ē·Jææ» ¶E Explode?³@ $ \€€» ¶4 Put the pen down³@, f» ¶Ž4 Rotate coords by cum pieces³Ž@, p·ō¶Ž4 Col>”’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž óŽNNNNNNNNNNNNNNNNNNNNNN”””ūor?³@( zč»H¶Ž4 Yes, so select a color³@( „øŽ<¶Ž (not color)³Ž@4 ށźüźü퀀»<¶Ž4 Select a dithering density³@4 ˜¹¶ (color?)³@8 ¢µŽ?ąņ·t»Dµ1Š‚ģ»B»C»>¶H Piece³Ž@<8 ¬Ē ķµ(Ž?”ė…øQģņ· ¶Ž4 Greater than 3.5% of  ē’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¦NNNNNNNNNNNNNNNNNNNNNN”””ūpie?³Ž@$< ¶€€€»<¶Ž4 Black on both CRTs³@8$ Ą Ēčµ?ąź¶Ž4 Where is edge of segment?³Ž@(8 Ź» ¶Ž4 Go to middle of segment³Ž@<( Ō Ēźµ(Ž?Öfffffgė» ¶Ž4 Adjust for possible explode³Ž@:< Ž»DģėµŽ?ęfffffg»B»C»=¶9 Black out label area³b;’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž •¼NNNNNNNNNNNNNNNNNNNNNN”””ū@*: 耻 ¶Ž4 Unrotated coords for MOVE³Ž@8* ņµ(@333333Ēæ ķĄ¶9 Asp. ratio for labels³Ž@28 üµ!ŽZóµ1ņųŽ·’¶Ž4 Right side of pie?³@62Ōµ(@ ÕÕՈՁՁæģčÕæģÕǵ ūÕ²³@6 øŽī¶Ž (left side)³Ž@<Ōµ(@ ÕÕµ1eמNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  +NNNNNNNNNNNNNNNNNNNNNNž”””ū“čՂՁՁæģčÕæģÕµ ĒūÕ²³Ž@ < $¹¶ (right side of pie?)³@ .¹¶ (>3.5% of pie?)³Ž@$ 8Ē‚ėĄ¶Ž4 Value of piece³@&$ B ķ‹ģ¶4 Percentage of piece³Ž@`& LµBŽK,":", čĒæ źæµŽX,/,,2X,K,.DD," (",K,.DD,"%)"ūū¶„ Define appropriÓ»žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ?NNNNNNNNNNNNNNNNNNNNNN”””ūate IMAGE³@>` VŁœžǟæ£ĄŸæ£Ą¤¶„ Convert values to string³@R> `Ōµ(@ 333333Õµ(Ž?ÜĢĢĢĢĢĶՀՃՁյ!ŽėՊµ(?ōĢĢĢĢĢĶģźÕÕ²¶8 Plot the label³@.R jėĄ萶Ž4 Update angle accumulator³@ .t“Ž’Šˆ¶Ž4 et cetera³Ž@ ~±¶4 arrivederci³ŽNk’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žjINNNNNNNNNNNNNNNNNNNNNN”””ū@Tˆ¶ŽH ***********************************************************************³Ž(2@Ą’Ā’’ż¶$’’NBöVJŅB #T’ū0B €’’’üū €’’’ųDš €’’’ōB €’’’šDų" €’’’ģx( €’’’čž, €’’’äž. ‚’’’ÜWh0‘ÖžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žYxNNNNNNNNNNNNNNNNNNNNNN”””ū@ @ @ @ ----m%-------- ¶Ž0LabelLabelCsize Asp_ratioLdirLorgPenXYText$³Ž@Pœ¶ŽD This defines several systems variables (in CSIZE, LDIR, etc.), and³Ž@2D‘’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žIFNNNNNNNNNNNNNNNNNNNNNNš”””ūš¶ŽH The individual strings are the labels for the pie segments. These !³Ž@TT¤¶ŽH may be any desired length; the aspect ratios of the labels will !³Ž@TT®¶ŽH be reduced accordingly. Readability is the only limiting factor !³Ž@TTø¶Ž~žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žzwNNNNNNNNNNNNNNNNNNNNNN”””ūH determining label length. !³Ž@TT¶ŽH-----------------------------------------------------------------------!³Ž@*T̼@(£@Ž2¤¶4 Temporary strings³Ž@T*Ö¶ŽH Set up the plotter ------------------------ŌŖ’żNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž/$NNNNNNNNNNNNNNNNNNNNNNš”””ū----------------------------³Ž@(Tą»"¶4 Initialize graphics params³@.(ź΁Ą¶Ž4 How many elements in data?³@B.ōµ2ŽCRT IDĄµ2ŽCæ €ņü¶4 Does the CRT support color?³Ž@ Bž· |¶Ž4 If so, then...³@: Ąµ2ŽINTERNAL»I¶4 Specify colordažNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žNNNNNNNNNNNNNNNNNNNNNN”””ū-mapped device³Ž@4:  ‚č°Ž’š Z¶Ž4 \ Define the color map to³@<4  ‚źüķµŽ?ć333333»L¶4 > have colors equidistant³@0< &“Ž ’š ī¶Ž4 / around the color wheel.³@"00øŽ ¼¶Ž (not color CRT)³Ž@," :Ąµ2ŽINTERNAL»#¶4 Monochrome CRT³@1žžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž…‚NNNNNNNNNNNNNNNNNNNNNN”””ū,D¹¶ (color?)³@&N»¶4 Turn on graphics raster³Ž@$&X»¶4 Turn off alpha raster³Ž@T$b¶ŽH Extract information from the array-------------------------------------³Ž@0Tl½½½ ¤¶Ž4 Array of "explode" flags³@&0v ĪĪ€»»y¶4 Define the %O’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¶³NNNNNNNNNNNNNNNNNNNNNN”””ūarray³@*&€ €¶4 Initialize max label length³Ž@2*Š °Ž’ą |¶Ž4 For every piece in the pie³@(2 ” Ē Ēæ¶4 Make pieces positive³@.( ž Ēæ Ą¶Ž4 New max label length?³Ž@.Ø“Ž ’ą ¶Ž4 etc.³@,² ĪĄ ¶4 All positive, so take sum³Ž@.’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žćąNNNNNNNNNNNNNNNNNNNNNN”””ū,¼ ‹ĄĄ쐶Ž4 This is for the labels³@4.Ę‹ĄķĄ쐶Ž4 drawn before the WINDOW³Ž@64ŠŌ†Õµ?ć333333Õ€Õ†ÕÕ ‚ķÕՁĒÕ²¶@ Main title³@@6Śԃյ?ć333333Õ€Õ†ÕÕ ‚ķÕµ(Ž?īfffffgģՂĒÕ²¶@ Subtitle³@0@äµ!늊ėµ8@'»¶4 Isotropic uų’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŠŃNNNNNNNNNNNNNNNNNNNNNN”””ūnits³Ž@0ī»)¶4 Set degrees mode³@ų‰¶4 Radius of pie³Ž@€¶4 Start at zero³Ž@2 µŽ?ć333333¶4 Box's distance from center³@*2„»¶Ž4 Pie segment char cell size³@&* °Ž’Š’¶Ž4 For each piece³@*& *Ē ķµ1h쐶Ž4 This piece'޵žōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€W‚Āƒ,…˜†ˆq‰ÜŠEŒÆ€ź‘V“Į”-–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž²²NNNNNNNNNNNNNNNNNNNNNN”””ūµ!ސ³@.–»uĪ»wƒ»w»xĪč»wƒ»w»x³Ž@. Ī€»{»y³@ŖĪ€»{»y³@“čü‚ķæ퐳Ž@¾ źü‚퐳Ž@Č ‚ččü‚퐳Ž@LҼ A "Thickness: ",K,", Mid: ",K,", Frac: ",K,", Max_distance: ",K³@ LÜæ³Ž@ ꂁ谎’ü@³Ž@ šÓ{’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žƒNNNNNNNNNNNNNNNNNNNNNN”””ū źæźčü쐳Ž@ śČ³Ž@ ‚ȁ³Ž@ ƒČ ³Ž@“Ž’üī³Ž@"Ķ»L³@ ,»"³@ 6µ2Ž SYSTEM IDĄ³@7„ž³Ž@8µ2ŽS300ń·š»7³@TĄµ2ŽINTERNAL»I³@^ė뻳@ h»³@ r»@³@ |€€»³@ †µ!Ž(ė°lžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŌŠNNNNNNNNNNNNNNNNNNNNNNš”””ūŽ’ų¶³Ž@ źüļč³Ž@ ščō·H³Ž@ ¤ȂȃČ»L³@ ®øŽ`³Ž@ ø€€€»L³Ž@ ¹³@  Ģ»H³Ž@" Ö»Dµ?ąźµ!Ž(»B»>³@" ą‹µŽ?„zįG®{½$³@ź“Ž’ųž³Ž@ō‹µŽ?„zįG®{½$³@ žꐳ@ µ?¹™™™™™š»+’½³Ž@ ‹’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žēįNNNNNNNNNNNNNNNNNNNNNNš”””ū» ³@ µ!°’šŗ³Ž@ &Ķ»L³@ 0źņ·سŽ@ :谎’ō ³Ž@Dµ!Žźč³@Næµ?PbMŅń©üó·v•³Ž@XČ‚ČƒČ»L³@ b“Ž’ōH³Ž@ l¹³@ v“Ž’š³Ž@€»Žü³Ž@Š‹µŽ?„zįG®{½$³Ą”¶Ž³Ž@ž7’ōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž÷ßNNNNNNNNNNNNNNNNNNNNNN”””ūĄµ?„zįG®{쐳Ž@Ø€ń·æ³Ž@²čüļ³Ž@¼€ó·@æꐳ@Ę‚č°Ž’ģv³Ž@ ЁȐ³Ž@ړޒģV³Ž@$䛵2ŽK,D.DDDœžµ2ŽHue: Ÿ¤³Ž@ $īŗ³Ž@ ų¶Ž³ŽĄ  ¶Ž ³Ž@µ2Ž SYSTEM IDĄ³@„ž³Ž@µ2ŽS3ęcNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ÄīNNNNNNNNNNNNNNNNNNNNNN”””ū00ń· ALP³Ž@  »8³@  øŽę³Ž@  »³@  »@³@ *¹³@4Ąµ2ŽINTERNAL»I³@ >”»>³Ž@ H½³Ž€€€³@ )¤æ ņ·dæ ³@  )®–³Ž@ )ø¹³@)±¶ Text_out³Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­‹Ö’ōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‘½NNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’ā@ĀĀ’’’’īš’’ž˜ų¢@ųF˜’’’ģ<@ ūLP ’’’’ @ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV€’’’äū@ ’ū`@" ūn@ ū@ ūt€’’’Üūz@ ū|€’’’Ōū‚@ ·+žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¢ŒNNNNNNNNNNNNNNNNNNNNNNš”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’éūŖ@ ’’’čB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲ@ ’’’āūā@ ūź@ ūš@ !ūö@ "ūž@ #ū@ ’’’Üū @ %ū@ &ū@ 'ū @ (ū$@ )ū.@ ’’’Öū8@ +ūDŹB’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ;NNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’’ŠūnP ’’’’’ūt@ ’ūz@ 3ū†@ 4BŠP ’’’’’ū–"’’žäš"’’ż4  "’’ūä¦"’’ū„$¬"’’ū$0¶’’ū>¼0 ’ūÄ0 œ’ūŹ0 |’ūŠ0 .’ūÖ0 d’ūą0 œ’ūę@"’’śü@īide_existsLdestinatiof$F3Ģ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž *NNNNNNNNNNNNNNNNNNNNNN”””ūNAskQ$XYAngleZNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž]yNNNNNNNNNNNNNNNNNNNNNN”””ūRoomDeskChair BookshelfTableObject$RoomDeskChair BookshelfTableObjectsžēžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žnHNNNNNNNNNNNNNNNNNNNNNN”””ū@  »@³@& ›µŽDemonstration of Rplot.¤³Ž@&&›µŽ_______________________¤³Ž@ &(›„³Ž@T 2›µŽPress Ÿµ1Ž…æŸµ2ŽReturnŸµ1Ž€æŸµ2Ž or Ÿµ1Ž…æŸµ2ŽENTERŸµ1€æ¤³@&T<½ ¤¶Ž( Let user read messages³@ &F»@³@& P¼ ¶Ž( Make €mNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž~vNNNNNNNNNNNNNNNNNNNNNN”””ūP¦¶Ž' labels the text (if any) accordingly.³@ 2°»)³@ ŗ»³@ Ä»³Ž@ Ī»³Ž@ Ų»³Ž@ ⻳@" ģ µBŽö·8» µBŽ#,Kœž ¤³@ "ö»³@ ±³7žśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žMGNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’@ĀĀ’’’’÷p’’öX6Ąb.6  ’’’źEś ’’’čEś ’’’ę ’’’äEś"’’žd €’’ž\€’’žTEś("’’üŌh!’’ü¼8€’’ü“@€’’ü¬ ’’üŖF J0°’ü’"’’ū* X ’’ū(F . ’’ū&F 2’’ū,Ŗ ’’ūF t€’’Äū’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žNNNNNNNNNNNNNNNNNNNNNN”””ūūF v0ą„@ š˜€’’ūF |€’’śųF  Cd_pColobsFractJIPensMaskFracMid ThicknessShowRowT_pColorsFraction Max_distance Color_map Color_arrayKColorHue Change_colorQuitRotationSysid$šžéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž+%NNNNNNNNNNNNNNNNNNNNNN”””ū@ ¶Ž RE-STORE "RIPPLES"³@ ¶Ž³Ž@ —»>³Ž@ (¼ ³Ž@4 2¼€€£Ž€€£Ž€£ Ž€€¤³@"4<¼!£!£!£!£!£ !£!£!¤³Ž@ "F ͤ³Ž@ P¼  1,1,1³Ž@ Z¶Ž³Ž@ d»’ ½³Ž@ n¶Ž³Ž@ xµ!ސ³@‚µ!ސ³@ŒĀ›žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Āƒ,…—†ˆn‰ŚŠFŒ³!ü‘g“Ó”<–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žkNNNNNNNNNNNNNNNNNNNNNNš”””ūarrays start at one³@D&Z¼6€ €£7Ž€€£8Ž€€£9Ž€€£:Ž€€¤³@Dd 6Ķ£7Ķ£8Ķ£9Ķ£:ͤ³Ž@4n»"¶(' Initialize various graphics parameters³@64xĄµ2ŽINTERNAL»#¶( Use the internal screen³Ž@*6‚»¶( Display the graphics screK"žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž+ZNNNNNNNNNNNNNNNNNNNNNNž”””ūen³Ž@6*Œ€µ1ŽxŠė‹»¶Ž( Need isotropic units for a map³@(6–6Ķ»D»E¶Ž( Draw outline of room³@*( »)¶( Set degrees mode for angles³Ž@*Ŗ ;¤¶( What to draw?³Ž@2“;µ2Ž ***STOP***ö» ¶Ž( Until done...³Ž@.2 ¾  ££¤¶( Read where and at wha\ĘžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž~ NNNNNNNNNNNNNNNNNNNNNN”””ūt angle³@.. Č »¶( Move in unrotated coordinates³Ž@(. Ņ» ¶Ž( Set rotation for RPLOTs³Ž@( Ü;» b³Ž@" 껎 ōµ2Desk»»Ö³Ž@B" šµ8?Ąµ8?Ąµ8?Ą»<¶/ 87.5% gray: dark gray³Ž@B ś7Ķ»D»G³Ž@$ »Ž ōµ2Chair»»Ž×’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žM8NNNNNNNNNNNNNNNNNNNNNN”””ū N³Ž@D$ µ?ąµ?ąµ?ą»<¶( 50% gray: half-and-half³Ž@D 8Ķ»D»G³Ž@( "»Ž ōµ2 Bookshelf»»Ž ˆ³Ž@( ,9Ķ»D»C»G³@$ 6»Ž ōµ2Table»»Ž ź³Ž@($ @€€€»<¶Ž( 100% gray scale: Black³@( J:Ķ»D»B»C»G³Ž@  T»³¼‰’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŌÆNNNNNNNNNNNNNNNNNNNNNN”””ū@ ^ ;¤³@ h»Žœ³ŽĄ:r<¼, 0,60,-2, 0,100,-1, 120,100,-1, 120,30,-1³Ž@6:|¼+ 120,20,-2, 120,0,-1, 40,0,-1, 40,25,-1³@6†¼ 0,25,-1, 0,50,-1³ĄL=¼> 0,0,11, 0,0,-2, 20,0,-1, 20,-10,-1, 0,-10,-1, 0,0,7³Ž@JLš¼> 0ōZžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žēžNNNNNNNNNNNNNNNNNNNNNN”””ū,0,10, 2,-10,-2, 2,-10.5,-1, 3,-10.5,-1, 3,-10,-1, 0,0,7³Ž@JJ¤¼> 0,0,10, 17,-10,-2, 17,-10.5,-1, 18,-10.5,-1,18,-10,-1, 0,0,7³ŽĄBJ®>¼4 0,0,11, -3,9,-2, 3,9,-1, 4,8,-1, 3,2,-1³Ž@&Bø¼ -3,2,-1, -4,8,-1, 0,0,7³Ž@J&¼> 0,0,1D’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž²ĶNNNNNNNNNNNNNNNNNNNNNN”””ū0, -4,1,-2, 4,1,-1, 4,0,-1, -4,0,-1, 0,0,7³ŽĄ6JĢ?¼) 0,0,-2, 20,0,-1, 20,-4,-1, 0,-4,-1³Ą86Ö@¼* 0,0,-2, 25,0,-1, 25,-12,-1, 0,-12,-1³ŽĄ*8ąA¼ Chair, 14,75,90 ¶* \³Ž@H*ź¼ Desk, 1,65,90 ¶*" > UpperŹž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žüNNNNNNNNNNNNNNNNNNNNNN”””ū left corner of the room³Ž@(Hō¼ Table, 1,99,0 ¶* /³Ž@&(ž¼ Bookshelf,27,99,0 ¶*/³@(&¼ Chair, 66,44,30 ¶* \³Ž@<(¼ Desk, 50,50,30 ¶* > Center of the room³@(<¼ Chair, 45,65,210 ¶* /³Ž@&(&¼ DH’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‘ĀNNNNNNNNNNNNNNNNNNNNNN”””ūesk, 60,58,210 ¶*/³@&&0¼ Bookshelf,41,5,0 ¶*\³@@&:¼ Bookshelf,62,5,0 ¶* > Bottom center of room³Ž@&@D¼ Bookshelf,83,5,0 ¶*/³@&&N¼ Chair, 6,26,0 ¶*\³@(&X¼ Chair, 16,26,0 ¶* \³Ž@B(b¼ C7Ü’ēżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¢óNNNNNNNNNNNNNNNNNNNNNN”””ūhair, 26,26,0 ¶* > Four chairs by west door³@(Bl¼ Chair, 36,26,0 ¶* /³Ž@((v¼ Chair, 63,96,220 ¶* \³Ž@H(€¼ Chair, 85,83,3 ¶*# > Four chairs by northeast tables³@(Hм Chair, 112,83,0 ¶* /³Ž@&(”¼uN’Ł’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ÷ NNNNNNNNNNNNNNNNNNNNNNš”””ū Chair, 100,83,355 ¶*/³@(&ž¼ Table, 68,99,0 ¶* \³Ž@D(ؼ Table, 94,99,0 ¶* > Two tables in upper right³Ž@(D²¼ Chair, 105,50,270 ¶* \³Ž@F(¼¼ Desk, 119,60,270 ¶* > Desk and chair by east door³Ž@FƼ ;’6ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž đNNNNNNNNNNNNNNNNNNNNNN”””ū ***STOP***³@(Š‘µ2ŽGraph lasts three seconds.¤³@ (ڃ½#³@, ä»¶* Turn off the graphics display³Ž@ ,ī»@³@0 ų›µ2Ž!You can use the BASIC System now.¤³Ž@ 0½³Žš °P``-S’ĄéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ]NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’–@ĀĀ’’’’įj¼’’D˜ųNH˜V<!’’’P!’’žą"’’ż`(0$Åś,€’’żXEś€’’żPEś€’’żH €’’ż@Vž>€’’ż8€’’ż0F €’’ż(Eśˆ0ź!’’üØ!’’ü(:!’’ūØ < ’’ū¦L ’’ū¤;ćT€’’ūœB0‹’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž n7NNNNNNNNNNNNNNNNNNNNNN”””ūŲ;ćh0 vp0xÅś0 ę;ć„P ’’’’Ö0 ¶;斀’’ū”`0 ;ć¦P ’’’’ÅśD0 N;ć¶0tVž¼0N;ćČ’’ū€<z0š;ćŲ@ üȀ’’ūxūŽ€’’ūp’ö0 ¦;ć’ūhūž0 ^;ćö€’’ū`’&0 ¢;澀’’ūX’®0ņ;ć €’’ūP’¾0>;ćܟžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž;dNNNNNNNNNNNNNNNNNNNNNN”””ū€’’ūH*€’’ū@6€’’ū8’䀒’ū0’0;ćR€’’ū(\€’’ū b€’’ūh€’’ūn€’’ūt0 z€’’ū’!’’śĄ40;ćœ€’’śø¢€’’ś°¬€’’śØ“P ’’’’’’’’ś”>”0F&@ @P’’ś€@

15)?½1¤³@@J1€ó1µ!ņųŽ·³Ž@" T‘1ŸµBŽ is out of range.¤³Ž@ " ^½$³@ hƒ½#³@ r0•³Ž@ |¹³@ †ŗ³Ž@ ¶Ž³ŽĄ š¶Ž³Ž@ ¤»³@ ’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž?eNNNNNNNNNNNNNNNNNNNNNN”””ū ®»³@ ø»@³@ Ā›„³Ž@ Ģ›„³Ž@2 ֛µBŽ#Copyright 1983, Hewlett-Packard Co.¤³Ž@"2ą›µBŽAll Rights Reserved.¤³@ "ꛄ³Ž@ ō›„³Ž@ ‚½#³@ 2€³@ 3€³@ &4µ1Žx³@05µ1Ž–³@:-µ!ސ³@ D‚³@ N¶Ž³Ž@ X$€³@ b.³ł’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž/[NNNNNNNNNNNNNNNNNNNNNN”””ū_penSatInitialSet_keysHue$ Which_penWhiteSet_hueBlackSet_satCyanSet_lumYellowSet_backBg$DummyBlueHueSatLumGreenUpdateMagenta Update_pen Background Square_edge Lum_lengthGet_backY…žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žjNNNNNNNNNNNNNNNNNNNNNNš”””ūBackXminYminXmaxYmax Default_pens ForegroundPen$SetupCirc_radCirclexCircley New_vector Clear_keys Print_color Funny_number Set_back2 Funny_numbersSat$Lum$@†’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žI9NNNNNNNNNNNNNNNNNNNNNN”””ūQuitSysid$@P ¶ŽD *******************************************************************³Ž@PP¶ŽD * XG’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žzNNNNNNNNNNNNNNNNNNNNNN”””ū *³Ž@PP¶ŽD * "SET_COLOR" *³Ž@PP(¶ŽD * Copyright 1983, Hewlett-Packard Co. *³Ž@PP2¶ŽD * All Rights Reserved -…"žōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žćŸNNNNNNNNNNNNNNNNNNNNNNš”””ū- updated 1/8/86 for Series 300 *³Ž@PP<¶ŽD * *³Ž@PPF¶ŽD * This program provides for interactive color selection using *³Ž@PPP¶ŽD * the knob to set HSL color values. ‚fžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŠ®NNNNNNNNNNNNNNNNNNNNNN”””ū *³Ž@PPZ¶ŽD * *³Ž@PPd¶ŽD *******************************************************************³Ž@ Pn¶Ž³Ž@ x»)³@< ‚¼£Ž£ Ž£ ޣޒNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž…żNNNNNNNNNNNNNNNNNNNNNN”””ū£Ž¤³@<Œ¼8¤³@–¼!£!¤³Ž@  ¶Ž³Ž@ Ŗ»³@ “»@³@ ¾•³Ž@ Č•³Ž@ Ņ)•³Ž@ Ü•³Ž@ ę¶Ž³ŽĄ š» ³@$ ś€µŽ Select Pen>ū½½’½³@$µŽ Hue ū½½’½³@ ‚µŽ Sat. Aū½½’½³Ž@ ƒµŽ Lu.’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¶ĢNNNNNNNNNNNNNNNNNNNNNN”””ūm. Dū½½’½³Ž@$ "„µŽ Background Fū½½’½³Ž@$,…µ޽½’½³@6†µ޽½’½³@@‡µ޽½’½³@Jˆµ޽½’½³@T‰µŽQuit½½’I½³@^»Ž ‚³Ž@ h¶Ž³ŽĄ rµ?ə™™™™š»+’#½³Ž@ | •³Ž@ †µ2Ž**³@ ŗ2žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¦ņNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@ š¶Ž³ŽĄ ¤µ?ə™™™™š»+’%½³Ž@ ® •³Ž@ øAµ2Ž**³@ Āŗ³Ž@ ̶Ž³ŽĄ Öµ?ə™™™™š»+’'½³Ž@ ą •³Ž@ źDµ2Ž**³@ ōŗ³Ž@ ž¶Ž³Ž@ ¶Ž³ŽĄ ų#¶Ž ³Ž@ Ą³@  æ€ņ· ō³Ž@  Ē Ēµ1Žōķčüļ³Ž@ ¹³øåžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž •ĆNNNNNNNNNNNNNNNNNNNNNN”””ū@*æ€ó· >³Ž@ 4 Ē Ēµ1Žōķ萳@ > Ē€ó· 6 ǁ Ē萳@H¹³@ R)•³Ž@ \ŗ³Ž@ f¶Ž³ŽĄ$ p% Ē ĒĄµ1Žōķ聥€Ą³@ $z)•³Ž@ „ŗ³Ž@ ޶Ž³ŽĄ$ ˜'ĒĒĄµ1Žōķ聥€Ą³@ $¢)•³Ž@ ¬ŗ³Ž@ ¶¶Ž³ŽĄ Ą¶Ž³ŽZžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĄNNNNNNNNNNNNNNNNNNNNNN”””ū@ʵ(?Ć333333»+’+½³Ž@ Ō •³Ž@ Ž>µBŽ**³@ čŗ³Ž@ ņ¶Ž³ŽĄ ü+¶Ž³Ž@&¶Ž Erase the current pointer³Ž@ &,»H³Ž@ źĒ-ččźĒ-‚ķ軳@$»Dƒ…»B»=³@0.Ąæ股µ!ŽĄ¶<find new value³Ž@$08 »H¶Ž# Draw the žkžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ó”NNNNNNNNNNNNNNNNNNNNNN”””ūnew pointer³@$BźĒ-ččźĒ-‚ķ軳@L»Dƒ…»B»=³@ V)•³Ž@ `ŗ³Ž@ j¶Ž³ŽĄ t¶Ž Set the Background³@ ~0•³ŽĄ ˆ¶Ž³Ž@’1ņ·ŗ³Ž@ œ,1 Ē1 Ē1Ē»L³Ž@¦øŽ$³Ž@ °1€ń·³Ž@, ŗ,µŽ?ąµ?ąµ?ą»LX2NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚ă/…š†ˆp‰ŚŠCŒ®‡ó‘^“É”5–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žēvNNNNNNNNNNNNNNNNNNNNNN”””ū1Ž‹æ¤¶ Reset screen to green³Ž@ * †,»³Ž@  •³Ž@  š ǐ³@  ¤ ǐ³@  ®ǐ³@  ø »³Ž@  Ā•³Ž@  Ģŗ³Ž@  Ö¶Ž³ŽĄ  ą¶Ž³Ž@  ź;<»³@  ōµ1Žhģµ!ŽZč» ³Ž@ ž:쀻 ³@  €» ³Ž@  »³@  €ģ» ³@  &ŗ³Ž@  0¶Žš±NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŌGNNNNNNNNNNNNNNNNNNNNNNš”””ū³ŽĄ :¶Ž ³Ž@  Dŗ³Ž@  N¶Ž³ŽĄ  X ¶Ž³Ž@ b>µBސ³@ lµBސ³@ vAµBސ³@ €DµBސ³@ ŠFµBސ³@  ”ŗ³Ž@  ž¶Ž³ŽĄ ØI¶Ž ³Ž@  ²»³@  ¼JµBŽ SYSTEM IDĄ³@ ĘJJ„ž³Ž@  Š»³@  ŚJµBŽS300ń·ų³Ž@  ä»8³@*’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNNš”””ū  īøŽ³Ž@ ų1µ!Ž ³@  •³Ž@  ¹³@ ĄµBŽINTERNAL»I³@  »@³@  *½³Žpp€€€€@)¤æ ņ·dæ ³@  )®–³Ž@ )ø¹³@)±¶ Text_out³Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­œ”’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ²%NNNNNNNNNNNNNNNNNNNNNNš”””ū’’’’58@ĀĀ’’b’’~²Ģ X²?€’’’xū ’’’pū ’’’h: ’’’`ū1’’’\1’’’X1’’’T2’’’P( 2’’’L4&€’’’Dū,€’’’<ū.€’’’4ū6€’’’,ū>b’ūF€’’’$ūP€’’’ūT€’’’ūX€’’’ ū\yļžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž +²NNNNNNNNNNNNNNNNNNNNNNš”””ūŽ’ūf€’’’ūr€’’žüEś¢’ūx€’’žō:€!’’ž,Ž@ ü 0ŲÅśö0^’ņ¬0Ä’ū¶0ŗAž0¦Ā0 vÅśŹ1’’ž( Ņ1’’ž$@–1’’ž H *ˆ’ūÜ0 jī1’’žP(p’’ˆ0"0 ,€’’ž_īž0Š6@ *EśJ0ōDŚdžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ƒNNNNNNNNNNNNNNNNNNNNNN”””ū@ ,EśJ0\R@ .EśZ0Ę`@ 0Eśf0.n0®Åśv@ ’’’Ķ|@ 4Eś‚@ 5Eśˆ0˜–€’’ž Eśˆ€’’žEś¤€’’żüEśØ@ :Eś¬Egorp3XYAbLeftRightIXtrafsYtranPointsGorp1Gorp2Gorp3XYZLeftRightIXtransYtransZtr'^žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žMŠNNNNNNNNNNNNNNNNNNNNNN”””ūansTrans_3dN1N2N3Rotation Gen_rot_3dFlStereoEye_sepDyShadesXprimeJAlias GetshadesShowpensDraw_itObject2PensPlotlineObjectShadesExitYprimeZprimeUp_xDraw_it1Down_x–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž~įNNNNNNNNNNNNNNNNNNNNNN”””ūUp_yDown_yUp_zDown_zHere Colorscale Update_transDzDx@¶Ž RE-STORE "STEREO"³Ž@*¶Ž updated 1-12-87 for Series 300³@ *¶Ž³Ž@ »@³@  €³@ ¼€łŅ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žnßNNNNNNNNNNNNNNNNNNNNNN”””ū@ l/‚³@ v(ƒ³@ €&„³@ Š7…³@ ”*†³@ ž!‡³@ ض޳Ž@ ²?½³ŽĄ< ¼?¼/ 143, 141, 139, 140, 137, 142, 138, 136³@ <Ę 8ͤ³Ž@ жŽ³Ž@ Ś»"³@ 䥵BŽINTERNAL»I³@ @ ųĄٵB#,Bœžµ1Ž’£µ!ŽK¤³@ 42Šėß*žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž]īNNNNNNNNNNNNNNNNNNNNNN”””ū5»³Ž@  ,€³@  ³@  ‚µ!°’ąr³Ž@  *µ! źĒ „ļüµ!#ģµ!ŽꐳŽ@ 4µ! źĒ „šüµ!#ģµ!Ž萳Ž@ >“Ž ’ą ³Ž@ H ³@ Rµ! Ē „ļüµ!#ģµ!ŽꐳŽ@\µ! Ē „šüµ!#ģµ!Ž萳Ž@ f €³@ pµ!Ē „ļüµ!#ģµ!ŽꐳŽ@zµ!Ē „šü>Ņ’ĻśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž½NNNNNNNNNNNNNNNNNNNNNN”””ūµ!#ģµ!Ž萳Ž@ „¶Ž³ŽĄ Ž6¶Ž³Ž@˜¼ .5,.5,.5³@¢¼  0,0,0³Ž@¬¼  1,1,1³Ž@¶¼ .168,1,1³@Ą¼ .332,1,1³@ʼ .502,1,1³@Ō¼ .668,1,1³@޼ .836,1,1³@č¼  0,0,0³@ņ¼  .190,.476,.822³@ü¼  .450, Ź’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž;ŒNNNNNNNNNNNNNNNNNNNNNNš”””ū.394,.588³@ ¼  .724,.232,.644³@ ¼  .918,.508,.648³@ ¼  .034,.570,.780³@ $¼ .082,.842,1³Ž@ .¼ .06,.45,.73³Ž@  86½³Ž@  B €µ!°’ŠÖ³Ž@ L  Ē£ Ē£ Ǥ³@ V Ē Ē Ē»L³Ž@ `“Ž ’Šš³Ž@  j¶Ž³Ž@  tĄ‚Ķ»ˆ>’éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¢NNNNNNNNNNNNNNNNNNNNNN”””ūK³@  ~+•³Ž@  ˆ9•³Ž@  ’ŗ³Ž@  œ¶Ž³ŽĄ ¦9¶Ž ³Ž@  °¶Ž ³Ž@  ŗ»³Ž@*  Ä»uĪ‚µ!»w»xĪ‚µ!»w»x³Ž@* Ī ‚µ!°’Ą4³Ž@ Ų Ē Ē»³@  ā »³Ž@ ģ »H³Ž@ ö»D--»=³Ž@ Ē‚č Lj軳@ »D-ˆź-Šź»B»=³@   Ē-čfī’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‘*NNNNNNNNNNNNNNNNNNNNNN”””ūź ǵ?ąč»³Ž@  »³Ž@ (» µBŽKœž ¤³@ 2“Ž ’Ą€³Ž@  <¶Ž³Ž@*  F»u΁µ!»w»x΁µ!»w»x³Ž@ * P¶Ž³Ž@  Z »³Ž@  d:µ!ސ³@ n;Ē-čµ!萳Ž@ x<‰Ē:萳@ ‚;:ź…ź³@  Œ<:ꐳ@  –‚:쐳@   ;<»³@  Ŗ:µŽīČžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÄyNNNNNNNNNNNNNNNNNNNNNN”””ū?©™™™™™š:ģč»?³@ “‚껳@ ¾‚軳@ Č‚ź‚:ģčµ?ąč»³Ž@ Ņ‚č‚:ģčµ?ąč»³Ž@  ܆»³Ž@  ęµ(@ »³@ š;<:źź»³@  ś» µBŽKœžµBŽHue-Sat¤³Ž@  ź»³@ » µBŽKœžµBŽLum¤³Ž@  ¶Ž³Ž@  "ŗ³Ž@  ,¶ŽSRžSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž÷HNNNNNNNNNNNNNNNNNNNNNNš”””ū³ŽĄ  6)¶Ž³Ž@ @ Ē ĒĒ»L³Ž@ JĄ‚Ķ»K³Ąx T¼k"PEN ",DD,/,"Hue ",Z.DD,/,"Sat ",Z.DD,/,"Lum ",Z.DD,///,"Red ",Z.DD,/,"Green ",Z.DD,/,"Blue ",Z.DD³@x ^›½Ÿ"8Ēæ¤³Ž@( h›œž£ Ē£ ǣǣČ£‚Č£ƒȤ³@ ( r¶Ž³Ž@*  |›µ"ß’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Įƒ+…•†ˆk‰×ŠCŒ°‡ņ‘]“Ź”6–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž•+NNNNNNNNNNNNNNNNNNNNNN”””ū Ē Ēµ1śģ³Ž@ ź Ē !ǵ1śģ³Ž@ ō Ē $ǵ1śģ³Ž@ž“Ž ’ĄÖ³Ž@ ¶Ž³Ž@" ¶Ž FIGURE TO BE PROJECTED³Ą"#¶Ž³Ž@,&¼  11 ¶ŽPOINTS IN THE FIGURE³Ž@,0¼  0,0,0³Ž@:¼  1,0,0³Ž@D¼  1,0,1³Ž@N¼  1,1,1³Ž@X¼ē’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¦NNNNNNNNNNNNNNNNNNNNNN”””ū  0,1,1³Ž@b¼  0,1,2³Ž@l¼  0,0,2³Ž@v¼  -1,0,2³@€¼  -1,0,0³@м  -1,1,0³@”¼  0,1,0³Ž@ ž¶Ž³ŽĄ Ø¶Ž³Ž@(²¼ 26 ¶ TOTAL POINTS³@<(¼¼ 0,0,0,2 ¶! RAISE THE PEN - THIS IS THE CUBE³@<Ƽ  1ZäžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žóINNNNNNNNNNNNNNNNNNNNNN”””ū,0,0,1³Ž@м  1,1,0,1³Ž@ڼ  0,1,0,1³Ž@ä¼  0,0,0,1³Ž@ī¼  0,0,1,1³Ž@ų¼  0,1,1,1³Ž@¼  0,1,0,1³Ž@* ¼ 1,1,0,2 ¶ RAISE THE PEN³Ž@*¼  1,1,1,1³Ž@ ¼  1,0,1,1³Ž@*¼  1,0,0,1³Ž@*4¼ 0,1,1,2 ¶{1’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĄxNNNNNNNNNNNNNNNNNNNNNN”””ū RAISE THE PEN³Ž@*>¼  1,1,1,1³Ž@*H¼ 0,0,1,2 ¶ RAISE THE PEN³Ž@*R¼  1,0,1,1³Ž@ \¶Ž³Ž@< f¼ .1,.2,.5,2 ¶! RAISE THE PEN - DRAW THE PYRAMID³@<p¼ .5,.8,.5,1³@z¼ .5,.2,.9,1³@„¼ .1,.2,.5,1³@޼ .5,.2,.1,±W’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŠFNNNNNNNNNNNNNNNNNNNNNN”””ū1³@˜¼ .5,.8,.5,1³@¢¼ .9,.2,.5,1³@¬¼ .5,.2,.9,1³@*¶¼ .5,.2,.1,2 ¶ RAISE THE PEN³Ž@*Ą¼ .9,.2,.5,1³@ ʶ޳Ž@ ԁ³@ Ž€³@ 耐³@ ņµ!Ž-³@üŃÕĶÕĶÕĶÕÕÕÕÕ²³@ ¶Ž³Ž@ €³@ ³@ $LsžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ćwNNNNNNNNNNNNNNNNNNNNNN”””ū€³@ .µ!Ž#³@8ŃÕĶÕĶÕĶÕÕÕÕÕ²³@ B¶Ž³Ž@ L µ1Ž,³@V µ1ŽČ³@` µ1ސ됳Ž@j ŃÕĶÕĶÕĶÕ Õ Õ Õ²³@ t¶Ž³Ž@ ~ €³@ ˆ €³@ ’ €³@ œ ŃÕĶÕĶÕĶÕ Õ Õ Õ²³@ ¦¶Ž³Ž@ °•³Ž@ ŗ¶Ž³Ž@ µŽInc X½½rr’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¶$NNNNNNNNNNNNNNNNNNNNNN”””ū’&½³Ž@Ī…µŽDec X½½’)½³Ž@؁µŽInc Y½½’+½³Ž@↵ŽDec Y½½’-½³Ž@삵ŽInc Z½½’/½³Ž@ö‡µŽDec Z½½’1½³Ž@‰µŽEXIT½½’½³@  ¶Ž³ŽĄ 22–³ŽĄ »³@ »@³@  —»%³Ž@0 (›µBŽ!You are backUųžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž …NNNNNNNNNNNNNNNNNNNNNN”””ū in the BASIC system.¤³Ž@ 02¶Ž³Ž@ <½³ŽĄ F&¶Ž ³Ž@ P9А³@ Z7€³@ d8€³@ n ŃÕĶÕĶÕĶÕ9Õ7Õ8Õ²³@ x•³Ž@ ‚ŗ³Ž@ Œ¶Ž ³ŽĄ –)¶Ž³Ž@  9Šė³Ž@ Ŗ7€³@ “8€³@ ¾ ŃÕĶÕĶÕĶÕ9Õ7Õ8Õ²³@ Č•³Ž@ Ņŗ³Ž@ ܶ޳ŽŲĘ’ōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‚NNNNNNNNNNNNNNNNNNNNNN”””ūĄ ę+¶Ž ³Ž@ š9€³@ ś7А³@ 8€³@  ŃÕĶÕĶÕĶÕ9Õ7Õ8Õ²³@ •³Ž@ "ŗ³Ž@ ,¶Ž ³ŽĄ 6-¶Ž³Ž@ @9€³@ J7Šė³Ž@ T8€³@ ^ ŃÕĶÕĶÕĶÕ9Õ7Õ8Õ²³@ h•³Ž@ rŗ³Ž@ |¶Ž³ŽĄ †/¶Ž ³Ž@ 9€³@ š7€³@ ¤8А³@Ój’ĄéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž /³NNNNNNNNNNNNNNNNNNNNNN”””ū ® ŃÕĶÕĶÕĶÕ9Õ7Õ8Õ²³@ ø•³Ž@ Āŗ³Ž@ ̶Ž ³ŽĄ Ö1¶Ž³Ž@ ą9€³@ ź7€³@ ō8Šė³Ž@ ž ŃÕĶÕĶÕĶÕ9Õ7Õ8Õ²³@ •³Ž@ ŗ³Ž@ ¶Ž³ŽĄ &6¶Ž³ŽĄ0¶Ž³Ž@:µ1Ž@Dµ!ސ³@ NŃÕĶÕĶÕĶÕÕÕĶÕĶÕ²³@ ?–žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žząNNNNNNNNNNNNNNNNNNNNNN”””ūX¶Ž³Ž@ b»³@ l»³Ž@ v»³@ €śŽ·x³Ž@ Š °Ž’°j³Ž@ ” Č ‚Č Ēė»&³Ž@ ž“Ž ’°@³Ž@ØøŽģ³Ž@ ² ź°Ž’ 䳎@ ¼ čǁń·ҳŽ@( Ę"Ō ČÕ ‚ČÕ čČÕ č‚ČÕĶՀղ³@( й³@ Ś“Ž ’ ޳Ž@ä¹³@ ī¶Ž¶’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žIŃNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@ ų»³@ ‚»³Ž@  śŽ·j³Ž@  °Ž’\³Ž@  Č ‚Č Ēė»&³Ž@ *“Ž ’2³Ž@4øŽ޳Ž@ > ź°Ž’€Ö³Ž@ H čǁń·ijŽ@( R"Ō ČÕ ‚ČÕ čČÕ č‚ČÕĶՈղ³@( \¹³@ f“Ž ’€€³Ž@p¹³@ z¶Ž³Ž@ „ŗ³Žņ ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žYļNNNNNNNNNNNNNNNNNNNNNNš”””ū¤³@ »"³@ (Ąµ"ŽINTERNAL»I³@2€µ1Ž’€µ1Ž…»³@ <»³@ F»³@ P€€»M³Ž@Z‚€€»M³Ž@dƒ€»M³Ž@nĄ…»J³Ž@ x'–³Ž@ ‚%Ń€ÕˆÕÕ€Õ€Õ²³Ž@Œ%ŃˆÕˆÕ€Õ€ÕÕ²³Ž@ –•³ŽĄ  ¶Ž³Ž@Ŗ €µ!°’ąT³Ž@  “ »³Ž’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žjŽNNNNNNNNNNNNNNNNNNNNNN”””ū@ ¾(€…°Ž’šB³Ž@ Ȇ ģ(čµ1Ž…»³@ ҆ ģ(čµ1Ž^»³@ Ü“Ž(’š³Ž@꓎ ’ąč³Ž@ š'–³ŽĄ ś¶Ž³Ž@ ½³Ž@  €µ!°’ŠγŽ@    Ǥ³@" " Ē ǵ!ģµŽ?ąč搳Ž@",“Ž ’Š޳Ž@ 6ŗ³ŽĄ @¶Ž³Ž@NJ¼ B .78:å’ĄéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž?NNNNNNNNNNNNNNNNNNNNNN”””ū,.775,.76,.736,.703,.662,.613,.558,.5,.441,.383,.328,.276,.228³Ž@>NT¼ 2 .184,.145,.110,.08,.056,.036,.021,.01,.004,.001,0³Ž@ >^¶Ž³Ž@R h¶ŽF *********************************************************************³Ž@"Rr¶Ž PROGRAM "STEREO_VIEW"³Ž@"iōžżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¼NNNNNNNNNNNNNNNNNNNNNN”””ū"|¶Ž CREATES RED-GREEN PAIR³@ "†¶Ž³ŽĄ '¶Ž³Ž@ š½³Ž@ ¤ ¤³@ ®¼££¤³@Hø½½½£½½£½½£½½£½‚½½£½‚½½¤³Ž@$H½½½ £½½!£½½$¤³@$Ģ °Ž’Ą <³Ž@ Ö  Ē£ !Ē£ $Ē£ Ǥ³@ ąŚa’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Z‚Ń0…š†ˆm‰ŌŠ=Œ©ī‘Z“Ę”/–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žõNNNNNNNNNNNNNNNNNNNNNNš”””ū@ Ž€»³Ž@ ˜½³ŽČ ÜL³ ęˆ³@Ą¢ Ā|ą4(’’¶L`TX$@D bÅś €’’’ü !€’’’ōQ!€’’’ģū!€’’’äž €’’’ąū €’’’Üž €’’’Ųū(2’’’Ü!’żNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĘ2NNNNNNNNNNNNNNNNNNNNNN”””ū02’’’Ų 22’’’Ō4€’’’Ģū6@ 08G @&Trans_3dPoantsXYAbXtransFatransZtbansUVAdITrans_#d@ @ ³Ž@ ~v¦ ³Ž@2 of XTrans_3dPointsXYZXtransYtransZtransU“4’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž“aNNNNNNNNNNNNNNNNNNNNNN”””ūVTITrans_3d³Ž@ ¬¶Ž ³Ž@2 ¶¶Ž ' Points is the number of X,Y,Z triplets³@>2 Ą¶Ž 2 X,Y,Z are arrays constituting coordinate triplets³Ž@:> ʶŽ / Xtrans, Ytrans, Ztrans are translation factors³@ : Ō¶Ž ³Ž@0 ޽½„½½£½„”ļ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž PNNNNNNNNNNNNNNNNNNNNNN”””ū½½ £„½„½½ ¤³@0 č¶Ž ZERO U AND V³@ ņĪ€»{»y³@ ü Ī€»{»y³@  ¶Ž ³Ž@  °Ž’šP³Ž@  Č ǐ³Ž@ $ ‚Č ǐ³Ž@ . ƒČ ǐ³Ž@ 8 „ȁ³Ž@ B“Ž ’š³Ž@  L¶Ž ³Ž@ V Ī€»{»y³@  `¶Ž ³Ž@ j ȁ³Ž@ t‚‚ ȁŸ½’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž9ĒNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@ ~ƒƒ ȁ³Ž@ ˆ„„ ȁ³Ž@ ’„ Ȑ³Ž@ œ„‚ Ȑ³Ž@ ¦„ƒ Ȑ³Ž@ ° ĪĪ Ī»„»y³Ž@ ŗ °Ž’ąD³Ž@ Ä Ē  ȏ³Ž@ Ī Ē ‚ ȏ³Ž@ Ų Ē ƒ ȏ³Ž@ ā“Ž ’ą³Ž@ ģ±³@  ö¶Ž³Ž  ÄĄ Ā"4ežNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž öNNNNNNNNNNNNNNNNNNNNNN”””ū,’’Šņ‚Lž$^ź ŽÅś €’’’ü !€’’’ō !€’’’ģQ!€’’’äū €’’’ąž €’’’Üū €’’’Ųž" €’’’Ōū&2’’’Ü*2’’’Ų ,2’’’Ō.€’’’Ģū0@ ’’’Äū2@ ’’’¼ū606@&@ Gen_rot_#dPoints XYZN@!G ²ŒžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž_„NNNNNNNNNNNNNNNNNNNNNN”””ū@&@ Gen_rot_#dPoints XYZNq N2N3Bd1UVTAaT2Gen@4 Gen_rot_3dPointsXYZN1N2N3T1UVTIGen_rot³Ž@ ¶Ž ³Ž@4 ¶Ž ( Points is number of coordinate triplets³Ž@84 ¼T’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žl”NNNNNNNNNNNNNNNNNNNNNN”””ū¶Ž - X(*), Y(*), Z(*) contain coordinate triplets³@88 (¶Ž - N1, N2, N3 are direction cosines for X, Y, Z³@,8 2¶Ž T1 is rotation angle in degrees³Ž@ , <¶Ž ³Ž@ F»)³@ P¼ ³Ž@0 Z½½„½½ £½„½½ £„½„½½ ¤³@ 0 d¶Ž ³Ž@ n °Ž’š}’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž|ŖNNNNNNNNNNNNNNNNNNNNNN”””ūl³Ž@ x  Č ǐ³Ž@ ‚ ‚ Č ǐ³Ž@ Œ ƒ Č ǐ³Ž@ – „ ȁ³Ž@  “Ž ’š³Ž@ Ŗ Ī€»{»y³@ “„„ ȁ³Ž@ ¾ Čģģźüæģ萳@ ȁ‚ Č쁿źüģæģ萳@ ҁƒ Č쁿źüģæģꐳ@ ܂ Č쁿źüģæģꐳ@ ꂂ Čģģźüæģ萳@ ü=’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž O›NNNNNNNNNNNNNNNNNNNNNNš”””ū š‚ƒ Č쁿źüģæģ萳@ śƒ Č쁿źüģæģ萳@ ƒ‚ Č쁿źüģæģꐳ@ ƒƒ Čģģźüæģ萳@  Ī Ī Ī»„»y³Ž@ " °Ž’ąź³Ž@ , Ē  Ȑ³Ž@ 6 Ē ‚ Ȑ³Ž@ @ Ē ƒ Ȑ³Ž@ J“Ž ’ąسŽ@ T±³@  ^¶Ž³Ž  Ä^cžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ČNNNNNNNNNNNNNNNNNNNNNN”””ūĄ h&Ā p˜4’’X hī (HD4  Åś €’’’ü!€’’’ō !€’’’ģQ!€’’’äū €’’’ąž €’’’Üū"€’’’Ōž""€’’’Ģū(2’’’Ģ.2’’’Č 02’’’Ä22’’’Ą$42’’’¼062’’’ø<8€’’’°ū:@ ū~€’’’Øū>€’’ˆÆž@éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž )łNNNNNNNNNNNNNNNNNNNNNNš”””ū’ ūJ€’’’˜ūV€’’’ūb€’’’ˆ:n€’’’€ūp€’’’xūt€’’’pūx€’’’hūz@ ’ū†@ ’’’åū’P ’’’’ÄJœP ’’’’’ū¦@ ū°P ’’’’’ū²@ ū¼@ !DJĄ@ ’’’ŽūÄ@ ’’’ŻDJČ@ ’ūĢG Stereo0ÖAaZFlEye_sepLef@!G @&a“’ĄéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž °nNNNNNNNNNNNNNNNNNNNNNNš”””ūG StereoF`ointsXAaZFlEye_sepLeft RightUAdRPQTAa X_min_deft X_mOXStereoPointsXYZFlEye_sepLeftRightULRPQTI X_min_left X_min_right X_max_left X_max_rightOXlXrDL1–āžtNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ƒ_NNNNNNNNNNNNNNNNNNNNNN”””ūStereo³Ž@ r¶Ž ³Ž@8 |¶Ž , Points is the number of coordinate triplets³Ž@88 †¶Ž - X(*), Y(*), Z(*) contain coordinate triplets³@88 ¶Ž , Fl is the focal lengtZCž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÖ NNNNNNNNNNNNNNNNNNNNNN”””ūh of the stereo viewer³Ž@,8 š¶Ž ! Eye_sep is distance between eyes³@,, ¤¶Ž ! Left(*) is matrix of left points³@., ®¶Ž # Right(*) is matrix of right points³@B. ø¶Ž 7 ALLOCATE Left and Right at (Points,2) in OPTION BASE 1³@ B ¶Ž ³Ž@ ̼ ³Ž@J Ö½½pNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žå=NNNNNNNNNNNNNNNNNNNNNN”””ū„½½ £½„½½ £½„½½ £½„½½ £½„½½ ¤³@J ང½„½½¤³@  ź¶Ž ³Ž@ ō°Ž’šŗ³Ž@ ž Čǐ³Ž@ ‚ Čǐ³Ž@ ƒ Čǐ³Ž@ „ ȁ³Ž@ &“Ž’šj³Ž@& 0¶Ž CREATE LEFT EYE PERSPECTIVE³@& :Ī€»{»y³@ öž’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNī€Y‚Ćƒ-…˜†ˆp‰ÜŠHŒ“!ł‘f“Ó”A–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‡^NNNNNNNNNNNNNNNNNNNNNN”””ūÖ¶Ž³ŽĄąĮÄ ’’–øvÄn®00ü €’’’ü%ų@"…æ …» 0’ž @"…æ …» FNRFNRoundXRound³Ž@ źµŽ?ąčæŗ³@ ō½³Ž@ ž¶Ž³ŽĄĀ@’’źŹ¾ ķžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž “oNNNNNNNNNNNNNNNNNNNNNNš”””ū 1Ą €’’’ü%ų €’’’ų €’’’ųū@"„’ „ū 0’žwapX1Xr TSwap@ ³Ž@" ~³@" ³@" €³@ ±³@ ³Ž@SwapX1X2TSwap³Ž@ ³@ ³@ &³@ 0±³@ :¶Ž³ŽĄD Ā’’ż¤ĄU«’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žį@\"T 2Ü €’’’ü%ų €’’’ų €’’’ōv €’’’š@ €’’’ģž €’’’č0€’ū1Ą’ū&@ ū,@ 0’ž4@!@ @&SetupB`1X2Yq Y2DxBdyFind_dcSwapFifd_dsSetu`³Ž@&„¶Ž8’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŅ NNNNNNNNNNNNNNNNNNNNNN”””ūP ³Ž@  …æSetupX1X2Y1Y2DxDyFind_dsSwapSetup³ŽĄN¶Ž³Ž@  Xꐳ@ bꐳ@ lææõ· ³Ž@ v€ó·ü³Ž@ €ŌÕÕ²³Ž@ ŠŌÕÕ²³Ž@  ”–³Ž@ ž¹³@ ØøŽT³Ž@ ²€ó·LĻžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĀ3NNNNNNNNNNNNNNNNNNNNNN”””ū Dȁ³Ž@ N‚‚ȁ³Ž@ Xƒƒȁ³Ž@ b„„ȁ³Ž@ lƒ„ȁķ됳@ v„Čµ!Ž퐳Ž@ € Ī ĪĪ»„»y³Ž@4 Š„Čµ!Žķė¶!CREATE RIGHT EYE PERSPECTIVE³Ž@4 ” Ī ĪĪ»„»y³Ž@ žµ`ŽA.„~³@ ص`ŽA.„~³@  ²€³@ ¼³@ ʁ°Ž’ąŁ©’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žńNNNNNNNNNNNNNNNNNNNNNN”””ūڳŽ@ Š„ ȁ³Ž@ Ś„ ȁ³Ž@ ä Č Č„ Č퐳Ž@ ī‚ Č‚ Č„ Č퐳Ž@ ų ȁ Č„ Č퐳Ž@ ‚ Č‚ Č„ Č퐳Ž@  Ȑ³Ž@  Ȑ³Ž@ Ą³Ž@ *Ą³Ž@ 4Ą³Ž@ >Ą³Ž@ H“Ž’ąų³Ž@ Rčü‚ķčü‚ķꐳ@ »BžiNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¤QNNNNNNNNNNNNNNNNNNNNNNš”””ū \źü‚ķ萳Ž@ fĪ€»{»y³@ pȁ³Ž@ z‚‚ȁ³Ž@ „ƒƒȁ³Ž@ Ž„„ȁ³Ž@ ˜„Č³Ž@ ¢ Ī ĪĪ»„»y³Ž@ ¬„Č됳@ ¶ Ī ĪĪ»„»y³Ž@ ĄĪ€»{»y³@ ŹĪ€»{»y³@ ԁ°Ž’Š ³Ž@ ށȁ Ȑ³@ č‚Č‚ Ȑ³@ ņČ Ȑ³@ Ł’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž—`NNNNNNNNNNNNNNNNNNNNNN”””ū ü‚Č‚ Ȑ³@ “ޒгŽ@±³@ ¶Ž³Ž  Ĥ³@Ī€»@ Ą$ Ā (’’f &> (p €’’’üž €’’’ų%ų €’’’ō €’’’šv €’’’ģ@€’’’čū€«ž}NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž÷NNNNNNNNNNNNNNNNNNNNNNš”””ū’’’ąū"€’’’Ųū(@ 0’ž*@!@ Jcolorscale FirstNregsRGBBdiIntenAa Color_scale@ ³Ž@8 4B¢óµ!źųņ ColorscaleFirstNregsRGBDiIntenI Color_scale³Ž@8 .‚óµ!źčüņų€óų€óų‡’śNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž=ĘNNNNNNNNNNNNNNNNNNNNNNš”””ūņų€óųņų€óųņų·ž×³@8 8źü퐳Ž@  B€³@ L聟°Ž’š³Ž@ Vģģģ»M³Ž@  `萳@ j“Ž’šгŽ@t±³@ ~¶Ž³ŽĄˆĀtĄČ’’vhätĢ(` *ˆÅś €’’’ü €’’’ų €’’’ō+ €’’’šūǟžōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žh•NNNNNNNNNNNNNNNNNNNNNN”””ū!€’’’螀’’’øū"€’’’°ū&€’’’Øū*€’’’ ū.2Ü’ū2€’’’˜DJ8€’’’ū<@ ū@0šÄJF0Ģ’ūL€’’’ˆūR€’’’€ūV€’’’xūX€’’’pūZ0üÄJ\€’’’hūd€’’’`ūf€’’’Xūh€’’’Pūl€’’’Hūp€’’’@ūr€’’’8ūtb YbSha0’žz@!wk’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž[¤NNNNNNNNNNNNNNNNNNNNNN”””ū@ H`lotlineB`aYaX €’’’äū„desX1Yq X2Y2EcetupDxBdyYgtxDagtxXgt"PlotlineXaYaXbYbShadesX1Y1X2Y2SetupDxDyYgtxXgtySdMCYFNRoundPSMcM1cXIIndexPlotlineBasµ ’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žKšNNNNNNNNNNNNNNNNNNNNNN”””ūe³Ž@ ’³@ œ³@ ¦³@ ° ³@ ŗ ŌÕÕÕ Õ Õ Õ²³Ž@ Ä æ æņ·Ģ˜³ŽĄ Ī¶Ž ³Ž@  Ų æ³@ ā ķæ³@ ģģčæ퐳@ öÓÓÕ²źüģčÕ²³Ž@ źüģ쐳Ž@  µŽ?ąźüģ쐳Ž@  쐳@ źü쐳ŽŃYžōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž x«NNNNNNNNNNNNNNNNNNNNNNš”””ū@ (€ń·~³@ 2ÓÕ²ÓÕ²°Ž’ą’³Ž@ <ė°’š6³Ž@ Fģźæµ!쐳Ž@  P€»³Ž@2 Zµ8Ž@8€óµ?ąėõ÷·Ē‚ķ"軳Ž@2 dģ軳@ nģ軳@ x“Ž’š°³Ž@ ‚õ·l³Ž@  Œ萳@ –萳@  øŽ€³Ž‘™žÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž -ųNNNNNNNNNNNNNNNNNNNNNNš”””ū@  Ŗ萳@ “¹³@ ¾“Ž’ąœ³Ž@ Č׳Ą Ņ¶Ž ³Ž@  Ü æ³@ ę ķæ³@ šģčæ퐳@ śÓÓÕ²źüģčÕ²³Ž@ źüģ쐳Ž@ µŽ?ąźüģ쐳Ž@  쐳@ "źü쐳Ž@ ,€ń·L³@ 6ÓÕ²Ó Õ²°Ž’Ą`³Ž@’"’Ł’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ÉNNNNNNNNNNNNNNNNNNNNNN”””ū @ė°’гŽ@ Jģźæµ!쐳Ž@  T€»³Ž@2 ^µ8Ž@8€óµ?ąėõ÷·ŅĒ‚ķ"軳Ž@2 hģ軳@ rģ軳@ |“Ž’Š~³Ž@ †õ·:³Ž@  萳@ š萳@ ¤øŽN³Ž@  ®萳@ ø¹³@ “ޒĄj³Ž@̱³@ ģ÷žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNLNNNNNNNNNNNNNī€Y‚ă.…—†ˆm‰×ŠBŒ®…ń‘\“Ē”1–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ū#³@8 ŅĄٵ"#,B,Kœžµ1Ž’£µ2ŽK¤¶Ž, Clear the screen³@,8Ü»"¶, Initialize graphics parameters³@<,ꥵ2ŽINTERNAL»I¶, MUST be a color-mapped device³Ž@*<š»¶, Turn on the graphics raster³Ž@**ś€µ1Ž’€µ1Ž…»¶, 1 UDU = 1 pixel³Ž@** Ķ£ŌG’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 9/NNNNNNNNNNNNNNNNNNNNNN”””ūͤ¶, Define color map values³Ž@,*€Ķ»L¶, Define colors for picture³Ž@8,¼  0,0,0 ¶ Pen 0: Black background³Ž@*8"¼  .68,1,.18 ¶ Pen 1: Sky³@,*,¼  0,0,.7 ¶ Pen 2: Moon³Ž@<,6¼  .22,1,.1 ¶ Pen 3: w.’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž l|NNNNNNNNNNNNNNNNNNNNNN”””ūHouse and tree shadow³@4<@¼  0,1,.2 ¶ Pen 4: House's front³@.4J¼  0,0,0 ¶ Pen 5: Window³Ž@R.T¼  .19,.4,.08 ¶2 Pen 6: Left side of tree trunk and chimney shadow³Ž@2R^¼  .33,1,.17 ¶ Pen 7: Left leaves³@T2Œ¾’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž _MNNNNNNNNNNNNNNNNNNNNNN”””ūh¼  .19,.4,.08 ¶4 Pen 8: Right side of tree trunk and unshadowed roof³Ž@4Tr¼  .33,1,.17 ¶ Pen 9: Right leaves³Ž@<4|¼  .68,1,.18 ¶ Pen 10: Left lightning flash³@><†¼  .68,1,.18 ¶ Pen 11: Middle lightning flash³@>õ4žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĘŚNNNNNNNNNNNNNNNNNNNNNN”””ū>¼  .68,1,.18 ¶ Pen 12: Right lightning flash³Ž@.>š¼  0,0,.05 ¶ Pen 13: Clouds³@2.¤¼  0,1,.2 ¶ Pen 14: House side³@.2®¼  .22,1,.1 ¶ Pen 15: Ground³@:.øˆµ!°’ą ҶŽ,! \ Define a subset of the coŠÆžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž õėNNNNNNNNNNNNNNNNNNNNNN”””ūlor³@:: ƒ°Ž’š ¢¶Ž," \ map so execution time will be³Ž@6: ĢČȐ¶," > faster when setting the color³Ž@:6 Ö“Ž’š 2¶Ž,$ / map back to normal when turning³Ž@0:ą“Ž’ą ų¶Ž, / off a lightning bolt.³Ž@T0ź¶ŽI Modified color map for ³`žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž øNNNNNNNNNNNNNNNNNNNNNN”””ūlightning flashes -------------------------------³@>Tō¼  .1,.68,.38 ¶ Pen 8: Lit tree trunk and roof³@2>ž¼  .33,.61,.3 ¶ Pen 9: Lit leaves³Ž@<2¼  .68,1,.18 ¶ Pen 10: Left lightning flash³@><¼  .68,1,.18 ¶ PencžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž“‰NNNNNNNNNNNNNNNNNNNNNN”””ū 11: Middle lightning flash³@>>¼  .68,1,.18 ¶ Pen 12: Right lightning flash³Ž@.>&¼  0,0,.2 ¶ Pen 13: Clouds³@2.0¼  0,1,.65 ¶ Pen 14: House side³@.2:¼  .22, 1,.35 ¶ Pen 15: Ground³@T.D¶ŽI Second modifižNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žƒ·NNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@ ¼ŌÕÕ²³Ž@ ĘŌÕÕ²³Ž@  Š–³Ž@ ڹ³@ ä¹³@ī±³I³@  »@³@  *½³Žpp€€€€@)¤æ ņ·dæ ³@  )®–³Ž@ )ø¹³@)±¶ Text_out³Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­‰`ž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž°†NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’AD@ĀĀ’’ ’’éŅlF"’’é‚nL"’’éBzX"’’é†d"’’č²’p"’’ę¢ž~"’’ęb¶†"’’åĀĀ’€’’åŗ;˚€’’ÉhžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žåÕNNNNNNNNNNNNNNNNNNNNNN”””ūå²;˜€’’åŖ;Ėž0V;ˤ0 ;ĖØ0^;Ė®0ˆ;˶00;˼0j;ĖČ0œ;ĖŌ0Š;Ėą0;Ė耒’å¢;Ėō€’’åš;Ėö0:¶āŹ:0Ą;Ėž€’’å’;Ė€’’åŠ;Ė0';Ė8P¼€2€£Ž€d€£Ž€d€£Ž€€£ @Ž<¤³@8>Z¼ €€£ Ž€€£ Ž€€£ Ž€€¤³@88d¼€5g’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNNš”””ū€£8Ž€€£Ž€€£Ž€ €¤³@ 8n¶Ž³Ž@ x»@³@ ‚%µ2Ž SYSTEM IDĄ³@Œ%%„ž³Ž@–%µ2ŽS300ń·x»7³@ »’½³Ž@ Ŗ¶Ž³Ž@6 “›µ"Ž'Copyright 1983, Hewlett-Packard Company¤³Ž@"6¾›µ"ŽAll Rights Reserved¤³Ž@ "ȃ½$Ż’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€W‚Įƒ*…”†’‡j‰ÕŠ@Œ«‚ģ‘W“Ā”-–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žxCNNNNNNNNNNNNNNNNNNNNNNž”””ū 4Č‚źüµ!/ķµ1Ž’쐶Ž, \ The ground is a polygon³@:> >‚ȵ1Œæ‚ģ萶Ž, \ which includes the lower³Ž@6:H“Ž’Ąņ¶Ž,! \ corners of the CRT as its³@:6Rµ!2ȵ1Ž’¶,# / first and last points. All³@6:\µ!2‚Ȁ¶,# / ƄNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žKrNNNNNNNNNNNNNNNNNNNNNN”””ūthe intermediate points are³@06f€€»¶, / a constant plus a random³Ž@ 0pµ!»H¶, / number.³@ zĶ»D»B»E¶, /³@„»¶, /³ŽĄP޶ŽB -----------------------------------------------------------------³Ž@P˜  Ķ£ Ķ£ Ķ£ ͤ³@¢ ŸėžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!NNNNNNNNNNNNNNNNNNNNNN”””ūĶ£8Ķ£ͤ³ŽĄ2¬5¼% 100,100, 150,50, 50,0, 0,0, 0,50³Ą:2¶¼- 50,50, 50,120, 100, 160, 150,120, 150,50³Ą2:Ą¼$ 150,50, 150,120, 200,150, 200,80³ŽĄ42ʼ& 100,160, 150,190, 200,150, 150,120³ŽĄ>4Ō¼& 0,0,3 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž-NNNNNNNNNNNNNNNNNNNNNN”””ū ¶Ž8 PEN 0³Ž@H>޼= 4,0,13, 0,0,11, -9,0,-2, -9,15,-1, 6,15,-1, 6,-12,-1, 0,0,7³@JHč¼? 14,0,13, 0,0,11, 6,-12,-2, 12,-9,-1, 12,18,-1, 6,15,-1, 0,0,7³@JJņ¼? 0,0,13, 0,0,6, 6,15,-2, 12,18,-1, -3,18,-1,-9,15,-1, 0,0,7³Ą0Jü7¼źUžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž=.NNNNNNNNNNNNNNNNNNNNNNš”””ū" 0,0, 15,-12, -15,-27, -30,-15³ŽĄ*0¼ 0,0, 6,3.6, 6,13.6, 0,10³Ž@>*ƒ»H¶Ž!/ \ Though pens 3 and 8 are initially the same³@@> Ķ»D»B»E¶!+ \ color, the pixels drawn by them have a³@4@$»¶!' > different color value. Thus, wheöežNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNNš”””ūn³@:4!.¶Ž!. / lightning strikes and the ground (pen 15)³Ž@::!8¶Ž!/ / chenges color, the shadow (pen 3) doesn't.³@:B€»¶Ž, \³Ž@0Lˆ»H¶Ž, \ Fill and edge the roof (the³Ž@80V Ķ»D»B»C»E¶Ž, / color as the tree trunk).³Ž@8`»¶, /³ŽŽ$žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž [LNNNNNNNNNNNNNNNNNNNNNN”””ū@>j¶Ž3 Draw the chimney ---------------------------------³@>t†»H¶Ž, \³Ž@6~µ1µ1™»¶, \ The chimney's shadow on the³Ž@86ˆ8Ķ»D»B»G¶," / roof is the same color as the³Ž@(8’»¶, / left side of the tree.³@8(œµ1‚µ1–»¶+# \ Aķ¶žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž h}NNNNNNNNNNNNNNNNNNNNNN”””ūll three faces of the chimney³@68¦Ķ»D»G¶Ž+# > are contained in the array, as³@26°»¶+% / are PEN and AREA PEN specifiers.³@>2ŗ¶Ž3 --------------------------------------------------³@0>Ą»H¶Ž,! \ The front of the house covers³@80Ī Ķ»D»ĀŠ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ńźNNNNNNNNNNNNNNNNNNNNNN”””ūB»C»E¶Ž, > up the extended brown area³Ž@*8Ų»¶, / of the chimney's shadow.³Ž@2*āµ!»H¶)! \ This side of the house will³@@2ģ Ķ»D»B»C»E¶Ž)& / light up when lightning strikes.³Ž@@öµ!Fµ!P»¶, \³Ž@…»H¶Ž, \³@. „»¶Ž,R8žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĀŪNNNNNNNNNNNNNNNNNNNNNN”””ū \ The window is compsed of³Ž@4.ė‚°Ž’ ź¶Ž, \ four filled and edged³@<4 ė‚°Ž’°ҶŽ," / rectangles all touching at a³Ž@6< (»DŠģµ!Ž ģ»B»C»=¶Ž, / common corner.³Ž@6 2“Ž’°„¶Ž, /³@<“Ž’ H¶Ž, /³Ž@F€»ĄJ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž—ˆNNNNNNNNNNNNNNNNNNNNNN”””ū¶Ž) \³Ž@P‹µ!Ž2»¶) \³@,Z»Dµ!޵!(»=¶) > Draw the door³Ž@,dµ1hµ!C»¶) /³@n»DŠ»>¶) /³Ž@>x¶Ž3 Draw the side windows ----------------------------³@>‚µ!»¶, Red edges³Ž@ Œ€»H¶Ž, Black interiors³Ž@" –µ1Žµ1IOžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¤¹NNNNNNNNNNNNNNNNNNNNNNš”””ū£†°Ž’€ҶŽ, \³Ž@8"  µ?ć333333ģµ!Žźµ?ć333333ģ…źŠ°’ŗ¶Ž, \³@08 Ŗ»¶,! \ Draw the left window on the³@20 “Ķ»D»B»C»G¶Ž, / side of the house.³Ž@2 ¾“Ž’@¶Ž, /³@ȓޒ€¶Ž, /³Ž@"ҵ1Ž·µ1½†°Ž’`Ą¶Ž, \³Ž$ žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž“‡NNNNNNNNNNNNNNNNNNNNNN”””ūed colormap for second flash of lightning -----------------³@TNĪĪ»z»y¶Ž, \³Ž@XĪĪ»z»y¶Ž, \³@8bƒ°Ž’ŠV¶Ž,! \ The only difference between³@28 lƒńü¶Ž, \ the three lightning arrays³Ž@02 vŠČ¶Ž, / is which lightning pšWNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‡¶NNNNNNNNNNNNNNNNNNNNNN”””ūen is³@.0 €µ! Ȑ¶, / defined to be white.³Ž@. е! Ȑ¶, /³@”“Ž’Š˜¶Ž, /³ŽĄR ž¶Ž D Draw the sky ------------------------------------------------------³Ž@R؀€»¶, \³Ž@2²»H¶Ž,# > Fill the whole bloomin' screen³@ 2¼»÷žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŅåNNNNNNNNNNNNNNNNNNNNNN”””ūDµ1Ž’µ1…»B»=¶Ž, /³ŽĄP Ę¶Ž C Draw the moon ----------------------------------------------------³@Pе!2µ1,»¶, \³Ž@2Ś‚»H¶Ž," \ The crescent moon is a white³Ž@:2ä»Dµ!Ž»B»>¶, \ circle (actually a 60-gon)³Ž@2:H¶Ž,# / ūžžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žįŌNNNNNNNNNNNNNNNNNNNNNNš”””ūmostly covered up by another,³@02ųµ!.µ1.»¶, / sky-colored, circle.³Ž@0»Dµ!Ž»B»>¶, /³ŽĄN ¶ŽA Draw the ground ------------------------------------------------³@NȀ¶Ž, \³Ž@ ‚Ȁ¶Ž, \³@*‚µ!1°’Ą ¶Ž, \³Ž@>éžÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€W‚Įƒ,…–†ˆl‰×ŠCŒ®…š‘[“Å”0–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žWYNNNNNNNNNNNNNNNNNNNNNN”””ū@8" ܵ?ć333333ģµ!Žźµ?ć333333ģ…źŠ°’pضŽ, \³@28 ę»¶," \ Draw the right window on the³Ž@22 šĶ»D»B»C»G¶Ž, / side of the house.³Ž@2 ś“Ž’p,¶Ž, /³@“Ž’`ō¶Ž, /³ŽĄP  ¶Ž C Draw the tree (the whole trunk) -------†’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ždhNNNNNNNNNNNNNNNNNNNNNN”””ū---------------------------³@Pµ!2°’P ģ¶Ž, \³Ž@ "ȅæģčü됶, \³@6 ,‚Č‚ģ‚ź¶Ž, \ The tree is a tall, skinny³Ž@<6 6µ1eźȅæģ萶Ž,! / rectangle with rough sides.³@< @µ1eź‚Č‚ģ‚ź¶, /³@J“Ž’P ,¶Ž, /³Ž@*TΚU’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž1;NNNNNNNNNNNNNNNNNNNNNN”””ūĪ»z»y¶Ž, Make a spare copy...³@8*^µ1µ!»¶,# \ Fill the whole tree trunk with³@28h†»H¶Ž,# > the unchanging color of brown.³@2rĶ»D»B»G¶, /³Ž@>|¶Ž3 Draw the right side of the trunk -----------------³@>†µ!2°’@"n¶Ž, \³Ž@:ÓX’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNNš”””ū Ȃæģ萶,$ \ Just redefine the right side of³Ž@*: š‚Č‚ģ‚ź¶Ž, / the tree trunk.³Ž@*¤“Ž’@!ņ¶Ž, /³Ž@0®ˆ»H¶Ž, \ ...then fill it in with the³Ž@20øĶ»D»B»G¶, / brown that will be lit.³Ž@>2¶Ž3 Draw the tree's shadow --īNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž›NNNNNNNNNNNNNNNNNNNNNNš”””ū-------------------------³@4>ĢĪĪ»z»y¶Ž, Get the original outline back³Ž@"4Ö»¶, Uppen zie picken it³Ž@8"ą‹°Ž’0$H¶Ž, \ Make the Y values negative,³Ž@48 ź‚Č‚Č됶Ž, \ and translate the X values³@D4 ōČČ‚ȵ(?ū333333ģ萶,! &’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žجNNNNNNNNNNNNNNNNNNNNNNš”””ū \ by an amount proportional to³@4Dž“Ž’0#œ¶Ž, / the corresponding Y value,³@04ƒ»H¶Ž,! / i.e., "shear" it left. Then³@80Ķ»D»B»G¶," / fill with house shadow color.³Ž@>8¶Ž3 Draw leaves---------------------------------------³@(>&j’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žż’NNNNNNNNNNNNNNNNNNNNNN”””ū ͤ¶Ž, A hexegon is sufficient³Ž@:(0¼ . -10,0, -8,-2, 8,-2, 10,0, 8,2, -8,2³Ž@&::»)¶, Make it easy on yourself³@0&Dµ1°’ '¶Ž, Four hundred "leaves"³Ž@80 N!æµ1Žh쐶Ž," Which direction from tree center?³Ž@<8 X"ææµ!ŽF쐶Ž,$,(žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĪĪNNNNNNNNNNNNNNNNNNNNNN”””ū Skewed distance for uniform density³Ž@< bµ1"!æģčµ1“"!æģ軳@$ l!µ1އó!µ1;ņųü"µ!2ņ÷Ž·&®³Ž@($ v‰»H¶Ž, These leaves will be lit³@*( €øŽ&ā¶Ž, not on upper right edge³Ž@,* Ї»H¶Ž, These leaves will not be lit³@, ”¹³@" žĶ»D»B»G¶¦©’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŽšNNNNNNNNNNNNNNNNNNNNNN”””ū, Make a leaf³Ž@"Ø“Ž’ %¦¶Ž, etc.³ĄL²#¶Ž> Draw the lightning ------------------------------------------³Ž@TL¼¶ŽH The main purpose for the story line is to cover up the fact that there³Ž@PTʶŽE are massive amounts of computation going oó”žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ķĮNNNNNNNNNNNNNNNNNNNNNN”””ūn behind the scenes. The³@TPжŽH lightning is drawn during this time, but it is drawn in the same color³Ž@TTڶŽI as the sky, so nothing visible is happening. Somehow, lightning is not³@TT䶎H nearly so impressive if it crawls along at a snail8b’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ø’NNNNNNNNNNNNNNNNNNNNNN”””ū's pace. Therefore,³Ž@RTī¶ŽF it is drawn in the background color, and "flashed" by redefining the³Ž@Rų¶Ž color map.³Ž@8ĄٵB#,B,Kœžµ1Ž’£µ2ŽK¤¶Ž, Clear the screen³@:8 „°Ž’*n¶Ž,# \ Four lines of text in the first³@.:   ¤¶,! ‡žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‹£NNNNNNNNNNNNNNNNNNNNNN”””ū\ installment. Tab to the 20th³@<.  ›µ!޽Ÿ ¤¶Ž,$ / column so as to not cover up the³Ž@<*“Ž’)ę¶Ž, / moon.³@84¼ ,"It is a dark and stormy night. You huddle"³Ž@:8>¼ ."under the blankets, listening to the howling"³Ž@4:H¼ )"wind and 䒾NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 4NNNNNNNNNNNNNNNNNNNNNNš”””ūthe creaking shutters, waiting"³@(4R¼ "desperately for the day..."³Ž@(\Š»¶Ž, \³Ž@2fŠ»H¶Ž,# \ Draw the lightning in the sky³@$2pµAo4P½¶, / color.³Ž@&$z$ѵ1wÕµ1Ž,Հյ1ŽÕ‚Õ²¶, /³Ž@8&„ĄٵB#,B,Kœžµ1Ž’£µ2ŽK¤¶Ž, CleĶČ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž !NNNNNNNNNNNNNNNNNNNNNN”””ūar the screen³@8ށ…°Ž’,F³Ž@  ˜  ¤³@ ¢›µ!޽Ÿ ¤³Ž@¬“Ž’,³Ž@8¶¼ ,"What was that? You heard a noise from the"³Ž@88Ą¼ -"front room. Was that just a noise from the"³@88ʼ ,"wind, or an animal, or.... You cautiously"³Ž@88Ō#¹žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žtVNNNNNNNNNNNNNNNNNNNNNN”””ū¼ -"enter the other room, and turn on the light"³@&8޼ "to see what is there...."³Ž@&舽#¶, \³Ž@6ņ‹µŽ?tzįG®{½$¶, \ Turn on the light with a³@@6ü…µ(Ž?ÅĀ\(õƵ(?ęøQė…¹»L¶, / resounding (?) click.³Ž@@ „½#¶, /³Ž@8 ĄٵB#,B,R’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žGgNNNNNNNNNNNNNNNNNNNNNNš”””ūKœžµ1Ž’£µ2ŽK¤¶Ž, Clear the screen³@8 „°Žžš.^³Ž@  $  ¤³@ .›µ!޽Ÿ ¤³Ž@ 8“Žžš..³Ž@8 B¼ -"It was only the screen door slamming in the"³@:8 L¼ /"wind. Well, it looks as though you won't get"³@<: V¼ 0"much sleep tonight; more ~°NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNī€W‚Įƒ*…”†ˆn‰ŻŠLŒŗ'’ż‘g“Š”;–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž %NNNNNNNNNNNNNNNNNNNNNNž”””ū@  Š»³@  ڹ³@  ä»@³@  īĄµBŽINTERNAL»I³@  ų½³Ž@T  ¶ŽI ************************************************************************³€ĄĄĄĄ 2@d@d`Č7žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 5NNNNNNNNNNNNNNNNNNNNNN”””ū<P@@P@@  Ą Ā’’ū ’’äĢNģ“ ä ¶Ž stroke.³Ž@8 HµŽ?ąó·d×¶, Ignore it if it's too thin³@8 R»¶, Pick up the pen³Ž@2 \» ¶,$ Loop until "B—JžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž`iNNNNNNNNNNNNNNNNNNNNNN”””ūclouds are rolling in"³Ž@<< `¼ 0"and it looks like the storm will get worse...."³Ž@< jµ! »¶, \³Ž@ tµ! »H¶, \³@ ~µAo4H½¶, \³Ž@D ˆ$ѵ1ĀÕµ1Ž,Հյ1ŽÕÕ²¶, \ Draw the second and third³Ž@4D ’µ! »¶,# > lightning bolŽ¢žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žSXNNNNNNNNNNNNNNNNNNNNNN”””ūts as the user,³@,4 œµ! »H¶, / oblivious, reads on.³@, ¦µAo4<½¶, /³Ž@& °$ѵ1źÕµ1Ž,Հյ1ŽÕÕ²¶, /³@& ŗ„½#¶, /³Ž@8 ÄĄٵB#,B,Kœžµ1Ž’£µ2ŽK¤¶Ž, Clear the screen³@28 Ī»¶,$ Don't need alpha raster for a while³ŽĄN2 Ų&4ž³žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ū¶ŽA Draw the thunderhead -------------------------------------------³@2N ā€Š€‹»¶,! Anisotropic scaling for ellipses³@ 2 ģ'†¶, Position of clouds³@8  öŠ°Žžą2r¶Ž,! \ Put the random numbers in an³@68 Čææ…쐶, \ array to guarantee thatéQ’Ą©³žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž5:NNNNNNNNNNNNNNNNNNNNNN”””ū the³Ž@@6 ‚Čæµ!ģµ!ŽF萶Ž,# > same random number sequence is³@8@ “Žžą1ĶŽ,# / used when the clouds gradually³@$8 )•¶Ž, / cover up the moon.³@T$ (¶ŽI Here's where the action is----------------------------------------------³@>T 2Ą µ*0’MŸōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¬­NNNNNNNNNNNNNNNNNNNNNN”””ūPŽ@õļµ!Ž<č»m’+½¶7 One minute from now...³@2> <Š»h’)½¶, Move clouds every ten seconds³Ž@42 F»i‚’,½¶Ž, High priority flash interrupt³Ž@04 P-€¶,# Lightning struck since int'pt set?³Ą 0 Z.» ³@0  d-·4X¶Ž, We need to reenable inter÷bžMŸōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŸœNNNNNNNNNNNNNNNNNNNNNN”””ūrupt³Ž@&0 nææ…ģ»i‚’,½¶, Random wait³Ž@0& x-€¶," No, we haven't seen lightning yet³Ž@0 ‚¹³@4 Œ»Ž3ʶŽ,! looplooplooplooplooplooplooploop³Ą4 –,¶Ž³Ž@(  0æƒģæč¶Ž, How many strokes?³Ž@,( Ŗæ„쿁č¬123(¶Ž: Which stroke?³Ž@., “›’€ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŹĻNNNNNNNNNNNNNNNNNNNNNN”””ū-¶,! Yes, a strike. Reset interrupt.³@ . ¾ŗ³ŽĄ8  Č1¶Ž+ Left stroke ------------------------------³@8 ҁ0°ŽžŠ5 ³Ž@ ܈Ķ»L³@ ęˆĶ»L³@ š“ŽžŠ5r³Ž@  śŗ³ŽĄ8  2¶Ž+ Middle stroke ----------------------------³@8 0°ŽžĄ6$žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žłžNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@ ˆĶ»L³@ "ˆĶ»L³@ ,“ŽžĄ5ö³Ž@  6ŗ³ŽĄ8  @3¶Ž+ Right stroke -----------------------------³@8 J0°Žž°6سŽ@ TˆĶ»L³@ ^ˆĶ»L³@ h“Žž°6z³Ž@  rŗ³ŽĄ8  |(¶Ž* Heat lightning --------------------------³Ž@8 †0‚Žf’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žéĄNNNNNNNNNNNNNNNNNNNNNN”””ū谎ž 7J³Ž@ µ! €€µ?Ó333333»L³Ž@ šµ! €€µ?©™™™™™š»L³Ž@ ¤“Žž 7³Ž@  ®ŗ³ŽĄJ  ø+¶Ž< -----------------------------------------------------------³Ž@ J Ā»³@@  Ģ›µ!ށ½Ÿµ*"Harry! Turn off the lights and come back¤³@@@ ֛µ!Ž|EžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŚńNNNNNNNNNNNNNNNNNNNNNN”””ū‚½Ÿµ)to bed. It's only another thunderstorm!"¤³Ž@ @ ą‚½#³@"  ꛵!Ž„½Ÿµ "Yes, dear."¤³@ " ō‚½#³@,  ž‹µŽ?tzįG®{½$¶, (The light switch)³@&, …€€€»L¶Ž, Window goes black³Ž@ & »t¶, Turn off interrupt³@  ‚½#³@8  &ĄٵB#,B,Kœžµ1Ž’xtžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¢NNNNNNNNNNNNNNNNNNNNNN”””ū£µ2ŽK¤¶Ž) Clear the screen³@,8 0»¶, Last time we'll need alpha...³Ž@ , :ŗ³ŽĄJ  D)¶Ž< -----------------------------------------------------------³Ž@J Nµ! »H¶, Cloud color³Ž@: X''µ?¹™™™™™šź¶Ž,! Move clouds to the left a little³@: b4Š° ^žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¼“NNNNNNNNNNNNNNNNNNNNNN”””ūŽž: ¶Ž7 \³Ž@. l'4Čč4‚Č»¶7 \ Replot same cloud³Ž@.. v»D…»B»>¶7 > formation a smidgeon³@(. €'‹æµ!Fģč»¶7 / to the left³Ž@( Š“Ž4ž:¶Ž7 /³Ž@  ”ŗ³Ž@  ž¶Ž³ŽĄ Ø¶Ž ³Ž@ ²%µBŽS300ń·:ō³Ž@  ¼»8³@  ĘøŽ;³Ž^1’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€V‚Įƒ,…—†ˆq‰ßŠLŒ¹&“ž‘i“Ó”;–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žØDNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@,Pń·¶Ž Array is completely flat³@, ZĪ»{»y³@ d׳@n¹³@xĪĪ»»y³@‚źüźü퐳@ŒĪλ޻y³@–ĪĪ»Œ»y³@  ‘„³Ž@ Ŗ±³§žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ›uNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’h@ĀĀ’’’’ę˜l’’’.čŖB&č^.@"’’’l$’’’l$ P ’’’’ @ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV€’’’dū@ ’ū`@" ūn€’’’\ū@ ūt€’’’Tūz@ ū|@ ’’’ļū‚@ Œ^žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ī&NNNNNNNNNNNNNNNNNNNNNN”””ūūˆ@ B@ ūš@ Dš @ B¦€’’’LūŖ@ ’’’čB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲ@ ’’’āūā@ ūź@ ūš@ !ūö@ "ūž@ #ū@ ’’’Üū @ %ū@ &ū@ 'ū @ (ū$@ )ū.@ ’’’Öū8@ +ūD*©žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž żNNNNNNNNNNNNNNNNNNNNNNš”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’’ŠūnP ’’’’’ūt@ ’ūz@ 3ū†@ 4BŠP ’’’’’ū–@ ’’’Źūš@ ’’’ÉB @ ’’’Čū¦@ ’’’ĒDš¬@ ’’’ĘB¶@";ū¼P ’’’’’ūÄP ’’’’’ūŹP ’’’’’ūŠP ’’’’’ūÖP ’’’’’ūąP ’’’’’ūę@ Būī@ Cūō@ DūüP ’’’’_ŻžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž d€NNNNNNNNNNNNNNNNNNNNNN”””ū’ūP ’’’’’ūP ’’’’’ūP ’’’’’ū "’’ž  "’’üŒ "’’ū €’’ūū €’’śüū.€’’śōū8€’’śģū<€’’śäūB€’’śÜūR€’’śŌū\€’’śĢūb€’’śÄūd€’’ś¼ūp€’’ś“ūt€’’ś¬ūx€’’ś¤ū„€’’śœūˆ€’’ś”ūŒide_existsLdestinatiof$FNAskXIQ#ŌžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž W±NNNNNNNNNNNNNNNNNNNNNNš”””ū$YDxyЧNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žāNNNNNNNNNNNNNNNNNNNNNN”””ūį"žģ’§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž1ÓNNNNNNNNNNNNNNNNNNNNNN”””ūHorizonTreeTree2 Sun_diameter Sun_deltaPhiBirdPosition_angleDistanceThetaR Left_angleX2Y2 Right_angleX3Y3Size@  »@³@0 ›µŽ!Demonstration of drawing a scene.¤³Ž@J0›µŽ;After the scene is drawn, yo¹”§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!ķNNNNNNNNNNNNNNNNNNNNNNš”””ūottom" of bolt reached³Ž@22 f济?ąźææµŽ@ģčü쐶Ž, \³Ž@(2 p萶, > Figure next position³@*( zæµ?陙™™™šźüµ@ģ萶, /³Ž@* „µŽ?šņ·“³Ž@0 Ž»¶, \ Make a fat bolt if necessary³Ž@$0 ˜»Dµ?ąģ†»B» %žgżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÜNNNNNNNNNNNNNNNNNNNNNNš”””ū>¶, /³Ž@$ ¢øŽ䳎@( ¬»&¶Ž, Otherwise a skinny one³@( ¶¹³@ Ąæ¶Ž, \³Ž@: Ź µ1–źüµ1–퐶Ž,! > Should we start a new branch?³@": Ō µ(?™™™™™™šģóŽ·ø¶Ž, /³Ž@6" ŽŌüÕüÕæµ?ąźüƒģÕµ1Ž–æµ1–ģčÕæģÕ²³Ž@(6 č»¶, Come r1žōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žGNNNNNNNNNNNNNNNNNNNNNNš”””ūback to bifurcation³@( ņ¹³@, üó»“¶Ž, Low limit reached yet?³@,±³š8ž@éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žt¾NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’ @ĀĀ’’”’’ddhü¶Nh€’’’˜Eś€’’’Eś€’’’ˆEś€’’’€Eś "’’ž"’’ü€ €’’üxEś("’’ü`<*"’’üH$0"’’ü00:@"’’ü<<@’’üHF ®`’’üJN"’’śˆl’’śtLV†’ūv€’’ślū€@ %ØžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žķ)NNNNNNNNNNNNNNNNNNNNNN”””ūū„@ ū˜’–’ūœ4’ū¦@ ’’’éū²f’¼@ ūʰ’Š–’ūŚ@ ’ąnatCyan$IRedGreenBlueAdditive SubtractiveJPoint New_pointUnitBlack$Green$White$ Pen_image2SurpriseSurpriseHueÓßžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŽNNNNNNNNNNNNNNNNNNNNNN”””ūDummyAdditive Subtractive Surprise2All_doneHere@R ¶ŽF *********************************************************************³Ž€€€²žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‹KNNNNNNNNNNNNNNNNNNNNNN”””ūĄĀ’’żd`’’”ŗDœŖ ŒLˆ ®$Óz’’’ūŒL$ŒL(ŒL,ubfaceNew_einNew_ma`MinScaleScaleSurfaceNew_minNew_maxMinMax Range_recĪžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žøzNNNNNNNNNNNNNNNNNNNNNN”””ūip³Ž@L¶ŽA This routine scales a matrix such that it will have a new lowest³@@L(¶Ž5 value of New_min and a new highest value of New_max.³@J@2‘µ"ŽKœžµ"ŽScaling the surface array from ££µ" to ££µ"Ž.¤³Ž@J<ĶĄ³Ž@FĶĄśo’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Ąƒ*…•†ˆq‰ąŠOŒ¾+—’k“Õ”>–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŚNNNNNNNNNNNNNNNNNNNNNN”””ū blacking bottom of sun³@..µ1Ž’µ!ƒźü퐶1 Delta X for horizon³Ž@$. 됶Ž1 Starting point for X³@0$ ‚µ!°’ą (¶Ž1 All except end points³Ž@0 " 萶1 Increment X³Ž@& , IČ ¶Ž1 Put it in the array³Ž@6& 6 ‚Iȵ1¹æŠģ萶Ž1 Random heig÷±’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žé(NNNNNNNNNNNNNNNNNNNNNN”””ūht for roughness³Ž@"6@“Ž ’ą Ž¶Ž1 and so forth³@6"Jµ!Iȵ1Ž’¶1 \ Lower right corner of screen³@06Tµ!‚IȀ¶1 / for blacking bottom of sun³@0^€€€»<¶Ž1 Black³Ž@*hIĶ»D»B»E¶1 Erase bottom of sun³Ž@ *r»¶1 PLOT left pen down³@: ]8NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¼{NNNNNNNNNNNNNNNNNNNNNN”””ū| ‚µ!ź°’Š ’¶Ž1 \ Draw the horizon polygon,³Ž@4: † IČ ‚IČ»&¶Ž1 > but don't include first³Ž@44“Ž ’Š *¶Ž1 / and last points (corners).³@T4š¶ŽH Draw clouds------------------------------------------------------------³Ž@0T¤‚낵!Ž?¢žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žJNNNNNNNNNNNNNNNNNNNNNNš”””ūėµ!Ž»¶1 Anisotropic scaling³Ž@:0®µ(?е(?е(?Š»<¶1 25% gray shade³@$:ø Š°Ž’Ą¶Ž1 10 ellipses³Ž@4$ Āæµ?陙™™™šī„ģ‚źæˆģ»¶Ž1 Random position³Ž@84 Ģ»D济?陙™™™šģ»B»>¶Ž1 random size, fill it³@"8Ö“Ž ’Ąt¶Ž1 9}žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŸtNNNNNNNNNNNNNNNNNNNNNN”””ū and so forth³@2"ą€µ1Ž’€µ1Ž…»¶1 Back to 1 UDU = 1 pixel³Ž@T2ź¶ŽH Draw birds-------------------------------------------------------------³Ž@$Tō»)¶1 Angular mode: Degrees³Ž@,$žNµ!ŽF¶1 Arc subtended by each wing³@(,OŠ°Ž’°ڶŽ1 Ten bj…žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¬ENNNNNNNNNNNNNNNNNNNNNN”””ūirds enough³@4( Pæµ1Žh쐶Ž1 Bird's direction from 100,300³Ž@44 Qææµ!ŽF쐶Ž1 Bird's distance from 100,300³@,4 & ‹QPæģ萶1 Bird's actual X position³@0, 0µ1Ž,QPæģ萶1 Bird's actual Y position³@$0 :Ræµ!ŽģŠź¶Ž1 Bird's tilt³Ž@2$ DSæŠģЧOž|¦ĻśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž łNNNNNNNNNNNNNNNNNNNNNNą”””ū萶Ž1 Radius of arcs of birds' wings³@<2 NTµ1Ž“µ!ZN‚ķźüčR萶1 Direction of left arc's center³@2< XU STæģ萶1 Center of left wing's arc (X)³Ž@22 bVSTæģ萶1 Center of left wing's arc (Y)³Ž@*2 l€» ¶Ž1 Unrotated coords for MOVE³Ž@"* vUV»¶1 Lööž6ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ź'NNNNNNNNNNNNNNNNNNNNNN”””ūeft arc's center³Ž@6" €Rµ!ŽZčN‚ķź» ¶Ž1 Rotated coords for POLYLINE³Ž@06 ŠSµ!Ž<µ! ‚JČ źü‚퐶1 \ Define programmatically³@B2 H čJČ Jȵ?ąčü‚퐶1 / the branches of the trees³@B R č‚JČ ‚Jȁ萶1 /³@\“Ž ’ 4¶Ž1€žž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žćNNNNNNNNNNNNNNNNNNNNNN”””ū /³Ž@<f µ!Ž µ!°’ȶŽ1 \ The right half of the tree³@8< p Jȵ! źJČ됶1 \ (and thus the tree array,)³@88 z ‚Jȵ! ź‚JȐ¶Ž1 / is the mirror image of the³@$8„“Ž ’4¶Ž1 / left half.³@ $޵1Ž“¶1 Starting value³@. ˜Šņ» Ą’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŻNNNNNNNNNNNNNNNNNNNNNN”””ūu return to BASIC in 3 seconds.¤³Ž@ J(›„³Ž@T 2›µŽPress Ÿµ1ށ柵2ŽReturnŸµ1Ž€æŸµ2Ž or Ÿµ1ށ柵2ŽENTERŸµ1€æ¤³@ T<½ ¤³Ž@ F»@³@ P¼ ¶Ž1 Arrays start at 1.³@@ Z¼I€€£JŽ€€£KŽ€€¤¶1 For PLOT, RPLOT³Ž@,@d»"¶øKžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž%ģNNNNNNNNNNNNNNNNNNNNNN”””ū1 Initialize graphics parameters³@6,nĄµ2ŽINTERNAL»#¶1 Use the internal screen³Ž@&6x»¶1 Turn on graphics screen³Ž@*&‚€µ1Ž’€µ1Ž…»¶1 1 UDU = 1 pixel³Ž@4*ŒµAo4T½¶1 "Looks better" than default³Ž@T4–¶ŽH Draw sunrise------------- ó’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žpæNNNNNNNNNNNNNNNNNNNNNN”””ū----------------------------------------------³Ž@*T Lµ!ސ¶1 Diameter of outer layer³Ž@**ŖM†¶1 Shrinkage of each brightness³@$*“µ1µ1¾»¶1 Center of sun³Ž@>$¾ µ!큁µ!Žķ°Ž’š Z¶Ž1 All non-black gray shades³Ž@,> Č »<¶Ž1 Define diq’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žCŽNNNNNNNNNNNNNNNNNNNNNN”””ūthered gray shade³@2, Ņ»DLµ!µ! ģźüMģčµ!Ž»B»>¶< Draw sun³@"2Ü“Ž ’š Ś¶Ž1 and so forth³@T"ę¶ŽH Draw horizon-----------------------------------------------------------³Ž@0TšIȀ¶Ž1 \ Lower left corner of screen,³@.0ś‚IȀ¶Ž1 / forÕĖžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNķ€T‚»ƒ#…†ł‡f‰ÕŠEŒµ%•’q“Ż”I–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŗ1NNNNNNNNNNNNNNNNNNNNNN”””ūĄ¶Ž1 For a few iterations...³Ž@@. ¢ µ1“ķüī‚ķ°Ž’€n¶Ž1 No. of trees dependent upon Y³Ž@&@ ¬Væµ!Ž쐶Ž1 Random variation³@6& ¶æµ1’ģVčµ!ź»¶Ž1 Bottom of center of tree³@B6 ĄZµ1ŽČVčüźüµ?¹™™™™™šģ¶Ž1 Size of tree dependent upon Y³Ž¬žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‰NNNNNNNNNNNNNNNNNNNNNN”””ū@.B ŹKĪJĪZ»Ž»y¶1 Scale tree appropriately³@*. ŌKĶ»D»B»G¶1 FILL, but don't EDGE³@"* Ž“Ž ’€V¶Ž1 and so forth³@0" čµ?陙™™™šģ¶Ž1 Go lower on the screen³@"0ņ»Žč¶Ž1 for a while...³@ "üƒ½#³@ »³@ »@³@P ›µ2ŽAEnd of sceXØžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÜSNNNNNNNNNNNNNNNNNNNNNN”””ūnery demo. You have been returned to the BASIC System.¤³Ž@P$½¶Ž1 Finis³Ž@€€P®žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žļbNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’4@ĀĀ’’ZČ’’N”ŗN ”<|@ ü"’’ü8ę@ Ę @"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ’’’€ūV@ ’’’xū@ ’ū`@" ūn@ ’’’pū@ ūt@ ’’’hūz@ ū|@ ’’’ļū‚@ °`žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žvõNNNNNNNNNNNNNNNNNNNNNN”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’`ūŖ@ ’’’XB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲA ’’Ųā@ ’’Šūź@ ’’Čūš@ ’’Ąūö@ ’’øūž@ ’’°ū@ ’’Øū @ ’’ ū@ ’’˜ū@ ’’ū @ ’’ˆū$@ ’’€ū.@ ’’xū8@ ’’pūD¤žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žEÄNNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’hūnP ’’’’’ūt@ ’ūz@"’’T†@"’’TŠ@ 5ŽP ’’’’’ü”@ OopsSoerce$ FNFide_existsLdestinatiof$FNAskAContour&žgżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž—NNNNNNNNNNNNNNNNNNNNNN”””ūį"ž ›?éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž#¦NNNNNNNNNNNNNNNNNNNNNN”””ūČ ĄbĀ’’ż&€’’¤Ę”ŚśĘ %’ū0/ €’’’üū €’’’ųū €’’’ō* €’’’šū (’ū& @ /. @ū8 @Ÿ½žŸ©³žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž3˜NNNNNNNNNNNNNNNNNNNNNN”””ūūB @(*L @2ūV @<ū` @F$jw XleftXraghtYlow YhighG_enitsGdu_`maxGduShowShowXleftXrightYlowYhighG_unitsGdu_xmaxGdu_ymaxUdu_xminUdu_xmaxUdu_yminUdu_ymaxShowgĻž~|¦ĻśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ©NNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@Nl¶ŽC This simulates the system command SHOW, but saves the variables so³@.Nv¶Ž# the routines Setgu and Setuu work.³@$.€¼’’’’££ £ £ £ £ ¤³Ž@$Š€ń·†³Ž@ ”‹ĄĄ쐳Ž@ ž‹ĄķĄ쐳Ž@ع³@ ² ³@ ¼ ³ÓČžŸ©³žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž UśNNNNNNNNNNNNNNNNNNNNNN”””ū@ Ę ³@ Š ³@ Ś ³@ 仳@ī±¶ SUB Show³Óžy ›?éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž fĖNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’ @ĀĀ’’’’óņt’’¶ ų"” " ų@"’’’¬€’’’øūL’’’¤ hō0 ’’ü€’’’œX„@ Ę 6@ Ę <@ ’’’¼F D€’’’”ūV@ ’’’€ū@ ’ū`@" ūn€’’’Œū@ ūt@ ūz@ ū|@ ’’’ļū‚@ OźVžSgżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ’\NNNNNNNNNNNNNNNNNNNNNN”””ūopsSoerce$ FNFide_existsLdestinatiof$FNAskXIQ$Exit X_gdu_max Y_gdu_max@  »@³@2 ›µŽ$Demonstration of axes without grids.¤³@2ŗĪžĶŸōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĢmNNNNNNNNNNNNNNNNNNNNNN”””ū2›µŽ$------------------------------------¤³@ 2(›„³Ž@F 2›µŽ8Press SPACEBAR when you have finished viewing the graph.¤³@ F<›„³Ž@d F›µŽPress Ÿµ1ށ柵2ŽReturnŸµ1Ž€æŸµ2Ž or Ÿµ1ށ柵2ŽENTERŸµ1€æŸµ2Ž to begin.¤³@ dP½ ¤³Ž@ ZięžōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž™>NNNNNNNNNNNNNNNNNNNNNNš”””ū»@³@2 d»’½¶Ž% Provide outlet to BASIC System³@62n»"¶%( Initialize various graphics parameters.³Ž@66xĄµ2ŽINTERNAL»#¶% Use the internal screen³Ž@*6‚»¶% Turn on the graphics screen³Ž@B*Œ‹ĄĄ쐶Ž%+ Determine how many GDUs wide *kžéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŖNNNNNNNNNNNNNNNNNNNNNN”””ūthe screen is³@DB– ‹ĄķĄ쐶Ž%+ Determine how many GDUs high the screen is³@8D †»¶Ž%( Reference point: center of top of label³Ž@V8Ŗ µŽ?Ó333333ėµŽ?Ó333333µ?¹™™™™™š°’št¶Ž% Offset of X from starting point³Ž@:V “‚ķ č »¶%& Move to about[ķžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€W‚¾ƒ'…†ū‡f‰ŅŠ>Œ«é‘S“¼”%–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ČlNNNNNNNNNNNNNNNNNNNNNN”””ūen is³@DB  ‹ĄķĄ쐶Ž%+ Determine how many GDUs high the screen is³@VDŖ µŽ?Ó333333ėµŽ?Ó333333µ?¹™™™™™š°’š(¶Ž% Offset of X from starting point³Ž@:V “‚ķ č »¶%& Move to about middle of top of screen³Ž@8: ¾» µ"ŽVOLTAGE VARIANCE¤¶% WriāžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ū]NNNNNNNNNNNNNNNNNNNNNN”””ūte title of plot³Ž@.8Č“Ž ’šˆ¶Ž% Next position for title³Ž@4.Ņ»)¶%' Angular mode is degrees (used in LDIR)³@*4ܵ!Z»¶% Specify vertical labels³Ž@2*ęµ(@ »¶% Specify smaller characters³@82š€ ‚ķ»¶%& Move to center of left edge of iüžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž®NNNNNNNNNNNNNNNNNNNNNN”””ūscreen³Ž@.8ś» µ2ŽVoltage¤¶Ž% Write Y-axis label³@:.„»¶Ž%+ Reference point: center of bottom of label³@(:€»¶Ž% Horizontal labels again³Ž@F(‚ķµŽ?±ė…øQģ ģ»¶%) X: center of screen; Y: above key labels³@4F"» µ2ŽTime (seconds)¤¶% W‰QžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž?NNNNNNNNNNNNNNNNNNNNNN”””ūrite X-axis label³@Z4,µ?¹™™™™™šģµ(?ļ\(õĀ]ģµ(?Ć333333 ģµ?ģĢĢĢĢĢĶ ģ» ¶u Define subset of screen area³@BZ6€‹µ!µ!»¶%+ Anisotropic scaling: left/right/bottom/top³@HB@µŽ?©™™™™™š€µ!Ž……ƒ»%¶%% Draw axes intersecting at lower left³@JHJµŽY‰žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žNNNNNNNNNNNNNNNNNNNNNN”””ū middle of top of screen³Ž@8: ¾» µ"ŽVOLTAGE VARIANCE¤¶% Write title of plot³Ž@.8Č“Ž ’šŌ¶Ž% Next position for title³Ž@4.Ņ»)¶%' Angular mode is degrees (used in LDIR)³@*4ܵ!Z»¶% Specify vertical labels³Ž@2*ęµ(@ »¶% Specify smaTY’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¾0NNNNNNNNNNNNNNNNNNNNNNš”””ūller characters³@82š€ ‚ķ»¶%& Move to center of left edge of screen³Ž@.8ś» µ2ŽVoltage¤¶Ž% Write Y-axis label³@:.„»¶Ž%+ Reference point: center of bottom of label³@(:€»¶Ž% Horizontal labels again³Ž@F(‚ķµŽ?±ė…øQģ ģ»¶%) X: center owŅžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žėcNNNNNNNNNNNNNNNNNNNNNN”””ūf screen; Y: above key labels³@4F"» µ2ŽTime (seconds)¤¶% Write X-axis label³@Z4,µ?¹™™™™™šģµ(?ļ\(õĀ]ģµ(?Ć333333 ģµ?ģĢĢĢĢĢĶ ģ» ¶u Define subset of screen area³@.Z6»¶%! Draw a box around defined subset³@B.@€‹µ!µ!»¶%+ Anisotropic scaŲ žÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŲRNNNNNNNNNNNNNNNNNNNNNN”””ūling: left/right/bottom/top³@DBJµŽ?©™™™™™š€µ!ŽŠ…ƒ»%¶%! Draw axes with appropriate ticks³@6DT»¶%) So labels can be outside VIEWPORT limits³@B6^µ(@µ?ą»¶%! Smaller chars for axis labelling³@*Bh†»¶Ž% Ref. pt: Top center |ho’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žAÅNNNNNNNNNNNNNNNNNNNNNN”””ū\³@4*r €‹Š°’ą Ō¶Ž% Every 10 units | \³Ž@D4 | µHŽ@/śįG®{»¶%+ A smidgeon below X-axis | > Label X-axis³@6D †» µ2Ž#,Kœž ¤¶% Compact; no CR/LF | /³Ž@06“Ž ’ą *¶Ž% et sequens |/³@*0šˆ»¶Ž% Ref. pt: Right ceæÓžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žrōNNNNNNNNNNNNNNNNNNNNNN”””ūnter |\³@D*¤ µ!޵!µ(?а’Š š¶Ž% Every quarter | \³Ž@DD ®µ?ąė »¶%* Smidgeon left of Y-axis | > Label Y-axis³Ž@:D ø» µ2Ž#,DD.DDœž ¤¶% DD.D; no CR/LF | /³Ž@0:Ā“Ž ’Š B¶Ž% et sequens |/³@ 0©#žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž'§NNNNNNNNNNNNNNNNNNNNNN”””ūĢ»³@, Ö‚‹‚°’Ą h¶Ž% Points to be plotted³@0, ąæµ8Ž@0€č»&¶% Plot a data point³Ž@0ź“Ž’Ą &³Ž@*ō–¶Ž% Keep graph up til user exits³Ą**ž»¶% Clear graphics from screen³@ *»@³@2 ›µ2Ž#You can again use the BASIC SystemnF’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž–NNNNNNNNNNNNNNNNNNNNNN”””ū.¤³Ž@2½¶Ž% finish³.ĪžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žØNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’ Z@ĀĀ’’’’ó¦t’’¶ D"” X" 80 ę €’’’øūL@"’’’¤’’’¤ Üž@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D€’’’œūV€’’’”ū@ ’ū`@" ūn€’’’Œū@ ūt@ ūz@ ū|@ ’’’ļū‚@ Od»’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 7™NNNNNNNNNNNNNNNNNNNNNNž”””ūopsSoerce$ FNFide_existsLdestinatiof$FNAskXIExitQ$ X_gdu_max Y_gdu_max@  ¶Ž³Ž@ »@³@* ›µŽDemonstrates grids and axes.ÜžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž bŹNNNNNNNNNNNNNNNNNNNNNN”””ū¤³@**(›µŽ----------------------------¤³@ *2›„³Ž@. <›µŽView graph as long as you wish.¤³Ž@B.F›µŽ3Press the SPACEBAR to get back to the BASIC System.¤³Ž@&BP½ ¤¶Ž% Let user view messages³@ &Z»’½¶Ž% Provide exit³@ d»@³@6 n»"¶÷m’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž QūNNNNNNNNNNNNNNNNNNNNNN”””ū%( Initialize various graphics parameters.³Ž@66xĄµ2ŽINTERNAL»#¶% Use the internal screen³Ž@*6‚»¶% Turn on the graphics screen³Ž@8*Œ†»¶Ž%( Reference point: center of top of label³Ž@B8–‹ĄĄ쐶Ž%+ Determine how many GDUs wide the screkžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚Ń1…ž† ˆx‰ęŠSŒĄ,—’j“Ó”<–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žE,NNNNNNNNNNNNNNNNNNNNNNš”””ū@$&d»’½¶Ž% Provide for exit³@ $n»@³@6 x»"¶%( Initialize various graphics parameters.³Ž@66‚Ąµ2ŽINTERNAL»#¶% Use the internal screen³Ž@*6Œ»¶% Turn on the graphics screen³Ž@B*–‹ĄĄ쐶Ž%+ Determine how many GDUs wide the scre2(žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž vNNNNNNNNNNNNNNNNNNNNNN”””ūen is³@DB  ‹ĄķĄ쐶Ž%+ Determine how many GDUs high the screen is³@8DŖ†»¶Ž%( Reference point: center of top of label³Ž@28“‚ķ »¶% Move to middle of top of screen³Ž@82¾» µ"ŽVOLTAGE VARIANCE¤¶% Write title of plot³Ž@48Č»)¶%' Angularį+’żNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž #NNNNNNNNNNNNNNNNNNNNNNN”””ū mode is degrees (used in LDIR)³@*4ҵ!Z»¶% Specify vertical labels³Ž@2*ܵ(@ »¶% Specify smaller characters³@82ę€ ‚ķ»¶%& Move to center of left edge of screen³Ž@.8š» µ2ŽVoltage¤¶Ž% Write Y-axis label³@:.ś„»¶Ž%+ Reference point“ŽžtNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ū: center of bottom of label³@(:€»¶Ž% Horizontal labels again³Ž@F(‚ķµŽ?±ė…øQģ ģ»¶%) X: center of screen; Y: above key labels³@4F» µ2ŽTime (seconds)¤¶% Write X-axis label³@Z4"µ?¹™™™™™šģµ(?ļ®zįGÆģµ(?Ć333333 ģµ?ģĢĢĢĢĢĶ ģ» ¶u Defin ?žśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‰čNNNNNNNNNNNNNNNNNNNNNN”””ūe subset of screen area³@.Z,»¶%! Draw a box around defined subset³@B.6€‹µ!µ!»¶%+ Anisotropic scaling: left/right/bottom/top³@0B@ ‚‹‚°’š¶Ž% Points to be plotted...³Ž@D0 J æµ8Ž@0€č»&¶%' Get a data point and plot it against X³@ DŁ‚’ŸōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŗŁNNNNNNNNNNNNNNNNNNNNNNš”””ūT“Ž ’š ¶Ž% et cetera³Ž@$ ^–¶Ž% Stay in graphics demo³ŽĄ $h»³@ r»@³@: |›µ2Ž+You have control of the BASIC System again.¤³Ž@:†½¶Ž% finis³ŽPĆž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žļŠNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’ Œ@ĀĀ’’’’ötT’’¶ v"” Š" j r€’’’ŲūL0 0 @"’’’Ä’’’Ä@ @ Ę 6@ Ę <@ ’’’¼F D€’’’¼ūV€’’’“ū@ ’ū`@" ūn€’’’¬ū@ ūt@ ūz@ ū|@ ’’’ļū‚@ O~žY’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÜ»NNNNNNNNNNNNNNNNNNNNNN”””ūopsSoerce$ FNFide_existsLdestinatiof$FNAskXIExitQ$ X_gdu_max Y_gdu_max@  ¶Ž³Ž@ »@³@@ ›µŽ1Demonstration of vertical/hoF\’ˆżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĢ…NNNNNNNNNNNNNNNNNNNNNN”””ū?©™™™™™š‹µ!Ž……ƒ»%¶%& Draw axes intersecting at upper right³Ž@BJTе(Ž?Š€µ!ށ»$¶Ž% Draw grid with no minor ticks³Ž@6B^»¶%) So labels can be outside VIEWPORT limits³@B6hµ(@µ?ą»¶%! Smaller chars for axis labelling³@*Br¬’›?éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž’“NNNNNNNNNNNNNNNNNNNNNN”””ū†»¶Ž% Ref. pt: Top center |\³@4*| €‹Š°’ą ź¶Ž% Every 10 units | \³Ž@D4 † µHŽ@/śįG®{»¶%+ A smidgeon below X-axis | > Label X-axis³@6D » µ2Ž#,Kœž ¤¶% Compact; no CR/LF | /³Ž@06š“Ž ’ą @¶Ž% et sequens |—J’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŖēNNNNNNNNNNNNNNNNNNNNNNš”””ū/³@,0¤ˆ»¶Ž% Ref. pt: Right center |\³Ž@D,® µ!޵!µ(?а’Š ¶Ž% Every quarter | \³@DD øµ?ąė »¶%+ Smidgeon left of Y-axis | > Label Y-axis³@:D Ā» µ2Ž#,DD.DDœž ¤¶% DD.D; no CR/LF | /³@2:Ģ“Ž ’Š Z;5’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž™ÖNNNNNNNNNNNNNNNNNNNNNN”””ū¶Ž% et sequens |/³Ž@22Ö»¶%$ LABEL statement leaves the pen down³Ž@02ą ‚‹‚°’Ą жŽ% Points to be plotted...³Ž@D0 ź æµ8Ž@0€č»&¶%' Get a data point and plot it against X³@ Dō“Ž ’Ą l¶Ž% et cetera³Ž@ ž–³ŽĄ »³@ % žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žANNNNNNNNNNNNNNNNNNNNNN”””ū »@³@H ›µ2Ž:The demo is complete. You can use the BASIC System again.¤³@H&½¶Ž% finish³SgNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž3pNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’š@ĀĀ’’’’÷f<’’¶„"”˜"x ‘¬^€’’’čūL04‘¬@"’’’Ō’’’Ō@ @ Ę 6@ Ę <@ ’’’¼F D€’’’ĢūV€’’’Äū@ ’ū`@" ūn@ ū@ ūt@ ūz@ ū|@ ’’’ļū‚@ OˆžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žf#NNNNNNNNNNNNNNNNNNNNNN”””ūopsSoerce$ FNFide_existsLdestinatiof$FNAskXExitQ$ X_gdu_max Y_gdu_max@  ¶Ž³Ž@ »@³@@ ›µŽ1Demonstration of vertical/hoa?žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žUNNNNNNNNNNNNNNNNNNNNNN”””ūrizontal line labels.¤³Ž@@@(›µŽ1-------------------------------------------------¤³Ž@ @2›„³Ž@: <›µŽ+Press SPACEBAR to exit to the BASIC System.¤³Ž@ :F›„³Ž@4 P›µŽ&Press Return or ENTER to see the demo.¤³@&4Z½ ¤¶Ž% Let user read messages³ųožNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€W‚Ąƒ+…—†ˆo‰ÜŠHŒ“Šõ‘`“Ź”5–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž7qNNNNNNNNNNNNNNNNNNNNNN”””ūar mode is degrees (used in LDIR)³@*4ęµ!Z»¶% Specify vertical labels³Ž@2*šµ(@ »¶% Specify smaller characters³@82ś€ ‚ķ»¶%& Move to center of left edge of screen³Ž@.8» µ2ŽVoltage¤¶Ž% Write Y-axis label³@:.„»¶Ž%+ Reference poiƒĢžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž@NNNNNNNNNNNNNNNNNNNNNNž”””ūnt: center of bottom of label³@(:€»¶Ž% Horizontal labels again³Ž@F("‚ķµŽ?±ė…øQģ ģ»¶%) X: center of screen; Y: above key labels³@4F,» µ2ŽTime (seconds)¤¶% Write X-axis label³@Z46µ?¹™™™™™šģµ(?ļ®zįGÆģµ(?Ć333333 ģµ?ģĢĢĢĢĢĶ ģ» ¶u Defź‚žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žQNNNNNNNNNNNNNNNNNNNNNN”””ūine subset of screen area³@.Z@»¶%! Draw a box around defined subset³@B.J€‹µ!µ!»¶%+ Anisotropic scaling: left/right/bottom/top³@0BT ‚‹‚°’ą ¶Ž% Points to be plotted...³Ž@D0 ^ æµ8Ž@0€č»&¶%' Get a data point and plot it against X³@ YžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žb"NNNNNNNNNNNNNNNNNNNNNN”””ūDh“Ž ’ࢶŽ% et cetera³Ž@ r–¶Ž% Stay in graphics³Ą |»³@ †»@³@0 ›µ2Ž!You are back in the BASIC System.¤³Ž@0š½¶Ž% finis³Ž‚žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žrNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’`@ĀĀ’’’’ś <’’VJęp^ęJ čŲČꀒ’’čūL0ņŲČ@"’’’Ō’’’Ō@ @ Ę 6@ Ę <@ ’’’¼F D€’’’ĢūV€’’’Äū@ ’ū`@ OopsSoerce$ FNFide_existsLdestinatiof$FNAskXExitQĒ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž A-NNNNNNNNNNNNNNNNNNNNNNš”””ūQ$ X_gdu_max Y_gdu_max@  ¶Ž³Ž@ »@³@0 ›µŽ"Initial demonstration of graphics.¤³@00(›µŽ"----------------------------------¤³@ 02›„³Ž@B <›µŽ3Press the SPACEBARś#žÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ~NNNNNNNNNNNNNNNNNNNNNNš”””ū to get back to the BASIC System.¤³Ž@ BF›„³Ž@: P›µŽ+Press Return or ENTER to see demonstration.¤³Ž@ :Z½ ¤³Ž@ d»’½³Ž@ n»@³@6 x»"¶$( Initialize various graphics parameters.³Ž@66‚Ąµ2ŽINTERNAL»#¶$ Use the internal screen³Ž@*6ŒFÅžÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 'ONNNNNNNNNNNNNNNNNNNNNN”””ū»¶$ Turn on the graphics screen³Ž@8*–‹ĄĄ쐶Ž$! How many GDUs wide the screen is³@:8  ‹ĄķĄ쐶Ž$! How many GDUs high the screen is³@Z:Ŗµ?¹™™™™™šģµ(?ļ®zįGÆģµ(?Ć333333 ģµ?ģĢĢĢĢĢĶ ģ» ¶t Define subset of screen area³@.Z“»¶$! Draś’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¾ŲNNNNNNNNNNNNNNNNNNNNNNš”””ūw a box around defined subset³@B.¾€‹µ!µ!»¶$+ Anisotropic scaling: left/right/bottom/top³@0BČ ‚‹‚°’šč¶Ž$ Points to be plotted...³Ž@D0 Ņ æµ8Ž@0€č»&¶$' Get a data point and plot it against X³@ DÜ“Ž ’š„¶Ž$ et cetera³Ž@ ę–³ŽĄ ‚€žiNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž éNNNNNNNNNNNNNNNNNNNNNNš”””ū š»³@ ś»@³@B ›µ2Ž4Continue working. You are back in the BASIC System.¤³@B½¶Ž$ finish³螾NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŲŗNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’ę@ĀĀ’’’’ģ"’’žŌ¾@޾ Ō!’’÷Ž@ ž@  @ ü@ @ ü@ ü@ ü@ ü @ ü"@ ’’’ņ_Z>P ’’’’l`!’’’ņüvScoreO£’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žė‹NNNNNNNNNNNNNNNNNNNNNNš”””ū@D ¶Ž8 "Entrance Hymn for the Emperor" (Chinese c. 1000 B.C.)³Ž@8D¶Ž- from "Historical Anthology of Music, Vol. I"³@@8¶Ž4 by Davison and Apel, Harvard University Press, 1978³Ž@@(¼%€¤³@.2¼  1,284,12,40 ¶Ž D ¹lžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žūµNNNNNNNNNNNNNNNNNNNNNNš”””ūrizontal line labels.¤³Ž@@@(›µŽ1-------------------------------------------------¤³Ž@ @2›„³Ž@^ <›µŽ Press the Ÿµ1Ž„æŸµ2ŽSPACEBARŸµ1Ž€æŸµ2Ž! to get back to the BASIC System.¤³Ž@ ^F›„³Ž@l P›µŽPress Ÿµ1Ž„æŸµ2ŽReturnŸµ1Ž€æŸµ2Ž o걞NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žȄNNNNNNNNNNNNNNNNNNNNNN”””ūr Ÿµ1Ž„æŸµ2ŽENTERŸµ1€æŸµ2Ž to see the demo.¤³Ž@.lZ½ ¤¶Ž% Let the user read the messages³@6.d»’½¶Ž%" Provide for getting back to BASIC³Ž@ 6n»@³@6 x»"¶%( Initialize various graphics parameters.³Ž@66‚Ąµ2ŽINTERNAL»#¶% Use the iźęžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž×NNNNNNNNNNNNNNNNNNNNNN”””ūnternal screen³Ž@*6Œ»¶% Turn on the graphics screen³Ž@B*–‹ĄĄ쐶Ž%+ Determine how many GDUs wide the screen is³@DB  ‹ĄķĄ쐶Ž%+ Determine how many GDUs high the screen is³@8DŖ†»¶Ž%( Reference point: center of top of label³Ž@V8“ µŌÉžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž®ęNNNNNNNNNNNNNNNNNNNNNN”””ūŽ?Ó333333ėµŽ?Ó333333µ?¹™™™™™š°’šÖ¶Ž% Offset of X from starting point³Ž@:V ¾‚ķ č »¶%& Move to about middle of top of screen³Ž@8: Č» µ"ŽVOLTAGE VARIANCE¤¶% Write title of plot³Ž@.8Ņ“Ž ’š6¶Ž% Next position for title³Ž@4.Ü»)¶%' Angul[¤žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€W‚Įƒ,…˜†ˆr‰ßŠLŒø$ū‘g“Ō”A–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žØNNNNNNNNNNNNNNNNNNNNNNž”””ū M1³@.<¼ 5, 9,1000³Ž@"F¼  1,284,8,50 ¶ŽD³@J"P¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@"JZ¼  5, 1,189,8,50 ¶ŽA³@""d¼  5, 1,319,8,50 ¶ŽC³@J"n¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,–X’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž®™NNNNNNNNNNNNNNNNNNNNNN”””ū4,6,2, 8, 4,4,3,14³Ž@.Jx¼  5, 1,284,12,50 ¶Ž D M2³@.‚¼  5, 1,284, 8,35³@Œ¼ 5, 9,1500³Ž@"–¼  1,284,8,50 ¶ŽD³@J" ¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@"JŖ¼  5, 1,319,8,50 ¶ŽC³›ĢžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žūŹNNNNNNNNNNNNNNNNNNNNNN”””ū@J"“¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@.J¾¼  5, 1,189,12,50 ¶Ž A M3³@$.ȼ  5, 1,159,8,50 ¶ŽC1³Ž@J$Ҽ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@$Jܼ  5, 1,142,8,50 ©A’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žČūNNNNNNNNNNNNNNNNNNNNNN”””ū ¶ŽD1³Ž@$$ę¼  5, 1,159,8,50 ¶ŽC1³Ž@J$š¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@.Jś¼  5, 1,189,12,50 ¶Ž A M4³@.¼  5, 1,189, 8,50³@¼  5, 1,189, 7,10³@¼  5, 1,189, 9,10³@"¼  5IžžÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žQlNNNNNNNNNNNNNNNNNNNNNN”””ū, 1,189, 7,10³@,¼  5, 1,189, 9,10³@6¼  5, 1,189, 7,10³@@¼  5, 1,189, 8,50³@.J¼  5, 1,213,8,50 ¶Ž G M5³@J.T¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@"J^¼  5, 1,239,8,50 ¶ŽF³@""h¼ xn§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žb]NNNNNNNNNNNNNNNNNNNNNN”””ū 5, 1,284,8,50 ¶ŽD³@""r¼  5, 1,319,8,50 ¶ŽC³@J"|¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@.J†¼  5, 1,189,12,50 ¶Ž A M6³@J.¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@J’’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž7NNNNNNNNNNNNNNNNNNNNNN”””ūš¼  5, 1,189, 8,50³@"¤¼  5, 1,284,8,50 ¶ŽD³@""®¼  5, 1,319,8,50 ¶ŽC³@J"ø¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@.J¼  5, 1,189,12,50 ¶Ž A M7³@$.̼  5, 1,159,8,50 ¶ŽC1³Ž@J$Ö¼ >7tž?éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž?NNNNNNNNNNNNNNNNNNNNNN”””ū 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@$Ją¼  5, 1,142,8,50 ¶ŽD1³Ž@$$ź¼  5, 1,159,8,50 ¶ŽC1³Ž@J$ō¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@.Jž¼  5, 1,189,12,50 ¶Ž A M8³.ćžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žNNNNNNNNNNNNNNNNNNNNNNš”””ū@.¼  5, 1,189, 8,50³@¼  5, 1,189, 7,10³@¼  5, 1,189, 9,10³@&¼  5, 1,189, 7,10³@0¼  5, 1,189, 9,10³@:¼  5, 1,189, 7,10³@D¼  5, 1,189, 8,50³@.N¼  5, 1,213,12,50 ¶Ž G M9³@J.X¼ > 4,4,15,2, 8, 4£žżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž '0NNNNNNNNNNNNNNNNNNNNNNš”””ū,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@"Jb¼  5, 1,239,8,50 ¶ŽF³@J"l¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@"Jv¼  5, 1,284,8,50 ¶ŽD³@""€¼  5, 1,319,8,50 ¶ŽC³@J"м > 4,4,15,2, 8, 4,4,12,ėy’żNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž rcNNNNNNNNNNNNNNNNNNNNNN”””ū2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@0J”¼  5, 1,189,12,50 ¶ŽA M10³Ž@J0ž¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@Jؼ  5, 1,189, 8,50³@"²¼  5, 1,284,8,50 ¶ŽD³@J"¼¼ > 4,4,15,2, 8, 4,4,12,·›žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ARNNNNNNNNNNNNNNNNNNNNNN”””ū2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@"JƼ  5, 1,319,8,50 ¶ŽC³@J"м > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@0Jڼ  5, 1,189,12,50 ¶ŽA M11³Ž@$0ä¼  5, 1,159,8,50 ¶ŽC1³Ž@J$ī¼ > 4,4,15,2, P>’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŲÅNNNNNNNNNNNNNNNNNNNNNN”””ū8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@$Jų¼  5, 1,142,8,50 ¶ŽD1³Ž@$$¼  5, 1,159,8,50 ¶ŽC1³Ž@J$ ¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@0J¼  5, 1,189,12,50 ¶ŽA M12³Ž@J0 ¼ > ožōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ėōNNNNNNNNNNNNNNNNNNNNNN”””ū 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@J*¼  5, 1,189, 8,50³@"4¼  5, 1,213,8,50 ¶ŽG³@J">¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@"JH¼  5, 1,239,8,50 ¶ŽF³@J"R¼ > 4,4,15,2, 8,×2žÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¾§NNNNNNNNNNNNNNNNNNNNNN”””ū 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@0J\¼  5, 1,284,12,50 ¶ŽD M13³Ž@J0f¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@Jp¼  5, 1,284, 8,50³@"z¼  5, 1,319,8,50 ¶ŽC³@J"„¼ > 4,4,15,2, 8,QžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž–NNNNNNNNNNNNNNNNNNNNNN”””ū 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@"J޼  5, 1,189,8,50 ¶ŽA³@J"˜¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@0J¢¼  5, 1,319,12,50 ¶ŽC M14³Ž@"0¬¼  5, 1,284,8,50 ¶ŽD³@J"¶¼ > 4,4,ą ’ĪNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNLNNNNNNNNNNNNNNNNNNNNNNNī€X‚Ćƒ/…›†ˆt‰įŠLŒ·"Œö‘_“Ź”5–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ļõNNNNNNNNNNNNNNNNNNNNNN”””ūį"’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ÜÄNNNNNNNNNNNNNNNNNNNNNN”””ūį"’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‰—NNNNNNNNNNNNNNNNNNNNNN”””ūDataTitle$Legends$PiecesMult Pie_chart@T ¶ŽI ************************************************************************³p~ ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŗ¦NNNNNNNNNNNNNNNNNNNNNN”””ū@4ĄĀ4 ’’4ązø4b7¼Ę0’ō’„ū’„$’’’ū’ō0’’’ś±ī¼Ę:¼ĘB ’ōD ’„F ūL’’’ō’„R ¼ĘV0Ę’ōZ¼Ę^¼Ęf÷žéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŖ˜NNNNNNNNNNNNNNNNNNNNNNš”””ū15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@"JĄ¼  5, 1,319,8,50 ¶ŽC³@""ʼ  5, 1,189,8,50 ¶ŽA³@J"Ō¼ > 4,4,15,2, 8, 4,4,12,2, 8, 4,4,9,2, 8, 4,4,6,2, 8, 4,4,3,14³Ž@0J޼  5, 1,213,12,50 ¶ŽG M15³Ž@0č¼ ’żNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž™©NNNNNNNNNNNNNNNNNNNNNN”””ū 5, 1,213, 8,50³@ņ¼  5, 1,213, 7,10³@ü¼  5, 1,213, 9,10³@¼  5, 1,213, 7,10³@¼  5, 1,213, 9,10³@¼  5, 1,213, 7,10³@$¼  5, 1,213, 8,50³@.¼  0,0,0,0,0,0,0³Ž@ 8 Ķ¤³Ž@ BĶ»&³Ž@ L½³Ž"‘’ŸōNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĢśNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’X@ĀĀ’’’’żØ<’’žL¾@V¾ ¦"€’’’蜀’’’ąś€’’’Ųś’’’Ä ’śČ@ ü@ ü@ ü @ ü"@ ’’’ņ_Z>P ’’’’l`!’’’ņüv Base_freqNoteFreqNote$ Sound_arrayš"žżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž’ĖNNNNNNNNNNNNNNNNNNNNNN”””ū@ d¼ ³Ž@ n½н½%¤³@ x¶Ž³Ž@D ‚¼ 1,1000,15,100,5,2,500,12,50,0 ¶Ž+ First instructions.³Ž@ DŒ Ķ¤³Ž@ –¶Ž³Ž@  » ³@2 ŖĄŁžĶ£„¶$ Put "template" on input line.³Ž@.2 “½ µ2Edit SOUND array parameters.½ͤ³@ . ¾¶Žž­’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žf\NNNNNNNNNNNNNNNNNNNNNN”””ū ³Ž@, ČĶ»&¶Ž Now execute instructions.³Ž@ , ҶŽ ³Ž@ Ü»޳޶޳Ž@ ę¶Ž³Ž@ š½³Ži<žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žUmNNNNNNNNNNNNNNNNNNNNNN”””ū’’’’-Ž@ĀĀ’’  ’’ œ œ¾Ž š¾ ¼’’’Ü N_ü @ ü@ ’’@"’’’Ų@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV@ ū@ ’ū`@" ūn€’’’Ōū@ ūt@ ūz@ ū|@ ’’’ļū‚@ hĻžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž>NNNNNNNNNNNNNNNNNNNNNNš”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’éūŖ@ ’’’čB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲ@ ’’’āūā@ ūź@ ūš@ !ūö@ "ūž@ #ū@ ’’’Üū @ %ū@ &ū@ 'ū @ (ū$@ )ū.@ ’’’Öū8@ +ūDŹBžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž3NNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’’ŠūnP ’’’’’ūt@ ’ūz@ 3ū†@ 4BŠP ’’’’’ū–@ ’’’Źūš@ ’’’ÉB @ ’’’Čū¦@ ’’’ĒDš¬@ ’’’ĘB¶@";ū¼P ’’’’’ūÄP ’’’’’ūŹP ’’’’’ūŠP ’’’’’ūÖP ’’’’’ūąP ’’’’’ūę@ Būī@ Cūō@ DūüP ’’’’_ŻžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž#1NNNNNNNNNNNNNNNNNNNNNNž”””ū’ūP ’’’’’ūP ’’’’’ūP ’’’’’ū @ Iū @ JB@ Kū@ ’’’“ū @ Mū.@ Nū8@ Oū<@ PūB@ QūR@ ’’’®ū\@ Sūb@ Tūd@ Uūp@ Vūt@ Wūx@ ’’’Øū„@ Yūˆ@ ZūŒ@ [’ū’@"\B–@ ]ū¢@ ’’’¢ūØ@ ¤žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ū’’’”B®@ ’’’ ūø@ ’’’ŸDš¾P ’’’’’ūĀP ’’’’’ūČP ’’’’’ūŅP ’’’’’ūŲ@ ’ūÜ@ ’’’™ūä@ ’ūź@ iūš@"jBö@ kū@ lB@ ’’’“ū @ ’’’’Dš@ oū@ pū"@ qū.P ’’’’B2@ sū6P ’’’’B<@ u’ūB@ vBF!’’’dL!’’’$ŁžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ESNNNNNNNNNNNNNNNNNNNNNNš”””ūR@"yū`@"’’’†Dšj@ ’’’…BZ@ |ūt@ }ūx@ ~ū€@ ū†@ €ūˆ@!’’’’’ūT@ ‚ūŽ@"ƒū@ „ū–@ ’ūž@!’’’’’ūō!’’żš؀’’żčū²€’’żąūŗJ’ūĄ@! ‚’ū–of$FNAskC$IExitļžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž vbNNNNNNNNNNNNNNNNNNNNNN”””ūį"žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNķ€W‚Įƒ+…—†ˆq‰ŻŠIŒµ‡š‘Z“Å”1–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žbµNNNNNNNNNNNNNNNNNNNNNN”””ūata) a different color. This occurs to help under- !³@TT“¶ŽI stand the data. If opaque is false, the plot will be !³@TT¾¶ŽI all one color, and the whole surface will be visible. !³@TTȶŽI Depenyŗ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Q„NNNNNNNNNNNNNNNNNNNNNNž”””ūding on the data, this may cause the plot to look !³@TTҶŽI cluttered. !³@TTܶŽI Front_edge, These specify the height in GDUs that the front edge !³@TTę¶ŽI Back_edge: and the b(}žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ×NNNNNNNNNNNNNNNNNNNNNNž”””ūack edge of the array are to be on the display !³@TTš¶ŽI surface. If Front_edge is less than Back_edge, more of !³@TTś¶ŽI the top surface will be visible; If Front_edge is !³@TT¶ŽI greater than p’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 7ęNNNNNNNNNNNNNNNNNNNNNN”””ūBack_edge, more of the bottom surface will !³@TT¶ŽI be visible. If Front_edge=Back_edge, the surface will !³@TT¶ŽI be plotted edge-on. !³@TT"¶ŽI Crt: This is a logical"ą’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ®qNNNNNNNNNNNNNNNNNNNNNN”””ū variable which specifies whether the !³@TT,¶ŽI plot is to be sent to a CRT or a plotter. !³@TT6¶ŽI------------------------------------------------------------------------!³@*T@¼ ¶Ž* Arrays start at 1, not zero³Ž@.*°³NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž @NNNNNNNNNNNNNNNNNNNNNN”””ūJ¼€€d¤¶* Row 1: Max; Row 2: Min³@<.T¼!£ !£ !£ !£ )¤¶* Make the loops go faster³@T<^¶ŽH Pos(*) is a map into the SELECT statement farther down. There are nine³Ž@PTh¶ŽE possible cases: the last point could be above the top of thėäžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žČNNNNNNNNNNNNNNNNNNNNNN”””ūe highest³@PPr¶ŽE curve, hidden behind the current surface, or below the bottom of the³@TP|¶ŽH lowest curve. For each or these three possibilities of the last point,³Ž@PT†¶ŽE the present point could also be in any one of the same three states.³@ Ó žÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žū"NNNNNNNNNNNNNNNNNNNNNN”””ūP  ͤ³Ž@T š¼  1,2,0,9999 ¶2 9999 because BOTH can't be true simultaneously...³Ž@T¤‰½’½³Ž@®·’½»³@ ø³@ Ā„³@ ́³@ Ö„³@ ą ΁Ą³Ž@ź Ī‚Ą³Ž@ō»uĪ‚»w »w»x³@žŌ€Õµ1’Հյ1ކղ³@ļŁž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žėNNNNNNNNNNNNNNNNNNNNNN”””ū¼Ęr’’’ī¼Ę€¼Ę’ō˜¼Ę ¼Ę¤¼ĘØ’’’č¼Ę¬¼Ę“¼ĘĄ¼ĘƼĘμĘŲ’’’ā¼Ęč¼Ęņ ¼Ę!¼Ę "¼Ę#¼Ę*’’’ܼĘ4%¼Ę>&¼ĘD'’ōN(’„X)ū\’’’ÖXæžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŲ-NNNNNNNNNNNNNNNNNNNNNN”””ū¼Ę`’’’Õ’ōd,¼Ęh-’ōl.¼Ęp/¼Ę|0’ō†’’’Ļ’„ aJSurfaceSurfacecurfaceCrdOpaquegeHSurfaceSurfaceSurfaceCrtOpaque Front_edge Back_edgeHeightIJImaxJmaxPosEndEndTop_pen Botto:ėžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž~NNNNNNNNNNNNNNNNNNNNNNš”””ūm_pen Top_linetypeBottom_linetypeWindowWindowDiDjSfcTopside BottomsideBasePres_ptPres_topPres_above_topPres_btmPres_below_btmLast_ptLast_above_topLast_below_btmLast_topLast_btmCase Intersect IntersectIxIyIx1Iy1Ix2ź žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¾ONNNNNNNNNNNNNNNNNNNNNN”””ūIy2 Data_pointEnd_plotEnd_plotCopy³Ž@T¶ŽI------------------------------------------------------------------------!³@TT(¶ŽI Copyright 1983, Hewlett-Packard Company !³@TT2¶ŽI/žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž'ŲNNNNNNNNNNNNNNNNNNNNNN”””ū All Rights Reserved !³@TT<¶ŽI !³@TTF¶ŽI This subprogram receives a two-dimensional real data array and !³@TTP¶ŽI plj’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žéNNNNNNNNNNNNNNNNNNNNNN”””ūots the surface as a series of lines of constant row; one row in !³@TTZ¶ŽI the data array results in one line on the plot. !³@TTd¶ŽI !³@TTn¶ŽI Surfac7#žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žAŗNNNNNNNNNNNNNNNNNNNNNN”””ūe(*): A 2D real array whose values contain the height of the !³@TTx¶ŽI surface at that point. It need not be square. !³@TT‚¶ŽI Opaque: A logical variable specifying whether or not the sur- !³@TTŒ¶ŽI ģ$’éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žr‹NNNNNNNNNNNNNNNNNNNNNN”””ū face is to look opaque, i.e., whether or not to remove !³@TT–¶ŽI the hidden lines. If Opaque is true, hidden lines will !³@TT ¶ŽI be removed, and the bottom may be (depending on the !³@TTŖ¶ŽI d:ü’ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Z‚Ń1…ž† ˆy‰ęŠRŒ½&ų‘a“É”2–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žčNNNNNNNNNNNNNNNNNNNNNNš”””ū³Ž@H$»ŽŽ·ģ»»Ž&³Ž¶Ž) Last above top, present hidden in middle³@H.·ŽŽ·³Ž@*8'Ń źüģÕ ģՁ źČՁ ČÕ ÕÕ(Õ)Õ²³@*B()»&³Ž@ L»³@ V¹³@D`»Ž&³Ž‚»»ŽźČÕ¶Ž% Last above top, present below bottom³@Dj·Ž&³Ž@*t'Ń źüžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž#ŁNNNNNNNNNNNNNNNNNNNNNN”””ūģÕ ģՁ źČՁ ČÕ ÕÕ*Õ+Õ²³@*~*+»&³Ž@ ˆ»³@ ’¹³@œ·³&³Ž@*¦'Ń źüģÕ ģՂ źČՂ ČÕ ÕÕ,Õ-Õ²³@*°,-»&³Ž@ŗ ģ»&³Ž@Ĺ³@Fλ޻&ƒ»»ŽźČÕ¶Ž& Last in the middle, present above top³Ž@FŲ·Ž»³Ž@*ā'Ń źüģÕ ŠWžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žvŠNNNNNNNNNNNNNNNNNNNNNN”””ūģՁ źČՁ ČÕ ÕÕ(Õ)Õ²³@*ģ()»&³Ž@ö ģ»&³Ž@¹³@J »Ž»&„»»ŽźČÕ¶Ž* Last in the middle, present in the middle³Ž@J¶Ž Do nothing³@H»Ž Do …»»ŽźČÕ¶Ž) Last in the middle, present below bottom³@H(·Ž D³Ž@*2'Ń t½’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žE»NNNNNNNNNNNNNNNNNNNNNN”””ūźüģÕ ģՂ źČՂ ČÕ ÕÕ(Õ)Õ²³@*<()»&³Ž@F ģ»&³Ž@P¹³@DZ»Ž»&†»»ŽźČÕ¶Ž% Last below bottom, present above top³@Dd·Ž»³Ž@*n'Ń źüģÕ ģՂ źČՂ ČÕ ÕÕ*Õ+Õ²³@*x*+»&³Ž@ ‚»³@ Œ¹³@–·³&³Ž@* 'Ń źüģÕ -ˆž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žU…NNNNNNNNNNNNNNNNNNNNNN”””ūģՁ źČՁ ČÕ ÕÕ,Õ-Õ²³@*Ŗ,-»&³Ž@“ ģ»&³Ž@¾¹³@HȻ޻&‡»»ŽźČÕ¶Ž) Last below bottom, present in the middle³@HŅ·Ž»³Ž@*Ü'Ń źüģÕ ģՂ źČՂ ČÕ ÕÕ(Õ)Õ²³@*ę()»&³Ž@ š»³@ ś¹³@H»Ž&³Žˆ»»ŽźČÕ¶Ž( L#U’ĄéNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž f“NNNNNNNNNNNNNNNNNNNNNN”””ūast below bottom, present below bottom³Ž@H·Ž& ģ»&³Ž@  »³@ "“Ž & ģ³Ž@ ,  °Ž ģ³Ž³Ž@ 6. Č萳Ž@ @ ȁ Č.Ą³Ž@ J‚ Ȃ Č.Ą³Ž@ T“Ž ‚ Č.Ą³Ž@ ^“Ž‚ Č.Ą³Ž@h“Ž‚ Č.Ą³ŽĄ r0ŃÕ1Õ²³Ž@|±³@T†Ć0’¦ĻśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 3ēNNNNNNNNNNNNNNNNNNNNNNš”””ū¶ŽI ************************************************************************³ĄĀ0$’’®Ü2z0¼Ę0’ō ’„ū’„’’’ū’ō ’’’ś±ī$’’’łˆ(’’’ų®$,’’’÷’ż0 ¼Ę4 ¼ĘAžOśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ÖNNNNNNNNNNNNNNNNNNNNNN”””ū8 ¼Ę@ ¼ĘH¼ĘP’’’ń¼ĘX¼ĘZ¼Ę\¼Ę^¼Ę`ebsectX1 Slo Intersect IntersectX1X2Y1Y2Y3Y4IxIyDivSlope1Slope2Y_int1Y_int2ACEFZ³Ž@T¶žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ™ANNNNNNNNNNNNNNNNNNNNNN”””ūš¶ŽH This subprogram figures the intersection of the lines between X1,Y1 to³Ž@&T¤¶Ž X2,Y2 and X1,Y3 to X2,Y4.³@&® źü퐳Ž@ø źü 쐳Ž@Ā źü 쐳Ž@Ģ  ģź³@Ö ģź³@ ą 됳Ž@ ź 됳Ž@ ō ³@ ž³@ źü퐳Ž@(½žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŖpNNNNNNNNNNNNNNNNNNNNNN”””ūźü쐳Ž@ ģģźü쐳Ž@&±³@T+¶ŽI ************************************************************************³Ą0Ā’’ś”`’’¬dŖlšŒL0 ’ō’„Óz’’’ūŒL&’’’ś,§žžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž’#NNNNNNNNNNNNNNNNNNNNNN”””ūŒL2ŒL8 ŒLB F ’ōJ’’’ō’„T ŒL^dŒLjvicePauseExpEnd_plotEnd_plotCrtCopyDevicePausePauseFNAskExpandedGduGdu X_gdu_max Y_gdu_maxSetguSetgu Load_paper Load_paperŌ žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĢNNNNNNNNNNNNNNNNNNNNNN”””ū³Ž@P:¶ŽE This is just a housekeeping routine that takes care of some sundries³@RPD¶ŽF at the end of a plot. "Crt" is a logical variable that tells whether³Ž@NRN¶ŽC the plot was done on the CRT or not. "Co+1žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žÜ,NNNNNNNNNNNNNNNNNNNNNN”””ūµ1ކźü‹ķ ķü쐳@µ1Ž’ €źü퐳Ž@ ›½Ÿµ Front edge: Ÿ¤³@$ &›µ!ށ½Ÿµ Back edge: Ÿ¤³Ž@8$0›µ!Ž=½ŸµOpaque: ŸµŽYesĄµŽNośĄū¤³@8:‚śüź°ŽµOp³Ž@ Dńü³Ž@  Nś³Ž@ Xµ1ކģ‹ķ³@ b  °Žģ‹ķ³³Ž@ lwOžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žļNNNNNNNNNNNNNNNNNNNNNN”””ū Č Č萳@ v‚ ȁ Ȑ³@ €“Ž  Ȑ³³Ž@ Š·  ³Ž@ ”·  ³Ž@  ž»³Ž@ ØøŽ³Ž³Ž@  ²»³Ž@ ¼¹³@  ĘøŽ³Ž¶Ž (not topside)³Ž@ Š·³Ž³Ž@  ŚŠ»³@ äøŽ»³³Ž@  Ž@ ų¹³@ ¹³@   ė°Ž (no³Ž@4 ›‚½£µµĢžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŗNNNNNNNNNNNNNNNNNNNNNNN”””ūWorking on line Ÿ źč柵Ž. ¤³@ 4  »³@ * ö·£µ萳@ 4Č萳Ž@ >Ȑ³Ž@ Hņü³Ž@ R‚Ȑ³Ž@ \óü³Ž@ f ‚ °Ž³Ž³Žč³Ž@  p ³@ z Č萳Ž@  „!³@ Ž"³@ ˜#³@ ¢ Ȑ³Ž@  ¬$³@ ¶‚ Ȑ³Ž@<†žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‰NNNNNNNNNNNNNNNNNNNNNN”””ū Ąņü³Ž@ Źóü³Ž@. Ō ńśųŽ·³Žč¶Ž+ Both endpoints visible³@$.Ž%€¶ (Equivalent to CASE 8)³@$ čøŽ¶³Ž@ņ%!" ȃģ Č萳@ ü¹³@ %» ȃģ³Ž@B»ŽČƒģ€»»Žnt t¶Ž" Last above top, present above top³Ž@Bśų޷쀻 ģ»&«ĢžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNķ€W‚Įƒ*…•†ˆm‰ŲŠCŒ­č‘Q“ŗ”#–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žpĄNNNNNNNNNNNNNNNNNNNNNN”””ūpy" is a variable that is³@LNX¶Ž@ returned to the calling routine that tells you whether you want³Ž@RLb¶ŽG another copy of the plot on the hard-copy plotter (Note that if Crt is³@NRl¶ŽC true, Copy is forced to be false). "Device" is the address o}žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žCńNNNNNNNNNNNNNNNNNNNNNN”””ūf the³@Nv¶Ž DUMP DEVICE.³@€· D³Ž@ Šсղ³Ž@  ”€³@6 žÓµ2Shall I 'DUMP GRAPHICS'?Õµ2ŽNOÕ²·Devi³Ž@*6 ØÓµ2Ž...'EXPANDED'?Õµ2ŽNOÕ²³Ž@* ²Ąٵ2#,Kœž¤³@ ¼½ µ2 Dump device?½¤³Ž@ Ę·µ2 ³Ž@ Š» ³Ž@ ŚøŽ ³Ž³Žó¹NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¢NNNNNNNNNNNNNNNNNNNNNNž”””ū@ ä»!³Ž@ ī¹³@  ų»³@ ¹³@ øŽ³³Ž³Ž@  »³@  €»³Ž@ * Ń Õ Õ²³Ž@  4Ō²³Ž@ > »³@ H·»³³Ž@@ RÓµ2Ž%Do you want another copy of the plot?Õµ2NOÕ²³Ž@@ \·Óµ2ŽѲ³Ž@ f¹³@p¹³@z±³ńŠžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž%“NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’b@ĀĀ’’Rd’’†²~L~mœ@"’’’ĢJ@ N0VXp ’’’ĢJ LNą@"’’’Ä(@ Ę 6@ Ę <@ ’’’¼F D@ ūV@ ū@ ’ū`@" ūn@ ū€’’’Äūt@ ūz@ ū|@ ’’’ļū‚@ ĀIžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¼NNNNNNNNNNNNNNNNNNNNNN”””ūūˆ@ B@ ūš@ Dš @ B¦@ ’’’éūŖ@ ’’’čB®@ ū²P ’’’’BĄ@ ūĪ@ ūŌ@ ūŲ@ ’’’āūā@ ūź@ ūš@ !ūö@ "ūž@ #ū@ ’’’Üū @ %ū@ &ū@ 'ū @ (ū$@ )ū.@ ’’’Öū8@ +ūDŹBžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž5NNNNNNNNNNNNNNNNNNNNNN”””ū@ ,ūNP ’’’’BXP ’’’’’ūb@ /Bh@ ’’’ŠūnP ’’’’’ūt@ ’ūz@ 3ū†@ 4BŠP ’’’’’ū–@ ’’’Źūš@ ’’’ÉB @ ’’’Čū¦@ ’’’ĒDš¬@ ’’’ĘB¶@";ū¼P ’’’’’ūÄP ’’’’’ūŹP ’’’’’ūŠP ’’’’’ūÖP ’’’’’ūąP ’’’’’ūę@ Būī@ Cūō@ DūüP ’’’’_ŻžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŚfNNNNNNNNNNNNNNNNNNNNNN”””ū’ūP ’’’’’ūP ’’’’’ūP ’’’’’ū @ Iū @ JB@ Kū@ ’’’“ū @ Mū.@ Nū8@ Oū<@ PūB@ QūR@ ’’’®ū\@ Sūb@ Tūd@ Uūp@ Vūt@ Wūx@ ’’’Øū„@ Yūˆ!@Œ˜’ū’ B –#@ ¢"’’’Ø"0š’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žéWNNNNNNNNNNNNNNNNNNNNNN”””ū’’żœ&®"’’üÄ2ø"’’ū¤>¾0’ūĀ0Œ’ūČ0 Ž’ūŅ0 "’ūŲF’ū܀’’ūœūä“’ūźoerce$ FNFide_existsLdestinatiof$FNAskExitQ$CkŪžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žłiNNNNNNNNNNNNNNNNNNNNNNš”””ūsize3’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŹXNNNNNNNNNNNNNNNNNNNNNN”””ūį"žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ÿ NNNNNNNNNNNNNNNNNNNNNNž”””ūSizeUdc Old_chars$CharsSigmaInfinityArrowBoxSigmaInfinityArrowBoxNew_udcLdirLabel@  ¶Ž³Ž@ ¼ ³Ž@, ¼’’’’[\@Ž£ZŽ€£] Ž€€€¤³@8,(¼^ €€£_ Ž€€£` Ž€ €£a1¦’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¬:NNNNNNNNNNNNNNNNNNNNNN”””ū Ž€ €¤³@82 ^Ķ£_Ķ£`Ķ£aͤ³ĄF <b¼8 7,5,-2, 7,4,-1, 1,4,-1, 5.5,8.5,-1³Ž@2F F¼& 1,13,-1, 7,13,-1, 7,12,-1³ŽĄB2 Pc¼4 4,9,-2, 5,10,-1, 6,10,-1, 7,9,-1³Ž@@B Z¼4 7,8,-1, 6,7,-1, ĒQžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 5­NNNNNNNNNNNNNNNNNNNNNN”””ū 5,7,-1, 4,8,-1³Ž@@@ d¼4 4,9,-1, 3,10,-1, 2,10,-1, 1,9,-1³Ž@@@ n¼4 1,8,-1, 2,7,-1, 3,7,-1, 4,8,-1³ŽĄB@ xd¼5 0,0,6, 4,4,-2, 7,8,-1, 4,12,-1³@@B ‚¼4 4,10,-1, 1,10,-1, ĒžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž œNNNNNNNNNNNNNNNNNNNNNN”””ū 1,6,-1, 4,6,-1³Ž@@ Œ¼ 0,0,7³ŽĄD –e¼6 0,0,6, 3,0,-2, 27,0,-1, 27,15,-1³Ž@@D  ¼4 0,15,-1, 0,0,-1, 3,0,-1, 3,3,-1³Ž@>@ Ŗ¼3 24,3,-1, 24,12,-1, 3,12,-1, 0,0,7³@F>“\µ2ސ¶5f)žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žSĻNNNNNNNNNNNNNNNNNNNNNN”””ū In case anything is left in COM from the last run...³@F¾dfŌµ1ŽØæÕ^ĶÕ²¶Ž( \³@BČdfŌµ1Ž©æÕ_ĶÕ²¶Ž(& > Replace unneeded characters with³Ž@8BŅdfŌµ1ŽŖæÕ`ĶÕ²¶Ž( / User-Defined Characters³@8ÜdfŌµ1Ž«æÕaĶÕ²¶Ž( /³Ž@ ę—»>³Ž@ š»ę)žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž`žNNNNNNNNNNNNNNNNNNNNNN”””ū@³@0 ś›µ2Ž!Demonstration of drawing symbols.¤³Ž@00›µ2Ž!---------------------------------¤³Ž@ 0›„³Ž@R ›µ2ŽCView symbols as you wish. Press the SPACEBAR to get back to BASIC.¤³Ž@ R"›„³Ž@4 ,›µ2Ž%Press Return or ENTER to run program.¤³Ž@4IžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚ă.…˜†ˆo‰ŁŠDŒ­€ź‘U“Į”.–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž NNNNNNNNNNNNNNNNNNNNNN”””ū’’’’h@ĀĀ’’’’ś˜’’”\śšfś\ ’’žž@$’’åP’ ’’žü*$  ’’žśł ’’žųŖ ’’žö$ ’’žōś2 ’’žņ*$> ’’žšłL ’’žīŖT@ *$\0Z’łh0BŖ$t@ ’’’ółznd Packet_sdart Packet_lengthJ`acket_end I.*žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 1¬NNNNNNNNNNNNNNNNNNNNNN”””ūn_proxA$TestPoint Packet_start Packet_length Packet_end In_proximityX_coordY_coord Service_reqLoop@d»@¶ Clear alpha.³@$n»"¶ Initializes graphics.³Ž@ $x»¶ Turn on graphics.³Ž@@GƒžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žd’NNNNNNNNNNNNNNNNNNNNNN”””ū ‚€µ!Ž8€µ!Ž+»¶' Scale to match Touchscreen resolution.³@ @Œ¶Ž³Ž@ –¼!£!£!£!£!¤³@ ¼!£!£ !¤³@Ŗ¼@¤³@ “¶Ž³Ž@D ¾›µ!޵! ½£µ"Ž*Touch the screen at 6 different locations.¤³@ Dȶ޳Ž@4 Ņ‚»(’ ½¶Ž& Assumes the T@ŒžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žWĪNNNNNNNNNNNNNNNNNNNNNNš”””ūouchscreen is the³@&4&ܶŽ& first device on the link.³Ž@ &ꁐ³@ š¶Ž³ŽĄ ś –³Ž@ ¶Ž³ŽĄ  ¶Ž³Ž@ń·z»@³@ "Ą³@ ,æ ń·šŗ³Ž@ 6‚³@ @» ³@ J’æ ³@ T聟³@ ^‚č’æ Ąń·>³Ž@ hƒč’æ ³‡cžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žGšNNNNNNNNNNNNNNNNNNNNNNš”””ū6»’½³Ž@ @½ ¤³Ž@ J»@³@ T»"³@6 ^Ąµ2ŽINTERNAL»#¶* Use the internal screen³Ž@ 6h»³@ r€Šµ?ąėŠ»³@ |»)³@ †Š‚ė°Ž’ą@³Ž@  »³Ž@ šdg€µ!ŽZµ!Z°’š.³Ž@  ¤‚»³Ž@ ®dg»³@ øŠźŠź»³@@ ĀdhŌµ2ŽōpžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žtĮNNNNNNNNNNNNNNNNNNNNNNš”””ū Chars: 'µ1ŽØæµ1©æµ1Ŗæµ1«æµ2 'ūūūūūÕ²³@@ Ģ“Žg’š “³Ž@Ö“Ž’ą Œ³Ž@ ą–³ŽĄ 껳@ ō»@³@ ž”»>³Ž@0 ›µ2Ž!You are back in the BASIC System.¤³Ž@ 0½³Ž@T ¶ŽH *******************************************************:žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!’NNNNNNNNNNNNNNNNNNNNNNš”””ū****************³Ž 8@Ø€Ų   Ą&Ān@8’’$ŹXT¾ ų F’ū0B ‚’’’ųū"€’’’šDšĢ’ū B !@,#@ 2€’’’Ųū8€’’’Šū<€sžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž£NNNNNNNNNNNNNNNNNNNNNNš”””ū’’’Čū@@ @ New_udcNew_udcChar$ArrayUdc Old_chars$SizeCharsPosRowColumn³Ž@R0¶ŽG This allows up to twenty new characters to be defined, each having up³@DR:¶Ž8 to thirty elements (rows in the ŲØžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž‹4NNNNNNNNNNNNNNNNNNNNNN”””ūarray) for definition.³Ž@ DD¼ ³Ž@, N¼’’’’@ޣހ£ Ž€€€¤³@,Xæ µ!Žń·T³Ž@0 b›µ2Ž"User-defined Character table full.¤³@0løŽų¶Ž (still room)³@ væ č³@  €’³@ ŠĒ΁Ą³Ž@ ” ǰŽ’ąą³Ž@ ž ƒ°Ž»žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žøNNNNNNNNNNNNNNNNNNNNNN”””ū’šγŽ@Ø É Ȑ³Ž@ ²“Ž ’šŖ³Ž@ ¼“Ž ’ą–³Ž@ƹ¶ (room left?)³@б³@TڶŽH ***********************************************************************³Ž 8@ĄäĀ’’ś^ \’’nrųtz(š¹pžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žķVNNNNNNNNNNNNNNNNNNNNNNš”””ūr “’ū0B ‚’’’ųū ®’ū B !@#@ ("’’üč.€’’üąū4’’üĢ&:€’’üÄū@€’’ü¼ūD€’’ü“ūH€’’ü¬ūP€’’ü¤BRDcize Old_chars$CharsArrayrCLabelLabelText$UdcSize Old_chars$CharsArrayCharC&÷žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŽgNNNNNNNNNNNNNNNNNNNNNN”””ūhar$PosRowColumnXY³Ž@Rī¶ŽF This prints a character string at the current pen position and using³Ž@TRų¶ŽH the current LORG, LDIR and CSIZE. The LORG will need to be redeclared³Ž@TT¶ŽH upon returning to th6˜žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žĪYNNNNNNNNNNNNNNNNNNNNNN”””ūe calling context, as this routine needs LORG 1 if³Ž@4T ¶Ž( the text is longer than one character.³Ž@ 4¼ ³Ž@,  ¼’’’’@ޣހ£ Ž€€€¤³@,*¼ €€¤³@4æ °Ž’Šr³Ž@D >‚ń·@»¶Ž#- Necessary when doing one characteVŗžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž żhNNNNNNNNNNNNNNNNNNNNNN”””ūr at a time³@D H ž³Ž@2 R  æ ¶Ž/! Is this to be replaced by a UDC?³@2 \ ·³Ž@" f»uĪ Ē»wƒ»w»x¶8 \³Ž@0" p  ǰŽ’ą‚¶Ž8 \ Take a slice out³Ž@,0z ƒ°Ž’š`¶Ž8 > of the 3D array³@,,„ Č ɐ¶Ž8 / and put it in HĮžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ø;NNNNNNNNNNNNNNNNNNNNNN”””ūthe³@(,Ž“Ž ’š ¶Ž8 / 2D array for³Ž@"( ˜“Ž ’ąą¶Ž8 / SYMBOL.³@" ¢ »A³Ž@ ¬»DĶ»@³Ž@  ¶ »³@L Ą» µ2Ž#,Kœžµ2Ž ¤¶Ž#- Tell the computer to update the pen position³@&L ŹøŽ`¶Ž (regular character)³Ž@& Ō» µ2Ž#,Kœž ¤³IńžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž › NNNNNNNNNNNNNNNNNNNNNN”””ū@, ޹¶! (this character been redefined?)³@,蓎’Šü³Ž@ņ±³ 8@荾§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€X‚Įƒ+…–†’‡j‰ŌŠ>ŒØzć‘L“µ”!–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŻNNNNNNNNNNNNNNNNNNNNNN”””ūt " GOSUB Sav_fontF490 IF Bit_mapt_alpha THEN ! Define these 2 op's only if possible.8500 ON KEY 6 LABEL "Install Font " GOSUB Ins_font8510 ON KEY 7 LABEL "Default Font " GOSUB Dfl_font 520 ELSE3530 ON KEY 6 LABEL " óNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ¼ģNNNNNNNNNNNNNNNNNNNNNN”””ū " GOTO Spin_3540 ON KEY 7 LABEL " " GOTO Spin_550 END IFN560 ON KEY 8 LABEL " " GOTO Spin ! Not defined (clear label).1570 ON KEY 9 LABEL " EXIT " GOTO Done 580 ELSE ! ITF keyboard.X59;ØNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž éæNNNNNNNNNNNNNNNNNNNNNN”””ū0 Minkey=1600 Maxkey=86610 ON KEY 1 LABEL " Get Font" GOSUB Get_fontM620 ON KEY 2 LABEL " " GOTO Spin! Not defined (clear label)..6630 ON KEY 3 LABEL " Edit Char" GOSUB Edit_chrM640 ON KEY 4 LABEL " ʉžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŚŽNNNNNNNNNNNNNNNNNNNNNN”””ū " GOTO Spin! Not defined (clear label)..6650 ON KEY 5 LABEL " Save Font" GOSUB Sav_fontF660 IF Bit_mapt_alpha THEN ! Define these 2 op's only if possible.8670 ON KEY 6 LABEL "Install Font" GOSUB Ins_font8680 ON KEY 7 LšCžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž CNNNNNNNNNNNNNNNNNNNNNNš”””ūABEL "Default Font" GOSUB Dfl_font 690 ELSE3700 ON KEY 6 LABEL " " GOTO Spin_3710 ON KEY 7 LABEL " " GOTO Spin_720 END IF)730 ON KEY 8 LABEL " EXIT" GOTO Done K740 USER 1 KEYS ! Make sure corāM’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž p(NNNNNNNNNNNNNNNNNNNNNN”””ūrect (ITF kbd.) softkey menu is active.) 750 END IF-760 KEY LABELS ON ! Display softkey labels. 770 !E/780 Spin:GOTO Spin ! Wait for softkey presses.b790 !nA800 Set_up_display: ! Set up separate graphics and alpha regions.i810 GRAPHICSžhžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž%{NNNNNNNNNNNNNNNNNNNNNN”””ū OFF:820 GINIT ! Initialize graphics system.E830 ALPHA HEIGHT ! Restore default number of alpha lines.c1840 STATUS CRT,13;Alpha_ht ! Read ALPHA HEIGHT.m0850 STATUS CRT,9;Alpha_wd ! Read alpha width.H860 ALPHA HEIG‰’žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žJNNNNNNNNNNNNNNNNNNNNNN”””ūHT 9 ! Use bottom 9 lines for alpha (scrolling).C870 VIEWPORT 0,100*RATIO,1100/Alpha_ht,100 ! Set graphics bounds.iD880 ! 1100/Alpha_ht ensures that alpha and graphics don't overlap.;890 SHOW 0,Chr_x+1,Chr_y+1,0 ! Scale the graphics boundsÄNžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žtNNNNNNNNNNNNNNNNNNNNNN”””ū@ r „č’æ ³@2 |‘µ2ŽPoint ŸŸµ2Ž: X = ŸŸµ2 Y = Ÿ ¤³Ž@2 †¹³@ ‚č’æ †Ąń·ܳŽ@ š’æ ³@ ¤µ1ŽŽń·Ō³Ž@ ®ń·ø³Ž@ ø »³@" ĀøŽ̶Ž Point=2 thru 6.³Ž@ "Ģ »³@ Ö¹³@ ą¹³@ ź¹³@  ōč³@ žæ ņ»mlžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž5ENNNNNNNNNNNNNNNNNNNNNN”””ū®³Ž@µ1Žń·$³Ž@  č³@ ¹³@&‡ó·6ŗ³Ž@0‘µ2Ž You're Done¤³Ž@ :¶Ž³Ž@ D½³Žčä’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž`NNNNNNNNNNNNNNNNNNNNNN”””ū100!RE-SAVE "font_ed" 110 OPTION BASE 0d*120 COM /Kbd_info/ INTEGER Minkey,MaxkeyB130 COM /Crt_info/ INTEGER Bit_mapt_alpha,Resolution,Frame_width(140 COM /Crt_info/ REAL First_chr_addr9150 COM /Chr_info/ INTEGER Chr_x,Chr_y,N_chrs,Begin_½&žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žS'NNNNNNNNNNNNNNNNNNNNNN”””ūchra(160 INTEGER Alpha_ht,Alpha_wd,Last_chr170 !N180 KEY LABELS OFF3190 Calc_disp_info ! Determine display type, etc.i200 IF Resolution=1 THEN r210 Chr_x=12220 Chr_y=15 230 ELSE240 Chr_x=85250 Chr_y=16 260 EN?÷žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žʰNNNNNNNNNNNNNNNNNNNNNN”””ūD IF@270 OUTPUT KBD;Chr_x;",";Chr_y;CHR$(255)&"H"; ! Show defaults. 280 REPEATO290 INPUT "What size character cell will you be editing? (X,Y)",Chr_x,Chr_y =300 UNTIL (Chr_x=8 AND Chr_y=16) OR (Chr_x=12 AND Chr_y=15)(E310 INTEGER Chrs(256,1`ĶžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žłNNNNNNNNNNNNNNNNNNNNNN”””ū5,11) ! Font storage (fits both char. sizes).h320 !N330 PLOTTER IS CRT,"INTERNAL" 340 GOSUB Set_up_display350 !O>360 STATUS KBD,9;Kbd_type ! Get keyboard type (# softkeys).;370 IF BIT(Kbd_type,1) OR BIT(Kbd_type,0) THEN Hp_98203=1stPžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž¬ŅNNNNNNNNNNNNNNNNNNNNNN”””ū380 !F3390 ! Now set up "interrupt" softkey definitions._400 IF Hp_98203 THEN e410 Minkey=0420 Maxkey=96430 ON KEY 0 LABEL " Get Font " GOSUB Get_fontN440 ON KEY 1 LABEL " " GOTO Spin ! Not defined (clear lab'\žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žŸćNNNNNNNNNNNNNNNNNNNNNNš”””ūel).N450 ON KEY 2 LABEL " " GOTO Spin ! Not defined (clear label).6460 ON KEY 3 LABEL " Edit Char " GOSUB Edit_chrN470 ON KEY 4 LABEL " " GOTO Spin ! Not defined (clear label).6480 ON KEY 5 LABEL " Save FonŽģ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚Ćƒ/…›†ˆv‰ćŠOŒŗ"Šó‘^“É”2–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žż€NNNNNNNNNNNNNNNNNNNNNN”””ūEGER Changed_chrs(Begin_chr:End_chr,0:CHRY-1,0:CHRX-1)'1230 FOR Chr_code=Begin_chr TO End_chri+1240 DISP "Reading character: ";Chr_codeh1250 FOR Cell_row=1 TO CHRY 1260 FOR Cell_col=1 TO CHRX]1270 Changed_chrs(Chr_code,Cell_row-1,C²ŅžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žαNNNNNNNNNNNNNNNNNNNNNNš”””ūell_col-1)=Chrs(Chr_code,Cell_row-1,Cell_col-1) 1280 NEXT Cell_cols1290 NEXT Cell_rowo1300 NEXT Chr_codeo'1310 SET CHR Begin_chr,Changed_chrs(*)r1320 New_font=1 ! Set flag. 1330 DEALLOCATE Changed_chrs(*) 1340 DISP "New font installšŒNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž›āNNNNNNNNNNNNNNNNNNNNNN”””ūed." 1350 WAIT 3 1360 DISP 3 1370 RETURN e1380 !E>1390 Dfl_font:! Restore font in place at beginning of program.1400 IF NOT New_font THEN t91410 DISP "Default font restoration is not necessary."g1420 WAIT 3 1430 DISP 31440 REPVžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žØÓNNNNNNNNNNNNNNNNNNNNNN”””ūTURN e 1450 END IFM1460 OUTPUT KBD;"N";CHR$(255)&"<"; ! Puts "N" on input line; homes cursor.oh1470 INPUT "Restoring default (power-up) font overwrites current font. Is this acceptable? (Y/N)",Ans$#1480 IF UPC$(Ans$[1,1])<>"Y" THEN e01490 DIG3žżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žøķNNNNNNNNNNNNNNNNNNNNNN”””ūSP "Default font restoration aborted."1500 WAIT 2 1510 DISP 21520 RETURN e 1530 ELSE1540 CONTROL CRT,21;1$1550 New_font=0 ! Clear the flag..1560 KEY LABELS OFF ! Re-writes key labels.1570 KEY LABELS ONF&1580 DISP "Poweŗ ž6ÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‹ÜNNNNNNNNNNNNNNNNNNNNNNš”””ūr-up font restored."1590 WAIT 3 1600 DISP 3 1610 END IF 1620 RETURN 31630 !E1640 Done:ALPHA HEIGHT f 1650 GINITL 1660 GCLEAR1670 GRAPHICS OFF 1680 ENDP1690 !N#1700 SUB Get_font(INTEGER Chrs(*))d;1710 COM /Chr_info/ INTEGbGž¦ĻśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ŽNNNNNNNNNNNNNNNNNNNNNN”””ūER Chr_x,Chr_y,N_chrs,Begin_chru.1720 INTEGER Bits,Bit_pos,Cell_row,Cell_col1730 DIM File$[80]BS1740 LINPUT "Please specify the file that contains the font to be edited.",File$c 1750 ON ERROR GOTO File_error-1760 ASSIGN @Font_file TO FŲbžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ķ¾NNNNNNNNNNNNNNNNNNNNNN”””ūile$;FORMAT OFFc51770 ENTER @Font_file;Chr_x,Chr_y,N_chrs,Begin_chr 1780 Bit_pos=1541790 FOR Chr_code=Begin_chr TO Begin_chr+N_chrs-1,1800 DISP "Reading character:";Chr_code!1810 FOR Cell_row=1 TO Chr_y:#1820 FOR Cell_col=1ŅšžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž t)NNNNNNNNNNNNNNNNNNNNNN”””ū TO Chr_x;I1830 IF Bit_pos=15 THEN ENTER @Font_file;Bits ! Read 16 bits.eG1840 Chrs(Chr_code,Cell_row-1,Cell_col-1)=-1*BIT(Bits,Bit_pos)s1850 SELECT Bit_pos1860 CASE >0B!1870 Bit_pos=Bit_pos-1r18808¾žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž GNNNNNNNNNNNNNNNNNNNNNNž”””ū CASE 01890 Bit_pos=151900 END SELECT1910 NEXT Cell_col51920 NEXT Cell_rowo1930 NEXT Chr_codeo*1940 DISP "Finished reading font file."1950 WAIT 2 1960 DISP 21970 SUBEXITiI1980 File_er±žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žKNNNNNNNNNNNNNNNNNNNNNNž”””ūror:DISP "Error ";ERRN;" occurred while trying to read file."e1990 WAIT 2 2000 DISP 2 2010 SUBEND2020 !U#2030 SUB Edit_chr(INTEGER Chrs(*))",2040 COM /Kbd_info/ INTEGER Minkey,MaxkeyD2050 COM /Crt_info/ INTEGER Bit_mapt_alpha,Resolu“öžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!zNNNNNNNNNNNNNNNNNNNNNN”””ūtion,Frame_width*2060 COM /Crt_info/ REAL First_chr_addr;2070 COM /Chr_info/ INTEGER Chr_x,Chr_y,N_chrs,Begin_chra/2080 INTEGER Chr_code,X,Y,Begin_chr_,N_chrs_r2090 DIM K$[256]_2100 OFF KEY C2110 FOR Softkey=Minkey TO Maxkey ! Clet&žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž1DNNNNNNNNNNNNNNNNNNNNNN”””ū. 900 GRAPHICS ONx 910 RETURN S920 !E930 Get_font:Get_font(Chrs(*)) 940 RETURN G950 !E960 Edit_chr:Edit_chr(Chrs(*)) 970 RETURN E980 !E990 Sav_font:Sav_font(Chrs(*)) 1000 RETURN S1010 !E91020 Ins_font:! Store current fo™­žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žuNNNNNNNNNNNNNNNNNNNNNN”””ūnt, then install new one.s)1030 IF Chr_x<>CHRX OR Chr_y<>CHRY THEN i=1040 DISP "Character size incompatible with this display."v1050 WAIT 2 1060 DISP 21070 RETURN h 1080 END IFM1090 OUTPUT KBD;"N";CHR$(255)&"<"; ! Puts "N" on inpuģq’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””žW&NNNNNNNNNNNNNNNNNNNNNN”””ūt line; homes cursor..Y1100 INPUT "Installing a font overwrites existing font. Is this acceptable? (Y/N)",Ans$ #1110 IF UPC$(Ans$[1,1])<>"Y" THEN w)1120 DISP "Font installation aborted." 1130 WAIT 3 1140 DISP 31150 RETURN o 1160 EN†žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ždNNNNNNNNNNNNNNNNNNNNNN”””ūD IF1170 Range_ok=0 1180 REPEATC1190 OUTPUT KBD;" 0, 256";CHR$(255);"H";! Output default range.cP1200 INPUT "Enter the range of characters to be installed.",Begin_chr,End_chr.1210 UNTIL (Begin_chrs>=0) AND (End_chr<=256)H1220 ALLOCATE INT_žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNLNNNNNNNNNNNNNNī€Z‚Ęƒ1…† ˆv‰ćŠOŒŗ$õ‘]“Ę”/–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž žsNNNNNNNNNNNNNNNNNNNNNN”””ūar unused softkey labels.h02120 ON KEY Softkey LABEL "" GOSUB Key_proc2130 NEXT Softkey2140 IF Maxkey=8 THEN L62150 ON KEY 3 LABEL " Accept Shape",2 GOTO Done:2160 ON KEY 6 LABEL " Toggle Pixel",2 GOSUB Tog_pix2170 ELSEę·’éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ĶBNNNNNNNNNNNNNNNNNNNNNN”””ū ! Maxkey=9L52180 ON KEY 3 LABEL " Accept Shape ",2 GOTO Doneg92190 ON KEY 6 LABEL " Toggle Pixel ",2 GOSUB Tog_pixx2200 END IF>2210 INPUT "Enter code of character to be edited.",Chr_code"2220 Disp_chr(Chr_code,Chrs(*))2230 ONėÖž}NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ˜NNNNNNNNNNNNNNNNNNNNNN”””ū KBD,2 GOSUB Key_proc* 2240 X=0K 2250 Y=0K 2260 LOOP2270 SET ECHO X+1,Y+12280 END LOOP2290 Key_proc:K$=KBD$12300 WHILE LEN(K$)>1Y2310 SELECT K$[1,2]2320 CASE CHR$(255)&"<"2330 X=MAX(0,X-1)2340 CAč)žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž « NNNNNNNNNNNNNNNNNNNNNN”””ūSE CHR$(255)&">"2350 X=MIN(Chr_x-1,X+1)2360 CASE CHR$(255)&"^"2370 Y=MAX(0,Y-1)2380 CASE CHR$(255)&"V"2390 Y=MIN(Chr_y-1,Y+1)2400 CASE CHR$(255)&"H"2410 X=0C2420 CASE CHR$(255)&"G"2430 q’éNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 2·NNNNNNNNNNNNNNNNNNNNNN”””ū X=Chr_x-152440 CASE CHR$(255)&"W"2450 Y=0C2460 CASE CHR$(255)&"T"2470 Y=Chr_y-152480 END SELECT 2490 K$=K$[2+(NUM(K$)=255)]2500 END WHILE+2510 RETURN L 2520 !E*2530 Tog_pix:IF`C' P†Pä¾ĘŽČŹX²X°S8üÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž †NNNNNNNNNNNNNNNNNNNNNN”””ū=0 THEN %2532 Chrs(Chr_code,Y,X)=-1T2533 ELSEh$2535 Chrs(Chr_code,Y,X)=02536 END IFs2540 MOVE X+1,Y+1&2550 AREA PEN Chrs(Chr_code,Y,X)<>02560 POLYGON .4,9,FILL,EDGE2570 RETURN 2580 !EY25–,žgżNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž TÕNNNNNNNNNNNNNNNNNNNNNNš”””ū90 Done:IF Bit_mapt_alpha AND Chr_x=CHRX AND Chr_y=CHRY THEN ! Show char.; ask if 'OK'.ll2600 ALLOCATE INTEGER Old_chr(Chr_code:Chr_code,CHRY-1,CHRX-1),New_chr(Chr_code:Chr_code,CHRY-1,CHRX-1)02610 Begin_chr_=Begin_chr ! Store values.2620 §żžÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž gäNNNNNNNNNNNNNNNNNNNNNN”””ū N_chrs_=N_chrs2630 Begin_chr=Chr_code2640 N_chrs=1>2650 Read_chrs(Old_chr(*)) ! Read the current character. 2660 FOR Cell_row=1 TO CHRY=2670 FOR Cell_col=1 TO CHRX ! Store current character..Z2680 New_chr(ChŠ/žÓNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž wŚNNNNNNNNNNNNNNNNNNNNNN”””ūr_code,Cell_row-1,Cell_col-1)=Chrs(Chr_code,Cell_row-1,Cell_col-1)2690 NEXT Cell_col_2700 NEXT Cell_rowoP2710 PRINT TABXY(1,3);"Here is the new character: "; ! Beginning of prompt.>2720 OUTPUT KBD;"Y";CHR$(255)&"<"; ! Defa!l’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž DėNNNNNNNNNNNNNNNNNNNNNN”””ūult "Yes".H2730 SET CHR Chr_code,New_chr(*) ! "Install" the character.O2740 DISPLAY FUNCTIONS ON ! Make sure character is visible..2750 PRINT CHR$(Chr_code); 2760 DISPLAY FUNCTIONS OFF I2770 SET CHR Ch+µžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž øNNNNNNNNNNNNNNNNNNNNNN”””ūr_code,Old_chr(*) ! Restore former character.s>2780 PRINT " Is it acceptable? (Y/N)" ! End of prompt.*2790 DEALLOCATE Old_chr(*),New_chr(*):2800 Begin_chr=Begin_chr_ ! Re-store former values.2810 N_chrs=N_chrs_2820 ŌóžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž "‰NNNNNNNNNNNNNNNNNNNNNN”””ū INPUT Ans$(2830 PRINT TABXY(1,3);RPT$(" ",30)02840 IF UPC$(Ans$[1,1])<>"Y" THEN GOTO 2260=2850 END IF ! Bit_mapt_alpha AND Chr_X=CHRX AND Chr_y=CHRY.2860 GCLEAR,2870 SET ECHO -100,-100 ! Turns off echo. 2880 SUBEND 2890 ˜›žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž »NNNNNNNNNNNNNNNNNNNNNN”””ū!E#2900 SUB Sav_font(INTEGER Chrs(*))o;2910 COM /Chr_info/ INTEGER Chr_x,Chr_y,N_chrs,Begin_chrR2920 INTEGER End_chrI(2930 ! Just the reverse of "Get_font"2940 DIM File$[80]v2950 REPEATK2960 OUTPUT KBD;" 0, 256";CHR$(255)&"HŹøžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ˆ/NNNNNNNNNNNNNNNNNNNNNN”””ū";! Show defaults; home cursor.bS2970 INPUT "Enter the range of character codes to be saved.",Begin_chr,End_chr_/2980 UNTIL (Begin_chr>=0) AND (End_chr<=256)o"2990 N_chrs=End_chr-Begin_chr+1A3000 LINPUT "Please specify file to contain chaįpžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ż|NNNNNNNNNNNNNNNNNNNNNN”””ūracters.",File$, 3010 ON ERROR GOTO File_errorS3020 CREATE BDAT File$,1.0*N_chrs*Chr_y*Chr_x/16/256+1 ! # sectors (rounded up)._-3030 ASSIGN @Font_file TO File$;FORMAT OFFr3040 OFF ERROR O3050 OUTPUT @Font_file;Chr_x,Chr_y,N_chrs,BeginP*’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž īMNNNNNNNNNNNNNNNNNNNNNN”””ū_chr ! Header with font info.u 3060 !U43070 INTEGER Bits,Bit_pos,Cell_row,Cell_col,Pixel3080 Bits=03090 Bit_pos=15)3100 FOR Chr_code=Begin_chr TO End_chrl+3110 DISP "Saving character:";Chr_codec!3120 FOR Cell_row=1 TO Chr_¹„’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚ă/…† ˆu‰ßŠIŒ³‡š‘Y“Ā”,–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  Œ.NNNNNNNNNNNNNNNNNNNNNNš”””ūame_width=1024 ! Pixels (same size for all bit-mapped displays).L4020 N_alpha_cols=VAL(Crt_id$[3,5])! Read alpha width, then calc. height.4030 SELECT N_alpha_colst:4040 CASE 80 ! Medium-resolution display (1024 x 400).4050 Frame_height;žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  æNNNNNNNNNNNNNNNNNNNNNN”””ū=4004060 Resolution=1:4070 CASE 128 ! High-resolution display (1024 x 768).4080 Frame_height=7684090 Resolution=24120 END SELECT 4130 !NB4140 First_chr_addr=Frame_buf_addr+1.0*Frame_height*Frame_width 4150 !i 41üwžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž źLNNNNNNNNNNNNNNNNNNNNNN”””ū60 SUBEND’’Õ²³Ž@ ĘŌÕÕ²³Ž@  Š–³Ž@ ڹ³@ ä¹³@ī±³I³@  »@³@  *½³Žpp€€€€@)¤æ ņ·dæ ³@  )®–³Ž@ )ø¹³@)±¶ Text_out³Ž€0’’’˜’’’ø³Ž@ p±³Eļ’ų!ŹūpBxū–B­.ąžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Ł}NNNNNNNNNNNNNNNNNNNNNNš”””ū TŁž¦ĻśNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ÉCNNNNNNNNNNNNNNNNNNNNNNš”””ūy"#3130 FOR Cell_col=1 TO Chr_xCM3140 Pixel=BIT(Chrs(Chr_code,Cell_row-1,Cell_col-1),0) ! Monochrome.o3150 SELECT Bit_pos3160 CASE >0B#3170 IF Bit_pos=15 THEN dN3180 Bits=-Pixel*32768 ’`ž§NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž śrNNNNNNNNNNNNNNNNNNNNNN”””ū ! =2^15 (in 2's complement form).3190 ELSE?3200 Bits=Bits+Pixel*2^Bit_pos ! Accumulate bits.m3210 END IF!3220 Bit_pos=Bit_pos-1*3230 CASE 03240 Bits=Bits+Pixel-<3250 ¬NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž Æ!NNNNNNNNNNNNNNNNNNNNNN”””ū OUTPUT @Font_file;Bits ! 16-bit INTEGER.3260 Bits=03270 Bit_pos=153280 END SELECT3290 NEXT Cell_col53300 NEXT Cell_rowo3310 NEXT Chr_codeoE3320 IF Bit_pos<>15 THEN OUTPUT @Font_file;Bits !­žNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž œNNNNNNNNNNNNNNNNNNNNNN”””ū Flush last bits.n*3330 DISP "Finished saving characters."3340 WAIT 2 3350 DISP 23360 SUBEXITiJ3370 File_error:DISP "File error ";ERRN;" has occurred. Please try again." 3380 BEEP o3390 WAIT 23400 GOTO 3000I 3410 SUBEND"ˆžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž ‡NNNNNNNNNNNNNNNNNNNNNN”””ū3420 !U,3430 SUB Disp_chr(INTEGER Chr_code,Chrs(*));3440 COM /Chr_info/ INTEGER Chr_x,Chr_y,N_chrs,Begin_chra3450 INTEGER X,Yf3460 GCLEAR$3470 MOVE 1,1 ! Move echo cursor.3480 FOR X=0 TO Chr_x-13490 FOR Y=0 TO Chr_y-13500!RNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž 6¶NNNNNNNNNNNNNNNNNNNNNN”””ū MOVE X+1,Y+1*3510 AREA PEN Chrs(Chr_code,Y,X)<>0#3520 POLYGON .4,12,FILL,EDGEY3530 NEXT Y3540 NEXT X 3550 SUBEND3560 !U(3570 SUB Read_chrs(INTEGER Old_font(*));3580 COM /Chr_info/ INTEGER Chr_x,Chr_y,N_chrs,BeŽyžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž cåNNNNNNNNNNNNNNNNNNNNNN”””ūgin_chraD3590 COM /Crt_info/ INTEGER Bit_mapt_alpha,Resolution,Frame_width*3600 COM /Crt_info/ REAL First_chr_addr 3610 !OP3620 IF NOT Resolution THEN CALL Calc_disp_info ! Determine font addr's, etc. 3630 !FH3640 Chrs_per_line=INT(šžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž PŌNNNNNNNNNNNNNNNNNNNNNN”””ūFrame_width/CHRX) ! Last bits may not be used. 3650 !h43660 FOR Chr_code=Begin_chr TO Begin_chr+N_chrs-1,3670 DISP "Reading character:";Chr_code43680 X_offset=CHRX*(Chr_code MOD Chrs_per_line)43690 Y_offset=CHRY*(Chr_code DIV Chrs±ĄžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž @źNNNNNNNNNNNNNNNNNNNNNN”””ū_per_line)D3700 This_chr_addr=First_chr_addr+X_offset+Y_offset*Frame_widthE3710 FOR Cell_row=1 TO CHRY ! Read pixels, then display in grid.e"3720 FOR Cell_col=1 TO CHRXL3730 Pixel_addr=This_chr_addr+(Cell_row-1)*Frame_width+(CuīžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  sŪNNNNNNNNNNNNNNNNNNNNNN”””ūell_col-1)D3740 Pixel=READIO(9826,Pixel_addr) ! Read a byte of memory.<3750 Old_font(Chr_code,Cell_row-1,Cell_col-1)=Pixel3760 NEXT Cell_colr3770 NEXT Cell_rowo3780 NEXT Chr_codeo 3790 !E3800 SUBEXITr 3810ŗŸ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  &ˆNNNNNNNNNNNNNNNNNNNNNN”””ū !U 3820 SUBEND3830 !U3840 SUB Calc_disp_infoD3850 COM /Crt_info/ INTEGER Bit_mapt_alpha,Resolution,Frame_width*3860 COM /Crt_info/ REAL First_chr_addr3870 REAL Frame_buf_addr )3880 INTEGER N_alpha_cols,Frame_heightr 3890 !NēĻžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž  ¹NNNNNNNNNNNNNNNNNNNNNNš”””ū!3900 Crt_id$=SYSTEM$("CRT ID")e3910 Bit_mapt_alpha=0!3920 IF Crt_id$[9,9]="B" THEN eU3921 IF VAL(Crt_id$[10,12])<>255 THEN Bit_mapt_alpha=1 ! Exclude 98700 displays.o3923 END IF(3950 Frame_buf_addr=DVAL("200000",16)J4010 FrÜžNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNķ€X‚Ćƒ.…™†ˆo‰ŚŠEŒ°†ń‘\“Ē”2–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!nNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž! 2_NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž! g NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž! T=NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž! ĶŖNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž! ž›NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!«ČNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!˜łNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!ˆĒNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!»öNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!ī„NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!Ż”NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!DNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!w2NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!"aNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!PNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNī€Y‚ă/…š†ˆp‰ŪŠFŒ±‡ņ‘]“Č”3–NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!s3NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!@NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!QNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!&`NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž!6^NNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž! oNNNNNNNNNNNNNNNNNNNNNN”””ū TŁ’NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN”””ž! P