• Please review our updated Terms and Rules here

Format with write protect on...

That bit of code seems to do little more than reset the motor time out and clear the interrupt pending flag.

The Phoenix books on the PC CBIOS are very useful. If this is the complete 13h/05 request code, the actual formatting must take place in the FORMAT.COM program itself. Have you tried to run it on a standard PC?
 
Do you mean running the MS-DOS 6.22 format program on another PC? It fails immediately.
 
For whatever it's worth I don't think I've had any issues with any version of DOS formatting disks on my DMA-less 1000 EX and HX, so I'm kind of skeptical of this being a BIOS issue. For sanity's sake I just tried doing a "format a:/u /s" on my HX with PC-DOS 7/2000 (which should share most if not all of its code with MS-DOS) and it worked without a problem.

(I don't have a physical disk drive hooked up to it but it was able to format an image on the Gotek+Flashfoppy.)

For laughs I tried yanking the USB stick out of the gotek in the middle of the format; the result was a "Not ready; Format terminated". I assume it must detect that state by reading "something" during the format since these machines don't have diskchg/READY support? (Line 34 is NC on the floppy header.) But whether whatever its doing is verifying the format of tracks it just wrote or what, I have no idea.
 
Perhaps someone else with a Tandy 1000 or 1000A could try to format a write protected disk at some point.
 
For laughs I tried yanking the USB stick out of the gotek in the middle of the format; the result was a "Not ready; Format terminated". I assume it must detect that state by reading "something" during the format since these machines don't have diskchg/READY support? (Line 34 is NC on the floppy header.) But whether whatever its doing is verifying the format of tracks it just wrote or what, I have no idea.

It's all done with timers. Basically, if nothing happens within a few revs, the controller is reset and a "not ready" (actually BIOS code 80h) status is returned. There's no direct way to sample the index/ line with a 765-type controller. The 765 does have READY/ detection, but the PC and its ilk tie the line (pin 35) is tied high.
 
Perhaps someone else with a Tandy 1000 or 1000A could try to format a write protected disk at some point.

I tried setting a disk image on my USB stick read-only with ATTRIB +R and this is what I get on that image with flashfloppy. (Which according to the docs honors this attribute as a write-protect flag.)

1: If I do this:

echo "hi there" > a:file.txt

It returns:

Write protect error writing drive A
Abort, Retry, Fail?

2: And "format a: /u" returns (after the "insert new diskette for drive A" prompt):

Not ready
Format terminated

Just silently trying to churn through the format does not seem to be the correct behavior for a write-protected disk unless the BIOS in the 1000A is a lot different from the later models.
 
It is quite a puzzle.

I downloaded pcem and used the same ROM from my Tandy 1000A that I dumped earlier in it. It fails immediately on a write protected image file, so I think this may rule out the bios.

I then set read only on a file on the gotek. It gives a write protect error if I try to rename a file. The format however runs all the way through and fails at the end just like it does with the 360K drive. So I don't think it is the drive.

I tried a different floppy controller IC, it isn't that.

What else could it be!
 
UNLESS, pcem supports DMA mode. Maybe the non-DMA does this, but the DMA doesn't since they are different functions in the BIOS.
 
I've tried both the Tandy MS-DOS 3.30 format and also the stock MS-DOS 6.22 format - both do the same thing.
 
https://ia803208.us.archive.org/15/...y_1000_Computer_Service_Manual_1985_Tandy.pdf

Pg 122 (PDF Index) or 131 (document index) shows the floppy controller logic diagram. It appears the Write Protect line passes through a 74LS14 inverter at U85 pins 3 and 4. Track 0, drive ready and Index also go across the the same inverter at U85. Wondering if maybe there's an issue around U85 or a faulty U85. There's also a 1k pullup resistor on that line which is pin 4 of RP3. Maybe take a look at RP3 also.
 
The thing that I don't get is that if the machine were not at all seeing the write protect signal from the drive, then it would happily copy files to a formatted disk only to have them vanish. Formatting would complain about being unable to write the boot sector at the end rather than a write protect error.

So it almost sounds like the write protect signal is only sometimes getting through. Perhaps it is shorted with something else? But from the drive's perspective, formatting and writing are the same thing.

BTW, I would test writing individual sectors with a tool like Norton Utilities 4.5 and see if it detects the write protect. ImageDisk won't run on a Tandy 1000, will it? If it did, that would also be a good tool to try because it bypasses DOS and BIOS. (it even has a custom track format option).
 
chris_nh - does your Tandy 1000 have a DMA controller installed?

I switched to a new floppy cable that was longer. My first mistake was not getting rid of the flip in the cable thinking it would just change the DS assignments, but it seemed to somehow damage the open collector 7417 which controlled the motor. That I've replaced.

SomeGuy - It isn't intermittent at all.
 
Can you pull it and test it without DMA? There are a whole different set of functions in the bios for non-dma disk access.

(I do understand if you don't want to take it apart!)
 
I've got my Tandy apart, but can't locate the DMA controller.

On a 1000/1000a with a period-correct memory card removing the memory card will do it. Of course then you only have 128k to work with but it should be enough for formatting a disk.

As I said, my DMA-less EX and HX don’t act like this, they behave like a normal PC.
 
Back
Top