fibrewire Posted July 4, 2014 Share Posted July 4, 2014 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? Quote Link to comment Share on other sites More sharing options...
+David_P Posted July 4, 2014 Share Posted July 4, 2014 ANALOG #12 I believe had an RPM test program. Quote Link to comment Share on other sites More sharing options...
+Larry Posted July 4, 2014 Share Posted July 4, 2014 What kind of a benchmark are you looking for -- transfer speed or ? -Larry Quote Link to comment Share on other sites More sharing options...
russg Posted July 4, 2014 Share Posted July 4, 2014 (edited) 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 July 4, 2014 by russg Quote Link to comment Share on other sites More sharing options...
fibrewire Posted July 4, 2014 Author Share Posted July 4, 2014 (edited) 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. Edited July 4, 2014 by fibrewire Quote Link to comment Share on other sites More sharing options...
russg Posted July 5, 2014 Share Posted July 5, 2014 (edited) 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 July 5, 2014 by russg Quote Link to comment Share on other sites More sharing options...
+Larry Posted July 5, 2014 Share Posted July 5, 2014 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 Quote Link to comment Share on other sites More sharing options...
russg Posted July 5, 2014 Share Posted July 5, 2014 (edited) 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 July 5, 2014 by russg Quote Link to comment Share on other sites More sharing options...
russg Posted July 6, 2014 Share Posted July 6, 2014 (edited) 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 July 6, 2014 by russg Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted July 6, 2014 Share Posted July 6, 2014 (edited) 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 July 6, 2014 by rdea6 Quote Link to comment Share on other sites More sharing options...
russg Posted July 6, 2014 Share Posted July 6, 2014 (edited) 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 July 6, 2014 by russg Quote Link to comment Share on other sites More sharing options...
fibrewire Posted July 6, 2014 Author Share Posted July 6, 2014 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 Quote Link to comment Share on other sites More sharing options...
Rybags Posted July 6, 2014 Share Posted July 6, 2014 (edited) 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 July 6, 2014 by Rybags Quote Link to comment Share on other sites More sharing options...
+Larry Posted July 6, 2014 Share Posted July 6, 2014 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 Quote Link to comment Share on other sites More sharing options...
Rybags Posted July 6, 2014 Share Posted July 6, 2014 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. Quote Link to comment Share on other sites More sharing options...
russg Posted July 6, 2014 Share Posted July 6, 2014 (edited) 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 July 6, 2014 by russg Quote Link to comment Share on other sites More sharing options...
russg Posted July 6, 2014 Share Posted July 6, 2014 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. Quote Link to comment Share on other sites More sharing options...
russg Posted July 7, 2014 Share Posted July 7, 2014 (edited) 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 July 7, 2014 by russg Quote Link to comment Share on other sites More sharing options...
russg Posted July 8, 2014 Share Posted July 8, 2014 (edited) 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 July 8, 2014 by russg Quote Link to comment Share on other sites More sharing options...
Chris Strong Posted July 8, 2014 Share Posted July 8, 2014 I have some BASIC programs that do it, but I don't have sio2pc set up either. I ran that years ago, but I don't remember what I found out. I need to find time to get my Corvus running. Quote Link to comment Share on other sites More sharing options...
+Larry Posted July 8, 2014 Share Posted July 8, 2014 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 Quote Link to comment Share on other sites More sharing options...
fibrewire Posted July 8, 2014 Author Share Posted July 8, 2014 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. Quote Link to comment Share on other sites More sharing options...
Chris Strong Posted July 9, 2014 Share Posted July 9, 2014 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. Quote Link to comment Share on other sites More sharing options...
+Larry Posted July 10, 2014 Share Posted July 10, 2014 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.