1
0
mirror of https://github.com/DoctorWkt/pdp7-unix.git synced 2026-01-22 18:42:48 +00:00

Merge remote-tracking branch 'origin/master'

This commit is contained in:
Warren Toomey 2016-02-27 07:43:33 +10:00
commit acabff9688
13 changed files with 264 additions and 61 deletions

View File

@ -1,4 +1,4 @@
AS7=../tools/as7 -d
AS7=../tools/as7
system:
$(AS7) s?.s > output
$(AS7) s?.s sop.s > output

View File

@ -6,16 +6,19 @@ For modified versions of these files, look in src/cmds and src/sys.
Details of the files:
s1.s: pages 2-5 of 01-s1.pdf, incomplete
s2.s: pages 7-
s3.s: pages 14-
s4.s: pages 21-
s5.s: pages 28-
s6.s: pages 34-
s7.s: pages ??? of ???
s8.s: pages ??? of ???
s9.s: pages ??? of ???
sx.s: temp symbol defns (pages ??? of s1.s)
s1.s: pages 2-5 of 01-s1.pdf
s2.s: pages 7-12 of 01-s1.pdf
s3.s: pages 14-19 of 01-s1.pdf
s4.s: pages 21-26 of 01-s1.pdf
s5.s: pages 28-32 of 01-s1.pdf
s6.s: pages 34-38 of 01-s1.pdf
s7.s: pages 41-46 of 01-s1.pdf
s8.s: pages 48-51 of 01-s1.pdf
s9.s: pages 53-54 of 01-s1.pdf
sop.s pages 62-63 of 01-s1.pdf
sx.s: temp additional symbol defns
maksys.s: page 64 of 01-s1.pdf
trysys.s: page 65 of 01-s1.pdf
bc.s: pages 7-11 of 06-5-12.pdf
bi.s: pages 12-19 of 06-5-12.pdf

52
scans/maksys.s Normal file
View File

@ -0,0 +1,52 @@
"** 01-s1.pdf page 64 -- handwritten maksys
" copy a.out to disk track 18x
" where x is the argument
lac 017777 i; sad d8; skp; jmp error
lac 017777; tad d5; dac track
lac i track; lrss 9; tad om60
spa; jmp error; dac track
tad dm10; sma; jmp error
sysopen; a.out; 0
spa; jmp error
sys read; bufp; buf; 3072
sad .-1
jmp error
dscs
-3072; dslw
lac bufp; dslm
lac track; alss 8; xor o300000; dsld
lac o30000; dsls
dssf; jmp .-1
dsrs; spa; jmp error
-1024; dslw
lac d3072; dslm
lac track; alss 8; xor o300110; dsld
lac o3000; dsls
dssf; jmp .-1
dsrs; spa; jmp error
sys exit
error:
lac d1; sys write; 1f; 2
sys exit
1: 077077;012
dm10: -10
dm5: 5
om60: -060
o300000: 0300000
o300100: 0300110
d8: 8
d3072: 3072
o3000: 03000
d1: 1
a.out:
<a.>;<ou>;<t 040;040040
track: .=.+1
buf:

View File

@ -98,12 +98,12 @@
jms arg
dac 2f
lac d4
jms namei; 0; 0
jms namei; 0:0
jms error
jms namei; 1; 0
jms namei; 1:0
jms error
dac u.base
jms copy; 2; 0; name; 4
jms copy; 2:0; name; 4
lac u.cdir
jms namei; name
skp
@ -160,12 +160,12 @@
jms arg
dac 1f
lac u.cdir
jms namei; 0;0
jms namei; 0:0
jms error
lac d1
dac mode
jms access
jms copy; 1; 0; d.name; 4
jms copy; 1:0; d.name; 4
jmp okexit
.time:
@ -197,7 +197,7 @@
lac d2
dac mode
lac u.cdir
jms namei; 0; 0
jms namei; 0:0
jms error
jms iget
jms access

View File

@ -51,8 +51,8 @@ lookfor: 0
law sysexit
dac u.swapret
lac o200000
tad u.listp i
dac u.listp i
tad u.ulistp i
dac u.ulistp i
jms dskswap; 07000
lac 9f+t
dac u.ulistp
@ -138,7 +138,7 @@ t = t+1
sad u.ac
skp
jmp 1b i
lac 1u+2
lac lu+2
sad dm1
jmp 1f
lac o100000
@ -158,7 +158,7 @@ t = t+1
1:
-3
tad 8
dac 0f+t
dac 9f+t
lac o700000
tad 9f+t i
dac 9f+t i
@ -281,7 +281,7 @@ rkbdi:
3:
jms sleep; sfiles+2
jms swap
jmp rkdbi
jmp rkbdi
wdspo:
jms chkint1

