Hi Tom,

below some answers to your questions and details of further tests I've done with 1.440MB floppy instead of 720kB floppy in the 3 followings combinations: FD in VB, MD-DOS in VB, FD in QEMU.

What I notice is that, after the last "A:>dir" command in the 3 sessions shown below, the number of "bytes free" are equal between MS-DOS in VB and FD in QMEU, but different for FD in VB.

                                        bytes free after writing from command "A:>dir > dir.txt"

FD in VB                         1,457,664

MS-DOS in VB                1.457.152

FD in QEMU                    1,457,152

So, if I understand correctly, 1,457,664 is the total size of the diskette, while  1.457.152 is the total size of 1,457,664 - 512 (the space used to store the 222 or 224 bytes of "dir.txt" file).

Davide



Il 13/11/24 18:58, tom ehlert via Freedos-user ha scritto:
Davide,

thanks for this as it makes the bug (almost) reproducable.

almost, because you didn't specify config.sys/autoexec.bat

Here below the autoexec.bat and config.sys for the MS-DOS 6.22 session in VB:

=================================

C:\DOS\SMARTDRV.EXE /X
@ECHO OFF
PROMPT $p$g
set mouse=C:\MOUSE
C:\MOUSE\mouse.exe /Q
PATH C:\MOUSE;C:\DOS;C:\TC;C:\TCPP;C:\TCPP\BIN
SET TEMP=C:\DOS
MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI)
MODE CON CODEPAGE SELECT=850
KEYB US,,C:\DOS\KEYBOARD.SYS
C:\DOS\MSCDEX.EXE /D:CDROM /l:D

=================================

DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\HIMEM.SYS
DOS=HIGH
COUNTRY=039,850,C:\DOS\COUNTRY.SYS
DEVICE=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
DEVICE=C:\DOS\OAKCDROM.SYS /D:CDROM
FILES=30
SET TCPP=C:\TCPP3\BIN\TC.EXE

=================================

Here below the fdauto.bat and fdconfig.sys for the FreeDOS session in VB:

=================================

@ECHO OFF
REM Standard AutoExec Batch File

set DOSDRV=C:
set DOSDIR=C:\FreeDOS
set LANG=EN
set TZ=UTC
set PATH=%dosdir%\BIN
if exist %dosdir%\LINKS\NUL set PATH=%path%;%dosdir%\LINKS
set NLSPATH=%dosdir%\NLS
set HELPPATH=%dosdir%\HELP
set TEMP=%dosdir%\TEMP
set TMP=%TEMP%
set BLASTER=A220 I5 D1 H5 P330
set DIRCMD=/P /OGN /Y
set COPYCMD=/-Y
set OS_NAME=FreeDOS
set OS_VERSION=1.3
set autofile=C:\FDAUTO.BAT
set cfgfile=C:\FDCONFIG.SYS
alias cfg=edit %cfgfile%
alias auto=edit %autofile%
alias reboot=fdapm warmboot
alias reset=fdisk /reboot
alias halt=fdapm poweroff
alias shutdown=fdapm poweroff

if "%config%"=="4" goto END

if not exist %dosdir%\bin\vinfo.com goto Only8086
vinfo /m
if errorlevel 3 goto Support386
if errorlevel 2 goto Support286

:Only8086
MEM /C /N
goto FINAL

:Support286
FDAPM APMDOS
CTMOUSE
MEM /C /N
goto FINAL

:Support386

rem codepage settings
REM NLSFUNC %dosdir%\BIN\COUNTRY.SYS
REM DISPLAY CON=(EGA),858,2)
REM MODE CON CP PREP=((858) %dosdir%\CPI\EGA.CPX)
REM KEYB US,858,%dosdir%\bin\keyboard.sys
REM CHCP 858
REM MKEYB UK
rem keyboard settings


if "%config%"=="3" goto Support386Low

LH FDAPM APMDOS
rem LH SHARE

rem if EXIST %DOSDIR%\BIN\DOSLFN.COM goto UseLFN
goto NoLFN
:UseLFN
LH %DOSDIR%\BIN\DOSLFN.COM
set DIRCMD=%DIRCMD% /LFN
:NoLFN

CTMOUSE
goto InitCDROM

:Support386Low
FDAPM APMDOS
CTMOUSE

:InitCDROM
if not exist %dosdir%\bin\cdrom.bat FINAL
echo.
call %dosdir%\bin\cdrom.bat

:FINAL
MEM /C /N
echo.
if not exist %dosdir%\bin\fdnet.bat goto NoNetwork
call %dosdir%\bin\fdnet.bat start
if errorlevel 1 goto NoNetwork
REM Custom networking stuff once packet driver has loaded

:NoNetwork

if exist %dosdir%\bin\fdassist.bat call %dosdir%\bin\fdassist.bat
if exist %dosdir%\bin\cdrom.bat call %dosdir%\bin\cdrom.bat display
if exist %dosdir%\bin\welcome.bat call %dosdir%\bin\welcome.bat

:END

=================================

SET DOSDIR=C:\FreeDOS

