DDT CCRC CSMLCAT2L CQ GLCRCK C Q LCRCK COM\)LCRCK SYMLIBACC C LTYPE C LTYPE80 COMALTYPE80 LNKLTYPE80 MSGLUDEF1 DQC!; This routine was lifted from CRCK44.ASM and adapted for ; BDS C. To convert to .CRL file do: ; 1. CASM CRC.AAZ (makes a file "CRC.ASM" out of it.) ; 2. ASM CRC.AAZ (makes a .HEX file.) ; 3. DDT CRC.HEX (makes .CRL file - write down size in sectors.) ; 4. SAVE CRC.CRL ; ; 8080 ROUTINE FOR GENERATING A CYCLIC-REDUNDANCY-CHECK. CHARACTER ; LEAVES THAT CHARACTER IN LOCATION 'REM'. BY FRED GUTMAN. FROM ; 'EDN' MAGAZINE, 5 JUNE 1979, PAGE 84. ; maclib bds FUNCTION updcrc push b call ma2toh mov c,a call ma3toh MOV A,H ANI 128 ;Q-BIT MASK PUSH PSW ;SAVE STATUS DAD H ;2 * R(X) mov a,c ;MESSAGE BIT IN 'LSB' ADD L MOV L,A POP PSW JZ QB2 ;IF Q-BIT IS ZERO ; QB: MOV A,H XRI 0A0H ;'MS' HALF OF GENERAL POLYNOMINAL MOV H,A MOV A,L XRI 97H ;'LS' HALF OF GENERAL POLYNOMINAL MOV L,A ; QB2: pop b RET endfunc ERAL POLYNOMv}LCAT2L.Cb  !#"$%o&'()+*-,./012435786:9;=<>?A@BCDFEGHIJKLNMOPQRSTUVWXYZ[\^]_`a+.̋$[x9rٸn.u"&*vفjoō=l$¿REw5х ;>Vky`ṶƲr΢NK-&C-;;] K۴6u"f$[idYsɣ?﯑d#1 ֦56ںNxp I6lZ`m.[p͛bAz$پ<ݸ:QͅɈZ#ɖGƕ:MkØsi.nF.p5Y[fg$پ =hح'>F@dt|ani`_4I6lp}i-֍Wl±KZ^a~PT^L1nFͣ{%c8G1~+K۝|jڋ).̋?vn+<_)tH^i|^OM<і$OWJB;9@諰[lN46F08Ns}'!Aݝ_JH>|¹Q$ߴm\PIt$$y:j6hHtE$>J%@S T˨͈UpRhfz3$ߴm\PIt$$y:w爳yc5?zQ]n T8bB|rm\P~ٜuWͼ_֨I<>(ד|y:nIQ9˰~AFuycXݎb C:s0Ĝ;r|y"'[؜z9뮚yQۓ|yR/OMS|=WJq_O I>ը7b QaVga~G[.|E$_pnscsI<[w;eڞ+%i'ӍYrAE<]kU-}'[ Vgq]* ,#8uanG1y=gs]5Y'i'ӕ7ln֋-iE sXPήâNCعNIqTm$IMbItpwZXZv.cNvO[6]5/ $O7*ZNۓ*ZNw4yh{<vzcX4a_n^h傲G+"#g&-Iiw'rܓJItknR4em梴0`eN 34펾&-ItwLIׄ~z4yo{<]u|/T,uoloӓ|n4y%%^H"/O7杋vbo}M[HM'tP13a>k;cO|vd؏JJ~hƇw>>PR+"tc޹hG,6ׄ~ziz/O;HΝVIϼ3$_)gNQXg.3ܓ| >*g;G1$$Kᕍ|hFv|Pƕn=۟hwyΝ볹p!>#tPo.w4h6 hp=\^IH>sdpΝ*vc|E$_yQۓ|y:w爳 9,vdŘ翥lw'weYX?WJ kcaYٴT-'weفjI>䮚74펾&-I>䮚7%4펾&-Ջ '-H<݆juv]Ay.,vvA:$$r0NknRCXJi}M[ {OA+ZN|E$_ns0\AXG_i't4ד|$_u|/T,uop9 \,*X dT_a7,Hƕ*֓\ORDcYn957xp^G5펾&-IJIHIhqrw'&I?ɂʙHƕܝ=II?}6wgwGmμsт6$$$-FܕwKݎb,l ^bzcɸRQ$E$y:sףJxHiw'y= Ie[=1$OWD9*Vb#H<ݨex~ӍYy3"ɗ HF,Io]&bmOJIt2O=I) >FG1摌+5XORG߸R3߉ecٓ/HtPIt7[8wcXG x$y ¹;2>b<<]nܝQaX>4Fp b jHt |#swG1e`}Gk-?1,;94Fp b :Ht |#swG1e`Zk#5hu5$Oנ7[8wcXq#y$ߴm\PI^i;N]x}Qy^HtE8VkSa7d|Po>ߙH<ݴ̓aVoa[eJIt2Op=[Zjo.r#@?I) w&Va7 bG2ٓ+5n=r4`$E$yq-0?{<z<ݸRl-lIH^BmXo?In9p$yӓB%!A- y;pKoyhbx><]ɇO89vzW `ف^OM<і$OWJsf|~m Ţ$yf|;:} `/$y"jik Xbiw{!H<>hD3T ;w38Ci:^OehrO|MZyG'!<0+dܜ95!TڈZ8iOBjk5zItqg@Q;yKk#j-w+t ͣz.J'ӕ[\P; T4#-;- :;' =:?Cg-LI{=InA;`o>͔ד*>> 9 sPkOI x!}p,u"&v';`o:?iek T!_N';`oӴ0nXCn^O+%!n7wvu Z.pk.ap-v'ә;;y= Ie<1q[*֐[/~w$y WM͝k鼐H>8uWͼiFjzyBu8MO8K^Ltz¥EgiSQcDZ'!OƼ) mfҠA;-('ɗ35w釛w=K 'Ϙ;ÅpҰaRR1WR7H#tD䥝*I"Inܑ3$$yiw'6oU')%!on856N3sWڈZsۅ `$2}w9Mj5 i ±dnklψZ Uٙۅ ΈZ8ul$¿-rN3w5\pk.4d]ڀF -bE6lfs$2 7u eѢΈZk\֨}CGNOB璜q[*-#sBO26n= mR;{"<'!Aˆ7D Ioi42 7u͸R3۟wt$O2FZZദ?MhQ{ZuU֨}l<>$$O2FZn#=v ">;(MFhf ;Ǽܝ%%ɗvy2x'M<ѥ')%!o$2[8wr/WR̎XlfTrN3$[e6sQ.+8qwij*ZNE⠻HIƕHFp 둌+59l=IIn\9l'8Ss\ ݌+5j.ⳓOhν]q%%տhG,6yv=ˣeD ">;a[8w'f?ɗhνv齐|y"o:eŦ9WRw{KJ COMPILE/LINK: cc1 lcrck nl2 lcrck libacc crc By S. Kluger 01-10-83 Modified 03-20-83 by Gary Novosielski Changed do{}while to while{} to properly handle null members. Removed improper call to erxit. */ #include char curdsk, crc, fcb[36]; char fnam[12], libnam[16], dirbuf[128], *dirp; int fd, j, seccnt, lpc, dirsiz, filsiz; main(argc,argv) int argc; char **argv; { if (argc != 3) { printf("\nLCRCK crck check program for LBR file members.\n"); printf("Compatible with CRCK44.\n"); printf("USAGE: LCRCK \n"); printf("Where: = name of .LBR file and\n"); printf(" = full name of member file.\n"); printf("(Find with LDIR.\n\n"); exit(); } printf("\nLCRCK vers 1.2 03-20-83\n\n"); opnlib(argv[1]); if (fndmem(argv[2]) == ERROR) { printf("\n%s not in LBR file!\n",argv[2]); exit(); } printf("\nMember %s\t\t- ",argv[2]); doit(); } doit() { unsigned sum; sum = 0; dirsiz = filsiz; while(dirsiz) { reload(); j = 127; for (j=0; j<128; j++) { sum = updcrc(dirbuf[j],sum); dirp++; } } printf("CRC = %04x\n",sum); } 8 ;b͡zzvzÕùEK]0 2͵ ^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2cZZk:c|/g}/o#|/g}/o#:c<2cqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2cZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! K!9~#A!9"q**q"e!c*"_!"a!Y"C>2Y>2\>2[2^>2m2n>2l>2p!";!"?!@"=!"A !F#x:~#!e2d~# :" 2d +}|~#:G:dx."2d+w# +6# !6#@**|^+R2i2:*e!#"0!#"2!>ڋo&͕=|  v~2ʷ͹56!+W ?_!~7z?ͤ:>͛@w#2.ww#w#w#w*>?=͉;w#͉2> w#=ͤͲd 2l&0OxGͲg/ʃPxY͛.7:77!a{  ʥ ʥ0:?ŷO !y$ 7o&))T])))!y 2k_ :k!9DM͐+++|!Z ! ! ! ! ! !8 ! ~#fo##~#fo ! ~#fo~#fo #|; ! ~#fo~#fo!T ! ~#fo~#fo!j z LCRCK crck check program for LBR file members. Compatible with CRCK44. USAGE: LCRCK Where: = name of .LBR file and = full name of member file. (Find with LDIR. LCRCK vers 1.2 03-20-83 %s not in LBR file! Member %s - !9DM`iw#w*"*|  !"!"*| ͐*Hn&ͦ `is#r*#"*#"å Î ͐! !9CRC = %04x !9DM͐!8 !.!8+ `is`in}? ! !8!8!! !,!! !<|ʅ !8! ! ͐ !!8g"*#|¦ ! ͐ !9.LBRLBRgot %s Library type if present must be .LBR Library file not found. !9DM͐8! !!H*H"*n&"* "*n}V ! *n} *#`i ! 6! `i<| *n*n&?"!* n* n&?*}! * "*!  *|F ! !49!!H*H"*+"!9DM`iw#w! ~#fo͐n} ! ~#fo͐n! n}s ͐&Ç `i^#Vr+s9 !&Ç !9!9DM͐ O|)yo |g}o!9DM!! !h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{`in}%! ! s#r! 6#6! s! s! s͐n}-l! ^#Vr+s! 4͐n}0|! 4͐n&X}ʙ! ͣÜ!! s#r! ^#Vr+sn`is{.! ͣ! s#r! 4! ^#Vr+sn`is`in&h}DULXUO^CʤSÚ͐~#fo|L! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 d! 6d! 6! ~#fo! n&! ^#Vr+s~#fo! ѯgs#rM! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sM! n}! 6#6! ^#Vr+s~#fo! s#r͐n}M͐|M! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s͐6! ! s#r! n}ʫ͐n}-«͐͐! ^#Vr+sn&!!9~#fo#|«!! n}! ^#Vr+s!|͐͐! n}!0! !!9~#fo#|!õ͐n}K͐͐! ^#Vr+sn&!9!9~#fo#|H!! n}ʗ! ^#Vr+s!|ڗ͐͐! !!9~#fo#|”!U͐͐`in&!!9~#fo#|!͐͐`in&!!9~#fo#|! !9!9DM͐͐ O͐^#Vr+s͐<͐0D͐7s!&Ú͐ ͐͐ ͉͐`is͐ ͐͐ )͐`in&#&Ú!9!9DM`iw#w͐~#fon&X}͐ ?͐^#Vr+snѯg`is#rñ͐!9 7*M*K&!7*O|DM*M*KE><9~# x9 > 2c*K/:l2> :c):Mʲ=ʲ=> :lw:co&552:7:K)V>wz>wz2:K,"e!"g*O|*g5*M*e!ѷ@2:::!*g*O+"O*M"M*g#"g*e! N#Fp+qx##6>2:2:7:K,>ғ2:*M:O=©:K)~2#5*M!s#r!^#V   > _  7*K*M~#*K7*M*K~#)+w#0*K7*K*MU#F!ɖg!9~!0:,!9~o&a{_o08A1 MAIN 0A7A DOIT 0B03 OPNLIB 0BFF FNDMEM 0D08 RELOAD 0D2B MATCHR 0D90 ERXIT 0DA6 UPDCRC 0DC4 PRINTF 0DDC _SPR 1201 _USPR 12A3 _GV2 1300 EXIT 1303 SETFCB 1316 MOVMEM 1367 OPEN 13CA READ 147D SEEK 14DA PUTCHAR 1509 STRCPY 151F STRCAT 153C STRCMP 1558 ISDIGIT 1568 TOUPPER Link statistics: Number of functions: 24 Code ends at: 0x1579 Externals begin at: 0x1600 Externals end at: 0x16D6 Jump table bytes saved: 0x84 Warmboot supressed, Rst 6 not trapped /* LIBACC - LIBrary file ACCess routines Lifted from LMODM10.C by Bill Earnest S. Kluger 01-10-83 */ #include char curdsk, crc, fcb[36]; char fnam[12], libnam[16], dirbuf[128], *dirp; int fd, j, seccnt, lpc, dirsiz, filsiz; opnlib(file) char *file; { char l, *npnt; strcpy(libnam,file); l = matchr(libnam,'.'); if (l == 0) strcat(libnam, ".LBR"); setfcb(fcb,libnam); /* build name in fcb */ movmem(fcb,fnam,12); /* get from dfcb2 for log */ if(strcmp(fcb+9, "LBR")){ printf("got %s\n",libnam); erxit("Invalid file spec, MUST be type .LBR\n"); } fd = open(libnam,0); if(fd == -1) erxit("Library file not found.\n"); npnt = fcbaddr(fd); if(npnt[1] > 127) erxit("File not for distribution.\n"); } fndmem(file) char *file; { char dnam[16], fname[36]; setfcb(fname, file); read(fd,dirbuf,1); dirp = dirbuf; dirsiz = *(dirp+14); dirp += 32; do{ if (*dirp == 255) return(ERROR); if (*dirp == 0){ strcpy(dnam, dirp+1); dnam[11]=0; if(strcmp(dnam, fname+1) == 0){ filsiz = (*(dirp+14)) + ((*(dirp+15)) * 256); seek(fd,(*(dirp+12)) + ((*(dirp+13)) * 256),0); return(OK); } } dirp += 32; if(dirp > dirbuf+128) reload(); } while(dirsiz); return(ERROR); } reload() { read (fd,dirbuf,1); dirp = dirbuf; dirsiz--; } char matchr(st,ch) char *st,ch; { int i; for(i=0; st[i]; i++){ if(st[i] == ch) return(i); } return(0); } erxit(strg) char *strg; { printf(strg); exit(); } ; st[i]; i++){ if(st[i] == ch) return(i); } return(0); } erxit(strg) char *strg; { printf(strg); exit(); } /* LTYPE version 0.2 This program will type a member of a LBR file... any member, BUT anything other than an ASCII file will produce a screenful of garbage. USE: LTYPE COMPILE/LINK: cc1 ltype nl2 ltype libacc By S. Kluger 01-13-83 */ #include char curdsk, crc, fcb[36]; char fnam[12], libnam[16], dirbuf[128], *dirp; int fd, j, seccnt, lpc, dirsiz, filsiz; main(argc,argv) int argc; char **argv; { printf("\nLTYPE vers 0.2 01-10-83\n\n"); opnlib(argv[1]); if (fndmem(argv[2]) == ERROR) erxit("\nMember not in LBR file!\n"); printf("\nFile present - %d sectors.\n",filsiz); doit(); } doit() { dirsiz = filsiz; do { reload(); j = 127; for (j=0; j<128; j++) { if (*dirp == 0x1a) exit(); putchar(*dirp); dirp++; } }while(dirsiz != 0); }  for (j=0; j<128; j++) { 8 ;b͡z%!%!:)vzÕùEK]0 2͵ ^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2cZZk:c|/g}/o#|/g}/o#:c<2cqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2cZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! K!9~#A!9"q**q"e!c*"_!"a!Y"C>2Y>2\>2[2^>2m2n>2l>2p!";!"?!@"=!"A !F#x:~#!e2d~# :" 2d +}|~#:G:dx."2d+w# +6# !6#@**|^+R2i2:*e!#"0!#"2!>ڋo&͕=|  v~2ʷ͹56!+W ?_!~7z?ͤ:>͛@w#2.ww#w#w#w*>?=͉;w#͉2> w#=ͤͲd 2l&0OxGͲg/ʃPxY͛.7:77!a{  ʥ ʥ0:?ŷO !y$ 7o&))T])))!y 2k_ :kngetuhungetuhungetngetreangetngetcisacisubsttolowebugouprintexi%!PRINTSTRLESIMPFNASTRCPSTRCAUPCASCISAGETLDILCATVALQCAACA$!9DM!G 6͐N+++|L!p!g!!H s#r!P ~#fo~#fo|ڄ͐H!g!P ~#fo##~#fo |ª!!g!P ~#fo##~#fo! !! ! !P ~#fo~#fo! ! !.|!! ! ! !E !C !6 !@! #|e! ! !!g! >qz!9DM!G 6͐N+++|! /! ! !H s#r!P ~#fo~#fo͎ | ͐H/! !P ~#fo##~#fo|' !> /! !P ~#fo##~#fo! ͢ !c ! ͸ ! !P ~#fo~#fo! ͢ ! !.|“ !h ! ͸ ! ! !E !C !6 !@! ͖ #| ! ! !j /! ! t>q > >a >ʐ > > ͐E͐C! ! >9 >H >aE >Z Í !G 6͐H/Í ͐E͐C! ! ͭ#|Š ͐H/!G 6Í ͐E͐C! ! ͭ#| ͐H/!G 6 ! !.! /!G 6 !J9Usage: LTYPE ...file error. I'd check my spelling. Library name can't contain "/*?.". .lbr.Can't find %s in %s. Can't type %s files. !9DM!& 6!3%͐+G#| !3%͇!í!!3%Ͷ!3%Ͱ! s#r͐!3%Ͱ))! s#r!!3%Ͷ! w#w! 6#6͐͐ҏ͐ ͐-ҏ!3%Ͱ|] !!3%ͶÁ! w#w! 6#6͐| !3%Ͱ|g}o `is#r͐|ʿ ! ^#Vr+s! ͐s! ^#Vr+sn ! ^#Vr+s! 6.! 6#6͐|J !3%Ͱ|g}o `is#r͐|< ! ^#Vr+s! ͐s! ^#Vr+s ͐! 6! ! ! s#r͐n}ʯ ͐n};ʛ ͐n}*ʛ ͐n&|ҡ ͐6.! ^#Vr+sk ͐5! | !& 6! ͐/͢ !3%Ͱ!" s#r!" ~#fo!3%Ͱs#r!& n}͐1͐"s#r!3%Ͱ!$ s#r!$ ~#fo!3%Ͱs#r!& n}i͐3͐$s#rÏ!!3%Ͷ! ^#Vr+s! ^#Vr+s !3%͇!& n}ʧ!í!í!'9!9DM! ^#Vr+s!|!3%Ͱþ!9DM͐n}͐͐n&!s! ^#Vr+s!9DM͎͐ |5!͐n}m! ^#Vr+sn}*e?e.e/ej!5!!9DM!{͐/|:!͐/|:!͐/|:!͐/|:!͐/|:!͐/|:!͐/|:!͐/|:!͐/|:!͐/|@!r͐!.`is#rzl͐##n}Ql!qr!ar!9.com.cqm.crl.cql.lbr.lqr.obj.oqj.arc.aqc!y9DM! w#w!͐͠! s#rz͐!/!!͐͐! 6! n͐!`i͐`+|@!/!! 6! n&|һ! n&`in! s{ʻ! n! n&|g}os!/! n} ³! ^#Vr+s!ҳ! 4F! 4!/͐ !9Cannot open %s Error reading this entry - aborting %c !Y9DM! w#w! w#w! w#w!͐͠! s#r͐#|n͐!/!Î!"/%!c"+%!͐͐! `i͐ͬ|ʶ! 6a#6~! `i͐ͬ! s#r! ! s#r͐! `i͐Ks! ^#Vr+sn}! `i͐ͬ! s#r͐|<͐|M! !/~!"+!!"-!! w#w͐͐͐))+!! `i͐ͬs#r͐))+!##! `i͐ͬs#r! ^#Vr+sa! w#w! `i͐! s#rz~͐|~! ~#fo|g}os#r!|ͣ-͐!/0!! s#r͐|P͐##|Y! 6#6͐|{! ^#Vr+s!{͐ ͐Î!9Cannot open %s Invalid %s decode tree size %c!9DM*/%|*/%+"/%*1%bb͐ ͐͐k`is#r!p|.͐"1%*1%#|%!0u"/%*1%bb͐ ͐͐k"/%|T!bb*/%++"/%*1%b!9!9DM`iw#w*+%#"+%|͐ ͐ ͐K"-%#|­!B!"+%͐))+!*-%|g}o)~#fo`is#r͐))+!*-%"-%|g}o)~#fo`is#r͐|y͐#`is#r͐|1!5͐`is#r͐B!9!9DM͐~#fo|l͐w#w͐~#fo|!͐͐`! ~#fo͐^#Vr+sn&!9DM͐͐͐K͐͐͐K!9DM͐n}(! n! ^#Vr+sn}%! ^#Vr+s!!9DM͐`is#r͐n}͐n& ͐ n&¾͐`is#r͐ ! s#r͐n}͐`i^#Vr+sn& ! ^#Vr+sn&ʻþ|! ^#Vr+sA!!9!P!/ [===%d-line limit exceeded===] [Use XMODEM for file transfer]!9DM! ! |!9DM͐!͐͠s#rzq!͐##w#w͐~#fo!9DM͐ڟ!͐~#fo !9DM͐|H s͐+++|!} s͐##^#Vr+s|\!͐͐~#fo``is#r!|/͐##^#Vr+ss͐##͐?+s#r͐͐s#r͐^#Vr+sn&s!9!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{ʘ`in}%i! ! s#r! 6#6! s! s! s͐n}- ! ^#Vr+s! 4͐n}0! 4͐n&!}9! C<!! s#r! ^#Vr+sn`is{.„! C! s#r! 4! ^#Vr+sn`is`in&!}DʰUXOCDSu:͐~#fo|! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ! 6! 6! ~#fo! n&! ^#Vr+s~#fo! ͡ѯgs#r! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s! n}ˆ! 6#6! ^#Vr+s~#fo! s#r͐n}͐|! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+sã͐6! ! s#r! n}K͐n}-K͐͐! ^#Vr+sn&!<!9~#fo#|K!Ø! n}§! ^#Vr+s!|ڧ͐͐! n}ʄ!0Ç! !!9~#fo#|¤!ØU͐n}͐͐! ^#Vr+sn&!!9~#fo#|!Øç! n}7! ^#Vr+s!|7͐͐! !%!9~#fo#|4!Øf͐͐`in&!W!9~#fo#|f!ØÕ͐͐`in&!!9~#fo#|•!Øë!9!9DM͐͐ ͐^#Vr+s͐͐0͐7s!&:͐ ͐͐ ͉͐͡`is͐ ͐͐ )͐͡`in&#&:!9!9DM`iw#w͐~#fon&!}ʐ͐ ?͐^#Vr+snѯg`is#rQ͐×!97,ү> 2c*K/:l2> :c):M==> :lw:co&552:7:K,>2:X*M:OL=/L:K)~2#5X*M!s#r!^#V7:K)V> z> z2:K,"e!"g*O|*g¥5*M*e!ѷ2:!Ö*gÖ*O+"O*M"M*g#"g*e! N#Fp+qx‹##6>2:Ð2:#   -  > _ <  :ioW 2i& !o z  . &7:KO*Mbk” {ozg7*K*M~#¬ *K7*M*K~# +w# *K!9~o&A[ o7*K*M!# !ɖg!9~o&a{_o!9~!0:,LTYPE80 Link statistics: Number of functions: 37 Code ends at: 0x2124 Externals begin at: 0x2125 Externals end at: 0x293A Warmboot supressed, Rst 6 not trapped From: Gary Novosielski Date: 83-03-20 To: Ken, Keith Subj: This .LBR Ok, let's try again. Here is what I hope is working version of LTYPE.COM with an 80-line limit to typing. As before, I've suppressed warm-boot on exit, and prevented the Kirkland debugger hack of the RST 6 vector. This one doesn't need patching to prevent use of the nn/ user area prefix, since library names containing / are bagged anyhow. Regards, Gary P.S. Ken, I'll have a compiled version of LCRC for you in a day or two. G.N. vrLUDEF1.DOCN    !"$#&%o'()+*,-.0/2143567;89:<=>?@BACDEHFGJLKIM]I+s&i8gVJ$OFI)rYڤ1J<ҹwJ4O$Ѣ]u (!%sNweWq)dew?W QBIG-AstWLK٥I(.n+Jw8Vk<%]Ncn]i^} JK %K]W<; Q\g7И%FzJ(/t@[w=l=o~\=>,7)Y1<6aѮ>t.kӎ؄EK>/XRi?|N{ܽGy0naYjP\-]kTҊSB:AJ+fbxBxyGba+o4„] }uońT@>w ӞCt&DɎ bLA$5ՊihCV-;xhP2J؄E& %u0MX;Ǜl=zɆwvo`!yR2 W0x~fMʢN^|Fq<6aR2f ^=M5u:A?pd'\!5Z1z6d@>[{_o Uϼo: Њi}:Ex7{zÓQ2+XUJ|vg؄E]ԽdDZ ԝ ~]gwqA'_^wMKRd?b'2|˞ydG OF,{8}|=zahwڣd!F˷vu@Wh~=z q] /%uvcxg v|];OYK=%JVaa]R]1c 5{|Z/dZ1T!Z1Ǹ58,BԠQ=Bx|;|O+Rx K %y{x£d vvk'2|<(\+q Ѻ(=ڝ,hQ A1~⺖V@IW1uz5Sp״+AJa/ܘ(؄Eڙ^e/: f=ٽt^_nnLW: vpYl+&J u b޲wԽ}gR +kC7,; WwVL;^A_өTQb4 Z׎lxgڻbZqkF1|+&J 5{|l7{YBV,ٍiCgAûbZqkF1g؄E=?E ߮΂XAbZ^߭cnWoV['Jvuk~kw+7{h¢F1wuR\g7q NSp*PMu,%ky|1.Պi/Š^t@f~! JV뮘Q ]qo4 ƴbS2 W)~|+ F1owVLck4v)~Kr;x? ԝ +<  i)ݲMO: J5}+ܘcܚ^E;3d흝 (=>+U;!B7˯`4 a]Kr?^wpYR̼ WS2 n8΂hw((Yqkzk-{^E;!{ܵbz3 <%ӫ@)bYiCgA[35ZY>/>^vſ,H kv&4{|\^%> oN7{-%Ǘ˫ħWю򙅽Vj=%0U%Fz'0tD]Rߊ:1c״;';*1KhŴ#|]?w*=%sJ|Ԗe_9Ύ{P2'\YewKk 7NuoY(=%stgaBK*ZJ8I:ɫėUq&u>_WR;vPLL 2h]Jܡ˫ħW~)d'!АwV vd!x+=8d~ץdN2R~BKaݔ߭;X~vdNvמnnL{kЯ(;: ݯQ*nw=%sr7eJONNw͵__RBɜOǺ:9IR`Ŵ֮΂+9_÷b&,\A.%sr:-g.a>k^vk{tdNWkz[ (o!dNvˢlFZ1KDɜ!y0.>|+}|=sJ_1-)z- x3ٗJ|:497y|AbگQ ߮΂_J+ٝiKkYKdNnbaZӖcnKɜa|݁ pފiF1{.J:>NQk nw˻S2'wuJ|J{b]EB|=в-{kNWOu]LJoŴ%]N nWѺVLWkҝ(rrynA1,LhzdNYhxbvW5,/%sr^>,4=fԯWw+}9Ó-Z1]iKwv9 j@,a>(;|Bx+yGyl¢dN Y% |6Z*ԽkYe%/%tu~߲]*U5mNNjDI\YewM[=.gC7JvvuÓB{Pt9v/ fov&_R1 o=V+X1{˵EICLRŗw\kJ7S.5o\NxWKIt ,4yYWL؄E#GI5 A_J(YK鳋(Ys~f]E1t ]Nt뺦:,؄Er bدlJ*Yߊj7{<u-eW%>P^Y9IhwA.dH %s>&੥<_7Ǧ4,]ǸM;Kɜ4Oe)J%1tOǦK>Vڏwx|K#IwL"%JA{tdNWkz[ (o!dNvˢlFZ1KDɜ!y0