' +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- ( r Ϡ@跻~!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`N PRESSED, SO GO TO THE SELECTED SECTION21100; xBLANK LINES ARE DONE BY PRESSING THE DOWN-ARROW KEY *** EXAMPLES *** TITLE$"Applesoft Tutorial"SUBTITLE$"Examples"MENU$(1)"COLORLOOP"MENU$(2)"HUE" MMENU$(4)"End the program"tMENU$(5)"END":MENU PROGRAM KEEPS DISPLAYING ITEMS UNTIL IT FINDS THE WORD "end"OAKEY0:HELP NOT AVAILABLE; OPEN-APPLE KEY WILL NOT BE READFROM$""500AN$""8(AN2000,3000,4000,6000:RETUR`SUBTITLE$"Main Menu":TITLE OF MENU OR SUBSECTION OF PROGRAM|jMENU$(1)"Example Programs from The Applesoft Tutorial"tMENU$(2)"Tutorial Appendix E: More Programs To Play With"~MENU$(3)"Postage Rates -- From The Applesoft Reference Manual"Z3AN$"program. This option will leave you in BASIC after typing CATALOG for you.":400c4400m8:24AAN$"Press RETURN to go to the Main Menu.":400:300B ** MAIN MENU **L** MAIN MENU LOOP **VTITLE$"The Applesoft Sampler Disk"@)AN$"The following "(34)"main menu"(34)" lets you select one of several "(34)"sub-menus"(34)" with the names of the programs on this diskette.":400.AN$"You can choose to pick a program from a sub-menu, or you may elect to end the":400N LINE 9!AN$"Featuring":400AN$"the collection of programs to be studied in conjuction with the Applesoft Tutorial, with a special appearance by ":400$AN$"Postage Rates, the example program from the Applesoft Reference Manual.":400::ANT IT, CHANGE THE LINE TO: 1025 PRINT CHR$(21) e(6)99(7)991100: SEE NOTES FOLLOWING 9060p ::3120((33)40):AN$"*** THE APPLESOFT SAMPLER DISK ***":400:63(COL801):START ON LINE 6 UNLESS COL80=1, IN WHICH CASE, START O:*** MAIN PROGRAM ***nI0:AN$"":J0:I$"":K0:DECLARE MOST OFTEN USED VARIABLES FIRST FOR SPEED.63000:FIND OUT IF AIIE OR NOTME$(20)0RESULTS64COL801:(4);"PR#3":IF AN 80-COLUMN CARD IS PRESENT, USE IT. IF YOU DON'T WJĭ(AN$)K0:I1(AN$):J((AN$,I)):KK(J48):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735fJJLLĺ" --> ";JJ;" IS TOO LARGE <--";:868::AN$"":735kJJ1ĺ" --> 0 IS TOO SMALL <--";:868:AN$"":735pANII::!CJJ(AN$):JJ0JJLLIIJJ3H(AN$)0735xMOOĭAIIE((AN$,1)"?"(AN$,1)"/")ĭII0IILLOAKEY1:880R(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735q\J795' L(36):20:1:868:M1:L13"";AN$;19K OAKEY825j%OOOA$"?"OA$"/"735/JJ(AN$):JJ0JJLLIIJJ:8804JJ0ĺ"--> PLEASE SELECT A NUMBER FIRST <--";:868::AN$"":7359SAKEY735>ESCKEYĭ(FROM$)880cted item: press RETURN":400:/FL3:AN$""5K17:17:868:17iAIIE(FROM$)İ100:795I0:J0:M(37):L(36)II1:I0K1K:I5:J1J::JĞ" ";:36,L:M1P(16384):P128755P155Ĺ16368,0:ESCKEY1: LETTER NUMBER ";N;" IN THE ALPHABET.", A LETTER NUMBER ";P;" IN THE ALPHABET.". :Y ""TYPE A LETTER, AND I WILL TELL YOU " ,"WHERE IT IS IN THE ALPHABET. ";X$ @N1(A$) J(A$,N,1)X$ī380 TN ^ h"THAT IS NOT A LETTER OF THE ALPHABET.": r290 |& X$;" IS. THE ALPHABET PROGRAM BA$"ABCDEFGHIJKLMNOPQRSTUVWXYZ"Hx"TYPE A NUMBER, FROM 1 THROUGH ";(A$);",""AND I WILL TELL YOU WHICH LETTER HAS THAT POSITION IN THE ALPHABET. ";PP(A$)P1ī210& (A$,P,1);" IS  $)ĭP0ĺ(AN$)410>P0ĭ(I$,(I$),1)" "ĺ" ";DN n*** THE MENU PROGRAM *** SUPPLY PROGRAM TITLE IN TITLE$, MENU TITLE IN SUBTITLE$, CALLING MENU TITLE (WHERE USER CAME FROM) IN FROM$, OA=1 IF HELP IS AVAILABLE b(AN$,I,1)" "425 I1IJ0I0ĺ:410vI$(AN$,I1):(AN$)IAN$(AN$,(AN$)I):ISOLATE 1 LINE IN I$AIIEĺI$;AIIEK(I$)1:I1(I$):J((I$,KI)):(J32(J96J123));:IP(36):COL80ĭP(1147)P(1403) (ANRRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ONYPĭI1ĭ(AN$)32AN$(AN$,I1)P2I(33)AIIEĺAN$;" ";:AN$""::EXPRESS CHECK-OUTI1ĭ(AN$,1)" "AN$(AN$,I1)PI(33)I$AN$:AN$"":440J(33)P2:IJII1:IĭSES AIIE SET BY COMPUTER IDENTIFIER ROUTINE\USUALLY LEAVES 1 EXTRA BLANK AT END OF LINEPERFORMS WORD-WRAP AND WILL CONVERT LOWER- TO UPPER-CASE IF USED INSIDE AN APPLE II OR II+I(AN$):Iı2P(36):COL80ĭP(1147)P(1403):FIND CU6368,0: 0*** SCREEN FORMATTER *** QSTRING TO BE PRINTED IN AN$IF 80 COLUMN BOARD IS TURNED ON, MAKE SURE COL80 = 1. IF BOARD IS NOT TO BE USED, MAKE SURE COL80 = 0.USES I,J,I$ROUGH EQUIVALENT OF PRINT AN$;" ";+ U(37)^L0Ĺ36,L1@cP(16384):P141330:NOT A RETURNJh" ";m(37)23Ģ23:PEEK(37) CONTAINS CURRENT VTAB POSITION -1. IF ON BOTTOM LINE (VERY COMMON WITH WAIT-FOR-RETURN-KEYS) MOVE UP ONE TO PREVENT SCREEN FROM SCROLLINGrw11USES I,J,K,L,P"6AIIE325;;AN$:(AN$)13315C@:SEI0:J0:K0yJII1:I0K1K:I5:(3263K);OI5355TL(36):COL80ĭL(1147)L(1403):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ONYL0Ĺ36,(33):I$:I$;" "::* RETURN KEY?P149294:* FORWARD ARROW KEYO(I$)149sAN$AN$(I$,1):JJ1:(I$,1);(I$)1I$"""(I$)I$(I$,(I$)1)$149&P155ESCKEY1:::ESCAPE KEY PRESSED(149* ,** GET RETURN ** 255240:DELETE KEY:Jĺ" ";:36,L:M1:(136);:JJ1JJ0AN$""^JAN$(AN$,J)g149P136265:* BACK ARROW KEYJĺ" ";:36,L:M1:(136);:I$(AN$,1)I$:JJ1J0AN$""JAN$(AN$,J)149 P141AN$AN$Y1 (16286)127SAKEY14 16368,0:K0:I0s OAKEYOA$(P128):AN$AN$I$:I$;" "::* OPEN-APPLE KEY SAKEYSA$(P128):AN$AN$I$:I$;" "::* SOLID-APPLE KEY P159P255ĭJ(I$)FLĭNAN$AN$(P128):JJ1:(P);:149PL80ĭL(1147)L(1403):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ONd "_";I$;" "; N1:L(33)1(37)(35)1N0 36,L:M1 II1:I0K1K:I5:(3263K); 36,L:M1 P(16384):P128170 (16287)127OAKEFOR ESCAPE KEY),OA (FOR OPEN-APPLE KEY),SA (FOR SOLID-APPLE KEY),UP,DO (DOWN),FL,I$,OA$,SA$,AN$s * TAKE INPUT * I5:J0:K0:L0:M0:I$"":ESC0:OA0:OA$"":SA0:SA$"":FL0FL245 AIIEĄ"";AN$: AN$;:J(AN$) M(37)S L(36):CO LETTER NUMBER ";N;" IN THE ALPHABET.", A LETTER NUMBER ";P;" IN THE ALPHABET.". :Y ""TYPE A LETTER, AND I WILL TELL YOU " ,"WHERE IT IS IN THE ALPHABET. ";X$ @N1(A$) J(A$,N,1)X$ī380 TN ^ h"THAT IS NOT A LETTER OF THE ALPHABET.": r290 |& X$;" IS. THE ALPHABET PROGRAM BA$"ABCDEFGHIJKLMNOPQRSTUVWXYZ"Hx"TYPE A NUMBER, FROM 1 THROUGH ";(A$);",""AND I WILL TELL YOU WHICH LETTER HAS THAT POSITION IN THE ALPHABET. ";PP(A$)P1ī210& (A$,P,1);" IS  1ST LINEJJIKK1(MENU$(II))KK1AN$MENU$(II):400::720wAN$(MENU$(II),KK1):400::MM2(LL9)AN$(MENU$(II),(MENU$(II))KK1):400:NNĺII(37)16ĺ"TOO MANY MENU ITEMS OR TOO LONG LINES.":17:1:AN$T$(T) \T(T)T$T$".00"=f((T$,2))46T$T$"0"Cp0 SEE CHAPTER EIGHT OF THE APPLESOFT REFERENCE MANUAL FOR A COMPLETELY DOCUMENTED VERSION OF THIS PROGRAM $RIORITY MAIL - "<X/"TRY ONE OF THE AIR EXPRESS COMPANIES"Hb/EFLAG1Nv/T]k^ UTILITY ROUTINESq_w`a KEYSTALLbj24t~"PRESS THE RETURN KEY TO CONTINUE...";A$HJ MONEY FORMATTERKR*+EFLAG14+.1. PRIORITY MAIL VERIFY7.J.W1$"P"12090Z.W1212080`./(7);(7);"TOO LIGHT FOR PRIORITY MAIL - "/"TRY FIRST CLASS"/EFLAG1&/121500/WW16:/W7012150D/N/(7);(7);"TOO HEAVY FOR P16t'WX10140~'b'(7);(7);"TOO HEAVY FOR MY TABLES - PLEASE CALL THE POST OFFICE"n'EFLAG1t'z** FIRST CLASS VERIFY*+W1$"O"W12.0111060 ++(7);(7);"TOO HEAVY FOR FIRST CLASS" +"TRY PRIORITY MAIL" T2.95 W13T21.42* W14T21.906 TT1T2< B']' EXPRESS MAIL VERIFYc'' 9.35,9.35,9.55,9.90,10.30,10.65,11.00,11.40,11.75,0 $'X0.'XX18'R(X)B'R(X)010070L'10030V'XX1`'W1$"P"10100j'WW W4.5W5T3.97+ W5W6T4.44@& W6W7T4.92U0 W7W8T5.39j: W8W9T5.87D W9W10T6.35N 3240X Y PRIORITY RATES OVER 10 LBSZ b T1(W51)2.383.97l W1W(W5)5v W11T2.47 W12  W(W.99)" W103160( G PRIORITY RATES TO 10 LBSM ^ W1T2.24u W1W1.5T2.30 W1.5W2T2.54 W2W2.5T2.78 W2.5W3T3.01 W3W3.5T3.25 W3.5W4T3.49 W4W4.5T3.730000: KEYSTALL  100$ >  SUBROUTINES FOLLOWD J i  EXPRESS MAIL CALCULATIONo ~ W(W.99) TR(W)    FIRST CLASS CALCULATION  T.20(W.991).17  PRIORITY MAIL CALCULATION  C10000,11000,12000. EFLAG910D 60000: KEYSTALLP EFLAG0V _ 100e   FIND APPROPRIATE CODE  C1000,2000,3000 61000: FORMATTER    DISPLAY RESULTS  "POSTAGE NEEDED: $ ";T$ 6 P OR 11 O.) AFTER ENTERING THE WEIGHT, PRESSTHE RETURN KEY. ";L 868W "";W$g W1$(W$,1)s &W(W$) + WAS ENTERED WEIGHT VALID? 0W0(W1$"O"W1$"P")710 :(7);(7) D500   CHECK CONSISTENCY Q TC$"4"ė:. ^(C$)0(C$)4380> h(7);(7);G r330O |C$[ C(C$)a z  GET WEIGHT OF ITEM  16B "PLEASE ENTER THE WEIGHT OF THE PACKAGE: FOLLOWED BY AN O IF IN OUNCES, OR BY A P IF IN POUNDS. (FOR EXAMPLE, 2.7 21(TITLE$)2" TITLE$) 6: "1. EXPRESSO "2. FIRST CLASSb "3. PRIORITY h "4. END THE PROGRAM , 1 GET CLASS OF MAIL 3 614 @"PRESS THE NUMBER OF YOUR CHOICE: "; JC$ O P CHECK FOR VALIDITYK0 24:"ONE MOMENT, PLEASE.... "J(4);"RUN DISK MENU"1 2, 192, 48, 34, 160, 42, 190, 162, 3, 185, 0, 0, 150, 0, 153, 162, 3, 136, 208, 242, 76, 1, 0, 8, 160, 42, 185, 162, 3, 153(J^ 0, 0, 136, 208, 247, 104, 176, 8, 169, 128, 141, 207, 3, 76, 73, 3, 169, 64, 141, 207, 3, 76, 73, 3, 169, 32, 141, 207, 3, 76,SETS RESULT DEPENDENT ON AVAILABLE HARDWARE]@RESULTS OF 0 MEANS NOT A //E; 32 MEANS A//E BUT NO 80 COLUMNS; 64 MEANS A//E WITH 80 COLUMNS BUT NO AUX MEM; 128 MEANS A//E WITH AUX MEMr^J 8, 120, 173, 129, 192, 173, 129, 192, 173, 179, 251, 201, 6, )\+I.\+D$;"CLOSE";NAME$:CLOSE THE FILE9\+11240\+::8:"THERE IS NO CURRENT LIST."::"PRESS RETURN TO CONTINUE";IN$\+\+***GET A LIST FROM THE DISK\*** AIIE OR NOT? ***\" USES I,J,K,RE -- SETS AIIE TO 1 IF IT IS AN AIIE-]6NT LINE AS A DOS COMMAND[[R+D$;"OPEN";NAME$:OPEN DISK FILE AND PUT VARIABLES AND LIST INr[\+D$;"DELETE";NAME$[f+D$;"OPEN";NAME$[p+D$;"WRITE";NAME$[z+LNGTH[+C1[+H1:H2[+N1:N2[+T1$:T2$[+I1LNGTH\+ITEM$(I,1):ITEM$(I,2I1:I0K1K:I5:J1J::JĞ4" ";:36,L:M1OP(16384):P128393:ABOVE PRINTS A BLINKING CURSOR THE HARD WAYP155Ĺ16368,0:ESCKEY1::ESC PRESSED FIRST"";AN$:AN$I$AN$: *** SCREEN FORMATTER ***STRING TO BN w" ";|(37)23Ģ23:PEEK(37) CONTAINS CURRENT VTAB POSITION -1. IF ON BOTTOM LINE (VERY COMMON WITH WAIT-FOR-RETURN-KEYS) MOVE UP ONE TO PREVENT SCREEN FROM SCROLLING16368,0:** AII OR AII+ INPUT **I0:J0:I$AN$I:TI0:J0:K0:YII1:I0K1K:I5:(3263K);H^I5370cL(36):COL80ĭL(1147)L(1403):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ONhL0Ĺ36,(33):(37)mL0Ĺ36,L1rP(16384):P141345:NOT A RETUR:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735fJJLLĺ" --> ";JJ;" IS TOO LARGE <--";:868::AN$"":735kJJ1ĺ" --> 0 IS TOO SMALL <--";:868:AN$"":735pANII::::MOOĭAIIE((AN$,1)"?"(AN$,1)"/")ĭII0IILLOAKEY1:880R(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735<\JJĭ(AN$)K0:I1(AN$):J((AN$,I)):KK(J48):I19 OAKEY8255%OOOA$"?"OA$"/"735[/JJ(AN$):JJ0JJLLIIJJ:8804JJ0ĺ"--> PLEASE SELECT A NUMBER FIRST <--";:868::AN$"":7359SAKEY735>ESCKEYĭ(FROM$)880CJJ(AN$):JJ0JJLLIIJJH(AN$)0735CT$(T) \T(T)T$T$".00"=f((T$,2))46T$T$"0"Cp0 SEE CHAPTER EIGHT OF THE APPLESOFT REFERENCE MANUAL FOR A COMPLETELY DOCUMENTED VERSION OF THIS PROGRAM $3RIORITY MAIL - "<X/"TRY ONE OF THE AIR EXPRESS COMPANIES"Hb/EFLAG1Nv/T]k^ UTILITY ROUTINESq_w`a KEYSTALLbj24t~"PRESS THE RETURN KEY TO CONTINUE...";A$HJ MONEY FORMATTERKR*+EFLAG14+.1. PRIORITY MAIL VERIFY7.J.W1$"P"12090Z.W1212080`./(7);(7);"TOO LIGHT FOR PRIORITY MAIL - "/"TRY FIRST CLASS"/EFLAG1&/121500/WW16:/W7012150D/N/(7);(7);"TOO HEAVY FOR P16t'WX10140~'b'(7);(7);"TOO HEAVY FOR MY TABLES - PLEASE CALL THE POST OFFICE"n'EFLAG1t'z** FIRST CLASS VERIFY*+W1$"O"W12.0111060 ++(7);(7);"TOO HEAVY FOR FIRST CLASS" +"TRY PRIORITY MAIL" T2.95 W13T21.42* W14T21.906 TT1T2< B']' EXPRESS MAIL VERIFYc'' 9.35,9.35,9.55,9.90,10.30,10.65,11.00,11.40,11.75,0 $'X0.'XX18'R(X)B'R(X)010070L'10030V'XX1`'W1$"P"10100j'WW:1890:4006>. AN$"A HERD of cattle"AN$"Very good!":400<>8 c> AN$"Sample routine number 2":400i>>AN$"Sample routine number 3":400>>AN$"Sample routine number 4":400>o>pAN$"Sample routine number 5":400>W>XEND?]: W4.5W5T3.97+ W5W6T4.44@& W6W7T4.92U0 W7W8T5.39j: W8W9T5.87D W9W10T6.35N 3240X Y PRIORITY RATES OVER 10 LBSZ b T1(W51)2.383.97l W1W(W5)5v W11T2.47 W12  W(W.99)" W103160( G PRIORITY RATES TO 10 LBSM ^ W1T2.24u W1W1.5T2.30 W1.5W2T2.54 W2W2.5T2.78 W2.5W3T3.01 W3W3.5T3.25 W3.5W4T3.49 W4W4.5T3.730000: KEYSTALL  100$ >  SUBROUTINES FOLLOWD J i  EXPRESS MAIL CALCULATIONo ~ W(W.99) TR(W)    FIRST CLASS CALCULATION  T.20(W.991).17  PRIORITY MAIL CALCULATION  C10000,11000,12000. EFLAG910D 60000: KEYSTALLP EFLAG0V _ 100e   FIND APPROPRIATE CODE  C1000,2000,3000 61000: FORMATTER    DISPLAY RESULTS  "POSTAGE NEEDED: $ ";T$ 6 P OR 11 O.) AFTER ENTERING THE WEIGHT, PRESSTHE RETURN KEY. ";L 868W "";W$g W1$(W$,1)s &W(W$) + WAS ENTERED WEIGHT VALID? 0W0(W1$"O"W1$"P")710 :(7);(7) D500   CHECK CONSISTENCY Q TC$"4"ė:. ^(C$)0(C$)4380> h(7);(7);G r330O |C$[ C(C$)a z  GET WEIGHT OF ITEM  16B "PLEASE ENTER THE WEIGHT OF THE PACKAGE: FOLLOWED BY AN O IF IN OUNCES, OR BY A P IF IN POUNDS. (FOR EXAMPLE, 2.7 21(TITLE$)2" TITLE$) 6: "1. EXPRESSO "2. FIRST CLASSb "3. PRIORITY h "4. END THE PROGRAM , 1 GET CLASS OF MAIL 3 614 @"PRESS THE NUMBER OF YOUR CHOICE: "; JC$ O P CHECK FOR VALIDITY  POSTAGE RATES9 DETERMINES POSTAGE FEESV( FOR EXPRESS, 1ST CLASSn2 AND PRIORITY MAILt7< V2 09/01/82F BY JOHN SCRIBBLEMONGER Kd MENU OF POSTAGE CLASSESik(21)nxTITLE$"POSTAGE RATES"      NS A//E WITH AUX MEMHJ 8, 120, 173, 0, 224, 141, 208, 2, 173, 0, 208, 141, 209, 2, 173, 0, 212, 141, 210, 2, 173, 0, 216, 141, 211, 2, 173, 129, 192, 173, 129, 192, 173, 179, 251, 201, 6, 208, 73, 173{IT 23, 192, 48, 60, 173, 19, 192, 48, 39, 173, 2***G"*** AIIE OR NOT? ***UG, USES I,J,K,RE -- SETS AIIE TO 1 IF IT IS AN AIIEG6SETS RESULT DEPENDENT ON AVAILABLE HARDWAREH@RESULTS OF 0 MEANS NOT A //E; 32 MEANS A//E BUT NO 80 COLUMNS; 64 MEANS A//E WITH 80 COLUMNS BUT NO AUX MEM; 128 MEA:400F$:24F$DF$AN$"Sample help screen for option 4":400NF$:24TF%F%AN$"Sample help screen for option 5":400FN%:24F%F%AN$"This option lets you gracefully exit the program.":400F%:24F%F'G*** COMPUTER ID "SE#AIIEAN$"Select option 1 to reacquaint yourself with the underline cursor."\E#400kE#COL80ĺ:qE#E#AN$"There is no description available for this option.":400E"$:24ES$FT$AN$"There is no option available for this description."outines in MAGIC MENU, will enable you to easily create humanized programs.":400^D#400::E#AN$"Since you are using an Apple II or II+, you cannot take advantage of this cursor directly, but using it in your programs will make it easier for others.h your answers, inserting and deleting characters at will.":400C#AN$" The input routine automatically gives the standard Applesoft BASIC blinking cursor to users of the Apple II or II+.":400C#:QD#AN$"The input routine, along with the other r;'A350:WAIT FOR RETURN)'CAN$HOLD$/'Fl'BLANK LINES ARE DONE BY PRESSING THE DOWN-ARROW KEY '*** INPUT SAMPLE ***'AIIEAN$"SORRY, THIS EXAMPLE REQUIRES AN APPLE IIE":10:400::':HT1:(33)40HT21:HT("Correct the THIS OPTION ASKS YOU TO ENTER A NAME FOR THE LIST AND A NAME FOR EACH OF THE TWO COLUMNS THAT MAKE UP A LIST."':" OPTIONS 3 THRU 7 WILL NOT WORK UNLESS OPTIONS 1 OR 2 HAVE BEEN DONE."'B(" THIS OPTION WILL GET A SAVED LIST 1000,11010,3180f&X 3000: UPON RETURNING FROM OPTION SET UP THE MENU BUT DO NOT RE-DIMENSION MENU$()n&b &l ::::CLEAN UP & GO AWAY& *** DESCRIPTIONS *** &MENU$(AN):4&AN4040,4070,4090,4120,5010,5030,5060,5080&3000v'" VE LINE CHECKS FOR PRESENCE OF NON-NUMERIC CHARACTERS OTHER THAN SPACE IN THE LINE; IF FOUND, THE LINE IS REJECTED$\JJĭ(AN$)K0:I1(AN$):J((AN$,I)):KK(J48):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735>%aABOVE LINE CHECER FROM AN$ AND MAKE II EQUAL IT2#H(AN$)0735w#MOOĭAIIE((AN$,1)"?"(AN$,1)"/")ĭII0IILLOAKEY1:880#R(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735r$WABO:EXIT MENU FOR HELP["4JJ0ĺ"--> PLEASE SELECT A NUMBER FIRST <--";:868::AN$"":735"9SAKEY735:SOLID-APPLE KEY NOT USED FOR MENU">ESCKEYĭ(FROM$)880:IF ESCAPE KEY IS PRESSED, MENU IS EXITED #CJJ(AN$):JJ0JJLLIIJJ:ISOLATE NUMBAND AII+ ROUTINE !19)! OAKEY825!%OOOA$"?"OA$"/"735:HELP NOT AVAILABLE (OO WAS SET TO VALUE OF OAKEY AT BEGINNING OF ROUTINE) OR WRONG KEY PRESSED!* JJ WILL NOW BE USED TO HOLD LENGTH OF AN$: "/JJ(AN$):JJ0JJLLIIJJ:880& II1:I0K1K:I5:J1J::JĞ; " ";:36,L:M1V P(16384):P128755 :ABOVE PRINTS A BLINKING CURSOR THE HARD WAY P155Ĺ16368,0:ESCKEY1:795:ESC PRESSED FIRST L(36):20:1:868:M1:L1 "";AN$! END OF AII FL3:AN$"":SET-UP VALUES FOR INPUT ROUTINE BEFORE CALLING ITH g** GET INPUT FROM USER **}17:17:868:17AIIE(FROM$)İ100:795:THE LINES THAT FOLLOW ARE TO PICK UP AN ESC PRESS ON AN APPLE II OR II+ I0:J0:M(37):L(36)er from 1 to "(LL):400::AN$"(There are no descriptions available)"R400:_OO725AIIEĺ"For descriptions: press OPEN-APPLE-?"AIIEĺ"FOR DESCRIPTIONS: FOLLOW ANSWER WITH ?"AN$"To go to selected item: press RETURN":400:?400:II1(33):"_";:DOOAIIEĺ:IF ROOM, SPACE DOWN1v(FROM$)AN$"For "FROM$": press ESC":400|AIIEĺ"To erase: use the DELETE key"AN$"To select: type a number from 1 to "(LL)GOOAN$"To select: enter a numb)JJ::SET "WINDOW" SO THAT TEXT OF MENU ITEM IS INDENTEDb{AN$MENU$(II):400:PRINT MENU ITEM32,0:33,(33)JJ::"RESTORE" FULL WINDOWNNĺII(37)16ĺ"TOO MANY MENU ITEMS OR TOO LONG LINES."::17:AN$"Select option >":$):J((I$,KI)):(J32(J96J123));:ISP(36):COL80ĭP(1147)P(1403)g(AN$)ĭP0ĺw(AN$)410P0ĭ(I$,(I$),1)" "ĺ" "; *** THE MENU PROGRAM *** J0:K0:JJ0:KK0:LL0:MM0:NN0:OO0:AN0OOOA0AIIE19F19J5, 192, 141, 3, 192, 141, 0, 8, 173, 0, 12, 201, 238, 208, 14, 14, 0, 12, 173, 0, 8, 205, 0, 12, 208, 3, 56, 176, 1, 248 141, 4, 192, 141, 2, 192, 76, 29, 3, 2348J975:K7248I02498L8KI,L88K8RESULTS(J) 9RESULTS24, 205, 208, 2, 240, 67r 173, 128, 192, 76, 161, 3, 173, 0, 208, 205, 209, 2, 240, 6, 173, 128, 192, 76, 161, 3, 173, 0, 212, 205, 210, 2, 240, 6, 173, 128, 192, 76, 161, 3, 173, 0, 216, 205, 211, 2w8| 240, 3, 173, 128, 192, 40, 96, 169, 238, 141, INT FOR MENU PROGRAM&u RER FROM AN$ AND MAKE II EQUAL IT2#H(AN$)0735w#MOOĭAIIE((AN$,1)"?"(AN$,1)"/")ĭII0IILLOAKEY1:880#R(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735r$WABO:EXIT MENU FOR HELP["4JJ0ĺ"--> PLEASE SELECT A NUMBER FIRST <--";:868::AN$"":735"9SAKEY735:SOLID-APPLE KEY NOT USED FOR MENU">ESCKEYĭ(FROM$)880:IF ESCAPE KEY IS PRESSED, MENU IS EXITED #CJJ(AN$):JJ0JJLLIIJJ:ISOLATE NUMB8, 208, 14, 14, 0, 12, 173, 0, 8, 205, 0, 12, 208, 3, 56, 176, 1, 24s/ 141, 4, 192, 141, 2, 192, 76, 29, 3, 234/J975:K724/I0249/L/KI,L//K/RESULTS(J)/RESULTS0AIIE1/ I1, 3, 173, 0, 208, 205, 209, 2, 240, 6, 173, 128, 192, 76, 161, 3, 173, 0, 212, 205, 210, 2, 240, 6, 173, 128, 192, 76, 161, 3, 173, 0, 216, 205, 211, 2D/| 240, 3, 173, 128, 192, 40, 96, 169, 238, 141, 5, 192, 141, 3, 192, 141, 0, 8, 173, 0, 12, 201, 23, 3, 76, 73, 3, 169, 0, 141, 207, 3, 173, 0, 224-h 205, 208, 2, 208, 24, 173, 0, 208, 205, 209, 2, 208, 16, 173, 0, 212, 205, 210, 2, 208, 8, 173, 0, 216, 205, 211, 2, 240, 56, 173, 136, 192, 173, 0, 224, 205, 208, 2, 240, 6.r 173, 128, 192, 76, 16, 173, 22, 192, 48, 34, 160, 42, 190, 162, 3, 185, 0, 0, 150, 0, 153, 162, 3, 136, 208, 242, 76, 1, 0, 8, 160, 42, 185, 162, 3, 1530-^ 0, 0, 136, 208, 247, 104, 176, 8, 169, 128, 141, 207, 3, 76, 73, 3, 169, 64, 141, 207, 3, 76, 73, 3, 169, 32, 141, 207(34)"?":400::=HT5&="> ";5=GET INPUTQ= FL30: LENGTH OF FIELD= AN$"A whole lot of cattle": THE "default" ANSWER (SUPPLIED BY THE PROGRAM - THE USER CAN CHANGE IT)= 100:INPUT= 24>$ AN$"A herd of cattle"AN$"Perfect! ": 128 MEANS A//E WITH AUX MEM+J 8, 120, 173, 0, 224, 141, 208, 2, 173, 0, 208, 141, 209, 2, 173, 0, 212, 141, 210, 2, 173, 0, 216, 141, 211, 2, 173, 129, 192, 173, 129, 192, 173, 179, 251, 201, 6, 208, 73, 173,T 23, 192, 48, 60, 173, 19, 192, 48, 39UTER ID ***%*"*** AIIE OR NOT? ***]*, USES I,J,K,RE -- SETS AIIE TO 1 IF IT IS AN AIIE*6SETS RESULT DEPENDENT ON AVAILABLE HARDWARE+@RESULTS OF 0 MEANS NOT A //E; 32 MEANS A//E BUT NO 80 COLUMNS; 64 MEANS A//E WITH 80 COLUMNS BUT NO AUX MEM; YOU USE A VARIABLE TO "TURN ON" OR "TURN OFF" AN OPTION)e#BUT VARIABLES ARE ALL CLEARED BETWEEN PROGRAMS. LOCATIONS 6 & 7 ARE NOT AFFECTED BY APPLESOFT, SO THE AUTHOR CHOSE THEM AS A WAY TO COMMUNICATE)s#)x#(4);"RUN ";TITLE$)# **** COMP$,I,1);!(K(16336)(16336)5(J1400(1):<(Id(6,0:7,0:SEE NOTES FOLLOWING 9060j({((4);TITLE$(W((#*** GO TO DISK ***8)d#6,99:7,99:LET THE PROGRAMS FROM APPENDIX E KNOW THAT THEY CAN RETURN TO THIS PROGRAM. USUALLY,FROM$"Main Menu":AN$"":OAKEY0:5004'ESCKEYı@'AN2ı'TITLE$MENU$(AN):STORE NAME OF SELECTION FOR USE BY EACH ROUTINE'9000', 'o'p*** CATALOG ***'z'10'"]";'TITLE$"CATALOG"'I1(TITLE$)((TITLE:A "PATCH" TO THE PROGRAM: MENU$(3) HAS AN EXTRA DESCRIPTIONG&l 9000O&v j&*** REFERENCE MAN ***q& &TITLE$"Applesoft Tutorial"&SUBTITLE$"Example"&MENU$(1)"POSTAGE RATES"&MENU$(2)"Return to Main Menu"&MENU$(3)"end"&'APPLE IIE.":24:"PRESS RETURN TO GO BACK TO THE MENU.";:300:3000: "patch"%X TITLE$MENU$(AN):STORE NAME OF SELECTION FOR USE BY EACH ROUTINE%] AN2TITLE$"MAGIC MENU":A DOWN-ARROW MAY HAVE BEEN APPENDED IN LINE 3070=&b AN3TITLE$"DISK MENU"F THE COMPUTER IS NOT IN 80-COLUMN MODE@$ MENU$(4)"CONVERTER"c$ MENU$(5)"Return to Main Menu"v$& MENU$(6)"end"$0 FROM$"Main Menu":AN$"":OAKEY0:500$: ESCKEYı$D AN5ıM%N AN1AIIEė:10:"SORRY, SCRAMBLER CAN ONLY BE":"PLAYED ON AN $(2)MENU$(2)(10):MENU$(3)MENU$(3)(10):CHR$(10) IS DOWN-ARROW: ADDING DOWN-ARROWS WILL ADD SPACES ABOVE AND BELOW MENU OPTION 3'$ IN 80 COLUMN MODE, THERE IS ENOUGH ROOM THAT THE MENU MAKER ROUTINE WILL ADD SPACES AUTOMATICALLY, SO WE DO IT ONLY Icept the entire answer":400:'<BOX1<HT2[<"__________________________________"<I04:HT1:"| |"::(37)<HT2:"__________________________________"<19:HT4=AN$"What is a "(34)"drift"D "END"@5TOAKEY1:HELP AVAILABLE; OPEN-APPLE KEY WILL BE READI5^500r5hOAKEYİ1810:1510:"HELP" ASKED FOR5mESKEYī7000:RETURN TO DISK MENU5rAN$""5|85AN2000,3000,4000,5000,6000,7000:RETURN PRESSED, SO GO TO THE SELECTED SECTIONENU$(4)""46MENU$(5)""94@MENU$(6)"End the program"4E(6)99(7)99MENU$(6)"End the program and return to the Disk Menu":SEE NOTES FOLLOWING LINE 9060 OF DISK MENU5JMENU$(7)"END":MENU PROGRAM KEEPS DISPLAYING ITEMS UNTIL IT FINDS THE WORENUE3SUBTITLE$"Main Menu":TITLE OF MENU OR SUBSECTION OF PROGRAM3FROM$"":(6)99(7)99FROM$"the Disk Menu":SEE NOTES FOLLOWING LINE 9060 OF DISK MENU PROGRAM3MENU$(1)"A sample of the input routine"3MENU$(2)""3"MENU$(3)"" 4,Me Applesoft Tutorial manual for details on how to use these routines in your own programs."f2400:224:AN$"Press RETURN to go to the menu.":400:3002 2** SAMPLE MAIN MENU **2** MAIN MENU LOOP **3TITLE$"Magic Menu":TITLE OF M"(34)"directions"(34)":"'1n400Z1xAN$"to see the description of option 1, type"c14001AN$"1? RETURN":AIIEAN$"1, then press OPEN-APPLE-?"1400::1COL80ĺ[2AN$"Explore the menu, then review the listings in Appendix E of th space on the menu and in the program, so you can see how a more elaborate program would be structured.":400u0Z:0_COL80ĺ1dAN$"The Menu Maker enables you to give a description of each menu item, so the user needn't first wade through pages of six selections, only two of which actually do something. The first selection shows you a familiar example of the flashing-cursor input routine; the last selection exits the program."/F400m0PCOL80AN$" The other four selections are there to take upwaiting now...".400::k.AN$"Press RETURN to continue.":400:300:PRINT PROMPT: WAIT FOR A RETURNt. .*** "help" SCREEN ***..#COL80Ģ4.(AN$"A few words about the sample menu:".2400:::/<AN$"The following menu has le Presents...APPLE.":400E-AN$"":AIIEAN$"(Pick 1 from menu.)"-COL80AN$" (To reacquaint yourself with this input routine, select option 1 from the menu that follows.)-400::.AN$"5. GET RETURN: waits for you to press RETURN. It is ple II or an Apple II+.",,400::COL80ĺ,AN$"3. MENU MAKER: lets you create uniform, friendly menus in minutes, instead of days. (A sample menu follows.)",400::-AN$"4. INPUT: is the flashing-underline cursor routine you learned on AppAN$"2. SCREEN FORMATTER: ":400+AN$"controls text display so that lines are ended between words instead of in the middle of them.",COL80İ400:AN$"It also automatically converts all lower-case letters to capitals when the program is run on an Apmn Card."A*`RESULT128AN$"IIe with a Memory-Expansion Card."*jCOL80İ400:AN$"The other four routines use the information from COMPUTER IDENTIFIER to let your software take full advantage of whatever Apple computer it is run on."*t400:: +~ THE SECOND LINE IS JUST LONG ENOUGH TO CAUSE AN EXTRA CARRIAGE RETURN IN 40-COLUMN MODE)8AN$"1. COMPUTER IDENTIFIER: says you are now using an Apple":400)BRESULT0AN$"II OR II+.")LRESULT32AN$"IIe." *VRESULT64AN$"IIe with an 80-ColuY OLD HTAB AND VTAB INFORMATION: HOME CLEARS THE SCREEN?(:(AN$"*** Magic Menu ***":36,((33)(AN$))2:400::CENTER TITLE($:AN$"Magic Menu has five basic subroutines upon which you can build your programs:"X).400::COL80ĺ:BY CHANCE,D.''63000:FIND OUT IF AIIE OR NOT4'ME$(20)'RESULTS64COL801:(4);"PR#3":IF AN 80-COLUMN CARD IS PRESENT, USE IT. IF YOU DON'T WANT IT, CHANGE THE LINE TO: 1025 PRINT CHR$(21) 7(:::TEXT CLEARS ANY OLD WINDOWS: PRINT CLEARS OUT ANTOO LARGE <--";:868::AN$"":735`&kJJ1ĺ" --> 0 IS TOO SMALL <--";:868:AN$"":735&pANII::::EXIT POINT FOR MENU PROGRAM&u &*** MAIN PROGRAM ***'I0:AN$"":J0:I$"":K0:DECLARE MOST OFTEN USED VARIABLES FIRST FOR SPEEE LINE IS REJECTED%\JJĭ(AN$)K0:I1(AN$):J((AN$,I)):KK(J48):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735%aABOVE LINE CHECKS FOR A SINGLE SPACE AS ANSWER (OTHERWISE, A SPACE IS A ZERO)#&fJJLLĺ" --> ";JJ;" IS I0IILLOAKEY1:880$R(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735%WABOVE LINE CHECKS FOR PRESENCE OF NON-NUMERIC CHARACTERS OTHER THAN SPACE IN THE LINE; IF FOUND, THSAKEY735:SOLID-APPLE KEY NOT USED FOR MENUq#>ESCKEYĭ(FROM$)880:IF ESCAPE KEY IS PRESSED, MENU IS EXITED#CJJ(AN$):JJ0JJLLIIJJ:ISOLATE NUMBER FROM AN$ AND MAKE II EQUAL IT#H(AN$)0735$MOOĭAIIE((AN$,1)"?"(AN$,1)"/")ĭI WAS SET TO VALUE OF OAKEY AT BEGINNING OF ROUTINE) OR WRONG KEY PRESSEDz"* JJ WILL NOW BE USED TO HOLD LENGTH OF AN$: "/JJ(AN$):JJ0JJLLIIJJ:880:EXIT MENU FOR HELP"4JJ0ĺ"--> PLEASE SELECT A NUMBER FIRST <--";:868::AN$"":735-#9OVE PRINTS A BLINKING CURSOR THE HARD WAY_!P155Ĺ16368,0:ESCKEY1:795:ESC PRESSED FIRST! L(36):20:1:868:M1:L1!"";AN$! END OF AII AND AII+ ROUTINE !19! OAKEY825H"%OOOA$"?"OA$"/"735:HELP NOT AVAILABLE (OO 17:17:868:17| AIIE(FROM$)İ100:795:THE LINES THAT FOLLOW ARE TO PICK UP AN ESC PRESS ON AN APPLE II OR II+ I0:J0:M(37):L(36):OAKEY0 II1:I0K1K:I5:J1J::JĞ " ";:36,L:M1 P(16384):P128755)!:AB DESCRIPTIONS: FOLLOW ANSWER WITH ?"ZAN$"To go to selected item: press RETURN":400:OOAN$"(There are no descriptions available)":400FL3:AN$"":SET-UP VALUES FOR INPUT ROUTINE BEFORE CALLING IT ** GET INPUT FROM USER **OM, SPACE DOWN1A(FROM$)AN$"For "FROM$": press ESC":400GqAIIEĺ"To erase: use the DELETE key"AN$"To select: type a number from 1 to "(LL)400:OO720AIIEĺ"For descriptions: press OPEN-APPLE-?"$AIIEĺ"FORENTED-{AN$MENU$(II):400:PRINT MENU ITEM]32,0:33,(33)JJ::"RESTORE" FULL WINDOWgNNĺoII(37)16ĺ"TOO MANY MENU ITEMS OR TOO LONG LINES."::17:AN$"Select option >":400:II1(33):"_";:OOAIIEĺ:IF RO(33):"_";::%bPRINT SELECTIONS2gII1LLDlMM:II;". ";q(37):COL80Ģ(1531):BELOW PRINT MOVES DOWN 1 LINE: THIS COMMAND IS A TRICK TO MOVE UP EXACTLY 1 LINE FIRSTv32,JJ:33,(33)JJ::SET "WINDOW" SO THAT TEXT OF MENU ITEM IS IND:SELECT LEFT MARGIN OFFSET: 3 IF 40 COLUMN, 9 IF 80 COLUMN?JJ3MM:LL9JJ4MM:IF MORE THAN 9 ITEMS, INDENT NAME OF EACH BY 1 MORED I * DISPLAY MENU *N:SAN$TITLE$:400:36,(33)(SUBTITLE$)1:AN$SUBTITLE$X400]II1:APPROXIMATE NUMBER OF EXTRA LINES MENU ITEM WILL TAKE+II12ĭMENU$(II1)"End"MENU$(II1)"end"MENU$(II1)"END"IIII1:5500LLII:NUMBER OF MENU ITEMS5NN0:LL2KK14NN1:DETERMINE IF MENU CAN BE DOUBLE-SPACED;:MM3:COL80MM9LL BE 1 IF USER WANTS TO GO BACK TO CALLING MENU. MAIN MENUS SHOULD MAKE FROM$="" (NOTHING) J0:K0:JJ0:KK0:LL0:MM0:NN0:OO0:AN0OOOA:STORE WHETHER DESCRIPTIONS ARE AVAILABLEAN$""!II17&KKKK((MENU$(II))(2735(COL801)))AN 10 ITEMS PROGRAM USES INPUT ROUTINE AND SCREEN FORMATTER. ALL VARIABLES AFFECTED BY THEM AS WELL AS II, JJ, KK, LL, MM, NN, OO,PP, AN, II$ ARE AFFECTEDUSER'S CHOICE IS RETURNED IN BOTH AN$ AND AN ] IF FROM$ HAS A TITLE IN IT, ESCFLAG WI*** MENU MAKER ***SUPPLY PROGRAM TITLE IN TITLE$, MENU TITLE IN SUBTITLE$, CALLING MENU TITLE (WHERE USER CAME FROM) IN FROM$, OA=1 IF HELP IS AVAILABLE PUT MENU ITEMS IN MENU$(1) THROUGH MENU$(12). REMEMBER TO DIM MENU$(12) IF MORE THN$(AN$,(AN$)I):ISOLATE 1 LINE IN I$7AIIEĺI$;AIIEK(I$)1:I1(I$):J((I$,KI)):(J32(J96J123));:IP(36):COL80ĭP(1147)P(1403)(AN$)ĭP0ĺ(AN$)410P0ĭ(I$,(I$),1)" "ĺ" "; (AN$,I1)GP2I(33)AIIEĺAN$;" ";:AN$""::EXPRESS CHECK-OUTmI1ĭ(AN$,1)" "AN$(AN$,I1)PI(33)I$AN$:AN$"":440J(33)P2:IJII1:Iĭ(AN$,I,1)" "425I1IJI0ĺ:410(I$(AN$,I1):(AN$)IAAT END OF LINEnPERFORMS WORD-WRAP AND WILL CONVERT LOWER- TO UPPER-CASE IF USED INSIDE AN APPLE II OR II+I(AN$):IıP(36):COL80ĭP(1147)P(1403):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ON PĭI1ĭ(AN$)32AN$AN$pIF 80 COLUMN BOARD IS TURNED ON, MAKE SURE COL80 = 1. IF BOARD IS NOT TO BE USED, MAKE SURE COL80 = 0.USES I,J,I$ROUGH EQUIVALENT OF PRINT AN$;" "; USES AIIE SET BY COMPUTER IDENTIFIER ROUTINEUSUALLY LEAVES 1 EXTRA BLANK (37)23Ģ23:PEEK(37) CONTAINS CURRENT VTAB POSITION -1. IF ON BOTTOM LINE (VERY COMMON WITH WAIT-FOR-RETURN-KEYS) MOVE UP ONE TO PREVENT SCREEN FROM SCROLLINGrw16368,0: *** SCREEN FORMATTER *** STRING TO BE PRINTED IN 0:K0+JII1:I0K1K:I5:(3263K);9OI5355TL(36):COL80ĭL(1147)L(1403):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ONYL0Ĺ36,(33):(37)^L0Ĺ36,L1cP(16384):P141330:NOT A RETURNh" ";m9%AN$AN$(I$,1):JJ1:(I$,1);8(I$)1I$""T"(I$)I$(I$,(I$)1)]$149&P155ESCKEY1:::ESCAPE KEY PRESSED(149* ,** GET RETURN ** 1USES I,J,K,L,P6AIIE325;AN$:(AN$)13315@:EI0:J(AN$,J)1493P136265:* BACK ARROW KEYqJĺ" ";:36,L:1403,L:M1:(136);:I$(AN$,1)I$:JJ1J0AN$""JAN$(AN$,J)149 P141AN$AN$I$:I$;" "::* RETURN KEYP149294:* FORWARD ARROW KEY(I$)14"::* OPEN-APPLE KEYUSAKEYSA$(P128):AN$AN$I$:I$;" "::* SOLID-APPLE KEYP159P255ĭJ(I$)FLĭNAN$AN$(P128):JJ1:(P);:149P255240:DELETE KEYJĺ" ";:36,L:1403,L:M1:(136);:JJ1J0AN$""JAN$35)1ĭL(I$)(33)3N02 36,L:1403,L:M1X II1:I0K1K:I5:(3263K);o 36,L:1403,L:M1 P(16384):P128170 (16287)127OAKEY1 (16286)127SAKEY1 16368,0:K0:I0OAKEYOA$(P128):AN$AN$I$:I$;" I5:J0:K0:L0:M0:I$"":ESC0:OA0:OA$"":SA0:SA$"":FL0FL245[ AIIEĄ"";AN$:n AN$;:J(AN$)z M(37) L(36):COL80ĭL(1147)L(1403):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ON "_";I$;" "; N1:(37)( AN APPLE IIE: PROVIDE SOME OTHER METHOD OF SIGNALLING FOR AII AND AII+ OWNERS THE ROUTINE USES (AND MAY CHANGE THE VALUES IN) I,J,K,L,M,P,FL,ES (FOR ESCAPE KEY),OA (FOR OPEN-APPLE KEY),SA (FOR SOLID-APPLE KEY),FL,I$,OA$,SA$,AN$ * TAKE INPUT *F O TRUE (WILL EQUAL 1) IF THE USER PRESSED IT TO EXIT THE INPUT ~SAKEY OR OAKEY WILL BE SET TO TRUE (WILL EQUAL 1) IF THE USER HAS PRESSED ANY CHARACTER KEY WHILE HOLDING THE SOLID-APPLE OR OPEN-APPLE KEY, RESPECTIVELYN ABOVE 3 KEYS ARE ONLY READ INRIABLE FLC s A FIELD LENGTH OF 0 (FL=0) ALLOWS THE MAXIMUM INPUT xIF YOU WANT A "DEFAULT" (SUPPLIED-BY-YOU) ANSWER, PUT IT IN AN$. FOR EXAMPLE: AN$= "CAT" |UPON RETURN, AN$ (ANSWER$) WILL CONTAIN THE INPUT FROM THE USER> }ESCKEY WILL BE SET TD%MAGIC MENU - SEPT, 1982 BY TOG/1000G:(21)::33,33:bd*** INPUT ROUTINE ***fSEPT, 1982 BY B. TOGNAZZINIiUSES FLASHING UNDERLINE CURSOR nYOU MAY SET THE NUMBER OF CHARACTERS THE USER MAY TYPE (THE FIELD LENGTH) IN THE VA                                        )"SCRAMBLER"'" MENU$(2)"MAGIC MENU"" MENU$(3)"DISK MENU (Which is this very program -- selecting it will only result in a long wait followed by the program starting over. It is included here because it is included in Appendix E.)"# COL80MENU":AN$"":OAKEY0:500#!zESCKEYı0!AN12ıv!TITLE$MENU$(AN):STORE NAME OF SELECTION FOR USE BY EACH ROUTINE!(21)!9000!2000! ! TUTOR EXAMPLES ***! ! TITLE$"Applesoft Tutorial"! SUBTITLE$"Samples" " MENU$(1ILT" MENU$(4)"SPACES"5 MENU$(5)"COLORBOUNCE"K MENU$(6)"RANDOM"a MENU$(7)"HORSES"v MENU$(8)"MOIRE" 4MENU$(9)"ALPHABET" >MENU$(10)"DECIMAL" HMENU$(11)"COLORBOUNCESOUND" \MENU$(12)"Return to Main Menu"!pFROM$"Main MenuSO GO TO THE SELECTED SECTION'11000 mBLANK LINES ARE DONE BY PRESSING THE DOWN-ARROW KEY *** EXAMPLES *** TITLE$"Applesoft Tutorial"SUBTITLE$"Examples"MENU$(1)"COLORLOOP"MENU$(2)"HUE" MENU$(3)"QUyou in Applesoft.)"iMENU$(5)"END":MENU PROGRAM KEEPS DISPLAYING ITEMS UNTIL IT FINDS THE WORD "end"OAKEY0:HELP NOT AVAILABLE; OPEN-APPLE KEY WILL NOT BE READFROM$""500AN$""8AN2000,3000,4000,6000:RETURN PRESSED, le Programs from The Applesoft Tutorial"gtMENU$(2)"Tutorial Appendix E: More Programs To Play With"~MENU$(3)"Postage Rates -- From The Applesoft Reference Manual"MENU$(4)"End the program (This option will type CATALOG for you and will leave ":40044008:24RAAN$"Press RETURN to go to the Main Menu.":400:300hB ** MAIN MENU **L** MAIN MENU LOOP **VTITLE$"The Applesoft Sampler Disk"`SUBTITLE$"Main Menu":TITLE OF MENU OR SUBSECTION OF PROGRAM(jMENU$(1)"Examplowing "(34)"main menu"(34)" lets you select one of several "(34)"sub-menus"(34)" with the names of the programs on this disk.":400.AN$"You can choose to pick a program from a sub-menu, or you can elect to end the":4003AN$"program. $"Featuring":400AN$"the collection of programs to be studied in conjunction with the Applesoft Tutorial, with a special appearance by ":400$AN$"Postage Rates, the example program from the Applesoft Reference Manual.":400::)AN$"The folNE TO: 1025 PRINT CHR$(21) P(6)99(7)991100: SEE NOTES FOLLOWING 9060] ::2:AN$"*** THE APPLESOFT SAMPLER DISK ***":36,((33)(AN$))2:400:63(COL801):START ON LINE 6 UNLESS COL80=1, IN WHICH CASE, START ON LINE 9ANGRAM ***YI0:AN$"":J0:I$"":K0:DECLARE MOST OFTEN USED VARIABLES FIRST FOR SPEED.~63000:FIND OUT IF AIIE OR NOTME$(20)RESULTS64COL801:(4);"PR#3":IF AN 80-COLUMN CARD IS PRESENT, USE IT. IF YOU DON'T WANT IT, CHANGE THE LIAN$):J((AN$,I)):KK(J48):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735fJJLLĺ" --> ";JJ;" IS TOO LARGE <--";:868::AN$"":735kJJ1ĺ" --> 0 IS TOO SMALL <--";:868:AN$"":735pANII:::*** MAIN PROJJLLIIJJH(AN$)0735cMOOĭAIIE((AN$,1)"?"(AN$,1)"/")ĭII0IILLOAKEY1:880R(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735\\JJĭ(AN$)K0:I1("2. Press the DELETE key several times":400:8;9HT4w;>AN$"to erase the words "(34)"whole lot"(34):400::;CHT1;HAN$"3. Type "(34)"herd"(34):400::;MHT1;RAN$"4. Now press the RETURN key to":400:;WHT4<\AN$"ac400:: 36,II:" ----"K:HT:AN$"by doing the following:":400::U:HT1: AN$"1. Press left arrow to back up to the":400::%HT4:*AN$"right of the "(34)"t"(34)" in the word "(34)"lot"(34):400::,:/HT1.;4AN$AM!9:HT1:(33)40HT21:HTU9"Correct the answer in the box to read":400:p9AN$"A herd of cattle"9II((33)(AN$))2:36,II:1403,II:"POKE 36,X:POKE 1403,X" IS THE SAME AS HTAB X-1, EXCEPT IT WORKS WITH EITHER 40 OR 80-COLUMN MODES:1:868:M1:L1"";AN$&196 OAKEY825U%OOOA$"?"OA$"/"735{/JJ(AN$):JJ0JJLLIIJJ:8804JJ0ĺ"--> PLEASE SELECT A NUMBER FIRST <--";:868::AN$"":7359SAKEY735>ESCKEYĭ(FROM$)880 CJJ(AN$):JJ000FL3:AN$"".17:17:868:17LAIIE(FROM$)İ100:795pI0:J0:M(37):L(36):OAKEY0II1:I0K1K:I5:J1J::JĞ" ";:36,L:M1P(16384):P128755P155Ĺ16368,0:ESCKEY1:795 L(36):20:SECTION&242&"Press RETURN for the menu.";L&350:WAIT FOR RETURNV&1100_& w&*** GO TO HELP ***&::8&#HOLD$AN$&(AN9000,9200,9300,9400,9500,9600,9725,9825,9925&2(37)8Ģ23:1'<"Press RETURN to go to the menu."ITEMS UNTIL IT FINDS THE WORD "END"\%OAKEY1:HELP AVAILABLE; OPEN-APPLE KEY WILL BE READe%500%OAKEYİ1310:1100:"HELP" ASKED FOR%AN$""%ESCKEYī1200%8&AN2000,3000,4000,5000,6000,7000:RETURN PRESSED, SO GO TO THE SELECTED input routine".$tMENU$(2)"Sample option 2"M$~MENU$(3)"Sample option 3"$MENU$(4)"Sample option 4, which requires more than one line"$MENU$(5)"Sample option 5"$MENU$(6)"End the program"#%MENU$(7)"END":MENU PROGRAM KEEPS DISPLAYING see a sample menu.";C#AAN$:(AN$)131089:ACCEPT RETURN ONLY_#B** SAMPLE MAIN MENU **y#L** MAIN MENU LOOP **#VTITLE$"Magic Menu":TITLE OF MENU#`SUBTITLE$"Main Menu":TITLE OF MENU OR SUBSECTION OF PROGRAM$jMENU$(1)"A sample of theng words over lines.""":400::q";AN$"3. MENU MAKER: Create uniform, friendly menus in one-tenth the time."~"<400::"=AN$"4. COMPUTER IDENTIFIER: Tells your program what system it is in while it is running."">400::#@"Press RETURN to0::m!.AN$"1. INPUT: The flashing underline cursor routine you learned to use on Apple Presents...APPLE."z!3400::!8AN$"2. SCREEN FORMATTER: ":400"9AN$"A short routine that formats text such as this, so you don't have to worry about breaki(21):TURN-OFF 80-COLUMN AIIE CARD. :a 11((33)40):AN$"*** Magic Menu ***":400: :AN$"This program is a basic foundation upon which you may build your own programs. It contains four highly useful" 400!$AN$"subroutines:":40-> 0 IS TOO SMALL <--";:868:AN$"":840VANII::::EXIT POINT FOR MENU PROGRAM` z*** MAIN PROGRAM ***I0:AN$"":J0:I$"":K0:DECLARE MOST OFTEN USED VARIABLES FIRST FOR SPEED.63000:FIND OUT IF AIIE OR NOTME$(20)& 1)"?"ĭII0IILLOAKEY1:995(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":840JJLLĺ" --> ";JJ;" IS TOO LARGE <--";:868::AN$"":840)JJ1ĺ" -OA DID = 0)=pSAKEY840:SOLID-APPLE KEY NOT USED FOR MENUzESCKEYĭ(FROM$)995:IF ESCAPE KEY IS PRESSED, MENU IS EXITEDJJ(AN$):JJ0JJLLIIJJ:ISOLATE NUMBER FROM AN$ AND MAKE II EQUAL IT(AN$)084019 OOĭAIIE(AN$, AN$ BEFORE CALLING INPUT ROUTINE*> FH** MENU-SELECT LOOP **\R17:17:868:17e\100fOAKEYĭOO(OA$"?"OA$"/")JJ(AN$):JJ0JJLLIIJJ:995:"HELP" WANTED kOAKEY840:SOME OTHER KEY PRESSED OR HELP NOT AVAILABLE (OO=OA AND DELETE key" OO810JAIIEĺ"For descriptions: press OPEN-APPLE-?" AIIEĺ"FOR DESCRIPTIONS: FOLLOW ANSWER WITH ?"*AN$"To go to selected item: press RETURN":400:!4FL3:II(II$):AN$(II):II1IILLII0:AN$"":PUT VALUES IN FL ANDNES.":/17:1:AN$"Select option >":400:GII1(33):"_";:nOOAIIEĺ:IF ROOM, SPACE DOWN1(FROM$)AN$"For "FROM$": press ESC":400AN$"To select: type a number from 1 to "(LL):400: AIIEĺ"To erase: use the FIND THE LAST SPACE IN 1ST LINE'JJ_KK1(MENU$(II))KK1AN$MENU$(II):400::720AN$(MENU$(II),KK1):400::MM2(LL9)AN$(MENU$(II),(MENU$(II))KK1):400:NNĺII(37)16ĺ"TOO MANY MENU ITEMS OR TOO LONG LI:AN$SUBTITLE$n4001qII1(33):"_";::Lv * PRINTING ROUTINE *YII1LLkMM:II;". ";(MENU$(II))3720((36)40)AN$MENU$(II):400::720ITEM BIGGER THAN 1 LINE:JJ13320((33)40):(MENU$(II),JJ,1)" "KKJJ:NT FIRST 9*:LLII:NUMBER OF MENU ITEMSlDNN0:LL2KK14NN1:DETERMINE IF MENU CAN BE DOUBLE-SPACEDN:(33)40OFFSET23:610XMM3:SELECT LEFT MARGIN OFFSET: 3 IF 40 COLUMN, 23 IF 80 COLUMNb:lAN$TITLE$:400:(33)(SUBTITLE$)JJ0II1]&(MENU$(II))3620((33)40)KKKK1:DETERMINE IF WILL FIT ON 1 LINE0II12ĭMENU$(II1)"End"MENU$(II1)"end"MENU$(II1)"END"IIII1:550 5JJĭII10āII19:MENU$(II)" "MENU$(II):II:JJ1:540:IF >9 ITEMS, INDEIT, ESCFLAG WILL BE 1 IF USER WANTS TO GO BACK TO CALLING MENU. MAIN MENUS SHOULD MAKE FROM$="" (NOTHING) J0:K0:JJ0:KK0:LL0:MM0:NN0:AN0OOOA:STORE WHETHER DESCRIPTIONS ARE AVAILABLE II$AN$:AN$"":STORE POSS. DEFAULT ANSWER IN II$$(12) IF MORE THAN 10 ITEMS PROGRAM USES INPUT ROUTINE AND SCREEN FORMATTER. ALL VARIABLES AFFECTED BY THEM AS WELL AS II, JJ, KK, LL, MM, NN, OO, AN, II$ ARE AFFECTED USER'S CHOICE IS RETURNED IN BOTH AN$ AND AN kIF FROM$ HAS A TITLE IN  (*** THE MENU PROGRAM *** SUPPLY PROGRAM TITLE IN TITLE$, MENU TITLE IN SUBTITLE$, CALLING MENU TITLE (WHERE USER CAME FROM) IN FROM$, OA=1 IF HELP IS AVAILABLE PUT MENU ITEMS IN MENU$(1) THROUGH MENU$(12). REMEMBER TO DIM MENUI0ĺ:410PI$(AN$,I1):(AN$)IAN$(AN$,(AN$)I):ISOLATE 1 LINE IN I$_AIIEĺI$;AIIEK(I$)1:I1(I$):J((I$,KI)):(J32(J96J123));:I(AN$)ĭ(36)0ĺ(AN$)410(36)0ĭ(I$,(I$),1)" "ĺ" ";SCREEN FORMATTER ***'I(AN$):Iıg(36)2I(33)AIIEĺAN$;" ";:AN$""::EXPRESS CHECK-OUTI1ĭ(AN$,1)" "AN$(AN$,I1)(36)I(33)I$AN$:AN$"":440J(33)(36)2:IJII1:Iĭ(AN$,I,1)" "425I1IJ 16384):P141380:NOT A RETURN(37)23Ģ23:PEEK(37) CONTAINS CURRENT VTAB POSITION -1. IF ON BOTTOM LINE (VERY COMMON WITH WAIT-FOR-RETURN-KEYS) MOVE UP ONE TO PREVENT SCREEN FROM SCROLLING" "16368,0:I0:J0:K0: *** I0K1K:I5:(3263K);:(36)0Ė(36):390PEEK(36) CONTAINS THE CURRENT HTAB POSITION OF THE CURSOR -1. IF THE CURRENT POSITION IS GREATER THAN 0, THEN WE WANT TO BACK UP SO CURSOR BLINKS INSTEAD OF WALKS.(36)0Ė(33):(37) P(N$(I$,1):JJ1:(I$,1);-(I$)1I$""I"(I$)I$(I$,(I$)1)R'155~,P155ESCKEY1:::ESCAPE KEY PRESSED@155E ^"GET" A RETURNcUSES I,J,K,PhAIIE375mAN$:(AN$)13365r:wI0:J0:K01|II1:N$,J) 1550 P136265:* BACK ARROW KEYf Jĺ" ";:36,L:M1:(136);:I$(AN$,1)I$:JJ1v J0AN$"" JAN$(AN$,J) 155 P141AN$AN$I$:I$;" "::* RETURN KEY P149300:* FORWARD ARROW KEY (I$)155AN$AI$;" "::* OPEN-APPLE KEYZ SAKEYSA$(P128):AN$AN$I$:I$;" "::* SOLID-APPLE KEY P159P255ĭJ(I$)FLĭNAN$AN$(P128):JJ1:(P);:155 P255240:DELETE KEY Jĺ" ";:36,L:M1:(136);:JJ1 J0AN$"" JAN$(AI$;" ";0 N1:(36)(33)1(37)(35)1N0? 36,L:M1e II1:I0K1K:I5:(3263K);t 36,L:M1 P(16384):P128170 (16287)127OAKEY1 (16286)127SAKEY1 16368,0:K0:I0 OAKEYOA$(P128):AN$AN$I$: ESCAPE KEY),OA (FOR OPEN-APPLE KEY),SA (FOR SOLID-APPLE KEY),UP,DO (DOWN),FL,I$,OA$,SA$,AN$p * TAKE INPUT * I5:J0:K0:L0:M0:I$"":ESC0:OA0:OA$"":SA0:SA$"":AN0:FL0FL245 AIIEĄ"";AN$: AN$;:J(AN$) L(36):M(37):"_";THE MAXIMUM INPUTo xIF YOU WANT A "DEFAULT" (SUPPLIED-BY-YOU) ANSWER, PUT IT IN AN$. FOR EXAMPLE: AN$= "CAT" }UPON RETURN, AN$ (ANSWER$) WILL CONTAIN THE INPUT FROM THE USER\ THE ROUTINE USES (AND MAY CHANGE THE VALUES IN) I,J,K,L,M,P,FL,ES (FORr from 1 to "(LL)400:+OO720]AIIEĺ"For descriptions: press OPEN-APPLE-?"AIIEĺ"FOR DESCRIPTIONS: FOLLOW ANSWER WITH ?"AN$"To go to selected item: press RETURN":400:OOAN$"(There are no descriptions available)":46ĺ"TOO MANY MENU ITEMS OR TOO LONG LINES.":T:17:AN$"Select option >":400:lII1(33):"_";:}OOAIIEĺ(FROM$)AN$"For "FROM$": press ESC":400AIIEĺ"To erase: use the DELETE key"AN$"To select: type a numbe:SAN$TITLE$:400:36,(33)(SUBTITLE$)1:AN$SUBTITLE$CX400]]II1(33):"_";::jgII1LL|lMM:II;". ";q(37):COL80Ģ(1531)v32,JJ:33,(33)JJ:{AN$MENU$(II):40032,0:33,(33)JJ:NNĺII-(37)1O0:AN0OOOAAN$""&!II1R&KKKK((MENU$(II))(2735(COL801)))+II12ĭMENU$(II1)"End"MENU$(II1)"end"MENU$(II1)"END"IIII1:5500LLII5NN0:LL2KK14NN1:MM3:COL80MM9?JJ3MM:LL9JJ4MMN:AIIEK(I$)1:I1(I$):J((I$,KI)):(J32(J96J123));:IoP(36):COL80ĭP(1147)P(1403)(AN$)ĭP0ĺ(AN$)410P0ĭ(I$,(I$),1)" "ĺ" "; *** MENU MAKER *** J0:K0:JJ0:KK0:LL0:MM0:NN0:OP2I(33)AIIEĺAN$;" ";:AN$"":JI1ĭ(AN$,1)" "AN$(AN$,I1)lPI(33)I$AN$:AN$"":440J(33)P2:IJII1:Iĭ(AN$,I,1)" "425I1IJI0ĺ:410I$(AN$,I1):(AN$)IAN$(AN$,(AN$)I)AIIEĺI$;GYL0Ĺ36,(33):(37)) ^L0Ĺ36,L1E cP(16384):P141330O h" ";a m(37)23Ģ23g rw w16368,0:  *** SCREEN FORMATTER *** I(AN$):Iı P(36):COL80ĭP(1147)P(1403) PĭI1ĭ(AN$)32AN$(AN$,I1)$" "(I$)I$(I$,(I$)1)& $149> &P155ESCKEY1::G (149b , ** GET RETURN ** p 6AIIE325 ;AN$:(AN$)13315 @: EI0:J0:K0 JII1:I0K1K:I5:(3263K); OI5355 TL(36):COL80ĭL(1147)L(1403) AN$,J) 149 P136265] Jĺ" ";:36,L:1403,L:M1:(136);:I$(AN$,1)I$:JJ1m J0AN$"" JAN$(AN$,J) 149 P141AN$AN$I$:I$;" ": P149294 (I$)149 AN$AN$(I$,1):JJ1:(I$,1); (I$)1I$"0:I02 OAKEYOA$(P128):AN$AN$I$:I$;" ":_ SAKEYSA$(P128):AN$AN$I$:I$;" ": P159P255ĭJ(I$)FLĭNAN$AN$(P128):JJ1:(P);:149 P255240 Jĺ" ";:36,L:1403,L:M1:(136);:JJ1 J0AN$"" JAN$(7)L(1403) "_";I$;" ";J N1:(37)(35)1ĭL(I$)(33)3N0a 36,L:1403,L:M1 II1:I0K1K:I5:(3263K); 36,L:1403,L:M1 P(16384):P128170 (16287)127OAKEY1 (16286)127SAKEY1 16368,0:K'%DISK MENU - SEPT 1982 - BY TOG/1000G:(21)::33,33:gd *** INPUT ROUTINE *** I5:J0:K0:L0:M0:I$"":ESC0:OA0:OA$"":SA0:SA$"":FL0FL245AIIEĄ"";AN$:AN$;:J(AN$)M(37) L(36):COL80ĭL(114INES ARE DONE BY PRESSING THE DOWN-ARROW KEY J8*** INPUT SAMPLE ***8AIIEAN$"SORRY, THIS SAMPLE WORKS ONLY ON AN APPLE IIE COMPUTER.":10:400::9(21):TURN OFF 80 COLUMN MODE IF IT IS ON. TRY REMOVING THIS LINE TO SEE EFFECT ON PROGR ANY). THIS TURNS IT BACK ON'7151007 H7*** GO TO HELP ***S7::8a7HOLD$AN$7&AN9000,9200,9300,9400,9500,9600,9725,9825,99257:AN$"Press RETURN to go to the menu.":4007D300:WAIT FOR RETURN7NAN$HOLD$7X08bBLANK L                   624z6AN1Ĺ36,0:COL80Ĺ1147,255:THESE 2 POKES ARE EQUIVALENT TO HTAB 1, BUT WORK IN EITHER 40 OR 80 COLUMN MODE6AN$"Press RETURN for the menu.":4006300:WAIT FOR RETURN7COL80Ģ22::(4);"PR#3":OPTION 1 TURNS OFF 80-COL CARD (IFz#?>???   Ӡ"͠3 Ҡ6 ҠZ ˠՠ)Ҡ3ŠӠ٠ŠӠӠؠ" ӠŠԠ̠Ġ Ҡ àՠFϠРŠԠӠŠ͠4-rJ768:K769-|I0137%-L0-KI,L6-=-KN-RESULTS(J)e-RESULTS0AIIE1k-IN):STORE NAME OF SELECTION FOR USE BY EACH ROUTINE-9000-2000- - TUTOR EXAMPLES ***- - TITLE$"Applesoft Tutorial".RT$(T)&\T(T)T$T$".00"Cf((T$,2))46T$T$"0"Ip0 SEE CHAPTER EIGHT OF THE APPLESOFT REFERENCE MANUAL FOR A COMPLETELY DOCUMENTED VERSION OF THIS PROGRAM $T FOR PRIORITY MAIL - "BX/"TRY ONE OF THE AIR EXPRESS COMPANIES"Nb/EFLAG1Tv/Z]q^ UTILITY ROUTINESw_}`a KEYSTALLbj24t~"PRESS THE RETURN KEY TO CONTINUE...";A$HJ MONEY FORMATTERKAIL"*+EFLAG14+.7. PRIORITY MAIL VERIFY=.P.W1$"P"12090`.W1212080f./(7);(7);"TOO LIGHT FOR PRIORITY MAIL - "/"TRY FIRST CLASS"/EFLAG1&/121500/WW16:/W7012150D/N/(7);(7);"TOO HEAVYj'WW16t'WX10140~'h'(7);(7);"TOO HEAVY FOR MY TABLES - PLEASE CALL THE POST OFFICE"t'EFLAG1z'** FIRST CLASS VERIFY*+W1$"O"W12.0111060 ++(7);(7);"TOO HEAVY FOR FIRST CLASS" +"TRY PRIORITY MW12T2.95 W13T21.420 W14T21.90< TT1T2B H'c' EXPRESS MAIL VERIFYi'' 9.35,9.35,9.55,9.90,10.30,10.65,11.00,11.40,11.75,0 $'X0.'XX18'R(X)B'R(X)010070L'10030V'XX1`'W1$"P"10100 3.73 W4.5W5T3.971 W5W6T4.44F& W6W7T4.92[0 W7W8T5.39p: W8W9T5.87D W9W10T6.35N 3240X Y PRIORITY RATES OVER 10 LBSZ b T1(W51)2.383.97l W1W(W5)5v W11T2.47  TION   W(W.99)( W103160. M PRIORITY RATES TO 10 LBSS d W1T2.24{ W1W1.5T2.30 W1.5W2T2.54 W2W2.5T2.78 W2.5W3T3.01 W3W3.5T3.25 W3.5W4T3.49 W4W4.5T 60000: KEYSTALL $ 100* D  SUBROUTINES FOLLOWJ P o  EXPRESS MAIL CALCULATIONu  W(W.99) TR(W)    FIRST CLASS CALCULATION  T.20(W.991).17   PRIORITY MAIL CALCULATENCY $ C10000,11000,120004 EFLAG910J 60000: KEYSTALLV EFLAG0\ e 100k   FIND APPROPRIATE CODE  C1000,2000,3000 61000: FORMATTER    DISPLAY RESULTS  "POSTAGE NEEDED: $ ";T$ 2.7 P OR 11 O.) AFTER ENTERING THE WEIGHT, PRESS THE RETURN KEY. ";R 868] "";W$m W1$(W$,1)y &W(W$) + WAS ENTERED WEIGHT VALID? 0W0(W1$"O"W1$"P")710 :(7);(7) D500   CHECK CONSIS Q TC$"4"ė:. ^(C$)0(C$)4380> h(7);(7);G r330O |C$[ C(C$)a z  GET WEIGHT OF ITEM  16H "PLEASE ENTER THE WEIGHT OF THE PACKAGE: FOLLOWED BY AN 'O' IF IN OUNCES, OR BY A 'P' IF IN POUNDS. (FOR EXAMPLE, 21(TITLE$)2" TITLE$) 6: "1. EXPRESSO "2. FIRST CLASSb "3. PRIORITY h "4. END THE PROGRAM , 1 GET CLASS OF MAIL 3 614 @"PRESS THE NUMBER OF YOUR CHOICE: "; JC$ O P CHECK FOR VALIDITY 73, 3, 169, 0, 141, 207, 3, 173, 0, 224Jh 205, 208, 2, 208, 24, 173, 0, 208, 205, 209, 2, 208, 16, 173, 0, 212, 205, 210, 2, 208, 8, 173, 0, 216, 205, 211, 2, 240, 56, 173, 136, 192, 173, 0, 224, 205, 208, 2, 240, 6Kr 173, 128, 192, 76, 161, 3, 17  POSTAGE RATES9 DETERMINES POSTAGE FEESV( FOR EXPRESS, 1ST CLASSn2 AND PRIORITY MAILt7< V2 09/01/82F BY JOHN SCRIBBLEMONGER Kd MENU OF POSTAGE CLASSESik(21)nxTITLE$"POSTAGE RATES"     A5NN0:LL2KK14NN1:DETERMINE IF MENU CAN BE DOUBLE-SPACED:MM3:COL80MM9:SELECT LEFT MARGIN OFFSET: 3 IF 40 COLUMN, 9 IF 80 COLUMN?JJ3MM:LL9JJ4MM:IF MORE THAN 9 ITEMS, INDENT NAME OF EACH BY 1 MORED I* PRINT MENU * RIPTIONS ARE AVAILABLE!AN$""*!II1&KKKK((MENU$(II))(2735(COL801))):APPROXIMATE NUMBER OF EXTRA LINES MENU ITEM WILL TAKE+II12ĭMENU$(II1)"End"MENU$(II1)"end"MENU$(II1)"END"IIII1:5500LLII:NUMBER OF MENU ITEMSJĺ" ";:36,L:M1:(136);:JJ15J0AN$""IJAN$(AN$,J)R149tP136265:* BACK ARROW KEYJĺ" ";:36,L:M1:(136);:I$(AN$,1)I$:JJ1J0AN$""JAN$(AN$,J)149 P141AN$AN$I$:I$;" "::* RETUR7SAKEY1 16368,0:K0:I0^ OAKEYOA$(P128):AN$AN$I$:I$;" "::* OPEN-APPLE KEY SAKEYSA$(P128):AN$AN$I$:I$;" "::* SOLID-APPLE KEY P159P255ĭJ(I$)FLĭNAN$AN$(P128):JJ1:(P);:149 P255240:DELETE KEY%03):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ONO "_";I$;" ";t N1:L(33)1(37)(35)1N0 36,L:M1 II1:I0K1K:I5:(3263K); 36,L:M1 P(16384):P128170 (16287)127OAKEY1 (16286)12EN-APPLE KEY),SA (FOR SOLID-APPLE KEY),UP,DO (DOWN),FL,I$,OA$,SA$,AN$Y * TAKE INPUT * I5:J0:K0:L0:M0:I$"":ESC0:OA0:OA$"":SA0:SA$"":AN0:FL0FL245 AIIEĄ"";AN$: AN$;:J(AN$) M(37)> L(36):COL80ĭL(1147)L(14-APPLE, OPEN-APPLE, OR ESC KEY, RESPECTIVELY ABOVE 3 KEYS ARE ONLY READ IN AN APPLE IIE: PROVIDE SOME OTHER METHOD OF SIGNALLING FOR AII AND AII+ OWNERSE THE ROUTINE USES (AND MAY CHANGE THE VALUES IN) I,J,K,L,M,P,FL,ES (FOR ESCAPE KEY),OA (FOR OPIF YOU WANT A "DEFAULT" (SUPPLIED-BY-YOU) ANSWER, PUT IT IN AN$. FOR EXAMPLE: AN$= "CAT" }UPON RETURN, AN$ (ANSWER$) WILL CONTAIN THE INPUT FROM THE USER, ~SAKEY, OAKEY, OR ESCKEY WILL BE SET TO TRUE (WILL EQUAL 1) IF THE USER HAS PRESSED THE SOLIDL/ 1000#:(21)::33,33:>d*** INPUT ROUTINE ***biUSES FLASHING UNDERLINE CURSORnYOU MAY SET THE NUMBER OF CHARACTERS THE USER MAY TYPE (THE FIELD LENTH) IN THE VARIABLE FLsA FIELD LENTH OF 0 (FL=0) ALLOWS THE MAXIMUM INPUTY xR'S CHOICE IS RETURNED IN BOTH AN$ AND AN  IF FROM$ HAS A TITLE IN IT, ESCFLAG WILL BE 1 IF USER WANTS TO GO BACK TO CALLING MENU. MAIN MENUS SHOULD MAKE FROM$="" (NOTHING) J0:K0:JJ0:KK0:LL0:MM0:NN0:OO0:AN0OOOA:STORE WHETHER DESCPUT MENU ITEMS IN MENU$(1) THROUGH MENU$(12). REMEMBER TO DIM MENU$(12) IF MORE THAN 10 ITEMS PROGRAM USES INPUT ROUTINE AND SCREEN FORMATTER. ALL VARIABLES AFFECTED BY THEM AS WELL AS II, JJ, KK, LL, MM, NN, OO,PP, AN, II$ ARE AFFECTED*USERIABLE FLC s A FIELD LENGTH OF 0 (FL=0) ALLOWS THE MAXIMUM INPUT xIF YOU WANT A "DEFAULT" (SUPPLIED-BY-YOU) ANSWER, PUT IT IN AN$. FOR EXAMPLE: AN$= "CAT" }UPON RETURN, AN$ (ANSWER$) WILL CONTAIN THE INPUT FROM THE USERt ~SAKEY, OAKEY, OR ESCDD%MAGIC MENU - SEPT, 1982 BY TOG/1000G:(21)::33,33:bd*** INPUT ROUTINE ***fSEPT, 1982 BY B. TOGNAZZINIiUSES FLASHING UNDERLINE CURSOR nYOU MAY SET THE NUMBER OF CHARACTERS THE USER MAY TYPE (THE FIELD LENGTH) IN THE VA                    IROW1ROW(0,39ROW6ROWROW1GROW16ī420 (AN$) M(37)t L(36):COL80ĭL(1147)L(1403):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ON "_";I$;" "; N1:L(33)1(37)(35)1N0 36,L:M1 II1:I0K1K:I5:(3263K); 36,L:M1 P(16384): MAY CHANGE THE VALUES IN) I,J,K,L,M,P,FL,ES (FOR ESCAPE KEY),OA (FOR OPEN-APPLE KEY),SA (FOR SOLID-APPLE KEY),FL,I$,OA$,SA$,AN$ * TAKE INPUT * I5:J0:K0:L0:M0:I$"":ESC0:OA0:OA$"":SA0:SA$"":FL0FL245 AIIEĄ"";AN$: AN$;:JKEY WILL BE SET TO TRUE (WILL EQUAL 1) IF THE USER HAS PRESSED THE SOLID-APPLE, OPEN-APPLE, OR ESC KEY, RESPECTIVELY ABOVE 3 KEYS ARE ONLY READ IN AN APPLE IIE: PROVIDE SOME OTHER METHOD OF SIGNALLING FOR AII AND AII+ OWNERS THE ROUTINE USES (AND868::AN$"":735e%aABOVE LINE CHECKS FOR A SINGLE SPACE AS ANSWER (OTHERWISE, A SPACE IS A ZERO)%fJJLLĺ" --> ";JJ;" IS TOO LARGE <--";:868::AN$"":735%kJJ1ĺ" --> 0 IS TOO SMALL <--";:868:AN$"":735&pANII::::EXIT POGITS <--";:868::AN$"":735$WABOVE LINE CHECKS FOR PRESENCE OF NON-NUMERIC CHARACTERS OTHER THAN SPACE IN THE LINE; IF FOUND, THE LINE IS REJECTED%\JJĭ(AN$)K0:I1(AN$):J((AN$,I)):KK(J48):I:Kĺ" --> PLEASE USE DIGITS <--";:(AN$):JJ0JJLLIIJJ:ISOLATE NUMBER FROM AN$ AND MAKE II EQUAL ITY#H(AN$)0735#MOOĭAIIE((AN$,1)"?"(AN$,1)"/")ĭII0IILLOAKEY1:880$R(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:Kĺ" --> PLEASE USE DI ;"/JJ(AN$):JJ0JJLLIIJJ:880:EXIT MENU FOR HELP"4JJ0ĺ"--> PLEASE SELECT A NUMBER FIRST <--";:868::AN$"":735"9SAKEY735:SOLID-APPLE KEY NOT USED FOR MENU">ESCKEYĭ(FROM$)880:IF ESCAPE KEY IS PRESSED, MENU IS EXITEDG#CJJТM1:L1!"";AN$8! END OF AII AND AII+ ROUTINE @!19P! OAKEY825!%OOOA$"?"OA$"/"735:HELP NOT AVAILABLE (OO WAS SET TO VALUE OF OAKEY AT BEGINNING OF ROUTINE) OR WRONG KEY PRESSED"* JJ WILL NOW BE USED TO HOLD LENGTH OF AN$:II+' I0:J0:M(37):L(36):OAKEY0M II1:I0K1K:I5:J1J::JĞb " ";:36,L:M1} P(16384):P128755 :ABOVE PRINTS A BLINKING CURSOR THE HARD WAY P155Ĺ16368,0:ESCKEY1:795:ESC PRESSED FIRST ! L(36):20:1:868: item: press RETURN":400:^FL3:AN$"":SET-UP VALUES FOR INPUT ROUTINE BEFORE CALLING ITg ** GET INPUT FROM USER **17:17:868:17 AIIE(FROM$)İ100:795:THE LINES THAT FOLLOW ARE TO PICK UP AN ESC PRESS ON AN APPLE II OR OOAN$"To select: enter a number from 1 to "(LL):400::AN$"(There are no descriptions available)"q400:~OO725AIIEĺ"For descriptions: press OPEN-APPLE-?"AIIEĺ"FOR DESCRIPTIONS: FOLLOW ANSWER WITH ?"AN$"To go to selected:17:AN$"Select option >":400:<II1(33):"_";:cOOAIIEĺ:IF ROOM, SPACE DOWN1(FROM$)AN$"For "FROM$": press ESC":400AIIEĺ"To erase: use the DELETE key"AN$"To select: type a number from 1 to "(LL)f LINE FIRSTYv32,JJ:33,(33)JJ::SET "WINDOW" SO THAT TEXT OF MENU ITEM IS INDENTED{AN$MENU$(II):400:PRINT MENU ITEM32,0:33,(33)JJ::"RESTORE" FULL WINDOWNNĺII(37)16ĺ"TOO MANY MENU ITEMS OR TOO LONG LINES.":$N:@SAN$TITLE$:400:36,(33)(SUBTITLE$)1:AN$SUBTITLE$IX400c]II1(33):"_";::ybPRINT SELECTIONSgII1LLlMM:II;". "; q(37):COL80Ģ(1531):BELOW PRINT MOVES DOWN 1 LINE: THIS COMMAND IS A TRICK TO MOVE UP EXACTLY 1,6HUE115@HUE,JROW039:T0,39ROWC^ROWNhHUE1_rCOLUMN039p|0,39COLUMN|COLUMNHUE T17:17:868:17/AIIE(FROM$)İ100:795SI0:J0:M(37):L(36):OAKEY0yII1:I0K1K:I5:J1J::JĞ" ";:36,L:M1P(16384):P128755P155Ĺ16368,0:ESCKEY1:795 L(36):20:1:868:M1:L1"";AN00::AN$"(There are no descriptions available)";400:HOO725zAIIEĺ"For descriptions: press OPEN-APPLE-?"AIIEĺ"FOR DESCRIPTIONS: FOLLOW ANSWER WITH ?"AN$"To go to selected item: press RETURN":400:FL3:AN$""00:II1(33):"_";:-OOAIIEĺ_(FROM$)AN$"For "FROM$": press ESC":400eAIIEĺ"To erase: use the DELETE key"AN$"To select: type a number from 1 to "(LL)0OOAN$"To select: enter a number from 1 to "(LL):433):"_";::gII1LL,lMM:II;". ";Gq(37):COL80Ģ(1531)av32,JJ:33,(33)JJ:x{AN$MENU$(II):40032,0:33,(33)JJ:NNĺII(37)16ĺ"TOO MANY MENU ITEMS OR TOO LONG LINES."::17:AN$"Select option >":4))T+II12ĭMENU$(II1)"End"MENU$(II1)"end"MENU$(II1)"END"IIII1:550^0LLIIx5NN0:LL2KK14NN1:MM3:COL80MM9?JJ3MM:LL9JJ4MMN:SAN$TITLE$:400:36,(33)(SUBTITLE$)1:AN$SUBTITLE$X400 ]II1(OL80ĭP(1147)P(1403)-(AN$)ĭP0ĺ=(AN$)410aP0ĭ(I$,(I$),1)" "ĺ" ";g *** THE MENU PROGRAM *** J0:K0:JJ0:KK0:LL0:MM0:NN0:OO0:AN0OOOAAN$""!II1&KKKK((MENU$(II))(2735(COL801)33)I$AN$:AN$"":440*J(33)P2:IJLII1:Iĭ(AN$,I,1)" "425YI1IJiI0ĺ:410I$(AN$,I1):(AN$)IAN$(AN$,(AN$)I)AIIEĺI$;AIIEK(I$)1:I1(I$):J((I$,KI)):(J32(J96J123));:IP(36):C(37)23Ģ23 r! w16368,0:C  *** SCREEN FORMATTER *** V I(AN$):Iı~ P(36):COL80ĭP(1147)P(1403) PĭI1ĭ(AN$)32AN$(AN$,I1) P2I(33)AIIEĺAN$;" ";:AN$"": I1ĭ(AN$,1)" "AN$(AN$,I1)PI( RETURN **  6AIIE3253 ;AN$:(AN$)13315; @:K EI0:J0:K0q JII1:I0K1K:I5:(3263K); OI5355 TL(36):COL80ĭL(1147)L(1403) YL0Ĺ36,(33):(37) ^L0Ĺ36,L1 cP(16384):P141330 h" "; m$:JJ1 J0AN$""+ JAN$(AN$,J)4 149T P141AN$AN$I$:I$;" ":d P149294t (I$)149 AN$AN$(I$,1):JJ1:(I$,1); (I$)1I$"" "(I$)I$(I$,(I$)1) $149 &P155ESCKEY1:: (149 , ** GET128):AN$AN$I$:I$;" ":] P159P255ĭJ(I$)FLĭNAN$AN$(P128):JJ1:(P);:149m P255240 Jĺ" ";:36,L:M1:(136);:JJ1 J0AN$"" JAN$(AN$,J) 149 P136265 Jĺ" ";:36,L:M1:(136);:I$(AN$,1)I1(37)(35)1N0# 36,L:M1I II1:I0K1K:I5:(3263K);X 36,L:M1s P(16384):P128170 (16287)127OAKEY1 (16286)127SAKEY1 16368,0:K0:I0 OAKEYOA$(P128):AN$AN$I$:I$;" ": SAKEYSA$(P:(21)::33,33:9d *** INPUT ROUTINE *** I5:J0:K0:L0:M0:I$"":ESC0:OA0:OA$"":SA0:SA$"":FL0FL245AIIEĄ"";AN$:AN$;:J(AN$)M(37)L(36):COL80ĭL(1147)L(1403)"_";I$;" "; N1:L(33)       HUE0$COLUMN03556LINE03010DHUEHUE1VHUE15HUE0_HUEtROWLINELINE9COLUMN,COLUMN4ROWROWLINECOLUMNSF HELP IS AVAILABLE {PUT MENU ITEMS IN MENU$(1) THROUGH MENU$(12). REMEMBER TO DIM MENU$(12) IF MORE THAN 10 ITEMS PROGRAM USES INPUT ROUTINE AND SCREEN FORMATTER. ALL VARIABLES AFFECTED BY THEM AS WELL AS II, JJ, KK, LL, MM, NN, OO,PP, AN, 80ĭP(1147)P(1403)+(AN$)ĭP0ĺ;(AN$)410_P0ĭ(I$,(I$),1)" "ĺ" ";eo *** MENU MAKER ***SUPPLY PROGRAM TITLE IN TITLE$, MENU TITLE IN SUBTITLE$, CALLING MENU TITLE (WHERE USER CAME FROM) IN FROM$, OA=1 IJ(33)P2:IJ4II1:Iĭ(AN$,I,1)" "425AI1IJQI0ĺ:410I$(AN$,I1):(AN$)IAN$(AN$,(AN$)I):ISOLATE 1 LINE IN I$AIIEĺI$;AIIEK(I$)1:I1(I$):J((I$,KI)):(J32(J96J123));:IP(36):COLL80ĭP(1147)P(1403):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ONzPĭI1ĭ(AN$)32AN$(AN$,I1)P2I(33)AIIEĺAN$;" ";:AN$""::EXPRESS CHECK-OUTI1ĭ(AN$,1)" "AN$(AN$,I1)PI(33)I$AN$:AN$"":440VALENT OF PRINT AN$;" ";L USES AIIE SET BY COMPUTER IDENTIFIER ROUTINE}USUALLY LEAVES 1 EXTRA BLANK AT END OF LINEPERFORMS WORD-WRAP AND WILL CONVERT LOWER- TO UPPER-CASE IF USED INSIDE AN APPLE II OR II+I(AN$):IıSP(36):COREEN FROM SCROLLINGr)w16368,0:2 Q*** SCREEN FORMATTER *** rSTRING TO BE PRINTED IN AN$IF 80 COLUMN BOARD IS TURNED ON, MAKE SURE COL80 = 1. IF BOARD IS NOT TO BE USED, MAKE SURE COL80 = 0.USES I,J,I$ROUGH EQUID TURNED ON%YL0Ĺ36,(33):(37)7^L0Ĺ36,L1acP(16384):P141330:NOT A RETURNkh" ";m(37)23Ģ23:PEEK(37) CONTAINS CURRENT VTAB POSITION -1. IF ON BOTTOM LINE (VERY COMMON WITH WAIT-FOR-RETURN-KEYS) MOVE UP ONE TO PREVENT SC9 * !,** GET RETURN ** 51USES I,J,K,L,PC6AIIE325\;AN$:(AN$)13315d@:tEI0:J0:K0JII1:I0K1K:I5:(3263K);OI5355 TL(36):COL80ĭL(1147)L(1403):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CAR$,J) 149; P141AN$AN$I$:I$;" "::* RETURN KEY`P149294:* FORWARD ARROW KEYp(I$)149AN$AN$(I$,1):JJ1:(I$,1);(I$)1I$"""(I$)I$(I$,(I$)1)$149&P155ESCKEY1:::ESCAPE KEY PRESSED(14P128):JJ1:(P);:1494P255240:DELETE KEY[Jĺ" ";:36,L:M1:(136);:JJ1kJ0AN$""JAN$(AN$,J)149P136265:* BACK ARROW KEYJĺ" ";:36,L:M1:(136);:I$(AN$,1)I$:JJ1J0AN$""JAN$(ANP128170$ (16287)127OAKEY1? (16286)127SAKEY1U 16368,0:K0:I0 OAKEYOA$(P128):AN$AN$I$:I$;" "::* OPEN-APPLE KEY SAKEYSA$(P128):AN$AN$I$:I$;" "::* SOLID-APPLE KEYP159P255ĭJ(I$)FLĭNAN$AN$(:I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735fJJLLĺ" --> ";JJ;" IS TOO LARGE <--";:868::AN$"":735kJJ1ĺ" --> 0 IS TOO SMALL <--";:868:AN$"":735pANII:::M5FMOOĭAIIE((AN$,1)"?"(AN$,1)"/")ĭII0IILLOAKEY1:880R(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735?\JJĭ(AN$)K0:I1(AN$):J((AN$,I)):KK(J48)$ 19 OAKEY8258%OOOA$"?"OA$"/"735^/JJ(AN$):JJ0JJLLIIJJ:8804JJ0ĺ"--> PLEASE SELECT A NUMBER FIRST <--";:868::AN$"":7359SAKEY735>ESCKEYĭ(FROM$)880CJJ(AN$):JJ0JJLLIIJJH(AN$)073RNXX124bY1X%lX,vY9"APPLE"@YGXP600X00000: KEYSTALL  100$ >  SUBROUTINES FOLLOWD J i  EXPRESS MAIL CALCULATIONo ~ W(W.99) TR(W)    FIRST CLASS CALCULATION  T.20(W.991).17  PRIORITY MAIL CALCULATION  C10000,11000,12000. EFLAG910D 60000: KEYSTALLP EFLAG0V _ 100e   FIND APPROPRIATE CODE  C1000,2000,3000 61000: FORMATTER    DISPLAY RESULTS  "POSTAGE NEEDED: $ ";T$ 6 P OR 11 O.) AFTER ENTERING THE WEIGHT, PRESSTHE RETURN KEY. ";L 868W "";W$g W1$(W$,1)s &W(W$) + WAS ENTERED WEIGHT VALID? 0W0(W1$"O"W1$"P")710 :(7);(7) D500   CHECK CONSISTENCY Q TC$"4"ė:. ^(C$)0(C$)4380> h(7);(7);G r330O |C$[ C(C$)a z  GET WEIGHT OF ITEM  16B "PLEASE ENTER THE WEIGHT OF THE PACKAGE: FOLLOWED BY AN O IF IN OUNCES, OR BY A P IF IN POUNDS. (FOR EXAMPLE, 2.7 21(TITLE$)2" TITLE$) 6: "1. EXPRESSO "2. FIRST CLASSb "3. PRIORITY h "4. END THE PROGRAM , 1 GET CLASS OF MAIL 3 614 @"PRESS THE NUMBER OF YOUR CHOICE: "; JC$ O P CHECK FOR VALIDITY  POSTAGE RATES9 DETERMINES POSTAGE FEESV( FOR EXPRESS, 1ST CLASSn2 AND PRIORITY MAILt7< V2 09/01/82F BY JOHN SCRIBBLEMONGER Kd MENU OF POSTAGE CLASSESik(21)nxTITLE$"POSTAGE RATES" RICK TO MOVE UP EXACTLY 1 LINE FIRSTrv32,JJ:33,(33)JJ::SET "WINDOW" SO THAT TEXT OF MENU ITEM IS INDENTED{AN$MENU$(II):400:PRINT MENU ITEM32,0:33,(33)JJ::"RESTORE" FULL WINDOWNNĺII(37)16ĺ"TOO MANY MENU ITEMS I* PRINT MENU * N:YSAN$TITLE$:400:36,(33)(SUBTITLE$)1:AN$SUBTITLE$bX400|]II1(33):"_";::bPRINT SELECTIONSgII1LLlMM:II;". ";$q(37):COL80Ģ(1531):BELOW PRINT MOVES DOWN 1 LINE: THIS COMMAND IS A TII:NUMBER OF MENU ITEMSZ5NN0:LL2KK14NN1:DETERMINE IF MENU CAN BE DOUBLE-SPACED:MM3:COL80MM9:SELECT LEFT MARGIN OFFSET: 3 IF 40 COLUMN, 9 IF 80 COLUMN?JJ3MM:LL9JJ4MM:IF MORE THAN 9 ITEMS, INDENT NAME OF EACH BY 1 MORED OOOA:STORE WHETHER DESCRIPTIONS ARE AVAILABLE:AN$""C!II1&KKKK((MENU$(II))(2735(COL801))):APPROXIMATE NUMBER OF EXTRA LINES MENU ITEM WILL TAKE+II12ĭMENU$(II1)"End"MENU$(II1)"end"MENU$(II1)"END"IIII1:5500LLII$ ARE AFFECTEDCUSER'S CHOICE IS RETURNED IN BOTH AN$ AND AN  IF FROM$ HAS A TITLE IN IT, ESCFLAG WILL BE 1 IF USER WANTS TO GO BACK TO CALLING MENU. MAIN MENUS SHOULD MAKE FROM$="" (NOTHING) J0:K0:JJ0:KK0:LL0:MM0:NN0:OO0:AN0/XNX:YNY 540 IXXXV:NYYYV< 0IF BALL EXCEEDS SCREEN EDGE, THEN BOUNCET DNX39NX39:XVXVj XNX0NX0:XVXV lNY39NY39:YVYV NY0NY0:YVYV PLOT NEW POSITION 7:NX,NY ERASE OLD POSITION 0:X,Y SAVE CURRENT POSITION !: SET COLOR GRAPHICS AREA8:CLEAR TEXT AREAsX0: SET STARTING POSITION OF BACK-AND-FORTH VARIABLEY5: SET STARTING POSITION OF UP-AND-DOWN VARIABLEXV2:SET X VELOCITYYV1:SET Y VELOCITYCALCULATE NEW POSITION N  RIORITY MAIL - "<X/"TRY ONE OF THE AIR EXPRESS COMPANIES"Hb/EFLAG1Nv/T]k^ UTILITY ROUTINESq_w`a KEYSTALLbj24t~"PRESS THE RETURN KEY TO CONTINUE...";A$HJ MONEY FORMATTERKR*+EFLAG14+.1. PRIORITY MAIL VERIFY7.J.W1$"P"12090Z.W1212080`./(7);(7);"TOO LIGHT FOR PRIORITY MAIL - "/"TRY FIRST CLASS"/EFLAG1&/121500/WW16:/W7012150D/N/(7);(7);"TOO HEAVY FOR P16t'WX10140~'b'(7);(7);"TOO HEAVY FOR MY TABLES - PLEASE CALL THE POST OFFICE"n'EFLAG1t'z** FIRST CLASS VERIFY*+W1$"O"W12.0111060 ++(7);(7);"TOO HEAVY FOR FIRST CLASS" +"TRY PRIORITY MAIL" T2.95 W13T21.42* W14T21.906 TT1T2< B']' EXPRESS MAIL VERIFYc'' 9.35,9.35,9.55,9.90,10.30,10.65,11.00,11.40,11.75,0 $'X0.'XX18'R(X)B'R(X)010070L'10030V'XX1`'W1$"P"10100j'WW W4.5W5T3.97+ W5W6T4.44@& W6W7T4.92U0 W7W8T5.39j: W8W9T5.87D W9W10T6.35N 3240X Y PRIORITY RATES OVER 10 LBSZ b T1(W51)2.383.97l W1W(W5)5v W11T2.47 W12  W(W.99)" W103160( G PRIORITY RATES TO 10 LBSM ^ W1T2.24u W1W1.5T2.30 W1.5W2T2.54 W2W2.5T2.78 W2.5W3T3.01 W3W3.5T3.25 W3.5W4T3.49 W4W4.5T3.73D, MENU IS EXITED`#CJJ(AN$):JJ0JJLLIIJJ:ISOLATE NUMBER FROM AN$ AND MAKE II EQUAL ITr#H(AN$)0735#MOOĭAIIE((AN$,1)"?"(AN$,1)"/")ĭII0IILLOAKEY1:8807$R(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:KED TO HOLD LENGTH OF AN$: T"/JJ(AN$):JJ0JJLLIIJJ:880:EXIT MENU FOR HELP"4JJ0ĺ"--> PLEASE SELECT A NUMBER FIRST <--";:868::AN$"":735"9SAKEY735:SOLID-APPLE KEY NOT USED FOR MENU#>ESCKEYĭ(FROM$)880:IF ESCAPE KEY IS PRESSE"! L(36):20:1:868:M1:L1.!"";AN$Q! END OF AII AND AII+ ROUTINE Y!19i! OAKEY825!%OOOA$"?"OA$"/"735:HELP NOT AVAILABLE (OO WAS SET TO VALUE OF OAKEY AT BEGINNING OF ROUTINE) OR WRONG KEY PRESSED"* JJ WILL NOW BE US PRESS ON AN APPLE II OR II+@ I0:J0:M(37):L(36):OAKEY0f II1:I0K1K:I5:J1J::JĞ{ " ";:36,L:M1 P(16384):P128755 :ABOVE PRINTS A BLINKING CURSOR THE HARD WAY P155Ĺ16368,0:ESCKEY1:795:ESC PRESSED FIRSTAN$"To go to selected item: press RETURN":400:wFL3:AN$"":SET-UP VALUES FOR INPUT ROUTINE BEFORE CALLING IT ** GET INPUT FROM USER **17:17:868:17 AIIE(FROM$)İ100:795:THE LINES THAT FOLLOW ARE TO PICK UP AN ESC from 1 to "(LL)OOAN$"To select: enter a number from 1 to "(LL):400::AN$"(There are no descriptions available)"400:OO725AIIEĺ"For descriptions: press OPEN-APPLE-?"AIIEĺ"FOR DESCRIPTIONS: FOLLOW ANSWER WITH ?"4 OR TOO LONG LINES.":=:17:AN$"Select option >":400:UII1(33):"_";:|OOAIIEĺ:IF ROOM, SPACE DOWN1(FROM$)AN$"For "FROM$": press ESC":400AIIEĺ"To erase: use the DELETE key"AN$"To select: type a numberSE12000:PAUSE 100dX Z ASSIGNS RND NUMBER TO X:dX(1):"X=RND(1) ",X@iYn MULTIPLIES X BY 10qxXX10:"X=X*10 ",Xw} CHOPS OFF THE FRACTIONX(X):"X=INT(X) ",X ADDS 1 TO THE VALUE OF XXX1:"X=X+1 ",X: PAU .*** "help" SCREEN ***.-.#COL80Ģ4Z.(AN$"A few words about the sample menu:"i.2400:::A/<AN$"The following menu has six selections, only two of which actually do something. The first selection shows you a familiar example of the flas this input routine, select option 1 from the following menu.)K-400::-AN$"5. GET RETURN: waits for you to press RETURN. It is waiting now..."-400::-AN$"Press RETURN to continue.":400:300:PRINT PROMPT: WAIT FOR A RETURN- utes, instead of days. (A sample menu follows.)">,400::,AN$"4. INPUT: is the flashing-underline cursor routine you learned on Apple Presents...APPLE.":400,AN$"":AIIEAN$"(Pick 1 from menu.)">-COL80AN$" (To reacquaint yourself withtead of in the middle of them."+COL80İ400:AN$" It would also automatically convert all lower-case letters to capitals if the program were run on an Apple II or II+."+400::1,AN$"3. MENU MAKER: lets you create uniform, friendly menus in min four routines use the information from COMPUTER IDENTIFIER to let your software take full advantage of whatever Apple computer it is run on."*t400::*~AN$"2. SCREEN FORMATTER: ":400+AN$"printed out this text, ending lines between words, ins"1. COMPUTER IDENTIFIER: says you are now using an Apple":400^)BRESULT0AN$"II OR II+."x)LRESULT32AN$"IIe.")VRESULT64AN$"IIe with an 80-Column Card.")`RESULT128AN$"IIe with a Memory-Expansion Card."*jCOL80İ400:AN$"The other,((33)(AN$))2:400::CENTER TITLE($:AN$"Magic Menu has five basic subroutines upon which you can build your programs:"(.400::COL80ĺ:BY CHANCE, THE SECOND LINE IS JUST LONG ENOUGH TO CAUSE AN EXTRA CARRIAGE RETURN IN 40-COLUMN MODE?)8AN$N 80-COLUMN CARD IS PRESENT, USE IT. IF YOU DON'T WANT IT, CHANGE THE LINE TO: 1025 PRINT CHR$(21) ':::TEXT CLEARS ANY OLD WINDOWS: PRINT CLEARS OUT ANY OLD HTAB AND VTAB INFORMATION: HOME CLEARS THE SCREEN':&(AN$"*** Magic Menu ***":36-&pANII::::EXIT POINT FOR MENU PROGRAM7&u Q&*** MAIN PROGRAM ***&I0:AN$"":J0:I$"":K0:DECLARE MOST OFTEN USED VARIABLES FIRST FOR SPEED.&63000:FIND OUT IF AIIE OR NOT&ME$(20)d'RESULTS64COL801:(4);"PR#3":IF APLEASE USE DIGITS <--";:868::AN$"":735~%aABOVE LINE CHECKS FOR A SINGLE SPACE AS ANSWER (OTHERWISE, A SPACE IS A ZERO)%fJJLLĺ" --> ";JJ;" IS TOO LARGE <--";:868::AN$"":735&kJJ1ĺ" --> 0 IS TOO SMALL <--";:868:AN$"":735" --> PLEASE USE DIGITS <--";:868::AN$"":735$WABOVE LINE CHECKS FOR PRESENCE OF NON-NUMERIC CHARACTERS OTHER THAN SPACE IN THE LINE; IF FOUND, THE LINE IS REJECTED+%\JJĭ(AN$)K0:I1(AN$):J((AN$,I)):KK(J48):I:Kĺ" --> PAIR OF COORDINATES' X((1)37)1: Y((1)38)1@ OFEET AND WHITE FACE + BODY2: DARK BLUE> FEET9:ORANGER FACE15: WHITE\ 1000b  DRAWS ORANGE HORSE WITH PINK FEET AND GREEN FACE BODY9: ORANGE FEET11: PINK FACE12: DARK GREEN 1000  CHOOSES A RANDOMIN SCREEN BODY X1X1/ X37X37< Y1Y1K Y38Y38h X,Y1: CENTER OF HORSE X,X2Y: REST OF BODY FEET X,Y1: FRONT FOOT $X2,Y1: REAR FOOT .FACE 8X1,Y1 B  DRAWS BLUE HORSE WITH ORANGE A SET GRAPHICS MODE; CHOOSE A RANDOM POINTE(3000b2 PUT A BLUE HORSE THEREl<2000F CHOOSE ANOTHER RANDOM POINTP3000Z PUT AN ORANGE HORSE THEREd2500n DO IT ALL AGAINx30  PUT A HORSE ANYWHERE WITH   :%HT4Z:*AN$"right of the "(34)"t"(34)" in the word "(34)"lot"(34):400:`:,j:/HT1:4AN$"2. Press the DELETE key several times":400::9HT4:>AN$"to erase the words "(34)"whole lot"(34):400:::CHT1#;HAN$"3.I((33)(AN$))2:36,II:POKE 36,X IS THE SAME AS HTAB X-1, EXCEPT IT WORKS WITH EITHER 40 OR 80-COLUMN MODESz9400:9 36,II:" ----"9HT:AN$"by doing the following:":400::9HT19 AN$"1. Press left arrow to back up to the":400:LY ON AN APPLE IIE COMPUTER.":10:400::8(21):TURN OFF 80 COLUMN MODE IF IT IS ON. TRY REMOVING THIS LINE TO SEE EFFECT ON PROGRAM8:HT1:(33)40HT21:HT8"Correct the answer in the box to read":400:8AN$"A herd of cattle"o9I00,9400,9500,9600,9725,9825,9925O7:AN$"Press RETURN to go to the menu.":400i7D300:WAIT FOR RETURNw7NAN$HOLD$}7X7bBLANK LINES ARE DONE BY PRESSING THE DOWN-ARROW KEY 7*** INPUT SAMPLE ****8AIIEAN$"SORRY, THIS SAMPLE WORKS ONMODE.6AN$"Press RETURN for the menu.":400H6300:WAIT FOR RETURN6COL80Ģ22::(4);"PR#3":OPTION 1 TURNS OFF 80-COL CARD (IF ANY). THIS TURNS IT BACK ON615106 6*** GO TO HELP ***6::86HOLD$AN$ 7&AN9000,9200,93ESKEYī7000:RETURN TO DISK MENU-5rAN$""45|85AN2000,3000,4000,5000,6000,7000:RETURN PRESSED, SO GO TO THE SELECTED SECTION5246AN1Ĺ36,0:COL80Ĺ1147,255:THESE 2 POKES ARE EQUIVALENT TO HTAB 1, BUT WORK IN EITHER 40 OR 80 COLUMN the Disk Menu":SEE NOTES FOLLOWING LINE 9060 OF DISK MENU4JMENU$(7)"END":MENU PROGRAM KEEPS DISPLAYING ITEMS UNTIL IT FINDS THE WORD "END"4TOAKEY1:HELP AVAILABLE; OPEN-APPLE KEY WILL BE READ4^5004hOAKEYİ1810:1510:"HELP" ASKED FOR"5mnu":SEE NOTES FOLLOWING LINE 9060 OF DISK MENU PROGRAMd3MENU$(1)"A sample of the input routine"t3MENU$(2)""3"MENU$(3)""3,MENU$(4)""36MENU$(5)""3@MENU$(6)"End the program";4E(6)99(7)99MENU$(6)"End the program and return toess RETURN to go to the menu.":400:30002 L2** SAMPLE MAIN MENU **f2** MAIN MENU LOOP **2TITLE$"Magic Menu":TITLE OF MENU2SUBTITLE$"Main Menu":TITLE OF MENU OR SUBSECTION OF PROGRAM73FROM$"":(6)99(7)99FROM$"the Disk Me":AIIEAN$"1, then press OPEN-APPLE-?"51400::B1COL80ĺ1AN$"Explore the menu, then review the listings in Appendix E of the Applesoft Tutorial Manual for details on how to use these routines in your own programs."1400:(224:AN$"Pr 0_COL80ĺ0dAN$"The Menu Maker enables you to give a description of each menu item, so the user needn't first wade through pages of "(34)"directions"(34)":"0n4000xAN$"to see the description of option 1, type"0400(1AN$"1? RETURNhing-cursor input routine; the last selection exits the program."J/F400/PCOL80AN$" The other four selections are there to take up space on the menu and in the program, so you can see how a more elaborate program would be structured.":400/Z:S: FIRST LINE BLACK, NEXT WHITEO  DRAW LINE THRU "CENTER" TO OPPOSITE SIDEj 279,YSA,B0,159YSs S,Y PAUSE11500:PAUSE: DELAY 120: DRAW A NEW PATTERN1P THRU A VALUES3 S01: 2 LINES,FROM X AND X+1[ 7S: FIRST LINE BLACK, NEXT WHITE  DRAW LINE THRU "CENTER" TO OPPOSITE SIDE ,XS,0A,B279XS,159 @S,X TY0158N: STEP THRU B VALUES hS01: 2 LINES, FROM Y AND Y+1 |7ʵP MOIRE PROGRAMZ@d24: MOVE CURSOR TO BOTTOM LINE]x: SET HI-RES GRAPHICSA(1)279: PICK AN X FOR CENTERB(1)159: PICK A Y FOR "CENTER"N((1)4)2: PICK A STEP SIZE15:"STEPPING BY ";N; X0278N:STE  BF%AN$"This option lets you gracefully exit the program.":400LF%:24RF%XF'qF*** COMPUTER ID ***F"*** AIIE OR NOT? ***F, USES I,J,K,RE -- SETS AIIE TO 1 IF IT IS AN AIIEF6SETS RESULT DEPENDENT ON AVAILABLE HARDWAREG@RESULT available for this option.":400+E"$:241ES$sET$AN$"There is no option available for this description.":400}E$:24E$E$AN$"Sample help screen for option 4":400E$:24E%E%AN$"Sample help screen for option 5":400EN%:24F%annot take advantage of this cursor directly, but using it in your programs will make it easier for others."D#AIIEAN$"Select this option to reacquaint yourself with the underline cursor."D#400D#COL80ĺ:D#!E#AN$"There is no descriptionandard Applesoft BASIC blinking cursor.":4000>AN$"Sample routine number 4":4006>o]>pAN$"Sample routine number 5":400c>Wl>XEND ?]:DISK COMMANDS (SEE NEXT LINE) WILL NOT WORK IF THERE IS AN "OPEN" PRINT COMMAND SUCH AS A "PRINT;" OR "PRINT,". THEREFORE, ALWAYS DO A "PRIPLIED BY THE PROGRAM - THE USER CAN CHANGE IT)>= 100:INPUTF= 24w=$ AN$"A herd of cattle"AN$"Perfect! ":400=. AN$"A HERD of cattle"AN$"Very good!":400=8 = AN$"Sample routine number 2":400=>AN$"Sample routine number 3": |"::(37)@<HT2:"__________________________________"N<19:HT4<AN$"What is a "(34)"drift"(34)"?":400::<HT5<"> ";<GET INPUT< FL30: LENGTH OF FIELD.= AN$"A whole lot of cattle": THE "default" ANSWER (SUP Type "(34)"herd"(34):400::-;MHT1];RAN$"4. Now press the RETURN key to":400:g;WHT4;\AN$"accept the entire answer":400:;BOX;HT2;"__________________________________"<I04:HT1:"| TTER NUMBER ";N;" IN THE ALPHABET.") ITTER NUMBER ";P;" IN THE ALPHABET."+ :V ""TYPE A LETTER, AND I WILL TELL YOU " ,"WHERE IT IS IN THE ALPHABET. ";X$ @N1(A$) J(A$,N,1)X$ī380 TN ^ h"THAT IS NOT A LETTER OF THE ALPHABET.": r290 |# X$;" IS LE+ THE ALPHABET PROGRAM BA$"ABCDEFGHIJKLMNOPQRSTUVWXYZ"Hx"TYPE A NUMBER, FROM 1 THROUGH ";(A$);",""AND I WILL TELL YOU WHICH LETTER HAS THAT POSITION IN THE ALPHABET. ";PP(A$)P1ī210# (A$,P,1);" IS LE  90I$" degree":AN1I$" degrees"[90J$" degree":(FAHR10000)100001J$" degrees"90:AN$(AN)I$" Celsius = "(FAHR)J$" Fahrenheit":40090AN$TITLE$:110090AN124009090 :81:PROGRAMMER TO CREATE KELVIN CONVERSION ROUTINTITLE@8010:AN$"Enter degrees Celsius":400:AN$"":FL10:10080AN(AN$):AN0AN$"0"ĺ(7):12410:ONLY NUMBERS ALLOWED80AN273.1ĺ:AN$"One cannot have a temperature below Absolute 0 (-273.1 degrees Celsius)":400:1248080FAHRAN1.832$$" degrees"27/J$" degree":AN1J$" degrees"p7/:AN$(AN)J$" Fahrenheit = "(CEL)I$" Celsius":4007/AN$TITLE$:110070AN122007 070 7p0** CELSIUS --> FAHRENHEIT8z0:::AN$"Convert Celsius to Fahrenheit":400::FUNCTION ESULTS(J)"6RESULTS0AIIE16RESULTS OF 0 MEANS NOT A //E; 32 MEANS A//E BUT NO 80 COLUMNS; 64 MEANS A//E WITH 80 COLUMNS BUT NO AUX MEM; 128 MEANS A//E WITH AUX MEM6J0:124806/CEL(AN32)1.8 7/I$" degree":(CEL10000)100001IKI,LLLK&LRESULTS(J)=LRESULTS0AIIE1CLAK| 240, 3, 173, 128, 192, 40, 96, 169, 238, 141, 5, 192, 141, 3, 192, 141, 0, 8, 173, 0, 12, 201, 238, 208, 14, 14, 0, 12, 173, 0, 8, 205, 0, 12, 208, 3, 56, 176, 1, 24K 141, 4, 192, 141, 2, 192, 76, 29, 3, 234KJ975:K724KI0249KLL216, 205, 211, 2, 240, 56, 173, 136, 192, 173, 0, 224, 205, 208, 2, 240, 6Jr 173, 128, 192, 76, 161, 3, 173, 0, 208, 205, 209, 2, 240, 6, 173, 128, 192, 76, 161, 3, 173, 0, 212, 205, 210, 2, 240, 6, 173, 128, 192, 76, 161, 3, 173, 0, 216, 205, 211, 2247, 104, 176, 8, 169, 128, 141, 207, 3, 76, 73, 3, 169, 64, 141, 207, 3, 76, 73, 3, 169, 32, 141, 207, 3, 76, 73, 3, 169, 0, 141, 207, 3, 173, 0, 224JJh 205, 208, 2, 208, 24, 173, 0, 208, 205, 209, 2, 208, 16, 173, 0, 212, 205, 210, 2, 208, 8, 173, 0, 9, 192, 173, 129, 192, 173, 179, 251, 201, 6, 208, 73, 173HT 23, 192, 48, 60, 173, 19, 192, 48, 39, 173, 22, 192, 48, 34, 160, 42, 190, 162, 3, 185, 0, 0, 150, 0, 153, 162, 3, 136, 208, 242, 76, 1, 0, 8, 160, 42, 185, 162, 3, 153I^ 0, 0, 136, 208, S OF 0 MEANS NOT A //E; 32 MEANS A//E BUT NO 80 COLUMNS; 64 MEANS A//E WITH 80 COLUMNS BUT NO AUX MEM; 128 MEANS A//E WITH AUX MEM:HJ 8, 120, 173, 0, 224, 141, 208, 2, 173, 0, 208, 141, 209, 2, 173, 0, 212, 141, 210, 2, 173, 0, 216, 141, 211, 2, 173, 12        PRINT TOTAL: P$(SUM)5 ("TOTAL: ";:100N x REPEAT UNTIL FULL:_ ROW191030k 958:ALLS QUESTION MARK TN(N$)N ^N999999N.01ī310: POSITIVE NUMBERS ONLYZ hN$(N)` rw  * MAIN ROUTINE * : 300: GET NUMBER L MOVE DOWN AND PRINT N$ VROWROW1:ROW `P$N$:100  ADD NEW NUMBER TO SUM: SUMSUMNFOUND, USE IT CHAR3 LINE UP DP AND PRINT:J 868: CLEAR LINEY 15DP:P$_ v , * INPUT NUMBER * 621:1 @"WHAT DECIMAL NUMBER" J" WOULD YOU LIKE TO ADD? "; L958: CLEAR FROM HERE TO BOTTOM OF SCREEN O"";N$: "" KIm THE DECIMAL PROGRAM% 1000Ed * PRINT ALIGNED NUMBERS *bn P$ MUST CONTAIN NUMBER~x VTAB MUST BE PRE-DONE FIND DECIMAL POINT:DP(P$)1: SET ALIGNMENT BASED ON NO DPCHAR1(P$) (P$,CHAR,1)"."DPCHAR: IF DP    TWO. IT MAY HAVE UP TO ";N2;:" CHARACTERS. ";T2$L2(T2$)0ĺ(7):5280^2T2$"R"5450y2(T2$)N2ĺ(7):528023:1:868:CLEAR LINE FOR COLUMN NAMES2H1((21(T1$))2):H2C1((19(T2$))2):CALCULATE TAB VALUES3:H1:T1$;:H2::DECLARE LENGTHS OF LIST AND TAB SETTING1x:"ENTER THE TITLE FOR COLUMN ONE. IT MAY HAVE UP TO ";N1;:" CHARACTERS. ";T1$:PUT COLUMN TITLES IN1(T1$)0ĺ(7):52401T1$"R"54501(T1$)N1ĺ(7):524022:"ENTER THE TITLE FOR COLUMN NAME$"":5450: GO BACK TO MENU, MAKE NO LISTK0P(NAME$)25ĺ(7):51500Z(NAME$)65(NAME$)90ĺ(7):5150:FIRST CHARACTER IN NAME IS NOT AN ALPHA0dNAME$NAME$".LIST":ADD .LIST TO ALL LIST NAMES FOR EASY IDENTIFICATION)1nN119:N219:C121 LIST":/("REMINDER: THE NAME MUST START WITH A LETTER AND MAY NOT HAVE MORE THEN 25 CHARACTERS. '.LIST' WILL BE ADDED TO THE NAME. ";NAME$/2ANY INPUT AFTER A COMMA IS IGNORED INCLUDING THE COMMA/<(NAME$)0ĺ(7):5150.0FNAME$"R"T&.::11::"CREATE A NEW LIST":M.34,3:SET TOP OF SCROLLING WINDOW. 23:"PRESS R THEN RETURN TO RETURN TO MENU";:SET PROMPT LINE; SEMICOLON PREVENTS SCREEN SCROLLING.35,22: SET BOTTOM OF SCROLLING WINDOW/:"ENTER THE NAME OF YOURHOOSE WHICH COLUMN YOU WANT TO PUT IN ORDER."A--" THIS OPTION WILL SAVE THE LIST ON A DISK USING THE NAME THAT WAS FIRST GIVEN TO IT."--" SHOULD BE NO HELP NEEDED HERE.":-"OPTION9":.*** MAKE A NEW LIST$(T) \T(T)T$T$".00"=f((T$,2))46T$T$"0"Cp0 SEE CHAPTER EIGHT OF THE APPLESOFT REFERENCE MANUAL FOR A COMPLETELY DOCUMENTED VERSION OF THIS PROGRAM $K14, 14, 0, 12, 173, 0, 8, 205, 0, 12, 208, 3, 56, 176, 1, 24kL 141, 4, 192, 141, 2, 192, 76, 29, 3, 234{LJ975:K724LI0249LLLKI,LLLKLRESULTS(J)LRESULTS0AIIE1LS3, 0, 208, 205, 209, 2, 240, 6, 173, 128, 192, 76, 161, 3, 173, 0, 212, 205, 210, 2, 240, 6, 173, 128, 192, 76, 161, 3, 173, 0, 216, 205, 211, 2":400:II1(33):"_"; 6AIIE325&;AN$:(AN$)13315.@:>EI0:J0:K0dJII1:I0K1K:I5:(3263K);rOI5355TL(36):COL80ĭL(1147)L(1403):FIND CURRENT HORIZ POSITION WITH 80 COLUMN CARD TURNED ONYL0Ĺ36,(33):(37)^L0Ĺ36,LN KEY*P149294:* FORWARD ARROW KEY:(I$)149^AN$AN$(I$,1):JJ1:(I$,1);q(I$)1I$"""(I$)I$(I$,(I$)1)$149&P155ESCKEY1:::ESCAPE KEY PRESSED(149* ,** GET RETURN ** 1USES I,J,K,L,Porce" AN EXTRA CARRIAGE RETURN. SO, TO GET THE EXTRA SPACE IN 80-COLUMN MODE, WE MUST PRINT ONCE MOREB#AN$"Using the DELETE key and the flashing-cursor input routine included within this program,":400@C#AN$"you can scan forward and backward througRE PLEASING IN 80-COLUMN MODEA#AN$"The Apple IIe is equipped with a full ASCII keyboard, including the DELETE key, a new key for the Apple II series.":400fB#:COL80ĺ:BY COINCIDENCE, THE ABOVE SENTENCE, IN 40-COLUMN MODE, IS JUST LONG ENOUGH TO "fK MENU ASKED IT TO. SEE NOTES FOLLOWING LINE 9060 OF DISK MENU.`@::::CLEAN UP & GO AWAYt@(#*HELP SCREENS*z@#@#AN$"Option 1: the Apple IIe Input Routine"@#1@#((33)(AN$))2@#400::A#COL80Ģ7:A DIFFERENT SPACING LOOKS MODISK COMMANDS (SEE NEXT LINE) WILL NOT WORK IF THERE IS AN "OPEN" PRINT COMMAND SUCH AS A "PRINT;" OR "PRINT,". THEREFORE, ALWAYS DO A "PRINT" BEFORE ISSUING A DOS COMMAND?b(6)99(7)99ĺ(4);"RUN DISK MENU":@@lABOVE LINE RUNS DISK MENU IF DIS0:OO0:AN0OOOA AN$"")!II1U&KKKK((MENU$(II))(2735(COL801)))+II12ĭMENU$(II1)"End"MENU$(II1)"end"MENU$(II1)"END"IIII1:5500LLII5NN0:LL2KK14NN1:MM3:COL80MM9?JJ3MM:LL9JJ4MMN;JAIIEK(I$)1:I1(I$):J((I$,KI)):(J32(J96J123));:IrP(36):COL80ĭP(1147)P(1403)(AN$)ĭP0ĺ(AN$)410P0ĭ(I$,(I$),1)" "ĺ" "; *** MENU MAKER *** J0:K0:JJ0:KK0:LL0:MM0:NNP2I(33)AIIEĺAN$;" ";:AN$"":MI1ĭ(AN$,1)" "AN$(AN$,I1)oPI(33)I$AN$:AN$"":440J(33)P2:IJII1:Iĭ(AN$,I,1)" "425I1IJI0ĺ:410I$(AN$,I1):(AN$)IAN$(AN$,(AN$)I)AIIEĺI$tence.".N"Press OPEN-APPLE-RETURN to end."GXOAK0:34,2:35,18:Tb17:IN$l(16287)127ı:IS USER PRESSING OPEN-APPLE? YES, THEN RETURNvFF(1)F:SS(1)S:SELECT RANDOM SENTENCE17FIRST$(FF);" ";LAST$(SS):AND PRINT ITTHE OPEN-APPLE KEY,(LAST$(S))0SS1:<OAK01670BHe** DISPLAY SENTENCES **kF0S0ı:IF THERE IS NOT AT LEAST 1 COMPLETE SENTENCE, CANCEL&::90"Scrambled sentences:":20D"Press RETURN for a new sen HALVES ***JT:1:98^"... the second half"@h20lr"Type the second halves of sentences."|S0:OAK0:34,2:35,18::SET UP SECOND HALF SAME WAY AS FIRSTLAST$(S)(16287)127OAK1:CHECK QUICKLY TO SEE IF USER IS HOLDING d program and go to Disk Menu"% j 0 ~ AN$""O OAKEY0:NO HELP AVAILABLEa 500:DO MENU ESCFLAGTHE22000:SEE NOTES FOLLOWING LINE 9060 IN THE DISK MENU PROGRAM AN11000,12000,13020,14000,15000,16000,17000,18000,19000,20000,21000,22000$MENU$(2)"TEMPERATURE MEASURES"B MENU$(3)"SPEED MEASURES"R MENU$(4)""b MENU$(5)""r$ MENU$(6)"". MENU$(7)""8 MENU$(8)""B MENU$(9)""L MENU$(10)""V MENU$(11)""` MENU$(12)"End the program" e (FROM$)MENU$(12)"Enress RETURN to continue.":400:300)1 H*** MAIN MENU ***uTITLE$"Converter":SUBTITLE$"Main Menu"FROM$"":(6)99(7)99FROM$"the Disk Menu":SEE NOTES FOLLOWING LINE 9060 IN THE DISK MENU PROGRAMMENU$(1)"LINEAR MEASURES"en samples, how to alter the program":400rfAN$"to provide you the conversions you will find useful.":400::pAN$"Through this learning process, you will gain insight into altering other programs to suit your needs.":40023#AN$"Program is structured to provide hundreds of conversions, but it is now in skeleton form":400RAN$"-- that is, only a few sample conversions are provided. The intent":400*\AN$"is for you to learn, through studying the program listings and the givAN$"*** Converter ***":36,((33)(AN$))2:400::CENTER TITLEV ::COL80Ģ6*AN$"Converter is a program to convert"/4004AN$"measurements from one form to another,":400>AN$"such as kilometers to miles.":400::]HAN$"The pONS - 1982863000:SET AIIE TO TRUE (1) OR FALSE (0)RESULTS64COL801:(4);"PR#3":IF AN 80-COLUMN CARD IS PRESENT, USE IT. IF YOU DON'T WANT IT, CHANGE THE LINE TO: 1025 PRINT CHR$(21) ::I0:AN$"":J0:I$"":K0MENU$(12)D1:22:958:AN$II$:400:FL2:100k~I0:(AN$)I(AN$):I("Y")I("y")I("N")I("n")1145xI1145AN0:I("y")I("Y")AN1*** BEGIN PROGRAM *** THE CONVERTER - A PROGRAM SKELETON USED FOR MEASUREMENT CONVERSIUTINES ***6SOME SPECIAL ROUTINES FOR THIS PROGRAMCLY OR N?kVPUT NAME OF CALLING ROUTINE IN AN$`UPON RETURN ,AN WILL BE 1 IF YES, 0 IF NOjUSES AN, AN$, I, II$otII$"Do you want to do another "AN$" conversion? (Y OR N) "$y(AN$):J((AN$,I)):KK(J48):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735fJJLLĺ" --> ";JJ;" IS TOO LARGE <--";:868::AN$"":735kJJ1ĺ" --> 0 IS TOO SMALL <--";:868:AN$"":735pANII::: *** SUBRO0JJLLIIJJ!H(AN$)0735fMOOĭAIIE((AN$,1)"?"(AN$,1)"/")ĭII0IILLOAKEY1:880R(AN$)K0:I1(AN$):J((AN$,I)):KK(J32(J48J57)):I:Kĺ" --> PLEASE USE DIGITS <--";:868::AN$"":735_\JJĭ(AN$)K0:I120:1:868:M1:L1!"";AN$)199 OAKEY825X%OOOA$"?"OA$"/"735~/JJ(AN$):JJ0JJLLIIJJ:8804JJ0ĺ"--> PLEASE SELECT A NUMBER FIRST <--";:868::AN$"":7359SAKEY735>ESCKEYĭ(FROM$)880CJJ(AN$):JJ:400FL3:AN$""117:17:868:17OAIIE(FROM$)İ100:795sI0:J0:M(37):L(36):OAKEY0II1:I0K1K:I5:J1J::JĞ" ";:36,L:M1P(16384):P128755P155Ĺ16368,0:ESCKEY1:795 L(36):mber from 1 to "(LL)!400:.OO720`AIIEĺ"For descriptions: press OPEN-APPLE-?"AIIEĺ"FOR DESCRIPTIONS: FOLLOW ANSWER WITH ?"AN$"To go to selected item: press RETURN":400:OOAN$"(There are no descriptions available)")16ĺ"TOO MANY MENU ITEMS OR TOO LONG LINES.":W:17:AN$"Select option >":400:oII1(33):"_";:OOAIIEĺ(FROM$)AN$"For "FROM$": press ESC":400AIIEĺ"To erase: use the DELETE key"AN$"To select: type a nu:=SAN$TITLE$:400:36,(33)(SUBTITLE$)1:AN$SUBTITLE$FX400`]II1(33):"_";::mgII1LLlMM:II;". ";q(37):COL80Ģ(1531)v32,JJ:33,(33)JJ:{AN$MENU$(II):40032,0:33,(33)JJ:NNĺII0(37o kilometers per hour":400::FUNCTION TITLEg0l410:AN$"Enter number of mph ":400:AN$"":FL10:1000v4AN(AN$):AN0AN$"0"ĺ(7):13410:ONLY NUMBERS ALLOWED04KILOAN.6213704I$" mile":AN1I$" miles"14J$" kilometer":(KILO10000)ILE10000)100001I$" miles"J/3J$" kilometer":AN1J$" kilometers/3:AN$(AN)J$" per hour = "(MILE)I$" per hour":400/3AN$TITLE$:1100/3AN13200/3/3 /X4 ** MILES /HR --> KILO/HR-0b4:::AN$"Convert Miles per hour tS/HRY.3:::AN$"Convert Kilometers per hour to Miles per hour":400::FUNCTION TITLE.310:AN$"Enter kilometers per hour ":400:AN$"":FL10:100.3AN(AN$):AN0AN$"0"ĺ(7):13210:ONLY NUMBERS ALLOWED.3MILEAN.62137/3I$" mile":(M#-3MENU$(3)"Return to Main Menu"6-3MENU$(4)"end"`-3FROM$"Main Menu":AN$"":OAKEY0:500n-"3ESCKEYız-,3AN3ı-63TITLE$MENU$(AN):STORE NAME OF SELECTION FOR USE BY EACH ROUTINE-@3AN13200,13400-J313000-T3 .3** KILO/HR --> MILE12400 ,0,0 O,81:PROGRAMMER TO CREATE KELVIN CONVERSION ROUTINE HEREb,2*** SPEED ***i,2 ,2TITLE$"Conversions",2SUBTITLE$"Change speed measure",2MENU$(1)"Kilometers/hour to miles/hour"-2MENU$(2)"Miles/hour to kilometers/hourlow Absolute 0 (-273.1 degrees Celsius)":400:12480G+0FAHRAN1.832m+0I$" degree":AN1I$" degrees"+0J$" degree":(FAHR10000)100001J$" degrees"+0:AN$(AN)I$" Celsius = "(FAHR)J$" Fahrenheit":400+0AN$TITLE$:1100,0ANAHRENHEITN*z0:::AN$"Convert Celsius to Fahrenheit":400::FUNCTION TITLE*010:AN$"Enter degrees Celsius":400:AN$"":FL10:100*0AN(AN$):AN0AN$"0"ĺ(7):12410:ONLY NUMBERS ALLOWED4+0AN273.1ĺ:AN$"One cannot have a temperature be400:12480)/CEL(AN32)1.8U)/I$" degree":(CEL10000)100001I$" degrees"{)/J$" degree":AN1J$" degrees")/:AN$(AN)J$" Fahrenheit = "(CEL)I$" Celsius":400)/AN$TITLE$:1100)0AN12200) 0)0 *p0** CELSIUS --> Felsius":400::FUNCTION TITLE](/10:AN$"Enter degrees Fahrenheit ":400:AN$"":FL10:100(/AN(AN$):AN0AN$"0"ĺ(7):12210:ONLY NUMBERS ALLOWED )/AN459.6ĺ:AN$"One cannot have a temperature below Absolute 0 (-459.6 degrees Fahrenheit)":(4)"end"3'0/FROM$"Main Menu":AN$"":OAKEY0:500A':/ESCKEYıM'D/AN3ı'N/TITLE$MENU$(AN):STORE NAME OF SELECTION FOR USE BY EACH ROUTINE'X/AN12200,12400'b/12000'l/ '/** FAHRENHEIT --> CELSIUS(/:::AN$"Convert Fahrenheit to CMER TO CREATE CONVERSION ROUTINE HERE>&.*** TEMPERATURE ***E&. ^&.TITLE$"Conversions"&.SUBTITLE$"Change temperature measure"&/MENU$(1)"Fahrenheit to Celsius"&/MENU$(2)"Celsius to Fahrenheit"&/MENU$(3)"Return to Main Menu" '&/MENU$0"ĺ(7):11210:ONLY NUMBERS ALLOWED8%+KILOAN.62137Z%+I$" mile":AN1I$" miles"%+J$" kilometer":(KILO10000)100001J$" kilometers"%+:AN$(AN)I$" = "(KILO)J$:400%+AN$TITLE$:1100%,AN11200%,%, %&$,:PROGRAMJ$" = "(MILE)I$:400-$+AN$TITLE$:1100;$+AN11100A$+I$+ f$+** MILES --> KILOMETERS$+:::AN$"Convert Miles to Kilometers":400::FUNCTION TITLE$+10:AN$"Enter number of miles ":400:AN$"":FL10:100%%+AN(AN$):AN0AN$"p+10:AN$"Enter number of kilometers ":400:AN$"":FL10:100~#z+AN(AN$):AN0AN$"0"ĺ(7):11110:ONLY NUMBERS ALLOWED#+MILEAN.62137#+I$" mile":(MILE10000)100001I$" miles"#+J$" kilometer":AN1J$" kilometers$+:AN$(AN)u":AN$"":OAKEY0:500$"*+ESCKEYı0"4+AN3ıv"9+TITLE$MENU$(AN):STORE NAME OF SELECTION FOR USE BY EACH ROUTINE">+AN11100,11200"H+11000"[+ "\+** KILOMETERS --> MILES"f+:::AN$"Convert Kilometers to Miles":400::FUNCTION TITLE># ! 2270!* *!**** LINEAR MEASURE1!* J!*TITLE$"Conversions"p!*SUBTITLE$"Change linear measure"!+MENU$(1)"Kilometers to Miles"! +MENU$(2)"Miles to Kilometers"!+MENU$(3)"Return to Main Menu"!+MENU$(4)"end"" +FROM$"Main Men'17:1:AN$"Select option >":400:?II1(33):"_";:fOOAIIEĺ:IF ROOM, SPACE DOWN1(FROM$)AN$"For "FROM$": press ESC":400AIIEĺ"To erase: use the DELETE key"AN$"To select: type a number from 1 to "(LL):40 0, 12, 201, 238, 208, 14, 14, 0, 12, 173, 0, 8, 205, 0, 12, 208, 3, 56, 176, 1, 24 141, 4, 192, 141, 2, 192, 76, 29, 3, 234 J975:K724 I0249 L KI,L K RESULTS(J) RESULTS0AIIE1 I28, 192, 76, 161, 3, 173, 0, 208, 205, 209, 2, 240, 6, 173, 128, 192, 76, 161, 3, 173, 0, 212, 205, 210, 2, 240, 6, 173, 128, 192, 76, 161, 3, 173, 0, 216, 205, 211, 2S | 240, 3, 173, 128, 192, 40, 96, 169, 238, 141, 5, 192, 141, 3, 192, 141, 0, 8, 173,9, 32, 141, 207, 3, 76, 73, 3, 169, 0, 141, 207, 3, 173, 0, 224 h 205, 208, 2, 208, 24, 173, 0, 208, 205, 209, 2, 208, 16, 173, 0, 212, 205, 210, 2, 208, 8, 173, 0, 216, 205, 211, 2, 240, 56, 173, 136, 192, 173, 0, 224, 205, 208, 2, 240, 6 r 173, 119, 192, 48, 39, 173, 22, 192, 48, 34, 160, 42, 190, 162, 3, 185, 0, 0, 150, 0, 153, 162, 3, 136, 208, 242, 76, 1, 0, 8, 160, 42, 185, 162, 3, 153? ^ 0, 0, 136, 208, 247, 104, 176, 8, 169, 128, 141, 207, 3, 76, 73, 3, 169, 64, 141, 207, 3, 76, 73, 3, 16BUT NO AUX MEM; 128 MEANS A//E WITH AUX MEM J 8, 120, 173, 0, 224, 141, 208, 2, 173, 0, 208, 141, 209, 2, 173, 0, 212, 141, 210, 2, 173, 0, 216, 141, 211, 2, 173, 129, 192, 173, 129, 192, 173, 179, 251, 201, 6, 208, 73, 173 T 23, 192, 48, 60, 173, *** COMPUTER ID ***4"*** AIIE OR NOT? ***l, USES I,J,K,RE -- SETS AIIE TO 1 IF IT IS AN AIIE6SETS RESULT DEPENDENT ON AVAILABLE HARDWARE+ @RESULTS OF 0 MEANS NOT A //E; 32 MEANS A//E BUT NO 80 COLUMNS; 64 MEANS A//E WITH 80 COLUMNS """""" 169, 64, 141, 207, 3, 76, 73, 3, 169, 32, 141, 207, 3, 76, 73, 3, 169, 0, 141, 207, 3, 173, 0, 2247h 205, 208, 2, 208, 24, 173, 0, 208, 205, 209, 2, 208, 16, 173, 0, 212, 205, 210, 2, 208, 8, 173, 0, 216, 205, 211, 2, 240, 56, 173, 136, 192, 173, 0, 273, 1735T 23, 192, 48, 60, 173, 19, 192, 48, 39, 173, 22, 192, 48, 34, 160, 42, 190, 162, 3, 185, 0, 0, 150, 0, 153, 162, 3, 136, 208, 242, 76, 1, 0, 8, 160, 42, 185, 162, 3, 153c6^ 0, 0, 136, 208, 247, 104, 176, 8, 169, 128, 141, 207, 3, 76, 73, 3,UMNS; 64 MEANS A//E WITH 80 COLUMNS BUT NO AUX MEM; 128 MEANS A//E WITH AUX MEM5J 8, 120, 173, 0, 224, 141, 208, 2, 173, 0, 208, 141, 209, 2, 173, 0, 212, 141, 210, 2, 173, 0, 216, 141, 211, 2, 173, 129, 192, 173, 129, 192, 173, 179, 251, 201, 6, 208, 99ĺ:(4);"RUN HELLO":%3"V:::>3*** COMPUTER ID ***X3"*** AIIE OR NOT? ***3, USES I,J,K,RE -- SETS AIIE TO 1 IF IT IS AN AIIE36SETS RESULT DEPENDENT ON AVAILABLE HARDWAREO4@RESULTS OF 0 MEANS NOT A //E; 32 MEANS A//E BUT NO 80 COL*** SELECTION 6 ***2gB22hB*** SELECTION 7 ***82OFQ2PF*** SELECTION 8 ***W27Jp28J*** SELECTION 9 ***v2N2 N*** SELECTION 10 ***2R2R*** SELECTION 11 ***2U2U*** SELECTION 12 ***2U*** END THE PROGRAM *** 3V(6)99(7)100001J$" kilometers"W14:AN$(AN)I$" per hour = "(KILO)J$" per hour":400l14AN$TITLE$:1100z14AN13400141 5 1!5:PROGRAMMER TO CREATE CONVERSION ROUTINE HERE16*** SELECTION 4 ***1:1:*** SELECTION 5 ***1>2> 100"(21):::33,33:3d(4);"PR#3">n36,25ix"I just POKEd 36,25 and printed this"}:"Now I'm going to PRINT 'hello', then POKE 36, 0, then PRINT 'there.'I05000:I"hello";36,0"there"U"