diff --git a/src/lars/irc.90 b/src/lars/irc.90 new file mode 100644 index 00000000..0f6aa443 --- /dev/null +++ b/src/lars/irc.90 @@ -0,0 +1,129 @@ + title irc - internet relay chat + +a=1 +b=2 +c=3 +d=4 +e=5 +t=6 +tt=7 +p=17 + +tyic==1 +tyoc==2 +netic==3 +netoc==4 + +loc 42 + tsint + +loc 100 + +$$arpa==1 +$$tcp==1 +$$connect==1 +$$hstmap==1 +$$hostnm==1 +$$symlook==1 +.insrt sysnet; netwrk + +go: move p,[-20,,pdl-1] + .open tyic,[.uai,,'tty] + .lose + .open tyoc,[.uao,,'tty] + .lose + + .suset [.smask,,[%piioc]] + .suset [.smsk2,,[1_netic]] + + movei a,hosts + movei b,0 + pushj p,netwrk"hstmap + .value + + movei a,[asciz /irc.freenode.net/] +; movei a,[asciz /junk.nocrew.org/] + pushj p,netwrk"hstlook + .value + movem a,host + + movei a,netic + move b,host + movei c,6667. + pushj p,netwrk"tcpcon + .value + +ifn 1,[ + movei a,3*30. + .sleep a, + move a,[440700,,[asciz /NICK pdp10/]] + pushj p,outstr + movei a,1*30. + .sleep a, + move a,[440700,,[asciz /USER pdp10 * * :pdp10/]] + pushj p,outstr + movei a,1*30. + .sleep a, + move a,[440700,,[asciz /JOIN #PDP-10/]] + pushj p,outstr + movei a,1*30. + .sleep a, + move a,[440700,,[asciz /PRIVMSG #PDP-10 :Now I'm programmed do say this./]] + pushj p,outstr +] + + .logout 1, + +loop: .iot tyic,a + .iot netoc,a + .nets netoc, + jrst loop + + .logout 1, + +outstr: ildb c,a + jumpe c,[.iot netoc,[^M] + .iot netoc,[^J] + .nets netoc, + popj p,] + .iot netoc,c + .iot tyoc,c + jrst outstr + +tsint: 0 + 0 + push p,a + push p,b + move a,tsint + jumpl a,ioint + .value + jrst dismis + +ioint: .call [ setz + 'whyint + movei netic + movem a + setzm b ] + .lose + caie a,%wytcp + .value + caie b,%ntinp + jrst dismis + .iot netic,a + .iot tyoc,a + .status netic,a + trnn a,2000 + jrst ioint +dismis: pop p,b + pop p,a + .suset [.sadf2,,[1_netic]] + .dismis tsint+1 + +pdl: block 20 +buffer: block 100 +debug: 0 +host: 0 + +hosts=<.+1777>/2000 + +end go