From 640ab403e298cbda43fc52b23e0903d569eb4d1d Mon Sep 17 00:00:00 2001 From: Kenneth J Davis Date: Sun, 11 Jul 2004 08:36:25 +0000 Subject: [PATCH] from Arkady: actually remove indicated files, readd filelist, fix co_m_piler typo, from Tom: improve behaviour on failed FindFirst call and return to app not DOS git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@991 6ac86273-5f31-0410-b378-82cca8765d1b --- build.bat | 1 + docs/history.txt | 9 ++- filelist | 155 +++++++++++++++++++++++++++++++++++++++++++++ hdr/version.h | 4 +- kernel/inthndlr.c | 7 ++ kernel/kernel.cfg | 14 ---- kernel/main.c | 23 +++++-- kernel/nls_load.c | 51 --------------- mkfiles/bc.mak | 2 +- mkfiles/msc.mak | 2 +- mkfiles/tc.mak | 2 +- mkfiles/tci.cfg | 1 - mkfiles/tcpp.mak | 2 +- mkfiles/tcpp3.mak | 2 +- mkfiles/watcom.mak | 2 +- 15 files changed, 197 insertions(+), 80 deletions(-) create mode 100644 filelist delete mode 100644 kernel/kernel.cfg delete mode 100644 kernel/nls_load.c delete mode 100644 mkfiles/tci.cfg diff --git a/build.bat b/build.bat index 29eba7a..07841c5 100644 --- a/build.bat +++ b/build.bat @@ -111,6 +111,7 @@ goto end :abort-cd cd .. :noenv +echo Unable to set necessary environment variables! :abort echo Compilation was aborted! diff --git a/docs/history.txt b/docs/history.txt index a5a8e70..f6477f8 100644 --- a/docs/history.txt +++ b/docs/history.txt @@ -1,7 +1,12 @@ 2004 July 8 - UNSTABLE branch -------- Jeremy Davis (jeremyd@computer.org) ++ Changes Tom + * inthndlr.c + - improve handling of case where eg. FindFirst(I:\*.*) fails, causes Int24, + and application chooses to pop stack returning to self and does NOT return + to DOS; so fnode[0] never freed and errormode not set back to 0 until exit() + Changes Arkady - * UTILS\PROTO.BAT, UTILS\INDENT, KERNEL\NLS_LOAD.C, KERNEL\KERNEL.CFG: removed. + * UTILS\PROTO.BAT, KERNEL\NLS_LOAD.C, KERNEL\KERNEL.CFG: removed. * all batch files now check if environment is enough; this prevents wrong actions in case of small environment. @@ -22,7 +27,7 @@ * all MAKEFILEs now look similar. * some makefiles renamed: BC5->BC, TURBOCPP->TCPP, TC3->TCPP3, MSCL8->MSC. * MKFILES\*.MAK: removed space after "=" in macro definitions; this makes - command lines shorter. + command lines shorter. Typo fix, copiler->compiler * common definitions from makefiles moved to MKFILES\GENERIC.MAK (directories) and CONFIG.B/DEFAULTS.BAT (LINK, NASM, LIBUTIL, etc). * MKFILES\GENERIC.MAK: XCPU=86 and XFAT=32 are defined here, if environment diff --git a/filelist b/filelist new file mode 100644 index 0000000..def97df --- /dev/null +++ b/filelist @@ -0,0 +1,155 @@ +*/*/build.bat +*/*/buildall.bat +*/*/clean.bat +*/*/clobber.bat +*/*/config.b +*/*/defaults.bat +*/*/filelist +*/*/makefile +*/*/bin/autoexec.bat +*/*/bin/config.sys +*/*/bin/install.bat +*/*/boot/boot.asm +*/*/boot/boot32.asm +*/*/boot/boot32lb.asm +*/*/boot/makefile +*/*/docs/bugs.txt +*/*/docs/build.txt +*/*/docs/config.txt +*/*/docs/contrib.txt +*/*/docs/copying +*/*/docs/fdkernel.lsm +*/*/docs/history.txt +*/*/docs/intfns.txt +*/*/docs/lfnapi.txt +*/*/docs/mkboot.txt +*/*/docs/nls.txt +*/*/docs/readme.cvs +*/*/docs/readme.txt +*/*/docs/sys.txt +*/*/drivers/floppy.asm +*/*/drivers/makefile +*/*/drivers/rdpcclk.asm +*/*/drivers/wratclk.asm +*/*/drivers/wrpcclk.asm +*/*/hdr/algnbyte.h +*/*/hdr/algndflt.h +*/*/hdr/buffer.h +*/*/hdr/cds.h +*/*/hdr/clock.h +*/*/hdr/date.h +*/*/hdr/dcb.h +*/*/hdr/device.h +*/*/hdr/dirmatch.h +*/*/hdr/error.h +*/*/hdr/exe.h +*/*/hdr/fat.h +*/*/hdr/fcb.h +*/*/hdr/file.h +*/*/hdr/fnode.h +*/*/hdr/kbd.h +*/*/hdr/kconfig.h +*/*/hdr/lol.h +*/*/hdr/mcb.h +*/*/hdr/network.h +*/*/hdr/nls.h +*/*/hdr/pcb.h +*/*/hdr/portab.h +*/*/hdr/process.h +*/*/hdr/sft.h +*/*/hdr/stacks.inc +*/*/hdr/tail.h +*/*/hdr/time.h +*/*/hdr/version.h +*/*/hdr/xstructs.h +*/*/kernel/nls/001-437.hc +*/*/kernel/nls/001-437.unf +*/*/kernel/nls/001-437.up +*/*/kernel/nls/049-850.hc +*/*/kernel/nls/049-850.unf +*/*/kernel/nls/049-850.up +*/*/kernel/nls/files +*/*/kernel/apisupt.asm +*/*/kernel/asmsupt.asm +*/*/kernel/blockio.c +*/*/kernel/break.c +*/*/kernel/chario.c +*/*/kernel/config.c +*/*/kernel/config.h +*/*/kernel/console.asm +*/*/kernel/dosfns.c +*/*/kernel/dosidle.asm +*/*/kernel/dosnames.c +*/*/kernel/dsk.c +*/*/kernel/dyndata.h +*/*/kernel/dyninit.c +*/*/kernel/entry.asm +*/*/kernel/error.c +*/*/kernel/execrh.asm +*/*/kernel/fatdir.c +*/*/kernel/fatfs.c +*/*/kernel/fattab.c +*/*/kernel/fcbfns.c +*/*/kernel/globals.h +*/*/kernel/init-dat.h +*/*/kernel/init-mod.h +*/*/kernel/initclk.c +*/*/kernel/initdisk.c +*/*/kernel/inithma.c +*/*/kernel/initoem.c +*/*/kernel/int2f.asm +*/*/kernel/inthndlr.c +*/*/kernel/intr.asm +*/*/kernel/makefile +*/*/kernel/io.asm +*/*/kernel/io.inc +*/*/kernel/ioctl.c +*/*/kernel/iprf.c +*/*/kernel/irqstack.asm +*/*/kernel/kernel.asm +*/*/kernel/lfnapi.c +*/*/kernel/ludivmul.inc +*/*/kernel/main.c +*/*/kernel/memmgr.c +*/*/kernel/misc.c +*/*/kernel/network.c +*/*/kernel/newstuff.c +*/*/kernel/nls.c +*/*/kernel/nls_hc.asm +*/*/kernel/nlssupt.asm +*/*/kernel/prf.c +*/*/kernel/printer.asm +*/*/kernel/procsupt.asm +*/*/kernel/proto.h +*/*/kernel/segs.inc +*/*/kernel/serial.asm +*/*/kernel/strings.c +*/*/kernel/sysclk.c +*/*/kernel/syspack.c +*/*/kernel/systime.c +*/*/kernel/task.c +*/*/kernel/tci.cfg +*/*/kernel/turboc.cfg +*/*/kernel/msc.cfg +*/*/kernel/wc.cfg +*/*/kernel/wci.cfg +*/*/lib/makefile +*/*/mkfiles/generic.mak +*/*/mkfiles/bc.mak +*/*/mkfiles/tc.mak +*/*/mkfiles/tcpp.mak +*/*/mkfiles/tcpp3.mak +*/*/mkfiles/msc.mak +*/*/mkfiles/watcom.mak +*/*/sys/fdkrncfg.c +*/*/sys/bin2c.c +*/*/sys/makefile +*/*/sys/sys.c +*/*/sys/talloc.c +*/*/utils/echoto.bat +*/*/utils/exeflat.c +*/*/utils/makefile +*/*/utils/patchobj.c +*/*/utils/relocinf.c +*/*/utils/rmfiles.bat +*/*/utils/wlinker.bat diff --git a/hdr/version.h b/hdr/version.h index 008deeb..f6a118d 100644 --- a/hdr/version.h +++ b/hdr/version.h @@ -49,6 +49,6 @@ static BYTE *date_hRcsId = #define REVISION_MINOR 1 #define REVISION_SEQ 35 #define BUILD "2035a" -#define SUB_BUILD "" +#define SUB_BUILD "-UNSTABLE" #define KERNEL_VERSION_STRING "1.1.35a" /*#REVISION_MAJOR "." #REVISION_MINOR "." #REVISION_SEQ */ -#define KERNEL_BUILD_STRING "2035a" /*#BUILD SUB_BUILD */ +#define KERNEL_BUILD_STRING "2035a-UNSTABLE" /*#BUILD SUB_BUILD */ diff --git a/kernel/inthndlr.c b/kernel/inthndlr.c index 72e577e..11999aa 100644 --- a/kernel/inthndlr.c +++ b/kernel/inthndlr.c @@ -414,6 +414,13 @@ dispatch: } /* Clear carry by default for these functions */ + /* see PATCH TE 5 jul 04 explanation at end */ + if (ErrorMode && lr.AH > 0x0c && lr.AH != 0x30 && lr.AH != 0x59) + { + ErrorMode = 0; + fnode[0].f_count = 0; /* don't panic - THEY ARE unused !! */ + fnode[1].f_count = 0; + } /* Check for Ctrl-Break */ if (break_ena || (lr.AH >= 1 && lr.AH <= 5) || (lr.AH >= 8 && lr.AH <= 0x0b)) diff --git a/kernel/kernel.cfg b/kernel/kernel.cfg deleted file mode 100644 index 38d5ef5..0000000 --- a/kernel/kernel.cfg +++ /dev/null @@ -1,14 +0,0 @@ --1- --f- --ff- --O --Z --d --k- --vi- --w --wpro --weas --wpre --I..\hdr --v -X- -I. -D__STDC__=0 -DTSC -DDEBUG -DKERNEL -DI86 -DPROTO -DSHWR -DASMSUPT diff --git a/kernel/main.c b/kernel/main.c index cddb299..9d453e8 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -90,17 +90,32 @@ void ASMCFUNC FreeDOSmain(void) UBYTE drv; UBYTE FAR *p = MK_PTR(UBYTE, 0, 0x5e2); if (fmemcmp(p, "CONFIG", 6) == 0) /* UPXed */ - drv = p[-2]; /* boot drive was stored there by stub from exeflat.c */ + drv = p[-2]; /* stored there by stub from exeflat.c */ + + /* !!! stub, added by exeflat.c for UPXed kernel, should store + boot drive# in the CONFIG-block, not outside (below) it. --avb */ + else { drv = LoL->BootDrive; - p[-2] = drv; /* used by initdisk.c:ReadAllPartitionTables() */ + + /* !!! kernel.asm should store boot drive# from BL into + LowKernelConfig instead LoL->BootDrive. --avb */ + + p[-2] = drv; /* used in initdisk.c */ + + /* !!! initdisk.c:ReadAllPartitionTables() should get boot drive# + from InitKernelConfig, not at fixed address 0:5e0. --avb */ + p = (UBYTE FAR*)&LowKernelConfig; } - drv++; + /* !!! boot drive# should be get from InitKernelConfig after + copying there FAR memory (from 0:5e0 or LowKernelConfig). --avb */ + + drv++; /* A:=1, B:=2 */ if (drv > 0x80) - drv = 3; /* C: */ + drv = 3; /* C: */ LoL->BootDrive = drv; fmemcpy(&InitKernelConfig, p, sizeof InitKernelConfig); diff --git a/kernel/nls_load.c b/kernel/nls_load.c deleted file mode 100644 index 0a4fa65..0000000 --- a/kernel/nls_load.c +++ /dev/null @@ -1,51 +0,0 @@ -/****************************************************************/ -/* */ -/* nls_load.c */ -/* FreeDOS */ -/* */ -/* National Languge Support functions and data structures */ -/* Load an entry from FreeDOS COUNTRY.SYS file. */ -/* */ -/* Copyright (c) 2000 */ -/* Steffen Kaiser */ -/* All Rights Reserved */ -/* */ -/* This file is part of FreeDOS. */ -/* */ -/* DOS-C is free software; you can redistribute it and/or */ -/* modify it under the terms of the GNU General Public License */ -/* as published by the Free Software Foundation; either version */ -/* 2, or (at your option) any later version. */ -/* */ -/* DOS-C is distributed in the hope that it will be useful, but */ -/* WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See */ -/* the GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public */ -/* License along with DOS-C; see the file COPYING. If not, */ -/* write to the Free Software Foundation, 675 Mass Ave, */ -/* Cambridge, MA 02139, USA. */ -/****************************************************************/ - -#include "portab.h" -#include "init-mod.h" - -#ifdef VERSION_STRINGS -static BYTE *RcsId = - "$Id$"; -#endif - -/** Setup the environment for shared source NLS_LOAD.SRC **/ -/**ska obsoleted #define cfgMemory Config.cfgCSYS_memory */ -/**ska obsoleted #define cfgFilename Config.cfgCSYS_fnam */ -#define cfgFilename nlsInfo.fname /* char FAR * */ -/**ska obsoleted #define cfgCountry Config.cfgCSYS_cntry */ -/**ska obsoleted #define cfgCodepage Config.cfgCSYS_cp */ -#define cfgData Config.cfgCSYS_data /* struct nlsCSys_loadPackage FAR * */ -#define getMem(bytes) KernelAlloc(bytes) -#define openSYSFile(filename) open(filename, 0) /* read-only, binary */ -#define nlsStartOfChain nlsInfo.chain -#define upCaseFct CharMapSrvc - -#include "nls_load.src" diff --git a/mkfiles/bc.mak b/mkfiles/bc.mak index 9cb252a..51d0cbd 100644 --- a/mkfiles/bc.mak +++ b/mkfiles/bc.mak @@ -1,5 +1,5 @@ # -# BC.MAK - kernel copiler options for Borland C++ +# BC.MAK - kernel compiler options for Borland C++ # !include "..\mkfiles\tcpp.mak" diff --git a/mkfiles/msc.mak b/mkfiles/msc.mak index 3c8945c..a3044e1 100644 --- a/mkfiles/msc.mak +++ b/mkfiles/msc.mak @@ -1,5 +1,5 @@ # -# MSC.MAK - kernel copiler options for MS VC 1.5x (MS CL 8.x) +# MSC.MAK - kernel compiler options for MS VC 1.5x (MS CL 8.x) # TARGET=KMS diff --git a/mkfiles/tc.mak b/mkfiles/tc.mak index 856b65f..05fa52f 100644 --- a/mkfiles/tc.mak +++ b/mkfiles/tc.mak @@ -1,5 +1,5 @@ # -# TC.MAK - kernel copiler options for Turbo C 2.01 +# TC.MAK - kernel compiler options for Turbo C 2.01 # BINPATH=$(BASE) diff --git a/mkfiles/tci.cfg b/mkfiles/tci.cfg deleted file mode 100644 index 0be5d1a..0000000 --- a/mkfiles/tci.cfg +++ /dev/null @@ -1 +0,0 @@ --zCINIT_TEXT -zRID -zTID -zSI_GROUP -zDIB -zBIB -zGI_GROUP diff --git a/mkfiles/tcpp.mak b/mkfiles/tcpp.mak index e3afc34..643fd15 100644 --- a/mkfiles/tcpp.mak +++ b/mkfiles/tcpp.mak @@ -1,5 +1,5 @@ # -# TCPP.MAK - kernel copiler options for Turbo C++ 1.01 +# TCPP.MAK - kernel compiler options for Turbo C++ 1.01 # TARGET=KTP diff --git a/mkfiles/tcpp3.mak b/mkfiles/tcpp3.mak index c1a448b..1df46c6 100644 --- a/mkfiles/tcpp3.mak +++ b/mkfiles/tcpp3.mak @@ -1,5 +1,5 @@ # -# TCPP3.MAK - kernel copiler options for Turbo C++ 3.0 +# TCPP3.MAK - kernel compiler options for Turbo C++ 3.0 # !include "..\mkfiles\tcpp.mak" diff --git a/mkfiles/watcom.mak b/mkfiles/watcom.mak index 95cda19..23671fe 100644 --- a/mkfiles/watcom.mak +++ b/mkfiles/watcom.mak @@ -1,5 +1,5 @@ # -# WATCOM.MAK - kernel copiler options for WATCOM C/OpenWatcom +# WATCOM.MAK - kernel compiler options for WATCOM C/OpenWatcom # TARGET=KWC