Hi Eric,

this might be related to / the same as [1]. If it is, it should be fixed by 
[2]. Can you test with a current kernel?

[1]: https://github.com/FDOS/kernel/issues/144
[2]: 
https://github.com/FDOS/kernel/commit/c08313ab62ed236fc9a11f1c558cc335b93de30c

Bernd


> Am 01.06.2025 um 11:25 schrieb Eric Auer via Freedos-devel 
> <freedos-devel@lists.sourceforge.net>:
> 

> 
> Hi! Zbigniew found out that with FreeDOS,
> you first have to do something else with a
> floppy before you can use it via INT 25/26.
> 
> This could be for example opening a directory,
> int 21.32 (get DPB) or switching to the drive
> or changing the directory (CWD, CDS), I think.
> 
> Those call media_check() or, in the case of
> int 21.32, even do a full sequence of get_dpb,
> flush_buffers ("unchecked") and media_check.
> 
> With MS DOS, int 25/26 works even if you have
> not touched the floppy in any way since boot.
> 
> It seems that FreeDOS tries to init drive
> status for all drives at boot, but does not
> do enough for floppies? (I do not remember
> if MS DOS would spin up floppies at boot?)
> 
> Either way, in FreeDOS, the issue is:
> 
> If you have not done anything to get in
> touch with your current floppy since boot,
> trying to use int 25/26 as the FIRST thing
> to access it will mean that the get_dpb()
> call in dskxfer in blockio.c will fail and
> int 25/26 will return an error.
> 
> With MS DOS 6.22, the interesting observation
> of Zbigniew was that ax got set to 0201 but
> carry did not get set, so he ignored ax and
> indeed MS-DOS correctly accesses the floppy
> even if you have not touched it before.
> 
> This might mean that our DPB / CDS init code
> does not behave as intended or that we might
> want int 25 / 26 to check whether a floppy
> has been inserted or changed before giving
> up after a failed get_dpb() call?
> 
> Regards, Eric
> 
> PS: There might be an interaction with the
> DJ mechanism, too. We have not checked that.
> 
> 
> 
> _______________________________________________
> Freedos-devel mailing list
> Freedos-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-devel



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

Reply via email to