[comp.lang.modula2] JPI v. 2.0 interrupt co-routine questions

mhughes@loft386.uucp (Mike Hughes) (03/05/91)

All
 
Has anybody written a working interrupt-driven routine in JPI v 2.0?  I 
sure would like to know the answers to the following questions!
 
1. The manual says that the module [priority] on PC systems is a bit 
mask and then falls forever silent.  I assume this mask refers to the 
IRQs with bit 0 corresponding to IRQ0, but is this correct and is it 
bit-on or bit-off to disable a given interrupt?
 
2. What, exactly, is the "interrupt vector" required by IOTRANSFER?  An 
IRQ number, an index into the jump table (0CH for Com1, etc.) or 
something entirely different?
 
3. What do the following link error messages mean?
 
SYSTEM$TRANSFER unresolved...
_new_priority unresolved...
 
This looks like an installation error on my part, but I haven't a clue 
as to where these objects might be.  Not in SYSTEM as far as I can tell.
 
Any assistance would really be appreciated!
 
Mike

-- 
-----------------------------------------------------------------------
Michael H. Hughes     mhughes@loft386.uucp     Alberg 37 yawl "Marynya" 
P.O. Box 393          bigtex!loft386!mhughes 
Rapid City, SD 57709  Compuserve: 75766,1455   W7KCB

ZAITCEV@TWIN.srcc.msu.su (03/12/91)

 I'm  sorry  for publishing news instead of using regular mail. I'm not
 the  complete  stupid.  Simple  I'm  not  sure  that domain "uucp" for
 "loft386!mhuges" is availiable from the RELCOM. (where I resides)
 
 In <1991Mar4.234410.21080@loft386.uucp> "loft386!mhuges" writes:
 >1. The manual says that the module [priority] on PC systems is a bit
 >mask and then falls forever silent.  I assume this mask refers to the
 >IRQs with bit 0 corresponding to IRQ0, but is this correct and is it
 >bit-on or bit-off to disable a given interrupt?
 >2. What, exactly, is the "interrupt vector" required by IOTRANSFER?
 >An IRQ number, an index into the jump table (0CH for Com1, etc.) or
 >something entirely different?
 I worked  with the  JPI v1.15  much and  I hope  that  v2.00  will  be
 compatible with  v1.15. If so, SYSTEM.NewPriority really uses mask for
 PC interrupt  controller(s). Low/Rigth  byte is  mask for &21 port and
 other is  for &A1  port. Also, IOTRANSFER requres INT vector NUMBER or
 "index  into  the  jump  table"  in  original speach. Sure, this works
 in real mode only.
                                                            Pete

Pat.Terry@p101.f4.n494.z5.fidonet.org (Pat Terry) (03/12/91)

mhughes@loft386.uucp (Mike Hughes) asks

 >Has anybody written a working interrupt-driven routine in JPI v 2.0?

JPI have (look at PROCESS.MOD).  I have written some in ver 1.1x, but not tried 
them in version 2 yet.

 >1. The manual says that the module [priority] on PC systems is a bit 
 >mask and then falls forever silent.  I assume this mask refers to the 
 >IRQs with bit 0 corresponding to IRQ0, but is this correct

Yes.  Note that the release 2 manuals are appallingly bad (at least mine are.  
They may hvae redone them by now).

 >and is it bit-on or bit-off to disable a given interrupt?

Bit-on disables.  eg MODULE AllDisabled [0FFH];

 >2. What, exactly, is the "interrupt vector" required by IOTRANSFER?  An 
 >IRQ number, an index into the jump table (0CH for Com1, etc.) or 
 >something entirely different?

The interrupt "number" for the PC.  eg 08H for raw time, 1CH for chained timer, 
09H for keyboard ...  I suppose you call that the index into the jump table.

 >3. What do the following link error messages mean?
 > 
 >SYSTEM$TRANSFER unresolved...
 >_new_priority unresolved...

maybe another version 2 bug?  Don't know.  You may have to install for the 
"multithread" model to be able to use IOTRANSFER with version 2.

I have some notes and examples, prepared for my students, of IOTRANSFER use on 
PC's - would you like a copy?
 




--  
uucp: uunet!m2xenix!puddle!5!494!4.101!Pat.Terry
Internet: Pat.Terry@p101.f4.n494.z5.fidonet.org