Bart Oldeman
76f1c10a4e
Eliminate xlt_fd(), save_far_f_node(), and the redundant fnode f_mode field.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1404 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-26 18:34:05 +00:00
Bart Oldeman
c179284147
Remove redundant checks for fnodes==0 since the checks are done in dosfns.c.
...
Replace global f_nodes[] array by f_sft_idx fields in the fnodes.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1401 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-26 14:44:44 +00:00
Bart Oldeman
a69b4ba011
Eliminate the sft_status field as it is now equal to the SFT index.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1400 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-26 14:11:50 +00:00
Bart Oldeman
e63e5dd125
Eliminate f_count field in fnodes and some no-op functions.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1398 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-26 13:47:52 +00:00
Bart Oldeman
d7d201a53b
This is the main change to eliminate far fnodes.
...
SFT info is copied from and to the two near fnodes.
Some cleanups still follow.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1397 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-26 13:24:14 +00:00
Bart Oldeman
39e6570be9
Make the SFT DOS 4+ compatible and change fields to be unsigned.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1396 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-26 13:09:20 +00:00
Bart Oldeman
7083b0a4fa
On close or commit, only update those directory entry fields that have an
...
SFT equivalent. The rest stays unmodified on disk.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1392 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-22 00:25:11 +00:00
Bart Oldeman
d39420dc11
Add f_dirsector (sector containing dentry) and f_diridx (index within
...
sector) fields to the fnode, to make fnodes more compatible with SFTs.
Use them to simplify dir_read() and dir_write().
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1390 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-21 12:57:37 +00:00
Kenneth J Davis
a238ea500f
update version # in preparation for next release and to avoid confusion between svn and release kernels
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1385 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-18 09:38:16 +00:00
Kenneth J Davis
9c9cb22b2f
update version in preparation for 2038 tag and release
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1381 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-17 01:15:46 +00:00
Kenneth J Davis
d9e2861a44
improve comments regarding call PSP:5 patch
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1375 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-08 00:00:17 +00:00
Kenneth J Davis
240bcc30e2
commit Bart's patch to fix CP/M call psp:05h compatibility call along with some comments to explain the call trampoline
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1372 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-01 04:25:27 +00:00
Eric Auer
bec1b777f4
New version: fdkernel.lsm, version.h to 2038 / Mar 9 2008
...
(newest source file is 2008-03-09, initclk.c revision 1359)
Changelog file history.txt: added 2038pre and 2038 sections,
with a lot of "SVN log summarizing" help from Geraldo :-)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1364 6ac86273-5f31-0410-b378-82cca8765d1b
2008-03-31 23:04:27 +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
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
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
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
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
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
Eric Auer
52c9c933d8
removed some no longer used version defines. Changed build to "2036 cvs"
...
(revision 36) WARNING: Version should be "2037 test" (rev. 37) for UNSTABLE!
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1183 6ac86273-5f31-0410-b378-82cca8765d1b
2006-05-20 20:49:16 +00:00
Kenneth J Davis
e321f10fae
from dev: add MK_PTR and MK_SEG_PTR macros
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1121 6ac86273-5f31-0410-b378-82cca8765d1b
2005-03-15 15:25:08 +00:00
Kenneth J Davis
84d34e61c0
update version to 2035b-cvs (-cvs to denote not a release yet)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1118 6ac86273-5f31-0410-b378-82cca8765d1b
2005-02-25 23:58:07 +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
Kenneth J Davis
b4ec361ab6
based on floppy.asm patchset from Arkady, use ret instead of ret 8 appropriately;
...
improve comments, including sync with prototypes in dsk.c; small code clean up
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@979 6ac86273-5f31-0410-b378-82cca8765d1b
2004-06-18 06:57: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
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
de5bed6d28
From Lucho: converted TM_ENCODE into a function. Various cleanups in fatfs.c
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@942 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 15:00:37 +00:00
Bart Oldeman
fcaf8682dc
Avoid problem with BC declaring __emit__, en/disable twice.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@923 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 00:24:33 +00:00
Bart Oldeman
6947542a5e
Initialise all int vectors except the ones at 70:xxxx using a table.
...
Convert setvec into a function that disables/enables ints (init code only
for now, resident code will follow later); cli/sti (disable/enable) are
now macros (inlined).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@918 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-04 09:32:16 +00:00
Bart Oldeman
ecfcb9be29
dir_read() no longer updates the diroff counter. This eliminates the NEW
...
field, simplifies remove_lfn_entries(), and avoids a bug if you delete
the first entry in the root directory on FAT32.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@911 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-30 17:14:33 +00:00
Bart Oldeman
c42277d259
Update .lsm version.h and changelog.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@887 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-17 19:13:20 +00:00
Bart Oldeman
2734dd94ae
Fix Borland prototype warnings. Use kernel 2034 rc version tag for
...
wider testing.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@886 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-14 15:53:16 +00:00
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