Commit Graph

758 Commits

Author SHA1 Message Date
Bart Oldeman
68c3f9ad13 Lucho reported that MSC compiled kernels now work after all. Let's mark
those nasty "BSS" variables explicitly then to try to avoid future problems.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@880 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 23:46:25 +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
74970d953b Correct int21/ax=4401: returned AL = old value, should set CY and DE_INVLDDATA
if DH!=0 (RBIL is a little confusing here).


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@878 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 20:37:30 +00:00
Bart Oldeman
fed4d61e90 Fix new LBA problem.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@877 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 17:21:30 +00:00
Bart Oldeman
541b994f99 Correct another shr ...,4
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@876 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 17:16:39 +00:00
Bart Oldeman
c899541e2e Converted nxtMCBsize back to a macro. There is no need to use far2para;
FP_SEG works fine since MCBs always have offset 0.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@875 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 12:13:03 +00:00
Bart Oldeman
e9716d990d Document the fact the MSCL8 compiled kernels don't work.
Don't initialize BSS variables anymore -- now done by the memset in main.c
Removed obsolete BYTE cfgCSYS_fnam[NAMEMAX]; config variable.
Changed cfgInit and cfgInitTail to pointers, adjusted some code to work
with them.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@874 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 11:54:09 +00:00
Bart Oldeman
06de625da2 The screen position (for TABs) is only for raw *CONOUT* devices already
updated in dosfns.c


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@873 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 11:21:29 +00:00
Bart Oldeman
3e1c1a526f AllocateHMASpace needs to check FP_SEG(firstbuf) for 0xffff, since the
buffers may not live in the HMA.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@872 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 11:11:09 +00:00
Bart Oldeman
e5f882f2ec Use AL, not AX, for int2f/ax=1213, as per RBIL (from Arkady)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@871 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 11:07:59 +00:00
Bart Oldeman
46df83483b Make unnecessary far pointers near.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@870 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 11:02:36 +00:00
Bart Oldeman
2aa4789bfc (From Arkady) Avoid "shr cx,4" (it doesn't work on the 8088)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@869 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-13 10:58:06 +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
5c72b4a0e9 Fixed some missing dots
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@866 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-12 09:36:07 +00:00
Bart Oldeman
46833929f9 Some variables need to be DOSFAR now; init code is no longer tiny but small.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@865 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-11 17:22:18 +00:00
Bart Oldeman
c6c49e1ec1 Some makefile cleanups from Arkady. Also Lucho reported that nmake/nologo
doesn't always work in 4dos, but nmake /nologo works.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@864 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-11 12:21:25 +00:00
Bart Oldeman
ca11edc6fd Buffer config fixes from Arkady.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@863 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-10 22:48:26 +00:00
Bart Oldeman
6ad8b415dd Applied Arkady's corrections to int2f/ax=4a01/2.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@862 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-10 21:07:06 +00:00
Bart Oldeman
dd6ace383a No longer include duplicate execrh, asmsupt, and u8m/d functions for the
init text in the Watcom compiled kernel, since they can be called "near"
in the resident code.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@861 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-10 15:11:16 +00:00
Bart Oldeman
147f4069e4 Make CS the same for INIT and HMA text for Watcom. Move HMA text up
in kernel.asm. Use std for the memory move: helps if there's overlap
(PCs with a very low amount of RAM).


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@860 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-10 14:18:25 +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
512f48e962 Use pointer to MK_FP(0,0x5e0) to save a bit of code.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@858 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-10 09:38:38 +00:00
Bart Oldeman
78995ad7cc Move some common code into a "push_ddt" function.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@857 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-10 09:37:45 +00:00
Bart Oldeman
cfed8c6f29 We must do "sbb ax, ax" *before* "popf" otherwise it won't be predictable!
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@856 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 23:51:44 +00:00
Bart Oldeman
11e57c64db fmemcpy->memcpy
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@855 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 16:08:57 +00:00
Bart Oldeman
6e6e34024b Make UMB_get_largest "pascal". Let it use the xms driver address from
the HMA code. Misc small config.c cleanups.
The uncompressed 386/fat32 kernel is now below 70000 bytes (69896).


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@854 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 15:43:01 +00:00
Bart Oldeman
4af102b61f "Cache" far drive data table near. Enable to eliminate many far
pointers in initdisk.c. Also clear up ConvPartTableEntryToIntern --
most of the casts were completely unnecessary.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@853 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 15:39:56 +00:00
Bart Oldeman
c415f74ee4 Use pascal calling conventions for all clock related asm functions.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@852 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 13:47:20 +00:00
Bart Oldeman
c5f6ed4aa8 Use pascal calling conventions for the remaining intr() functions (XMS
related)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@851 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 13:13:06 +00:00
Bart Oldeman
7012672d7d Use pascal calling conventions for floppy asm functions.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@850 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 13:11:25 +00:00
Bart Oldeman
950078ad08 Use the pascal calling convention for most intr.asm functions, and let
them pop the stack (smaller code than using bx).
Tell Watcom which registers are clobbered; save some more registers
for intr() -- especially for intr() this helps.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@849 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 11:37:40 +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
00e9730e32 Fix typo
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@847 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 11:01:34 +00:00
Bart Oldeman
0897ba9b38 Use the "-r" switch for Watcom to preserve ES around calls -- saves ~350
bytes.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@846 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-07 16:16:07 +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
e56f81d6a9 Use xreg struct and macros to optimize the int2f/12,4a handler a bit
~25 bytes (mostly from Arkady)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@844 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-06 23:51:33 +00:00
Bart Oldeman
ab21f9be76 buffer intersection check should use > instead of >= (spotted by Arkady)
small optimization -- the segment in bp == firstbuf is always the same
so we just need to compare offsets.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@843 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-06 23:03:51 +00:00
Bart Oldeman
83f044fbe0 Use strchr and strlen more often; also use strchr in the init code.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@842 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-06 22:48:12 +00:00
Bart Oldeman
deecf43882 Better to call fmemset than to do things manually.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@841 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-06 16:38:01 +00:00
Bart Oldeman
8ea4701226 Preserve bx and cx for WATCOMC in asmsupt.asm as well. Saves another
200 bytes.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@840 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-06 16:29:27 +00:00
Bart Oldeman
8e80462093 Be more specific about which registers are clobbered by asmsupt.asm
functions. Preserve "ES" for Watcom.
Saves ~150 bytes resident, ~90 bytes nonresident, more for 386 kernels.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@839 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-02 00:38:24 +00:00
Bart Oldeman
eed84806f8 dos_commit was missing a save_far_f_node() call. That caused the tar xzvf
problem. Also fixed the case when no far fnodes are available anymore.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@837 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-27 17:12:16 +00:00
Bart Oldeman
03138b0ed4 explicitly use .bat for call, etc., otherwise 4DOS doesn't like us...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@836 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-27 12:13:10 +00:00
Bart Oldeman
29bcbde334 It doesn't work with two * two % (at least in FreeCOM)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@835 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-27 02:36:50 +00:00
Bart Oldeman
3fe15616e7 .BAT file cleanups from Arkady
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@834 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-27 01:42:33 +00:00
Bart Oldeman
66a756f1a3 Simplify memory access mode check.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@833 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-27 00:35:34 +00:00
Bart Oldeman
db1a71bfff Remove wrong "512" value for number of root directory entries on FAT32
partitions.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@832 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-27 00:30:32 +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