››; Log this caller to the›; CALL.LOG dataset...›; ----------------------› ››Module› Set 14 = $7000› Set $491 = $7000›››Define String = "BYTE ARRAY",› Disk1 = "1",› Disk2 = "2",› Repeat = "Do",› End = "Od",› Endif = "Fi",› Ef = "Elseif"››››Byte array jmp = [0 0 0 $10 5 1 88]››Card Array EndOfPgm(1)›› Include "D1:>action>sys.act"››Module›› Include "D1:>action>routines.bbs"››Module››Byte CError››››Module› Include "D1:>action>actequ.ata"››››Module››› ›Proc Run_Mail()› Chain ("READMAIL")›Return›››››Proc MyError(Byte Ecd)› Close(Disk2)› MIOresume()› CR_LF()› EchoS("Call Log Error: ")› EchoB(Ecd)› CR_LF()› Run_Mail()›Return››››››Proc Log_Caller()›› String Fn(40)="Dx:>PRO>LOG>CALL.LOG"›› Fn(2) = S_LogDr› Close(Disk2)› Open(Disk2,Fn,9,0) ;append mode› › PrintDE(Disk2," ")› PrintDE(Disk2," ")› PrintD(Disk2,"Caller #")› PrintCD(Disk2,S_totcalls)› PrintD(Disk2," ")› PrintD(Disk2,Cur_date)› PrintD(Disk2," ")› PrintD(Disk2,Cur_time)›› If Ignore_Modem > 0 then› PrintDE(Disk2," >>> Local Entry")› Ef Usernum = 0 then› PrintDE(Disk2," >>> A Visitor")› Ef U_newuser > 0 then› PrintDE(Disk2," >>> A New User")› Else› PrintDE(Disk2," ")› Endif›››; line two..›› PrintD(Disk2," ")› PrintD(Disk2,U_handle)› If Usernum > 0 then› PrintD(Disk2," (#")› PrintCD(Disk2,Usernum)› PrintD(Disk2,")")› Endif› PrintD(Disk2," ")› PrintDE(Disk2,U_cityst)›››; line three...›› PrintD(Disk2," Computer Type: ")› PrintD(Disk2,U_cpu)› PrintD(Disk2," Baud Rate: ")› If Baud = 0 then› PrintDE(Disk2,"300")› Ef Baud = 1 then› PrintDE(Disk2,"1200")› Ef Baud = 2 then› PrintDE(Disk2,"2400")› Else › PrintDE(Disk2,"9600")› Endif›››; line four..›› PrintD(Disk2," Last Called ")› PrintD(Disk2,U_lstcall)› PrintD(Disk2," Total Calls: ")› PrintCD(Disk2,U_totcalls)› PrintD(Disk2," Mins Today: ")› PrintBDE(Disk2,U_mintoday)›Return›››››Proc Main()›› Error=MyError› MIOsuspend()› If BBS_active > 0 then› If S_LogDr > 0 then› Log_caller()› Close(Disk2)› Endif› Run_Mail() ;exit thru READMAIL› Endif› MIOresume() ›Return››