[comp.sys.ibm.pc.digest] Info-IBMPC Digest V91 #63

Info-IBMPC@WSMR-Simtel20.Army.mil ("Info-IBMPC Digest") (03/23/91)

Info-IBMPC Digest           Tue, 19 Mar 91       Volume 91 : Issue  63 

Today's Editor:
         Gregory Hicks - Rota Spain <GHICKS@WSMR-Simtel20.Army.Mil>

Today's Topics:
                      Disable Control-C (V91 #53)
                               IDE drives
                Memory Expansion and Extension Problems
                      Re: More hard disk questions
                 XTree Gold & McAfee's Vshield conflict
       Preventing Hard Disk Writes (was: LEA, LDS, LES) (5 msgs)

Today's Queries:
                               DMA & OS/2
                         Hard Carriage Returns
                   Help on Hard Disk Low Level Format
                   LAN Company Recommendations wanted
                          New Tape/Disk System
                            NICEBOOT wanted
                  What kind of hard drives do I have??

Send Replies or notes for publication to:
<INFO-IBMPC@WSMR-SIMTEL20.ARMY.MIL>

Send requests of an administrative nature (addition to, deletion from
the distribution list, et al) to:
<INFO-IBMPC-REQUEST@WSMR-SIMTEL20.ARMY.MIL>

Archives of past issues of the Info-IBMPC Digest are available by FTP
only from WSMR-SIMTEL20.ARMY.MIL in directory PD2:<ARCHIVES.IBMPC>.

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

Date: Wed, 13 Mar 91 11:52:41 EST
From: Alex Nemeth <AN5@CORNELLC.cit.cornell.edu>
Subject: Disable Cntr-C (# 53)

Andy,

One suggection would be to modify your command.com. I recall reading
somewhere that by modify your command.com you can change the startup
file to anything you wanted. I'm not sure how to do this as the only
assembler I know is for the 8080/8085 chip set, and i have haven't used
that in 6 Yrs.

Alex Nemeth

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

Date: Tue, 12 Mar 91 17:58:40 MEZ
From: Thomas <UNP072%DBNRHRZ1.BITNET@uga.cc.uga.edu>
Subject: IDE drives

On Tue, 12 Mar 91 18:38:14 TUR V70D::HUNTRESS said:
>I have heard, from multiple sources, that you cannot low level format
>an IDE drive.  The way I understand hard drives, they "periodically"
>require a low level format to overcome thermal drift, aging, wear, etc.
>and this is done by Spinrite, PC-tools, Norton, etc. etc.

The reason why NOT to low-level format an IDE drive is because of what
is called 'skewing factor'. The disk is formatted by the manufacturer,
so that after a head change or cylinder step the first sector of the
new track comes immediatly and not half a revolution later. Another
point is the substitution and skipping of bad sectors. So if you
low-level format an IDE drive maybe you wont damage the disk, but
you'll loose transfer rate and data safety.

>So, whats the deal with IDE drives?  Have they overcome the effects of
>the above (unavoidable) problems?

Usually, IDE drives are not equipped with a stepping motor but with a
voice coil drive, that automatically adjusts the heads correctly.

                           - Thomas

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

Date: Wed, 13 Mar 91 10:28 GMT
From: SRCU@EGFRCUVX
Subject: MEMORY EXPANSION AND EXTENSION PROBLEMS

       I have a compatible pc TANDY 4000 (386 processor) with 640 kb
ram . Also expandable to 1 mb, this expansion is activated by device
TEMM.SYS in the configeration file (config.sys). The problem is no
other device or dos file is loaded on this memory . Even utilities like
PCTOOLS or NORTON can't recognise it.

       The pc is also server of a network 10NET , its files can be
loaded on high memory by the utility 386MAX. I added another 1 mb
extension to ram and used 386MAX to load network files on high memory.
The problem is the utility search for the first expansion and don't
recognise it then load some of the network file on high memory and the
rest on the original ram .

       So i can't have much use for the additional memeory , i request
any information about RAM extensions , expansions and utilities to use
them .

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

Date: Tue, 12 Mar 91 10:47:08 GMT
From: NIZARD Alain-F <NIZARD%FRBDX11.BITNET@uga.cc.uga.edu>
Subject: Re: More hard disk questions

Marty,
about interleaving:

Suppose on a tracks sectors are in this order 1 2 3 4 5 6 7 8 9 ....
17. Then read in the sector num. 1. The controller have to do some work
AFTER the sector has been read and BEFORE it can read (or write) a new
sector, namely transmit to memory, manage interrupt, do some
housekeeping, etc. So if the controller is not fast enough, the sector
under the head is now not 2 but 3 or so, and if you want to read the
sector 2 you have now to wait for the disk to have done a whole
revolution.

A solution to this problem is to INTERLEAVE formatting. On the track
you put the sectors in this order:

 Place:    1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
Sector:    1 10  2  11 3 12  4 13  5 14  6 15  7 16  8 17  9

you number the sector 1:2 of their appearing order. As 17 is prime, a
theorem of arithmetic says that in this way you have all of the
sectors.

Naturally you could interleave by 3, 4 etc. The faster is the speed of
the disk and the slower is the speed of the controller, the more you
have to interleave.  The best value for interleaving being the least
one compatible with both of the speeds.

The interleave factor is chosen at the low level formatting step.  Now
an INTERLEAVE 1 controller is only a very fast controller (for standard
disk). Note these are more expensive (to pay the speed) and their use
constrain you to LowLevelFormat again the disk.

Note also that if you dont reformat (low) the disk, you dont use this
feature and the whole system is as slow as whith a "normal" controller.

Hope this helps. -Alain.

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

Date: Sat, 09 Mar 91 16:03:47 CST
From: Jhinuk Chowdhury <FF76%UNTVM1.BITNET@ricevm1.rice.edu>
Subject: XTree Gold & McAfee's Vshield conflict

DOS users (users of XTree & McAfee's Viruscan, in particular):

XTree Gold Version 2 and McAfee's Vshield (the RAM resident shield for
viruses - part of his famous Viruscan package) seem to have one
conflict.

If you load Vshield in RAM in its entirety, there's no problem.
Vshield occupies about 37 K of RAM.  However, if you load VShield and
use the swap option (/SWAP F:\ suppose, to swap to a RAM disk), the
amount loaded in conventional RAM is minimized (assuming your RAM disk
uses extended memory).  In such a case, VShield occupies about 3 K.
The problem is, in this latter case, XTreePro Gold V4.3 or the latest
version XTree Gold 2.0 will lock up your computer (requiring a cold
boot) the momemt you strike the F1 key for it's help screens.

Has anyone else run into this irritating situation?  Considering the
popularity of both the packages, I would imagine that it would
attract the attention of many people.  If you know of any tricks or
tips that may solve this, could you please post or let me know by
e-mail.

Thanks, in advance.   _ Jhinuk.

Jhinuk Chowdhury

Internet : FF76@VAXB.ACS.UNT.EDU
Bitnet   : FF76@UNTVM1

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

Date: Tue, 12 Mar 91 08:45:17 MET
From: winfgui%DUTICAI.TUDELFT.NL@uga.cc.uga.edu
Subject: Preventing Hard Disk Writes (was: LEA, LDS, LES)

Boris is trying to intercept ALL disk WRITE calls and just return to
the caller when a WRITE function is received.  READ functions are
passed through.  The only problem with this whole approach is that his
computer hangs when he loads the software.  Code is included here with
the exception that I made a change to the program.  Change is indicated
with asterisks (***).

>         CSEG    SEGMENT PARA PUBLIC 'CODE' ASSUME
>         CS:CSEG,DS:CSEG,ES:CSEG,SS:CSEG
>
>         ORG 100H
>
> ULAZ:   JMP START
>
> HDISK   DB 80H          ; if >80h then the target is a hard disk
> WR      DB 03H          ; if 03 then the operation is write
> INT13H  DD 0            ; pointer to old int 13h routine
>
> INTHND  PROC FAR        ; new int 13h handler
>
> STH:    PUSHA
>         PUSHF
>         CMP AH,WR       ; is it a write
>         JNE OK          ; if not, go to the old 13h
>         CMP DL,HDISK    ; if it is does it target a hard disk
>         JL OK           ; if not, go to the old 13h
>         POPF
>         POPA
>         IRET            ; else, go back to caller
>
> OK:     POPF
>         POPA
> EOFC:   JMP INT13H      ; it's not a write to a hard disk so 
>                         ;   we call the old 13h
>
> INTHND  ENDP
>
> START   PROC NEAR       ;installation of the TSR routine
>         MOV AH,35H
>         MOV AL,13H
>         INT 21H         ; Save the old 13h address
>         MOV INT13H,BX
>         MOV INT13H+2,ES ; as an argument for the far jmp
**************************
>         LEA DX,STH      ; *** CHANGE TO LES DX,STH ***
***************************
>         MOV AH,25H
>         MOV AL,13H
>         INT 21H         ; init our int 13h handler
>         MOV DX,OFFSET EOFC
>         ADD DX,0FH
>         MOV CL,4
>         SHR DX,CL       ; no. of paragrphs
>         MOV AL,0        ; return exit status 0
>         MOV AH,31H
>         INT 21H         ; TSR, EOFC is the end of our code
>
> START   ENDP
> CSEG    ENDS
>         END ULAZ

The problem you've got is in setting the int 13h vector to your
program.  In the routine START, you request the old int 13h vector, so
you can store it and later on, jump to it. When you request this vector
by calling int 21h, function 35h, two values are returned : in BX the
offset of the original routine, in ES the segment of the original
routine.

Then you want to put the int 13h vector to your own routine. Therefore
you use int 21h, function 25h. But this function requires not only the
offset address of your routine (loaded in DX by the statement LEA
DX,STH), but also the segment address in ES. And that one is missing.
At least, it is not initialized to your routine. It still is the
segment of the original routine.  It is true that the statement LEA
DX,STH loads the effective address in DX, BUT ONLY THE OFFSET OF THAT
ADDRESS !!!!! The problem can easily be corrected by changing the LEA
DX,STH into LES DX,STH. That should do the trick.


                      Hope this helps,
                           Richard van der Pols

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

Date: Tue, 12 Mar 91 11:16:02 +0100
From: bax%TUDGW2.TUDELFT.NL@uga.cc.uga.edu
Subject: Preventing Hard Disk Writes (was: LEA, LDS, LES)

>[...] But this function requires not only the offset address of your
>routine (loaded in DX by the statement LEA DX,STH), but also the
>segment address in ES. And that one is missing. At least, it is not
>initialized to your routine. It still is the segment of the original
>routine.  It is true that the statement LEA DX,STH loads the effective
>address in DX, BUT ONLY THE OFFSET OF THAT ADDRESS !!!!! The problem
>can easily be corrected by changing the LEA DX,STH into LES DX,STH.
>That should do the trick.

A small correction to this:

a. function 25h does not take ES:DX as interrupt vector, but DS:DX, so
LES DX,STH must be changed into LDS DX,STH;

b. STH must be defined as a double word ( sth dd 0 )

Arjen Bax.

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

Date: Tue, 12 Mar 91 12:04:53 MET
From: winfgui%DUTICAI.TUDELFT.NL@uga.cc.uga.edu
Subject: Preventing Hard Disk Writes (was: LEA, LDS, LES)

> >[...] But this function requires not only the offset address of 
> >your routine (loaded in DX by the statement LEA DX,STH), but also the 
> > segment address in ES. And that one is missing. At least, it is not 
> > initialized to your routine. It still is the segment of the original 
> >routine.  It is true that the statement LEA DX,STH loads the effective 
> >address in DX, BUT ONLY THE OFFSET OF THAT ADDRESS !!!!! The problem 
> >can easily be corrected by changing the LEA DX,STH into LES DX,STH. 
> >That should do the trick.

A small correction to this:
> a. function 25h does not take ES:DX as interrupt vector, but DS:DX, 
>    so LES DX,STH must be changed into LDS DX,STH;
> b. STH must be defined as a double word ( sth dd 0 )

Thanks Arjen, you're right. Richard van der Pols

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

Date: Wed, 13 Mar 91 14:48:55 TUR
From: "Cedomir Igaly" <EIGALY%YUBGEF51.BITNET@uga.cc.uga.edu>
Subject: Preventing Hard Disk Writes (was: LEA, LDS, LES)

Richard thanks for your try, but I think it will not do the job,
however this message is a good place for clearing up a very frequent
mistake, that I have done a lot of times.

>Boris,
>The problem you've got is in setting the int 13h vector to your
>program.  In the routine START, you request the old int 13h vector, so
>you can store it and later on, jump to it. When you request this vector
>by calling int 21h, function 35h, two values are returned : in BX the
>offset of the original routine, in ES the segment of the original
>routine.

Thats true the pointer to the old 13h pointer is in ES:BX.

>Then you want to put the int 13h vector to your own routine. Therefore
>you use int 21h, function 25h. But this function requires not only the
>offset address of your routine (loaded in DX by the statement LEA
>DX,STH), but also the segment address in ES.

I think that DOS function 25h takes DS:DX as Segment:Offset, correct me
if I am wrong about ES:DX.

>And that one is missing. At least, it is not initialized to your
>routine. It still is the segment of the original routine.  It is true
>that the statement LEA DX,STH loads the effective address in DX, BUT
>ONLY THE OFFSET OF THAT ADDRESS !!!!!.

Yes, but starting a .COM program ( ASSUME ... ) DOS initializes DS
equal to CS the code segment of my routine (STH). After all when
debugging calls to int 13h, they all find my handler.

>The problem can easily be corrected by changing the LEA DX,STH into
>LES DX,STH. That should do the trick.

Well not really, LEA takes the offset of STH, so that in my case DX
becomes 109h. On the other side LES or LDS, (because of the DS:DX pair
used in function 25h) takes four bytes starting from the address 109h
to make a pointer that will be loaded in ES:DX or DS:DX respectively.

In my case: ES:DX ---> 26 3A : 9C 60   -----> we point to wonderland.
                       -----   |  PUSHA
                         |     PUSHF
                       CMP AH,...

Haven't we seen that code somwhere... :-) I dont know why this happened
to me so frequently, I suppose it's because of the similar spelling of
LEA & LES? Do you have any suggestion Richard.

>(I marked the place in your program to change with ***)

Thanks for your response if someone (or me?) gets the problem
corrected, expect the answer posted on this conference.

                                        Boris Debic

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

Date: Tue, 12 Mar 91 16:36:22 MEZ
From: Thomas <UNP072%DBNRHRZ1.BITNET@uga.cc.uga.edu>
Subject: Preventing Hard Disk Writes (was: LEA, LDS, LES)

Hm. To put an end to this discussion:

    LDS DX, dword ptr int13ptr

as suggested by Arjen is right, BUT you must initialize

    int13ptr dw sth, ?
by
    mov int13ptr+2, cs

BEFORE. The original program was ok, too, because the *offset* of the
interrupt handler was loaded correctly into DX and DS is initialized
with CS by MsDos. To make sure, that DS has the correct value, you
might put a

    mov dx,cs
    mov ds,dx

right before the "lea dx".
But probably this was not the problem... ;-)

- Thomas

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

Subject: Today's Queries:
Date: Wed, 13 Mar 91 15:38:19 MEZ
From: Klaus Hahn <I3160901%DBSTU1.BITNET@CUNYVM.CUNY.EDU>
Subject: DMA & OS/2

Another part of the OS/2 blues: in order to at least boot OS/2 on my
server, I installed an IDE hard drive (Quantum 52 mb). Then I tried to
install OS/2 (Compaq version 1.21, my computer isn't a Compaq at all
... ;-), but somewhere in the middle of copying files from the floppy
to the hard drive the machine dies. It's never at the same point:
sometimes it's during the first disk, then it's within the 5th, and so
on. But it HAPPENS! So I thought of giving FastBack a try, which does a
thorough check of the DMA machinery, with the hypothesis that the DMA
channels might be the source of evil. And indeed, FB at once gave me an
error indicating the inaccessibility of even LOW DMA.

Is there some knowledgeable person out there who could explain all this
to me? IS OS/2 depending on DMA more than DOS (the machine run DOS 4.01
for quite a while without any problems)? Could there be another source
of evil that I overlook? Are there incompatibilities of all these
OS/2-versions with some kinds of hardware? Will my server make it at
last???

Happily accepting your comments:
Klaus Hahn
Dept. of Psychology
Spielmannstr. 19
33 Braunschweig, Germany

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

Date: Wed, 13 Mar 91 11:57:22 EST
From: dprice@caen.engin.umich.edu (Dennis M. Price)
Subject: Hard Carriage Returns
 
I have a question:  I frequently capture or download text files over a
modem which I would like to incorporate for various reasons into
WordPerfect 5.1.  Is there any way to strip off the Hard Carraige
Returns from the DOS text file so that WordPerfect can format the
document properly??
 
Thanks,
Dennis Price
dprice@caen.engin.umich.edu

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

Date: 13 Mar 91 18:53 +0100
From: Evaristo <EVARISTO@FIB.UPC.es>
Subject: HELP ON HARD DISK LOW LEVEL FORMAT

I'm the PC's Manager of the Computer Center of the Faculty of Computer
Science in Barcelona.

  We have a COMPAQ DESKPRO 386/25 with a hard disk of 300 Mb.
Unfortunately, our hard disk crashed with unrecoverable errors last
week. The repair of the HD from an Authorized COMPAQ Dealer was as
expensive as a new disk from another distributor. We decided to buy a
NEC D-5662 (320 Mb), that use an ESDI interface (the same that the
COMPAQ has). What's the problem? We cannot low level format it, and the
COMPAQ Manual (the only one we received with the machine) doesn't give
any help.

  Is there anybody able to help me ? Please, send me the information as
soon as possible, because the machine is the Server of a Novell Network
and I have 400 students demanding me to work.

  Thank you very much.

Evaristo De Frutos.
Email : evaristo@fib.upc.es

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

Date: 13 Mar 91 14:39:59 GMT (Wed)
From: Bob Kilgore <bobkil@ibmpcug.co.uk>
Subject: LAN COMPANY!

Hello all from "sunny" England;

I have just received a packet of information from Taiwan for a company
called LANTECH.  They seem to have a broad range of LAN products and
reasonable prices.

Has anyone used there E-Net and/or Token Ring products?  What are your
experiences with them?  Has anyone used the Novell LAN U P S system?

Thanks for any assistance;
Bob Kilgore
bobkil@pcusergp.co.uk

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

Date: 13 Mar 91 14:35:45 GMT (Wed)
From: Bob Kilgore <bobkil@ibmpcug.co.uk>
Subject: NEW TAPE/DISK SYSTEM

     I have just been allowed to 'play' with a new box that is about to
hit the market here and wondered if anyone has some comments about
similar units.

     The box is a 200 Mega Byte disk that is interfaced via the PC's
parallel printer port.  It arrived with a diskette that has a driver
program and a short note that said load the driver with config.sys.  I
am always a bit taken back by things that don't have proper
documentation and concerned about damage to the system.  Since I had
just taken a back up of my disks, I thought 'what the heck'.

     My system is a Wyse 2200 AT clone, with a tosh. 44 meg and Seagate
42 meg. disks, and tape drive.  The disk configuration is C:= D0 at
32M, D:= D1 at 32M, E:= D0 at 12M and F:= D1 at 10M.  To my
astonishment, I loaded that driver as requested, and gained drives G:,
H:, I:, J:, and K:.  Everything worked as advertised.

     I proceeded to move disk images to the 'Porta-File' and to my not
to well calibrated eye it seemed to work about as fast as the internal
disks.  I attempted to use several disk bench mark programs I have and
was not successful, I assume the reason is that the only access is
through the driver and the programs attempt direct read/write.

   These things are a bit pricey at the moment, however they are more
universal than the Tandon style of removable hard disk.  I should
imagine a good market for people that want to demonstrate software
packages like AutoCad to potential customers.  Carry in the demo disk,
plug it in, load driver, and demonstrate.  When you leave the site you
take everything with you.

Any other Experience??

Best Regards from Merry England!!
BOB
bobkil@ibmpcug.co.uk

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

Date: Wed, 13 Mar 1991 09:14:00 -0500
From: "Tim Cartwright" <ESTIMCAR@YUOrion.bitnet>
Subject: NICEBOOT wanted

A few weeks ago, someone referred to a pd program called NICEBOOT, that
is designed to suppress screen "echos" from the CONFIG.SYS file (not
from the AUTOEXEC.BAT file).

I have not been able to find an FTP location for this program.  Does
anyone know whence it can be GETted?

Thanks in advance.
Tim

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

Date: Sun, 10 Mar 91 22:54:29 CST
From: "Martin A. Tippin" <S088682%UMRVMA.BITNET@uga.cc.uga.edu>
Subject: What kind of hard drives do I have??

I've got an IBM PC/AT, with 2 hard disks installed.  One is 20MB, the
other 30MB, both are the standard kind that were installed in the AT
when it was manufactured eons and eons ago - I know that one drive is a
'type 2' and the other is a 'type 20' - I got this from the PC/AT
Advanced Diagnostics diskette.

What I need to know is, what kind of hard disks are these? MFM? RLL?
IDE?  I'm sure they're not ESDI or SCSI, but that's about all I know.
The reason for asking is that I want to get a new hard/floppy
controller that supports 3.5" HD floppies, and I need to know what kind
of controller to buy.

Any information would be appreciated.

  Marty Tippin
  University of MO-Rolla

  BITNET:   <S088682@UMRVMA.BITNET> or <C0025MT@UMRVMB.BITNET>
  Internet: <s088682@umrvma.umr.edu> or <martyt@cs.umr.edu> or
            <c0025mt@umrvmb.umr.edu>
  Phone:    (314) 364-6991 or (314) 364-0473 (I think)

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

End of Info-IBMPC Digest V91 #63
********************************
-------