[comp.binaries.ibm.pc.d] PSPs and MCBs - How to create a list of TSRs?

ballerup@diku.dk (Per Goetterup) (04/15/91)

Hi all!

	I'm trying to write a small program which probably has been written
a million times before... - A memory list showing TSRs, hooked vectors etc.

	I'm not interested in simply getting a program that can do it (I got
lots of them) but in how it's done.
                     ^^^

	I've located the first MCB and found its PSP. But there's no pointer
to th next MCB which I presume I need to get and follow repeatedly until I
reach the end of the chain. Is this correct?. Some of the information I need
is in the PSP associated with each MCB, other is in the MCB itself.

                          HOW IS THIS DONE ???

	If it has any relevance, I'm using PCDOS 3.30 and Turbo Pascal 6.0
for the experiments... The used format of a MCB and a PSP is taken from Ralf
Browns Interrupt List...


	LOTS and LOTS of thanks in advance!!!!!!

		Per.

PS: Source code for such a utility, in C, Pascal or commented assembler will
    also do.

-- 
| Per Gotterup                        | "The most merciful thing in the    |
| Student, DIKU (Dept. of Comp. Sci.) | world, I think, is the inability   |
| University of Copenhagen, Denmark   | of the human mind to correlate all |
| Internet: ballerup@freja.diku.dk    | its contents."  - H.P. Lovecraft - |

valley@gsbsun.uchicago.edu (Doug Dougherty) (04/16/91)

ballerup@diku.dk (Per Goetterup) writes:


>	I'm trying to write a small program which probably has been written
>a million times before... - A memory list showing TSRs, hooked vectors etc.

>	I'm not interested in simply getting a program that can do it (I got
>lots of them) but in how it's done.
>                     ^^^
{text deleted}
>	If it has any relevance, I'm using PCDOS 3.30 and Turbo Pascal 6.0
>for the experiments... The used format of a MCB and a PSP is taken from Ralf
>Browns Interrupt List...
	(Better look again; it should tell you that the MCB stores only
	the *length* of the allocated memory block, not a pointer to the
	next.  It is up to you to dot the i's and cross the t's...)
{text deleted}
>PS: Source code for such a utility, in C, Pascal or commented assembler will
>    also do.

Source is available for the MARK/RELEASE package from Turbo Power Software.
Look for something like TSRSRC29.ARC
--

	(Another fine mess brought to you by valley@gsbsun.uchicago.edu)

derek@sun4dts.dts.ine.philips.nl (derek) (04/17/91)

ballerup@diku.dk (Per Goetterup) writes:


>Hi all!

>	I'm trying to write a small program which probably has been written
>a million times before... - A memory list showing TSRs, hooked vectors etc.

>	I'm not interested in simply getting a program that can do it (I got
>lots of them) but in how it's done.
>                     ^^^

>	I've located the first MCB and found its PSP. But there's no pointer
>to th next MCB which I presume I need to get and follow repeatedly until I
>reach the end of the chain. Is this correct?. Some of the information I need
>is in the PSP associated with each MCB, other is in the MCB itself.

>                          HOW IS THIS DONE ???

>	If it has any relevance, I'm using PCDOS 3.30 and Turbo Pascal 6.0
>for the experiments... The used format of a MCB and a PSP is taken from Ralf
>Browns Interrupt List...


>	LOTS and LOTS of thanks in advance!!!!!!

>		Per.

>PS: Source code for such a utility, in C, Pascal or commented assembler will
>    also do.

>-- 
>| Per Gotterup                        | "The most merciful thing in the    |
>| Student, DIKU (Dept. of Comp. Sci.) | world, I think, is the inability   |
>| University of Copenhagen, Denmark   | of the human mind to correlate all |
>| Internet: ballerup@freja.diku.dk    | its contents."  - H.P. Lovecraft - |

There are several good packages worth looking at in the SIMTEL archives, 
the ones I would most recommend are Tesseract (you have your choice of 
language there) and Turbo Power's Mark/Release/Mapmem package.

All are in the <MSDOS.SYSUTL> directory:
TESS-5.ARC (TP5.0), TESS-C.ARC, (C), TESS-D.ARC (Docs) for Tesseract
TSRSRC29.ARC for TurboPower sources (need TPAS5 & TASM)

Hope this helps as a start.

Best Regards, Derek Carr
DEREK@DTS.INE.PHILIPS.NL           Philips I&E TQV-5 Eindhoven, The Netherlands 
Standard Disclaimers apply.