diff --git a/README.md b/README.md index a1f08431..e59140c9 100644 --- a/README.md +++ b/README.md @@ -237,6 +237,7 @@ A list of [known ITS machines](doc/machines.md). - TMPKIL, clean out old files in .TEMP.;. - TTLOC, Advertises physical location of logged in users. - TTY, displays TTYs with UNAME/JNAME/CORE and other info. + - TTYSWP, swap TTYs (binary only). - TYPE8, type 8-bit file. - UFIND, find users. - UNTALK, split-screen comm-link program. diff --git a/bin/sys/ts.ttyswp b/bin/sys/ts.ttyswp new file mode 100755 index 00000000..135e516b Binary files /dev/null and b/bin/sys/ts.ttyswp differ diff --git a/src/sysen3/ttyswp.1 b/src/sysen3/ttyswp.1 new file mode 100644 index 00000000..653232a4 --- /dev/null +++ b/src/sysen3/ttyswp.1 @@ -0,0 +1,188 @@ +; Disassembly of SYS; TS TTYSWP + +; Symbol table: +; +; a = 1 +; usri == 1 +; b = 2 +; c = 3 +; d = 4 +; e = 5 +; f = 6 +; jcl = 100 +; tty1 = 116 +; tty2 = 117 +; jobnum = 120 +; start = 121 +; numget = 123 +; nextch = 131 +; doit = 147 +; nmytty = 166 +; detme = 223 +; getnam = 230 +; won = 243 +; detach = 246 +; attach = 252 +; usropn = 257 +; styget = 266 + +; Start instruction: +; +; jrst 121 + + +; Program: +; +; 000116: 777777777777 +; 000117: 777777777777 +; 000120: 000000000000 +; 000121: 045500000274 .break 12, 274 ;"$M "\" +; 000122: 200040000275 move 1, 275 ;"0 @ "]" +; 000123: 400100000000 setz 2, ;"@! " +; 000124: 134140000001 ildb 3, 1 ;"+A@ !" +; 000125: 322140000147 jumpe 3, 147 ;":1@ !G" +; 000126: 301140000060 cail 3, 60 ;"8)@ P" +; 000127: 303140000071 caile 3, 71 ;"89@ Y" +; 000130: 254000000124 jrst 124 ;"5@ !4" +; 000131: 242100000003 lsh 2, 3 ;"41 #" +; 000132: 275140000060 subi 3, 60 ;"7I@ P" +; 000133: 434100000003 or 2, 3 ;"CA #" +; 000134: 134140000001 ildb 3, 1 ;"+A@ !" +; 000135: 322140000147 jumpe 3, 147 ;":1@ !G" +; 000136: 301140000060 cail 3, 60 ;"8)@ P" +; 000137: 303140000071 caile 3, 71 ;"89@ Y" +; 000140: 334000000000 skipa 0, 0 +; 000141: 254000000131 jrst 131 ;"5@ !9" +; 000142: 331000000116 skipl 0, 116 ;";( !." +; 000143: 254000000146 jrst 146 ;"5@ !F" +; 000144: 202100000116 movem 2, 116 ;"01 !." +; 000145: 254000000123 jrst 123 ;"5@ !3" +; 000146: 202100000117 movem 2, 117 ;"01 !/" +; 000147: 200040000116 move 1, 116 ;"0 @ !." +; 000150: 321040000223 jumpl 1, 223 ;":(@ "3" +; 000151: 660040400000 tro 1, 400000 ;"V @@ " +; 000152: 202040000116 movem 1, 116 ;"00@ !." +; 000153: 043000000266 .call [setz +; SIXBIT/STYGET/ +; 000000000001 +; 002000000120 +; 002000000120 +; 402000000120] +; 000154: 043100001000 .lose 1000 ;"$9 ( " +; 000155: 550040000120 hrrz 1, 120 ;"M @ !0" +; 000156: 660040400000 tro 1, 400000 ;"V @@ " +; 000157: 264000000230 jsr 230 ;"6@ "8" +; 000160: 200140000001 move 3, 1 ;"0!@ !" +; 000161: 200300000005 move 6, 5 ;"0# %" +; 000162: 200040000117 move 1, 117 ;"0 @ !/" +; 000163: 325040000166 jumpge 1, 166 ;":H@ !V" +; 000164: 043540000276 .suset 276 ;"$=@ "^" +; 000165: 505040000000 hrli 1, 0 ;"HH@ " "Q\"\0\0\0" +; 000166: 660040400000 tro 1, 400000 ;"V @@ " +; 000167: 202040000117 movem 1, 117 ;"00@ !/" +; 000170: 043000000266 .call [setz +; SIXBIT/STYGET/ +; 000000000001 +; 002000000120 +; 002000000120 +; 402000000120] +; 000171: 043100001000 .lose 1000 ;"$9 ( " +; 000172: 550040000120 hrrz 1, 120 ;"M @ !0" +; 000173: 660040400000 tro 1, 400000 ;"V @@ " +; 000174: 264000000230 jsr 230 ;"6@ "8" +; 000175: 200200000001 move 4, 1 ;"0" !" +; 000176: 200100000003 move 2, 3 ;"0! #" +; 000177: 306100777777 cain 2, 777777 ;"8Q ___" +; 000200: 254000000203 jrst 203 ;"5@ "#" +; 000201: 043000000246 .call [setz +; SIXBIT/DETACH/ +; 005000000020 +; 400000000002] +; 000202: 043100001000 .lose 1000 ;"$9 ( " +; 000203: 200100000004 move 2, 4 ;"0! $" +; 000204: 306100777777 cain 2, 777777 ;"8Q ___" +; 000205: 254000000213 jrst 213 ;"5@ "+" +; 000206: 043000000246 .call [setz +; SIXBIT/DETACH/ +; 005000000020 +; 400000000002] +; 000207: 043100001000 .lose 1000 ;"$9 ( " +; 000210: 200040000116 move 1, 116 ;"0 @ !." +; 000211: 043000000252 .call [setz +; SIXBIT/ATTACH/ +; 004000000005 +; 000000000002 +; 400000000001] +; 000212: 043100001000 .lose 1000 ;"$9 ( " +; 000213: 200040000117 move 1, 117 ;"0 @ !/" +; 000214: 200100000003 move 2, 3 ;"0! #" +; 000215: 200240000006 move 5, 6 ;"0"@ &" +; 000216: 306100777777 cain 2, 777777 ;"8Q ___" +; 000217: 254000000222 jrst 222 ;"5@ "2" +; 000220: 043000000252 .call [setz +; SIXBIT/ATTACH/ +; 004000000005 +; 000000000002 +; 400000000001] +; 000221: 043100001000 .lose 1000 ;"$9 ( " +; 000222: 043200000243 .value 243 ;"$: "C" +; 000223: 043540000277 .suset 277 ;"$=@ "_" +; 000224: 660100400000 tro 2, 400000 ;"V! @ " +; 000225: 043000000246 .call [setz +; SIXBIT/DETACH/ +; 005000000020 +; 400000000002] +; 000226: 043100001000 .lose 1000 ;"$9 ( " +; 000227: 043200000243 .value 243 ;"$: "C" +; 000230: 000000000000 +; 000231: 306040777777 cain 1, 777777 ;"8P@___" +; 000232: 254020000230 jrst @230 ;"5@0 "8" +; 000233: 043000000257 .call [setz +; SIXBIT/OPEN / +; 005000000010 +; 001000000001 +; 000000000302 +; 000000000001 +; 401000000000] +; 000234: 043100001000 .lose 1000 ;"$9 ( " +; 000235: 400240000000 setz 5, ;"@"@ " "@\n\0\0\0" +; 000236: 044040000300 .uset 1, 300 ;"$@@ # " +; 000237: 316100000301 camn 2, 301 ;"9Q #!" +; 000240: 660240400000 tro 5, 400000 ;"V"@@ " +; 000241: 042040000007 .close 1, ;"$0@ '" +; 000242: 254020000230 jrst @230 ;"5@0 "8" + +; Data: +; +; 000243: 135651344630 ldb 15, 344630(11) ;"+NI