English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 04 January 2018, 16:00   #1
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
Amiga Floppy Disk layout

Hi !

In france they are a old edition book from Micro Application : LA BIBLE DE L'AMIGA
They're exist 2 Tome (Tome1 and so, Tome2 that is a the same version with correction of tome1)

in Tome 1 I have this picture :



I think there is an error.
The first tracks (so 0), start on Side0 (which is upper, which is the FACE1 on the picture) and, on Amigados have 11 sectors/side

If we use the sector information, the eleventh (yes because we start from 00->10 = 11 blocs) sector/bloc is the first sector on other side


So for me, it's a mistake in this picture...

Blocs 11-21 must be on Face2 on this picture
and
Blocs 00-10 must be on Face1 on this picture.

If anybody confirm this ?

Last edited by prowler; 05 January 2018 at 00:55. Reason: Embedded the image for clarity.
Giants is offline  
Old 04 January 2018, 17:34   #2
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
No. Block 0 (the boot block) starts on the lower side of the disk. Block 11 (first sector of track 1) is on the upper side.
phx is offline  
Old 04 January 2018, 17:49   #3
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
Are you sure about this ?

Because when we start a doscopy with X-copy, it start first whith 'UPPER SIDE',
So x-copy don't start in block 0?
Strange isn't ?

With MKIII, a RT 0 2 50000 , go in your way, Start reading Lower side and after Upper.

Why X-copy start from upper side ?
And burstnibler start from lower side... -_-'

And, i think they are not really 'standard' name for Head (0, 1 sometimes even 2).

Best is to talk about 'upper' and 'lower'

Last edited by Giants; 04 January 2018 at 18:01.
Giants is offline  
Old 05 January 2018, 00:29   #4
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
I'm pretty sure about it, because I wrote a trackloader which sets CIA-B port B bit 2 (DSKSIDE) to select the lower head, whenever I access an even track. And it reads the data I expect it to read.

According to the Hardware Reference Manual DSKSIDE=0 means upper head and DSKSIDE=1 means lower head.
phx is offline  
Old 05 January 2018, 10:13   #5
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
#Block 0 (the boot block) starts on the lower side of the disk.
#...DSKSIDE=0 means upper head and DSKSIDE=1 means lower head.

So Start begin from DSKSIDE=1 !?
Giants is offline  
Old 05 January 2018, 13:02   #6
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
Quote:
Originally Posted by Giants View Post
So Start begin from DSKSIDE=1 !?
Yes. Which is the lower side. So your graphic is correct.
phx is offline  
Old 05 January 2018, 17:30   #7
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
OK, so This =>


Last edited by Giants; 05 January 2018 at 20:42. Reason: Html error
Giants is offline  
Old 27 May 2018, 00:29   #8
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
Warning.

I arrived quite randomly on this page (I was looking for a utility for MFM conversion ..) and I noticed that former picture
can be misleading for those that approach the Amiga floppy system.

In the Hardware Reference Manual, as already specified by phx, it's clearly indicated that DSKSIDE*=zero implies the upper head.
But this, like many other CIA's signals, is negated.

So actually to select lower side you need to write 1 to DSKSIDE*.
Sectors count up from cylinder 0 side 0 sector 0 (outer disk position, lower side).
Alternatively Amiga uses tracks (where track 0 is [cyl.side]0.0, 1 is 0.1, 2 is 1.0, 3 is 1.1, 4 is 2.0 and so on).

The correct version:

Code:
Blocks 11-21 (track 1)   [Upper head] Side 1 | DSKSIDE*=0
                         --------------------------------    (cylinder 0)
Blocks 00-10 (track 0)   [Lower head] Side 0 | DSKSIDE*=1

Last edited by ross; 27 May 2018 at 01:01. Reason: improved my beautiful chart :P
ross is offline  
Old 03 August 2018, 13:12   #9
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
Exact !
Thks
Giants is offline  
Old 05 April 2023, 18:37   #10
nocash
Registered User
 
Join Date: Feb 2016
Location: Homeless
Posts: 61
Quote:
Originally Posted by ross View Post
In the Hardware Reference Manual, as already specified by phx, it's clearly indicated that DSKSIDE*=zero implies the upper head.
But this, like many other CIA's signals, is negated.
To me, that's still totally unclear...
The manual doesn't say if "zero" means "0 volts" or "side 0".
The asterix in DSKSIDE* would imply active low, so 0 volts would mean side 1.
But, in my copy of the Amiga Hardware Reference Manual, it's called DSKSIDE, not DSKSIDE*.
And anyways, I would be very surprised if Commodore did actually really know whether they had stored block 0 on the upper or lower side : )
(unless they had a good reason to care about sides, like needing to load the bootblock from single-sided disks).

The only way to be sure would be to remove or disconnect the lower drive head, or somehow block/erase the magnet field on the lower side. And then test which blocks are still accessible.

---

In the UNWARP software, the sides are called TOP and BOT, with the bootblock in block 0 being on TOP side (but there's a 50:50 chance that they got that wrong, and TOP is actually bottom).

The trackdisk device functions are also confusing, ETD_FORMAT does use Offset=(track*2+side)*1600h. But ETD_RAWWRITE seems to use Offset=(track*2)+(1-side). Either one seems to have "side" inverted in software, and it might be further inverted in hardware.

---

Also in the UNWARP software: That program defaults to allow to write to Track FFFFh (Track -1) up to Track 0052h (Track 82). I know that one may access hidden tracks in range 80..82.
But Track -1, is that also possible? Can one issue an extra step, after triggering the track 0 sensor, and before hitting a hard boundary?

EDIT: Warp is using Track FFFFh as dummy track number in Text chunks (added via +TEXTFILE in warp commandline), I guess it does never use Track FFFFh in actual data track chunks.

Last edited by nocash; 06 April 2023 at 22:19.
nocash is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
What's your favorite Amiga floppy disk artwork? alkis21 Retrogaming General Discussion 23 18 July 2018 13:24
read amiga floppy disk on a pc reddwarf4ever support.FS-UAE 2 12 January 2016 13:45
Format Floppy Disk For Amiga Jawsykilla support.Hardware 31 22 December 2009 23:59
How can a floppy be a PC 720k disk and an Amiga 880k disk at the same time? dreamkatcha New to Emulation or Amiga scene 33 24 July 2004 14:25
Amiga nd the CatWeasel Floppy Disk Controller wibble82 support.Hardware 4 17 May 2002 20:13

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 07:13.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.08428 seconds with 13 queries