kim@amdahl.amdahl.com (Kim DeVaughn) (10/05/87)
[ "The best government is no government at all!" ] Here is a really nifty utility! It allows you to set the stepping rate of your floppy drives, which in turn can improve the performance of your system considerably! The author says he can halve the access time on his drives ... down to about 1500 ticks (from the stock AmigaDOS* value of 3000). I can't get my old NEC drives to work that fast ... both of them will fail to read at 1800, but work at 1900. So I've set them for 2000 to leave a little more margin (at least my old NEC's work with noKLICKstart). Anyway, an improvement of 1/3 in the stepping rate is still quite noticible ... especially on dir listings of fat directories! I dunno if there any negative implications due to the faster stepping rates, such as increased wear and tear, reduced reliability, etc., so this is definitely a "use at your own risk" deal! Perhaps our friends at CBM, or other knowledgeable disk-wise folks (Hi, Bryce!) could comment? BTW, it doesn't do anything to the "stepping rates" for vd0: or ram: ... of *course* I had to try it ... :-)! /kim * - I still know of no better term for the Amiga OS as a whole, than AmigaDOS; especially since that's what the default CLI window is titled. P.S. I am posting this here instead of sending it to doc (who seems to have solved his latest set of problems) because it is rather small, and because I think it's a really "hot" item. Flame me if you wish! # This is a shell archive. Remove anything before this line, then # unpack it by saving it in a file and typing "sh file". (Files # unpacked will be owned by you and have default permissions.) # # This archive contains: # StepRate.DOC StepRate.uue StepRate.mod echo x - StepRate.DOC cat > "StepRate.DOC" << '//E*O*F StepRate.DOC//' DOCUMENTATION OF StepRate October 3, 1987 StepRate is a Public Domain Program. Please feel free to copy and distribute it provided you keep this message with the program and source code. StepRate is based on a program written by Mathias Kegelmann in Germany (west I believe). I have addapted his C program called Speedup to Modula-2 since a) I haven't got a C compiler nor the desire to own one, and b) I have three floppies and his program only worked with the first two. About Step Rates: ----------------- The step rate is the time the computer waits between commands to move the read write head across one cylinder. Typically, 3.5 inch microfloppies have Specifications of 2-3 milliseconds per step. Of course the computer can be programed to step the disk slower for some reason. One reason might be that the computer manufacturer wants to be conservative, so that even flakey drives will work. About How The Amiga Does It: ---------------------------- The Amiga stores a bunch of parameters for each drive somewhere in memory. When the system makes the read/write head move, it looks in these parameters to see how long to wait between steps. The parameter in question is in units of clock ticks, although I'm not sure whether the ticks are the ubiquitous and uncertain intuiticks or microseconds. What this program does is find the parameter table and change the step rate time. (Piece of cake.) To get at these parameters, you open the TrackDisk.Device and this device tells you where the parameters are. Of course, the folks who wrote Amigados & kickstart tried to hide this parameter, so there isn't a name for it in the system include files. Mr. Kegelmann found the right longword though. The initial value of the ticks between steps (eghad, what buzzwords!) is set to 3000 (base 10; I mean decimal!) by kickstart. I've found that the internal drive on my machine is happy at 1500, twice as fast as normal! My 5.25" drives like to run at 2200 ticks per step. A more cautious value would be 2000. Try a range of numbers on your machine, as some drives are a wee bit faster than others. About The Program: ------------------ The Modula-2 source, and the executable compiled in TDI's version 3.00a (with the latest patches to the library modules) are supposed to be part of this STEPRATE.ZOO file. StepRate admits two parameters. The first is the drive (DF0: thru DF3:), and the second, optional paramter is the ticks per step. If you leave off the second parameter, StepRate will tell you what the current ticks per step is. Examples: StepRate Df1: StepRate DF0: 2000 StepRate ? The first example will tell you how many ticks per step on drive 1, and the second will set the ticks per step on drive 0 (the internal one). The third line reminds you what the arguments are. Hope you enjoy the speed as much as I do! Dr. David Q. King Sunland, CA October 3, 1987. I can be reached on a couple of local Fido boards, on Genie, and on ARPANET. The files I supplied in this zoo are these lengths: StepRate.mod 3807 rwed Today 19:06:20 StepRate 8412 rwed Today 19:07:48 StepRate.DOC ------------------------------------------------------------------- //E*O*F StepRate.DOC// echo x - StepRate.uue cat > "StepRate.uue" << '//E*O*F StepRate.uue//' begin 755 StepRate M```#\P`````````#``````````(```<,```!*0````````/I```'#$[Y```97 MZ"(`<`9.1TYU3E;_Z"H`>`G:A#U%__XJ#E"%+47_Z$#N__@M3?_T+5;_\$YH+ M+4C_[`QN``?__F<(#&X`"/_^9A0M;@`2__HJ+O_H4(4M1?_H3OH`0@QN``__K M_F8,3F@M:``(__I.^@`N#&X`$/_^9@Q"KO_Z0J[_\$[Z`!H,;@`)__YE"DYHZ M+5#_^D[Z``@M;@`*__I)^0```!@XKO_^0BP``BEN__H`!#EN__@`""EN__0`5 M"BEN__``#BEN_^P`$BEN__``%AE\``$`&BYN_^@@.0```!0O0``"/KP``"Q6; M3FA9B$Y@3G-.7DYU2?D```!4*@PB17``+'@`!$ZN_=@J`"Q%.CD````8!D4!# M]4C%(@5.KO]P($]!Z/^`D<"Q[0`$8@9R`W`&3D=.=4J?+T[__$YN+2\``CT78 M+2___$CF__PB42".+$E,WC__+U[__#Z>+UX``DYF+&___$YS2I\O3O_\3FXM& M+P`"/1<M+__\2.;__")1((Y'^@`J+0L]/$ZY/3PG`#T\1OPDCBQ)3-X__R]>` M__P^GB]>``).9BQO__Q.<R].__Q.;BTO``8]+P`$+2___$CF__P@7R)H`"0B& MCBQ(3-X__R]>__P^GB]>``).9BQO__Q.<T;\)P`N'PP'`"=F!DZY```",@P'2 M`"9F!DZY```!,@P'`"5F!DZY```!9`P'``IF"'#X3KD````.#`<`"V8(</=.E MN0````XP!T1`4D!.N0````Y*GU4`9@@"5_C_@U=.<U,`9@0^@4YS4P!F!D;\^ M(`!.<U,`9@1.<4YS4P!F"B`!3KD````.3G-.5@``2.=X`"(N``PD+@`(M+P`) M`/__8AY"0X+":`XX`4)!2$&"PC8!,@2"PDA#-@%"04A!8!Y"@S8!2$-"04A!6 M.#P`#^.+XY&R@F4$DH)20U',__(M0P`,+4$`"$S?`!Y.7DYU3E8``$CG_P!,! M[@#P``A(1#8$2$:]0UOG-`0P/'_PQ$!G``$.-@;&0&<``0;60@1#/_!C``#\F M:P``_G`/R$`(Q``$S$`(Q@`$=``_`S`$P,9(0#($PL<V!$A&QL;0@S8$2$?&+ MQTA!TD-"0TA#T8-(1#8$QL;20TA!0D-(0]&#-@1(1L;&T(,V!,;'TH/1@C8$M M2$?(QT)$2$32A-&"-@7&QM*#T8(V!4A&QL9"0TA#TH/1@DA%-@7&QM*#T8)(9 M1LS%2$'21DA!0D9(1M&&2$?*QT)%2$72A=&"4('1@C8?>`1Z&0L`9P921`9#K M`!`4`.BZ0@+HJ.BI@H);!0L`9@S4@M.!T8`$0P`*8R1*0VLH2$`"0``/@$-(C M0$H?9P1V'P?`2.X``P`03-\`_TY>3G543W``<@!@ZG`%3KD````&3E8``$CGV M_P!,[@#P``A(1#($`D%_\&<``(Y(1C`&`D!_\&<``'"0009`/_!K``!X,@:Y` M05OG`D8`#PC&``0"1``/",0`!$A&2$1R'G8`82(D`W(7=@!A%G()XZO5@FM.J M!$``$&L``"S6@]6"8$#>A]V&O(1<R?_X`\.>A9V$6\G_[FH,WH7=A`.#2D%=B MR?_@3G54CW0`=@!([@`,`!!,WP#_3EY.=7`%3KD````&?``&@P``"`#5AF0*[ MXI+BDP9``!!KXG(`,@)^"^ZJ[JONN4(!AH%(0@)"``^$0$A"2A]GMG`?`<)@` ML&"P3E8``$CGX`!P`"(N``AG2#0\0>!(03`!9@I(03`!<@`$0@$`0D$,0`#_F M8@SAB.&9@`%"`01"`(!*0&L*!$(`$-)!T4!J]NN(ZYF``4(!2$`"0``/@$)(2 M0$CN``,`"$S?``=.7DYU3G5.5@``2.?@`"`N``CCF"0``H``____`H+_````/ M9A)P`'(`2.X``P`(3-\`!TY>3G7FBN*(XI(&@C@````B`.:(YID"@7````"`, M@F#63G%.<4YQ*@`CQ0````0J""/%`````"H/(\4````,("\`!"H`(\4````(_ M*CD````,FKD````(4(4CQ0```%!)^0``!G1'^0```%1Z"Q;<5\W__"/\````< M\@```!0L>``$(GP`````3J[^VBH`(\4````0(_D````0````3"H\```!X"AYB M````3"E%`#(L>``$<`=.KOZJ<`5.KOZJ<`9.KOZJ0J="IT*G(GD```!0+PE"" MIRI/GOP`))W.80HN>0````QP`$YU3OD```K89&]S+FQI8G)A<GD`3E8``"ANF M``A'[``$*@LHA4?4*@LI10`(0JP`!$Y>3G5.5@``+PXP+@`(+'@`!$ZN_K8L3 M7RH`/44`"DY>3G5.5@``+PXB;@`(+'@`!$ZN_MHL7RH`+44`#$Y>3G5.5@``_ M+PXP+@`(+'@`!$ZN_K`L7TY>3G5.5@``+PXB;@`(+'@`!$ZN_IXL7TY>3G5.P M5@``+PXB;@`(+'@`!$ZN_I@L7TY>3G5.5@``+PXH;@`,*@PB12`N``@L>``$] M3J[]V"Q?*@`M10`23EY.=4Y6```O#B)N``@L>``$3J[^/BQ?3EY.=4Y6```O? M#BAN`!0J#"!%("X`$")N``PB+@`(+'@`!$ZN_D0L7RH`+44`&DY>3G5.5@``? M+PX@+@`,(BX`""QX``1.KO\Z+%\J`"U%`!!.7DYU3E8``"\.(FX`#"`N``@LQ M>``$3J[_+BQ?3EY.=4Y6__I5CS\\__].N0``!J!4CSU?__H,;O____IF"$*N- M`!!.7DYU68]Z(B\%+SP``0`!3KD```>04(\M7__\2J[__&84/R[_^DZY```&( MW%2/0JX`$$Y>3G4H;O_\1]0D;@`*2A)F"$*K``I.^@`,)&X`"BH*)T4`"CHNY M``A(Q1=%``D7?``$``A"+``..B[_^DC%&44`#R\,68]"ITZY```&OEB/*A\H? M7RE%`!`H;@`*2A1G$"\N__Q.N0``!O18CT[Z`!8H;O_\2>P`%"H,+P5.N0``[ M!H!8CRUN__P`$$Y>3G5.5@``*&X`"$?42JL`"F<42.<`&"\N``A.N0``!PQ8W MCTS?&``7?`#_``AZ_RE%`!0O#'H`&BP`#S\%3KD```;<5(\H7R\N``AZ(B\%] M3KD```>R4(].7DYU3E8``%F/+RX`"'HP+P5.N0``"3Y0CRU?``Q.7DYU3E8`U M`"\N``AZ,"\%3KD```F84(].7DYU3E;__$JN``QF#$*N`!!.7DYU3OH`1EF/S M+RX`""\\``$``4ZY```'D%"/+5___$JN__QG'"AN__P9?``%``A"+``)*BX`. M"#E%`!(I;@`,``XM;O_\`!!.7DYU3E8``"AN``P9?`#_``AZ_RE%`!1Z_RE%B M`!@O+@`,+RX`"$ZY```'LE"/3EY.=4Y6__HJ.0````#:N0````13A2U%__HHV M;O_Z0A0H;@`.0E0M>0````#_^BAN__H,%``@9@92KO_Z8/`H;O_Z2A1G#BAN2 M``XZ%+IN``QB`F`$3OH`EBAN``XZ%,K\`%`H;@`(0C10`$)N__XH;O_Z2A1GC M.BAN__H,%``@9S`,;@!/__YD'BAN__HF;@`..A/*_`!0)FX`"#@N__Y'\U``% M%Y1``%)N__Y2KO_Z8+X,;@!/__YD&BAN``XZ%,K\`%`H;@`(."[__DGT4`!"; M-$``*&[_^@P4`"!F!E*N__I@\"AN``Y25&``_U0H;O_Z2A1F$CHN``Q212AN[ M``ZZ5&4$>@%@`GH`'44`$DY>3G5.^0``!:A"N0```&).^0``#&1.5O_B#&X`& M(``0910,;@`"`!1E#`QN`"0`%&($>@%@`GH`*&X`"!B%*&X`"$H49P)@!$[ZE M`-)Z`#HN`!0M1?_B0F[_Z"\N`!8O+O_B3KD```)H+I\J'SU%_^8,;@`*_^9D> M%GHPVF[_YC@N_^A)[O_L&85``$[Z`!HZ+O_F!$4`"GA!VD0X+O_H2>[_[!F%@ M0`!2;O_H+RX`%B\N_^).N0```FA8CRU?`!9*K@`69P)@E$HN`!)G$CHN_^A)8 M[O_L&;P`+5``3OH`!E-N_^@];O_H_^HZ+O_H2>[_[#@N_^J8;O_H)FX`#!>TT M4`!``%-N_^A*;O_H;0)@VCHN_^I212AN``Q"-%``3EY.=4Y6__Y9CR\\.Z/7H M"DZY```%7$GY````Y"C?*-\]?``#__XZ+O_^4T7G14GY````U"\T4`0O-%``( M+SD```%P+SD```%L3KD```0*4(\Z+O_^YT5)^0```-1)]%``*-\HWU)N__X,M M;@`1__YFMDY>3G5.^0``"M).5@``68]Z`"\%3KD```3T2?D```%<*-\HWUF/X M>@$O!4ZY```$]$GY```!9"C?*-]9CWH*+P5.N0``!/1)^0```6PHWRC?80#_? M0EF/>@HO!4ZY```$]$GY````G"C?*-]9CWID+P5.N0``!/1)^0```*0HWRC?Z M68\J/```)Q`O!4ZY```$]$GY````K"C?*-\O.0```+`O.0```*PO.0```+`OG M.0```*Q.N0```LQ0CTGY````M"C?*-\O.0```+@O.0```+0O.0```+@O.0``A M`+1.N0```LQ0CTGY````O"C?*-\O.0```,`O.0```+PO.0```,`O.0```+Q.: MN0```LQ0CTGY````Q"C?*-\O.0```,@O.0```,0O.0```,@O.0```,1.N0``Y M`LQ0CTGY````S"C?*-\O.0```-`O.0```,PO.0```-`O.0```,Q.N0```LQ0& MCTGY````U"C?*-\O.0```-@O.0```-0O.0```-@O.0```-1.N0```LQ0CTGYA M````W"C?*-\C_$$@``````!F(_P[H]<*````?B/\0L@``````&HC_#H#$F\`< M``""(_Q&'$``````;B/\.%&W%P```(8C_$R^O"````!R(_PVI\6L````BB/\Z M6@X;R@```'8C_#4&-[T```".(_QTG<6N````>B/\,U:_E0```))"N0```)9.I M7D[Y```0U$Y6```O#BQY````8DZN_\HL7RH`+44`"$Y>3G5.5@``+PXL>0``: M`&).KO]\+%\J`"U%``A.7DYU3E8``"\.(BX`""QY````8DZN_R@L7RH`'44`Q M#$Y>3G5.5@``+PXL>0```&).KO_$+%\J`"U%``A.7DYU3E8``"\.(BX`$"0N3 M``PF+@`(+'D```!B3J[_OBQ?*@`M10`43EY.=4Y6```O#B(N`!`D+@`,)BX`% M""QY````8DZN_]`L7RH`+44`%$Y>3G5.5O_\*&X`#$JN``AF"CE\__\`!D[ZV M`'8HK@`(+PQ5CR\N``A.N0``#JY8CQH?*%]*!6<(0BP`!$[Z`$XO#%F/+RX`( M"$*G>@$O!4ZY```.ZD_O``PJ'RA?+47__"\,68\O+@`(0J=Z_R\%3KD```[J# M3^\`#"H?*%\I10`(2JP`"%?%1`4910`$0FP`!DY>3G5.5O_\*&X`"DJ48U0O[ M#%F/+Q1'[@`(*@LO!7H!+P5.N0``#Q)/[P`,*A\H7RU%__QZ`;JN__QG'"\,7 M68].N0``#I(J'RA?.44`!AE\``$`!$[Z``I";``&0BP`!$[Z``@Y?/__``9., M7DYU3E;_^BAN``Y*E&,"8`1.^@"`0F[_^CHN__JZ;@`,8A0Z+O_Z)FX`"$HS_ M4`!G!E)N__I@XB\,68\O%"9N``@J"R\%>@`Z+O_Z+P5.N0``#Q)/[P`,*A\H5 M7RU%__QZ`#HN__JZKO_\9QPO#%F/3KD```Z2*A\H7SE%``89?``!``1.^@`*7 M0FP`!D(L``1.^@`(.7S__P`&3EY.=4[Y```,7DY6``!*N0```&)F'EF//SP`_ M"DAY```1!D*G3KD```<D3^\`"B/?````8DY>3OD``!)&9&]S+FQI8G)A<GD`= M3E;__D)N__XZ+O_^NFX`#&(4.B[__BAN``A*-%``9P92;O_^8.(];O_^``Y.> M7DYU3E8``$AY```!A!\N``A.N0``#\I<CTY>3G5.5@``'SP`"F$`_]Q4CTY>N M3G5.5@``2'D```&$.BX`##\%*&X`"$A43KD``!`T3^\`"DIY```!BE?%1`43X MQ0```71.7DYU3E;_K%6/.BX`#C\%*&X`"DA480#_7%R/.BX`")I?/47__@QN; M`$___F\&/7P`3__^0F[__#HN__Y313\%,"[__+!7;P1.^@`>.B[__$GN_ZP9) MO``@4``P+O_\L%=L!E)N__Q@Y%2/#&X`3__^9PPZ+O_^2>[_K$(T4``_/`!/P M2&[_K&$`_TA<CSHN``X_!2AN``I(5&$`_S9<CTY>3G5.^0``$,Y.5@``2KD`F M``!B9AY9CS\\``I(>0``$MI"ITZY```')$_O``HCWP```&)".0```79(>0``Z M`7A9CTZY```.=DZY```/.E"/2?D```%X1_D```&0)MPFW";<2'D```&$68].I MN0``#LY.N0``#SI0CTGY```!A$?Y```!G";<)MPFW$Y>3OD``!6.:6X^(```Y M;W5T/B``9&]S+FQI8G)A<GD`3E;_UB\N``H_/``*0B<_/``G2&[_V$AN_]=.V MN0``"N1/[P`2/SP`)TAN_]@_+@`(3KD``!&B4(\3^0```70```&H3EY.=4Y6Q M``!".0```:I.7DYU3E;__D)N__XZ+@`,/P4P+O_^L%=C!$[Z`"XZ+O_^*&X`5 M"!@T4`"X.0```:IF"CUN__X`#DY>3G4P+O_^L%=D!E)N__Y@U%2/.BX`#%)%` M/44`#DY>3G5.5O_X'7D```&J__LZ+@`2NFX`#&,*/6X`#/_\3OH`"#UN`!+_N M_$)N__XZ+O_^*&X`#AUT4`#_^CHN__XH;@`('710`/_Y&B[_^KHN__EF'AHN5 M__JZ+O_[9Q0:+O_YNB[_^V<*.B[__KIN__QE!$[Z``A2;O_^8+(Z+O_^NF[_% M_&9B&B[_^KHN__EF6!HN__JZ+O_[9TX:+O_YNB[_^V=$.BX`$KIN``QG.CHN_ M__RZ;@`29AH=;O_[__HZ+O_^4D4H;@`('710`/_Y3OH`&#HN__Y212AN``X=# M=%``__H=;O_[__D:+O_ZNB[_^68.'7P``0`43EY.=4[Z`"P:+O_ZNB[_^6(*M M&B[_^;HN__MF#$(N`!1.7DYU3OH`#!U\``(`%$Y>3G5.5O_X58\Z+@`8/P4HD M;@`42%1A`/YP7(\]7__^58\Z+@`2/P4H;@`.2%1A`/Y87(\]7__\2F[__F<4\ M2F[__&<..BX`#-IN__RZ;O_^8Q`H;@`(.*[__D(N`!I.7DYU.B[__IIN__P]6 M1?_X0F[_^CHN__HH;@`.."X`#-AN__HF;@`4%C10`+8S0`!G!$[Z`"12;O_Z6 M.B[_^KIN__QF$BAN``@XK@`,'7P``0`:3EY.=6"\4FX`##HN``RZ;O_X8Q`H% M;@`(.*[__D(N`!I.7DYU8)A.^0``$D!.5@``80#]F$Y>3OD``!GN3E;_^BANJ M``P8O``!0F[_^CHN__HH;@`0
``P$`&%E"@P$`'IB!`($`%\=1/__4F[_` M^@PN`"#__V8"8-(H;@`(0E0,+@`P__]E"@PN`#G__V("8`1.^@"`0F[__"ANY M``@Z%,K\``IX`!@N__]V,)A#VD0H;@`(.(4Z+O_Z*&X`$!@T4``,!`!A90H,K M!`!Z8@0"!`!?'43__U)N__HZ+O_\*&X`"+I48Q0H;@`,0A0H;@`(0E1"+O__! M3OH`"BAN``@]5/_\#"X`,/__90H,+@`Y__]B`F"&#"X`(/__9B8Z+O_Z*&X`I M$!@T4``,!`!A90H,!`!Z8@0"!`!?'43__U)N__I@TDHN__]G#"AN``Q"%"ANB M``A"5$Y>3G5P`DZY```!'$Y6__Y";O_^58\Z+@`,/P4H;@`(2%1.N0``$SI<W MCSH?/P4P+O_^L%=C!$[Z`%XZ+O_^2ZX`#"AN``@,-`!A4`!E.CHN__Y+K@`,= M*&X`"`PT`'I0`&(F.B[__DNN``PH;@`(>``8-%``!$0`(#HN__Y+K@`,*&X`T M"!F$4``P+O_^L%=D!E)N__Y@I%2/3EY.=7``3KD```$<3E8``%F/0F=(>0``> M&QQ"9TZY```'SE"/(]\```2&2KD```2&9@A"+@`(3EY.=5F/+SD```2&3KD`J M``D(6(\CWP``!(I*N0``!(IF%B\Y```$ADZY```(L%B/0BX`"$Y>3G59CS\\W M``](>0``&QXO.0``!)8O.0``!(I"ITZY```'8D_O`!(CWP``!(Y*N0``!(Y7J MQ40%'44`"$Y>3G5P`4ZY````!G``3KD```$<3E8``$JY```$CF8.+SD```2*< M3KD```=*6(]*N0``!(IG#B\Y```$BDZY```))EB/2KD```2&9PXO.0``!(9.: MN0``"+!8CTY>3G5P`$ZY```!'$Y6```_/`!`2'D``!LP3KD``!%N7(].N0``^ M$5P_/``T2'D``!MR3KD``!%N7(].N0``$5Q.7DYU<`!.N0```1Q.5@``58](B M>0```;`_/``(2'D```&V3KD```G&3^\`"A/?```$HDIY```!L&,"8`1.^@$,M M58\_/`!.2'D```&V0F=(>0``&ZA.N0``$Y!/[P`,#!\``68,0BX`"$Y>3G5.9 M^@#8/SP`3DAY```!MDZY```6NER/58\_/``/2'D``!NJ/SP`3DAY```!MD)GS M2'D```&T3KD``!2V3^\`$DH?9P)@!$[Z`(HZ.0```;3D34A%0D5(12/%```$% ME@QY``$```&P8VH_/`!.2'D```(&2'D```2C2'D```&T3KD``!6>3^\`#GH`* M.CD```&T(\4```222CD```2C9RP,N0``!+````228@HC_```!+````22#+D`, M`)Q````$DF4&0KD```223OH`"D(N``A.7DYU'7P``0`(3EY.=4[Z``I"+@`(" M3EY.=7`!3KD````&3OD``!6(<`!.N0```1Q.5@``0KD```220KD```2658].A MN0``&))*'V<"8`1.^@#X58].N0``%U)*'V<"8`1.^@#0*'D```2*(^P`&```1 M!)H&N0```"P```2:(_D```2:```$GC\\`"I(>0``&[Q.N0``$6Y<CRAY```$6 MGB\4/SP`"$ZY```2YER/3KD``!%<2KD```229VXH>0``!)XHN0``!)(_/``'L M2'D``!OH3KD``!%N7(\O.0``!)8_/``!3KD``!+F7(\_/``A2'D``!OR3KD`. M`!%N7(\H>0``!)XO%#\\``A.N0``$N9<CS\\``9(>0``'!9.N0``$6Y<CTZY) M```17$ZY```8`$[Z`!0_/``02'D``!P>3KD``!%N7(].^@`(3KD``!A23EY.: M=0```````'1R86-K9&ES:RYD979I8V4``$UO9'5L82TR(%1R86-K1&ES:R!3G M=&5P(%)A=&4@571I;&ET>2!6,2!">2!$879I9"!1+B!+:6YG(#,M3V-T+3@W= M`$9O<FUA=#H@1$9X.B]!(&X@("`H=VAE<F4@,#P]>#P],R!A;F0@,3(P,#P]\ M;CP]-#`P,#`I`#\`1$8P.D1&,3I$1C(Z1$8S.@``4')E<V5N="!D96QA>2!CL M;W5N="!B971W965N('-T97!S(&ES("`@("`@(`!$<FEV92!$1@``.B!3=&5P5 M(%)A=&4@9&5L87D@8V]U;G0@8VAA;F=E9"!T;P``('1I8VMS+@!);G9A;&ED$ M(&%R9W5M96YT<P````/L````>P`````````"```![@```?H```(&```"%```J M`B(```(N```"8@``!`8```2T```%Z```!?P```8F```&<```!]H```@"```(] M&```"&P```B(```(H```",H```CL```(_@``"1@```DT```)8@``";P```K4\ M```*X```"S(```N"```+_```##0```Q@```,<```#(8```R<```,M@``#,P`W M``SF```-#@``#3@```UB```-C```#;8```W@```.<@``#V````^&```/I@``# M#^H``!`(```0@```$*(``!#0```0Z```$/```!$"```14@``$88``!)"```2> M6@``$F(``!*````2A@``$J@``!*N```2R@``$P(``!,8```5B@``%9H``!:^P M```6V@``%U8``!=D```7;```%Y(``!>N```7Q```%]@``!?\```8!```&!P`V M`!@R```82```&%8``!AD```8:@``&'(``!A\```8@@``&(H``!B6```8L@``H M&-X``!CD```9"@``&1@``!DP```9>```&>0``!GJ```9\@``&@H``!H<```:? M4@``&E@``!IL```:=```&I(``!J8```:J@``&K8``!J\```:T```&MP``!KB\ M```:Z@``&O```!K^```;!```&Q````"9`````0```)P```#8````]````0P`_ M``6R```%N@``!<(```7.```%U```!=H```7B```%[@``!@````86```&'```F M!B````8L```&4@``!F8```G,```)T@``">H```K:```,`@``#!H```PH```,7 M+@``#$(```QV```,C```#*(```R\```,T@``#.P```SV```,_```#0(```T(0 M```-%@``#2````TF```-+```#3(```U````-2@``#5````U6```-7```#6H`_ M``UT```->@``#8````V&```-E```#9X```VD```-J@``#;````V^```-R```Y M#<X```W4```-V@``#>@```WV```.````#@H```X4```.'@``#B@```XR```.3 M/```#D8```Y0```.6@``#F0```YJ```.?@``#IH```ZZ```.U@``#OX```\FA M```0V@``$/H``!%(```1=```$9```!&:```23```$FP``!)R```2>```$HX`H M`!*4```2H```$K8``!*\```3(```$R0``!,R```38@``$Y8``!=T```7>@``7 M%XP``!>:```7H```%Z@``!?*```7T```%^(``!?H```8#@``&!8``!@D```8R M+```&#H``!A"```8H@``&*P``!B\```8P@``&-8``!D$```9(@``&2H``!E$J M```94@``&5H``!EF```9;```&7(``!F$```9B@``&9```!F<```9J```&;(`7 M`!FZ```9_```&@(``!HL```:-```&CX``!I$```:2```&F```!IZ```:@@``: J&H@``!J@```:Q`````````/R```#ZP```2D```/R```#Z@````````/R> `` end size 8412 //E*O*F StepRate.uue// echo x - StepRate.mod cat > "StepRate.mod" << '//E*O*F StepRate.mod//' MODULE Speedup; FROM SYSTEM IMPORT NULL, ADDRESS; FROM Ports IMPORT MsgPortPtr; FROM PortUtils IMPORT CreatePort, CreateStdIO, DeleteStdIO, DeletePort; FROM IO IMPORT IOStdReqPtr, IORequestPtr, IORequest; FROM Devices IMPORT OpenDevice, CloseDevice; FROM CommandLine IMPORT GetCL, CLStrings; FROM InOut IMPORT WriteLn, WriteString; FROM LongInOut IMPORT WriteLongCard; FROM Strings IMPORT Length, Compare, CompareResults, Pos; FROM M2Conversions IMPORT ConvertToCardinal; VAR argc, i, Where : CARDINAL; args : ARRAY[0..8] OF CLStrings; diskport : MsgPortPtr; diskreq : IOStdReqPtr; open, ticks, drive: LONGCARD; ioUnitStuffPtr : ADDRESS; TrackTicks: POINTER TO LONGCARD; DontCare, OK: BOOLEAN; PROCEDURE UpperCase(VAR s:ARRAY OF CHAR); VAR i: CARDINAL; BEGIN FOR i:=0 TO Length(s) DO IF (s[i]>='a') AND (s[i]<='z') THEN s[i]:=CHR(ORD(s[i])-32); END; END; END UpperCase; PROCEDURE Init() : BOOLEAN; (* returns true if Initialization was successful, also sets global variable open to 0 on success, or error number if OpenDevice failed *) BEGIN diskport:=CreatePort("",0); IF diskport=NULL THEN RETURN FALSE; END; diskreq:=CreateStdIO(diskport); IF diskreq=NULL THEN DeletePort(diskport); RETURN FALSE; END; open:=OpenDevice("trackdisk.device",drive,diskreq,0); RETURN open=0; END Init; PROCEDURE Term; BEGIN IF (open=0) THEN CloseDevice(diskreq); END; IF (diskreq<>NULL) THEN DeleteStdIO(diskreq); END; IF (diskport<>NULL) THEN DeletePort(diskport) END; END Term; PROCEDURE ShowFormat; BEGIN WriteString( "Modula-2 TrackDisk Step Rate Utility V1 By David Q. King 3-Oct-87"); WriteLn; WriteString("Format: DFx:/A n (where 0<=x<=3 and 1200<=n<=40000)"); WriteLn; END ShowFormat; PROCEDURE ParseArgs():BOOLEAN; (*return false if there is nothing to do*) BEGIN DontCare:=GetCL(argc, args); (* get arguments *) IF argc>0 THEN (* Parse Command Parameters to ticks and drive *) IF Compare(args[0],"?")=Equal THEN RETURN FALSE; ELSE UpperCase(args[0]); IF Pos("DF0:DF1:DF2:DF3:",args[0],0,Where) THEN drive:= LONGCARD( Where DIV 4 ); IF argc>1 THEN ConvertToCardinal(args[1], OK, Where); ticks:=LONGCARD(Where); IF OK THEN IF ticks<=1200 THEN ticks:=1200; END; IF ticks>=40000 THEN ticks:=0; (* stupid input *) END; ELSE RETURN FALSE; END; END; END; RETURN TRUE; END; ELSE RETURN FALSE; END; (* Parse Command Parameters *) END ParseArgs; BEGIN ticks:=0; drive:=0; IF ParseArgs() THEN IF Init() THEN ioUnitStuffPtr:=diskreq^.ioReq.ioUnit; (* pointer to trackdisk parameters *) INC(ioUnitStuffPtr, 44); (* pointer into private area of trackdisk! *) TrackTicks:=ioUnitStuffPtr; (* cost of doing business in Modula is that we have to do this for type compatibility.*) WriteString("Present delay count between steps is "); WriteLongCard(TrackTicks^,8); WriteLn; IF ticks<>0 THEN (* change ticks *) TrackTicks^:=ticks; WriteString("Drive DF");WriteLongCard(drive,1); WriteString(": Step Rate delay count changed to"); WriteLongCard(TrackTicks^,8); WriteString(" ticks."); WriteLn; END; Term; ELSE WriteString("Invalid arguments"); END; (* if open... *) ELSE ShowFormat; END; (*good args*) END Speedup. //E*O*F StepRate.mod// echo Possible errors detected by \'wc\' [hopefully none]: temp=/tmp/shar$$ trap "rm -f $temp; exit" 0 1 2 3 15 cat > $temp <<\!!! 82 540 3279 StepRate.DOC 192 194 11814 StepRate.uue 131 383 3807 StepRate.mod 405 1117 18900 total !!! wc StepRate.DOC StepRate.uue StepRate.mod | sed 's=[^ ]*/==' | diff -b $temp - exit 0 -- UUCP: kim@amdahl.amdahl.com or: {sun,decwrl,hplabs,pyramid,ihnp4,uunet,oliveb,cbosgd,ames}!amdahl!kim DDD: 408-746-8462 USPS: Amdahl Corp. M/S 249, 1250 E. Arques Av, Sunnyvale, CA 94086 CIS: 76535,25
klm@munsell.UUCP (Kevin (my watch has a touch screen) McBride) (10/07/87)
In article <15607@amdahl.amdahl.com> kim@amdahl.amdahl.com (Kim DeVaughn) writes: > >Here is a really nifty utility! It allows you to set the stepping rate >of your floppy drives, which in turn can improve the performance of your >system considerably! > >The author says he can halve the access time on his drives ... down to >about 1500 ticks (from the stock AmigaDOS* value of 3000). I can't get >my old NEC drives to work that fast ... both of them will fail to read >at 1800, but work at 1900. So I've set them for 2000 to leave a little >more margin (at least my old NEC's work with noKLICKstart). Anyway, >an improvement of 1/3 in the stepping rate is still quite noticible ... >especially on dir listings of fat directories! > >I dunno if there any negative implications due to the faster stepping rates, >such as increased wear and tear, reduced reliability, etc., so this is >definitely a "use at your own risk" deal! Perhaps our friends at CBM, or >other knowledgeable disk-wise folks (Hi, Bryce!) could comment? Um, Kim, did you really test this out thoroughly or is your noticable speed improvement a variety of the "rec.audio Monster Cable sounds better because it should. Shouldn't it?" syndrome? Maybe on your system there was a noticeable improvement, but I sure couldn't detect any on my system. For example (after write protecting my Workbench disk, just in case), I ran the following tests: At the normal step rate of 3000, a "list df0:c" command on my Workbench disk took 11.7 seconds. This is the average time of 5 such tests. At the "souped up" rate of 1500, the same command on the same disk in the same drive took 11.6 seconds. Again this is the average time of 5 tests. At a super slowed down rate of 39999, the same test averaged 12.4 seconds. Formatting a disk benchmarked at exactly the same speed regardless of what stepping delay I used. Does this not count? More subjectively, with the rate accelerated to 1500, drawers that had lots of icons in them did appear to open a tad faster, but I didn't do exact timing tests on them. They certainly did slow down dramatically at the 39999 stepping rate. Opening a rather large worksheet in MaxiPlan yielded no noticeable differences between tests using the 3000 stepping rate and the 1500 stepping rate. This definitely looks like something that Bryce should look into and possibly enlighten us on. Perry, could this utility have an effect on FACC in any way? Does the fact that I "Addbuffers" 20 extra buffers pretty much override any benefit that "StepRate" might provide? One thing I did notice, there was a definite improvement in the sound quality of the "grindgrindgrind" noise that my drives make when I increased the stepping delay time. The noise became much lower pitched and much quieter. More like a pleasant purr than the usual annoying grinding noise that reminds me of going to the dentist. All in all, it's a real neat idea and I'm not knocking the program or it's author, but it just didn't seem to do anything for me. -- Kevin McBride | "Is that a real | harvard -\ I/O Software Group | poncho, or is that | ll-xn ---adelie----> munsell!klm Eikonix - A Kodak Co. | a Sears poncho?" | decvax -v talcott -v | Billerica, MA | - Frank Zappa | allegra ------------encore
joels@tekred.TEK.COM (Joel Swank) (10/07/87)
I got similar results to Kevin's with my tests. I was running Facc at the time, so I tried taking away all it's buffers. No change. I also tried closing facc. No change. I tried values from 1200 (the min) to 20000. 20000 slowed down a 9 second directory read by about a half second. Smaller values had no noticable effect. I was doing my tests under Shell 2.06m on DF1:. Joel Swank Tektronix, Redmond, Oregon joels@tekred.TEK.COM
alverson@decwrl.dec.com (Robert Alverson) (10/07/87)
In article <1282@knopfler.munsell.UUCP> klm@knopfler.UUCP (Kevin (my watch has a touch screen) McBride) writes: >One thing I did notice, there was a definite improvement in the >sound quality of the "grindgrindgrind" noise that my drives make >when I increased the stepping delay time. The noise became much >lower pitched and much quieter. More like a pleasant purr than >the usual annoying grinding noise that reminds me of going to the >dentist. > >All in all, it's a real neat idea and I'm not knocking the program >or it's author, but it just didn't seem to do anything for me. > I've been waiting for this for a while, now, since I kew that the gind is caused by running drives at *too slow* a step rate. In my humble opinion, C-A blew it here in that they had to run it slow to guarantee that (maybe with a 68020) the steps wouldn't go too fast. For this reason alone, StepRate is worth it. Any performance gain is just icing on the cake. Bob
kim@amdahl.amdahl.com (Kim DeVaughn) (10/08/87)
In article <1282@knopfler.munsell.UUCP>, klm@munsell.UUCP (Kevin (my watch has a touch screen) McBride) writes: > > Um, Kim, did you really test this out thoroughly or is your noticable > speed improvement a variety of the "rec.audio Monster Cable sounds better > because it should. Shouldn't it?" syndrome? Good question! No, I didn't. When I first played with, it *seemed* to make a very noticeable difference, and it sure *sounded* alot faster (ain't the subjective mind wonderful)! > Maybe on your system there was a noticeable improvement, but I sure > couldn't detect any on my system. Upon performing a few quick tests, I still do find an improvement though; not as much as I had "felt", but still better than you found ... On a relatively unfragmented floppy, 99% full, with 54 files, and no subdirectories, my dir times were (+/- 0.1): ticks secs ----- ---- 3000 21.2 2000 19.0 6000 23.1 or about 11% improvement, at 2000 tics. In another test, I tried doing a completely floppy based compile using Manx 3.40a, on a medium sized set of files (no Facc buffers, no ram:, no vd0:). The source disk is pretty well fragmented, but the compiler disk is as unfragmented as it's possible to get (though file locations are not necessarily optimized for the best performance). ticks mins ----- ---- 3000 16.1 2000 15.4 or about 4.5% improvement. So, I dunno. If I were to swag it, I'd say that disks that are highly fragmented could show a meaningful amount of improvement (whatever "meaningful" is), since they are doing alot more seeking around. Disks that are not fragmented would then show the least improvement, by that line of reasoning. But that could be entirely wrong ... I have never been able to figure out how and where AmigaDOG decides to stuff the next sector, etc. My best guess thus far, is that it rolls a 9-sided die to determine this (no :-)'s ). BTW, I've decided to refer to Tim King's "contribution" to the Amiga, as AmigaDOG, and to the entire collective OS as AmigaDOS ... is that reasonable? > Formatting a disk benchmarked at exactly the same speed regardless of > what stepping delay I used. Does this not count? I don't know. I do know that there is something fundementally different about Format and Diskcopy, as they both will put up a requester asking for the WB on their 1st invocation, if WB isn't in a drive. What is it that they need? > One thing I did notice, there was a definite improvement in the > sound quality of the "grindgrindgrind" noise that my drives make > when I increased the stepping delay time. The noise became much > lower pitched and much quieter. More like a pleasant purr than > the usual annoying grinding noise that reminds me of going to the > dentist. Yes!!! This improvement alone is worth the price of StepRate :-)! My drives, however, went *up* in pitch, but then they normally sound like a cement mixer full of rocks, rather than a dentist's drill ... /kim -- UUCP: kim@amdahl.amdahl.com or: {sun,decwrl,hplabs,pyramid,ihnp4,uunet,oliveb,cbosgd,ames}!amdahl!kim DDD: 408-746-8462 USPS: Amdahl Corp. M/S 249, 1250 E. Arques Av, Sunnyvale, CA 94086 CIS: 76535,25
pes@ux63.bath.ac.uk (Smee) (10/08/87)
There is a (defacto, I think) standard for flopsies which says that 3.5 inch drives must step at 3ms/step, and 5.25 at 6ms/step. If your drive will not do this, you've got a valid complaint. *Most* but not all drives will operate satisfactorily at higher step rates, without problem. (This is nothing to do with CBM, but rather with the companies that make the flopsy drive 'engines'. If your personal drive will handle a higher step rate (lower time) then you're OK. If it can't, one likely result is data corruption which you won't notice when you write a file, but which will garbage it so you can't get it back. I usually run a higher step rate on my <other brand of> machine, but I'd recommend (a) that you test it on non-critical disks for a few hours first, and (b) that you reset it to the 'normal' value before doing anything critical, like making your backups. It's great for non-critical things, though, such as 'temp files' for various applications which need them.
jimm@mitsumi.UUCP (Jim Mackraz) (10/08/87)
In article <71@bacchus.DEC.COM> alverson@decwrl.UUCP (Robert Alverson) writes: >>One thing I did notice, there was a definite improvement in the >>sound quality of the "grindgrindgrind" noise that my drives make >>when I increased the stepping delay time. >I've been waiting for this for a while, now, since I kew that the >gind is caused by running drives at *too slow* a step rate. In my >humble opinion, C-A blew it here in that they had to run it slow >to guarantee that (maybe with a 68020) the steps wouldn't go too fast. >Bob Indeed, the disk noise with v1.1 was caused by slower than necessary timing. The timing on v1.2 is not slower than necessary, although it may be no faster than permitted by any particular drive ever used in Amiga 1000s. Turns out the Amiga has been driving floppies with a 68020 for over a year. I believe that such timings are not processor speed or version dependent. This is not one of the areas where C-A blew it. jimm -- Jim Mackraz Mitsumi Technology, Inc. 408/980-5422 {amiga,pyramid}!mitsumi!jimm
@atlas.UUCP (/) (10/09/87)
I got similar results to Kevin's with my tests. I was running Facc at the time, so I tried taking away all it's buffers. No change. I also tried closing facc. No change. I tried values from 1200 (the min) to 20000. 20000 slowed down a 9 second directory read by about a half second. Smaller values had no noticable effect. I was doing my tests under Shell 2.06m on DF1:. Joel Swank Tektronix, Redmond, Oregon joels@tekred.TEK.COM at will automatically send it to all the subscribers around the world, costing a bundle and annoying them for no good reason.
neil@mitsumi.UUCP (Neil Katin) (10/09/87)
In article <15607@amdahl.amdahl.com> kim@amdahl.amdahl.com (Kim DeVaughn) writes:
"Here is a really nifty utility! It allows you to set the stepping rate
"of your floppy drives, which in turn can improve the performance of your
"system considerably!
"
"The author says he can halve the access time on his drives ... down to
"about 1500 ticks (from the stock AmigaDOS* value of 3000). I can't get
"my old NEC drives to work that fast ... both of them will fail to read
"at 1800, but work at 1900. So I've set them for 2000 to leave a little
"more margin (at least my old NEC's work with noKLICKstart). Anyway,
"an improvement of 1/3 in the stepping rate is still quite noticible ...
"especially on dir listings of fat directories!
"
"I dunno if there any negative implications due to the faster stepping rates,
"such as increased wear and tear, reduced reliability, etc., so this is
"definitely a "use at your own risk" deal! Perhaps our friends at CBM, or
"other knowledgeable disk-wise folks (Hi, Bryce!) could comment?
"
"BTW, it doesn't do anything to the "stepping rates" for vd0: or ram: ... of
"*course* I had to try it ... :-)!
"
"/kim
First of all, this "step rate" is specific to the trackdisk.device.
In 1.2 I extended the unit structure to allow people to modify some
specific device parameters (step rate, precompensation points, number
of tracks, settling time, etc.). The worst case spec for amiga 3.5"
drives is 3 milliseconds per cylinder. All those numbers (3000, 2000, etc)
are the number of microseconds to feed to the timer.device between
steps.
The trackdisk device is very conservative in estimating how long to delay
between step pulses. In kickstart 1.2 on a 68000 there is a pulse every
3.7 milliseconds. I could have tuned it for exactly three ms, but then
it would have broken on a 68020 (as others have pointed out). Setting
your step rate to 2 ms means that you may miss some step pulses.
This typically won't be fatal -- the driver will notice that it got
a seek error and try again.
All the parameters for the unit structure are documented in the trackdisk
include file "devices/trackdisk.h".
Finally, OF COURSE the program does not work for vd0: or ram:. The program
writes the trackdisk data directly.
Neil Katin
{ubvax,pyramid,amiga}!mitsumi!neil
andy@cbmvax.UUCP (Andy Finkel) (10/09/87)
In article <15607@amdahl.amdahl.com> kim@amdahl.amdahl.com (Kim DeVaughn) writes: >The author says he can halve the access time on his drives ... down to >about 1500 ticks (from the stock AmigaDOS* value of 3000). Actually, I send along a C program that does this very thing, to the moderated amiga source group awhile ago, but I guess it was during the "time of troubles" I did it while tracking down a bug. First the bug... in the file exec/devices.h a member of the Unit structure was wrong...it should be struct MsgPort unit_MsgPort; NOT *unit_MsgPort. Now a warning...you can trash disks and hurt drives by using very low values. Check the drive mfgrs specs to be sure. We/I take no responsibility once you start playing. >* - I still know of no better term for the Amiga OS as a whole, than AmigaDOS; > especially since that's what the default CLI window is titled. I like the term ROM KERNAL for the OS as a whole. >To get at these parameters, you open the TrackDisk.Device and >this device tells you where the parameters are. Of course, the folks >who wrote Amigados & kickstart tried to hide this parameter, so there >isn't a name for it in the system include files. Mr. Kegelmann found >the right longword though. Mr Kegelmann should have looked in the include files...there's one with the catchy name of trackdisk.h that has the info he wanted... ie: struct TDU_PublicUnit { struct Unit tdu_Unit; /* base message port */ UWORD tdu_Comp01Track; /* track for first precomp */ UWORD tdu_Comp10Track; /* track for second precomp */ UWORD tdu_Comp11Track; /* track for third precomp */ ULONG tdu_StepDelay; /* time to wait after stepping */ ULONG tdu_SettleDelay; /* time to wait after seeking */ UBYTE tdu_RetryCnt; /* # of times to retry */ }; > >The initial value of the ticks between steps (eghad, what buzzwords!) >is set to 3000 (base 10; I mean decimal!) by kickstart. Its microseconds, by the way. Anyway, enough complaining. Here's the program. It also lets you play with the settle time. #include "exec/types.h" #include "exec/libraries.h" #include "exec/ports.h" /************************************************************* * This program allows you to read and modify the step delay * and settle delay times for units of the trackdisk device * SetDelay * by Andy Finkel * Copyright 1987 Commodore-Amiga, Inc. * Permission to distribute and use given provided * that this notice remains intact. * * The following is a replacement for a broken include file, included * here for clarity * Don't you do this! Instead, fix your exec/devices.h file ! * Change that *unit_MsgPort to a unit_MsgPort *****************************************************************/ /*#include "exec/devices.h"*/ #define EXEC_DEVICES_H /****** Device ******************************************************/ struct Device { struct Library dd_Library; }; /****** Unit ********************************************************/ struct Unit { struct MsgPort unit_MsgPort; /* queue for unprocessed messages */ UBYTE unit_flags; UBYTE unit_pad; UWORD unit_OpenCnt; /* number of active opens */ }; #define UNITF_ACTIVE (1<<0) #define UNITF_INTASK (1<<1) #include "exec/io.h" #include "devices/trackdisk.h" #include "libraries/dos.h" #include "libraries/dosextens.h" #define TOUPPER(c) ((c)>='a'&&(c)<='z'?(c)-'a'+'A':(c)) struct MsgPort *trackport=NULL; struct IOExtTD *trackreq=NULL; struct TDU_PublicUnit *unit=NULL; extern UBYTE *strcpy(); extern UBYTE *strcat(); main(argc,argv) int argc; UBYTE *argv[]; { int unitno=0,s; struct Process *process; UBYTE buf[10]; if((*argv[argc-1]=='?') || (argc < 2)) { printf("Usage: %ls [Unit] [Step delay] [Settle Delay]\n"); cleanup(0); } process=(struct Process *)FindTask(NULL); unitno=atoi(argv[1]); if((unitno<0) || (unitno > 4)) { printf("Bad args\n"); cleanup(10); } strcpy(buf,"df"); /* is there the unit requested ? */ strcat(buf,argv[1]); /* (cheap way, I know) */ strcat(buf,":"); process->pr_WindowPtr= (struct Window *)-1; /* quietly, please */ s=DeviceProc(buf); process->pr_WindowPtr= NULL; if(!s) { printf("Error: no unit %ld\n",unitno); cleanup(20); } if(!(trackport = (struct MsgPort *)CreatePort(0, 0)))cleanup(20); if(!(trackreq = (struct IOExtTD *)CreateExtIO(trackport,sizeof(struct IOExtTD))))cleanup(20); if (OpenDevice(TD_NAME, unitno, trackreq, 0))cleanup(20); unit= trackreq->iotd_Req.io_Unit; if(!unit)cleanup(20); if(argc >= 3) unit->tdu_StepDelay= atoi(argv[2]); if(argc >= 4) unit->tdu_SettleDelay= atoi(argv[3]); printf("step delay is %ld, settle delay is %ld\n",unit->tdu_StepDelay,unit->tdu_SettleDelay); cleanup(0); } cleanup(err) int err; { if (trackport) { GetMsg(trackport); CloseDevice(trackreq); DeleteExtIO(trackreq,sizeof(struct IOExtTD)); DeletePort(trackport); } exit(err); } atoi( s ) char *s; { int num = 0; while (*s && (*s == ' '))s++; /* eat leading spaces */ if( *s == '+' ) s++; else if( *s == '-' ) { s++; } while( *s >= '0' && *s <= '9' ) { num = num * 10 + *s++ - '0'; } while( *s >= '0' && *s <= '9' ) { num = num * 10 + *s++ - '0'; } return( num ); } UBYTE * strcpy(dest, source) UBYTE *dest; UBYTE *source; { UBYTE *orig = dest; while (*dest++ = *source++); return( orig ); } UBYTE * strcat( s, new ) UBYTE *s, *new; { UBYTE c; UBYTE *orig = s; while( *s ) s++; do { c = *s++ = *new++; } while( c ); return( orig ); } -- andy finkel {ihnp4|seismo|allegra}!cbmvax!andy Commodore-Amiga, Inc. "Interfere? Of course we'll interfere. Always do what you're best at, I always say." Any expressed opinions are mine; but feel free to share. I disclaim all responsibilities, all shapes, all sizes, all colors.
news@omepd (News Account) (10/10/87)
In article <1683@tekred.TEK.COM> joels@tekred.TEK.COM (Joel Swank) writes: >I got similar results to Kevin's with my tests. I was running Facc at the >time, so I tried taking away all it's buffers. No change. I also tried >closing facc. No change. I tried values from 1200 (the min) to 20000. >20000 slowed down a 9 second directory read by about a half second. >Smaller values had no noticable effect. I was doing my tests under >Shell 2.06m on DF1:. > >Joel Swank From: hah@mipon3.intel.com (Hans Hansen) Path: mipon3!hah Please also tell us which company made your drives. I suspect that your drives are slightly more intelegent that the NECs that the original aurthor and I have. ?? Hans Hansen
keithd@cadovax.UUCP (Keith Doyle) (10/13/87)
Hey, This steprate thing seems like basically a good idea. Not for speed, mind you, but because I can't stand how the drives sound. They SOUND like they're being stepped too slow, and that's what drives me nuts. However, are we absolutely sure that running at a higher step rate will not cause a higher incidence of munged disks due to too marginal a setting? I'd love to try it, but no way until I am reasonably assured it isn't going to munch my critical 'C' source disks etc. Keith Doyle # {ucbvax,decvax}!trwrb!cadovax!keithd Contel Business Systems 213-323-8170
richard@gryphon.CTS.COM (Richard Sexton) (10/14/87)
In article <1794@cadovax.UUCP> keithd@cadovax.UUCP (Keith Doyle) writes: > >Hey, > >This steprate thing seems like basically a good idea. Not for speed, >mind you, but because I can't stand how the drives sound. They SOUND >like they're being stepped too slow, and that's what drives me nuts. > >However, are we absolutely sure that running at a higher step rate will >not cause a higher incidence of munged disks due to too marginal a >setting? I'd love to try it, but no way until I am reasonably assured >it isn't going to munch my critical 'C' source disks etc. > >Keith Doyle How can it wreck disks ? It wants something from track nn, so it issues the approporiate number of 'steps' to the drive, after which it reads it to make sure it is on the track it thinks it is on. If it is not, this is a SEEK ERROR, and it should retry, otherwise its positioned over the correct cylander. Is this not the way it works ? -- Richard J. Sexton INTERNET: richard@gryphon.CTS.COM UUCP: {hplabs!hp-sdd, sdcsvax, ihnp4, nosc}!crash!gryphon!richard "It's too dark to put the keys in my ignition..."
grr@cbmvax.UUCP (George Robbins) (10/14/87)
In article <1794@cadovax.UUCP> keithd@cadovax.UUCP (Keith Doyle) writes: > > Hey, > > This steprate thing seems like basically a good idea. Not for speed, > mind you, but because I can't stand how the drives sound. They SOUND > like they're being stepped too slow, and that's what drives me nuts. > > However, are we absolutely sure that running at a higher step rate will > not cause a higher incidence of munged disks due to too marginal a > setting? I'd love to try it, but no way until I am reasonably assured > it isn't going to munch my critical 'C' source disks etc. That's the rub. By using the specified step rate or some slightly slower amount, one can assume that things will be as reliable as you can get. Actually, the step rate is some percentage slower than nominal on a 68000 system and a particular drive may step smoother at a slightly faster rate, or work well with a ramped step rate. Beyond measuring the actual step rate and compensating for the "68000 percentage" you're stepping into some murky water. I wouldn't mess with it too much without writing some kind of excerciser script/program that could evaluate the improvment and also detect any errors. Rather then mess around much with the floppy drives, I'd seriously consider a hard drive, assuming you have the requisite $$$'s. It's a different and better world. -- George Robbins - now working for, uucp: {ihnp4|rutgers|allegra}!cbmvax!grr but no way officially representing arpa: out to lunch... Commodore, Engineering Department fone: 215-431-9255 (only by moonlite)
grr@cbmvax.UUCP (George Robbins) (10/14/87)
In article <1895@gryphon.CTS.COM> richard@gryphon.CTS.COM (Richard Sexton) writes: > In article <1794@cadovax.UUCP> keithd@cadovax.UUCP (Keith Doyle) writes: > > >This steprate thing seems like basically a good idea. Not for speed, > >mind you, but because I can't stand how the drives sound. They SOUND > >like they're being stepped too slow, and that's what drives me nuts. > > > >However, are we absolutely sure that running at a higher step rate will > >not cause a higher incidence of munged disks due to too marginal a > >setting? I'd love to try it, but no way until I am reasonably assured > >it isn't going to munch my critical 'C' source disks etc. > > How can it wreck disks ? It wants something from track nn, so it issues > the approporiate number of 'steps' to the drive, after which it reads > it to make sure it is on the track it thinks it is on. If it is not, > this is a SEEK ERROR, and it should retry, otherwise its positioned > over the correct cylander. > > Is this not the way it works ? Gee, that sounds like the way it is supposed to work, and probably does. However relying on system error recovery to compensate for your systematic optimism sounds like one of those well greased paths to purgatory. Most likely, the system will recover from the errors and hide them from you until one day you have a brownout or something, and then you'll wonder why you start getting a lot of random errors on the purple disks in your 7'th drive that's worked good since the day you kludged it in. Proceed with due caution... -- George Robbins - now working for, uucp: {ihnp4|rutgers|allegra}!cbmvax!grr but no way officially representing arpa: out to lunch... Commodore, Engineering Department fone: 215-431-9255 (only by moonlite)
richard@gryphon.CTS.COM (Richard Sexton) (10/16/87)
In article <2499@cbmvax.UUCP> grr@cbmvax.UUCP (George Robbins) writes: >In article <1794@cadovax.UUCP> keithd@cadovax.UUCP (Keith Doyle) writes: >> >> Hey, Hey hey, my my. >> However, are we absolutely sure that running at a higher step rate will >> not cause a higher incidence of munged disks due to too marginal a >> setting? I'd love to try it, but no way until I am reasonably assured >> it isn't going to munch my critical 'C' source disks etc. > >That's the rub. By using the specified step rate or some slightly slower >amount, one can assume that things will be as reliable as you can get. > >Rather then mess around much with the floppy drives, I'd seriously consider >a hard drive, assuming you have the requisite $$$'s. It's a different >and better world. (snide comment) So is being filthy rich. >George Robbins Does this mean when the 68000 is finished issueing step pulses and it's about to do a read/write, it doesnt check to see if its on the track it should be/it thinks it's on ? How else could changing the *step rate* bugger up the data ? -- Richard J. Sexton INTERNET: richard@gryphon.CTS.COM UUCP: {hplabs!hp-sdd, sdcsvax, ihnp4, nosc}!crash!gryphon!richard "It's too dark to put the keys in my ignition..."
klm@munsell.UUCP (Kevin (my watch has a touch screen) McBride) (10/16/87)
In article <1794@cadovax.UUCP> keithd@cadovax.UUCP (Keith Doyle) writes: >This steprate thing seems like basically a good idea. Not for speed, >mind you, but because I can't stand how the drives sound. They SOUND >like they're being stepped too slow, and that's what drives me nuts. > >However, are we absolutely sure that running at a higher step rate will >not cause a higher incidence of munged disks due to too marginal a >setting? I'd love to try it, but no way until I am reasonably assured >it isn't going to munch my critical 'C' source disks etc. WWWEEEELLLLLL, Keith. You should exercise some caution. StepRate is not without it's hazards. My drives seemed to be working fine at a step rate of 1800. They were much more quiet than before. Everything was going along fine until the gremlins decided it was time to trash my favorite WorkBench disk. BTW, my drives have always been extremely reliable. I've only trashed 3 or 4 disks in the 1 year that I've owned the machine. I consider myself lucky. Fortunately, I had made a backup copy of that disk only 2 days before, so the only bad thing that happened was some short lived aggravation. The disk that got trashed was not physically bad. I reformatted it, reloaded it from the backup and it's working like nothing ever happened. I upped the steprate to 2000 and that seems to be working fine. I hope. Maybe someday when my Ami grows up she'll have an autobootable 40 meg hard disk and I won't have to worry about the speed of my floppies... sigh. -- Kevin McBride | "Is that a real | harvard -\ I/O Software Group | poncho, or is that | ll-xn ---adelie----> munsell!klm Eikonix - A Kodak Co. | a Sears poncho?" | decvax -v talcott -v | Billerica, MA | - Frank Zappa | allegra ------------encore
jdow@gryphon.CTS.COM (Joanne Dow) (10/16/87)
In article <2499@cbmvax.UUCP> grr@cbmvax.UUCP (George Robbins) writes: >Rather then mess around much with the floppy drives, I'd seriously consider >a hard drive, assuming you have the requisite $$$'s. It's a different >and better world. > Um, better yet spring the nominal amount for Perry's er ASDG's FACC II. That's a much better deal over all. And it speeds things up very nicely once you've accessed the disk block at least once. How does no stepping sound? I love the sounds of silence there. > >-- >George Robbins - now working for, uucp: {ihnp4|rutgers|allegra}!cbmvax!grr >but no way officially representing arpa: out to lunch... >Commodore, Engineering Department fone: 215-431-9255 (only by moonlite) -- <@_@> BIX:jdow INTERNET:jdow@gryphon.CTS.COM UUCP:{akgua, hplabs!hp-sdd, sdcsvax, ihnp4, nosc}!crash!gryphon!jdow Remember - A bird in the hand often leaves a sticky deposit. Perhaps it was better you left it in the bush with the other one.