GVFM 2.66 beta /"Drive A" bug (Announce)
> I just tested the 2.66 beta and I unfortunately have to confirm DOS386
> observation that the diskette seeking issue is still present.
Ok, thanks.
> I make a test under plain MS-DOS 7.1 and in this environment is all OK. So
> only problematic behaviour is under FreeDOS.
Ok.
> The difference can be also observed on program initialization (while seeking the disk drives?).
Drive A should only be scanned during initialization if, when you exited GVFM the last time, you had a browser window[s] open on Drive A. Otherwise it should not be accessed at all.
> In MS-DOS it run in few milliseconds and no noise from diskette drive is
> heard, in FreeDOS it takes slightly more time and I can hear the noise from
> diskette.
Can you add "A" to GVFM's list of excluded drives, and see if that stops it?
> BTW: How does the drive searching routine look like?
It uses 21h/2906h - Parse Filename into FCB on 'A:\' through to 'Z:\'. If 21h/2906h doesn't return 0FFh in AL then the drive is considered valid. For drives 'A' and 'B', a read of CMOS location 10h is used instead to see if the BIOS has recognised any floppy drives:
function TDosFileSystem.GetDrives: string; { Return list of valid system }
var { drives. eg: a return string of}
Drv : Char; { 'ACDJ' means A:,C:,D: and J: }
Regs: TRealRegs; { are valid on this machine. }
begin { This list is only constructed }
if DriveList = '' then { once. }
begin
Host^.FailSysErrors(true); { Prevent "Drive Not Ready" and similar}
{ Check for the existance of floppy drives 1 and 2 from CMOS }
if (ReadCMOS($10) shr 4 <> 0) and (GetFloppyType('A') <> 0) then
DriveList := 'A'; { Has first floppy drive }
if (ReadCMos($10) and $0F <> 0) and (GetFloppyType('B') <> 0) then
DriveList := DriveList + 'B'; { Has second floppy drive }
{ Check for the existance of all other drives }
for Drv := 'C' to 'Z' do
if DosPathValid(Drv + ':') then
DriveList := DriveList + Drv;
if Pos('AB', DriveList) <> 0 then { Check for single floppy }
begin
ClearRealRegs(Regs);
Regs.AX := $440E; { IOCTL - Get logical device map}
Regs.BL := 1; { for Drive A: }
if Lo(MsDos(Regs)) <> 0 then { More than 1 block dev assigned}
begin
if Regs.AL <> 1 then
begin
Regs.AX := $440F; { IOCTL - Set logical device map}
Regs.BL := 1; { Only assigned to Drive A }
MsDos(Regs);
end;
System.Delete(DriveList, 2, 1); { Remove Drive B from list }
end;
end;
Get1stNetDrive; { Ensure all network drives are defined }
Host^.FailSysErrors(false); { Re-enable critical error messages }
end;
GetDrives := DriveList;
end;
> And I found one bug - if I try to select 32-bit videomode with LFB
> enabled, GVFM crashes and reboots computer. (with 32b banked mode or 8bpp or 16bpp bit mode is it OK)
> My graphics card is nVidia GeForce 4 MX with 64MB, VESA 3.0 compatible
Ok, that should be quite easy to find once you have the source code, which I'm still working my way through, cleaning up all the smaller GV demo programs, making sure they all still work and what-not.
Complete thread:
- Graphic Vision File Manager 2.65 - jaybur, 22.12.2007, 19:21 (Announce)
- Graphic Vision File Manager 2.65 | "A"-bug - DOS386, 22.12.2007, 20:52
- Graphic Vision File Manager 2.65 | "A"-bug - jaybur, 22.12.2007, 21:18
- Graphic Vision File Manager 2.65 | "A"-bug - DOS386, 22.12.2007, 21:41
- Graphic Vision File Manager 2.65 | "A"-bug - jaybur, 22.12.2007, 21:56
- Graphic Vision File Manager 2.65 | "A"-bug - DOS386, 22.12.2007, 21:41
- Graphic Vision File Manager 2.65 | "A"-bug - Steve, 23.12.2007, 04:58
- GVFM 2.65 | "A"-bug | FreeDOS "Sep. 15" kernel - Rugxulo, 24.12.2007, 14:32
- GVFM 2.65 | "A"-bug | FreeDOS "Sep. 15" kernel - jaybur, 26.12.2007, 17:16
- Graphic Vision File Manager 2.65 | "A"-bug - jaybur, 22.12.2007, 21:18
- GVFM 2.66 beta /"Drive A" bug - jaybur, 26.12.2007, 17:42
- GVFM 2.66 beta / "Drive A" bug / DEC CX LOOP @b - DOS386, 26.12.2007, 22:36
- GVFM 2.66 beta /"Drive A" bug - Laaca, 27.12.2007, 23:04
- GVFM 2.66 beta /"Drive A" bug - jaybur, 28.12.2007, 03:47
- GVFM 2.66 beta /"Drive A" bug - jaybur, 28.12.2007, 05:27
- GVFM 2.66 beta /"Drive A" bug - Laaca, 28.12.2007, 17:15
- GVFM 2.66 beta /"Drive A" bug - jaybur, 28.12.2007, 18:56
- GVFM 2.66 beta /"Drive A" bug - Laaca, 28.12.2007, 17:15
- Graphic Vision File Manager 2.65 | "A"-bug - DOS386, 22.12.2007, 20:52