!COUNTRY=001,858,C:\FreeDOS\BIN\COUNTRY.SYS
!LASTDRIVE=Z
!BUFFERS=20
!FILES=40
!MENUCOLOR=7,0

MENUDEFAULT=1,5
MENU 1 - Load FreeDOS with JEMM386 (no EMS, max RAM free)
MENU 2 - Load FreeDOS with JEMM386 (Expanded Memory)
MENU 3 - Load FreeDOS low with some drivers (Safe Mode)
MENU 4 - Load FreeDOS without drivers (Emergency Mode)

12?DOS=HIGH
12?DOS=UMB
12?DOSDATA=UMB
123?DEVICE=C:\FreeDOS\BIN\HIMEMX.EXE
1?DEVICE=C:\FreeDOS\BIN\JEMM386.EXE NOEMS X=TEST I=TEST I=B000-B7FF NOVME NOINVLPG
2?DEVICE=C:\FreeDOS\BIN\JEMM386.EXE X=TEST I=TEST I=B000-B7FF NOVME NOINVLPG
34?SHELL=C:\FreeDOS\BIN\COMMAND.COM C:\FreeDOS\BIN /E:1024 /P=C:\FDAUTO.BAT
12?SHELLHIGH=C:\FreeDOS\BIN\COMMAND.COM C:\FreeDOS\BIN /E:1024 /P=C:\FDAUTO.BAT

=================================

Here below the fdauto.bat and fdconfig.sys for the FreeDOS session in QEMU:

=================================

@ECHO OFF
REM Standard AutoExec Batch File

set DOSDRV=C:
set DOSDIR=C:\FreeDOS
set LANG=EN
set TZ=UTC
set PATH=%dosdir%\BIN;C:\APPS\FED
if exist %dosdir%\LINKS\NUL set PATH=%path%;%dosdir%\LINKS
set NLSPATH=%dosdir%\NLS
set HELPPATH=%dosdir%\HELP
set TEMP=%dosdir%\TEMP
set TMP=%TEMP%
set BLASTER=A220 I5 D1 H5 P330
set DIRCMD=/P /OGN /Y
set COPYCMD=/-Y
set OS_NAME=FreeDOS
set OS_VERSION=1.3
set autofile=C:\FDAUTO.BAT
set cfgfile=C:\FDCONFIG.SYS
alias cfg=edit %cfgfile%
alias auto=edit %autofile%
alias reboot=fdapm warmboot
alias reset=fdisk /reboot
alias halt=fdapm poweroff
alias shutdown=fdapm poweroff

if "%config%"=="5" goto END

if not exist %dosdir%\bin\vinfo.com goto Only8086
vinfo /m
if errorlevel 3 goto Support386
if errorlevel 2 goto Support286

:Only8086
MEM /C /N
goto FINAL

:Support286
FDAPM APMDOS
CTMOUSE
MEM /C /N
goto FINAL

:Support386

rem codepage settings
REM NLSFUNC %dosdir%\BIN\COUNTRY.SYS
REM DISPLAY CON=(EGA),858,2)
REM MODE CON CP PREP=((858) %dosdir%\CPI\EGA.CPX)
REM KEYB US,858,%dosdir%\bin\keyboard.sys
REM CHCP 858
REM MKEYB UK
rem keyboard settings


if "%config%"=="4" goto Support386Low

LH FDAPM APMDOS
rem LH SHARE

rem if EXIST %DOSDIR%\BIN\DOSLFN.COM goto UseLFN
goto NoLFN
:UseLFN
LH %DOSDIR%\BIN\DOSLFN.COM
set DIRCMD=%DIRCMD% /LFN
:NoLFN

CTMOUSE
goto InitCDROM

:Support386Low
FDAPM APMDOS
CTMOUSE

:InitCDROM
if not exist %dosdir%\bin\cdrom.bat FINAL
echo.
call %dosdir%\bin\cdrom.bat

:FINAL
MEM /C /N
echo.
if not exist %dosdir%\bin\fdnet.bat goto NoNetwork
call %dosdir%\bin\fdnet.bat start
if errorlevel 1 goto NoNetwork
REM Custom networking stuff once packet driver has loaded

:NoNetwork

if exist %dosdir%\bin\fdassist.bat call %dosdir%\bin\fdassist.bat
if exist %dosdir%\bin\cdrom.bat call %dosdir%\bin\cdrom.bat display
if exist %dosdir%\bin\welcome.bat call %dosdir%\bin\welcome.bat

:END

=================================

SET DOSDIR=C:\FreeDOS

!COUNTRY=001,858,C:\FreeDOS\BIN\COUNTRY.SYS
!LASTDRIVE=Z
!BUFFERS=20
!FILES=40
!MENUCOLOR=7,0

MENUDEFAULT=2,5
MENU 1 - Load FreeDOS with JEMMEX, no EMS (most UMBs), max RAM free
MENU 2 - Load FreeDOS with JEMMEX (more compatible)
MENU 3 - Load FreeDOS with JEMM386 (Expanded Memory)
MENU 4 - Load FreeDOS low with some drivers (Safe Mode)
MENU 5 - Load FreeDOS without drivers (Emergency Mode)

