Message-ID: <3AE34C5A.CDD4F2E5@jps.net> From: Dennis Yelle X-Mailer: Mozilla 4.75 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.os.msdos.djgpp Subject: int86 problems Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 49 Date: Sun, 22 Apr 2001 14:25:46 -0700 NNTP-Posting-Host: 216.119.23.97 X-Complaints-To: abuse AT onemain DOT com X-Trace: nntp2.onemain.com 987974427 216.119.23.97 (Sun, 22 Apr 2001 17:20:27 EDT) NNTP-Posting-Date: Sun, 22 Apr 2001 17:20:27 EDT To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com I would like to call int 0x21 to get the disk's device parameters. Microsoft, here: http://msdn.microsoft.com/library/psdk/winbase/fat32_1bu8.htm says that I should do this: > mov bx, Drive ;See below > mov ch, DeviceCat ;See below > mov cl, 60h ;Get device parameters > mov dx, seg DriveDP ;See below > mov ds, dx > mov dx, offset DriveDP ;ds:dx points to a device parameters structure > mov ax, 440Dh ;IOCTL for block device > int 21h > > jc error_handler ;carry set means error That is fine, except for the segment number that they want in ds. info tells me this about int86: > This function simulates a software interrupt. Note that, unlike the > `__dpmi_int' function, requests that go through `int86' and similar > functions are specially processed to make them suitable for invoking > real-mode interrupts from protected-mode programs. For example, if a > particular routine takes a pointer in `BX', `int86' expects you to put > a (protected-mode) pointer in `EBX'. Therefore, `int86' should have > specific support for every interrupt and function you invoke this way. > Currently, it supports only a subset of all available interrupts and > functions: > > 1) All functions of any interrupt which expects only scalar arguments > registers (i.e., no pointers to buffers). > > 2) In addition, the following functions of interrupt 21h are supported: > 9, 39h, 3Ah, 3Bh, 3Ch, 3Dh, 3Fh, 40h, 41h, 43h, 47h, 56h. So I see that 44h is NOT one of the supported functions. What is the best, (or any) way to do this? Dennis Yelle -- I am a computer programmer and I am looking for a job. There is a link to my resume here: http://table.jps.net/~vert/