Bart Oldeman
4f1a117069
* FAT32 kernels should ignore the upper word of the cluster number for
...
FAT16 partitions (just like FAT16 kernels do)
* added extra checks to make sure that invalid FAT entries are never
followed
* made put_console() public to be able to print a message in case of
FAT corruption
* some small optimizations and header cleanups (some suggested by Arkady)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@753 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-26 00:51:49 +00:00
Bart Oldeman
dacd24e524
Make strupr code unambiguous
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@752 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-26 00:47:56 +00:00
Bart Oldeman
677bac3481
From Lucho:
...
SYS 3.0 changes: added /L parameter to SYS to be able to change the kernel
boot segment + a few boot sector changes to get the pointer at the same
magic place for all boot sectors.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@751 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-26 00:40:41 +00:00
Bart Oldeman
3819d769a7
From Lucho: clean up *.lnk files for "clean" and "clobber".
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@750 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-25 22:37:20 +00:00
Bart Oldeman
c0a292ae04
From Lucho: the DJ mechanism needs to affect
...
--------D-M00500004--------------------------
MEM 0050h:0004h - MS-DOS - LOGICAL DRIVE FOR SINGLE-FLOPPY SYSTEM (A: / B:)
Size: BYTE
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@749 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-25 22:35:53 +00:00
Bart Oldeman
6534691f85
from Lucho: basic implementation of
...
--------D-2F4A33-----------------------------
INT 2F - Windows95 - CHECK MS-DOS VERSION 7
necessary for SpinRite (Steve Gibson)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@748 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-25 22:20:48 +00:00
Bart Oldeman
ee60fb10b8
From Lucho: implement
...
--------D-2F1211-----------------------------
INT 2F U - DOS 3.0+ internal - NORMALIZE ASCIZ FILENAME
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@747 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-25 22:12:30 +00:00
Bart Oldeman
01d58b2836
~1K size reduction for sys.com by using Tom's talloc.c malloc/free functions
...
and using our own filelength for watcomc.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@746 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-25 21:44:17 +00:00
Bart Oldeman
36101b0d51
Fix missing (unsigned long) cast for multiplication: this fixes the
...
FAT16 calculation for the default bpb.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@745 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-25 17:52:11 +00:00
Bart Oldeman
090b589222
Bump version number to 2033.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@744 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-17 17:30:12 +00:00
Bart Oldeman
b92f552a57
Better (for FAT32) and simpler FAT default value calculations.
...
Also use 16-bit instead of 32-bit quantities where possible to save code size.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@743 6ac86273-5f31-0410-b378-82cca8765d1b
2003-12-13 03:07:49 +00:00
Bart Oldeman
f1f51592ba
MSC/TurboC compatibility fixes (Luchezar/Bart)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@735 6ac86273-5f31-0410-b378-82cca8765d1b
2003-12-02 23:46:03 +00:00
Bart Oldeman
ef3e38de7b
Rename blockio by rqblockio (namespace conflict with dsk.c)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@734 6ac86273-5f31-0410-b378-82cca8765d1b
2003-12-02 23:34:43 +00:00
Bart Oldeman
76cb6edf6e
Do not clobber the DTA if findfirst or findnext fails. Fixes bug #1712
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@733 6ac86273-5f31-0410-b378-82cca8765d1b
2003-12-01 00:45:38 +00:00
Bart Oldeman
a44981fc3a
FAT32 kernels should fail int21/ah=71 with al=0, carry set.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@729 6ac86273-5f31-0410-b378-82cca8765d1b
2003-11-30 15:49:53 +00:00
Bart Oldeman
21f2b2ec5e
Fix nls upcase problem with SS!=DS.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@728 6ac86273-5f31-0410-b378-82cca8765d1b
2003-11-30 04:08:27 +00:00
Bart Oldeman
a56e592871
Move permission check to better place (only for necessary for opening
...
existing files), not for creating them -- suggested by Steffen.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@727 6ac86273-5f31-0410-b378-82cca8765d1b
2003-11-23 18:03:35 +00:00
Bart Oldeman
3232712fae
force r/o open for FCB and legacy creat if the file is read-only
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@726 6ac86273-5f31-0410-b378-82cca8765d1b
2003-11-16 16:21:29 +00:00
Bart Oldeman
9f2208943c
From Lucho with some help from Tom: initialize serial ports and retry
...
serial reads on timeout.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@725 6ac86273-5f31-0410-b378-82cca8765d1b
2003-11-14 21:55:25 +00:00
Bart Oldeman
09dca9d224
Move common code in media_check() to a new blockio() function.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@724 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-30 14:34:39 +00:00
Bart Oldeman
0694ff1acb
(from Lucho) Remove AL=0 check for AH=6c
...
(from Arkady) Optimize DL check.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@723 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-30 13:42:29 +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
8db46073f9
From: Eric Luttmann <ecl@users.sourceforge.net>
...
Fix for multisegmented device drivers: If there are multiple device
drivers in a single driver file, only the END ADDRESS returned by the
last INIT call should be the used. It is recommended that all the
device drivers in the file return the same address.
This fixes a load problem with DUSE.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@721 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-26 13:07:49 +00:00
Bart Oldeman
58808de6c8
Fix typo.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@719 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-16 15:05:10 +00:00
Bart Oldeman
492fef1f72
Change FcbReadWrite to handle multiple records at once; this allows
...
for the optimization of FcbRandomBlockIO.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@718 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-16 15:03:16 +00:00
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
ed77e34c55
jmp -> jmp short (necessary for nasm 0.98)
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@713 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-05 13:34:25 +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
5f6d47797e
Fix problem with FAT12
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@711 6ac86273-5f31-0410-b378-82cca8765d1b
2003-10-03 13:50:38 +00:00
Bart Oldeman
20299d3642
Bump up version number; update changelog.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@710 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-24 20:47:04 +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
a7a6a51adf
Improved option handling and a new generic /k option for sys.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@706 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-23 22:31:32 +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
d157b12ef0
Update LSM and history
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@703 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-21 16:14:23 +00:00
Bart Oldeman
c669f3644c
+ Changes Lucho
...
* boot.asm, boot32.asm, boot32lb.asm, sys.c: add metakern support:
sys looks for a file metakern.sys which is a multiple of 512.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@702 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-21 16:13:16 +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
2e45c870eb
Add boot32lb.asm
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@700 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-18 21:40:29 +00:00
Bart Oldeman
e5a93602af
Adjust version and history.
...
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@699 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-18 21:37:39 +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