Jump to content

Recommended Posts

In Issue 60 (May 1988) of Analog Magazine I had an article published called DOS CD.  I had purchased my very first Double Density disk drive and could not understand why DOS was telling me I could not load any more files on the disk even though there were plenty of sectors available.  It turns out that, on double density disks, Atari DOS only writes to the first 128 bytes of the directory and leaves the second half of the directory blank.  In other words, even though the sectors are 256 bytes in length, Atari DOS treats the directory as if it were still single density.  Therefore you cannot write more than 64 files to the disk even though there is still plenty of room.

 

So I wrote a patch to DOS that allowed it to write 256 byte directory entries.  That meant that you could now store up to 128 files on a double density disk.

 

Back when I wrote the article, the version of DOS CD that was published was incompatible with regular Atari DOS.  If you booted into regular DOS and tried to see the files on a DOS CD disk, you got nothing.  This always bothered me so years later, I rewrote DOS CD to make it more compatible with regular DOS.  In the new version, if you boot into regular DOS and issue a directory command on a DOS CD disk, you will see files 1 through 64.  Files 65 through 128 will be invisible to regular DOS.   But boot from your DOS CD disk and all 128 files are visible and usable.

 

Finally I added one more patch.  Because of a bug in Atari DOS, sector 720 is never used.  Atari DOS cannot write to this sector.  I hate waste, so the new version of DOS CD now can read and write from sector 720.  There is nothing you have to do to make this work; DOS CD will simply write to sector 720 whenever it is free.  For instance, when you create a brand new disk, format it and write DOS files to it, one of the sectors that DOS.SYS resides on will be sector 720.

 

DOS CD is smart.  You can install it on both single and double density disks.  If the disk is single density, DOS CD will act exactly like regular DOS.  But when it senses a double density disk, it will write 256 byte directory entries instead of 128 byte entries.

 

If anyone is interested in using DOS CD, download the attached ATR.  Boot from it and then use INIT to format a new disk.  It does not matter if the new disk is single or double density.  Then write new DOS files to the formatted disk.

 

If you want a more detailed explanation of how DOS CD works, you can read the magazine article here: http://www.atarimania.com/mags/pdf/analog_no_60.pdf.  Keep in mind though that the version of DOS CD mentioned in the article has been supplanted by this new version.

 

 

DOSXL with DOS CD.atr

  • Like 8
  • Thanks 2

Share this post


Link to post
Share on other sites

maybe you would implement subdirectories?

Share this post


Link to post
Share on other sites

ATARI made a number of DOS versions over the years... 2.0 s 2.0 d 2.5 3 DOS XE DOS 4 etc etc... You might find checking them out a fun thing to do...

Share this post


Link to post
Share on other sites
9 hours ago, _The Doctor__ said:

ATARI made a number of DOS versions over the years... 2.0 s 2.0 d 2.5 3

Wasn't DOS 3 the one you got with a new 1050 drive that you immediately re-formatted

and used it for something else :)

 

  • Like 1
  • Haha 3

Share this post


Link to post
Share on other sites

Darn near all of them, but the initial release error was eventually fixed and while DOS 3 used a bit more space than it needed to, it had it's uses. Hole punched label DOS 3 being the fixed version.

 

Share this post


Link to post
Share on other sites

I've been playing around with the ATR this AM, and ran into some issues.  First question, is this a modified version of DOS.SYS on your ATR?  In your original article, you had Convert files, but presume this is already converted?  Second, presume that INITDBL from any DOS XL disk will work OK? (The INIT on your ATR is not modified?) 

Share this post


Link to post
Share on other sites

In my original post I mentioned that I had rewritten DOSCD to make it compatible with the original version of DOS.  Yes the article talks about converting files but this is not necessary under the new version of DOSCD.

 

The version of DOS.SYS on the atr already has DOSCD installed.  Also, INIT and INITDBL both will with fine.

 

If you boot from this atr and use INIT or INITDBL to create a new disk, it will also have DOSCD on it.

 

What issues are you having with it?

 

Share this post


Link to post
Share on other sites

Let me clarify some things concerning the version of DOSCD I posted.

 

If you read the article, you can ignore everything in the article concerning incompatibilities with Atari DOS.  You can also ignore any reference to a conversion program.  When the article was published, the version of DOSCD was not compatible with Atari DOS.

 

The new version of DOSCD is compatible (with some caveats which I will explain later).

 

The patches that I implemented are in the DOS.SYS file.  Nothing was changed in the INIT program or the INITDBL program.  You can go to your old DOSXL disk and use the INITDBL if you need it, or you can copy it to the ATR I posted.

 

If you boot from a disk with DOSCD the following will apply:

 

1)  Single density disks will be treated exactly the same as Atari DOS.  On a single density disk you can only store 64 files.  This is true with DOSCD as well

2)  Double density disks can store up to 128 files.  Do NOT store files on an Atari DOS double density disk however since DOSCD uses the directory differently.  Once you have booted from a DOSCD disk, you should only write files to other disks that have DOSCD.  Technically, you can write files to single density disks with no problems.  But you should never write files to Atari DOS double density disks.

 

If you boot from a disk with Atari DOS the following applies:

 

1)  You can view the first 64 files on a disk with DOSCD.

2)  Files 65-128 on the DOSCD disk will be invisible if you booted from Atari DOS.

 

Have I thoroughly confused everyone.  Lol.

  • Thanks 1

Share this post


Link to post
Share on other sites

I'd look for a simplistic way to check dos type before writing. I  like the modifications however murphy lives with us all.

Share this post


Link to post
Share on other sites
33 minutes ago, _The Doctor__ said:

I'd look for a simplistic way to check dos type before writing. I  like the modifications however murphy lives with us all.

If you're not sure which version of DOS you booted from, run CHECKDOS on the attached ATR.  It will tell you whether your version of DOS is DOSCD or Atari DOS.

CheckDOS.atr

Share this post


Link to post
Share on other sites

I don't know why I did not think of this before.  Attached are two versions of DOSCD, one for DOSXL and one for Atari DOS.  In these versions, the banner at the top of the screen clearly displays DOSCD to let you know which version you are running.

Atari Dos with DOS CD.atr DOSXL with DOS CD.atr

  • Like 1

Share this post


Link to post
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...