123?DOS=HIGH
123?DOS=UMB
123?DOSDATA=UMB

1?DEVICE=C:\FreeDOS\BIN\JEMMEX.EXE NOEMS X=TEST I=TEST NOVME NOINVLPG
2?DEVICE=C:\FreeDOS\BIN\JEMMEX.EXE NOEMS X=TEST NOVME NOINVLPG
34?DEVICE=C:\FreeDOS\BIN\HIMEMX.EXE
3?DEVICE=C:\FreeDOS\BIN\JEMM386.EXE X=TEST NOVME NOINVLPG

12?SHELLHIGH=C:\FreeDOS\BIN\COMMAND.COM C:\FreeDOS\BIN /E:1024 /P=C:\FDAUTO.BAT
345?SHELL=C:\FreeDOS\BIN\COMMAND.COM C:\FreeDOS\BIN /E:1024 /P=C:\FDAUTO.BAT

=================================

is this reproducible with both empty/hitting F5?
sorry, I don't understand your question ...

   Volume in drive A has no label
   Volume Serial Number is CF38-00D8
   Directory of A:\
DIR      TXT             0 13/11/24   18.10
          1 file(s)              0 bytes
                           729.088 bytes free
this is OK! redirected files are created new with size 0, and given their real 
size only
after finishing the redirection.
Thanks! I didn't know

the above mentioned behaviour of FreeDOS kernel is definitively a problem.

just to exclude the unthinkable: your floppy with 720k has a somewhat unusual 
size; most tests
these days are done with 1,4 MB floppies.

how do these behave?


I've redone the test with 1.44MB floppies, created with linux command "mkfs.msdos -C disk1440.img 1440", one file for each FreeDOS or MSDOS session.

==============================

In FreeDOS in VirtualBOX session:

1) "A:>DIR" command from empty floppy returns the following (I'm typing here what's shown on the VB window)

Volume in drive A: has no label

Volume Serial Number is 7A4D-B770

File not found.

2) then I run "A:>dir > dir.txt" and "type dir.txt"- here below the copy and paste from the file dir.txt read later from the IMG file opened from Linux. On the FD in VB screen I see blanks characters instead of \00

\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 1,457,664 bytes free

3) then I run "A:>dir" command, it returns the following (I'm typing here what's shown on the VB window)

Volume in drive A: has no label

Volume Serial Number is 7A4D-B770

Directory of A:\

DIR         TXT            224    11-16-2024    10:41a

                1 file(s)                    224 bytes

                0 dir(s)       1,457,664 bytes free

==============================

In MS-DOS 6.22 in VirtualBOX session:

1) "A:>DIR" command from empty floppy returns the following (I'm typing here what's shown on the VB window)

Volume in drive A: has no label

Volume Serial Number is 7A86-56E5

Directory of A:\

File not found

2) then I run "A:>dir > dir.txt" and "type dir.txt"- here below the copy and paste from the file dir.txt read later from the IMG file opened from Linux.


 Volume in drive A has no label
 Volume Serial Number is 7A86-56E5
 Directory of A:\

DIR      TXT             0 16/11/24   11.02
        1 file(s)              0 bytes
                       1.457.152 bytes free

3) then I run "A:>dir" command, it returns the following (I'm typing here what's shown on the VB window) which is the same as in dir.txt apart the "0" dimension for dir.txt file.

Volume in drive A: has no label

Volume Serial Number is 7A86-56E5

Directory of A:\

DIR         TXT            222    16/11/2024    11:02

                1 file(s)                    222 bytes

                0 dir(s)       1.457.152 bytes free

==============================

In FreeDOS in QEMU session (curses display):

1) "A:>DIR" command from empty floppy returns the following (copy and paste directly from the QEMU screen)

 Volume in drive A has no label
 Volume Serial Number is 7AF0-226B
File not found.

2) then I run "A:>dir > dir.txt" and "type dir.txt"- here below the copy and paste directly from the QEMU screen

 Volume in drive A has no label
 Volume Serial Number is 7AF0-226B
 Directory of A:\

DIR      TXT             0  11-16-2024 10:08a
         1 file(s)              0 bytes
         0 dir(s)       1,457,152 bytes free

3) then I run "A:>dir" command, it returns the following (copy and paste directly from the QEMU screen)

Volume in drive A has no label
 Volume Serial Number is 7AF0-226B

 Directory of A:\

DIR      TXT           224  11-16-2024 10:08a
         1 file(s)            224 bytes

         0 dir(s)       1,457,152 bytes free


What I notice is that, after the last "A:>dir" command in the 3 sessions, the number of bytes free are equal between MS-DOS in VB and FD in QMEU, but different for FD in VB.

                                        bytes free after writing from command "A:>dir > dir.txt"

FD in VB                         1,457,664

MS-DOS in VB                1.457.152

FD in QEMU                    1,457,152

So, if I understand correctly, 1,457,664 is the total size of the diskette, while  1.457.152 is the total size of 1,457,664 - 512 (the space used to store the 222 or 224 bytes of "dir.txt" file).



Tom



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


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

Reply via email to