04-28-07 06:13 AM
Hi, I'm hoping someone here has some El Torito experience. I'm using
mkisofs to burn a bootable CDROM of the colorForth operating system as
if it were a 1.44MB floppy. I could probably get it to work by setting
-boot-load-size to the full image, but for various reasons I'd like to
avoid that, and my reading of the spec doesn't give me any reason to
believe I'd have to resort to that.
However, when I attempt to read the first cylinder with this code:
mov ebx, iobuffer
mov ax, (2 << 8) + 36 ;# 18 sectors per head, 2 heads
mov dx, 0x0000 ;# head 0, drive 0
mov ch, [cylinder + loadaddr]
mov cl, 1 ;# sector number is 1-based, and we always read from
first
int 0x13
int 13 returns with carry set, and AX=0124 (36 sectors read, and
"invalid function in AH or invalid parameter". The iobuffer is all
zeroes after the read.
I may well be doing something wrong, but meanwhile I'd like to find
out if anybody has made this work by treating the virtual floppy as a
real one, and using int 13 to read blocks from the CDROM. Thanks -- jc
[ Post a follow-up to this message ]
|