Bart Oldeman
953e7b2007
Use _dos_allocmem for OW, similar to the Turbo C technique.
...
Split copy function into readfile and writefile functions.
Preserve time and date of kernel.sys and command.com.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1354 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-29 14:17:21 +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
194aa09e69
exeflat.c reorganization part 2, still no functional changes.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1352 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-29 07:51:13 +00:00
Bart Oldeman
d6232e9cd5
Reorganize exeflat.c, part 1, no functional changes.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1351 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-29 06:34:54 +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
94085ce923
Changed copy() to use a two pass algorithm: Now SYS first calls
...
copy to read kernel and command.com into RAM, then updates the
boot sector, then calls copy again to write kernel and command
from RAM to disk. This reduces disk changes a lot when you do
SYS A: B: on a PC which only has 1 diskette drive ("DJ style").
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1349 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-27 00:23:38 +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
Eric Auer
65798a9203
Clarified description of 21.63 (country / nlsfunc), 21.71
...
(long file names) and 21.5d0x (share). The share extensions
need both SHARE and kernel extensions, neither are done yet.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1344 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-28 18:29:50 +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
Bart Oldeman
43399a4335
Correct fat32readwrite prototype and register use in detect LBA pragma.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1342 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-23 09:53:49 +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
37cfbe2e44
Updated lsm and version.h ("svn snapshot", will settle into 2038),
...
updated history.txt (only my changes this week, needs cleanup!).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1340 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-21 04:01:02 +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
920274e93a
Fix stack for UPX-compressed kernels via a .sys file; adjust the threshold
...
from 64K to the real UPX limit which is 65420.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1333 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-28 18:45:52 +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
77af35928e
Documentation updates merged from UNSTABLE
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1331 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-26 22:21:04 +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
ca4ea74eeb
Replace UPX trailer in exeflat by the more flexible one from UNSTABLE.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1327 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-26 19:35:20 +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
fc3a696ca3
Add share to the stable kernel too.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1324 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-21 03:46:06 +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
511646b03f
Set OEM name to FRDOS5.1 instead of FreeDOS as Win9x seems to require 5
...
uppercase letters, digit(4 or 5) dot digit (Tom Ehlert)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1315 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 17:46:30 +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
599278eeae
Build system adjustments from the FD1.0 kernel. Shuts up dos4g and some
...
other stuff.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1305 6ac86273-5f31-0410-b378-82cca8765d1b
2006-10-31 21:13:02 +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