Jump to content
IGNORED

Floppy Formatter from code, questions...


Recommended Posts

So, I've called level 2 floppy disk format subprogram 0x11 in the disk controller and get back my formatted ( low level, no filesystem ) disk, with the total sectors returned.

 

Then I have to construct the filesystem... which is basically echoing the format parameters, the volume name, some flags, and the available sector bitmap to sector 0.

 

I see the docs for the Myarc HFDC that says the interleave can be varied. But their description of the sector 0 layout is unchanged from TI's. 

 

The interleave in the format request goes in the 'Density' byte when making the request. Does it also need to go in the 'Density' byte in sector 0, or does it go in the track metadata that is encapsulating sectors? 

 

 

  • Like 1
Link to comment
Share on other sites

42 minutes ago, jedimatt42 said:

The interleave in the format request goes in the 'Density' byte when making the request. Does it also need to go in the 'Density' byte in sector 0, or does it go in the track metadata that is encapsulating sectors? 

The interleave value is not retained within the sector 0 density byte.

 

There is a good working summary of the Volume Information Block (VIB) via ninerpedia: https://www.ninerpedia.org/wiki/File_systems

 

Perhaps worth noting:

 

High-density (3) is intended for use with the HFDC and Geneve for high density disks, e.g. 1.44MB.  Ultra-density (4) is used to extend beyond the physical disk capacity for ramdisk applicatons, e.g., 12,800 sector format. Data chain pointers (clusters) are calculated differently for these two cases.

 

With respect to the bitmap and allocated sectors, it is best practice (I would prefer to say "required") to set the corresponding bits in the bitmap for both (1) the used sectors and (2) the sector(s) beyond the formatted capacity. Strange things happen with some DSRs and software if the total sector count and bitmap allocation do not match, usually due to one or more boundary-related assumptions. I do not recall if this is mentioned in the TI or Myarc documentation. 

 

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

regarding the bitmap, yes, it is required to set the inaccessible sectors as used.  The TI FDC calculates available sectors based on that bitmap.

 

"... HFDC and Geneve for high desnity disks" <- does that mean the HFDC did not support high density on a 4A? 

 

  • Like 1
Link to comment
Share on other sites

12 minutes ago, jedimatt42 said:

"... HFDC and Geneve for high desnity disks" <- does that mean the HFDC did not support high density on a 4A? 

Yes and no.  The hardware supports high density on both the /4a and Geneve, however, the HFDC's /4A DSR (software) was never finalized/updated to support the necessary file structure calculations.

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

19 hours ago, jedimatt42 said:

regarding the bitmap, yes, it is required to set the inaccessible sectors as used

Agreed. It took me a while to remember where I read the statement regarding inaccessible sectors.

See screenshot from "Software Specification for the 99_4 Disk Peripheral V2.0 03-28-1983": 

 

image.thumb.png.e3f03e760f89a199da4f6053e8ba40d2.png

 

  • Like 4
Link to comment
Share on other sites

The interleave factors of sectors in a track is then stored in the sector headers in the track itself, not in any directory.

At least that's how it works with the CorComp controller. I've not experimented with this with any other controller.

  • Like 1
Link to comment
Share on other sites

4 hours ago, apersson850 said:

No, there is no table or such. They show up as a surprise. You read them and if you find the correct one, you use it. If not, you read the next.

Originally documented  in Shugart manuals, for instance SA-850 drive. 
 

The allocation bitmap rules in 99/4 Disk Interface are the same as you'd find in other 990 operating systems.  Under Floppy Disk Physical Format, in TX990 and DX10 Systems Programmer Guides.  Except that the allocation map was spread over many sectors of track 0, supporting 1.2 MB floppies. Weirdly, AU size could be 1 sector or a multiple of three. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...