Hi Laaca,

> OK, so some API exists.
> But do you know ANY fullscreen DOS application which properly implements it?

I can tell you that EDIT and DEFRAG do not, but then it would
be your own fault if you ask those to access drive B: when you
only have a single floppy drive. I agree that you can simply
access B: by accident, so I agree that EDIT and DEFRAG should
probably support this API! :-) Yes, you can defrag floppies.

You could make a ticket about that request for those 2 apps.
What else could be affected? HTMLHELP?

I can also tell you that we have support for this since at
least 2009, mentioned in context of making the list of bugs
and wishes shorter, so apparently apps using it do exist.

Plausible examples could be DOSSHELL and WINDOWS 3.x in
standard mode, 386enh mode is hard to use with FreeDOS.

Interestingly, according to 2004 FreeDOS mail archives,
this API is one of those which need special handling for,
guess what, Windows 386enh mode ;-)

https://sourceforge.net/p/freedos/mailman/freedos-kernel/?viewmonth=200410

https://freedos-kernel.narkive.com/qwpKs9AO/smaller-tour-of-32bit-stuff-in-kernel-optimize-bugs

> You say, OK, you can hook a INT 2Fh in your application. But
> why the application programmer should hook some interrupts?

Because by design, the kernel is what knows when you want to
ask the user to change disks, so it is straightforward that
the kernel has to call (a place hookable by) the app if it
wants to give the app a chance to show a message about that.

Just disabling the whole feature because you do not like the
direction of data flow is a somewhat unusual solution, but
again, I suggest that you make a TSR to disable the message.

> Imagine that you are creating some spreedshet application or
> some level editor for your favourite game. User opens a save
> file dialog, accidentaly writes B:\STUFF.DAT and 
> irritating message occurs.

Write a bug report about your spreadsheet or level editor ;-)

> Why should be the high-level programmer be awere of such low-level stuff?

Because hooking the multiplex interrupt 2f is exactly the level
at which such things happen. You would not want to mess with
internal DOS data structures instead and you would not want
the kernel to be able to show graphical messages either :-)

> The DJ mechanism should be optional and turned off by default, IMO.

Again, I recommend making a TSR for that purpose.

Regards, Eric



PS: Interestingly, running HELP crashes DOSEMU2 in CPUEMU mode
at the moment, by letting CS:IP fall from the end of ffff:ffff?

I have not tested DN2, DOSZIP, FDSHELL, FDTUI, BIEW, BLOCEK,
DOSHEXED, E3, ELVIS, FREEMACS, MINED, MSEDIT, OSPEDIT, PICO,
SETEDIT, TDE, UHEX, VIM, OpenGEM, Ozone, Seal, Arachne, Dillo,
Lynx, Links, OpenCP, Foxtype or any games. Please test those.
And please tell me which other apps are GUI/TUI and open files.

http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.3/previews/1.3-rc4/report.html


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to