HJW2@PSUVM.BITNET (05/04/89)
I recently bought a hard drive card for my xt because the first hdd is not
enough. Since I have 2 hdd, I was wondering if I can park 2 drives at the
same time? If yes, which one parked first, the bootable one or the other?
If not, how can I park them one at a time?
Will post a summary if answers interesting. Thanks.
-------
_____ ___
H. WU HJW2@PSUVM.BITNET _|_ |___|
BUSINESS LOGISTICS DEPARTMENT |_|_| |___|
THE PENNSYLVANIA STATE UNIVERSITY _|_|_|_ |___|
| | / |__|
tkoppel@isis.UUCP (Ted Koppel) (05/05/89)
In article <84518HJW2@PSUVM>, HJW2@PSUVM.BITNET claims:
-->I recently bought a hard drive card for my xt because the first hdd is not
-->enough. Since I have 2 hdd, I was wondering if I can park 2 drives at the
-->same time? If yes, which one parked first, the bootable one or the other?
-->If not, how can I park them one at a time?
-->
Yes such utilities exist; I have two of them right here. They both
let you recover (i.e. not force you to power off) and continue.
The problem with the well known PC Magazine park utlitiy was that
once you parked, there was no going back. If there's demand,
I'll send them to Rahul, otherwise I'll send them to just the poster
of the original article.
--
Ted Koppel CARL - Colorado Alliance of Research Libraries =
BITNET: TKOPPEL@DUCAIR UUCP: hao!isis!tkoppel CIS: 71460,1572
jborza%burgundy@Sun.COM (Jim_Borza) (05/11/89)
In article <84518HJW2@PSUVM>, HJW2@PSUVM.BITNET writes: > I recently bought a hard drive card for my xt because the first hdd is not > enough. Since I have 2 hdd, I was wondering if I can park 2 drives at the > same time? If yes, which one parked first, the bootable one or the other? > If not, how can I park them one at a time? > > Will post a summary if answers interesting. Thanks. This utility will park one or two hard disks and can be run any time - such as when leaving your computer for a few minutes. Just do another command requiring disk access and it recovers. No claim is made for code origin- ality or copyright. "Pau" is the Hawaiian word for "done" or "finished". ------------------------------ cut here ------------------------------------ PAGE ,132 TITLE PAU.COM - "Shipdisk" Utility COMMENT { PAU.COM is a program to move the fixed-disk head to a safe "Landing-Zone" (cylinder 306 on a standard PC/XT disk). Should be used before powering-down a system with a hard disk to prevent damage from shock, vibration, etc. NOTE: Format for hard disk cylinders/sectors in register cx is: |-------------- CH ----------------|----------------- CL ---------------| | | | | | | 15 14 13 12 | 11 10 9 8 | 7 6 | 5 4 | 3 2 1 0| | c7 c6 c5 c4 | c3 c2 c1 c0 | c9 c8 | s5 s4 | s3 s2 s1 s0| | |----------------- CYLINDERS --------------|-------- SECTORS ---------| | Max. number of cylinders = 1024 | Max. Sectors/Track = 64 | { ;=-=-=-=-=-=-=-=-=-= MACROS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- COMMENT { This macro will, by successive subtraction, convert the binary number in AX into ASCII characters which will be output one at a time, as translated. A value of 20h in DH will cause leading zeros to be suppressed, otherwise enter with a value of 30h. Registers AX and DX are destroyed. { CYL2ASC MACRO VALUE local subtr, toofar, z_out xor dl,dl ;;clear dl (counter). subtr: sub ax, VALUE jc toofar ;;subtract went negative inc dl ;;increment counter jmp subtr ;;loop for successive subtr. toofar: add ax,VALUE ;;restore ax. or dl,dl ;;test if count is 0. jz z_out mov dh,30h ;;If non-zero, convert to numeric. z_out: add dl,dh ;;Convert to ASCII. push ax mov ah,02h ;;DOS out_char function. int 21h pop ax ENDM ;================================================================== CYL1ASC MACRO ;;Use this MACRO instead of divide-by-one mov dl,al add dl,30h ;Always make this digit numeric. mov ah,02h int 21h lea dx,MESG5 ;Add spaces (3) at end. mov ah,9 int 21h ENDM ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- PAU segment assume cs:PAU, ds:PAU org 100h START: jmp START_CODE ;^^^^^^^^^^^^^^^^^^^^^^^^ DATA ^^^^^^^^^^^^^^^^^^^^^^^^^^^ BANNER db 'PAU.COM -- Ver. 5.0 (J.Borza 4/89)',0Dh,0Ah db '"Shipdisk" Utility for one or two hard disk drives' CRLF db 0Dh,0Ah,0Ah,'$' MESG1 db 'No fixed-disks found!',0Dh,0Ah,'$' MESG2 db 'Hard Disk parked.',0Dh,0Ah,'$' MESG3 db 'Both Hard Disks parked.',0Dh,0Ah,'$' MESG4 db 'Cylinder: $' MESG5 db ' $' ;Pad spaces (3) ;^^^^^^^^^^^^^^^^^^^^^^^ CODE ^^^^^^^^^^^^^^^^^^^ START_CODE: mov dx, offset BANNER ;display banner mov ah,9 int 21h mov dx,80h ;1st hard disk. call SEEK ;Try parking 1st disk. jc NO_DSK ;Oops - no disk(s). mov dx,81h ;2nd hard disk. call SEEK ;Try parking 2nd disk. jc ONE_DSK ;Oops - only one disk. lea dx,MESG3 ;Both Disks...... jmp PUTOUT ONE_DSK: lea dx,MESG2 ;Fixed disk.... jmp PUTOUT NO_DSK: lea dx,MESG1 ;No disks installed...... PUTOUT: mov ah,9 ;print the message int 21h mov ax,4C00h ;Exit (ECODE=0) int 21h ;------------------------------------------------------------------ SEEK proc near push dx ;Preserve dx thru BIOS call clc mov ah,08h ;Get drive parms int 13h jnc PARMS_GOT ;Continue if OK else, ret ;return with carry set. PARMS_GOT: mov ah,0Ch ;Seek to end. pop dx ;Cleanup dx int 13h ;Seek! jnc MOVIT ;If seek was good, go in one more cyl, ret ;else return with carry set. MOVIT: add ch,1 ;Next cylinder. jnc INCADJ ;If register over- add cl, 40h ;flowed, increase high bits. INCADJ: mov ax, 0C00h ;Move (seek) to next cylinder. int 13h OUTCYL: lea dx, MESG4 mov ah,9 int 21h mov ax,cx ;Isolate cylinder #. mov cx,6 shr al,cl xchg ah,al mov dh,20h CYL2ASC 1000d CYL2ASC 100d CYL2ASC 10d CYL1ASC clc ret SEEK endp ;================================================================== PAU ends END START --------------------------------------- cut here --------------------------- Jim Borza - Sun Microsystems Disclaimer? Sure, why not?