Hi Marcos, Bernd, >> I'm now using the 32-bit 2040 kernel, because none of these >> errors has ever appeared under the previous 32-bit kernels...
> Thanks for reporting the issues you're experiencing with the FAT16 > kernels, multiple versions. Do you have a way of verifying... > FreeDOS has no 32bit kernels, there's a FreeDOS32 project somewhere but > that hasn't gotten very far yet. The 16 and 32 for FreeDOS kernels > purely indicate what they support: > * either FAT12 and FAT16 filesystems > * or FAT12 and FAT16, but also FAT32 filesystems Actually there are at least FOUR types of kernel that you can compile with FreeDOS, so to avoid some misunderstandings: - the kernel supports different types of FAT, but you can omit FAT32 support to get a smaller kernel. All kernels support FAT12 and FAT16, however. - the kernel can be compiled for 386 or newer CPU, which makes it a bit smaller and faster. Classic kernels can run even on 8086, if you can still find a PC-XT or so. So the good question is of course: Which of the kernels are giving you filesystem troubles on which of the FAT types? You can test FAT12 on a floppy, for the others you should use a harddisk (USB stick often possible but likely to be slow and/or might need drivers). You can also test everything in a virtual PC simulating disks. Of course if your problem only affects FAT32 partitions, you will not even be able to access them using a "-16" kernel because 16 in the kernel name means FAT32 support not included... If your problem only affects FAT16 and/or FAT12 partitions, but only with kernels which do support FAT32 then it is likely that the FAT32 module interferes with FAT12/FAT16 handling or detection... Interestingly, kernel 2040 claims to FIX a bug of that sort which seems to affect 2039 but as far as I understand not 2038? :-) If your problem only affects "386" kernels, then maybe at some point 32 bit registers are not preserved nicely while calling some driver, for example. A kernel which only does 16 bit calculations would not be hurt by that. Note that only the calculations are 32 bit: In FreeDOS32, even the pointers are (not 16+16 but really 32) while in normal FreeDOS, the kernel will only use the first 1.1 MB of your memory. In BOTH versions, applications can use so called DOS Extenders to use 32 bit pointers to application data. Good examples are all applications compiled by DJGPP (GNU C/C++ for DOS), freebasic or freepascal and many old games which use DOS4GW or similar... The latter should be replaced (drop-in) by DOS32A on modern machines, you can just rename the exe and copy one over the other for that. DOS applications with 32 bit pointers can use up to 3 GB of RAM for sure, sometimes closer to 3 GB and sometimes closer to 4 GB depending on how much PCIe or PCI or AGP graphics card RAM you have and how much the BIOS uses in ACPI and similar ways. As DOS itself only uses the first 1.1 MB, you can have almost all your RAM for your apps :-) > Latest FreeDOS CHKDSK is 0.92 > ( http://users.telenet.be/imre/FreeDOS/ckdsk092.zip ). You can also compare DOSFSCK (dosdosfsck-2.11c.zip) which you run simply as "dosfsck -v c:" for a verbose check. It also has options for repair, surface scan and more. One very interesting setting is "-r -v -V" which will ask you how to repair things, then SIMULATE the repair and then ask you whether you want changes to be actually written to disk, after checking the simulated filesystem first. Regards, Eric ------------------------------------------------------------------------------ AppSumo Presents a FREE Video for the SourceForge Community by Eric Ries, the creator of the Lean Startup Methodology on "Lean Startup Secrets Revealed." This video shows you how to validate your ideas, optimize your ideas and identify your business strategy. http://p.sf.net/sfu/appsumosfdev2dev _______________________________________________ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel