From 31a4275854492dc0872cd94f59cf3a92cfaa923a Mon Sep 17 00:00:00 2001 From: Kenneth J Davis Date: Thu, 2 Sep 2004 20:22:05 +0000 Subject: [PATCH] easier change of kernel load segment, remove need of keypress when linking git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1022 6ac86273-5f31-0410-b378-82cca8765d1b --- build.bat | 12 +++++++++++- defaults.bat | 1 + docs/fdkernel.lsm | 4 ++-- kernel/makefile | 2 +- mkfiles/generic.mak | 4 ++++ utils/wlinker.bat | 2 +- 6 files changed, 20 insertions(+), 5 deletions(-) diff --git a/build.bat b/build.bat index 61f0cb5..c7a5eb7 100644 --- a/build.bat +++ b/build.bat @@ -4,7 +4,7 @@ :- $Id$ :----------------------------------------------------------------------- -:- Syntax: BUILD [-r] [fat32|fat16] [msc|wc|tc|tcpp] [86|186|386] [debug] [lfnapi] +:- Syntax: BUILD [-r] [fat32|fat16] [msc|wc|tc|tcpp] [86|186|386] [debug] [lfnapi] [/L #] :- option case is significant !! :----------------------------------------------------------------------- @@ -42,6 +42,9 @@ if "%1" == "386" set XCPU=386 if "%1" == "debug" set ALLCFLAGS=%ALLCFLAGS% -DDEBUG if "%1" == "lfnapi" set ALLCFLAGS=%ALLCFLAGS% -DWITHLFNAPI +if "%1" == "/L" goto setLoadSeg + +:nextOption shift if not "%1" == "" goto loop_commandline @@ -111,6 +114,13 @@ goto end :----------------------------------------------------------------------- +:setLoadSeg +shift +if "%1" == "" echo you MUST specify load segment eg 0x60 with /L option +if "%1" == "" goot abort +set LOADSEG=%1 +goto nextOption + :noenv echo Unable to set necessary environment variables! goto abort diff --git a/defaults.bat b/defaults.bat index 6b711e3..7c581f8 100644 --- a/defaults.bat +++ b/defaults.bat @@ -81,6 +81,7 @@ set XUPX= set XCPU= set XFAT= set ALLCFLAGS= +set LOADSEG= if not "%OLDPATH%" == "" set PATH=%OLDPATH% set OLDPATH= diff --git a/docs/fdkernel.lsm b/docs/fdkernel.lsm index d9a21de..a0fb3e1 100644 --- a/docs/fdkernel.lsm +++ b/docs/fdkernel.lsm @@ -1,11 +1,11 @@ Begin3 Title: The FreeDOS Kernel -Version: 2.0.35 +Version: 2.0.35a-UNSTABLE Entered-date: 30 May 2004 Description: The FreeDOS Kernel. Keywords: kernel freedos dos msdos Author: (developers) -Maintained-by: bartoldeman@users.sourceforge.net +Maintained-by: jeremyd@computer.org Primary-site: http://freedos.sourceforge.net Original-site: http://www.gcfl.net/pub/FreeDOS/kernel Platforms: dos dosemu diff --git a/kernel/makefile b/kernel/makefile index 4d7adc4..39806a9 100644 --- a/kernel/makefile +++ b/kernel/makefile @@ -36,7 +36,7 @@ all: ..\bin\$(TARGET).sys ..\bin\$(TARGET).sys: $(TARGET).lnk $(OBJS) $(LIBS) ..\utils\exeflat.exe $(LINK) @$(TARGET).lnk; $(XUPX) kernel.exe - ..\utils\exeflat kernel.exe $*.sys 0x60 -S0x10 -S0x8B $(UPXOPT) + ..\utils\exeflat kernel.exe $*.sys $(LOADSEG) -S0x10 -S0x8B $(UPXOPT) copy $*.sys ..\bin\kernel.sys # XXX: This is a very ugly way of linking the kernel, forced upon us by the diff --git a/mkfiles/generic.mak b/mkfiles/generic.mak index e70533a..211404a 100644 --- a/mkfiles/generic.mak +++ b/mkfiles/generic.mak @@ -28,6 +28,10 @@ INCLUDEPATH=$(BASE)\include LIBPATH=$(BASE)\lib INITPATCH=@rem +!if $(LOADSEG)0 == 0 +LOADSEG=0x60 +!endif + UPXOPT=-U !if $(__MAKE__)0 == 0 # NMAKE/WMAKE !if "$(XUPX)" == "" # TC doesn't supports this diff --git a/utils/wlinker.bat b/utils/wlinker.bat index 30d39eb..27ae76a 100755 --- a/utils/wlinker.bat +++ b/utils/wlinker.bat @@ -1,4 +1,4 @@ @echo off -%BASE%\binw\ms2wlink %1 %2 %3 %4 %5 %6 %7 %8 %9>kernel.lnk +%BASE%\binw\ms2wlink %1 %2 %3 %4 %5 %6 %7 %8 %9 ,,,, >kernel.lnk echo op map,statics,verbose,eliminate,vfremoval>>kernel.lnk %BASE%\binw\wlink @kernel.lnk