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 ******************************** -------