[Coco] hard disk performance

Chuck Youse cyouse at serialtechnologies.com
Sat Sep 27 11:13:16 EDT 2008


On Fri, 2008-09-26 at 05:45 -0400, Robert Gault wrote:

> So, to propose a specific test, get Megaread from the NitrOS-9 
> distribution and transfer it to your Coco hard drive system. Then 
> execute the command sequence
> load date
> date t; megaread </h#@; date t
> where # is the number of the drive under test.
> 

That's exactly the test I used.  Sorry I wasn't explicit.  I didn't load
'date' or 'megaread', but that doesn't seem to have a huge impact on the
numbers.

In addition to date -t, I checked the time with a stopwatch to be sure
the Coco was tracking time properly.

> Results on my Ken-Ton scsi adapter, 6309 modified RGB-DOS driver, and 
> Segate ST-296N hard drive are
> Fri Sep. 26, 2008 07:12:32 PM
> Fri Sep. 26, 2008 07:13:57 PM
> for one pass of megaread. That should be ~12k/sec.
> 
> The same test using an Adaptec 4000A board with a Tandon TM-252 gave
> 11.4k/sec.
> 
> My modified driver uses the TFM command to transfer data.

I'm using straight 6809 code, an unrolled 8-bytes-at-a-time loop and I
re-enable interrupts in between 8-byte groups so as to maintain low
interrupt latency.  (On a 6309 the unrolled loop could be replaced with
an TFM instruction for improved performance.  See read loop below.)

I consistently get 24-25 seconds on my 80GB Seagate and 27-28 seconds on
my 1.2GB ST31270A, which yields approx 42K/sec and 38K/sec,
respectively.

C.

		ldx	PD.BUF,y
		ldb	#32		32 iterations

read050		pshs	b,dp,cc			

		orcc	#IntMasks	select the slot, set DP
		ldb	MPI.Slct
		lda	#(MPISlot-1)*$11
		sta	MPI.Slct
		lda	#$FF
		tfr	a,dp
		setdp	$FF

		lda	<REG.DAT
		sta	0,x
		lda	<REG.DAT
		sta	1,x
		lda	<REG.DAT
		sta	2,x
		lda	<REG.DAT
		sta	3,x
		lda	<REG.DAT
		sta	4,x
		lda	<REG.DAT
		sta	5,x
		lda	<REG.DAT
		sta	6,x
		lda	<REG.DAT
		sta	7,x

		stb	MPI.Slct	restore MPI slot
		leax	8,x

		puls	b,dp,cc
		setdp	$00
	
		decb
		bne	read050		





More information about the Coco mailing list