[mod.computers.ibm-pc] Info-IBMPC Digest V5 #88

Info-IBMPC@B.ISI.EDU (Info-IBMPC Digest) (09/29/86)

Info-IBMPC Digest    Monday, September 30, 1986    Volume 5 : Issue 88

Today's Editor:  Richard Gillmann

Today's Topics:

                      Floppy head step rate zap
                  DOS command line editing (3 msgs)
                 CGA/EGA/PGA/MDA/HERC cards (2 msgs)
              Manipulating the DOS Environment (2 msgs)
                     GEM and External 3.5" drive
                         REFORMAT and DOS 3.2
                     Upgrade to Microsoft C v4.0
                          MSDOS Encyclopedia
                             FCOMP.C Use
                      Satellite tracking program

Today's Queries:

                     TROFF for HP Laserjet+ Query
                     New keyboard with 123 Query
                      Zenith 158 with 768k Query
                  Resident Programs Standard Wanted
                     Path change in DOS 3.2 Query
                           Com3 Com4 Query
                           HP Vectra Query
                        Tecmar Hard Disk Query

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

Date: Sun, 28 Sep 86 02:18:48 CDT
From:  CCRJW%UMCVMB.BITNET@WISCVM.WISC.EDU  (Richard Winkel     UMC
  Computing Services)
To:  INFO-IBMPC@USC-ISIB.ARPA
Subject: Floppy head step rate zap

>Does anybody have a head-settle patch for IBMBIO.COM for DOS 3.10?  I've
>found one for DOS 2.10, but it seems that 3.10 is just as slow as all of
>them (except DOS 1.1).

I don't know of a patch for IBMBIO 3.1, but I can tell you how to zap
the bios diskette parameter table to achieve the same effect.  This
zap is independent of the dos version.

