Re: [Freedos-user] where?
Exactly *where* is the string of characters for the path variable stored? in the environment which is pointed to by the PSP http://en.wikipedia.org/wiki/Program_Segment_Prefix For that matter, where are stdin/out/and err? that's like asking 'where is monday' tom -- The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] where?
On Mon, Feb 18, 2013 at 10:29 AM, kurt godel wb2...@gmail.com wrote: Exactly *where* is the string of characters for the path variable stored? In the environment block for the program. For that matter, where are stdin/out/and err? They are file descriptors 0, 1, and 2. By default, they are assigned to the terminal, and read from/written to there. I/O redirection can be used to assign them elsewhere, using the , , and | operators . DOS is like Unix in this regard, save that vanilla DOS can't handle stdout and stderr separately. 4DOS can, and there are other third party utilities for doing it. __ Dennis https://plus.google.com/u/0/105128793974319004519 -- The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] where?
Hi, On Feb 18, 2013 10:44 AM, dmccunney dennis.mccun...@gmail.com wrote: On Mon, Feb 18, 2013 at 10:29 AM, kurt godel wb2...@gmail.com wrote: Exactly *where* is the string of characters for the path variable stored? In the environment block for the program. What do you intend to do? C and Turbo Pascal both support getenv / GetEnv. IIRC, at least from asm experience, ES: at program startup usually holds the PSP segment, and offset 2Ch is the segment of the environment (usually sized in CONFIG.SYS SHELL= with /E:1024 or whatever). I can provide a snippet in ASM if needed, at least for GetEnv. (PutEnv is much trickier, esp. if trying to modify the global master environment.) For that matter, where are stdin/out/and err? They are file descriptors 0, 1, and 2. By default, they are assigned to the terminal, and read from/written to there. Mono text mode 0 is at 0B000h:0, color text mode (e.g. default mode 3, CO80, 16 colors) is at 0B800h:0, VGA (256 color) graphics is at 0A000h:0. So you can peek and poke if direly needed. I/O redirection can be used to assign them elsewhere, using the , , and | operators . DOS is like Unix in this regard, save that vanilla DOS can't handle stdout and stderr separately. 4DOS can, and there are other third party utilities for doing it. It's the shell (usually COMMAND.COM) that handles redirection to/from file. Redirecting stderr is somewhat rare as such errors are usually meant to be verbose anyways and not silenced. But yes, there are ways around that (e.g. DJGPP's REDIR.EXE). Check the sources if desired, it's just dup() or such, duplicating the file handle. -- The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] where?
On Mon, Feb 18, 2013 at 6:47 PM, Rugxulo rugx...@gmail.com wrote: I/O redirection can be used to assign them elsewhere, using the , , and | operators. DOS is like Unix in this regard, save that vanilla DOS can't handle stdout and stderr separately. 4DOS can, and there are other third party utilities for doing it. It's the shell (usually COMMAND.COM) that handles redirection to/from file. Redirecting stderr is somewhat rare as such errors are usually meant to be verbose anyways and not silenced. But yes, there are ways around that (e.g. DJGPP's REDIR.EXE). Check the sources if desired, it's just dup() or such, duplicating the file handle. Rare in DOS, where COMMAND.COM doesn't separate STDOUT and STDERR. Common in *nix, where the Bash, Bourne,C, Korn and Z shells do. You often *don't* want the two streams intermixed, and you may wind up doing something like foo 1 foo.out 21. to redirect to the same file. __ Dennis https://plus.google.com/u/0/105128793974319004519 -- The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Where is my 1mb of xms memory?
Hi Bernd: These images also self-extract, which means you don't need to buy WinImage to use them...if you don't have a floppy drive, you can use VFD to emulate one and get a real disk image file as well! Mark [EMAIL PROTECTED] schreef: For a couple of DOS 6.22 boot floppy images, look at www.bootdisk.com. These self-extract to AL, which can be a real floppy drive or a virtual Windows drive using VFD (http://chitchat.at.infoseek.co.jp/vmware/vfd.html). Hope that helps! they were created using WinImage, which can also open them. One of the few occasions for which I use drag-and-drop :) (as there isn't a open exeFILE with program ABC option) remember that running EMM386 isn't ALWAYS the best option, sometimes running only with HIMEM can get you more available memory. It depends a lot on total RAM and how many programs/drivers you want to run and how much memory they each use. Bernd --- SF.Net email is Sponsored by the Better Software Conference EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile Plan-Driven Development * Managing Projects Teams * Testing QA Security * Process Improvement Measurement * http://www.sqe.com/bsce5sf ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user --- SF.Net email is Sponsored by the Better Software Conference EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile Plan-Driven Development * Managing Projects Teams * Testing QA Security * Process Improvement Measurement * http://www.sqe.com/bsce5sf ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Where is my 1mb of xms memory?
Conventional 640K18K 622K Upper 128K10K 118K Reserved 256K 256K 0K Extended (XMS) 3,328K 1,000K 2,328K Total memory4,352K 1,284K 3,068K Looks like you're not using the latest HIMEM and EMM386, which might make a difference. Without the EMS report on MEM, I can't tell what the EMS allocation is, either. Config (FDKERNEL): SYSTEM COMMAND XMS EMM FREE XMS_USE XMS_FREE === NONE 70 126-- 441 3008 - FDHIMEM 1632- 616 1242 1766 FDHIMEM + EMM38610323 619 1465 1543 FDXMS286 1632- 617 1242 1766 FDXMS286 + EMM38610323 620 1465 1543 MSHIMEM MSHIMEM + EMM386 Config (MSDOS710): SYSTEM COMMAND XMS EMM FREE XMS_USE XMS_FREE === NONE FDHIMEM FDHIMEM + EMM386 FDXMS286 FDXMS286 + EMM386 MSHIMEM64 2944 MSHIMEM + EMM386 292 2716 MS HIMEM (+FreeDOS EMM386.EXE) hardly takes any XMS. EMM386 takes 223KB of XMS. MS HIMEM was tested under MSDOS. MS HIMEM + FD-EMM386 + FREECOM + FREEDOS KERNEL causes auto-reboot. MS HIMEM + FD-EMM386 + FREECOM + MSDOS KERNEL seems to work. Final conclusion seems to be FreeDOS memory managers (FDXMS/HIMEM) consume 1MB too much, or MEM is flawed. Michael might be able to solve that puzzle. --- SF.Net email is Sponsored by the Better Software Conference EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile Plan-Driven Development * Managing Projects Teams * Testing QA Security * Process Improvement Measurement * http://www.sqe.com/bsce5sf ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Where is my 1mb of xms memory?
[EMAIL PROTECTED] schreef: Name Total Conventional Upper Memory SYSTEM 16,192 (16K) 9,888 (10K) 6,304(6K) HIMEM2,480(2K) 2,480(2K) 0(0K) EMM386 3,200(3K) 3,200(3K) 0(0K) COMMAND 3,264(3K) 2,944(3K)320(0K) MOUSE3,328(3K) 0(0K) 3,328(3K) Free 757,680 (740K)636,560 (622K)121,120 (118K) a dump against MSDOS would be interesting, with same kind of programs loaded. *FreeDOS kernel uses 64KB of extended memory, the so-called HMA *HIMEM might have a tiny bit of XMS usage, next to also providing it. *EMM386 has some buffers/overhead in XMS. *COMMAND uses about 200KB of XMS Maybe FreeDOS MEM should have an additional column for 'XMS' instead of only 'Conventional and Upper Memory' if it would fit. And a column for 'program version' perhaps. Memory TypeTotal Used Free Conventional 640K18K 622K Upper 128K10K 118K Reserved 256K 256K 0K Extended (XMS) 3,328K 1,000K 2,328K Total memory4,352K 1,284K 3,068K Is there any way to recover this memory? I doubt there are ways, unless you want to use more conventional memory instead. the HMA area is never recoverable to my knowledge. You hardly use UMBs (upper memory) so using UMBPCI instead of EMM386 might do fine for you. There's also a version of COMMAND (command is really known in FreeDOS under the name FREECOM) which does not support switching to XMS. That would mean use of conventional memory increases to 160KB or so instead of the 3KB. Also you could try SHELLHIGH= instead of SHELL= in your config.sys Thanks for posting such extensive output, it really helps. Only thing missing is your used autoexec.bat, and (fd)config.sys file contents. All FreeDOS programs work/behave fine on that pretty old system? Bernd --- SF.Net email is Sponsored by the Better Software Conference EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile Plan-Driven Development * Managing Projects Teams * Testing QA Security * Process Improvement Measurement * http://www.sqe.com/bsce5sf ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user