Mercurial > hg > Members > kono > nitros9-code
changeset 2337:75e4303de24c
Fixed issue with wrong offset into ssig stuff
author | boisy |
---|---|
date | Wed, 13 Jan 2010 15:48:52 +0000 |
parents | 39d0df63f56d |
children | a640af6b4582 |
files | level1/modules/dw3.asm level1/modules/scdwn.asm |
diffstat | 2 files changed, 15 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/level1/modules/dw3.asm Wed Jan 13 14:55:13 2010 +0000 +++ b/level1/modules/dw3.asm Wed Jan 13 15:48:52 2010 +0000 @@ -262,7 +262,7 @@ bne IRQMulti3 ; continue, we have some space in buffer ; no room in buffer tstb - lbne CkSig ;had to lbra + lbne CkSSig ;had to lbra lbra IRQExit ;had to lbra @@ -399,11 +399,11 @@ inc RxDatLen,u CkSSig - lda <V.SSigID,u ; send signal on data ready? + lda <SSigID,u ; send signal on data ready? beq CkSuspnd - ldb <V.SSigSg,u ; else get signal code + ldb <SSigSg,u ; else get signal code os9 F$Send - clr <V.SSigID,u + clr <SSigID,u bra IRQExit ; check if we have a process waiting for data
--- a/level1/modules/scdwn.asm Wed Jan 13 14:55:13 2010 +0000 +++ b/level1/modules/scdwn.asm Wed Jan 13 15:48:52 2010 +0000 @@ -113,7 +113,7 @@ Init equ * - lda IT.PAR,y + lda IT.PAR,y pshs a ; save parity byte for later ; link to subroutine module @@ -247,9 +247,8 @@ Read equ * * Check to see if there is a signal-on-data-ready set for this path. * If so, we return a Not Ready error. - lda <V.SSigID,u data ready signal trap set up? + lda <SSigID,u data ready signal trap set up? bne NotReady yes, exit with not ready error - pshs cc,dp ; save IRQ/Carry status, system DP ReadChr orcc #IntMasks ; mask interrupts @@ -440,7 +439,14 @@ cmpa #SS.ComSt beq comst cmpa #SS.SSig - bne donebad + beq ssig + cmpa #SS.Relea + bne donebad +relea lda PD.CPR,y get curr proc # + cmpa <SSigID,u same? + bne ex + clr <SSigID,u clear process id +ex rts ssig pshs cc orcc #IntMasks lda PD.CPR,y ; get curr proc # @@ -451,7 +457,7 @@ * if here, we have data so send signal immediately os9 F$Send puls cc,pc -ssigsetup std <V.SSigID,u ; save process ID & signal +ssigsetup std <SSigID,u ; save process ID & signal puls cc,pc comst leax PD.OPT,y