Commit Graph

533 Commits

Author SHA1 Message Date
Kenneth J Davis
ae3d48ab33 Change how DosGetExtFree checks for drive so int 21h/7303h more lax about path given, support driver specifier with or without slash (C: or C:\) and just slash (\) for current drive (does allow some additional bogus paths to return success)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1369 6ac86273-5f31-0410-b378-82cca8765d1b
2009-04-30 05:16:31 +00:00
Eric Auer
31bc1f6149 Added support for BUFFERSHIGH as alias to BUFFERS: No new code
but useful for people who are used to writing HIGH everywhere.
Thanks to Christian Wallbaum the hint that config.txt had both.
Removed code which called int 16.1 in a loop before 16.0 - this
would only be useful if you invoke HLT before each int 16.1 ...


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1366 6ac86273-5f31-0410-b378-82cca8765d1b
2008-06-01 22:44:19 +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
bfb40c4b1c Workaround for y2k BIOS bugs at the only location where FreeDOS
reads the BIOS (CMOS RTC) date (at boot). Note that according to
RBIL, DRDOS would even hook int 1a ah=4 to force a correct year.

/* A BIOS with y2k (year 2000) bug will always report year 19nn */
if ((dosregs.c.x >= 1900) && (dosregs.c.x < 1980)) dosregs.c.x += 100;


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1359 6ac86273-5f31-0410-b378-82cca8765d1b
2008-03-09 16:11:10 +00:00
Eric Auer
26f116a217 More secure FAT handling: Avoids risk of cross links for example if
you reboot while files are open... Reported by Hardi Stengelin :-).

Always test *link_fat* result. New function is_free_cluster.  Extra
checks in *link_fat* (bad r/w offset, i/o, write) and *next_cluster*
(dangling chain: bad value in chain) with short messages (no msg for
bad chain start). Shorter "Bad DPB" (FAT size) msg.  More comments!

Update FS INFO on disk only when needed.  Check if chain EOF was at
expected place when extending.  Call *link_fat* before! *setdstart*
when a FAT chain grows.   [Q: Does 0 byte write always trunc? Why?]


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1358 6ac86273-5f31-0410-b378-82cca8765d1b
2008-03-08 20:31:37 +00:00
Eric Auer
0cc297cf2d The truename function must use the current working directory of
the virtual / created-by-subst drive when it resolves relative
paths, even though truename returns the "real" drive and dir
of where your files actually are in the end. Using the current
directory of the "real" drive made truename give wrong results.

