Date : Mon, 07 Nov 1983 12:39:42 EST
From : Keith Petersen <w8sdz@brl-bmd>
Subject: Dysan disk diagnostic program
Dysan Corp. has released their disk diagnostic program to the
public domain, thanks to Dave Hardy for suggesting it to them.
The program is available on SIMTEL20 as:
MICRO:<CPM.DSKUTL>DDD.ASM
MICRO*<CPM.DSKUTL>DDD.DOC
It has to be modified for different hardware but is an excellent
starting point if you can add the code for your system. Here is
the short DOC file that explains:
---
Following is the documentation provided by Dysan Corporation for
use with their Digital Diagnostic Diskette (DDD).
Using the DDD, it is possible to align most floppy drives
with no test equipment - other than your computer and a
screwdriver or two.
The program DDD.ASM is a generic one, and is useless until
modified for a specific computer or controller board. We will
be maintaining copies of all of these "specific" versions on
Technical CBBS ( (313) 846-6127 ), so if you modify this program
for your own use, please pass a copy along to us there, so that
others may also benefit from Dysan's contribution of this
program to the public.
-Dave Hardy, CDP Corp., Technical CBBS
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Requirements for using Dysan's Diagnostic Program
DYSAN CORPORATION
CE DIVISION
DRIVE DIAGNOSTIC PROGRAM
for CP/M-80
The Drive Diagnostic Program is a sample program showing how
the Digital Diagnostic Diskette (DDD) can be used for Floppy
Drive checking.
The program requires the following hardware to run:
CRT with cursor positioning and clear screen commands.
(The program is currently configured for a Hazeltine 1500.)
CP/M-80 system with at least 32k of memory.
At least one 8" or 5.25" floppy disk drive.
This source program is provided on an 8" single density, one-
sided diskette that is compatible with the CP/M-80 operating
system. The program provided will not run "as-is"; it must
be modified by someone experienced in 8080 Assembly language,
CP/M-80 and disk drive controller interfacing.
In order to make the program run with the target system, there
are four assembly language subroutines that must be modified
to interface with the system's disk controller/drive(s):
1) "SELECT" - Selects and Homes the drive.
2) "TRACK" - Seeks to the track number found in register A.
3) "HOME" - Restores the selected drive's head to track 0.
4) "READ" - Reads sector in register "A" and exits with
error status.
The above routines must be coded within the Diagnostic Program,
instead of calling the routines through the BIOS, because the
BIOS may interfere with disk I/O operation (either by trapping
disk errors or deblocking sector calls, i.e. where sector sizes
are greater than 128 bytes).
The sample program was coded for use with the Western Digital
FD-1793 floppy disk controller IC. The program will work with
other controllers (i.e. NEC uPD765 and Intel 8272 FDCs) by
modifying the source program, as indicated above. Because some
disk controllers don't allow programmed access to the drive's
INDEX signal (i.e. NEC and Intel), "Index Timing" and "Spindle
Speed" testing are not possible with the current program.