[comp.sys.ibm.pc] DOS query

s32935k@taltta.hut.fi (Carl Torsten Stenholm) (05/09/89)

  -----------

   I have encountered a couple of problems using MS-D*S 
   working on a Ericsson portable PC (made in Sweden?) but I think
   it is compatible enough, I'm using ver 2.11.

   1. How do I enter a parameter containing a space (' ') into a program or
      batchfile.

   2. Is it possible to start another batchfile from one and jump back into
      the first, like a subprogram. (I have done this by starting a new
      shell, there must be an easier way)

   3. How do I  specify to the MS-D*S where it should put it's temporary file
      when I'm using redirection or pipes, The MS-D*S 2.11 I'm using utterly
      fails if the CURRENT drive is full when piping. I have a One-floppy
      PC with an extra RAM_DISK usually empty.

   4. Am I  doing something wrong ?   Whenever I try to sort something big 
      enough (>64K), MS-D*S enters the Twilight Zone, never to be seen again.

   5. Is it possible to read "Current key pressed down" somewhere in memory,
      It seems the me the only solution is to hook the keyboard interrupt -- I 
      don't want to do that. As far as I can tell from all the reference
      manuals I've read (~3) the keyboard scan codes are only stored in
      the keyboard's buffer until the prosessor hooks it and puts it in the
      keyboard buffer.

   6. Is there any D*S with smaller clusters than 2K.

   7. Using BIOS windows I sometimes get a boldface "I" on the screen instead
      of a <tab> expansion -- this might be and pobably is my mistake ?



               Thanks,

                   Ctrl-C.Stenholm
                   s32935k@taltta.hut.fi

   ------------

brown@astroatc.UUCP (Vidiot) (05/10/89)

In article <21864@santra.UUCP> s32935k@taltta.hut.fi (Carl Torsten Stenholm) writes:
<   1. How do I enter a parameter containing a space (' ') into a program or
<      batchfile.

I don't think that it can be done.  In UNIX you put quotes around it, but
I think that DOS doesn't look for that and parses all spaces.

<   2. Is it possible to start another batchfile from one and jump back into
<      the first, like a subprogram. (I have done this by starting a new
<      shell, there must be an easier way)

Not in DOS 2.11.  In either MS-DOS (PC-DOS) 3.2 or (for sure) 3.3, the batch
command CALL was added, which allows going to other batch programs and then
returning.

<   3. How do I  specify to the MS-D*S where it should put it's temporary file
<      when I'm using redirection or pipes, The MS-D*S 2.11 I'm using utterly
<      fails if the CURRENT drive is full when piping. I have a One-floppy
<      PC with an extra RAM_DISK usually empty.

I think you loose here as well.  I do not know of an environment parameter
to tell DOS where to go.

<   4. Am I  doing something wrong ?   Whenever I try to sort something big 
<      enough (>64K), MS-D*S enters the Twilight Zone, never to be seen again.

Maybe there is s bug in 2.11 that I haven't heard of.  Anyone else?

<   5. Is it possible to read "Current key pressed down" somewhere in memory,
<      It seems the me the only solution is to hook the keyboard interrupt -- I 
<      don't want to do that. As far as I can tell from all the reference
<      manuals I've read (~3) the keyboard scan codes are only stored in
<      the keyboard's buffer until the prosessor hooks it and puts it in the
<      keyboard buffer.

What you read is correct.  One has to dig into the BIOS to get the keyboard
values.

<   6. Is there any D*S with smaller clusters than 2K.

With floppy disks, it is 512 byte sectors, two sectors per cluster (1024).
If you are talking about hard disks, I don't remember seeing any less than
2K clusters.

<   7. Using BIOS windows I sometimes get a boldface "I" on the screen instead
<      of a <tab> expansion -- this might be and pobably is my mistake ?

What is BIOS windows?  Windowing is not supported by any BIOS that I know of.
That is done strictly by user software.

This information is subject to further correction/enhancement by other users
of this news group.
-- 
	        harvard\     att!nicmad\
Vidiot            ucbvax!uwvax..........!astroatc!brown
	        rutgers/  decvax!nicmad/
	ARPA/INTERNET: brown%astroatc.UUCP@spool.cs.wisc.edu

c9c-ct@dorothy.Berkeley.EDU (A SUN) (05/10/89)

In article <1894@astroatc.UUCP> brown@astroatc.UUCP (Vidiot) writes:
>In article <21864@santra.UUCP> s32935k@taltta.hut.fi (Carl Torsten Stenholm) writes:
><   1. How do I enter a parameter containing a space (' ') into a program or
><      batchfile.
>
>I don't think that it can be done.  In UNIX you put quotes around it, but
>I think that DOS doesn't look for that and parses all spaces.

You can enter a parameter with <space> by using the extended ASCII character
set.  The one you're looking for is <alt>-255.

><   3. How do I  specify to the MS-D*S where it should put it's temporary file
><      when I'm using redirection or pipes, The MS-D*S 2.11 I'm using utterly
><      fails if the CURRENT drive is full when piping. I have a One-floppy
><      PC with an extra RAM_DISK usually empty.
>
>I think you loose here as well.  I do not know of an environment parameter
>to tell DOS where to go.

I'm not sure, but you might be able to define a TEMP directory by stating:
set TEMP = d:\TEMP
in your autoexec.bat
 where *d* is your RAMDISK and \TEMP is the directory you want to put temp
 files in.
