[net.micro.atari16] Faster floppy i/o programs

sansom@trwrb.UUCP (Richard Sansom) (10/05/86)

Tired of slow floppy i/o?  Extract the following and read the readme file.

#! /bin/sh
# To extract, remove mail header lines and type "sh filename"
echo x - readme
sed -e 's/^X//' > readme << '!FaR!OuT!'
XThis shell archive contains the following files:
X
X	veron.s		source code for veron.prg
X	veron.uue	uuencoded veron.prg
X	veroff.s	source code for veroff.prg
X	veroff.uue	uuencoded veroff.prg
X	frmtplus.uue	uuencoded frmtplus.prg (from Atari BBS)
X
XFrmtplus.prg is an executable version of the basic program published in 
Xthe September edition of ANALOG magazine.  Place it in the AUTO folder of
Xof your RAM TOS boot disk and then format disks as usual from the desktop.
XThese F+ formatted disks contain extra disk format information at the end
Xof each track, in the area where the "unused" sector would be located.
XRead/write operations on these disks are much faster than read/write
Xoperations on vanilla TOS formatted disks.  So much faster, in fact,
Xthat it makes the extra effort required to format disks this way _well_
Xworth the effort.  Please refer to the original article in ANALOG for
Xmore info.
X
XTo compliment FRMTPLUS, I've written VEROFF.PRG and VERON.PRG.  Veroff
Xturns off the floppy verifies, thereby increasing disk write throughput
Xby a factor of 2.  I've installed veroff in the AUTO folder of my ROM TOS
Xsystem disk and have experienced no problems with it to date.  On those
Xrare occasions when I'm feeling particularly paranoid, I execute veron
Xto turn the verify back on again.
X
XFor those of you without uudecode, simply assemble the .s files, and then
Xlink and relmod with no other libs - as in:
X
X	as68 -l -u veroff.s
X	link68 [u]veroff.68k=veroff.o
X	relmod veroff
X
XEnjoy.
X
X __________ ______ ____ _____ ___
X/_________//___   ||__|/____|/__/   Richard E. Sansom
X   ___    ____/  / ____________	    TRW Electronics & Defense Sector
X  /  /   /  /\  <  |    /|    /     One Space Park Drive, R3/1028
X /  /   /  /  \  \ |   / |   /	    Redondo Beach, CA 90278
X/__/   /__/    \__\|__/  |__/	    {...decvax,ucbvax,ihnp4}!trwrb!sansom
!FaR!OuT!
echo x - veron.s
sed -e 's/^X//' > veron.s << '!FaR!OuT!'
X*
X* veron.s -- program to turn floppy write verify on.
X*
X
X_fverify	.equ	$444		* floppy verify flag
X
X		.text
X		.globl	_veron
X
X_veron:		lea	stack,sp	* set up usp
X		clr.l	-(sp)		* usp becomes ssp
X		move.w	#$20,-(sp)	* call GEMDOS Super() call
X		trap	#1		* enter supervisor mode
X		addq.l	#6,sp		* clean up the stack
X		move.w	#$ffff,_fverify	* set the floppy verify flag
X		move.l	d0,-(sp)	* restore the ssp
X		move.w	#$20,-(sp)	* call Super() again
X		trap	#1		* exit supervisor mode
X		addq.l	#6,sp		* clean up the stack
X		clr.l	-(sp)		* all done
X		trap	#1		* back to the os
X
X		.bss
X
X		.ds.l	$10		* user stack
Xstack:		.ds.l	1		* top of the user stack
X
X		.end
!FaR!OuT!
echo x - veron.uue
sed -e 's/^X//' > veron.uue << '!FaR!OuT!'
Xbegin 664 veron.prg
XM8!H    F         $0                  $_Y    9D*G/SP ($Y!7(\S
X:_/__   $1"\ /SP ($Y!7(]"ITY!     @  
X 
Xend
!FaR!OuT!
echo x - veroff.s
sed -e 's/^X//' > veroff.s << '!FaR!OuT!'
X*
X* veroff.s -- program to turn floppy write verify off.
X*
X
X_fverify	.equ	$444		* floppy verify flag
X
X		.text
X		.globl	_veroff
X
X_veroff:	lea	stack,sp	* set up usp
X		clr.l	-(sp)		* usp becomes ssp
X		move.w	#$20,-(sp)	* call GEMDOS Super() call
X		trap	#1		* enter supervisor mode
X		addq.l	#6,sp		* clean up the stack
X		move.w	#0,_fverify	* clear the floppy verify flag
X		move.l	d0,-(sp)	* restore the ssp
X		move.w	#$20,-(sp)	* call Super() again
X		trap	#1		* exit supervisor mode
X		addq.l	#6,sp		* clean up the stack
X		clr.l	-(sp)		* all done
X		trap	#1		* back to the os
X
X		.bss
X
X		.ds.l	$10		* user stack
Xstack:		.ds.l	1		* top of the user stack
X
X		.end
!FaR!OuT!
echo x - veroff.uue
sed -e 's/^X//' > veroff.uue << '!FaR!OuT!'
Xbegin 664 veroff.prg
XM8!H    F         $0                  $_Y    9D*G/SP ($Y!7(\S
X:_/__   $1"\ /SP ($Y!7(]"ITY!     @  
X 
Xend
!FaR!OuT!
echo x - frmtplus.uue
sed -e 's/^X//' > frmtplus.uue << '!FaR!OuT!'
Xbegin 664 frmtplus.prg
XM8!H   $>   !.     @                  $AY   !'C\\  E.05R/#'@%
XM*5 89@  $"/\     @   EI@   L#'@&(% 89@  $"/\         EI@   4
XM2'D   &:/SP "4Y!7(]@  "V0J<_/  @3D%<CR/    "5BI\    _MOY   "
XM6AM\   %;!M\  P%;2I\  !?_MOY   "6AM\ "(%8QM\  (%@AM\ !@%@QM\
XM &$%?!M\   %?1M\ !\%?AM\ '@%?RA-)DW9_   )/;7_   !/8J/    2P8
XMVU'-__P;?  !)2$;? !O)4\;? !L)7,;? !.)78;? !U)7<O.0   E8_/  @
XM3D%<CTAY   !_S\\  E.05R/2'D   ([/SP "4Y!7(\_/  !3D%4CT)G3D$J
XM*BH@1D]234%4(%!,55,@*BHJ"@T*#4]R:6=I;F%L('!R;V=R86T@8GD@0G)I
XM86X@1'5G9V%N+@H-5')A;G-L871E9"!T;R V.# P,"!A<W-E;6)L>2!L86YG
XM=6%G90H-8GD@0VAA<FQE<R!&+B!*;VAN<V]N+@H-"@T &W @*B!!0D]25"$@
XM*B ;<0H-5&AI<R!P<F]G<F%M(&]N;'D@=V]R:W,@=VET:"!D:7-K+6)A<V5D
XM"@UV97)S:6]N<R!O9B!43U,A("@U+3(Y+3@U(&]R(#8M,C M.#4I"@T*#0 ;
XM<"!-;V1I9FEC871I;VX@<W5C8V5S<V9U;"$@&W$*#2TM+2!296%D>2!T;R!F
XM;W)M870@+2TM"@T*#0!0<F5S<R!A;GD@:V5Y('1O(&5X:70N+BXN       "
X*'!@*' P8:@X.  T*
X 
Xend
!FaR!OuT!
exit
-- 
 __________ ______ ____ _____ ___
/_________//___   ||__|/____|/__/   Richard E. Sansom
   ___    ____/  / ____________	    TRW Electronics & Defense Sector
  /  /   /  /\  <  |    /|    /     One Space Park Drive, R3/1028
 /  /   /  /  \  \ |   / |   /	    Redondo Beach, CA 90278
/__/   /__/    \__\|__/  |__/	    {...decvax,ucbvax,ihnp4}!trwrb!sansom