Commit Graph

58 Commits

Author SHA1 Message Date
Bart Oldeman
cfed8c6f29 We must do "sbb ax, ax" *before* "popf" otherwise it won't be predictable!
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@856 6ac86273-5f31-0410-b378-82cca8765d1b
2004-04-09 23:51:44 +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
aeec36ea4b talloc fix from Lucho
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@801 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-17 22:06:57 +00:00
Bart Oldeman
9e92e3025b Correct int25/26 pragmas. Need to explicitly preserve bp and pop flags.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@791 6ac86273-5f31-0410-b378-82cca8765d1b
2004-03-02 10:46:28 +00:00
Bart Oldeman
005e8cc35f talloc won't work with MSC (no sbrk or brk available)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@774 6ac86273-5f31-0410-b378-82cca8765d1b
2004-02-07 17:59:45 +00:00
Bart Oldeman
e7f0852dbd correct sectors/track, head and hidden sector values if the boot sector
disagrees with the default bpb (unless the default bpb says that the
number of hidden sectors is zero (usual for floppies)).

introduce generic_block_ioctl() function to handle all 0x440d ioctls
(inclusive locking)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@763 6ac86273-5f31-0410-b378-82cca8765d1b
2004-01-31 15:01:40 +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
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
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
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
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
1d62201ec7 Move manually added "RCS" entries to the CVS log.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@664 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-28 21:43:14 +00:00
Bart Oldeman
fa11f8e0c5 Add lock/unlock drive to SYS (from Lucho).
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@658 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-28 20:36:16 +00:00
Bart Oldeman
9a3da2b737 Version 2.7 luchezar, tomehlert, ericauer 2003/8/5
boot.asm modified to support non-512 byte sectors (e.g. 1.2 MB NEC diskettes)
  512 byte sector size check removed (although Eric's boot32ea.asm does require
    512-byte sectors, all LBA FAT32 volumes have 512-byte sectors anyway).
  boot.asm cleaned up and modified to support Metakern (by Tom, Eric and Lucho)
  bsDriveNumber updated by SYS even #ifndef STORE_BOOT_INFO (nothing in common)

Version 2.7beta, Luchezar Georgiev, 1 August 2003
  o  Now supports and includes the following new boot sectors:
       1) the combined CHS+LBA FAT12/FAT16 boot sector by Tom Ehlert (29 July)
       2) the CHS-only FAT32 boot sector -- as patched by Jon Gentle (08 July)
       3) the LBA-only FAT32 boot sector by Eric Auer and Jon Gentle (19 July)
  o  The old combined (CHS+LBA), no-CALCPARAMS, no-resizable, non-Ghostable,
     non-standard FAT32 boot sector and STORE_BOOT_INFO is no longer used.
  o  dump_sector() showed ASCII debug printout for the old sector only - fixed.
  o  Put a boot sector only if sector size = 512 (may it not be so in Japan?!).
     If non-512 byte sectors encountered, report to the fd-kernel mailing list.
  o  Now puts boot sector before copying kernel/shell so it works in WinNT now.
  o  check_space() now implemented at last (required significant modifications)
  o  New file system (FAT type) detection method according to a MS White Paper.
  o  Now BOOTONLY works even without a preceding boot sector image file name.
  o  Some minor code cleanups.

