I think there is another potential issue with INT26. As it uses dskxfer()
directly, block cache entries containing written sectors might not be
invalidated. Invoking DeleteBlockInBufferCache() inside the INT26 handler to
invalidate the buffers might fix this?
> Am 01.06.2025 um 14:48 schrieb E
This sounds a lot like the issue I found a while back with Format. The problem
in that program was found and fixed.
https://github.com/FDOS/format/issues/5
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net
Hi Bernd,
I am not sure whether the boot sector should get
a special treatment either.
In any case, I would only do media_check if the
I/O free get_dpb has failed.
Also, I think the kernel tries to init all drive
DPB and CDS data at boot. If this would work, you
would not have to do this chec
I had a look at the int25, int26 handler [1].
The handler does not check if sector zero has to be read / written. But I think
it should, and bypass the check for FAT32 etc, as access to sector zero
probably means reading / writing a new BPB.
As a test I altered the handler to call media_check()
> Am 01.06.2025 um 12:29 schrieb Bernd Böckmann via Freedos-devel
> :
>
> this might be related to / the same as [1].
>
> [1]: https://github.com/FDOS/kernel/issues/144
Nope, seems to be yet another bug [1]. I made a quick test with the binary from
the master branch. The bug is still there.
Hi! Sounds like something for Zbigniew to test :-)
Also, it is disappointing to yet again see a problem
fixed more than a year ago but without an advertised
release containing that fix.
Sure, there might be regressions or side-effects in
that fix, but never releasing will not help either.
Eit
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 schr
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()