1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-03 18:26:16 +00:00

Chaosnet ECHO server.

This commit is contained in:
Lars Brinkhoff
2018-10-08 13:53:33 +02:00
parent aa17555e6f
commit b580f9f06b
3 changed files with 82 additions and 0 deletions

View File

@@ -95,6 +95,10 @@ expect ":KILL"
respond "*" ":midas sys1;ts dir_bawden;dir^k\r"
expect ":KILL"
respond "*" ":midas sysbin;_sysnet;echo\r"
expect ":KILL"
respond "*" ":link device; chaos echo, sysbin; echo bin\r"
respond "*" ":midas sysbin;chtn_sysnet;chtn\r"
expect ":KILL"

View File

@@ -75,6 +75,7 @@
- DSKDEV/D, short disk device.
- DSKUSE, disk usage information.
- DUMP/LOAD, tape backup and restore.
- ECHO, Chaosnet echo server.
- ELIZA, the original psychiatrist game.
- EMACS, editor.
- EXECVT, convert 20x EXE (SSAVE) file to ITS BIN (PDUMP) file.

77
src/sysnet/echo.5 Executable file
View File

@@ -0,0 +1,77 @@
;-*-midas-*-
title echo
t=10
tt=11
chaich=0
chaoch=1
.insrt system;chsdef
debug: 0
chapkt: block %cpmxw
die: 0
skipn debug
.logout
.value
rcvpkt: setz ? 'pktiot ? movei chaich ? setzi chapkt
sndpkt: setz ? 'pktiot ? movei chaoch ? setzi chapkt
go: .close 1,
.call [setz ? 'chaoso ? movei chaich ? movei chaoch ? setzi 5]
.lose %lssys
move t,[.byte 8 ? %colsn ? 0 ? 0 ? 4]
movem t,chapkt
move t,[.byte 8 ? "E ? "C ? "H ? "O]
movem t,chapkt+%cpkdt
.call sndpkt ;setup listen for connection
.lose %lssys
movei t,60.*60.
skipe debug
hrloi t,177777
.call [setz ? 'netblk ? movei chaich ? movei %cslsn ? t ? setzm t]
.lose %lssys
caie t,%csrfc
jsr die
.call rcvpkt ;get the rfc
.lose %lssys
movei t,%coopn
dpb t,[chapkt+$cpkop]
.call sndpkt ;accept it
.lose %lssys
skipe debug ;debugging?
jrst loop ;yes, dont try to login then
ldb t,[chapkt+$cpksa] ;get source host address
move tt,[sixbit /000C00/] ;convert host number to sixbit
dpb t,[220300,,tt]
lsh t,-3
dpb t,[300300,,tt]
lsh t,-3
dpb t,[360300,,tt]
.suset [.ruind,,t] ;incoroporate user index also
dpb t,[000300,,tt]
lsh t,-3
dpb t,[060300,,tt]
move t,tt ;save copy for xuname
.call [setz
sixbit /LOGIN/
tt ? [sixbit /CHAOS/] ? setz t]
aoja tt,.-1 ;error, perhaps need to try other uname
.suset [.sjname,,[sixbit /ECHO/]]
.call [setz ? 'detach ? movei %jself ? andi 3 ]
jsr die
loop: .call rcvpkt ;get a packet
.lose %lssys
ldb t,[chapkt+$cpkop]
caige t,%codat ;is this data?
jsr die ;no, we are done then
.call sndpkt ;yes, send it right back
.lose %lssys
jrst loop
end go