Commit Graph

397 Commits

Author SHA1 Message Date
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
Andrew Bird
6092afc74d Build: Country submodule now has production target
When country was converted to a submodule (by me) the production
installation target was hacked onto the kernel subdirectory Makefile
which wasn't ideal. Introduce a production target into the country
Makefile that does the installation. Since we want the submodule to be
buildable standalone, we can't include the variable definitions from the
upper level, such as $(DIRSEP) and $(CP), so the caller has to pass those
in at build time if using the production target.

Tested on Linux (GCC + Watcom) and DOS (Watcom)
2024-02-24 17:38:14 +00:00
Andrew Bird
3c97674cbf Country: Update submodule 2024-02-24 17:38:13 +00:00
Andrew Bird
4c58d4c7e2 CI: Add DOS builds
1/ Watcom 1.9
   a) Kernel and other directories building fine
   b) Share doesn't support Watcom for TSR.

2/ Turbo C 2.01
   a) Kernel build needs some functions that are missing.
   b) Sys not building for the same reason,
   c) Share building nicely.
   d) Need to figure out how to get tc201 compiler to Github Actions

3/ IA16-GCC
   a) not currently supported by build.bat so commented out
2024-02-24 17:37:41 +00:00
Andrew Bird
be11b50252 Share: Update submodule 2024-02-23 15:00:48 +00:00
E. C. Masloch
8552d833bb boot: fix boot loader assembly listing files [fixes #97] 2024-02-18 14:20:56 -05: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
fc3032deb7 oemboot: use magic offsets macro 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
9783ac97e0 boot32, boot32lb: mark magic offsets with macro 2024-02-18 14:20:56 -05:00
E. C. Masloch
d9b0615ad5 magic: prepare for FAT32 use 2024-02-18 14:20:56 -05:00
E. C. Masloch
5a6d3a449f makefile: list magic.mac for boot 2024-02-18 14:20:56 -05:00
E. C. Masloch
bcf3c1701a magic.mac: extract from boot.asm 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
eb75bea6c1 boot: display new magic offset in hexadecimal 2024-02-18 14:20:56 -05:00
E. C. Masloch
4d30378bb6 boot: extract magicoffset macro 2024-02-18 14:20:56 -05:00
E. C. Masloch
b5414153c6 boot: display new magic offset (but in decimal) 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
E. C. Masloch
0776645017 boot: move READBUF and READADDR_OFF/SEG to allow 8 KiB sector size 2024-02-18 14:20:56 -05:00
E. C. Masloch
5cbe1ffcf0 boot: fix and update memory layout map 2024-02-18 14:20:56 -05:00
E. C. Masloch
ef10fa11e3 boot32, boot32lb: fix and update memory layout maps 2024-02-18 14:20:56 -05:00
E. C. Masloch
2aa51a1992 boot: move cluster list to 1FE0h:2200h (128 KiB file, up to /L 0x200)
1FE0h:2200h happens to be linear 22000h. Like the memory map
update to the FAT32 loaders for #127 this allows to load a
file of up to 128 KiB (rounded to cluster size) with an /L
parameter for SYS of up to 0x200.
2024-02-18 14:20:56 -05:00
E. C. Masloch
4682e23b57 boot: rename FATBUF to CLUSTLIST to better reflect use (oemboot pick) 2024-02-18 14:20:56 -05:00