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

Re: [MiNT] Floppy RWABS



> > After reading sourcecodes of Emutos, I found that it has almost complete
> > RWABS implementation for floppies. I thought that adapting it to
FreeMiNT
> > could be a good idea, and could allow to get rid of FLOPPY-LOCK.
> >
> > So i did. I changed procces-switching code to not check flock ($44E
iirc).
> > Ive adapted code from Emutos to Freemint and I added internal locking
(only
> > one app can RWABS at a time).
>
> How do you implemented these? In general this can't work as only the
> device driver can decide at which time another process can run. As long
> the the device driver is active the kernel can't schedule anything.

hmm...

while (flock);
flock=1;

/* code */

flock=0;

(flock is a global variable)

> > Any comments? I'm especially interested in getting rid of FLOPPY-LOCK.
Mayby
> > I'm doing something wrong? Please hel[ :-)
>
> The only way to implement this is to write a device driver that give up
> the CPU if a transfer is in progress. The BIOS didn't do this for sure,
> the BIOS poll the drive.

Can you look at the Emutos code? We might make something out of this...

Adam Klobukowski