1
0
mirror of https://github.com/DoctorWkt/unix-jun72.git synced 2026-05-03 22:58:30 +00:00

- e09 cleaned up but still needs a once over

This commit is contained in:
tim.newsham
2008-04-25 06:03:02 +00:00
parent 9accb8f52e
commit 75bead353f
6 changed files with 69 additions and 67 deletions

View File

@@ -1,14 +1,14 @@
/ u9 -- unix
trcv:
jsr rO,1f
jsr rO,1f
jsr rO,1f
jsr rO,1f
jsr rO,1f
jsr rO,1f
jsr rO,1f
jsr rO,1f
jsr r0,1f
jsr r0,1f
jsr r0,1f
jsr r0,1f
jsr r0,1f
jsr r0,1f
jsr r0,1f
jsr r0,1f
1:
mov r1,-(sp)
mov r2,-(sp)
@@ -40,7 +40,7 @@ trcv:
cmp r1,$34
bne 3f
5:
mov tty+6(rO),r0
mov tty+6(r0),r0
beq 2f
movb r1,6(r0) / interrupt or quit
jsr r0,wakeall

View File

@@ -6,7 +6,7 @@
add $40,r1
3:
movb tty+3(r0),0f
jsr rO,putc; 0:.. / put char on input clist
jsr r0,putc; 0:.. / put char on input clist
br 2f
bitb $10,tty+4(r0) / echo
bne 4f / branch echo bit set

View File

@@ -4,7 +4,7 @@
xmtto:
mov r0,-(sp)
mov 2(sp),rO / 0%2+6
mov 2(sp),r0 / 0%2+6
sub $6,r0
asl r0
asl r0 / 0%8
@@ -24,14 +24,14 @@ starxmt:
jsr r0,wakeup; runq+2; 0:.. / wakeup process identified
/ by wlist
1: / entry specified by argument in 0:
mov (sp),r1 / O%8 / r1 contains tty number
mov (sp),r1 / 0%8 / r1 contains tty number
asr r1
asr r1
asr r1 / 0%1 r1 contalns tty number
tstb toutt+3(r1) / is tout entry for tty output = 0
bne 1f / no, return to calling routine
mov (sp),r2 / yes, place (8xtty number) into r2
tstb tcsr(r2) / does tty's tcsr register = O (is ready
tstb tcsr(r2) / does tty's tcsr register = 0 (is ready
/ bit = 0)
bge 1f / yes, return to calling routine
movb tty+2(r2),r1 / no, place third byte of "tty" buf
@@ -39,7 +39,7 @@ starxmt:
clrb tty+2(r2) / clear third byte
tst r1 / is third byte = 0
bne 3f / no, r1 contains a non nul character
movb tty+3(r2),Of / yes, make byte 4 arg of "getc"
movb tty+3(r2),0f / yes, make byte 4 arg of "getc"
inc 0f / increment arg to make it tty output list of
/ clist
jsr r0,getc; 0:.. / obtain next character ln clist for tty

View File

@@ -31,7 +31,7 @@
1:
decb (r2) / col decrement column count in byte 2 of "tty"
/ area
bge 1f / if count >=O return to calling routine
bge 1f / if count >=0 return to calling routine
clrb (r2) / col set column count = 0
br 1f
2:

View File

@@ -1,55 +1,57 @@
/ area
/ area
1:
tst (sp)+ / increment sp
tst (sp)+ / increment sp
1:
tst 2(r5) / is char count for tty buffer = 0
beg 1f / yes
movb *4(r5),r1 / no, move character pointer to r1
inc 4(r5) / increment character pointer
dec 2(r5) / decrement character count
jsr rO,passc § place character, whose address is in
r1, in
br 1b / user buffer area. Then get next character.
tst 2(r5) / is char count for tty buffer = 0
beq 1f / yes
movb *4(r5),r1 / no, move character pointer to r1
inc 4(r5) / increment character pointer
dec 2(r5) / decrement character count
jsr r0,passc / place character, whose address is in
/ r1, in
br 1b / user buffer area. Then get next character.
1:
jmp ret
rcvch:
mov 4(sp),r2 / O%B r2 contains Sxtty number
mov $4,r1
bit r1,rcsr(r2) / is carrier detection bit on
bne 1f / yes
bic $1,rcsr(r2) / no, clear data terminal ready bit
rts rO
1:
movb tty+3(r2),Of / make cc offset arg for ugetcu
mov $240,*$ps / set processor priority = 5
jsr r0,qetc; 0:.. / get next character off clist
br 2f / clist empty
clr *$ps / set processor priority = O
rts r0
2= W N .. n
mov 0b,Of / make getc arg an arg for sleep
mov :5,-(sp) / save tty buffer address on stack
jsr rO,sleep; 0:..
mov (sp)+,r5
br rcvch
ocvt:
sub $2S.,r1 / O%2 calculate tty table offset
mov r1 ,1*2
an r1 / 0%:1
asl t1 / O%B
mov 1:1,—(sp)
add $6,r2 / calculate clist id clist offset
movb r2,tty+3(r1) / pu: clist id 1n tty table
1:
mov (sp),r1
bit $4,rcsr(r1) / carrier detect bit set
bne 1f / if so, branch
mov $511,rcsr(r1) / set ready, speed, interrupt enable,
/ supervisor transmit
movb tty+3(r1),Df / put clist id in sleep argument
jsr rO,s1eep; 0;..
br 1b
1:
mov tty+6(r1),r5 / put tty buffer address in r5
tstb (rE) / first byte of tty buffer e 0
jmp ret
rcvch:
mov 4(sp),r2 / 0%8 r2 contains 8xtty number
mov $4,r1
bit r1,rcsr(r2) / is carrier detection bit on
bne 1f / yes
bic $1,rcsr(r2) / no, clear data terminal ready bit
rts r0
1:
movb tty+3(r2),0f / make cc offset arg for "getc"
mov $240,*$ps / set processor priority = 5
jsr r0,qetc; 0:.. / get next character off clist
br 2f / clist empty
clr *$ps / set processor priority = 0
rts r0
2:
mov 0b,0f / make "getc" arg an arg for "sleep"
mov r5,-(sp) / save tty buffer address on stack
jsr r0,sleep; 0:..
mov (sp)+,r5
br rcvch
ocvt:
sub $28.,r1 / 0%2 calculate tty table offset
mov r1 ,r2
asl r1 / 0%4
asl r1 / 0%8
mov r1,-(sp)
add $6,r2 / calculate clist id clist offset
movb r2,tty+3(r1) / put clist id in tty table
1:
mov (sp),r1
bit $4,rcsr(r1) / carrier detect bit set
bne 1f / if so, branch
mov $511,rcsr(r1) / set ready, speed, interrupt enable,
/ supervisor transmit
movb tty+3(r1),0f / put clist id in sleep argument
jsr r0,sleep; 0;..
br 1b
1:
mov tty+6(r1),r5 / put tty buffer address in r5
tstb (r5) / first byte of tty buffer = 0

View File

@@ -13,7 +13,7 @@ m u0 e00-*
#m u6 e06-*
#m u7 e07-*
#m u8 e08-*
#m u9 e09-*
m u9 e09-*
m ux e10-*
#m sh e11-*
#m ini e12-*