VOGONS


First post, by werfu

User metadata
Rank Newbie
Rank
Newbie

Just wanted to know if there was somebody working on CD-ROM/HD Image booting? I wanna start hacking on DosBox. I recently tried to install Win95 and realized how much it was trouble to do.

About setuping a dosbox development environnement, I haven't seen much info else than using MinGW and MSys under Windows. I'd prefer using Linux. Any suggested IDE?

Thanks!

[EDIT]
I've successfully imported into KDevelop the CVS source and I've started hacking around. The code is clean but its still complicated to understand how it's structured. Sadly Doxygen doesn't seems to like it either. I've read the El Torrito specifications and I've spotted the ISO image loading code which IMHO will not require lot of modification in order to be able to load a boot image (at least for single boot image disc). However I haven't been able to spot the boot code. I'm thinking I could simply hack the boot command line switch so it could call the ISO reading function than load the floppy image from it. All's left would be to branch on the regular floppy loading code. It's so simple that I'm still seraching why it hasn't yet been done. So, more to follow tomorrow 😀

PS: For those interested in El Torrito specs, here's the URL http://www.phoenix.com/NR/rdonlyres/98D3219C- … /specscdrom.pdf
[/EDIT]

Werfu was here

Reply 1 of 8, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

c2woody has a working implementation of it.
but currently we see no use to have it in the cvs of dosbox

Water flows down the stream
How to ask questions the smart way!

Reply 2 of 8, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie
werfu wrote:

loading code. It's so simple that I'm still seraching why it hasn't yet been done. So, more to follow tomorrow 😀

Because there is no IDE hardware emulation: As soon as you boot from CD, the built-in MSCDEX won't work anymore (obviously, since DOSBox is no longer in control of DOS interrupts), and later on when Win95 is installed, CD-ROMs won't work either. So while it is easy to boot, it's quite hard to do anything useful after boot, without CD.

There is an experimental patch for IDE hardware emulation, IIRC, but I think it will be quite difficult to get it accepted into DOSBox.

Reply 3 of 8, by werfu

User metadata
Rank Newbie
Rank
Newbie

the built-in MSCDEX won't work anymore (obviously, since DOSBox is no longer in control of DOS interrupts

There's nothing stopping you to filter how is dispatched the software interruption calls. You could always try to see if MSCDEX is loaded into ram and bypass its control using the internal DOSBOX version. This is kinda hacky but it would work on DOS. For Win95 well.... maybe a hacked Windows driver?

Werfu was here

Reply 4 of 8, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

but it would work on DOS.

Doubt it, as there's way more than the mscdex interface needed
for accessing a cdrom under msdos (block devices etc.).
But keep us updated how far you got!

Reply 5 of 8, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie
werfu wrote:

[...] This is kinda hacky but it would work on DOS. For Win95 well.... maybe a hacked Windows driver?

Which is why I said "it's quite hard", not impossible. Intercepting DOS interrupts in a running true MS-DOS is asking for all sorts of compatibility problems. IIRC, someone somewhere once posted a patch to emulate CD-ROM IDE hardware, that way you could use a standard atapi-cdrom driver and real mscdex.

Of course, all this is using disk images. To emulate DOSBox' plain mounts, you'd have to wade into water where you definitely don't want to go. Read up on qemu's vvfat driver to see what horrible problems lurk there.