View File

@ -55,7 +55,7 @@ free: 0
t = t+1
laci: 0
and o1777
and o17777
tad o200000
dac .+1
lac ..
@ -144,7 +144,7 @@ getchar: 0
tad o200001
dac .+3
cla
jms putc
jms putq
lac q2+1 ..
isz getchar
jmp i getchar
@ -155,7 +155,7 @@ takeq: 0
dac .+7
tad o640000
dac .+17
dad s1
tad d1
dac .+14
tad o500000
dac .+5
@ -234,7 +234,7 @@ collapse: 0
sna
jmp 0f+3
dac 0f+2
jms copy; 0; ..; ..; ..
jms copy; 0:..; ..; ..
-65
tad edskbsp
dac 9f+t
@ -242,7 +242,7 @@ collapse: 0
dac 0f
lac dskaddr
dac 9f+t i
jms copy; dskbuf; 0; ..; 64
jms copy; dskbuf; 0:..; 64
jmp collapse i
dskrd: 0
@ -265,7 +265,7 @@ dskrd: 0
dac .+2
jms copy; ..; dskbuf; 64
2:
jms collaps
jms collapse
jmp dskrd i
dskwr: 0

View File

@ -89,6 +89,11 @@ forall: 0
lrs 9
and o777
jmp forall i
failr:
lac u.base
add o400000
dac u.base
jmp forall+1
1:
lac u.count
dac u.ac
@ -207,7 +212,7 @@ dspnl: 0
jmp dspnl i
1:
lac o2000
wbi "** ??
wbl
isz dspput
jmp dspput i

View File

@ -3,15 +3,16 @@
pibreak:
dac .ac "** CROSSED OUT....
lpsf
dpsf
jmp 1f
lpcf
dprs "** ??
dpcf
dprs
dac dpstat
sma ral
jmp 2f
dprc "** ??
dprc
dac dpchar
-1
dac dpread
@ -71,11 +72,7 @@ cnop:
jmp piret
1: lds "** BEGIN CROSSED OUT
sma ra1
jmp 1f
cdf
lac .dspb
sna
sma ral
jmp 1f
cdf
lac .dspb
@ -86,8 +83,16 @@ cnop:
jmp dsprestart
dac .dspb
jmp piret
dsprestart:
lac d1
dac .dspb
lac dspbufp
beg "** ???
-10
dac .dsptm
jmp piret
1: sna ra1
1: sna ral
jmp .+3
racf
jmp piret
@ -125,7 +130,7 @@ cnop:
"** 01-s1.pdf page 43
jms ptcr
jms putcr
jms ttyrestart
jmp piret
@ -261,7 +266,7 @@ ttyrestart: 0
jms wakeup
dac sfiles+6
cla
wbi
wbl
jmp piret "** END CROSSED OUT
1: crsf
@ -277,7 +282,7 @@ ttyrestart: 0
piret:
lac 0
rai
ral
lac .ac
ion
jmp 0 i
@ -292,7 +297,7 @@ wakeup: 0
dac 2f+1
1:
lac 9f+t
rao
ral
dac 9f+t
sma
jmp 2f+2

View File

@ -4,7 +4,7 @@
" manifests
mnproc = 10
dspbss = 270
dspbsz = 270
ndskbs = 4
" flags
@ -24,7 +24,7 @@ maxquant: 30
ofilesp: u.ofiles
idskpp: i.dskps
dskbufp: dskbuf
edspbuf: dspbuf+dspbzs
edspbuf: dspbuf+dspbsz
fblksp: s.fblks
dacq1: dac q1
lacq1: lac q1
@ -113,7 +113,7 @@ coldentry:
ion
clon
law 3072
vcga
wcga
jms dspinit
law dspbuf
jms movdsp
@ -142,6 +142,7 @@ ttydelay: .=.+1
name: .=.+4
lnkaddr: .=.+1
char: .=.+1
dskaddr: .=.+1
uniqpid: 1
lu: .=.+4
sfiles: .=.+10
@ -180,7 +181,7 @@ userdata:
u.uid: -1
u.pid: 1
u.cdir: 3
u.ulistp: clist
u.ulistp: ulist
u.swapret: 0
u.base: 0
u.count: 0
@ -200,6 +201,7 @@ inode:
i.uniq: .=.+1
.= inode+12
di: .=.+1
dnode:
d.i: .=.+1
d.name: .=.+4
d.uniq: .=.+1