The vector for INT 1E points to the diskette parameter table, and the
head step rate (which is actually what you're after) is in the first
nibble of the byte at offset 0 in the table.  The default step rate is
'C' (12), and 'E' (14) seems to be a good replacement value.  If you
are well versed in DEBUG, you can enter the following program using
the assemble command:

-A 100                ; start assembling at offset 100H
XOR AX,AX            ; get to the bottom of memory
MOV DS,AX
LDS DI,[78]          ; put the INT 1E vector into DS:DI
MOV BYTE PTR [DI],EF ; move in the new value (second nibble is always F)
MOV DL,0             ; reset diskette system to load new parms
INT 13               ; do the reset
INT 20               ; exit
<null line>
-N FASTDISK.COM
-R CX
:18
-W
-Q

That's it!

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

To: ya'akov_miles%ubc.mailnet@mit-multics.arpa
Cc: info-ibmpc@usc-isib.arpa
Subject: re: DOS 3.2 and ugly Ctrl-U (and Esc) behaviour
Date: Fri, 26 Sep 86 12:06:52 -0500
From: Mark Colan <mtc@ATHENA.MIT.EDU>

I agree with your complaints, and currently use DOS 3.10 because of the
missing ^U.  Incidentally, I have heard that not all DOS 3.10's
have that ^U feature enabled.

I would like to clarify one point, though:

>	The PC-DOS recall feature F3 is pathetic.  There is no way to edit 
>	the middle of a long command line other than to delete all the 
>	characters after the one you want to edit

There actually is, sort of.  The DOS quick ref card lists the other 
editing keys that are available:

DEL		Skip one char in retained line
INS		Toggle - insert characters mode
F1 or ->	Copy and display one char from retained line
F2		Copy all chars up to specified char
F3		Copy all remaining chars from retained line
F4		Skip all chars to specified char of retained line

This is easier to understand by example:

To transform the command:

	copy dos310.c \usr\src\foobar
into 
	copy badedit.c \usr\src\foobar

1. either press -> five times, or type F2 then "d".  DOS sez "copy ".
2. use either of these two methods:
   a. type "badedi", press INS, "t", and F3
   b. press F4 then ".".  Press INS, type "badedit", and F3

Similarly, to change 

	copy ugliness.c \hope\dos\gets\better
to 
	copy broken.c \hope\dos\gets\better

1. either press -> five times, or type F2 then "u".  DOS sez "copy ".
2. use either of these two methods:
   a. type "broken", press DEL twice, and F3
   b. press F4 then ".".  Press INS, type "broken", and F3

Clearly, this is kludgey as heck.  I'm not going to try to defend
something as ugly as this, but I DO use it, and I find it superior
to un*x in this respect: the csh has only very limited recall facilities,
in which you have to type ^old^new to make one substitution; I have
yet to figure out how to make it do two substitutions.  I certainly
prefer the "direct manipulation" approach that DOS has, but I've
seen better (and MUCH worse).

Mark Colan
MIT Project Athena

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

Date:           Fri, 26 Sep 86 12:49:48 PDT
From:           Jim Anderson <bilbo.jta@LOCUS.UCLA.EDU>
To:             info-ibmpc@b.isi.edu
Subject:        DOS command line editing

In vol. 5 issue 27 of info-ibmpc Ya'akov Miles complained about DOS 3.2 
command line editing.  I would like to recommend PCED from Cove Software
Group.  It costs $35 and, in my opinion, is well worth the price.  Accept
no substitutes, such as DOSEDIT.  I am not associated with Cove Software
Group, but am a VERY satisfied user of PCED.

Cove Software Group
P.O. Box 1072
Columbia, MD  21044
(301) 992-9371

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

Date: Mon 29 Sep 86 12:29:18-CDT
From: Pete Galvin <CC.GALVIN@R20.UTEXAS.EDU>
Subject: Re: DOS 3.2 and ugly Ctrl-U (and Esc) behaviour
To: Ya'akov_Miles%UBC.MAILNET@MIT-MULTICS.ARPA
cc: info-ibmpc@B.ISI.EDU

Since DOS 3.2 continues in the tradition of the other DOSes by not 
having a nice command interface, I use the PD (shareware?) program
CED.  It does all you want and more (except for ^U).

					--Pete

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

Date: Fri 26 Sep 86 08:23:13-PDT
From: David John Buerger  <D.Buerger%SCU%PANDA@SUMEX-AIM.ARPA>
Subject: NEC CGA/EGA/PGA card
To: info-ibmpc@USC-ISIB.ARPA

In reply to Clif Sothoron's request for info on a CGA/EGA/PGA compatible card
to work with his NEC Multisync monitor, NEC just announced such a card to work
with their own product.  Of course the "PGA" emulation won't be quite as nice
as the true product, but the cost is reasonable (about $750 list) enough.  Call
NEC for more info.

David J. Buerger
Director, PC Center, Santa Clara University
Dave%SCU%Panda@SUMEX-AIM.ARPA

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

Date:     Mon, 29 Sep 86 8:55:38 EDT
From:     Clif Sothoron <cbsoth@BRL>
To:       info-ibmpc@usc-isib.ARPA
Subject:  Quadram EGA+ Board

   We have been using Quadram EGA+ boards and they work great. They
emulate EGA/CGA/MDA/HERC applications. I have not tested the Hercules
and mono stuff because I have an enhanced color monitor. The emulations
are switched via software. I like controlling them via batch files.
There is even a screen turn-off utility available. This board includes
256KB of on-board RAM and a decent manual. It works with a NEC Multisync
monitor as well. That is another fine piece of hardware (800/560
resolution).  

    Enjoy,

Clifton B. Sothoron Jr.
Ballistic Research Laboratory
Aberdeen Proving Grounds, Md.

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

Date: Fri, 26 Sep 86 18:03:34 cdt
From: Peter Wu <pwu@unix.macc.wisc.edu>
To: info-ibmpc-request@mosis
Subject: Re: SETENV.C

Author of setenv.c asked how to find the length of DOS's environment.
This is done by looking at the memory block header of the DOS
environment block.

Also, a better way to look for the DOS environment block is to
trace the segment portion of the terminate address back until
you find a segment whose terminate address points to itself.
This is DOS. The next following memory block is DOS's environment.

The program input.c in info-ibmpc library uses this idea and
does the same thing (accept string and store into dos
environment). I wrote this awhile ago and submitted it eagerly
(to show off the neat trick) but never find any use for it since then.

peter

uucp: {akgua|allegra|harvard|seismo|topaz|ucbvax}!uwvax!uwmacc!pwu
arpa: pwu@unix.macc.wisc.edu
bitnet: WU at WISVMACC

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

Date: 28 Sep 86 11:07 EST
From: DIXON WALTER V               <DIXON@ge-crd.arpa>
Subject: Manipulating the DOS Environment
To: Info-IBMPC@B.ISI.EDU

     The question of changing environment variables from within a
program has come up several times.  There was a posting of SETENV.C
in the last digest which did this,  but it required PATH varaible to
be set.  I have also created a program to do this which relies on
a "semi-documented" dos hook.  This posting includes two routines
getenv and setenv for manipulating the master environment as well
as a utility for using "logical names" to manipulate the path value.

     The fundamental problem in manipulating the environment is that
dos passes a copy of the environment to a program when it starts up.
Most respectable C compilers have a library routine which will mani-
pulate this environment,  but any additions/deletions are undone
when the program exits.  If these programs in turn spawn (fork) other
programs,  the child programs are passed their parent's environment.

     There are two problems with mainpulating the DOS "master" environ-
ment  --  finding it and expanding it.  Finding the master environment
is fairly easy,  but the only way I can see to expand it is to hack up
COMMAND.COM.

     The environment is a table whose starting segment is stored in the
PSP at offset 2CH;  unfortunately,  this is a copy of the DOS environment.
Location 14H in the PSP is the starting segment of the parent process
PSP.  In most cases the parent process is command.com.  If multiple forks
have been performed,  this location will form a linked list which can
be traced back to the original copy of command.com.  In many ways command.com
is another process with its own PSP;  however offset 2CH in its PSP is 0.
When command.com starts up,  it allocates a block of memory to use as the
environment and stores the size and starting paragraph internally.  If one
were willing to hack on command.com or depend on knowing the location of
these variables (environment size and starting segment),  it becomes a
simple matter to alter the environment contents and size.

     The DOS tecnincal reference manual states that the address of the
environment is passed when a program is loaded (INT 21H AH=4BH).  The
load routine copies this environment in the course of making the program
memory resident.  Thus it is possible to determine the starting segment
of the master environment by trapping load requests.

     The code which follows includes a terminate and stay resident program
which monitors program loading and a routine for manipulating the master
environment.  Also included in this posting is a utility which uses these
routines to manipulate the DOS path variable.

[GET.C has been added to the Info-IBMPC library. -rag]

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

Date: Mon, 22 Sep 86 09:00:13 edt
From: Ted Cooley <tedc%dartmouth.edu@CSNET-RELAY.ARPA>
Subject: GEM and External 3.5" drive
To: info-ibmpc%usc-isib.arpa@CSNET-RELAY.ARPA

	A have at least fixed the two problems I mentioned earlier:

		1) GEM hangs IBM-XT runnings DOS 3.20

		2) External 3.5" IBM drive does not format to 720kbytes.

	In the GEM problem, I was finally able to get GEM to run if I