Bart: some cleanups to the above; replaced 386 code for CHS FAT32 by 8088 code.
use boot32lb.asm instead of boot32ea.asm


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@652 6ac86273-5f31-0410-b378-82cca8765d1b
2003-08-08 15:01:15 +00:00
Bart Oldeman
9f15e02db9 Correct get_root, make kbdType public, sys config patches from Tom.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@614 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-17 11:55:44 +00:00
Bart Oldeman
2a83b111c4 Check if source and destination are identical before copying.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@607 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-16 13:33:40 +00:00
Bart Oldeman
d56013c885 BOOTONLY support for SYS
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@603 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-15 22:01:45 +00:00
Bart Oldeman
05df4d89f4 if user left accidentally floppy or CD in drive, give him a chance to continue to boot from HD.
disabled by default, enablable by SYS CONFIG (Tom Ehlert)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@591 6ac86273-5f31-0410-b378-82cca8765d1b
2003-06-15 14:38:13 +00:00
Bart Oldeman
e67a8f5058 Changes for kernel 2028 (see history.txt)
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@485 6ac86273-5f31-0410-b378-82cca8765d1b
2002-12-09 00:17:15 +00:00
Bart Oldeman
8651581383 Remove old log entries.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@482 6ac86273-5f31-0410-b378-82cca8765d1b
2002-11-18 22:51:27 +00:00
Bart Oldeman
04e8d7a5c6 Fix winnt+ problem with int26 by resetting the drive.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@457 6ac86273-5f31-0410-b378-82cca8765d1b
2002-11-09 19:07:11 +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
dfeb595f8e Last changes for kernel 2027 test.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@414 6ac86273-5f31-0410-b378-82cca8765d1b
2002-08-04 01:14:18 +00:00
Bart Oldeman
cbad615e0b Enable LBA booting for FAT16 and workaround for floppies where DL is not
passed.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@397 6ac86273-5f31-0410-b378-82cca8765d1b
2002-08-02 22:27:58 +00:00
Bart Oldeman
11be0d22e4 Added protection for FS:, GS:, update makefiles to use CC and CL.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@396 6ac86273-5f31-0410-b378-82cca8765d1b
2002-08-02 21:55:14 +00:00
Bart Oldeman
8320afcb82 kernel 2026b changes
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@384 6ac86273-5f31-0410-b378-82cca8765d1b
2002-05-08 23:57:58 +00:00
Bart Oldeman
2098578b1b kernel 2026b changes
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@382 6ac86273-5f31-0410-b378-82cca8765d1b
2002-05-08 22:49:35 +00:00
Bart Oldeman
251fa29181 Some small post 2026 fixes - fix SYS, FCBs and redirector
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@351 6ac86273-5f31-0410-b378-82cca8765d1b
2002-02-09 15:39:35 +00:00
Bart Oldeman
9d94f57f47 last kernel 2026 final changes
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@349 6ac86273-5f31-0410-b378-82cca8765d1b
2002-02-09 01:02:11 +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
9502a97d91 FAT32 detection fixes
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@347 6ac86273-5f31-0410-b378-82cca8765d1b
2002-02-07 22:30:58 +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
df1651b5a4 Small clean-ups for ke2026-test.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@344 6ac86273-5f31-0410-b378-82cca8765d1b
2002-01-27 01:13:07 +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
Bart Oldeman
0ddf436c88 Fixed bug in sys.c and remove *.err files with clean/clobber
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@333 6ac86273-5f31-0410-b378-82cca8765d1b
2001-11-18 17:48:20 +00:00
Bart Oldeman
b6d423a1b3 Ran all .c and .h files through "indent"
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@329 6ac86273-5f31-0410-b378-82cca8765d1b
2001-11-18 14:01:12 +00:00
Bart Oldeman
fe51b7a036 Truncated and disabled $Logs, fixed r/w bugs for kernel 2025b
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@326 6ac86273-5f31-0410-b378-82cca8765d1b
2001-11-17 23:26:45 +00:00
Bart Oldeman
5a18de7cbb Kernel 2025a final changes.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@321 6ac86273-5f31-0410-b378-82cca8765d1b
2001-11-13 23:36:45 +00:00
Bart Oldeman
e092c873fa Added fdkrncfg.c, the kernel configuration part of sys
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@318 6ac86273-5f31-0410-b378-82cca8765d1b
2001-11-04 21:39:00 +00:00
Bart Oldeman
a4c844dc62 Added new makefile names, utils sources, kconfig.h
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@316 6ac86273-5f31-0410-b378-82cca8765d1b
2001-11-04 20:10:15 +00:00
Bart Oldeman
27e19b1af2 Remove binaries and old makefile names
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@315 6ac86273-5f31-0410-b378-82cca8765d1b
2001-11-04 20:02:28 +00:00
Bart Oldeman
9e007d884e kernel 2025a changes: see history.txt
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@314 6ac86273-5f31-0410-b378-82cca8765d1b
2001-11-04 19:47:39 +00:00
Bart Oldeman
e43dc517fa Minor printf fixes.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@309 6ac86273-5f31-0410-b378-82cca8765d1b
2001-09-24 02:28:14 +00:00
Bart Oldeman
f8e0429da8 /* version 2.2 jeremyd 2001/9/20
Changed so if no source given or only source drive (no path)
   given, then checks for kernel.sys & command.com in current
   path (of current drive or given drive) and if not there
   uses root (but only if source & destination drive are different).
   Fix printf to include count(ret) if copy can't write all requested bytes
*/


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@308 6ac86273-5f31-0410-b378-82cca8765d1b
2001-09-24 02:21:14 +00:00
Bart Oldeman
a957122ff6 version 2.1a jeremyd 2001/8/19
modified so takes optional 2nd parameter (similar to PC DOS)
   where if only 1 argument is given, assume to be destination drive,
   but if two arguments given, 1st is source (drive and/or path)
   and second is destination drive

   FAT32 support.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@306 6ac86273-5f31-0410-b378-82cca8765d1b
2001-09-23 20:39:44 +00:00
Bart Oldeman
048c87bbac FAT32 support, misc fixes, INT2F/AH=12 support, drive B: handling
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@305 6ac86273-5f31-0410-b378-82cca8765d1b
2001-09-23 20:39:44 +00:00
Bart Oldeman
c1b1896480 LBA/FCB/FAT/SYS/Ctrl-C/ioctl fixes + memory savings
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@260 6ac86273-5f31-0410-b378-82cca8765d1b
2001-07-09 22:19:33 +00:00
Bart Oldeman
f52e31f5c5 /* Revision 2.1 tomehlert 2001/4/26
changed the file system detection code.
*/

/* Revision 2.0 tomehlert 2001/4/26

   no direct access to the disk any more, this is FORMAT's job
   no floppy.asm anymore, no segmentation problems.
   no access to partition tables

   instead copy boot sector using int25/int26 = absdiskread()/write

   if xxDOS is able to handle the disk, SYS should work

   additionally some space savers:

   replaced fopen() by open()

   included (slighly modified) PRF.c from kernel

   size is no ~7500 byte vs. ~13690 before
*/


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@217 6ac86273-5f31-0410-b378-82cca8765d1b
2001-04-29 17:34:41 +00:00
Bart Oldeman
64474e1dd4 A new SYS.COM/config.sys single stepping/console output/misc fixes.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@216 6ac86273-5f31-0410-b378-82cca8765d1b
2001-04-29 17:34:41 +00:00
Bart Oldeman
be2ae12b54 See history.txt for the list of fixes.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@196 6ac86273-5f31-0410-b378-82cca8765d1b
2001-04-15 03:21:50 +00:00