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 >
Assembly Source File  |  1984-04-29  |  2KB  |  46 lines

  1. ;    SEEK BY F. PFAFMAN 11-18-77
  2. ;    SEEK IS A UTILITY PROGRAM TO AID IN THE
  3. ;    ALIGNMENT PROCEDURE FOR THE DISK DRIVE.
  4. ;    SENSE SWITCH 15 SELECTS THE DRIVE (UP = A
  5. ;    DOWN = B).  SENSE SWITCHES 8 THRU 14
  6. ;    SELECT THE TRACK, IN HEX, FOR THE HEAD
  7. ;    TO SEEK.  THE PROGRAM PREVENTS A TRACK
  8. ;    GREATER THAN 4C HEX FROM BEING SELECTED
  9. ;    INADVERTENTLY.
  10. ;    WRITTEN FOR A TARBELL FLOPPY DISK INTERFACE.
  11.     ORG 100H
  12. DSTAT    EQU    0F8H    ;DISK 1771 STATUS PORT.
  13. SNSW    EQU    0FFH    ;FRONT PANEL SENSE SWITCH PORT.
  14. DCOM    EQU    0F8H    ;DISK 1771 COMMAND PORT.
  15. DEXT    EQU    0FCH    ;DISK EXTENDED COMMAND PORT.
  16. DDATA    EQU    0FBH    ;DISK 1771 DATA PORT
  17. WAIT    EQU    0FCH    ;DISK WAIT COMMAND.
  18.     MVI    B,0FFH    ;INITIALIZE WITH PHONY DATA
  19. START    IN    SNSW    ;GET SENSE SWITCH DATA
  20.     ANI    80H    ;SAVE DRIVE SELECT BIT.
  21.     CMP    B    ;CHECK FOR DIFFERENT DRIVE.
  22.     JZ    SEEK    ;IF NOT SELECT NEW DRIVE.
  23.     MOV    B,A    ;SAVE DRIVE IN B REGISTER.
  24.     RRC        ;ROTATE BIT TO PROPER PLACE.
  25.     RRC
  26.     RRC
  27.     ORI    22H    ;GET CODE TO SET LATCH.
  28.     OUT    DEXT    ;SEND TO EXTENDED COMMAND PORT.
  29.     MVI    A,0D0H    ;CLEAR ANY PENDING COMMAND.
  30.     OUT    DCOM    ;SEND TO 1771 COMMAND PORT.
  31. HOM1    IN    DSTAT    ;READ 1771 STATUS PORT.
  32.     RRC        ;LOOK AT LSB.
  33.     JC    HOM1    ;WAIT FOR NOT BUSY..
  34.     MVI    A,2    ;10 MS STEP RATE.
  35.     OUT    DCOM    ;ISSUE HOME COMMAND.
  36. SEEK    IN    SNSW    ;GET SENSE SWITCH DATA.
  37.     ANI    7FH    ;STRIP DRIVE BIT OFF.
  38.     CPI    77    ;END OF DISK TRACKS.
  39.     JM    TRAK    ;TRACK IS WITHIN RANGE.
  40.     ANI    76    ;LIMIT TRACK TRAVEL.
  41. TRAK    OUT    DDATA    ;OUTPUT TRACK TO 1771.
  42.     MVI    A,16H    ;SEEK - 10MS STEEPS.
  43.     OUT    DCOM    ;ISSUE COMMAND TO 1771.
  44.     JMP    START    ;DO IT AGAIN.
  45.     END    100
  46.