neighbor@csd4.milw.wisc.edu (Jeffrey Alan Ding) (03/06/88)
Here is a test for you people who still think that write protection
is software.
I patched my DOS 3.3 to ignore the write protect sense. There are two
areas in DOS where it checks for the write protect, once in the
write a byte subroutine and once in the write an address field.
The code to sense write protect in a diskII device is as follows.
LDA $C08D,X X is slot # * 16
LDA $C08E,X
BMI $YYYY YYYY is memory address of exit routine for
a write protect being detected.
This code appears in DOS 3.3 at locations $B830 and $BC57 (on 48k or greater
machine) The code is as follows:
$B830:BD 8D C0 LDA $C08D,X
$B833:BD 8E C0 LDA $C08E,X
$B836:30 70 BMI $B8B4
$BC57:BD 8D C0 LDA $C08D,X
$BC5A:BD 8E C0 LDA $C08E,X
$BC5D:30 5E BMI $BCBD
What you have to do to ignore the write protect switch is to remove the
branches. Change the following bytes: $B836,$B837,$BC5D,$BC5E to: $EA
It should look like this then:
$B836:EA NOP
$B837:EA NOP
$B85D:EA NOP
$B85E:EA NOP
Type in this from basic after booting a DOS 3.3 disk to apply patches:
]CALL-151
*B836:EA EA N B85D:EA EA N 3D0G
BE SURE YOU HAVE A WRITE PROTECT TAB ON YOUR DISK AND THAT IT IS NOT
TRANSPARENT (FOR THOSE WITH OPTICAL SENSORS.)
Then type the following:
]CATALOG
]INIT HELLO
]CATALOG
If your HELLO program is locked on the disk, you will get a FILE LOCKED
error message.
If the hardware on your computer is working properly and if you followed
my instructions your disk should be unchanged.
Please let me know if you have had any negative effects....
neighbor@csd4.milw.wisc.edu
P.S. I DO recommend you do this to an original disk. Because nothing
will happen!!!!!!!!!!!!