Mercurial > hg > Members > kono > nitros9-code
changeset 1278:f4e653cb9174
Preparation for back-port to OS-9 Level One
author | boisy |
---|---|
date | Wed, 27 Aug 2003 21:29:03 +0000 |
parents | 54ebe88fdc10 |
children | 9a563c32979a |
files | level2/modules/pipeman.asm |
diffstat | 1 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/level2/modules/pipeman.asm Wed Aug 27 20:53:51 2003 +0000 +++ b/level2/modules/pipeman.asm Wed Aug 27 21:29:03 2003 +0000 @@ -73,12 +73,15 @@ lbra Write lbra ReadLn lbra WritLn + GetStt clrb rts nop + SetStt clrb rts nop + Close lda PD.CNT,y bne L008E ldu PD.BUF,y if no one's using it, @@ -90,7 +93,7 @@ L008E leax PD.Read,y cmpa PD.Read+P.CNT,y is the read count zero? - Beq L009C + beq L009C cmpa PD.Writ+P.CNT,y is the write count zero? bne L00A9 @@ -118,11 +121,16 @@ pshs y save PD pointer os9 F$PrsNam parse /pipe bcs L007B exit on error + IFGT Level-1 ldx <D.Proc current process ptr ldb P$Task,x get task number for call, below leax -$01,y back up one character os9 F$LDABX get last character of the filename tsta check the character + ELSE + leax -1,y + lda ,y + ENDC bmi L0060 if high bit set, it's OK leax ,y point to next bit os9 F$PrsNam else parse name @@ -205,11 +213,14 @@ leax b,x back up TO pointer pshs x save it leax ,u point to the start of the buffer + IFGT Level-1 ldu <D.Proc current process pointer ldb P$Task,u A=$00 from above, already puls u restore TO pointer os9 F$Move move the data over + ELSE + ENDC clrb no bytes read to the caller yet read.ex puls a,x,y,u,pc restore registers and exit @@ -285,12 +296,15 @@ write.in pshs a,x,y save registers leau -32,u point to the start of the buffer again + IFGT Level-1 ldx <D.Proc current process pointer lda P$Task,x get FROM task number for this process ldx 1,s get FROM pointer ldy #32 16 bytes to grab clrb TO the system task os9 F$Move + ELSE + ENDC ldb #32 16 bytes in the buffer puls a,x,y,pc