Commit Graph

197 Commits

Author SHA1 Message Date
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