Kenneth J Davis
292f3079be
update share MAKEFILE so more path agnostic
2021-08-19 00:09:53 -04:00
Kenneth J Davis
6ada304ec2
allow opening a character device prefixed with invalid drive letter (e.g. "@:NUL") but not with invalid path
2021-08-19 00:00:29 -04:00
Kenneth J Davis
c69638def9
add test for opening character devices (all pass on DOS 5,6, NT VDM, @:dev fail currently on FD kernel)
2021-08-16 22:15:41 -04:00
Kenneth J Davis
77b36d2458
revert this change - does not seem correct testing with MSDOS 5 and 6
...
original commit notes 'Fix an error at opening a character device prefixed with invalid drive letter (e.g. "@:NUL") (some application use it for opening character device driver)', need to test case but breaks TRUENAME asis
2021-08-15 18:00:10 -04:00
Kenneth J Davis
e341cce4ed
fix build error on FAT16 (non FAT32) variant because of unused label
2021-08-14 19:22:09 -04:00
Kenneth J Davis
b0653c0c5f
add missing #ifdef, this code is part of skeleton logic for upcoming LFN support - int 2F 1242 internal 64 bit LSEEK should only be active if LFN API available
2021-08-09 17:42:07 -04:00
Kenneth J Davis
1bb536c383
LONG SEEK actually use lower 32 bits of 64 bit value (not 16 bits)
2021-08-08 14:37:07 -04:00
Kenneth J Davis
b7bcef73a1
build fixes - update inthndlr.c to compile with LFNAPI enabled (more fixes from earlier oops, lfnapi.c still doesn't compile)
2021-08-08 14:26:34 -04:00
Kenneth J Davis
74e9d4afd7
build.bat add lfn alias to lfnapi
2021-08-08 14:24:26 -04:00
Kenneth J Davis
246b0037a8
initial implementation of extended seek (0x7142 - LONG LSEEK with 64-bit file position)
2021-08-08 03:52:58 -04:00
Kenneth J Davis
15900d7827
add implementation of int 0x2F function 0x1f build CDS from dosemu2/fdpp
2021-08-08 02:19:14 -04:00
Kenneth J Davis
c4d6f885f4
correct INTR macro (fix oops, LFN skeleton wasn't meant to be pushed yet)
2021-08-08 00:55:02 -04:00
Kenneth J Davis
e2832a5563
skip redundant skipwh(pLine) call - its the first thing scan(...) does
2021-08-07 22:15:24 -04:00
Kenneth J Davis
d410370580
add skeleton for LFN API, includes 0x71a6 implementation (call to redirector only) from dosemu2/fdpp
2021-08-07 20:43:04 -04:00
Kenneth J Davis
cd4709f09b
ensure offset to critical patch tables doesn't change - from a921e21edc
(add 0x315 mark)
2021-07-30 23:10:15 -04:00
Kenneth J Davis
dd91e3c005
From Tom Ehlert: don't split disk transfers crossing DMA boundary if BIOS indicates can handle transparently
2021-07-30 23:04:06 -04:00
Andrew Bird
ab1e31e0ba
fcbfns: Fix for FcbFindFirstNext [ fixes #40 ]
...
The "next" part of this function never returned any results, initialise
only on the first call.
Fix by @stsp, minor edits @andrewbird
2021-07-29 20:31:25 -04:00
Tee-Kiah Chia
de7f0d6489
task: don't zero parent_psp on 0x26
...
Patch ported from
* f49252ac6b
See
* https://github.com/dosemu2/fdpp/issues/112
* https://github.com/FDOS/kernel/issues/38
2021-07-29 17:20:38 -04:00
C. Masloch
858934f152
boot, oemboot: fix to abort properly on file not found
...
Prior to this commit the first cluster specified from the last
compared directory entry would be used if the file is not found.
Fix the wrong (boot.asm) or missing (oemboot.asm) jump to the
error handler so that on file not found an error is displayed.
Reference: https://sourceforge.net/p/freedos/bugs/97/
"Bugs in FAT12/16 boot sector loaders if file not found"
This commit fixes the most crucial bug of this 2012-09-27 report.
2021-07-29 17:19:45 -04:00
C. Masloch
f267341281
oemboot: optimise FAT12 entry loading (picked from lDOS boot)
...
This way of clearing the upper 4 bits of even FAT entries
saves a byte compared to the prior way. (The next commit
needs one more byte than was previously left over.)
Reference: https://hg.pushbx.org/ecm/ldosboot/file/410b870c0222/boot.asm#l1629
2021-07-29 17:19:45 -04:00
C. Masloch
4c2bda46b2
boot: put placeholder LBA_TEST_OFFSET if no ISFATx define
2021-07-29 17:19:45 -04:00
Kenneth J Davis
edfb0db758
adjust padding to be same as in PC-DOS (90h/nop)
...
see 1dc244b09b
2021-07-22 23:32:22 -04:00
Kenneth J Davis
afca594446
from RBIL int 21h/4400h (table 01423) add definition for bit 11 if SFT is not for a device (for a file) - media not removable, currently unused
2021-07-22 23:22:38 -04:00
Kenneth J Davis
9d293d7815
since both refer to critical sections to patch and we have none, i.e. both empty lists, use same location for unused hard coded critical patch list and critical patch list passed to Win3
2021-07-22 23:12:56 -04:00
Kenneth J Davis
a193ba3116
from dosemu2/fdpp - zero out critical patch list
...
Personal NetWare Server really writes to these addresses, so
putting 0x0d0c the way DOS does, is not safe.
See dosemu2/dosemu2#428
see 94bd3eb4b5
2021-07-22 23:02:18 -04:00
Kenneth J Davis
c6fafbbb2d
int 21h/4400h only return low byte of SFT flags if not a device, part of dosemu2/fdpp bug #147 fix - b2b55fc1af
2021-07-22 22:31:45 -04:00
Kenneth J Davis
516a4e7e55
check for unsupported function call in console - from dosemu2/fdpp bug# 101 fix see c6efa7a203
2021-07-22 21:21:01 -04:00
Kenneth J Davis
00daebd468
update to make current FreeDOS style package, not 1.0 version
2021-05-14 22:58:43 -04:00
Kenneth J Davis
46c1ec3b4a
Update index.md with GitHub information
2021-05-14 07:45:55 -04:00
Kenneth J Davis
d363e4d283
add example of pushing tag to origin, use HEAD instead of just tagged branch to avoid detached head warning as should be same
2021-05-13 23:38:29 -04:00
Kenneth J Davis
4f7bdda16a
update for releases using git instead of svn
2021-05-13 23:30:27 -04:00
Kenneth J Davis
4f73b446c0
update LSM, omit GitHub specific docs files from packages
2021-05-13 22:17:48 -04:00
Kenneth J Davis
60067953b6
Update version in preparation for new release
...
Next release will be 2.43 (2043)
2021-05-11 22:10:46 -04:00
Kenneth J Davis
bd3a1d8047
Update README.md
2021-05-11 22:08:19 -04:00
Kenneth J Davis
d3dc83a876
update for Issues on GitHub instead of Sourceforge
...
update where to report issues and suggestions
2021-05-11 22:02:58 -04:00
Tee-Kiah Chia
e8a125281c
ia16-elf-gcc: update information on available Ubuntu packages
2021-05-11 21:47:12 -04:00
Tee-Kiah Chia
26626f2fed
ia16-elf-gcc: use new SS != DGROUP support for int21_syscall(.)
2021-05-11 21:47:12 -04:00
Piotr Durlej
5ec1e993b4
read_line: skip characters > 255
2021-05-11 21:45:38 -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
Ricardo Hanke
66df13c4d8
.gitignore: add setver.sys
2021-03-26 02:19:33 -04:00
Ricardo Hanke
7496c685ea
Implement version table support for int21/ah=4b, subfunctions 0 and 1
2021-03-10 22:21:19 -05:00
Andrew Bird
35a18350a0
CI: Update workflow and readme badge
2021-01-15 08:39:46 -05:00
Andrew Bird
7a2748585c
CI: Add Github Action
2021-01-09 09:12:47 -05:00
Andrew Bird
4e21e947fc
FATFS: rmdir of read only directories is valid
...
After comparison with DR-DOS 7.01 and MS-DOS 6.22 over at Dosemu2 it
was seen that rmdir of a directory having the _A_RDONLY bit set should
succeed. This patch makes that change.
For reference the test report can be found in the fdpp issue
https://github.com/dosemu2/fdpp/issues/161 . An identical patch has
been applied there.
2021-01-07 21:23:10 -05:00
C. Masloch
92ae538f1d
boot: allow instsect to match the filesystem ID string
...
Reference: https://hg.ulukai.org/ecm/instsect/file/33218c729b43/instsect.asm#l1257
lDOS's instsect recently started to default to checking
the filesystem ID string in order to validate that the
boot sector loader to write matches the detected FS.
Using the /S=filename option or building instsect to
include the FreeDOS kernel's loaders would require use
of the /SN switch without this commit.
In addition, boot.asm and oemboot.asm are made to check
that exactly one of the ISFAT12 and ISFAT16 defs is
defined so as to select the FS. Prior to this commit
using both or neither def would silently result in a
broken loader.
2020-11-28 12:11:16 -05:00
Andrew Bird
6e42bb6d7c
Travis: Update build env to Ubuntu Focal
...
1/ Update to Focal environment
2/ Make build stop on first error
3/ Remove unnecessary PPAs
2020-10-14 10:34:27 -04:00
Andrew Bird
a7b7ce71d0
GCC build: Remove duplicate argument [#fixes #27 ]
...
No need to specify output file in NASMFLAGS as Watcom needs it specified
in the rule. Newer versions of NASM see duplicate output file as an error.
2020-10-14 10:34:27 -04:00
C. Masloch
977023f85c
boot: fix Int10.0E expected not to alter al (SBC188)
...
Reference: https://www.bttr-software.de/forum/forum_entry.php?id=16934
The SBC188 video ROM-BIOS handling returns with al=0Ah (LF)
upon interrupt 10h function 0Eh calls that scroll the screen.
This made the FAT12 boot loader crash when booting FreeDOS
off a 1440 KiB diskette. While a fix is expected from their
side too, hardening the loader too is the right thing to do.
With the way this fix is implemented by this commit, it only
needs one additional byte for the loader. The error message
changes from "Error!." to just "Error!", other than
that the behaviour is the same.
The FAT32 loaders already used zero-terminated strings and
thus were not affected by the dependence.
2020-09-18 13:37:49 -04:00