Jump to content
IGNORED

Is there a BASIC disk drive benchmark?


fibrewire

Recommended Posts

Hey guys, I have no sio2pc at the moment. I am interested to know if there is a read write test that I could type in as a BASIC program. I'm coming up short when searching atarimagazines.com, any ideas?

There is no disk utility in ANALOG issue 12.

You have an a8, a disk drive with a disk with data on it and you want to read and write sectors from BASIC? You have no way of getting a program from the internet to your A8 other

than typing in a listing. You can't boot the disk you have, no DOS. If you don't have a disk with data on it, you'd have to format a disk. I believe some drives can format a disk

from the drive itself, but I don't remember how.

Edited by russg
Link to comment
Share on other sites

Everything works, just no sio2pc. And yes, a RW tool is what I'm looking for to test the transfer speed of the corvus drives.

OK, everything works. That is you have a DOS disk and it boots. So, here's a BASIC program that creates a binary load MYRPM.COM on your DOS disk.

You probably won't like it, but it's the best I can do. Have fun.

 

10 CLOSE #1

12 CHKSUM=0

20 OPEN #1,8,0,"D:MYRPM.COM"

30 FOR N=1 TO 691

40 READ X:PUT #1,X

42 CHKSUM=CHKSUM+X

50 NEXT N

60 CLOSE #1:? "CHKSUM MUST = 69827" :? "CHKSUM = ";CHKSUM

62 END

100 DATA 255,255,0,80,172,82,165,10,56,233,10,141,41,82,165,11,233,0,141,42,82,165,10,24,105,3

110 DATA 141,31,80,165,11,105,0,141,32,80,32,0,0,160,34,177,10,41,15,141,1,3,169,49,141,2

120 DATA 3,169,83,141,2,3,169,64,141,3,3,169,2,141,5,3,169,234,141,4,3,169,4,141,8,3

130 DATA 169,0,141,9,3,32,40,82,16,28,32,68,82,68,114,105,118,101,32,68,111,101,115,32,78,111

140 DATA 116,32,82,101,115,112,111,110,100,155,255,96,162,0,173,234,2,41,32,10,10,73,128,141,8,3

150 DATA 48,1,232,142,9,3,169,195,141,4,3,169,82,141,5,3,169,82,141,2,3,169,105,141,10,3

160 DATA 169,1,141,11,3,32,23,81,173,173,82,141,182,82,141,183,82,173,174,82,141,186,82,141,187,82

170 DATA 32,194,81,32,23,81,238,190,82,173,190,82,41,1,170,173,173,82,157,182,82,173,174,82,157,186

180 DATA 82,32,194,81,173,31,208,41,7,201,7,208,12,173,252,2,201,255,240,213,169,255,141,252,2,32

190 DATA 68,82,155,155,255,96,169,64,141,3,3,32,40,82,48,1,96,32,68,82,69,114,114,111,114,32

200 DATA 105,110,32,82,101,97,100,46,46,46,32,65,98,111,114,116,101,100,155,255,104,104,104,104,96,32

210 DATA 234,80,165,20,141,192,82,173,11,212,24,105,4,10,141,191,82,32,234,80,32,234,80,32,234,80

220 DATA 32,234,80,32,234,80,165,20,141,194,82,173,11,212,24,105,4,10,141,193,82,173,193,82,56,237

230 DATA 191,82,141,180,82,173,194,82,237,192,82,141,181,82,32,94,81,96,173,20,208,41,14,208,12,169

240 DATA 58,141,179,82,169,152,141,178,82,208,10,169,80,141,178,82,169,70,141,179,82,169,0,141,177,82

250 DATA 169,0,141,175,82,141,176,82,141,173,82,141,174,82,162,24,14,177,82,46,178,82,46,179,82,46

260 DATA 175,82,46,176,82,173,175,82,56,237,180,82,72,173,176,82,237,181,82,144,8,141,176,82,104,141

270 DATA 175,82,36,104,46,173,82,46,174,82,202,208,207,96,24,173,182,82,109,183,82,141,173,82,173,186

280 DATA 82,109,187,82,74,110,173,82,160,0,56,173,173,82,233,100,72,173,174,82,233,0,144,10,141,174

290 DATA 82,104,141,173,82,200,208,232,104,152,9,48,141,33,82,173,173,82,160,255,56,200,233,10,176,251

300 DATA 105,10,9,48,141,35,82,152,9,48,141,34,82,32,68,82,32,32,68,114,105,118,101,32,82,80

310 DATA 77,32,105,115,32,57,57,57,155,28,255,96,108,0,0,32,118,82,32,52,82,76,166,82,141,64

