On (09 Nov 94) [EMAIL PROTECTED] wrote...

 s > From: Simon Cooke <[EMAIL PROTECTED]>
 s > Date: Wed, 9 Nov 1994 11:24:14 +0000 (GMT)
 s > 
 s > > 
 s > > Whay about the interleave and skew? Is that a way to get it
 s > > faster?

 s > To tell the truth, as far as my tests indicate, the problem's with the
 s > speed of the SAM...

NOT!

 s > To read a sector at the moment, you have to do the equivalent of:

[Setup deleted]

 s > main.loop:
 s >    in a,(status)
 s >    bit 3,a
 s >    jr nz,read.byte
 s >    rla
 s >    ret nc
 s >    jr main.loop
 s > 
 s > read.byte:
 s >    in a,(data)
 s >    ld (hl),a
 s >    inc hl
 s >    in a,(data)
 s >    ld (hl),a
 s >    inc hl
 s >    jr main.loop
 s > 
 s > 
 s > And that's effectively it... the place where it slows down is that
 s > main loop... and I've not even put the error checking in it (which is
 s > mostly redundant -- you can do it at the end of that loop anyway)

Si, What are you doing! replace that last bit thus:-

read.byte:
 ld c,data
 ld b,0
 inir  ; reads 256 bytes
 inir  ; reads next 256 bytes
 echk  ; a macro to check for an unrecovered read error
 ret

Once it has been determined that data is ready to be read, then at least one 
sector is in the buffer waiting! I'm sure I've told you this before! There's 
no need to check bit 3 on every word read this aint a dumb controller chipset 
ala bobs HD;-)

Somthing like you're check before each read will be fine for getting drive ID 
data and when reading other variable length data fields during diadnostics ie 
sector + ECC data etc. but NOT for single or multiple sector-sized reads or 
writes:-)

Hey Si don't I get a prototype board? or at least a pcb layout so I can build 
my own to begin development of my cp/m+ bios with it?

If the prototype inteface is functional then maybe it'd be a good idea to let 
serious programers buy them at cost so we can get into talking to the HD an 
produce some standard utils that'll just need port changes to work with the 
real thing when that is complete:-)

Otherwise you'll be the only one fluent at talking low-level IDE I/O and ALL 
the utility software will be down to you to develop before you can get the
multiROM in a sale-able condition!

Regards
Johnathan.

PS re hacking the HD into Masterdos....
Why not hack the RamDrive routines instead and get upto 5 x 780k native 
partitions on it?

PPS If I was BOB I'd page the DISC2 address space between the FDC and the IDE 
card using spare bits in the internal sam-elite printer strobe port and have 
an IDE port on the oposite end to the parallel socket!


--
|Fidonet:  Johnathan Taylor 2:2501/307.9
|Internet: [EMAIL PROTECTED]
|
| Standard disclaimer: The views of this user are strictly his own.

Reply via email to