Commit Graph

189 Commits

Author SHA1 Message Date
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
lpproj
ef945b1192 Fix Func 2Dh (Set System Time) sets wrong time 2020-08-21 13:57:26 -04:00
Jiri Malak
093c6dd924 correct I186 and I386 macros definition
correct I186 and I386 macros definition to work with all Open Watcom toolchain versions
command line definition macro has "1" value but in header file it is defined as blank value
anyway I86/I186/I386 macros usage is not transparent, it is definition duplicity in header file and on command line
it is wrong solution even if it works on most of compilers (command line macro re-definition is hidden)
2020-08-02 10:22:56 -04:00
Andrew Bird
5ecfdd572c Travis: Build and test with both GCC and Watcom
Watcom compiler is downloaded and extracted if necessary. On Travis this
will be always, but if you build locally multiple times using
./travis_build, it will use the previous watcom installation.

[fixes #18]
2020-08-01 08:53:46 -04:00
Kenneth J Davis
65e0101c17
Add index.md
Add index.md for initial page shown when viewing docs online via GitHub
2020-05-01 13:54:53 -04:00
Kenneth J Davis
6bfc2c5c2d
Add title and description 2020-05-01 13:50:25 -04:00
Kenneth J Davis
579ae7eb9f Set theme jekyll-theme-tactile 2020-05-01 13:37:10 -04:00
Kenneth J Davis
a8e44f0e33 Create CNAME 2020-05-01 13:36:38 -04:00
lpproj
19a6dc1ba4 Fix func 0Bh (Get STDIN Status) always returns AL=FFh with some alternative CON drivers:
* qwikansi.sys (simtelnet: simtelnet/msdos/screen/qwikansi.zip
* most of Japanese input methods (Microsoft MS-IME, ATOK, WXP/WX2/WX3)
2019-12-27 08:18:39 -05:00