Commit Graph

111 Commits

Author SHA1 Message Date
Kenneth J Davis
dbf9e09dfc update sys to current version, adjust printf to support percent modifier, consistent prototype, and handle text not in current segment (FAR *) better, merge part of simplified debug (via prints) support
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1482 6ac86273-5f31-0410-b378-82cca8765d1b
2009-07-11 16:59:43 +00:00
Bart Oldeman
8cce4e7d84 Turbo C 2.01 and Linux cross-compilation compatibility fixes.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1470 6ac86273-5f31-0410-b378-82cca8765d1b
2009-07-02 02:39:17 +00:00
Bart Oldeman
fb847baa95 For self-owning PSPs do everything that a normal exit does except for closing
files and releasing memory (see RBIL).


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1469 6ac86273-5f31-0410-b378-82cca8765d1b
2009-07-02 02:24:44 +00:00
Bart Oldeman
e597bb20d4 Merged int21/ax=7304, subfunctions 3 and 4, which work very similarly.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1457 6ac86273-5f31-0410-b378-82cca8765d1b
2009-06-26 20:00:41 +00:00
Bart Oldeman
054631c300 Ported COUNTRY.SYS support from the unstable branch.
Simple country support is kept: COUNTRY=31 will look for country.sys but
if it does not exist, not complain and load the built-in info.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1430 6ac86273-5f31-0410-b378-82cca8765d1b
2009-06-09 23:41:50 +00:00
Bart Oldeman
e0ca8d76e2 Seek changes:
* merge unstable kernel optimizations
* enable seek for int2f/AX=1228
* -1 is a valid offset, so we need to process the return code seperately


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1429 6ac86273-5f31-0410-b378-82cca8765d1b
2009-06-09 18:50:03 +00:00
Bart Oldeman
2092745236 Force near fnode use to use either fnode[0] or fnode[1] instead of the
allocation scheme. This eliminates the checks done in inthndlr.c because
the f_count field is no longer checked.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1389 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-20 18:13:37 +00:00
Kenneth J Davis
c6b55c1119 From Tom, return 0xFF on invalid drives for int 21h/1c get drive allocation information (sectors/clusters)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1376 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-10 12:36:57 +00:00
Eric Auer
74167734ff Compatibility: Allow fat/data/dir type hints even for disk read
in int 21.7305 to fix compat issue found by Christian Wallbaum.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1365 6ac86273-5f31-0410-b378-82cca8765d1b
2008-04-12 15:54:29 +00:00
Eric Auer
ab53a50c49 Mktemp (21.5a) only inserts leading backslash in temp file name
if no directory given in template if DOS version is 5.
Older and newer DOS versions just use no dirspec in that case.
This helps ftp.sac.sk/pub/sac/pack/iup067.zip exepacker which
tries to rename the temp file to a file in current directory.

Prepared Truename (21.60) to return 0 if okay, 3a00 if char dev
(and not JOIN / network?). May need further coding to actually
have the intended effect...? Note: The shell TRUENAME command
may change names for display!

