[comp.sys.ibm.pc] Help with interrupt 52

fulton@comet.dec.com (Cathy Fulton -- CXO Technical Training) (10/12/87)

        Does anyone  have  info  on  what  interrupt 52H does?  It is an
        undocumented interrupt.  It is a pointer to the start of a chain
        of blocks that tells you what programs DOS has loaded in memory.
        I am mainly interested in  finding  out what the format of these
        blocks are.

        Thanks for any replies.

fulton@comet.dec.com (Cathy Fulton -- CXO Technical Training) (10/12/87)

	(Sorry to repost this, but I forgot to include my e-mail addresses
	the first time I posted this.)

        Does anyone  have  info  on  what  interrupt 52H does?  It is an
        undocumented interrupt.  It is a pointer to the start of a chain
        of blocks that tells you what programs DOS has loaded in memory.
        I am mainly interested in  finding  out what the format of these
        blocks are.

        Thanks for any help.

	- Cathy

	uucp: ...decwrl!comet.dec.com!fulton
	ARPA: fulton@comet.dec.com

bill@hpcvlo.HP.COM (Bill Frolik) (10/14/87)

Are you sure you mean int 52H?  On my system (running PC-DOS 3.2) it points
at F000:C3E3, a default interrupt handler in the BIOS ROMs.

Bill Frolik
hp-pcd!bill
Hewlett-Packard Portable Computer Division
Corvallis, Oregon  97330

martyl@rocksvax.UUCP (Marty Leisner) (10/14/87)

In article <11819@decwrl.DEC.COM> fulton@comet.dec.com (Cathy Fulton -- CXO Technical Training) writes:
>
>        Does anyone  have  info  on  what  interrupt 52H does?  It is an
>        undocumented interrupt.  It is a pointer to the start of a chain
>        of blocks that tells you what programs DOS has loaded in memory.
>        I am mainly interested in  finding  out what the format of these
>        blocks are.
>
This is the information I have from the list posted by Ralf Brown and Dan Lanciani.  If anyone has more complete information, I'd like to see it.

INT 21 - Internal - Get Disk List
        AH = 52H
        Return: ES:BX points to DOS list of lists

List of Lists:
Bytes   Value
0-3     Pointer to first DOS disk block (see func 36H)
4-7     Partially Unknown. Pointer to a device driver. Maybe first
               resident driver?
8-B     Partially Unknown. Pointer to a device driver. Maybe first
       resident character device driver?
C-F     Pointer to actual CON: device driver, whether installable
               or resident
10-11   Unknown. 0200H. A byte/blocksize value???
12-15   Unknown. Pointer to current directory block????
16-19   Partially Undefined: Pointer to array of drive info:
               51H bytes per drive, starting with A: ...
               00-3F Current path as ASCIIZ, starting with 'x:\'
               40-43 Unknown. I see zeros always
               44    Unknown. Flags? I see 40H, except for
                       entry after last valid entry = 00H
               45-48 Pointer to DOS Disk Block for this drive
               49-4A Unknown. Current track or block? -1 if never
                       accessed.
               4B-4E Unknown. I see -1 always
               4F-52 Unknown. I see 2 always
1A-1D   Unknown. Pointer to data area, maybe including cluster
               allocation table?
1E-1F   Unknown. I see zero always
20      Unknown. May be number of block devices.
21      Unknown. May be number of resident devices or ??? (5 always)
22      Beginning (not a pointer. The real beginning!) of NUL device
           driver. This is the first device on DOS's linked list
           of device drivers.
------------------------------------------------

Flame on!!

I really hate this reverse engineering.  Anyone with source code who wants
to leak (??) what's going on.  

Flame off!!

marty



-- 
marty leisner
xerox corp
leisner.henr@xerox.com
martyl@rocksvax.uucp

ralf@B.GP.CS.CMU.EDU (Ralf Brown) (10/18/87)

In article <156@rocksvax.UUCP> martyl@rocksvax.UUCP (Marty Leisner) writes:
>This is the information I have from the list posted by Ralf Brown and Dan Lanciani.  If anyone has more complete information, I'd like to see it.
>
>INT 21 - Internal - Get Disk List
>        AH = 52H
...
>-- 
>marty leisner
>leisner.henr@xerox.com
>martyl@rocksvax.uucp

I'd also like to see any additional info anyone has on functions 52h, 5Dh, 
(and for DOS 3.3) 64h, 65h, 66h, and 68h.  I will then repost the list 
with the additional information.

I will repost the list in uuencoded ARC format on or about November 1.

-- 
{harvard,uunet,ucbvax}!b.gp.cs.cmu.edu!ralf -=-=- AT&T: (412)268-3053 (school) 
ARPA: RALF@B.GP.CS.CMU.EDU |4 line .sigs|"I do not fear computers.|DISCLAIMER?
FIDO: Ralf Brown at 129/31 | are a pain | I fear the lack of      |I claimed
BITnet: RALF%B.GP.CS.CMU.EDU@CMUCCVMA   | them..." --Isaac Asimov |something?