'^M^M^O mc 1.0 15mar92 ^N^M _2_: data "+++","AT","E0V1Q0X4","S0=0S2=43S3=13S7=255S9=6","","","H1","H0","DT","DP","H0","","A","O","Z","M0","M1","M2","M3","" _3_: data 0,2,"No","Yes" data 1,17,"Default",50,75,110,135,150,300,600,1200,1800,2400,3600,4800,7200,9600,19200,38400 data 2,6,"N/A","None","XON/XOFF","RTS/CTS","RTS","CTS" data - 1 _4_: data 3,0,2,"--- Communication Settings ---",, data 2,20,4,"Variable Speed:",1,0 data 2,20,5,"High Speed:",2,1 data 2,20,6,"Flow Control:",3,2 data 2,20,7,"Has Carrier Detect:",4,0 data 2,20,8,"Error Correction:",5,0 data 2,20,9,"ATA Answers:",6,0 data 2,20,10,"Use DTR to Hangup:",7,0 data 3,0,12,"--- Timing (in 1/60 seconds) ---",, data 1,20,14,"Hangup Duration:",10, data 1,20,15,"Result Code Delay:",12, data 1,20,16,"+++ Gaurd Time:",14, data 1,20,17,"Attention Delay:",16, data 6,0,18,"_",80, data 4,5,20,"Quit",1, data 4,25,20,"New",2, data 4,45,20,"Save",3, data 4,65,20,"More",4, data - 1 _7_: data 3,0,2,"--- Modem Command Strings ---",, data 5,20,4,"Escape:",1,3 data 5,20,5,"Attention:",2,10 data 5,20,7,"Main Init:",3,50 data 5,20,8,"Aux Init:",4,50 data 5,20,9,"Exit Init:",15,50 data 5,20,11,"MNP On:",5,20 data 5,55,11,"MNP Off:",6,20 data 5,20,12,"Make Busy:",7,20 data 5,55,12,"Not Busy:",8,20 data 5,20,13,"Dial Tone:",9,20 data 5,55,13,"Dial Pulse:",10,20 data 5,20,14,"Hangup:",11,20 data 5,55,14,"Post Hangup:",12,20 data 5,20,15,"Answer:",13,20 data 5,55,15,"Originate:",14,20 data 5,20,17,"Speaker Off:",16,20 data 5,55,17,"Spkr On Until DCD:",17,20 data 5,20,18,"Speaker On:",18,20 data 5,55,18,"On In Answer Only:",19,20 data 6,0,19,"_",80, data 4,5,21,"Quit",1, data 4,25,21,"New",2, data 4,45,21,"Save",3, data 4,65,21,"More",4, data - 1 gosub _99_ & < a$,b$ & < b$,b$ dim a%(50),b%(50),c%(50),c$(50),a(50),b(50),d$(20) e$ = "qnsm" f$ = "^H^U13" g$ = "^K^J52" c(1) = - 1 c(2) = 1 c(3) = - 1 c(4) = 1 gosub _95_ d = 1 if e > 1 then h$ = i$(1) gosub _31_ goto _12_ endif gosub _34_ gosub _78_ _12_: gosub _49_ f = g if f = 4 then d = not d gosub _78_ goto _15_ endif if f = 3 then gosub _35_ goto _15_ endif if f = 2 then gosub _30_ endif _15_: if not (f = 1) then goto _12_ endif gosub _40_ & ioctl(1,0,21) & ioctl(3) print goto _108_ _17_: print "^DBLOAD"h$",A"768",T0" h = 768 + 22 i = 1 j = 0 _18_: on not (i < 20) goto _21_ d$(i) = "" _19_: if peek (h) then d$(i) = d$(i) + chr$ ( peek (h)) h = h + 1 goto _19_ endif j = j + len (d$(i)) + 1 h = h + 1 i = i + 1 goto _18_ _21_: return _22_: h = 768 + 22 k = 0 for i = 1 to 20 k = len (d$(i)) + 1 if k > 1 then for l = 1 to k - 1 poke h, asc ( mid$ (d$(i),l)) h = h + 1 next endif poke h,0 h = h + 1 next poke 768 + 21,k print "^DBSAVE"h$",A"768",T0,L"h - 768 return _24_: gosub _25_ j$ = h$ & read ( - 64,j$),"Modemcap file name: ",h$ _25_: & ioctl(1,0,22) & ioctl(4) return _26_: on not (h$ > "") goto _28_ & pos (h$,"/"),m if not m then h$ = b$ + "/Modemcaps/" + h$ endif & / h$,j$ goto _29_ _28_: j$ = "" _29_: return _30_: gosub _40_ gosub _24_ _31_: n = 1 gosub _26_ if j$ > "" then gosub _17_ goto _33_ endif k$ = "New file." gosub _34_ _33_: goto _78_ _34_: & restore goto _2_ for l = 1 to 20 read d$(l) next & poke 768,1,1,8,1,255,0,255,255,0,0,90,0,60,0,90,0,30,0,0,0,0,0 n = 1 return _35_: l$ = h$ gosub _24_ gosub _26_ if h$ = "" then h$ = l$ k$ = "Cancelled." goto _39_ endif if l$ < > h$ then gosub _84_ endif if j$ = "" then print "^DCREATE"h$",T0" endif gosub _22_ n = 1 k$ = "Saved." _39_: return _40_: on not ( not n) goto _43_ gosub _25_ j$ = "y" & read ( - 2,j$),"Save changes? (y/n) ",m$ & lcase(m$) if m$ = "y" then gosub _35_ goto _42_ endif k$ = "Cancelled." _42_: & ioctl(13) _43_: return _44_: if a%(o) = 3 or a%(o) = 6 then gosub _46_ goto _44_ endif return _46_: o = o + c(m) if o < 1 then o = q endif if o > q then o = 1 endif return _49_: if k$ > "" then gosub _25_ print k$; endif m = 2 g = 0 _51_: gosub _44_ & ioctl(1,b%(o) - 1,c%(o)) print ">^H"; get m$ print " ^H"; if k$ > "" then gosub _25_ k$ = "" & ioctl(1,b%(o) - 1,c%(o)) endif & lcase(m$) & pos (g$,m$),m if m then gosub _46_ endif if not ( not m) then goto _51_ endif gosub _56_ if not (g) then goto _51_ endif return _56_: r = a%(o) on not (m$ = "^M") goto _60_ if r = 5 then gosub _77_ goto _59_ endif if r = 4 then g = a(o) goto _59_ endif if r = 1 then gosub _72_ endif _59_: goto _65_ _60_: if m$ = "^I" then g = 4 goto _65_ endif & pos (f$,m$),m on not (m) goto _64_ if r = 2 then gosub _66_ goto _63_ endif if r = 1 then gosub _73_ endif _63_: goto _65_ _64_: & pos (e$,m$),m if m then g = m endif _65_: return _66_: h = peek (768 + a(o)) if b(o) = 0 then h = h > 0 i = not h k = i * 255 goto _70_ endif i = h + c(m) if i < 0 then i = s(b(o)) - 1 endif if i = s(b(o)) then i = 0 endif k = i _70_: poke 768 + a(o),k m$ = n$(b(o),i) k = len (n$(b(o),h)) if len (m$) < k then & left$ (m$,k),m$ endif print " "m$; n = 0 return _72_: h = ( peek (768 + a(o)) + peek (768 + a(o) + 1) * 256) m$ = str$ (h) & read ( - 5,m$)," ",j$ i = val (j$) poke 768 + a(o),i - int (i / 256) * 256 poke 768 + a(o) + 1, int (i / 256) n = 0 return _73_: h = ( peek (768 + a(o)) + peek (768 + a(o) + 1) * 256) i = h + c(m) if i < 0 then i = 65535 endif if i > 65535 then i = 0 endif poke 768 + a(o),i - int (i / 256) * 256 poke 768 + a(o) + 1, int (i / 256) m$ = str$ (i) k = len ( str$ (h)) if len (m$) < k then & left$ (m$,k),m$ endif print " "m$; n = 0 return _77_: m$ = d$(a(o)) & read ( - b(o),m$)," ",j$ & spc( j$),j$ d$(a(o)) = j$ n = 0 return _78_: if d then & restore goto _4_ goto _80_ endif & restore goto _7_ _80_: & ioctl(2) l = 0 _81_: read r if r > - 1 then l = l + 1 a%(l) = r read b%(l),c%(l),c$(l),a(l),b(l) gosub _86_ endif if not (r = - 1) then goto _81_ endif q = l o = 1 _84_: if h$ > "" then & pos right$ (h$,"/"),t m$ = mid$ (h$,t + 1) & ioctl(1,0,23) & ioctl(12) & ioctl(4) & ioctl(1,38 - len (m$) / 2,23) print m$; & ioctl(13) endif return _86_: & ioctl(1,b%(l),c%(l)) on a%(l) goto _87_,_88_,_93_,_90_,_91_,_94_ _87_: print ( peek (768 + a(l)) + peek (768 + a(l) + 1) * 256); goto _92_ _88_: i = peek (768 + a(l)) if b(l) = 0 then i = i > 0 endif print n$(b(l),i); goto _92_ _90_: print "[ "c$(l)" ]"; return _91_: print d$(a(l)); _92_: & ioctl(1,b%(l) - len (c$(l)) - 1,c%(l)) _93_: print c$(l); return _94_: & hlin a(l), asc (c$(l)) return _95_: dim n$(3,17),s(3) & restore goto _3_ _96_: read u if u > - 1 then v(u) = 0 read s(u) for l = 0 to s(u) - 1 read n$(u,l) next endif if not (u = - 1) then goto _96_ endif return _99_: onerr goto _105_ a$ = "" for l = 641 to 640 + peek (640) a$ = a$ + chr$ ( peek (l)) next if asc (a$) < > 47 then print "^DPREFIX" & get m$ a$ = m$ + a$ endif & lcase(a$) poke 512,0 onerr goto _103_ & load peek 1,30561,j$ if j$ > "" then goto _104_ endif _103_: print "OMM/AmperWorks/ModemWorks not available." end _104_: & on hangup goto _106_ & on int goto _106_ dim p$(10),o$(7) & < a$,m$ i$(0) = mid$ (a$, len (m$) + 2) e = 1 d% = 0 return _105_: & onerr z,aa & print i$(0)": error "z" at "aa goto _107_ _106_: & print _107_: d% = - 1 _108_: onerr goto _110_ print "^DCLOSE" end _110_: & onerr z,aa & scrn( 0) & print i$(0)": FATAL #"z"@"aa & hangup & trace 0 end