Bart Oldeman
a46d6637fa
Use near pointers for printf()s where possible. Problematic is only the
...
case where SS!=DS (which happens sometimes in resident code), in which
case va_list/va_arg need to use FAR pointers.
DS!=DGROUP never works, so I corrected that for NLS_DEBUG, by setting DS
in int2f.asm.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1491 6ac86273-5f31-0410-b378-82cca8765d1b
2009-07-18 20:48:44 +00:00
Kenneth J Davis
dbf9e09dfc
update sys to current version, adjust printf to support percent modifier, consistent prototype, and handle text not in current segment (FAR *) better, merge part of simplified debug (via prints) support
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1482 6ac86273-5f31-0410-b378-82cca8765d1b
2009-07-11 16:59:43 +00:00
Bart Oldeman
8e2b96a70b
Move the fnode fields f_diroff and f_dirstart into a referenced directory
...
match structure with fields dm_entry and dm_dircluster.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1432 6ac86273-5f31-0410-b378-82cca8765d1b
2009-06-10 16:10:54 +00:00
Bart Oldeman
054631c300
Ported COUNTRY.SYS support from the unstable branch.
...
Simple country support is kept: COUNTRY=31 will look for country.sys but
if it does not exist, not complain and load the built-in info.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1430 6ac86273-5f31-0410-b378-82cca8765d1b
2009-06-09 23:41:50 +00:00
Bart Oldeman
266398c247
Add ASM to HaltCpuWhileIdle declarations for compatibility with Turbo C.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1350 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-27 11:41:13 +00:00
Eric Auer
1e5efe260e
New config.sys (config.c, config.txt) options: IDLEHALT=n to activate
...
"HLT on idle" (dosidle.asm, int2f.asm) and KEYBUF=n[,m] to relocate
the keyboard buffer to another area in the 40:ac..40:1ff range. Global
functions and variables: proto.h DosIdle_hlt, init-mod.h and globals.h
DosIdle_hlt() and HaltCpuWhileIdle.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1339 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-21 03:37:53 +00:00
Bart Oldeman
eeef2f7efd
Implement an int19 hook (from Japheth's JEMFBHLP.ASM).
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1326 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-26 17:34:12 +00:00
Bart Oldeman
dc840d98f4
Jemm's FASTBOOT needs interrupt vectors at 0070:0100 so put them there,
...
eliminating the need for JEMFBHLP.EXE
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1325 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-26 16:57:15 +00:00
Bart Oldeman
fbd8d43ccb
From Eric: add some comments about what intr() does.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1320 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-21 02:15:56 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
46b58be248
Change default STACKS= size to 256.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@827 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-26 23:15:23 +00:00
Bart Oldeman
9db450a9b7
Remove lpOldTop variable. It is no longer necessary (has not been
...
for some time) and the assignment in config_init_buffers() was
wrong (screwed up fnodes, so that buffers overlapped fnodes...).
This should fix most of the reported fnode problems.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@825 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-26 21:50:12 +00:00
Bart Oldeman
69faceffe5
int21/ah=26: new_psp now copies the old psp and just sets a few fields
...
int21/ah=55: child_psp does the rest
init code does the init (fixed values are always copied now)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@799 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-17 21:28:54 +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
3e3c05ff22
From Lucho: enable interactive re-execution of the SHELL.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@795 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-07 12:19:43 +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
5214472bf7
Use asmsupt string and mem functions for the init code too.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@787 6ac86273-5f31-0410-b378-82cca8765d1b
2004-02-24 00:25:56 +00:00
Bart Oldeman
a0f4465045
From Eric Luttmann:
...
fix for multi-segment device drivers; preserve rq_endaddr between init
calls for the same driver.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@722 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-30 12:22:06 +00:00
Bart Oldeman
11e163096d
Added SET support to config.sys + some small cleanups (from Lucho)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@714 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-05 16:22:57 +00:00
Bart Oldeman
2f4e2d3a69
* add support for the far jmp at "int 30" (0000:00c0)
...
* mirror it for the HMA (ffff:00d0)
* put all DOS int handler (and the CPM entry jumped to from int30)
jumpers in the "CONST" portion of DGROUP (instead of LGROUP)
This helps Turbo C++ 1.01 make with the -S (swap) switch.
* adjustments to set the relevant PSP fields in task.c
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@694 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-16 12:38:02 +00:00
Bart Oldeman
59484b2fc9
EBDA corrections by Lucho
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@680 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-09 17:30:10 +00:00
Bart Oldeman
72c8bf17b8
Support for switches=/e[[:]nnnn] and for moving the EBDA (with Lucho)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@675 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-04 19:14:16 +00:00
Bart Oldeman
2b0c219e5e
Solve compilation problem with Borland C++ 3.1
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@649 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-03 10:44:29 +00:00
Bart Oldeman
138afdab72
Declare more symbols as "ASM" to enable pascal calling conventions by
...
default for turbo compilers.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@630 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-30 18:44:43 +00:00
Bart Oldeman
c5c7128a02
Move externs to header files; sft init cleanup (+3 files need to be low)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@623 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-20 19:54:18 +00:00
Bart Oldeman
ed78089e0b
introduce lol structure for list of lists; avoid lots of relocations
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@592 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-15 15:53:58 +00:00
Bart Oldeman
439cc495e4
* add FILESHIGH, LASTDRIVEHIGH, and STACKSHIGH and DOSDATA=UMB
...
to load these structures into UMBs
* make DOS sub-MCBs visible (seen by MEM)
* preliminary allocation of FILES etc. now takes place at the
top of conventional memory, and device drivers are loaded before
the final allocation takes place.
* handle multiple UMBs more correctly (but config.sys can use
only one UMB for devicehigh -- /Ln,xxxx is not yet implemented)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@589 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-15 13:24:53 +00:00
Bart Oldeman
a4cf009198
Adding COUNTRY= and INSTALL(HIGH) config.sys support (by Tom Ehlert)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@539 6ac86273-5f31-0410-b378-82cca8765d1b
2003-03-12 23:06:48 +00:00
Bart Oldeman
83b77cbb1b
Changes for kernel 2027rc.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@427 6ac86273-5f31-0410-b378-82cca8765d1b
2002-10-22 02:40:19 +00:00
Bart Oldeman
a1c16f81bd
Fix init (config.c) prototypes.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@404 6ac86273-5f31-0410-b378-82cca8765d1b
2002-08-03 02:17:27 +00:00
Bart Oldeman
f7fb744248
kernel 2026 final changes
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@348 6ac86273-5f31-0410-b378-82cca8765d1b
2002-02-09 00:40:33 +00:00
Bart Oldeman
3644d8c222
final changes for kernel 2026 test
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@345 6ac86273-5f31-0410-b378-82cca8765d1b
2002-02-03 22:40:24 +00:00
Bart Oldeman
0e8b739c4c
kernel 2026 test changes (see history.txt)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@343 6ac86273-5f31-0410-b378-82cca8765d1b
2002-01-23 22:29:41 +00:00