L%hh LHH` X% " ӠӠΠǠ ˮԠˠǠӬĠӠ٠٠ϠŮ+JJJJ ,,,L Lک ٥ҥ>ӥ? ( ㆭ  ؆` | A""""""QQQYV <"<Q '(h((QQQ`@GHOHO $"!$q}T@` `@@``p0 8p@@`00 |0@` `pppPox`D3 < p?|@@@|@`f ppn|>0p  qcs6<, 3['Nxxxpp0` ```@vl  ?`@:3q  AcqcCyO@  0p`@@q @p?|`3cC ? ?>|xp`p`@Acwsssssss__????????~^^ ?~~~~~~~?>~||xpp`@~| xyy{~|@`pp xpp`@yyyyyyyx~ ~x`|xpxqa` cqx|||||||cCC?>>>??<<|||~?`ppxx||<||xxpp`|||||||| |?|p`@@@@`p|? OOGgccqpxsssssssppxxx|<<~?>~||xxxxppp```@@@`?~|x|~|||||||p@@p|~><|xp`@>|x|xpx}yyyyyyyAA?~|xpp`ppx|~? ?? 33@``@@glloLL LlOgloloG @`@glolo@@gLLL GaamGGlg`GGlg`G  xL| x@@xMLLxMyyM MyxAxMx|Yq @lllLglllgG LlL`@GLOLo033366m~0>3>33~G<`G}rccb``acccq{{{{8008????~ |lL COoooog CgoooocCFFLLXXPpqa88`}}}}>????~ | ~FCCFL ____|GG|GGccp{{{{ ;1q``qp`aas{{{{8008 0y| |}}}}AAQg((h' $C@0j ed`y < I1@@q q s8EE9EE8> ` `$DC0ANPQN@'h(' WPG((H@stq q8AyEx:NPQ@GhHHG#$p# @ (*Y9AyEy: QQQO~C%%C~_DDD qAAAaq9`ppxxx|xxx|AsGN8088 Ccˆʎõĵ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 iõ`  \ 濭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- ( t Ϡ@跻~!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䵍䵐`"L ŵ8ŵH ~(` d ֠z# u`T$"APS":5300'X%4T$"BIN":53004PT$"UNK"RX$(" "(DP%(I,0)),4)pT$;L$;X$;" ";(DE$(I),2)|SUM%SUM%DP%(I,0)K%205800DI:6000:"TYPE ANY CHARACTER TO CONTINUE"; X$:5700p:"TYPE ANY CHARACTER TO CONTINS K%20:SUM%0 I0EL%7 hK%K%1:K%214600P ::"TYPE SCT NAME" 0"---- --- ------------------------------" K%1 X%((DE$(I),1)) \L$" ":X%128X%X%128:L$"*" X%0T$"TXT":5300 $X%1T$"INT":5300X%2  SW%0:I0K%5 (DE$(I),2)(DE$(I1),2)3600_ X$DE$(I):DE$(I)DE$(I1):DE$(I1)X$ H X%DP%(I,0):DP%(I,0)DP%(I1,0):DP%(I1,0)X% SW%1: INDICATE A SWITCH OCCURED I tK%K%1:K%04000 SW%03100 < NOW LIST THE RESULTP%(I,0)1: COUNT ONE SECTOR FOR EACH TRACK/SECTOR-LIST BLOCK.X ADBA%12DBA%2542} ` (A)(A1)DP%(I,0)DP%(I,0)1 A:TK%(DBA%1) ( SR%(DBA%2) TK%SR%2100 I T NOW SORT THE ARRAYS ^ :"SORT IN PROGRESS" K%EL%1RY BLOCK @TK%SR%500B  NOW EXAMINE THE TRACK/SECTOR LISTSX EL%E%1:I0EL%v lTK%DP%(I,0):SR%DP%(I,1) DP%(I,0)0: THIS VARIABLE WILL NOW BE USED AS A SECTOR COUNTER; INITIALIZE IT TO ZERO. 47200: READ A LIST BLOCK> DP%(I,0)DNACTIVE ENTRY.3  PICKUP FILE-TYPE AND FILE-NAMEd LX$"":J232:X$X$((A%J)):J:DE$(E%)X$ DP%(E%,0)(A%):DP%(E%,1)(A%1): GET POINTERS TO TRACK/SECTOR LIST E%E%1 xI TK%(DBA%1):SR%(DBA%2): GET POINTERS TO NEXT DIRECTO  CATALOG ANALYSIS PROGRAM8VERSION 3 11/01/80S BRUCE W. CHRISTOPHERo13000: INITIALIZATION7200: READ A DIRECTORY BLOCKX SCAN DIRECTORY ENTRIES I1122135 A%DBA%I (A%)255(A%)01400: $FF OR $00 MEANS I!!!!!!""" " " ES } A. F. PETRIE 12/1/80NTO }EITHER LANGUAGE OR CAN> }BE USED TO MERGE PROGRAMSX }THIS PROGRAM IS MADEr }TO BE 'EXEC'-ED INTO }OTHER PROGRAMS }IF THIS IS NOT A TEXT }FILE ALREADY THEN }RUN 32007 WITHOUT }THE CHANG$ }D$;"OPEN";A$' }D$;"DELETE";A$9 }D$;"OPEN";A$L }D$;"WRITE";A$W }33,30d }0,32031w }D$;"CLOSE";A$} } }:"NOW YOU CAN 'EXEC' ";A$;" INTO FP OR INT" } }THIS PROGRAM SAVES }PROGRAMS AS TEXT FILES }TO BE 'EXEC'-ED I32000:INT/FP CAPTURE&}936N}"LIST PROGRAM FOR INSTRUCTIONS.":}}" RUN CURSER OVER THESE TWO LINES:":}" 32014 LIST 1,31999":}"]RUN 32007"}4:}"WHAT DO YOU WANT THE TEXT FILE CALLED":D$"":CTRL-D }A$(30):A   TER FUNCTIONS."1S :"READ & SET KBD. LOCATIONS."D0(FI$(6)"CURSOR POSITION LOCATIONS."j0)FI$(7)"SCREEN SELECT LOCATIONS."0*FI$(8)"SPEAKER & PADDLE LOCATIONS."0+FI$(9)"ERROR HANDLE RTN./CALL768."0,FI$(10)"ERROR HANDLE RTN./CALL945."1-FI$(11)"APPLESOFT POINAGE O/DL(X)(123)(124)256:DATA LINE BEING READ\/"FI$(11)/#FI$(1)"TEXT & HOME COMMANDS."/$FI$(2)"DOS COMMAND STRINGS."/%FI$(3)"WINDOW PARAMETER LOCATIONS."/&FI$(4)"CLEAR SCREEN CALL LOCATIONS."0'FI$(5)ART OF VARIABLE SPACE }.AS(X)(107)(108)256: START OF ARRAY SPACE .EV(X)(109)(110)256: END OF VARIABLES IN USE /SS(X)(111)(112)256: START OF STRING STORA:CY,DA::-******************* * THIS WILL POKE * * ERROR HDL. RTN * * IN HIGH PAGE 3 * * CALL 945 * *******************- 104,168,104,166,223,154,72,152,72,96+.VS(X)(105)(106)256: ST *!,*******************1,CY768777D,DA:CY,DA::,******************* * THIS WILL POKE * * ERROR HANDLE RTN* * IN LOW PAGE 3 * * CALL 768 * *******************,CY945954 -D * POKE OR PEEK TS * * TO TOG. SPEAKER *+* * * POKE TC TO TOG. * * CASSETTE OUTPUT *+* * * PEEK B0,B1,B2 * * TO READ STATUS *+* OF PDL. BUTTONS *,* 0,1 OR 2 * P1-PAGE ONE *-** P2-PAGE TWO *F** LR-LOW RES *_** HR-HI RES *x** FS-FULL SCREEN *** MS-MIXED SCREEN * ********************TS16336:TC16352:B016287:B116286:B2162854+******************* . POS. * *******************x)TD16303:GD16304:P116300:P216299:LR16298:HR16297:FS16302:MS16301)******************* * POKE TO SELECT * * THE FOLLOWING.. *)* TD-TEXD DISPLAY *)* GD-GRAFIC DISPL.**BOARD *!(u*******************1(CH36:CV37(******************* * PEEK OR POKE CH * * TO READ OR SET * * CUR. HORZ. POS. *(* *$)* PEEK OR POKE CV * * TO READ OR SET * * CUR. VERT * F/CURSOR TO END * * OF LINE. * *******************i'nRK16384:RS16368'r******************* * PEEK RK TO READ * * KEYBOARD. *'s* *(t* POKE RS,0 TO * * RESET KEY * T-TOP OF SCREEN*J&, * B-BOT. SCREEN * ******************^&YCE958:CL868&Z******************* * CALL CE TO CLEAR* * F/CURSOR TO END * * OF SCREEN. *&[* *Q'\* CALL CL TO CLEAR* R$D$"READ" %U$D$"UNLOCK"2%W$D$"WRITE"C%L$D$"LOCK"]%'LM32:SW33:T34:B35%( ****************** * POKE LM,SW,T,B * * WITH VALUE TO * * SET FOLLOWING *%) * LM-LEFT MARGIN *%* * SW-SCREEN WIDTH*&+D$"PR#0"$Xu:325d$` ***************** * SETUP ROUTINE * *****************l$:x$D$(4)$A$D$"APPEND"$B$D$"BLOAD"$BS$D$"BSAVE"$C$D$"CLOSE"$DE$D$"DELETE"$O$D$"OPEN"$P$D$"POSITION" %LINES 30000-30025)"A# ";A7$:5000 NER4ĺ"DISK IS WRITE PROTECTED."::RS,0:"CHANGE DISK & TRY AGAIN ? Y/N ";A7$:A7$"Y"20000 NER4380!NER9ĺ:"DISK IS FULL"::"NOW DELETEING FILES NOT COMPLETE."::;"DELETE REM"!aND$"NOMONI,C,O"-fN:5000kN ****************** * DISK ERROR * * HANDLE ROUTINE * ******************pNER(222):216,0:768qNX111X111sNXSX1tN:uNC$;FI$(X1):X112:I zNER10ĺ"F*ND$"MONI,C,O",N!/N33,30-2N20080:4NX1111V>NO$;FI$(X1):W$;FI$(X1)HNX16100,6200,6300,6400,6500,6600,6700,6800,6900,7000,7100JNC$;FI$(X1):L$;FI$(X1)MNRNO$;"DELETE REM":W$;"DELETE REM"WN7200 \NC$;"DELETE REM":L$0,6800,6900,7000,7100D)'"'ESC'=RET. TO INST. / ANY KEY=NEXT PAGE"h.'RS,0:HA:SE(RK):SE27X111nB'wG'325 N *************** * CREATE TEXT * * FILES FOR * * MANUAL USE * ***************21,60329"1%"DEL60351,60356":"60382":"60387"7*' *************** * PRINT * * ASSIGNMENTS * * TO SCREEN * ***************'X1111::FI$(X1)$'X16100,6200,6300,6400,6500,6600,6700199,60204:60249,60252:2d60270,60277:E60299,60302:X,60320,60329:k60350,60356:60380,60382:60390:X60385,60390:60400,60405:  "DEL60200,60204":"DEL60250,60252":"DEL60274,60277":"DEL60300,60302":"DEL603111:AN(X1)05600SX16100,6200,6300,6400,6500,6600,6700,6800,6900,7000,7100YlAN$"N"5700v7200D"NOMONI,C,O"E"DELETE TEMP EXEC"IC$;"TEMP EXEC"KND$;"EXEC TEMP EXEC"X60100:860101,60113: 6IS A"::"DISK IN THE DRIVE AND THAT IT HAS SOME"::"SPACE AVAILABLE..":RS,0::"THEN HIT ";A9$O$;"TEMP EXEC":W$;"TEMP EXEC""NEW""MONI,C,O""1 GOSUB 60000""60000 REM SET UP ROUTINE":"60499RETURN"33,30X1.* * NOW CREATE * * AND EXECUTE * * TEMP. FILE * ***************:RS,0:"DO YOU WANT 'REM' STATEMENTS ? Y/N ";AN$j:8:"A DISK TO CREATE A TEMPORY TEXT FILE"::"IS NEEDED. MAKE SURE THAT THERE ? ";:AN$:AN$(3)Ā+AN$"M"ĀMAN(AN$)64:AN1AN125100AN5200,5200,5200,5200,5200,5200,5200,5200,5200,5200,5200,5500PAN(AN)AN(AN)Z:AN:AN(AN)0Ğ_AN$:d5100r| *************** * DONE SELECT"C -";FI$(3)""D -";FI$(4)4"E -";FI$(5)F"F -";FI$(6)X"G -";FI$(7)j"H -";FI$(8)|"I -";FI$(9)"J -";FI$(10)"K -";FI$(11)"L -DONE SELECTING.""M -ABORT PROGRAM" 22:CE:"SELECT OR DE-SELECT BY LETTER PART OF THIS PROGRAM."RRS,0:HA:SE(RK):SE6920000: CREATE TEXT FILES  ***************** * SELECTION * * MENU * *****************D$;"NOMONI,C,O""A -";FI$(1)"B -";FI$(2)":3"TO CREATE TEXT FILES ON DISK WHICH YOU":a"CAN 'EXEC' INTO A PREVEOUSLY WRITTEN":"PROGRAM. IF YOU WOULD LIKE TO CREATE":"THOSE TEXT FILES (12 OF THEM) NOW TYPE":"'E' OR TYPE ANY OTHER KEY TO PROCEED":"WITH WORKING INSTRUCTIONS."BrHA:SE(RK):SE8030000: GO PRINTbwSE8310000: SCREEN PRINTy|D$;"NOMONI,C,O":"AS PREVEOUSLY MENTIONED THIS PROGRAM":"SHOULD BE RUN BEFORE YOU BEGIN YOUR":"PROGRAM, HOWEVER AN OPTION ALLOWS YOUKE TO SEE A PRINTED LIST":LO"OF THE ASSIGNMENTS IN LINES 60000-60499":VQRS,0T:"TYPE 'P' TO PRINT TO PRINTER-":Y" OR":^"TYPE 'S' TO PRINT TO SCREEN-"h:" OR":m"HIT ANY OTHER KEY TO CONTINUE (CALL 768)"d1"LINES 60385-60390 ERROR HANDLING ROUTINE (CALL 945)"6"LINES 60400-60405 APPLESOFT POINTER FUNCTIONS. (DEF FN)"@:RS,0:" -HIT ANY KEY-":HAEJ"IF YOU WOULD LIYBOARD LOCATIONS."T"LINES 60299-60302 CURSOR POSITION LOC."""LINES 60320-60329 SCREEN SELECT LOC."'"LINES 60350-60356 SPEAKER & PADDLE LOCATIONS.","LINES 60380-60390 ERROR HANDLING ROUTINE TEXT:HOME COMMANDS."B "LINES 60101-60113 DOS COMMAND STRINGS.""LINES 60199-60204 WINDOW PARAMETER LOCATIONS.""LINES 60249-60252 CLEAR SCREEN CALL LOCATIONS."&"LINES 60270-60277 READ & SET KEUESTION":;"AND THEN THE PROGRAM WILL CONSTRUCT THE":k"ROUTINES YOU HAVE ASKED FOR AND RETURN":"YOU TO APPLESOFT.":RS,0:" - HIT ANY KEY-":HA"LINE NUMBERS WILL REPRESENT AS FOLLOWS.":"LINE 60100 ":1 "LATER WILL BE SHOWN A SELECTION MENU":a "FROM WHICH YOU MAY SELECT OR DE-SELECT": "THE GROUPS OF ROUTINES (LINE #'S) YOU": "WOULD LIKE IN YOUR PROGRAM.": "WHEN DONE SELECTING ENTER 'L'.": "YOU WILL BE ASKED ONE MORE QC ::RS,0:"DO YOU NEED INSTRUCTIONS ? Y/N ";A1$:A1$"N"5000 ***************** INSTRUCTIONS FOR USE ***************** "THIS PROGRAM SHOULD BE USED BEFORE YOU": "BEGIN YOUR PROGRAM.% n"UP MOST DOS COMMAND STRINGS,":U s"ASSIGNING VARIABLES TO FREQUENTLY USED": x"LOCATIONS IN MEMORY AND ALSO 'DEF FN'": }"FOR APPLESOFT POINTERS.": "THE PROGRAM WILL WRITE PROGRAM LINE": "NUMBERS BETWEEN 60000 & 60499 AND #1": * SEE LINES 30000 TO * * 30030 FOR PRINTER * * COMANDS. * * * ********************** eHA64795:AN(14) f"THIS PROGRAM IS AN AID TO PROGRAMMING.": i"IT'S PURPOSE IS TO SAVE TIME IN SETTING":* * JAMES E PFEIFFER * * (312) 289-7311 * * * * PROG. WAS WRITTEN * * ON AN APPLE II 48K * * WITH DOS 3.2 AND * * APPLESOFT ROM CARD * * *m * PRINTER / OPTIONAL * )Y60000  ********************** * APPLESOFT LINE * * WRITTER * * OCTOBER 31,1980 * * *U * WRITTEN BY            ::" L=0:";"LN=";LN;":LC=";LC;":N=";N;":GOTO290":(37)22440:24:"TRACE CURSOR OVER EACH LINE AND":"HIT RETURN TO ENTER"CH21ī480CH20ī4704903:2:1:dN30 6L3420 @3405 J::10:18:"DONE!"::g TLL1:CNT0:LNLN10:::" ";LN;" ";"DATA ";| ^CNT49LCN370 h380 rCH(37):(LC);:CNTCNT1:LCLC1:390 |(LC);",";:CNTCNT1:LCLC1 CNT50300 LCN1420 350A HIMEM BELOW START DECIMAL ADDRESSA *************************m :" "u A$ A$(32)270 240 :"ENTER DECIMAL START,END ADDRESSES ";:ST,N LN62990:LCST:L0 ":: ,LCN3REASE THE CLUTTER OF LISTINGS WHICH CANNOT BE RUN FROM THE CATALOG.c ************************* POKE FROM DATA STATEMENT ROUTINE: FOR K=(# OF DECIMAL START ADDRESS TO (# OF DECIMAL END ADDRESS): READ J: POKE K,J: NEXT K" ALSO NOTE TO SETPORATING A POKE ROUTINE SUCHAS IS REMMED INTO THE PROGRAM LISTING AFTER THESE INSTRUCTIONS."D :"THIS PROGRAM IS NOT MEMORY-CONSERVATIVE.ITS PURPOSE IS TO IMPROVE PORTABILITY OFAPPLESOFT PROGRAMS WHICH CALL UP SHORT MACHINE CODE ROUTINES, AND TO DEC:"THIS PROGRAM WILL CONVERT THE MACHINE CODE OF A BINARY FILE ALREADY LOADED IN MEMORY INTO CONSECUTIVE DATA STATEMENTS BEGINNING AT LINE NUMBER 63000.^ :"THE DATA STATEMENTS CAN BE APPENDED TO, AND DIRECTLY RUN FROM A BASIC (FP) PROG-RAM BY INCORMd---CABOOSE BY AV FRAIOLI AFTER POKEWRITER BY VAL GOLDINGn APPLESOFT BASIC VERSION COPYRIGHT BY AV FRAIOLI MARCH 7, 1981xN27:3:NN1:N:"--------CABOOSE":N9:"* *"PAUSE120:PAUSE:N9130      ӠĠҠ֠ԠōӠԠӠԠōӠԠӮؠ٠ōӠԮŠ٠ōРˠĠҠԠōàŠϠ(4);"PR#0"  40( "CATALOG"mN8%;" RECORDS OUT."+ "E O J";B$;B$;B$:; D$;"CLOSE"n "ERROR TYPE ";(222);" AT ";(218)(219)256 @BRUCE W. CHRISTOPHER IN-CORE FILE-SORT PHASE";B$:1040% x216,0:D$:D$:/ 1400C (222)51530W D$;"CLOSE";F1$n N%;" RECORDS IN." N8%0:OO%(0) "FREE=";OO%:"OUTPUT PHASE";B$;B$ D$;"WRITE";F2$ 1090 D$::"INPUT FILE TOO LARGE" D$;"CLOSE": $:1270= 2:"ENTER NAME OF OUTPUT FILE.":F2$:F2$""1330_ <D$;"OPEN";F2$:D$;"READ";F2$j F1370 PX$:1400:D$;"CLOSE";F2$:F2$;" ALREADY EXISTS.":1330 Z1400:D$;"OPEN";F1$ dD$;"OPEN";F2$ nD$;"READ";F1$:"SORTING BEGINS.":"INPUT"":X$"":T$""- D$(4):NL$(13):B$(7)7 ::T " H E A P S O R T ":w :"ENTER NAME OF INPUT FILE." F1$:F1$""1250 D$;"OPEN";F1$:D$;"READ";F1$ 1320 X$:1400:1330 (1400:F1$;" DOES NOT EXIST.":D$;"DELETE";F1180 `I%O%:O$A$(O%)0 jJ%I%I%:J%N%1170K tT$A$(J%):X$A$(J%O%)e ~X$T$T$X$:J%J%O% T$I$A$(I%)T$:I%J%:1130 A$(I%)I$ O$:N8%N8%O% A$(N%O%)"" 1090 I%0:J%0:N%0:O%1:T%2:Z%0 A%600 A$(A%1):I$ 1210I$""'X$:X$NL$ı:I$I$X$:1020E1410j1010:N%N%O%:I%N%:N%A%1490z$I%O%1080.J%I%T%:I$A$(J%)A$(I%)A$(J%):I%J%:10608A$(I%)I$:1050BI$A$(N%)LN%N%O%:N%Z%1500 VI$A$(O%)O$I$:10  <"\:FBF:<<@@\bBb\\bb\@<:FBBB8 0 "" "8.TTTT>DDDD8DDD8:FF:\bb\@@:F|<@>>H0BBBb\BBB$DDTTlB$$BBBb\@<~ ~880(8DRj2x$B~BBB>DD
DDDDD>~~~BB>BB>"B$$$$$~$~$$x8P<F&db  R"\   T8|8T| ~@ BB<~B > 60HH0>>>***>"6*""">$ 88>>>>*>><> ?:{>    5`H XN7<6NWRU@ TPhhHNɍ-Ɍ+*+*++8 $%ll%J) +%j )* * (je$*h-HJJJ'hH*&'*&'*&')&&OH**hQ**O+i+$$! $%%#"%Nh`S REM STATEMENTS SCATTERED THROUGHOUT THE PROGRAM.M.DTAND. THEREFORE, LINE1000'ScHAS BEEN INCLUDED SO YOU CAN BETTER UNDERSTAND THE ALGORYTHM.YOU CAN PARSE EACH LINE AND THEN PRINT IT OUT BY DELETING LINE 35, THEREBY USING LINE 40'S PRINT ROUTINE INSTEAD.4PLEASE READ THE VARIOUJ:I$::CHR$ WILL EQUAL ORIGINAL CHARACTER UNLESS K<>0, IN WHICH CASE THE CHARACTER WILL BE CONVERTED TO A CONTROL OR LOWER CASE. THE SUBROUTINES AT LINES 10 AND 1000 ARE USED IDEN-TICALLY. LINE 10'S IS MUCH FASTER BUT DIFFICULT TO UNDERSONTROL CHARACTER.|(A$,J,1)"@"JJ1:L0:IF AN @ IS FOUND, INCREMENT J AND ALLOW NEXT CHARACTER TO REMAIN UPPER CASE.K0:((A$,J))64((A$,J))91KL:IF AN ALPHA CHARACTER, MAKE K= L INSTEAD OF 0 (SEE NEXT STEP)I$I$(((A$,J))K): WILL PRINT OUT A$1 IN UPPER-LOWER-CONTROLG CHARACTER FORMAT I$"":J1(A$):L32:I$= NULL:LOOP:DEFAULT ON ALPHA CHARACTERS IS LOWER CASE(A$,J,1)"&"JJ1:L64:1040:IF AN & IS FOUND, INCREMENT J AND CONVERT NEXT CHARACTER TO A C976::LEAVE USER IN HIRES CHARACTER MODE WITH DOS (IF BEING USED) ENABLED.j * CONVERT UPPER CASE * A$= DESIRED STRING WITH AN "@" BEFORE EACH CAPITAL LETTER AND AN "&" BEFORE EACH CONTROL CHAR. GOSUB 10 OR GOSUB 1000CTION @Y=SIN(@X) FROM 0&O TO 2.5&O.":10:LOWER CASE IS DEFAULT MODE. PRECEED UPPER CASE WITH A "@" AND CONTROL CHARACTERS WITH A "&". THEN GOSUB 10 TO PRINT 20:6:A$"&C 1978 @APPLE @COMPUTER @INC.":10 :"LIST THIS PROGRAM TO STUDY ROUTINE"N Y(X31.415)50 X,68Yk X50(X50)210:IF X IS NOT A MULTIPLE OF 50 THEN JUMP TO END OF LOOP X,18X,118:DRAW VERTICAL LINE 188:X71 X100;(15);:PRINT X/100 (CTRL-O) X:LOOP UNTIL GRAPH DONE 18:1:A$"@SINE FUNE MODE <:936 FD$(4)C PD$;"BLOAD UP LO CASE ROUTINE.X"h ZD$;"BLOAD UP LO CASE ROUTINE.Y" d:TURN-ON HIRES SCREEN n0:0:54,0:55,96:INITIALIZE HIRES CHARACTER MODE x0,68250,68:DRAW ZERO LINE 3 X0250:MAIN LOOP 5 216,0604** CASE CONVERTER SUBR. **N I$"":J1(A$):L32L$(A$,J,1):L$"@"L$"&"JJ1:L064(L$"&")I((A$,J)):I("A")I("Z")L0#(IL);:J::(I$I$(IL):J:I$: -REMOVE LINE 35 FOR LINE-AT-A-TIM    ; B$(1)"":B$(2)""::"ENTER EXPRESSION (";M$;:") ";Q$L (Q$)0240T 10H8D)(14H) :"ENTRY FORMATS: N , N+N, N-N" B$(1)"":B$(2)""::"ENTER EXPRESSION (";M$;:") ";Q$ (Q$)0240 10DICATED"::"BY A PREFIX (D, H, OR B) TO ENTRY."t :"TO CHANGE MODES, PRESS RETURN WITHOUT"::"MAKING AN ENTRY" :"ENTRY MODE (D, H, B)? ";M$:D(M$"D"):H(M$"H"):B(M$"B"):BHD240 P2(8D)(14H) :"ENTRY FORMATS: N , N+N, N-N"R"::250< H$"0123456789ABCDEF":N(2,60):K7:L48:B$(2)Z 936:"BASE CONVERTER": "COPYRIGHT 1978, APPLE COMPUTER INC." :"DISPLAYS RESULTS IN DECIMAL, HEX, AND"::"BINARY. ENTRY MAY BE MADE IN ANY."0 :"ENTRY MODE IS CHOSEN, AND IN XT1F:QN(Z,T)1:L$(H$,Q,1): ZB$(Z)B$(Z)L$:T:Z_ d:"RESULT: ":"DECIMAL= ";MI$;Cz f" HEX= ";MI$;B$(2) h" BINARY= ";MI$;B$(1): j:250 BB((N(1,T)(PS))):SS1: N5190 SS(N3):PAT:FL1:22 :"ENTRY ERRO):C060' 8B$(1)"0":B$(2)"0":100T <Z1:QP2:QC:80:HBH:QP16:Z2:80:HHH\ F86 PH(((Q)(QP))1):U1H:T1HU RHPQPT:LPQP(T1):QA((QHP)(QHP))HP:QB((QLP)(QLP))LP:N(Z,U)(QAQB)LP TU: VZ12:FHB:Z2FHH!U 2005 FL0:Q(Q$):T1Q:N((Q$,T,(T1)))SNN(K(N64))L:N0180jN(1,T)N:T:FL30}Q$Q$"+0":10S0:B0:TQPA11:130:T(AB:B0:S0:TPA111:130:T2AAA:SSAAA4MI$"":(BAA)0MI$"-" 7C(BAA     LAST MOD. JULY 19794 'YES NO AND PAUSE'AND""20:"PRESS 'ESC' TO END"L"PRESS THE SPACE BAR TO CONTINUE..."c(16384)155436y(16384)16010425936:10:10:405 GIVEN TO APPLE CORE OF SAN FRANCISCO BY THE AUTHOR..ARDEN K. FRITTSLES ARE LINES 50,110,165,170.#F"MEMORY AVAILABLE----> ";(0)d"* * * THE END * * *":936:5:"* * YES NO AND PAUSE * *":::"BY ARDEN K. FRITTS"::" THIS PROGRAM IS TELLING YOU THE":"MERITS OF USING THE GET COMMOVERED IN THIS MESSY PRESENTATION ISA WAY TO AVOID THOSE UNWANTED, SPOOKY"{""BLANK LINES FOLLOWING 'PRINT' LINES THAT";$"END IN PRINT POSITION '39'"%'"ONE SOLUTION IS A SEMI-COLON AT THE END")"OF THE 'PRINT' LINE."*,"EXAMPTRY AGAIN ?"Q$,Q$(13)199: YESg:"A FERTILE IMAGINATION COULD EXPAND THIS ENDLESSLY":"CONTRIBUTED BY:":16)"ARDEN K FRITTS":16)"415 KINROSS DRIVE":16)"WALNUT CREEK, CA 94598":16)"(415) 935-1442"::"'PS'":J"DISC" Q$:"THE FOLLOWING NONSENSE DEMONSTRATES"U:"HERE IS AN APPLE."s:"DO YOU LIKE APPLES ?"{Q$Q$(13)230: YES:"GIVE IT BACK"240:"IT'S YOURS. EAT IT.":"NONSENSE NOW CONFIRMED" :"WANT TO NTRY' MOVES TO NEXT COMMAND"" S "COMMAND'IF Q$ = CHR$(13)THEN'YOUR CHOICE";o 17)"RETURN KEY = YES" "COMMAND'IF Q$ = CHR$(32)THEN'YOUR CHOICE"; 17)"SPACEBAR = NO Q$:"SEE PAGE 138 OF YOUR APPLESOFT II MANUAL FOR CHR$ CODESRESPOND TO A QUESTION"4 "WITH YES OR NO ANSWERS"g :"THE PROMPT IS A NAKED CURSOR ON THE LEFT"; "MARGIN FOLLOWING A QUESTION, OR AT THE END OF AN OBVIOUS SOFT STOP" :"COMMAND'GET Q$'CAUSES A SOFT STOP":" ------" "ANY KEY 'E"4 n:"IF A QUESTION WITH A YES OR NO ANSWER IS";c s"PRESENTED ON THE TV SCREEN AND THE KEY/" x"BOARD IS MARKED (TO THE RIGHT OF THE" }"RETURN KEY WITH 'YES' AND TO THE RIGHT" "OF THE SPACEBAR WITH 'NO') THEY CAN BE" "PROGRAMMED TO F:"AS YOUR'APPLE'RUNS THRU IT'S STACK OF"Z K"PROGRAMMED INSTRUCTIONS, IT COMES TO A" P"SCREECHING HALT WHEN IT ENCOUNTERS THE" U"'GET' COMMAND" Z" ---" [Q$ _"THE 'GET' COMMAND CREATES A SOFT 'STOP'" d"DEMANDING OPERATOR ACTION #20)"2. EASE OF OPERATION"@ (20)"3. SAFETY FOR FUMBLE"_ -23)"FINGERED OPERATORS"; 220)"4. CONSERVES TIME AND"; 723)"KEYSTROKES" <"IMPLEMENTATION";20)"5. CONSERVES MEMORY" A:"THE 'GET' COMMAND IS THE KEY" B" ---", 6 410) :"YES NO AND PAUSE KEYS"1 Q$N"---------------------""FREQUENTLY OUR PROGRAMS REQUIRE OPERATORINTERVENTION FROM THE KEYBOARD.":"THE FOLLOWING IS OFFERED AS A CONVENTIONWHOSE BENEFITS ARE:" 20)"1. STANDARDIZATION"      00B 3 4 5 6 7"% 900:" ";[ IBEGIN2BEGIN6:(I)100ĺ" ";:(I)10ĺ" ";t (I);" ";:::1000 ((BEGIN));((BEGIN1));: BEGINBEGIN7:BEGINFINISHĀ (37)18Ğ::"HIT ANY KEY FOR MORE VARIABLES"::A$::300 3LE"::" BYTE NBRS":"NAME VALUE 5 6 7"E b900s l"% ";(BEGIN3)(BEGIN4)256;" "; IBEGIN4BEGIN6:(I)100ĺ" ";:(I)10ĺ" "; (I);" ";:::1000 ::"REAL VARIABLE"::" BYTE - NUMBERS":"NAME DRS 6 7" 900U X(BEGIN2):"$ ";:X1000ĺ" ";:X100ĺ" ";:X10ĺ" ";] X; &X(BEGIN3)(BEGIN4)256:X10000ĺ" "; 0" ";X; :IBEGIN5BEGIN6:(I)100ĺ" ";:(I)10ĺ" "; D(I);" ";::1000< X::"INTEGER VARIAB( DISPLAY VARIABLES BY VAL GOLDING0:iBEGIN(105)(106)256:FINISH((107)(108)256)1,X(BEGIN):Y(BEGIN)1:X128Y1275006XY128700@XY127600 ::"STRING POINTER"::" BYTE NBRS":"NAME LEN AD     HEX PRINT WITH & ROUTINE FOR ROM 6A$" 300:C9 48 D0 12 20 B1 00 20 F8 E6 8A 20 DA FD 20 B7 00 C9 2C F0 EF 60 4C CC 16" ^A$A$" N D823G" I1(A$):511I,((A$,I,1))128::72,0:144 30LA(37)20160: ::"HIT ANY KEY FOR NEXT PAGE":::A$@ I D: A2048:HEX PRINT WITH & ROUTINE FOR RAM A$" 300:C9 48 D0 12 20 B1 00 20 EF 1E 8A 20 DA FD 20 B7 00 C9 2C F0 EF 60 4C CC 16" A$A$" N 1025G":400( ,A53248:INTED ONLY WHEN REFERRING TO COM- MAND OR FUNCTION m TA208:TOKEN ADDRESS TABLE (:H1:D0124:HD128:5 2C(T):(C);:TT1:C12850 dD63D82D106ĺ:130 nHH1 x14:H(AH21),(AH2)(D64): RAPPLESOFT II DISPATCH TABLE LIST BY NEIL KONZEN j AND VAL GOLDING  ::"ROM OR RAM APPLESOFT ?"::"TYPE 1 FOR RAM; 2 FOR ROM"::1013,76:1014,0:1015,3:GET POINTERS IN AA200,300= ADDRESSES PR HIT":"RETURN":676:D2:32,0:200D X$" ":H$"0123456789ABCDEF"f X%((B256)(B256))16:600 &X%((B16)(B16))16:600 0X$: XX$X$(H$,X%1,1): B: 22:32,0:C,186:D:100:((37)1) D1İ700, D2İ520E ((37)):BB1:AA1X A22A85400l A43A127410 A64A106420 A129500 "210 32,13:1:210 32,26:1:210 676:32,0::210 D2ī800# 6:"FOR HEX":"TOKENS, d9n ROUTINE TO DISPLAY APPLESOFT PROGRAM TOKENS`s BY VAL GOLDING AND BOB HUELSDONKx NO LINES MAY BE ENTERED BEFORE LINE 100D1: NOTE: FOR CASSETTE VERSION CHANGE VALUE OF C IN LINE 200 TO 12293:A1:B128:C2053 C,B   133-  55,96,169,16,133,54,169,3,133,55,96= 846:976:H? 0:0I784854)D:I,D:I  72,44,0,192,173,0,192,44,16,192,201,160,240,29,201,141,240,22,138,72,152,72,162,0,32,30,251,200,152,32,168,252,104,168,104,170,104,76,240,253,76,3,224,44,0,192,16,251,141,16,192,48,221,169,240,133,54,169,253,  2936 711,18# <I12000:I- A9368 F18,26I KI12000:IU dA(7,4)n n *** FILL WITH DATAy xX17 Y14 A(X,Y)XY Y X "START THE RECORDER IN RECORD AND HIT RETURN";X$ A  ! PROGRAMED BY != ! DR. G HALLER !\ -------------------------{ ! LISTED BY ! ! T N TAYLOR ! ! VERSION 1 ! ! 17 DEC 78 ! -------------------------   & -------------------------E ! HOW TO STORE DATA !d -------------------------! FROM PAGE 4 OF THE !! 09/78 ISSUE OF THE !! SOUTHEASTERN !! NEWSLETTER !-------------------------   2936 711,18# <I12000:I- A9368 F18,26I KI12000:IU nA(7,4) x"START THE RECORDER IN PLAY AND HIT RETURN.";X$ A X17 Y14 A(X,Y);"-"; Y X I ! PROGRAMED BY != ! DR. G HALLER !\ -------------------------{ ! LISTED BY ! ! T N TAYLOR ! ! VERSION 1 ! ! 17 DEC 78 ! -------------------------   & -------------------------E ! HOW TO RECALL DATA !d -------------------------! FROM PAGE 4 OF THE !! 09/78 ISSUE OF THE !! SOUTHEASTERN !! NEWSLETTER !------------------------- "; IDISKPTRC (S5)S5(I)(S7)S7(I)ĺ" ";NA$(I);:I99J Ia I5ĺ"N UNKNOWN";s " CARD":480 "SLOT NO. "(S49152)256" IS EMPTY" :   DONATED BY  WM.R.DIAL   AUTHOR UNKNOWN )"PARALLEL PRINTER" 6CS(2)/ @C10049408? JC70050944T TSC100C700256_ ^K02l hCS(K)0{ rI02558 |CS(K)CS(K)(SI) : CS(0)CS(1)CS(1)CS(2)CS(2)256CS(0)256CS(1)256470 "SLOT NO. "(S49152)256" HAS A SYSTEM CONFIGURATION (CONFIG)":O S5(4),S7(4):DISK1:COM2:SERIAL3:PTR4l 3,60,24,56,56,24,72,72 IDISKPTR:S5(I),S7(I): NA$(4) NA$(DISK)"DISK CONTROLLER" NA$(COM)"COMMUNICATIONS" "NA$(SERIAL)"H. S. SERIAL" ,NA$(PTR THIS PROGRAM FIGURES6 OUT WHAT CARDS YOURU APPLE HAS IN WHICH SLOT.[(u2 THIS IS DONE BY THE< PROGRAM LOOKING ATF THE CODE IN AN ON-P BOARD ROM AND DOINGZ A QUCIK CHECK ON A FEWd BYTES." :::"   0 `0` `01110IXXXXXXXXXIXX J1Y>B$(J)H1RD$;"OPEN SUPER CAT"J\D$;"READ SUPER CAT"RfYYkpD$;"OPEN SUPER CAT"zD$;"WRITE SUPER CAT"YYYD$;"CLOSE"lB$(J)qvD$;"CLOSE"${*:G ** OPEN OR APPEND ** M:X1:16b958"OPEN OR APPEND O/A ";DN$DN$"A"800DN$"O"607705 D$;"APPEND SUPER CAT"*D$;"WRITE SUPER CAT"4SECTAR1 SECTAR1657 20:"FREE SPACE = ";(X)? 22Y "CONTINUE (Y/N) ? ";b QA$r QA$"Y"35 QA$"N"700 517 ?35 X: Y * WRITE CATALOG * Z: _D$;"OPEN SUPER CAT" bD$;"WRITE SUPER CAT" cY gJ1Y  * FILES ** :- K2554353 :K  ** LOAD MATRIX **d  * WITH FILE NAME *j :t YY1 B$(Y)A$TY$DN$ 23: Y: A$"" II35: :  * PREPARE TO READ *  * NEXT SECTOR * : :SECTAR! K4K132TY$"BINARY "* "4000 ,:K - ** READ FILE NAME **Q .:_ 1J30400q 6KL(JI)128w ;: < * ELIMINATE CONTROL * = * CHARACTERS * >: @KL32KL94400 EA$A$(KL)  :  * SKIP DELETED **K0J0515 :. * SKIP DELETED FILES *4 :G K255J0237P 245Y J35f J2400x ::::J35:400~ : * READ FILE TYPE * : K0K128TY$"INFO " K1K129TY$"BASIC " K2K130TY$"APPLESOFT " P38144 d:) e ** READ MEMORY **A f ** DUMP **G g:R nM17^ xJ034d :} ** READ FIRST 3 ** ** BYTES ** : J2300 K(JI) : ** FINISH IF FILE ** ** NOT LINKED ** :  37886+ :"SUPER CATALOG BUILDER"7D$(4)YD$;"BLOAD CATALOG BUILDER.X"fB$(200)q#1:12{-9582"FILE NAME = ";DN$7SECTAR12<:= ** READ DISKETTE **> ** DIRECTORY **?:A38159,SECTAR F:I37897      I ^FF1:F5370! cA(0,6)Fp h20:"1. CONTINUE ENTERING NAMES.":"2. RETURN TO MENU.":"WHICH # ";D:B0 mD302,100:360 p:"THE FILE IS FULL!!" r10 34,0:"EY WILL TERMINATE THE STRING!!!"I 214:FA(0,6):"NAME ";F1;": ";:A$g 6Y(A$):Y25A$(A$,25) ;(A$)25A$A$" " =(A$)25315 ?I2555 AX((A$,I))31 BJI1I41 EXX60((A$,J))31 OJ TA(B,F)X:BB1 YRECORDING";::" AND":"PRESS 'RETURN'.";D$2 A: 10j ,:"THIS FILE IS SET TO HOLD 6 NAMES ONLY."w -F6368 .6:958:"NAMES WITH MORE THAN 25 CHARACTERS WILL BE SHORTENED TO 25 IN LENGTH." 0:"DO NOT USE COMMAS (,) OR COLONS (:) AS TH:N05:A$"" I401) XA(I,N)4 J15P Y(X60):ZX(Y60)31m A$A$(Z):XY:X60225t J XX31:A$A$(X) I N1;" ";A$ A(0,N1)0245 N :"END OF FILE!!":10+ :"WHEN READY, START TAPE ";::" TAPE." e:"WHICH # ";D3 fD150,200,250:100 :"ARE NAMES TO BE ENTERED FROM:"::"1. TAPE?":"2. KEYBOARD?"::"WHICH # ";D D160,300:150 :"WHEN READY, START TAPE ";::"PLAYING";::" AND PRESS 'RETURN'.";:D$ A 100 A(4,6):B05:12)"STRING SAVE DEMO":34,3Q BY BOB MATZINGER 7/78Z100 20:958:"1) RETURN TO MENU.":"2) QUIT!":"WHICH # ";D D100,400:10 d:"MENU:":" 1. ENTER NAMES.":" 2. READ FILE TO CRT.":" 3. SAVE FILE TO    OO!!!" 0 :A$", IT'S BEEN MY PLEASURE."6 S "HAVE A PLEASANT TIME!"_ ::: :"THIS MESSAGE WILL SELF-DESTRUCT..." I18000:I A$" ":B$" ":T$" ":L(A$):I0:J0 AI1)B$(I):II1:I0110+ B$(I1)T$:JE I1L:B$(I);:I::k "THERE! ISN'T THAT BETTER? ":D${ 936:(10) D$"YES"180 D$"Y"180 D$"OK"180 :"I'M SORRY THAT YOU DON'T AGREE.":200 :"I KNEW YOU WERE ORGANIZED TEVERSED":"A SMART APPLE II LIKE ME SHOULDN'T MAKE" F"A ERROR LIKE THAT!!!"::"THEN AGAIN, YOU ENTERED THE LETTERS":"OUT OF ORDER...THAT DOES NOT COMPUTE" P Z"LET'S PUT THEM INTO ORDER...": dJ2L:IJ1:T$B$(J) nT$B$(I)130 xB$( 936:"NAME"::::::+B$(40)"HELLO:"::" MY NAME IS 'APPLE II'.":"WHAT'S YOUR NAME?? (1ST & LAST) "::A$:L(A$)::"THANK YOU!, ";(I1L:B$(I)(A$,I,1):I2IL11:B$(I);:I3 <"."::"OOPS!!! I SEE THAT I GOT THAT R    I1)EX$ I# SW$"NO"ī2020) ULEASE ENTER YOUR WORD NOW"+ " ";AN$8 X(AN$)F $X01020T .W$(N)AN$Z 3p 8 END OF SUB 1000  SUB TO SORT WORDS N1ı: NO SORT SW$"OK" I1N1 (W$(I)W$(I1))ī2060 SW$"NO":EX$W$(I) W$(I)W$(I1):W$(Y$CK$N$)190$ CK$N$ĭN0Ā; CK$Y$İ1000:190E ,20:b 6"SORTING...PLEASE WAIT"| 2000: TO SORT WORDS :20 "HERE ARE YOUR WORDS" I1N 10:W$(I):I   SUB TO INCR NUMBER OF WORDS NN1 20 "P+  40:936:10:10:7(Y$(1),N$(1),CK$(1)K2W$(50),EX$(40)X<AN$(40)jPY$"Y":N$"N"rd20n"HI THERE...LET'S SORT WORDS"xWA11000:WAN020"WANT TO ENTER A WORD (Y OR N) ?";AN$CK$(AN$,1,1) (CK$ JM21300 A(M)A(M1)1300@ TA(M):A(M)A(M1):A(M1)Tb SET BEGIN AND END POINTS FOR ARRAT SEGMENT OF LARGE ELEMENTS MB(L)1:LL1:L01030  NPARE ELEMENT BETWEEN% IM1II14 JM11220R TA(I):A(I)A(M1):A(M1)Tu SAVE STARTING POINT FOR ARRAY SEGMENT OF LARGE ELEMENTS LL1:B(L)I  REPEAT SORT OF SEGMENT OF SMALL ELEMENTS 1030  1 AND 2 ELEMENT CASES ) ) FIND A LARGE ELEMENT0 .II1:IJ1170F 8A(I)A(M1)1070v B FIND A SMALL ELEMENT AMONG THE LARGE ONES LJJ1:IJ1170 VA(J)A(M1)1100 ` EXCHANGE jTA(I):A(I)A(J):A(J)T:1070 ~ ARRAY SEGMENT NOW DIVIDED  MOVE COMSORT BY STEVE HARRINGTONA  INIT BEGIN AND END POINTS OF ARRAYV L1:B(L)N1:M1u  SET END OF ARRAY SEGMENT JB(L)  SET START OF ARRAY SEGMENT IM1  IF ONLY 1 OR 2 ELEMENTS THEN SPECIAL HANDLING JM31250 $M1((IJ)2d QUICKSORT DEMO'n ARRAY A(N)6s1184::@xN100QA(N),B(N1)hI1N:A(I)(1):}"SORTING":1000190:M0I1N2:A(I),:INĺA(I1)MM1:M20(M20)ĺ:"PRESS ANY KEY TO CONTINUE":R$I: QUICK   JM21300#A$(M)A$(M1)1300IT$A$(M):A$(M)A$(M1):A$(M1)T$kSET BEGIN AND END POINTS FOR ARRAT SEGMENT OF LARGE ELEMENTSMB(L)1:LL1:L01030 NELEMENT BETWEEN IM1II1/JM11220ST$A$(I):A$(I)A$(M1):A$(M1)T$vSAVE STARTING POINT FOR ARRAYSEGMENT OF LARGE ELEMENTSLL1:B(L)I REPEAT SORT OF SEGMENT OF SMALL ELEMENTS1030 1 AND 2 ELEMENT CASES LARGE ELEMENT! .II1:IJ11709 8A$(I)A$(M1)1070i B FIND A SMALL ELEMENT AMONG THE LARGE ONES} LJJ1:IJ1170 VA$(J)A$(M1)1100 ` EXCHANGE jT$A$(I):A$(I)A$(J):A$(J)T$:1070 ~ ARRAY SEGMENT NOW DIVIDED MOVE COMPARE ARRINGTON2  INIT BEGIN AND END POINTS OF ARRAYG L1:B(L)N1:M1f  SET END OF ARRAY SEGMENTq JB(L)  SET START OF ARRAY SEGMENT IM1  IF ONLY 1 OR 2 ELEMENTS THEN SPECIAL HANDLING JM31250 $M1((IJ)2) ) FIND A NTEGER,VALUES,MUST BE,-32767,32767,FOLLOWING,RULES,EXACT,NEGATIVE NMINUS,SIGN,FALL,UNDER,CATEGORIES,SCIENTIFIC,NOTATATION,FORMATTED,FOLLOWS,MANTISSA XWE,WILL,DIGRESS,FOR,A,MOMENT,TO,EXPLAIN,THE,FORMAT,NEVER,TRAILING,ZEROES QUICKSORT BY STEVE HPOINT),MUST,BE,IN,RANGEN &FROM,-1,1,OR,YOU,RISK,GETTING,ERROR,MESSAGE,USING 0ADDITION,SUBTRACTION,SOMETIMES,ABLE TO,GENERATE,AS,LARGE AS,WITHOUT,WHOSE,ABSOLUTE :VALUE,LESS,THAN,ABOUT,WILL,CONVERTED,ZERO,APPLESOFT II,THESE,LIMITATIONSA DTRUE,IR$: I: ,1000^ OF,NUMBERS,PRINTED,BY,APPLESOFT,BASIC,ARE,STORED,INTERNALLY,OVER NINE,DIGITS,ACCURACY,WHEN,NUMBER,IS,ONLY,SHOWN,EVERY,MAY ALSO,HAVE,AN,EXPONENT,(A,POWER,TEN,SCALING,FACTOR). REAL,PRECISION,(ALSO,CALLED,FLOATING,d QUICKSORT DEMO'n ARRAY A(N)1xN100CB(N1),A$(N)WI1N:A$(I):]:10:11:"SORTING 100 ITEMS":1000190:M0I1N2:A$(I),:INĺA$(I1) MM1:M20(M20)ĺ:"PRESS ANY KEY TO CONTINUE":  3"DONE!":"PRESS 'RETURN' TO LIST...";I$9FI0N1bLOL(LO): FOLLOW LINKSVI(I24)241:H(I24)1:V:H54N(LO);I1040 1&RL(LO)L2: SWITCH TO SEQUENCE 2/\880SfL(LO)L1: SWITCH TO SEQUENCE 1rpM1M11: NUMBER OF MERGESzM10700M10350 GENERATE 2ND HALF OF A 4-TWIGM11M1630 EXITLON1: FIRST LINK IN SEQUENCEL(LO): NEXT LEAF IN SWQUENCE 2BL2LO870: END OF SEQUENCE 2l N(L1)N(L2)770: STAY IN SEQUENCE 2*L(LO)L1: SWITCH TO SEQUENCE 14LOL1: TOP LEAF IN SEQUENCE 1>L1L(LO): NEXT LEAF IN SEQUENCE 1HL1LO750: NOT END OF SEQUENCE OF LATEST BRANCH OR TWIGCLOJ1: HEAD OF OLDER BRANCH OR TWIGeL1L(LO): HEAD OF SEQUENCE 1L2L(J): HEAD OF SEQUENCE 2N(L1)N(L2)820: STAY IN SEQUENCE 1L(LO)L2: SWITCH TO SEQUENCE 2LOL2: TOP LEAF IN SEQUENCE 2 L21I:L(I)I:L(J)I: GENERATE LEAFKLOJ: HEAD OF OLDER LEAF (LAST LINE)yJJ1: HEAD OF LATES LEAF (NEXT 2 LINES)II1: NEXT LEAFL2I:L(I)I:L(J)I: GENERATE A LEAF750: MERGE LEAVES MERGE TWIGS AND BRANCHESJJ1: HEAD 6301 &T3T4610: LOW-ORDER TWIG (2-TWIG)> 0 3-TWIG] :M1M11: NUMBER OF MERGESu DII1: NEXT 'LEAF' NL(I)I:L(J)I: GENERATE A LEAF XJJ1: NEXT SEQUENCE HEAD b 2-TWIG lM1M11: NUMBER OF MERGES vII1: NEXT LEAF!L BIT VALUE 400: CARRY ONE9  'TWIG' CALCULATIONS` T2T2B1: REFLECTED 'TWIG' NUMBER S12550: 2-TWIGS AND 3-TWIGS  3-TWIGS AND 4-TWIGS T3T4560: LOW-ORDER TWIG (3-TWIG)  4-TWIG M1M1: DIS-ENGAGE NUMBER OF MERGES COMPLETE* rK1K11:T1K1: 'TWIG' NUMBERE |B1B2: HIGH BIT VALUEr T3T2: PREVIOUS REFLECTED 'TWIG' NUMBER  ADD 1 TO REFLECTED BINARY COUNTER AND CARRY T1T12 (T1)T1470: NO MORE CARRIES M1M11 T2T2B1 B1B12: NEXTK2K22: TOTAL NUMBER OF 'TWIGS'0 B2S12= "S1(B2)R ,T4T4(B2S1)K2[ 6250v @ INITIAL CALCULATIONS JT4K2T4: NUMBER OF LOW-ORDER 'TWIGS' TB2K22: HIGH BIT VALUE OF BINARY COUNTER ^ NEXT 'TWIG' hK1K2940: EXIT - SORT L(1011): LINKS:N+LOG2(N)+2 ELEMENTSD K10:I0:M10:T20:T40c JN1: HEAD OF SEQUENCE 1z L(1)1:L(J)1:K21 N1940: EXIT, NOTHING TO SORT S1N: NUMBER OF 'LEAVES' CLIMB THE 'TREE' S14320: LOW-ORDER 'TWIG' VALUE$  WOODRUM SORT/ CREATIVE COMPUTINGB JAN/FEB 1978W( PGS. 96 TO 101ddN(1000)n"SORT HOW MANY RANDOM NUMBERS?"xNI1NN(I)((1)100001)I"PRESS 'RETURN' TO START SORTING";I$ ENTRY(   "STRING? ";A$ 920* A$::230K ***REMOVE ALL BUT CAPITALS.Q d L(A$):L0ın B$""y K1L C$(A$,K,1) (C$)64(C$)91B$B$C$ K A$B$:B$"":, IAL ON HOW TO PROGRAM : WITH THE PARITY BIT,WEY WILL PRINT IT OR PUT x IT ON THE DISK AND CREDIT YOU. A$(255) ***ASK FOR STRING (A$),REMOVE ALL CHARACTERS ***WHICH ARE NOT UPPERCASE LETTERS, PRINT RESULTM YOURSELF TO / d DO THIS. HINT:YOU CAN L n TURN ON THE PARITY BITj x IN THE FIRST CHARACTER OF EACH WORD AND USE THAT AS A FLAG FOR FOR A SPACE. IF ONE OF YOU WANTS TO WRITE WANTS TO WRITE A TUTOR-  THIS SUBROUTINE CAN BE ; USED TO COMPRESS DATAW FOR FASTER SORTS AND u( SEARCHES. A FUTURE DISK2 WILL HAVE A"DECOMPRESSOR"< SUBROUTINE TO RESTOREF TEXT TO READABLE FORM.P YOU MIGHT WANT TO WRITE  Z A PROGRA   Q),1(NQ2)(QN2));8 (X$,N(QN)(Q1)(QN));>  DIGITS RIGHT OF '.'3 .S IS THE WIDTH OF THE L 8 RIGHT JUSTIFIED d B PRINTING FIELD j L X$" "((X10N.5)) Q(X$)((X$)0) SQ(QN1)(N2)(QN1)); (X$,1((X$)0),(QN)(QN)(QN)); ("0.00",1((N1)  X55.501# X,"$";- 20003 : X@ a ""UNFORMATTED FORMATTED"g , THIS IS THE FORMATTING SUBROUTINE. THE INPUT IS 'X','N', AND 'S' X IS THE NUMBER TO BE  BE PRINTED N IS THE NUMBER OF $?d PRINT USING n8x SIMULATOR>U AUG 79[t J. CROSSLEYz: SUBMITTED BY  WM.R.DIALN2:SET NUMBER OF DECIMALSS5:SET FIELD WIDTH 0)& SQ(QN1)(N2)(QN1));Q (X$,1((X$)0),(QN)(QN)(QN)); "("0.00",1((N1)Q),1(NQ2)(QN2)); ,(X$,N(QN)(Q1)(QN)); 6 INPUT IS 'X','N', AND 'S': X IS THE NUMBER TO BEL BE PRINTEDd N IS THE NUMBER OF DIGITS RIGHT OF '.' S IS THE WIDTH OF THE RIGHT JUSTIFIED PRINTING FIELD X$" "((X10N.5)) Q(X$)((X$) N2:SET NUMBER2 OF DECIMALSGS5:SET FIELD ]( WIDTHo2:16298,0:<X55.501FX,"$";P250ZdXnx"UNFORMATTED FORMATTED"THIS IS THE FORMATTING SUBROUTINE. THE BAR ";:Z$:Z$::: *** ALWAYS PRINT INPUTS OF THIS TYPE WHEN USING FILES TO PREVENT ERRONEOUS INPUT TO FILE *** LIMIT OUTPUT OD SCREEN TO 4 NAMES AND STOPo D$:CC1:300: *** INCREMENT COUNTER AND GET NEXT RECORD 22:"END OF FILE - # OF RECORDS - ";R:1000:: *** CALL-1000 PREVENTS CURSOR MOVING DOWN 2 LINESn P0:"MORE NAMES IN FILE - HIT SPACEREAD NAMES,R";C; 6N$:C$:P$: *** INPUT COMES FROM DISCC @D$w E"NAME # ";C: *** THIS IS OUTPUT TO THE SCREEN J"NAME....";N$ T"CITY....";C$ ^"PHONE...";P$ h rCR900: *** IF END OF FILE GO NO FURTHER |PP10 P4İ1000:S COMMANDSN D$;"OPEN NAMES,L120": *** OPEN FILE WITH RECORD LENGHT OF 120 D$;"READ NAMES,R0": *** READ RECORD # 0 FOR THE NUMBER OF NAMES ALREADY IN THE FILE R: *** GET NUMBER OF NAMES IN FILE C1: *** C IS USED AS A COUNTER ,D$;" ! LISTED BY !; ! T N TAYLOR !Y ! VERSION 1 !w ! 11 DEC 78 ! ------------------------  D$"": ***CONTROL D  D$;"NOMONC,I,O": *** DELETE THIS LINE TO WATCH OPERATION OF DOo&-------------------------E! READ NAMES FILE !d-------------------------! FROM PAGE 3 OF THE !! 12/78 ISSUE OF THE !! SOUTHEASTERN SOFT- !! WARE NEWSLETTER ! -------------------------   TE TO NEW DISKETTE, D$;"OPEN NAMES,L120"7 I1RQ D$;"WRITE NAMES,R";Ij N$(I):C$(I):P$(I)t D$: D$;"WRITE NAMES,R0": *** WRITE R TO RECORD # 0 R D$;"CLOSE NAMES" "DONE - # RECORDS WRITTEN TO FILE - ";R XDN$(R),C$(R),P$(R) I1RM D$"READ NAMES,R";I: *** READ RECORD # If N$(I):C$(I):P$(I)p D$: D$;"CLOSE NAMES" ,"INPUT DONE - RECORDS READ IN - ";R 6"INSERT NEW DISKETTE TO BE WRITTEN TO AND HIT RETURN ";Z$:Z$  *** WRI ! LISTED BY !; ! T N TAYLOR !Y ! VERSION 1 !w ! 11 DEC 78 ! ------------------------   dD$"": *** CONTROL D nD$;"OPEN NAMES,L120" xD$;"READ NAMES,R0" R D$ z#XձΠҠԠ ΠӠŠɠ ΠӠŠɠ РϠŠŠé РϠŠŮؠРϠŠŮ٠ Ӡ٠ ӠϠĠŠ  ǠŠϠ ǠҠ ǠҮؠ ͠Π Š̠ ŠŠ Š ŠǠӠ ̠ԠֲԠӠ͠  Ԡˠ ԠˠҠ ԠӠɠ ǠŠΠ! Š" Ӡ"ӠŠŠ"ӠŠȠ ӠŠĠԠǠɠԠǠɠ ŠҠ+̠̠Ԡ ͠͠  ٠Š͠٠ ٠ˠ!٠Ҡ РӠӠРӠӠؠ ٠ ٠ԠҠ٠נ ٠נԠ ٠׮ؠ ӠԠӠ ӠԠӮؠӠԮŠРˠĠҠàŠàŠҠ ŠӠӠȠ  ĠҮؠЭؠҠéЭؠҮؠǠĠ̠Ԡ ӠĠҠӠĠҠ֠ íԠ+ԠנϠԠɠ Š  ǠӠǠҠ ĠҠ٠ ŠĠ٠ϠԠ ĠŠԠԠؠ ŠҠé)J KM6a()GP(a()GP(Ka(Ԡ۠ǠԠà)GPa(̠)GP(0a()M(ca(ԠŠҬî)ca(               L < $<?`gh<=ij>?`v(Le lL7 HH枱`8Є .0 _ .0 _ _ И H e ihh eHiHvHuH  m j %^_L# ! "  j y# HHH ZvyzW4ȱuȱve$v# _uv % Z *Lb-逐 Pћ `gȑggiihij ,stopijklmn KURhhz`gihi` ,   ,Ђ hhPQPQD Z ȱȱQP- % ) _$! $ȱȱж _L3 j )` )`ʠ$hh eL$p "tpM?E0<=Ѕ 8ɀA N4O0Ťș98:I8xІș Нƹ`ghȥQћ =v %  . F v Y Lij  Y  D_i^aeii`jij圪8iae^_^`_a8stopiejȄ PQmnij egh^_^ ijL< ȱ^Șe^^_iȑ^^_ҢLECAN'T CONTINUUNDEF'D FUNCTIO ERROR IN BREAKɁ! i` mn8囅^圪#8^Ɨ8^ƕƗƕ` i65^^.`p(o"H H {h0hhpo`M$L*  ]` H _h PCOSITAATPEELESTRVAASCHRLEFTRIGHTMIDNEXT WITHOUT FOSYNTARETURN WITHOUT GOSUOUT OF DATILLEGAL QUANTITOVERFLOOUT OF MEMORUNDEF'D STATEMENBAD SUBSCRIPREDIM'D ARRADIVISION BY ZERILLEGAL DIRECTYPE MISMATCSTRING TOO LONFORMULA TOO COMPTSCALESHLOATRACNOTRACNORMAINVERSFLASCOLORPOVTAHIMEMLOMEMONERRESUMRECALSTORSPEEDLEGOTRUIRESTORŦGOSURETURRESTOOWAILOASAVDEPOKPRINCONLISCLEAGENETABTFSPCTHEANOSTEЫANOҾSGINABUSFRSCRNPDPOSQRNLOEX//m/s*u*y*}**U*l\****+++h*G?J"loz qiH#$#  &'8!'''1(([=Q}yy{x!{_"}&PWFQ&dgENFONEXDATINPUDEDIREAGTEXPRINCALPLOHLIVLIHGRHGHCOLORHPLODRAXDRAHTAHOMRO٠)2ca(̠Ӡ)9<de de,dedeLdede)-FdBedCed>e.?Lrd?e.?Mr;Pd<e8.?rrd=e.?r8.?r0rMqg7+++)))+*8*G*++..a/g//WE/8 i:`  Z#[& "pLG "# $ # L#H 8! v! 'hJ I`8;)q4X>Vt~w/z*|cYX ~uƀ1rҠ& v!iP q# ]#Ɉ "" $ i8H$șȩ0LN& % v!% #% # 0"ƙ L"  #i 0 i8.ș0șyc&yb&ya&y`&00ڊIi i/ȄȪ)ƙ.șI)$Ъ0.ȩ+.8嚪- L ` -+ [..E0 - +f \$8L$f$På8噅 L" 0"ƚ0`L&H$ 0"h80 $LX$H Z#h #EL d$0L e q80L~$>nk'nk(X (%vu8 # +%L=-^^ %^^`` i#` L *` y#I*L F``a`Ȫı`E0!` Şȱ`şȱ`Š ȩŬ`(IL#J8$  `)F `ɠ #I* Z#i ` Z#G" "L`" !v i#8坅 "Ğğ Ġġ* e24(&&&0⨥塅堅埅垅L"@ (L"L bcdeL% ^_^^^^ ^`, i#^_^1r y#LH$! )! ]" ! ! S'.! h $3! !L! "bcde ! ! ! ! !L"L J eeededcecbebfbfcfdfefJ`^_^^^^E ^`e0,iLI `I0hhLE L̆i `eeeeeL i&&&&8坰IiBfffff`IIIIII `EL ai0vvvvvj`^Vy dv88; 5454h`` j I Lɑ #PQ`PHQH IPhQhPL =P` =  CPE%`[&L !IEL < !LJ#8$Ii0ǨV $W8Ie J SRS` H hhhL! ьHH  hhe^^_ L! ILW )   ʊH񌰸Iš hhhhhhhHH` L ` ^LL j L LE ^e^`_a`H` A$Ŝ䛐^_e^^__`)Jeiop ȥ敥ȑLHH c ohhqL      !LHȱȱh^_ H^qheqqr` o^_ ,^Hȱ^ȱ^h(po Heooph^_`TSR`FHI8eopnm opqrh`M0 {hЦstopmnU^_R ij^_lk 󅔆nmLY^_^ȱ^ȱ^eȱ^e(ӊ0ȱ^ ie^^__Ŕ ^05ȱ^0ȱ^+ȱ^ȱ^poHH L   Lm :HH  mhhȱ𙅄ȱH "#HHȱHH jhh Lhhhhȑhȑhȑhȑ` m /hh I`" ȱ "e膮  R^L 8m因n圑bȱhhћȊћLL ȥ e^eʅʥʆd ee`^de *& edeeƙ`  {8ompnL#$8vС,L :    m  HHHhhhHH ,҄ hh)klnm?Łћȱeȱeעk,5L x8` ћLD*L  ȥʆȑ $PhihiȑȊ ^e]eR mn殤ƕƮ敊 8(L$0pijlk"ћћliA[8`hH`klmniȅ ȅklȥȑȑȑȑȑiȅ` ieȅ` j0 ɐ  #~L#GHHHHH HH hHLB h Lm ,L p % #LƉ  80 ў*%L#  L   `  vL  v v$%0Щ::D$(4)L:"* WHAT IS THE BINARY FILE NAME?":" >>>>> ";F$_D$;"BLOAD";F$g: "START ADDRESS = ";(43634)(43635)256:"PROGRAM LENGTH = ";(43616)(43617)256 I 6"ING ADDRESS (A$)"A @"AT AA60 AND AA61 IS THE HEX LENGTHN J"(L$)."c TI13000:I:: "THEN 'CTRL C' TO RETURN TO BASIC." "THEN BSAVE FILENAME,A$XXXX,L$XXXX." " THAT'S ALL THERE IS TO IT !!!"  ENTERED BY WM. R. DIAL "THEN CALL -151 (OR HIT RESET) TO GET< "INTO MEMORY."O I13000:I:s "THEN TYPE '*AA60.AA73' ." "THIS BRINGS UP MEMORY FROM AA60 "TO AA73. (DECIMAL 43616 TO 43635)" I13000:I:: ,"AT AA72 AND AA73 IS THE HEX START-2 *** BINARY ADDRESS ***;7 *** BY WM. R. DIAL ***AZld"HERE IS A CONVENIENT WAY TO FIND THEn"BEGINNING (A$) AND LENGTH (L$) OF A x"BINARY FILE FOR PURPOSES OF BSAVE, ETC."I13000:I:"FIRST BLOAD THE BINARY FILE."(  eȱe  . ,` &/L. &/L].=?P<Ȅ> sʆ>PHt?QnL tp=hso< LeP>eQ? <=`@ L ʊ( (H hL/$`L-% eЅԐ ,e҅Ր ,JJJ`JJJJӊ)-I-ȄҤѢԆզ8eЅԐ ,e҅Ր ,JJJ` j IQPHH,   hh`L * .`*U . S,  .L6- ` ` hH8HӰ hIiHӅхhЅhIi҄f8Ъх a,8e҅ԥձ&E%0Q&&bӰ ,eЅԥePفŴxaI1& ')*& 'JJ) e ʥ0)Je`JJJJӊ)-I-ȄҤѢԆզ8'#i媽,0J(` ,Q&%0Q&&`#0JI0`'0 I`0 I0ݩ()%%01&%0)&E%0Q&&e)j00',-"&,,i8i#H&ii&hif&i'`'i,-&i,-&iPII&if&HߚLLij  `a,  PQ ``aiśj地a`ʈjiL VSL@TL9 /ʅPQ /L / PȱQL /L,U,R@ ,T,SWP z,)`H)&JJ&&h' &' &' f&')(L *,(ʤL *(L( Ld ʊL[ I`8f`?2`@ j IPmQnL PsoQtp` j IPsQtPiQj֥PiQjLl 8fإuv Lަߥuڥvۥyܥzݥ􅸥uv @Lڅuۅv܅݅ z*L  )򊅤TH UR0PQQPIPPIPPPQ)stop0ghgghgh K=< l j IlP L L 0,  0,-`L ),-  0` )S' # ' ' " Y(L]"HL(IڢIڢ-(h#5ᆥ](IڢʥH &HɁ ! ]"Š( S'hɁ]( hL&` vy{| g|S}dpL}Qz}c0~~D:~L̑湭`: 808`ORXv)  &נ& i'h "` # v! m'Lv! #Ș殅 v!iȅ ƣ`5Dzh(F y#0ɠ "穝' v!'  % ɠL"#](  Z#b( U" Z# $ g( H 0 I &g( h &l(L ```````````` ```````````` - ````````````` ` ````````` ( ```````````  LsҠùǍ     $#d(4);"BRUN COMP-X MONITOR.X" 0 89L `& L IJ,R/ FI1R:A1,(((CM$,I,1))128):A1A11:8 P768A9A(768)169(769)11ĺ"BLOAD COMMAND GENERATOR.X"a :ADDR3162216:A1ADDR6i 12T$:T$(8)(CM$)0CM$(CM$,1,(CM$)1):12:1:CM$;"";:20T$(13)60(T$(21)202CM$CM$T$:T$;:207 <R(CM$):ADDR  I:N$(I): @CL$) JJ1N1:I1N1A TN$(I)N$(I1)360g ^T$N$(I):N$(I)N$(I1):N$(I1)T$o h:x rOP$ |I1N:WR$;I:N$(I): CL$ 936:"CATALOG IS SORTED!": T  N$(40)!d"NOMON I,O,C"Wn:936:"INSERT DISKETTE TO SORT, HIT RETURN";T$x936:"NOW SORTING BASIC CATALOG FILE..."OP$"OPEN CATFILE,L31":CL$"CLOSE":RD$"READ CATFILE,R":WR$"WRITE CATFILE,R",OP$:RD$;0:N 6I1N:RD$; TEXAS !$ v--------------------> v! LISTED BY !X v! T N TAYLOR !r v! VERSION 1 ! v! 28 MAR 79 ! v-------------------- v u u--------------------: u! DEBUGGING AID !T u--------------------n u! BY KRIS COBB ! u-------------------- u! FROM THE 3/79 ! u! ISSUE OF THE ! v! APPLE CORPS ! v! NEWSLETTER OF ! v! AUSTIN,THE START OF THE RUN 30000 LINE u SEND THAT LINE. THE LINES FROM YOUR PROGRAM WILL THEN BE READY TO LOOK AT, CHANGE, DELETE, OR WHATEVER. u WHEN READY FOR NEXT SCREENFUL, RUN 30060, CHANGE THE RANGE TOBE LISTED, SEND THE RUN 30000 LINE AND KEEP ON. ONTO THE END OF A PROGRAM AT ANY CONVENIENT LOCATIONS, AS LONG AS THE LINE # OF THE 2ND HOME IS REMEMBERRED u TO USE THIS PROGRAM RUN 30060 AND ENTER THE DESIRED RANGE IN THE LIST LINE PRINTED. u WHEN THE APPLE ACCEPTS THAT, THE CURSOR WILL BE AT 0u:u" "GDu500549: ABOUT ONE SCREENFUL OF ACTUAL PROGRAMSQNu36,0[Xu37,0abulu: THIS IS THE LINE TO REMEMBER vu" "u30020: LIST ABOVE LIST LINEu" RUN 30000"u36,0u37,0ul u THIS PROGRAM CAN BE TACKEDHɿ L h ơ , )jjH)**h) ȱ ) `ʠڠàҠԠҠŠɠĠ ĠԠĠҠ e  e`  J A ȱ A ơ Ơ`I i)`    ɠ ɍ -`  Lx  Jȥ A ȱ A J  Ơ`  )JJ꽠 -L  3L ɍ  ` ` H c J Hh A 膠Ӱ ` H  L  `ɠ!ɍ( ) ȹ )L ȦL `I i` H*i h ` / :3 X J[ H[ [ h[ Jw Hw w hw `ЭؠҠҠŠéή 3L  g&ɺ),/2ɡ58 - L , L L L rL L )i ` -hhhhL ` 5ȱ 5 5 UL Uȱ U 5 UL` ) Ȋ  ȱ (* L ) Jȱ  ʵ ULHh  UL 3 g H ) Jh襢 UL  `ɰǰɺ)`jHʵj"hL h H*hL h UL ) ) Jȱ  UL H ) Jhq LJ ȱ  5 UL  ȵ Lw  ) ) Jȱ ` H ) Jhq ` uȱ u 5 UL 8 ȵ L    JJJJ7BA@? > =< ; :9876 :  `LLL: L2 Lj L LL L L L Le L ) J  ULȱ  L ) JJ ٥ ͠ ) JH J2ȱ Ih0JHʵj5hL8 `````````       () ```````` "* MITCH GEIER *"D Z9:"*";:31:"*":9:I123:"*";:I^ dD13000:D:936:5 n" THESE INSTRUCTIONS DESCRIBE THE USE OF THE BINARY PROGRAMS 'SHORT DOS COMMANDS' AND 'RESTORE'. WHEN YOU BOOT YOUR DISK SYSTEM WITH A NORMAL DISC.  :936*6:9:I123:"*";:I:@9:"*";:31:"*"b(9:"* S H O R T D O S *"x-9:"*";:31:"*"29:"*";:16::"COMMANDS";::31:"*"<9:"*";:31:"*":9:"* WRITTEN & TYPED *"F9:"*";:20:"BY";:31:"*" P9:     N2N(N16)16:N1N16:(HEX$,N11,1)(HEX$,N21,1);:: CONVERT TO HEX j L3:I131:" ";::" ": :6:X65536" = ";X" = $";:N(X256):1000:NX(X256)256:1000:"":300: PRINT CMD ADDRESSES y ::37,(37)2:: ,(37)18320 6 @37,((37)2):::6:"HIT ANY KEY FOR MORE DATA"::756::5:300: 3:I131:" ";::" ": L T SCREEN i nD(978)256:AD2948:BD30:CD84:HEX$"0123456789ABCDEF":INITIALIZE: D FINDS MEM SIZE IBC2: TABLE OF CMD POINTERS CHR(A):AA1:(CHR);:CHR127Ė12:" = ";:220: PRINT CMD NAMES 210` X(I)(I1)2561:1ln RON'S DOS COMMAND FINDER BY RON ALDRICH 3.80 EMBILLISHMENTS BY GARTH HITCHENS AND VAL GOLDING d::1::1100:3:" * RON'S DOS COMMAND FINDER * ":1100::34,4:5: FORMA6:N1N16:(HEX$,N11,1);:: L3:I131:" ";::" ": I210W X(I)(I1)2561:15:X65536" = ";X" = $";:NX(X256)256:1000:"":300m ::37,(37)2: ,(37)18320 6 @37,((37)2)::6:"HIT ANY KEY FOR MORE DATA"::756: E5:300 3:I131:" ";::" ": N2N(N16)1< Yd::1::1100:3:" * RON'S DOS COMMAND FINDER * ":1100::34,4:5:nD(978)256:AD2948:BD30:CD84:HEX$"0123456789ABCDEF": INITIALIZE; D FINDS MEM SIZEIBC2CHR(A):AA1:(CHR);:CHR127Ė12:" = ";:220    - 220 F:"LINE 10 MAY BE USED IN ANY PROGRAM WHERETHIS FEATURE IS DESIRED!"::e A(X)(10DX.5)10D~ "DECIMAL POINTS ";D D1Ā  D1D8ĺ"THAT IS NOT A PROPER CHOICE!" D1D820 "YOUR NUMBER ";N #N1Ā (A(N)Y"THIS PROGRAM DEMONSTRATES USE OF":"DEF FN(X) AS USED TO SET DECIMAL POINT":"ENTER NUMBER OF YOUR CHOICE WITH EXCESS DECIMAL PLACES AND OBSERVE ROUNDING""AT NUMBER OF DECIMAL PLACES DESIGNATED!":"ENTER '-1' TO EXIT!"H   27,24:21528,200:21529,165:21530,27:21531,145:21532,24:21533,173:21534,241:21535,84:21536,160 (:21537,8:21538,145:21539,24:21540,173:21541,240:21542,84:21543,200:21544,145:21545,24:21546,160:21547,12T 2:21548,169:21549,1:21550,14 t :21504,76:21505,6:21506,84:21507,76:21508,65:21509,84:21510,32:21511,227:21512,3:21513,132:21514,24:21515,133:21516,25:21517,169:21518,0:21519,160:21520,3:21521,145:21522,24:21523,200:21524,165:21525,26e :21526,145:215     7`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!p7`INILSRHDELOUNCLOSREAEXEWRITPOSITIOOPEAPPENRECMONOMOPRINMAXFILEFINBSBLBRVp!p!ppp!ppppp!ppp!p936:-(4);"BLOAD DOS SHORT COMMANDS.X"ENT TIME YOU CAN NOT USE THE UPDATE 3.2.1 PROGRAM ON A DISK THAT HAS BEEN INITIALIZED WITH SHORT DOS COMMANDS. IT DOESN'T FIND THE IMAGE":9:"HIT RETURN TO CONTINUE";A$:936:510:"WANT TO TRY IT (Y/N)?";A$:A$"Y"A$"YES"240:MANDS' INTERNALLY WILL NOT WORK ON NORMAL DISKS. YOU GET ""SYNTAX ERRORS. WITH THESE TWO THINGS IN MIND YOU CAN INITIALIZE DISKS USING DOS WITH SHORT COMMANDS. "" AT THE PRES IF YOU INITIALIZE A DISC WITH 'SHORT DOS COMMANDS', PROGRAMS WHICH USE NORMAL COMMANDS TO LOAD OTHER "B"PROGRAMS WILL NOT WORK. SIMILARLY PROGRAMS THAT USE THE 'SHORT DOS COM "M:9:"HIT RETURN TO CONTINUE";A$:936:5" TO GET BACK TO NORMAL DOS JUST BLOAD 'RESTORE' AND ALL YOUR COMMANDS ARE BACK TO THE ORIGINAL. A FEW THINGS TO REMEMBER!!!!!! "" S- = SAVE BR- = BRUN H- = CHAIN V- = VERIFY DE- = DELETE RE- = RENAME "" LO- = LOCK C- = CATALOG UN- = UNLOCK " " NEW = 0LD NEW = OLD ___________ __________ L- = LOAD BS- = BSAVE "w " R- = RUN BL- = BLOAD D ALL THE OTHER COMMANDS AS WELL. " :9:"HIT RETURN TO CONTINUE";A$:936:5) " WHEN 'SHORT DOS COMMANDS' IS BLOADED INTO MEMORY THE FOLLOWING COM- MANDS ARE AVAILABLE: , " x"DOS CONTAINS THE USUAL COMMANDS FOR OPERATING THE APPLE-- I.E. CATALOG, DELETE, SAVE, ETC. AS MOST OF YOU KNOW ITS A PAIN TO TYPE 'C A T A L O G' EACH"S "TIME. BY BLOADING 'SHORT DOS COMMANDS' YOU HAVE SHORTENED CATALOG TO 'C-' ANRALPH D GUSTAFSON, B 18095 SW DIVISION STE L ALOHA OREGON 97005\ V TEL:503-649-5744e `:2 j"DO YOU WISH TO HAVE ME PRINT A NARRATIVEABOUT THIS PROGRAM ?":"(Y/N)";I$ tI$"N"1420 ~3 " THIS PROGRAM WAS WRITTEN ON A 48K APPLE :5:Q$(34)=5);"*** EXECUTE FILE GENERATOR ***"Y10:15);"WRITTEN BY:"13:20);"RALPH 'GUS' GUSTAFSON"20);"APPLE USERS GROUP"20);"PORTLAND OREGON"$22:5);"**** 'RETURN' TO CONTINUE ****":I$. AUTHOR: 8      ΠҠɍ"ECTOR ";TR%,SE%]&TR%0TR%34SE%0SE%12ĺ(7);"0<= TRACK <=34":"0<= SECTOR <=12":530q026,TR%:27,SE%:21504: READ TTSSX FORMAT DUMPb21507l:"1: SEE IT AGAIN. 2: ANOTHER SECTOR"vA$A$"1"610A$"2"50021738,78:21739,84:21740,73:21741,78:21742,85:21743,69:21744,85:21745,0n:21746,0:21747,0:21748,0t10:11:"SECTOR DUMP PROGRAM"19:"BY" 14:"ALAN G. HILL"20:"ENTER TRACK & SECTOR IN DECIMAL"21:868:"TRACK,S21714,84:21715,169:21716,255:21717,141:21718,242:21719,84:21720,76:21721,118:21722,84:21723,96:21724,141:21725,65:21726,78:21727,89:21728,32:21729,75:21730,69:21731,89:21732,32:21733,84:21734,79N:21735,32:21736,67:21737,79::21691,232:21692,224:21693,20:21694,208:21695,243:21696,173:21697,0:21698,192:21699,16:21700,251:21701,173:21702,16:21703,192:21704,32:21705,88:21706,252:21707,76:21708,76:21709,84:21710,169:21711,160:21712,76h:21713,147:136:21668,208:21669,224:21670,44:21671,242:21672,84:21673,48:21674,48:21675,165:21676,37:21677,201:21678,21:21679,144:21680,155:21681,162:21682,0:21683,189:21684,220:21685,84:21686,9:21687,128:21688,32:21689,240:21690,253x24:21645,176:21646,63:21647,201:21648,160:21649,144:21650,59:21651,32:21652,240:21653,253:21654,169:21655,160:21656,32:21657,240:21658,253:21659,169:21660,160:21661,32:21662,240:21663,253:21664,232:21665,240:21666,56:21667,21621,239:21622,142:21623,243:21624,84 x:21625,32:21626,142:21627,253:21628,162:21629,5:21630,32:21631,74:21632,249:21633,174:21634,244:21635,84:21636,160:21637,8:21638,189:21639,0:21640,85:21641,9:21642,128:21643,201:21644,2:21598,169:21599,160:21600,32:21601,240:21602,253 d:21603,160:21604,8:21605,189:21606,0:21607,85:21608,32:21609,218:21610,253:21611,169:21612,160:21613,32) n:21614,240:21615,253:21616,232:21617,240:21618,96:21619,136:21620,208:2:21575,243:21576,84:21577,32:21578,88:21579,252:21580,32 P:21581,142:21582,253:21583,174:21584,243:21585,84:21586,142:21587,244:21588,84:21589,138:21590,32:21591,2186 Z:21592,253:21593,169:21594,173:21595,32:21596,240:21597,2535:21551,24:21552,200:21553,169:21554,0:21555,145:21556,24:21557,32:21558,227 <:21559,3:21560,32:21561,217:21562,3:21563,144:21564,3:21565,76:21566,45:21567,255:21568,96:21569,162? F:21570,0:21571,142:21572,242:21573,84:21574,14 SYSTEM AND YOU CALL CATALOG."3 D12000:D:DAVAILABLE ON A DISK WHEN IT IS IN MEMORY. " :"IF YOU RUN IT AND THEN INITIALIZE A NEW DISK WITH IT IN MEMORY IT BECOMES PART OF THE DOS SYSTEM ON THE NEWLY INITIALIZED DISK." :"IT WILL THEN GIVE YOU THE FREE SPACE ON THE DISK WHEN IT BOOTS THE 18 90 F0 88 D0 E9 A6 40 A5 41 AC 00 E0 C0 20 D0 07 20 1B E5 20 2F AE 60 20 24 ED 20 2F AE 60 NADC3:20 BA BC ND823G" nI1(HEX$):511I,((HEX$,I,1))128::72,0 x144 }+ :936:5:4:"THIS PROGRAM WILL GIVE YOU THE AMOUNT OF FREE SPACE 5  **DOS FREE SPACE PATCH**)200B **BY MARK PUMP ANDV VAL GOLDING**u **CALL APPLE, SEP 1980**( TYPED BY WM J KERR SR2t dHEX$"BCBA:A2 0C 20 4A F9 A9 00 85 40 85 41 A0 C8 18 B9 F2 B3 F0 0E 0A 90 FB 48 E6 40 D0 02 E6 41 68":7::"FILE ELEMENTS:"#R1E515);CMD$(R)<Rp:"DO YOU WISH TO BUILD ANOTHER FILE ? Y/N";I$&I$"Y"14200:10:11);"HAVE A GOOD DAY !":140h:"COMMAND #";L:C$1rC$"LAST"1690H|C$"MISTAKE"1540WCMD$(L)C$^LhEL1qOP$zWR$R1ECMD$(R)RCL$VER$LOC$:3:"EXEC FILE NAME:":A40(A$):BA2:CB4::C);"*** ";A$;" ***COMMANDS YOU CAN RESTART BY ENTERING 'MISTAKE' INTHE SAME FORMAT AS YOU ENTERED THE OTHERCOMMANDS.":@13::"**** NOTE ****"::"QUOTES MUST PRECEED EACH COMMAND EXCEPT 'LAST' OR 'MISTAKE'."J23:5)"*** 'RETURN' TO CONTINUE ***":I$T^LL BE USED."Q"THE ENTRY MUST BE IN THE SAME FORMAT AS THE FOLLOWING EXAMPLE:"j":Q$;"BLOAD XXXX":,"THE LAST COMMAND ENTERED MUST BE 'LAST'. YOU MAY ENTER UP TO 40 COMMANDS TO GO INTO YOUR 'EXEC' FILE."e6:"IF YOU MAKE A MISTAKE ENTERING "OPEN "A$",L200,S"S$",D"D$",V0"=WR$CD$"WRITE "A$WVER$CD$"VERIFY "A$oLOC$CD$"LOCK "A$CL$CD$"CLOSE "A$ :"ENTER THE COMMANDS THAT YOU WISH TO HAVEIN YOUR EXEC FILE. THEY MUST BE ENTEREDIN THE ORDER THAT THEY WIL0),LOC$(20),A$(40),C$(40),CMD$(400)/B$(20)65:"WHAT NAME DO YOU WISH TO ASSIGN TO THE EXEC FILE THAT WE ARE BUILDING ? ";A$:"WHICH SLOT DO YOU WANT TO HAVE THE EXEC FILE WRITTEN TO ?";S$:"WHICH DRIVE IN THAT SLOT ?";D$%OP$CD$"HIMEM:8192": <"COMMAND #4"7 FQ$;"LOMEM:4096":I P"COMMAND #5"Y ZQ$;"RUN":k d"COMMAND #6"w n"LAST" x22:5);"**** 'RETURN' TO CONTINUE ****" I$ CD$(4):Q$(34) CD$;"NOMON I,O,C":#OP$(20),WR$(20),CL$(20),VER$(2X";Q$ "50 END"A 22:5);"**** 'RETURN' TO CONTINUE ****"I I$ :"THE FOLLOWING IS AN EXAMPLE OF AN ACTUALCOMMAND ENTRY SEQUENCE:" :"COMMAND #1" Q$;"BLOAD PLANET": "COMMAND #2" Q$;"LOAD RL": ("COMMAND #3" 2Q$;XAMPLE OF A PROGRAMTHAT YOU CAN USE TO CALL THE EXEC FILE THAT WE HAVE BUILT."r :"10 CD$=CHR$(4):REM CTRL D" "20 PRINT CD$;";Q$;"NOMON I,O,C";Q$ "30 HOME" "35 PRINT TAB(10)";Q$;"LOADING PLEASE WAIT";Q$ "40 PRINT CD$;";Q$;"EXEC XXX CPU WITH THE APPLESOFT II FIRMWARECARD INSTALLED." :" THIS PROGRAM WILL ASK WHICH SLOT/DRIVETHAT YOU WANT TO WRITE THE EXEC FILE TOOSO THAT YOU DON'T HAVE TO CHANGE DISKS OR HAVE THIS PROGRAM RESIDENT ON EACH DISK."O :"THE FOLLOWING IS AN EY ,XXY/ D$;"WRITE";F$;" ,R9,B0 ":XB D$;"CLOSE";F$DBERS YOU TYPE IN. A NEGATIVE NUMBER WILL REVERSE WHAT YOU HAVE DONE (IT MUST BE THE SAME VALUE)" 2::"THE NUMBER OF PROGRAMS THAT ARE MISSING ?";X <:"NAME OF FILE TO BE CORRECTED ?";F$ dD$;"OPEN";F$ D$;"READ";F$;" ,R9, B0":C F$(40)D$(4)$:(3)l "IF USING CAT MAKER YOU FIND SOME FILES MISSING USE THIS PROGRAM"::"IF YOU WANT TO CONTINUE TYPE Y ";A$:A$"Y":f (:(3):"YOU MIGHT HAVE TO DO THIS MORE THAN ONCE. KEEP A RECORD OF THE NUMӍɠǍԠԠōɠٍ̍̍ȍӍɠӠύ ӠǠӍɠ̠Ӎ ĠǍɠנŠĠǍɠ̠ōɠӠȍɠӍɠŠũ ٍɠӍŠӍӍԠōɠӠͮ΍ҠǍɠ٠ٍɠϭ̍ɠԍɠӠͮ΍ɠŠÍɠààōɠˠԍ΍ɠύɠҠύɠōɠٮ®ɠנ΍ɠΧӠԍ Šōɠ٧ӠŠōɠѠԍȠŠԩɠɠōɠӍԠҠ͍ɠҍ̠ɭӍɠîƮȮԍɠӍɠӍɠҍɠɠӠĠӍɠנϠɠŠōɠ٠ٍɠύɠӍɠȠׯӍɠҍɠō ŮʍɠύԮŮٍ Ԡİ̤ɠˠŠҠԍɠԠӍ ű٠Яō̠ҠٍɠӠ̠Ġˍɠύɠ čɠŠÍ Ӎɠȍ ԲōɠˠϠŠ̠ө ˠϠŠЮŠˠō٠ӍɠԱӍ ԱɠӠōɠŠǍōԠҍɠˠҠЍɠˠҠү׳ɠύɠˠōɠԍɭàԍԍɠԯΠħɠٯĠÍԠҍɠàōԠǍɠԠԍРРԍ ®čԠ    Y( $ iHi h 8Ю` LJJJJ& FORWARD)?";u AN$:(AN$)13ı (AN$)213070 (AN$)83020 JJ38:J18J18 J 37,23:36,0:868:12::"(RETURN FOR MENU)":  (16384)FILE: ";(FLE$,19);29);"PROG: ";NPG:"--------------------------------------":34,2Zs PERFORM CATALOG :35,23D$"CATALOG"35,24:24:10::"PRESS RETURN FOR MENU";:(16384)141204016368,0: LIST PROGRAM E$,19);29);"PROG: ";PG:"--------------------------------------"Nt34,2:3p~JBPGNPG:PR$(J):PR$(J):JD$"CLOSE"FLE$AN$"R"1170::"FILE: -APPENDED-";29);"PROG: ";NPG:"--------------------------------------":34,2:T::"1040LD$"OPEN"FLE$(VD$"READ"FLE$@[DT$:PG$:PG(PG$)K]1122e`AN$"R"NPGPG:1130aAN$"A"NPGNPGPG:NPGMXī1130b:12::"TOO MANY PROGRAMS WITH APPEND - SORRY!":J12500:J::D$"CLOSE"FLE$:Aj34,0::"LOADING: ";(FL"F"İ100:610!AN$"E"ĉ::*710G READ DATA FROM DISK R1020:10:"ENTER PROGRAM FILE NAME: ":FLE$:FLE$"A"ı:"REPLACE OR APPEND TO MEMORY? (R OR A):"AN$AN$"R"BPG1:1100$AN$"A"BPGNPG1:1100. -- COUNT # OF PRG BY TYPE"F5)"F -- FIND PROGRAM OR DISK VOLUME"Z5)"E -- EXIT"24:13::"ENTER CHOICE?";::AN$AN$"R"İ1000:610AN$"C"İ2000:610AN$"L"İ3000:610AN$"S"İ4000:610AN$"N"İ70:610AN$910:2l5:6)"L I B R A R Y R E V I E W":Nv13)"BY HILLY FUCHS":r11)"APPLE GROUP - N.J.":::5)"R -- READ PROGRAM FILE FROM DISK"5)"C -- CATALOG A DISK"5)"L -- LIST PROGRAMS"5)"S -- SORT PROGRAMS"5)"N0:VL206ıVL217280+NU%0:2111,:-320`6(PR$(J),7,(RS$))RS$ĺPR$(NPG)@35,24:24:868:8::"FINISHED-RETURN FOR MENU";:A(16384)141321B16368,0:N PROGRAM MENU X:NPG1:MX1200:PR$(MX)b:217241NU%0:210$J:320RNU%0:J1NPG:(PR$(J),7,1)(RS$,1)ĂcJNPG1310(PR$(J),7,(RS$))RS$ĂJNPG1320NU%NU%1:NU%1ė:3PR$(J):NU%18300210(16384)127280 VL(16384):16368,E? (Y OR N)";::" VL208270= (RS$)1RS$"00"RS$W (RS$)2RS$"0"RS$ NU%0:J1NPG:(PR$(J),3)RS$260 NU%NU%1:NU%1ė:3 PR$(J):NU%18260 211 (16384)127241 VL(16384):16368,0:VL206ı VL130 VL(16384):VL2081501 VL214130I NA$"VOLUME NUMBER"W 16368,0{ 12:"PLEASE INPUT "NA$:5:RS$ VL214(RS$)3170 VL141ı 210:220 :24:868:15::"SEARCHING";::35,23: 35,24:24:868:13::"MOR = ";BP%:13)"TEXT = ";TP%:13)"OTHER = ";OP%q X24:12::"(RETURN FOR MENU)";:(16384)14188 Y16368,0:: d FIND PROG OR VOLUME nNA$"PROGRAM NAME:"::10 x3)"FIND VOLUME # OR PROGRAM? (V OR P):" (16384)127(PR$(J),5,1)) JTY$"I"IP%IP%1:85D MTY$"A"AP%AP%1:85_ OTY$"B"BP%BP%1:85z QTY$"T"TP%TP%1:85 SOP%OP%1 UJ V:10:7)"NUMBER OF PROGRAMS BY TYPE:":: W13)"INTEGER = ";IP%:13)"APPLESOFT = ";AP%:13)"BINARY :T 1013,76:1014,0:1015,145:TN$"ABCDEFGHIJKLMNOPQRSTUVWXYZ ":D$(13)(4)u D$;"BLOAD LIBRARY REVIEW.X"~ 600 F COUNT # OF PROG BY TYPE  G:IP%0:AP%0:BP%0:TP%0:OP%0:12::"PLEASE STAND BY...."::J1NPG:15:18);J;" ":TY$5"USE LIBRARY INPUT TO CREATE TEXT FILES"^"THAT CAN BE READ BY THIS PROGRAM."::"THE TEXT FILE LIBRARY 1 IS A SAMPLE.":"ENTER LIBRARY 1 WHEN PROMPTED.":::"HIT ANY LETTER TO CONTINUE."AZ$ 37090::"NOMONC"      a@E(Š)E@Ka(ǠŠΠ̠Š)bXE(Ũө)a@E()E@a@E(Š)E@`@9()%a@ `@9()%bUVW-r;q-r\F@p@*#rq-r]Ԡа)a@(UVW;@rq <@*#rrYa@E(Š)E@`$Xa(ŠŠנ)FE(ӠΠŮϠՠȠϠŠӠϠˠ)GR@`@9()$Xa@E(Π)E@E(ְ)'a@E(Š)E@E(ҹ°)bͧŧϠĠϠΠǠ):S()&@`@9()$`@9()$`@9()$_*a@E(Π)E@E(ְ)`@9()%_4]ƠŬŠĠԠΠԠ)a@E(Ġ)E@E(ҹ°)R@q$a@E()E@E(Ұr&]ŠҠƠĠNd"e M6a(ԠˠŠǠŠ)a(ŠĠҺ) M6IN@"rS(٧ӠŠŠɮŠ)&@Va(קϠŠנǠ)a(@r$h.^UVWd--rr e<@*#rrYHh`--rr$d2ea(٠)d2eUVWY r]̠ӠנΠ+|]ŠǠŠĠŠΠ`d6?eq8--rr-r-rrr*o.?%rPa(Ǡˠ)F"]ΠΠԠ:6d6ed7ed8e(d9eM]ҠӠ@a@E()2Ja@E(ң)a@E(Σ)]ΠƠԠET-rq-r--rrq.?r.?r`;a(ԠΠϠ)a(ԠçϠŠǠ)cd"e3d2e?a(ԠΠҠ)Gd2e@p())q.?6@r`$`$R@q-r`@9()$Aq8<@*rrrd8<@*rrr <@*)\M6a@E(ΠɬϬ)Fdede-rqde.?6rde.?7rq C]ŠȠǠ٠Π٬ǠԠNoa(ԠȠˠΠ)a(Ҡ̠ԠŠ)A"rq_K@B;@rrp(Ÿ)UVW;@rde<@*rrYdHe[z@p(ù°ðù°ù°ŶİŶ)\M6;@p(N@"2rD42rC@"r@p()]Ĥ̭Ġ5}q`.?r%q.?r.?rqN@"r(S(ԠŠŠϠՠԿ)&@`@9()$G]Ԡ͠ϠŠǠϠ٬̭͠ŠN@ PM6;ZcP a(٠נ)cP a(٠Ƞ)Zdca(ӠĠǠҠ)a(ӠԠΠŠĠ٠٠);na(ϠŠǬŠ̠ˠΠĠҠŠ)ocLxqq.?Jr.?Kr( ] ]ŠˠǠ ] #]٠٠Š 2]<_P^FUVW$de.?r`.?r%qYde[]ĠǠ     ,1,A,7,36,A),~ N BY HILLY FUCHS FOR APPLE GROUP- N.J. PUBLIC DOMAIN A PUBLIC DOMAIN (16384)1274070;VL(16384):VL176VL1804079IVL141ı]16368,0:4070k16368,0:::"SORTING....":VL1774110SRT#(PR$,0,NPG,1,3,A,7,36,A):VL1784130SRT#(PR$,0,NPG,7,36,A): "SRT#(PR$,0,NPG,51413072 16368,0 8 SORT PROGRAM FILE A:9j"CHOOSE YOUR SELECTION CRITERIA:":5)"1 -- SORT BY VOLUME NUMBER":5)"2 -- SORT BY PROGRAM NAME":5)"3 -- SORT BY TYPE OF PROGRAM"::14::"YOUR CHOICE?":," & ":"  9 "AND HERE'S WHAT YOU TYPED IN:"D :IN$J s "NOTE THAT EVEN QUOTES, COMMAS AND" "COLONS GET THROUGH UNSCATHED." :"NOW LET'S WRITE IT TO THE DISK." (4)"OPEN LITERAL" (4)"WRITE LITERAL" IN$ ,I J% 162,0,32,117,253,160,2@ 138,145,105,200,169,0[ 145,105,200,169,2,145g "105,96m , 6NOW TO USE IT! @ J"TYPE IN ANY CHARACTERS YOU WISH:" T ^768:IN$(IN$,1) h rTHIS IS AN "INPUT IN$" |BUT IGNORES "dIN$"X" n:16298,0:&x>THE FIRST VARIABLE\DEFINED MUST BE A STRINGyTHIS STRING WILL REC'VEINPUT FROM THE CALLTHIS POKES THE INPUTSIMULATOR ROUTINEINTO MEMORY...J768788I J נ̠Ӡ˿ԍhh`)`OG06@pUR.N$L L=LiTȱiȱi`ȱiȱi ``ȑ Ŕ8 Đ0ȑ Ŕ 0/# `i!LȭLL ȭ  L 6 ޘи8ޥ߰ L\L;LdHȥؑȥّڥݑօوܑօ؈ڑh`Н(k듥l쓢P`(듅k쓅l哕P`SRT#(VARIABLE NOT FOUNDUi ȱk+kekHȱkellhkmlnLב퓝L{kiRliSޅP߅QTU ␥PХQFf ~`8ޥeeЅօڥхׅۦeޅ֥e߅eڥeօȱօٱڅ݈څܠc]0 ܰ 6L ܐ@ 6PJ TuVTvP`H [hݡ%  , ʽ$L  g RPޥQ g RP8ޅQ߅Y  ~Lޠ ʬ D0Ȍ ),л гk  )S(ԠΠϠ)&@Q͠ȠƠŠ>]ŠŠƠڠΠŠҠԠŠL]ŠΠӠԠҠΠŠӠĠϠӠ"]Π̭͠ŠԠ!]Ġ٠ȠҠ]Ҡa@E(ԠӠź]̠Ϯ]Š]Ӡ]͠Š]Š]Π%]ŠĠȠŠE]ӠĠ