Commit Graph

69 Commits

Author SHA1 Message Date
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
d6ad12a3dc Add Linux cross-compile capability, using Open Watcom:
* Flip \ to / where possible.
* Introduce $(DIRSEP) (/ or \) for use inside commands in makefiles
  where / won't work in DOS.
* Override various settings for Linux in owlinux.mak.
* Add quotes in exeflat.c to avoid shell expansion of $$$$$.
* Let "make all", "make clean", and "make clobber" do the job.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1387 6ac86273-5f31-0410-b378-82cca8765d1b
2009-05-19 21:39:29 +00:00
Kenneth J Davis
58de498fca Bart's patch to fix compile with OW1.8
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1367 6ac86273-5f31-0410-b378-82cca8765d1b
2009-04-25 16:26:57 +00:00
Eric Auer
0b8ae53670 If FAT32 and a "backup boot sector" exists, also update the
backup boot sector to the contents of the main boot sector.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1356 6ac86273-5f31-0410-b378-82cca8765d1b
2007-09-07 12:46:54 +00:00
Bart Oldeman
953e7b2007 Use _dos_allocmem for OW, similar to the Turbo C technique.
Split copy function into readfile and writefile functions.
Preserve time and date of kernel.sys and command.com.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1354 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-29 14:17:21 +00:00
Eric Auer
94085ce923 Changed copy() to use a two pass algorithm: Now SYS first calls
copy to read kernel and command.com into RAM, then updates the
boot sector, then calls copy again to write kernel and command
from RAM to disk. This reduces disk changes a lot when you do
SYS A: B: on a PC which only has 1 diskette drive ("DJ style").


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1349 6ac86273-5f31-0410-b378-82cca8765d1b
2007-08-27 00:23:38 +00:00
Bart Oldeman
43399a4335 Correct fat32readwrite prototype and register use in detect LBA pragma.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1342 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-23 09:53:49 +00:00
Bart Oldeman
511646b03f Set OEM name to FRDOS5.1 instead of FreeDOS as Win9x seems to require 5
uppercase letters, digit(4 or 5) dot digit (Tom Ehlert)


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1315 6ac86273-5f31-0410-b378-82cca8765d1b
2007-05-15 17:46:30 +00:00
Bart Oldeman
cca3ca9547 Don't use implicit int.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1062 6ac86273-5f31-0410-b378-82cca8765d1b
2004-11-15 09:53:08 +00:00
Bart Oldeman
090bd524f5 Turbo C really wants unsigned __brklvl. Only shows up if you enable stack
checking.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@935 6ac86273-5f31-0410-b378-82cca8765d1b
2004-05-11 10:57:57 +00:00
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