PS: If "subst e: d:\" says "physical path x:\ cannot be made",
then it refers to "making" a root dir. "subst e: d:\foo" works.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1357 6ac86273-5f31-0410-b378-82cca8765d1b
2007-09-15 22:01:03 +00:00
Bart Oldeman
69d767be50 Let exeflat call UPX itself like in the unstable branch. Simplifies makefile.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1353 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-29 08:49:02 +00:00
Bart Oldeman
266398c247 Add ASM to HaltCpuWhileIdle declarations for compatibility with Turbo C.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1350 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-27 11:41:13 +00:00
Eric Auer
94d0560e7b Do not ABORT if image size is above 1 MB - Instead, handle size
MODULO 1 MB (paras = low_16_bits(pages<<5) ...) because for e.g.
Turbo C++ 3.0 needs this: Their IDE is 1.3 MB BOSS NE style EXE,
the first < 0.3 MB load a DOS ext which loads and runs the rest.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1348 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-25 02:37:59 +00:00
Eric Auer
f7320f6452 Init HaltCpuWhileIdle to 0 before installing int handlers.
Removed HaltCpuWhileIdle handling from GetBiosKey because it is
only used *before* IDLEHALT is processed anyway - in the config
sys menu *and* in CheckContinueBootFromHarddisk. Adding s.th.
like "switches /i" would be a way to enable it a bit earlier.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1346 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-17 19:33:24 +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
c3bd779112 Reinstated _IRQTEXT, now with corrected segment loads in irqstack.asm.
It is better to use groups than segments here.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1343 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-23 11:23:11 +00:00
Eric Auer
c2fababb01 Reverted the "add new IRQTEXT" segment patch from 1324->1325
again, as this made the kernel crash in Bochs in PostConfig
(or short before or after it). FASTBOOT should still be okay.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1341 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-21 21:46:17 +00:00
Eric Auer
1e5efe260e New config.sys (config.c, config.txt) options: IDLEHALT=n to activate
"HLT on idle" (dosidle.asm, int2f.asm) and KEYBUF=n[,m] to relocate
the keyboard buffer to another area in the 40:ac..40:1ff range. Global
functions and variables: proto.h DosIdle_hlt, init-mod.h and globals.h
DosIdle_hlt() and HaltCpuWhileIdle.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1339 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-21 03:37:53 +00:00
Eric Auer
cf05259924 Removed "Dutch plurals" ("Dutch plural's" ;-)) from the source code:
kernel/fatfs.c kernel/config.c kernel/kernel.asm kernel/initdisk.c
kernel/fattab.c kernel/dyninit.c kernel/int2f.asm kernel/memmgr.c
kernel/task.c kernel/dsk.c kernel/printer.asm kernel/globals.h
kernel/dosfns.c docs/config.txt hdr/device.h drivers/rdpcclk.asm


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1338 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-20 20:52:33 +00:00
Bart Oldeman
c10f276c46 Really fix the 8086 issue!
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1337 6ac86273-5f31-0410-b378-82cca8765d1b
2007-06-17 21:23:12 +00:00
Bart Oldeman
4d7fc0f7ed Disable interrupts before storing IVTs and fix the 8086 kernel.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1336 6ac86273-5f31-0410-b378-82cca8765d1b
2007-06-17 21:20:50 +00:00
Bart Oldeman
a4bc22884c Use the largest possible lastdrive value ('Z',26) for the initial CDS.
This allows device=f:\foo.sys to work.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1335 6ac86273-5f31-0410-b378-82cca8765d1b
2007-06-04 16:54:11 +00:00
Bart Oldeman
3f1938d8e8 Fix bug 1953: 21h/29h returns 0 (valid) for all drive root names up to
LASTDRIVE. Also, if the drive is invalid this function no longer fills in
any values in the destination FCB.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1334 6ac86273-5f31-0410-b378-82cca8765d1b
2007-06-04 16:35:53 +00:00
Bart Oldeman
5fa8f24fb7 Fix zero timeouts for GetBiosKey (F5/F8 handling).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1332 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-28 18:01:59 +00:00
Bart Oldeman
ce58a924fe Fix builds with Turbo C.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1330 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-26 21:57:11 +00:00
Bart Oldeman
29d6eb79f1 Use dos/sys compression if the uncompressed kernel is less than 64K. That
makes the compressed kernel about 2K smaller.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1329 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-26 21:20:58 +00:00
Bart Oldeman
ad58440395 Process relocations before compressing kernel.sys. This shaves about 130 bytes
off the compressed kernel.sys.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1328 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-26 20:03:51 +00:00
Bart Oldeman
eeef2f7efd Implement an int19 hook (from Japheth's JEMFBHLP.ASM).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1326 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-26 17:34:12 +00:00
Bart Oldeman
dc840d98f4 Jemm's FASTBOOT needs interrupt vectors at 0070:0100 so put them there,
eliminating the need for JEMFBHLP.EXE


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1325 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-26 16:57:15 +00:00
Bart Oldeman
acbc504765 Fix Bugzilla Bug 1956: all file opens fail under specific conditions.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1323 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-21 02:29:01 +00:00
Bart Oldeman
4a8c30c6e2 Fix problem with an old game that calls findfirst with attribute 77a8:
the kernel should not return a volume label in that case.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1322 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-21 02:17:44 +00:00
Bart Oldeman
ea91fd0236 Extra check for EBDA move: ramsize == peek(0, RAMSIZE) by Tom Ehlert
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1321 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-21 02:16:36 +00:00
Bart Oldeman
fbd8d43ccb From Eric: add some comments about what intr() does.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1320 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-21 02:15:56 +00:00
Bart Oldeman
7d18a16081 Read partition tables using CHS methods unless instructed to do otherwise.
Fixes problems with some older boot sector managers like PROT.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1319 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-21 01:57:21 +00:00
Bart Oldeman
c20a106569 Fix warning with OW 1.7 in-development.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1318 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-21 01:14:20 +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
1e98a86033 Remove unused intr prototype for resident code; add dir kernel.exe (TE),
cosmetic p=A -> p = A (TE).


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1316 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 17:48:47 +00:00
Bart Oldeman
2618be338f Implement floppy change notification via int2f/ax=4a00 (originally by
Tom Ehlert). Add forgotten bit of NLS int2f.asm change.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1314 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 17:44:02 +00:00
Bart Oldeman
f2823f9f27 Changed and optimized call_nls a bit to return the id in the high word
of a long, eliminating the on-stack pointer.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1313 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 17:41:35 +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
f777f91f4c Ioctl optimization using a command table, present both in Tom's and the
unstable kernel. ~83 bytes saved.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1310 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 04:12:53 +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
2466934534 Fix OW 1.6 warnings about functions redeclared as 'static'.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1308 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 00:05:41 +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
Bart Oldeman
46d959f0cb Fix the NUL device so it returns 0 bytes for reads, independent of whether
cooked or raw mode is used. It was broken for raw mode. Fixes problem
with DJGPP sed (see
http://sourceforge.net/tracker/index.php?func=detail&aid=1429741&group_id=49784&atid=457447)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1306 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-14 23:52:39 +00:00
Bart Oldeman
56d8008672 Fix QB4 MCB problem (from FD1.0 kernel).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1304 6ac86273-5f31-0410-b378-82cca8765d1b
2006-10-31 21:08:12 +00:00
Bart Oldeman
c952ceff61 Clear high 4 bits of FAT32 FAT table entries & diagnostics. From FD 1.0
kernel.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1303 6ac86273-5f31-0410-b378-82cca8765d1b
2006-10-31 21:05:09 +00:00
Bart Oldeman
4768a9d2f8 Serial code fixes from the FD1.0 kernel.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1302 6ac86273-5f31-0410-b378-82cca8765d1b
2006-10-31 21:01:38 +00:00
Eric Auer
ba7bde0bdf VERSION=x.yy must set the setver-able DOS version, not the "true internal"
DOS version. The setver-able version is the one queried by int 21.30 and
settable by int 21.33fc, internal version is the one queried by int 21.3306.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1190 6ac86273-5f31-0410-b378-82cca8765d1b
2006-05-21 18:50:30 +00:00
Eric Auer
db243d4688 Updated the year in the "copyright" string which is used for the
signon message at boot time. Note that the string in globals.h is
no longer used! Message is now:
(C) Copyright 1995-2004 Pasquale J. Villani and The FreeDOS Project.
All Rights Reserved. This is free software and comes with ABSOLUTELY NO
WARRANTY; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation;
either version 2, or (at your option) any later version.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1189 6ac86273-5f31-0410-b378-82cca8765d1b
2006-05-20 21:01:29 +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
Eric Auer
265efa8b8b removed the "protect 386 registers" patch again, a fixed version of free-
EMM386 is available. This reduces device driver call overhead in terms of
CPU and stack usage.  Older EMM386 versions destroyed eax ebx ecx edi esi
ebp fs gs, now go_driver_entry in emm386.asm saves those registers. Only
the INIT was broken, but the execrh.asm patch protected ALL functions.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1184 6ac86273-5f31-0410-b378-82cca8765d1b
2006-05-20 20:49:59 +00:00
Eric Auer
40276450af changed the os_release version message to be
"build 2036 cvs [version Sep 09 2005 compiled May 20 2006]" as opposed to
the old "version 1.1.35 (Build 2035b-cvs) [Jul 23 2005 12:34:56]"
-> removed the "1.1.35" and compile TIME, added SOURCE DATE


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1182 6ac86273-5f31-0410-b378-82cca8765d1b
2006-05-20 20:48:43 +00:00
Kenneth J Davis
b08bb299b1 from Eduardo, fix Spanish (34, not duplicate of 33)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1142 6ac86273-5f31-0410-b378-82cca8765d1b
2005-09-08 23:48:25 +00:00
Kenneth J Davis
6d9f6c60c0 protect 386 registers from emm386 on 386 kernel build (prevent crash, workaround)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1136 6ac86273-5f31-0410-b378-82cca8765d1b
2005-07-24 09:34:10 +00:00
Kenneth J Davis
696614a6c1 do not compares filenames to name field in block devices
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1127 6ac86273-5f31-0410-b378-82cca8765d1b
2005-07-10 01:19:29 +00:00
Kenneth J Davis
790ad53fee don't leave fd open when failing DIR bit check
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1124 6ac86273-5f31-0410-b378-82cca8765d1b
2005-04-10 15:00:37 +00:00
Kenneth J Davis
4dcdd071e5 bug 1874 fix, do not consider setting DIR bit an error for int 21/4301=set attribute, if really is a directory
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1123 6ac86273-5f31-0410-b378-82cca8765d1b
2005-04-05 15:08:30 +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
e501067d7b insure bpb_huge is initialized (zeroed) [merge from dev kernel]
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1119 6ac86273-5f31-0410-b378-82cca8765d1b
2005-03-06 16:12:34 +00:00
Kenneth J Davis
063efbfef3 from Eric (similar already in dev), set driver request field with subunit number
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1115 6ac86273-5f31-0410-b378-82cca8765d1b
2005-02-24 20:35:48 +00:00
Kenneth J Davis
42c99c7d70 ensure f_nodes.f_count are initialized to 0 (always clear KernelAlloc'd memory)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1098 6ac86273-5f31-0410-b378-82cca8765d1b
2005-01-29 04:59:31 +00:00
Kenneth J Davis
5c262419e5 fix bug 1789
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1090 6ac86273-5f31-0410-b378-82cca8765d1b
2005-01-09 11:30:44 +00:00
Kenneth J Davis
ded1a47b81 bug 1850, properly handle block drivers failing just by returning no units
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1084 6ac86273-5f31-0410-b378-82cca8765d1b
2005-01-01 18:03:43 +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
Bart Oldeman
cca3ca9547 Don't use implicit int.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1062 6ac86273-5f31-0410-b378-82cca8765d1b
2004-11-15 09:53:08 +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
Kenneth J Davis
99f863a28f merge in some changes from UNSTABLE, batch files no change just line ending issue
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1036 6ac86273-5f31-0410-b378-82cca8765d1b
2004-09-12 04:46:28 +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
7c861194f8 Fix compilation error.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1007 6ac86273-5f31-0410-b378-82cca8765d1b
2004-07-25 07:20:23 +00:00
Bart Oldeman
cd85d78739 Need to check for navc!=NULL, not *nc!=0xffff in DosGetFree.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1006 6ac86273-5f31-0410-b378-82cca8765d1b
2004-07-25 00:08:34 +00:00
Bart Oldeman
a6a6cfec9d Preserving di in ludivmul.inc: fixes problem with the modulo when
divisor > 0xffff.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1005 6ac86273-5f31-0410-b378-82cca8765d1b
2004-07-24 23:56:32 +00:00
Bart Oldeman
7d0a83c800 Preserve DI in call_nls (fixes problem reported by Eduardo)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1004 6ac86273-5f31-0410-b378-82cca8765d1b
2004-07-24 23:54:23 +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
fe30b5a698 Fix some dependencies.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@973 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-30 20:59:33 +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
2c8a4b8c34 MSC fixes and small cleanups from Lucho
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@970 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-29 09:51:47 +00:00
Bart Oldeman
41edf4f640 Don't take attr if dpbp == NULL! OW does some optimizations assuming that
NULL does not point to valid memory, in this case it hurts.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@969 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-29 01:33:12 +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
3f72bd1865 DJ mechanism without memcpy.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@967 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-28 13:44:49 +00:00
Bart Oldeman
4199f4c6c8 Cache attr and control flow optimizations from Lucho (~120 bytes)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@966 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-28 13:15:22 +00:00
Bart Oldeman
dace548223 (mostly from Lucho) deal with the correct structure for generic and
query ioctls. Fixes issues with 3rd party device drivers (or ones that use
dsk.c)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@965 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-28 12:57:41 +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
57bac85ae3 Applied most of Arkady's initdisk optimizations (65 bytes) and is_suspect fix.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@963 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-25 19:24:55 +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
c90e1e3c11 Fix problem with wrong remote_rw cast and unused variable.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@961 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-25 00:02:46 +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
0c00651565 Pointer-ise specificCountriesSupported accesses.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@959 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-24 23:34:22 +00:00
Bart Oldeman
b3a2d6bfde Reorganized GetBiosKey a bit -- inlining GetBiosTime saves a slight amount
of code, converted timeout < 0 to a blocking read instead of polling.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@958 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-24 18:39:49 +00:00
Bart Oldeman
c0f1c45d1f Use strcaseequal instead of strcasecmp since we never care about order
anyway.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@957 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-24 18:06:04 +00:00
Bart Oldeman
195614981a Fix problem with #ifdef DEBUG HMA check. Use more descriptive name
(EnabledA20).


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@956 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-24 17:07:04 +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
3eac7d3c19 Fix problem with redirected input and int21/ah=0a (debug < foo.txt) --
could get you an invalid opcode!


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@954 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 22:53:11 +00:00
Bart Oldeman
99e727b73d Use int29 for kernel console output. Enables ansi escape sequences in config.sys once you load nansi.sys. It also saves a couple of bytes.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@953 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 22:04:42 +00:00
Bart Oldeman
f8be820925 Clear up confusing (void *)n using a macro.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@952 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 21:18:37 +00:00
Bart Oldeman
86a8e9c2d2 This was unequal replacement: in new code performed more memory access
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@951 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 20:06:51 +00:00
Bart Oldeman
c863987e18 Arkady changed/optimized allocmem()
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@950 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 20:01:30 +00:00
Bart Oldeman
05f3cdd165 Arkady: bugfix for INT21/440b (change NetRetry if DX is _non_zero).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@949 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 19:53:33 +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
fe3a2a1dd5 Some small cleanups from Lucho.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@946 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 18:28:18 +00:00