' +JJJJ ?\>m0M='+l> /+l   d']6@5L&]655]6LF%5 & "L}"BB5L&]6 X  `6 77777777777JJJJx 77L? L7877777777 776i 7 7867 7`77 777777`x =(`(8`5775I7`B` 76`77`>J><;VU<)?<`8'x0|<&HhHh 8 8 8 8V&` aI꽌ɪVɭ&Y:&<&Y:&;: 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8 9: :' 9: :& :x)*++`FG8`0($ p,&"ųųೳŪŪųųij  !"#$%&'()*+,-./0123456789:;<=>?8  1 '" *"( (9"1 ( ,.(0# 2  /#0/#0 *?'#07#000'#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 < <݌ < < h < < < <`HJ>݌h Hh݌`葠葠ȔЖȔЖȠHIHHHHhHH݌hHhHh݌H6 (G FG HZXj 80x D9$xxH` >( Z>h Z>L=.xxH >hh@(LH>9L>HH/Hh/ H?-З( 8(& 8$8 H` *8HNx`* >x$50x*$50xL9JJJJ`HHjf5 >h $50x`HA>VD;;P >(ED Z> ?$0x8x D9- 8DD# H8`?E Vˆʎ55L $ 5 55555 &a*5`*5` "L&5_*b*JL%u**Lz%`** $  Q(lXJ̥KlV $  Q(lV eօ3L e3L &%R*L &%Q*L d' "L4% N'e*)n*5 5 &`@-e*f*f* 5 "L# "5f*`L %.* *t*Q*L$ %L&*L` "O**P**u** d' "L% N'e*)n*o*o*n* &8ɍ` ^&f\*555L& ^&NR* & "R*ΩL&)\*Z* ʽ LH*v 3h`0h8` " ['L & N'С55 &5`*A*@` +5L^6L65`  \* ?*0 '\* '  Q( ^&\*lZl^?*c*q)H c*h`f*5h*5j*555@O*AP*`u*@`@5&`Q*R*`E 'Ls' ' ' @DAE@u*`8` %@ @A@`@`**@*A`M5 ) "L&`8@AW*c*@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@c*h8&ȑ@Hȑ@Ah@L'Hȑ@ȑ@* htphso`hMhL`9V*8U*897T*6S*67`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- (   Ԡ734@~3!+,W,o,*--,,9,-.-~3~3,,,,~3~3,,,,~3_*3 j.5 *H*H`Lc3 (+L3 +55555 1^3_* )3J Q*L_3Ls3443 D23455545554 70 / 7 :/354545455454555535L^/5-5I5555 55` / 4/ 2-5! / 08555454 70L3 (+50+5B5C3 2 70L35 *H*H`Lg3L{3505 *H*H` 3 ,5L3 3 1 ,H 1hBL, 0 BH [1 1h`Lo3 35 ,L3 3 1B , 1L,H 0hB@ 55 [1L133 (+34) 34 70L3 3L3 (+ 055L- (+34L{33454445 70 ^/* / 3B0 HȱBh -355 -8 /L38 25` +5 /3 /. /. 3 E7D B. /. /. 0]34S0J4 4) 3 4D4E B. 4  /. 02L3 Ν3 3`HD٤33DEEhiHLG.h ` /5B5-` /5B-` + X05I33383 33DH /4 E03744Ȍ7 X040 7 J7L35B5C`,5p` / R0-55`50` K/ R0-55`575755` 4/ K/ /( 55L/BȱBL/58` D2BH5BH :/ 75Bȭ5Bhh55 R0B5m55ȱB5m55` /LR0557755`*7*75LR0 E0(33 48`433 R0` E033LR0*7*7`777 555I7575757577** 7757`7 L35555f /55555555 ^/`855 i /B58` 41L 15ȱB5 /5555 /5`3 D23ȑB55B5 / 7 55`5555555555 5555`555`55BC55`5555`L3 /5B5C355 0Q340"B4 3` 02۰Ϭ33B438`3i#`3ЗLw35!50>5555`53 /3m3 3 3733i35 3583 /35ЉLw35`H /5h 25L/~43 533`55555555J5m55m5jn5n5n5ۭ55m5555m55m55`"L? 585H ~.(3` # d ֠z# u*`S+i)))r kJr#n!f(gKXiHKNRRRNVZRlx8)a k  Lo e/f݅e`oJJ o0x 0 8  e/f܅e`o% o0`2KJJ2BcBBB:C"z:C2B:BcRzBz :B:":J2zC" 2K2J22Kr"Hȁefi fhef8f@`e (e(cnd m b cndLmԅcnd m n`ciЅeȱcȩ/fbc o0e`O!Gos qN!!a.9J:   N!!!N yI)/i) z/!'!A {NRRRtt<@@wss}0HHxH8H8H8o!g!/9J9)Jg)g)'y 9 zLRR^R#UU[Q M ) i g` ؈Ł Hm( PR`P) /l8  ɭ &&ɥŁ Hm   lP` `bcnd mb%cnd mb6cnd m7W BcndLmScnd m kdcnd m cndLmLk Ł Hm lh`|ȱLl)Ll|Hݙh`|  )`)`)``H|# hȑLalhLal' ~whH ~whLalh`)`|  )`)`)``xxix``y5`1x+)) )0 LjLk eɱLk8 IiL&kz {LDkŘ `gj hj) `hjihj)2hj8 hjgjigjhjihj)hj8hjgji(gj`H M> k9 /  Liͥ` y i` i`i  b 0HQ h ȩLj`x80y j`kjhjjjgj Eka`ae`' Ek Ek c l k laaɻʩ`8 i h`xBʊH) H khh8充`)JJJ hɱy i`y i` 0 c l kJJ 0Ƃ` Hm  U`T`T\TT  Li)I8e nTLii 0 fT8ii8 ` .i  bT IH1 h8*04T 0 f`TTm ` gLg .i` i` cLg Lh he e扥 08  @ i i - g &T ȥ ȄT .f`TT` )Iieǰ`ǩ) ~wLf0@  vLfb m g l`ᅮ HmxRP`  I  d i)  iLh c) `gLh gLhTei"0Ti8m T 0 .f`,:-8J4 e`RPFRʥ 6 )? $# fLf .fLf f` Vf k0 Vf` 8  Tf n l k` 0 c l k 0ƂPR 8xi` n`ƅ n`cndb m =|`Lf Hm`ᅮ Hm`0` i  i o Hm w`[_]\123~@`{}|^8,daE0bE0 cE0LUe]M^N@Pa0 {8 0 0   0 e i Lje e`ȱ 0H khH eh` " ) h ԥ`ϥТ ޠψ0wψ l k i`0`)E Hm` Hm`A0 [i Le Hm!D17263M"=#u$1%O _,Le@0a0{8 LeLfLfLe` d` I Hm` i g i` I))  )8JJJJ j )J JJ i 88i8 }ce Qc ` @ @ @ @ @ @ @ @    b  H h ɀ " } SET A $ `$% "  w  k i i ` b ) ` Lb 29#`ɛ*Q `99 ` `X ``bw` CHAR%AUTO ACK%STOP CHAR%START CHAR%SWITCH TO A%SWITCH TO B%CURSOR WIDTH%VERT SPACING%SCROLL LINE%SCROLL STEP%KEY TICK VOL%EOL WARNING%HORIZ TABS%%%%$ s } $ } OPTIONS $ } $ $ % " }HEX%CURSOR%RUBOUT%BELL%$% L O b @Aaŭbƭcǩ b cPRW ~ ~ c i n c l k l j pL%`" # a } $ } VISITERM - 1.1 $ } $ s }%COMM SLOT%COMM SPEED%DATA FORMAT%BREAK LENGTH%EOB CHAR%ACKs o Hm w ~ J w`L;{L){q{`q{{`뷍  |`i` }FILE NOT FOUND $ L~{ɠ)?` | h }ANSWER ON RING $ }1#2#3#4#5#6#7#8#9$ s1M:I) h }WAITING FOR $ㅇ$ s I 扥$ 1-:͊ 0ȦA0[, L}` ꁭL}Ɖ$ $L} h }GET $@ }L~l$% " }$ `{{ L|EC= 췩 ~ v `L|뷍 }) }WRITE PROTECTED $)  }VOLUME MISMATCH $)@ }DRIVE ERROR $) }READ ERROR $ : `hh曱$%# % Lp}$Lp} bLp}HH`Lj}?Lj}{ |L;{@ n{!" |L;{췩뷍  |L;{i ~ JL\{췩𷩜 |? 2 n{QL| i#й` |𥙅 #L|L\{ |L;{8 L{日#L'{ }DIRECTORY FULL $ ^}L;{ }DISK FULL $ ^}$ }(PRESS $ }RETURN$ })$ s w`q{`Π ԠԭǾʝ |L;Ly yׅ8y9L#l{`89 `6879  / X`c8`))G ) )` h }SAVE $@ }L;{L\{$ }$ `{{ L|L;{P;yL;y/`0{1|2}3~456AD[F`<) LL;yL;yL;yL;yL;yL;yL;yH h ` `)? `H h ` h }XEQ $ }ML `{ L|>?9)73* }NOT A PROGRAM FILE$ L;{L\{L)I(`I o o`$% " }T$ }ERM $ }F$ }TRAN $ }D$ }EF $ }C$ }ALL $ }S$ }AV $ }G$ }ET $ }Z$ }AP $ }X$ }EQ $ }Q$ }UIT$`)#' *. 14567Lx }NUL$` }<-$` }RET$` }->$` }SP$`L;yL;yLv`H i0 h`d` |QN| x)( x  iA}|}` Յԩԥnwww w w ~w`Hhԩ`zZN~^25678 i z {`~i ( 8+EVEN+18+ODD+1 u ` }NONE$` && Q`NSML13EOSRCLƠCҠDРBˠTRCNY H hH H h ex` }NONE$` d8dLv vH޽r }.$h 8 Lv ve CCS$` }LOCAL$` } CAT$` } CPS$`v ȹv Lt` H) ZtLu v } $h $ }SP$`" }LOW $` }HIGH$` }AS SET$` " }1200 BD$` }110 BD$` }300 BD$` }600 BD$`  v } SEC$`7+EVEN+27+ODD+2 7+EVEN+17+ODD+1 8+2 8+1)` s j,)`0)_` k l l`% "ަީ$ 5t $ f sޥީ `޽rL`vB!  }NONE$`LvLuLuLuLuLtiȾv08Lwt < v ,1` } DCH$` } APPLE$` } >` w J w s oTQ` K]GFUEODMC.B/aIƑJƐL,摥i 08 )`LsLsLsLsLsLsi JLbsA` `ƏƏ揥)`I `i@`}) nLVr ) bz uLq@~Lp )'G ) b6 1Lq/~ I LpN~r0 Lpr8 &r  Ș Lrr Lr w~ vLp))! wt` f $  $` i r s o sC rLpQ yLTP i Hm i`- dLpS dz wLpG >~LpZ DžLpFL'DLXLKy #zLp w~iL|q  w~i08~ wLp~ rLp~E~Lp ) (( s` **i% )% i((ȥ0I( %8ő ȱ() #(% s% Я % " p $ }BREAK$L|pH H h ex p H) hH) vLphH) wt pLhH)  t ph***) `γ ) ` Վ`% " $ ] ]q{  ` ΍``% " $ `% " $ AF 䍱 `$ } $$ $ s0 B000: LZ $` ` $LZ (ɠ)H ΍ ` Ì% "$ $ }-- PRESS $ }RETURN$ } --$ s `L$LL L `LL8+ ) ` i i F ` I ` ) ` Վ` I `L8+ δ ) ` 8 E ` I $`# $ޥޅ% "赲 Q bLӌ $ % "2  }ERROR $` }RECEIVING$` }SENDING $` }READY $`0 ] s ]`)`i (ɠI(`  &S+R-zyxNw`溥`ƺ` L `% " $  b $ ) b 5" }BOTH $LG }EOB-ACK $LG }STP-STRT$LG }NONE $ b  }INCLUDE$Lh }DROP $ b  L 䭲 Q b  L H ex } $ ` }NONE ANSF%STOPPAGES%CHRS TO EOB%$ 늩 `% "( `$% " } $ }T$ }ERMINAL $ }O$ }PTIONS $ }S$ }END $ }R$ }ECEIVE $ `Ȉ0Lٻٶ8L_0 LZ LZ0 ` d' L R h $ }A$ }BORT $ }C$ }ONTINUE$0 M `L,)C AL w` [õ` p 귅 ʋ Ì JT O |L2 `Lq `Lp#" Ӎ` $% " } FILE TRANSFER $$% "  % " }CHRS TRANSF%BLKS TR`) )`5 - kl(!ȥL /lL``) 浮  b  /l ) ȇ`  l`` k)C b   L  ) `m) % "` $ % " }WAITING FOR ACK CHAR$ɭ &&` $ % "  ȇ ` $ % " }WAITING FOR START CHAR$`HJJJJ Qh) ɺi `04 #   ) ``  ƹƸ Ì n Lb wᅽ ) ؈  _Lb2  Ì M ` }%$L^ }%$@ 0 ``% "$ ` h$ }SPACE$ } STOP SENDING $ }RETURN$ } ACK/START$`$%`$% "` h }DEL $@ }v$% " }$ `{{ L|RJD #EL[ b$ }Y$ } TO CONFIRM$ s$ % "Y`` w`L)L;{" | |ޥ i8 |L[ "# X `  h @ JV }ERROR $ŵ H` }WRITE PROTECTED$` }DISK I/O ERROR$` }DISK FULL$` }FILE LOCKED$` }NOT A TEXT FILE$`XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX % $%0  exL bL `'((PPPPA$ }PPEND $ }R$ }EPLACE $ }C$ }ANCEL$ sR ACL` µqõ{ĵ x µ0 ŵLC ŵ -ۭŵ۩ x  `5ǵȵɵʵ˵̵`ŵ ` ŵ!1q{$Hq{  h$ L ,)`  h Ì nO F鷽 ŵ L) RAL [õ  L5L  ` q{q{ɠ }NO FILE NAME$` }FILE ALREADY EXISTS%$ h $ } Lǩ  L  Lށ`췥 ~`?` 8#L@݅)ƕL@݅ LLi#L~ )L~ L% ū )``n{!Lł w`L\ -CL͘ h }MICROMODEM: $ }H$ } TO HANG UP$ sHиLh6 7` $#" X #ɍ L8 X x0Lh vhhLq h%  w` H sh Ɉ&ɍ5۰ɠɬ  Z } RING$ }S$ ,L€ R2 ,L€|H h)I`|)`L` 8 9$#" X ɍLN  0  0` ]L2` h $ }D$ }IAL $ }A$ }NSWER$ sADGgH h | { LК`,`` h }CALL TERMINATED.$Lr|ܙݙ "LU ݙ` h }TYPE PHONE NUMBER: $ H sh Ɉɍ-ɛ%ɠ LMө  LM ` ` `ބߨ ޤ`IiEe %`eܩݩ| h }DIALING: $ ɍxH h)@ L+ L800  šL w` h }PRESS $ }H$ } TO HANG UP.$ sHLҙdܩݤ| [L\|! B L\ h }WAITING FOR CARRIER.$|)  }[ESC]$ } $$ }[$ }CAPS$ }]$ } $,)Ll  L)L LaE0#bE0cE0MA0G[C L]M^N@PLå IL,0 @d`"# X`x ||D.$Å LV   G e i Lٖ H H Vh h  ſ0 8 L >% "$ B$ }TYPE IN MACRO EXPANSION...$ 0&𳨈 ϕȘL.Ɉ𖨈 L` ÅL.`% " $` H h  Lו` ȱ  `c% "$ B $ }DELETE THIS MACRO%%$$ }Y$ } TO CONFIRM$ sY ` L ϕ ϕ ϕ ϕ >% "$ B $ }TYPE KEY TO BE DEFINE$% " B$ }<-$$ }->$ } SELECT AMONG DEFINED MACROS%$ }D$ }ELETE MACRO $ }A$ }DD NEW MACRO $ }C$ }HNGE MACRO$$ }O$ }PTIONS MODE $ }T$ }ERMINAL MODE$`7D AC`LLpL …`8񿅿`ei} - HEX: $ 0  H$ }ASCII: $0 ex `$% " }MACRO#EXPANSION$ }: $L8H㩨  Z } CHARACTER$h }S$ })$ b b0?H  ex$&0 hLg L| } $ }<<#$L|#% B#`sTLTOLZ pL $% " } KEYBOARD MACROS $`   e  L8 8 ` $% " }NO#OF#MACROS#DEF'D$ }: $ Q$ }MEM#AVAIL$ }: $ Q b 늩 늩% " }MACRO#KEY$ 椥 `! }%$ `S K )D ? : RR $ % " }STOP CHAR SENT$魱 `µ0õĵ  ` h $ }ESC$ }-$ }2$ } STOP RECEIVING$`귅 ג > ڍ g g`x `) h{ʹ LB F浭 ; )4 $ % " }END OF BLOCK $ N RR  k b k泥ƹƸ ` )  ``  N RR ` & * *Ɗee㰺hee㰭L }FILENAME%DRIVE%PROTOCOL%BLOCK CHRS%BLOCK SIZE%EOF CHAR%%STATUS:%$`酮᭱  c l k Ӑ ÌE }%$ @ 0 Nõ    @@ @pp@0 @@ @@@ @@ @@@@@@``ࠠ@@@` ````@` @` `` @ P h@@ pppp@p @ xpxppphp p ppxxxx xpppxx Px `@@@@ @ ࠠ@ @ @@ @ࠠ @ࠠ@@@P P @ P؈ @   PP@ @ @@@ @@@ࠀ@ @ @ `@@ @ࠠ@@@@@@@P (@@ @ @@@  P @@x  p @@@@ @@@@ @@`@ @@ @@@`@@ ࠠ@ @ࠠ@ @ p Pp @@ 00 px  p @ p  P @ @ @@ @ @@ ࠠ@ ࠠ@ @``@@` @@``ࠠ@@@` P @  P@ Ȉ PP@@pxxp x` pxxx @``@@@ @ ࠠ@ @ @@@@@@ PPxȠ P `0@ P ؈ @P  @@@@@ @@ @@@@@`` @@`ࠠ@ @ @ @ PP @ @p p8pp@pp pxpppppp @ `  @7 F7  H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),Šh,,,0  H H+,-./:;<=>?@[\]^_{|}~ 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz kLs $    Ƭƫ0Ș Ld  LH qh `L   IL _ t  t֩ q L   L.*zHere is a set of regular characters and a set of boldface characters. They may be intermixed as you wish. zyThe quick brown fox jumped over the lazy dog. Now is the time for all good men to come to the aid of their party. yk!"#$%&'()*  H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),0`,,0La$(H)? @(h,,,0  H  H$    Ƭƫ0Ș Ld  LH qh `L   IL _ t  t֩ q L   L.*8p@php@ @@@@@B|8||BbHA|"<@;A|v "#<@ @ @P@P@@ @@@@ @pp`P@`````` @`@`P @ ( 4@ @0px000 0 @?@[\]^_{|}~ 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz kLs $    Ƭƫ0Ș Ld  LH qh `L   IL _ t  t֩ q L   L.*zHere is a set of regular characters and a set of boldface characters. They may be intermixed as you wish. zyThe quick brown fox jumped over the lazy dog. Now is the time for all good men to come to the aid of their party. yk!"#$%&'()*  H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),0`,,0La$(H)? @(h,,,0  H  H$    Ƭƫ0Ș Ld  LH qh `L   IL _ t  t֩ q L   L.*An intelligent terminal emulator for the Apple ][ computer. J>2 VisiTerm ~~~~~~~~~~~~~~~~~~ >I1 Personal Software Inc. proudly presents IyThe quick brown fox jumped over the lazy dog`0<~~~0~x>?~~~~?|~||~~``l```f00 `?ccc< 0f ~`~ 0>~~~~``@P @@ p@p0pppp ppppp @ J            F7   H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),Šh,,,0  H H. Now is the time for all good men to come to the aid of their party. yk!"#$%&'()*+,-./:;<=>?@[\]^_{|}~ 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz kIL _ t  t֩ q L   L.* An intelligent terminal emulator for the Apple ][ computer. J>2 VisiTerm ~~~~~~~~~~~~~~~~~~ >I1 Personal Software Inc. proudly presents IyThe quick brown fox jumped over the lazy dog  H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),0`,,0La$(H)? @(h,,,0  !H H. Now is the time for all good men to come to the aid of their party. yk!"#$%&'()*+,-./:;<=>?@[\]^_{|}~ 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz kIL _ t  t֩ q L   L.*  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz~ q Ƥ0ߩ qLL     ``pp      @ 0`     @P h @pppp@p`@ 0xx xxx080``       G7        H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),Šh,,,0  H H1 2` q` &&e欢Ʊ8居Ƭ0e8J H h Ls $    Ƭƫ0Ș Ld  LH qh `L   IL _ t  t֩ q L   L.*~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz~ q Ƥ0ߩ qLL  H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),0`,,0La$(H)? @(h,,,0  !H  H1 2` q` &&e欢Ʊ8居Ƭ0e8J H h Ls $    Ƭƫ0Ș Ld  LH qh `L   IL _ t  t֩ q L   L.*ere is a set of regular characters and a set of boldface characters. They may be intermixed as you wish. zyThe quick brown fox jumped over the lazy dog. Now is the time for all good men to come to the aid of their party. yk!"#$%&'()*``pp @0` @P h @pppp@p`@ 0xx xxx080`` G7      G7        H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),Šh,,,0  H H+,-./:;<=>?@[\]^_{|}~ 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz kLs $    Ƭƫ0Ș Ld  LH qh `L   IL _ t  t֩ q L   L.*zHere is a set of regular characters and a set of boldface characters. They may be intermixed as you wish. zyThe quick brown fox jumped over the lazy dog. Now is the time for all good men to come to the aid of their party. yk!"#$%&'()*  H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),0`,,0La$(H)? @(h,,,0  H  H+,-./:;<=>?@[\]^_{|}~ 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz kLs $    Ƭƫ0Ș Ld  LH qh `L   IL _ t  t֩ q L   L.* T 膭LLcLH qh и`H   h`8` H h B2  ʈ Ȇ.?:!𰥡8e[8屐eH h H h  拉0 q Ƥ0ߩ qLL@ @ @ @ @P h @`````@@ <`p`P` p `````@@`@`P`@@@ ppppp@ppp@hp0 @@ P pxppphp p P@@ @@@ @ @@@ ؈ @ @ @ @@  @@ pPp@pp x ؈  P@(@ P @@@@ 𐀐@ P `@@@@ @ `0P@ @ @@@ @ @`P H@ P P  PP @( p@Pp @ @ @`p@ @` @@ @ @`0 P@ 00 px@ @@PP P H@  P p P p @ @P @ @А PP @ @``@`@@`` @ @`0@  P@ @@h @0P@ 0@@ P PP Ȉ PP @PxȠ@@ 0@ @B@ؐ  P@ @ `0 `0@@ p@ pP@ px P ؈ x @P @@ P`@`` ``p<```p`` @@@P@p p8pppp@ pp  pppppp F7@  H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),Šh,0  H H1 2` q` &&e欢Ʊ8居Ƭ0e8J H h Ls $    Ƭƫ0Ș Ld  LH qh `L   IL _ t  t֩ q L   L.* T 膭LLcLH qh и`H   h`8` H h B2  ʈ Ȇ.?:!𰥡8e[8屐eH h H h  拉0 q Ƥ0ߩ qLL  H) qȘh0 ` q00G@0i *****&`` ^HJJJJ ih) 0ii0 L Z Lq ),ԠàĠh,0  !H !H1 2` q` &&e欢Ʊ8居Ƭ0e8J H h Ls $    Ƭƫ0Ș Ld  LH qh `L   IL _ t  t֩ q L   L.* T 膭LLcLH qh и`H   h`8` H h B2  ʈ Ȇ.?:!𰥡8e[8屐eH h H h  拉0 q Ƥ0ߩ qLL@ @ @ @ @P h @`````@@ NZ$"":LF$"YES"Z$(10)U-HNPPP[-RN-\N"PRESS ";::"RETURN";::" TO START PRINTING";-fNA$:-kN:24:2-pN:"SPACE";::" PAUSE ";::"RETURN";::" CONTINUE ";::"S";::"TOP";.uN3A$(27)C$C$A$:18030$,FII15,FA$(B$,I,1)F,FA$"E"A27W,FA$"Q"A34h,FA$"X"A24y,FA$"M"A13,FC$C$(A):18030,J,$J,.J, N PRINT ROUTINE.,#N0,(DR$),%N(DR$)020010-&NX1(DR$):38144X,((DR$,X,1)):B$B$(27):A("E")4+BA34B$B$(27):A("Q")S+BA24B$B$(27):A("X")r+BA13B$B$(27):A("M")+BB$B$(A)+B17020+2F+CMD$(8)C$(C$,1,(C$)1):16030c*>CMD$"A"CMD$"Z"(C$)1516060r*>C$C$CMD$}*>CMD$;*?16050*JB*TB*^B*hB STRING SAVE ROUTINE.*rBI0:B$""*|BII1*BI(C$)ĺQ$;C$:*BA((C$,I,1))+BA27C$""C$"-":"-";:15130K)`;CMD$"0"CMD$"9"C$C$CMD$:CMD$;:15130V)j;15140\)b>b)l>h)v>~)> GET A FILENAME.)>H(36)1)>C$"")>H)>C$;:868)>:" ";(8);:: CURSOR)>7000: GET A KEY)>CMD$(13)Č868:*>CMD$(36)1: CH(:C$""(:H8(;5000: DISPLAY STRINGK(;868: CLREOLg(;:" ";(8);:: CURSOR}($;7000: GET A KEY(.;CMD$(13)C(C$):(8;CMD$(8)(C$)215020(B;CMD$(8)C$(C$,1,(C$)1):15100(L;(C$)515140)V;CMD$"-"$(124): LINE&'^8CMD$";"CMD$"^"D'h8CMD$"<"CMD$(28): FSb'r8CMD$"="CMD$(29): GS'|8CMD$">"CMD$(30): RS'8CMD$"?"CMD$(31): US'8'8C$C$CMD$'8A(CMD$):5500'814130'z:':':': GET AN INTEGER (:H&8CMD$"0"CMD$(127): RUBOUT@&8CMD$"4"CMD$(27): ESCb&"8CMD$"5"CMD$(126): TILDEy&,8CMD$"6"CMD$"@"&68CMD$"7"CMD$(96): CIRCUMFLEX&@8CMD$"8"CMD$(123): OPEN BRACE&J8CMD$"9"CMD$(125): CLOSE BRACE'T8CMD$":"CMDCMD$"Z"CMD$(A32)!%714500'%71%7ESC0g%7CMD$(27)CU$(((CU$)("+")("-"))):14130%7CU$"+"CMD$"A"CMD$"Z"CMD$((CMD$)32):14500%7CMD$","CMD$"["%7CMD$"-"CMD$"_"%7CMD$"."CMD$"]"%8CMD$"/"CMD$"\"! DISPLAY STRING"$(7868: CLREOL>$27:CU$;(8);:: CURSORT$<77000: GET A KEYb$F7A(CMD$)q$P7ESC14300w$n7$x7A13ı$7A8(C$)214030$7A8C$(C$,1,(C$)1):14100$7(36)3614100$7A27ESC1:14100%7CU$"-"CMD$"A""#3216,0: RESET ONERR #3;#4 ONERR ROUTINE.B#41K#4768X#4E(222)q#4216,0: RESET ONERR#4E0E16ĺ(7):13220#4#6#6#6#6 GET A STRING.#6H(36)1: CH#6ESC0:CU$"+"#6C$""# 7#7H$75000:PEN";FF$"3D$;"WRITE";FF$-"3C$F$:17000?""3C$DA$:17000G",3SLY"63C$IS$:17000k"@3C$TS$:17000t"J3LF$|"O3LP"T3PA$"^3DE"c3C$FS$:17000"h3C$NP$:17000"r3SK"|3P"3SC"3LL"3LO$"3C$DR$:17000"3#3D$;"CLOSE6000:FF$C$8!/(FF$,8)".PRINTER"FF$FF$".PRINTER"B!/3000H!&/N!2T!2Z!2t!2 SAVE CONFIGURATION.!224:1!2868: CLREOL!2"SAVE ";!216000:FF$C$!2(FF$,8)".PRINTER"FF$FF$".PRINTER"!213500!223:"3D$;"O .CMD$"->"LPLP1. ".CMD$"<-"LPLP1= ,.LP0LP0N 6.LP40LP40T @.r J.CMD$"ESC"İ14000:DR$C$x T. |.CMD$"ESC"İ14000:FS$C$ . . . . . GET A NEW CONFIGURATION. .24:1 .868: CLREOL ."GET "; !/1-CMD$"<-"SCSC1)-SC200SC200<-SC200SC200B-^-CMD$"ESC"İ15000:LLCu-CMD$"->"LLLL1-CMD$"<-"LLLL1-LL2LL2-LL200LL200--CMD$"ESC"ı-LO$"CHOP"LO$"WRAP": -LO$"WRAP"LO$"CHOP":KC(-CMD$"->"SKSK112-CMD$"<-"SKSK1@<-SK0SK0WA-SK10000SK10000]F-xP-CMD$"ESC"İ15000:PCZ-CMD$"->"PP1d-CMD$"<-"PP1n-P0P0s-P10000P10000x--CMD$"ESC"İ15000:SCC-CMD$"->"SCSC1ES":,CMD$"ESC"ı1,PA$"YES"PA$"NO":K,PA$"NO"PA$"YES":g,CMD$"ESC"İ15000:DEC~,CMD$"->"DEDE1,CMD$"<-"DEDE1,DE15DE15,DE10000DE10000,,CMD$"ESC"İ14000:NP$C$,-CMD$"ESC"İ15000:SC$ f+'+CMD$"ESC"İ14000:DA$C$-+O+CMD$"->"SLSL1:SL7SL0q+CMD$"<-"SLSL1:SL0SL7w++CMD$"ESC"İ14000:IS$C$+$,CMD$"ESC"İ14000:TS$C$.,V,CMD$"ESC"ı`,LF$"YES"LF$"NO":j,LF$"NO"LF$"Y* **A* ADJUST SETTING HIGHLIGHTED OPTION ACCORDINGP+ TO CMD$._+TL(K):22 +K11100,11150,11200,11250,11300,11350,11800,11400,11450,11900,11500,11600,11550,11650,11700,11750,11850+JK:4500 +R+\+CMD$"ESC"İ14000:F$$"Q"ı8010 ####C(# HIGHLIGHT CURRENT OPTION.I2#b<#TL(K):20(TI$(K))oF#TI$(K);uP#{Z#&&'' REPOSITION HIGHLIGHTED SETTING.'CMD$"SPACE"KK1:KNK1$'CMD$"RETURN"KK1:K0KN.'OMMAND.J9000: HIGHLIGHT3T7000: GET A KEYK^9020 DE-HIGHLIGHTkhCMD$(13)CMD$"RETURN":rCMD$" "CMD$"SPACE":wCMD$(27)CMD$"ESC":|CMD$(8)CMD$"<-":CMD$(21)CMD$"->":CMD$"P"CMD$"G"CMD$"S"CMD"RINT FILE ";-:"G";::"ET CONFIG ";K:"S";::"AV CONFIG ";`:"Q";::"UI";u2039,("T")128{:DNX GET A KEY.b(16384)1287010l16368,0vCMD$((16384))",6@ GET A CCHAR OF STRING.II1+I(C$)5100>A((C$,I,1))H5500R5020X^r||A32ĺ"<";(A64);">";:A64A96Ğ:(A);::A96AA32(A);:R\fp DISPLAY COMMAND LINE.z24:1:"P";::" SEC";:PA$;:*DE;" LINES";:=C$NP$:5000:O"PAGE ";P;:b"PAGE ";SK;:r SC0ĺ"+";} SC;:LL;" CHARS";: LO$;:*C$DR$:5000:4C$FS$:5000:jt~ DISPLAY A STRING.I0: CURRENT ,4560,4565,4570,4580,4660,4590,4600,4610,4620,4630,4640,4650Q868: CLREOL WiC$F$:5000:|C$DA$:5000:SL0ĺ"#";SL;:"SCREEN";:C$IS$:5000:C$TS$:5000:LF$;:LP10;LP(LP10)10ĺ".0"; CLOSE" 216,0: RESET ONERR% + 6 1:D$? 768L E(222)e 216,0: RESET ONERR E0E16ĺ(7):3200  DISPLAY SETTINGS.J1N4500JTL(J):22<J4510,4520,4530,4540,4550READ";FF$ 18000:F$C$, 18000:DA$C$7 "";SLI 18000:IS$C$[ 18000:TS$C$g "";LF$r "";LP~ "";PA$& "";DE+ 18000:FS$C$0 18000:NP$C$: "";SKD "";PN "";SCX "";LLb "";LO$l 18000:DR$C$ D$;" DOS TEXT FILE PRINT UTILITY "-U" COPYRIGHT 1981 - VISICORP"_34,3jI1N TL(I):20(TI$(I))TI$(I) I*    GET A CONFIGURATION FILE. 3500 23: D$;"OPEN";FF$  D$;"9,"INDENTATION"%t20,"LINE LENGTH"=~21,"LINE OVERFLOW"V 22,"CHARS TO DROP"hTL(N),TI$(N)sI1NTL(I),TI$(I)IK1: CURRENT HIGHLIGHTED OPTION DISPLAY MENU BACKGROUND.:'2:"ALIZE STRING")$ 9 ,"TERMINATE STRING"D. 10,"EXTRA LINEFEED" a3 11,"END-OF-LINE PAUSE"v813,"PAGINATION"B14,"PAGE DEPTH"G15,"FORMFEED STRING"L16,"NEW-PAGE PATTERN"V17,"START NUMBERS WITH"`18,"START PRINTING AT"j10:250 @CMD$"S"İ13000:2606JCMD$"Q"ĉ:::OT"UNKNOWN COMMAND":^TL(J):22djp INIT CONFIGURATION MENU.N17: NUMBER OF ITERMS 4,"FILE TO PRINT" 5,"TODAY'S DATE" 7,"PRINTER SLOT"  8,"INITI2000: DISPLAY BACKGROUND;4000: DISPLAY SETTINGS\6000: DIPSLAY COMMAND LINEv8000: GET A COMMANDCMD$"SPACE"CMD$"RETURN"İ10000:270"CMD$"->"CMD$"<-"CMD$"ESC"İ11000:270,CMD$"P"İ20000:2406CMD$"G"İ1200201:37659,13:37660,240:37661,10 37662,224:37663,240:37664,240:37665,6:37666,232:37667,134:37668,1:37669,76:37670,4:37671,147:37672,96 MAIN LINE. 1000: INIT CONFIG MENU FF$"DEFAULT.PRINTER" 3000: GET DEFAULT OPTIONS34:37635,1:37636,32:37637,12:37638,253:37639,41:37640,127:37641,166 37642,0:37643,240:37644,8:37645,221:37646,0:37647,149:37648,240:37649,242:37650,202:37651,208" 37652,248:37653,166:37654,1:37655,157:37656,0:37657,148:37658, DR$ - CHARS TO DROP $ * = 36864: $9000I D$(4)V Q$(34)j A$" " I120:SP$SP$A$:I 768,104:769,168:770,104:771,166:772,223:773,154:774,72:775,152:776,72:777,96J 37632,162:37633,0:37634,1-OF-LINE PAUSE* PA$ - PAGINATION FLAGA DE - PAGE DEPTH] NP$ - NEW-PAGE STRING SK - NUMBER OF PAGE TO SKIP TO P - NFIRST PAGE NUMBER SC - FIRST COLUMN TO PRINT ON LL - LINE LENGTH LO$ - LINE-OVERFLOW FLAG nPP - PAGE BEING PRINTED C xFF$ - CONFIGURATION FILE NAME\ F$ - FILE TO PRNTu DA$ - TODAY'S DATE SL - PRINTER SLOT IS$ - INITITALIZATION STRING TS$ - TERMINATION STRING LF$ - EXTRA LINEFEED FLAG LP - END+ APPLE ][ DOS TEXT FILE2 PRINT UTILITYO PERSONAL SOFTWARE INC.d( COPYRIGHT 1981j2< VARIABLE DEFINITIONS.FP EF$ - END-OF-FILE FLAGZ CMD$ - COMMAND OR KEYSTROKE FROM KEYBOARDdLN - NO OF LINE BEING PRINTED               z#????  ̮Ҡ "Š̠ϠӠӠϠ̠@ԱԭǾ Š! Բ"Գ ԠϠԠҠΠϠԠԠϠΠ͠  ԮҠԠ- @ϭŠԭǾ@ŠԠԭǾ @ҠŠԭǾ @Š̠ԭǾ @ǠĠԭǾ @ԠԭǾРϠԠ ̭Һ    1.1  ٠͠Ƞ ԠԠԠ ͠)((N6J)) J. SB(I)(N)(N1)256J EB(I)(N2)(N3)256[ TY(I)(N4)b Ih  DO SCREEN BACKGROUND::" PASCAL TO DOS TEXT FILE CONVERSION ";:" COPYRIGHT 1981 - PERSONAL SOFTWARE INC "WT,3D BLOCK OF FILE) TY(I) = TYPE OF FILE5 BUFDIRB BLK25X 2000:READ BLOCKa BLKv& V$"":L(DIR6)0 I1L: V$V$((DIR6I))D IN NF(DIR16)X I1NFb NDIRI26l L(N6)v N$(I)"" J1L  N$(I)N$(IWRITE PROTECT";- E32ĺ"VOLUME MISMATCH";A E64ĺ"DRIVE";U E128ĺ"READ";h (7);" ERROR"n  GET DIRECTORY PV$ = PASC VOL NAME NF = NO OF FILES N$(I) = NAME OF ITH FILE SB(I) = START BLOCK OF FILE EB(I) = EN>IS,S1HIA,LOB(BUF)/RIA1,HOB(BUF)S\RWTS:READ FIRST HALF OF BLOCKcf(IE)2500npIS,S2zIA1,HOB(BUF)1RWTS:READ SECOND HALF OF BLOCK(IE)2500BUFBUF512 RWTS ERROR HANDLER E(IE) E16ĺ"ORY, THEN ADVANCE4BUF TO POINT TO END OF BLOCK.QBLK = BLOCK NO TO READ.zBUF = LOCATION IN MEMORY TO PUT IT.ABLK2TR(A16) S2TR1614AS1S21S115S10S20S215IRW,1 IV,0*ID,SD4IT,TR 943,136:944,3D,945,0:946,0:947,96:948,0:949,0:950,0:951,06952,24:953,160:954,0:955,177:956,2:957,230:958,2@959,208:960,7:961,230:962,3:963,198:964,0:965,208J966,1:967,56:968,96READ A PASCAL BLOCK INTO MEM4:915,3:916,56Q917,233:918,32:919,240:920,239:921,170:922,169:923,32924,32:925,237:926,253:927,202:928,208:929,248:930,76931,136:932,3:933,201:934,0:935,240:936,223:937,9"938,128:939,32:940,237:941,253:942,76:152:FX8,72 FX9,96J  MACHINE ROUTINE TO DUMP BUFFER TO DOS DISKY WCHUNK896 896,169:897,0:898,133:899,2:900,165:901,1:902,133 903,3:904,32:905,184:906,3:907,176:908,38:909,201910,16:911,208:912,20:913,32:914,18384  MONITOR ROUTINES* (CLREOP9584 2WT34E F TYPE TABLEQ PTY$(5)c ZTY$(2)"CODE"u dTY$(3)"TEXT" nTY$(5)"DATA" x ONERR BUGFIX FX325664 FX,104:FX1,168:FX2,104 FX3,166:FX4,223:FX5,154 FX6,72:FX7,1,HOB(IOB). RWTS2,160:RWTS3,LOB(IOB)S RWTS4,32:RWTS5,217:RWTS6,3m RWTS7,176:RWTS8,5 RWTS9,169:RWTS10,0 RWTS11,141:RWTS12,LOB(IE):RWTS13,HOB(IE) RWTS14,96 BUFFERS DIRHM DBUF16384 DSIZ168:BUFFER ADDRESS* VIE47093:ERROR CODEQ `IRW47092:COMMAND - READ OR WRITE` eRWTS3256x j RWTS LDA #IOB/256 t LDY #IOB ~ JSR RWTS  BCS RET  LDA #0  STA IE  RET RTS RWTS,169:RWTS44096 HM/ N$(50),SB(50),EB(50),TY(50); D$(4)W LOB(X)X(X256)256m HOB(X)(X256)  RWTS LOCATIONS IOB47080:IO CONTROL BLOCK $IV47083:VOLUME .ID47082:DRIVE 8IT47084:TRACK BIS47085:SECTOR LIA4708ōˍʍӍӍЍ  "BRUN VISITERM"ፊ퍊퍊ፊ半鍊퍊荊퍊半荊半荊퍊半半半半ፊ썊半半荊ፊ㍊半半䍊半퍊半퍊半半䍊ፊ半ፊ㍊㍊ፊ半㍊덊獊썊半半半䍊ፊ半半半半썊半半덊半퍊㍊ፊ퍊ፊ㍊ፊ㍊퍊썊ፊ㍊獊썊半㍊썊半㍊㍊썊퍊㍊ፊ半㍊썊半썊半半䍊半半ፊ㍊半ፊ㍊半썊㍊썊ፊ썊半퍊半獊半半ፊ v"";DF$(@ PERFORM TRANSFER;JDN0:BT0:ER0FOLL$""_T10000:READ A CHUNK^DDSDĺ"INSERT DOS DISK IN DRIVE ";DD:5600hD$;"OPEN ";DF$;",D";DD:8060rDDSDĺ"INSERT DOS DISK IN DRIVE ";DD:5600|11000: WRITE A CHUNK17(N$(I)));TY$(TY(I))0t(16384)1286260D~A(16384)128N6210TY(I)3ĺ::(7);"NOT A TEXT FILE."::6096SBSB(I)2 EBEB(I)NBEBSBX GET DEST FILE NAMEb11:CLREOPl"DOS FILE"(13)"TO CREATE: ";:13:"";PF$I1NF,PF$N$(I)64003IU::(7);"FILE NOT FOUND.":eJ1500:Jo6010w8I0BA8A21A136060L16368,0VA13PF$N$(I):6400`A21II1:INFI1jA8II1:I1INFo9:13:N$(I);+ɪ`Hhؽש`L _ X V!BOOT ERROR$LS!hh$*<>% % L`!?L`!L`! bL`!HH`Ҡ Үʠ  X $% " V!< VISITERM 1.1 >%$$ V!BY TOM KEITH%%$ $ V!COPYRIGHT 1982%%%$ $ V!DISTRIBUTED BY VISICORP$뷩췩_񷩷 LB!ɜ CaLB! 0   M6a(Π) T 膭LLcLH qh и`H   h`8` H h B2  ʈ Ȇ.?:!𰥡8e[8屐eH h H h  拉0 q Ƥ0ߩ qLL@ @ @ @ @P h @`````@@ <P` p `````@@`@`P`@@@ ppppp@ppp@hp0 @@ P pxppphp p P@@ @@@ @ @@ ؈ @ @ @ @@  @@ pPp@pp x ؈  P@(@ P @@@@ x P `@@@@ @ `0P@ @ @@@ @ @`P H@ P P  PP @( p@Pp @ @ @`p@ ` @@ @ @`0 P@ 00 px@ @@PP P H@  P p P p @ @P @ А PP @ @``@`@@`` @ @`0@  P@ @@h @0P@ 0@@ P PP Ȉ PP @PxȠ@@ 0@ @Bؐ  P@ @ `0 `0@@ p@ pP@ px P ؈ x @P @@ P`@`` ``p+A6,(PF$): NAME LENGTHH+I1(PF$): HAMER+A6I,((PF$,I,1))\+If+A22,0FBBR#BTBTBR#4' WRITE A PAGE OF ZEROSA'I0511O$'DBUFI,0V.'Ia8'BLKFBnB'BUFDBUFL'RW2:2000:WRITE A BLOCKV'BLKFB1`'BUFDBUFj'RW2:2000:WRITE A BLOCKt'FBFB2~'* UPDATE DIRECTORY+NFNF1:DIR1364R!E(222)%\!E5EF1:8120+f!?(# WRITE A CHUNKJ2#1:14Y<#"WRITING"eF#CLREOPpP#BLKFB}Z#BUFDBUFd#I1BRn#BLKTBĺ"DISK FULL";(7):ER2:9120x#RW2:2000:WRITE A BLOCK#EER1:9150#BLKBLK1#I#FB DBUFI,LN(J):II1& J%0 LN03: EF8080<? DN1SD IPAGE10248280mN DBUFI,0:II1:8260X PAGEPAGE1:PAGE1024DSIZDN8080b BR(PAGE1)2l 216,0: RESET ONERRv 4! ON ERR ROUTINE>!216,0: RESET ONERRH!256@ READ A CHUNK J8500+T14:16^PAGE1Mh"READING":CLREOP`rD$;"READ";DF$h|I0wLN08200A$:LNLN1:LN(LN)(A$)A$(13)LN2558080LN(LN)13LNLN1:LN(LN)13 ILNPAGE10248260 J1LNAL DISK IN DRIVE ";DD:560049000:WRITE A CHUNK:O ER1BT0:7320\*ER7300j4DN7140p11000:UPDATE DIRECTORY"TRANSFER FINISHED ";ERĺ"IN ERROR."ERĺ"SUCCESSFULLY."BT;" BLOCKS TRANSFERRED." OPEN DOS FILE ADDSDĺ"INSERT DOS DISK IN DRIVE ";SD:5600\D$;"OPEN";DF$;",D";SDf7160 FILL BUFFER FROM DOS FILEDDSDĺ"INSERT DOS DISK IN DRIVE ";SD:56008000: READ A CHUNK WRITE OUT BUFFER DDSDĺ"INSERT PASCX DO TRANFER'bDN0: DONE FLAGBlBT0: BLKS TRANSFEREDVvER0: ERR FLAG_LN0hEF0 SET NB = NEXT FREE BLOCKADIRNF262SB(A)(A1)256:NEXT BLOCK FREE ON DISKFBSB WRITE A PAGE OF ZEROS10000+ɪ꽌Hhؽש`L _ X V!BOOT ERROR$LS!hh$*<>% % L`!?L`!L`! bL`!HH`Ҡ Үʠ  X $% " V!< VISITERM 1.1 >%$$ V!BY TOM KEITH%%$ $ V!COPYRIGHT 1982%%%$ $ V!DISTRIBUTED BY VISICORP$뷩췩_񷩷 LB!ɜ CaLB! 0 荊ፊ썊썊썊퍊䍊半半半半獊半半썊半半썊捊덊半半荊半ፊ䍊荊㍊半썊덊썊䍊ፊ㍊덊퍊퍊ፊ퍊半半썊ፊ䍊半ፊፊ썊半鍊䍊半썊獊半鍊荊덊덊썊덊半半퍊獊⍊퍊썊半⍊㍊퍊半썊半半半䍊半덊䍊䍊半半퍊덊半퍊䍊㍊半썊半半ፊ半썊䍊獊䍊獊半半퍊썊㍊半썊䍊荊썊㍊썊ፊ덊덊썊썊半䍊䍊半荊半荊半㍊半半퍊⍊半半半䍊半半썊,BR2: AMT OF BUFFER FILLED (IN MEM PAGES)Y+1,HOB(DBUF):STARTING ADDRESS OF BUFFER +WCHUNK: WRITE BUFFER TO DOS DISK+D$+BTBTBR+ EADING":CLREOP'BR0%$'BUFDBUF6.'BLKSBBTBRO8'BLKEBDN1:10200j='BR(DSIZ512)10200B'2000: READ A BLOCKL'EER1:10200V'BRBR1`'10030'* WRITE A CHUNK*1:14:"WRITING":CLREOP+D$;"WRITE";DF$+ +0DNĺD$;"CLOSE":8200LDDSDĺ"INSERT PASCAL DISK IN DRIVE ";SD:5600e10000:READ A CHUNKo8050 "TRANSFER FINISHED "; ERĺ"IN ERROR." ERĺ"SUCCESSFULLY."& BT;" BLOCKS TRANSFERRED."0 ' READ A CHUNK'1:14:"R58:?";Q$;D$;"CLOSE";O$;Q$;":TEXT"1 n"RUN63999"< s"NEW"R u"?";Q$;"DONE";Q$d x"DELETETEMP"y D$;"CLOSE TEMP" D$;"EXEC TEMP"EMP""INSERT DISK AND PRESS RETURN. ";:A$:1 @67E AD$;"DELETE";O$P C216,0d FD$;"OPEN TEMP"y PD$;"WRITE TEMP" Z"LOAD";S$! d"63999POKE33,30:?";Q$;D$;"OPEN";O$;Q$;":?";Q$;D$;"WRITE";O$;Q$;":POKE54,0:POKE55,3:LIST0,63998:POKE54,189:POKE55,1 D$(4):Q$(34)5D$;"BLOAD CRUNCHER"M0,0:1,0:2,0:3,0:2:" FP BASIC TO TEXT FILE CONVERSION "#:" COPYRIGHT 1981 - VISICORP"(:2"PROGRAM TO CONVERT? ";S$<"TEXT FILE TO CREATE? ";O$>:( ?  半썊獊半䍊썊䍊半獊半ፊ半半半半퍊捊半썊썊䍊荊䍊䍊䍊捊半半半䍊荊퍊半半捊半半半半썊ፊ半半半獊獊䍊半半덊半荊䍊荊半半썊䍊獊半䍊⍊半半半썊荊半半半獊獊鍊퍊덊荊썊퍊荊퍊半半荊퍊䍊半덊半썊썊半ፊ半썊썊덊半썊荊썊썊䍊獊䍊獊半썊半荊䍊썊獊썊䍊䍊⍊半썊㍊썊半썊半䍊半䍊半썊半獊䍊獊半鍊썊半半썊덊썊䍊䍊䍊半荊퍊썊䍊半半썊썊㍊㍊썊썊썊ōӍӍЍ ŵŵ̹)E@E@E()E@E@E()na(γ) qa() sa()ua()E@E()E@xa()a@E(Š)a@E(à)Q)QGϠԿ)&@<S(ԠŠϠſ)&@)?S(ԠˠĠӠή)&@Fa@E(Π)Pa@E(Š)Za()E@mda(ų)E@E@E()E@E@E()E@E@E()E@E@E(ŵŵ԰)GFia( M6@p()@p()deN@"drC@"drC@"dra@E(Ġ)'dededede;d2e?Pa(ԠàϠԠŠΠ)0#d2ea(Ԡ)(cc2S(͠  ME NF = NO OF FILES6 N$(I) = NAME OF ITH FILEW SB(I) = START BLOCK OF FILEv EB(I) = END BLOCK OF FILE TY(I) = TYPE OF FILE BUFDIR BLK25 RW1:2000: READ A BLOCK BLK& V$"":L(DIR6)0 I1L: V$V$((DND HALF OF BLOCK (IE)25000BUFBUF5126N RWTS ERROR HANDLERZ E(IE)v E16ĺ"WRITE PROTECT"; E32ĺ"VOLUME MISMATCH"; E64ĺ"DRIVE"; E128ĺ"READ"; (7);" ERROR"  GET DIRECTORY PV$ = PASC VOL NAR1614AS1S21%S115S105S20S215AIRW,RWK IV,0V*ID,DDa4IT,TRl>IS,S1~HIA,LOB(BUF)RIA1,HOB(BUF)\3256: READ FIRST HALF OF BLOCKf(IE)2500pIS,S2zIA1,HOB(BUF)13256: READ SECO1:813,3:814,208:815,240:816,962rZERFILL8008kREAD A PASCAL BLOCK INTO MEMORY, THEN ADVANCEBUF TO POINT TO END OF BLOCK.BLK = BLOCK NO TO READ.BUF = LOCATION IN MEMORY TO PUT IT.E0ABLK2TR(A16)  S2T:953,208`6954,232:955,169:956,13:957,164:958,0:959,145:960,1:961,153:962,0:963,149|@964,230:965,0:966,96JDOPAGE864T800,169:801,0:802,145:803,1:804,230:805,1^806,208:807,250:808,230:809,2:810,165:811,2"h812,4,149[924,145:925,1:926,192:927,0:928,208:929,246:930,96:931,32:932,12:933,253"934,41:935,127:936,164:937,0:938,145:939,1:940,153:941,0:942,149:943,201 ,944,13:945,240:946,8:947,230:948,0:949,164:950,0:951,192:952,2545V894,2:895,41:896,3:897,208:898,241:899,169:900,0:901,133:902,1:903,166904,3:905,160:906,0:907,169:908,0:909,145:910,3:911,200:912,232:913,208914,250:915,96:916,164:917,0:918,240:919,11:920,136:921,185:922,0:9239,96Z 864,32:865,148:866,3:867,165:868,1:869,133:870,3:871,165:872,2:873,133 874,4:875,24:876,165:877,1:878,101:879,0:880,133:881,1:882,176:883,7884,169:885,0:886,133:887,0:888,76:889,96:890,3:891,230:892,2:893,16ES (CLREOP958 2WT34- F TYPE TABLE9 PTY$(5)K ZTY$(2)"CODE"] dTY$(3)"TEXT"o nTY$(5)"DATA" x ONERR BUGFIX BUGFIX325664 BU,104:BU1,168:BU2,104 BU3,166:BU4,223:BU5,154 BU6,72:BU7,152:BU8,72 BUOB(IOB), RWTS4,32:RWTS5,217:RWTS6,3F RWTS7,176:RWTS8,5a RWTS9,169:RWTS10,0 RWTS11,141:RWTS12,LOB(IE):RWTS13,HOB(IE) RWTS14,96 BUFFERS LN(256) DIRHM DBUFHM2048 DSIZ16384  MONITOR ROUTINODE* `IRW47092:COMMAND - READ OR WRITE9 eRWTS3256Q j RWTS LDA #IOB/256e t LDY #IOB{ ~ JSR RWTS  BCS RET  LDA #0  STA IE  RET RTS RWTS,169:RWTS1,HOB(IOB) RWTS2,160:RWTS3,L),TY(50) D$(4)0 LOB(X)X(X256)256F HOB(X)(X256)[  RWTS LOCATIONS{ IOB47080:IO CONTROL BLOCK $IV47083:VOLUME .ID47082:DRIVE 8IT47084:TRACK BIS47085:SECTOR LIA47088:BUFFER ADDRESS VIE47093:ERROR CC * MAIN PROGRAM+1000:INITIALIZEK4000:DO SCREEN BACKGROUNDu(5000:ESTABLISH SOURCE & DEST DRIVES26000: GET FILE NAMES<7000: DO TRANSFERPZ PROGRAM INITIALIZATIONHM44096HM N$(50),SB(50),EB(50         ɍw KnɠZLɠSL0EeL Lxd LxLxLɢEɠLL67 67`L#半荊퍊半半半덊荊半獊䍊荊䍊半半덊獊썊半퍊䍊半半䍊덊半捊半獊半䍊 DRIVE ";SD:5600*8000: READ A CHUNKA WRITE OUT BUFFERu DDSDĺ"INSERT PASCAL DISK IN DRIVE ";DD:56009000:WRITE A CHUNK ER1BT0:7320*ER73004DN714011000:UPDATE DIRECTORY14:1:CLREOP(A1)256:NEXT BLOCK FREE ON DISK.FBSBJ WRITE A PAGE OF ZEROSU10000j OPEN DOS FILE DDSDĺ"INSERT DOS DISK IN DRIVE ";SD:5600D$;"OPEN";DF$;",D";SD7160 FILL BUFFER FROM DOS FILEDDSDĺ"INSERT DOS DISK IN(I)PF$ĺ::"PASCAL FILE ALREADY EXISTS";(7)::6160=ICTX DO TRANFERibDN0: DONE FLAGlBT0: BLKS TRANSFEREDvER0: ERR FLAGLN0EF00,0: LINE BUF PTR SET NB = NEXT FREE BLOCKADIRNF262$SB(A)(7);"NAME TOO LONG.":'J1500:J16100A8I1(PF$)[BA$(PF$,I,1):A(A$)LA96PF$(PF$,I1)(A32)(PF$,I1)VA33A$"$"A$"="A$"["A$"?"PF$(PF$,I1)(PF$,I1)`Ij CHECK PASC NAME IN DIR tI1NF6~N$"16368,0:A(16384):A$(A)(<p GET FILENAMESKz8:CLREOPm"DOS FILE":"TO CONVERT: ";y"";DF$11:CLREOP"PASCAL FILE":"TO CREATE: ";"";PF$(PF$,5)".TEXT"PF$PF$".TEXT"(PF$)156200::OP0"READING DIRECTORY":3000:GET DIRECTORYC Eİ5600:5070I\| GET DRIVE NOm:D;(8);:5600:GET KEY A$"1"A$"2"D(A$):5510A8A21D3D:5510A135520D GET KEY(16384)12856105500:SDD: GET DRIVE NO;"DESTINATION DRIVE: ";:D3SDY5500:DDD: GET DRIVE NOh8:CLREOPDDSDĺ"INSERT DOS DISK IN DRIVE ";SD;",""INSERT PASCAL DISK IN DRIVE ";DD;",""AND PRESS RETURN."5600: GET KEY8:1:CLRE(N4) I / DO SCREEN BACKGROUND7:j:" DOS TO PASCAL TEXT FILE CONVERSION ";:" COPYRIGHT 1981 - PERSONAL SOFTWARE INC "WT,3* GET SOURCE AND DEST DRIVES"SOURCE DRIVE: ";:D1IR6I))D I?I TB(DIR14)(DIR15)256: # OF BLKS/DISK]N NF(DIR16): # OF FILESiX I1NFxb NDIRI26l L(N6)v N$(I)"" J1L N$(I)N$(I)((N6J)) J SB(I)(N)(N1)256 EB(I)(N2)(N3)256 TY(I);"NOMONO" "DONE"! :::E Z$H$((Z16))H$(Z(Z16)16)P Z$;:$;:)f Z$;:T$ D$;"MONO"$ D$;"WRITE";T$, ,NAH 6N1(N256):N2NN1256W @ZN1:1000f JZN2:1000p T"-"; ^Z(NA4096):1000 hNN1 m(16384)160Ĺ16368,0:400 rNAL400 |N(N16)16ĺ:310 350 :D$;"CLOSE" D$LE TO CREATE? ";T$ B "INSERT DISK AND PRESS RETURN";A$S 34,6:35,20 22:"PRESS ";::"SPACE";::" TO STOP" D$;"BLOAD";B$;",A$1000" A0 L(43616)(43617)256 230 D$;"DELETE";T$ 216,0 D$;"OPEN";Q"MAXFILES3"D$(4)+H$(16)P(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Ff2I015:H$(I):Ildn:2:" BINARY TO TEXT FILE CONVERSION "x:" COPYRIGHT 1981 - VISICORP""BINARY FILE TO CONVERT? ";B$ "TEXT FI                               !!!!!!!!!! ! ! ! ! !!"""""""""" " " " " 퍊䍊半半荊䍊⍊썊䍊獊ፊ半半獊덊半퍊半䍊半半鍊䍊半荊半ፊ半퍊半鍊퍊ፊ半ፊ半半獊捊半半荊半半半半퍊半半半捊半半捊퍊荊半㍊덊썊ፊ半半퍊썊BUFDIR#+BLK253#+RW2:2000: WRITE A BLOCK<#+BLKB#+BLOCK1"*+A2,LOB(EB):A3,HOB(EB): END BLOCKO"4+A4,3:A5,0: FILE TYPEm">+A6,(PF$): NAME LENGTH"H+I1(PF$): HAME"R+A6I,((PF$,I,1))"\+I"f+A22,0:A23,2: BYTES/BLOCK"p+A24,0:A25,0: DATE"z+ WRITE OUT DIRECTORY#+!.'I!8'BLKFB!B'BUFDBUF!216,0: RESET ONERRH!256364R!E(222)\!E5EF1:8250f!(# WRITE A CHUNK2#1:14 <#"TRANSFER FINISHED ";0ERĺ"IN ERROR."JERĺ"SUCCESSFULLY."iBT;" BLOCKS TRANSFERRED."o@ READ A CHUNKJ8500T14:1^PAGE1h"READING":CLREOPrD$;"READ";DF$|1,LOB(DBUF)2,HOB(DBUF)DOPAGE 616368,0:500* :"ADDRESS ERROR": D$;"CLOSE"[ D$;"BSAVE";B$;",A$1000,L";Ll D$;"NOMONO"x ::: N((A$,I,1))48 N9NN7 ZZ16N:N:02:"PRESS ";::"SPACE";::" TO STOP", ; D$;"MONI"M D$;"OPEN";T$_ D$;"READ";T$g L0q 500| "";A$ Z0:I14:1000:I ZL400 I6(A$) Z0:1000:II1:1000 (4096L),Z:LL1 "I ,(16384)160230 D$(4)dFn:2:" TEXT TO BINARY FILE CONVERSION "qx:" COPYRIGHT 1981 - VISICORP"w"TEXT FILE TO CONVERT? ";T$"BINARY FILE TO CREATE? ";B$"INSERT DISK AND PRESS RETURN";A$34,6:35,20& 2  1,HOB(IOB). RWTS2,160:RWTS3,LOB(IOB)S RWTS4,32:RWTS5,217:RWTS6,3m RWTS7,176:RWTS8,5 RWTS9,169:RWTS10,0 RWTS11,141:RWTS12,LOB(IE):RWTS13,HOB(IE) RWTS14,96 BUFFERS DIRHM DBUF16384 DSIZ168:BUFFER ADDRESS* VIE47093:ERROR CODEQ `IRW47092:COMMAND - READ OR WRITE` eRWTS3256x j RWTS LDA #IOB/256 t LDY #IOB ~ JSR RWTS  BCS RET  LDA #0  STA IE  RET RTS RWTS,169:RWTS44096 HM/ N$(50),SB(50),EB(50),TY(50); D$(4)W LOB(X)X(X256)256m HOB(X)(X256)  RWTS LOCATIONS IOB47080:IO CONTROL BLOCK $IV47083:VOLUME .ID47082:DRIVE 8IT47084:TRACK BIS47085:SECTOR LIA4708 * MAIN PROGRAM+1000:INITIALIZEK4000:DO SCREEN BACKGROUNDu(5000:ESTABLISH SOURCE & DEST DRIVES26000:GET SOURCE FILE NAME<7000:GET DEST FILE NAMEF8000:PERFORM TRANSFERPZ PROGRAM INITIALIZATION HM     M2)21ĺ"PRESS ";::"N";::" TO DO ANOTHER FILE";B M(M2)*M(M2)21ĺ"PRESS ";::"SPACE";::" TO STOP SUMMING":4 (16384)1282500 16368,0:A$((16384)) A$(13)A$""  ^958>M(M2)21ĺ"PRESS ";::"RETURN";::" TO QUIT":KM(M2)M(M2)21ĺ"PRESS ";::"A";::" TO ADD CHECKSUMS TO FILE":M(M2)M(M2)21ĺ"PRESS ";::"R";::" TO REMOVE CHECKSUMS FROM FILE": M(M2)5M(SUMS ";*{NNZRRZAAZBBZCCZ1925=:"DO NOT";:K" MATCH"ZM13:2000d2500sA$""500A$"N"120A$"R"1935D$;"WRITE";F$;",B";NZ768:1670E(222):E5Z0:15001000:19:1:2  1980"";A$6A$"CHECKSUM"Z0:3000E&N,R,A,B,CS0(7);:6n:19:NZ;29);"[";N;"]"t?D19:RZ;29);"[";R;"]"IX19:AZ;29);"[";A;"]"]b19:BZ;29);"[";B;"]"gl19:CZ;29);"[";C;"]"v:"CHECKD$;"WRITE";F$;",B";N1 '. ,"CHECKSUM"5 6N< @RC JAJ TBQ ^CZ h768` mz rD$;"WRITE";F$;",B";N |(28): EOF MARKER D$;"CLOSE";F$ M9:2000 2500 A$""500 A$"N"120 1690D$;"READ";F$;",B";NZ:1200% LE10ĺ"FILE LOCKED":1200H VE12ĺ"NOT A TEXT FILE":1200N _ I11000:Ih 120t Z1800 16:(7);"CHECKSUM DONE" M11:2000 2500: GET A$ A$""500 A$"N"120 A$"A"1520 M0:2000 1: "2)  E515002 E4E13E12Ĺ216,0:C 18:1:958I i E11ĺ"SYNTAX ERROR":1200 E6ĺ"FILE NOT FOUND":1200 $E4ĺ"WRITE PROTECTED":1200 .E7ĺ"VOLUME MISMATCH":1200 8E8ĺ"I/O ERROR":1200 BE9ĺ"DISK FULL"G33,20:32,18 J61 TN;R$;R;R$;A;R$;B;R$;CC ^H$::H(H$)j cH28NZN:RZR:AZA:BZB:CZC:Z1 hNN1:AAH:H13RR1 rBBBNH:BNBN1:BN10BN0 |CCCNH:CNCN2:CN16CN1 (16384)128330 1680 ::: E(22 6 1000" D$;"OPEN";F$4 D$;"READ";F$L N0:R0:A0:B0:C0^ BN0:CN1:Z0v "NO OF CHARACTERS"| " NO OF RECORDS"  " CHECKSUM A" " ," CHECKSUM B" 6 @" CHECKSUM C" EM16:2000 /d768,169:769,0:770,76:771,237:772,253JnD$(4):R$(13)(13)Px2::" TEXT FILE CHECKSUM UTILITY ":" COPYRIGHT 1981 - VISICORP"D$;"CLOSE"M1:20004"FILE TO CHECKSUM? ";F$F$""500      DRIVE ";DD:5600,|11000: WRITE A CHUNKFDNĺD$;"CLOSE":8200zDDSDĺ"INSERT PASCAL DISK IN DRIVE ";SD:560010000:READ A CHUNK8050 14:1:CLREOP "TRANSFER FINISHED "; ERĺ"IN ERROR." ERĺ"SUCCESSFULLY."& CREATE: ";v"";DF$4@ PERFORM TRANSFERGJDN0:BT0:ER0ROLL$""kT10000:READ A CHUNK^DDSDĺ"INSERT DOS DISK IN DRIVE ";DD:5600hD$;"OPEN ";DF$;",D";DD:D$;"DELETE ";DF$:D$;"OPEN ";DF$:8060rDDSDĺ"INSERT DOS DISK IN:13:N$(I);17(N$(I)));TY$(TY(I))<t(16384)1286260P~A(16384)128Z6210TY(I)3ĺ::(7);"NOT A TEXT FILE."::6096SBSB(I)2 EBEB(I)NBEBSBX GET DEST FILE NAMEb11:CLREOP l"DOS FILE"(13)"TO 62009:13:"";PF$$I1NF8PF$N$(I)6400?Ia::(7);"FILE NOT FOUND.":qJ1500:J{60108I0BA8A21A136060L16368,0VA13PF$N$(I):6400`A21II1:INFI1jA8II1:I1INF$o93D:5510A135520 D&4 GET KEYL(16384)1285610n16368,0:A(16384):A$(A)tp GET SOURCE FILE NAMEz8:CLREOP"PASCAL FILE";(13);"TO CONVERT:";(16384)1286030A(16384)128A8A21 DRIVE ";DD;","("AND PRESS RETURN."<5600: GET KEYN8:1:CLREOP|"READING DIRECTORY":3000:GET DIRECTORY Eİ5600:5070| GET DRIVE NO:D;(8);:5600:GET KEY A$"1"A$"2"D(A$):5510 A8A21DGET SOURCE AND DEST DRIVES &F"SOURCE DRIVE: ";:D1d5500:SDD: GET DRIVE NO"DESTINATION DRIVE: ";:D3SD5500:DDD: GET DRIVE NO8:CLREOP"INSERT PASCAL DISK IN DRIVE ";SD;","DDSDĺ"INSERT DOS DISK IN)((N6J)) J. SB(I)(N)(N1)256J EB(I)(N2)(N3)256[ TY(I)(N4)b Ih  DO SCREEN BACKGROUND::" PASCAL TO DOS TEXT FILE CONVERSION ";:" COPYRIGHT 1982 - VISICORP"WT,3* D BLOCK OF FILE) TY(I) = TYPE OF FILE5 BUFDIRB BLK25X 2000:READ BLOCKa BLKv& V$"":L(DIR6)0 I1L: V$V$((DIR6I))D IN NF(DIR16)X I1NFb NDIRI26l L(N6)v N$(I)"" J1L  N$(I)N$(IWRITE PROTECT";- E32ĺ"VOLUME MISMATCH";A E64ĺ"DRIVE";U E128ĺ"READ";h (7);" ERROR"n  GET DIRECTORY PV$ = PASC VOL NAME NF = NO OF FILES N$(I) = NAME OF ITH FILE SB(I) = START BLOCK OF FILE EB(I) = EN>IS,S1HIA,LOB(BUF)/RIA1,HOB(BUF)S\RWTS:READ FIRST HALF OF BLOCKcf(IE)2500npIS,S2zIA1,HOB(BUF)1RWTS:READ SECOND HALF OF BLOCK(IE)2500BUFBUF512 RWTS ERROR HANDLER E(IE) E16ĺ"ORY, THEN ADVANCE4BUF TO POINT TO END OF BLOCK.QBLK = BLOCK NO TO READ.zBUF = LOCATION IN MEMORY TO PUT IT.ABLK2TR(A16) S2TR1614AS1S21S115S10S20S215IRW,1 IV,0*ID,SD4IT,TR 943,136:944,3D,945,0:946,0:947,96:948,0:949,0:950,0:951,06952,24:953,160:954,0:955,177:956,2:957,230:958,2@959,208:960,7:961,230:962,3:963,198:964,0:965,208J966,1:967,56:968,96READ A PASCAL BLOCK INTO MEM4:915,3:916,56Q917,233:918,32:919,240:920,239:921,170:922,169:923,32924,32:925,237:926,253:927,202:928,208:929,248:930,76931,136:932,3:933,201:934,0:935,240:936,223:937,9"938,128:939,32:940,237:941,253:942,76:152:FX8,72 FX9,96J  MACHINE ROUTINE TO DUMP BUFFER TO DOS DISKY WCHUNK896 896,169:897,0:898,133:899,2:900,165:901,1:902,133 903,3:904,32:905,184:906,3:907,176:908,38:909,201910,16:911,208:912,20:913,32:914,18384  MONITOR ROUTINES* (CLREOP9584 2WT34E F TYPE TABLEQ PTY$(5)c ZTY$(2)"CODE"u dTY$(3)"TEXT" nTY$(5)"DATA" x ONERR BUGFIX FX325664 FX,104:FX1,168:FX2,104 FX3,166:FX4,223:FX5,154 FX6,72:FX7,半덊덊䍊半捊퍊덊半썊半荊獊捊ፊ半썊半㍊半半荊⍊퍊䍊䍊半鍊鍊㍊덊半䍊䍊䍊半捊䍊荊䍊荊半썊ፊ半ፊ썊半ፊፊ半덊덊㍊㍊썊䍊獊䍊獊㍊半썊半半半半퍊썊덊덊半半半ፊ㍊썊半獊半덊썊半䍊半ፊ半半퍊퍊半半㍊半퍊半㍊半荊썊퍊半⍊덊半半獊ፊ퍊덊荊獊䍊썊荊半ፊ半半荊ፊ半ፊ㍊荊㍊ፊ半半半半半半半半半썊썊半ፊ㍊썊半덊䍊덊퍊半퍊半半獊덊荊䍊半荊㍊썊퍊半퍊半ፊ A CHUNK&*1:14:"WRITING":CLREOP:+D$;"WRITE";DF$l +0,BR2: AMT OF BUFFER FILLED (IN MEM PAGES)+1,HOB(DBUF):STARTING ADDRESS OF BUFFER +WCHUNK: WRITE BUFFER TO DOS DISK+D$+BTBTBR++BT;" BLOCKS TRANSFERRED."0 2' READ A CHUNKP'1:14:"READING":CLREOPY'BR0f$'BUFDBUFw.'BLKSBBTBR8'BLKEBDN1:10200='BR(DSIZ512)10200B'2000: READ A BLOCKL'EER1:10200V'BRBR1`'10030'* WRITE(N4) I / DO SCREEN BACKGROUND7:j:" DOS TO PASCAL TEXT FILE CONVERSION ";:" COPYRIGHT 1982 - VISICORP"WT,3* GET SOURCE AND DEST DRIVES"SOURCE DRIVE: ";:D15500:SDIR6I))D I?I TB(DIR14)(DIR15)256: # OF BLKS/DISK]N NF(DIR16): # OF FILESiX I1NFxb NDIRI26l L(N6)v N$(I)"" J1L N$(I)N$(I)((N6J)) J SB(I)(N)(N1)256 EB(I)(N2)(N3)256 TY(I)ME NF = NO OF FILES6 N$(I) = NAME OF ITH FILEW SB(I) = START BLOCK OF FILEv EB(I) = END BLOCK OF FILE TY(I) = TYPE OF FILE BUFDIR BLK25 RW1:2000: READ A BLOCK BLK& V$"":L(DIR6)0 I1L: V$V$((DND HALF OF BLOCK (IE)25000BUFBUF5126N RWTS ERROR HANDLERZ E(IE)v E16ĺ"WRITE PROTECT"; E32ĺ"VOLUME MISMATCH"; E64ĺ"DRIVE"; E128ĺ"READ"; (7);" ERROR"  GET DIRECTORY PV$ = PASC VOL NAR1614AS1S21%S115S105S20S215AIRW,RWK IV,0V*ID,DDa4IT,TRl>IS,S1~HIA,LOB(BUF)RIA1,HOB(BUF)\3256: READ FIRST HALF OF BLOCKf(IE)2500pIS,S2zIA1,HOB(BUF)13256: READ SECO1:813,3:814,208:815,240:816,962rZERFILL8008kREAD A PASCAL BLOCK INTO MEMORY, THEN ADVANCEBUF TO POINT TO END OF BLOCK.BLK = BLOCK NO TO READ.BUF = LOCATION IN MEMORY TO PUT IT.E0ABLK2TR(A16)  S2T:953,208`6954,232:955,169:956,13:957,164:958,0:959,145:960,1:961,153:962,0:963,149|@964,230:965,0:966,96JDOPAGE864T800,169:801,0:802,145:803,1:804,230:805,1^806,208:807,250:808,230:809,2:810,165:811,2"h812,4,149[924,145:925,1:926,192:927,0:928,208:929,246:930,96:931,32:932,12:933,253"934,41:935,127:936,164:937,0:938,145:939,1:940,153:941,0:942,149:943,201 ,944,13:945,240:946,8:947,230:948,0:949,164:950,0:951,192:952,2545V894,2:895,41:896,3:897,208:898,241:899,169:900,0:901,133:902,1:903,166904,3:905,160:906,0:907,169:908,0:909,145:910,3:911,200:912,232:913,208914,250:915,96:916,164:917,0:918,240:919,11:920,136:921,185:922,0:9239,96Z 864,32:865,148:866,3:867,165:868,1:869,133:870,3:871,165:872,2:873,133 874,4:875,24:876,165:877,1:878,101:879,0:880,133:881,1:882,176:883,7884,169:885,0:886,133:887,0:888,76:889,96:890,3:891,230:892,2:893,16ES (CLREOP958 2WT34- F TYPE TABLE9 PTY$(5)K ZTY$(2)"CODE"] dTY$(3)"TEXT"o nTY$(5)"DATA" x ONERR BUGFIX BUGFIX325664 BU,104:BU1,168:BU2,104 BU3,166:BU4,223:BU5,154 BU6,72:BU7,152:BU8,72 BUOB(IOB), RWTS4,32:RWTS5,217:RWTS6,3F RWTS7,176:RWTS8,5a RWTS9,169:RWTS10,0 RWTS11,141:RWTS12,LOB(IE):RWTS13,HOB(IE) RWTS14,96 BUFFERS LN(256) DIRHM DBUFHM2048 DSIZ16384  MONITOR ROUTINODE* `IRW47092:COMMAND - READ OR WRITE9 eRWTS3256Q j RWTS LDA #IOB/256e t LDY #IOB{ ~ JSR RWTS  BCS RET  LDA #0  STA IE  RET RTS RWTS,169:RWTS1,HOB(IOB) RWTS2,160:RWTS3,L),TY(50) D$(4)0 LOB(X)X(X256)256F HOB(X)(X256)[  RWTS LOCATIONS{ IOB47080:IO CONTROL BLOCK $IV47083:VOLUME .ID47082:DRIVE 8IT47084:TRACK BIS47085:SECTOR LIA47088:BUFFER ADDRESS VIE47093:ERROR C< * MAIN PROGRAM+1000:INITIALIZEK4000:DO SCREEN BACKGROUNDu(5000:ESTABLISH SOURCE & DEST DRIVES26000: GET FILE NAMES<7000: DO TRANSFERPZ PROGRAM INITIALIZATIONHM44096HM N$(50),SB(50),EB(50            D: GET DRIVE NO4"DESTINATION DRIVE: ";:D3SDR5500:DDD: GET DRIVE NOa8:CLREOPDDSDĺ"INSERT DOS DISK IN DRIVE ";SD;",""INSERT PASCAL DISK IN DRIVE ";DD;",""AND PRESS RETURN."5600: GET KEY8:1:CLREOP)半半半半䍊䍊半半半半半썊半半半半썊半半半半㍊썊鍊ፊ半半荊半半半半半半䍊半半半半半半半半 #+BLK25,#+RW2:2000: WRITE A BLOCK5#+BLK;#+#+"*+A2,LOB(EB):A3,HOB(EB): END BLOCKH"4+A4,3:A5,0: FILE TYPEf">+A6,(PF$): NAME LENGTH}"H+I1(PF$): HAME"R+A6I,((PF$,I,1))"\+I"f+A22,0:A23,2: BYTES/BLOCK"p+A24,0:A25,0: DATE"z+ WRITE OUT DIRECTORY#+BUFDIR !8'BLKFB!B'BUFDBUF5!L'RW2:2000:WRITE A BLOCKB!V'BLKFB1O!`'BUFDBUFm!j'RW2:2000:WRITE A BLOCKy!t'FBFB2!~'!* UPDATE DIRECTORY!+NFNF1:DIR16,NF! +ADIR26NF!+NBBT2:EBSBNB! +A,LOB(SB):A1,HOB(SB): START BLOCK*G" F#CLREOP P#BLKFB& Z#BUFDBUF2 d#I1BR\ n#BLKTBĺ"DISK FULL";(7):ER2:9120z x#RW2:2000:WRITE A BLOCK #EER1:9150 #BLKBLK1 #I #FBFBBR #BTBTBR # ' WRITE A PAGE OF ZEROS 'I0511 $'DBUFI,0 .'I : DN1D ZERFILL@X PAGEPAGE1:PAGE1024DSIZDN8080Rb BR(PAGE1)2kl 216,0: RESET ONERRqv 4! ON ERR ROUTINE>!216,0: RESET ONERRH!256364R!E(222)\!E5EF1:8250f!(# WRITE A CHUNK2#1:14 <#"WRITINTRANSFER FINISHED ";)ERĺ"IN ERROR."CERĺ"SUCCESSFULLY."bBT;" BLOCKS TRANSFERRED."h{@ READ A CHUNKJ8500T14:1^PAGE1h"READING":CLREOPrD$;"READ";DF$|1,LOB(DBUF)2,HOB(DBUF)DOPAGE8280";SD:5600#8000: READ A CHUNK: WRITE OUT BUFFERn DDSDĺ"INSERT PASCAL DISK IN DRIVE ";DD:56009000:WRITE A CHUNK ER1BT0:7320*ER73004DN714011000:UPDATE DIRECTORY14:1:CLREOP"256:NEXT BLOCK FREE ON DISK'FBSBC WRITE A PAGE OF ZEROSN10000c OPEN DOS FILE DDSDĺ"INSERT DOS DISK IN DRIVE ";SD:5600D$;"OPEN";DF$;",D";SD7160 FILL BUFFER FROM DOS FILE DDSDĺ"INSERT DOS DISK IN DRIVE ĺ::"PASCAL FILE ALREADY EXISTS";(7)::61606I<MX DO TRANFERbbDN0: DONE FLAG}lBT0: BLKS TRANSFEREDvER0: ERR FLAGLN0EF00,0: LINE BUF PTR SET NB = NEXT FREE BLOCKADIRNF262SB(A)(A1)AME TOO LONG.": J1500:J*6100:8I1(PF$)TBA$(PF$,I,1):A(A$)LA96PF$(PF$,I1)(A32)(PF$,I1)VA33A$"$"A$"="A$"["A$"?"PF$(PF$,I1)(PF$,I1)`Ij CHECK PASC NAME IN DIR tI1NF/~N$(I)PF$16368,0:A(16384):A$(A)!5p GET FILENAMESDz8:CLREOPf"DOS FILE":"TO CONVERT: ";r"";DF$11:CLREOP"PASCAL FILE":"TO CREATE: ";"";PF$(PF$,5)".TEXT"PF$PF$".TEXT"(PF$)156200::(7);"N"READING DIRECTORY":3000:GET DIRECTORY< Eİ5600:5070BU| GET DRIVE NOf:D;(8);:{5600:GET KEY A$"1"A$"2"D(A$):5510A8A21D3D:5510A135520D GET KEY(16384)1285610Ɋ半썊ፊ썊半半퍊䍊半半썊썊썊半半半半半半썊䍊獊썊半半퍊半半半半半썊半썊半半썊半半半半獊썊半䍊半半덊덊半半썊半半半半半半半䍊半ፊ半ፊ半半덊덊半荊半썊썊䍊半썊ፊፊ半덊⍊⍊ፊ썊半半썊덊荊ፊፊፊ荊썊ፊ썊半썊半半半썊半半半䍊半ፊ퍊半半半半半半半半썊半퍊半半ፊ㍊㍊썊덊半半半썊半䍊썊䍊荊荊䍊썊썊䍊獊䍊獊半半半덊半퍊半半䍊半ōӍӍԍŢԍ֍ԍ֍ԍ֍čō!䍊半半썊덊獊半⍊半半⍊덊덊半半獊獊퍊半ፊ썊퍊덊半半荊半半荊썊荊半덊퍊半半䍊獊半半半半썊半半䍊덊썊半半半半半半半半半⍊半덊半썊썊半半半半ፊ㍊썊퍊半半덊덊半半덊䍊半䍊荊獊半䍊덊半荊荊䍊獊썊半퍊半썊半⍊半半荊半半荊썊荊㍊퍊썊半半⍊半半㍊썊半䍊䍊半썊半捊半썊半半半半半썊半半䍊半퍊獊䍊半썊䍊ፊ半半半⍊䍊半半ፊ썊半ፊ퍊⍊半半썊半半䍊퍊半半@ THIS IS APPLESOFTF" ϸźԢŠϠԿƤԢ΢ƤԢĢƤԍ˨ζϴԢŢƤč"