| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Release id #160665 : Stepper Test 1.0
Copying the production notes below, but I'd really like to see some results from other people's drives for this one. |
|
... 25 posts hidden. Click here to view all posts.... |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Krill, do you mean just the scattered individual black pixels? Head probably hasn't quite finished settling yet.
Groepaz: that drive is *fast*! Did you install a turbo?? Code would have to have a bit of a redesign to zoom any more tightly on that top edge. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
hedning kindly sent me some test images for a few of his drives last night.
1541-II (cold):
1541-II (warm):
Fairly similar to my 1541, albeit with a bit more of a wave to the right. Vestigial traces of a stall spike before it's warmed up, but otherwise quite well behaved.
The dark pixels in the bottom third of the graph is probably just the stepper test jumping a track just after the last successful test, then never recovering. I should probably fix that..
Oceanic:
A very narrow "oops I've stalled" spike here.
Dwelling on the half track for 20-24 bycles on this one is a terrible plan.
1571:
Rattletastic :) So much noise right of the spike! Interesting how much more quickly the head settles if T1 was short. |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
what is t1/t2/bycles ? :) |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
A bycle is 256 cycles. It's a portmanteau of byte and cycle. This is the usual granularity with which you use timers on a VIA, especially for head stepping.
To seek to the next track, you have to skip a half-track in between. So the head is stepped two times, with T1 and T2 denoting the wait times between issueing half-track-steps or starting to read the next track.
The goal of this tool is to find a safe optimum across all drives, that is a minimal sum of T1+T2, and also to determine where to best stuff in transfer of the previous track's last block during trackstep, for overall optimisation of loading times. |
| |
soci
Registered: Sep 2003 Posts: 481 |
Possibly I've misunderstood the last sentence but I'd like to note that tracks are not aligned on real disks.
Even if it's assumed that the track skew is sort of consistent for the stock ROM format it'll be different for JiffyDOS, with a 1571 and with fast and custom formatters.
For worst case timing a track change must be assumed to be longer than a revolution (>200ms). |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
This is about the track itself, not individual blocks. You can assume out-of-order block loading. It's really just about determining when any block on the destination track can be read safely.
As for track skew and alignment, i have something on my list to fix that. :) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
Perfect explanation, thanks. :-) |
| |
soci
Registered: Sep 2003 Posts: 481 |
This sounds like I'll need to change my mailbox soon as swapping will pick up again ;)
More seriously the sectors could be realigned with a small program on the demo disk once it was written out.
Unfortunately this will likely trip on a "gapped" disk fault on a custom formatted disk unless the headers are kept in the same place which is difficult.
Is it really worth it over out of order loading (with prefetch)? |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
Quoting sociMore seriously the sectors could be realigned with a small program on the demo disk once it was written out. I'm thinking of a custom format routine that would align the tracks and have the same size for all block gaps (so no big tailgap) and then simply disk-copying or transferring stuff onto that disk.
Quoting sociUnfortunately this will likely trip on a "gapped" disk fault on a custom formatted disk unless the headers are kept in the same place which is difficult. Not sure what you mean, but if you were reformatting disks on the fly, you should read a track, format it, then write back its contents.
Quoting sociIs it really worth it over out of order loading (with prefetch)? This isn't mutually exclusive. You can have out-of-order loading on top of a perfectly-formatted disk, or plain sequential loading on a perfectly-formatted disk with meticulously hand-crafted file layout. :) But the point is also getting rid of the big tailgap (which is bad for KERNAL format and worse for fast formatters), such that you get the same, maximum time between reading arbitrary blocks, thus missing fewer blocks after transferring a previous block. |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
But let's not hijack this thread and move the UniFormAt (R)(TM) discussion somewhere else. :) |
Previous - 1 | 2 | 3 | 4 - Next |