_DO NOT_ run device = vdisk in the config.sys file.  Apparantly, vdisk
is located at the same memory locations as one of the device drivers for
GEM...  I have not tried to make the virtual disk, say, 100kbytes to see
if size is the issue.  If reducing the size of the vdisk does permit GEM to
run, I'll report it here.

	As for the external 3.5" drive, I have had two now, both of which
have been flakey from time to time... "Can't write Boot sector", etc.  The
other problem was that I had not setup the device drivers properly.  I had
changed the switch settings on the mother board rather than only installing
a new device driver.  Be forwarned:  defaults are not always what you expect.

	I hope that this information will help someone out there.  It is clear
that not many others have been using this combination of s-ware and h-ware.

Regards,

Ted Cooley
Thayer School of Engineering
Dartmouth College
Hanover, NH   03755
tedc@dartmouth.edu
...seismo!harvard!dartvax!tedc

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

Date: Fri, 26 Sep 86 10:40:15 MET
To:  INFO-IBMPC@USC-ISIB.ARPA
From:  U001222%HNYKUN11.BITNET@WISCVM.WISC.EDU
Subject: REFORMAT and DOS 3.2

REFORMAT has now been tested on several machines running DOS 3.2.
It works perfectly. So anybody with DOS 3.2 should change line 981
in the file REFORMAT.IN5: '..... ah > 10 ..'  to '.....ah > 20 ...'.

Doeg,
Jos Wennmacker
Universitair Rekencentrum
Geert Grooteplein Zuid 41
NL-6525 GA Nijmegen
The Netherlands.

[The library copy has been updated. -rag]

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

Date: Fri, 26 Sep 86 06:37:28 cdt
From: mlw@ncsc.ARPA (Williams)
To: info-ibmpc@usc-isib.ARPA
Subject: Upgrade to Microsoft C v4.0

