Commit Graph

57 Commits

Author SHA1 Message Date
Jonathan Campbell
f3d764e48e El Torito bootable CD-ROM support added to IMGMOUNT command. At this
time, only floppy emulation is supported. The idea is that, since you
can imgmount a floppy with -fs none, then "boot -l a" from it, the added
code allows you to boot El Torito CDs with floppy emulation like this:

imgmount d: some_cdrom.iso -t iso -fs none   # mount CD-ROM to D:
imgmount 0 -el-torito d: -t floppy -fs none  # mount El Torito floppy image on CD as drive A:
boot -l a                                    # boot OS from emulated floppy

I'm proud to announce that the code as written now is sufficient to boot
from an old Windows 98 install CD I made years ago when CD burners had
just come out (floppy emulation).

Up next: adding the same El Torito code to the BOOT command so that the
user can also boot the emulated floppy directly like this:

imgmount d: some_cdrom.iso -t iso -fs none   # mount CD-ROM to D:
boot -cdrom d                                # boot OS from CD-ROM (El Torito code will automatically infer floppy emulation)

And if I have time today, I will also add beta support for the "no
emulation" mode newer CDs tend to use so that Linux distros and
Windows XP can boot, along with the various INT 13h functions involved
with the El Torito support.
2014-05-04 10:17:24 -07:00
Jonathan Campbell
e1b25dda9a BIOS disk: change device name from char[] array to std::string. Add code
to free all imageDisk objects on shutdown, fixing yet another memory
leak.
2014-04-29 23:04:35 -07:00
Jonathan Campbell
47722aa2e0 imageDisk: add class_id member. C++ classes based on imageDisk will set
it to a different value so they can be differentiated.
2014-04-29 21:42:34 -07:00
Jonathan Campbell
daaba46885 make imageDisk with virtual functions. we're going to use C++
inheritance later on.
2014-04-29 21:10:41 -07:00
Jonathan Campbell
32e0e40dde add mount option and support in INT 13h code for "reserved cylinder"
emulation
2013-10-21 01:30:58 -07:00
Jonathan Campbell
21614b8c3f toss out my copy, integrate tawoongs's daum branch code into mine,
remove what won't compile, begin work.
2013-10-14 05:07:26 -07:00
root
f331824031 port from svn 2013-07-07 20:39:49 -07:00