320 DATA 82,173,71,3,72,173,70,3,72,169,0,162,0,96,32,118,82,186,189,5,1,141,87,82,189,6

330 DATA 1,141,88,82,160,1,185,255,255,201,255,240,6,32,43,82,200,208,243,152,24,125,5,1,157,5

340 DATA 1,189,6,1,105,0,157,6,1,76,166,82,8,72,72,72,8,72,138,72,186,189,9,1,157,5

350 DATA 1,189,7,1,157,9,1,189,1,1,157,7,1,189,8,1,157,4,1,189,6,1,157,8,1,152

360 DATA 157,6,1,104,170,104,40,96,104,168,104,170,104,40,96

 

 

Oh, and here's the binary it produces.

 

 

RPM.zip

Edited by russg
Link to comment
Share on other sites

Hi Fibrewire-

 

I thought this might be an interesting little Q&D project to write a transfer speed benchmark in (mostly) Basic so that it could be typed in.

 

But then I immediately had a question -- does the Corvus use the SIO vector, or since it has a special version of Dos 2.0D, does it use it's own I/O protocol? Somewhere like in SDX (I think) it has it's own special vector? (I know nothing about the Corvus, except the Dave Small article years ago.)

 

If so, do you know what it is? Will a typical sector editor work with the Corvus pseudo-floppies?

 

-Larry

Link to comment
Share on other sites

Everything works, just no sio2pc. And yes, a RW tool is what I'm looking for to test the transfer speed of the corvus drives.

For reference. I got 220 RPM on a RANA 1000 real floppy, dbl or sngl. I got 820 RPM on a APE interface single density. So, I would guess a RAMDISK would be faster than APE sngl., I didn't try that.

I got 330 RPM on a 16 meg .ATR with an APE interface. I couldn't get any reading with a RAMDISK I tried. But I don't know much about RAMDISK. I just locked up trying MYRPM.COM on a

D7: RAMDISK.

I think our Atari disk drives are supposed to go 288 RPM. If they don't there is a problem.

There is a DOS that has a RPM check, but I don't remember which one, probably DOS 2.0S, so it wouldn't be much help.

Edited by russg
Link to comment
Share on other sites

For reference. I got 220 RPM on a RANA 1000 real floppy, dbl or sngl. I got 820 RPM on a APE interface single density. So, I would guess a RAMDISK would be faster than APE sngl., I didn't try that.

I got 330 RPM on a 16 meg .ATR with an APE interface. I couldn't get any reading with a RAMDISK I tried. But I don't know much about RAMDISK. I just locked up trying MYRPM.COM on a

D7: RAMDISK.

I think our Atari disk drives are supposed to go 288 RPM. If they don't there is a problem.

There is a DOS that has a RPM check, but I don't remember which one, probably DOS 2.0S, so it wouldn't be much help.

It is SmartDOS 6.1D that has speed check. It shows same as MYRPM.COM. I think there's a SmartDOS 6.3, but I can't find it.

Nope, no SmartDOS 6.3 can find. Maybe there isn't any.

SMARTDBL.ZIP

Edited by russg
Link to comment
Share on other sites

It is SmartDOS 6.1D that has speed check. It shows same as MYRPM.COM. I think there's a SmartDOS 6.3, but I can't find it.

Nope, no SmartDOS 6.3 can find. Maybe there isn't any.

russg,

He is not looking for a disk RPM program......... He is looking for a reading and writing benchmark. He could grab the RTCLOCK before the reading and writing to and from disk and then subtract the RTCLOCK from the first RTCLOCK variable.

135 M=INT((((PEEK(18)*65535)+(PEEK(19)*256))+PEEK(20))/60)
200 LOAD "D:FILEPROG.BAS"
250 SAVE "D:FILEFROG.BAS"
275 W=INT((((PEEK(18)*65535)+(PEEK(19)*256))+PEEK(20))/60) W-M;" SECONDS.."
300 END

Edited by rdea6
Link to comment
Share on other sites

 

russg,

He is not looking for a disk RPM program......... He is looking for a reading and writing benchmark. He could grab the RTCLOCK before the reading and writing to and from disk and then subtract the RTCLOCK from the first RTCLOCK variable.

135 M=INT((((PEEK(18)*65535)+(PEEK(19)*256))+PEEK(20))/60)
200 LOAD "D:FILEPROG.BAS"
250 SAVE "D:FILEFROG.BAS"
275 W=INT((((PEEK(18)*65535)+(PEEK(19)*256))+PEEK(20))/60) W-M;" SECONDS.."
300 END

I thought a little about what he's looking for. I believe that the RPM determines how fast read is done, writing may be slower.

You hear a 'beep beep beep' when you read a file. The faster the beep beep, the faster the reading.

 

