Commit Graph

39 Commits

Author SHA1 Message Date
Jiri Malak
2985b3386c ow: use safer form of #pragma aux
using ISO standard reserved word form of #pragma aux
2024-07-11 06:35:41 -04:00
Jiri Malak
5304e657fd time.t: resolve issue with internal and standard C time.h files and remove all hacks
- fix issue by renaming header file and symbols which consolidate with standard C time.h
- rename also date.h for consistency
- remove all hacks from make files and from sys.c

now can share new dtime.h with standard C time.h without any collision that any order of internal and standard C header path is possible
2024-07-10 11:32:10 -04:00
Jiri Malak
4ca28252da code-mismatch: fix various kernel code discrepancies which break TURBO C build
main issue is missing ASM attributes that C and asm code uses different names
correct long constant by standard suffix 'L' or 'UL'
2024-07-10 11:30:20 -04:00
Bernd Wilhelm Böckmann
c012700190 sys: update for DR-DOS 7.02-03, documentation update 2024-05-20 07:08:27 -04:00
Bernd Wilhelm Böckmann
fb07348b7c sys: Enhanced DR-DOS 7.01.01-06 actually not called Enhanced 2024-05-20 07:08:27 -04:00
Bernd Wilhelm Böckmann
e9c6682dbe sys: add newest findings regarding operation system support 2024-05-20 07:08:27 -04:00
Bernd Wilhelm Böckmann
7ce25f0ac4 sys: more bootloader / OS compatibility work 2024-05-20 07:08:27 -04:00
Bernd Wilhelm Böckmann
cc4ad94f0a update /OEM:LMSPACK description 2024-05-20 07:08:27 -04:00
Bernd Wilhelm Böckmann
ab9ad1e299 sys: fix Bernds version confusion 2024-05-20 07:08:27 -04:00
Bernd Wilhelm Böckmann
3b9403a353 first print version info, then operating mode 2024-05-20 07:08:27 -04:00
Bernd Wilhelm Böckmann
76f14d608d add support for more kernels to SYS, throw out EDR specifics 2024-05-20 07:08:27 -04:00
E. C. Masloch
8e8fcd1628 sys: fix, work on DOS versions that clobber di in int 25h/26h
Running on DR-DOS v7.03, the int 25h call zeroes di leading to a crash
here when di is expected to preserve the stack pointer. So push di twice
and pop it twice. The second pop always gets the saved sp, regardless of
whether int 21h or int 25h/26h are used.

Refer to https://github.com/SvarDOS/edrdos/issues/57#issuecomment-2119360035
2024-05-19 17:39:15 -04:00
E. C. Masloch
1cd4a75e98 sys: fix, allow odd magic offsets to work as expected
Created using this scriptlet:

sed -i -re 's/\(\(int \*\)newboot\)\[([0-9A-Fa-fxX]+)\/sizeof\(int\)\]/\*\(int \*\)\(\&newboot\[\1\]\)/g' sys/sys.c
2024-02-18 14:20:56 -05:00
E. C. Masloch
19058ff1bf sys: correct a magic offset (problem: odd offsets won't work) 2024-02-18 14:20:56 -05:00
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
Kenneth J Davis
569337a7ef
fix bug# 98 (correct bad CONFIG value 19 with bad value 14, should be 6) and add support for additional CONFIG options Verbose and PartitionMode to sys CONFIG processing 2023-12-19 19:50:22 -05:00
Kenneth J Davis
5880d36ba9
add ability to adjust verboseness of messages during booting 2023-12-08 18:08:11 -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
C. Masloch
49733547f1 kernel, main: add debugger_present variable and skip ints 0, 1, 3, 6
Also adds a CheckDebugger byte to the CONFIG block and
support for reading and writing this setting in the
SYS CONFIG program. Default is 0 (no check assume absent).
2022-05-21 23:22:08 -04:00
C. Masloch
6d23a787fb fdkrncfg: bugfix, version info check should not include signature 2022-05-21 23:22:08 -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
Bart Oldeman
33d707ba7f Fix compilation with MSVC 1.52c.
Needs one more file from the c library, BSS_INIT all uninitialized
globals in config.c and a define of SEEK_SET.
2017-12-22 13:13:37 -05:00
KJD
bdc2e068c4 remove some additional built files during clobber, ignore command.com in bin directory 2016-05-12 19:05:02 -04:00
lpproj
0c6be32a7a Add cross-compile capability on Windows with OpenWatcom and mingw32-make
(Remove dependance on 16bit DOS executables when building)
2014-11-22 11:38:43 +09:00
KJD
a260927440 Tell version info without booting kernel 2012-10-15 06:41:07 -04:00
KJD
c431157156 FreeDOS kernel current - 2041+svn1709 2012-10-14 20:08:06 -04:00