Commit Graph

137 Commits

Author SHA1 Message Date
Kenneth J Davis 3a8752a5ab add/use halt() wrapper for issuing "hlt" asm instruction
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1158 6ac86273-5f31-0410-b378-82cca8765d1b
2005-11-26 18:59:53 +00:00
Kenneth J Davis 9c7fd183f4 allow printf to work correctly when SS!=DS
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1153 6ac86273-5f31-0410-b378-82cca8765d1b
2005-11-20 16:39:14 +00:00
Kenneth J Davis 23006698f1 add comments about what flags mean
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1150 6ac86273-5f31-0410-b378-82cca8765d1b
2005-11-20 16:17:43 +00:00
Kenneth J Davis 24f47a5ecc more win3 support, some comments, upx option to build.bat, misc debug print changes
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1147 6ac86273-5f31-0410-b378-82cca8765d1b
2005-11-06 19:50:35 +00:00
Kenneth J Davis 10d6282175 comment additional, but unused fields in PSP
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1113 6ac86273-5f31-0410-b378-82cca8765d1b
2005-02-11 12:46:06 +00:00
Kenneth J Davis 304aaa1428 retry, revert FreeDOS specific variables back to original locations
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1109 6ac86273-5f31-0410-b378-82cca8765d1b
2005-01-31 20:48:32 +00:00
Kenneth J Davis 65d87b42c4 additional win 3.x compatibility when WIN31SUPPORT defined (untested)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1106 6ac86273-5f31-0410-b378-82cca8765d1b
2005-01-31 04:08:39 +00:00
Kenneth J Davis aa82e451e8 correction (for tc2)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1104 6ac86273-5f31-0410-b378-82cca8765d1b
2005-01-30 14:05:44 +00:00
Kenneth J Davis a56552c0f5 just comments and additional debug messages, updated history (little reformating)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1103 6ac86273-5f31-0410-b378-82cca8765d1b
2005-01-29 20:33:11 +00:00
Kenneth J Davis a7a1b4ff1e new debug macros, simplify selective debug output
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1099 6ac86273-5f31-0410-b378-82cca8765d1b
2005-01-29 20:18:03 +00:00
Luchezar Georgiev 7b0a023193 By Eduardo - update hardcoded country and codepage IDs
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1071 6ac86273-5f31-0410-b378-82cca8765d1b
2004-12-05 14:21:00 +00:00
Luchezar Georgiev 69df2d06f7 (Arkady) Remove -U option as Bart's new EXFLAT now uses XUPX variable directly
Suppress TC++ 1.01 warnings (BC++ 3/4/5 not affected!) and MSC LIB prompt


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1065 6ac86273-5f31-0410-b378-82cca8765d1b
2004-11-18 11:20:04 +00:00
Luchezar Georgiev 1e507dae69 Now can read all COUNTRY.SYS data but LCASE/DBCS/YESNO
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1051 6ac86273-5f31-0410-b378-82cca8765d1b
2004-09-22 18:41:58 +00:00
Luchezar Georgiev 6e7cf96323 By Eduardo Casino-Almao:
adds DBCS support to DOS-65-23 (Determine if a character represents
yes/no response) as specified by RBIL, and fixes DOS-63-00 (Get
Double Byte Character Set lead-byte table.) It now returns the DBCS
table from the active NLS package, not the harcoded one.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1040 6ac86273-5f31-0410-b378-82cca8765d1b
2004-09-12 17:47:21 +00:00
Kenneth J Davis e90edc941b UNSTABLE branch is always kernel revision 'w' for WorkInProgress (to avoid
confusion with stable series)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1038 6ac86273-5f31-0410-b378-82cca8765d1b
2004-09-12 06:42:05 +00:00
Luchezar Georgiev 6a3380a10a Israeli country information was referring to Middle East.
Watcom AUX DEFAULT pragma works only for 80386 and above.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1031 6ac86273-5f31-0410-b378-82cca8765d1b
2004-09-09 14:06:23 +00:00
Luchezar Georgiev a6b468389b COUNTRY.SYS & NLSFUNC support added: Lucho, Eduardo.
32RTM and BRUN45 incompatibilities fixed by Michael.
ZIP drive serial numbers now work: bug fix by Lucho.
Small clean-ups and optimisations by Lucho & Arkady.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1023 6ac86273-5f31-0410-b378-82cca8765d1b
2004-09-03 09:26:53 +00:00
Kenneth J Davis f4ab00c556 patches from Arkady, Lucho, and Bart -- see history.txt for details
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1009 6ac86273-5f31-0410-b378-82cca8765d1b
2004-07-25 09:55:58 +00:00
Kenneth J Davis 640ab403e2 from Arkady: actually remove indicated files, readd filelist, fix co_m_piler typo,
from Tom: improve behaviour on failed FindFirst call and return to app not DOS


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@991 6ac86273-5f31-0410-b378-82cca8765d1b
2004-07-11 08:36:25 +00:00
Kenneth J Davis 9c94426d7a Lucho's kernel with Arkady's changes, initial unstable branch
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@988 6ac86273-5f31-0410-b378-82cca8765d1b
2004-07-09 02:16:31 +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
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