home *** CD-ROM | disk | FTP | other *** search
/ Shareware Supreme Volume 6 #1 / swsii.zip / swsii / 167 / FLOP286.ZIP / FASTOFF.ASM next >
Assembly Source File  |  1987-02-25  |  2KB  |  49 lines

  1. ; FASTOFF.ASM - TURNS OFF DISKETTE DRIVE MOTOR MUCH QUICKER
  2. ; =========================================================
  3. BIOS_SEG       SEGMENT AT 40H          ;ESTABLISH BIOS SEG
  4.          ASSUME CS:BIOS_SEG
  5.          ORG    0040H
  6. MOTOR_COUNT:    DB    ?
  7. BIOS_SEG       ENDS
  8. ;
  9. CSEG     SEGMENT
  10.          ASSUME CS:CSEG
  11.          ORG    100H
  12. START:   JMP SHORT INITIAL
  13. ROM_INT8 DD     ?                      ;ORIG TIMER INT VEC ADD
  14. ;
  15. INT8     PROC    FAR
  16.          ASSUME  CS:CSEG, DS:BIOS_SEG
  17.          PUSH    DS
  18.          PUSH    AX
  19.          MOV     AX,BIOS_SEG           ;GET BIOS DATA SEG
  20.          MOV     DS,AX                 ;ADDRESSABILITY
  21. ;
  22.          CMP BYTE PTR MOTOR_COUNT,2       ;IS IT ONE
  23.          JB      RETURN                ;IF YES, QUIT
  24.          DEC BYTE PTR MOTOR_COUNT         ;ELSE DECREMENT
  25. ;
  26. RETURN:
  27.          POP     AX
  28.          POP     DS
  29.          JMP     ROM_INT8              ;GO TO ORIGINAL TIMER ROUTINE
  30. INT8     ENDP
  31. ;*********************************************************************
  32. INITIAL:
  33.          ASSUME  CS:CSEG, DS:CSEG
  34. ;
  35.          MOV     AX,3508H              ;GO GET OLD VECTOR
  36.          INT     21H
  37. ;
  38.          MOV WORD PTR [ROM_INT8] ,BX   ;SAVE OLD VECTOR OFFSET
  39.          MOV WORD PTR [ROM_INT8+2],ES  ;SAVE OLD VECTOR SEGMENT
  40. ;
  41.          MOV     DX,OFFSET INT8        ;SETUP TO CHANGE VECTOR
  42.          MOV     AX,2508H
  43.          INT     21H
  44. ;
  45.          MOV     DX,OFFSET INITIAL     ;SETUP TSR
  46.          INT     27H
  47. CSEG     ENDS
  48.          END     START
  49.