Commit Graph

206 Commits

Author SHA1 Message Date
Bart Oldeman
dd9df1f3a6 Divide optimisation (ceiling) + some small cleanups
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@717 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-16 14:25:15 +00:00
Bart Oldeman
61d87d82bb Rename the global lpFcb variable to sda_lpFcb. Then use local lpFcb
variables where necessary. This clears up the confusing shadowing.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@716 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-16 13:01:55 +00:00
Bart Oldeman
fdb58291c4 Fix FCB problems with int21/ah=27,28 (RandomBlockIO)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@715 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-11 23:58:51 +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
3fa044c149 Implement support for int2f/ax=1220.
Fix int2f/ax=1216 (needs sft handles, not psp handles, and to return
the relative handle in BX, and to deal with carry)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@712 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-05 13:30:47 +00:00
Bart Oldeman
bdc5569995 Set the Critical Error number immediately after calling a device driver.
This solves problems with int24 handlers that call int21/ah=59.
Let truename and blockrw return with an error if there is a critical error.
Don't overwrite the critical error # with the DOS error #.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@709 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-24 19:34:11 +00:00
Bart Oldeman
6df5c0be61 Fix problem with loading multiple device drivers in one file: the
segment part in the header must be ignored.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@708 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-24 18:53:44 +00:00
Bart Oldeman
9fd4a67e1d Correct segment for int21_handler to call for ctrl-c.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@707 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-23 22:33:45 +00:00
Bart Oldeman
22dd4265cf Fix problem with character map service.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@705 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-22 18:57:45 +00:00
Bart Oldeman
c4e02e8654 Correct floppy booting; increase "menu space tolerance" from 3 to 10.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@701 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-19 02:13:35 +00:00
Bart Oldeman
df99dd3007 Use memcpy instead of fmemcpy; avoid downcasting from far to near.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@698 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-18 21:00:09 +00:00
Bart Oldeman
d38750a538 From Michal Bakowski <mb@orad.pl>:
Change the boot drive to always be C: if DLASortByDriveNo==1


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@697 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-18 20:57:53 +00:00
Bart Oldeman
f489b1a1b1 Full screen config.sys menus (use MENUCOLOR=)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@696 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-18 20:55:41 +00:00
Bart Oldeman
c20f68e73d Free memory if there is an error in the relocation table.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@695 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-18 20:54:21 +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
7c241c59c6 Always use huge block sectors if the relevant bit is set in the device
header. This solves a problem with xmsdsk.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@693 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 21:08:22 +00:00
Bart Oldeman
81654429d7 Small optimizations
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@692 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 10:55:58 +00:00
Bart Oldeman
7bcbfa999c Add missing (); small optimization for DosGet date/time.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@691 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 10:54:43 +00:00
Bart Oldeman
178b66e6de Flip some slashes for Linux compat; simplifications in kernel/makefile
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@688 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 10:46:24 +00:00
Bart Oldeman
b0e54ff704 (with a little help from Arkady)
inthndler.c, chario.c, break.c simplifications and cleanups.
Pass a near pointer to the far pointer that points to the device instead
of an SFT index (in general).
Make cooked_write much faster by only testing for input every 32
characters.
No longer test for ctl_s on syscon if writing to the printer: just
read from the printer which will return zero characters.
Fix reading/writing zero characters by returning "256" (special code).
Adjust interfaces in other files.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@683 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-09 17:43:43 +00:00
Bart Oldeman
8c22873b3e Initclk changes (mainly by Lucho)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@682 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-09 17:33:23 +00:00
Bart Oldeman
b4bee283f9 (suggestion from Arkady)
if sizeof(struct ClockRecord) != rp->r_count error
move year init below reading the BIOS
remove trailing whitespace


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@681 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-09 17:32:20 +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
6cd84b06d1 init_device corrections/cleanups (mainly by Arkady)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@679 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-09 17:29:19 +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
d1f48fb2b2 Add necessary "BootHardDiskSeconds" for non UPXed kernels.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@674 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-04 19:07:55 +00:00
Bart Oldeman
1266a13f7f Add necessary casts to ? : constructions; cleanup read_line_handle a little.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@673 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-04 19:05:27 +00:00
Bart Oldeman
67ef543bae Fix pointer overflow problem for reading line using handle.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@671 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-01 17:49:40 +00:00
Bart Oldeman
bef6672954 Use 0x10000UL (avoids Turbo C warning)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@667 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-31 10:22:32 +00:00
Bart Oldeman
8f1bbcd45d Set the PSP before the DTA. This solves an interrupt vector table corruption.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@665 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-30 22:17:42 +00:00
Bart Oldeman
df5776dca7 Adjustments for MSVC.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@663 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-28 21:03:47 +00:00
Bart Oldeman
f5a65b5992 int21/ax=440d lock/unlock logical/physical volume
simulate success for MS-DOS 7+ SCANDISK etc. --LG


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@662 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-28 20:55:34 +00:00
Bart Oldeman
7471b8f614 && should be || in check for \, / and :
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@661 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-28 20:53:21 +00:00
Bart Oldeman
4e0c27f016 Adjust registers used when starting programs. Some demos expect
undocumented values.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@660 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-28 20:47:25 +00:00
Bart Oldeman
9b42b52056 Use "local" (instead of "global") disable/enable A20.
This solves the problems with NIOS.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@656 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-28 20:32:01 +00:00
Bart Oldeman
c444161296 Use near bpb on the stack in bpb_to_dpb.
Make sure the number of FAT sectors is actually enough to hold that
many clusters. Otherwise back the number of clusters down (LG & AB)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@655 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-28 20:30:09 +00:00
Bart Oldeman
68805961dc Don't disable a20 for "exit" int21/ah=4c
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@654 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-28 20:25:09 +00:00
Bart Oldeman
8a7b83ab63 Remove (unused) strncpy.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@653 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-09 09:35:18 +00:00
Bart Oldeman
3229fe3fc4 From Luchezar: IOCTL 4406 provided reverse AL output on regular
files - FF if EOF, 0 if not. It should output 0 if EOF, FF if not.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@651 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-06 19:47:24 +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
96c1c46d60 Fix ctrl-break bug.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@644 6ac86273-5f31-0410-b378-82cca8765d1b
2003-07-20 17:33:45 +00:00
Bart Oldeman
c672e81012 Correct problem with multiple UMBs
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@641 6ac86273-5f31-0410-b378-82cca8765d1b
2003-07-19 15:06:55 +00:00
Bart Oldeman
8a9dcfe8bb (from Tom) Fix a problem with the
'BootFromHarddiskIfNoKeyHit' option.
with some Compaq and Fujitsu/Siemens
Highend Equipment


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@640 6ac86273-5f31-0410-b378-82cca8765d1b
2003-07-15 12:32:35 +00:00
Bart Oldeman
dde7ba7791 There aren't lastdrive open file handles but a maximum of 20.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@638 6ac86273-5f31-0410-b378-82cca8765d1b
2003-07-14 19:17:01 +00:00
Bart Oldeman
7f21061003 Make a message #ifdef DEBUG only.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@637 6ac86273-5f31-0410-b378-82cca8765d1b
2003-07-12 20:57:23 +00:00
Bart Oldeman
756c578ca7 (joint with Luchezar Georgiev): add extra low disk buffer to avoid HMA
problems with certain device driver. Add an extra space for the device
driver command line and point to a correct environment for
INSTALL= (fixes problems with xmsdsk).


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@636 6ac86273-5f31-0410-b378-82cca8765d1b
2003-07-12 20:56:11 +00:00
Bart Oldeman
d7f6e1181f From Luchezar Georgiev: parameters were in the wrong order...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@635 6ac86273-5f31-0410-b378-82cca8765d1b
2003-07-10 10:46:31 +00:00
Bart Oldeman
8c2eb41fc6 Correct typo.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@634 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-30 18:52:43 +00:00
Bart Oldeman
0971f348b2 Small size optimization and INSTALLHIGH correction.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@633 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-30 18:50:38 +00:00
Bart Oldeman
f91f2bac8d Small size optimizations.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@632 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-30 18:46:37 +00:00