Commit Graph

420 Commits

Author SHA1 Message Date
Kenneth J Davis 1cc00e194d
avoid race condition that could corrupt user stack if DOS re-entered too soon
apply suggested fix from SF bug 215 (https://sourceforge.net/p/freedos/bugs/215/), InDOS cleared but small chance DOS re-entered before user stack restored thus corrupting user stack
2024-08-19 16:31:22 -04:00
Kenneth J Davis dabfaf7d54
enable installation check for driver.sys
For now we still only support subfunction 3 (return drive table) and subfunction 0 (check if installed) which we say yes.  This allows DOS Internals DRVINFO.EXE to correctly use internal drive table (it checks if installed and doesn't bother if not) and return corresponding information.  Note: subfunction 3 is still handled in int2f.asm for now, but may be moved to cleaner (but bigger and slower) implementation in inthndlr.c
2024-08-19 15:05:12 -04:00
Kenneth J Davis 1c6d1e8434
add reminder comment 2024-08-18 16:25:18 -04:00
Kenneth J Davis f25e959e0a
response file is generated during build, update gitignore 2024-08-18 16:24:21 -04:00
Kenneth J Davis 2ce6dc00de
exeflat failed to advance str so didn't actually skip whitespace at beginning of string, additional comments 2024-08-18 16:22:15 -04:00
Andrew Bird 8f056cce6d
Merge pull request #187 from andrewbird/pr180
exeflat: Update usage text for indirect file
2024-08-18 13:55:22 +01:00
Andrew Bird c6b227b783
Merge pull request #186 from andrewbird/pr177a
Resurrected Pr177
2024-08-18 10:43:00 +01:00
Andrew Bird fb9704f62e sys: Correct bin2c usage text 2024-08-18 10:40:52 +01:00
E. C. Masloch f7947771cb config: only overwrite skip config prompt if it was displayed
This allows to boot with SWITCHES=/F without any lone CRs.
2024-08-05 20:45:16 -04:00
E. C. Masloch 314c8b627b do not display any lone Carriage Returns
In combination with SWITCHES=/N in fdconfig.sys this commit makes
it so only proper CR LF linebreaks are displayed, for instance when
piping dosemu2 output to a file.

SWITCHES=/F will set SkipConfigSeconds so that config.c SkipLine will
display a string reading "\r%79s\r" to delete the prompt that it has
displayed. This overwriting should not be needed for SkipConfigSeconds=0
however. Refer to subsequent commit.
2024-08-05 20:45:16 -04:00
Bernd Böckmann 42980dfe7d fix list traversal bug in update_dcb()
This caused the kernel to hang when loading NETDRIVE.SYS
2024-08-05 20:44:15 -04:00
Kenneth J Davis ed2fd81927
add initial support for DRIVER.SYS
currently only skeleton logic and implementation of install check & get drive data table list [returns ddt* which allows mapping DOS drive # to BIOS drive # for drives handled by default DOS block driver]
2024-08-05 20:37:25 -04:00
Kenneth J Davis 8bdb2db5f6
missing 0 in constant - build fix 2024-08-05 09:49:54 -04:00
Kenneth J Davis b9440c7e0e
additional comments 2024-08-05 09:41:13 -04:00
Jiří Malák bf53e22d7a
exeflat: Update usage text for indirect file 2024-07-17 22:28:01 +02:00
Jiri Malak db43a4b343 far-fix: symbols BIOSInt13, UserInt13 and BIOSInt19 are far (in LGROUP)
these symbols are in LGROUP and generaly cannot be addressed by DGROUP:offset
for Turbo C DGROUP offset overflow because symbols are too far to be addressed by DGROUP offset
2024-07-15 15:21:36 -04:00
Jiri Malak 4a1fd57f3a libm.lib: The i4m module from OW-CRTL is no longer used
now FreeDOS own implementation is used
this module is removed from the library to prevent misuse of this module
2024-07-15 15:20:21 -04:00
Jiri Malak 7a5af34727 ow-dos4gw: move configuration for DOS4GW to config.b 2024-07-15 08:04:43 -04:00
Jiri Malak 0231c98e3f ow-build: add global compiler control option to CC and CL macros
move only options which is related to the host environment not for target
-zq quiet output (all)
-fo=.obj set default extension for object file to .obj instead .o (Linux only)
2024-07-15 08:03:18 -04:00
Jiri Malak c0009ebaaf echoto.bat: correct batch file for all parameters blank 2024-07-14 17:09:14 -04:00
Jiri Malak a5b516dd7b exeflat: add support for response file to exeflat utility
the command line can overflow DOS max length that it fixes this issue
2024-07-14 15:19:48 -04:00
Jiri Malak 2fb0956513 tc2-build: correct various build breaks for Turbo C 2.0 build 2024-07-13 19:37:21 -04:00
Jiri Malak 58573d69d9 tc2-build: correct various build breaks for Turbo C 2.0 build 2024-07-13 19:37:21 -04:00
Jiří Malák d6c50ebbe6 fix dos environment size issue with TC make 2024-07-13 07:43:07 -04:00
Jiri Malak f9beab6d61 headers: resolve headers minor issues
correct header name in comments
use algnbyte.h and algndflt.h as "user" header instead of "system" header
2024-07-11 06:37:00 -04:00
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
Andrew Bird c928849cea
Merge pull request #163 from jmalak/ci-build
CI-build: a little simplify CI-build development
2024-07-08 20:33:12 +01:00
Jiri Malak 799a09681e CI-build: a little simplify CI-build development
ignore _downloads, _output and _watcom sub-directories contents in git
use _downloads sub-directory for CI buil OW snapshot
2024-07-08 20:04:44 +02:00
Jiří Malák 1d4ac3bcc5 utils: remove wcl386 banners 2024-07-06 07:52:39 -04:00
Jiří Malák 046638f48c utils: remove wcl386 banners 2024-07-06 07:52:39 -04:00
Jiří Malák e985cc36b3 utils: build utility programs by Open Watcom for Linux and Windows 2024-07-06 07:52:39 -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
Bernd Wilhelm Böckmann 1ce349ef26 fixes #148 2024-05-16 18:01:06 -04:00
Andrew Bird 1b6de0fda6
Merge pull request #155 from andrewbird/ow-01
CI: Switch back to openwatcom current build
2024-04-29 01:05:56 +01:00
Andrew Bird 875d12dc56 CI: Switch back to openwatcom current build
The latest build got some compatibilty fixes so we can now start using
it again [fixes #138]
2024-04-29 00:56:11 +01:00
Bernd Boeckmann c08313ab62 fix issue #144 by correcting getbpb return code
getbpb now returns 0 instead of S_DONE in case of an uninitialized
partition, copying the default BPB into the BPB.

The previous return of S_DONE in case of uninitialized partitions
resulted in rp->r_bpptr not getting set in bldbpb. This in
combination with indicating success resulted in garbage returned
via rp->r_bpptr.

The DPB values are now being set to the default BPB ones in media_check
ea951d8136/kernel/fatfs.c (L1728)
via call to bpb_to_dpb in case of an uninitialized partition.
This may have side effects. But because DF_NOACCESS is still set, I
think it is the right way to do it.

The commit also masks high bit of AL for INT25/26 containing the drive
number. Some programs may set the bit according to RBIL:

"examination of CPWIN386.CPL indicates that if this call fails with
error 0408h on an old-style (<32M) call, one should retry the
call with the high bit of the drive number in AL set"

Leaving the bit set may render the given drive number unusable.
It should do no harm to mask it to increase the chance of the operation
to succeed. Also, the AH should be set to zero, because drive is given
only in AL.
2024-03-05 16:35:31 -05:00
Andrew Bird ea951d8136
Merge pull request #137 from andrewbird/ci-dos
CI add Watcom and optionally Turbo C 2.01 builds
2024-03-05 10:11:25 +00:00
Andrew Bird d8ecb409a9 CI: Use FreeDOS kernel and FreeCOM 2024-02-24 19:38:56 +00:00
Andrew Bird 5b87617f66 CI: No need to rerun the workflow if PR is edited 2024-02-24 17:38:16 +00:00
Andrew Bird 92f9a5125e CI: Test DOS built kernels for existence and boot 2024-02-24 17:38:15 +00:00