View File

@ -1,4 +1,4 @@
"** 01-s1.pdf page 54
"** 01-s1.pdf page 53
" s9 -- cold boot
. = coldentry+4
@ -8,7 +8,7 @@
dzm ii
jms copyz; dskbuf; 64
1:
iac ii
lac ii
jms dskio; 0700
isz ii
-710
@ -38,11 +38,11 @@
jmp 1b " 0 count means pause
dac xx
isz ii
iac ii
lac ii
jms iget
jms copyz; inode; 12
jms getw " flags
dac i.dlags
dac i.flags
-1
dac i.uid
jms getw " number links
@ -51,7 +51,7 @@
tad xx
dac i.size
lac ii
dac u.uniq
dac i.uniq
law 4096-1
dac 8
-1
@ -65,7 +65,7 @@
2:
jms getw
dac 8 i
iss xx
isz xx
jmp 2b
3:
lac sum
@ -80,7 +80,7 @@
jms iwrite; 4096; ..
jms iput
cla
jms dksio
jms dskio
@ -90,13 +90,13 @@
getw: 0
jms getc
alss 12
imq
lmq
jms getc
omg
lmg
omq
lmq
jms getc
omg
lmg
omq
lmq
add sum
dac sum
lacq

97
scans/sop.s Normal file
View File

@ -0,0 +1,97 @@
"** 01-s1.pdf page 62
" sop
dac = 0040000
jms = 0100000
dzm = 0140000
lac = 0200000
xor = 0240000
add = 0300000
tad = 0340000
xct = 0400000
isz = 0440000
and = 0500000
sad = 0540000
jmp = 0600000
nop = 0740000
i = 020000
law = 0760000
cma = 0740001
las = 0750004
ral = 0740010
rar = 0740020
hlt = 0740040
sma = 0740100
sza = 0740200
snl = 0740400
skp = 0741000
sna = 0741200
szl = 0741400
rtl = 0742010
rtr = 0742020
cil = 0744000
rcl = 0744010
rcr = 0744020
cia = 0750000
lrs = 0640500
lrss = 0660500
lls = 0640600
llss = 0660600
als = 0640700
alss = 0660700
mul = 0653323
idiv = 0653323
lacq = 0641002
clq = 0650000
omq = 0650002
cmq = 0650004
lmq = 0652000
dscs = 0707141
dslw = 0707124
dslm = 0707142
dsld = 0707104
dsls = 0707144
dssf = 0707121
dsrs = 0707132
iof = 0700002
ion = 0700042
caf = 0703302
clon = 0700044
clsf = 0700001
"** 01-s1.pdf page 63
clof = 0700004
ksf = 0700301
krb = 0700312
tsf = 0700401
tcf = 0700402
tls = 0700406
sck = 0704301
cck = 0704304
lck = 0704312
rsf = 0700101
rsa = 0700104
rrb = 0700112
psf = 0700201
pcf = 0700202
psa = 0700204
cdf = 0700501
lds = 0701052
lda = 0701012
wcga = 0704206
raef = 0700742
rlpd = 0700723
beg = 0700547
spb = 0704401
cpb = 0704404
lpb = 0704412
wbl = 0704424
dprs = 0704752
dpsf = 0704741
dpcf = 0704761
dprc = 0704712
crsf = 0706701
crrb = 0706712

View File

@ -1,4 +1,3 @@
" For now, this stuff is defined so that
" the assembler doesn't complain about it

40
scans/trysys.s Normal file
View File

@ -0,0 +1,40 @@
"** 01-s1.pdf page 65
" trysys
sys open; a.out; 0
spa
jmp error
sys read; buf; 3072
sad .-1
jmp error
iof
caf
cdf
clof
law buf
dac t1
dzm t2
-3072
dac c1
1:
lac t1 i
dac r2 i
isz t1
isz r2
isz c1
jmp 1b
jmp 0100
error:
lac d1
sys write; 1f; 1
sys exit
1: 077012
a.out:
<a.>;<ou><t 040; 040040
t1: 0
t2: 0
c1: 0
d1: 1
buf: