<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Function: speed up the speed of the floppy disk
Source: "Software News" 1995 Combined 60 pages
; Author: Chengdu Lu Jun (Purple Endurer Fixed a bug caused program can not compile the place)
;principle:
We all know that the disk is not immediately removed after the floppy drive reading and writing, because the disk is removed before the floppy drive is not extinguished.
Wrap the disk. Waiting for the driver light in a large number of read and write floppy disks, it is very urgent. HD-COPY
Readers can experience, HD-COPY uses when the floppy drive is written, the driver fork is turned off, and it can be
Take out the disk, very convenient. From here we can also see how the software can shorten the driver lights out
;between.
A 40:40 address in the BIOS data area, saved a count indicating the drive motor on time, each clock (1 / 18.2
; Seconds) beat, count the countd; When the count is 0, the motor is stopped, the driver is turned off, and the count is restored to 256, counting in 0
And repeated cycles between 256. So we can shorten this time to reduce the time of 0.0, so that the driver light is quenched early.
Unexpected. The hard interruption of the PC and its compatible machine completes two functions, which first reduces this count, then notify the timer
The application issues an INT 1CH interrupt. So in this program we have modified 08h interruption, make each 08h
The interrupt reduces the count 2. This way we wait for the driver light to shorten half, speed up the speed of the magnetic drive.
;
The COM file is written, and INT 27h is used.
Therefore, it is necessary to run with EXE2BIN to be converted to a COM file.
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
PCOM segment byte public
Assume CS: PCOM, DS: PCOM
ORG 100H
Fastoff Proc Far
Start:
JMP Short Install
OLD_INT_08H_ENTRY DD 00000000H; save the original 08H interrupt program
Fastoff ENDP
INT_08H_ENTRY PROC FAR
Push DS
Push ax; save the site
MOV AX, 40H
MOV DS, AX
CMP BYTE PTR DS: 40H, 2; Counting less than 2 no longer
JB EXIT; minus the count
Dec byte PTR DS: 40H
; !!!!!!!!!!!!!!!!!!!!!!!!!!!
If the above 3 sentences is changed to MOV BYTE PTR DS: 40H, -1
This number will never be reduced, and the floppy drive is not never destroyed?
Who dares to use floppy disks ;-)
; !!!!!!!!!!!!!!!!!!!!!!!!!!!
EXIT:
POP AX
POP DS
JMP CS: OLD_INT_08H_ENTRY; call the original 08H interrupt subroutine
INSTALL:
Lea DX, Copyright; Print Program Information
MOV AH, 09HINT 21H
MOV AH, 35H
MOV Al, 08H
INT 21h; Take the original 08h interrupt vector
MOV Word PTR OLD_INT_08H_ENTRY, BX
MOV Word PTR OLD_INT_08H_ENTRY 2, ES
MOV DX, OFFSET INT_08H_ENTRY
Mov Ah, 25h
MOV Al, 08H; Set new 08h interrupt vector
Int 21h
LEA DX, FASTOFF 100; original: Lea DX, Finish 100
INT 27h; resident exit
Copyright DB 'Fastoff Install. Lujun.1995', 13, 10, '$'
INT_08H_ENTRY ENDP
PCOM ENDS
End Start