Commit Graph

17 Commits

Author SHA1 Message Date
E. C. Masloch
4ae6f22249 sys, boot: mark additional magic offsets 2024-02-18 14:20:56 -05:00
E. C. Masloch
f036741b6b sys: update magic offset of OEM FAT12 jmp offset 2024-02-18 14:20:56 -05:00
E. C. Masloch
55f2a81406 sys: check default content of all magic offset patchsites 2024-02-18 14:20:56 -05:00
C. Masloch
384e68529a sys: detect small FAT32 as FAT32 (zero in word SPF)
Also checks that the total amount of clusters is possible
for the detected file system, erroring out otherwise.
Small FAT32 is displayed in the verbose output specifically.
2023-01-10 13:17:16 -05:00
C. Masloch
7115d69cd2 sys: support 256 sectors per cluster
This was overlooked in the earlier commits because SYS
uses its own BPB structures and name for the SPC field.
2023-01-10 13:17:16 -05:00
C. Masloch
2efe4ab9f4 boot: enable loading from file systems with 256 sectors per cluster
This should be Enhanced DR-DOS compatible.

oemboot.asm contains an optimisation to save 2 bytes,
by using mov instead of a lea with bp evaluating to
a constant value. This was needed to fit the addition
for 256 spc support. It is otherwise unrelated.

The LBA detection patch offsets in SYS have also been
updated to match the changed boot.asm offsets.
2023-01-04 19:38:57 -05:00
C. Masloch
302b002adb sys: enable building without WITHFAT32 defined 2022-12-31 09:37:42 -05:00
C. Masloch
bf085a7ed6 sys: fix gcc build, int86 has to preserve ds
The int86 function is used to call interrupt 21h
service 32h in the reset_drive function. This
function returns a pointer using the ds register.
ds will usually point into the DOS data segment
then (for our kernel). However, the compiler
assumed ds to be unchanged.
2022-12-31 09:37:42 -05:00
Kenneth J Davis
c152d551de
fix OW warning W115
cast array using pointer to first element [newboot] instead of pointer to whole array [&newboot] to avoid OW error W115 "&array may not produce intended result" since the address of operator "&" is not required for getting the address of an array.
2022-10-24 17:56:33 -04:00
Piotr Durlej
e0818e305b SYS: Fix a bad merge 2021-05-11 21:45:38 -04:00
Piotr Durlej
0a0d55ea53 SYS: Reduce verbosity when the verbose flag is not set 2021-05-11 21:45:38 -04:00
Kenneth J Davis
49d3c8d76b add safety check to FAT12/16 boot sector to warn about breaking sys, update new offset in sys.c for NOPing out use of BIOS boot drive during boot (fix error about boot sector unsupported format) 2021-05-11 21:39:29 -04:00
Bart Oldeman
a70f31bf61 ia16-elf-gcc: enable and fix basic warnings; don't do strict ptr aliasing for now 2018-01-11 17:50:31 -05:00
Bart Oldeman
9e04932d2b sys.com compiled with ia16-elf-gcc: fill in missing functions. 2018-01-11 17:50:31 -05:00
Bart Oldeman
71a7d0d264 ia16-elf-gcc: provide GNU LD linker script and symbols to link kernel.
The resulting kernel and sys.com do not work yet (kernel prints 123 only).
Some functions in sys.com are placeholders.
2018-01-11 17:50:31 -05:00
Bart Oldeman
fbdbc4c25c C source code changes so the kernel can compile with ia16-elf-gcc.
Use "make all COMPILER=gcc".
Linking does not work yet with these changes.
2018-01-11 17:50:31 -05:00
KJD
c431157156 FreeDOS kernel current - 2041+svn1709 2012-10-14 20:08:06 -04:00