home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
SIMTEL
/
CPMUG
/
CPMUG038.ARK
/
RSPEED.ASM
< prev
next >
Wrap
Assembly Source File
|
1984-04-29
|
2KB
|
189 lines
;
; TITLE DISK HARDWARE READ SPEED TESTER
; FILENAME RSPEED.ASM
; AUTHOR Robert A. Van Valzah 4/27/79
;
;
MAXSECT EQU 100
$-MACRO
;
PRINT MACRO STRING
LOCAL MSG,AROUND
MVI C,9
LXI D,MSG
CALL 5
JMP AROUND
MSG DB 13,10,STRING,'$'
AROUND:
ENDM
;
;
ORG 100H
ENTRY:
LXI SP,STACK ;LOCAL STACK
CALL GETVEC ;LINK TO CBIOS
PRINT 'RSPEED.COM 5/21/79'
PRINT 'ENTER NUMBER OF SECTORS PER TRACK? '
CALL GETNUM
STA NSECTS
SETSKEW:
PRINT 'ENTER SKEW FACTOR? '
CALL GETNUM
STA SKEW
ORA A
JNZ FILLTABL
PRINT 'ENTER SECTOR NUMBERS, ZERO WHEN DONE'
LXI H,STABL
TABSEC:
CALL GETNUM
MOV M,A
ORA A
JZ GOTTABL
INX H
JMP TABSEC
FILLTABL:
LXI H,SUT
MVI C,MAXSECT
ZAPTABL:
MVI M,0
INX H
DCR C
JNZ ZAPTABL
LXI D,STABL+1
LDA NSECTS
MOV C,A
MVI B,1
STORSEC:
MOV A,B
STAX D
MVI A,LOW(STABL)
ADD C
CMP E
INX D
MVI A,0
STAX D
JZ GOTTABL
CALL SECAD
MVI M,0FFH ;SET SECTOR USED FLAG
LDA SKEW
ADD B
MOV B,A
MTYSEC:
CALL BMODC
CALL SECAD
MOV A,M
ORA A
JZ STORSEC
INR B
JMP MTYSEC
;
SECAD:
LXI H,SUT
MOV A,B
ADD L
MOV L,A
RNC
INR H
RET
;
BMODC:
MOV A,B
SUB C
RZ
RC
MOV B,A
RET
;
GOTTABL:
PRINT 'PRESS ANY KEY TO READ, S TO RESET SKEW . .'
RDKEY:
CALL CONIN
CPI 'S'
JZ SETSKEW
CPI 3
JZ 0
LXI H,STABL+1
RDSEC:
MOV A,M
ORA A
JZ GOTTABL
MOV C,A
PUSH H
CALL SETSEC
CALL READ
POP H
INX H
JMP RDSEC
;
GETNUM:
MVI C,0
GN1:
PUSH B
CALL CONIN
MOV C,A
PUSH PSW
CALL CONOUT
POP PSW
POP B
CPI 13
MOV B,A
MOV A,C
RZ
ADD A
ADD A
ADD C
ADD A
MOV C,A
MOV A,B
SUI '0'
JC GN1
CPI '9'+1
JNC GN1
ADD C
MOV C,A
JMP GN1
;
GETVEC:
LHLD 1
LXI D,VECTORS
MVI C,14*3
GV1:
MOV A,M
STAX D
INX H
INX D
DCR C
JNZ GV1
RET
;
; RAM AREAS
;
VECTORS:
WBOOT DS 3
CSTS DS 3
CONIN DS 3
CONOUT DS 3
LIST DS 3
PUNCH DS 3
READER DS 3
HOME DS 3
SELDSK DS 3
SETTRK DS 3
SETSEC DS 3
SETDMA DS 3
READ DS 3
WRITE DS 3
;
SKEW DB 0
NSECTS DB 0
;
DS 30
STACK:
;
STABL:
DS MAXSECT
SUT:
DS MAXSECT
;
END ENTRY