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