TIP: Click on subject to list as thread! ANSI
echo: 80xxx
to: DIMITRI SMITS
from: FERNANDO ARIEL GONT
date: 1998-03-05 06:05:00
subject: CD-ROM

* Replying to a message in : SAVEAREA
Hullo Dimitri Smits, hope you are having a nice day!!
  >> I debugged it, and found that when it doesn't work, it seems that
  >> the name
  >> it gets of the driver isn't correct, so when I try to open the
  >> driver as a file, I get a "file not found" error code.
 DS> I am just curious, but why do you do your communications directly
But... what's the difference between using int 21h and using int 2fh?
(Besides that the first doesn't work and the latter works ok....)
 DS> via the driver? You don't need the driver-handle to communicate
 DS> with a CD-ROM ... only its drive number :-)
Yes, great... I modified my program, and now it works ok! Thanx! :)
 DS> I/O with the driver (amongst other things) ... if you don't have
 DS> the MSCDEX (2.x) specs, I can send them to you (if you have email)
Oh, thank you very much, but I have got them....
The fact is that I got a FAQ about the CDROM from Tennie Remel's snippets,
and I thought that would work... but it didn't! :)
Now, after you advised me to use int 2fh, my program works ok...
  >> The name it gets under MS-DOS is different from the one that it
  >> gets under W'95, but it should work anyway, I think....
 DS> I am just guessing (since I don't know much about WIn'95
 DS> programming), but I think the driver-name (8 byte field) ie the
Nor do I.
 DS> 'device' name isn't at the same offset when using Win'95 and its
 DS> 32bit drivers. So that's why the int 21h / Open Existing File or
 DS> Device doesn't work.
But it's in the same place!
(Remember that I debugged the code, and I found the file name. The only
problem is when I try to open it as a file....) (The name I found was
something like "mscd0000")
 DS> don't use int 21h to communicate with the drive. After having
 DS> detected MSCDEX (int 2fh, fct 1100h, sub 0DADAh) ask for the
 DS> number of drives and the first drive number (int 2fh, fct 1500h)
 DS> ... then use a number relative to the first drive (smaller than
 DS> the number of drives) to acces that CD-ROM via a similar
 DS> IOCTL-call (with int 2fh, fct 1510h)
Ok, but you get the first drive number in cx (or cl, (I don't remember
quite well)), so that I used that number....
 DS> besides, I suspect that since it is an Progr. Interface (int 2fh,
 DS> fct 15xxh), it is likely that Win'95 drivers must obey in a same
 DS> way, with the same interface.
Well, I don't "know" if they must, but they do! :)
 DS> Here is the PASCAL prog (not really a clean example, since I
 DS> whipped it up as a RM example and test case for inside W'95) ...
 DS> sorry to all for pascal-code, but I am not able to make a full asm
No, it doesn't matter...thank you!
Well, I have commented my program in Spanish, but I'll translate it to
English, and I'll post it here...
Thanks to you, now I listen to my favourite groups with my own
ultra-mini-CD-Player! :)
 -=> Yours sincerely, Fernando Ariel Gont <=-
e-mail: FGont@siscor.bibnal.edu.ar
e-mail "Good Stuff!" _*Magazine*_ : gstuff@siscor.bibnal.edu.ar
FidoNet: 4:900/470.10
Sk-Network (Argentina): Murdock's Point (200:201/300.27)
--- Terminate 5.00 UnReg(142)
---------------
* Origin: A: -NiMiNisiNDa. B: - Minister!! (Just a. n. o.) (4:900/470.10)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.