Commit Graph

441 Commits

Author SHA1 Message Date
Bart Oldeman
3eac7d3c19 Fix problem with redirected input and int21/ah=0a (debug < foo.txt) --
could get you an invalid opcode!


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@954 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 22:53:11 +00:00
Bart Oldeman
99e727b73d Use int29 for kernel console output. Enables ansi escape sequences in config.sys once you load nansi.sys. It also saves a couple of bytes.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@953 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 22:04:42 +00:00
Bart Oldeman
f8be820925 Clear up confusing (void *)n using a macro.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@952 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 21:18:37 +00:00
Bart Oldeman
86a8e9c2d2 This was unequal replacement: in new code performed more memory access
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@951 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 20:06:51 +00:00
Bart Oldeman
c863987e18 Arkady changed/optimized allocmem()
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@950 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 20:01:30 +00:00
Bart Oldeman
05f3cdd165 Arkady: bugfix for INT21/440b (change NetRetry if DX is _non_zero).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@949 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 19:53:33 +00:00
Bart Oldeman
b723ff9a46 inthndler cleanups, mostly from Arkady
Bart: made dosmktmp to return a long: consistent with DosOpen et al and
avoids the cast.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@948 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 19:45:48 +00:00
Bart Oldeman
fe3a2a1dd5 Some small cleanups from Lucho.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@946 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 18:28:18 +00:00
Bart Oldeman
b89c1b7cd3 Disabled EBDA moves by default. Automatic EBDA moves now happen using
switches=/e:-1


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@945 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 16:30:25 +00:00
Bart Oldeman
c97bc20bf2 GetNumArg and misc other cleanups from Lucho
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@944 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 16:21:14 +00:00
Bart Oldeman
24d27f2f9b From Tom: must set r_bpfat for C_BLDBPB, otherwise USBASPI.SYS, DI1000DD.SYS
won't like us. From Lucho: use DiskTransferBuffer for deblock_buf.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@943 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 15:10:08 +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
42c0af3aee Inlined dos_setdta. Various bug fixes and cleanups from Lucho and Arkady.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@941 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 14:49:11 +00:00
Bart Oldeman
2cdf880b85 From Lucho: moved fmemcmp's into a checkHMA function.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@940 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 14:45:27 +00:00
Bart Oldeman
4c116b0201 Pointer-ize MenuStruct[MenuSelected]... (from Lucho). and InstallCommands[i].
(from Bart). Some other small optimizations.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@939 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 14:24:32 +00:00
Bart Oldeman
91b3515162 From Lucho: replace loops by fmemset/fmemcpy (43 bytes)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@938 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 14:17:36 +00:00
Bart Oldeman
b5e2616877 Merge dosmkdir and dosrmdir (mostly from Lucho)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@937 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 14:10:39 +00:00
Bart Oldeman
8b66884304 Some small optimizations (46 bytes) and dead code removal from Lucho and Bart
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@936 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-23 14:04:52 +00:00
Bart Oldeman
8703b2574b Need to define strchr to init_strchr otherwise the wrong one may be called.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@934 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-11 10:46:42 +00:00
Bart Oldeman
5a738a9695 Remove redundant "break".
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@933 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-11 10:33:17 +00:00
Bart Oldeman
6f145e9834 inthndlr.c cleanups (merge common code into long_check and short_check),
mostly from Lucho.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@932 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 23:53:56 +00:00
Bart Oldeman
5dce77cd3b Do a bit of printf merging.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@931 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 22:46:41 +00:00
Bart Oldeman
e68f66db37 Convert getvec into a C function.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@929 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 20:49:43 +00:00
Bart Oldeman
7a16abbfb2 Convert setvec into a function for the resident code (mostly from Lucho).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@928 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 20:15:37 +00:00
Bart Oldeman
258877b44b cntry == 0 doesn't make sense for Set Country Information (by Arkady)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@927 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 19:44:52 +00:00
Bart Oldeman
c65b5e3b53 Correct typo.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@926 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 15:22:21 +00:00
Bart Oldeman
ece15c38f7 strcasecmp and set_strategy common code optimizations, mostly from Lucho.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@925 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 01:36:09 +00:00
Bart Oldeman
92d7f41719 Add necessary cast for BC
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@924 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 01:00:40 +00:00
Bart Oldeman
02db26383e Clean up int2f assembly a bit (merge some common bits, clarify label names)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@922 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-04 10:16:45 +00:00
Bart Oldeman
99d287bd2c fattab.c now remembers if the old FAT entry was free or not, so the free
space adjustment could be moved back to fattab.c.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@921 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-04 09:43:06 +00:00
Bart Oldeman
99c40acc80 Replaced setvec macro by a function.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@920 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-04 09:35:44 +00:00
Bart Oldeman
5a6e1845a8 Made int21/ah=25,35 reentrant. Solves problem with Intel PRO/1000 driver.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@919 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-04 09:34:47 +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
859ac24170 We have to cast away const to deal with the generic "void *" pointer and
some compiler warning.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@912 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-02 15:21:35 +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
976efed7a5 Need to commit proto.h or things won't compile...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@910 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-30 17:06:45 +00:00
Bart Oldeman
9cbede2ec9 Stop abusing "idx". The OW optimizer likes this better, too.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@909 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-30 16:49:34 +00:00
Bart Oldeman
00e1527fc5 Clean up FAT12 handling -- there's a portable approach that's small too.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@908 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-30 15:28:18 +00:00
Bart Oldeman
126ef5cec9 Inlined much of getFATblock() into link_fat. Saves the idx reference.
The second call (for a FAT12 entry that is divided in two sectors)
can be much simpler, no need to recalculate.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@907 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-30 14:05:14 +00:00
Bart Oldeman
bfe9252c2b Merged next_cluster and link_fat into one function depending on a
special Cluster2 value. More optimizations later.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@906 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-30 13:07:26 +00:00
Bart Oldeman
115b2bf68d Calculate the nibble/word/dword index of the FAT entry in the sector
centrally in getFATblock.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@905 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-29 12:48:18 +00:00
Bart Oldeman
f6716cd74b "clussec" can be of CLUSTER size if we divide by an adjusted "words per
sector"(FAT16), or "dwords per sector"(FAT32) value instead of multiplying
it first. For FAT12 the *3/2 works out a little differently: here we
first multiply by 3 and then divide by the number of "nibbles per sector".


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@904 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-29 12:28:14 +00:00
Bart Oldeman
0afa773303 From Lucho: HMAFree == 0xfff0 - bytesToAllocate is valid and may happen
if the buffers occupy exactly all HMA space up to and including the
last byte at ffff:ffff. Failing caused all buffers to go low ...


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@903 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-27 00:40:43 +00:00
Bart Oldeman
bb7f10fafc Reverted bad optimization -- (unsigned)Cluster2 may have the high 4 bits set
with LONG_LAST_CLUSTER.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@902 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-26 21:23:26 +00:00
Bart Oldeman
82e66852ee Config.cfgInitTail is a pointer now so sizeof isn't good. Just using
strcpy helps F5 and F8.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@901 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-26 09:46:44 +00:00
Bart Oldeman
935181421c "copyright" is near now so we have to use %s and not %S
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@900 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-25 10:11:29 +00:00
Bart Oldeman
6f7b41e257 Fixed silly mistake in cluster index calculation.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@899 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-24 16:02:39 +00:00
Bart Oldeman
490a27b857 Some of Arkady's fattab optimizations -- the others only increase the kernel
size for Watcom.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@898 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-24 15:53:21 +00:00
Bart Oldeman
3227b87d5d (Arkady) Make signon one big printf function call.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@897 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-24 15:14:43 +00:00
Bart Oldeman
2fcbfdb271 kernel.asm optimizations from Arkady
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@896 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-24 15:09:34 +00:00
Bart Oldeman
ea23d33c2c Reduced number of global int2f/11 entries into int2f.asm to one.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@895 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-21 17:40:12 +00:00
Bart Oldeman
8d1eda45f9 Further int2f.asm reduction... now using generic void *arg argument to pass
the third parameter which can be various things.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@894 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-21 11:04:08 +00:00
Bart Oldeman
01e5973aa0 Re-merge parts of network_redirector_rw with network_redirector_open,
and let it return a long instead of using a *err pointer.
Call the resulting function NETWORK_REDIRECTOR_MX (multiplex)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@893 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-21 02:01:56 +00:00
Bart Oldeman
4dc4ae8be8 Third stage for int2f callers: split int2f.asm functions, don't let them
preserve as many registers, use pascal calling convention for the
"open" (but really: multiplex) function.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@892 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-21 00:53:45 +00:00
Bart Oldeman
ebbd6b8336 Convert next batch of remote_ functions (with one far pointer argument) --
network_redirector() can be a wrapper in C.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@891 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-20 20:25:26 +00:00
Bart Oldeman
c4e65eb689 Start reducing the number of network redirector functions in int2f.asm.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@890 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-20 18:43:03 +00:00
Bart Oldeman
545b571c3e Finally do the floppy determination type optimization for format --
based on Arkady's suggestions a long time ago.
+ a few other small optimizations (~70 bytes total).


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@889 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-20 17:59:35 +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
cf2ed6752b Had to change ctrl-c/ctrl-break handling again...
Seems to be more consistent now. read_char_sft_dev handles ^C at a fairly
high level. So raw_get_char doesn't need to worry about sft's anymore.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@885 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-14 15:40:51 +00:00
Bart Oldeman
6c4fd1228c Two more dangerous INIT BSS variables...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@884 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-14 14:04:04 +00:00
Bart Oldeman
f94ba5ebe1 Improve ^C handling:
- ^C didn't work for int21/ah=3f. Corrected -- Do_DosIdle_loop still needs
  to wait even if it doesn't call the idle int
- ^C needs to be echoed to STDOUT for low character functions (ah<0xd) but
  to the device that is read from for handle functions. So we need to pass
  either the STDOUT sft or that device on to the ^C echoer.
- The ^C echo really should print ^C\r\n.
- misc cleanups in break.c.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@883 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-14 09:20:08 +00:00
Bart Oldeman
9c41d97021 DATASTART should be FAR and not DOSFAR for MSC
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@882 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-14 08:51:46 +00:00
Bart Oldeman
237016c1d0 Move memset up a little else it would overwrite too much.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@881 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-14 08:50:35 +00:00
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
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
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