Interleave, some help needed

Interleave, some help needed

From: Ruud_at_baltissen.org
Date: Mon, 01 Jun 2009 21:29:16 +0200
Message-ID: <4A24482C.3161.1B01BEF@Ruud.Baltissen.org>
Hallo allemaal,


I have a little problem which probably has a simple solution but I don't 
see it. I already found out that (for the moment) an interleave of four 
works out fine for all tracks. I calculate the next sector by adding 4 and 
if the result is equal or beyond the number of sectors on that track, I 
subtract this number. For tracks 25..30 that doesn't work out because in 
this way I never get to the odd tracks. So here I use interleave 5.

I changed the program by using tables for every density. The tabel for 
tracks 25..30:

CTab1
		.by 5, 6, 7, 8, 9, 10, 11, 12, 13
		.by 14, 15, 16, 17, 0, 1, 2, 3, 4

The idea is simple, use the last read sector as index for the next sector. 
So the order will be 0 -> 5 -> 10 -> 15 -> 2 -> 6 etc. In this case I 
started with 0 but the idea is to be able to start with any sector.

Using an interleave of 4 would result in:

		.by 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
		.by 14, 15, 16, 17, 0, 1, 2, 3

But of course this goes wrong as the odd sectors aren't read. My question: 
what table should I use to benefit at least a bit of interleave 4?

I tried with swapping the 0 and 1. Works out fine if you start reading with 
sector 0. But if you start with another sector on one moment you will go 
from 15 to 0 as the difference is only three sectors, the drive has to wait 
one turn and there goes all you the time you previously gained. I tried 
some other schemes but they didn't work out. Maybe it is simple but maybe 
my mind isn't with it anymore.

Why? I also tried to write data to the floppy but that didn't work out 
either. For the two day in a row already! I used the routine used by the 
1541 itself, didn't change one byte. But if I try to read the directory: 
23, read error. Most strange thing: reading the BAM table and the first 
directory sector prooved that the dat was fine, except that I got the data 
only after a lot track shifting, rattling and other funny noises. I hate 
these kind of errors. Writing or reading wrong data is no problem: you 
always cab track it down to bytes. But this is a type of error that goes a 
bit too deep for the moment. But I know, stayers get the loot (or something 
like this) :)
 

--
    ___
   / __|__
  / /  |_/     Groetjes, Ruud Baltissen
  \ \__|_\
   \___|       http://Ruud.C64.org







       Message was sent through the cbm-hackers mailing list
Received on 2009-06-01 21:40:03

Archive generated by hypermail 2.2.0.