Commit Graph

537 Commits

Author SHA1 Message Date
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
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 9914760949 driver .asm files optimizations (many from Arkady); remove obsolete rdatclk
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@690 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 10:53:09 +00:00
Bart Oldeman 6537b65c85 Remove duplicate clobber.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@689 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 10:48:14 +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 1957583c0e Fix some typos.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@687 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 10:41:27 +00:00
Bart Oldeman 0aba4bc7fb Use STATIC=static for watcom C (statics are in the mapfile); remove
some cruft.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@686 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 10:40:11 +00:00
Bart Oldeman f8f0891503 More verbose mapfiles for watcom C; some slash preparations to allow
cross-building on Linux


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@685 6ac86273-5f31-0410-b378-82cca8765d1b
2003-09-15 10:37:40 +00:00