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
/
CPMUG016.ARK
/
SEEK.ASM
< prev
next >
Wrap
Assembly Source File
|
1984-04-29
|
2KB
|
46 lines
; SEEK BY F. PFAFMAN 11-18-77
; SEEK IS A UTILITY PROGRAM TO AID IN THE
; ALIGNMENT PROCEDURE FOR THE DISK DRIVE.
; SENSE SWITCH 15 SELECTS THE DRIVE (UP = A
; DOWN = B). SENSE SWITCHES 8 THRU 14
; SELECT THE TRACK, IN HEX, FOR THE HEAD
; TO SEEK. THE PROGRAM PREVENTS A TRACK
; GREATER THAN 4C HEX FROM BEING SELECTED
; INADVERTENTLY.
; WRITTEN FOR A TARBELL FLOPPY DISK INTERFACE.
ORG 100H
DSTAT EQU 0F8H ;DISK 1771 STATUS PORT.
SNSW EQU 0FFH ;FRONT PANEL SENSE SWITCH PORT.
DCOM EQU 0F8H ;DISK 1771 COMMAND PORT.
DEXT EQU 0FCH ;DISK EXTENDED COMMAND PORT.
DDATA EQU 0FBH ;DISK 1771 DATA PORT
WAIT EQU 0FCH ;DISK WAIT COMMAND.
MVI B,0FFH ;INITIALIZE WITH PHONY DATA
START IN SNSW ;GET SENSE SWITCH DATA
ANI 80H ;SAVE DRIVE SELECT BIT.
CMP B ;CHECK FOR DIFFERENT DRIVE.
JZ SEEK ;IF NOT SELECT NEW DRIVE.
MOV B,A ;SAVE DRIVE IN B REGISTER.
RRC ;ROTATE BIT TO PROPER PLACE.
RRC
RRC
ORI 22H ;GET CODE TO SET LATCH.
OUT DEXT ;SEND TO EXTENDED COMMAND PORT.
MVI A,0D0H ;CLEAR ANY PENDING COMMAND.
OUT DCOM ;SEND TO 1771 COMMAND PORT.
HOM1 IN DSTAT ;READ 1771 STATUS PORT.
RRC ;LOOK AT LSB.
JC HOM1 ;WAIT FOR NOT BUSY..
MVI A,2 ;10 MS STEP RATE.
OUT DCOM ;ISSUE HOME COMMAND.
SEEK IN SNSW ;GET SENSE SWITCH DATA.
ANI 7FH ;STRIP DRIVE BIT OFF.
CPI 77 ;END OF DISK TRACKS.
JM TRAK ;TRACK IS WITHIN RANGE.
ANI 76 ;LIMIT TRACK TRAVEL.
TRAK OUT DDATA ;OUTPUT TRACK TO 1771.
MVI A,16H ;SEEK - 10MS STEEPS.
OUT DCOM ;ISSUE COMMAND TO 1771.
JMP START ;DO IT AGAIN.
END 100