However, your program is simple and straight forward measure of a read and write event and should work the way he wants.

He would have to compare different disk drives to get an idea of how fast his Corvus is.

I'm no disk drive expert and I certainly hope a disk drive knowledgeable person could contribute.

Or.... we could run your program and post results here. You could time a 'LOAD and SAVE' BASIC program with a stopwatch.

The problem is I don't know of a published 'benchmark' for A8 drives, so you'd have to try different drives.

My brief try at determining how fast, I got the same RPM for sngl or dbl density with a real drive. So density speeds are different.

With APE, sngl density RPM was much faster than dbl density, I got 800 RPM speeds with a sngle dens .ATR on APE interface.

 

Also, the speed of the Atari computer determines how fast read/writes occur. APE has settings for 1x, 2x, 3x, warp SIO speeds.

I think 52K baud is about as fast as an A8 SIO can go. Some disk drives have settable speeds also. US Dblr has a high

speed sector skew.

Edited by russg
Link to comment
Share on other sites

Let me try this one, give me a minute

 

 

russg,

He is not looking for a disk RPM program......... He is looking for a reading and writing benchmark. He could grab the RTCLOCK before the reading and writing to and from disk and then subtract the RTCLOCK from the first RTCLOCK variable.

135 M=INT((((PEEK(18)*65535)+(PEEK(19)*256))+PEEK(20))/60)
200 LOAD "D:FILEPROG.BAS"
250 SAVE "D:FILEFROG.BAS"
275 W=INT((((PEEK(18)*65535)+(PEEK(19)*256))+PEEK(20))/60) W-M;" SECONDS.."
300 END

Link to comment
Share on other sites

LOAD won't work within a program, the active program will be trashed by a successful LOAD command.

 

A better benchmark would be to read/write an entire track worth of sectors - give the user the option of single or enhanced density so that the operation can be done without a seek in the middle.

Read the first sector 2 times, start the timing after the first read so that inial seek isn't part of the calculations.

Edited by Rybags
Link to comment
Share on other sites

I considered two ways to do this:

 

The first is similar to how I believe RWTEST is made up -- create a file from multiple strings then write that file the target drive. Then read the files back and finally delete the files. Should work with any dos, even if it is customized as with the Corvus Atari Dos 2.0D.

 

The second is along the lines of Rybags' suggestion -- use SIO to write a number of sectors and then read them back. But may not work on Corvus. However, if a regular sector editor works on the Corvus floppy images, then it should work and give meaningful comparisons. (Which is why I asked the question above.) BTW, the double read to start is a really nice idea, Rybags.

 

In either case, you should have a blank disk/image, but in the case of SIO, it guarantees a trashed disk if you accidently insert your rare and coveted copy of "Shoot the Zombies." :-)

 

-Larry

Link to comment
Share on other sites

Raw r/w is probably best - with a file there's no guarantee the sectors will be contiguous plus it's harder to work out where the track boundaries are. Plus you dispense with any possible DOS overhead.

 

Generally, write speed should be the same as for reading so long as it's without verify and on a stock drive.

 

Really, for a type-in situation you'd want something quick & easy - something that reads a number of sectors would be sufficient there.

Link to comment
Share on other sites

Raw r/w is probably best - with a file there's no guarantee the sectors will be contiguous plus it's harder to work out where the track boundaries are. Plus you dispense with any possible DOS overhead.

 

Generally, write speed should be the same as for reading so long as it's without verify and on a stock drive.

 

Really, for a type-in situation you'd want something quick & easy - something that reads a number of sectors would be sufficient there.

My RW13,COM could read sectors to a file and write that file to sectors, but it isn't a type in, it is far to big. And there would be no record of different people and drives and SIO speeds.

Of course you'd have to use a test floppy. Here's a compiled version of the BASIC program along with the BASIC program SAVEd and LISTed.

RW13.zip

Edited by russg
Link to comment
Share on other sites

Hey guys, I have no sio2pc at the moment. I am interested to know if there is a read write test that I could type in as a BASIC program. I'm coming up short when searching atarimagazines.com, any ideas?

You have a disk drive with a disk with DOS on it, I think. If that's the case, you can use the COPY command to test your read/write speed. Just copy a file from your floppy to a new name on the

same floppy, eg COPY... DUP.SYS D:MYDUP.

Link to comment
Share on other sites

Hey guys, I have no sio2pc at the moment. I am interested to know if there is a read write test that I could type in as a BASIC program. I'm coming up short when searching atarimagazines.com, any ideas?

I think the answer is NO, there is no BASIC benchmark commonly used.

 

Here's some benchmarks from http://www.atarimax.com/warpos/documentation/ about atarimax warp OS.

 

