Bart Oldeman
6f6ceadebc
As per a suggestion from Arkady: use CPU to enforce 8086 etc instructions.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@879 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 20:41:15 +00:00
Bart Oldeman
7eb9514377
Move the ddt bitfields to df_descflags. Let SetLogDev call GetLogdev,
...
eliminating common code.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@868 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 10:54:33 +00:00
Bart Oldeman
5d712fc2a6
Avoid bitfields for fnodes, using flags instead.
...
Replaced droot field by checks for f_dirstart == 0.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@867 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 10:46:37 +00:00
Bart Oldeman
e6e3b7a3a4
Use the "small" model for the init code (split code/data). This will enable
...
us to use the same CS for resident and init code for Watcom (Borland's
too big), and share a bit.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@859 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-10 10:59:57 +00:00
Bart Oldeman
a7ca14c46c
Use pascal calling conventions for execrh().
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@848 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 11:16:03 +00:00
Bart Oldeman
7ae98cee2a
Introduce VA_CDECL: only Turbo C 2.01 needs an explicit cdecl for printf,
...
all other compilers can use it with pascal or "register" calling conventions.
Saves ~50 bytes for the init code.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@845 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-07 16:13:23 +00:00
Bart Oldeman
d5cb4e950c
Fixed screwed up comment sequence.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@831 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-27 00:27:11 +00:00
Bart Oldeman
9aa77bef50
Get rid of SFT_M* mode values. O_* values are sufficient.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@830 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-27 00:23:06 +00:00
Bart Oldeman
0f4d6ea6a1
Define O_ACCMODE and use it instead of "3" for the open access mask.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@828 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-26 23:20:55 +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
f63eea565a
Made the main fnodes far so they can be in UMBs.
...
Internally the kernel uses two near fnodes though, to save on codesize
and fmemcpy's if necessary. Having memory management on two fnodes is
a little silly but I just want to make sure with the panic message
that we never accidentally try to use three near fnodes at the same time.
(two are used at the same time by rename, commit, and merge_file_changes).
This can be cleaned up later.
Anyway. 644736 bytes free conv memory isn't bad.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@821 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-23 22:45:38 +00:00
Bart Oldeman
ce290a033f
Eliminate f_back field.
...
extend() now uses f_cluster instead of f_back, while map_cluster makes
sure it's not set to LONG_LAST_CLUSTER (but to the cluster before it)
when calling extend().
extend() and first_fat() now return the new cluster number or
LONG_LAST_CLUSTER, just like find_fat_free()
Hopefully I didn't break anything... Initial testing was successful.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@816 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-22 22:33:05 +00:00
Bart Oldeman
df538bb32a
Eliminated f_sector and f_boff fields from fnodes.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@814 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-22 16:56:34 +00:00
Bart Oldeman
11a7b69e5c
Make f_diroff an entry offset so it can be 16bits. Enforce the 65536
...
entry limit in dir_read(). Saves 80 bytes or so + 2 bytes in every f_node.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@811 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-22 10:29:26 +00:00
Bart Oldeman
0d6d0b8523
(with Lucho) -- remove the dosnames path 67 length check. Review the places
...
where it really matters (chdir and mkdir).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@796 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-07 12:59:38 +00:00
Bart Oldeman
d61defe941
From Lucho: move NLS #defines to nls.h. Move config structure to config.h.
...
Some cosmetic changes.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@794 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-07 11:56:14 +00:00
Bart Oldeman
decc3f5c37
From Lucho: smaller Protect/Restore 386 register macros.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@785 6ac86273-5f31-0410-b378-82cca8765d1b
2004-02-23 23:26:01 +00:00
Bart Oldeman
de444743cc
Define I386 and I186 more cleanly.
...
Add (UWORD) casts to silence the compiler.
Optimize (head*sector) to secs_per_cyl
Add BORLANDC to compiler list and simplify startup printf to one message.
#pragma enable_message(130) for Watcom C causes it to behave a little more
like Borland in terms of warnings.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@776 6ac86273-5f31-0410-b378-82cca8765d1b
2004-02-07 18:16:27 +00:00
Bart Oldeman
272f86af3d
Corrections to get past turbo c warnings.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@764 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-31 15:04:09 +00:00
Bart Oldeman
a9c00dcf86
Adapted from Chris Rodie's patch (bugzilla #1729 ):
...
"open" and "close" should call the open/close functions for devices using
a device request when appropriate.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@755 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-26 13:18:13 +00:00
Bart Oldeman
4f1a117069
* FAT32 kernels should ignore the upper word of the cluster number for
...
FAT16 partitions (just like FAT16 kernels do)
* added extra checks to make sure that invalid FAT entries are never
followed
* made put_console() public to be able to print a message in case of
FAT corruption
* some small optimizations and header cleanups (some suggested by Arkady)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@753 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-26 00:51:49 +00:00
Bart Oldeman
090b589222
Bump version number to 2033.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@744 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-17 17:30:12 +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
21f2b2ec5e
Fix nls upcase problem with SS!=DS.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@728 6ac86273-5f31-0410-b378-82cca8765d1b
2003-11-30 04:08:27 +00:00
Bart Oldeman
20299d3642
Bump up version number; update changelog.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@710 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-24 20:47:04 +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
e5a93602af
Adjust version and history.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@699 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-18 21:37:39 +00:00
Bart Oldeman
2f4e2d3a69
* add support for the far jmp at "int 30" (0000:00c0)
...
* mirror it for the HMA (ffff:00d0)
* put all DOS int handler (and the CPM entry jumped to from int30)
jumpers in the "CONST" portion of DGROUP (instead of LGROUP)
This helps Turbo C++ 1.01 make with the -S (swap) switch.
* adjustments to set the relevant PSP fields in task.c
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@694 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-16 12:38:02 +00:00
Bart Oldeman
0aba4bc7fb
Use STATIC=static for watcom C (statics are in the mapfile); remove
...
some cruft.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@686 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 10:40:11 +00:00
Bart Oldeman
44c5a93bdb
New UNREFERENCED_PARAMETER macro that appears to work for all compilers.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@678 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-09 17:22:03 +00:00
Bart Oldeman
569f053101
Change r_status and dh_name to unsigned quantities.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@677 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-09 17:21:08 +00:00
Bart Oldeman
b88881b8a0
Add peek and poke #defines
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@672 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-04 18:58:01 +00:00
Bart Oldeman
d6e8d403ea
Update Changelog, version number.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@642 6ac86273-5f31-0410-b378-82cca8765d1b
2003-07-19 18:09:07 +00:00
Bart Oldeman
756c578ca7
(joint with Luchezar Georgiev): add extra low disk buffer to avoid HMA
...
problems with certain device driver. Add an extra space for the device
driver command line and point to a correct environment for
INSTALL= (fixes problems with xmsdsk).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@636 6ac86273-5f31-0410-b378-82cca8765d1b
2003-07-12 20:56:11 +00:00
Bart Oldeman
4780a1fc94
NLS changes from Steffen
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@625 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-27 22:02:57 +00:00
Bart Oldeman
2fdf99331d
Added structure to nls.h; small main.c cleanup.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@624 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-20 20:06:24 +00:00
Bart Oldeman
7bc5f8b31e
Repair arrow keys for console.asm + fixes for Turbo C
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@605 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-15 22:58:29 +00:00
Bart Oldeman
faaff5006a
+ Changes Eric Auer
...
* add sanity check to initdisk.c for (driveParam->chs.Sector == 0)
+ some display tweaks
* add ANYDOS, KBDRATE, VIDMODE, MENUCOLOR and EECHO support to the
config.sys parser.
* distinguish between the builtin DOS version and the settable
DOS version.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@601 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-15 19:26:49 +00:00
Bart Oldeman
ed78089e0b
introduce lol structure for list of lists; avoid lots of relocations
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@592 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-15 15:53:58 +00:00
Bart Oldeman
05df4d89f4
if user left accidentally floppy or CD in drive, give him a chance to continue to boot from HD.
...
disabled by default, enablable by SYS CONFIG (Tom Ehlert)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@591 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-15 14:38:13 +00:00
Bart Oldeman
03e234af3c
WATCOM needs to be WATCOMC
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@587 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-15 11:53:00 +00:00
Bart Oldeman
bf5d83c016
Final changes for kernel 2029
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@543 6ac86273-5f31-0410-b378-82cca8765d1b
2003-03-15 04:18:09 +00:00
Bart Oldeman
3cd84d893e
bump up to 2029
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@541 6ac86273-5f31-0410-b378-82cca8765d1b
2003-03-12 23:29:50 +00:00
Bart Oldeman
355580dded
Eliminate highwater fnode field.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@540 6ac86273-5f31-0410-b378-82cca8765d1b
2003-03-12 23:29:08 +00:00
Bart Oldeman
9bcd6b125a
Don't allow wildcards for internal truename processing, except for
...
DosFindfirst and DosTruename.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@536 6ac86273-5f31-0410-b378-82cca8765d1b
2003-03-12 06:50:33 +00:00
Bart Oldeman
b43f271014
"rmdir" and FAT32 fixes from Tom.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@499 6ac86273-5f31-0410-b378-82cca8765d1b
2003-02-20 20:51:42 +00:00
Bart Oldeman
43bee4de3a
Adjustments to #error for pre-ANSI compilers.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@489 6ac86273-5f31-0410-b378-82cca8765d1b
2002-12-10 03:01:19 +00:00
Bart Oldeman
e67a8f5058
Changes for kernel 2028 (see history.txt)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@485 6ac86273-5f31-0410-b378-82cca8765d1b
2002-12-09 00:17:15 +00:00
Bart Oldeman
894c9ebd7a
Bump up version to 2027
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@465 6ac86273-5f31-0410-b378-82cca8765d1b
2002-11-09 19:47:49 +00:00
Bart Oldeman
bca3ec2175
* Hopefully innocent hack to deal with NDN in ioctl.c (ignore upper bits
...
of the drive number)
* use subst bit 15 for int21/ax=4409.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@463 6ac86273-5f31-0410-b378-82cca8765d1b
2002-11-09 19:34:04 +00:00