Jump to content
IGNORED

New page about mass storage by Atari ST family


Recommended Posts

http://atari.8bitchip.info/ASTfamMS.html

Well, it was time to make new, up to date page about it. It is based on my own experience, HW designs, SW coding, tests, experiments during 30 years. Not copying from diverse sources, contrary, rather correcting some errors ?

At moment I don't know what else to add there - suggestions are welcome.

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

Good text but I do have additional questions/notes:

 

“And because it it needs byte-swapped (low Endian) parameters in boot sectors, FAT (file allocation table). Sadly, compatibility goes only for partitions up to 32 MB size, above it it is not compatible, and the reason is 16-bit sector addressing used in TOS filesystem (16 bit addressing means exactly 32 MB with regular sector size of 512 bytes).  So, above 32 MB TOS uses so called large logical sectors like 1 KB, 2 KB ... 8 KB”

 

(Sidenote: you have “it it”)

 

Reading this paragraph I got impression that DOS does not support “large logic sectors” (larger then 512 bytes)?

 

 

“TOS 1.00-1.02 :  max size is 256 MB.  Max 14 partitions, C-P .

TOS 1.04-3.06, 4.02:  max size is 512 MB.  Max 14 partitions, C-P”

 

Why there is a difference of max partition size betwen TOS 1.00-1.02 and 1.04...?

 

 

“ACSI . It is actually special revision of old SCSI specification.”

 

Old version of SCSI specification or some pre-release of SCSI specification (since ACSI predate SCSI standardization - 1986. according to wikipedia)?

 

 

“We know that the best IFs”

 

What is IF? Interface? Is it referef to only hardware or also software part of Interface?

 

 

And one typo: “Atari seld made”

 

— that’s it for now :) I read only half of article...

Link to comment
Share on other sites

1 hour ago, calimero said:

“ACSI . It is actually special revision of old SCSI specification.”

The Atari Hard Disk Controller is off board and is sent commands using an ANSI X3T9.2 SCSI-like (Small Computer Systems Interface) command descriptor block protocol.

The Atari Hard Disk Interface (AHDI) supports a minimal subset of SCSI commands (Class 0 OpCodes).

SCSI History Spring 1979.

Edited by Chri O.
Link to comment
Share on other sites

16 hours ago, calimero said:

Good text but I do have additional questions/notes:

 

“And because it it needs byte-swapped (low Endian) parameters in boot sectors, FAT (file allocation table). Sadly, compatibility goes only for partitions up to 32 MB size, above it it is not compatible, and the reason is 16-bit sector addressing used in TOS filesystem (16 bit addressing means exactly 32 MB with regular sector size of 512 bytes).  So, above 32 MB TOS uses so called large logical sectors like 1 KB, 2 KB ... 8 KB”

(Sidenote: you have “it it”)

Reading this paragraph I got impression that DOS does not support “large logic sectors” (larger then 512 bytes)?

 

“TOS 1.00-1.02 :  max size is 256 MB.  Max 14 partitions, C-P .

TOS 1.04-3.06, 4.02:  max size is 512 MB.  Max 14 partitions, C-P”

 

Why there is a difference of max partition size betwen TOS 1.00-1.02 and 1.04...?

 

“ACSI . It is actually special revision of old SCSI specification.”

 

Old version of SCSI specification or some pre-release of SCSI specification (since ACSI predate SCSI standardization - 1986. according to wikipedia)?

 

“We know that the best IFs”

What is IF? Interface? Is it referef to only hardware or also software part of Interface?

 

And one typo: “Atari seld made”

 

— that’s it for now :) I read only half of article...

Thanx for noting on typos, errors.  I corrected them and some others.

Large logical (not logic, pls. take more care) sectors. TOS surely supports them, because - and now comes simple math: if sector address inside 1 partition is given with 16 bit value, it means that max sector count is 65536, ergo 32 MB max partition size. Why DRI/Atari did not use 32 bits for sector addressing (on 32-bit CPU !) is one of biggest mysteries (and it is commented even on some old C source of GEMDOS - 'it should be 32-bit') . As said, only explanation is compiler, or just programmers did not use it properly (hard to believe that it was so even in 1989).

So, if want larger partition sizes with 16 bit sector addressing must use larger 'sectors' - and that's called large logical sector. For instance hard disk driver must be aware of it's size, because TOS just gives request for transfer, where sector count is one of parameters, other is address (actually first sector address). All it must be multiplied with logical sector size/512. That parameter is present in BPB (bios parameter block), and it is hard disk driver which sets values in it.

The real bad thing is need for larger buffers - it is min 32 MB for 8 KB logical sectors, while with regular  512 byte sectors 2 KB is enough.

And of course it affects speed too - even if only 512 byte transfer is needed must transfer whole logical sector size, because no other way that TOS says to driver how much to transfer.

 

Why it is less in TOS 1.00 and 1.02 ? - because they were not so experienced in it, and as usual, developing good SW needs lot of time.

And maybe because compiler version available in that time . Honestly, I don't care much for those TOS versions. I had 1.00 in my ST when bought it (1987 spring), and it was upgraded to 1.04 in 1989. Surely will not do some tracing and disassembling of them.

 

ACSI, or SASI, or old SCSI - whatever we call it is for sure SCSI considering used commands - they are present in later SCSI revisions. Only that in later revisions there are more parameters, and target number is not in top 3 bits of command - what results in only 5 bits for command self - so can use only 0 - $1F for commands.  And it might be that Atari saved on cable and connectors - by SCSI there is GND line by all data lines, for less noise sensitivity, and that of course would not fit in 19 pins.

 

Yeah, IF is abbrev for interface. And ICD developed for sure beside HW SW too, and the protocol - what I call ICD extended ACSI protocol - it is solved really smart, and is used by new, SD card adapters too. The main part of protocol is using $1F value as first (when command is expected), and it was not used in old ACSI/SASI. After that it became practically SCSI-1 protocol - need to send in order command (8 bit) and parameters, DMA start command (10 bytes totally instead 6 bytes by ACSI) - and they went practically direct to SCSI drive.

 

 

 

  • Like 3
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...