at bottom of page.

 

quote:

 

Warp+ OS Benchmarks

Just how fast is the APE Warp+ OS? How much time will shave off those long games loads?

APE Warp+ OS & APE Stock XL/XE OS using APE (at normal SIO speed) Stock XL/XE OS using 1050 disk drive

Alternate Reality: The City 9.7 Seconds 26.7 Seconds 34.8 Seconds

Agent USA 12.76 Seconds 32.13 Seconds 43.71 Seconds

Run For It! 7.94 Seconds 21.13 Seconds 28.69 Seconds

The Pawn 24.83 Seconds 48.92 Seconds 62.2 Seconds

Donald Duck 11.36 Seconds 26.96 Seconds 36.71 Seconds

Simple Minds 19.7 Seconds 46.6 Seconds 57.9 Seconds

Speed increases above range from 252% to 361% over standard load times!

Average increase in load speed: 320.5 %

 

/end quote

 

(formatting doesn't come out right)

Edited by russg
Link to comment
Share on other sites

I think the answer is NO, there is no BASIC benchmark commonly used.

 

Here's some benchmarks from http://www.atarimax.com/warpos/documentation/ about atarimax warp OS.

 

at bottom of page.

 

quote:

 

Warp+ OS Benchmarks

Just how fast is the APE Warp+ OS? How much time will shave off those long games loads?

APE Warp+ OS & APE Stock XL/XE OS using APE (at normal SIO speed) Stock XL/XE OS using 1050 disk drive

Alternate Reality: The City 9.7 Seconds 26.7 Seconds 34.8 Seconds

Agent USA 12.76 Seconds 32.13 Seconds 43.71 Seconds

Run For It! 7.94 Seconds 21.13 Seconds 28.69 Seconds

The Pawn 24.83 Seconds 48.92 Seconds 62.2 Seconds

Donald Duck 11.36 Seconds 26.96 Seconds 36.71 Seconds

Simple Minds 19.7 Seconds 46.6 Seconds 57.9 Seconds

Speed increases above range from 252% to 361% over standard load times!

Average increase in load speed: 320.5 %

 

/end quote

 

(formatting doesn't come out right)

I tried 'The Pawn' with APE serial interface, 3x setting, and got 126 seconds, with emulator Atari800winplus4 got 83 seconds.

Steve's 62.2 seconds is for his stock XL/XE OS and 1050 is twice as fast as I get. Could be my pirated Pawn is slower than his, maybe original?

(The Pawn has A and B disks).

The Pawn A.zip

The Pawn B.zip

Edited by russg
Link to comment
Share on other sites

I have the first, crude version of a BASIC R/W disk drive benchmark. No ML in it yet, so we'll call this one V0.10. This is a fun little project!

 

It works and gives consistent, reasonable results. The benchmark shows a PBI hard drive to give about 10 times faster R/W than an APE image at 1X SIO (for APE). Goals are 1) make it small for type-in and 2) give results that are similar to Drac030's RWTEST.COM, the "gold standard" of R/W Benchmarks.

 

-Larry

Link to comment
Share on other sites

I have the first, crude version of a BASIC R/W disk drive benchmark. No ML in it yet, so we'll call this one V0.10. This is a fun little project!

 

i have been testing how long it takes to load animation files. "Atari 8-bit Boink" takes about a second to load.

Link to comment
Share on other sites

The Corvus should be very fast. People cried "it uses the joystick ports", but those ports run right out of the bus lines of the 6520, just like the PBI bus. I suspect one major factor is the speed of the hard drive on the Corvus. I know when I test the RPM on my "black box" with an old Atari 810 test utility, it returns 3600 just like it should. The Happy drive fools it because of the buffer and it returns around 800 AFAIK. But I've not really played with it since the 1990s.

Link to comment
Share on other sites

Some good progress. The program for now is READing only, and the "heavy lifting " is a 27-byte ML routine. There is almost no interaction of Basic to slow the readings, and since this is SIO-based, there is no Dos overhead. (That's probably good and bad.) BTW, this is all double density at this point. Anyway, a few numbers to show where we are:

 

APE image 1795 BPS (Bytes/sec)

Happy 1050 Buffered 1810 BPS The buffered Happy is consistently slightly faster than APE.

Happy slow mode 1519 BPS

(Note: all the above at 1X SIO)

APE image 5120 BPS using UltraSpeed (Edit)

IDE+2 (ta-da!) 69110 BPS

 

As far as I can tell, these numbers are all legitimate. I think that future versions of the program will probably trim these numbers a bit, especially on the "real drives" since I'll probably be reading more than one track.

 

We'll call this version 0.6. And it's certainly short enough to type in.

 

-Larry

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...