mirror of
https://github.com/livingcomputermuseum/pdp7-unix.git
synced 2026-02-10 10:20:38 +00:00
@@ -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?
|
||||
|
||||
@@ -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
|
||||
|
||||
12
src/sys/s2.s
12
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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
30
src/sys/s7.s
30
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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user