1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-16 16:28:40 +00:00
PDP-10.its/src/syseng/modems.20
Eric Swenson 336bbaa979 Added channa and dragon directories, and added sources for netime,
dmpcpy, fsdefs, modems, netwrk, and pft.
2016-11-18 19:27:06 +01:00

97 lines
1.7 KiB
Plaintext
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; -*- Midas -*-
title MODEMS - Initialize Hairy Modems
; Here in the future, modems are smarter than we are.
a=:1
b=:2
c=:3
d=:4
e=:5
t=:6
tt=:7
chttyo=:10
slose=:.lose %lssys
quit=:.logout 1,
tyo=:.iot chttyo,
define syscall name,args
.call [setz ? sixbit /name/ ? args(400000)]
termin
go: syscall sstatu,[repeat 6,[ ? movem a]]
slose
movsi b,-lmchtab
came a,mchtab(b)
aobjn b,.-1
jumpge b,done
move a,tabtab(b)
loop: hlrz b,(a)
syscall ttyvar,[movei 400000(b) ? [sixbit /TTYTYP/] ? movem c]
slose
trnn c,%tydil
jrst next
idivi b,10
hrlzi c,'T00(c)
lsh b,24.
add b,c
syscall open,[[.uao\%tjsio,,chttyo] ? b]
jrst next
syscall ttyget,[movei chttyo ? movem b ? movem b ? movem b]
slose
tlne b,%tscns
jrst next ; Don't diddle our own console!
.reset chttyo,
syscall ttyset,[movei chttyo
[<010101,,010101>*%tgact]
[<010101,,010101>*%tgact]]
slose
hrrz b,(a)
hrli b,440700
jrst outlp1
; Each character is output preceeded by a 1/3 second pause.
; Except ^P just causes a 2 second pause.
; Except ^Q outputs the next character immediately.
outlpq: ildb c,b
outlp: tyo c
outlp1: ildb c,b
cain c,^Q
jrst outlpq
cain c,^P
jrst [ MOVEI T,60. ? .SLEEP T, ? JRST OUTLP1 ] ; 2 secs
movei t,10. ; 1/3 sec
.sleep t,
jumpn c,outlp
.close chttyo,
next: aobjn a,loop
done: quit
mchtab: sixbit /AI/
sixbit /MC/
lmchtab==:.-mchtab
tabtab: -laitab,,aitab
-lmctab,,mctab
ifn <.-tabtab>-lmchtab, .err TABTAB wrong size
; On AI, T03 and T04 are connected to shitty maxel modems.
aitab: 3,,maxel
4,,maxel
laitab==:.-aitab
; On MC, T01 and T02 are connected to shitty maxel modems.
mctab: 1,,maxel
2,,maxel
lmctab==:.-mctab
maxel: asciz "+++îîîîîIîATZîATS0=1S2=26E0Q1î"
cnstnts:
constants
variables
end go