Changed the "true DOS version" for FAT16 kernels from 5.0 to
6.22 to reflect the updates in 21.5a and 21.60, other 5 / 6
differences are not simply in the kernel but more in COUNTRY,
KEYB, HIMEM, SMARTDRV, DBLSPACE, EMM386, COMMAND and so on.
In addition, 6.22 is a popular version number to report :-).


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1345 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-28 19:03:40 +00:00
Bart Oldeman
d99cfc38c1 Add Tom Ehlert's freeing of near f_node's work-around for problems with
INT24 handling.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1317 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 17:50:22 +00:00
Bart Oldeman
85856ae35b Always set lr.ES just before the "break". Enables the compiler to do some
tail merge optimizations.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1312 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 04:26:45 +00:00
Bart Oldeman
81da8db94d Having set extended error like Tom is a little smaller.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1311 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 04:22:30 +00:00
Bart Oldeman
2faf38e208 Fix typo in booot (from Tom's kernel).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1309 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 03:10:02 +00:00
Bart Oldeman
818e1bf0da Fix OW warnings about "unsigned int <= 0".
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1307 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-14 23:53:46 +00:00
Eric Auer
5c9ae102b4 added stub for function 0x6301/0x6302 Korean Hangul keyboard input methods
in int 0x21 handler (0x63xx is DBCS support related), returns AL=-1 (error)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1185 6ac86273-5f31-0410-b378-82cca8765d1b
2006-05-20 20:50:44 +00:00
Kenneth J Davis
bd50aa5d40 from Arkady, use direct access instead of reading from copy made on stack
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1122 6ac86273-5f31-0410-b378-82cca8765d1b
2005-03-15 15:31:35 +00:00
Kenneth J Davis
c41380e578 merge from dev kernel, Jason Hood's patch for extended DPBs and Set Extended Error function
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1120 6ac86273-5f31-0410-b378-82cca8765d1b
2005-03-06 16:58:33 +00:00
Kenneth J Davis
89d10726a6 from Bart, invoke DOS idle int 28h for int21/ah=6/dl=ff if busy waiting on input
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1066 6ac86273-5f31-0410-b378-82cca8765d1b
2004-11-21 13:37:52 +00:00
Kenneth J Davis
f1421b184e force use of label until additional merge allows uncommenting chunk so builds
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1049 6ac86273-5f31-0410-b378-82cca8765d1b
2004-09-20 08:08:27 +00:00
Kenneth J Davis
a40b93283f merge from UNSTABLE: inthndlr.c (Lucho): added Int 2Fh/26-29h with Eduardo
for NLSFUNC, bug fixes from Michael Devore (add undoc behavior), and
fix MS Format + Ramdisk bug in INT21/5F07 and 5F08


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1037 6ac86273-5f31-0410-b378-82cca8765d1b
2004-09-12 06:07:21 +00:00
Bart Oldeman
74b074660d Set CX=0 for int21/ah=30. Avoids bug in Borland's 32RTM.EXE
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1016 6ac86273-5f31-0410-b378-82cca8765d1b
2004-08-15 08:16:51 +00:00
Bart Oldeman
7cd4f6c14b int21/ah=0x1b,0x1c should only change AL
Change prototype of DosGetFree so it returns AX (Arkady)
Checking the return value for FFFF is enough to check for failure.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1008 6ac86273-5f31-0410-b378-82cca8765d1b
2004-07-25 08:04:54 +00:00
Bart Oldeman
56682a5656 Fix: AL was not passed to FcbParseFname (int21/ah=29) (Arkady)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1003 6ac86273-5f31-0410-b378-82cca8765d1b
2004-07-24 23:53:21 +00:00
Bart Oldeman
11e6ccefbf high-part-of register save fixes from Lucho.
Bump version to 2035.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@971 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-30 19:31:07 +00:00
Bart Oldeman
7a9c620d82 DosUmbLink no longer tries to merge free blocks. Also cleaned up a bit.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@968 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-28 19:08:48 +00:00
Bart Oldeman
0168037d73 From Lucho: no need to preserve ebx
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@964 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-28 11:58:18 +00:00
Bart Oldeman
e71f6448ab Fix int21/3302 (the swap was wrong, Lucho & Bart)
Made int21/3301,2e,54 consistent with MSDOS behaviour (Lucho)
Fix int21/5e02+ (mentioned by Arkady)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@962 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-25 18:47:43 +00:00
Bart Oldeman
9a1418a6c8 cleanups by Lucho
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@960 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-24 23:38:11 +00:00
Bart Oldeman
39e6b427f4 Fixed new bugs caused by typos.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@955 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-24 11:42:28 +00:00
Bart Oldeman
b723ff9a46 inthndler cleanups, mostly from Arkady
Bart: made dosmktmp to return a long: consistent with DosOpen et al and
avoids the cast.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@948 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 19:45:48 +00:00
Bart Oldeman
42c0af3aee Inlined dos_setdta. Various bug fixes and cleanups from Lucho and Arkady.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@941 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 14:49:11 +00:00
Bart Oldeman
b5e2616877 Merge dosmkdir and dosrmdir (mostly from Lucho)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@937 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 14:10:39 +00:00
Bart Oldeman
5a738a9695 Remove redundant "break".
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@933 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-11 10:33:17 +00:00
Bart Oldeman
6f145e9834 inthndlr.c cleanups (merge common code into long_check and short_check),
mostly from Lucho.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@932 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 23:53:56 +00:00
Bart Oldeman
e68f66db37 Convert getvec into a C function.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@929 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 20:49:43 +00:00
Bart Oldeman
258877b44b cntry == 0 doesn't make sense for Set Country Information (by Arkady)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@927 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 19:44:52 +00:00
Bart Oldeman
5a6e1845a8 Made int21/ah=25,35 reentrant. Solves problem with Intel PRO/1000 driver.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@919 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-04 09:34:47 +00:00
Bart Oldeman
ea23d33c2c Reduced number of global int2f/11 entries into int2f.asm to one.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@895 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-21 17:40:12 +00:00
Bart Oldeman
cf2ed6752b Had to change ctrl-c/ctrl-break handling again...
Seems to be more consistent now. read_char_sft_dev handles ^C at a fairly
high level. So raw_get_char doesn't need to worry about sft's anymore.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@885 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-14 15:40:51 +00:00
Bart Oldeman
f94ba5ebe1 Improve ^C handling:
- ^C didn't work for int21/ah=3f. Corrected -- Do_DosIdle_loop still needs
  to wait even if it doesn't call the idle int
- ^C needs to be echoed to STDOUT for low character functions (ah<0xd) but
  to the device that is read from for handle functions. So we need to pass
  either the STDOUT sft or that device on to the ^C echoer.
- The ^C echo really should print ^C\r\n.
- misc cleanups in break.c.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@883 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-14 09:20:08 +00:00
Bart Oldeman
e5f882f2ec Use AL, not AX, for int2f/ax=1213, as per RBIL (from Arkady)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@871 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 11:07:59 +00:00
Bart Oldeman
6ad8b415dd Applied Arkady's corrections to int2f/ax=4a01/2.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@862 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-10 21:07:06 +00:00
Bart Oldeman
e56f81d6a9 Use xreg struct and macros to optimize the int2f/12,4a handler a bit
~25 bytes (mostly from Arkady)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@844 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-06 23:51:33 +00:00
Bart Oldeman
66a756f1a3 Simplify memory access mode check.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@833 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-27 00:35:34 +00:00
Bart Oldeman
d17f333243 From Lucho (and I think Arkady had this as well at some point):
save 33 bytes by eliminating a switch for memory/UMB access modes.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@822 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-25 00:20:20 +00:00
Bart Oldeman
13ab8971fd Code size reduction and dead code removal from Lucho.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@820 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-23 22:03:20 +00:00
Bart Oldeman
69faceffe5 int21/ah=26: new_psp now copies the old psp and just sets a few fields
int21/ah=55: child_psp does the rest
init code does the init (fixed values are always copied now)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@799 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-17 21:28:54 +00:00
Bart Oldeman
0e0abcd685 Added explicit (UWORD) type casts to avoid compiler warnings and sometimes
save a few bytes too. Also changed the FcbParseFname return value:
returns offset portion of pointer (SI) instead of the number of bytes to
be added to SI.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@775 6ac86273-5f31-0410-b378-82cca8765d1b
2004-02-07 18:04:50 +00:00
Bart Oldeman
b7491eba32 Expand tabs for int21/ah=2,9 even in raw device modes and if stdout is
redirected. This solves bug 1737 (grep2msg problem)
This copy&paste exercise is to be cleaned up a bit later!


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@759 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-27 19:26:58 +00:00