'ABORTA COM oAUTHORIZMQC 0+CALLERS BASokCOMMAND MQC!CONSK A < 2CONSK AQ I 4CONSK MQCSEDATE O a͵DATE RELdچDAYTIM CQMg8EVAL10 RELrbFNET MAC£FNHALT MQC\FREE MAC:?FREESP MAC{\HELP MACxILPRT A +LOGIN DO ~LOGOFF BQS\LOGON CQ D5LOGOP A !LOGOP MAC)MAFDC A /MLOG DO 5?oMLOG MQC6OSSLAVE GENQOSSLAVE PQRVOREMUSR AQ d2RTDS DQCs8WRTDS110 SQPdRTDS13 NEWsRTDS14 NQW3ESECTION MQCeSYSTAT MQCUTIMECL RELTIMEDF4 RELTIMEDIF A $BHTIMEDIF REL ];TIMEPR MQC$D TWIX MQC3 UNLOG A ?UNLOG MACC˹USRCFG BQSGWHO A \'WHO GEN WHO MQCCHAT36 AQMH)&P&P${͂7 DCON Debugger$| }*|(=g.x( ~#bx( { ~#o}o0=.!5!~# ~: #~= #~(~#('08' 80))))o">*2,{(  ++Reloc Ignored++$vAUTHORIZ.MACJ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI}y~ͯ?i9iܾm$<`bB&[5jDw“M@7Z O¡2tS텳zCS`Vz,𬡱4k0vAqH^R mL[Q0kUz:n*kU 0Y4gCzR29t*\Q7C7*~&YkSU[n*kU%R?fV'M9|iX߂OXW)&" |,-mll$|n'9XUC p>RWoޝp}en1:cs70ޘжH%Rxz CLz_lBg\oӬft\DXW 86jpz_MƱeTCk|ƱArqS ATZƱAj lHX+lOjraIvUon{ZA5VۢW_LͻѸd^aP>,BeaP uY0yZC p>RT1zyΤTYn6WH%9g/,? #HEݪ1clA5zU[DhrpR1clA5lWYvpR0'X4gCzR2pxƦi6JY͍m6f0%ºҐTƱeLgaP =(cSY0/86H.0lі^Tc_YGhT- m/0FzaPZ>Y!]F5EC p>RT1Ӝ I<=}e?1p-cS AxN 8K)HE9ِ̗׻ o!\Y"4~HAG*Jls@+< `C@7Za׭p}n*' M?ڮ~9 qM'%s1Va]iH* 2n!Y"?!͝ ufile$="USER"+CHR$(ASC("S")+128)+".SYS" open ufile$ recl 128 as 1 for i%=1 to 250 read #1, i%; ufn$,uln$,uct$,uac$,udt$,utm$,upw$,udl$ if udt$=date$ then print ufn$;" ";uln$;" at ";utm$ next i% end  "PvCOMMAND.MACZ  !"#$%&'()*+,-./0123456789:;o<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY;{xzu:wvqdJn;ඥOoCnV=4Veum|O> RVIx6ջһ4x7q*w[W:Cj3W{ix5J;1L`o0ifJT7x3L3O|lT E &[*tmt5E&)6&i"Z"Z6 E 4J"]2HA>X E |if)ĴX9tNq5}P b0&L]ؤ"%X&hA2A,|1A,&32A,q70Aތ"8>229Z:&( bkp1LMItKG`>0\6Z ֛0`J$Kw.NL dKkBb2#b0o& DlL}-bqL"2!XAL`Vvˈ` " DЅ*"eB "вILn &_fh$&E0;`е)H{L i|擓Lo&0A,V*mf&#tL&E0kfBL8>5ĄˈF~_kaXIUALh Lp0Ȇ 9@U\vk?XL0E_S%0i)eBL `tx}Ŭ.b bJ7k&ĬTƯ ]4 b袱L k73z Lhj54@L/` bf "HT&;`NM-;ɵM_ ehW%<4 b1 DlLA.}+m\*Nbm<z3qf][5MHmi 7\*!m0/3P|rk6G&7cL ɖX=6M`Xyg>9g D0R amzqJΆ+ P0A0A,VvXkileX4Ҹk0A,&3 q`$[*bMfI%bRifX^ b1I5:1A,V] baz jvonA- b*fBLL+aXJ5:}߽Y3m seXJ5:}߽^3A;1"&hL젦0L\AL bj5Cv ' yf-.D!V&FmAZĄL ꐘAZĄL 2A, ' ^AZĄL 덊mAZĄL 41A, ' }(L -nbB &F DeML>hz1A, ' x&hE71!zEL -nbB &FehYtO80A,7Zm "в&&Dp`XXotS#4@ˢ} ba 4@ˢpq0 b1Y_3A4J "(=4)2A6 vBv͝"45%lF#p١S'i-A]lFz#=q/"mۜ9-Ehlu!zV$ޭj Ѻwߤ}l4LO??l4限ϟ>ݺӯ5yWl4限?]U ܥZu6LȷO+F'N71&}XgHτ[>D\_[l4限?ܿs_Wih[ZÙ_gHτ|{}NbOmTu6 ֝{e5ĕ&F$l4限'Wέt͙wkjKF ;}Mk-bU-:Fz&w'*=[Dw-bqF#=?s+Bs]j}[5NYi\>8tF#=OW_nU5[8BaF#=_nOsJtѫoy׷h4限NМzWylpۓݫFHτ|bYtաƉKlH&F$څ7.Zg^L6L^BWu]x|xXX}\h7қ j 11Lf ĬTƯAgh DA]l;!~殛gAZbF#p١mҤvnS 1&c`B DMjЕg&Kb&kL3.;h$ 3)Ilϫ.L_0&_^t/3Fs{0&?^;2Fs'۟Ws y463a47M^N_f&hs ~`Զq|{}Nf&!-?]̤:KOWs\fҾo_O\LZ.'W.3v|{}N_f&MO%ûw23EY"̤:MKOef_"?pNf&]"oo2קɯ̤%wefMKۋ/8b||9fbv ;auZV|fJ5:-a+^`Ojv ;!o?l]m.nhF3ьf4hF3Ɇ.o12 .a'LYN%섑Im-F&,a'Lhbcdxj  XPDh,~`B13ᲃMb`?cR? ! #TITLE "TURBODOS OPERATING SYSTEM NULL CONSOLE DRIVER" #SUBTTL "COPYRIGHT 1984, SOFTWARE 2000, INC." #PAGE 132,66 ; ; COPYRIGHT 1984, SOFTWARE 2000, INC. ; ; VERSION: 01/03/84 ; MODULE "CONSK" ;MODULE NAME ; #INCLUDE "DREQUATE" ;DRIVER SYMBOLIC EQUIVALENCES ; LOC Data# ;LOCATE IN DATA SEGMENT ; CONBR:: BYTE 0x8E ;CONSOLE BAUD RATE CODE (9600 BAUD) FFCHR:: BYTE AFF ;FORM FEED CHARACTER INITC: BYTE 0 ;INITIALIZATION COMPLETE FLAG ; LOC Code# ;LOCATE IN CODE SEGMENT ; CONDR_::MOV AL,INITC ;GET INIT COMPLETE FLAG TEST AL,AL ;INITIALIZATION COMPLETE FLAG SET? JNZ __CDRV ;IF SO, CONTINUE CALL __INIT ;ELSE, INITIALIZE CONSOLE CHANNEL __CDRV: CALL NOTECK# MOV AL,DL ;GET FUNCTION NUMBER SUB AL,=8 ;FUNCTION NUMBER=8? JZ CONSO ;IF SO, ERROR SHIFT OUT DEC AL ;FUNCTION NUMBER=9? JZ CONSI ;IF SO, ERROR SHIFT IN JMP SERIAL# ;ELSE, CONTINUE ; __INIT: MOV INITC,=0xFF ;SET INIT COMPLETE FLAG PUSH DX ;SAVE FUNCTION NUMBER PUSH CX ;SAVE CHANNEL NUMBER/CHARACTER MOV CL,CONBR ;GET CONSOLE BAUD RATE CODE MOV DL,=3 ;SET FUNCTION NUMBER=3 CALL SERIAL# ;SET CHANNEL BUAD RATE MOV AL,FFCHR ;GET FORM FEED CHARACTER TEST AL,AL ;FORM FEED CHARACTER=0? JZ __NITX ;IF SO, CONTINUE POP CX ;ELSE, RESTORE CHANNEL NUMBER PUSH CX ;SAVE CHANNEL NUMBER MOV CL,AL ;FORM FEED CHARACTER TO C-REG MOV DL,=2 ;SET FUNCTION NUMBER=2 CALL SERIAL# ;OUTPUT FORM FEED __NITX: POP CX ;RESTORE CHANNEL NUMBER/CHARACTER POP DX ;RESTORE FUNCTION NUMBER RET ;DONE ; CONSO: CONSI: CALL DMS# ;POSITION TO NEXT LINE BYTE ACR,ALF,0 RET ;DONE ; END  FLAG SET? JNZ __CDRV ;IF SO, CONTINUE CALL __INIT ;ELSEvCONSK.A:  !"#$%&'()*+,-./0123456789x(=:k%!q>S}qLjK[HG)ymC~ r,l?K΀_ޖKn%72ݟ7ϯ/:䗐.BVrRu+]>?._>^JIMmҹG J9[3ڜDiZ5ؠJƨzՂ9$P,%MyM+Oxr>S d:Bk%a[^q}0i0m!H%;'`sv9+GùV2F5-r&y[ɦ<:!..F BAF Q C LAF g %+?ds: 8w(-Ĉ 6rvȔF 3ĒO'qE 1"t+'=0e 4:2qVH%c+_&Lܧd|}FSU]RDu!]J C6:2qVH%3rul>B&!uڱBo VXȔŹCɭ劓bD N{1Kƽ l5@+iT2nhj8l B-`d@)AȔF5R JIrl}Z!ݿb Ca d[`Hk3 P2Nz`%vi0m!H%@ q 4ɶ d|}Ӊ] 8w(wAP*l B*^7l5@f}Z!hq 4ɶ $%+d9.7lFgW& V2Z+$M]hhh%Np]wl h-0C$ ö ql hM\O+1 YJn%rkɦ\by7lVW&QbxP2O,-!R2&6+CɭdKF g %+?ds: 8w(-Ĉ 6ivMyvDCONSK.MACN  !"#$%&'o()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM7ʮu;-ן<ǽW)aЉ=Y%al:Y abޘ`5.><ϕtJ:%dSpʔt0 4 '1j\|*Յ*%4:ּ'S K#` .r7^F/Mih8 hFKdG,q%|C$}Ś+5P(锄~u3/xF/D8/)MhV) }7gM~  M~BZ'tJBA BzqAךX(|| =|>RK%>JN!0>^t}N$J:%!nn>y#sаt]kƂ5P)MϛS;dнlF 4l] 2pyZaa4#WpyZ`6#¿' ;U&1AUx7WK^$Nl[ڰ k~иO!~lF ,+hF5Y|_lu;$0<3%\j RVcvؾX-1AU-am%[|+%c6ДXA0\NILgRA-B[°̔zMVI<-ag\kJBBo6#RK%>(4fᝒе0[fpX f^ŷx$dŰW، ^bm%RIHKuY}$AI8WAIHK+ i oSxT)M}?o.`38Tm 3SB5ُap.R!%,+hF5Y%a;ltJBA0a<[}Fo+̦tZ8tqMJ a|201H_U|}( Vа' ωa JIV]17،Y?<<6d>ͅNa))锄SւaQ(1?Ua4#Wx`38,+hF5Y|wo[x/&fphJ,tDV[\ J(锄v`،ˊ0zMWJ·3ϱ k|:yphJd-" X5>Օ0LJ:%_'V]xlFg]a4S`2LJ.js:A=|uw.1yc<1yc$lNl UA{8YF(42 ڜN!o1_]yc<1yc+ aSK%fSpʔW Y ،Kmk,v ȢИowJBoaA4 b袱L k73z LDATECodeDCFLDDataDCVRT` N uJs t `  qu`Ȼ` E` `` Crڈ` uJJӊ؈‰` ɈS` [ػ` Q< r, 00KYÈ$8 rpr;%r3~D+ډK xsà! ts72gFË"ڋD D"U`dD5e%I@TZ"`bs6Ro ZT|eQ0(6*R>q@C$Ud6 {Ed!1jVLaUl4/VL xrd Z' 1@)^#1s`+;Y'3pp.' q8\N:Ք#1==B:Sce=9:RQP㧠51==B:SQӑc 9i:Tc MQ2:Q L#@ -1B;UPc  ;&SQc- 1pvkDAYTIM.CSMT  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMoNOPQRSh1Zz Q`-ߒ_K;|')eaDZ30lhkЕ"iГy:حdc2Zoo!s" t%LΏOGzl-Hv#et1Jࣰ#kZN LKp`-Rm64 9-F 1sǏ_Doic"bs> >S iLycMt%]yH%|QYqGy[>-F ?D^ZϗF n?~٘h𻁝тM':_V:O+٘V٩nVn`g9 0/-'1ыieF|cZŇ0``3X741G‰ -]gy=Dz*;FQW?4j-w7ooޝ_?x>/}vmiCOg:-Fc[v‰$--2Mz߮hCB[[G+Lr :ۅeq>2H>noOO׬h!2H2wl-mh>w7oo-pv|<<>-nn< .z}!ԔɒƔЧO-5+gz}6f9(F I c!.S;/g7,1 ML>ҋ_4\r6Zn`ߘljd`ǔ0D L|>H|c H(gh绛BM,eq>@20eۘ3 LS8 h<&d`(,d#񖣜~Dr,+=|41-VNte 9s"G0L6&j>™lL$}lc]ZibꕭDW^?hvGOwgY 숣 Žzb}D6w-e L?Zѕ&;1nJ/>r:-@w7ooѕbLo^eQ=FB?bݐ LwY:ۅ] LYL1.tΙ٘/9-G 3;r6Lbʣc@_)s1eZy1ZϔY UL;J*#|>CMnw4zHgH6!e> I=Ĕ)uBoKVX&cG6Fi@v(1HFQ`QԓGZ?E ({)D8oKÌd֊#Pv,4h(փ=Pg )8hvgyIb#_N(\2(h ΅+ZM@iDF< Ejuk'n&$Ì,1LX^q4nkEb@20eۘBKp|b$CMnw4zHQ$|3eNU^49HFmرL>eBm-jiѺQc5 '^E (Q8D8oQaF2nkŎe(;|nc>:0PB1Mpu>>~A(2p|l>:$gɦDSp.\q#͗S;ж%S WT#Ǚ(8!%8(cG K?_(s(Rw`ds(lJL-$7/yQԡ&X6zH/H6!%KpL\9Qq􊫝}(0#E"Kph1Z蝏J;] 0|6Z5(C], "KVX&c nFi@v˔:!.Eju@2qL/Zc|ʎ& P BSp.\g_/,Gʗ~>FC|暙lJ4'i8 (y.Fq;4f @Sp.\M/~kf)ы_4er^P`(|U\=;mؔЍ"u(E [LJ[&ᘍG! 4F/(Z® (;l6z(6&qlq)aMd`(b }t=<=QLLVJ~%͎3F ٘hkO^6gh-la >E=.FQ(zFQx`-la 3}2nkE<fQn>0eB=-ڌ ҍ/F P࣐:3E [صE_~J_'p(|G(q%8ۅ{RgQ|)8&(^27<.@i͍QE[Q~`ma׋Qؔ0E [c1Zߞx͏gXj<QG_/Z1-Fa(Xdm2zֺ,(NfLFXuYiOw?F6&\/ֽQ<<}b~{~d7bLFQOiOV(sQؑJV43q5zHk2 ʎi\vFQp0P>XQt[+R$j70H 4. ;VnH|c7i\vFQOÚLゲcdiQ59̘±-F c"]<'+CܲLҧgh1Z;|v^{7o|zdS,.l8)$der,dSrQԓGZ7(͙qYؑZXZjiIF1P"ٔLhFQ& P (FqQt[+ (=-;! fQG[/(-l|$Ky<`J[9(쌢5aB(;j!@ql;h[aKƩ2U;"4{4̴7H6Vsдkha ^Q$"لd j(*MqFlB29H@qÖGag1@w2PX-E4i?{(-lZ2(qg>9(h$Pm=zA@ia#Yʳl>0EM [ m:V$Pz[vB(qVo3N@I!Qv?c]?_/Qvhſ^' F&a/Ӏv逶h]N(qQ8%Fbл1v!EʳvA=-;diꉆ0Rq+٘(s1e@onFєgzVm oLӸ,쌢<:eXhpQdOH@ٱFPlࣰؙ3nkS(=-;!.{om֋P|,C (|(| ;VL=QCܲj>™${h[^.cf'C (|rkzi-F'y1o@lfڰuJV& 7zuo/&x>K$deeaGsQѫ%8Vؽ4f8Blfڰu#MFBH20ڰuX'> M6-I㎒dZ\hFG}tPF]',,}>:Qh@BKpTδa댢:L@6E> 6gVqJ z 63ZFq7P QL>R]ڸ8]|QlmQ:hlL-DHTࣰ3 (;JvG꣋B-D-x@ٱlgdh[Z)1P8]⾣-a (|B5%1,B-D(|t2m& $B(0#ű8[ $S9(P$"Z2}Ѣ uzFѶ10cW@镭,_E (?QزCb>:L@i(8V-Zc!ؑU/ÌJ|ds1q4. ;(Zآ (Ye [g>0E [u< e iQx`-lؑϔQ8hQ|!FIqgPbZ\h4T1Qf]6ZqJ|@ [ص6´x(8[6x!6,/-j-:e4m"OP^u܆zdQŰZKd`ֹ -"8 [6+e HCQ8y΢% L_hvG!PeoY:8KpL20u(bة2Z2dZ# c%-~F&S= M>(6m O /( OF&\z}\@iֽQ ^z_(c}-Fb& ŷ^z_qޯz^e Oֽݭyq.ab4Y4HoJ4h1*Mr@p~Q7i\vF͆; enZ22F7nHG}F0|@8m>RhHGhi\v4ۜ9)|Fѐqq_FQ<<}Qxx~k~if$8Vڰu#%Ì(6V+EzUS `dUd @Ԝaj?M*HrbHdRpPe8W ɎdUd ;fnet - return elapsed time ; .z80 ; extrn timdif public sttime,entime,elaptm ; fnet:: pop hl ex (sp),hl ld a,h or l ret z inc hl inc hl ld de,targ ld bc,16 ldir call timdif ld c,9 ld de,elaptm jp 5 ; targ: sttime: db '00:00:00' entime: db '00:00:00' elaptm: db '00:00:00',0dh,0ah,'$' end " then goto try.agn goto exit barf: print : pvFNHALT.MACJ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIo=NPd:߽tco~8_ϯԘ Ԙ{;05/7 Li,KZW&"gˡxqV RA3A16z?{\G&B-L^IkQp|9?*+DaāELE0M{ -ƒeZD&‡̄Apۡ\daޖk% DÛ@ӮK.ꔖb.bִg(,LcB"HZ{&t} 2\>w{0%:޿t>ΜR\Z.sc.>9_({$L%e淏މ0ajLc(󜙮eه K&v(:a(y@-9Y߻TyQ3&B-_g&" hK.N]g%\ ыD;0Y`}Q˲g/13A< ˲gR"mKI.U0A>왰,LE1 ؝ !mpdL| -sZ_On{w13/dX! vYLn,LXJQ@2>uK98+ʄp:/Z !2!x>f&v(ס!SBˊgEmq<pۡ\Qd`(@d/ KֹE ϙ ֞15_nμtRS4+Dtd(rx~L^IkQd 3D|{&BgBg15:?8.9]35ӰLE g&B-t A3uʊScj}$s}rp~Ru}i,ŘXӺ2a0>` !3v&tpQXxϏWvͫy~bB" vbB" vYLXJD&x3D3AvYLRb 5&,%" DaaeτE0L)2aԘQL uZ&Q3о=XΊ:?؞ ы`Rd(,~8Lb}d)ƄE0L)2AN>?^k޼'aJq0Y |b(4֞ C %0usvq415 SwXW&"7OL ы iP;x&tpQDafB"HZ{&0uU1%ү+D53&,LE3:KL%I]瓹X՘X6?2A193Af]K1aB"HZ{&QHLE3:KLR\G4m2Aj!n[sY!g&D/gB'L)n[B7pϗoOafjLRuSoy4Ia]  7 ջwn޿:2cŻWboq/q?_{܅|B_TԻ]һ=D}L]KVz&b7}LZp!Ԙ&iJ+ti>1M pzvbn8ݭ'&XQea/13A<Daae$+PcR"0AvO'zNܑx#"xo~ 3FV#A.z7_9z'7dV;FREE.MAC - CALCULATE FREE SPACE ON A: THRU D: ; cr equ 0dh lf equ 0ah ; .request syslib extrn crlf,print,cout ; .z80 ; start: ld sp,stack call print cr,lf,lf 'Free space display:',cr,lf 'DRIVE k free k used',cr,lf '-----------------------',cr,lf,0 ld a,0 ld (drive),a loop: ld a,(drive) inc a ld (drive),a cp 16 jp z,done dec a push af ld c,21 ld e,a ld d,0ffh call 50h pop af inc l jr nz,loop ld e,a ld c,19 call 50h and 0fh push af call cvhlk pop af push hl ex de,hl call cvhlk ld a,(drive) add a,40h call cout call print ': ',0 ld a,3 call phldc## call print db ' ',0 ex de,hl pop hl or a sbc hl,de ld a,3 call phldc## call crlf jr loop ; done: call print cr,lf,lf,0 rst 0 ; cvhlk: dec a dec a ..ca: dec a ret z add hl,hl jr ..ca ; drive: db 0 ds 80 stack equ $ end esult ld de,(detmp) push iy ;get IY into BC pop bc etmp) push iy ;get IY into BC pop bc push h;FREESP - return free space on current disk ; ; updated: 09/18/84 (fixed bug that kept it from working with ; anything but 2k allocation block size) ; ; entry: none ; return: hl= k free ; cr equ 0dh lf equ 0ah ; galv equ 27 gdpb equ 31 ; extrn bdos,print,phldc public freesp ; freesp: mvi c,25 call bdos mvi c,19 mov e,a call 50h ani 0fh xchg done: dcr a dcr a ;1=1k, 2=2k, 3=4k, 4=8k, 5=16k dlp: dcr a jz dxit dad h jmp dlp ; dxit: call print db cr,lf db 'Free upload space :',0 call phldc call print db 'k',cr,lf,0 ret end G^#V# 8 |Ƚ{0g͈*;help ; cr equ 0dh lf equ 0ah ; .request syslib extrn fi0$open,f0$get extrn cin,cout,condin,print,crlf ; start: lxi sp,stack lxi d,fcb call fi0$open jnz error lxi h,row mvi m,23 loop: call f0$get jnz done cpi 1ah jz done call cout cpi lf cz nextln call condin cnz check jmp loop ; nextln: dcr m rnz mvi m,23 call print cr 'Hit any key to continue',0 call cin call crlf ; check: cpi 'S'-40h jz ctls cpi 'C'-40h rnz done: call crlf rst 0 ; ctls: call cin jmp check ; error: call print cr,lf,lf 'yell for help on CBBS - missing help files!',cr,lf,lf,0 rst 0 ; row: db 23 fcb: db 0,'HELP HLP',0,0,0,0 ds 80 stack equ $ end \#̀\X:͓X:Y:͓XỲ\> #WGSͫX üX:X:; INLINE PRINT ROUTINE ; MODULE "ILPRT" ; LOC Code# ; ILPRT:: PUSH BX MOV BP,SP MOV BX,2[BP] PUSH BP CALL __L0A POP BP MOV 2[BP],BX POP BX RET ; __L0A: PUSHF PUSH AX __L0C: CS MOV AL,[BX] INC BX TEST AL,AL JZ __L19 CALL __L49 JMPS __L0C ; __L19: POP AX POPF RET ; __L49: PUSH AX PUSH BX PUSH CX PUSH DX AND AL,=0X7F MOV DL,AL MOV CL,=2 INT 224 POP DX POP CX POP BX POP AX RET cb80 login[n] lk80 login,fnhalt set login.com;g delete login.rel login.sym ; :\ if ucn>1 then print "s." else print "vkLOGOFF.BASQ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPJmiL&mI%^_xy>Xɻ(XQExA;![ 5ƚ**#h'Z(AC<֚Xh$E!qwXQEeigNHB#)*XS;k C=*Co5U]#yyߺ.OS9]^=U.fk騢i罧*y|,K9.cYQݸbH'US!qWŚЫcA5#ʪI\Ky&XU턔BPj1lǐ/77'kchM% h'xkck*qg5UTȴ3h'xkc4bM%&p彺q+y*ETyHٚkޗ/ϯrXRO ?4^3 .&(5n7+TkyI^K͐ O& O< m3dK5!^ )XP>?*UAYyΫԶ wOք0$ɓ5((we^o}yW [⟬ Wǂ:/Ʊpss:eɚzu,X04ޣpu& OU4&R.9@$^ c95\5ZЫc^5WǂDLk\ T" As&XPwm$2s&XPʧ"UoM:RkBTQV*p PVW?@ABCDoEFGHIJKLMNOPQRSTUVWXYZ[\]^_`C=N.v %Fg8e87ffKk2Y1Ϛ: U35~;ٗ/SDZ'{ܠw8eOX.-Һ`섟{5ts~Poo0kì,uS'Gӳd7Aənt;ٗ/SDZ''ǬҌhl21nJ%oo('t Sst=Mg6Olzx4a%ooưK|ޜ uheZ( x}7 ]8^HcZ6$FWJ;̛cfJ+fq6}X,J7heZMwj:l:&3!J[̳uX}+%gk|/_q63s]"qWk9RU`;$ NܐM.df皚IIRg`kBənt_q??Xzܠl6}&cRr1ξ|KOo%lo4条FjtwTǦw Ϛqdouf-,f*.KuQRZXL$k4f-6ZdŦ3VcZ7)BtsU5H3VcZ<(dVj_1V6$|bPRⲄBtUAїXd̗(TGLe 誂k]'`1_v̔ouѓJheZsϤcF_bZ(duQRZ@]iFjk!!Y Ԇzq6}X,J*ckf jCd2ΦBI%{lj;ĸ8LaX7(`(PR/uwyVyKsZ0vՂx̔9#uO+wX3>,;%)y:ΦBI%%ɛoK}=UڛK x??l[%%nޙJ[GI7 51Vc5&4@?( Ce)1#m5֬~PoVcZgKY pǬ,Ҡ7O%#uH[5k7AIz!dMX$AIo\duNf-oo5Q}R!苤$L*h9NvgwII%OY5kz4IIx$x>g7QIkQfCLJȋt2#mˌtLJ^kSz$FIzs*tn:&%tZI7BER; Vj"ҚҶTt1* FICi͔Qr$Qn7C{l9ݵ1) ߷SIIx$׍kxzs^7kyRyy%%; WL** I3ecRÀIUͩl;⩍?0ޜLE</WQIwx.7U/4f+jm95ULJ@WTLǤ$p!!*m'6ݼ3Ǹ֛&cjyLJ@WTLcRސ TL¶g[t[t2#$U&wޜ6SmˌtLJwUTn3 ɘnnn^fcRtZI$.4ݼHzsdLM7IIj"֕1) _Y v $0qILl*[ޜMl =>C?( yf\`?l*[ޜZPL01g &~+nm9-.˘>~8~P̸@U$֓ζ+nm9m2CAI`3UX-m֛S'*&z:[C?( yf\`rwbUOax]L08YNAI`3UXOmWek?՛ӆ`qAI`3UXO{ۮ~7 SbrwJs*zܽvUS9m*}y =N~P̸@U$֓mWek?՛ӆbr<3.PU0dͶiTobrq?( yf\`rͶiTw1dvJT g1) ZIx$M0h2% & =41fh%e'JLBS- '%m&7I7J7IIȷ|Wo.)wqq4&&ڏGǛ1.29,2No3gd?7<3t֦NI(;%ፒ]ML"!-K,2No0fO[9&%NI7J@9>) 0жo1) /z]ML"!-"cD</1) PvJQrIIIV췘x[h W}>.u$II`!ULJ^kSz$w\L"`l&&♸lyڗE>&%5^n}1&Ǥk%AILe0E剱.:|A^3fڐAI&Q?j:c1_vH[mP{b%( $L7EMo.)$JW?鸘'1) Oz7|I$QI)cDy1) fOJx$BZo췘>.u$7EM1)yM青abyUol9-.x$t51ۋ?k>&%@hIJV @U$lg+Io?ۻۘjbIؓJkjYhbRCkjYho\4.cRDh_-]\f<W_:>&%a=`Wfuk%Aki6ƝF_֬E*m]Ɉ_S|?t'܍gS%DY 07_/>|#>O}0~P2fzU:?y:Lp1N AIo\`q_o&#@?(FIf-29) :$L@d~;9'_o3E|Y绤w0Xy\* 6@*N绤6wJ* y' h2hz6>( \o &a۫dqqWW5YcRD`>&%! `ʨf<\ӝ #m5ҘwBژ0\լSF5G%Zh2c%)S;xޜNg胒$.Mkb׺a$FI.7UhH j+>NoƧ,&%D`sLJx$Bڢrm7gdw+&%`h\Ǥ$@.1) \`aFU-:M똔;!tNx;*DLJ˭ot;!tN1)yM青hz6>( L"/B1_߿|[׺a$WeIkmJK]CLJ* y`v:.7?cRސ TLb[kJ0<~Pސ TLb4mW*ohgObǧߎ.7UX?v/[^7C_&JrIxj_VZPL01\`맏le =>}p $p!!*z2vŭmy '1\`믳mWڢrAIBxC.PU0d;lILC.7UXOmW'/ekObz,w~Pސ TLb=Ym:y)[{d?% @U$֓Ŷ'1 =N~Pސ TLb=Y>vuR$&r.7UXOl:y)[{d.7UXOo]= `q};%RIp骰q1{%t\i7"Mfq6}X,mLJY)t\iO,骰<3. .ٸ8UOMڔ) 3I WޜVٹRU0T\'*@U$t\Lo~Ƥ$p!!*mGl\lm9sŤ$̄'-t\iORU0&?K% -t\i7֦NIțupeLJ+]q6}X,1&%aq6N.>ٯϳxqgeij_#>y:ΰ|W5k\iMVi[zsZe禋IIja0͞ǘ|6wJuQRZں2*$GZ@_'%!peR:Q  &abz3&% @U$֏KۮT1AIBxC.PU0o]qki͔QLCOC?( \o &~2j_n\3 `AIBxC.PU0O]B `c% @U$O?vŭ7eJrI'mWzsdLM7 `q2C?( \o &:[vŭ7NtULC_gc% @U$֓Ķax]L08YNAIBxC.PU0dvuRޜ6LCnJrI'ݽmW'/ekiT`q\`rbKzs0U<.&z,w/$p!!*z}lm9m*.&z,wAIBxC.PU0dͶaxw1d.7UXOo]7 SCq?( 3I Wzs*tn:TL"&%_+9J6ݼf-B';Mpq43a:.7?R<҆*;i뽥`v:Q  &Np\`l+n-qIIBxC.PU0uN{T1) C7L(tżљ@j|55v7] AIUNQI׉J&%)Sc\xzs*tn$p!!*m՘ y4Zlm~3IIjbIؗ&GӳQIWB09}1lv1Jx+cx88]̢;-Dh1a.tF'GӳdƤ$NTB灪I鸘IIoJ}ͩlmxuq6E%̸PoNMe[LViۘ1) a$QI]p&7II1Y'IIx$p!!*mWlWlWww[LViۘҶeF.ט΃+[ &7ʘ֦NJ SZ08h2gf2#ƿ|$xC+m甔| :;ӛJ+]dMEiƛ9NYi0D%A:'VcR̸ tn8̎qUS\`]fjCǸ*[[e9Ť$t51@U$>&%A:szo>&%; }:_G:_/QI.7Uq7+FV|:_:BݰV @U$lbD\qkέ>&%; }:_O>''eTI &a1) <}BxQIx$Y)t\izo>&%ސ TL¶+F]ݬWZV|oV _cRI &a1) ] ~Ǩ$xLhmJw(_J< Fc9Wڽ-Ǥ$hCZT<+mmٞ͞ǘx$@.?$; LOGOP - log in the sysop ; this should be a coldstart file for the slave the sysop ; uses as his local console IF it is to be autologged. ; ; LOC Code# ; ; put info away (store login time in DRI format and acl) ; entered with HL=access level ; LOGOP: MOV SP,&STACK MOV DX,&0X80 ;SET DMA ADDRESS TO 80H MOV CL,=26 INT 224 MOV DX,&0X82 MOV CL,=105 ;GET CURRENT TIME INT 224 MOV 0X86,AL MOV AL,=9 ;SYSOP GETS ACL=9 MOV 0X80,AL MOV AL,=0X77 ;FLAG BYTE MOV 0X81,AL MOV CX,=16 ;SIZE OF NAME FIELD MOV DX,=0X90 ;DEST MOV BX,&SNAME ;ORIG CLD ;MOVE MOV SI,BX MOV DI,DX PUSH ES PUSH DS POP ES REP MOVS BYTE POP ES MOV BX,SI MOV DX,DI XOR AL,AL MOV 0X100-65,AL ;RESET TWIX FLAG MOV CX,=41 ;EXECUTE SAVE PARAMETER CALL MOV BH,=0X90 INT 223 MOV CL,=0 INT 224 ; RES 80 STACK == . ; LOC Data# SNAME: BYTE "SYSOP",0,0,0,0,0,0,0,0,0,0,0 END t:<t3V..DV^@t+Ƌ* _t¿ ȫ ȫþ; LOGOP - log in the sysop ; this should be a coldstart file for the slave the sysop ; uses as his local console IF it is to be autologged. ; .z80 ; tdos equ 50h ; cseg ; ; put info away (store login time in DRI format and acl) ; entered with HL=access level ; logop: ld sp,stack ld de,80h ;set DMA address to 80H ld c,26 call 5 ld de,82h ld c,105 ;get current time call 5 ld (86h),a ld a,9 ;sysop gets ACL=9 ld (80h),a ld a,77h ;flag byte ld (81h),a ld bc,16 ;size of name field ld de,90h ;dest ld hl,sname ;orig ldir ;move xor a ld (100h-65),a ;reset twix flag ld bc,41 ;execute save parameter call ld h,90h call tdos rst 0 ; sname: 'SYSOP',0,0,0,0,0,0,0,0,0,0,0 ds 80 stack equ $ end =; MAFDC - CONVERT BYTE IN AL TO ASCII DECIMAL AND ; STORE IT AT [DX]. SUPPRESS LEADING ZEROES. ; MODULE "MAFDC" ; LOC Code# ; MAFDC:: PUSH AX PUSH CX PUSH BX XCHG DX,BX MOV DH,=1 MOV CH,=0X64 CALL A011A MOV CH,=10 CALL A011A ADD AL,='0' CALL A0138 XCHG DX,BX POP BX POP CX POP AX SAHF RET ; A011A: MOV CL,=0 A011C: SUB AL,CH JNC __X JMP A0124 __X: INC CL JMP A011C ; A0124: ADD AL,CH MOV DL,AL MOV AL,CL OR AL,AL JZ __X JMP A012E __X: OR AL,DH MOV AL,DL JZ A012E RET A012E: MOV DH,=0 MOV AL,CL ADD AL,='0' CALL A0138 MOV AL,DL RET ; A0138: MOV [BX],AL INC BX RET END m80 =mlog link mlog,timedif delete mlog.sym mlog.rel copy mlog.com 31a:warmstrt.aut;ne ll revon ;reverse video on ld vX3MLOG.MACT  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSo}xˋo`p7wCSs!YCۈ4]ؘ/œ17k )+kr~V3I_^ s]a|5nW>W/ ! 'M]ZHiJh+Iicßp5Wu>A_63I }) :@i ]V՘z&?} ~Υ&& }C|}[&׮C_L\4r>kkJ)L rAS0m>kk ӐO}C~' ) .ޭIðNZ3Ae`z媃 anbꙠ.+r}p`\1uŅ}p`̭y&KYOͨ RA'/͠L t Rou R =晠.$-SτqvZ\kTɣۙ.ne^\~?fs ŋL=zߘA3 .'A  |`|FiQZ&؄_U oDL 緿z/w ?}||% b\\}i b0sݮ9|Iuu2gs2g$=5蓞4 Ni1v5&,qp > i[Oz4h8uMhږ >(  up5a75) bbe = S|1HLY]g7A D'Og&# ] b,ϙGԶpLF$d&.3Ġ13g |3g7; FL=Ӡ7qf„qf2A >z1XLY]gM>lL,Uic&!Ǚ M0P. c3b&$uL=o|oY)&eh|ve17ٙzm𦝙G,_us~f1\Ҹ bvw!ϙGanw]չ]\[2A YE&,qp b0*лèU|kh;Q&,wN 8 ;ܬaZEue`"p b| \4 b]AS bX)RwҐ\ք18\Hs1x1F0gv- ipL=M6؄_3F >`L]qL >Ei`&C apnkɓhpM"54}FiceuL8una)u1 ue,V&,׮3!UpL(qqLC\ y΄&!3p1xLY]gr|&yps& 20 p6͈Y06#L1L6A`gaLw;Đ1<hq鰅Y۠ L~^no3snC3|h ma> ]0er&,3A 9.1<3}3a1810z)OMr|`|2&7|JBiՂkB7|7ѧ(mLHzAd`Ϲ0A >zÄ׮3L}Hz4h8uMh SϔԔ b0&Ni3!IӠԙ6i[)i b0ԴLδ cqķL=S?3 _}1XL %HsEڵx&aX 0A 9Lh DŽrg&W1A +ĠL8pZS3jaBRr ֔Ņ&CS)5i`r >OpL(bL#yf12X >7c"M0pal ?bL8&\Fw1X~X>]י DŽc1&L8&c+LY+L8& Sc mW42LA/]z5g<}ML=SZHipy~ߕSbm;Řz&' 6[j S^M﵆)0՘`uaʫ1&Զk2LԔ 6M\O S:5p&.ק&ql՛dLl՛맅6؄$1I\ɯl wԺպq>Eicer.dML=Ӭ"|^n 6auu5_~~aRɣ7؄֭֭֏K)J+SFɇv*3yjl݅.ipuMXjjjDQXz{OlB˯x]Xrpu4iMqoۅ 6 6Ce\7З+z&h1?!Ǚ M0P.1 6auu5_~~aRɣ7؄֭֭֏K)J+SFɇv*3yjl݅.ipuMXjjjDQXz{OlB˯x]Xrpu4iMqoۅ 6 6Ce\7З+z&h1?!Ǚ M0P.1;&be4^י ]gUD]W:3vg]}jF-LHI5P' ; sample OSSLAVE.GEN file for SENECA RTDS on ICM's CPS-B6A ; STDSLAVE ; Standard Networking Slave timedsp ; time display package (TIMEPR,TIMEDF4,EVAL10) ;timecl bnkmgr bnkreq remusr PATCH ; Patch area module netfwd NETSVC ; Network service module if DE-Spooling on slave ;DSPOOL ; If DE-Spooling with Slave printers CPMSUP ; CP/M Function Support Module MPMSUP NITCPS ; Hardware initialization dualio ; dual i/o console driver rtccps spicps ; Serial/parallel drivers (interrupt driven) RESCPS ; Reset detection module SCDCPS ; CPS Slave circuit driver BNKCPS  the correct baud rate is set, the files BULLETIvo)OSSLAVE.PARV  !"#$%&'()*+,-./0123456789:o;<=>?@ABCDEFGHIJKLMNOPQRSTU O"yNʇ:.;d6"d׮D->jqy)9So;XBa~#ƽ&hq`وHMH""2`2|,7l9kWCi EbL LqenK s=bʙ, %~J` Ϭl:.;d6"X_ GL"8Sn>=bЛeːkkp7%կ5--drC!\(̭MY,): DGkXx Œat}:qPOwXR<,VZLafk@h?%ngV}w2~~gG , FmGRhMsƳC'Z(Q$,Ieb"ӣ5~|L-Vt͙U{*5馫'&dRbn__S0oDH9&blm GA4_FASQȚ#DIHG ihX/gHa@4g4sDg37vkPnV g37ߗmtT~J@IeD d 0bI9SMeA? S) ؄$5n,& cY 4ZFC^lB d7rK0 g&~*2$S$>xA IkЎwnn9ӣ$b,B!Fˈ y MH2Xvsv˙lh_mKZmͶMSmͶPL@$SA?jAp8 n>R (8>2>D64IDªibb|pdxWv3ĠM(Z@BF҇"ơ>HX5MLO"n9S)L7 Z ! ' a3<>ra üS™7!B/ܤJ\[s%عY(dz||DL$3řrVv&Su*SQ 2E\[s͐F2=">)(j)cAXFyHhgn/1.{\8{U1ΣҊPQ3پ7bЦ@yYL+Цm*Цm*m*Pl_]ybPTa_]y?@oK?/Ә|1>3Y·|1k3-LZ&0iB?0-qc̴ 'Q/ĴgZ&.ig&D]aT&hw_v,vp m{b-ZvpL4#E|׽ĄxǶ0-eF{ m{f-Z8L<#E|׽ m{e-ZL3L:#E|׽n&ܢŐcڶ?̈bhu.&8L `7DLКM(qC)i C).T̩cZx;v2a1L9`*d;b`'s&X0!„+LSDŽ+J?'aB{c __wu0eB໺2Lj! V-aϴ0-!. nřpqCZ %!OP fNo7N@%a`^\КP+rקf>~>LcBPDŽ1!Eܽ|z ;n6V&D]&i:#ibB/&琎&5RZ?g QWLqИub~a`BSqk?4&XHd;2!„+L?'aBcB{3eB໺2Lp%8ɪ>Ci*L <#ʄyi 6x ufV`'s@ d;0&D]aj;&D]Qj_:&8L (]_*]o*Zb3-Ľ+Ƅ:& QW1!ܽ3!tם uLӶ)Znwlۅ uLŶ5&D]QZݙ3-Lvu[k> QW_raϴ0-!iXB8ċ Nw5#”bqb )Z_r Շ0qƐȄ%bP4Tτ-!O/ `NLݱm v2rDŽ+/ uL&D]s2Ƅ+ֿ uLӶ)Z&6gPDŽ1HИpضcڶ4# n"RGm^+´m̰j;` Eè N<´!:MbL0'˴0 ٺuLȧ0'iaZ¨^B:$bZF~3]9PDŽ|z o{g펢z&Iȧw&8L SQ:& v2J;cB/L@1! KwZ V-J'iaBӄia2 v!i26#^ ,abdaB> & O/x~aߘjig ~|&o~gʃ`gZ`7DBn~1-LuLӐ<#^3MM|z4yF>`~~g&f vuF>`g|zL2dLeLiiT/:s>`g<ÉW&XpM"54}FiceuL8una)u1 ue,V&,׮3!UpL(qqLvRTDS.DOC[  !"#$%&'()*+,-./012345678o9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ+=zt|OSxgXR`#^Mw->5X9_0 A {x:.c Ԓ@5!ekS [7=9?=eA=ώ?\F0U6~Je B!)eo{b:+X.%򙬲\:F*.ŚP-XНg<4:BZ,J,Z譴!^9Ă=$=Rwk7Z& Y3 kɣ'[U#,/Ȫxn)p0Z?dYB+\GR*l-?0j7# T`SS3 tT!C&LeTgFTR`A^$RIgea+4v3K2hax_**JXxRn)pV]s.pEilj4cMa+ZXR-L*(YCi:+S Ȥf A =Yb!-*,ʮeu蠳2`<ĢK)ܑ㛥ZL{,JS ցdኂTq4w3qDb9: fTgFz<7)8VB#!lCZԒ@<ƣRQf]`(iFfxa ._*SV˗/uzbӧۮ;8o߼ھ9fu)؝6춛-} 5xH . ͋==;mԵy-W8[Jq*ij3J&QdkRȤfx,JSXdLqP)Y. ΒQ;.JRpIpvj7);4f$oظ xVFCiѺ gXъO/ a┍ƏPT֒g %ϒ<6KE&)S$b-2cQ(\ZHq}u>cӽ|ys؝}xTJΒïO,!탛)%y8 ]!(m 6S^RQ1e8Qg+FymZ`l&7njvMP k3g%&Zr)(H,(Ȳ3Β'О p J:`SS$l;&’w5e.wݰIqJ%W`^22LY*#S6cx¢@)Xb9X%R-L(\dS;NfR^T`,3vih]G-ٴ2Z0\bZVIqJ8U#~©RQTpX`+p~Pٵ]S!u_1YɪOͯ8Q$ۤ᰼fݤ8mѽ/P g(  + RE#6)NX0#45%[65BJSC{* 9@#)ĂAd)8}lz~ͫvիK1իrhvLqZU.jUCi* VpI%SE鼧du])iwj +Ohbs\;U<<8/Wl,ss4Fab .Y(68~lW . Ceײ:tȎ;Rl+R%6m 6Gbo?lCnRW.Qj{+ WT^r#8/؈WXXXxVr|xsyÛëI1ŷm7)N[/؈Ga<·7WX͠z 65bӯmwfu)8VB#ZH,x&)kB!uoe, \??HVx|l0\%as+.χ7Rd4ѺV_+Zp>Hִ w5;ՅؼGƏ(M Ӣv5e0Ģw FQUMTPTVbQI̩V#6k2a%Y* Yx XdqvYj}3LTH g gqTg+FymZ`zS<^ uۥ8 %!(mh]`IZ5l#YӚ±Ӣp!Mq*&U7b ?xlRY745X0 (9Oqr-Eij>o ** r#Y+@gԤFR8.EiK,A<Ԥn{yKqzdњ@L[SLUܼ}\]+%B|k:6[lCp! p>()I)P;jbڤj;lr>uYibӲk]P*%ڃ.xv?gkH*eHph igg&mRLl|ӳ%YQpI_kp K\YOqdi4dqzޤ|.M?Oawj]ŷbkFS~4x{9: \Oxcyv .Snpb]}\OX]̀zX:l7Sepx5`sfݤpٝ^,E- V,*%, %vO,,Xd YJq 2a< * ]aaa<=7~D!u|Ld&X+ewڜ "KI1i( Ee-y@N b9:d(\d,2x ]Х8- R1 k3g%&`[ Kl+'WRhINJw)N U@ɫas$&’5S8pIxs>\g8fkSEi*8PH];^,T?h{Jq vi.nR>6fXR`vhM ;::Pӯ8w\, >h6ZH5^RQ1 b4~ɂ2"GW=%Y 5Ghg^rXuኂTQ )Ni[ٚ#)|P:E[J /o)N  n-1TRYj, O5?b9}$pZ"Sk<)5GRl,aV5Gj0℻'/~9:hpGR8K|Q:?Rn0 ZI%vdh6 NaX! -Ϩ]%A$ J0~Ī}℻ݶNwӪ jگvq꾮~}]-SêCwwӪ >?{{zxvo7M℻r=;YUnSn$ek 6!-*%J W dJYrqp)N6q@(Qgg0i[STVBl\J5 3&Ġ#kB|[)egpI]ڍ`I5k{Б?@ABCDEFGHIJKLMNOPQRSTUVj:xw777@u.JB',"$qJZr%/ņ0'E,q yDapclEKn sBh# 3gţX"Sb #):$\xF:dM!UAG Da=jpkRpE{%H7԰[˚F,- kYăD/kBgԕ,q#[ nM N@(sO8\3lZ@ЈDa MC%}Zl%26 N4C' GcmP`NE.Y[ ց!2'ΔK.j8z޶.N3e ЈpyXS$:};$:};&EE`'B'N%a=OVd}>'d5|\-%Le$ [8'B'.BganƨNBbSW'bP[X2IBEuN)S-$V4Y\TdJ''5Y+1O=N@1) X'-wz lU7IO%?x8N^3e$Iq?,_vqy;>N|<쎷 zi=E5w}4N1U7w [k}E5aN@k J؟ iy$MVMiNIyC lmDp#z̬a3kCJܚ0'؟&D8z޶.N>%\'F<˚Tjx/ϓqe7yo'_Ovǒ%VT⏱P 8'b^a@7l1Ŋ'H %<%'5ϒK.7mD4@5,*$( 6 )fbl*Mm ZՇx':'_=- p.yMAE6&A&*<;O:108rƟW9yD%tQ,0ex߾BL)({Dc 26lCP6 Ӛ$06yE禉!^ [ 6(1{p"(}*d6LC hF;[$pLN($,=mձ[Sɽ󤧒/es7xb$ׁ>S21$V̽m\{VfcɗP͜m o_a0X[ SbZ,m7 NԕpX j(fRFT*z s\Ixr5|mp h(Z $EHhh"J}8,qx5wH|ǘzkcK.p$SRa\ K~LED N1HD xJ/55a0\T&% mIs&IRMbovk:\=v~o_JpݧܚBw8p*H );w㿰3et>|O/,MC&8;o?,,3Cɟ^ڴ!Pd䒟EcQ]ΕuO=CoF]G0oW,SqQ=83AcƒK.zYp0J.y`:-Ip;SxjIЙA;v}&ZrcM8%}7m@4I䒗Oa\Kc#['Bo)8",'=\|oҐbt>\+I!ރ>3J`݆Qn U %xZ˰[S`шak :B- H^4A4t&.Nz9\|X8ܗ|t@!4 [(y\K^ O`-H`C$N Jă s%̐s%8y-$N Sb4u+>Xys RK nMu &%|=,/h{8}e#bcacA:S:*FZN? ;`{K.z?|sMTh ޶xN) ަ%\ h{ ^:%`8aن._ M jE騖̆˛7rKO/?) ;LqP?k?@A}}}NE9.7j)98ç1!( 9tarF뵩O_p?#Rl$Xब+8/ʑ֚SNG[NO0u_!ECRLpe`rC@g>KK*&5'3a6G aC$kޫ ^arag M_ J5kp|L`tErġęϬ9Zs)Jߘ\5ǻP0E/`8_o>}=}N`KV9p; u5@y*Б5iu?@ABCDEFGHIJKLMNOPQR׮oMUb7n;W)ػq5LuX3jffˮ+21]3]V]BӕT]%ӅdFFIKj..k]`f+U3負o <š )2a{0AAš)U]ߚtYO2AGߚgW阰"R`BIKPk&h[SLgB_yz&l%4Ɔ ƫJ&Nt!`B`م<ՕӉ.DR3+LLKaGLPk&8Kf. {&0ai0!^2 9Pk& Y& A#&z̈́P3]3n<LrUabn&&4~]aB Mlе5S}kf0^MWRӉ.`=>ݏ'psO߭Ntp<]87]jx_nt `*&`-gE?. j&˂ դm Lq5LnMRj/L^bRd6 CLCJ 9`r taXL(i5r%3!%L0a6]b=WEӕT1'ﺮM[SY˂ _o|@`fq3ak0 )2xUPk&lsaiRxU4]IL']0WWWnty9?x:p]]]Y1Bt!54xz&8ˆg. RI[Fj<Lrhϐǂ 7Lw38KfBIK`*LULC`6] 9h%3%Lc,W 9Pk&`U3a ͮ_bB Xg`*LULhb)f0^_Ä<xZ& wX,W t0L^ 1LĄ%`* ausVj&lsF隩qUa:]0a4WLLMxU4]IL']0RvoMUbrUtp%Uѽ]R3!^VL0^Ӥ%Lg5rd̈́GLc$7L7fGxLg6]bJbB XgJZb̈́`:LLئK C&lsTu}kT aդm _+?i?V5S'mg6ooϜRG&؋ÿ߭r{|}9{<[=蜳R7&t|sVja}8ӳZ>0^Ώ[gU{^J-;&ؗtR=ai朳R0R v~==[e v6??8gw5S5i/;dr„;̜eB07LhS`WwH|ǘzkcK.p$SRa\ K~LED N1HD xJ/55a0\T&% mIs&IRMbovd(SYSTAT.MACQ  !"#$%&'()*+,-./0123456789:;<=>?o@ABCDEFGHIJKLMNOPU ]]/(l?_\kGAx=_W?>~^W,e5~70eKG^7{>jWoW«uYCcm`*q/o^ «)LEPMc -],c鳝_<;m«ݛD1ꟕlAx{s(4 h voƲ߃j溦 9g5*9vo]p],}X``?$ڽ-e45M.Wᗷ'Mm|1R«kn:LӀpap~DM8j?"t6-Za@zZ;ᦃn;!t Y+97vt'ucpAk7 O;mn:hp&"t G.= t yZ;+!t ݴb17%%khH. #MsuMU* bˮeU*ce)X9«}7b0HXhcry"TGa§y+ 0Hq)yUx1Yx Аv Rt y"TGa ӇS BIk7 Ow r,{DN0HP:vpDx B鹺TА\ר Eu0n\P0HK# R,Be &]s?:aFanJ $ DC!ѐ&a8OtD0/?_\NvmrM!MpZNanJЊf|yse;Ͽ54 y"h%a8O)9 C+Zrx˻m h6&ѐ&a8O$ 07%GahE _Za5h4}&VuM,him~mI4$ Њb0/0}xyk7ỷ{VZ>`07ЊʾV?|Om\hV_VZW\hH0 c'a"$/0Hq1qq=6w% >[axUAc>S Ii" R, R,yDڏ( zm*ga§InƫW0gT B~XhAА߃0'  JXhwը RhHnWp_,* R,丟> ѨVAṺ&  ?a}Qde 4X Pza8OXv-0HyG'axUN0HqxGtJ^躱9 8O BI;a\7.>, R R;(a!ǐ7wАDNy8 ë§)m)yabT y"clq=P«pxWRt|$ 7|&a _lpZ0܌¸q&a¥$ Qu|4! RtJ])|j߶p0g*ŢHӱInFk0fYMN84FQB¸nŢ«pu7թ X$DN 4C-SOhB^S?lq4^M4^M<.fa ?]|VL" ک) Qa4! «!Z7]`*soF/?OՎn 2Z-.b,6F.|$ k 0HP\ÍVy)|:: y"(a!auVYMZ鼁5)JZ0h%R^X(iq@+, kUjVXpA+^VkW1lЊW6?«WRF+%%F%f1 }cc& <}5:FKBw?Мh_[c4c< ?W7nЊvNiX`}c,{ؠ4mӴMmЊZw.Qx$h֦ٵ,q&\`: I iIє ʊK1 8SQQeDDcI@ՈZ! xWm<M*,c2@@S4O ͧ. $T@(6+'0< VC#`zQc|0@1 iihJq c4ihIQ Ci Qj i$ȩʉ)P i8;TIMEDIF.A v1.00 ; ESKAY 02-12-85 ; MODULE "TIMEDIF" ; ; Purpose: ; Evaluate two ASCII character strings in HH:MM:SS format and ; return their difference. ; ; Entry point: TIMDIF ; Externals: STTIME ; ENTIME ; ELAPTM ; ; Input parameters: ; STTIME holds a time string of HH:MM:SS format. STTIME must point ; to the tens hours digit. The time string must be in 24 hour format. ; The time stored there should be the beginning time of an event. ; ; ENTIME holds a string with the same format. The time stored there ; should be the end of an event. ; ; On return, ELAPTM will be filled with the elapsed time in ; hours and minutes and the accumulator will be cleared with the ; ZERO flag SET. If either entry parameter contained an illegal ; quantity, the CARRY flag will be SET and ELAPTM will be undefined. ; NOTE: TIMDIF will not place delimiters into ELAPTM! ; ; Only the first 8 characters of the strings are processed and checked ; for proper range. Be sure to zero the seconds field if not needed! ; ; NOTE: ; If ENTIME is smaller than STTIME, then 24 hours are added to ENTIME. ; ; This routine is intended for application where the event time will ; never be greater than 23:59:59 (RCPM and BBS use mainly). ; LOC Code# ; ; Entry point. All registers meet their doom... ; TIMDIF:: MOV BX,&STTIME# ;POINT TO START TIME CALL CHFORM ;CHECK PROPER FORMAT JNC __X ;RETURN IF ERROR RET ; __X: MOV BX,&ENTIME# ;POINT TO END TIME CALL CHFORM ;CHECK THAT TOO JNC __Y RET ; ; The stage is set - let's get down to business... ; __Y: MOV BX,&STTIME#+6 ;POINT TO SECONDS START CALL GETBIN ;GET BINARY MOV DH,AL ;SAVE IT MOV BX,&ENTIME#+6 ;SECONDS END CALL GETBIN ;GET BINARY MOV DL,=0 ;RESET OUR PRIVATE BORROW FLAG SUB AL,DH ;SUBTRACT JC __Z ;SKIP IF NO BORROW JMP SKBS ; __Z: DEC DL ;SET OUR BORROW FLAG ADD AL,=60 ;MAKE MOD 60 SKBS: MOV BX,&ELAPTM#+7 ;STORE AS RESULT CALL STORA ; ; Do the same stuff for minutes ; MOV BX,&STTIME#+3 ;MINUTES START CALL GETBIN ;GET BINARY MOV DH,AL ;SAVE BINARY MOV BX,&ENTIME#+3 ;MINUTES END CALL GETBIN ;GET BINARY INC DL ;IF NOT BORROW... JZ __X ;THEN SKIP... JMP SKBM1 ; __X: INC DH ;...ELSE ADD BORROWED VALUE SKBM1: MOV DL,=0 ;MAKE SURE BORROW FLAG RESET SUB AL,DH ;SUBTRACT JC __X ;SKIP IF NO BORROW JMP SKBM2 ; __X: DEC DL ;SET BORROW ADD AL,=60 ;MAKE MOD 60 SKBM2: MOV BX,&ELAPTM#+4 ;STORE ELAPSED MINUTES CALL STORA ; ; Finally, here go the hours. ; MOV BX,&STTIME# ;HOURS START CALL GETBIN ;GET 'EM MOV DH,AL ;SAVE START HOURS MOV BX,&ENTIME# ;HOURS END CALL GETBIN ;GET BINARY INC DL ;IF NOT BORROW... JZ __X ;...THEN SKIP... JMP SKBH1 ; __X: INC DH ;...ELSE ADD BORROWED HOUR SKBH1: SUB AL,DH ;SUBTRACT JC __X ;JUMP IF NO BORROW JMP SKBH2 ; __X: ADD AL,=24 ;ELSE ADD 24 HOURS SKBH2: MOV BX,&ELAPTM#+1 ;SAVE AS HOURS CALL STORA XOR AL,AL ;MAKE SURE ERROR IS RESET RET ;END OF EXECUTION, BACK TO CALLER. ; ; Get the ASCII value at HL as a binary into A ; GETBIN: MOV AL,[BX] ;GET TENS AND AL,=0X0F ;STRIP ASCII OFFSET MOV CH,AL ;SAVE TENS XOR AL,AL ;SET ACCUMULATOR MOV CL,=10 ;SET UP CHEAP MULTIPLIER MUL: ADD AL,CL DEC CH JZ __X JMP MUL ; __X: MOV CH,AL ;SAVE TENS INC BX ;POINT TO UNITS MOV AL,[BX] ;GET UNITS AND AL,=0X0F ;SAME TREATMENT ADD AL,CH ;ADD THE TENS RET ; ; Check format of HH:MM:SS string. Checks all digits for presence ; and validity. ; CHFORM: MOV AL,[BX] ;GET 10S H CMP AL,='0' JNC __X RET ; __X: CMP AL,='3' CMC JNC __Y RET ; __Y: INC BX MOV AL,[BX] ;GET 1S H CALL CK10 ;CHECK DECIMAL JNC __Z RET ; __Z: INC BX ;GET COLON MOV AL,[BX] CMP AL,=':' STC JZ __A RET ; __A: INC BX ;POINT TO 10S M MOV AL,[BX] CALL CK6 ;CHECK HEX JNC __B RET ; __B: INC BX MOV AL,[BX] ;1S M CALL CK10 JNC __C RET ; __C: INC BX MOV AL,[BX] ;GET DELIMITER CMP AL,=':' STC JZ __D RET ; __D: INC BX MOV AL,[BX] ;GET 10S S CALL CK6 JNC __E RET ; __E: INC BX MOV AL,[BX] CK10: CMP AL,='0' JNC __X RET ; __X: CMP AL,='9'+1 CMC RET ; CK6: CMP AL,='0' JNC __X RET ; __X: CMP AL,='7' CMC RET ; ; Store accumulator as ASCII digits at HL and HL+1 ; STORA: MOV CH,=-1 TLP: INC CH SUB AL,=10 ;SUBTRACT 10 JC __X ;UNTIL BORROW JMP TLP ; __X: ADD AL,=10 ;MAKE MOD 10 OR AL,='0' ;MAKE ASCII MOV [BX],AL DEC BX MOV AL,='0' ADD AL,CH MOV [BX],AL RET ; END SQQ`eDDi@4Z!!!Pmk+d ZJX f۠ 3kX\C$ aSxiTPx!RPmҰmk+i6Ut(iV00`C$ td: @XU#?9I0l?c͵ :gmlXáF~f06á%0l?HkV { wd@2Jj"J4t))O*Ziu&GW@*ZAu$GZ2:*JtuG_2B2zlv!GlYv' obe0)*$T2*rJj,e" *&vTIMEPR.MACO  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN}_4ނsQcNJǐILbYwԙ؛޾}ɞ|ǜ,/?3uL>jwf5jnz s2Y®'1''瓞:{Bxgکw}:3uLw-Sٔz wvȍ]|Ms&.Ɯ:o,bpE-w,&&hLLŤt鿟ůLSgꛕ_7),%I\;3u4di0uoڵ}Z~:0ޙ[<Ż3SgSwygW־_/?[Lx  wmrI0%9Ol1)$dM01'I9&e]"t H,8"LY!, Ax۶1uF\7qmt\N{5Y4 Pu4Ja88_5~ L(A$mvLAƱ׫k&C'9x!OMτD4O tyyRL`&C'z8x1I}τD4O tyyRcLRoPrI z&o{&ép P3q % ͎ i|9L(3| }8]Kv;|xg91AB=MxfBp>J9q4Ťxusf8 R{82,;͓2!A t<L(ANL(AGw=  '/As LR  JA.Ia%x{ǘD\#a2AC˴m3ض T1I}oݼ}k1i 0Htz`B "OA 90aq4" e3Ń>۶1A\-oft۶%8z˓2a3 7qf꘶-ok`œgaqEG&0Hu ei3^R-+az5O 1 „ a89זP ]Jv k{8 LxKft%'iLӲ?@ABCDEFGHGmrqL Ӣaֶm8"C\TںsלgMnj]+i4Yquj-Uںs3-L5ޟ1If3<2-Lil)hzJL!+tŘ֮\ )zq߻X֕i+!(7L=&r;{W_(=}hEKѤgB"cWj23a?Er0Z4^k4RJ]+B]+*ʼn 5z0~vMhEض>ӹE,Ą~`BLT(|,[3j`)a:'&3ۘ L"2jqHW -"3ǫ Z"*]1&Lx^;&,>v%0F/?0az>^NkQcIm5zI sg&3ڕw <2An|fBW*1?0AF}4&Q-v1A\зjA7K)Ƅ3ġq8q]d8⭸-L?1A\ Gl߾Lg,& #$ 7&,adBL,  L} ܁~'$]Lz?0Yq[Z/pj2釉 .Bwg+wM!!{cBz8cBaLx(6&,>v%0F/`|:\)h44}jLeb  a89זP ]Jv k{8 LxKft%'iLӲ?@ABCDEFGHIJKLMNOPQRSճ߱-U zM7\n5tj@D VBY`Z5k:5`^S`%ZJEGk#V k :kI}h Sb8o/pt]^r9_qy{ͩO8o/rƚN y{7ۋlNΟ]yylNΟלy9XcM%f 5֤(ؚճ|'n ~_Yv^S5)#FmX>;-kRGl50:4`%5Q Z :kԀ*^ +ЬIXJ0P :kI|79o?,y;PnGkRC|_<{jlM*k*Wٗ}|lͩ^{kPTsk$#TXDO(/5)#oZ9c]I9X_֤$*tx]QKis^JR:Kc^JRzKҵlMJn@(ԡ4ʇF:wVQƠ usbMJn@Z>=uV]ܥ5]Z8b[8b'z-]} Ҍ(WzkRefЅTY8b[8b/5֤(%HqFzJ[3*㴳&9yF NZ{4G q$7SJaԬ'}fMU+VjUJ\B[Qzyz܀^xfQ'kRGlM>Sƭ~(=`g'tP뤥5)#NS k=a F͸C[8b = vG赈vGW9߼5o*/'֤>֡5X'}&Eq!#&Eq?ܼ|zoЯ 1:i5)#ǝ9٠s5B8xkRG ;h~hT5)#ǝA4*4=jB5)#ǝZժ?㍷&9}y|7G +$7`E=xf RSInxZF]meMrVaԬѯǹw&+^oVQk8 ;kRGlM"苈"Fӣ&QIn@^T"DqOyjU!#FIba?5V` `~hTpHaEٚ|(}*oW7ޚ45pޮ(/wzZFqg֤(ؚ(4*ƴ *`˫_o\ ;[s8Xc )Nc(ĦBUhqT8#= O@ NZ[ UA+c 7o?xQՃ׊?yU(Ej&5Ϭ_sx&Eq!#&EqouQPg:PX"h4!T}9[Ԅk ZpFlMr|VQF5U-7aԵ"4jjl+k.pY8b|<_eFy)=祄>/>)/y)]$Q\&jaIQ1v∭IQ1P뤥C4*o?@ABCDEFGHIJKLMNOPw_{hצKPkWWdΤN)\V%vß?2mL]-e6խu,)LwҤɦqbc{sI{ͺUWM7պ)_J\짫6ޖi*jŜl.&δٵy'IXŲͮ;Py$\0mvmމjɭik]!Eͺ&%ͮ- I6LZCvicz}f`z]mhӫIȴ1paЅIz[Fm&6m¤c S vб{NG:v}tfJ+mzuSEcO_::v}]t+Sn;yX: vб´1!5a%웤%곯y5L/cMxV s7JxVߋ2!5!UKτxL15bYC2mLSt54):g& `{ ѦbinCew" N.&)SvLfMC5iicjiАu <|`w" CǮ~8eQ,uD!F X$:v}bw"xV X$?E wU]d(F0aghL"9XQhȾLghLNs-)2AGgY,}ZRdhaOWo';}󃽻Ï,}ZRdhaWWv9~1صMZ&bڡ#Z;fD0ג"tD _Z&Uuqh0|w5uha}~m#|gLLoZ&;{f-tDZ&2AGW_[&o?6gh?-tD{?m5K&l*M! 8N.dSt4TiމW陊4y(% MIbc%II ^b0|!cSneBI0Aod>3Ad$&b!Ų_Uӝ/vX[kP"LЛt;_0A.SL'&"dDŽ<DqL1cqp3.%2A.-*\L1E);&yغ)Z%0qs\wva؇Z`e $^M1L~UI;tDkic )50ðC l5h :4EpLIIpp}h Ckc(% <ʄEffژw.'&ǖ 73;&4ࢆ2|D & Q1LI;M