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
Bart Oldeman
ee60fb10b8
From Lucho: implement
...
--------D-2F1211-----------------------------
INT 2F U - DOS 3.0+ internal - NORMALIZE ASCIZ FILENAME
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@747 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-25 22:12:30 +00:00
Bart Oldeman
f1f51592ba
MSC/TurboC compatibility fixes (Luchezar/Bart)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@735 6ac86273-5f31-0410-b378-82cca8765d1b
2003-12-02 23:46:03 +00:00
Bart Oldeman
a44981fc3a
FAT32 kernels should fail int21/ah=71 with al=0, carry set.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@729 6ac86273-5f31-0410-b378-82cca8765d1b
2003-11-30 15:49:53 +00:00
Bart Oldeman
0694ff1acb
(from Lucho) Remove AL=0 check for AH=6c
...
(from Arkady) Optimize DL check.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@723 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-30 13:42:29 +00:00
Bart Oldeman
58808de6c8
Fix typo.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@719 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-16 15:05:10 +00:00
Bart Oldeman
492fef1f72
Change FcbReadWrite to handle multiple records at once; this allows
...
for the optimization of FcbRandomBlockIO.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@718 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-16 15:03:16 +00:00
Bart Oldeman
fdb58291c4
Fix FCB problems with int21/ah=27,28 (RandomBlockIO)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@715 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-11 23:58:51 +00:00
Bart Oldeman
3fa044c149
Implement support for int2f/ax=1220.
...
Fix int2f/ax=1216 (needs sft handles, not psp handles, and to return
the relative handle in BX, and to deal with carry)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@712 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-05 13:30:47 +00:00
Bart Oldeman
bdc5569995
Set the Critical Error number immediately after calling a device driver.
...
This solves problems with int24 handlers that call int21/ah=59.
Let truename and blockrw return with an error if there is a critical error.
Don't overwrite the critical error # with the DOS error #.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@709 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-24 19:34:11 +00:00
Bart Oldeman
7bcbfa999c
Add missing (); small optimization for DosGet date/time.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@691 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 10:54:43 +00:00