I was surprised to get an upgrade offer and order form for MS-C, v4, since
I bought MS C, v2 (i.e., Lattice) some time ago and never upgraded it.
However, a standard MS upgrade notice w/order form reached me (at a NEW
work address!), so I believe that's still they're approach to offering
upgrades at reduced prices.  I certainly hope everyone who's eligible
gets their upgrade offer through the mail -- I usually suffer migraines
and rashes any time I try to talk w/MS folks on the phone :-)

Mark L. Williams
(mlw @ ncsc.arpa)

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

Date: Friday, 26 Sep 1986 08:24:41-PDT
From: watson%akov04.DEC@decwrl.DEC.COM
To: info-ibmpc@b.isi.edu
Subject: MSDOS Encyclopedia

I saw a copy of the long awaited "MSDOS Encyclopedia" at a computer book store
in the Boston area the other day.  I was told that it sold for $140.00 but was
not for sale because Microsoft had recalled the entire edition.  I convinced
the salesman to let me have a look at it anyway and would like to comment on
what is actually in the book.  I was mostly disappointed in the book as it does
not contain much new, previously unpublished information.  The first third is
devoted to DOS commands and utilities and is mearly an expanded description of
the DOS users manual.  The rest is descriptions of DOS calls, all of which are
documented in the MSDOS Programmers Guide allready.  The one nice thing about
the book was the flow charts included to diagram the DOS functions code.  In
my mind, this is not sufficient justification for the high price tag.
I don't know why the book was recalled and the salesman said he had not been
able to find out from Microsoft himself.  Also, he did not know when the book
will be released again (if ever).

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

To: info-ibmpc@usc-isib.ARPA
Subject: FCOMP.C Use
Date: Sun, 28 Sep 86 21:57:13 -0500
From: James R. Van Zandt <jrv@mitre-bedford.ARPA>

ciaraldi@rochester.arpa recently reported:
> I recently grabbed FCOMP.C from the info-ibmpc archives
> at usc-isib, and ran into a few very minor problems...
> ...I also got "stack overflow" when using Lattice C, and
> was never able to find a stack size big enough to let
> it run.

I borrowed a Lattice compiler and ran into the same problem.  It's
because FCOMP allocates these big arrays from the stack:

    /*      for each diagonal, two items are saved: */
    int last_d[2*MAXLINES+1];            /* the row containing the last d */
    struct edit *script[2*MAXLINES+1];   /* corresponding edit script */

I first fixed the problem by moving the declarations outside main to
make them global variables.  However, this made the .exe file much
larger (parhaps due to my old version of link: 2.44).  I eventually
allocated the arrays from the heap using malloc().

> ...This means you can only compare files up to about 16K
> bytes in length each, since both files and some scratch space
> are held in memory.

I have to apologize...I had modified FCOMP to save only a hash code for
each line, but never uploaded the new version.  This increased its
capacity somewhat, but I stillran out of memory pretty often.  I've
been looking forward to getting it compiled with a larger memory model. 
Using the small code/large data memory model of the Lattice compiler,
much more memory is available for the "edit scripts" FCOMP uses to keep
track of the file differences.  That's the good news.  The bad news is
that the capacity only grows as the square root of the available
memory.  If there are N differences between two files, approximately
(N+1)*(N+2)/2 edit scripts are required.  For 2 times as many file
differences, you need about _4_ times as much memory.  The two versions
of FCOMP work like this on my machine:

              version                       DeSmet               Lattice
                                     (small/small)         (small/large)
              # edit scripts                  3459                  9033
              # file differences                82                   133
              .exe file size                 15360                 21612

For comparison, chkdsk reports "786432 bytes total memory 200352 bytes
free" on my Z-100.

Incidently, I wasted quite a bit of time before I realized that the
DeSmet and Lattice versions of lseek() have different calling
sequences.  I'm now using fseek(), which is the same under both.

I'm appending the new version of FCOMP to this message.

                                            - Jim Van Zandt

[FCOMP.C has been updated. -rag]

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

Date:     Mon, 29 Sep 86 9:32:05 EDT
From:     Brian Vaughan <vaughan@labs-b.bbn.com>
To:       INFO-IBMPC@b.isi.edu
Subject:  Satellite tracking program

There is an article called "TI-59 program tracks satellites in elliptical
orbits" in the October 6, 1981 issue of Electronics, page 146. The author's
name is Janos Molnar from Siofok, Hungary.

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

