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
aea8491528
Remove getvec.asm
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@930 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-10 20:50: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
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
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
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
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