Commit Graph

16 Commits

Author SHA1 Message Date
Jonathan Campbell
0922223adf FAT and imageDisk: store the capacity in the class. Fix imgmount to
allow mounting the El Torito disk portion of a CD-ROM drive as a drive
letter.
2018-01-14 01:35:08 -08:00
Jonathan Campbell
9b5e4d71c5 Prepare for writing support for VFD images. 2017-11-26 21:02:15 -08:00
Jonathan Campbell
0564c4d2e8 PC-98: Initial FDD (VFD) image support. 2017-11-26 08:29:42 -08:00
Jonathan Campbell
0db11c0521 disk image offset variable. PC-98 1.2MB 3-mode floppy disk format
specification. FDI image detection (by extension) to apply 4K offset to
image I/O to read the image properly. imageDisk can now recognize PC-98
FDI images.
2017-11-25 14:08:44 -08:00
Jonathan Campbell
a27e08afe5 Disk format image add bytes per sector field. 2017-11-25 13:47:03 -08:00
Jonathan Campbell
2ec8aeb3a2 add entry point in INT 13h emulation to get drive A and B. remove code
for all but the first FDC. It's probably better if we flesh out FDC
emulation first before trying to support more than one FDC.
2015-02-22 13:54:01 -08:00
Jonathan Campbell
ffbad0b2b3 svn mainline r3878:
Year update.
2015-01-25 21:13:25 -08:00
Jonathan Campbell
0d2e1023c0 add configure option (disabled by default) to enable the 50ms delay
between VGA mode changes that DOSBox normally does by default. Hopefully
now when I do DOS demoscene captures, I don't get junk frames anymore
whenever mode changes are involved. It is an option you want to enable
in some cases, like when running weird demos like DoWhackaDo.

Also added code to better addref/release disk images on disk/CD
swapping, which fixes the segfault I observed running Windows 95 with
two ISO images attached.
2014-12-23 01:34:12 -08:00
Jonathan Campbell
6b8f83694a add refcounting to imageDisk class. 2014-10-11 01:26:17 -07:00
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