diff --git a/src/other/pbsh.s b/src/other/pbsh.s index b723481..1bb0038 100644 --- a/src/other/pbsh.s +++ b/src/other/pbsh.s @@ -280,11 +280,15 @@ parent: " try to read any messages) the shell's blocked smes call returned an " error indication that the target process did not exist. Thus the " shell's smes became, in effect, the equivalent of wait. - dac pid - lac delimchar +" +" PLB: The "exit" system call code apears to "fall" into the +" rmes code So Dennis' memory of what the shell did may have +" been correct, but not for the reason he remembered. + dac pid " save child pid + lac delimchar " get command delimiter sad o46 " ampersand? jmp newcom " yes: go back without wait - lac pid + lac pid " no: get pid sys smes " hang until child exits 2: lac delimchar sad o73 " semi? diff --git a/src/sys/s1.s b/src/sys/s1.s index 27ed5e3..a7a07ab 100644 --- a/src/sys/s1.s +++ b/src/sys/s1.s @@ -107,7 +107,7 @@ swap: 0 lac u.dspbuf sna " process using display?? jmp 2f " no - law dspbuf + law dspbuf " reset to default display buffer jms movdsp 2: iof " disable interrupts @@ -123,7 +123,7 @@ swap: 0 lac u.dspbuf sza " using display? "** 01-s1.pdf page 4 - jms movdsp " yes. + jms movdsp " yes. switch to user display bufferx 3: dzm uquant " no. reset process tick count iof diff --git a/src/sys/s2.s b/src/sys/s2.s index b0eb48a..db3bca8 100644 --- a/src/sys/s2.s +++ b/src/sys/s2.s @@ -27,16 +27,16 @@ " capture display? .capt: - lac u.ac - dac u.dspbuf - jms movdsp + lac u.ac " get user AC + dac u.dspbuf " save as user display buffer + jms movdsp " switch to user display buffer jmp sysexit " release display? .rele: - dzm u.dspbuf - law dspbuf - jms movdsp + dzm u.dspbuf " clear user display buffer pointer + law dspbuf " get default display buffer + jms movdsp " change to it jmp sysexit .chmod: diff --git a/src/sys/s3.s b/src/sys/s3.s index d2b25da..c686a6e 100644 --- a/src/sys/s3.s +++ b/src/sys/s3.s @@ -104,7 +104,7 @@ badcal: " bad (unimplemented) system call lac u.dspbuf sna " process using display? jmp .+3 " no - law dspbuf " yes + law dspbuf " yes: get default display buffer jms movdsp " move display jms awake lac u.ulistp i diff --git a/src/sys/s5.s b/src/sys/s5.s index 3520ef0..a0a7b4b 100644 --- a/src/sys/s5.s +++ b/src/sys/s5.s @@ -242,11 +242,13 @@ dspnl: 0 " only called once! dspinit: 0 lac dspbufp3 " get pointer to dspbuf+3 dac dsploc " store location - lac o400000 " display "TRAP" instruction + lac o400000 " display "TRAP" instruction (end of list) dac dspbuf+3 " save in buffer dzm dsplno " clear display line number jmp dspinit i + " "move display" (change display buffer pointer) + " called with new buffer pointer in AC?? movdsp: 0 iof cdf diff --git a/src/sys/s7.s b/src/sys/s7.s index f175a46..236c288 100644 --- a/src/sys/s7.s +++ b/src/sys/s7.s @@ -80,7 +80,7 @@ cnop: " fetched as constant in iread 1: lds " load display status (see 03-scope.pdf pg 25) sma ral " edges flag?? jmp 1f " not set - cdf " clear display flags? + cdf " clear display flags lac .dspb sna jmp piret @@ -101,7 +101,7 @@ dsprestart: 1: sna ral " dataphone flag set (bit 7)?? jmp .+3 " no - raef " XXX: fix comment + raef " "resume after edges flag" jmp piret " return sma " light pen flags (bit 2) jmp 1f " no @@ -114,9 +114,9 @@ dsprestart: 1: ksf " (TTY) keyboard flag set? jmp 1f " no - lac ttydelay " get TTY delay - sma " - isz ttydelay + lac ttydelay " get TTY delay + sma " minus (waiting for output)? + isz ttydelay " no: increment??? (make more positive) krb " read keyboard buffer dac char " save in char sad o375 " interrupt char (TTY ALT MODE?) @@ -128,12 +128,12 @@ dsprestart: jms wakeup " wake processes dac sfiles+0 " clear sleep word lac char " get character - sad o212 " odd condition (break???) + sad o212 " new line (with parity)?? skp " yes jmp piret " no: done - lac sfiles+1 " get ttyout wait word - sma " bit for process 1 already set? - xor o400000 " no, make it so + lac sfiles+1 " get ttyout sleep word + sma " highest bit set? + xor o400000 " no, make it so (why???) dac sfiles+1 " save back "** 01-s1.pdf page 43 @@ -259,7 +259,7 @@ ttyrestart: 0 jmp piret "** BEGIN CROSSED OUT -1: spb " graphic 2 push button flag set? +1: spb " any graphic-2 push button? jmp 1f " no cpb " clear push button flag @@ -268,11 +268,11 @@ ttyrestart: 0 "** 01-s1.pdf page 45 - and o2000 - sna - jmp piret - jms dspinit - lac sfiles+6 + and o2000 " get push button 7 + sna " set? + jmp piret " no: done + jms dspinit " yes: reset display buffer + lac sfiles+6 " wake up anyone sleeping on display jms wakeup dac sfiles+6 cla " clear button lights diff --git a/src/sys/s8.s b/src/sys/s8.s index 4aaff44..5d86d3f 100644 --- a/src/sys/s8.s +++ b/src/sys/s8.s @@ -125,7 +125,7 @@ coldentry: law 3072 " initialize display.... wcga jms dspinit - law dspbuf + law dspbuf " set display buffer to default jms movdsp cla " read system block from disk jms dskio; 06000