Hy, this question is about Real Mode or Flat Real Mode programming and BIOS.

I would know how to read binary data from a CD Rom by the use of Int 13h. It is possible but I don't know how data are organized on such a device ( ok, I' ve read something about El Torito specification but this haven't helped me).

For examples, how long are sectors on a CD ? 2048 bytes ?
How are they organized ?

Consider that my goal is very simple : Read single bytes from single sectors of this CD...

Can anybody help me ? Thanks in advance.

Posted on 2002-05-24 05:56:33 by fooCoder
IMO reading CDs is done with Int 2Fh, AX=15xx (raw data with AX=1510), not Int 13h. Look in RBs interrupt list for details. Sector size is 2048, size of raw data is 2352.
Posted on 2002-05-24 09:10:17 by japheth
Thank you for the advice but it doesn't seem to work....

I checked int 2f interface on RB's list and some function calls are ok under Win98 ( I made a .com and their return values are ok) but they don't work under pure DOS.

I think that because the BIOS can boot the pc from CD there is a set of BIOS routines to access it...

I am searching for more info but they are difficult to find...

Posted on 2002-05-27 02:31:12 by fooCoder

regarding the sector organisation check out
ecma-168 which you can download from
El Torito only reflects the first 16 sectors on a CD if it's bootable. The file image starts at sector #16.

BTW. in protected mode (windows app) reading a sector from CD via ASPI is quite easy. This avoids playing with int x stuff :cool:

Bye Miracle
Posted on 2002-05-27 04:01:37 by miracle
Posted on 2002-05-27 04:09:37 by bdjames
Posted on 2002-05-27 04:13:55 by bdjames