Ë&LLF11 COM$¢ÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿLLF11 DOC%4×ÿÿÿÿÿÿÿÿÿÿÿÿÿÿSLUDIR11ZQ04m[ÿÿÿÿÿÿÿÿÿÿÿÿÿÿà Z3ENVþ* Í­ >2²Í!�€ëí°ë"s"w>2}2y2|Í!6>ÿÍÀ:7·( *8~þ/ÂNÍÕLLF (List Library Files), Version 1.1 Syntax: LLF dir:library -or- LLF dir:library afn1,afn2,... o... -or- LLF dir:library /o... Options: C - Print CRCs G - Group by File Type and Name I - Print Indices P - Printer OutputÉO>Í~ͳ !3Xí°>Í((:ÍÕ Library File PÍ3ÍÕ Not Found or Structure ErrorÉ:7þ(q*:~#þ/( :7þ8_*<~Íš  å/åCàGèIòPú>2y#Ü:|/2|#Ò>2}#Ê>�2²#ÂÍÕ Invalid Option: ÍÍwÃN*:y·(!/\>Í~å!]>íKwÍ‹`i*s~·(ø"wá~#þ,(ÍíC�*wÍß ÍÕ TPA OverflowÉ*s"ÍF *w6Í´*z|µ2~*s"u:~·Êl*u"wÍN ##~Ö‡G*u~·( ø~·(2~"u>2~i&åÅÍ\Áá#ÍýÍí[wëA~·(Íýë~·(Íý6Å ë Áå:~·Ê�ÍÕ More Files to Follow - Strike Any Key (^C to Quit) Í þÊlÍXÃ�ÍŸ ÀÍ…Íú Í…ÍXÍÁÍú ÍÁÍXÉÍú Filename.Typ Recs Size :}·( Íú Index:y·ÈÍú CRCÉÍú ------------ ----- ------:}·( Íú -----:y·ÈÍú ----ÉåÕëÍU! ^#V#Õ^#V#ë> Í›Í4 }æõÍýÍýÍýñ(#> Í›Í4 >KÍ›á:}·(> Í›Í4 ë^#Vë:y·(> Í›Í Ñá yæÊXÍú ÉyæÄXÍŸ À*zÍ4 Íú Files Selected in Library !P~þ (Í›#õ:²æ€ÄXÉ!"z*sT]~·(!þ (åÕÍæÑá(åí°*z#"zá ÛÉë~·(  ¾À#ùÉöÿÉÅåÕ:|·  Í'ÑáÁÉ ë ëÍ' îÑáåÕÍ'ã¾À#ùÉ*.*LBRüÿåÕÅ€ÍÁÑáåÕÅ:Ö 2%"!`i"#!ëN#F!Í€ åÕÅÍÛÁÑá( # x± ê*#6öÿÁÑá·É!€~· 3å#í[! æþ?(¾ #òÑ*#:%¼8ÕÅëí°íS#Á¯Éá  ÂöÿÉåÕÅÕ€ÍÑ!6# ú!ëͨ ͽ $Íï #:€· !Œ· · w#w¯ÁÑá·É>÷>ó>ïÅ2 ÍeÕÍñ ѯ2I ÕÍÑÁ:H ·ÉÅÍÅ*J €Õ~ͪ ʵ#ç¯ápÁ*F ! : ·É2 Íe>ÿ2I ! Íñ \Íñ ! Í:H 2 å! * Í á:E 2 "J å~ͪ Ê #Ãÿ"F á͆ È\Í͆ Èl¯2E 2L 2H ÍFy2M Õ͹Ñ~2 þ:Â{2E #: ·ÊRÍæÊbÍC Êb: ·ÂbÍæ:L ÕÍ÷ ѯ2H Õ͹Ñ~2 : ë ëþ.‘#Õ͹Ñë ë:M :I ·Ê´~þ!Ú´ͪ Ê´#þ=¢:H ·ÉÍ� Èþ*ÂÌ>?ÍßÃÓ#þ?Ìß¹Í� È#Ã×å!H 4áÉåÕÍîÑáÉÍd Êw ë#Ír G~þAÚ Ö@¸Ò@ 2L #~þ ÈÍå Øå~þ Ê- Íå Ú? # ~þ Â? áÍ€ O ͱ ¹Ò@ 2M ¯Éá¯=ÉåÕÍK ÑáÉÍŽ Êw ë#·Êw åÕ¾Âi #Â^ ÑáÊz ë ëÃS ¯=É2M 2L ¯É~#þ ʆ +É~þ!Ú¯ þ=Èþ_Èþ.Èþ:Èþ,Èþ<Èþ>È·Èþ;ɯÉÅ~Í� ÊÞ #Íå Úâ WyÚâ Úâ �Úâ Úâ ‚Úâ Oµ yÁ·ÉÁ7ÉÖ0Øþ Òï ?É7ɯÍ÷  > Í ¯ÍFy¯ É~# ÉCOMõÕ*± /F##x‡€_ÑñÉåÕ*± .~Ñá·ÉåÕ*± ,~Ñá·ÉåÕ*± -~Ñá·ÉÕ*± ^#V#~ëÑ·ÉåÕ*± (~Ñá·É"± ÉåÕÅõÕÍÿ·ÉÁÑ*4 ¯ÉåÕÅõë,  ÍÁ*. "8 DMx·Âf yþÚ‰ :6 ·Êˆ *, ë*4 x±Êˆ s#r#å*0 ëáÃt *8 ": ·*: |g}o´Êí ": "@ *@ #"@ ë*8 }“|šÚŽ *@ "< *: ë*< }“o|šg"< Ú¢ |µÊ¢ ë*: "> Íõ Ú¢ *< ë*> ÍŽ ú :6 ·Ê‰ *. "< *4 "B *, "D *< DM*B ë*D ½Â ¼Ê?  y°Â Íw SORT Pointer ErrorÃ*B ~#~*0 DM*D ë*B ~#foëÅNëqëÁ# x±ÂZ *0 ë*D "D *B ##"B *< +"< |µÂ ñÁÑáÉ:6 ·ÂÚ Í¯ å*0 DMáÅNwy#Á x±ÂŸ ÉåÍ "À ÑÍ ë*À ëÉ*0 DM!z³ÊÔ ÃÊ ë*, Éå*4 DMá+) ë+) Nëq#NëqÉ:6 ·Â ͯ à å*4 DMá+) ë+) ëN#Fë^#V`iå*2 ãÉõ|͈ }͈ ñÉõÅÕåÃ: õÅÕå'Í] èÍ] dÍ]  Í] }Æ0Í›áÑÁñÉ}“o|šgÚl Ã_ }ƒo|Šgy·Â€ °Ê€ > ÛyÆ0ÛõõÍ— ñÍ— ñÉæþ Ú£ Æ7ÛÆ0ÛÅÕåõë¯w ÍwñáÑÁÉÅÕåÍ]þÿÂÐ >ÿ·ÃÑ ¯áÑÁÉÅÕåÍ]þÿÂÐ Í]þÿÂÐ ÃÊ åÅÍ]·ÁáÉãÍãÉÕÅõ~#·ÊTþ Ê> Í„þ Ê+þ Ê0þÊ0þÊ4Ãà Ãy·Ê ÃyæG>�G�O> Í›ÂJÃñÁÑÉõ:²õæ€ÄjñæÄwñÉõ> Í2> Í2ñÉãÍ}ãÉÕÅõ~#·ÊÑþ Ê» ͳþ ʨþ Ê­þÊ­þʱ Ây·Ê‚ ÂyæG>�G�O> ÍÂÇÂñÁÑÉãÍÛãÉÕÅõ~#·Ê/þ Ê Íþ Êþ Ê þÊ þÊÃàÃà Ãày·Êà ÃàyæG>�G�O> ÍÂ%ÃàñÁÑÉÕÅõÍI>.ÍÍIñÁÑÉæÍÂIÉÕÅõÍk>.Í›ÍkñÁÑÉæÍ›ÂkÉõ> Í> ÍñÉõÅO:²Gæ€yÄàxæyijÁñÉõÅO:²Gæ€yÄ2xæyÄÁñÉþ ÒþÊþÊþÊþ Êþ Êõõ>^ÍñÆ@ÍñÉþ Ò2þÊ2þÊ2þÊ2þ Ê2þ Ê2õõ>^Í2ñÆ@Í2ñÉÅÕå*. ÕéáÑÁÉõÅÕåO*. -ÕéáÑÁñÉõÅÕåO*.AÕéáÑÁñÉõÕåÍõÿ ÍOñGáÑñÉÅÕÍÑÁÉõå~·ÊtÍuw#ÃgáñÉÅHÍ€ÁÉåõÅÕWÍ¡ÑÁñáÉÅHÍ–ÁÉõÅÕWÍ¡ÑÁñÉr# x±Â¡ÉÍÁÅH ë ëÁÉÍÊÅ ë ëÁÉÅHÍÊÁÉõÅÕå|ºÚêÂÛ}»Úê~# x±ÂÛáÑÁñÉ ë ë~+ x±ÂðÃåõ§|g}oÒ ñ7Éñ·ÉõÅÕ¯2tå!"ráÍVÒ;å*r}ƒo|Šg"rÒ:>ÿ2táëÍdëÂÑÁ*r:t·ÊSñ7Éñ·Éõ§|g}oÒSÃPõ§}o|gÒSÃPæþaØþ{Ðæ_ÉåÕÅÕë! s#r#6Ñ!ÍÁÑá·ÉãõÅF#"¾##¾Êµ###¤*¾ö#~#foÁñãÉÅÕåOëFå##Í·Êøs#r#ÊìÍ·Êøy·Êç¯x·ÂÉÍÍ·Êøöÿáõ~�#wñáÑÁÉæþ Êþ ÊÉæÈþ Èþ ÈÃõ*/}·Ê-$.ñÉ16ÉÝ4#:É·Ä&*:Ãþ(þ Êö)Í*ÝË%F(͈/ÝË~(ËE´ )"ÝË$Æý*üÉÍ*ÝË&F \ÝË&ÆÝË$F$’I$„$�’’A !Aªªªªªª @’$’I$‰"!$’H$I$’I ’"! $�‘A$ˆ€’ � H„H��„AA"I @BB‘ „$�„’A" LLF Version 1.1 11/27/86 LLF Version 1.1 corrects a bug in Version 1.0 that caused sporadic and unpredictable bomb-outs. The bug manifested itself with a 'TPA Overflow' error-message, for which nobody had a sensible explanation. Bruce Morgen finally tracked the bug down during his recent exhaustive work with library files. The bug results from an error in the LUDIR module of SYSLIB Version 3.6. The source of the bug was traced to the file SLUDIR.Z80. The line in SLUDIR.Z80,'ld a,(bdose+7)', should be 'ld a,(bdose+2)'. The LUDIR module of SYSLIB, used in LLF, derives the top of TPA from the most significant byte (msb) of the bdos entry address, which is contained at memory address 7. Since 'bdose' is equated to 5, the most significant byte of the bdos entry address is at 'bdose+2', not 'bdose+7'. By loading 'bdose+7' into the A register, the LUDIR module introduces a random number into the top-of-TPA calculation. Neither CP/M nor ZCPR3 documentation sets forth a value for 'bdose+7' and at any particular time this address may contain any of 255 different values. The source code for LLF has not been released. Nevertheless, examination of the program with a debugger reveals the erroneous code at 069DH. That byte should be changed from 0C to 07. That's all there is to it. For those unaccustomed to in-memory modification of COM files, we have included a patched version of LLF in this library, LLF Version 1.1. In addition, we have included the modified source code for the LUDIR module, SLUDIR11.Z80. Bug Fix: Bruce Morgen Director, NAOG/ZSIG Documentation: Richard Jacobson Sysop, Lillipute Z-Node 312-649-1730 System 1 312-664-1730 System 2 vÿDÒSLUDIR11.Z80Vßÿ öÿšÿ�ÿ�ÿ‹ÿõÿòÿŒÿ›ÿ‘ÿ“ÿÄÿžÿ™ÿ–ÿ œÿ�ÿŠÿ—ÿ�ÿÓÿ’ÿ!"#$%&'()*+†ÿÅÿ˜ÿÎÿ³ÿ,-./0123456789:;<×ÿÖÿ»ÿÑÿÏÿ¾ÿ½ÿ¹ÿ¶ÿ‰ÿ«ÿªÿ…ÿÍÿˆÿ‡ÿ•ÿoÿºÿ=>?@ABCDEFGHIJK²ÿ­ÿ¼ÿ±ÿÂÿøÿÒÿ·ÿ¯ÿ©ÿØÿ¬ÿÔÿÈÿÇÿ°ÿ”ÿûÿŽÿÛÿÊÿÉÿ¨ÿÝÿLMNOPQÐÿÌÿËÿÆÿÀÿ¸ÿ´ÿ¥ÿRSTUÿÿúÿåÿ§ÿ¦ÿ ÿ‚ÿÿþÙÙŒÝåîì�4 ‰×Ø]œ=v6ãx0£Ê�[7 x¢1:›qP ¯ñÇÃfð¾9›±»Ü��à5‹oר9›±»Ü��à‘†!1^³ø¦q�íᑳÙÙŒÝåîì�4 ‰×Ø]œ=v6ã1Ÿ7ß4¢ fTYãD†ŽñHeÃÑÙŒƒbx�íïxªç¼L,øðÝÙŒÝåîì¯Y|Ó¸ÆöðÈÙŒÝåîì�4 ‰ñšÅ7�kl·Îfg3žªa¿Ækß4b{¸…ao<ª ŒöЊ‹WǘVHZB‹˜‘±¨7ÎfÜ?÷m[m]‰ÓÊ0´ÂŒŒ)¨G#+”„½G‹FaFƱ³÷Ï…7ÍÜ43ÂŒŒª)éM‹¼@ (óÞÔó»ëýCà5‹o�͸¾==<½˜QbÀÉ|ßw–ü0Q™·GD½�QLœô?yõøWg)Ú3}áöçBž 8ôFœ¥h¯¶Äûó˜(×sFoFQ[bIJ°³”�óD”±aƒÞŒbáEe…i¨•ÅYJ�ÒÜ9K)ÐÞ4Ôʲ?�‰2|9gôF` /*+LC­,ÎR 4¦9 ¡veh­ž Œâôɉ³TB 1Í��%¾¥Àó˜ˆ2ð §ONœ¥¨›÷Æ´O”±aƒÄqcFhEhÂ�QY9K-v4&g)šæ½1í;K)Иæ#¢ ášpgTVh{Â�JÀѾ³Iµ_;K]I‰ä«p DRbÐÂ%8KwBñjfʨ-1¢Tb@«`g©üHc"Êðåœñ‰WÞxg©üH��¥~ð#M�³Ô•”Èw%eø®DTÔ–±,Œ¥˜nD‰ÓÐRÀ4ÔÊâ,õÚÓÔe{£ÂøÄ+o¼³ÔkO��¥^{“³t't5³ˆ QÆÅ«cÔ!%g©ÅŽÆD”ÑEä[áN%8K�;š:¢ŒN‡hô&"qܘZš8K)P™'¢Œ ‘ÿp–T¨s–î„âÕœT{g)Ó¼7 µ²ìSF¯-Eä[ƒie¥¤â 8Y9K)ÐÞ˜öç#¢ oTW,ê,Ý �L”qüìUtÁÄU…aFÆÏ;A¼š“jÿÓYQY;K*tTëH”áÙàèôô¥³A#¯�¥^{š:¢ aoTÂï,õÚS`g©×žÆä,©P!ÊðlPSÙxgIØ8›�ÍÀÛ®D\œ\žž¢ª ¶ÄˆeaïlÎ*^TVÐs–šôfÆñ³#”ð7‹â4• Þ²q6gÿšqüìèôô¥³ÙYß•¸v–R 1Ífj¥ŒÞÀ(¦¡Vg)êæßˆ2~G#�=zõ¾M‰�õ]‰Ûµ³”•yoLûDÝÈÝ'T”δsG#+gI… QÆÑ³{géN(^;+ñÖ8KýàG“³ÔbGc"Êè Œ"–…�¥(ð¼W[â}Êè Œ¢¶Äˆeag)šæí–(c»Å´2ì�õ]‰©_;K)P™÷ïelØ –…�¥½¯#QÆRü',~r–ºžÞüñ†(c)¦qÓRp–î„®fß•˜ú­³Ôõ´7¦}¢ŒN—¾Ã(Bp4²r–î„âÕì»Sí¬ïJLýví,µØÑ˜ˆ2z£ˆ|kœ¥; ì,…»xE¾+1õÎR¯=&ʸaŒåœQ°Ó�x�ÞÀ(8YᦙÎR 4¦yojeÙ§Œ ”„½‡VD¾5˜†ZYÀÑÈÊYJ�ʼgúÂ1ìSF7r÷ UzÎR“Þ8K]O£³t'Ô;+‘E(ãâÕ1ôœ¥&½q–úÁ�˜(×sFoÄYê?ÒÔeørÎètˆÆYj±£ÀD½�QÔ–±,ì,ñ-žÇD”áu�ŽÑ"^hêæÄÑø+Êàhdß®ØYJ¡‰³”íMC­,ûs`ÊðåœÑAUAä[ƒNû•³ÔkOSG”±aƒN‡hœ¥;!ß•˜úk¢ŒN£iq`g}W"‹¬�¥[*DÂf�ˆ›fF\±(ª XDÅY6Îú®ÄÔ_¯�¥^{QFo`Ý ÂÑ8ë»oÍÚYJ�Ï¿^eôFùÖ8K%ÓØY ÜQG”Ñé ‚ÞDgéN(^;+që,©ÐQ­#Q†gƒ¨`gIØ8ëlv6'C­,ÞÙìlm‰×<]eôÚ¢a�Qœ>=<½pvjeYSðtM”Ñk‹†F±ð¢²Â4ÔÊâ¬é ǰ¦àiK”Á1 /†V\¼:v6 �£YSðtM”Ñk‹†F±»<G#+g�%ŽÁÙýãþÿÍ+:!͆*:<·Ê þÿÂɅý:!