Program to measure 810 disk speed#

General Information

Author: Carl D. Howe
Language: BASIC
Compiler/Interpreter: Atari Basic
Published: 28 Oct 1981 19:35:38 EST (Wednesday)

How to use#

The following is my DSKRPM program that I described in a previous message. It is not entirely deterministic; I assume that this is because of heterodyning between BASIC execution and the disk rotation. However, I have not really verified this fact; if anyone has any ideas any ideas, please let me know.

Carl cdh@BBN-UNIX

P.S. The proper number to get is about 292 RPM.

01 LET READS=25
05 DIM BUF$(256),PROG$(20)
10 GOSUB 2000:GOSUB 1000
15 P1=PEEK(18):P2=PEEK(19):P3=PEEK(20)
20 FOR I=1 TO READS
30 GOSUB 1000
40 NEXT I
43 Q1=PEEK(18):Q2=PEEK(19):Q3=PEEK(20)
45 BGTIME=P1*65536+P2*256+P3
50 DNTIME=Q1*65536+Q2*256+Q3
60 PRINT 3600*READS/(DNTIME-BGTIME);" RPM"
70 GOTO 10
1000 REM THIS IS THE READ SECTOR ROUTINE
1010 DCB=3*256
1030 POKE DCB+1,1
1040 POKE DCB+2,5*16+2
1050 HIADDR=INT(ADR(BUF$)/256)
1060 LOWADDR=ADR(BUF$)-HIADDR*256
1070 POKE DCB+4,LOWADDR
1080 POKE DCB+5,HIADDR
1090 POKE DCB+10,1
1100 POKE DCB+11,0
1110 A=USR(B):RETURN 
1900 REM THIS ROUTINE GENERATES A
1902 REM SMALL MACHINE LANGUAGE
1904 REM ROUTINE AS FOLLOWS:
1906 REM PLA
1908 REM JSR DSKINV
1910 REM RTS
2000 B=ADR(PROG$)+1
2010 POKE B,6*16+8
2020 POKE B+1,2*16
2030 POKE B+2,5*16+3
2040 POKE B+3,14*16+4
2050 POKE B+4,6*16
2060 RETURN 

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
atr
SPED810.ATR 133.1 kB 1 20-Oct-2015 23:30 Florian Dingler
« This page (revision-1) was last changed on 08-Mar-2010 21:17 by Carsten Strotmann