From 5c3eb06254615b91b7a5eca4617118d830215e23 Mon Sep 17 00:00:00 2001 From: Phil Budne Date: Sat, 19 Oct 2019 00:21:49 -0400 Subject: [PATCH 1/9] a7out: handle ecla llss seen in adm,apr,bc,ds,sh --- tools/a7out | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/a7out b/tools/a7out index ee92b2f..4835c1b 100755 --- a/tools/a7out +++ b/tools/a7out @@ -654,9 +654,11 @@ sub eae { $PC++; return; } - if ( $maskedinstr == 0660600 ) { # llss: long left shift, signed + if ( ($maskedinstr == 0660600) || + ($maskedinstr == 0661600) ) { # llss: long left shift, signed # Set the link to be the AC sign bit $LINK= ($AC & SIGN) ? LINKMASK : 0; + $AC = 0 if ($maskedinstr & 01000); # PLB: ecla llss seen in adm,apr,bc,ds,sh dprintf( "llss step %d\n", $step ); foreach my $i ( 1 .. $step ) { my $MQmsb = ( $MQ & SIGN ) ? 1 : 0; From c5d492f97bcfe0cd053affd41fa6b36e2c39d0d5 Mon Sep 17 00:00:00 2001 From: aap Date: Sat, 19 Oct 2019 12:11:38 +0200 Subject: [PATCH 2/9] Added pool game. Checked once, have not tried to assemble or run. --- scans/p0.s | 37 ++++++++ scans/p1.s | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++++ scans/p2.s | 226 ++++++++++++++++++++++++++++++++++++++++++++++ scans/p3.s | 149 ++++++++++++++++++++++++++++++ scans/p4.s | 202 +++++++++++++++++++++++++++++++++++++++++ scans/p5.s | 156 ++++++++++++++++++++++++++++++++ 6 files changed, 1031 insertions(+) create mode 100755 scans/p0.s create mode 100755 scans/p1.s create mode 100755 scans/p2.s create mode 100755 scans/p3.s create mode 100755 scans/p4.s create mode 100755 scans/p5.s diff --git a/scans/p0.s b/scans/p0.s new file mode 100755 index 0000000..407a7f0 --- /dev/null +++ b/scans/p0.s @@ -0,0 +1,37 @@ +"** 10-36-55.pdf page 1 +osc = 0640001 +omq = 0640002 +otq = 0642000 +cmq = 0640004 +lmq = 0652000 +ecla = 0641000 + +i = 020000 + +save = 1 +getuid = 2 +open = 3 +read = 4 +write = 5 +creat = 6 +seek = 7 +tell = 8 +close = 9 +link = 10 +unlink = 11 +setuid = 12 +rename = 13 +exit = 14 +time = 15 +intrp = 16 +chdir = 17 +chmode = 18 +chowner = 19 +sysloc = 21 +capt = 23 +rele = 24 +status = 25 +sleep = 26 +smes = 27 +rmes = 28 +fork = 29 diff --git a/scans/p1.s b/scans/p1.s new file mode 100755 index 0000000..afe7c9d --- /dev/null +++ b/scans/p1.s @@ -0,0 +1,261 @@ +"** 10-36-55.pdf page 2 +" p1 + +t = 0 + las + dac .sw + law 13 + sys sysloc + dac .pb + jms ballinit + lac nballp + cll; mul; bvsize + lacq + tad listpm1 + dac 15 + tad d1 + sys capt + law outline-1 + dac 8 + -noutline + dac 9f+t +1: + lac 8 i + dac 15 i + isz 9f+t + jmp 1b + lac 15 + dac displist + lac o400000 + dac 15 i + jms dump + +loop: + +" dump/restore + + lac waitup + sza + jmp 2f + lac .pb i + als 5; ral + snl + jmp 1f + jms dump + jmp 3f +1: + sma + jmp 3f + jms restore + jmp 3f +2: + lac .pb i + als 5; ral + szl + jmp 3f + spa + jmp 3f + dzm waitup +3: + sys time + lacq + sad stime + jmp loop +"** 10-36-55.pdf page 3 + tad dmi + sad stime + jmp loop + tad d1 + dac stime + lac .pb i + als 7 + spa + sys exit + + lac displist + dac 15 + + -nball + dac 9f+t + +" q and stich controls + + jms getball; ball1; 9f+t + lac ball1+vx + lmq + lac ball1+vy + omq + sza + jmp 1f + jms stickcont + jms putball; ball1; 9f+t + +1: + jms getball; ball1; 9f+t + +" if in pocket, ignore + + lac ball1+sflg + spa + jmp 4f + lac 9 + dac 14 + +" update + + lac ball1+vx + lrss 6 + tad ball1+x + and o177777 + dac ball1+x + lac ball1+vy + lrss 6 + tad ball1+y + and o177777 + dac ball1+y + +" display + + lac ball1+x + lrss 6 + xor o142000 " setx + dac 15 i + lac ball1+y + lrss 6 + xor o164000 " sety +"** 10-36-55.pdf page 4 + dac 15 i + + law circle-1 + dac 8 + -circsize + dac 9f+t+1 +2: + lac 8 i + dac 15 i + isz 9f+t+1 + jmp 2b + +" degrade velocity + jms frict + +" edge collision + + lac lefttest + tad ball1+x + sma + jmp 2f + jms pocketlr + jmp 4f + lac ball1+vx + sma + jmp 2f + cma + tad d1 + dac ball1+vx +2: + lac bottest + tad ball1+y + sma + jmp 2f + jms pockettb + jmp 4f + lac ball1+vy + sma + jmp 2f + cma + tad d1 + dac ball1+vy +2: + lac righttest + tad ball1+x + spa + jmp 2f + jms pocketlr + jmp 4f + lac ball1+vx + spa + jmp 2f + cma + tad d1 + dac ball1+vx +2: + lac toptest + tad ball1+vy + spa + jmp 2f + jms pockettb +"** 10-36-55.pdf page 5 + jmp 4f + lac ball1+vy + spa + jmp 2f + cma + tad d1 + dac ball1+vy +2: + +" ball/ball collision + + lac 9f+t + tad d1 + sma + jmp 4f + dac 9f+t+1 + +2: + lac 14 i + dac ball2+0 + lac 14 i + dac ball2+1 + lac 14 i + dac ball2+2 + lac 14 i + dac ball2+3 + lac 14 i + dac ball2+4 + lac ball2+sflg + spa + jmp 3f + lac ball1+x + cma + tad ball2+x + cma + lmq + gsm + dac .+3 + lacq + muls; .. + dac 9f+t+3 + lrss 4 + sza + jmp 3f + lac ball1+y + cma + tad ball2+y + cma + lmq + gsm + dac .+3 + lacq + muls; .. + tad 9f+t+3 + lrss 4 + sza + jmp 3f + jms ballball + jms putball; ball2; 9f+t+1 +3: + isz 9f+t+1 +"** 10-36-55.pdf page 6 + jmp 2b +4: + + jms putball; ball1; 9f+t + isz 9f+t + jmp 1b + + lac o400000 + dac 15 i + jmp loop +t = t+3 diff --git a/scans/p2.s b/scans/p2.s new file mode 100755 index 0000000..4006fee --- /dev/null +++ b/scans/p2.s @@ -0,0 +1,226 @@ +"** 10-36-55.pdf page 7 +" p2 + +frict: 0 + las + and d1 + sza + jmp frict i + lac ball1+vx + cll; muls; frfac + dac ball1+vx + lac ball1+vy + cll; muls; frfac + dac ball1+vy + gsm + dac 9f+t + lac ball1+vx + gsm + tad 9f+t + tad minvx + sma + jmp frict i + dzm ball1+vx + dzm ball1+vy + jmp frict i +t = t+1 + +ballball: 0 + llss 15 " x**2+y**2 in q + cma + tad o300000 + dac 1f; dac 2f + lac ball2+y + cma + tad ball1+y + cma + cll; muls; 1:..; llss 6 + dac sin + lac ball2+x + cma + tad ball1+x + cma + cll; muls; 2:..; llss 6 + dac cos + +" calculate closing velocities + + lac ball1+vx + gsm + dac .+3 + lac cos + muls; ..; llss 3 + dac 9f+t + lac ball1+vy + gsm + dac .+3 + lac sin + muls; ..; llss 3 + tad 9f+t + dac vp1 + + lac ball2+vx + gsm +"** 10-36-55.pdf page 8 + dac .+3 + lac cos + muls; ..; llss 3 + dac 9f+t + lac ball2+vy + gsm + dac .+3 + lac sin + muls; ..; llss 3 + tad 9f+t + dac vp2 + cma + tad vp1 + cma + sma + jmp ballball i + +" calculate tangential velocities + + lac ball1+vx + gsm + dac .+3 + lac sin + muls; ..; llss 3 + dac 9f+t + lac ball1+vy + gsm + dac .+3 + lac cos + muls; ..; llss 3 + cma + tad 9f+t + cma + dac vt1 + + lac ball2+vx + gsm + dac .+3 + lac sin + muls; ..; llss 3 + dac 9f+t + lac ball2+vy + gsm + dac .+3 + lac cos + muls; ..; llss 3 + cma + tad 9f+t + cma + dac vt2 + +" recalculate x,y velocities +" with interchanged closing components + + lac vp2 + gsm + dac .+3 + lac cos + muls; ..; llss 3 + cma + dac 9f+t +"** 10-36-55.pdf page 9 + lac vt1 + gsm + dac .+3 + lac sin + muls; ..; llss 3 + tad 9f+t + cma + dac ball1+vx + + lac vp2 + gsm + dac .+3 + lac sin + muls; ..; llss 3 + dac 9f+t + lac vt1 + gsm + dac .+3 + lac cos + muls; ..; llss 3 + tad 9f+t + dac ball1+vy + + lac vp1 + gsm + dac .+3 + lac cos + muls; ..; llss 3 + cma + dac 9f+t + lac vt2 + gsm + dac .+3 + lac sin + muls; ..; llss 3 + tad 9f+t + cma + dac ball2+vx + + lac vp1 + gsm + dac .+3 + lac sin + muls; ..; llss 3 + dac 9f+t + lac vt2 + gsm + dac .+3 + lac cos + muls; ..; llss 3 + tad 9f+t + dac ball2+vy + + jmp ballball i +t = t+1 + +dump: 0 + lac o17 + sys creat; dmpname + spa + sys save +"** 10-36-55.pdf page 10 + dac waitup + sys write; qsin; 1 + lac waitup + sys write; qcos; 1 + lac nballp + cll; mul; bvsize + lacq + dac 0f + lac waitup + sys write; list; 0:.. + lac waitup + sys close + jmp dump i + +restore: 0 + sys open; dmpname; 0 + spa + sys save + dac waitup + sys read; qsin; 1 + lac waitup + sys read; qcos; 1 + lac nballp + cll; mul; bvsize + lacq + dac 0f + lac waitup + sys read; list; 0:.. + sad 0b + skp + sys save + lac waitup + sys read; dump; 1 + sza + sys save + lac waitup + sys close + jmp restore i diff --git a/scans/p3.s b/scans/p3.s new file mode 100755 index 0000000..c191b4c --- /dev/null +++ b/scans/p3.s @@ -0,0 +1,149 @@ +"** 10-36-55.pdf page 11 +" p3 + +rad = 02000 +diam = rad+rad +diam3 = diam-0200 +middle: 0100000 +high: 0177700-010000 +low: 010000 +ballinit: 0 + -nball + dac 9f+t + +" Q ball + + lac middle + dac ball1+x + lac low + dac ball1+y + dzm ball1+vx + dzm ball1+vy + dzm ball1+sflg + jms put + +" top row + + lac d1 + dac ball1+slfg + lac high + dac bal1+y + -diam-diam-diam + tad ball1+x + dac ball1+x + jms put + jms put + jms put + jms put + jms put + +" second row + + -diam3 + tad ball1+y + dac ball1+y + -diam-diam-diam + tad ball1+x + dac ball1+x + -diam-rad + tad ball1+x + dac ball1+x + jms put + jms put + jms put + jms put + +" third row + + -diam3 + tad ball1+y + dac ball1+y + -diam-diam-diam-rad + tad ball1+x + dac ball1+x +"** 10-36-55.pdf page 12 + jms put + jms put + jms put + +" fourth row + + -diam3 + tad ball1+y + dac ball1+y + -diam-diam-rad + tad ball1+x + dac ball1+x + jms put + jms put + +" last row + + -diam3 + tad ball1+y + dac ball1+y + -diam-rad + tad ball1+x + dac ball1+x + jms put + + jmp ballinit i + +put: 0 + jms putball; ball1; 9f+t + -diam-1 + cma + tad ball1+x + dac ball1+x + isz 9f+t + jmp put i + jmp put i +t = t+1 + +getball: 0 + -1 + tad getball i + dac 8 + isz getball + lac getball i + dac 9f+t + lac nballp + tad 9f+t i + cll; mul; bvsize + lacq + tad listpm1 + dac 9 + -bvsize + dac 9f+t +1: + lac 9 i + dac 8 i + isz 9f+t + jmp 1b + isz getball + jmp getball i + +"** 10-36-55.pdf page 13 +putball: 0 + -1 + tad putball i + dac 8 + isz putball + lac putball i + dac 9f+t + lac nballp + tad 9f+t i + cll; mul; bvsize + lacq + tad listpm1 + dac 9 + -bvsize + dac 9f+t +1: + lac 8 i + dac 9 i + isz 9f+t + jmp 1b + isz putball + jmp putball i +t = t+1 diff --git a/scans/p4.s b/scans/p4.s new file mode 100755 index 0000000..fbe692d --- /dev/null +++ b/scans/p4.s @@ -0,0 +1,202 @@ +"** 10-36-55.pdf page 14 +" p4 + +stickcont: 0 + +" display stick + + lac ball1+x + lrss 6 + xor o142000 " setx + dac 15 i + lac ball1+y + lrss 6 + xor o164000 " sety + dac 15 i + + lac qcos + lrss 8 + sma + jmp 1f + cma + tad d1 + xor o2000 " minus +1: + xor o100000 " vecx hold + dac 15 i + + lac qsin + lrss 8 + sma + jmp 1f + cma + tad d1 + xor o2000 " minus +1: + xor o124000 " vecy vis + dac 15 i + +" rotation + + lac .pb i + rtl + sma rar + jmp 2f + +" coarse rotation + + sma + jmp 1f + szl + jmp 3f + jms rotate; mcsin; ccos + jmp 3f +1: + snl + jmp 3f + jms rotate; csin; ccos + jmp 3f + +" fine rotation + +2: + sma +"** 10-36-55.pdf page 15 + jmp 1f + szl + jmp 3f + jms rotate; mfsin; fcos + jmp 3f +1: + snl + jmp 3f + jms rotate; fsin; fcos +3: + +" strike + + lac .pb i + rtl; ral + sma ral + jmp 1f + + lac qcos + dac ball1+vx + lac qsin + dac ball1+vy + jmp stickcont i + +1: sma + jmp stickcont i + lac qcos + lrss 1 + dac ball1+vx + lac qsin + lrss 1 + dac ball1+vy + jmp stickcont i + +rotate: 0 + lac rotate i + dac 9f+t+1 + lac 9f+t+1 i + dac 9f+t + isz rotate + lac rotate i + dac 9f+t+1 + lac 9f+t+1 i + dac 9f+t+1 + isz rotate + + lac qsin + gsm + dac .+3 + lac 9f+t+1 + muls; ..; llss 2 + dac 9f+t+2 + lac qcos + gsm + dac .+3 + lac 9f+t + muls; ..; llss 2 + tad 9f+t+2 + dac 9f+t+3 + + lac qsin +"** 10-36-55.pdf page 16 + gsm + dac .+3 + lac 9f+t + muls; ..; llss 2 + cma + dac 9f+t+2 + lac qcos + gsm + dac .+3 + lac 9f+t+1 + muls; ..; llss 2 + tad 9f+t+2 + dac qcos + lac 9f+t+3 + dac qsin + jmp rotate i +t = t+4 + +prad: 02000 +pocketlr: 0 + lac ball1+sflg + sna + jmp 2f + -1 + tad prad + cma + tad bottest + tad ball1+y + spa + jmp 3f + lac prad + tad toptest + tad ball1+y + sma + jmp 3f + -1 + tad middle + cma + tad ball1+y + sma + cma + tad prad + sma + jmp 3f +2: + isz pocketlr + jmp pocketlr i +3: + -1 + dac ball1+sflg + jmp pocketlr i + +pockettb: 0 + lac ball1+sflg + sna + jmp 2f + -1 + tad prad + cma + tad lefttest + tad ball1+x +"** 10-36-55.pdf page 17 + spa + jmp 3f + lac prad + tad righttest + tad ball1+x + sma + jmp 3f +2: + isz pockettb + jmp pockettb i +3: + -1 + dac ball1+sflg + jmp pockettb i diff --git a/scans/p5.s b/scans/p5.s new file mode 100755 index 0000000..35a3389 --- /dev/null +++ b/scans/p5.s @@ -0,0 +1,156 @@ +"** 10-36-55.pdf page 18 +" p5 + +frfac = 0774000 " loss in vel to friction +toptest: 02000+01000-0177700 +bottest: -02000-01000 +righttest: 02000+040400-0177700 +lefttest: -02000-040400 +minvx: -02000 " vel below whitch vel is set zero +fsin: 0203 " sine of fine rotation angle +csin: 02534 " sine of coarse rotation angle +mfsin: -0203 " negative of fsin +mcsin: -02534 " negative of csin +fcos: 0177777 " cosine of fine rotation angle +ccos: 0177761 " cosine of coarse rotation angle + +nball = 16 + +d1: 1 +o17: 017 +o300000: 0300000 +dm1: -1 +o142000: 0142000 +o164000: 0164000 +o400000: 0400000 +o177777: 0177777 +o2000: 02000 +o100000: 0100000 +o124000: 0124000 +qsin: 0177777 +qcos: 0 +dmpname: ;;

Date: Sat, 19 Oct 2019 15:33:16 +0200 Subject: [PATCH 3/9] fix transcription typos in scope.v --- scans/README.md | 1 + scans/scope.v | 24 ++++++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/scans/README.md b/scans/README.md index 58af6c2..ec867e2 100644 --- a/scans/README.md +++ b/scans/README.md @@ -71,3 +71,4 @@ Details of the files: * ttt1.s pages 1-12 of 14-148-165.pdf * ttt2.s pages 13-17 of 14-148-165.pdf * un.s page 18 of 14-148-165.pdf +* scope.v pages 3-18 of 03-scope.pdf diff --git a/scans/scope.v b/scans/scope.v index a128ddb..c2a1f22 100644 --- a/scans/scope.v +++ b/scans/scope.v @@ -1,5 +1,3 @@ -r - :la x fb @@ -77,11 +75,17 @@ r :le x -me +lk v -ce -ag -ak +mh +me +kb +gb +ee +eh +gk +ik +ib x mn r @@ -627,6 +631,7 @@ r :colon x le +v lf mf me @@ -646,7 +651,7 @@ r x mf v -mo +mg oe mf x @@ -654,6 +659,7 @@ ff v fg gg +ge fe x mn @@ -763,7 +769,7 @@ x mn r -Llbr +:lbr x ai v @@ -857,5 +863,3 @@ ik x mn r - - From 16aa87c302aebbdc2ac36353fa8db7462a289571 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Sat, 19 Oct 2019 17:19:24 +0200 Subject: [PATCH 4/9] add op.s --- scans/README.md | 1 + scans/op.s | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 scans/op.s diff --git a/scans/README.md b/scans/README.md index ec867e2..60c944f 100644 --- a/scans/README.md +++ b/scans/README.md @@ -72,3 +72,4 @@ Details of the files: * ttt2.s pages 13-17 of 14-148-165.pdf * un.s page 18 of 14-148-165.pdf * scope.v pages 3-18 of 03-scope.pdf +* op.s page 35 of 09-1-35.pdf diff --git a/scans/op.s b/scans/op.s new file mode 100644 index 0000000..7ce201c --- /dev/null +++ b/scans/op.s @@ -0,0 +1,63 @@ +"** 09-1-35.pdf page 35 +" op + +sys = 0020000 +dac = 0040000 +jms = 0100000 +dzm = 0140000 +lac = 0200000 +xor = 0240000 +add = 0300000 +tad = 0340000 +xct = 0400000 +isz = 0440000 +and = 0500000 +sad = 0540000 +jmp = 0600000 +law = 0760000 + +nop = 0740000 +cma = 0740001 +cml = 0740002 +oas = 0740004 +ral = 0740010 +rar = 0740020 +hlt = 0740040 +sma = 0740100 +sza = 0740200 +snl = 0740400 +skp = 0741000 +spa = 0741100 +sna = 0741200 +szl = 0741400 +rtl = 0742010 +rtr = 0742020 +cll = 0744000 +stl = 0744002 +rcl = 0744010 +rcr = 0744020 +cla = 0750000 +clc = 0750001 +las = 0750004 +glk = 0750010 +lrs = 0640500 +lrss= 0660500 +lls = 0640600 +llss= 0660600 +als = 0640700 +alss= 0660700 +norm= 0640444 +norms=0660444 +mul = 0653122 +muls= 0657122 +div = 0640323 +divs= 0644323 +idiv= 0653323 +idivs=0657323 +frdiv = 0650323 +frdivs = 0654323 +lacq = 0641002 +lacs = 0641001 +clq = 0650000 +ads = 0644000 +gsm = 0664000 From 6c3941db4fbdd8099aae6eadba5134e448b70c5a Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Sat, 19 Oct 2019 17:24:21 +0200 Subject: [PATCH 5/9] add ln.s --- scans/README.md | 1 + scans/ln.s | 105 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 scans/ln.s diff --git a/scans/README.md b/scans/README.md index 60c944f..6699531 100644 --- a/scans/README.md +++ b/scans/README.md @@ -73,3 +73,4 @@ Details of the files: * un.s page 18 of 14-148-165.pdf * scope.v pages 3-18 of 03-scope.pdf * op.s page 35 of 09-1-35.pdf +* ln.s pages 15-16 of 09-1-35.pdf diff --git a/scans/ln.s b/scans/ln.s new file mode 100644 index 0000000..c918654 --- /dev/null +++ b/scans/ln.s @@ -0,0 +1,105 @@ +"** 09-1-35.pdf page 15 +" ln + lac 017777 i + sad d4 + jmp error + lac 017777 + tad d1 + dac dirn + lac dirn i + sad qli + jmp clink + lac 017777 + tad d5 + dac dirn + dac name + +loop: + lac 017777 i + sad d8 + sys exit + tad dm4 + dac 017777 i + lac name + tad d4 + dac name + dac name1 + sys link; dirn; 0; name: 0; name1: 0 + sma + jmp loop + lac name + dac 1f + lac d1 + sys write; 1: 0; 4 + lac d1 + sys write; errmes; 2 + jmp loop + +clink: + lac 017777 i + sad d8 + jmp arg1 + sad d12 + jmp arg2 + sad d16 + jmp arg3 + +error: + lac d1 + sys write; errmes+1; 1 + sys exit + +arg1: + lac 017777 + tad d5 + dac larg+1 + dac larg+2 + jmp dlink +arg2: + lac 017777 + tad d5 + dac larg + tad d4 +"** 14-148-165.pdf page 16 + dac larg+1 + dac larg+2 + jmp dlink +arg3: + lac 017777 + tad d5 + dac larg + tad d4 + dac larg+1 + tad d4 + dac larg+2 +dlink: + sys link; larg; defdir;0;0 + sma + sys exit + lac larg + dac 1f + lac larg+1 + dac 2f + lac larg+2 + dac 3f + lac d1 + sys write; 1:..; 4 + lac d1 + sys write; 2:..; 4 + lac d1 + sys write; 3:..; 4 + lac d1 + sys write; errmes; 2 + sys exit + +errmes: + 040; 077012 +d1: 1 +qli:

  • +d12: 12 +d16: 16 +defdir: ;;;040040 +d4: 4 +d8: 8 +dm4: -4 +d5: 5 From e68be483fbc995958c715bfcac7ff6c82b699c80 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Sat, 19 Oct 2019 17:32:01 +0200 Subject: [PATCH 6/9] add nm.s --- scans/README.md | 1 + scans/nm.s | 242 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 243 insertions(+) create mode 100644 scans/nm.s diff --git a/scans/README.md b/scans/README.md index 6699531..1cf76cb 100644 --- a/scans/README.md +++ b/scans/README.md @@ -74,3 +74,4 @@ Details of the files: * scope.v pages 3-18 of 03-scope.pdf * op.s page 35 of 09-1-35.pdf * ln.s pages 15-16 of 09-1-35.pdf +* nm.s pages 31-34 of 09-1-35.pdf diff --git a/scans/nm.s b/scans/nm.s new file mode 100644 index 0000000..86152f4 --- /dev/null +++ b/scans/nm.s @@ -0,0 +1,242 @@ +"** 09-1-35.pdf page 31 +" nm + + lac 017777 i + sad d3 + skp + jmp 1f + law n.out + dac fname + jmp 2f +1: + lac 017777 + tad d1 + dac fname + +loop: + lac 017777 i + sad d4 + jmp done + tad dm4 + dac 017777 i + lac fname + tad d4 + dac fname +2: + law 012 + jms putc + sys open; fname: 0; 0 + sma + jmp 1f + lac fname + dac 2f + lac d1 + sys write; 2: 0; 4 + lac d1 + sys write; mes; 2 + jmp loop +mes: + 040077; 012 + +1: + lac d2 + sys read; buf; 3072 + cll; idiv; 6 + lacq + dac size + law o200000 + dac c2 + +print: + lac o200000 + dac c2 i + dzm c2name + -1 + tad size + cma + dac c1 + law buf + dac c3 + lac o200000 + dac c2name +1: + lac c3 i +"** 09-1-35.pdf page 32 + cma + tad c2name + spa + jmp 2f + lac c3 i + dac c2name + lac c3 + dac c2 +2: + law 6 + tad c3 + dac c3 + isz c1 + jmp 1b + lac c2name + sad o200000 + skp + jmp 1f + lac d2 + sys close + jmp loop +1: + + lac c2 + tad d3 + dac t + lac i t + sna + jmp print + isz t + lac i t + sna + jmp print + -1 + tad c2 + dac 8 + -4 + dac c3 +1: + lac 8 i + lrss 9 + jms putc + llss 9 + jms putc + isz c3 + jmp 1b + lac i t + sad d3 + jmp undef + sna + jmp 1f + law 0162 + skp +1: + law 0141 + dac type + law 040 + jms putc + isz t + lac i t + lmq +"** 09-1-35.pdf page 33 + -6 + dac c3 +1: + cla + llss 3 + tad o60 + jms putc + isz c3 + jmp 1b + law 040 + jms putc + lac type + jms putc + law 012 + jms putc + jmp print +undef: + -8 + dac c3 +1: + law 040 + jms putc + isz c3 + jmp 1b + law 0165 + jms putc + law 012 + jms putc + jmp print + +done: + lac noc + sna + sys exit + and d1 + sna cla + jmp 1f + jms putc + jmp done +1: + lac noc + rcr + dac 1f + lac fo + sys write; iopt+1; 1:.. + sys exit + +putc: 0 + and o777 + dac 2f+1 + lac opt + dac 2f + add o400000 + dac opt + spa + jmp 1f + lac 2f i + xor 2f+1 + jmp 3f +1: + lac 2f+1 +"** 09-1-35.pdf page 34 + alss 9 +3: + dac 2f i + isz noc + lac noc + sad d128 + skp + jmp putc i + lac fo + sys write; iopt+1; 64 + lac iopt + dac opt + dzm noc + jmp putc i +2: 0;0 +ipt: 0 +eipt: 0 +iipt: .+1; .=.+64 +fi: 0 +opt: .+2 +iopt: .+1; .=.+64 +noc: 0 +fo: 1 + +c1: 0 +c2: 0 +c3: 0 +t: 0 +size: 0 +c2name: 0 +type: 0 + +d1: 1 +d128: 128 +o200000: 0200000 +o777: 0777 +o400000: 0400000 +d2: 2 +d4: 4 +dm4: -4 +o60: 060 +d3: 3 +d6: 6 +n.out: +0156056;0157165;0164040;040040 +buf: + + + + + + + + From b9d7f4a9be8d9d46bfb32267f4f9fd387e98af31 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Sat, 19 Oct 2019 18:01:48 +0200 Subject: [PATCH 7/9] Remove unncessary whitespace at end of nm.s --- scans/nm.s | 8 -------- 1 file changed, 8 deletions(-) diff --git a/scans/nm.s b/scans/nm.s index 86152f4..cc6b99b 100644 --- a/scans/nm.s +++ b/scans/nm.s @@ -232,11 +232,3 @@ d6: 6 n.out: 0156056;0157165;0164040;040040 buf: - - - - - - - - From e571855e435eedfb02c872736fd9943b12e4c1f8 Mon Sep 17 00:00:00 2001 From: Phil Budne Date: Sat, 19 Oct 2019 12:26:35 -0400 Subject: [PATCH 8/9] add roff.s --- scans/roff.s | 942 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 942 insertions(+) create mode 100644 scans/roff.s diff --git a/scans/roff.s b/scans/roff.s new file mode 100644 index 0000000..8e9209b --- /dev/null +++ b/scans/roff.s @@ -0,0 +1,942 @@ +" ** 11-45-91.pdf page 9 +" roff + + lac i 017777 + sad d4 + sys exit + lac 017777 + tad d1 + dac fname + jms nextfile + lac obufp + dac otal + +" main i/o loop +1: + jms readline + jmp 3f + lac rawchar + sad cc + jmp 2f + jms text + jmp 1b +2: + jms control + jmp 1b +3: + jms break + jms eject + lac otal + sma + jmp 1f + cla + jms putsc; otal +1: + -1 + tad obufp + cma + tad otal + dac 1f + lac output + sys write; obuf; 1: 0 + sys exit + +" read line routine +readline: 0 + law rawchar-1 + dac 8 +1: + jms getchar + dac i 8 + sad o12 + skp + jmp 1b + isz readline + jmp i readline + +" read character routine +getchar: 0 + lac ital + sad eibufp + skp + jmp 1f + -64 +" ** 11-45-91.pdf page 10 + dac 3f + law ibuf-1 + dac 15 +2: + dzm i 15 + isz 3f + jmp 2b + lac input + sys read; ibuf; 64 + sna + jms nextfile + lac ibufp + dac ital +1: + jms getsc; ital + sza + jmp i getchar + jmp getchar+1 +3: 0 + +putchar: 0 + jms putsc; otal + lac otal + sad eobufp + skp + jmp i putchar + lac output + sys write; obuf; 64 + lac obufp + dac otal + jmp i putchar + +laci: 0 + dac 1f + lac i 1f + jmp i laci +1: 0 + +nextfile: 0 + lac i 017777 + sad d4 + jmp i readline + tad dm4 + dac i 017777 + lac fname + tad d4 + dac fname + lac input + sys close + sys open; fname: 0; 0 + sma + jmp 1f + lac fname + dac 2f + lac d1 + sys write; 2: 0; 4 + lac d1 + sys write; 2f; 2 + sys exit +2: 040077;012 +1: +" ** 11-45-91.pdf page 11 + dac input + lac eibufp + dac otal + jmp i nextfile + +getsc:0 +lac i getsc +dac sctalp +isz getsc +lac i sctalp +dac sctal +add o400000 +dac i sctalp +ral +lac i sctal +szl +lrss 9 +and o177 +jmp i getsc + +putsc: 0 +and o177 +lmq +lac i putsc +dac sctalp +isz putsc +lac i sctalp +dac sctal +add o400000 +dac i sctalp +sma cla +jmp 1f +llss 27 +dac i sctal +lrss 9 +jmp i putsc +1: +lac i sctal +omq +dac i sctal +lacq +jmp i putsc + +" conmtrol card decoder +control: 0 + law 2f-1 + dac 8 + -ncase + dac c + lac rawchar+1 + alss 9 + xor rawchar+2 +1: + sad i 8 + jmp i 8 + isz 8 + isz c + jmp 1b + jmp i control +2: + ncase = 0 +" ** 11-45-91.pdf page 12 +; jmp casead; ncase = ncase+1 +; jmp casebp; ncase = ncase+1 +
    ; jmp casebr; ncase = ncase+1 +; jmp casecc; ncase = ncase+1 +; jmp casece; ncase = ncase+1 +; jmp caseds; ncase = ncase+1 +; jmp casefi; ncase = ncase+1 +; jmp casein; ncase = ncase+1 +
  • ; jmp caseli; ncase = ncase+1 +; jmp casell; ncase = ncase+1 +; jmp casels; ncase = ncase+1 +; jmp casena; ncase = ncase+1 +; jmp casene; ncase = ncase+1 +; jmp casenf; ncase = ncase+1 +; jmp casepl; ncase = ncase+1 +; jmp casesp; ncase = ncase+1 +; jmp casess; ncase = ncase+1 +; jmp caseti; ncase = ncase+1 +
      ; jmp caseul; ncase = ncase+1 +; jmp caseun; ncase = ncase+1 + +" control cases +casead: + jms break + -1 + dac ad + jmp i control + +casebp: + jms break + jms eject + jmp i control + +casebr: + jms break + jmp i control + +casecc: + jms skipcont + lac i 8 + sad o12 + jmp i control + dac cc + jmp i control + +casece: + jms break + jms number; d0 + spa + cla + dac ce + jms need; ce + jmp i control + +caseds: + jms break + lac d2 + dac ls + jmp i control + +casefi: +" ** 11-45-91.pdf page 13 + jms break + -1 + dac fi + jmp i control + +casein: + jms number; in + cma + tad d1 + sma + cla + dac in + dac un + jmp i control + +caseli: + jms number; d0 + cma + tad d1 + sma + jmp i control + dac 2f +1: + jms readline + jmp i control + jms text + isz 2f + jmp 1b + jmp i control +2: 0 + +casell: + jms number; ll + spa + cla + dac ll + jmp i control + +casels: + jms number; d0 + sza; spa + lac d1 + dac ls + jmp i control + +casena: + jms break + dzm ad + jmp i control + +casene: + jms number; d0 + spa + cla + dac c + jms need; c + jmp i control + +casenf: + jms break + dzm fi +" ** 11-45-91.pdf page 14 + jmp i control + +casepl: + jms number; pl + spa + cla + dac pl + jms topbot + jmp i control + +casesp: + jms break + jms number; d0 + cma + tad d1 + sma + jmp i control + dac c +1: + jms nline + isz c + jmp 1b + jmp i control + +casess: + jms break + lac d1 + dac ls + jmp i control + +caseti: + jms break + jms number; in + spa + cla + dac un + jmp i control + +caseul: + jms number; d0 + spa + cla + dac ul + jmp i control + +caseun: + jms number; d0 + tad in + sma + cla + dac un + jmp i control + +" selected short routines +skipcont: 0 + law rawchar-1 + dac 8 +1: + lac i 8 + sad o40 + jmp 1f +" ** 11-45-91.pdf page 15 + sad o12 + jmp 2f + jmp 1b +1: + lac i 8 + sad o12 + jmp 2f + sad o40 + jmp 1b +2: + -1 + tad 8 + dac 8 + jmp i skipcont + +break: 0 + lac nc + sna + jmp i break + -2 + tad ls + cma + sma + jmp 2f + dac c +1: + jms nline + isz c + jmp 1b +2: + lac nl + sad bl + jms eject + lac nl + sza + jmp 2f + -5 + dac c +1: + lac o55 + jms putchar + isz c + jmp 1f + lac ma1 + dac c +1: + jms newline + isz c + jmp 1b +2: + law char-1 + dac 8 + lac un + sza + jmp 1f + dac c +2: + lac o40 + jms putchar + isz c + jmp 2b +" ** 11-45-91.pdf page 16 +1: + lac i 8 + jms putchar + isz nc + jmp 1b + jms newline + dzm nwd + dzm ne + lac in + dac un + jmp i break + +newline: 0 + lac o12 + jms putchar + isz nl + jmp i newline + +nline: 0 + lac nl + sna + jmp i nline + sad bl + jmp i nline + jms newline + jmp i nline + +number: 0 + dzm num + dzm sign + -1 + dac any + jms skipcont +1: + lac i 8 + sad o12 + jmp 3f + sad o53 + jmp 2f + tad om72 + sma + jmp 1b + tad o12 + spa + jmp 1b + dac any + lac num + cll; mul; 10 + lacq + tad any + dac num + jmp 1b +2: + dac sign + jmp 1b +3: + lac any + sma + jmp 1f +" ** 11-45-91.pdf page 17 + lac d1 + isz number + jmp i number +1: + lac sign + sza + jmp 1f + lac num + isz number + jmp i number +1: + sad o53 + jmp 1f + lac i number + jms laci + cma + tad num + cma + isz number + jmp i number +1: + lac i number + jms laci + tad num + isz number + jmp i number + +eject: 0 + lac pl + sna + jmp i eject + lac nl + sna + jmp i eject +1: + sad pl + jmp 1f + jms newline + lac nl + jmp 1b +1: + dzm nl + jmp i eject + +storechar: 0 + lmq + lac nc + sza + jmp 1f + law char-1 + dac 10 +1: + lacq + dac i 10 + jms width + cma + tad d1 + tad ne + dac ne + -1 + tad nc +" ** 11-45-91.pdf page 18 + dac nc + jmp i storechar + +getword: 0 + law word-1 + dac 8 + " *** hand written box/arrow to move after 1: + dzm wne + dzm wch +1: + lac i 11 + sad o12 + jmp i getword +2: + dac i 8 + lmq + jms width + cma + jms width + cma + tad d1 + tad wne + dac wne + -1 + tad wch + dac wch + lacq + sad o40 + jmp 1b + lac word + sad o40 + jmp 1f + lac o40 + dac word + lacq + jmp 2b +1: + lac i 11 + sad o12 + jmp 1f + sad o40 + jmp 1f + dac i 8 + jms width + cma + tad d1 + tad wne + dac wne + -1 + tad wch + dac wch + jmp 1b +1: + -1 + tad 11 + dac 11 + isz getword + jmp i getword + +need: 0 + lac ls + dac 1f + lac i need + jms laci +" ** 11-45-91.pdf page 19 + cll; mul; 1: 0 + lacq + tad nl + cma + tad bl + spa + jms eject + isz need + jmp i need + +" text line routine +text: 0 + -1 + tad ul + sma + jms undline + -1 + tad ce + sma + jms center + law rawchar-1 + dac 11 + lac rawchar + sad o12 + jmp 1f-1 + sad o40 + lac fi + sza + jmp 2f + skp + jms break +1: + lac i 11 + sad o12 + jmp 1f + jms storechar + jmp 1b +1: + lac nc + sna + jms nline + jms break + jmp i text +2: + jms getword; jmp i text + lac wne + tad ne + tad un + tad ll + spa + jms adjust + law word-1 + dac 8 + lac nwd + sza + jmp 3f +1: + lac i 8 + sad o40 + skp +" ** 11-45-91.pdf page 20 + jmp 3f+1 + isz wch + jmp 1b +3: + lac i 8 + jms storechar + isz wch + jmp 3b + isz nwd + jmp 2b + +" adjust routine +adjust: 0 + lac nwd + sna + jmp i adjust + dac 8 + law tchar-1 + dac 9 + dzm ndiv + dzm nrem + lac ad + sna + jmp 1f + -1 + tad nwd + sna + jmp 1f + dac 2f + lac ll + tad ne + tad un + spa + jmp 1f + cll; idiv; 2: 0 + dac nrem + lacq + dac ndiv +1: + lac i 8 + sad o40 + jms fill + dac i 9 + isz nc + jmp 1b + lac o12 + dac i 9 + law tchar-1 + dac 8 +2: + lac i 8 + sad o12 + jmp 2f + jms storechar + jmp 2b +2: + jms break + jmp i adjust + +fill: 0 +" ** 11-45-91.pdf page 21 + lac nrem + sna + jmp 2f + tad dm1 + dac nrem + lac d1 +2: + tad ndiv + cma + dac c + lac o40 +2: + dac i 9 + isz c + jmp 2b +2: + isz nc + lac i 8 + sad o40 + skp + jmp i fill + dac i 9 + jmp 2b + +" more routines +topbot: 0 + lac pl + sza + jmp 1f + dzm bl + jmp i topbot +1: + -11 + tad pl + spa + jmp 1f + dac bl + cma + tad d1 + tad nl + spa + jmp i topbot + lac bl + dac nl + jmp i topbot +1: + lac d55 + dac bl + dac nl + tad d11 + dac pl + jmp i topbot + +undline: 0 + dac ul + law rawchar-1 + dac 8 + law tchar-1 + dac 9 +1: + lac i 8 +" ** 11-45-91.pdf page 22 + dac i 9 + sad o12 + jmp 1f + sad o40 + jmp 1b + lac o10 + dac i 9 + lac o137 + jmp 1b +1: + law tchar-1 + dac 8 + law rawchar-1 + dac 9 +1: + lac i 8 + dac i 9 + sad o12 + jmp i undline + jmp 1b + +center: 0 + dac ce + law rawchar-1 + dac 8 + law tchar-1 + dac 9 + dzm wne +1: + lac i 8 + dac i 9 + sad o12 + jmp 1f + jms width + tad wne + dac wne + jmp 1b +1: + -1 + tad wne + spa + jmp i center + cma + tad ll + tad in + lrss 1 + cma + tad d1 + sma + -1 + dac c + law tchar-1 + dac 8 + law rawchar-1 + dac 9 + lac o40 +1: + dac i 9 + isz c + jmp 1b +" ** 11-45-91.pdf page 23 +1: + lac i 8 + dac i 9 + sad o12 + jmp i center + jmp 1b + +width: 0 + sad o10 + jmp 1f + lac d1 + jmp i width +1: + -1 + jmp i width + +eibufp: ibuf+64 +ibufp: ibuf +eobufp: obuf+64 +obufp: obuf +input: 0 +output: 1 +ls: 1 +ce: 0 +in: 0 +un: 0 +ul: 0 +ma1: -5 +bl: 55 +ll: 50 +nwd: 0 +nl: 0 +nc: 0 +ne: 0 +pl: 88 +ad: -1 +fi: -1 +cc: .> +o12: 012 +o40: 040 +o177: 0177 +o53: 053 +om72: -072 +o55: 055 +o400000: 0400000 +o10: 010 +d11: 11 +d55: 55 +o137: 0137 +d1: 1 +d2: 2 +d4: 4 +dm4: -4 +d0: 0 +dm1: -1 +c: .=.+1 +nrem: .=.+1 +ndiv: .=.+1 +num: .=.+1 +" ** 11-45-91.pdf page 24 +any: .=.+1 +ital: .=.+1 +otal: .=.+1 +sctal: .=.+1 +sctalp: .=.+1 +sign: .=.+1 +wch: .=.+1 +wne: .=.+1 +word: .=.+300 +char: .=.+300 +tchar: .=.+300 +rawchar: .=.+300 +ibuf: .=.+64 +obuf: .=.+64 From 1b31c1d58d16596e1dd4366334f80147e0450dc3 Mon Sep 17 00:00:00 2001 From: Phil Budne Date: Sat, 19 Oct 2019 12:42:34 -0400 Subject: [PATCH 9/9] sort README.md entries by file, add missing entries --- scans/README.md | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/scans/README.md b/scans/README.md index 1cf76cb..20af18d 100644 --- a/scans/README.md +++ b/scans/README.md @@ -26,9 +26,14 @@ Details of the files: * s9.s: pages 53-55 of 01-s1.pdf * sysmap: pages 57-61 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 +* scope.v pages 3-18 of 03-scope.pdf +* cas.s: pages 1-17 of 04-cas.pdf +* adm.s pages 2-11 of 05-1-4.pdf +* ald.s pages 13-17 of 05-1-4.pdf +* apr.s pages 19-30 of 05-1-4.pdf +* as.s: pages 32-48 of 05-1-4.pdf * bl.s: pages 3-6 of 06-5-12.pdf * bc.s: pages 7-11 of 06-5-12.pdf * bi.s: pages 12-19 of 06-5-12.pdf @@ -46,19 +51,18 @@ Details of the files: * dskio.s: pages 42-43 of 07-13-19.pdf * dsw.s: page 45 of 07-13-19.pdf * init.s pages 47-51 of 07-13-19.pdf -* cas.s: pages 1-17 of 04-cas.pdf * ind.b: page 2 of 08-rest.pdf * lcase.b: page 4 of 08-rest.pdf -* adm.s pages 2-11 of 05-1-4.pdf -* ald.s pages 13-17 of 05-1-4.pdf -* apr.s pages 19-30 of 05-1-4.pdf -* as.s: pages 32-48 of 05-1-4.pdf * ed1.s: pages 7-20 of 08-rest.pdf * ed2.s: pages 21-29 of 08-rest.pdf +* ln.s pages 15-16 of 09-1-35.pdf +* nm.s pages 31-34 of 09-1-35.pdf +* op.s page 35 of 09-1-35.pdf * pd.s: page 1 of 11-45-91.pdf * psych.s: page 2-6 of 11-45-91.pdf * rm.s: page 7 of 11-45-91.pdf * rn.s: page 8 of 11-45-91.pdf +* roff.s: pages 9-24 of 11-45-91.pdf * salv.s: pages 25-29 of 11-45-91.pdf * sh.s: pages 30-36 of 11-45-91.pdf * st-1.s pages 1-5 of 12-92-119.pdf @@ -68,10 +72,15 @@ Details of the files: * st-5.s pages 19-20 of 12-92-119.pdf * st-6.s pages 21-25 of 12-92-119.pdf * st-7.s pages 26-28 of 12-92-119.pdf +* stat.s: pages 1-2 of 13-120-147.pdf +* t1,s: pages 5-6 of 13-120-147.pdf +* t2,s: pages 7-13 of 13-120-147.pdf +* t3,s: pages 14-18 of 13-120-147.pdf +* t4,s: pages 19-20 of 13-120-147.pdf +* t5,s: pages 21-22 of 13-120-147.pdf +* t6,s: pages 23-25 of 13-120-147.pdf +* t7,s: pages 26-27 of 13-120-147.pdf +* t8,s: pages 28 of 13-120-147.pdf * ttt1.s pages 1-12 of 14-148-165.pdf * ttt2.s pages 13-17 of 14-148-165.pdf * un.s page 18 of 14-148-165.pdf -* scope.v pages 3-18 of 03-scope.pdf -* op.s page 35 of 09-1-35.pdf -* ln.s pages 15-16 of 09-1-35.pdf -* nm.s pages 31-34 of 09-1-35.pdf