Op Sat, 08 Oct 2011 12:15:34 +0200 schreef Rich Mellor
<r...@rwapservices.co.uk>:
I am trying desparately to get the ED disk drive image working with the
HxC floppy disk drive emulator.
The ED disk drive parameters are
80 tracks
2 sides
10 sectors per track
sector is 2048 bytes
My BASIC code to create a copy of a disk appears below:
100 OPEN_IN #3,'flp2_*D4e'
105 OPEN_NEW #4,ram1_ED_img
107 FOR tracks=0 TO 79
108 FOR sides=0 TO 1
109 FOR sector=1 TO 10
110 GET #3\sector+sides*256+tracks*2^16,sector$
112 AT 0,0
115 PRINT tracks,sides,sector;' '
120 PRINT #4;sector$;
122 END FOR sector
125 END FOR sides
127 END FOR tracks
130 CLOSE
Do I have this working the right way around (or should the sides loop be
outside the tracks loop?)
This does create an image of the correct size, but I can't get the QL to
read it once converted.
To convert it to the HxC format, I have tried a bitrate of 500000 (same
as a HD disk drive, although this may be wrong), and an RPM of 300
(although I am told it may need to be 150)
Interleave is also set at 1
Any other suggestions on where I might be going wrong?
DM5 confirms: 80 tracks, 10 sectors/track, 2 sides (20 sectors/cylinder,
not 36 sectors)
This program is probably fine if you copy them back to a disk in the same
way.
The HxC is however not a double sided drive so you may need to get the
sectors in the right order for the ED-driver to recognise it.
The DP Media Manager SE manual states that files are written in blocks of
3 sectors (chapter 5).
Although this was written for DD disks it may still be useful for HD/ED.
These blocks are written as follows: (track/side/sector)
0/0/0, 0/0/3, 0/0/6, 0/1/0, 0/1/3, 0/1/6
0/0/1, 0/0/4, 0/0/7, 0/1/1, 0/1/4, 0/1/7
0/0/2, 0/0/5, 0/0/8, 0/1/2, 0/1/5, 0/1/8 ...
So 6 blocks, 18 sectors, one cylinder, filling track 0.
Then for track 1 to n it gets more complicated, an offset is used to find
the next sector.
(entry + (track * offset)) MOD sectors_per_track
(Now it gets confusing, MMSE states the offset =5, DM5 reports 320! And I
don't get how this works.)
Some speculation.
As you can see sides are used in turn, as ED uses 1 sector/block this
could mean:
0/0/0, 0/1/0, 0/0/1, 0/1/1, ... 20 blocks, filling 20 sectors.
(or 0/0/0, 0/1/0, 0/0/2, 0/1/2, ... with 1 sector interleave.)
This means the sides loop should be the inside loop.
We need more info on how Miracle did this from Stuart Honeyball or TT or
Marcel(?).
Even info on the IBM 2.88 drive is scarce on the internet, or I am not
that fluent in Googleing.
I did find however they were used in the NeXT computers.
Bob
--
The BSJR QL software site at: http://members.chello.nl/b.spelten/ql/
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm