[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Floppy RWABS

> > > I don't have much time. You can for sure use the Emutos code. The mint
> > > kernel already have an easy to use abstract DMA interface (it's
> > > in sys/dma.{c,h}).
> >
> > Ok, I'll do my best. Could you just explain the basic algorith of doing
> > this?


Ok, I checked sources yesterday and it seems doable and even not so hard,
but I need some aditional information:

1) if flock ($43E) used for anything other than floppy locking?

2) Emutos code disables interrupts (SR=2700) for s moment, when it slects
drive via PSG (then it returns original SR state). It does it becouse VBL
handler may deselect drive. Do I have to do it too? (moreover: CAN I DO
IT?), how does FreeMiNT VBL handler bechaves? (btw, if we do not use VBL for
it anyway, so what is chained to VBL?)

3) Emutos code lacks good implementation of mediach(), what is the best
method to implement it

> Hope this is understandable. Btw. at the moment FreeMiNT lacks a block
> device interface. To start I suggest you hardcode your floppy
> rwabs/mediach into block_IO.c for drive A:. If the routines are running it
> can be still organised in the right way (this is then more my part :-)).

Ok, I'll investigate block_IO.c.

> > (btw. I compiled kernel with background DMA some time ago but it was
> > unstable)
> This is maybe related to the use of the old BIOS things (reentrancy
> problems) or some sort of non-public xfs like spin.

btw, what are the reasons of spin being non-public? Has anybody asked mr.
Julian F. Reschke about it?

And another, unrelated, hoply usefull idea:

Today, we have on big _in_kernel lock. I think that it would be resonable to
split it into smaller locks, for groups of functions (memory, date, file) or
per-device (for disk acces), what is your opinion?

Adam Klobukowski