Re: [Freedos-kernel] Can the Kernel start my program instead of command.com?
On Fri, 09 Dec 2016 02:07:24 -0700, David Kay wrote: > Is it possible to get the kernel to load my program directly instead of > via autoexec.bat? Then my system would just be composed of the kernel > and my program? Have you tried to declare your program in CONFIG.SYS using the SHELL= directive ? Seems like an easy test that would provide you with the answer you look for. Renaming your program to COMMAND.COM is also a possible test, albeit perhaps less elegant. I wouldn't expect troubles, but as usual, testing it out is the only way to be sure. cheers, Mateusz -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/xeonphi ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] ke2042: nasm fails to assemble files during build time
On Tue, 29 Nov 2016 13:02:59 -0800, H. Peter Anvin wrote: > But why the batch file in the first place? It truly makes no sense: it > pollutes the namespace equally, and can just cause problems (e.g. in the > case of more than 9 arguments.) Not to mention slowing down a make. Here's the thing: I, as a user, store lots of useful software on my PC. Many of these programs are so useful that I like to have them available immediately from anywhere: ZIP, UNZIP, UNRAR, UPX, NASM, TCC, OPTIPNG, QV, MPXPLAY, UHEX, GOPHERUS, LAME... the list goes on and on. To achieve this, I know of four ways. Each comes with some limitations. Method 1: Store every program in its own directory, and add each directory to the %PATH%. Problem: obviously the environment will get very bloated, very fast. Besides, some programs come with add-on tools that I do not want to be available from within my path. Method 2: Trim out the programs from everything besides a single exe, and put them all in a single directory declared in my %PATH%. But this poses two problems that I cannot live with: first, not every program can be trimmed out to a single executable file (data files, config files, etc), and second - almost all programs come with their respective README files and other valuable documentation that I really want to keep within the vicinity of the executable (ie. in the same directory). Method 3: Store each tool in its own directory, and place a COPY of its executable inside a directory in the %PATH%. Well, this is just messy - upgrading the program needs to think about replacing the executable each time in both places, and it's simply a waste of disk space. Method 4: Keep each program in its own directory with all its original files, and only store *.bat "links" in a single directory somewhere in the PATH. This mitigates the troubles of methods 1 and 2, at the cost, unfortunately, of *.bat's own limitations (max 9 args and '=' processing weirdness). The method 4 is what I started doing back in the nineties, and as of today I still didn't find a better (or let's say, less worse) way. That's a lifetime project it would seem. The method 4 is also something that I implemented last year inside FDNPKG (the FreeDOS package manager), but since I discovered recently how oddly the '=' character is processed in %1-like arguments (there's a separate thread about that on freedos-devel), I will have to figure out some improved method... first thought pointed to computing some COM loader relying on INT21,4Bh but that's far less trivial than the current batch method, and hobby time is scarce. Mateusz -- ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] ke2042 doesn't compile with Turbo C 2.01
Hello, I noticed that the ke2042 svn tag doesn't compile using Turbo C 2.01. The reason is quite trivial: config.c: Error config.c 407: Expression syntax in function PreConfig2 Indeed, config.c contains two commented line at 407 and 408: // if (UmbState == 2) //umb_init(); I have no idea why these lines are commented, but the fact is that they are commented using non-C89 comments. Simply replacing them with ANSI C /* */ comments solves the issue. It's nothing important, an annoyance more than anything, but perhaps it would be worth "fixing" it in svn to avoid frustrating other users that might try compiling the kernel with Turbo C or something else that doesn't know about '//' comments... Mateusz -- ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] ke2042: nasm fails to assemble files during build time
Hello group, I am trying to compile the FreeDOS kernel from svn's tag ke2042, but it appears that build.bat fails to assemble several files. For instance: nasm -DTC2 -DWITHFAT32 -i../hdr/ -DXCPU=86 -f obj floppy.asm nasm: error: more than one input file specified nasm: error: more than one input file specified Not sure why this happens, the command looks sane. If I redo the nasm command by hand, I get the same message. Trying to compile on DOSEMU, using nasm v2.12.02. Have I missed something obvious? Any clue? regards, Mateusz -- ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel