Jump to content
IGNORED

DOS 2.0D bug: Duplicate Disk reads first three sectors with 256 byte DBYT


tschak909

Recommended Posts

Post title says it all.

 

I discovered this while testing different DOSes with FujiNet. If you try to Duplicate a double density disk, the duplicate will fail, because it attempts to read sectors 1 2 and 3 with a DBYT of 256 instead of 128.

 

This is the DOS I was testing with:Dos 2.0d.atr

 

Did anyone else run into this?

-Thom

  • Like 1
Link to comment
Share on other sites

All drives format the 1st 3 sectors (maybe except duplicator?) as 256 bytes but are programmed to send or receive only the 1st 128 bytes. That limitation  is due to the os disk interface which expects 128 byte only sectors during the disk boot. Only 1st sector needs to be 128 bytes but someone somewhere decided on 3.

 

James

  • Like 1
Link to comment
Share on other sites

What DOS is this? Did Atari release a DOS 2.0d other than the 815? Verify is set?

 

You can't make the first 3 sectors 128 bytes and have all others as 256. All the sectors have to be either 128 or 256 bytes. When I try your DOS 2.0d it does not set DD in the drive before it tries to format so the drive returns 128 bytes where I assume the DOS is looking for 256 bytes. On your DOS, $70E is $02 - 256 byte sectors. So, the DOS looks for 256 bytes where the USD 1050 is still set to SD. Format fails...

 

When you say "Duplicate", what do you mean? A DD sector copier? Duplicate Disk?

 

Bob

 

  • Like 1
Link to comment
Share on other sites

iirc 2.0d expects the drive default config to be double density or the last density the drive read, unless you change it before hand... but something still sounds wrong in that duplicate disk should not be expecting the drive is still in that mode or rather that the drive your copying to is in the correct mode.

  • Like 1
Link to comment
Share on other sites

I formatted a disk in DD using a different DOS and then used DUP SECTORS (1-720) in DISKWIZ II to copy your disk. Works fine.

 

If you boot that 2.0d disk and try to Duplicate Disk (J), it fails. Works fine with other DOSes. You probably have an 815 problem. Bad DOS - only works on an 815, probably.

  • Like 2
Link to comment
Share on other sites

The 815 is double-density ONLY, but does still return only 128 bytes for the first 3 sectors. It also does not support the PERCOM block, and the original DOS 2.0D does not support the PERCOM block. The 815 may possibly respond differently to 256 byte read or write commands for sectors 1-3, but not many of those around to test with. :)

 

The original 2.0D probably duplicates a DD disk just fine when using an 815, since its always in DD mode. The original version is not "fundamentally broken" - it was just designed for a drive that we are not using.

 

Percom, who created the first double-density drive for the Atari, made a drive that was capable of BOTH densities, so there needed to be a way to switch the drive density. Their configuration block became the standard replicated by every other double-density capable drive going forward.

 

Originally, Percom released instructions to create a patch to DOS 2, I believe called "2.0P" adding the "P" set  density option.

 

More hacks came to DOS 2.0 for better and automatic density switching, the pinnacle being Smart DOS, which was the result of a heavily modified DOS 2.0.

Good Antic interview with the Creator of SmartDOS here:

http://ataripodcast.libsyn.com/antic-interview-41-ron-bieber-smartdos

  • Like 2
Link to comment
Share on other sites

@Nezgar You might want to look at the SIO commands coming across. Sectors 1-3 are being specified with a DBYT of 256, so is the 815 sending a 256 byte payload (with the bottom half of these sectors being zeroed?)

 

The problem here is that I have no way of knowing when this happens... the SIO protocol does not expose the expected payload size as part of the command frame (it simply expects both sides to have already agreed upon the payload before transmission.)

 

I know deliberating over this is outright silly. This is just me and my OCD trying to test compatibility with everything under the sun. I already have a problem with XDOS 2.43 due to how it handles high speed (it uses the high bit of comnd), and it fails miserably when presented with my US Doubler emulation. urgh.

 

-Thom

Link to comment
Share on other sites

Basically I wouldn't use an original DOS 2.0D for any regression testing, as it was created prior to the existence of density switching and the Percom configuration block.

 

Unfortunately, the mysteries of behaviour of requesting 256 bytes from sectors 1-3 can only be answered by someone with an 815, or if it gets accurately emulated. (or maybe scouring the 815 source code)

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

1 hour ago, CharlieChaplin said:

There was also a DOS 2.0 double density builder by AMDEK...

 

Amdek_DD_disk_Builder.jpg.dd74c8ea5c6560ec77e32674cebfda75.jpg

 

 

DOS20D_Amdek.zip 7.93 kB · 0 downloads

Nice - and we know now that Amdek wrote their own drive ROM and did not just rebrand PERCOM's ROM's in their drives like Astra and Concorde did:

https://atariage.com/forums/topic/295368-exotic-disk-drives/?do=findComment&comment=4349527

 

So that utility appears better than what I believe PERCOM originally provided which was a series of pokes to modifiy DOS 2.0S

 

Interesting, i tried it out. The resulting "2.1A" does not add an explicit density switch menu option, and still seems not friendly when presented with a single density disk. (Attempting to copy from D2: double density, to D1: single density)

amdek-dos-21a.png.eadd1f08c36f76cc27ed090163c10bbc.png

  • Like 1
Link to comment
Share on other sites

26 minutes ago, tschak909 said:

does anyone have the percom patch documented?

The process and utility is mentioned in this Creative Computing article:

https://www.atarimagazines.com/creative/v9n6/114_An_alternative_to_the_Ata.php

 

Supposedly Percom supplied a disk with a "BLD" utility, which sounds very similar to the DDPATCH.COM on the Amdek disk.

 

"You now have a double density disk which can be used only in the Percom drive, but which will allow normal operation with the 810 if you are also using 810 drives."


Also curious to obtain the "drive controller demonstration program" mentioned in this article.

Link to comment
Share on other sites

I tried your DOS in an 815. I could format and write DOS OK. The resulting disk would boot just fine. Duplicate Disk fails. Same failure, I think. Sounds the same, read one sector in DD and then one sector in SD??

 

It reads $168 in DD and then tries to read $001 in SD. Fails, of course...

 

Bob

  • Like 1
Link to comment
Share on other sites

Please, i'd like to see if this is actually a bug.

-Thom

Just now, bob1200xl said:

I have the DOS that came with the 815 - original Atari label, and write-protected (no punch). Well, actually Kevin has it, but I made a certified copy, if you're interested. I also have a DOS2.0D that has the density switch.

 

Bob

 

 

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...