8L xC)pJJJJ IH(ȱH:=IH[H`@H^H 2 9 @   I/H`JLNGȄBȄF aK ' faaFF  RJm# KKJ qJ )J ۈJJm  JFȱJGJKaȄM ' 5aaNNJFLGJL| Ly Lv Ӡֲ㮬f"f"C# "&i01h+# )#M8 % ) L"g# )L"@, )7(P0 ( @A p SYSTEMSK' &PRODOS#B 3 TEST)3 #3 RAM.DRV.SYSTEM. 3,BASIC.SYSTEM2( MAF!3`aa8aa XL LG &PRODOS`DaElH$?EGvѶK+`L XX LU ŠϠĠӥS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8R8 )# f" +#$#0 &$#0 %# )ȍX#f"P# )ɂH#*# ) %)0I0hx H( , %Щ ߜ)#j )f 8'  )ɀ  !"#$%&'(*LKL`BLL ޥޥޥޥޥޥޥޥޥޥޥޥޥޥޥ(C)APPLE xLLM Mh@8nЍLޭ 0J @,,L=#آ <B*IBGF08Lé'+8H <,``h(`@ڍL3HEVhEhH)IWHPHHHAHHHLaVEWLӿ``"M,Z(") \i ᘏi᫫8(`hhh8k-<ʆ>Q=?BC8 é&'112``+ H++ d+` w+ H+ d+`hh8`8`+++`}+`e`H)hJJ+0JJ)` (< ( < *? ( < (? ( < (? ( <*? * **? *? *? ( < *? ( <x0HH1HH rȱȱȱ0\aȱeek+ȱ+ȱ++ȱ++ȱ+ *+ + *`L@+ + * L) *Ș8e` ,$`ee` `&  LdDž )Pi)) () ))&-&),&͉&) ))&0)У` )ɥ`HZJ)  )zh %J)֭)n)}11J  2 (8`ɿ` (Xp< @ ( )m ( (. (( M (i  ``) '(j21 & &!` (&&(i)&)( CdBdDdFdGE ) ) ))) ))&$ >(,&& … >(ŅL 'JJJJ`Ϡ(8223 ')Д )18&"m11 2H22h2舌&&12H)M0 h1020I20h2 (`L%12 `\(#L  98" :ȱ)ɀ  ) ( 8 0 8  `0 / X   / &; Pb 8 )0`ddd1&… (n&Dž (\%T&Ln()8= (J 8(&(& >((ʎ1΋&΋&&3ʈ0 o 0堠خ YYZLYLY@뿭`d 8#@8` %MNЩUMߩ  L 5     m# m# J LB Qר)ɨ] оȱ ̀𩠙 i ȴ O Ѻ G \ ɟU ʿ V@$ A ɛL e '8 Jm ĠŠŠҠ`#{% F%Z]``e-.!0SB}/BiBB}/ gF/0k) y! ʿ  L##)4,- U JNT) )#L# ) f"` #K)D/ #3 &#'#(# ## iL X"0#"0P׽8H  ): e: y8鰕:Jjjj<)yאi8i;i(*=>hPם8`;Zx3Q 0h)ύh0HHHH " ׍hhhhhddhh .hh8`JIMJAYKERRY&MIKEhh@ihAiH(ؠȱ@JJJJq@)@ݔoȱ@Hȱ@Ah@@\e J) ހL JiB ހJ) @xNHHژHL(  ްʠx@BEOD  ް(`( C)CJJJlBJ,~`8@ؐʈI묤)8 La LةC8`؍)@ fi)8wJ ] ؅F LW) y+%J(^ FإGؐ,` JHIH I%FHGI ٰ:`JJJJ9 d묣͸ dٍ0 u  `H8` `ٍyٍiB0H0FGy h0`FG `ϩBxEdD0C ް(`(8`ؑ@`M8ٽJJJJ`Hͮhk)&NjNjNjN. 1Eͮ d8٭ u'Nۙ۰ڙک `Z8` 1# ` . . .8۰*J۩ ܝ`)َ 8ʈ` 0ٝ)i `8`O 鍮 dMمFمG ; ή0FG뮣0 ٭٭ٽ8`H8`  , 8`  ` < 0̩ 谾 }谹`12)1`0`Ȏi i ٞU`)8`` U _G *A)H ܝʈh٭0٭)ܝ٭*ܝ٥F٥G٭'ܝ٭(eHI dSBX0k }ٙiٙgFleʈ L`8m0`,0H hi MȽٍ0dGF8yאFG  }$0 *01 E8`100`n܍op L8D`F` EgH)HFȍlHGm %܍&܍ܢ8* J8` }L ܝ\)I 'ܝX`d8ipFnGo`d܅IH3H ( )ȱH`ά8c T)Ia)܍p*܍c'ܮ( 4 䭐 $H %HFFHGHG 됬`R8` )` cHq` _9܅IHHqqЍq  @`8 ` ͫ% ΫQ8`܅I lmq)5qI0ܢܽ n'c* 7FG (ef Ld܅Ip mcIH`  k0no cqHlFmG 밳lm 밨e%܈b"@ 0 $ LK8`X YI8`FHGH GF܌ עFܽܕF芝ܝ 밸XY Z܅I m[IHHyHȘI L`ܞ @@ @Ю׍q)mיqʈ@ȱ@ȱ@i 뎣`ةC8` @)0 e/N0 *ڽ0 ti` <; 뮣ٝ٘ 0 W,0 .H hȑNWȮّNW8`ٍّN0NN` G8`F뎰ڮЕ` } L ` r@>q)I38 kם`K8`@Nȱ@O@ eIiNȽבN)/ȩ/N`@Z VH:JjjjhA "'KI؍0JHl8` Q)T 22D) ɺi )?  }   ސ `@Hȱ@IױHXATȱH ɯȩ׍̰5H)/@a)_ .0 :A[8@`,@~@}J@` ߩ%S @ ~`E hhhߺ0 h߈ ߐ( ߐ ߐ   ޕ0 HϭߍLпlllJjHIH@=IؙJJ ?9 -4HIHI`JKJK`FHIG ( Ȣ؝؈JL)eKM`)` J Jͽ $0 άJFȱJL8`GBJ 6 FإG`BH 6FإG`,H hHB؅F  ؅GxDE؍00C ް(`(8` d뀧J  ! dH   9ؙ` r@ }P8`K8`B8` j؈qJJJJح) ) )Ю ЪVXXK تKo`V8`no` "on VI9XX`)&HJJJh`OeNeO࿰ V9XГO`@ȭ@` ON <NJKO`?>х=d<<>=? 밽܅F݅G ` \) S$ L`LHH hFhG܍ݍ 8 `FHGH  hGhF`ݹܙ݊`@Bɼ>K@J5 V9X(K   ܮ `J HH hh` 0@ tL)lL S_Xܝ ݝ0ȩFG  0` ܅F݅G ` \ Sͬ @ȅH@IL,0` rD }ﭩ: SH-)N 0 $q)@kP8` 2  dHqefe h`yٙ٭yٙ٩`H 1BFG 3%&N   i` ם0 B )( ȹ`8m8m@8` G8`F } r }P⭏)@N8`q)@J טyרםqq)׍q 밑 LȹL h(8H  h(8Hh(`ؑ@`@ȱ@ ` r@@8Wq ^鮣ٍٍٍHٍ8hqJJJJq2)q@` r%I -) 20@q)N8` @LL =@ ȹP8`ݼ@ʈL KIJHȢݼ ^魼)Jn 8  ؍ ؍ 2H8 ع)JJJJ Ȣ؝I؈)p )@ f ) yʩ ؝j0lm 밫 }nolmFG w嬤؍؍؝ ؝ q) q )حk͸ d`H@h`h``N8`  ) ⬤Ȣ؝@عiعi` )؍0CGHFHdBdFdGx ް(8hFhG`@4͔ L @Ai ׭2` . 0#ع؍0 <讣)`.@+ i 8` L )0 NLMO MІMEKݸP$MEK O,u PeNNO (` C  7 2JHIHI؊ aL-  ` ? H ع H ؙ؊IhHIhH a iع `  轘ؐ` Gؽ؝ G  G؝؈` ` H 1h)N@ ; L  $ )dJ S ) iH h8` ) )حJjIHIH؊ PLJʮ`QʱLN0MOMEKP.MEKӱL-M O,up莿eNNO(`JNKOL / P L8 a ?ؑJ`L@ȱ@ `@Nȱ@O`؝}ILL L e L  pJ )@NJOK iKK IJ v JФ̭JjHFIH HIGxKE ް((H vhH h8`8@ȭ@L쬤8NNO 8 ؍JLG.F $ ᭔ع+ؠ H  0h8` 䮣ٽ ٬ؠ@` ( j )8`)i п` H h)N$% ILBJ DքEdFCJJJJ֍nH}IC J֭֬։/)DI@+8`@Ae C!$|1OIIJK,-NOPQRSu' @   !"#$ Ԡͭ Эht X l)lhЏL2  9 X [ J  dgdshUj" !# wgjdg. wg'g%s wghg%s w h ɍ1Ɋɋɉɛ kʽ/`L2LY g Xح o âXoύX`1e0e21ʆe dk)i/ k Lkdha+ # nrdcddpqt$q0c)crorcc0enib ` r )pqn  Fby LҠؠӠ΢ϠԩҠŠƠԠԠŠӢɯϠҠůȠԠĠ  ɈL :Lɍ)ې)ɮ۰ɺH h 'L  ġLL ̹L)'L ȳL O'F ʻ ̹(((L $ʩ $$ $L `ީ % K@D E  / XʩXύX X %   % ɍRH hɛɘɉɈ $ Ld :Ldې)ɮ۰ɺ' Ld  : X ( % ɛ$ɘɉ 8V%֌&8V֌֠)HV)hH)hHIhդD?DRIDQD)҅; ?JDQD]ՎՎՎ`MY pӭY)p  ӭp`C)`BFGV 8``8LխӅ:HhHh Ո թ թ ՘VYҪҦ>:Y)Ң`;R?AJ;<ȰY)Ң`Y?)Ң`ȐҰ ;HhHh=Ң`Hh `Hh`DEiȍ0֌1֍ZԍsԍԍԍԥDEԌ8TԌ8WpԌqԠ 7I꽌ɪ꽌ɭ蠪:љVE:8`]ѾV]H)]ѾV]ҙ)]ѾT]ҙ)] >8hUD` ԝY`> Hh݌(`HCJJJJ)*h`0($ p,&"op8`kkV꽌ɪɖxlӽ*kӽ-kәmMlӈ 꽌ɪ`8` *L o % ԽYӍZӭoӝY 3Ѡ шNZ`rZLkӭZӍq8r7IZӐiZkӐk 8 ѹs ӭq ѹ| kн Z)*>>` @ $(,048<@DHLPTX\`dh 0ުlptx| ֽ ְ& .Vӈ  JJJJH 8h Ei 8EX`'8`jӍWӥC)p> pӥCYӍY 轊( ( ӈBV ( ӭp0 \BkJ ՠ@iӦ> Ӑi'j:ZH i@ioZZH h ѐȭnWǥBJ Ӱ8XӦ>` Ր+><>=?<>CAB@?A` 1 L  <>`ڢF]PL8i m L   6< L  BLRAM' hLDLHB-9F 3"aɿ LLB Nϰ H  @h( L Lj  @`eLJCAB@=?ȱl蝀igt 9 X   (L $ `dm &m &m &m &mlemmli`{g8s [t0{2H* Lh2  Xȱl i L `κºú` \GQ H ?h8 S / ?8 V []bj \ ^e_f a  i  \ 2EL 0 8`0)H ""H"h8 ek)E/8W$)3DOW$(DOW$,3)FShift any lower case letters to upper caseP B$""[I13nA$(DOW$,I,1)((A$)("a")(A$)("z")A$((A$)(("a")("A")))2B$B$A$<IFDOW$B$PNow convert day-of-week string to numeric value must be 1940-1999AYR40YRYR2000:0-39 must be 2000-2039G:o"Please enter the day of the week""(e.g. Wed) -> ";DOW$(DOW$)31270:Must be at least 3 characters"Invalid day of week. Please try again.";(7):1230(DOonvert day string into numeric value>tDA((DAY$,1,X1))S~DAY$(DAY$,X1)DA1DA311050:Range check the day valueConvert year string into numeric valueYR(DAY$)YR0YR991050:Only allow 0-99YR39YRYR1900:40-99 "Invalid date entered. Please try again.";(7)=$1010j.Convert month value to numeric variable8MO((DAY$,1,X1))BDAY$(DAY$,X1)LMO1MO121050:Range check the month valueV800:Parse out the current day`X01050&jC4:" to continue, to exit";:A$BA$(27)ġ:5000\A$(13)ĺ(7):900bh:get the user's input and convert"Please enter today's date (mm/dd/yy)""-> ";DAY$800:find slash separatorX010803$ (37)21İ900:! 380' :S Finds position of / within date string X0:On exit, contains position of /, or 0 if none found *I13 4(DAY$,I,1)"/"XI:I3 >I H R: Pause between screenfuls of information,24:7 DN$(I) I :@ yt() is the year table valuesK YT(7)Q ":k ,Save original prefix} 6(4)"Prefix" @PFX$ J: TMOD7(X)(((X7)(X7))7.5) ^: hDisplay some instructions r |A$ A$""İ900:1000 A) = cumulative # of days in year. xCU(12)U fill array with # of days in yearj CU(1)0:Januaryv I212} X CU(I)CU(I1)X I : DN$() = Names for days of week DN$(7) fill array with names of days of week I1ay-of-the-week for that table+ entry.1 :^ Instructions and background information are contained within the program. They are displayed to the user at the beginning of the program. : d(21)::turn off 80-col card" ncu(""8h/ ʎ S` ?8 r 0 88`  Can't run next application.ProDOS Error = $ Please insert the disk: Accept: M Cancel: Esc`HZ; [:HZ"h+h`8h`/Ȁ򈘍` L   `H0H"hHHH HHH "hpHH"VHH; [*i)    +hhHH"ZDOW0dI170nDOW$DN$(I)DOWI:I77xIGDOW01260M:Calculate the number of days so far this yearDYSDACU(MO)Must account for extra day in leap year(YR4)(YR4)MO2DYSDYS1:!Now calculate the index to use to fill in the table:IDXDOWMOD7(DYS)1LIDX(IDX10)aIDX7IDXIDX7g:Now we can fill in the year tableI17XYR1900X100XX100"YT(IDX)X:store the year into table,IDXIDX16IDX1IDX7LJپھ pHJh` H!h߻g޻tػٻpứ `޻ٻtػp߻8nٻniػtpiٻٻtụs໅o8ễpڻiۻniݻi>j?kܻڻ߻>ٻ׻pڻ׻Ii׻׻߻߻ڻ l 1ڻۻ `>i3Lm8n933LҞAAJL ةޘг uv $ 8LʞeЌ>?@`>?@`Ba8` K  LK ֟ ֟  KK`JJJJ8`轶K)` #hhp@3 @LtJ)s@J f 򟰸 p`H? hth?,E30ɍФ3 E3HD F3 Ʉ%h3 fM E  pLthɍLL3`3,A0s0% Ipn HpnI:L ؅30پھ p WH־Ǿh۰8L־JjjjZ[ɾ)Ⱦ8 AOLӜ ҤLLX>(F`־ؾپھ׾` fɄ KDEF zLp z pL[ fKɍKL?`  zL$݅3`(l8L3LX>(Ƀ,`3,G0]ɾ g` H`پ_پ p _پ׾`>( p۾m׾) W)ʩ@`ɾ>(O puȾ ɾ-O ͱc־JjjjZ[ (`O>0O z PODEF޾ p  ޾ p($ذ z (0 k( L?ԦʚLeةީe s  pL f,FLk,DL,C0$3 >@ Ɉ 3ɾꩈL(3ɾ;Ƀ kB94 l% fʽ  ՚,S` H H06172839h` z97L75v^e ?/( ze?L[LLɍ$?`?e ɍɥAH93827160hH46576879h`,C fL ɍ f ,S0 @ pLޭBYL 8!9 詍` "  4"/pŠϠŠà͠ӠàԠŠ13456789:;<=>?@ABCDEJJH !h穖tp% ;"Z/݀>">"' 1" 7"5).莀/ ;" " 6" >" 1"6"$ "g"" !"""""IջLLG ASTARTUP$#   / XXύX?klmnÍoL) "6L'?"(0`6708" = ***)<-@(YR4)(YR4)1660:not a leap yearEJII1:update indexoTI71670:if entire array done, exit^YT(IDX)X:duplicate entry for leap yearhIDXIDX1rIDX1IDX7|YRYR1I:I17:Poke table into memory767I>?Ek?!>Q>>>ڻۻ `` `>ڻ ۻ `e>>?ܻ?ܻ>?Emn(>e>ܻȱ>e?>Q>ؠ> ie>>?`׻;ػ=:<ٻ:<=;`׻׻mػ;>:8o>oȑ>ppȑ>> :oݻp` HKpn͵ @p;=po:S ST$I2 U)VJ :T)`l8`a HbIJhjǾȾɾ p٭b=a<I/q)im@^ʈ0 L/S 51-m@ʈ0 L٨/` E չ5L/A2ʩJ -V HrTJ6LGSL )AJ E @V n k38`J" Hʩ V HЧ H HЖabT)!J B8`@U)9VJ T)h*I/W)󩭙L=id =`H) +hJJJJ ɺi` [  ` . 8  `O`S  )AI-LG B C VW>m⻑>` !im8i仍nj廍ki滥lj绥oi>?Ek?>Q>> L>ܻ `/ e>>?ܻ?ޱ>Ƀ B ,  W ` z])Y 񩢍`Ⱦɾ0Ǿ p) : z6 E= =& =8Hh =` 6Y׾ؾ+پھ p|پɾʾ`HV)jh츾$-#㻍Ͼ p о־޾Ǿ` 8` 8`ɾ)ɾ ɾɾ0miȾ p pY)`lP *,N!ǾȾɾʾ pǾ~H kh8`8`,C k  8` Ⱦ㻍ɾM$ mHne of the above, try again"2:B3Read volume name from userT4A$;:"";PTH${>PTH$"/"PTH$:build full pathnameHI2(PTH$)R(PTH$,I,1)"/"2160:Ensure only volume name is included\"Please supply only the volume name.";(7)fe":"volume name of the disk, or by its":"slot and drive location (ESC to exit):"`"-> ";q12:4:958y A$A$"/"2100:input volume name A$"S"A$"s"2200:slot/drive input%(A$)275000:ESC pressed, exit*(7);:2060:No,YT(I)I2Now that the table is set up,Qwe can modify the file(s)[6:1"You may now insert the disk containing":"the ProDOS file to be modified, then":"enter the location of the disk. You"T"can enter the location either as thLLLLL[^)o `\o8` ԠŬLL,~z @`$仫@v$⩔,C[B?I>孓`仫6VtCicQĿUKqtVt Nʮq$6,⨁ K6, VtI=v!gNVt Vt  lg~Tһ   LiLMTRӱüϠž(+@ABCDEFGHIKLMNPSV     T[fouu~ՠٯ* PWN*]ĿNTz @n6VC/+A>@I5gN Oz @n[Dz @nd0PENWRITEXECREATEFRESTORENAMEBRUNLOCKCHAIN#FLUSHREADPOSITIONOMONPR#PREFIXCLOSEAPPEND Hѫ5 FڬB :hQ|Q@@ -!S    !C- !ABELSDFRV@@ !$(19@E ۭ (8 mȾȾmɾɾʾiʾ` Lpl8l:/0sНsƬƀ#(ZZV4G_0=( A P FjL\5p-e9ABSAVERIFYBLOADELETEBYECATALOGOZ}ȾȾ󰹩 p` ־ǾҾ,G 8`׾ؾ ж p ධۥs׾tؾE` ( о(־Ǿ,G 8`_`W)H־JjjjhZ[ p̭ зLKǾ  . .8  ȾɾʾNfne }ȾȾI > Ie f`8` P־ǾҾ,G0C ж=W)_`ZV"׾پӾؾھ pD`Y׾ؾOW)Ⱦɾʾ pD`8`W)CB) 5W) )W)@! p:`V)R ޾,N0MHhHh p' P,N HCNh`M`M N `޾Lp h־Ҿ,G0^W)TP) ecfdپھ׾ؾӾ p$c d pccddީ 8` jЭW)`_ 㻍Ͼ pH Ph8`jGM㻝ﻭоM  GY):_Z`[蹀[:`V)8`MN; Ҵ;`;C Ҵ N8` YG)̀#:Z[蹀[Ǿ ph㻍Ͼ pH Ph8`Ͼо־ǾҾ_` [Ӿ pW) LC`C N `9V) ` V) ޾ p` (8` 8`8`(W)`_V)Ij!؍Í`_ e12:4:868:2060pI+z13:1:958U(4)"Prefix "PTH$:Set ProDOS prefix2300:then go modify the ProDOS file:Read volume name from disk in specified drive"S";A$SL(A$)SL1SL7ĺ:"Slot number 1-7 only.";(7);:12:5:2210(SL;",D";:9580A$=DR(A$)DR1DR2ĺ:"Driver number 1 or 2 only.";(7):12:8:2250DR:958(4)"Prefix,S"SL",D"DR"Prefix is now set to the proper volume (4)"Bload ProDOS,tsys,a$310,l$3,b$1bo exit the utility."%""en updated, the utility will"I$"again ask you to insert a disk and"s$"specify its location. This can be"$"continued for every disk that you"$"wish to update. When you have com-"$"pleted all of your disks, press the"%"ESC key tion 2.0. The location may be"K#"specified as either the volume name"x#"of the disk, or as its slot and drive"#"location. The utility will then"#"proceed to write out the new table"#"entries to the file. When the file"$"has bentries to place into the table."P"F"Next, it will ask you to insert a disk"x"P"containing the ProDOS file to be""Z"modified, and ask you to specify the""d"location of the disk. The ProDOS""n"file must be either version 1.9 or" #x"versap year. Therefore, the"G! "table must be updated at least every"r!"six years to keep it current. This"!"utility will ask you to enter the"!("current date and day of the week. It"!2"will use this information to calculate"""<"the ederClock does"> "not return this information to ProDOS."l "The table only holds seven values, one" "for each day of the week. There must" "be at least one year duplicated within" "the table to account for the inter-"!"vening let and instructions?"This utility allows you to patch an"h"internal table used by the ProDOS""ThunderClock driver. This table is""used to calculate the current year""for date-stamping files on ProDOS" "disks, since the Thuncher? ";A$4(A$,1)"P"(A$,1)"p"ĺ(4)"Bye"U(A$,1)"B"(A$,1)"b"ė:f(7);:5020l_:`# of days in each monthj31,28,31,30,31,30,31,31,30,31,30tNames of days of week~SUN,MON,TUE,WED,THU,FRI,SATInformational tex(A$,1)"y"2050 5000J ADRS12918:location of table within 1.9P& :y' Write the new table out to the file( (4),"BSave ProDOS,tsys,a$300,l7,b"ADRS2 2050(4)"Prefix"PFX$"Quit to (B)ASIC or (P)roDOS program" "laun$3,b$651"j A$"" t I13/v X(783I)Bx X127XX128Q~ A$A$(X)X I~ (A$)1.92500:it's version 1.9 "Only ProDOS versions 1.9 and 2.0 may":"be patched by this program." "Would you like to try again? ";A$ (A$,1)"Y"":Read P8 2.0 version" A$""-$ I13<& X(783I)O( X127XX128^. A$A$(X)e8 IB (A$)22400:it's not version 2.0L ADRS3958:location of table within imageV 2600:go write the new table ` (4)"Bload ProDOS,tsys,a$310,ldfffdgfffffffffffffffffffffffffffffffffffffdedddeeeeeeeeeeeeeeeeeeefefbUrqrfAAAABAnmnmnmnmnmnmnmnmmllllllnlnllonmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmn