In preparing for VCFMW, I was dismayed to find that one of my PCjr’s floppy drives (a Qumetrak 142) has a very sticky spindle, or a slightly stretched belt, or both. The end result is that the diskette spins quite unevenly, like the belt is slipping. To fix this, there are a lot of things I could do:
- Order a new belt (someone on the PCjr forums thinks he has a lead on a source)
- Try to rough up the inside of the belt so it has more friction
- Partially take apart the drive and adjust two screws that will move the motor away from the spindle which will give the belt more tension
…or, take the lazy way out. I noticed that, no matter how off the drive speed was, it usually managed to load the boot sector. So, I created a boot floppy, loaded the boot sector into debug, and patched the boot code to this:
-l 100 1 0 1 -u 013e 1236:013E B402 MOV AH,02 1236:0140 B001 MOV AL,01 1236:0142 0E PUSH CS 1236:0143 07 POP ES 1236:0144 BB0010 MOV BX,1000 1236:0147 FEC5 INC CH 1236:0149 80E51F AND CH,1F 1236:014C B101 MOV CL,01 1236:014E B200 MOV DL,00 1236:0150 B600 MOV DH,00 1236:0152 CD13 INT 13 1236:0154 EBE8 JMP 013E
(I know the code can be optimized smaller, no need to tell me — this means you, Peter ;-) This will proceed to read 1 sector from tracks 0 through 31 and then jump back to track 0 and do it again, endlessly.
I wrote this back to sector 0 and booted the disk. At first, my drive sounded like this: Chunk….. chunk chunk…. chunk…. … ….. chunk chunk chunk…..
An hour of it running and now I hear this: Chunk chunk chunk chunk chunk chunk chunk chunk chunk chunk chunk chunk chunk chunk chunk chunk Problem solved! Well, until Saturday anyway, when I’ll likely need to run this again for an hour to work the drive. But that will be enough for the tutorial diskette to run for the patrons.
PS: That boot sector also makes for a handy exercise to use with a floppy cleaning disk.