home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 June / SIMTEL_0692.cdr / msdos / dskutl / diskf1.asm < prev    next >
Assembly Source File  |  1990-02-15  |  4KB  |  184 lines

  1. Date: Mon, 5 Feb 90 09:54:26 EST
  2. From: "Jimmy Law" <PHYJLAW%UOGUELPH.bitnet@ugw.utcs.utoronto.ca>
  3. Subject: AT drive problems
  4.  
  5. Re vol90/13 on AT floppy drive problem - queries from E Mueller and R Schuerger
  6. reply.  I had the same problem when I up the crystal speed on my True Blue
  7. AT from 6 MHz to 10 MHz.  The solution is to increase the timing loop to
  8. wait for the Floppy controller.  Since you can't change the BIOS, only way is
  9. to tap into the disk interrupt vector.
  10. The following code did it for me:
  11.  
  12. DEBUG DUMP OF DISK.COM
  13.  
  14. 1635:0100  EB 4C 90 00 00 00 00 3D-01 90 74 05 2E FF 2E 03   .L.....=..t.....
  15. 1635:0110  01 9C 2E FF 1E 03 01 72-11 B3 06 31 C9 F6 06 3E   .......r...3...>
  16. 1635:0120  00 80 75 06 E2 F7 FE CB-75 F3 CA 02 00 1E B8 15   ..u.....u.......
  17. 1635:0130  35 CD 21 2E 8C 06 05 01-2E 89 1E 03 01 BA 07 01   5.!.............
  18. 1635:0140  B8 15 25 CD 21 1F E8 60-00 BA 2D 01 CD 27 1E B8   ..%.!..`..-..'..
  19. 1635:0150  15 35 CD 21 1F 89 DF BE-07 01 B9 26 00 F3 A6 75   .5.!.......&...u
  20. 1635:0160  CC BA 69 01 B4 09 CD 21-C3 0D 0A 20 41 54 2D 46   ..i....!... AT-F
  21. 1635:0170  6C 6F 70 70 79 20 50 61-74 63 68 20 66 6F 72 20   loppy Patch for
  22. 1635:0180  38 20 4D 68 7A 0D 0A 20-41 6C 72 65 61 64 79 20   8 Mhz.. Already
  23. 1635:0190  69 6E 73 74 61 6C 6C 65-64 20 38 36 2F 30 35 2F   installed 86/05/
  24. 1635:01A0  33 31 20 20 20 20 0D 0A-24 BA B1 01 B4 09 CD 21   31    ..$......!
  25. 1635:01B0  C3 0D 0A 20 41 54 2D 46-6C 6F 70 70 79 20 50 61   ... AT-Floppy Pa
  26. 1635:01C0  74 63 68 20 66 6F 72 20-38 20 4D 68 7A 0D 0A 20   tch for 8 Mhz..
  27. 1635:01D0  28 63 29 20 4A 20 4C 61-77 20 55 6F 47 20 50 68   (c) J Law UoG Ph
  28. 1635:01E0  79 73 69 63 73 20 38 36-2F 30 35 2F 33 31 0D 0A   ysics 86/05/31..
  29. 1635:01F0  24 4B                                             $K
  30.  
  31. To recreate diskf.com:
  32.  
  33. a) Place the code below in a file : diskf
  34. b) execute :  debug <diskf
  35. c) this will give you the TSR program diskf.com
  36. d) place it in your autoexec.bat
  37. e) I have it working on my true Blue-AT souped up to 10MHz from 6MHz
  38. f) The longer timing loop means there will be no" disk not ready" message
  39.    but you will sometime notice a slightly longer wait for Floppy disk access.
  40. g) Does not affect Hard disk access.
  41.  
  42. ENJOY!
  43.  ----cut here-----place in file diskf----
  44.   ndiskf2.com
  45.   rCX
  46.   F1
  47.   a100
  48.   JMP     014E
  49.   NOP
  50.   ADD     [BX+SI],AL
  51.   ADD     [BX+SI],AL
  52.   CMP     AX,9001
  53.   JZ      0111
  54.   CS:
  55.   JMP     FAR [0103]
  56.   PUSHF
  57.   CS:
  58.   CALL    FAR [0103]
  59.   JB      012A
  60.   MOV     BL,06
  61.   XOR     CX,CX
  62.   TEST    BYTE PTR [003E],80
  63.   JNZ     012A
  64.   LOOP    011D
  65.   DEC     BL
  66.   JNZ     011D
  67.   RETF    0002
  68.   PUSH    DS
  69.   MOV     AX,3515
  70.   INT     21
  71.   CS:
  72.   MOV     [0105],ES
  73.   CS:
  74.   MOV     [0103],BX
  75.   MOV     DX,0107
  76.   MOV     AX,2515
  77.   INT     21
  78.   POP     DS
  79.   CALL    01A9
  80.   MOV     DX,012D
  81.   INT     27
  82.   PUSH    DS
  83.   MOV     AX,3515
  84.   INT     21
  85.   POP     DS
  86.   MOV     DI,BX
  87.   MOV     SI,0107
  88.   MOV     CX,0026
  89.   REPZ
  90.   CMPSB
  91.   JNZ     012D
  92.   MOV     DX,0169
  93.   MOV     AH,09
  94.   INT     21
  95.   RET
  96.   OR      AX,200A
  97.   INC     CX
  98.   PUSH    SP
  99.   SUB     AX,6C46
  100.   DB      6F
  101.   JO      01E4
  102.   JNS     0196
  103.   PUSH    AX
  104.   DB      61
  105.   JZ      01DD
  106.   DB      68
  107.   AND     [BP+6F],AH
  108.   JB      01A0
  109.   CMP     [BX+SI],AH
  110.   DEC     BP
  111.   DB      68
  112.   JPE     0193
  113.   OR      AH,[BX+SI]
  114.   INC     CX
  115.   DB      6C
  116.   JB      01F1
  117.   DB      61
  118.   DB      64
  119.   JNS     01B0
  120.   DB      69
  121.   DB      6E
  122.   JNB     0208
  123.   DB      61
  124.   DB      6C
  125.   DB      6C
  126.   DB      65
  127.   DB      64
  128.   AND     [BX+SI],BH
  129.   SS:
  130.   DAS
  131.   XOR     [DI],DH
  132.   DAS
  133.   XOR     SI,[BX+DI]
  134.   AND     [BX+SI],AH
  135.   AND     [BX+SI],AH
  136.   OR      AX,240A
  137.   MOV     DX,01B1
  138.   MOV     AH,09
  139.   INT     21
  140.   RET
  141.   OR      AX,200A
  142.   INC     CX
  143.   PUSH    SP
  144.   SUB     AX,6C46
  145.   DB      6F
  146.   JO      022C
  147.   JNS     01DE
  148.   PUSH    AX
  149.   DB      61
  150.   JZ      0225
  151.   DB      68
  152.   AND     [BP+6F],AH
  153.   JB      01E8
  154.   CMP     [BX+SI],AH
  155.   DEC     BP
  156.   DB      68
  157.   JPE     01DB
  158.   OR      AH,[BX+SI]
  159.   SUB     [BP+DI+29],AH
  160.   AND     [BP+SI+20],CL
  161.   DEC     SP
  162.   DB      61
  163.   JA      01FA
  164.   PUSH    BP
  165.   DB      6F
  166.   INC     DI
  167.   AND     [BX+SI+68],DL
  168.   JNS     0255
  169.   DB      69
  170.   DB      63
  171.   JNB     0206
  172.   CMP     [302F],DH
  173.   XOR     AX,332F
  174.   XOR     [DI],CX
  175.   OR      AH,[SI]
  176.   DEC     BX
  177.                                <--Make sure blank line here(delete this comment)
  178. w
  179. q
  180. ------cut here---------------
  181.  
  182. ------------------------------
  183.  
  184.