> > > > > Whay about the interleave and skew? Is that a way to get it > > faster? > > To tell the truth, as far as my tests indicate, the problem's with the speed > of the SAM... > > To read a sector at the moment, you have to do the equivalent of: > > ld a,1 > ld c,sector_count > out (c),a > inc c > ld a,sector > out (c),a > inc c > ld a,tracklow > out (c),a > inc c > ld a,trackhigh > out (c),a > inc c > ld a,head_drive > out (c),a > inc c > ld a,&20 ;(read sector) > out (c),a > > main.loop: > in a,(status) > bit 3,a > jr nz,read.byte > rla > ret nc > jr main.loop > > read.byte: > in a,(data) > ld (hl),a > inc hl > in a,(data) > ld (hl),a > inc hl > jr main.loop >
This is what's called polling :) It's exactly the same piece of code that I use to read a sector on an ordinary floppy.... And I _still_ can't get it to read the disc the way I'd like it to....... :-| > > And that's effectively it... the place where it slows down is that main > loop... and I've not even put the error checking in it (which is mostly > redundant -- you can do it at the end of that loop anyway) > > But there you go... Martin has nearly finished designing the DMA system -- > it has to be a custom job, but there you go... Goody! > > Si > > -- * Frode Tennebo * It's better to live life in * * email: [EMAIL PROTECTED] * wealth and die poor, than live * * phone: +47 712 57716 * life in poverty and die rich. * * snail: Parkv. 31, 6400 Molde, NORWAY * -Frode Tennebo*

