' +JJJJ ?\>m0M='+l> /+l   d]@ŵLҦ]]LF L}BBL] X  ` 鷎귭෍ᷩ췩緈JJJJx Lȿ L8ᷭ緍췩 緍i 8 `巬 췌`x (`(8`I`B` @@>J>J>VU)?`8'x0|&HhHh VY)'&Y)xꪽ)' `Hh`V0^*^*>&` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8  '  & x)*++`FG8`0($ p,&"ųųೳŪŪųųij  !"#$%&'()*+,-./0123456789:;<=>?   1 '" *"( (9"1 ( ,.(0# 2  /#0/#0 *?'#07#00/0/'#07#0:"4<*55/**5/*%5/)1/)1/)1/)'#0/#0*5/*75/**5/*:5//#0/#0'#07#0:::*::'#07#0"):$(%"%:$(%"%$$2%4%$$2%4%$(2()!)E(!8b $!H(+ "@H !D)"E` @ $ C ` DQ &J80^݌Hh ü ü݌ ռ ռ ռA ļD ļ? ļAEDE?HJ>h Լ ռ ռ ռ`HJ>݌h Hh݌`葠葠ȔЖȔЖȠHIHHHHhHH݌hHhHh݌H6 VDP (ED Z $0x8x D- ܸDD# H8`?E Vk *f???0xE Hh D#-EEE8` D ܸx D - ܸx8`-0ݩ?ʥD EEE`   LDcpq` [` ~  LӜu`".Q`pNФbptťܥm2<(-Py0\|e<6e<g< JJJJj귍hI  aUL@ kU8  L  Q^R(jQ0l^l\  wUuW ԧ H h@ [_ /QSIRb_L`LLLL`ª`LQLYLeLXLeLee ўQH\(h0L& Ꝥ$`( R \ZLl8 ўR HH\`\Z[YS6`LxQɿu3'RͲʎRʎ]]]ɍuL͟ɍ}RLRɍg^H8 ^hZLɍR LͲɊRR% QLܤͲ Z@ -^ ş\[Z QY\[Z8`l6Lş_Ȍb_Ͳ] )Y h( ֭ͲLɍ [LLĦ__ ^ 9 LҦ3 9 a   0LjLY u< (_9 ˭ɠuɠK_9 ?LˆʎõĵL õ ĵµ aµ`` L̦µ_bJLuLz`  ȟ QlXJ̥KlV  ȟ QlV eօ3L e3L &RL &QL d L4 Ne)n `@-eff L f`L . tQLѤ LҦL` OPu d L Ne)noon 8ɍ` ^f\õL ^NR  RΩLҦ)\Z ʽ LHv 3h`0h8` [L NС õ`A@` ŵL^Lõ`  \ 濭0 \  ȟ Q ^\lZl^?cqH şch`fhjõĵ@OAP`u@`@&`QR`E Ls  @DAE@u`8` %@ @A@`@`@A`Mµ ) LЦ`8@AWc@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@ch8&ȑ@Hȑ@Ah@LHȑ@ȑ@ htphso`hMhL`9V8U897T6S67`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!pppp p p p p`" t""#x"p0p@p@@@p@!y q q p@  LANGUAGE NOT AVAILABLRANGE ERROWRITE PROTECTEEND OF DATFILE NOT FOUNVOLUME MISMATCI/O ERRODISK FULFILE LOCKESYNTAX ERRONO BUFFERS AVAILABLFILE TYPE MISMATCPROGRAM TOO LARGNOT DIRECT COMMANč$3>L[dmx-(q 0Ϡ@跻~!Wo*9~~~~ɬƬ~_ j ʪHɪH`Lc (L ܫ㵮赎 ɱ^_ J QL_Ls贩紎 DǴҵԵƴѵӵµȴ 7 ַ :ŵƴѵǴҵȴµ納贍﵎ٵ്ᵭⳍڵL^ѵ-I `  4 ò-յ!  8صٵ紭ﵝ 7L (0+BC  7L HH`LgL{0 HH` õL H hBL BH [ h`Lo õ ڬL B ڬ LʬH hB@ յյ [L (ȴ) ȴ 7L L ( L (ȴL{ƴѵ洩ƴǴҵ 7 ^* B0 HȱBh ӵԵ 8 L8 ݲ` ܫ  / / ED B / / ]ƴS0Jȴ ȴ)  紅D贅E B ƴ  / 0L Ν `HD٤DEEhiHLGh ` ŵBѵ-` ѵB-` ܫ XI볩쳢8 DH E𳈈췍Ȍ X0 · JLǵBȵC`,յp` 䯩 R-յյ`յ0` K R-յյ`ɵʵӵԵ` 4 K ( ѵҵLBȱBL8` DBHBH : ַ޵BȭߵBhhӵԵ RBܵmڵ޵ȱBݵm۵ߵ` 䯩LR˵̵ֵ׵`êĪLR E( 8` R` ELRŪƪ`췌 յյI뷭鷭귭ⵍ㵍跬ª 뷰` Lf ݵܵߵ޵ ^`8ܵ i B8` 4L ֵȱB׵ ܯ䵍൭嵍 ` DȑB׵Bֵ  ַ յյ`굎뵎쵬 뵎쵌``õĵBCõĵ`µµ`L õBĵCصص Qƴ0"Bƴ 󮜳` 0۰ϬBƴ8`i#`ЗLw!0>ﵭ` m ﳐ 7i볍 8 ЉLw`H h ݲL~ `浍국䵍뵩嵠Jm赍嵊mjnnn浈ۭm浍浭m䵍䵩m嵍`"L ŵ8ŵH ~(` d ֠z# u@MITTED":^" 3) DURATION - TOTAL NUMBER OF POINTS":" TRANSMITTED BEFORE HALTING":"HIT TO CONTINUE ";N$ Nz #??     ̮àŠ ԠР ĠϠîҠϮϠ ϰŮҠŮΠϰҠ ::"FD;LKJAS;" "D"ĺ:D$"RUN OSC.DRIVER"" 108A HANDY SUBROUTINE"2 <:". WAVEFORM GENERATOR"Q F:". DIGITAL OSCILLATOR"Y Z: d"ENTER THE FIRST LETTER OF YOUR CHOICE:" nA$ xA$"S"ĺ:D$"RUN AO03.STARTER" A$"P"ĺ:D$"RUN PUTAO.DEMO" A$"W"ĺ:D$"RUN WAVE.DRIVER" A$#D$(4): CTRL-D :G1:9:"INTERACTIVE STRUCTURES INC."h4::14:"*** AO03 ***":(7:"DEMONSTRATION DISKETTE - AUGUST 1, 1982"-" COPY, LIST, AND USE CONTENTS AS NEEDED"/:". SIMPLE BASIC PROGRAM" 2:". PUTAO03 -   38287I,74 I 87,234:2108 C$"C"İ1000:38287,234:38288,234:210A 120I 19g "HIT TO INTERRUPT"w S$:S$:S$ 38272 21 "RERUN WITH NEW FREQUENCY? (Y/N) ";N$ (N$" ",1)"Y"120 ,(4)"RUN HELLO"   I03 ANNEL 0."::. F"ENTER SLOT NUMBER - ";SLOTB K38321,SLOT192P n38277,64 x9:"APPROXIMATE FREQUENCY:"::" A) 625, B) 870, OR C) 1250": "ENTER LETTER OF YOUR CHOICE - ";C$ C$(C$" ",1) C$"A"İ1000:210 C$"B"İ1000:382  38272.S$" ":S$S$S$S$S$7:2[(4)"BLOAD DIGITAL.OSC,A$9580""THIS IS A SIMPLE BASIC ROUTINE THAT"("DRIVES THE DIGITAL OSCILLATOR ASSEMBLY"2"LANGUAGE ROUTINE FOR THE AO03. ALL" <"TRANSMISSION IS DONE ON CH   S A ONE-SHOT"8#"DELAY WHICH ALSO IN MILLISECONDS.":># E",#"RETRANSMITTED USING A REPEAT CODE."W#:"THERE ARE TWO FEATURES FOR BETTER"#"CONTROL OF YOUR OUTPUTS. ONE IS A"#"SPEED COMMAND WHICH ALLOWS YOU TO ENTER"#"THE NUMBER OF MILLISECONDS BETWEEN EACH" #"TRANSMISSION. THE OTHER ION":4Z#"PUTAO03 IS AN ASSEMBLY LANGUAGE ROUTINE"\d#"WHICH TRANSMITS A SERIES OF AO03"n#"OUTPUTS EACH TIME IT IS CALLED."x#:"THE LIST OF OUTPUTS IS PUT IN A BASIC"#"ARRAY, PUTAO03 IS CALLED, AND THE"#"VOLTAGES ARE SENT. THEY CAN B20:V%" MILLISECS"E,C%128ĺ"ONE-SHOT DELAY";:20:V%" MILLISECS"L6N\h8,1:36864dm:r"HIT ANY KEY TO CONTINUE ";:A$:5000:". CREATE,":". RUN,":". STORE, OR":". LOAD":200(#2#<#P#:10:"PUTAO03 DEMONSTRATINATE EARLY"%:"REPEAT CODE ";R%G:R1(R%256):R2R%(R1256)Y29,R2:30,R1_"CHANNEL/COMMAND";:20:"VALUE":N1(A%(1,0))C%A%(0,N):V%A%(1,N)C%128ĺ"CHANNEL "C%;:20:V%.039" VOLTS""C%128ĺ"DELAY SET";: "FILENAME ";F$ "OPEN"F$. "READ"F$C A%(0,0),A%(1,0)j I1(A%(1,0)):A%(0,I),A%(1,I):x "CLOSE" 5000  RUN A%(1,0)05000 ::"NUMBER OF TIMES TO REPEAT ARRAY":"0 CAUSES CONTINUOUS OUTPUT":"PRESS 'ESC' TO TERMIA%(1,0)I ^1030A :"ONE-SHOT DELAY (IN MILLISECS) ";DLY$Q DLY(DLY$)~ II1:A%(0,I)129:A%(1,I)DLY:A%(1,0)I 1030 "FILENAME ";F$ "OPEN"F$ "WRITE"F$ I0(A%(1,0)):A%(0,I)","A%(1,I): "CLOSE" 5000 070% :"CHANNEL? (0 - 7) ";CHAN$7 CHAN(CHAN$)^ :"OUTPUT VALUE (0-9.961 V) ";VLT II1:A%(0,I)CHAN:A%(1,I)(VLT10)256.5:A%(1,0)I 1030 @:"OUTPUT DELAY (IN MILLISECS) ";DLY$ JDLY(DLY$) TII1:A%(0,I)128:A%(1,I)DLY:,0)SL:A%(1,0)0. " .OUTPUT TO A CHANNEL"P " .CHANGE THE OUTPUT DELAY"q " .SPECIAL DELAY (1-SHOT)" " .END OF LIST" $:"ENTER YOUR CHOICE: (O,C,S,E)" .A$ 8A$"O"1500 BA$"C"1600 LA$"S"1700 VA$"E"5000 `1D PUTAO03,A$9000"I :"ENTER YOUR CHOICE: (C,R,S,L) OR":"Q TO QUIT";Q A$W h A$"C"1000y A$"R"4000 A$"S"2000 A$"L"3000 A$"Q"ĺ(4)"RUN HELLO" 210  CREATE : :"SLOT NUMBER - ";SL: I0:A%(0@  36863A%(1,20)(16368,02(9000X:"HIT TO CONTINUE ";N$a:4:"WITH THIS DEMO PROGRAM YOU CAN":". CREATE,":". RUN,":". STORE, OR":". LOAD":"A LIST OF UP TO 20 OUTPUTS OR DELAYS" (4)"BLOA     =А06H!HHhhh)ȱ оɛШФ`gkl$ȱ ȱee "eHȱehn`m``) IiIi  ȱee 0]ȱZ) 0LȱIiIikȱIiIi  E FOLLOWING:":M" 1) NUMBER OF AO03 ANALOG OUTPUT":" CHANNELS":" 2) NUMBER OF POINTS REPRESENTING":" EACH CYCLE OF THE WAVEFORM": " 4) REPEAT FACTOR - NUMBER OF TIMES":" EACH POINT IS CONSECUTIVELY":" RETRANS3(NTEMP2),HIPG$L37648NTEMP,RP*V0X_b"THIS PROGRAM OUTPUTS VARIOUS TYPES OF":l"WAVES USING THE AO03. YOU MAY CHOOSE":v"FROM LEVEL OUTPUT, A SQUARE WAVE, A":"TRIANGULAR WAVE, AND A SINE WAVE. YOU":"ALSO CHOOSE THVEFORM"'"MIN IS 1, MAX IS 255 ";LG:::LG1LG1MLG255LG255"ENTER REPEAT FACTOR - NUMBER OF TIMES":"CONSECUTIVELY RETRANSMIT EACH POINT"$"MIN IS 1, MAX IS 255 ";RP.RP1RP18RP255RP255B37632(NTEMP2),0:3763HI0)VHI0 (VHI10)VHI10G"ENTER MIN VOLTAGE (0-10 V) ";VLO^::(VLO0)VLO0s(VLO10)VLO10(VLOVHI)6000VHIVHI.0390625:VLOVLO.0390625:VHI255VHI255TYPE(NTEMP)1RP1:6210"ENTER NUMBER OF POINTS PER WA HIPGNTEMP136:ADDRHIPG256"NOTE - IF YOU ARE USING THE BIPOLAR":" OPTION, JUST ADD 5V TO YOUR":" DESIRED VOLTAGE.":TYPE(NTEMP)1Ą"ENTER VOLTAGE (0-10 V) ";VLO:VHI11:6080"ENTER MAX VOLTAGE (0-10 V) ";VHI ::(V  6000"LG2LG2N"*** NOW CREATING DATA TABLE":ADDR,LGl(VHIVLO)255SC1:4030SC(VHIVLO)255I1LGP128(1((ILG)3.14159262))P(PSC)VLO:P255P255ADDRI,PIpz:3NOW CREATING DATA TABLE"5 ((LG2)2)LGLGLG1D LG2LG2Q ADDR,LGo (VHIVLO)255SC1:3080 SC(VHIVLO)255 M0 I(1)(LG2)(LG2)1& MM10 P((255I(LG2))SC)VLO:P255P255: ADDRM,PD IN DR1,VLO %60004LG1LG2Q((LG2)2)LGLGLG1^ADDR,LGsVHI255VHI255VLO255VLO255I1LG2ADDRI,VHII I(LG2)1LGADDRI,VLO I*   6000 "*** 536:36902,B3-?B2(B3(B3))256:36901,B2MDB1(B2(B2))256:36900,B1VN500X23:S$:23:"RERUN WITH NEW PARAMETERS? (Y/N) ";N$b(N$" ",1)"Y"ė:100:(4)"RUN HELLO"6000ADDR,1 VLO255VLO255ADO RUN WAVEFORM";A$:228 "*** PROGRAM IS RUNNING "` " PRESS TO HALT "k 36864 22:23)" " 23:S$:23:"RERUN WITH SAME PARAMETERS? (Y/N) ";N$ (N$" ",1)"Y"600 536905,255:C0Ĺ36905,0 :B3C65NE" ^I h23# NTEMPN500_ "ENTER WAVE TYPE FOR CHANNEL ";NTEMP;:" ";TYPE(NTEMP)~ TYPE(NTEMP)(TYPE(NTEMP)) (TYPE(NTEMP)1)(TYPE(NTEMP)4)400 TYPE(NTEMP)1000,2000,3000,4000 NTEMPN200 23:S$:23:"PRESS T "1 - LEVEL OUTPUT":1 "2 - SQUARE WAVE":N "3 - TRIANGULAR WAVE":i "4 - SINE WAVE":::v I0N1 "CHANNEL "I" "; "TYPE(I)0ĺ ,TYPE(I)1ĺ"LEVEL" 6TYPE(I)2ĺ"SQUARE" @TYPE(I)3ĺ"TRIANGLE" JTYPE(I)4ĺ"SIMUM VALUE IS 16777215 ";C) (C0)120D C16777215C16777215a 36905,255:C0Ĺ36905,0z B3C65536:36902,B3 B2(B3(B3))256:36901,B2 B1(B2(B2))256:36900,B1 NTEMP1 I07 TYPE(I)0 I :2:NTEMPNTEMP1903,SL7 d4:"ENTER NUMBER OF CHANNELS TO BE USED ";NL n(N1)(N8)100Y s36904,N x7:"ENTER DURATION - TOTAL NUMBER OF POINTS"::"TO BE TRANSMITTED": "A 0 WILL CAUSE CONTINUOUS OUTPUT"::"HIT 'ESC' TO TERMINATE THE OUTPUT": "MAXI  348167000J16368,0::S$" ":S$S$S$S$(S$,9)l(4);"BLOAD WAVE.GEN,A$9000"(6,0:7,147:8,16:9,1472I0142<37632I,0:37632I1,128(I2)FIP2:"ENTER SLOT NUMBER ";SLU(SL1)(SL7)80 Z36      L*L&HhHhHhHh(L`7'**Z7m*7詐i7詹7H*7ȱ7h 詍7蘝7') 7(Ў*`7ɛ|)3$ $HhHhHhL%$%L&M$%& 7# NTINUE OR":"'Q' TO QUIT ";A$F @((A$" ",1))"Q"ė:(4)"RUNHELLO"O J150T.0390625)(5RNG))1000).5)1000G DOUT255DOUT255:VGOTS9.961o (RNG)(DOUT255)DOUT255:VGOTS5 "VWANTVGOTSĺ" VOLTAGE MUST BE ROUNDED TO "VGOTS ,:" VALUE SENT TO THE AO03 IS "DOUT::AO03CH,DOUT 6::"HIT TO CO -5 TO +5 VOLTS":C "ENTER RANGE NUMBER FOR THIS CHANNEL ";RNGi RNG(RNG)1:(RNG0)(RNG1)220q : "ENTER OUTPUT VOLTAGE - ";VWANT (VWANT5RNG)(VWANT10(RNG5))250 # DOUT(((VWANT(RNG5)).0390625).5):VGOTS((((DOURETURN> TO CONTINUE ";A$2 AO0349152(SLOT256); :2] "ENTER CHANNEL NUMBER - ";CH} CH(CH):(CH0)(CH7)160 ::"THE RANGE IS DETERMINED BY THE HARDWARE": "THE TWO POSSIBLE RANGES ARE:": " 1) 0 TO 10 VOLTS" " 2)F"OF .039 VOLTS, YOU MAY NOT BE ABLE TO"V P"OUTPUT THE EXACT VOLTAGE YOU DESIRE." Z"ALL OUTPUTS PERFORMED BY THIS PROGRAM" d"WILL BE AS CLOSE TO YOUR CHOSEN VALUE" n"AS POSSIBLE. THE ROUNDED VALUE WILL " x"BE DISPLAYED." :"HIT TO CONTINUE OR":"'Q' TO QUIT ";A$ @((A$" ",1))"Q"ė -5 TO +5 VOLTS":C "ENTER RANGE NUMBER FOR THIS CHANNEL ";RNGi RNG(RNG)1:(RNG0)(RNG1)220q : "ENTER OUTPUT VOLTAGE - ";VWANT (VWANT5RNG)(VWANT10(RNG5))250 # DOUT(((VWANT(RNG5)).0390625).5):VGOTS((((DOURETURN> TO CONTINUE ";A$2 AO0349152(SLOT256); :2] "ENTER CHANNEL NUMBER - ";CH} CH(CH):(CH0)(CH7)160 ::"THE RANGE IS DETERMINED BY THE HARDWARE": "THE TWO POSSIBLE RANGES ARE:": " 1) 0 TO 10 VOLTS" " 2)F"OF .039 VOLTS, YOU MAY NOT BE ABLE TO"V P"OUTPUT THE EXACT VOLTAGE YOU DESIRE." Z"ALL OUTPUTS PERFORMED BY THIS PROGRAM" d"WILL BE AS CLOSE TO YOUR CHOSEN VALUE" n"AS POSSIBLE. THE ROUNDED VALUE WILL " x"BE DISPLAYED." :"HIT <  :34"THE AO03 IS AN 8-BIT ANALOG OUTPUT"c"SYSTEM. IT HAS A MAXIMUM OF 8 CHANNELS"("AND MAY RESIDE IN ANY SLOT BUT 0. ":2:"ENTER SLOT NUMBER - ";SLOT::7(SLOT1)(SLOT7)10<"SINCE THE AO03 HAS A FINITE STEP SIZE"*      NE-SHOT"3#"DELAY WHICH ALSO IN MILLISECONDS.":9# #"RETRANSMITTED USING A REPEAT CODE."R#:"THERE ARE TWO FEATURES FOR BETTER"|#"CONTROL OF YOUR OUTPUTS. ONE IS A"#"SPEED COMMAND WHICH ALLOWS YOU TO ENTER"#"THE NUMBER OF MILLISECONDS BETWEEN EACH"#"TRANSMISSION. THE OTHER IS A O/Z#"PUTAO03 IS AN ASSEMBLY LANGUAGE ROUTINE"Wd#"WHICH TRANSMITS A SERIES OF AO03"~n#"OUTPUTS EACH TIME IT IS CALLED."x#:"THE LIST OF OUTPUTS IS PUT IN A BASIC"#"ARRAY, PUTAO03 IS CALLED, AND THE"#"VOLTAGES ARE SENT. THEY CAN BE"'20:V%" MILLISECS"E,C%128ĺ"ONE-SHOT DELAY";:20:V%" MILLISECS"L6NWh8,1:_m:r"HIT ANY KEY TO CONTINUE ";:A$:5000:". CREATE,":". RUN,":". STORE, OR":". LOAD":200(#2#<#P#:10:"PUTAO03 DEMONSTRATION":NATE EARLY"%:"REPEAT CODE ";R%G:R1(R%256):R2R%(R1256)Y29,R2:30,R1_"CHANNEL/COMMAND";:20:"VALUE":N1(A%(1,0))C%A%(0,N):V%A%(1,N)C%128ĺ"CHANNEL "C%;:20:V%.039" VOLTS""C%128ĺ"DELAY SET";: "FILENAME ";F$ "OPEN"F$. "READ"F$C A%(0,0),A%(1,0)j I1(A%(1,0)):A%(0,I),A%(1,I):x "CLOSE" 5000  RUN A%(1,0)05000 ::"NUMBER OF TIMES TO REPEAT ARRAY":"0 CAUSES CONTINUOUS OUTPUT":"PRESS 'ESC' TO TERMIA%(1,0)I ^1030A :"ONE-SHOT DELAY (IN MILLISECS) ";DLY$Q DLY(DLY$)~ II1:A%(0,I)129:A%(1,I)DLY:A%(1,0)I 1030 "FILENAME ";F$ "OPEN"F$ "WRITE"F$ I0(A%(1,0)):A%(0,I)","A%(1,I): "CLOSE" 5000 070% :"CHANNEL? (0 - 7) ";CHAN$7 CHAN(CHAN$)^ :"OUTPUT VALUE (0-9.961 V) ";VLT II1:A%(0,I)CHAN:A%(1,I)(VLT10)256.5:A%(1,0)I 1030 @:"OUTPUT DELAY (IN MILLISECS) ";DLY$ JDLY(DLY$) TII1:A%(0,I)128:A%(1,I)DLY:,0)SL:A%(1,0)0. " .OUTPUT TO A CHANNEL"P " .CHANGE THE OUTPUT DELAY"q " .SPECIAL DELAY (1-SHOT)" " .END OF LIST" $:"ENTER YOUR CHOICE: (O,C,S,E)" .A$ 8A$"O"1500 BA$"C"1600 LA$"S"1700 VA$"E"5000 `1D PUTAO03,A$9000"I :"ENTER YOUR CHOICE: (C,R,S,L) OR":"Q TO QUIT";Q A$W h A$"C"1000y A$"R"4000 A$"S"2000 A$"L"3000 A$"Q"ĺ(4)"RUN HELLO" 210  CREATE : :"SLOT NUMBER - ";SL: I0:A%(0;  36863A%(1,20)(16368,02(9000X:"HIT TO CONTINUE ";N$a:4:"WITH THIS DEMO PROGRAM YOU CAN":". CREATE,":". RUN,":". STORE, OR":". LOAD":"A LIST OF UP TO 20 OUTPUTS OR DELAYS" (4)"BLOA