Re: [Freedos-user] where?

2013-02-18 Thread Tom Ehlert

 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?

2013-02-18 Thread dmccunney
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?

2013-02-18 Thread Rugxulo
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?

2013-02-18 Thread dmccunney
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?

2005-08-10 Thread kd4d
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?

2005-08-09 Thread Bernd Blaauw

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?

2005-08-08 Thread Bernd Blaauw

[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