I know this works for programs that look for a TEMP variable in the 
 environment space.

-----
A Sun
c9c-ct@dorothy.Berkeley.EDU
ucbvax!dorothy!c9c-ct
-----

posert@bonnie.ics.uci.edu (Bob Posert) (05/10/89)

In article <21864@santra.UUCP> s32935k@taltta.hut.fi (Carl Torsten Stenholm) writes:

>   1. How do I enter a parameter containing a space (' ') into a program or
>      batchfile.

Enclose the parameter in quotes, "like this."  This works for C programs,
but not batch files (at least in PC-DOS 3.1.)

>   3. How do I  specify to the MS-D*S where it should put it's temporary file
>      when I'm using redirection or pipes, The MS-D*S 2.11 I'm using utterly
>      fails if the CURRENT drive is full when piping. I have a One-floppy
>      PC with an extra RAM_DISK usually empty.

Right - the temporary file is placed in the root of the current disk.  If you
upgrade to DOS 3.x, you might be able to join all your disks to subdirs of
a ramdisk; then the temp file would be placed on the ramdisk.  I haven't
tried this.

>   4. Am I  doing something wrong ?   Whenever I try to sort something big 
>      enough (>64K), MS-D*S enters the Twilight Zone, never to be seen again.

According to the _MS-DOS User's Guide_ (Que Books,) the maximum file size
that sort can handle is 63k.  (Yes, 63, not 64 :-).  There is a shareware
utility called 'sortf' that gets around this limit.

--Bob
--
Bob Posert
I'm: posert@bonnie.ics.uci.edu or {sdcsvax|ucbvax}!ucivax!bonnie!posert 

egs@u-word.Dallas.TX.US (Eric Schnoebelen) (05/10/89)

In article <1894@astroatc.UUCP> brown@astroatc.UUCP (Vidiot) writes:
- In article <21864@santra.UUCP> s32935k@taltta.hut.fi (Carl Torsten Stenholm)
- writes:
-< 4. Am I  doing something wrong ?   Whenever I try to sort something big 
-<    enough (>64K), MS-D*S enters the Twilight Zone, never to be seen again.
- 
- Maybe there is s bug in 2.11 that I haven't heard of.  Anyone else?

	DOS sort has a limitation of about 60K of data.  If you pass
it more, it can ( and probably will ) do nasty things.  The versions
included with DOS 3.1 and above simply quietly puked, and returned to
whoever called them ( usually command.com. )   Yes, this bit me once.
I (re)wrote a sort that used virtual memory for the application..

-< 7. Using BIOS windows I sometimes get a boldface "I" on the screen instead
-<    of a <tab> expansion -- this might be and pobably is my mistake ?
- 
- What is BIOS windows?  Windowing is not supported by any BIOS that I know of.
- That is done strictly by user software.

	Well, when I send a tab directly to screen, I get an inverse
diamond.  What seems to be happening is that someone is writing
directly to the screen, and not doing tab expansion.

	Hope this helps
-- 
Eric Schnoebelen,			JBA Incorporated, Lewisville, Tx.
egs@u-word.dallas.tx.us				...!killer!u-word!egs
	"...we have normality"..."Anything you still can't cope with is
therefore your own problem..."	-- Trisha McMillian, HHGG

bumby@math.rutgers.edu (Richard Bumby) (05/11/89)

In article <21864@santra.UUCP> s32935k@taltta.hut.fi (Carl Torsten
Stenholm) writes:

>    I have encountered a couple of problems using MS-D*S 
>    working on a Ericsson portable PC (made in Sweden?) but I think
>    it is compatible enough, I'm using ver 2.11.
> 
>    3. How do I  specify to the MS-D*S where it should put it's temporary file
>       when I'm using redirection or pipes, The MS-D*S 2.11 I'm using utterly
>       fails if the CURRENT drive is full when piping. I have a One-floppy
>       PC with an extra RAM_DISK usually empty.
>    ------------

A patch that you might try -- particularly in a batch file -- is to
change your default directory and run your program using either a PATH
our and explicit drive declaration.  I do this to load quattro on a
T1000 so that I fool the program into thinking that my hard-RAM is the
default drive even though there is not enough space there to keep the
main program.
-- 

--R. T. Bumby ** Math ** Rutgers ** New Brunswick **
(in one form or another for all kinds of mail)
[bumby@math.rutgers.edu]

don@trsvax.UUCP (05/11/89)

><   1. How do I enter a parameter containing a space (' ') into a program or
><      batchfile.

>I don't think that it can be done.  In UNIX you put quotes around it, but
>I think that DOS doesn't look for that and parses all spaces.

You are correct as long as the program being called tries to use arguments
in the standard way [ main(argc, argv)].

However, if you can change the program being called, it is possible to get
the command line unparsed by DOS.  The length of the command line is stored
at PSP + 80, then usually followed by a space, then the command line as it
was entered.  Note that this is guaranteed only if the calling program sets
up the int 21h, function 4Bh in this way.  Command.com does, but some other
programs which start child processes may not.

% make me stop
don't know how to make me.  Stop.

Don Subt			The opinions expressed above are
Tandy Corp.			strictly mine, not my employer's.

817-390-3068			...!killer!ninja!sys1!trsvax!don