> 
> > 
> > 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*

Reply via email to