From 0b0ea2e637c986fe5888019c2f476a3171f95b7a Mon Sep 17 00:00:00 2001 From: Phil Budne Date: Thu, 25 Feb 2016 18:59:46 -0500 Subject: [PATCH] typed in files s5-s9 from 01-s1.pdf --- scans/s5.s | 272 +++++++++++++++++++++++++++++++++++++++ scans/s6.s | 341 +++++++++++++++++++++++++++++++++++++++++++++++++ scans/s7.s | 363 +++++++++++++++++++++++++++++++++++++++++++++++++++++ scans/s8.s | 210 +++++++++++++++++++++++++++++++ scans/s9.s | 117 +++++++++++++++++ 5 files changed, 1303 insertions(+) create mode 100644 scans/s5.s create mode 100644 scans/s6.s create mode 100644 scans/s7.s create mode 100644 scans/s8.s create mode 100644 scans/s9.s diff --git a/scans/s5.s b/scans/s5.s new file mode 100644 index 0000000..3baf07f --- /dev/null +++ b/scans/s5.s @@ -0,0 +1,272 @@ +"** 01-s1.pdf page 28 +" s5 + +dskswap: 0 + cli; ais 3 + dac 9f+t + jms dsktrans; -64; userdata; 9f+t; dskswap + lac 0f+t + tad o20 + dac 9f+t + jms dsktrans; -4096; 4096; 9f+t; dekswap + isc dskswap + jmp dskswap + +t = t+1 + +access: 0 + lac i.flags + idunno "** ??? + lac u.uid + spa + jmp access i + sad i.uid + ird 2 + lacq + and mode + sza + jmp access i + jms error + +fassign: 0 + -1 + dac 9f+t +1: + lac 9f+t + tad d10 + jms fget + jms halt " will not happen + lac f.flags + sma + jmp 1f + isz 9f+t + jmp 1b + jmp fassign i +1: + lac mode + xor o400000 + dac f.flags + lac ii + dac f.i + lac 9f+t + tad d10 + dac u.ac + dzm f.badd + jms fput + isz fassign + jmp fassign i +t = t+1 + +fget: 0 + jms betwen; d0; d9 + jmp fget i + cli; mul; 3 + iacq "** ?? +"** 01-s1.pdf page 29 + + tad ofilesp + dac 9f+t + dac .+2 + jms copy; ..; fnode; 3 + isz fget + jmp fget i + +fput: 0 + lac 9f+t + dac .+3 + jms copy; ; fnode; ..; 3 + jmp fput i +t = t+1 + +forall: 0 + lac u.base + sad u.limit + jmp 1f + lac u.base + rai + lac u.base i + sni + lrs 9 + and o777 + jmp forall i +1: + lac u.ount + dac u.ac + jmp sysexit + +sleep: 0 + law ulist-1 + dac 8 + lac o200000 + lmq "** ??? +1: + lac u.ulistp i + sad 8 i + jmp 1f + isz 8 + isz 8 + isz 8 + cla; lrs 1 + jmp 1b +1: + tad o100000 + dac u.ulistp i + lac sleep i + dac 9f+t + lac 9f+t i + isz sleep + jmp sleep i +t = t+1 + +"** 01-s1.pdf page 30 + +dslot: 0 + dzm di + skp +1: + isz di + lac di + jms dget + lac d.i + sza + jmp 1b + jmp dslot i + +icreat: 0 + dac 9f+t + jms dslot + lac o20 + dac ii +1: + isz ii + lac ii + jms iget + lac i.flags + spa + jmp 1b + lac ii + dac d.i + jms copy; name; d.name; 4 + isz s.uniq + lac s.uniq + dac d.uniq + dac i.uniq + lac 9f+t + xor o400000 + dac i.flags + lac u.uid + dac u.uid + -1 + dac i.niks + dzm i.size + jms copyz; i.dskps; 7 + jms iput + jms dput + jmp icreat i +t = t+1 + +dspput: 0 + and o177 + sna + jmp i dspput + sad o14 + jmp 1f + img "** ??? + sad o12 + jmp dspni + lac dsploc i + sad o400000 + jmp dspleft + omq + dac dsploc i + isz dsploc + jmp i dspput + +"** 01-s1.pdf page 31 + +1: + jms dspinit + jmp dspput i + +dspleft: + lac dsploc + sad edspbuf + jmp 1f + dac 8 + lac o400000 + dac 8 i + cla; liss 18+7 + dac dsploc i + jmp dspput i + +dspni: 0 + lac dspino + sad d33 + jmp 1f + isz dspino + jmp dspni i +1: + lac o2000 + wbi + isz dspput + jmp dspput i + +dspinit: 0 + lac dspbuf+3 + dac dsploc + lac o300000 + dac dspbuf+3 + dzm dspino + jmp dspinit i + +movdsp: 0 + iof + cdf + dac dspbufp + -1 + dac .dspb + ion + jmp movdsp i + +arg: 0 + lac u.rq+8 i + isz u.rq+8 + jmp arg i + +argname: 0 + jms arg + dac .+2 + jms copy; ..; name; 4 + lac u.edir + jms namei; name + jms error + jmp argname i + +seektell: 0 + jms arg + dac u.base + +"** 01-s1.pdf page 32 + jms arg + dac u.limit + jms finac + lac u.limit + sna + jmp seektell i + sad d1 + jmp .+3 + lac i.size + jmp seektell i + lac f.badd + jmp seektell i + +isown: 0 + jms argname + jms iget + lac u.uid + sma + sad i.uid + skp + jms error + jmp isown i + diff --git a/scans/s6.s b/scans/s6.s new file mode 100644 index 0000000..9f6559d --- /dev/null +++ b/scans/s6.s @@ -0,0 +1,341 @@ +"** 01-s1.pdf page 34 +" S6 + +itrunc: 0 + -7 + dac 9f+t + lac idskpp + dac 9f+t+1 +1: + lac 9f+t+1 i + sna + jmp 4f + lac i.flags + and o200000 + sna + jmp 3f + -64 + dac 9f+t+2 + lac dskbufp + dac 9f+t+3 +2: + lac 9f+t+1 i + jms dskrd + lac 9f+t+3 i + sza + jms free + isz 9f+t+3 + isz 9f+t+3 + jmp 2b +3: + lac 9f+t+1 i + jms free + dzm 9f+t+1 i +4: + isz 9f+t+1 + isz 9f+t + jmp 1b + lac i.flags + and o577777 + dac i.flacs + jmp itrunc i +t = t+4 + +namei: 0 + jms iget + -1 + tad namei i + dac 9f+t+1 + isz namei + lac i.flags + and o20 + sna + jmp namei i + -8 + tad i.size + cma + irss 3 + dac 9f+t + sna + jmp namei i + dzm di +1: + lac di + +"** 01-s1.pdf page 35 + + jms dget + lac d.i + sna + jmp 2f + lac 9f+t+1 + dac 8 + lac d.name + sad 8 i + skp + jmp 2f + lac d.name+1 + sad 8 i + skp + jmp 2f + lac d.name+2 + sad 8 i + skp + jmp 2f + lac d.i + isz namei + jmp namei 1 +2: + isz di + isz 9f+t + jmp 1b + jmp namei i +t = t+2 + +iget: 0 + dac ii + cli; idiv; 5 + dac 9f+t + tad d2 + dac 9f+i+1 + jms dskrd + lac 9f+t + cli; mul; 12 + lacq + tad dskbufp + dac 9f+t + dac .+2 + jms copy; ..; inode; 12 + jmp iget i + +iput: 0 + lac 9f+t+1 + jms dskrd + law inode-1 + dac 8 + -1 + tad 9f+t + dac 9 + -12 + dac 9f+t+2 +1: + lac 8 i + +"** 01-s1.pdf page 36 + + sad 9 i + skp + jmp 2f + isz 9f+t+2 + jmp 1b + jmp iput i +2: + -1 + tad 8 + dac 8 + -1 + tad 9 + dac 9 +1: + lac 8 i + dac 9 i + isz 9f+t+2 + jmp 1b + lac 9f+t+1 + jms dskwr + jmp iput i +t = t+3 + +dget: 0 + dac di + alss 3 + dac 9f+t + jms pget + fac 9f+t+1 + jms dskrd + lac 9f+t + and o77 + tad dskbufp + dac 9f+t+2 + dac .+2 + jms copy; ..; dnode; 8 + lac 9f+t + tad d8 + jms betwen; d0; i.size + skp + jmp dget i + jms dacisize + dzm d.i + jmp dget i + +dput: 0 + lac 9f+t+1 + jms dskrd + lac 9f+t+2 + dac .+3 + jms copy; dnode; ..; 8 + lac 9f+t+1 + jms dskwr + jmp dput i + +t = t+3 "** first t not there (hole from hole punch?) + +pget: 0 + irss 6 + dac 9f+t + lac i.flags + +"** 01-s1.pdf page 36 + + and o200000 + sza + jmp 2f + lac 9f+t + jms betwen; d0; d6 + jmp 1f + rad idskpp + dac 9f+t + lac 9f+t i + sna + jms alloc + dac 9f+t i + jmp pget i +1: + jms alloc + dac 9f+t+1 + jms copy; idskps; dskbuf; 7 + jms copyz; dskbuf+7; 6467 "** NUMBER UNCLEAR 64-7??? + lac 9f+t+1 + jms dskwr + lac 9f+t+1 + dac i.dskps + jms copyz; i.dskps+1; 6 + lac i.flags + xor o200000 + dac i.flags +2: + lac 9f+t + lrss 7 + jms betwen; d0; d6 + jms halt " file too big + tad idskpp + dac 9f+t+1 + lac 9f+t+1 i + sna + jms alloc + dac 9f+t+1 i + dac 9f+t+2 + jms dskrd + lac 9f+t + and o77 + tad dskbufp + dac 9f+t+1 + lac 9f+t+1 i + sza + jmp pget i + jms alloc + dac 9f+t + lac 9f+t+2 + jms dskrd + lac 9f+t + jmp pget i +t = t+3 + +iwrite: 0 + dac 9f+t + lac iwrite + +"** 01-s1.pdf page 38 + + dac oread + lac cslp + dac iwrite + jmp 1f + +iread: 0 + dac 9f+t + lac cnop + dac iwrite +1: + -1 + tad iread i + dac 10 + dac 11 + isz iread + lac iread i + dac 9f+t+1 + isz iread + lac o70000 + xct iwrite + lac i.size + cma + tad 9f+t + cma + jms betwen; d0; 9f+t+1 + lac 9f+t+1 + dac 9f+t+2 + cma + tad d1 + sna + jmp iread i + dac 9f+t+1 +1: + lac 9f+t + jms pget + das 9f+t+3 + jms dskrd + lac 9f+t + and o77 + tad dskbufp + tad dm1 + xct iwrite + jmp .+3 + dac 10 +cskp: + skp + dac 11 +2: + lac 11 i + dac 10 i + isz 9f+t + isz 9f+t+1 + jmp 3f + xct iwrite + jmp 4f + lac 9f+t + jms betwen; d0; i.size + dac i.size + lac 9f+t+3 + 4: +"** 01-s1.pdf page 38 + lac 9f+t+2 + jmp iread i + +3: + lac 9f+t + and o77 + sza + jmp 2b + xct iwrite + jmp 1b + lac 9f+t+3 + jms dskwr + jmp 1b +t = t+4 + +finac: 0 + lac u.ac + jms fget + jms error + lac f.flags + sma + jms error + lac f.i + jms ihet + jms finac i + +dacisize: 0 + dac i.size + jms iput + lac i.size + jmp dacisize i diff --git a/scans/s7.s b/scans/s7.s new file mode 100644 index 0000000..224f223 --- /dev/null +++ b/scans/s7.s @@ -0,0 +1,363 @@ +"** 01-s1.pdf page 41 +" s7 + +pibreak: + dac .ac "** CROSSED OUT.... + dpsf + jmp 1f + + dpcf + dprs + dac dpstat + sma rad + jmp 2f + dprc + dac dpchar + -1 + dac dpread + lac dpstat + rai +2: + sma + jmp piret + -1 + dac dpwrite + jmp piret "** END OF CROSSOUT + +1: clsf + jmp 1f + + lpb + dac pbsfigs + isz s.tim+1 + skp + isz s.tim + isz uquant + "** written: ttydelay -> ttyd1 + "** written: ttyrestart -> ttyres1 +cnop: + nop + -1 + dac 7 + clon + lac ttydelay + spa + isz ttydelay + skp + jms ttyrestart + lac .dspb "** START CROSSED OUT: written: lac tty + sna + jmp piret + isz .dsptm + skp + jmp dsprestart + sad d3 + jmp piret + isz .dspb + jmp piret + jmp dsprestart "** END CROSSED OUT + +1: dssf + jmp 1f + + -1 + dac .dskb + +"** 01-s1.pdf page 42 + + dsrs + dac .dske + dscs + jmp piret + +1: lds "** BEGIN CROSSED OUT + sma ra1 + jmp 1f + cdf + lac .dspb + sna + jmp 1f + cdf + lac .dspb + sna + jmp piret + tad dm3 + sna + jmp dsprestart + dac .dspb + jmp piret + +1: sna ra1 + jmp .+3 + racf + jmp piret + sma + jmp 1f + lda + dac .lpba + rlpd + jmp piret + +1: ksf + jmp 1f + + lac ttydelay + sma + isz ttydelay + krb + dac char + sad o375 + jmp intrp1 + lac d1 + jms putchar + dzm char + lac sfiles+0 + jms wakeup + dac sfiles+0 + lac char + sad o212 + skp + jmp piret + lac sfiles+1 + sma + xor o400000 + dac sfiles+1 + +"** 01-s1.pdf page 43 + + jms ptcr + jms ttyrestart + jmp piret + +1: tsf + jmp 1f + + tcf + jms ttyrestart + jmp piret + +ttyrestart: 0 + lac ttydelay + spa + jmp ttyrestart i + lac nttychar + dzm nttychar + sza + jmp 3f + isz ttydelay + lac d2 + jms getchar + jmp 2f +3: + tls + sad o12 + jms putcr + sad o15 + skp + jmp ttyrestart i + lac ttydelay + tad o20 + rcr + cma + dac ttydelay + jmp ttyrestart i +2: + lac sfiles+1 + jms wakeup + dac sfiles+1 + jmp ttyrestart i "** written arrow up 2 copies + +1: sck "** BEGIN CROSSED OUT + jmp 1f + + cck + lck + dac char + sad o33 + jmp intrp2 + lac d3 + jms putchar + nop + lac sfiles+2 + jms wakeup + dac sfiles+2 + jmp piret + +1: rsf + jmp 1f + + +"** 01-s1.pdf page 44 + + lac npptchar + sna + jmp .+5 + dac char + rrb + dac npptchar + jmp .+3 + rrb + dac char +3: + lac char + sna + jmp 2f + lac d4 + jms putchar + jmp 3f + lac char + sad d4 + jmp 4f +2: + lac npptchar + sna + jmp .+4 + dac char + dzm npptchar + jmp 3b + rsa + lac sfiles+3 + jms wakeup + xor o400000 + dac sfiles+3 + jmp piret +3: + lac char + dac npptchar +4: + lac sfiles+3 + jms wakeup + dac sfiles+3 + jmp piret + +1: psf + jmp 1f + + pcf + lac d5 + jms getchar + jmp .+3 + psa + jmp piret + lac sfiles+4 + jms wakeup + dac sfiles+4 + jmp piret + +1: spb "** BEGIN CROSSED OUT + jmp 1f + + cpb + lpb + dac pbsflgs+1 + +"** 01-s1.pdf page 44 + + and o2000 + sna + jmp piret + jms dspinit + lac sfiles+6 + jms wakeup + dac sfiles+6 + cla + wbi + jmp piret "** END CROSSED OUT + +1: crsf + jmp 1f + + crrb + dac crchar + -1 + dac crread + jmp piret + +1: crrb + +piret: + lac 0 + rai + lac .ac + ion + jmp 0 i + +wakeup: 0 + dac 9f+t + -mnproc + dac 9f+t+1 + lac tadu + dac 2f + lac dacu + dac 2f+1 +1: + lac 9f+t + rao + dac 9f+t + sma + jmp 2f+2 + lac o700000 +2: tad .. + dac .. + lac 2b + tad d4 + dac 2b + lac 2b+1 + tad d4 + dac 2b+1 + isz 9f+t+1 + jmp 1b + cla + jmp wakeup i + +t = t+2 + +putcr: 0 + lac o15 + dac nttychar + +"** 01-s1.pdf page 46 + + cla + jmp putcr i + +intrp1: + lac d5 + dac .int1 + lac d1 + jms getchar + skp + jmp .-3 + lac d2 + jms getchar + skp + jmp .-3 + lac sfiles+0 + jms wakeup + dac sfiles+0 + lac sfiles+1 + jms wakeup + dac sfiles+1 + jms chkint + jmp piret + jmp 1f +intrp2: + lac d7 + dac .int2 + lac d3 + jms getchar + skp + jmp .-3 + lac sfiles+2 + jms wakeup + dac sfiles+2 + lac sfiles+6 + jms wakeup + dac sfiles+6 + jms chkint + jmp piret +1: + lac 0 + dac 020 + lac .ac + jmp 021 diff --git a/scans/s8.s b/scans/s8.s new file mode 100644 index 0000000..a26d3e9 --- /dev/null +++ b/scans/s8.s @@ -0,0 +1,210 @@ +"** 01-s1.pdf page 48 + +" s8 + +" manifests +mnproc = 10 +dspbss = 270 +ndskbs = 4 + +" flags +.insys: 0 +.int1: 0 +.int2: 0 +.ac: 0 +.savblk: 0 +.dsptm: 0 +.dskb: 0 +.dske: 0 + +" pointers +tadu: tad ulist +dacu: dac ulist +maxquant: 30 +ofilesp: u.ofiles +idskpp: i.dskps +dskbufp: dskbuf +edspbuf: dspbuf+dspbzs +fblksp: s.fblks +dacq1: dac q1 +lacq1: lac q1 +q2p: q2 + +" strings +initf: + n;t;< > ;< > " + +" constants +d0: 0 +d1: 1 +d2: 2 +d3: 3 +d4: 4 +d5: 5 +d6: 6 +d7: o7: 07 +d8: 8 +d9: 9 +o12: d10: 10 +o14: 014 +o15: 015 +o17: 017 +o20: 020 +o33: 033 +o40: 040 +o55: 055 +o77: 077 +d65:o101: 0101 +d33: 33 +o132: 0132 +o134: 0134 +o137: 0137 +o155: 0155 +o177: 0177 +"** 01-s1.pdf page 49 +o232: 0212 +o375: 0375 +o777: 0777 +o2000: 02000 +o4000: 04000 +d7999: 7999 +o10000: 010000 +o17762: 017762 +o17777: 017777 +o20001: 020001 +o40000: 040000 +o40001: 040001 +o77777: 077777 +o100000: 0100000 +o140000: 0140000 +o200000: 0200000 +o200001: 0200001 +o300000: 0300000 +o400000: 0400000 +o500000: 0500000 +o577777: 0577777 +o600000: 0600000 +o640000: 0640000 +o700000: 0700000 +o777700: 0777700 +o777760: 0777760 +dm3: -3 +dm1: -1 + +9: .=.+t +c1: .=.+1 +q1: q2;q2+90 + .=.+14 +q2: + .+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0 + .+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0 + .+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0 + .+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0 + .+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0 +dsploc: .=.+1 +dspinc: .=.+1 +dspbuf: + 0065057;0147740;0160000 + .=.+30 +coldentry: + dzm 0100 " not re-entrant + caf + ion + clon + law 3072 + vcga + jsp dspinit + law dspbuf + jsp movdsp + cla + jsp dskio; 06000 + jms copy; dskbuf; sysdata; ulist-sysdata + lac d3 + jms namei; initf + jms halt +"** 01-s1.pdf page 50 + jms iget + cla + jms iread; 4096; 4096 + jmp 4096 + . = dspbuf+dspbsz+3 +dskbuf = 07700 +dskbs: .=.+65+65+65+65 +edskbsp: . +uquant: .=.+1 +dspbufp: .=.+1 +pbsflgs: .=.+2 +mode: .=.+1 +nttychar: .=.+1 +npptchar: .=.+1 +ttydelay: .=.+1 +name: .=.+4 +lnkaddr: .=.+1 +char: .=.+1 +uniqpid: 1 +lu: .=.+4 +sfiles: .=.+10 +dpdata: + dpstat: .=.+1 + dpread: .=.+1 + dpwrite: .=.+1 + dpchar: .=.+1 +dspdata: + .dspb: .=.+1 + .lpba: .=.+1 "** 4 written on listing +crdata: + crread: .=.+1 + crchar: .=.+1 +sysdata: + s.nxfblk: .=.+1 + s.nfblks: .=.+1 + s.fblks: .=.+10 + s.uniq: .=.+1 + s.tim: .=.+2 +ulist: + 0131000;1;0;0 + 0031040;0;0;0 + 0031100;0;0;0 + 0031140;0;0;0 + 0031200;0;0;0 + 0031240;0;0;0 + 0031300;0;0;0 + 0031340;0;0;0 + 0031400;0;0;0 + 0031440;0;0;0 +userdata: + u.ac: 0 + u.mq: 0 + u.rq: .=.+9 + u.uid: -1 + u.pid: 1 + u.cdir: 3 + u.ulistp: clist + u.swapret: 0 + u.base: 0 + u.count: 0 +"** 01-s1.pdf page 51 + u.limit: 0 + u.ofiles: .=.+30 + u.dspbuf: 0 + u.intflg: 1 + .=userdata+64 +ii: .=.+1 +inode: + i.flags: .=.+1 + i.dskps: .=.+7 + i.uid: .=.+1 + i.lks: .=.+1 + i.size: .=.+1 + i.uniq: .=.+1 + .= inode+12 +di: .=.+1 + d.i: .=.+1 + d.name: .=.+4 + d.uniq: .=.+1 + . = dnode+8 +fnode: + f.flags: .=.+1 + f.badd: .=.+1 + f.i: 0 + diff --git a/scans/s9.s b/scans/s9.s new file mode 100644 index 0000000..77004b2 --- /dev/null +++ b/scans/s9.s @@ -0,0 +1,117 @@ +"** 01-s1.pdf page 54 +" s9 -- cold boot + +. = coldentry+4 + +" zero i-list + + dzm ii + jms copyz; dskbuf; 64 +1: + iac ii + jms dskio; 0700 + isz ii + -710 + tad ii + jmp 1b + +" free rest of disk + +1: + lac ii + jms free + isz ii + -6400 + tad ii + sza + jmp 1b + +" read in tapes + + dzm ii +1: + dzm sum + jms getw " count + sza + jmp .+3 + hlt + jmp 1b " 0 count means pause + dac xx + isz ii + iac ii + jms iget + jms copyz; inode; 12 + jms getw " flags + dac i.dlags + -1 + dac i.uid + jms getw " number links + dac i.nlks + -2 + tad xx + dac i.size + lac ii + dac u.uniq + law 4096-1 + dac 8 + -1 + tad i.size + cma + sna + jmp 3f + dac xx + +"** 01-s1.pdf page 54 +2: + jms getw + dac 8 i + iss xx + jmp 2b +3: + lac sum + dac xx + jms getw " checksum + sad xx + skp + jms halt + lac i.size + dac .+4 + cla + jms iwrite; 4096; .. + jms iput + cla + jms dksio + + + +; 07000 "** writing on listing + jmp 1b + +getw: 0 + jms getc + alss 12 + imq + jms getc + omg + lmg + jms getc + omg + lmg + add sum + dac sum + lacq + jmp getw i + +getc: 0 + iof + rsa + rsf + jmp .-1 + rrb + sna + jmp getc+1 + and o77 + ion + jmp getc i +xx: 0 +sum: 0