Date:     Thu, 25 Sep 86 15:31:49 EDT
From:     Clif Sothoron <cbsoth@BRL>
To:       info-ibmpc@usc-isib.ARPA
cc:       keller@BRL, pbaer@BRL, fickie@BRL
Subject:  TROFF for HP Laserjet+ Query

   Does anyone know of a port of TROFF to the IBM PC-AT with support
for the Hewlett-Packard Laserjet+ running PC-DOS? I know that Addison
Wesley supports TEX for the AT but we already have lots of UNIX TROFF
formatted files. Interesting thought, does anyone know of a program
that converts TROFF formatted files to TEX formatted files? This would
be an acceptable alternative as well.

   Thanks in advance,

Clifton B. Sothoron Jr.
Ballistic Research Laboratory
Aberdeen Proving Grounds, Md.

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

Date: Fri 26 Sep 86 14:46:58-PDT
From: Ted Shapin <BEC.SHAPIN@USC-ECL.ARPA>
Subject: New keyboard with 123 Query
To: info-ibmpc@B.ISI.EDU

Are there any patches to use the cursor keys on the new IBM keyboard
(IBM # 1390120) with Lotus 123.  We would like to enter digits on the
digit keypad and use the cursor keys to move the cursor.  The scan codes
must be different as Lotus doesn't seem to recognize the cursor keys.

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

Date: 26 SEP 1986  14:27 EDT
To:  <INFO-IBMPC@USC-ISIB.ARPA>
From:   Kenneth R. Van Wyk  <LUKEN%LEHICDC1.BITNET@WISCVM.WISC.EDU>
Subject: Zenith 158 with 768k Query

All Z-158 computers can hold 768k of RAM, but the operating system
only recognizes 640k of it.  Does anyone out there know of a way that
this additional 128k of RAM can be used as a RAMdisk?  Sure hate to
see it go to waste...

                                              Ken Van Wyk
                                              <LUKEN@LEHICDC1.BITNET>

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

Date: Sat, 27 Sep 1986 23:10 PDT
From:   "Jeffrey Sicherman"  <JAJZ801%CALSTATE.BITNET@WISCVM.WISC.EDU>
Subject: Resident Programs Standard Wanted
To:  <INFO-IBMPC@B.ISI.EDU>

Has any document, written standard, or software come out of the recent
Microsoft, Borland, et.al. conference on keyboard stealers and
resident programs ? If so, how may it be obtained ?

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

Date:    Sun, 28 Sep 86 13:13 PDT
To: Submit to Info-IBMPC <info-ibmpc@usc-isib.arpa>
From: Todd Booth 213-825-1933 <CSDCTGB@UCLA-CCN.ARPA>
Subject: Path change in DOS 3.2 Query

With DOS 3.1 the following will add c:?newdir to the current path:
  set path=%path%c:?newdir

However with DOS 3.2 it does not.  Does anyone have any suggestions
or available programs?

todd

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

Date:     Mon, 29 Sep 86 9:47:48 EDT
From:     Brian Vaughan <vaughan@labs-b.bbn.com>
To:       info-ibmpc@b.isi.edu
Subject:  Com3 Com4 Query

I have purchased an EVEREX modem for the AT. The manual says it can be
set to the address location for com1, com2, com3, or com4. Out of interest,
if the following I/O addresses are true:
		com1	3F8 - 3FF
		com2	2F8 - 2FF
where is:	com3	??? - ???
		com4	??? - ???

Thanks in advance.

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

Date: 29 Sep 1986 10:56-EDT
Subject: HP Vectra Query
From: HARDY@A.ISI.EDU
To: Info-IBMpc@B.ISI.EDU

I would like to hear from anyone who has used the Vectra by HP. Good/Bad 
comments on 

      How it works
      3Com file sharing
      3Com plus file sharing
      DBase III Plus and 3Com file sharing
      Any experence with problems when tring to use memory in the 636k to 640k
         area?

  Rich.

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

Date:     Mon, 29 Sep 86 15:21:41 EDT
From:     Stephen Wolff <steve@BRL.ARPA>
To:       info-ibmpc@usc-isib.arpa
Subject:  Tecmar Hard Disk Query

Help!  We have a Tecmar hard disk full of non-backed-up data that
refuses to be found after a system restart.  The operating system
(DOS) produces the message "Unable to Access Hard Disk".  Has anyone
coped with this before?  Does anyone know of a utility that would
allow us to retrieve the info on the disk or to rebuild its directory?

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

End of Info-IBMPC Digest
************************
-------